import { d as TypedPluginBuilder, L as LifeErrorUnion, M as MemoryDefinition, c as Message, S as StoreDefinition } from '../types-B6ejZKUB.js';
export { e as defineAgent, f as defineMemory, h as definePlugin, g as defineStore } from '../types-B6ejZKUB.js';
import { Z as ZodObjectWithTelemetry } from '../config-n67P8tNt.js';
export { d as defineConfig } from '../config-n67P8tNt.js';
import * as zod_v4_core from 'zod/v4/core';
import * as z from 'zod';
import { z as z$1 } from 'zod';
import 'type-fest';

declare const generationPlugin: TypedPluginBuilder<{
    name: "generation";
    dependencies: never[];
    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;
    }];
}, "events" | "config" | "context" | "$config" | "$context" | "$events">;

declare const memoriesPlugin: TypedPluginBuilder<{
    name: "memories";
    dependencies: {
        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;
        }];
    }[];
    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[];
}, "events" | "config" | "dependencies" | "context" | "$config" | "$context" | "$events">;

declare const storesPlugin: TypedPluginBuilder<{
    name: "stores";
    dependencies: {
        name: "generation";
        config: ZodObjectWithTelemetry<z$1.ZodObject<{
            voiceDetection: z$1.ZodPrefault<z$1.ZodObject<{
                scoreInThreshold: z$1.ZodPrefault<z$1.ZodNumber>;
                scoreOutThreshold: z$1.ZodPrefault<z$1.ZodNumber>;
                prePaddingChunks: z$1.ZodPrefault<z$1.ZodNumber>;
                postPaddingChunks: z$1.ZodPrefault<z$1.ZodNumber>;
                minVoiceInterruptionMs: z$1.ZodPrefault<z$1.ZodNumber>;
            }, z$1.core.$strip>>;
            endOfTurnDetection: z$1.ZodPrefault<z$1.ZodObject<{
                threshold: z$1.ZodPrefault<z$1.ZodNumber>;
                minTimeoutMs: z$1.ZodPrefault<z$1.ZodNumber>;
                maxTimeoutMs: z$1.ZodPrefault<z$1.ZodNumber>;
            }, z$1.core.$strip>>;
        }, z$1.core.$strip>, "output">;
        context: ZodObjectWithTelemetry<z$1.ZodObject<{
            messages: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
                role: z$1.ZodLiteral<"user">;
                content: z$1.ZodPrefault<z$1.ZodString>;
                id: z$1.ZodString;
                createdAt: z$1.ZodNumber;
                lastUpdated: z$1.ZodNumber;
            }, z$1.core.$strip>, z$1.ZodObject<{
                role: z$1.ZodLiteral<"system">;
                content: z$1.ZodPrefault<z$1.ZodString>;
                id: z$1.ZodString;
                createdAt: z$1.ZodNumber;
                lastUpdated: z$1.ZodNumber;
            }, z$1.core.$strip>, z$1.ZodObject<{
                role: z$1.ZodLiteral<"agent">;
                content: z$1.ZodPrefault<z$1.ZodString>;
                toolsRequests: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodObject<{
                    toolRequestId: z$1.ZodString;
                    toolName: z$1.ZodString;
                    toolInput: z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>;
                }, z$1.core.$strip>>>;
                id: z$1.ZodString;
                createdAt: z$1.ZodNumber;
                lastUpdated: z$1.ZodNumber;
            }, z$1.core.$strip>, z$1.ZodObject<{
                role: z$1.ZodLiteral<"tool">;
                toolRequestId: z$1.ZodString;
                toolName: z$1.ZodString;
                toolSuccess: z$1.ZodBoolean;
                toolOutput: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>>;
                toolError: z$1.ZodOptional<z$1.ZodString>;
                id: z$1.ZodString;
                createdAt: z$1.ZodNumber;
                lastUpdated: z$1.ZodNumber;
            }, z$1.core.$strip>], "role">>>;
            status: z$1.ZodPrefault<z$1.ZodObject<{
                listening: z$1.ZodPrefault<z$1.ZodBoolean>;
                thinking: z$1.ZodPrefault<z$1.ZodBoolean>;
                speaking: z$1.ZodPrefault<z$1.ZodBoolean>;
            }, z$1.core.$strip>>;
            voiceEnabled: z$1.ZodPrefault<z$1.ZodBoolean>;
        }, z$1.core.$strip>, "output">;
        events: [{
            readonly name: "plugin.start";
            readonly dataSchema: z$1.ZodObject<{
                isRestart: z$1.ZodPrefault<z$1.ZodBoolean>;
                restartCount: z$1.ZodPrefault<z$1.ZodNumber>;
            }, z$1.core.$strip>;
        }, {
            readonly name: "plugin.stop";
        }, {
            readonly name: "plugin.test";
        }, {
            readonly name: "plugin.error";
            readonly dataSchema: z$1.ZodObject<{
                error: z$1.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                event: z$1.ZodObject<{
                    id: z$1.ZodString;
                    name: z$1.ZodString;
                    urgent: z$1.ZodPrefault<z$1.ZodBoolean>;
                    data: z$1.ZodPrefault<z$1.ZodAny>;
                    created: z$1.ZodObject<{
                        at: z$1.ZodNumber;
                        by: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
                            type: z$1.ZodLiteral<"handler">;
                            plugin: z$1.ZodString;
                            handler: z$1.ZodString;
                            event: z$1.ZodString;
                        }, z$1.core.$strip>, z$1.ZodObject<{
                            type: z$1.ZodLiteral<"server">;
                            name: z$1.ZodString;
                        }, z$1.core.$strip>, z$1.ZodObject<{
                            type: z$1.ZodLiteral<"client">;
                            name: z$1.ZodString;
                        }, z$1.core.$strip>], "type">;
                    }, z$1.core.$strip>;
                    edited: z$1.ZodDefault<z$1.ZodUnion<[z$1.ZodArray<z$1.ZodObject<{
                        at: z$1.ZodNumber;
                        by: z$1.ZodObject<{
                            plugin: z$1.ZodString;
                            handler: z$1.ZodString;
                        }, z$1.core.$strip>;
                        reason: z$1.ZodString;
                        dataBefore: z$1.ZodAny;
                        dataAfter: z$1.ZodAny;
                    }, z$1.core.$strip>>, z$1.ZodLiteral<false>]>>;
                    dropped: z$1.ZodPrefault<z$1.ZodUnion<[z$1.ZodObject<{
                        at: z$1.ZodNumber;
                        by: z$1.ZodObject<{
                            plugin: z$1.ZodString;
                            handler: z$1.ZodString;
                        }, z$1.core.$strip>;
                        reason: z$1.ZodString;
                    }, z$1.core.$strip>, z$1.ZodLiteral<false>]>>;
                    contextChanges: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodObject<{
                        at: z$1.ZodNumber;
                        byHandler: z$1.ZodString;
                        valueBefore: z$1.ZodAny;
                        valueAfter: z$1.ZodAny;
                    }, z$1.core.$strip>>>;
                }, z$1.core.$strip>;
            }, z$1.core.$strip>;
        }] | [{
            name: "messages.create";
            dataSchema: z$1.ZodObject<{
                message: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
                    role: z$1.ZodLiteral<"user">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"system">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"agent">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                    toolsRequests: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodObject<{
                        toolRequestId: z$1.ZodString;
                        toolName: z$1.ZodString;
                        toolInput: z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>;
                    }, z$1.core.$strip>>>;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"tool">;
                    toolRequestId: z$1.ZodString;
                    toolName: z$1.ZodString;
                    toolSuccess: z$1.ZodBoolean;
                    toolOutput: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>>;
                    toolError: z$1.ZodOptional<z$1.ZodString>;
                }, z$1.core.$strip>], "role">;
            }, z$1.core.$strip>;
        }, {
            name: "messages.update";
            dataSchema: z$1.ZodObject<{
                id: z$1.ZodString;
                role: z$1.ZodEnum<{
                    user: "user";
                    system: "system";
                    agent: "agent";
                    tool: "tool";
                }>;
                message: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
                    role: z$1.ZodLiteral<"user">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"system">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"agent">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                    toolsRequests: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodObject<{
                        toolRequestId: z$1.ZodString;
                        toolName: z$1.ZodString;
                        toolInput: z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>;
                    }, z$1.core.$strip>>>;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"tool">;
                    toolRequestId: z$1.ZodString;
                    toolName: z$1.ZodString;
                    toolSuccess: z$1.ZodBoolean;
                    toolOutput: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>>;
                    toolError: z$1.ZodOptional<z$1.ZodString>;
                }, z$1.core.$strip>], "role">;
            }, z$1.core.$strip>;
        }, {
            name: "user.audio-chunk";
            dataSchema: z$1.ZodObject<{
                audioChunk: z$1.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
            }, z$1.core.$strip>;
        }, {
            name: "user.voice-start";
        }, {
            name: "user.voice-chunk";
            dataSchema: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
                type: z$1.ZodLiteral<"voice">;
                voiceChunk: z$1.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
            }, z$1.core.$strip>, z$1.ZodObject<{
                type: z$1.ZodLiteral<"padding">;
                voiceChunk: z$1.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                paddingSide: z$1.ZodEnum<{
                    pre: "pre";
                    post: "post";
                }>;
                paddingIndex: z$1.ZodNumber;
            }, z$1.core.$strip>], "type">;
        }, {
            name: "user.voice-end";
        }, {
            name: "user.text-chunk";
            dataSchema: z$1.ZodObject<{
                textChunk: z$1.ZodString;
            }, z$1.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$1.ZodObject<{
                interrupt: z$1.ZodPrefault<z$1.ZodUnion<[z$1.ZodEnum<{
                    abrupt: "abrupt";
                    smooth: "smooth";
                }>, z$1.ZodLiteral<false>]>>;
                preventInterruption: z$1.ZodPrefault<z$1.ZodBoolean>;
            }, z$1.core.$strip>;
        }, {
            name: "agent.decide";
            dataSchema: z$1.ZodObject<{
                interrupt: z$1.ZodPrefault<z$1.ZodUnion<[z$1.ZodEnum<{
                    abrupt: "abrupt";
                    smooth: "smooth";
                }>, z$1.ZodLiteral<false>]>>;
                preventInterruption: z$1.ZodPrefault<z$1.ZodBoolean>;
                messages: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
                    role: z$1.ZodLiteral<"user">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                    id: z$1.ZodString;
                    createdAt: z$1.ZodNumber;
                    lastUpdated: z$1.ZodNumber;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"system">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                    id: z$1.ZodString;
                    createdAt: z$1.ZodNumber;
                    lastUpdated: z$1.ZodNumber;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"agent">;
                    content: z$1.ZodPrefault<z$1.ZodString>;
                    toolsRequests: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodObject<{
                        toolRequestId: z$1.ZodString;
                        toolName: z$1.ZodString;
                        toolInput: z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>;
                    }, z$1.core.$strip>>>;
                    id: z$1.ZodString;
                    createdAt: z$1.ZodNumber;
                    lastUpdated: z$1.ZodNumber;
                }, z$1.core.$strip>, z$1.ZodObject<{
                    role: z$1.ZodLiteral<"tool">;
                    toolRequestId: z$1.ZodString;
                    toolName: z$1.ZodString;
                    toolSuccess: z$1.ZodBoolean;
                    toolOutput: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>>;
                    toolError: z$1.ZodOptional<z$1.ZodString>;
                    id: z$1.ZodString;
                    createdAt: z$1.ZodNumber;
                    lastUpdated: z$1.ZodNumber;
                }, z$1.core.$strip>], "role">>;
            }, z$1.core.$strip>;
        }, {
            name: "agent.say";
            dataSchema: z$1.ZodObject<{
                interrupt: z$1.ZodPrefault<z$1.ZodUnion<[z$1.ZodEnum<{
                    abrupt: "abrupt";
                    smooth: "smooth";
                }>, z$1.ZodLiteral<false>]>>;
                preventInterruption: z$1.ZodPrefault<z$1.ZodBoolean>;
                text: z$1.ZodString;
            }, z$1.core.$strip>;
        }, {
            name: "agent.interrupt";
            dataSchema: z$1.ZodObject<{
                reason: z$1.ZodString;
                author: z$1.ZodEnum<{
                    user: "user";
                    application: "application";
                }>;
                force: z$1.ZodPrefault<z$1.ZodBoolean>;
            }, z$1.core.$strip>;
        }, {
            name: "agent.resources-request";
        }, {
            name: "agent.resources-response";
            dataSchema: z$1.ZodObject<{
                requestId: z$1.ZodString;
                resources: z$1.ZodObject<{
                    messages: z$1.ZodArray<z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
                        role: z$1.ZodLiteral<"user">;
                        content: z$1.ZodPrefault<z$1.ZodString>;
                        id: z$1.ZodString;
                        createdAt: z$1.ZodNumber;
                        lastUpdated: z$1.ZodNumber;
                    }, z$1.core.$strip>, z$1.ZodObject<{
                        role: z$1.ZodLiteral<"system">;
                        content: z$1.ZodPrefault<z$1.ZodString>;
                        id: z$1.ZodString;
                        createdAt: z$1.ZodNumber;
                        lastUpdated: z$1.ZodNumber;
                    }, z$1.core.$strip>, z$1.ZodObject<{
                        role: z$1.ZodLiteral<"agent">;
                        content: z$1.ZodPrefault<z$1.ZodString>;
                        toolsRequests: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodObject<{
                            toolRequestId: z$1.ZodString;
                            toolName: z$1.ZodString;
                            toolInput: z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>;
                        }, z$1.core.$strip>>>;
                        id: z$1.ZodString;
                        createdAt: z$1.ZodNumber;
                        lastUpdated: z$1.ZodNumber;
                    }, z$1.core.$strip>, z$1.ZodObject<{
                        role: z$1.ZodLiteral<"tool">;
                        toolRequestId: z$1.ZodString;
                        toolName: z$1.ZodString;
                        toolSuccess: z$1.ZodBoolean;
                        toolOutput: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>>;
                        toolError: z$1.ZodOptional<z$1.ZodString>;
                        id: z$1.ZodString;
                        createdAt: z$1.ZodNumber;
                        lastUpdated: z$1.ZodNumber;
                    }, z$1.core.$strip>], "role">>;
                    tools: z$1.ZodArray<z$1.ZodObject<{
                        name: z$1.ZodString;
                        description: z$1.ZodString;
                        schema: z$1.ZodObject<{
                            input: z$1.ZodCustom<z$1.ZodObject<z$1.core.$ZodLooseShape, z$1.core.$strip>, z$1.ZodObject<z$1.core.$ZodLooseShape, z$1.core.$strip>>;
                            output: z$1.ZodCustom<z$1.ZodObject<z$1.core.$ZodLooseShape, z$1.core.$strip>, z$1.ZodObject<z$1.core.$ZodLooseShape, z$1.core.$strip>>;
                        }, z$1.core.$strip>;
                        run: z$1.ZodFunction<z$1.ZodTuple<readonly [z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>], null>, z$1.ZodUnion<readonly [z$1.ZodObject<{
                            success: z$1.ZodBoolean;
                            output: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>>;
                            error: z$1.ZodOptional<z$1.ZodString>;
                        }, z$1.core.$strip>, z$1.ZodPromise<z$1.ZodObject<{
                            success: z$1.ZodBoolean;
                            output: z$1.ZodOptional<z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>>;
                            error: z$1.ZodOptional<z$1.ZodString>;
                        }, z$1.core.$strip>>]>>;
                    }, z$1.core.$strip>>;
                }, z$1.core.$strip>;
            }, z$1.core.$strip>;
        }, {
            name: "agent.tool-requests";
            dataSchema: z$1.ZodObject<{
                requests: z$1.ZodArray<z$1.ZodObject<{
                    toolRequestId: z$1.ZodString;
                    toolName: z$1.ZodString;
                    toolInput: z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>;
                }, z$1.core.$strip>>;
            }, z$1.core.$strip>;
        }, {
            name: "agent.interrupted";
            dataSchema: z$1.ZodObject<{
                reason: z$1.ZodString;
                forced: z$1.ZodBoolean;
                author: z$1.ZodEnum<{
                    user: "user";
                    application: "application";
                }>;
            }, z$1.core.$strip>;
        }, {
            name: "agent.text-chunk";
            dataSchema: z$1.ZodObject<{
                textChunk: z$1.ZodString;
            }, z$1.core.$strip>;
        }, {
            name: "agent.voice-chunk";
            dataSchema: z$1.ZodObject<{
                voiceChunk: z$1.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
            }, z$1.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;
        }];
    }[];
    config: ZodObjectWithTelemetry<z$1.ZodObject<{
        items: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodCustom<{
            _definition: StoreDefinition;
        }, {
            _definition: StoreDefinition;
        }>>>;
    }, z$1.core.$strip>, "output">;
    context: ZodObjectWithTelemetry<z$1.ZodObject<{
        storesData: z$1.ZodPrefault<z$1.ZodRecord<z$1.ZodString, z$1.ZodAny>>;
    }, z$1.core.$strip>, "output">;
    events: [{
        readonly name: "plugin.start";
        readonly dataSchema: z$1.ZodObject<{
            isRestart: z$1.ZodPrefault<z$1.ZodBoolean>;
            restartCount: z$1.ZodPrefault<z$1.ZodNumber>;
        }, z$1.core.$strip>;
    }, {
        readonly name: "plugin.stop";
    }, {
        readonly name: "plugin.test";
    }, {
        readonly name: "plugin.error";
        readonly dataSchema: z$1.ZodObject<{
            error: z$1.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
            event: z$1.ZodObject<{
                id: z$1.ZodString;
                name: z$1.ZodString;
                urgent: z$1.ZodPrefault<z$1.ZodBoolean>;
                data: z$1.ZodPrefault<z$1.ZodAny>;
                created: z$1.ZodObject<{
                    at: z$1.ZodNumber;
                    by: z$1.ZodDiscriminatedUnion<[z$1.ZodObject<{
                        type: z$1.ZodLiteral<"handler">;
                        plugin: z$1.ZodString;
                        handler: z$1.ZodString;
                        event: z$1.ZodString;
                    }, z$1.core.$strip>, z$1.ZodObject<{
                        type: z$1.ZodLiteral<"server">;
                        name: z$1.ZodString;
                    }, z$1.core.$strip>, z$1.ZodObject<{
                        type: z$1.ZodLiteral<"client">;
                        name: z$1.ZodString;
                    }, z$1.core.$strip>], "type">;
                }, z$1.core.$strip>;
                edited: z$1.ZodDefault<z$1.ZodUnion<[z$1.ZodArray<z$1.ZodObject<{
                    at: z$1.ZodNumber;
                    by: z$1.ZodObject<{
                        plugin: z$1.ZodString;
                        handler: z$1.ZodString;
                    }, z$1.core.$strip>;
                    reason: z$1.ZodString;
                    dataBefore: z$1.ZodAny;
                    dataAfter: z$1.ZodAny;
                }, z$1.core.$strip>>, z$1.ZodLiteral<false>]>>;
                dropped: z$1.ZodPrefault<z$1.ZodUnion<[z$1.ZodObject<{
                    at: z$1.ZodNumber;
                    by: z$1.ZodObject<{
                        plugin: z$1.ZodString;
                        handler: z$1.ZodString;
                    }, z$1.core.$strip>;
                    reason: z$1.ZodString;
                }, z$1.core.$strip>, z$1.ZodLiteral<false>]>>;
                contextChanges: z$1.ZodPrefault<z$1.ZodArray<z$1.ZodObject<{
                    at: z$1.ZodNumber;
                    byHandler: z$1.ZodString;
                    valueBefore: z$1.ZodAny;
                    valueAfter: z$1.ZodAny;
                }, z$1.core.$strip>>>;
            }, z$1.core.$strip>;
        }, z$1.core.$strip>;
    }] | [{
        name: "update-store-data";
        dataSchema: z$1.ZodObject<{
            name: z$1.ZodString;
            data: z$1.ZodAny;
        }, z$1.core.$strip>;
    }, {
        name: "retrieve-store-data";
        dataSchema: z$1.ZodObject<{
            name: z$1.ZodString;
        }, z$1.core.$strip>;
    }];
    handlers: never[];
}, "events" | "config" | "dependencies" | "context" | "$config" | "$context" | "$events">;

type ServerDefaults = {
    readonly generation: typeof generationPlugin;
    readonly memories: typeof memoriesPlugin;
    readonly stores: typeof storesPlugin;
    readonly [Symbol.iterator]: () => Generator<typeof generationPlugin | typeof memoriesPlugin | typeof storesPlugin, void, unknown>;
};
declare const defaults: {
    readonly plugins: ServerDefaults;
};

export { defaults };
