import { T as TypedPluginClientBuilder, P as PluginClientProvidedConfigs, a as PluginClientParams, b as PluginClientBuilder } from '../create-CNv4Yhhl.mjs';
export { A as AgentClient, f as AgentClientFromBuild, g as AgentClientParam, L as LifeClient, c as createLifeClient, d as defineAgentClient, e as definePluginClient, p as parseAgentClientParam } from '../create-CNv4Yhhl.mjs';
import { g as generationPluginClient } from '../client-CAhzt71i.mjs';
import { a as Any, L as LifeErrorUnion, M as MemoryDefinition, c as Message, S as StoreDefinition } from '../types-DcmGusfD.mjs';
import * as nanostores from 'nanostores';
import { Z as ZodObjectWithTelemetry } from '../config-n67P8tNt.mjs';
import * as z from 'zod';
import * as zod_v4_core from 'zod/v4/core';
import 'LIFE_CLIENT_BUILD_PATH';
import 'type-fest';

declare const memoriesPluginClient: TypedPluginClientBuilder<{
    readonly name: "memories";
    readonly config: ZodObjectWithTelemetry<z.ZodObject<{
        [x: string]: any;
    }, zod_v4_core.$strip>, "output">;
    readonly dependencies: {
        readonly name: "generation";
        readonly config: ZodObjectWithTelemetry<z.ZodObject<{
            enableVoice: z.ZodPrefault<z.ZodBoolean>;
        }, zod_v4_core.$strip>, "output">;
        readonly class: <const ProvidedConfigs extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z.ZodObject<{
            enableVoice: z.ZodPrefault<z.ZodBoolean>;
        }, zod_v4_core.$strip>, "output">, ZodObjectWithTelemetry<z.ZodObject<{
            voiceDetection: z.ZodPrefault<z.ZodObject<{
                scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
            }, zod_v4_core.$strip>>;
            endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                threshold: z.ZodPrefault<z.ZodNumber>;
                minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
            }, zod_v4_core.$strip>>;
        }, zod_v4_core.$strip>, "output">>>({ plugin }: PluginClientParams<{
            readonly name: "generation";
            readonly config: ZodObjectWithTelemetry<z.ZodObject<{
                enableVoice: z.ZodPrefault<z.ZodBoolean>;
            }, zod_v4_core.$strip>, "output">;
            readonly dependencies: [];
            readonly class: <const _ProvidedConfigs>(..._args: Any[]) => {
                new (): {};
            };
            readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
            readonly $serverDef: {
                name: "generation";
                config: ZodObjectWithTelemetry<z.ZodObject<{
                    voiceDetection: z.ZodPrefault<z.ZodObject<{
                        scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                        scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                        prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                        postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                        minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>>;
                    endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                        threshold: z.ZodPrefault<z.ZodNumber>;
                        minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                        maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>>;
                }, zod_v4_core.$strip>, "output">;
                context: ZodObjectWithTelemetry<z.ZodObject<{
                    messages: z.ZodPrefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                        role: z.ZodLiteral<"user">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"system">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"agent">;
                        content: z.ZodPrefault<z.ZodString>;
                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"tool">;
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolSuccess: z.ZodBoolean;
                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                        toolError: z.ZodOptional<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>], "role">>>;
                    status: z.ZodPrefault<z.ZodObject<{
                        listening: z.ZodPrefault<z.ZodBoolean>;
                        thinking: z.ZodPrefault<z.ZodBoolean>;
                        speaking: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>>;
                    voiceEnabled: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>, "output">;
                events: [{
                    readonly name: "plugin.start";
                    readonly dataSchema: z.ZodObject<{
                        isRestart: z.ZodPrefault<z.ZodBoolean>;
                        restartCount: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>;
                }, {
                    readonly name: "plugin.stop";
                }, {
                    readonly name: "plugin.test";
                }, {
                    readonly name: "plugin.error";
                    readonly dataSchema: z.ZodObject<{
                        error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                        event: z.ZodObject<{
                            id: z.ZodString;
                            name: z.ZodString;
                            urgent: z.ZodPrefault<z.ZodBoolean>;
                            data: z.ZodPrefault<z.ZodAny>;
                            created: z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    type: z.ZodLiteral<"handler">;
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                    event: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    type: z.ZodLiteral<"server">;
                                    name: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    type: z.ZodLiteral<"client">;
                                    name: z.ZodString;
                                }, zod_v4_core.$strip>], "type">;
                            }, zod_v4_core.$strip>;
                            edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodObject<{
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                }, zod_v4_core.$strip>;
                                reason: z.ZodString;
                                dataBefore: z.ZodAny;
                                dataAfter: z.ZodAny;
                            }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                            dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodObject<{
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                }, zod_v4_core.$strip>;
                                reason: z.ZodString;
                            }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                            contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                at: z.ZodNumber;
                                byHandler: z.ZodString;
                                valueBefore: z.ZodAny;
                                valueAfter: z.ZodAny;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>;
                    }, zod_v4_core.$strip>;
                }] | [{
                    name: "messages.create";
                    dataSchema: z.ZodObject<{
                        message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                        }, zod_v4_core.$strip>], "role">;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "messages.update";
                    dataSchema: z.ZodObject<{
                        id: z.ZodString;
                        role: z.ZodEnum<{
                            user: "user";
                            system: "system";
                            agent: "agent";
                            tool: "tool";
                        }>;
                        message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                        }, zod_v4_core.$strip>], "role">;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.audio-chunk";
                    dataSchema: z.ZodObject<{
                        audioChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.voice-start";
                }, {
                    name: "user.voice-chunk";
                    dataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"voice">;
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        type: z.ZodLiteral<"padding">;
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        paddingSide: z.ZodEnum<{
                            pre: "pre";
                            post: "post";
                        }>;
                        paddingIndex: z.ZodNumber;
                    }, zod_v4_core.$strip>], "type">;
                }, {
                    name: "user.voice-end";
                }, {
                    name: "user.text-chunk";
                    dataSchema: z.ZodObject<{
                        textChunk: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.interrupted";
                }, {
                    name: "agent.thinking-start";
                }, {
                    name: "agent.thinking-end";
                }, {
                    name: "agent.speaking-start";
                }, {
                    name: "agent.speaking-end";
                }, {
                    name: "agent.continue";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.decide";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>], "role">>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.say";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        text: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.interrupt";
                    dataSchema: z.ZodObject<{
                        reason: z.ZodString;
                        author: z.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                        force: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.resources-request";
                }, {
                    name: "agent.resources-response";
                    dataSchema: z.ZodObject<{
                        requestId: z.ZodString;
                        resources: z.ZodObject<{
                            messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>], "role">>;
                            tools: z.ZodArray<z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodString;
                                schema: z.ZodObject<{
                                    input: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                    output: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                }, zod_v4_core.$strip>;
                                run: z.ZodFunction<z.ZodTuple<readonly [z.ZodRecord<z.ZodString, z.ZodAny>], null>, z.ZodUnion<readonly [z.ZodObject<{
                                    success: z.ZodBoolean;
                                    output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    error: z.ZodOptional<z.ZodString>;
                                }, zod_v4_core.$strip>, z.ZodPromise<z.ZodObject<{
                                    success: z.ZodBoolean;
                                    output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    error: z.ZodOptional<z.ZodString>;
                                }, zod_v4_core.$strip>>]>>;
                            }, zod_v4_core.$strip>>;
                        }, zod_v4_core.$strip>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.tool-requests";
                    dataSchema: z.ZodObject<{
                        requests: z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.interrupted";
                    dataSchema: z.ZodObject<{
                        reason: z.ZodString;
                        forced: z.ZodBoolean;
                        author: z.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.text-chunk";
                    dataSchema: z.ZodObject<{
                        textChunk: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.voice-chunk";
                    dataSchema: z.ZodObject<{
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>;
                }];
                handlers: [...never[], {
                    name: "maintain-status";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "maintain-messages";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => string | undefined;
                }, {
                    name: "receive-user-audio";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "detect-user-voice";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "transcribe-user-voice";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "detect-end-of-turn";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "generate-agent-response";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "handle-resources-requests";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "handle-tools-requests";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "stream-outgoing-audio";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => void;
                }];
            } & {
                dependencies: [];
            };
        }, ProvidedConfigs>) => {
            new (): {
                continue(params: {
                    interrupt?: false | "abrupt" | "smooth" | undefined;
                    preventInterruption?: boolean | undefined;
                }): Promise<string>;
                decide(params: {
                    messages: ({
                        role: "user";
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                        content?: string | undefined;
                    } | {
                        role: "system";
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                        content?: string | undefined;
                    } | {
                        role: "agent";
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                        content?: string | undefined;
                        toolsRequests?: {
                            toolRequestId: string;
                            toolName: string;
                            toolInput: Record<string, any>;
                        }[] | undefined;
                    } | {
                        role: "tool";
                        toolRequestId: string;
                        toolName: string;
                        toolSuccess: boolean;
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                        toolOutput?: Record<string, any> | undefined;
                        toolError?: string | undefined;
                    })[];
                    interrupt?: false | "abrupt" | "smooth" | undefined;
                    preventInterruption?: boolean | undefined;
                }): Promise<string>;
                say(params: {
                    text: string;
                    interrupt?: false | "abrupt" | "smooth" | undefined;
                    preventInterruption?: boolean | undefined;
                }): Promise<string>;
                interrupt(params: {
                    reason: string;
                    author: "user" | "application";
                    force?: boolean | undefined;
                }): Promise<string>;
                messages: {
                    create: (params: {
                        message: {
                            role: "user";
                            content?: string | undefined;
                        } | {
                            role: "system";
                            content?: string | undefined;
                        } | {
                            role: "agent";
                            content?: string | undefined;
                            toolsRequests?: {
                                toolRequestId: string;
                                toolName: string;
                                toolInput: Record<string, any>;
                            }[] | undefined;
                        } | {
                            role: "tool";
                            toolRequestId: string;
                            toolName: string;
                            toolSuccess: boolean;
                            toolOutput?: Record<string, any> | undefined;
                            toolError?: string | undefined;
                        };
                    }) => Promise<string>;
                    update: (params: {
                        id: string;
                        role: "user" | "system" | "agent" | "tool";
                        message: {
                            role: "user";
                            content?: string | undefined;
                        } | {
                            role: "system";
                            content?: string | undefined;
                        } | {
                            role: "agent";
                            content?: string | undefined;
                            toolsRequests?: {
                                toolRequestId: string;
                                toolName: string;
                                toolInput: Record<string, any>;
                            }[] | undefined;
                        } | {
                            role: "tool";
                            toolRequestId: string;
                            toolName: string;
                            toolSuccess: boolean;
                            toolOutput?: Record<string, any> | undefined;
                            toolError?: string | undefined;
                        };
                    }) => Promise<string>;
                    get: () => ({
                        role: "user";
                        content: string;
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                    } | {
                        role: "system";
                        content: string;
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                    } | {
                        role: "agent";
                        content: string;
                        toolsRequests: {
                            toolRequestId: string;
                            toolName: string;
                            toolInput: Record<string, any>;
                        }[];
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                    } | {
                        role: "tool";
                        toolRequestId: string;
                        toolName: string;
                        toolSuccess: boolean;
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                        toolOutput?: Record<string, any> | undefined;
                        toolError?: string | undefined;
                    })[];
                };
            };
        };
        readonly atoms: <const ProvidedConfigs extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z.ZodObject<{
            enableVoice: z.ZodPrefault<z.ZodBoolean>;
        }, zod_v4_core.$strip>, "output">, ZodObjectWithTelemetry<z.ZodObject<{
            voiceDetection: z.ZodPrefault<z.ZodObject<{
                scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
            }, zod_v4_core.$strip>>;
            endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                threshold: z.ZodPrefault<z.ZodNumber>;
                minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
            }, zod_v4_core.$strip>>;
        }, zod_v4_core.$strip>, "output">>>({ plugin, telemetry }: PluginClientParams<{
            readonly name: "generation";
            readonly config: ZodObjectWithTelemetry<z.ZodObject<{
                enableVoice: z.ZodPrefault<z.ZodBoolean>;
            }, zod_v4_core.$strip>, "output">;
            readonly dependencies: [];
            readonly class: <const ProvidedConfigs_1 extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z.ZodObject<{
                enableVoice: z.ZodPrefault<z.ZodBoolean>;
            }, zod_v4_core.$strip>, "output">, ZodObjectWithTelemetry<z.ZodObject<{
                voiceDetection: z.ZodPrefault<z.ZodObject<{
                    scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                    scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                    prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                    postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                    minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>>;
                endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                    threshold: z.ZodPrefault<z.ZodNumber>;
                    minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                    maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>>;
            }, zod_v4_core.$strip>, "output">>>({ plugin }: PluginClientParams<{
                readonly name: "generation";
                readonly config: ZodObjectWithTelemetry<z.ZodObject<{
                    enableVoice: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>, "output">;
                readonly dependencies: [];
                readonly class: <const _ProvidedConfigs>(..._args: Any[]) => {
                    new (): {};
                };
                readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
                readonly $serverDef: {
                    name: "generation";
                    config: ZodObjectWithTelemetry<z.ZodObject<{
                        voiceDetection: z.ZodPrefault<z.ZodObject<{
                            scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                            scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                            prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                            postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                            minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>>;
                        endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                            threshold: z.ZodPrefault<z.ZodNumber>;
                            minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                            maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>>;
                    }, zod_v4_core.$strip>, "output">;
                    context: ZodObjectWithTelemetry<z.ZodObject<{
                        messages: z.ZodPrefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>], "role">>>;
                        status: z.ZodPrefault<z.ZodObject<{
                            listening: z.ZodPrefault<z.ZodBoolean>;
                            thinking: z.ZodPrefault<z.ZodBoolean>;
                            speaking: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>>;
                        voiceEnabled: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>, "output">;
                    events: [{
                        readonly name: "plugin.start";
                        readonly dataSchema: z.ZodObject<{
                            isRestart: z.ZodPrefault<z.ZodBoolean>;
                            restartCount: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>;
                    }, {
                        readonly name: "plugin.stop";
                    }, {
                        readonly name: "plugin.test";
                    }, {
                        readonly name: "plugin.error";
                        readonly dataSchema: z.ZodObject<{
                            error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                            event: z.ZodObject<{
                                id: z.ZodString;
                                name: z.ZodString;
                                urgent: z.ZodPrefault<z.ZodBoolean>;
                                data: z.ZodPrefault<z.ZodAny>;
                                created: z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                        type: z.ZodLiteral<"handler">;
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                        event: z.ZodString;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        type: z.ZodLiteral<"server">;
                                        name: z.ZodString;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        type: z.ZodLiteral<"client">;
                                        name: z.ZodString;
                                    }, zod_v4_core.$strip>], "type">;
                                }, zod_v4_core.$strip>;
                                edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodObject<{
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                    }, zod_v4_core.$strip>;
                                    reason: z.ZodString;
                                    dataBefore: z.ZodAny;
                                    dataAfter: z.ZodAny;
                                }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                                dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodObject<{
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                    }, zod_v4_core.$strip>;
                                    reason: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                                contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    at: z.ZodNumber;
                                    byHandler: z.ZodString;
                                    valueBefore: z.ZodAny;
                                    valueAfter: z.ZodAny;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>;
                        }, zod_v4_core.$strip>;
                    }] | [{
                        name: "messages.create";
                        dataSchema: z.ZodObject<{
                            message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                            }, zod_v4_core.$strip>], "role">;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "messages.update";
                        dataSchema: z.ZodObject<{
                            id: z.ZodString;
                            role: z.ZodEnum<{
                                user: "user";
                                system: "system";
                                agent: "agent";
                                tool: "tool";
                            }>;
                            message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                            }, zod_v4_core.$strip>], "role">;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.audio-chunk";
                        dataSchema: z.ZodObject<{
                            audioChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.voice-start";
                    }, {
                        name: "user.voice-chunk";
                        dataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"voice">;
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            type: z.ZodLiteral<"padding">;
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            paddingSide: z.ZodEnum<{
                                pre: "pre";
                                post: "post";
                            }>;
                            paddingIndex: z.ZodNumber;
                        }, zod_v4_core.$strip>], "type">;
                    }, {
                        name: "user.voice-end";
                    }, {
                        name: "user.text-chunk";
                        dataSchema: z.ZodObject<{
                            textChunk: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.interrupted";
                    }, {
                        name: "agent.thinking-start";
                    }, {
                        name: "agent.thinking-end";
                    }, {
                        name: "agent.speaking-start";
                    }, {
                        name: "agent.speaking-end";
                    }, {
                        name: "agent.continue";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.decide";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                            messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>], "role">>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.say";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                            text: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.interrupt";
                        dataSchema: z.ZodObject<{
                            reason: z.ZodString;
                            author: z.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                            force: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.resources-request";
                    }, {
                        name: "agent.resources-response";
                        dataSchema: z.ZodObject<{
                            requestId: z.ZodString;
                            resources: z.ZodObject<{
                                messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    role: z.ZodLiteral<"user">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"system">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"agent">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                        toolRequestId: z.ZodString;
                                        toolName: z.ZodString;
                                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                    }, zod_v4_core.$strip>>>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"tool">;
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolSuccess: z.ZodBoolean;
                                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    toolError: z.ZodOptional<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>], "role">>;
                                tools: z.ZodArray<z.ZodObject<{
                                    name: z.ZodString;
                                    description: z.ZodString;
                                    schema: z.ZodObject<{
                                        input: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                        output: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                    }, zod_v4_core.$strip>;
                                    run: z.ZodFunction<z.ZodTuple<readonly [z.ZodRecord<z.ZodString, z.ZodAny>], null>, z.ZodUnion<readonly [z.ZodObject<{
                                        success: z.ZodBoolean;
                                        output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                        error: z.ZodOptional<z.ZodString>;
                                    }, zod_v4_core.$strip>, z.ZodPromise<z.ZodObject<{
                                        success: z.ZodBoolean;
                                        output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                        error: z.ZodOptional<z.ZodString>;
                                    }, zod_v4_core.$strip>>]>>;
                                }, zod_v4_core.$strip>>;
                            }, zod_v4_core.$strip>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.tool-requests";
                        dataSchema: z.ZodObject<{
                            requests: z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.interrupted";
                        dataSchema: z.ZodObject<{
                            reason: z.ZodString;
                            forced: z.ZodBoolean;
                            author: z.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.text-chunk";
                        dataSchema: z.ZodObject<{
                            textChunk: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.voice-chunk";
                        dataSchema: z.ZodObject<{
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>;
                    }];
                    handlers: [...never[], {
                        name: "maintain-status";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "maintain-messages";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => string | undefined;
                    }, {
                        name: "receive-user-audio";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "detect-user-voice";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "transcribe-user-voice";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "detect-end-of-turn";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "generate-agent-response";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "handle-resources-requests";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "handle-tools-requests";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "stream-outgoing-audio";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }];
                } & {
                    dependencies: [];
                };
            }, ProvidedConfigs_1>) => {
                new (): {
                    continue(params: {
                        interrupt?: false | "abrupt" | "smooth" | undefined;
                        preventInterruption?: boolean | undefined;
                    }): Promise<string>;
                    decide(params: {
                        messages: ({
                            role: "user";
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            content?: string | undefined;
                        } | {
                            role: "system";
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            content?: string | undefined;
                        } | {
                            role: "agent";
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            content?: string | undefined;
                            toolsRequests?: {
                                toolRequestId: string;
                                toolName: string;
                                toolInput: Record<string, any>;
                            }[] | undefined;
                        } | {
                            role: "tool";
                            toolRequestId: string;
                            toolName: string;
                            toolSuccess: boolean;
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            toolOutput?: Record<string, any> | undefined;
                            toolError?: string | undefined;
                        })[];
                        interrupt?: false | "abrupt" | "smooth" | undefined;
                        preventInterruption?: boolean | undefined;
                    }): Promise<string>;
                    say(params: {
                        text: string;
                        interrupt?: false | "abrupt" | "smooth" | undefined;
                        preventInterruption?: boolean | undefined;
                    }): Promise<string>;
                    interrupt(params: {
                        reason: string;
                        author: "user" | "application";
                        force?: boolean | undefined;
                    }): Promise<string>;
                    messages: {
                        create: (params: {
                            message: {
                                role: "user";
                                content?: string | undefined;
                            } | {
                                role: "system";
                                content?: string | undefined;
                            } | {
                                role: "agent";
                                content?: string | undefined;
                                toolsRequests?: {
                                    toolRequestId: string;
                                    toolName: string;
                                    toolInput: Record<string, any>;
                                }[] | undefined;
                            } | {
                                role: "tool";
                                toolRequestId: string;
                                toolName: string;
                                toolSuccess: boolean;
                                toolOutput?: Record<string, any> | undefined;
                                toolError?: string | undefined;
                            };
                        }) => Promise<string>;
                        update: (params: {
                            id: string;
                            role: "user" | "system" | "agent" | "tool";
                            message: {
                                role: "user";
                                content?: string | undefined;
                            } | {
                                role: "system";
                                content?: string | undefined;
                            } | {
                                role: "agent";
                                content?: string | undefined;
                                toolsRequests?: {
                                    toolRequestId: string;
                                    toolName: string;
                                    toolInput: Record<string, any>;
                                }[] | undefined;
                            } | {
                                role: "tool";
                                toolRequestId: string;
                                toolName: string;
                                toolSuccess: boolean;
                                toolOutput?: Record<string, any> | undefined;
                                toolError?: string | undefined;
                            };
                        }) => Promise<string>;
                        get: () => ({
                            role: "user";
                            content: string;
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                        } | {
                            role: "system";
                            content: string;
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                        } | {
                            role: "agent";
                            content: string;
                            toolsRequests: {
                                toolRequestId: string;
                                toolName: string;
                                toolInput: Record<string, any>;
                            }[];
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                        } | {
                            role: "tool";
                            toolRequestId: string;
                            toolName: string;
                            toolSuccess: boolean;
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            toolOutput?: Record<string, any> | undefined;
                            toolError?: string | undefined;
                        })[];
                    };
                };
            };
            readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
            readonly $serverDef: {
                name: "generation";
                config: ZodObjectWithTelemetry<z.ZodObject<{
                    voiceDetection: z.ZodPrefault<z.ZodObject<{
                        scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                        scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                        prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                        postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                        minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>>;
                    endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                        threshold: z.ZodPrefault<z.ZodNumber>;
                        minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                        maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>>;
                }, zod_v4_core.$strip>, "output">;
                context: ZodObjectWithTelemetry<z.ZodObject<{
                    messages: z.ZodPrefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                        role: z.ZodLiteral<"user">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"system">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"agent">;
                        content: z.ZodPrefault<z.ZodString>;
                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"tool">;
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolSuccess: z.ZodBoolean;
                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                        toolError: z.ZodOptional<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>], "role">>>;
                    status: z.ZodPrefault<z.ZodObject<{
                        listening: z.ZodPrefault<z.ZodBoolean>;
                        thinking: z.ZodPrefault<z.ZodBoolean>;
                        speaking: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>>;
                    voiceEnabled: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>, "output">;
                events: [{
                    readonly name: "plugin.start";
                    readonly dataSchema: z.ZodObject<{
                        isRestart: z.ZodPrefault<z.ZodBoolean>;
                        restartCount: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>;
                }, {
                    readonly name: "plugin.stop";
                }, {
                    readonly name: "plugin.test";
                }, {
                    readonly name: "plugin.error";
                    readonly dataSchema: z.ZodObject<{
                        error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                        event: z.ZodObject<{
                            id: z.ZodString;
                            name: z.ZodString;
                            urgent: z.ZodPrefault<z.ZodBoolean>;
                            data: z.ZodPrefault<z.ZodAny>;
                            created: z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    type: z.ZodLiteral<"handler">;
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                    event: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    type: z.ZodLiteral<"server">;
                                    name: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    type: z.ZodLiteral<"client">;
                                    name: z.ZodString;
                                }, zod_v4_core.$strip>], "type">;
                            }, zod_v4_core.$strip>;
                            edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodObject<{
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                }, zod_v4_core.$strip>;
                                reason: z.ZodString;
                                dataBefore: z.ZodAny;
                                dataAfter: z.ZodAny;
                            }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                            dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodObject<{
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                }, zod_v4_core.$strip>;
                                reason: z.ZodString;
                            }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                            contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                at: z.ZodNumber;
                                byHandler: z.ZodString;
                                valueBefore: z.ZodAny;
                                valueAfter: z.ZodAny;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>;
                    }, zod_v4_core.$strip>;
                }] | [{
                    name: "messages.create";
                    dataSchema: z.ZodObject<{
                        message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                        }, zod_v4_core.$strip>], "role">;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "messages.update";
                    dataSchema: z.ZodObject<{
                        id: z.ZodString;
                        role: z.ZodEnum<{
                            user: "user";
                            system: "system";
                            agent: "agent";
                            tool: "tool";
                        }>;
                        message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                        }, zod_v4_core.$strip>], "role">;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.audio-chunk";
                    dataSchema: z.ZodObject<{
                        audioChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.voice-start";
                }, {
                    name: "user.voice-chunk";
                    dataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"voice">;
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        type: z.ZodLiteral<"padding">;
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        paddingSide: z.ZodEnum<{
                            pre: "pre";
                            post: "post";
                        }>;
                        paddingIndex: z.ZodNumber;
                    }, zod_v4_core.$strip>], "type">;
                }, {
                    name: "user.voice-end";
                }, {
                    name: "user.text-chunk";
                    dataSchema: z.ZodObject<{
                        textChunk: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.interrupted";
                }, {
                    name: "agent.thinking-start";
                }, {
                    name: "agent.thinking-end";
                }, {
                    name: "agent.speaking-start";
                }, {
                    name: "agent.speaking-end";
                }, {
                    name: "agent.continue";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.decide";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>], "role">>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.say";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        text: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.interrupt";
                    dataSchema: z.ZodObject<{
                        reason: z.ZodString;
                        author: z.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                        force: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.resources-request";
                }, {
                    name: "agent.resources-response";
                    dataSchema: z.ZodObject<{
                        requestId: z.ZodString;
                        resources: z.ZodObject<{
                            messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>], "role">>;
                            tools: z.ZodArray<z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodString;
                                schema: z.ZodObject<{
                                    input: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                    output: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                }, zod_v4_core.$strip>;
                                run: z.ZodFunction<z.ZodTuple<readonly [z.ZodRecord<z.ZodString, z.ZodAny>], null>, z.ZodUnion<readonly [z.ZodObject<{
                                    success: z.ZodBoolean;
                                    output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    error: z.ZodOptional<z.ZodString>;
                                }, zod_v4_core.$strip>, z.ZodPromise<z.ZodObject<{
                                    success: z.ZodBoolean;
                                    output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    error: z.ZodOptional<z.ZodString>;
                                }, zod_v4_core.$strip>>]>>;
                            }, zod_v4_core.$strip>>;
                        }, zod_v4_core.$strip>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.tool-requests";
                    dataSchema: z.ZodObject<{
                        requests: z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.interrupted";
                    dataSchema: z.ZodObject<{
                        reason: z.ZodString;
                        forced: z.ZodBoolean;
                        author: z.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.text-chunk";
                    dataSchema: z.ZodObject<{
                        textChunk: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.voice-chunk";
                    dataSchema: z.ZodObject<{
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>;
                }];
                handlers: [...never[], {
                    name: "maintain-status";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "maintain-messages";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => string | undefined;
                }, {
                    name: "receive-user-audio";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "detect-user-voice";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "transcribe-user-voice";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "detect-end-of-turn";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "generate-agent-response";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "handle-resources-requests";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "handle-tools-requests";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "stream-outgoing-audio";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => void;
                }];
            } & {
                dependencies: [];
            };
        }, ProvidedConfigs>) => [{
            readonly name: "status";
            readonly create: () => {
                store: nanostores.PreinitializedWritableAtom<{
                    listening: boolean;
                    thinking: boolean;
                    speaking: boolean;
                } | null> & object;
                refresh: () => Promise<undefined>;
            };
        }, {
            readonly name: "messages";
            readonly create: () => {
                store: nanostores.PreinitializedWritableAtom<({
                    role: "user";
                    content: string;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "system";
                    content: string;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "agent";
                    content: string;
                    toolsRequests: {
                        toolRequestId: string;
                        toolName: string;
                        toolInput: Record<string, any>;
                    }[];
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "tool";
                    toolRequestId: string;
                    toolName: string;
                    toolSuccess: boolean;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                    toolOutput?: Record<string, any> | undefined;
                    toolError?: string | undefined;
                })[]> & object;
                refresh: () => Promise<undefined>;
            };
        }];
        readonly $serverDef: {
            name: "generation";
            config: ZodObjectWithTelemetry<z.ZodObject<{
                voiceDetection: z.ZodPrefault<z.ZodObject<{
                    scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                    scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                    prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                    postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                    minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>>;
                endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                    threshold: z.ZodPrefault<z.ZodNumber>;
                    minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                    maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>>;
            }, zod_v4_core.$strip>, "output">;
            context: ZodObjectWithTelemetry<z.ZodObject<{
                messages: z.ZodPrefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                    role: z.ZodLiteral<"user">;
                    content: z.ZodPrefault<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"system">;
                    content: z.ZodPrefault<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"agent">;
                    content: z.ZodPrefault<z.ZodString>;
                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                    }, zod_v4_core.$strip>>>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"tool">;
                    toolRequestId: z.ZodString;
                    toolName: z.ZodString;
                    toolSuccess: z.ZodBoolean;
                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                    toolError: z.ZodOptional<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>], "role">>>;
                status: z.ZodPrefault<z.ZodObject<{
                    listening: z.ZodPrefault<z.ZodBoolean>;
                    thinking: z.ZodPrefault<z.ZodBoolean>;
                    speaking: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>>;
                voiceEnabled: z.ZodPrefault<z.ZodBoolean>;
            }, zod_v4_core.$strip>, "output">;
            events: [{
                readonly name: "plugin.start";
                readonly dataSchema: z.ZodObject<{
                    isRestart: z.ZodPrefault<z.ZodBoolean>;
                    restartCount: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>;
            }, {
                readonly name: "plugin.stop";
            }, {
                readonly name: "plugin.test";
            }, {
                readonly name: "plugin.error";
                readonly dataSchema: z.ZodObject<{
                    error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                    event: z.ZodObject<{
                        id: z.ZodString;
                        name: z.ZodString;
                        urgent: z.ZodPrefault<z.ZodBoolean>;
                        data: z.ZodPrefault<z.ZodAny>;
                        created: z.ZodObject<{
                            at: z.ZodNumber;
                            by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                type: z.ZodLiteral<"handler">;
                                plugin: z.ZodString;
                                handler: z.ZodString;
                                event: z.ZodString;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                type: z.ZodLiteral<"server">;
                                name: z.ZodString;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                type: z.ZodLiteral<"client">;
                                name: z.ZodString;
                            }, zod_v4_core.$strip>], "type">;
                        }, zod_v4_core.$strip>;
                        edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                            at: z.ZodNumber;
                            by: z.ZodObject<{
                                plugin: z.ZodString;
                                handler: z.ZodString;
                            }, zod_v4_core.$strip>;
                            reason: z.ZodString;
                            dataBefore: z.ZodAny;
                            dataAfter: z.ZodAny;
                        }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                        dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                            at: z.ZodNumber;
                            by: z.ZodObject<{
                                plugin: z.ZodString;
                                handler: z.ZodString;
                            }, zod_v4_core.$strip>;
                            reason: z.ZodString;
                        }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                        contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            at: z.ZodNumber;
                            byHandler: z.ZodString;
                            valueBefore: z.ZodAny;
                            valueAfter: z.ZodAny;
                        }, zod_v4_core.$strip>>>;
                    }, zod_v4_core.$strip>;
                }, zod_v4_core.$strip>;
            }] | [{
                name: "messages.create";
                dataSchema: z.ZodObject<{
                    message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                        role: z.ZodLiteral<"user">;
                        content: z.ZodPrefault<z.ZodString>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"system">;
                        content: z.ZodPrefault<z.ZodString>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"agent">;
                        content: z.ZodPrefault<z.ZodString>;
                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"tool">;
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolSuccess: z.ZodBoolean;
                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                        toolError: z.ZodOptional<z.ZodString>;
                    }, zod_v4_core.$strip>], "role">;
                }, zod_v4_core.$strip>;
            }, {
                name: "messages.update";
                dataSchema: z.ZodObject<{
                    id: z.ZodString;
                    role: z.ZodEnum<{
                        user: "user";
                        system: "system";
                        agent: "agent";
                        tool: "tool";
                    }>;
                    message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                        role: z.ZodLiteral<"user">;
                        content: z.ZodPrefault<z.ZodString>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"system">;
                        content: z.ZodPrefault<z.ZodString>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"agent">;
                        content: z.ZodPrefault<z.ZodString>;
                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"tool">;
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolSuccess: z.ZodBoolean;
                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                        toolError: z.ZodOptional<z.ZodString>;
                    }, zod_v4_core.$strip>], "role">;
                }, zod_v4_core.$strip>;
            }, {
                name: "user.audio-chunk";
                dataSchema: z.ZodObject<{
                    audioChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                }, zod_v4_core.$strip>;
            }, {
                name: "user.voice-start";
            }, {
                name: "user.voice-chunk";
                dataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
                    type: z.ZodLiteral<"voice">;
                    voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    type: z.ZodLiteral<"padding">;
                    voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    paddingSide: z.ZodEnum<{
                        pre: "pre";
                        post: "post";
                    }>;
                    paddingIndex: z.ZodNumber;
                }, zod_v4_core.$strip>], "type">;
            }, {
                name: "user.voice-end";
            }, {
                name: "user.text-chunk";
                dataSchema: z.ZodObject<{
                    textChunk: z.ZodString;
                }, zod_v4_core.$strip>;
            }, {
                name: "user.interrupted";
            }, {
                name: "agent.thinking-start";
            }, {
                name: "agent.thinking-end";
            }, {
                name: "agent.speaking-start";
            }, {
                name: "agent.speaking-end";
            }, {
                name: "agent.continue";
                dataSchema: z.ZodObject<{
                    interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                        abrupt: "abrupt";
                        smooth: "smooth";
                    }>, z.ZodLiteral<false>]>>;
                    preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>;
            }, {
                name: "agent.decide";
                dataSchema: z.ZodObject<{
                    interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                        abrupt: "abrupt";
                        smooth: "smooth";
                    }>, z.ZodLiteral<false>]>>;
                    preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                    messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                        role: z.ZodLiteral<"user">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"system">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"agent">;
                        content: z.ZodPrefault<z.ZodString>;
                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"tool">;
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolSuccess: z.ZodBoolean;
                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                        toolError: z.ZodOptional<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>], "role">>;
                }, zod_v4_core.$strip>;
            }, {
                name: "agent.say";
                dataSchema: z.ZodObject<{
                    interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                        abrupt: "abrupt";
                        smooth: "smooth";
                    }>, z.ZodLiteral<false>]>>;
                    preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                    text: z.ZodString;
                }, zod_v4_core.$strip>;
            }, {
                name: "agent.interrupt";
                dataSchema: z.ZodObject<{
                    reason: z.ZodString;
                    author: z.ZodEnum<{
                        user: "user";
                        application: "application";
                    }>;
                    force: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>;
            }, {
                name: "agent.resources-request";
            }, {
                name: "agent.resources-response";
                dataSchema: z.ZodObject<{
                    requestId: z.ZodString;
                    resources: z.ZodObject<{
                        messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>], "role">>;
                        tools: z.ZodArray<z.ZodObject<{
                            name: z.ZodString;
                            description: z.ZodString;
                            schema: z.ZodObject<{
                                input: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                output: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                            }, zod_v4_core.$strip>;
                            run: z.ZodFunction<z.ZodTuple<readonly [z.ZodRecord<z.ZodString, z.ZodAny>], null>, z.ZodUnion<readonly [z.ZodObject<{
                                success: z.ZodBoolean;
                                output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                error: z.ZodOptional<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodPromise<z.ZodObject<{
                                success: z.ZodBoolean;
                                output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                error: z.ZodOptional<z.ZodString>;
                            }, zod_v4_core.$strip>>]>>;
                        }, zod_v4_core.$strip>>;
                    }, zod_v4_core.$strip>;
                }, zod_v4_core.$strip>;
            }, {
                name: "agent.tool-requests";
                dataSchema: z.ZodObject<{
                    requests: z.ZodArray<z.ZodObject<{
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                    }, zod_v4_core.$strip>>;
                }, zod_v4_core.$strip>;
            }, {
                name: "agent.interrupted";
                dataSchema: z.ZodObject<{
                    reason: z.ZodString;
                    forced: z.ZodBoolean;
                    author: z.ZodEnum<{
                        user: "user";
                        application: "application";
                    }>;
                }, zod_v4_core.$strip>;
            }, {
                name: "agent.text-chunk";
                dataSchema: z.ZodObject<{
                    textChunk: z.ZodString;
                }, zod_v4_core.$strip>;
            }, {
                name: "agent.voice-chunk";
                dataSchema: z.ZodObject<{
                    voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                }, zod_v4_core.$strip>;
            }];
            handlers: [...never[], {
                name: "maintain-status";
                mode: "block";
                state: never;
                onEvent: (params: unknown) => void;
            }, {
                name: "maintain-messages";
                mode: "block";
                state: never;
                onEvent: (params: unknown) => string | undefined;
            }, {
                name: "receive-user-audio";
                mode: "block";
                state: never;
                onEvent: (params: unknown) => void;
            }, {
                name: "detect-user-voice";
                mode: "stream";
                state: never;
                onEvent: (params: unknown) => Promise<void>;
            }, {
                name: "transcribe-user-voice";
                mode: "stream";
                state: never;
                onEvent: (params: unknown) => Promise<void>;
            }, {
                name: "detect-end-of-turn";
                mode: "stream";
                state: never;
                onEvent: (params: unknown) => Promise<void>;
            }, {
                name: "generate-agent-response";
                mode: "block";
                state: never;
                onEvent: (params: unknown) => void;
            }, {
                name: "handle-resources-requests";
                mode: "block";
                state: never;
                onEvent: (params: unknown) => void;
            }, {
                name: "handle-tools-requests";
                mode: "block";
                state: never;
                onEvent: (params: unknown) => void;
            }, {
                name: "stream-outgoing-audio";
                mode: "stream";
                state: never;
                onEvent: (params: unknown) => void;
            }];
        } & {
            dependencies: [];
        };
    }[];
    readonly class: <const ProvidedConfigs extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z.ZodObject<{
        [x: string]: any;
    }, zod_v4_core.$strip>, "output">, ZodObjectWithTelemetry<z.ZodObject<{
        items: z.ZodPrefault<z.ZodArray<z.ZodCustom<{
            _definition: MemoryDefinition;
        }, {
            _definition: MemoryDefinition;
        }>>>;
    }, zod_v4_core.$strip>, "output">>>(_: PluginClientParams<{
        readonly name: "memories";
        readonly config: ZodObjectWithTelemetry<z.ZodObject<{
            [x: string]: any;
        }, zod_v4_core.$strip>, "output">;
        readonly dependencies: {
            readonly name: "generation";
            readonly config: ZodObjectWithTelemetry<z.ZodObject<{
                enableVoice: z.ZodPrefault<z.ZodBoolean>;
            }, zod_v4_core.$strip>, "output">;
            readonly class: <const ProvidedConfigs_1 extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z.ZodObject<{
                enableVoice: z.ZodPrefault<z.ZodBoolean>;
            }, zod_v4_core.$strip>, "output">, ZodObjectWithTelemetry<z.ZodObject<{
                voiceDetection: z.ZodPrefault<z.ZodObject<{
                    scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                    scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                    prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                    postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                    minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>>;
                endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                    threshold: z.ZodPrefault<z.ZodNumber>;
                    minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                    maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>>;
            }, zod_v4_core.$strip>, "output">>>({ plugin }: PluginClientParams<{
                readonly name: "generation";
                readonly config: ZodObjectWithTelemetry<z.ZodObject<{
                    enableVoice: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>, "output">;
                readonly dependencies: [];
                readonly class: <const _ProvidedConfigs>(..._args: Any[]) => {
                    new (): {};
                };
                readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
                readonly $serverDef: {
                    name: "generation";
                    config: ZodObjectWithTelemetry<z.ZodObject<{
                        voiceDetection: z.ZodPrefault<z.ZodObject<{
                            scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                            scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                            prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                            postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                            minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>>;
                        endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                            threshold: z.ZodPrefault<z.ZodNumber>;
                            minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                            maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>>;
                    }, zod_v4_core.$strip>, "output">;
                    context: ZodObjectWithTelemetry<z.ZodObject<{
                        messages: z.ZodPrefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>], "role">>>;
                        status: z.ZodPrefault<z.ZodObject<{
                            listening: z.ZodPrefault<z.ZodBoolean>;
                            thinking: z.ZodPrefault<z.ZodBoolean>;
                            speaking: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>>;
                        voiceEnabled: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>, "output">;
                    events: [{
                        readonly name: "plugin.start";
                        readonly dataSchema: z.ZodObject<{
                            isRestart: z.ZodPrefault<z.ZodBoolean>;
                            restartCount: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>;
                    }, {
                        readonly name: "plugin.stop";
                    }, {
                        readonly name: "plugin.test";
                    }, {
                        readonly name: "plugin.error";
                        readonly dataSchema: z.ZodObject<{
                            error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                            event: z.ZodObject<{
                                id: z.ZodString;
                                name: z.ZodString;
                                urgent: z.ZodPrefault<z.ZodBoolean>;
                                data: z.ZodPrefault<z.ZodAny>;
                                created: z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                        type: z.ZodLiteral<"handler">;
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                        event: z.ZodString;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        type: z.ZodLiteral<"server">;
                                        name: z.ZodString;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        type: z.ZodLiteral<"client">;
                                        name: z.ZodString;
                                    }, zod_v4_core.$strip>], "type">;
                                }, zod_v4_core.$strip>;
                                edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodObject<{
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                    }, zod_v4_core.$strip>;
                                    reason: z.ZodString;
                                    dataBefore: z.ZodAny;
                                    dataAfter: z.ZodAny;
                                }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                                dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodObject<{
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                    }, zod_v4_core.$strip>;
                                    reason: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                                contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    at: z.ZodNumber;
                                    byHandler: z.ZodString;
                                    valueBefore: z.ZodAny;
                                    valueAfter: z.ZodAny;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>;
                        }, zod_v4_core.$strip>;
                    }] | [{
                        name: "messages.create";
                        dataSchema: z.ZodObject<{
                            message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                            }, zod_v4_core.$strip>], "role">;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "messages.update";
                        dataSchema: z.ZodObject<{
                            id: z.ZodString;
                            role: z.ZodEnum<{
                                user: "user";
                                system: "system";
                                agent: "agent";
                                tool: "tool";
                            }>;
                            message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                            }, zod_v4_core.$strip>], "role">;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.audio-chunk";
                        dataSchema: z.ZodObject<{
                            audioChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.voice-start";
                    }, {
                        name: "user.voice-chunk";
                        dataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"voice">;
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            type: z.ZodLiteral<"padding">;
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            paddingSide: z.ZodEnum<{
                                pre: "pre";
                                post: "post";
                            }>;
                            paddingIndex: z.ZodNumber;
                        }, zod_v4_core.$strip>], "type">;
                    }, {
                        name: "user.voice-end";
                    }, {
                        name: "user.text-chunk";
                        dataSchema: z.ZodObject<{
                            textChunk: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.interrupted";
                    }, {
                        name: "agent.thinking-start";
                    }, {
                        name: "agent.thinking-end";
                    }, {
                        name: "agent.speaking-start";
                    }, {
                        name: "agent.speaking-end";
                    }, {
                        name: "agent.continue";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.decide";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                            messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>], "role">>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.say";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                            text: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.interrupt";
                        dataSchema: z.ZodObject<{
                            reason: z.ZodString;
                            author: z.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                            force: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.resources-request";
                    }, {
                        name: "agent.resources-response";
                        dataSchema: z.ZodObject<{
                            requestId: z.ZodString;
                            resources: z.ZodObject<{
                                messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    role: z.ZodLiteral<"user">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"system">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"agent">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                        toolRequestId: z.ZodString;
                                        toolName: z.ZodString;
                                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                    }, zod_v4_core.$strip>>>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"tool">;
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolSuccess: z.ZodBoolean;
                                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    toolError: z.ZodOptional<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>], "role">>;
                                tools: z.ZodArray<z.ZodObject<{
                                    name: z.ZodString;
                                    description: z.ZodString;
                                    schema: z.ZodObject<{
                                        input: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                        output: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                    }, zod_v4_core.$strip>;
                                    run: z.ZodFunction<z.ZodTuple<readonly [z.ZodRecord<z.ZodString, z.ZodAny>], null>, z.ZodUnion<readonly [z.ZodObject<{
                                        success: z.ZodBoolean;
                                        output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                        error: z.ZodOptional<z.ZodString>;
                                    }, zod_v4_core.$strip>, z.ZodPromise<z.ZodObject<{
                                        success: z.ZodBoolean;
                                        output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                        error: z.ZodOptional<z.ZodString>;
                                    }, zod_v4_core.$strip>>]>>;
                                }, zod_v4_core.$strip>>;
                            }, zod_v4_core.$strip>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.tool-requests";
                        dataSchema: z.ZodObject<{
                            requests: z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.interrupted";
                        dataSchema: z.ZodObject<{
                            reason: z.ZodString;
                            forced: z.ZodBoolean;
                            author: z.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.text-chunk";
                        dataSchema: z.ZodObject<{
                            textChunk: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.voice-chunk";
                        dataSchema: z.ZodObject<{
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>;
                    }];
                    handlers: [...never[], {
                        name: "maintain-status";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "maintain-messages";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => string | undefined;
                    }, {
                        name: "receive-user-audio";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "detect-user-voice";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "transcribe-user-voice";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "detect-end-of-turn";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "generate-agent-response";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "handle-resources-requests";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "handle-tools-requests";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "stream-outgoing-audio";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }];
                } & {
                    dependencies: [];
                };
            }, ProvidedConfigs_1>) => {
                new (): {
                    continue(params: {
                        interrupt?: false | "abrupt" | "smooth" | undefined;
                        preventInterruption?: boolean | undefined;
                    }): Promise<string>;
                    decide(params: {
                        messages: ({
                            role: "user";
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            content?: string | undefined;
                        } | {
                            role: "system";
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            content?: string | undefined;
                        } | {
                            role: "agent";
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            content?: string | undefined;
                            toolsRequests?: {
                                toolRequestId: string;
                                toolName: string;
                                toolInput: Record<string, any>;
                            }[] | undefined;
                        } | {
                            role: "tool";
                            toolRequestId: string;
                            toolName: string;
                            toolSuccess: boolean;
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            toolOutput?: Record<string, any> | undefined;
                            toolError?: string | undefined;
                        })[];
                        interrupt?: false | "abrupt" | "smooth" | undefined;
                        preventInterruption?: boolean | undefined;
                    }): Promise<string>;
                    say(params: {
                        text: string;
                        interrupt?: false | "abrupt" | "smooth" | undefined;
                        preventInterruption?: boolean | undefined;
                    }): Promise<string>;
                    interrupt(params: {
                        reason: string;
                        author: "user" | "application";
                        force?: boolean | undefined;
                    }): Promise<string>;
                    messages: {
                        create: (params: {
                            message: {
                                role: "user";
                                content?: string | undefined;
                            } | {
                                role: "system";
                                content?: string | undefined;
                            } | {
                                role: "agent";
                                content?: string | undefined;
                                toolsRequests?: {
                                    toolRequestId: string;
                                    toolName: string;
                                    toolInput: Record<string, any>;
                                }[] | undefined;
                            } | {
                                role: "tool";
                                toolRequestId: string;
                                toolName: string;
                                toolSuccess: boolean;
                                toolOutput?: Record<string, any> | undefined;
                                toolError?: string | undefined;
                            };
                        }) => Promise<string>;
                        update: (params: {
                            id: string;
                            role: "user" | "system" | "agent" | "tool";
                            message: {
                                role: "user";
                                content?: string | undefined;
                            } | {
                                role: "system";
                                content?: string | undefined;
                            } | {
                                role: "agent";
                                content?: string | undefined;
                                toolsRequests?: {
                                    toolRequestId: string;
                                    toolName: string;
                                    toolInput: Record<string, any>;
                                }[] | undefined;
                            } | {
                                role: "tool";
                                toolRequestId: string;
                                toolName: string;
                                toolSuccess: boolean;
                                toolOutput?: Record<string, any> | undefined;
                                toolError?: string | undefined;
                            };
                        }) => Promise<string>;
                        get: () => ({
                            role: "user";
                            content: string;
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                        } | {
                            role: "system";
                            content: string;
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                        } | {
                            role: "agent";
                            content: string;
                            toolsRequests: {
                                toolRequestId: string;
                                toolName: string;
                                toolInput: Record<string, any>;
                            }[];
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                        } | {
                            role: "tool";
                            toolRequestId: string;
                            toolName: string;
                            toolSuccess: boolean;
                            id: string;
                            createdAt: number;
                            lastUpdated: number;
                            toolOutput?: Record<string, any> | undefined;
                            toolError?: string | undefined;
                        })[];
                    };
                };
            };
            readonly atoms: <const ProvidedConfigs_1 extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z.ZodObject<{
                enableVoice: z.ZodPrefault<z.ZodBoolean>;
            }, zod_v4_core.$strip>, "output">, ZodObjectWithTelemetry<z.ZodObject<{
                voiceDetection: z.ZodPrefault<z.ZodObject<{
                    scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                    scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                    prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                    postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                    minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>>;
                endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                    threshold: z.ZodPrefault<z.ZodNumber>;
                    minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                    maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>>;
            }, zod_v4_core.$strip>, "output">>>({ plugin, telemetry }: PluginClientParams<{
                readonly name: "generation";
                readonly config: ZodObjectWithTelemetry<z.ZodObject<{
                    enableVoice: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>, "output">;
                readonly dependencies: [];
                readonly class: <const ProvidedConfigs_2 extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z.ZodObject<{
                    enableVoice: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>, "output">, ZodObjectWithTelemetry<z.ZodObject<{
                    voiceDetection: z.ZodPrefault<z.ZodObject<{
                        scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                        scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                        prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                        postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                        minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>>;
                    endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                        threshold: z.ZodPrefault<z.ZodNumber>;
                        minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                        maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>>;
                }, zod_v4_core.$strip>, "output">>>({ plugin }: PluginClientParams<{
                    readonly name: "generation";
                    readonly config: ZodObjectWithTelemetry<z.ZodObject<{
                        enableVoice: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>, "output">;
                    readonly dependencies: [];
                    readonly class: <const _ProvidedConfigs>(..._args: Any[]) => {
                        new (): {};
                    };
                    readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
                    readonly $serverDef: {
                        name: "generation";
                        config: ZodObjectWithTelemetry<z.ZodObject<{
                            voiceDetection: z.ZodPrefault<z.ZodObject<{
                                scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                                scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                                prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                                postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                                minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                            }, zod_v4_core.$strip>>;
                            endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                                threshold: z.ZodPrefault<z.ZodNumber>;
                                minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                                maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                            }, zod_v4_core.$strip>>;
                        }, zod_v4_core.$strip>, "output">;
                        context: ZodObjectWithTelemetry<z.ZodObject<{
                            messages: z.ZodPrefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>], "role">>>;
                            status: z.ZodPrefault<z.ZodObject<{
                                listening: z.ZodPrefault<z.ZodBoolean>;
                                thinking: z.ZodPrefault<z.ZodBoolean>;
                                speaking: z.ZodPrefault<z.ZodBoolean>;
                            }, zod_v4_core.$strip>>;
                            voiceEnabled: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>, "output">;
                        events: [{
                            readonly name: "plugin.start";
                            readonly dataSchema: z.ZodObject<{
                                isRestart: z.ZodPrefault<z.ZodBoolean>;
                                restartCount: z.ZodPrefault<z.ZodNumber>;
                            }, zod_v4_core.$strip>;
                        }, {
                            readonly name: "plugin.stop";
                        }, {
                            readonly name: "plugin.test";
                        }, {
                            readonly name: "plugin.error";
                            readonly dataSchema: z.ZodObject<{
                                error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                                event: z.ZodObject<{
                                    id: z.ZodString;
                                    name: z.ZodString;
                                    urgent: z.ZodPrefault<z.ZodBoolean>;
                                    data: z.ZodPrefault<z.ZodAny>;
                                    created: z.ZodObject<{
                                        at: z.ZodNumber;
                                        by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                            type: z.ZodLiteral<"handler">;
                                            plugin: z.ZodString;
                                            handler: z.ZodString;
                                            event: z.ZodString;
                                        }, zod_v4_core.$strip>, z.ZodObject<{
                                            type: z.ZodLiteral<"server">;
                                            name: z.ZodString;
                                        }, zod_v4_core.$strip>, z.ZodObject<{
                                            type: z.ZodLiteral<"client">;
                                            name: z.ZodString;
                                        }, zod_v4_core.$strip>], "type">;
                                    }, zod_v4_core.$strip>;
                                    edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                                        at: z.ZodNumber;
                                        by: z.ZodObject<{
                                            plugin: z.ZodString;
                                            handler: z.ZodString;
                                        }, zod_v4_core.$strip>;
                                        reason: z.ZodString;
                                        dataBefore: z.ZodAny;
                                        dataAfter: z.ZodAny;
                                    }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                                    dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                                        at: z.ZodNumber;
                                        by: z.ZodObject<{
                                            plugin: z.ZodString;
                                            handler: z.ZodString;
                                        }, zod_v4_core.$strip>;
                                        reason: z.ZodString;
                                    }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                                    contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                        at: z.ZodNumber;
                                        byHandler: z.ZodString;
                                        valueBefore: z.ZodAny;
                                        valueAfter: z.ZodAny;
                                    }, zod_v4_core.$strip>>>;
                                }, zod_v4_core.$strip>;
                            }, zod_v4_core.$strip>;
                        }] | [{
                            name: "messages.create";
                            dataSchema: z.ZodObject<{
                                message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    role: z.ZodLiteral<"user">;
                                    content: z.ZodPrefault<z.ZodString>;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"system">;
                                    content: z.ZodPrefault<z.ZodString>;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"agent">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                        toolRequestId: z.ZodString;
                                        toolName: z.ZodString;
                                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                    }, zod_v4_core.$strip>>>;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"tool">;
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolSuccess: z.ZodBoolean;
                                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    toolError: z.ZodOptional<z.ZodString>;
                                }, zod_v4_core.$strip>], "role">;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "messages.update";
                            dataSchema: z.ZodObject<{
                                id: z.ZodString;
                                role: z.ZodEnum<{
                                    user: "user";
                                    system: "system";
                                    agent: "agent";
                                    tool: "tool";
                                }>;
                                message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    role: z.ZodLiteral<"user">;
                                    content: z.ZodPrefault<z.ZodString>;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"system">;
                                    content: z.ZodPrefault<z.ZodString>;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"agent">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                        toolRequestId: z.ZodString;
                                        toolName: z.ZodString;
                                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                    }, zod_v4_core.$strip>>>;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"tool">;
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolSuccess: z.ZodBoolean;
                                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    toolError: z.ZodOptional<z.ZodString>;
                                }, zod_v4_core.$strip>], "role">;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "user.audio-chunk";
                            dataSchema: z.ZodObject<{
                                audioChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "user.voice-start";
                        }, {
                            name: "user.voice-chunk";
                            dataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                type: z.ZodLiteral<"voice">;
                                voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                type: z.ZodLiteral<"padding">;
                                voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                                paddingSide: z.ZodEnum<{
                                    pre: "pre";
                                    post: "post";
                                }>;
                                paddingIndex: z.ZodNumber;
                            }, zod_v4_core.$strip>], "type">;
                        }, {
                            name: "user.voice-end";
                        }, {
                            name: "user.text-chunk";
                            dataSchema: z.ZodObject<{
                                textChunk: z.ZodString;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "user.interrupted";
                        }, {
                            name: "agent.thinking-start";
                        }, {
                            name: "agent.thinking-end";
                        }, {
                            name: "agent.speaking-start";
                        }, {
                            name: "agent.speaking-end";
                        }, {
                            name: "agent.continue";
                            dataSchema: z.ZodObject<{
                                interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z.ZodLiteral<false>]>>;
                                preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "agent.decide";
                            dataSchema: z.ZodObject<{
                                interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z.ZodLiteral<false>]>>;
                                preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                                messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    role: z.ZodLiteral<"user">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"system">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"agent">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                        toolRequestId: z.ZodString;
                                        toolName: z.ZodString;
                                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                    }, zod_v4_core.$strip>>>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"tool">;
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolSuccess: z.ZodBoolean;
                                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    toolError: z.ZodOptional<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>], "role">>;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "agent.say";
                            dataSchema: z.ZodObject<{
                                interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z.ZodLiteral<false>]>>;
                                preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                                text: z.ZodString;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "agent.interrupt";
                            dataSchema: z.ZodObject<{
                                reason: z.ZodString;
                                author: z.ZodEnum<{
                                    user: "user";
                                    application: "application";
                                }>;
                                force: z.ZodPrefault<z.ZodBoolean>;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "agent.resources-request";
                        }, {
                            name: "agent.resources-response";
                            dataSchema: z.ZodObject<{
                                requestId: z.ZodString;
                                resources: z.ZodObject<{
                                    messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                        role: z.ZodLiteral<"user">;
                                        content: z.ZodPrefault<z.ZodString>;
                                        id: z.ZodString;
                                        createdAt: z.ZodNumber;
                                        lastUpdated: z.ZodNumber;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        role: z.ZodLiteral<"system">;
                                        content: z.ZodPrefault<z.ZodString>;
                                        id: z.ZodString;
                                        createdAt: z.ZodNumber;
                                        lastUpdated: z.ZodNumber;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        role: z.ZodLiteral<"agent">;
                                        content: z.ZodPrefault<z.ZodString>;
                                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                            toolRequestId: z.ZodString;
                                            toolName: z.ZodString;
                                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                        }, zod_v4_core.$strip>>>;
                                        id: z.ZodString;
                                        createdAt: z.ZodNumber;
                                        lastUpdated: z.ZodNumber;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        role: z.ZodLiteral<"tool">;
                                        toolRequestId: z.ZodString;
                                        toolName: z.ZodString;
                                        toolSuccess: z.ZodBoolean;
                                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                        toolError: z.ZodOptional<z.ZodString>;
                                        id: z.ZodString;
                                        createdAt: z.ZodNumber;
                                        lastUpdated: z.ZodNumber;
                                    }, zod_v4_core.$strip>], "role">>;
                                    tools: z.ZodArray<z.ZodObject<{
                                        name: z.ZodString;
                                        description: z.ZodString;
                                        schema: z.ZodObject<{
                                            input: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                            output: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                        }, zod_v4_core.$strip>;
                                        run: z.ZodFunction<z.ZodTuple<readonly [z.ZodRecord<z.ZodString, z.ZodAny>], null>, z.ZodUnion<readonly [z.ZodObject<{
                                            success: z.ZodBoolean;
                                            output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                            error: z.ZodOptional<z.ZodString>;
                                        }, zod_v4_core.$strip>, z.ZodPromise<z.ZodObject<{
                                            success: z.ZodBoolean;
                                            output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                            error: z.ZodOptional<z.ZodString>;
                                        }, zod_v4_core.$strip>>]>>;
                                    }, zod_v4_core.$strip>>;
                                }, zod_v4_core.$strip>;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "agent.tool-requests";
                            dataSchema: z.ZodObject<{
                                requests: z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "agent.interrupted";
                            dataSchema: z.ZodObject<{
                                reason: z.ZodString;
                                forced: z.ZodBoolean;
                                author: z.ZodEnum<{
                                    user: "user";
                                    application: "application";
                                }>;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "agent.text-chunk";
                            dataSchema: z.ZodObject<{
                                textChunk: z.ZodString;
                            }, zod_v4_core.$strip>;
                        }, {
                            name: "agent.voice-chunk";
                            dataSchema: z.ZodObject<{
                                voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, zod_v4_core.$strip>;
                        }];
                        handlers: [...never[], {
                            name: "maintain-status";
                            mode: "block";
                            state: never;
                            onEvent: (params: unknown) => void;
                        }, {
                            name: "maintain-messages";
                            mode: "block";
                            state: never;
                            onEvent: (params: unknown) => string | undefined;
                        }, {
                            name: "receive-user-audio";
                            mode: "block";
                            state: never;
                            onEvent: (params: unknown) => void;
                        }, {
                            name: "detect-user-voice";
                            mode: "stream";
                            state: never;
                            onEvent: (params: unknown) => Promise<void>;
                        }, {
                            name: "transcribe-user-voice";
                            mode: "stream";
                            state: never;
                            onEvent: (params: unknown) => Promise<void>;
                        }, {
                            name: "detect-end-of-turn";
                            mode: "stream";
                            state: never;
                            onEvent: (params: unknown) => Promise<void>;
                        }, {
                            name: "generate-agent-response";
                            mode: "block";
                            state: never;
                            onEvent: (params: unknown) => void;
                        }, {
                            name: "handle-resources-requests";
                            mode: "block";
                            state: never;
                            onEvent: (params: unknown) => void;
                        }, {
                            name: "handle-tools-requests";
                            mode: "block";
                            state: never;
                            onEvent: (params: unknown) => void;
                        }, {
                            name: "stream-outgoing-audio";
                            mode: "stream";
                            state: never;
                            onEvent: (params: unknown) => void;
                        }];
                    } & {
                        dependencies: [];
                    };
                }, ProvidedConfigs_2>) => {
                    new (): {
                        continue(params: {
                            interrupt?: false | "abrupt" | "smooth" | undefined;
                            preventInterruption?: boolean | undefined;
                        }): Promise<string>;
                        decide(params: {
                            messages: ({
                                role: "user";
                                id: string;
                                createdAt: number;
                                lastUpdated: number;
                                content?: string | undefined;
                            } | {
                                role: "system";
                                id: string;
                                createdAt: number;
                                lastUpdated: number;
                                content?: string | undefined;
                            } | {
                                role: "agent";
                                id: string;
                                createdAt: number;
                                lastUpdated: number;
                                content?: string | undefined;
                                toolsRequests?: {
                                    toolRequestId: string;
                                    toolName: string;
                                    toolInput: Record<string, any>;
                                }[] | undefined;
                            } | {
                                role: "tool";
                                toolRequestId: string;
                                toolName: string;
                                toolSuccess: boolean;
                                id: string;
                                createdAt: number;
                                lastUpdated: number;
                                toolOutput?: Record<string, any> | undefined;
                                toolError?: string | undefined;
                            })[];
                            interrupt?: false | "abrupt" | "smooth" | undefined;
                            preventInterruption?: boolean | undefined;
                        }): Promise<string>;
                        say(params: {
                            text: string;
                            interrupt?: false | "abrupt" | "smooth" | undefined;
                            preventInterruption?: boolean | undefined;
                        }): Promise<string>;
                        interrupt(params: {
                            reason: string;
                            author: "user" | "application";
                            force?: boolean | undefined;
                        }): Promise<string>;
                        messages: {
                            create: (params: {
                                message: {
                                    role: "user";
                                    content?: string | undefined;
                                } | {
                                    role: "system";
                                    content?: string | undefined;
                                } | {
                                    role: "agent";
                                    content?: string | undefined;
                                    toolsRequests?: {
                                        toolRequestId: string;
                                        toolName: string;
                                        toolInput: Record<string, any>;
                                    }[] | undefined;
                                } | {
                                    role: "tool";
                                    toolRequestId: string;
                                    toolName: string;
                                    toolSuccess: boolean;
                                    toolOutput?: Record<string, any> | undefined;
                                    toolError?: string | undefined;
                                };
                            }) => Promise<string>;
                            update: (params: {
                                id: string;
                                role: "user" | "system" | "agent" | "tool";
                                message: {
                                    role: "user";
                                    content?: string | undefined;
                                } | {
                                    role: "system";
                                    content?: string | undefined;
                                } | {
                                    role: "agent";
                                    content?: string | undefined;
                                    toolsRequests?: {
                                        toolRequestId: string;
                                        toolName: string;
                                        toolInput: Record<string, any>;
                                    }[] | undefined;
                                } | {
                                    role: "tool";
                                    toolRequestId: string;
                                    toolName: string;
                                    toolSuccess: boolean;
                                    toolOutput?: Record<string, any> | undefined;
                                    toolError?: string | undefined;
                                };
                            }) => Promise<string>;
                            get: () => ({
                                role: "user";
                                content: string;
                                id: string;
                                createdAt: number;
                                lastUpdated: number;
                            } | {
                                role: "system";
                                content: string;
                                id: string;
                                createdAt: number;
                                lastUpdated: number;
                            } | {
                                role: "agent";
                                content: string;
                                toolsRequests: {
                                    toolRequestId: string;
                                    toolName: string;
                                    toolInput: Record<string, any>;
                                }[];
                                id: string;
                                createdAt: number;
                                lastUpdated: number;
                            } | {
                                role: "tool";
                                toolRequestId: string;
                                toolName: string;
                                toolSuccess: boolean;
                                id: string;
                                createdAt: number;
                                lastUpdated: number;
                                toolOutput?: Record<string, any> | undefined;
                                toolError?: string | undefined;
                            })[];
                        };
                    };
                };
                readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
                readonly $serverDef: {
                    name: "generation";
                    config: ZodObjectWithTelemetry<z.ZodObject<{
                        voiceDetection: z.ZodPrefault<z.ZodObject<{
                            scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                            scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                            prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                            postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                            minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>>;
                        endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                            threshold: z.ZodPrefault<z.ZodNumber>;
                            minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                            maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>>;
                    }, zod_v4_core.$strip>, "output">;
                    context: ZodObjectWithTelemetry<z.ZodObject<{
                        messages: z.ZodPrefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>], "role">>>;
                        status: z.ZodPrefault<z.ZodObject<{
                            listening: z.ZodPrefault<z.ZodBoolean>;
                            thinking: z.ZodPrefault<z.ZodBoolean>;
                            speaking: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>>;
                        voiceEnabled: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>, "output">;
                    events: [{
                        readonly name: "plugin.start";
                        readonly dataSchema: z.ZodObject<{
                            isRestart: z.ZodPrefault<z.ZodBoolean>;
                            restartCount: z.ZodPrefault<z.ZodNumber>;
                        }, zod_v4_core.$strip>;
                    }, {
                        readonly name: "plugin.stop";
                    }, {
                        readonly name: "plugin.test";
                    }, {
                        readonly name: "plugin.error";
                        readonly dataSchema: z.ZodObject<{
                            error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                            event: z.ZodObject<{
                                id: z.ZodString;
                                name: z.ZodString;
                                urgent: z.ZodPrefault<z.ZodBoolean>;
                                data: z.ZodPrefault<z.ZodAny>;
                                created: z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                        type: z.ZodLiteral<"handler">;
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                        event: z.ZodString;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        type: z.ZodLiteral<"server">;
                                        name: z.ZodString;
                                    }, zod_v4_core.$strip>, z.ZodObject<{
                                        type: z.ZodLiteral<"client">;
                                        name: z.ZodString;
                                    }, zod_v4_core.$strip>], "type">;
                                }, zod_v4_core.$strip>;
                                edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodObject<{
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                    }, zod_v4_core.$strip>;
                                    reason: z.ZodString;
                                    dataBefore: z.ZodAny;
                                    dataAfter: z.ZodAny;
                                }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                                dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                                    at: z.ZodNumber;
                                    by: z.ZodObject<{
                                        plugin: z.ZodString;
                                        handler: z.ZodString;
                                    }, zod_v4_core.$strip>;
                                    reason: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                                contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    at: z.ZodNumber;
                                    byHandler: z.ZodString;
                                    valueBefore: z.ZodAny;
                                    valueAfter: z.ZodAny;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>;
                        }, zod_v4_core.$strip>;
                    }] | [{
                        name: "messages.create";
                        dataSchema: z.ZodObject<{
                            message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                            }, zod_v4_core.$strip>], "role">;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "messages.update";
                        dataSchema: z.ZodObject<{
                            id: z.ZodString;
                            role: z.ZodEnum<{
                                user: "user";
                                system: "system";
                                agent: "agent";
                                tool: "tool";
                            }>;
                            message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                            }, zod_v4_core.$strip>], "role">;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.audio-chunk";
                        dataSchema: z.ZodObject<{
                            audioChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.voice-start";
                    }, {
                        name: "user.voice-chunk";
                        dataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"voice">;
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            type: z.ZodLiteral<"padding">;
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            paddingSide: z.ZodEnum<{
                                pre: "pre";
                                post: "post";
                            }>;
                            paddingIndex: z.ZodNumber;
                        }, zod_v4_core.$strip>], "type">;
                    }, {
                        name: "user.voice-end";
                    }, {
                        name: "user.text-chunk";
                        dataSchema: z.ZodObject<{
                            textChunk: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "user.interrupted";
                    }, {
                        name: "agent.thinking-start";
                    }, {
                        name: "agent.thinking-end";
                    }, {
                        name: "agent.speaking-start";
                    }, {
                        name: "agent.speaking-end";
                    }, {
                        name: "agent.continue";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.decide";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                            messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>], "role">>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.say";
                        dataSchema: z.ZodObject<{
                            interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z.ZodLiteral<false>]>>;
                            preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                            text: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.interrupt";
                        dataSchema: z.ZodObject<{
                            reason: z.ZodString;
                            author: z.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                            force: z.ZodPrefault<z.ZodBoolean>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.resources-request";
                    }, {
                        name: "agent.resources-response";
                        dataSchema: z.ZodObject<{
                            requestId: z.ZodString;
                            resources: z.ZodObject<{
                                messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    role: z.ZodLiteral<"user">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"system">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"agent">;
                                    content: z.ZodPrefault<z.ZodString>;
                                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                        toolRequestId: z.ZodString;
                                        toolName: z.ZodString;
                                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                    }, zod_v4_core.$strip>>>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    role: z.ZodLiteral<"tool">;
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolSuccess: z.ZodBoolean;
                                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    toolError: z.ZodOptional<z.ZodString>;
                                    id: z.ZodString;
                                    createdAt: z.ZodNumber;
                                    lastUpdated: z.ZodNumber;
                                }, zod_v4_core.$strip>], "role">>;
                                tools: z.ZodArray<z.ZodObject<{
                                    name: z.ZodString;
                                    description: z.ZodString;
                                    schema: z.ZodObject<{
                                        input: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                        output: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                    }, zod_v4_core.$strip>;
                                    run: z.ZodFunction<z.ZodTuple<readonly [z.ZodRecord<z.ZodString, z.ZodAny>], null>, z.ZodUnion<readonly [z.ZodObject<{
                                        success: z.ZodBoolean;
                                        output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                        error: z.ZodOptional<z.ZodString>;
                                    }, zod_v4_core.$strip>, z.ZodPromise<z.ZodObject<{
                                        success: z.ZodBoolean;
                                        output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                        error: z.ZodOptional<z.ZodString>;
                                    }, zod_v4_core.$strip>>]>>;
                                }, zod_v4_core.$strip>>;
                            }, zod_v4_core.$strip>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.tool-requests";
                        dataSchema: z.ZodObject<{
                            requests: z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.interrupted";
                        dataSchema: z.ZodObject<{
                            reason: z.ZodString;
                            forced: z.ZodBoolean;
                            author: z.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.text-chunk";
                        dataSchema: z.ZodObject<{
                            textChunk: z.ZodString;
                        }, zod_v4_core.$strip>;
                    }, {
                        name: "agent.voice-chunk";
                        dataSchema: z.ZodObject<{
                            voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, zod_v4_core.$strip>;
                    }];
                    handlers: [...never[], {
                        name: "maintain-status";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "maintain-messages";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => string | undefined;
                    }, {
                        name: "receive-user-audio";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "detect-user-voice";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "transcribe-user-voice";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "detect-end-of-turn";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => Promise<void>;
                    }, {
                        name: "generate-agent-response";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "handle-resources-requests";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "handle-tools-requests";
                        mode: "block";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }, {
                        name: "stream-outgoing-audio";
                        mode: "stream";
                        state: never;
                        onEvent: (params: unknown) => void;
                    }];
                } & {
                    dependencies: [];
                };
            }, ProvidedConfigs_1>) => [{
                readonly name: "status";
                readonly create: () => {
                    store: nanostores.PreinitializedWritableAtom<{
                        listening: boolean;
                        thinking: boolean;
                        speaking: boolean;
                    } | null> & object;
                    refresh: () => Promise<undefined>;
                };
            }, {
                readonly name: "messages";
                readonly create: () => {
                    store: nanostores.PreinitializedWritableAtom<({
                        role: "user";
                        content: string;
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                    } | {
                        role: "system";
                        content: string;
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                    } | {
                        role: "agent";
                        content: string;
                        toolsRequests: {
                            toolRequestId: string;
                            toolName: string;
                            toolInput: Record<string, any>;
                        }[];
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                    } | {
                        role: "tool";
                        toolRequestId: string;
                        toolName: string;
                        toolSuccess: boolean;
                        id: string;
                        createdAt: number;
                        lastUpdated: number;
                        toolOutput?: Record<string, any> | undefined;
                        toolError?: string | undefined;
                    })[]> & object;
                    refresh: () => Promise<undefined>;
                };
            }];
            readonly $serverDef: {
                name: "generation";
                config: ZodObjectWithTelemetry<z.ZodObject<{
                    voiceDetection: z.ZodPrefault<z.ZodObject<{
                        scoreInThreshold: z.ZodPrefault<z.ZodNumber>;
                        scoreOutThreshold: z.ZodPrefault<z.ZodNumber>;
                        prePaddingChunks: z.ZodPrefault<z.ZodNumber>;
                        postPaddingChunks: z.ZodPrefault<z.ZodNumber>;
                        minVoiceInterruptionMs: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>>;
                    endOfTurnDetection: z.ZodPrefault<z.ZodObject<{
                        threshold: z.ZodPrefault<z.ZodNumber>;
                        minTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                        maxTimeoutMs: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>>;
                }, zod_v4_core.$strip>, "output">;
                context: ZodObjectWithTelemetry<z.ZodObject<{
                    messages: z.ZodPrefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                        role: z.ZodLiteral<"user">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"system">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"agent">;
                        content: z.ZodPrefault<z.ZodString>;
                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"tool">;
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolSuccess: z.ZodBoolean;
                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                        toolError: z.ZodOptional<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>], "role">>>;
                    status: z.ZodPrefault<z.ZodObject<{
                        listening: z.ZodPrefault<z.ZodBoolean>;
                        thinking: z.ZodPrefault<z.ZodBoolean>;
                        speaking: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>>;
                    voiceEnabled: z.ZodPrefault<z.ZodBoolean>;
                }, zod_v4_core.$strip>, "output">;
                events: [{
                    readonly name: "plugin.start";
                    readonly dataSchema: z.ZodObject<{
                        isRestart: z.ZodPrefault<z.ZodBoolean>;
                        restartCount: z.ZodPrefault<z.ZodNumber>;
                    }, zod_v4_core.$strip>;
                }, {
                    readonly name: "plugin.stop";
                }, {
                    readonly name: "plugin.test";
                }, {
                    readonly name: "plugin.error";
                    readonly dataSchema: z.ZodObject<{
                        error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                        event: z.ZodObject<{
                            id: z.ZodString;
                            name: z.ZodString;
                            urgent: z.ZodPrefault<z.ZodBoolean>;
                            data: z.ZodPrefault<z.ZodAny>;
                            created: z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                    type: z.ZodLiteral<"handler">;
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                    event: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    type: z.ZodLiteral<"server">;
                                    name: z.ZodString;
                                }, zod_v4_core.$strip>, z.ZodObject<{
                                    type: z.ZodLiteral<"client">;
                                    name: z.ZodString;
                                }, zod_v4_core.$strip>], "type">;
                            }, zod_v4_core.$strip>;
                            edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodObject<{
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                }, zod_v4_core.$strip>;
                                reason: z.ZodString;
                                dataBefore: z.ZodAny;
                                dataAfter: z.ZodAny;
                            }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                            dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                                at: z.ZodNumber;
                                by: z.ZodObject<{
                                    plugin: z.ZodString;
                                    handler: z.ZodString;
                                }, zod_v4_core.$strip>;
                                reason: z.ZodString;
                            }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                            contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                at: z.ZodNumber;
                                byHandler: z.ZodString;
                                valueBefore: z.ZodAny;
                                valueAfter: z.ZodAny;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>;
                    }, zod_v4_core.$strip>;
                }] | [{
                    name: "messages.create";
                    dataSchema: z.ZodObject<{
                        message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                        }, zod_v4_core.$strip>], "role">;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "messages.update";
                    dataSchema: z.ZodObject<{
                        id: z.ZodString;
                        role: z.ZodEnum<{
                            user: "user";
                            system: "system";
                            agent: "agent";
                            tool: "tool";
                        }>;
                        message: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                        }, zod_v4_core.$strip>], "role">;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.audio-chunk";
                    dataSchema: z.ZodObject<{
                        audioChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.voice-start";
                }, {
                    name: "user.voice-chunk";
                    dataSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
                        type: z.ZodLiteral<"voice">;
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        type: z.ZodLiteral<"padding">;
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        paddingSide: z.ZodEnum<{
                            pre: "pre";
                            post: "post";
                        }>;
                        paddingIndex: z.ZodNumber;
                    }, zod_v4_core.$strip>], "type">;
                }, {
                    name: "user.voice-end";
                }, {
                    name: "user.text-chunk";
                    dataSchema: z.ZodObject<{
                        textChunk: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "user.interrupted";
                }, {
                    name: "agent.thinking-start";
                }, {
                    name: "agent.thinking-end";
                }, {
                    name: "agent.speaking-start";
                }, {
                    name: "agent.speaking-end";
                }, {
                    name: "agent.continue";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.decide";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                            role: z.ZodLiteral<"user">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"system">;
                            content: z.ZodPrefault<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"agent">;
                            content: z.ZodPrefault<z.ZodString>;
                            toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                            }, zod_v4_core.$strip>>>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            role: z.ZodLiteral<"tool">;
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolSuccess: z.ZodBoolean;
                            toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                            toolError: z.ZodOptional<z.ZodString>;
                            id: z.ZodString;
                            createdAt: z.ZodNumber;
                            lastUpdated: z.ZodNumber;
                        }, zod_v4_core.$strip>], "role">>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.say";
                    dataSchema: z.ZodObject<{
                        interrupt: z.ZodPrefault<z.ZodUnion<[z.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z.ZodLiteral<false>]>>;
                        preventInterruption: z.ZodPrefault<z.ZodBoolean>;
                        text: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.interrupt";
                    dataSchema: z.ZodObject<{
                        reason: z.ZodString;
                        author: z.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                        force: z.ZodPrefault<z.ZodBoolean>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.resources-request";
                }, {
                    name: "agent.resources-response";
                    dataSchema: z.ZodObject<{
                        requestId: z.ZodString;
                        resources: z.ZodObject<{
                            messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                                role: z.ZodLiteral<"user">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"system">;
                                content: z.ZodPrefault<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"agent">;
                                content: z.ZodPrefault<z.ZodString>;
                                toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                                    toolRequestId: z.ZodString;
                                    toolName: z.ZodString;
                                    toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                                }, zod_v4_core.$strip>>>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                role: z.ZodLiteral<"tool">;
                                toolRequestId: z.ZodString;
                                toolName: z.ZodString;
                                toolSuccess: z.ZodBoolean;
                                toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                toolError: z.ZodOptional<z.ZodString>;
                                id: z.ZodString;
                                createdAt: z.ZodNumber;
                                lastUpdated: z.ZodNumber;
                            }, zod_v4_core.$strip>], "role">>;
                            tools: z.ZodArray<z.ZodObject<{
                                name: z.ZodString;
                                description: z.ZodString;
                                schema: z.ZodObject<{
                                    input: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                    output: z.ZodCustom<z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>, z.ZodObject<zod_v4_core.$ZodLooseShape, zod_v4_core.$strip>>;
                                }, zod_v4_core.$strip>;
                                run: z.ZodFunction<z.ZodTuple<readonly [z.ZodRecord<z.ZodString, z.ZodAny>], null>, z.ZodUnion<readonly [z.ZodObject<{
                                    success: z.ZodBoolean;
                                    output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    error: z.ZodOptional<z.ZodString>;
                                }, zod_v4_core.$strip>, z.ZodPromise<z.ZodObject<{
                                    success: z.ZodBoolean;
                                    output: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                                    error: z.ZodOptional<z.ZodString>;
                                }, zod_v4_core.$strip>>]>>;
                            }, zod_v4_core.$strip>>;
                        }, zod_v4_core.$strip>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.tool-requests";
                    dataSchema: z.ZodObject<{
                        requests: z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.interrupted";
                    dataSchema: z.ZodObject<{
                        reason: z.ZodString;
                        forced: z.ZodBoolean;
                        author: z.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.text-chunk";
                    dataSchema: z.ZodObject<{
                        textChunk: z.ZodString;
                    }, zod_v4_core.$strip>;
                }, {
                    name: "agent.voice-chunk";
                    dataSchema: z.ZodObject<{
                        voiceChunk: z.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, zod_v4_core.$strip>;
                }];
                handlers: [...never[], {
                    name: "maintain-status";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "maintain-messages";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => string | undefined;
                }, {
                    name: "receive-user-audio";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "detect-user-voice";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "transcribe-user-voice";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "detect-end-of-turn";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => Promise<void>;
                }, {
                    name: "generate-agent-response";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "handle-resources-requests";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "handle-tools-requests";
                    mode: "block";
                    state: never;
                    onEvent: (params: unknown) => void;
                }, {
                    name: "stream-outgoing-audio";
                    mode: "stream";
                    state: never;
                    onEvent: (params: unknown) => void;
                }];
            } & {
                dependencies: [];
            };
        }[];
        readonly class: <const _ProvidedConfigs>(..._args: Any[]) => {
            new (): {};
        };
        readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
        readonly $serverDef: {
            name: "memories";
            config: ZodObjectWithTelemetry<z.ZodObject<{
                items: z.ZodPrefault<z.ZodArray<z.ZodCustom<{
                    _definition: MemoryDefinition;
                }, {
                    _definition: MemoryDefinition;
                }>>>;
            }, zod_v4_core.$strip>, "output">;
            context: ZodObjectWithTelemetry<z.ZodObject<{
                memoriesLastResults: z.ZodPrefault<z.ZodCustom<Map<string, ({
                    role: "user";
                    content: string;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "system";
                    content: string;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "agent";
                    content: string;
                    toolsRequests: {
                        toolRequestId: string;
                        toolName: string;
                        toolInput: Record<string, any>;
                    }[];
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "tool";
                    toolRequestId: string;
                    toolName: string;
                    toolSuccess: boolean;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                    toolOutput?: Record<string, any> | undefined;
                    toolError?: string | undefined;
                })[]>, Map<string, ({
                    role: "user";
                    content: string;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "system";
                    content: string;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "agent";
                    content: string;
                    toolsRequests: {
                        toolRequestId: string;
                        toolName: string;
                        toolInput: Record<string, any>;
                    }[];
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                } | {
                    role: "tool";
                    toolRequestId: string;
                    toolName: string;
                    toolSuccess: boolean;
                    id: string;
                    createdAt: number;
                    lastUpdated: number;
                    toolOutput?: Record<string, any> | undefined;
                    toolError?: string | undefined;
                })[]>>>;
                memoriesLastTimestamp: z.ZodPrefault<z.ZodCustom<Map<string, number>, Map<string, number>>>;
                processedRequestsIds: z.ZodPrefault<z.ZodCustom<Set<string>, Set<string>>>;
                computedMemoriesCache: z.ZodPrefault<z.ZodCustom<Map<string, {
                    hash: string;
                    memories: Message[];
                }>, Map<string, {
                    hash: string;
                    memories: Message[];
                }>>>;
            }, zod_v4_core.$strip>, "output">;
            events: [{
                readonly name: "plugin.start";
                readonly dataSchema: z.ZodObject<{
                    isRestart: z.ZodPrefault<z.ZodBoolean>;
                    restartCount: z.ZodPrefault<z.ZodNumber>;
                }, zod_v4_core.$strip>;
            }, {
                readonly name: "plugin.stop";
            }, {
                readonly name: "plugin.test";
            }, {
                readonly name: "plugin.error";
                readonly dataSchema: z.ZodObject<{
                    error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                    event: z.ZodObject<{
                        id: z.ZodString;
                        name: z.ZodString;
                        urgent: z.ZodPrefault<z.ZodBoolean>;
                        data: z.ZodPrefault<z.ZodAny>;
                        created: z.ZodObject<{
                            at: z.ZodNumber;
                            by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                                type: z.ZodLiteral<"handler">;
                                plugin: z.ZodString;
                                handler: z.ZodString;
                                event: z.ZodString;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                type: z.ZodLiteral<"server">;
                                name: z.ZodString;
                            }, zod_v4_core.$strip>, z.ZodObject<{
                                type: z.ZodLiteral<"client">;
                                name: z.ZodString;
                            }, zod_v4_core.$strip>], "type">;
                        }, zod_v4_core.$strip>;
                        edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                            at: z.ZodNumber;
                            by: z.ZodObject<{
                                plugin: z.ZodString;
                                handler: z.ZodString;
                            }, zod_v4_core.$strip>;
                            reason: z.ZodString;
                            dataBefore: z.ZodAny;
                            dataAfter: z.ZodAny;
                        }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                        dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                            at: z.ZodNumber;
                            by: z.ZodObject<{
                                plugin: z.ZodString;
                                handler: z.ZodString;
                            }, zod_v4_core.$strip>;
                            reason: z.ZodString;
                        }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                        contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            at: z.ZodNumber;
                            byHandler: z.ZodString;
                            valueBefore: z.ZodAny;
                            valueAfter: z.ZodAny;
                        }, zod_v4_core.$strip>>>;
                    }, zod_v4_core.$strip>;
                }, zod_v4_core.$strip>;
            }] | [{
                name: "cache-build";
                dataSchema: z.ZodObject<{
                    messagesHash: z.ZodString;
                    memories: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                        role: z.ZodLiteral<"user">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"system">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"agent">;
                        content: z.ZodPrefault<z.ZodString>;
                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"tool">;
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolSuccess: z.ZodBoolean;
                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                        toolError: z.ZodOptional<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>], "role">>;
                }, zod_v4_core.$strip>;
            }, {
                name: "cache-memory";
                dataSchema: z.ZodObject<{
                    name: z.ZodString;
                    messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                        role: z.ZodLiteral<"user">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"system">;
                        content: z.ZodPrefault<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"agent">;
                        content: z.ZodPrefault<z.ZodString>;
                        toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                            toolRequestId: z.ZodString;
                            toolName: z.ZodString;
                            toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                        }, zod_v4_core.$strip>>>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>, z.ZodObject<{
                        role: z.ZodLiteral<"tool">;
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolSuccess: z.ZodBoolean;
                        toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                        toolError: z.ZodOptional<z.ZodString>;
                        id: z.ZodString;
                        createdAt: z.ZodNumber;
                        lastUpdated: z.ZodNumber;
                    }, zod_v4_core.$strip>], "role">>;
                    timestamp: z.ZodNumber;
                }, zod_v4_core.$strip>;
            }];
            handlers: never[];
        } & {
            dependencies: [];
        };
    }, ProvidedConfigs>) => {
        new (): {};
    };
    readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
    readonly $serverDef: {
        name: "memories";
        config: ZodObjectWithTelemetry<z.ZodObject<{
            items: z.ZodPrefault<z.ZodArray<z.ZodCustom<{
                _definition: MemoryDefinition;
            }, {
                _definition: MemoryDefinition;
            }>>>;
        }, zod_v4_core.$strip>, "output">;
        context: ZodObjectWithTelemetry<z.ZodObject<{
            memoriesLastResults: z.ZodPrefault<z.ZodCustom<Map<string, ({
                role: "user";
                content: string;
                id: string;
                createdAt: number;
                lastUpdated: number;
            } | {
                role: "system";
                content: string;
                id: string;
                createdAt: number;
                lastUpdated: number;
            } | {
                role: "agent";
                content: string;
                toolsRequests: {
                    toolRequestId: string;
                    toolName: string;
                    toolInput: Record<string, any>;
                }[];
                id: string;
                createdAt: number;
                lastUpdated: number;
            } | {
                role: "tool";
                toolRequestId: string;
                toolName: string;
                toolSuccess: boolean;
                id: string;
                createdAt: number;
                lastUpdated: number;
                toolOutput?: Record<string, any> | undefined;
                toolError?: string | undefined;
            })[]>, Map<string, ({
                role: "user";
                content: string;
                id: string;
                createdAt: number;
                lastUpdated: number;
            } | {
                role: "system";
                content: string;
                id: string;
                createdAt: number;
                lastUpdated: number;
            } | {
                role: "agent";
                content: string;
                toolsRequests: {
                    toolRequestId: string;
                    toolName: string;
                    toolInput: Record<string, any>;
                }[];
                id: string;
                createdAt: number;
                lastUpdated: number;
            } | {
                role: "tool";
                toolRequestId: string;
                toolName: string;
                toolSuccess: boolean;
                id: string;
                createdAt: number;
                lastUpdated: number;
                toolOutput?: Record<string, any> | undefined;
                toolError?: string | undefined;
            })[]>>>;
            memoriesLastTimestamp: z.ZodPrefault<z.ZodCustom<Map<string, number>, Map<string, number>>>;
            processedRequestsIds: z.ZodPrefault<z.ZodCustom<Set<string>, Set<string>>>;
            computedMemoriesCache: z.ZodPrefault<z.ZodCustom<Map<string, {
                hash: string;
                memories: Message[];
            }>, Map<string, {
                hash: string;
                memories: Message[];
            }>>>;
        }, zod_v4_core.$strip>, "output">;
        events: [{
            readonly name: "plugin.start";
            readonly dataSchema: z.ZodObject<{
                isRestart: z.ZodPrefault<z.ZodBoolean>;
                restartCount: z.ZodPrefault<z.ZodNumber>;
            }, zod_v4_core.$strip>;
        }, {
            readonly name: "plugin.stop";
        }, {
            readonly name: "plugin.test";
        }, {
            readonly name: "plugin.error";
            readonly dataSchema: z.ZodObject<{
                error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                event: z.ZodObject<{
                    id: z.ZodString;
                    name: z.ZodString;
                    urgent: z.ZodPrefault<z.ZodBoolean>;
                    data: z.ZodPrefault<z.ZodAny>;
                    created: z.ZodObject<{
                        at: z.ZodNumber;
                        by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"handler">;
                            plugin: z.ZodString;
                            handler: z.ZodString;
                            event: z.ZodString;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            type: z.ZodLiteral<"server">;
                            name: z.ZodString;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            type: z.ZodLiteral<"client">;
                            name: z.ZodString;
                        }, zod_v4_core.$strip>], "type">;
                    }, zod_v4_core.$strip>;
                    edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                        at: z.ZodNumber;
                        by: z.ZodObject<{
                            plugin: z.ZodString;
                            handler: z.ZodString;
                        }, zod_v4_core.$strip>;
                        reason: z.ZodString;
                        dataBefore: z.ZodAny;
                        dataAfter: z.ZodAny;
                    }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                    dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                        at: z.ZodNumber;
                        by: z.ZodObject<{
                            plugin: z.ZodString;
                            handler: z.ZodString;
                        }, zod_v4_core.$strip>;
                        reason: z.ZodString;
                    }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                    contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                        at: z.ZodNumber;
                        byHandler: z.ZodString;
                        valueBefore: z.ZodAny;
                        valueAfter: z.ZodAny;
                    }, zod_v4_core.$strip>>>;
                }, zod_v4_core.$strip>;
            }, zod_v4_core.$strip>;
        }] | [{
            name: "cache-build";
            dataSchema: z.ZodObject<{
                messagesHash: z.ZodString;
                memories: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                    role: z.ZodLiteral<"user">;
                    content: z.ZodPrefault<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"system">;
                    content: z.ZodPrefault<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"agent">;
                    content: z.ZodPrefault<z.ZodString>;
                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                    }, zod_v4_core.$strip>>>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"tool">;
                    toolRequestId: z.ZodString;
                    toolName: z.ZodString;
                    toolSuccess: z.ZodBoolean;
                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                    toolError: z.ZodOptional<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>], "role">>;
            }, zod_v4_core.$strip>;
        }, {
            name: "cache-memory";
            dataSchema: z.ZodObject<{
                name: z.ZodString;
                messages: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
                    role: z.ZodLiteral<"user">;
                    content: z.ZodPrefault<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"system">;
                    content: z.ZodPrefault<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"agent">;
                    content: z.ZodPrefault<z.ZodString>;
                    toolsRequests: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                        toolRequestId: z.ZodString;
                        toolName: z.ZodString;
                        toolInput: z.ZodRecord<z.ZodString, z.ZodAny>;
                    }, zod_v4_core.$strip>>>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>, z.ZodObject<{
                    role: z.ZodLiteral<"tool">;
                    toolRequestId: z.ZodString;
                    toolName: z.ZodString;
                    toolSuccess: z.ZodBoolean;
                    toolOutput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
                    toolError: z.ZodOptional<z.ZodString>;
                    id: z.ZodString;
                    createdAt: z.ZodNumber;
                    lastUpdated: z.ZodNumber;
                }, zod_v4_core.$strip>], "role">>;
                timestamp: z.ZodNumber;
            }, zod_v4_core.$strip>;
        }];
        handlers: never[];
    } & {
        dependencies: [];
    };
}, "dependencies" | "class">;

declare const storesPluginClient: PluginClientBuilder<{
    readonly name: "stores";
    readonly config: ZodObjectWithTelemetry<z.ZodObject<{
        [x: string]: any;
    }, zod_v4_core.$strip>, "output">;
    readonly dependencies: [];
    readonly class: <const _ProvidedConfigs>(..._args: Any[]) => {
        new (): {};
    };
    readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
    readonly $serverDef: {
        name: "stores";
        config: ZodObjectWithTelemetry<z.ZodObject<{
            items: z.ZodPrefault<z.ZodArray<z.ZodCustom<{
                _definition: StoreDefinition;
            }, {
                _definition: StoreDefinition;
            }>>>;
        }, zod_v4_core.$strip>, "output">;
        context: ZodObjectWithTelemetry<z.ZodObject<{
            storesData: z.ZodPrefault<z.ZodRecord<z.ZodString, z.ZodAny>>;
        }, zod_v4_core.$strip>, "output">;
        events: [{
            readonly name: "plugin.start";
            readonly dataSchema: z.ZodObject<{
                isRestart: z.ZodPrefault<z.ZodBoolean>;
                restartCount: z.ZodPrefault<z.ZodNumber>;
            }, zod_v4_core.$strip>;
        }, {
            readonly name: "plugin.stop";
        }, {
            readonly name: "plugin.test";
        }, {
            readonly name: "plugin.error";
            readonly dataSchema: z.ZodObject<{
                error: z.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                event: z.ZodObject<{
                    id: z.ZodString;
                    name: z.ZodString;
                    urgent: z.ZodPrefault<z.ZodBoolean>;
                    data: z.ZodPrefault<z.ZodAny>;
                    created: z.ZodObject<{
                        at: z.ZodNumber;
                        by: z.ZodDiscriminatedUnion<[z.ZodObject<{
                            type: z.ZodLiteral<"handler">;
                            plugin: z.ZodString;
                            handler: z.ZodString;
                            event: z.ZodString;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            type: z.ZodLiteral<"server">;
                            name: z.ZodString;
                        }, zod_v4_core.$strip>, z.ZodObject<{
                            type: z.ZodLiteral<"client">;
                            name: z.ZodString;
                        }, zod_v4_core.$strip>], "type">;
                    }, zod_v4_core.$strip>;
                    edited: z.ZodDefault<z.ZodUnion<[z.ZodArray<z.ZodObject<{
                        at: z.ZodNumber;
                        by: z.ZodObject<{
                            plugin: z.ZodString;
                            handler: z.ZodString;
                        }, zod_v4_core.$strip>;
                        reason: z.ZodString;
                        dataBefore: z.ZodAny;
                        dataAfter: z.ZodAny;
                    }, zod_v4_core.$strip>>, z.ZodLiteral<false>]>>;
                    dropped: z.ZodPrefault<z.ZodUnion<[z.ZodObject<{
                        at: z.ZodNumber;
                        by: z.ZodObject<{
                            plugin: z.ZodString;
                            handler: z.ZodString;
                        }, zod_v4_core.$strip>;
                        reason: z.ZodString;
                    }, zod_v4_core.$strip>, z.ZodLiteral<false>]>>;
                    contextChanges: z.ZodPrefault<z.ZodArray<z.ZodObject<{
                        at: z.ZodNumber;
                        byHandler: z.ZodString;
                        valueBefore: z.ZodAny;
                        valueAfter: z.ZodAny;
                    }, zod_v4_core.$strip>>>;
                }, zod_v4_core.$strip>;
            }, zod_v4_core.$strip>;
        }] | [{
            name: "update-store-data";
            dataSchema: z.ZodObject<{
                name: z.ZodString;
                data: z.ZodAny;
            }, zod_v4_core.$strip>;
        }, {
            name: "retrieve-store-data";
            dataSchema: z.ZodObject<{
                name: z.ZodString;
            }, zod_v4_core.$strip>;
        }];
        handlers: never[];
    } & {
        dependencies: [];
    };
}, never>;

type ClientPluginsDefaults = {
    readonly generation: typeof generationPluginClient;
    readonly memories: typeof memoriesPluginClient;
    readonly stores: typeof storesPluginClient;
    readonly [Symbol.iterator]: () => Generator<typeof generationPluginClient | typeof memoriesPluginClient | typeof storesPluginClient, void, unknown>;
};
declare const defaults: {
    readonly plugins: ClientPluginsDefaults;
};

export { type ClientPluginsDefaults, Message, defaults };
