import * as z from 'zod';
import z__default, { z as z$1 } from 'zod';
import { i as PluginConfig, j as PluginDefinition, O as OperationResult, k as TelemetryClient, L as LifeErrorUnion, T as ToPublic, l as TransportClientBase, a as Any, m as AgentScope, A as AgentDefinition, n as ToMethodName, W as Without, o as Override, p as Opaque, q as PluginConfigDefinition, r as AssertPublic, s as PluginAccessor, C as ClassShape, M as MemoryDefinition, c as Message, S as StoreDefinition } from './types-B6ejZKUB.js';
import * as nanostores from 'nanostores';
import { WritableAtom, ReadableAtom } from 'nanostores';
import * as LIFE_CLIENT_BUILD_PATH from 'LIFE_CLIENT_BUILD_PATH';
import { b as ZodUnionWithTelemetry, Z as ZodObjectWithTelemetry } from './config-n67P8tNt.js';
import * as zod_v4_core from 'zod/v4/core';

type ClientBuildType = Record<string, {
    definition: AgentClientDefinition;
    plugins: Record<string, {
        def: PluginClientDefinition;
        $types: {
            atoms: ReturnType<PluginClientAtomsDefinition>;
            class: ReturnType<PluginClientExtensionDefinition>;
            serverConfig: PluginConfig<PluginDefinition["config"], "output">;
            clientConfig: PluginClientConfig<PluginClientDefinition["config"], "output">;
        };
    }>;
}>;
type Mode = "LIFE_BUILD_MODE";
type ActualClientBuild = typeof LIFE_CLIENT_BUILD_PATH;
declare const defaultBuild: {
    readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
};
type ClientBuild = Mode extends "production" ? Awaited<ActualClientBuild>["default"] extends never ? Awaited<ActualClientBuild> : Awaited<ActualClientBuild>["default"] : typeof defaultBuild;
declare function importClientBuild(): Promise<OperationResult<ClientBuild>>;

declare const definition: {
    readonly "telemetry.send-signal": {
        readonly type: "cast";
        readonly protected: false;
        readonly inputDataSchema: z__default.ZodObject<{
            signal: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                id: z__default.ZodString;
                scope: z__default.ZodString;
                resource: z__default.ZodIntersection<z__default.ZodObject<{
                    environment: z__default.ZodEnum<{
                        development: "development";
                        production: "production";
                        test: "test";
                        staging: "staging";
                    }>;
                    lifeVersion: z__default.ZodString;
                }, z__default.core.$strip>, z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                    platform: z__default.ZodLiteral<"node">;
                    isCi: z__default.ZodBoolean;
                    nodeVersion: z__default.ZodString;
                    osName: z__default.ZodString;
                    osVersion: z__default.ZodString;
                    cpuCount: z__default.ZodNumber;
                    cpuArchitecture: z__default.ZodString;
                    schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
                }, z__default.core.$strip>, z__default.ZodObject<{
                    platform: z__default.ZodLiteral<"browser">;
                    deviceType: z__default.ZodEnum<{
                        unknown: "unknown";
                        desktop: "desktop";
                        mobile: "mobile";
                        tablet: "tablet";
                        wearable: "wearable";
                        smarttv: "smarttv";
                        console: "console";
                        xr: "xr";
                        embedded: "embedded";
                    }>;
                    deviceBrand: z__default.ZodString;
                    deviceModel: z__default.ZodString;
                    osName: z__default.ZodString;
                    osVersion: z__default.ZodString;
                    cpuArchitecture: z__default.ZodOptional<z__default.ZodEnum<{
                        unknown: "unknown";
                        ia32: "ia32";
                        ia64: "ia64";
                        amd64: "amd64";
                        arm: "arm";
                        arm64: "arm64";
                        armhf: "armhf";
                        avr: "avr";
                        avr32: "avr32";
                        irix: "irix";
                        irix64: "irix64";
                        mips: "mips";
                        mips64: "mips64";
                        "68k": "68k";
                        "pa-risc": "pa-risc";
                        ppc: "ppc";
                        sparc: "sparc";
                        sparc64: "sparc64";
                        alpha: "alpha";
                    }>>;
                    browserUserAgent: z__default.ZodString;
                    browserName: z__default.ZodString;
                    browserVersion: z__default.ZodString;
                    browserEngine: z__default.ZodEnum<{
                        unknown: "unknown";
                        Amaya: "Amaya";
                        ArkWeb: "ArkWeb";
                        Blink: "Blink";
                        EdgeHTML: "EdgeHTML";
                        Flow: "Flow";
                        Gecko: "Gecko";
                        Goanna: "Goanna";
                        iCab: "iCab";
                        KHTML: "KHTML";
                        LibWeb: "LibWeb";
                        Links: "Links";
                        Lynx: "Lynx";
                        NetFront: "NetFront";
                        NetSurf: "NetSurf";
                        Presto: "Presto";
                        Servo: "Servo";
                        Tasman: "Tasman";
                        Trident: "Trident";
                        w3m: "w3m";
                        WebKit: "WebKit";
                    }>;
                    isBot: z__default.ZodBoolean;
                    isAiBot: z__default.ZodBoolean;
                    schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
                }, z__default.core.$strip>], "platform">>;
                attributes: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
                level: z__default.ZodEnum<{
                    error: "error";
                    debug: "debug";
                    info: "info";
                    warn: "warn";
                    fatal: "fatal";
                }>;
                message: z__default.ZodString;
                messageUnstyled: z__default.ZodString;
                timestamp: z__default.ZodBigInt;
                stack: z__default.ZodString;
                traceId: z__default.ZodOptional<z__default.ZodString>;
                spanId: z__default.ZodOptional<z__default.ZodString>;
                error: z__default.ZodOptional<z__default.ZodCustom<Error, Error>>;
                type: z__default.ZodLiteral<"log">;
            }, z__default.core.$strip>, z__default.ZodObject<{
                id: z__default.ZodString;
                scope: z__default.ZodString;
                resource: z__default.ZodIntersection<z__default.ZodObject<{
                    environment: z__default.ZodEnum<{
                        development: "development";
                        production: "production";
                        test: "test";
                        staging: "staging";
                    }>;
                    lifeVersion: z__default.ZodString;
                }, z__default.core.$strip>, z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                    platform: z__default.ZodLiteral<"node">;
                    isCi: z__default.ZodBoolean;
                    nodeVersion: z__default.ZodString;
                    osName: z__default.ZodString;
                    osVersion: z__default.ZodString;
                    cpuCount: z__default.ZodNumber;
                    cpuArchitecture: z__default.ZodString;
                    schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
                }, z__default.core.$strip>, z__default.ZodObject<{
                    platform: z__default.ZodLiteral<"browser">;
                    deviceType: z__default.ZodEnum<{
                        unknown: "unknown";
                        desktop: "desktop";
                        mobile: "mobile";
                        tablet: "tablet";
                        wearable: "wearable";
                        smarttv: "smarttv";
                        console: "console";
                        xr: "xr";
                        embedded: "embedded";
                    }>;
                    deviceBrand: z__default.ZodString;
                    deviceModel: z__default.ZodString;
                    osName: z__default.ZodString;
                    osVersion: z__default.ZodString;
                    cpuArchitecture: z__default.ZodOptional<z__default.ZodEnum<{
                        unknown: "unknown";
                        ia32: "ia32";
                        ia64: "ia64";
                        amd64: "amd64";
                        arm: "arm";
                        arm64: "arm64";
                        armhf: "armhf";
                        avr: "avr";
                        avr32: "avr32";
                        irix: "irix";
                        irix64: "irix64";
                        mips: "mips";
                        mips64: "mips64";
                        "68k": "68k";
                        "pa-risc": "pa-risc";
                        ppc: "ppc";
                        sparc: "sparc";
                        sparc64: "sparc64";
                        alpha: "alpha";
                    }>>;
                    browserUserAgent: z__default.ZodString;
                    browserName: z__default.ZodString;
                    browserVersion: z__default.ZodString;
                    browserEngine: z__default.ZodEnum<{
                        unknown: "unknown";
                        Amaya: "Amaya";
                        ArkWeb: "ArkWeb";
                        Blink: "Blink";
                        EdgeHTML: "EdgeHTML";
                        Flow: "Flow";
                        Gecko: "Gecko";
                        Goanna: "Goanna";
                        iCab: "iCab";
                        KHTML: "KHTML";
                        LibWeb: "LibWeb";
                        Links: "Links";
                        Lynx: "Lynx";
                        NetFront: "NetFront";
                        NetSurf: "NetSurf";
                        Presto: "Presto";
                        Servo: "Servo";
                        Tasman: "Tasman";
                        Trident: "Trident";
                        w3m: "w3m";
                        WebKit: "WebKit";
                    }>;
                    isBot: z__default.ZodBoolean;
                    isAiBot: z__default.ZodBoolean;
                    schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
                }, z__default.core.$strip>], "platform">>;
                attributes: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
                name: z__default.ZodString;
                startTimestamp: z__default.ZodBigInt;
                endTimestamp: z__default.ZodBigInt;
                duration: z__default.ZodBigInt;
                traceId: z__default.ZodString;
                parentSpanId: z__default.ZodOptional<z__default.ZodString>;
                logs: z__default.ZodArray<z__default.ZodObject<{
                    message: z__default.ZodString;
                    error: z__default.ZodOptional<z__default.ZodCustom<Error, Error>>;
                    attributes: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
                    id: z__default.ZodString;
                    stack: z__default.ZodString;
                    level: z__default.ZodEnum<{
                        error: "error";
                        debug: "debug";
                        info: "info";
                        warn: "warn";
                        fatal: "fatal";
                    }>;
                    messageUnstyled: z__default.ZodString;
                    timestamp: z__default.ZodBigInt;
                }, z__default.core.$strip>>;
                type: z__default.ZodLiteral<"span">;
            }, z__default.core.$strip>, z__default.ZodObject<{
                id: z__default.ZodString;
                scope: z__default.ZodString;
                resource: z__default.ZodIntersection<z__default.ZodObject<{
                    environment: z__default.ZodEnum<{
                        development: "development";
                        production: "production";
                        test: "test";
                        staging: "staging";
                    }>;
                    lifeVersion: z__default.ZodString;
                }, z__default.core.$strip>, z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                    platform: z__default.ZodLiteral<"node">;
                    isCi: z__default.ZodBoolean;
                    nodeVersion: z__default.ZodString;
                    osName: z__default.ZodString;
                    osVersion: z__default.ZodString;
                    cpuCount: z__default.ZodNumber;
                    cpuArchitecture: z__default.ZodString;
                    schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
                }, z__default.core.$strip>, z__default.ZodObject<{
                    platform: z__default.ZodLiteral<"browser">;
                    deviceType: z__default.ZodEnum<{
                        unknown: "unknown";
                        desktop: "desktop";
                        mobile: "mobile";
                        tablet: "tablet";
                        wearable: "wearable";
                        smarttv: "smarttv";
                        console: "console";
                        xr: "xr";
                        embedded: "embedded";
                    }>;
                    deviceBrand: z__default.ZodString;
                    deviceModel: z__default.ZodString;
                    osName: z__default.ZodString;
                    osVersion: z__default.ZodString;
                    cpuArchitecture: z__default.ZodOptional<z__default.ZodEnum<{
                        unknown: "unknown";
                        ia32: "ia32";
                        ia64: "ia64";
                        amd64: "amd64";
                        arm: "arm";
                        arm64: "arm64";
                        armhf: "armhf";
                        avr: "avr";
                        avr32: "avr32";
                        irix: "irix";
                        irix64: "irix64";
                        mips: "mips";
                        mips64: "mips64";
                        "68k": "68k";
                        "pa-risc": "pa-risc";
                        ppc: "ppc";
                        sparc: "sparc";
                        sparc64: "sparc64";
                        alpha: "alpha";
                    }>>;
                    browserUserAgent: z__default.ZodString;
                    browserName: z__default.ZodString;
                    browserVersion: z__default.ZodString;
                    browserEngine: z__default.ZodEnum<{
                        unknown: "unknown";
                        Amaya: "Amaya";
                        ArkWeb: "ArkWeb";
                        Blink: "Blink";
                        EdgeHTML: "EdgeHTML";
                        Flow: "Flow";
                        Gecko: "Gecko";
                        Goanna: "Goanna";
                        iCab: "iCab";
                        KHTML: "KHTML";
                        LibWeb: "LibWeb";
                        Links: "Links";
                        Lynx: "Lynx";
                        NetFront: "NetFront";
                        NetSurf: "NetSurf";
                        Presto: "Presto";
                        Servo: "Servo";
                        Tasman: "Tasman";
                        Trident: "Trident";
                        w3m: "w3m";
                        WebKit: "WebKit";
                    }>;
                    isBot: z__default.ZodBoolean;
                    isAiBot: z__default.ZodBoolean;
                    schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
                }, z__default.core.$strip>], "platform">>;
                attributes: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
                kind: z__default.ZodEnum<{
                    counter: "counter";
                    updown: "updown";
                    histogram: "histogram";
                }>;
                name: z__default.ZodString;
                value: z__default.ZodUnion<[z__default.ZodNumber, z__default.ZodBigInt]>;
                type: z__default.ZodLiteral<"metric">;
            }, z__default.core.$strip>], "type">;
        }, z__default.core.$strip>;
    };
    readonly "telemetry.signals-stream": {
        readonly type: "stream";
        readonly protected: true;
        readonly outputDataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
            id: z__default.ZodString;
            scope: z__default.ZodString;
            resource: z__default.ZodIntersection<z__default.ZodObject<{
                environment: z__default.ZodEnum<{
                    development: "development";
                    production: "production";
                    test: "test";
                    staging: "staging";
                }>;
                lifeVersion: z__default.ZodString;
            }, z__default.core.$strip>, z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                platform: z__default.ZodLiteral<"node">;
                isCi: z__default.ZodBoolean;
                nodeVersion: z__default.ZodString;
                osName: z__default.ZodString;
                osVersion: z__default.ZodString;
                cpuCount: z__default.ZodNumber;
                cpuArchitecture: z__default.ZodString;
                schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
            }, z__default.core.$strip>, z__default.ZodObject<{
                platform: z__default.ZodLiteral<"browser">;
                deviceType: z__default.ZodEnum<{
                    unknown: "unknown";
                    desktop: "desktop";
                    mobile: "mobile";
                    tablet: "tablet";
                    wearable: "wearable";
                    smarttv: "smarttv";
                    console: "console";
                    xr: "xr";
                    embedded: "embedded";
                }>;
                deviceBrand: z__default.ZodString;
                deviceModel: z__default.ZodString;
                osName: z__default.ZodString;
                osVersion: z__default.ZodString;
                cpuArchitecture: z__default.ZodOptional<z__default.ZodEnum<{
                    unknown: "unknown";
                    ia32: "ia32";
                    ia64: "ia64";
                    amd64: "amd64";
                    arm: "arm";
                    arm64: "arm64";
                    armhf: "armhf";
                    avr: "avr";
                    avr32: "avr32";
                    irix: "irix";
                    irix64: "irix64";
                    mips: "mips";
                    mips64: "mips64";
                    "68k": "68k";
                    "pa-risc": "pa-risc";
                    ppc: "ppc";
                    sparc: "sparc";
                    sparc64: "sparc64";
                    alpha: "alpha";
                }>>;
                browserUserAgent: z__default.ZodString;
                browserName: z__default.ZodString;
                browserVersion: z__default.ZodString;
                browserEngine: z__default.ZodEnum<{
                    unknown: "unknown";
                    Amaya: "Amaya";
                    ArkWeb: "ArkWeb";
                    Blink: "Blink";
                    EdgeHTML: "EdgeHTML";
                    Flow: "Flow";
                    Gecko: "Gecko";
                    Goanna: "Goanna";
                    iCab: "iCab";
                    KHTML: "KHTML";
                    LibWeb: "LibWeb";
                    Links: "Links";
                    Lynx: "Lynx";
                    NetFront: "NetFront";
                    NetSurf: "NetSurf";
                    Presto: "Presto";
                    Servo: "Servo";
                    Tasman: "Tasman";
                    Trident: "Trident";
                    w3m: "w3m";
                    WebKit: "WebKit";
                }>;
                isBot: z__default.ZodBoolean;
                isAiBot: z__default.ZodBoolean;
                schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
            }, z__default.core.$strip>], "platform">>;
            attributes: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
            level: z__default.ZodEnum<{
                error: "error";
                debug: "debug";
                info: "info";
                warn: "warn";
                fatal: "fatal";
            }>;
            message: z__default.ZodString;
            messageUnstyled: z__default.ZodString;
            timestamp: z__default.ZodBigInt;
            stack: z__default.ZodString;
            traceId: z__default.ZodOptional<z__default.ZodString>;
            spanId: z__default.ZodOptional<z__default.ZodString>;
            error: z__default.ZodOptional<z__default.ZodCustom<Error, Error>>;
            type: z__default.ZodLiteral<"log">;
        }, z__default.core.$strip>, z__default.ZodObject<{
            id: z__default.ZodString;
            scope: z__default.ZodString;
            resource: z__default.ZodIntersection<z__default.ZodObject<{
                environment: z__default.ZodEnum<{
                    development: "development";
                    production: "production";
                    test: "test";
                    staging: "staging";
                }>;
                lifeVersion: z__default.ZodString;
            }, z__default.core.$strip>, z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                platform: z__default.ZodLiteral<"node">;
                isCi: z__default.ZodBoolean;
                nodeVersion: z__default.ZodString;
                osName: z__default.ZodString;
                osVersion: z__default.ZodString;
                cpuCount: z__default.ZodNumber;
                cpuArchitecture: z__default.ZodString;
                schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
            }, z__default.core.$strip>, z__default.ZodObject<{
                platform: z__default.ZodLiteral<"browser">;
                deviceType: z__default.ZodEnum<{
                    unknown: "unknown";
                    desktop: "desktop";
                    mobile: "mobile";
                    tablet: "tablet";
                    wearable: "wearable";
                    smarttv: "smarttv";
                    console: "console";
                    xr: "xr";
                    embedded: "embedded";
                }>;
                deviceBrand: z__default.ZodString;
                deviceModel: z__default.ZodString;
                osName: z__default.ZodString;
                osVersion: z__default.ZodString;
                cpuArchitecture: z__default.ZodOptional<z__default.ZodEnum<{
                    unknown: "unknown";
                    ia32: "ia32";
                    ia64: "ia64";
                    amd64: "amd64";
                    arm: "arm";
                    arm64: "arm64";
                    armhf: "armhf";
                    avr: "avr";
                    avr32: "avr32";
                    irix: "irix";
                    irix64: "irix64";
                    mips: "mips";
                    mips64: "mips64";
                    "68k": "68k";
                    "pa-risc": "pa-risc";
                    ppc: "ppc";
                    sparc: "sparc";
                    sparc64: "sparc64";
                    alpha: "alpha";
                }>>;
                browserUserAgent: z__default.ZodString;
                browserName: z__default.ZodString;
                browserVersion: z__default.ZodString;
                browserEngine: z__default.ZodEnum<{
                    unknown: "unknown";
                    Amaya: "Amaya";
                    ArkWeb: "ArkWeb";
                    Blink: "Blink";
                    EdgeHTML: "EdgeHTML";
                    Flow: "Flow";
                    Gecko: "Gecko";
                    Goanna: "Goanna";
                    iCab: "iCab";
                    KHTML: "KHTML";
                    LibWeb: "LibWeb";
                    Links: "Links";
                    Lynx: "Lynx";
                    NetFront: "NetFront";
                    NetSurf: "NetSurf";
                    Presto: "Presto";
                    Servo: "Servo";
                    Tasman: "Tasman";
                    Trident: "Trident";
                    w3m: "w3m";
                    WebKit: "WebKit";
                }>;
                isBot: z__default.ZodBoolean;
                isAiBot: z__default.ZodBoolean;
                schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
            }, z__default.core.$strip>], "platform">>;
            attributes: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
            name: z__default.ZodString;
            startTimestamp: z__default.ZodBigInt;
            endTimestamp: z__default.ZodBigInt;
            duration: z__default.ZodBigInt;
            traceId: z__default.ZodString;
            parentSpanId: z__default.ZodOptional<z__default.ZodString>;
            logs: z__default.ZodArray<z__default.ZodObject<{
                message: z__default.ZodString;
                error: z__default.ZodOptional<z__default.ZodCustom<Error, Error>>;
                attributes: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
                id: z__default.ZodString;
                stack: z__default.ZodString;
                level: z__default.ZodEnum<{
                    error: "error";
                    debug: "debug";
                    info: "info";
                    warn: "warn";
                    fatal: "fatal";
                }>;
                messageUnstyled: z__default.ZodString;
                timestamp: z__default.ZodBigInt;
            }, z__default.core.$strip>>;
            type: z__default.ZodLiteral<"span">;
        }, z__default.core.$strip>, z__default.ZodObject<{
            id: z__default.ZodString;
            scope: z__default.ZodString;
            resource: z__default.ZodIntersection<z__default.ZodObject<{
                environment: z__default.ZodEnum<{
                    development: "development";
                    production: "production";
                    test: "test";
                    staging: "staging";
                }>;
                lifeVersion: z__default.ZodString;
            }, z__default.core.$strip>, z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                platform: z__default.ZodLiteral<"node">;
                isCi: z__default.ZodBoolean;
                nodeVersion: z__default.ZodString;
                osName: z__default.ZodString;
                osVersion: z__default.ZodString;
                cpuCount: z__default.ZodNumber;
                cpuArchitecture: z__default.ZodString;
                schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
            }, z__default.core.$strip>, z__default.ZodObject<{
                platform: z__default.ZodLiteral<"browser">;
                deviceType: z__default.ZodEnum<{
                    unknown: "unknown";
                    desktop: "desktop";
                    mobile: "mobile";
                    tablet: "tablet";
                    wearable: "wearable";
                    smarttv: "smarttv";
                    console: "console";
                    xr: "xr";
                    embedded: "embedded";
                }>;
                deviceBrand: z__default.ZodString;
                deviceModel: z__default.ZodString;
                osName: z__default.ZodString;
                osVersion: z__default.ZodString;
                cpuArchitecture: z__default.ZodOptional<z__default.ZodEnum<{
                    unknown: "unknown";
                    ia32: "ia32";
                    ia64: "ia64";
                    amd64: "amd64";
                    arm: "arm";
                    arm64: "arm64";
                    armhf: "armhf";
                    avr: "avr";
                    avr32: "avr32";
                    irix: "irix";
                    irix64: "irix64";
                    mips: "mips";
                    mips64: "mips64";
                    "68k": "68k";
                    "pa-risc": "pa-risc";
                    ppc: "ppc";
                    sparc: "sparc";
                    sparc64: "sparc64";
                    alpha: "alpha";
                }>>;
                browserUserAgent: z__default.ZodString;
                browserName: z__default.ZodString;
                browserVersion: z__default.ZodString;
                browserEngine: z__default.ZodEnum<{
                    unknown: "unknown";
                    Amaya: "Amaya";
                    ArkWeb: "ArkWeb";
                    Blink: "Blink";
                    EdgeHTML: "EdgeHTML";
                    Flow: "Flow";
                    Gecko: "Gecko";
                    Goanna: "Goanna";
                    iCab: "iCab";
                    KHTML: "KHTML";
                    LibWeb: "LibWeb";
                    Links: "Links";
                    Lynx: "Lynx";
                    NetFront: "NetFront";
                    NetSurf: "NetSurf";
                    Presto: "Presto";
                    Servo: "Servo";
                    Tasman: "Tasman";
                    Trident: "Trident";
                    w3m: "w3m";
                    WebKit: "WebKit";
                }>;
                isBot: z__default.ZodBoolean;
                isAiBot: z__default.ZodBoolean;
                schemaVersion: z__default.ZodPrefault<z__default.ZodString>;
            }, z__default.core.$strip>], "platform">>;
            attributes: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
            kind: z__default.ZodEnum<{
                counter: "counter";
                updown: "updown";
                histogram: "histogram";
            }>;
            name: z__default.ZodString;
            value: z__default.ZodUnion<[z__default.ZodNumber, z__default.ZodBigInt]>;
            type: z__default.ZodLiteral<"metric">;
        }, z__default.core.$strip>], "type">;
    };
    readonly "agent.create": {
        readonly type: "call";
        readonly protected: false;
        readonly inputDataSchema: z__default.ZodObject<{
            id: z__default.ZodOptional<z__default.ZodString>;
            name: z__default.ZodString;
        }, z__default.core.$strip>;
        readonly outputDataSchema: z__default.ZodObject<{
            id: z__default.ZodString;
            clientConfig: z__default.ZodObject<{
                transport: z__default.ZodPrefault<z__default.ZodDiscriminatedUnion<z__default.ZodObject<{
                    provider: z__default.ZodLiteral<"livekit">;
                    serverUrl: z__default.ZodPrefault<z__default.ZodURL>;
                }, z__default.core.$strip>[], "provider">>;
                experimental: z__default.ZodPrefault<z__default.ZodObject<{}, z__default.core.$strip>>;
            }, z__default.core.$strip>;
        }, z__default.core.$strip>;
    };
    readonly "agent.start": {
        readonly type: "call";
        readonly protected: false;
        readonly inputDataSchema: z__default.ZodObject<{
            id: z__default.ZodString;
            scope: z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>;
        }, z__default.core.$strip>;
        readonly outputDataSchema: z__default.ZodObject<{
            sessionToken: z__default.ZodString;
            transportRoom: z__default.ZodObject<{
                name: z__default.ZodString;
                token: z__default.ZodString;
            }, z__default.core.$strip>;
        }, z__default.core.$strip>;
    };
    readonly "agent.stop": {
        readonly type: "call";
        readonly protected: false;
        readonly inputDataSchema: z__default.ZodObject<{
            id: z__default.ZodString;
            sessionToken: z__default.ZodString;
        }, z__default.core.$strip>;
        readonly timeoutMs: 30000;
    };
    readonly "agent.ping": {
        readonly type: "call";
        readonly protected: false;
        readonly inputDataSchema: z__default.ZodObject<{
            id: z__default.ZodString;
            sessionToken: z__default.ZodString;
        }, z__default.core.$strip>;
        readonly outputDataSchema: z__default.ZodLiteral<"pong">;
    };
    readonly "agent.info": {
        readonly type: "call";
        readonly protected: false;
        readonly inputDataSchema: z__default.ZodObject<{
            id: z__default.ZodString;
            sessionToken: z__default.ZodString;
        }, z__default.core.$strip>;
        readonly outputDataSchema: z__default.ZodObject<{
            id: z__default.ZodString;
            name: z__default.ZodString;
            scope: z__default.ZodNullable<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
            status: z__default.ZodEnum<{
                stopped: "stopped";
                stopping: "stopping";
                starting: "starting";
                running: "running";
            }>;
            lastStartedAt: z__default.ZodOptional<z__default.ZodNumber>;
            lastSeenAt: z__default.ZodOptional<z__default.ZodNumber>;
            restartCount: z__default.ZodNumber;
            cpu: z__default.ZodObject<{
                usedPercent: z__default.ZodNumber;
                usedNs: z__default.ZodNumber;
            }, z__default.core.$strip>;
            memory: z__default.ZodObject<{
                usedPercent: z__default.ZodNumber;
                totalBytes: z__default.ZodNumber;
                freeBytes: z__default.ZodNumber;
                usedBytes: z__default.ZodNumber;
            }, z__default.core.$strip>;
        }, z__default.core.$strip>;
    };
    readonly "agent.info-stream": {
        readonly type: "stream";
        readonly protected: false;
        readonly inputDataSchema: z__default.ZodObject<{
            id: z__default.ZodString;
            sessionToken: z__default.ZodString;
            pollingIntervalMs: z__default.ZodPrefault<z__default.ZodNumber>;
        }, z__default.core.$strip>;
        readonly outputDataSchema: z__default.ZodObject<{
            id: z__default.ZodString;
            name: z__default.ZodString;
            scope: z__default.ZodNullable<z__default.ZodRecord<z__default.ZodString, z__default.ZodUnknown>>;
            status: z__default.ZodString;
            lastStartedAt: z__default.ZodOptional<z__default.ZodNumber>;
            lastSeenAt: z__default.ZodOptional<z__default.ZodNumber>;
            restartCount: z__default.ZodNumber;
            cpu: z__default.ZodObject<{
                usedPercent: z__default.ZodNumber;
                usedNs: z__default.ZodNumber;
            }, z__default.core.$strip>;
            memory: z__default.ZodObject<{
                usedPercent: z__default.ZodNumber;
                totalBytes: z__default.ZodNumber;
                freeBytes: z__default.ZodNumber;
                usedBytes: z__default.ZodNumber;
            }, z__default.core.$strip>;
        }, z__default.core.$strip>;
    };
    readonly "server.ping": {
        readonly type: "call";
        readonly protected: true;
        readonly outputDataSchema: z__default.ZodLiteral<"pong">;
    };
    readonly "server.available": {
        readonly type: "call";
        readonly protected: true;
        readonly outputDataSchema: z__default.ZodArray<z__default.ZodObject<{
            name: z__default.ZodString;
            scopeKeys: z__default.ZodArray<z__default.ZodString>;
        }, z__default.core.$strip>>;
    };
    readonly "server.info": {
        readonly type: "call";
        readonly protected: true;
        readonly outputDataSchema: z__default.ZodObject<{
            lifeVersion: z__default.ZodString;
            nodeVersion: z__default.ZodString;
            startedAt: z__default.ZodNumber;
            cpu: z__default.ZodObject<{
                usedPercent: z__default.ZodNumber;
                usedNs: z__default.ZodNumber;
            }, z__default.core.$strip>;
            memory: z__default.ZodObject<{
                usedPercent: z__default.ZodNumber;
                totalBytes: z__default.ZodNumber;
                freeBytes: z__default.ZodNumber;
                usedBytes: z__default.ZodNumber;
            }, z__default.core.$strip>;
        }, z__default.core.$strip>;
    };
    readonly "server.info-stream": {
        readonly type: "stream";
        readonly protected: true;
        readonly inputDataSchema: z__default.ZodObject<{
            pollingIntervalMs: z__default.ZodPrefault<z__default.ZodNumber>;
        }, z__default.core.$strip>;
        readonly outputDataSchema: z__default.ZodObject<{
            lifeVersion: z__default.ZodString;
            nodeVersion: z__default.ZodString;
            startedAt: z__default.ZodNumber;
            cpu: z__default.ZodObject<{
                usedPercent: z__default.ZodNumber;
                usedNs: z__default.ZodNumber;
            }, z__default.core.$strip>;
            memory: z__default.ZodObject<{
                usedPercent: z__default.ZodNumber;
                totalBytes: z__default.ZodNumber;
                freeBytes: z__default.ZodNumber;
                usedBytes: z__default.ZodNumber;
            }, z__default.core.$strip>;
        }, z__default.core.$strip>;
    };
    readonly "server.processes": {
        readonly type: "call";
        readonly protected: true;
        readonly outputDataSchema: z__default.ZodArray<z__default.ZodObject<{
            id: z__default.ZodString;
            name: z__default.ZodString;
            status: z__default.ZodString;
            lastStartedAt: z__default.ZodOptional<z__default.ZodNumber>;
        }, z__default.core.$strip>>;
    };
    readonly "server.processes-stream": {
        readonly type: "stream";
        readonly protected: true;
        readonly inputDataSchema: z__default.ZodObject<{
            pollingIntervalMs: z__default.ZodPrefault<z__default.ZodNumber>;
        }, z__default.core.$strip>;
        readonly outputDataSchema: z__default.ZodArray<z__default.ZodObject<{
            id: z__default.ZodString;
            name: z__default.ZodString;
            status: z__default.ZodString;
            lastStartedAt: z__default.ZodOptional<z__default.ZodNumber>;
        }, z__default.core.$strip>>;
    };
};

type LifeApiCallDefinition = {
    type: "call";
    protected: boolean;
    inputDataSchema?: z__default.ZodType;
    outputDataSchema?: z__default.ZodType;
    timeoutMs?: number;
};
type LifeApiCastDefinition = {
    type: "cast";
    protected: boolean;
    inputDataSchema?: z__default.ZodType;
    outputDataSchema?: never;
    timeoutMs?: number;
};
type LifeApiStreamDefinition = {
    type: "stream";
    protected: boolean;
    inputDataSchema?: z__default.ZodType;
    outputDataSchema?: z__default.ZodType;
    timeoutMs?: number;
};
type LifeApiHandlerDefinition = LifeApiCallDefinition | LifeApiCastDefinition | LifeApiStreamDefinition;
type LifeApiDefinition = Record<string, LifeApiHandlerDefinition>;

type InferInput<T> = T extends {
    inputDataSchema: z__default.ZodType;
} ? z__default.input<T["inputDataSchema"]> : undefined;
type InferOutput<T> = T extends {
    outputDataSchema: z__default.ZodType;
} ? z__default.output<T["outputDataSchema"]> : undefined;
type CallHandlers<T extends LifeApiDefinition> = {
    [K in keyof T as T[K] extends LifeApiCallDefinition ? K : never]: T[K];
};
type CastHandlers<T extends LifeApiDefinition> = {
    [K in keyof T as T[K] extends LifeApiCastDefinition ? K : never]: T[K];
};
type StreamHandlers<T extends LifeApiDefinition> = {
    [K in keyof T as T[K] extends LifeApiStreamDefinition ? K : never]: T[K];
};
type UnsubscribeFunction = () => void;
declare class LifeServerApiClient<Def extends LifeApiDefinition = typeof definition> {
    #private;
    constructor(params: {
        telemetry: TelemetryClient;
        serverUrl: string;
        serverToken?: string;
    });
    private ensureWebSocket;
    call<K extends keyof CallHandlers<Def>>(handlerId: K, input?: InferInput<Def[K]>): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: InferOutput<Def[K]>]>;
    cast<K extends keyof CastHandlers<Def>>(handlerId: K, input?: InferInput<Def[K]>): Promise<OperationResult<void>>;
    subscribe<K extends keyof StreamHandlers<Def>>(handlerId: K, callback: (data: InferOutput<Def[K]>) => void, input?: InferInput<Def[K]>): OperationResult<UnsubscribeFunction>;
    disconnect(): void;
}

declare const lifeClientOptionsSchema: z__default.ZodObject<{
    serverUrl: z__default.ZodPrefault<z__default.ZodString>;
    serverToken: z__default.ZodOptional<z__default.ZodString>;
}, z__default.core.$strip>;
type LifeClientOptions = z__default.output<typeof lifeClientOptionsSchema>;

declare class LifeClient {
    #private;
    readonly options: LifeClientOptions;
    api: LifeServerApiClient;
    constructor(options: LifeClientOptions);
    /**
     * Create a new agent instance on the server
     * @param name - Agent name/type to create
     * @param scope - Agent scope configuration
     * @returns AgentClient instance if creation successful
     */
    createAgent<Name extends keyof ClientBuild>(name: Name, options?: {
        id?: string;
    }): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: ToPublic<AgentClient<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["definition"]> & { [PluginName in keyof {
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"]]: ((((PluginClientAccessor<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["def"], {
        client: {
            readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
        }[Name]["plugins"][PluginName]["$types"]["clientConfig"];
        server: {
            readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
        }[Name]["plugins"][PluginName]["$types"]["serverConfig"];
    }> extends infer T_3 extends object ? { [I_1 in keyof T_3]: I_1 extends K_2 ? V : T_3[I_1]; } : never) extends infer T_2 ? { [K_1 in keyof T_2]: T_2[K_1]; } : never) extends infer T_1 extends object ? { [I in keyof T_1 as I extends keyof InstanceType<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["$types"]["class"]> ? never : I]: T_1[I]; } : never) extends infer T ? { [K in keyof T]: T[K]; } : never) & InstanceType<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["$types"]["class"]>; }>]>;
    /**
     * Get an existing agent client instance
     * @param id - Agent ID
     * @returns AgentClient instance or undefined
     */
    getAgent<Name extends keyof ClientBuild>(name: Name, options?: {
        id?: string;
    }): readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: ToPublic<AgentClient<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["definition"]> & { [PluginName in keyof {
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"]]: ((((PluginClientAccessor<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["def"], {
        client: {
            readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
        }[Name]["plugins"][PluginName]["$types"]["clientConfig"];
        server: {
            readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
        }[Name]["plugins"][PluginName]["$types"]["serverConfig"];
    }> extends infer T_3 extends object ? { [I_1 in keyof T_3]: I_1 extends K_2 ? V : T_3[I_1]; } : never) extends infer T_2 ? { [K_1 in keyof T_2]: T_2[K_1]; } : never) extends infer T_1 extends object ? { [I in keyof T_1 as I extends keyof InstanceType<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["$types"]["class"]> ? never : I]: T_1[I]; } : never) extends infer T ? { [K in keyof T]: T[K]; } : never) & InstanceType<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["$types"]["class"]>; }>];
    /**
     * Get or create an agent instance
     * @param name - Agent name/type
     * @param scope - Agent scope configuration
     * @returns AgentClient instance
     */
    getOrCreateAgent<Name extends keyof ClientBuild>(name: Name, options?: {
        id?: string;
    }): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: ToPublic<AgentClient<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["definition"]> & { [PluginName in keyof {
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"]]: ((((PluginClientAccessor<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["def"], {
        client: {
            readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
        }[Name]["plugins"][PluginName]["$types"]["clientConfig"];
        server: {
            readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
        }[Name]["plugins"][PluginName]["$types"]["serverConfig"];
    }> extends infer T_3 extends object ? { [I_1 in keyof T_3]: I_1 extends K_2 ? V : T_3[I_1]; } : never) extends infer T_2 ? { [K_1 in keyof T_2]: T_2[K_1]; } : never) extends infer T_1 extends object ? { [I in keyof T_1 as I extends keyof InstanceType<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["$types"]["class"]> ? never : I]: T_1[I]; } : never) extends infer T ? { [K in keyof T]: T[K]; } : never) & InstanceType<{
        readonly "Run `life dev` to see your agents here.": ClientBuildType[string];
    }[Name]["plugins"][PluginName]["$types"]["class"]>; }>]>;
    /**
     * List all created agent instances
     * @returns Array of { name: string, id: string }
     */
    listAgents(): readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: {
        name: string;
        id: string;
    }[]];
    /**
     * Get server information
     * @returns Server info response
     */
    info(): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: {
        lifeVersion: string;
        nodeVersion: string;
        startedAt: number;
        cpu: {
            usedPercent: number;
            usedNs: number;
        };
        memory: {
            usedPercent: number;
            totalBytes: number;
            freeBytes: number;
            usedBytes: number;
        };
    }]>;
    /**
     * Check if the server is responsive
     * @returns True if server responds with "pong"
     */
    ping(): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: "pong"]>;
}

declare const transportBrowserConfig: ZodUnionWithTelemetry<"provider", readonly [ZodObjectWithTelemetry<z.ZodObject<{
    provider: z.ZodLiteral<"livekit">;
    serverUrl: z.ZodPrefault<z.ZodURL>;
}, zod_v4_core.$strip>, "output">], z.ZodDiscriminatedUnion<z.ZodObject<{
    provider: z.ZodLiteral<"livekit">;
    serverUrl: z.ZodPrefault<z.ZodURL>;
}, zod_v4_core.$strip>[], "provider">>;

declare class TransportBrowserClient extends TransportClientBase {
    constructor({ config, obfuscateErrors, telemetry, }: {
        config: z$1.output<typeof transportBrowserConfig.schema>;
        obfuscateErrors?: boolean;
        telemetry?: TelemetryClient | null;
    });
}

declare const agentClientConfig: ZodObjectWithTelemetry<z$1.ZodObject<{
    transport: z$1.ZodPrefault<z$1.ZodDiscriminatedUnion<z$1.ZodObject<{
        provider: z$1.ZodLiteral<"livekit">;
        serverUrl: z$1.ZodPrefault<z$1.ZodURL>;
    }, z$1.core.$strip>[], "provider">>;
    experimental: z$1.ZodPrefault<z$1.ZodObject<{}, z$1.core.$strip>>;
}, z$1.core.$strip>, "output">;

type AgentClientAtom = {
    store: WritableAtom | ReadableAtom;
    refresh: () => Promise<void>;
};
type AgentAtomDefinition<Name extends string = string> = (params: {
    agent: AgentClient<AgentClientDefinition>;
    telemetry: TelemetryClient;
}) => {
    name: Name;
    create: (...params: Any[]) => AgentClientAtom;
};

declare const createAgentClientAtoms: (params: Parameters<AgentAtomDefinition>[0]) => {
    info: {
        name: "info";
        create: (config: z.input<z.ZodObject<{
            pollingMs: z.ZodPrefault<z.ZodNumber>;
        }, zod_v4_core.$strip>>) => {
            store: nanostores.PreinitializedWritableAtom<{
                id: string;
                name: string;
                scope: Record<string, unknown> | null;
                status: "stopped" | "starting" | "running" | "stopping";
                restartCount: number;
                cpu: {
                    usedPercent: number;
                    usedNs: number;
                };
                memory: {
                    usedPercent: number;
                    totalBytes: number;
                    freeBytes: number;
                    usedBytes: number;
                };
                lastStartedAt?: number | undefined;
                lastSeenAt?: number | undefined;
            } | null> & object;
            refresh: () => Promise<void>;
        };
    };
};
type AgentClientAtoms = ReturnType<typeof createAgentClientAtoms>;

declare class AgentClient<const AgentDef extends AgentClientDefinition> {
    #private;
    readonly def: AgentDef;
    readonly id: string;
    readonly name: string;
    readonly atoms: AgentClientAtoms;
    readonly config: z__default.output<typeof agentClientConfig.schema>;
    readonly transport: TransportBrowserClient;
    isStarted: boolean;
    constructor(params: {
        id: string;
        definition: AgentDef;
        config: z__default.output<typeof agentClientConfig.schema>;
        life: LifeClient;
    });
    /**
     * Start the agent and join the transport room
     * @returns Server response on successful start
     * @throws Error if the agent fails to start
     */
    start(scope: AgentScope<AgentDef["$serverDef"]["scope"]>): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: void]>;
    /**
     * Stop the agent and leave the transport room
     * @returns Server response on successful stop
     * @throws Error if the agent fails to stop
     */
    stop(): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: void]>;
    /**
     * Restart the agent by stopping and starting it
     */
    restart(): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: void]>;
    enableVoiceIn(): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: void]>;
    enableVoiceOut(): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: void]>;
    disableVoiceIn(): Promise<readonly [error: undefined, data: void]>;
    disableVoiceOut(): Promise<readonly [error: undefined, data: void]>;
    /**
     * Get agent information from the server
     * @returns Agent information including status and metrics
     * @throws Error if unable to retrieve agent info
     */
    info(): Promise<readonly [error: LifeErrorUnion, data: undefined] | readonly [error: undefined, data: {
        id: string;
        name: string;
        scope: Record<string, unknown> | null;
        status: "stopped" | "starting" | "running" | "stopping";
        restartCount: number;
        cpu: {
            usedPercent: number;
            usedNs: number;
        };
        memory: {
            usedPercent: number;
            totalBytes: number;
            freeBytes: number;
            usedBytes: number;
        };
        lastStartedAt?: number | undefined;
        lastSeenAt?: number | undefined;
    }]>;
}

type AgentClientPluginsDefinition = PluginClientDefinition[];
type AgentClientDefinition = {
    name: string;
    plugins: AgentClientPluginsDefinition;
    pluginConfigs: Record<string, unknown>;
    $serverDef: AgentDefinition;
};
type TypedAgentClientBuilder<AgentClientDef extends AgentClientDefinition, Excluded extends string = never> = Omit<AgentClientBuilder<AgentClientDef, Excluded> & {
    [PluginDef in AgentClientDef["plugins"][number] as ToMethodName<PluginDef["name"]>]: AgentClientBuilderPluginMethod<PluginDef["name"], AgentClientDef, Excluded>;
}, Excluded>;
type AgentClientBuilderPluginMethod<PluginName extends string, AgentClientDef extends AgentClientDefinition, Excluded extends string = never> = <const C extends PluginClientConfig<Extract<AgentClientDef["plugins"][number], {
    name: PluginName;
}>["config"], "input">>(config: C) => PluginName extends string ? TypedAgentClientBuilder<AgentClientDef & {
    pluginConfigs: {
        [Key in PluginName]: PluginClientConfig<Extract<AgentClientDef["plugins"][number], {
            name: PluginName;
        }>["config"], "output"> & C;
    };
}, Excluded | PluginName> : never;
declare const __plugins: unique symbol;
type AgentClientParam<Plugins extends {
    def: PluginClientDefinition;
}[] = [], _internal extends boolean = true> = Opaque<ToPublic<AgentClient<AgentClientDefinition> & {
    [Plugin in Plugins[number] as Plugin["def"]["name"]]: Override<PluginClientAccessor<Plugin["def"], {
        client: PluginClientConfig<Plugin["def"]["config"], "output">;
        server: PluginConfig<Plugin["def"]["$serverDef"]["config"], "output">;
    }>, _internal extends true ? "atoms" : never, Any>;
}>> & {
    [__plugins]?: Plugins;
};
declare const parseAgentClientParam: <Agent extends ToPublic<AgentClient<AgentClientDefinition>> | null>(agent: Agent) => Agent extends {
    [__plugins]?: infer Plugins extends {
        def: PluginClientDefinition;
    }[];
} ? AgentClientParam<Plugins, false> : null;
type AgentClientFromBuild<Name extends keyof ClientBuild> = ToPublic<AgentClient<ClientBuild[Name]["definition"]> & {
    [PluginName in keyof ClientBuild[Name]["plugins"]]: Without<Override<PluginClientAccessor<ClientBuild[Name]["plugins"][PluginName]["def"], {
        client: ClientBuild[Name]["plugins"][PluginName]["$types"]["clientConfig"];
        server: ClientBuild[Name]["plugins"][PluginName]["$types"]["serverConfig"];
    }>, "atoms", PluginClientAtoms<() => ClientBuild[Name]["plugins"][PluginName]["$types"]["atoms"]>>, keyof InstanceType<ClientBuild[Name]["plugins"][PluginName]["$types"]["class"]>> & InstanceType<ClientBuild[Name]["plugins"][PluginName]["$types"]["class"]>;
}>;

/**
 * Builder class for the plugin client definition.
 * Do not use directly, use `definePluginClient()` instead.
 */
declare class PluginClientBuilder<PluginClientDef extends PluginClientDefinition, Excluded extends string = never> {
    readonly def: PluginClientDef;
    constructor(definition: PluginClientDef);
    /**
     * ### `.dependencies()`
     *
     * Specify other plugins clients as required by this plugin client.
     *
     * Their config, atoms, and class can then be accessed from `dependencies.*` inside the plugin client's class and atoms.
     *
     * @see TODO: Add docs link
     *
     * @example
     * ```ts
     * const pluginClient = definePluginClient("my-plugin")
     *    .dependencies([anotherPluginClient])
     *    .atoms(({ dependencies }) => {
     *        // Obtain the atoms of the dependency plugin client
     *        const anotherPluginAtoms = dependencies.anotherPlugin.atoms();
     *        // ...
     *    });
     * ```
     * &nbsp;
     *
     * ---
     * @param plugins - The dependencies definitions.
     * @returns TypedPluginClientBuilder
     */
    dependencies<Plugins extends {
        def: PluginClientDefinition;
    }[]>(plugins: Plugins): TypedPluginClientBuilder<Override<PluginClientDef, "dependencies", { [K in keyof Plugins]: Without<Plugins[K]["def"], "dependencies">; }>, Excluded | "dependencies">;
    /**
     * ### `.config()`
     *
     * Add a configuration that users can provide to tweak plugin client's behavior.
     *
     * @see TODO: Add docs link
     *
     * @example
     * ```ts
     * const myPluginClient = definePluginClient("my-plugin")
     *    .config({ schema: z.object({ refreshRate: z.number() }) });
     *
     * const myAgentClient = defineAgentClient("my-agent")
     *    .plugins([myPluginClient])
     *    .myPlugin({ refreshRate: 1000 }); // <-- Here
     * ```
     * &nbsp;
     *
     * ---
     *
     * The provided config can then be accessed from `plugin.config` inside atoms and class.
     *
     * @example
     * ```ts
     * const pluginClient = definePluginClient("my-plugin")
     *    .config({ schema: z.object({ refreshRate: z.number() }) });
     *    .atoms(({ config }) => {
     *        const refreshRate = config.refreshRate; // <-- Here
     *    });
     * ```
     * &nbsp;
     *
     * ---
     * @param config - The config definition.
     * @returns TypedPluginClientBuilder
     */
    config<Schema extends z$1.ZodObject>(config: ZodObjectWithTelemetry<Schema, "input">): TypedPluginClientBuilder<{ [K in keyof { [I in keyof PluginClientDef]: I extends "config" ? ZodObjectWithTelemetry<Schema, "output"> : PluginClientDef[I]; }]: { [I in keyof PluginClientDef]: I extends "config" ? ZodObjectWithTelemetry<Schema, "output"> : PluginClientDef[I]; }[K]; }, "config" | "$config" | Excluded>;
    /**
     * ### `.$config()`
     *
     * Define plugin client config from the output of `definePluginClientConfig()`.
     *
     * @see TODO: Add docs link for `definePluginClientConfig()`
     *
     * ---
     * @param config - The config definition.
     * @returns TypedPluginClientBuilder
     */
    $config<ConfigDef extends ZodObjectWithTelemetry<z$1.ZodObject, "output">>(config: ConfigDef): TypedPluginClientBuilder<Override<PluginClientDef, "config", ConfigDef>, Excluded | "config" | "$config">;
    /**
     * ### `.class()`
     *
     * TODO
     *
     * @see TODO: Add docs link
     *
     * ---
     * @param input - The class definition.
     * @returns TypedPluginClientBuilder
     */
    class<Extension extends PluginClientExtensionDefinition<PluginClientDef, false>>(extension: Extension): TypedPluginClientBuilder<Override<PluginClientDef, "class", Extension>, Excluded | "class">;
    /**
     * ### `.atoms()`
     *
     * Add reactive states (atoms) that can then be consumed from various UI frameworks
     * (React, Vue, Svelte, etc.) to render the plugin data in real-time on the user interface.
     *
     * Atoms are powered by [nanostores](https://github.com/nanostores/nanostores).
     *
     * @see TODO: Add docs link
     *
     * @example
     * ```ts
     * import { onMount } from "nanostores";
     *
     * const pluginClient = definePluginClient("my-plugin")
     *    .atoms(({ plugin }) => {
     *        const value = atom(0);
     *        onMount(() => {
     *            setInterval(async () => {
     *                const context = await plugin.context.get();
     *                value.set(context.value + 1);
     *            }, 1000);
     *        });
     *        return { value };
     *    });
     * ```
     * &nbsp;
     *
     * ---
     *
     * Then from a React component, you can render the `value` atom:
     * ```ts
     * import { useStore } from "nanostores/react";
     *
     * export default function Page() {
     *    const agent = useAgent("my-agent");
     *    const value = useStore(agent.myPlugin.atoms.value);
     *    return <div>{value}</div>;
     * };
     * ```
     * &nbsp;
     *
     * ---
     * @param definition - The atoms definition.
     * @returns TypedPluginClientBuilder
     */
    atoms<const Names extends string[], Atoms extends PluginClientAtomsDefinition<PluginClientDef, false, Names>>(atoms: Atoms): TypedPluginClientBuilder<Override<PluginClientDef, "atoms", Atoms>, Excluded | "atoms">;
}
type ServerPluginShape = {
    def: PluginDefinition;
};
/**
 * ### `definePluginClient()`
 *
 * Define a new Life.js plugin client.
 *
 * @see TODO: Add docs link
 */
declare function definePluginClient<ServerPlugin extends ServerPluginShape | undefined = undefined, const Name extends string = ServerPlugin extends ServerPluginShape ? ServerPlugin["def"]["name"] : string>(name: Name): PluginClientBuilder<{
    readonly name: Name;
    readonly config: ZodObjectWithTelemetry<z$1.ZodObject<{
        [x: string]: any;
    }, z$1.core.$strip>, "output">;
    readonly dependencies: [];
    readonly class: <const _ProvidedConfigs>(..._args: Any[]) => {
        new (): {};
    };
    readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
    readonly $serverDef: (((ServerPlugin extends ServerPluginShape ? ServerPlugin["def"] : PluginDefinition) extends infer T_1 extends object ? { [I in keyof T_1 as I extends "dependencies" ? never : I]: T_1[I]; } : never) extends infer T ? { [K in keyof T]: T[K]; } : never) & {
        dependencies: [];
    };
}, never>;

type PluginClientDependenciesDefinition = Without<PluginClientDefinition, "dependencies">[];
type PluginClientConfigDefinition = ZodObjectWithTelemetry<z__default.ZodObject, "output">;
type PluginClientConfig<ConfigDef extends PluginClientConfigDefinition, T extends "input" | "output"> = T extends "input" ? z__default.input<ConfigDef["schema"]> : z__default.output<ConfigDef["schema"]>;
type PluginClientProvidedConfigs<ClientConfig extends PluginClientConfigDefinition, ServerConfig extends PluginConfigDefinition> = {
    client: PluginClientConfig<ClientConfig, "output">;
    server: PluginConfig<ServerConfig, "output">;
};
type PluginClientParams<PluginClientDef extends PluginClientDefinition, ProvidedConfigs extends PluginClientProvidedConfigs<PluginClientDef["config"], PluginClientDef["$serverDef"]["config"]>> = {
    agent: ToPublic<AgentClient<AgentClientDefinition>>;
    plugin: ToPublic<Without<PluginClientAccessor<PluginClientDef, ProvidedConfigs>, "atoms">>;
    dependencies: ToPublic<PluginClientDependenciesAccessor<PluginClientDef["dependencies"], true>>;
    telemetry: TelemetryClient;
};
type PluginClientExtensionDefinition<PluginClientDef extends PluginClientDefinition = PluginClientDefinition, Loose extends boolean = true> = <const ProvidedConfigs extends PluginClientProvidedConfigs<PluginClientDef["config"], PluginClientDef["$serverDef"]["config"]>>(params: Loose extends false ? PluginClientParams<PluginClientDef, ProvidedConfigs> : Any) => ClassShape;
type PluginClientAtom = {
    store: WritableAtom | ReadableAtom;
    refresh: () => Promise<void>;
};
type PluginClientAtomDefinition<Name extends string = string> = {
    name: Name;
    create: (...params: Any[]) => PluginClientAtom;
};
type PluginClientAtomsDefinition<PluginClientDef extends PluginClientDefinition = PluginClientDefinition, Loose extends boolean = true, Names extends string[] = string[]> = <const ProvidedConfigs extends PluginClientProvidedConfigs<PluginClientDef["config"], PluginClientDef["$serverDef"]["config"]>>(params: Loose extends false ? PluginClientParams<PluginClientDef, ProvidedConfigs> : Any) => {
    [K in keyof Names]: PluginClientAtomDefinition<Names[K]>;
};
type PluginClientAtoms<AtomsDef extends PluginClientAtomsDefinition> = {
    [AtomDef in ReturnType<AtomsDef>[number] as AtomDef["name"]]: AtomDef["create"];
};
type PluginClientAccessor<PluginClientDef extends PluginClientDefinition, ProvidedConfigs extends PluginClientProvidedConfigs<PluginClientDef["config"], PluginClientDef["$serverDef"]["config"]>> = InstanceType<ReturnType<PluginClientDef["class"]>> & {
    config: PluginClientConfig<PluginClientDef["config"], "output">;
    $types: AssertPublic<{
        clientDef: PluginClientDef;
        serverDef: PluginClientDef["$serverDef"];
        clientConfig: ProvidedConfigs["client"];
        serverConfig: ProvidedConfigs["server"];
    }>;
    atoms: PluginClientAtoms<PluginClientDef["atoms"]>;
} & (PluginClientDef["$serverDef"] extends PluginDefinition ? {
    server: PluginAccessor<PluginClientDef["$serverDef"], {
        type: "client";
        name: string;
    }>;
} : unknown);
type PluginClientDependenciesAccessor<DependenciesDef extends PluginClientDependenciesDefinition, HideAtoms extends boolean = true> = {
    [DependencyDef in DependenciesDef[number] as DependencyDef["name"]]: Without<PluginClientAccessor<DependencyDef & {
        dependencies: [];
    }, {
        client: PluginClientConfig<DependencyDef["config"], "output">;
        server: PluginConfig<DependencyDef["$serverDef"]["config"], "output">;
    }>, HideAtoms extends true ? "atoms" : never>;
};
interface PluginClientDefinition {
    name: string;
    dependencies: PluginClientDependenciesDefinition;
    config: PluginClientConfigDefinition;
    class: PluginClientExtensionDefinition;
    atoms: PluginClientAtomsDefinition;
    $serverDef: PluginDefinition;
}
type TypedPluginClientBuilder<PluginClientDef extends PluginClientDefinition, Excluded extends string = never> = Omit<PluginClientBuilder<PluginClientDef, Excluded>, Excluded>;

declare class AgentClientBuilder<const AgentClientDef extends AgentClientDefinition, Excluded extends string = never> {
    readonly def: AgentClientDef;
    constructor(definition: AgentClientDef);
    /**
     * Register plugins to extend the agent client features.
     * Defaults to `[generation, memories, stores, actions, percepts]` plugins if not specified.
     *
     * In case you want to register custom plugins and still keep the defaults you can do:
     * ```ts
     * import { defaults } from "life/server";
     *
     * defineAgent("my-agent").plugins([...defaults.plugins, myCustomPlugin]);
     * ```
     *
     * Or if you want only some of the defaults, you can do:
     * ```ts
     * import { defaults } from "life/server";
     *
     * defineAgent("my-agent").plugins([defaults.plugins.generation, defaults.plugins.memories]);
     * ```
     */
    plugins<const Plugins extends {
        def: PluginClientDefinition;
    }[]>(plugins: Plugins): TypedAgentClientBuilder<Override<Override<AgentClientDef, "plugins", { [K in keyof Plugins]: Plugins[K]["def"]; }>, "pluginConfigs", { [K in Plugins[number] as K["def"]["name"]]: PluginClientConfig<K["def"]["config"], "output">; }>, Excluded | "plugins">;
    static withPluginsMethods<Builder extends AgentClientBuilder<any, any>>(builder: Builder): Builder;
}
declare function defineAgentClient<const ServerAgent extends {
    def: AgentDefinition;
}>(name: ServerAgent["def"]["name"]): TypedAgentClientBuilder<{
    readonly name: ServerAgent["def"]["name"];
    readonly plugins: ({
        readonly name: "generation";
        readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
            enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
        }, z__default.core.$strip>, "output">;
        readonly dependencies: [];
        readonly class: <const ProvidedConfigs extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z__default.ZodObject<{
            enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
        }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
            voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
            }, z__default.core.$strip>>;
            endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
            }, z__default.core.$strip>>;
        }, z__default.core.$strip>, "output">>>({ plugin }: PluginClientParams<{
            readonly name: "generation";
            readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
            }, z__default.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__default.ZodObject<{
                    voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                    endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                }, z__default.core.$strip>, "output">;
                context: ZodObjectWithTelemetry<z__default.ZodObject<{
                    messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        role: z__default.ZodLiteral<"user">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"system">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"agent">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"tool">;
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolSuccess: z__default.ZodBoolean;
                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                        toolError: z__default.ZodOptional<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>], "role">>>;
                    status: z__default.ZodPrefault<z__default.ZodObject<{
                        listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                        thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                        speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>>;
                    voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>, "output">;
                events: [{
                    readonly name: "plugin.start";
                    readonly dataSchema: z__default.ZodObject<{
                        isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                        restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>;
                }, {
                    readonly name: "plugin.stop";
                }, {
                    readonly name: "plugin.test";
                }, {
                    readonly name: "plugin.error";
                    readonly dataSchema: z__default.ZodObject<{
                        error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                        event: z__default.ZodObject<{
                            id: z__default.ZodString;
                            name: z__default.ZodString;
                            urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                            data: z__default.ZodPrefault<z__default.ZodAny>;
                            created: z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"handler">;
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                    event: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"server">;
                                    name: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"client">;
                                    name: z__default.ZodString;
                                }, z__default.core.$strip>], "type">;
                            }, z__default.core.$strip>;
                            edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodObject<{
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                }, z__default.core.$strip>;
                                reason: z__default.ZodString;
                                dataBefore: z__default.ZodAny;
                                dataAfter: z__default.ZodAny;
                            }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                            dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodObject<{
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                }, z__default.core.$strip>;
                                reason: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                            contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                byHandler: z__default.ZodString;
                                valueBefore: z__default.ZodAny;
                                valueAfter: z__default.ZodAny;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>;
                    }, z__default.core.$strip>;
                }] | [{
                    name: "messages.create";
                    dataSchema: z__default.ZodObject<{
                        message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                        }, z__default.core.$strip>], "role">;
                    }, z__default.core.$strip>;
                }, {
                    name: "messages.update";
                    dataSchema: z__default.ZodObject<{
                        id: z__default.ZodString;
                        role: z__default.ZodEnum<{
                            user: "user";
                            system: "system";
                            agent: "agent";
                            tool: "tool";
                        }>;
                        message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                        }, z__default.core.$strip>], "role">;
                    }, z__default.core.$strip>;
                }, {
                    name: "user.audio-chunk";
                    dataSchema: z__default.ZodObject<{
                        audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.core.$strip>;
                }, {
                    name: "user.voice-start";
                }, {
                    name: "user.voice-chunk";
                    dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        type: z__default.ZodLiteral<"voice">;
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        type: z__default.ZodLiteral<"padding">;
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        paddingSide: z__default.ZodEnum<{
                            pre: "pre";
                            post: "post";
                        }>;
                        paddingIndex: z__default.ZodNumber;
                    }, z__default.core.$strip>], "type">;
                }, {
                    name: "user.voice-end";
                }, {
                    name: "user.text-chunk";
                    dataSchema: z__default.ZodObject<{
                        textChunk: z__default.ZodString;
                    }, z__default.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__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.decide";
                    dataSchema: z__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.say";
                    dataSchema: z__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        text: z__default.ZodString;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.interrupt";
                    dataSchema: z__default.ZodObject<{
                        reason: z__default.ZodString;
                        author: z__default.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                        force: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.resources-request";
                }, {
                    name: "agent.resources-response";
                    dataSchema: z__default.ZodObject<{
                        requestId: z__default.ZodString;
                        resources: z__default.ZodObject<{
                            messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>;
                            tools: z__default.ZodArray<z__default.ZodObject<{
                                name: z__default.ZodString;
                                description: z__default.ZodString;
                                schema: z__default.ZodObject<{
                                    input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                    output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                }, z__default.core.$strip>;
                                run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                    success: z__default.ZodBoolean;
                                    output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    error: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                    success: z__default.ZodBoolean;
                                    output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    error: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>>]>>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.tool-requests";
                    dataSchema: z__default.ZodObject<{
                        requests: z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.interrupted";
                    dataSchema: z__default.ZodObject<{
                        reason: z__default.ZodString;
                        forced: z__default.ZodBoolean;
                        author: z__default.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.text-chunk";
                    dataSchema: z__default.ZodObject<{
                        textChunk: z__default.ZodString;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.voice-chunk";
                    dataSchema: z__default.ZodObject<{
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.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__default.ZodObject<{
            enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
        }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
            voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
            }, z__default.core.$strip>>;
            endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
            }, z__default.core.$strip>>;
        }, z__default.core.$strip>, "output">>>({ plugin, telemetry }: PluginClientParams<{
            readonly name: "generation";
            readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
            }, z__default.core.$strip>, "output">;
            readonly dependencies: [];
            readonly class: <const ProvidedConfigs_1 extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z__default.ZodObject<{
                enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
            }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
                voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                    scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                    postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                    minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>>;
                endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                    threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>>;
            }, z__default.core.$strip>, "output">>>({ plugin }: PluginClientParams<{
                readonly name: "generation";
                readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                    enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.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__default.ZodObject<{
                        voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                        endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>, "output">;
                    context: ZodObjectWithTelemetry<z__default.ZodObject<{
                        messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>>;
                        status: z__default.ZodPrefault<z__default.ZodObject<{
                            listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                            thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                            speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>>;
                        voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>, "output">;
                    events: [{
                        readonly name: "plugin.start";
                        readonly dataSchema: z__default.ZodObject<{
                            isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                            restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>;
                    }, {
                        readonly name: "plugin.stop";
                    }, {
                        readonly name: "plugin.test";
                    }, {
                        readonly name: "plugin.error";
                        readonly dataSchema: z__default.ZodObject<{
                            error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                            event: z__default.ZodObject<{
                                id: z__default.ZodString;
                                name: z__default.ZodString;
                                urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                                data: z__default.ZodPrefault<z__default.ZodAny>;
                                created: z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"handler">;
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                        event: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"server">;
                                        name: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"client">;
                                        name: z__default.ZodString;
                                    }, z__default.core.$strip>], "type">;
                                }, z__default.core.$strip>;
                                edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodObject<{
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                    }, z__default.core.$strip>;
                                    reason: z__default.ZodString;
                                    dataBefore: z__default.ZodAny;
                                    dataAfter: z__default.ZodAny;
                                }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                                dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodObject<{
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                    }, z__default.core.$strip>;
                                    reason: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                                contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    byHandler: z__default.ZodString;
                                    valueBefore: z__default.ZodAny;
                                    valueAfter: z__default.ZodAny;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>;
                        }, z__default.core.$strip>;
                    }] | [{
                        name: "messages.create";
                        dataSchema: z__default.ZodObject<{
                            message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>], "role">;
                        }, z__default.core.$strip>;
                    }, {
                        name: "messages.update";
                        dataSchema: z__default.ZodObject<{
                            id: z__default.ZodString;
                            role: z__default.ZodEnum<{
                                user: "user";
                                system: "system";
                                agent: "agent";
                                tool: "tool";
                            }>;
                            message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>], "role">;
                        }, z__default.core.$strip>;
                    }, {
                        name: "user.audio-chunk";
                        dataSchema: z__default.ZodObject<{
                            audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "user.voice-start";
                    }, {
                        name: "user.voice-chunk";
                        dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            type: z__default.ZodLiteral<"voice">;
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            type: z__default.ZodLiteral<"padding">;
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            paddingSide: z__default.ZodEnum<{
                                pre: "pre";
                                post: "post";
                            }>;
                            paddingIndex: z__default.ZodNumber;
                        }, z__default.core.$strip>], "type">;
                    }, {
                        name: "user.voice-end";
                    }, {
                        name: "user.text-chunk";
                        dataSchema: z__default.ZodObject<{
                            textChunk: z__default.ZodString;
                        }, z__default.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__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.decide";
                        dataSchema: z__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.say";
                        dataSchema: z__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            text: z__default.ZodString;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.interrupt";
                        dataSchema: z__default.ZodObject<{
                            reason: z__default.ZodString;
                            author: z__default.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                            force: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.resources-request";
                    }, {
                        name: "agent.resources-response";
                        dataSchema: z__default.ZodObject<{
                            requestId: z__default.ZodString;
                            resources: z__default.ZodObject<{
                                messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>], "role">>;
                                tools: z__default.ZodArray<z__default.ZodObject<{
                                    name: z__default.ZodString;
                                    description: z__default.ZodString;
                                    schema: z__default.ZodObject<{
                                        input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                        output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                    }, z__default.core.$strip>;
                                    run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                        success: z__default.ZodBoolean;
                                        output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        error: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                        success: z__default.ZodBoolean;
                                        output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        error: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>>]>>;
                                }, z__default.core.$strip>>;
                            }, z__default.core.$strip>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.tool-requests";
                        dataSchema: z__default.ZodObject<{
                            requests: z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.interrupted";
                        dataSchema: z__default.ZodObject<{
                            reason: z__default.ZodString;
                            forced: z__default.ZodBoolean;
                            author: z__default.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.text-chunk";
                        dataSchema: z__default.ZodObject<{
                            textChunk: z__default.ZodString;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.voice-chunk";
                        dataSchema: z__default.ZodObject<{
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.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__default.ZodObject<{
                    voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                    endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                }, z__default.core.$strip>, "output">;
                context: ZodObjectWithTelemetry<z__default.ZodObject<{
                    messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        role: z__default.ZodLiteral<"user">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"system">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"agent">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"tool">;
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolSuccess: z__default.ZodBoolean;
                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                        toolError: z__default.ZodOptional<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>], "role">>>;
                    status: z__default.ZodPrefault<z__default.ZodObject<{
                        listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                        thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                        speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>>;
                    voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>, "output">;
                events: [{
                    readonly name: "plugin.start";
                    readonly dataSchema: z__default.ZodObject<{
                        isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                        restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>;
                }, {
                    readonly name: "plugin.stop";
                }, {
                    readonly name: "plugin.test";
                }, {
                    readonly name: "plugin.error";
                    readonly dataSchema: z__default.ZodObject<{
                        error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                        event: z__default.ZodObject<{
                            id: z__default.ZodString;
                            name: z__default.ZodString;
                            urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                            data: z__default.ZodPrefault<z__default.ZodAny>;
                            created: z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"handler">;
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                    event: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"server">;
                                    name: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"client">;
                                    name: z__default.ZodString;
                                }, z__default.core.$strip>], "type">;
                            }, z__default.core.$strip>;
                            edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodObject<{
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                }, z__default.core.$strip>;
                                reason: z__default.ZodString;
                                dataBefore: z__default.ZodAny;
                                dataAfter: z__default.ZodAny;
                            }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                            dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodObject<{
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                }, z__default.core.$strip>;
                                reason: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                            contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                byHandler: z__default.ZodString;
                                valueBefore: z__default.ZodAny;
                                valueAfter: z__default.ZodAny;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>;
                    }, z__default.core.$strip>;
                }] | [{
                    name: "messages.create";
                    dataSchema: z__default.ZodObject<{
                        message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                        }, z__default.core.$strip>], "role">;
                    }, z__default.core.$strip>;
                }, {
                    name: "messages.update";
                    dataSchema: z__default.ZodObject<{
                        id: z__default.ZodString;
                        role: z__default.ZodEnum<{
                            user: "user";
                            system: "system";
                            agent: "agent";
                            tool: "tool";
                        }>;
                        message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                        }, z__default.core.$strip>], "role">;
                    }, z__default.core.$strip>;
                }, {
                    name: "user.audio-chunk";
                    dataSchema: z__default.ZodObject<{
                        audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.core.$strip>;
                }, {
                    name: "user.voice-start";
                }, {
                    name: "user.voice-chunk";
                    dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        type: z__default.ZodLiteral<"voice">;
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        type: z__default.ZodLiteral<"padding">;
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        paddingSide: z__default.ZodEnum<{
                            pre: "pre";
                            post: "post";
                        }>;
                        paddingIndex: z__default.ZodNumber;
                    }, z__default.core.$strip>], "type">;
                }, {
                    name: "user.voice-end";
                }, {
                    name: "user.text-chunk";
                    dataSchema: z__default.ZodObject<{
                        textChunk: z__default.ZodString;
                    }, z__default.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__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.decide";
                    dataSchema: z__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.say";
                    dataSchema: z__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        text: z__default.ZodString;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.interrupt";
                    dataSchema: z__default.ZodObject<{
                        reason: z__default.ZodString;
                        author: z__default.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                        force: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.resources-request";
                }, {
                    name: "agent.resources-response";
                    dataSchema: z__default.ZodObject<{
                        requestId: z__default.ZodString;
                        resources: z__default.ZodObject<{
                            messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>;
                            tools: z__default.ZodArray<z__default.ZodObject<{
                                name: z__default.ZodString;
                                description: z__default.ZodString;
                                schema: z__default.ZodObject<{
                                    input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                    output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                }, z__default.core.$strip>;
                                run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                    success: z__default.ZodBoolean;
                                    output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    error: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                    success: z__default.ZodBoolean;
                                    output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    error: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>>]>>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.tool-requests";
                    dataSchema: z__default.ZodObject<{
                        requests: z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.interrupted";
                    dataSchema: z__default.ZodObject<{
                        reason: z__default.ZodString;
                        forced: z__default.ZodBoolean;
                        author: z__default.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.text-chunk";
                    dataSchema: z__default.ZodObject<{
                        textChunk: z__default.ZodString;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.voice-chunk";
                    dataSchema: z__default.ZodObject<{
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.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__default.ZodObject<{
                voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                    scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                    postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                    minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>>;
                endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                    threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>>;
            }, z__default.core.$strip>, "output">;
            context: ZodObjectWithTelemetry<z__default.ZodObject<{
                messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                    role: z__default.ZodLiteral<"user">;
                    content: z__default.ZodPrefault<z__default.ZodString>;
                    id: z__default.ZodString;
                    createdAt: z__default.ZodNumber;
                    lastUpdated: z__default.ZodNumber;
                }, z__default.core.$strip>, z__default.ZodObject<{
                    role: z__default.ZodLiteral<"system">;
                    content: z__default.ZodPrefault<z__default.ZodString>;
                    id: z__default.ZodString;
                    createdAt: z__default.ZodNumber;
                    lastUpdated: z__default.ZodNumber;
                }, z__default.core.$strip>, z__default.ZodObject<{
                    role: z__default.ZodLiteral<"agent">;
                    content: z__default.ZodPrefault<z__default.ZodString>;
                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                    }, z__default.core.$strip>>>;
                    id: z__default.ZodString;
                    createdAt: z__default.ZodNumber;
                    lastUpdated: z__default.ZodNumber;
                }, z__default.core.$strip>, z__default.ZodObject<{
                    role: z__default.ZodLiteral<"tool">;
                    toolRequestId: z__default.ZodString;
                    toolName: z__default.ZodString;
                    toolSuccess: z__default.ZodBoolean;
                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                    toolError: z__default.ZodOptional<z__default.ZodString>;
                    id: z__default.ZodString;
                    createdAt: z__default.ZodNumber;
                    lastUpdated: z__default.ZodNumber;
                }, z__default.core.$strip>], "role">>>;
                status: z__default.ZodPrefault<z__default.ZodObject<{
                    listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                    thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                    speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>>;
                voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
            }, z__default.core.$strip>, "output">;
            events: [{
                readonly name: "plugin.start";
                readonly dataSchema: z__default.ZodObject<{
                    isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                    restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>;
            }, {
                readonly name: "plugin.stop";
            }, {
                readonly name: "plugin.test";
            }, {
                readonly name: "plugin.error";
                readonly dataSchema: z__default.ZodObject<{
                    error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                    event: z__default.ZodObject<{
                        id: z__default.ZodString;
                        name: z__default.ZodString;
                        urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                        data: z__default.ZodPrefault<z__default.ZodAny>;
                        created: z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                type: z__default.ZodLiteral<"handler">;
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                                event: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"server">;
                                name: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"client">;
                                name: z__default.ZodString;
                            }, z__default.core.$strip>], "type">;
                        }, z__default.core.$strip>;
                        edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodObject<{
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                            }, z__default.core.$strip>;
                            reason: z__default.ZodString;
                            dataBefore: z__default.ZodAny;
                            dataAfter: z__default.ZodAny;
                        }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                        dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodObject<{
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                            }, z__default.core.$strip>;
                            reason: z__default.ZodString;
                        }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                        contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            byHandler: z__default.ZodString;
                            valueBefore: z__default.ZodAny;
                            valueAfter: z__default.ZodAny;
                        }, z__default.core.$strip>>>;
                    }, z__default.core.$strip>;
                }, z__default.core.$strip>;
            }] | [{
                name: "messages.create";
                dataSchema: z__default.ZodObject<{
                    message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        role: z__default.ZodLiteral<"user">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"system">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"agent">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"tool">;
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolSuccess: z__default.ZodBoolean;
                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                        toolError: z__default.ZodOptional<z__default.ZodString>;
                    }, z__default.core.$strip>], "role">;
                }, z__default.core.$strip>;
            }, {
                name: "messages.update";
                dataSchema: z__default.ZodObject<{
                    id: z__default.ZodString;
                    role: z__default.ZodEnum<{
                        user: "user";
                        system: "system";
                        agent: "agent";
                        tool: "tool";
                    }>;
                    message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        role: z__default.ZodLiteral<"user">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"system">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"agent">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"tool">;
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolSuccess: z__default.ZodBoolean;
                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                        toolError: z__default.ZodOptional<z__default.ZodString>;
                    }, z__default.core.$strip>], "role">;
                }, z__default.core.$strip>;
            }, {
                name: "user.audio-chunk";
                dataSchema: z__default.ZodObject<{
                    audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                }, z__default.core.$strip>;
            }, {
                name: "user.voice-start";
            }, {
                name: "user.voice-chunk";
                dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                    type: z__default.ZodLiteral<"voice">;
                    voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                }, z__default.core.$strip>, z__default.ZodObject<{
                    type: z__default.ZodLiteral<"padding">;
                    voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    paddingSide: z__default.ZodEnum<{
                        pre: "pre";
                        post: "post";
                    }>;
                    paddingIndex: z__default.ZodNumber;
                }, z__default.core.$strip>], "type">;
            }, {
                name: "user.voice-end";
            }, {
                name: "user.text-chunk";
                dataSchema: z__default.ZodObject<{
                    textChunk: z__default.ZodString;
                }, z__default.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__default.ZodObject<{
                    interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                        abrupt: "abrupt";
                        smooth: "smooth";
                    }>, z__default.ZodLiteral<false>]>>;
                    preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>;
            }, {
                name: "agent.decide";
                dataSchema: z__default.ZodObject<{
                    interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                        abrupt: "abrupt";
                        smooth: "smooth";
                    }>, z__default.ZodLiteral<false>]>>;
                    preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                    messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        role: z__default.ZodLiteral<"user">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"system">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"agent">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"tool">;
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolSuccess: z__default.ZodBoolean;
                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                        toolError: z__default.ZodOptional<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>], "role">>;
                }, z__default.core.$strip>;
            }, {
                name: "agent.say";
                dataSchema: z__default.ZodObject<{
                    interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                        abrupt: "abrupt";
                        smooth: "smooth";
                    }>, z__default.ZodLiteral<false>]>>;
                    preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                    text: z__default.ZodString;
                }, z__default.core.$strip>;
            }, {
                name: "agent.interrupt";
                dataSchema: z__default.ZodObject<{
                    reason: z__default.ZodString;
                    author: z__default.ZodEnum<{
                        user: "user";
                        application: "application";
                    }>;
                    force: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>;
            }, {
                name: "agent.resources-request";
            }, {
                name: "agent.resources-response";
                dataSchema: z__default.ZodObject<{
                    requestId: z__default.ZodString;
                    resources: z__default.ZodObject<{
                        messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>;
                        tools: z__default.ZodArray<z__default.ZodObject<{
                            name: z__default.ZodString;
                            description: z__default.ZodString;
                            schema: z__default.ZodObject<{
                                input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                            }, z__default.core.$strip>;
                            run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                success: z__default.ZodBoolean;
                                output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                error: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                success: z__default.ZodBoolean;
                                output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                error: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>>]>>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>;
                }, z__default.core.$strip>;
            }, {
                name: "agent.tool-requests";
                dataSchema: z__default.ZodObject<{
                    requests: z__default.ZodArray<z__default.ZodObject<{
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                    }, z__default.core.$strip>>;
                }, z__default.core.$strip>;
            }, {
                name: "agent.interrupted";
                dataSchema: z__default.ZodObject<{
                    reason: z__default.ZodString;
                    forced: z__default.ZodBoolean;
                    author: z__default.ZodEnum<{
                        user: "user";
                        application: "application";
                    }>;
                }, z__default.core.$strip>;
            }, {
                name: "agent.text-chunk";
                dataSchema: z__default.ZodObject<{
                    textChunk: z__default.ZodString;
                }, z__default.core.$strip>;
            }, {
                name: "agent.voice-chunk";
                dataSchema: z__default.ZodObject<{
                    voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                }, z__default.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 name: "memories";
        readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
            [x: string]: any;
        }, z__default.core.$strip>, "output">;
        readonly dependencies: {
            readonly name: "generation";
            readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
            }, z__default.core.$strip>, "output">;
            readonly class: <const ProvidedConfigs extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z__default.ZodObject<{
                enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
            }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
                voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                    scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                    postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                    minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>>;
                endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                    threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>>;
            }, z__default.core.$strip>, "output">>>({ plugin }: PluginClientParams<{
                readonly name: "generation";
                readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                    enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.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__default.ZodObject<{
                        voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                        endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>, "output">;
                    context: ZodObjectWithTelemetry<z__default.ZodObject<{
                        messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>>;
                        status: z__default.ZodPrefault<z__default.ZodObject<{
                            listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                            thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                            speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>>;
                        voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>, "output">;
                    events: [{
                        readonly name: "plugin.start";
                        readonly dataSchema: z__default.ZodObject<{
                            isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                            restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>;
                    }, {
                        readonly name: "plugin.stop";
                    }, {
                        readonly name: "plugin.test";
                    }, {
                        readonly name: "plugin.error";
                        readonly dataSchema: z__default.ZodObject<{
                            error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                            event: z__default.ZodObject<{
                                id: z__default.ZodString;
                                name: z__default.ZodString;
                                urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                                data: z__default.ZodPrefault<z__default.ZodAny>;
                                created: z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"handler">;
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                        event: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"server">;
                                        name: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"client">;
                                        name: z__default.ZodString;
                                    }, z__default.core.$strip>], "type">;
                                }, z__default.core.$strip>;
                                edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodObject<{
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                    }, z__default.core.$strip>;
                                    reason: z__default.ZodString;
                                    dataBefore: z__default.ZodAny;
                                    dataAfter: z__default.ZodAny;
                                }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                                dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodObject<{
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                    }, z__default.core.$strip>;
                                    reason: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                                contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    byHandler: z__default.ZodString;
                                    valueBefore: z__default.ZodAny;
                                    valueAfter: z__default.ZodAny;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>;
                        }, z__default.core.$strip>;
                    }] | [{
                        name: "messages.create";
                        dataSchema: z__default.ZodObject<{
                            message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>], "role">;
                        }, z__default.core.$strip>;
                    }, {
                        name: "messages.update";
                        dataSchema: z__default.ZodObject<{
                            id: z__default.ZodString;
                            role: z__default.ZodEnum<{
                                user: "user";
                                system: "system";
                                agent: "agent";
                                tool: "tool";
                            }>;
                            message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>], "role">;
                        }, z__default.core.$strip>;
                    }, {
                        name: "user.audio-chunk";
                        dataSchema: z__default.ZodObject<{
                            audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "user.voice-start";
                    }, {
                        name: "user.voice-chunk";
                        dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            type: z__default.ZodLiteral<"voice">;
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            type: z__default.ZodLiteral<"padding">;
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            paddingSide: z__default.ZodEnum<{
                                pre: "pre";
                                post: "post";
                            }>;
                            paddingIndex: z__default.ZodNumber;
                        }, z__default.core.$strip>], "type">;
                    }, {
                        name: "user.voice-end";
                    }, {
                        name: "user.text-chunk";
                        dataSchema: z__default.ZodObject<{
                            textChunk: z__default.ZodString;
                        }, z__default.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__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.decide";
                        dataSchema: z__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.say";
                        dataSchema: z__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            text: z__default.ZodString;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.interrupt";
                        dataSchema: z__default.ZodObject<{
                            reason: z__default.ZodString;
                            author: z__default.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                            force: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.resources-request";
                    }, {
                        name: "agent.resources-response";
                        dataSchema: z__default.ZodObject<{
                            requestId: z__default.ZodString;
                            resources: z__default.ZodObject<{
                                messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>], "role">>;
                                tools: z__default.ZodArray<z__default.ZodObject<{
                                    name: z__default.ZodString;
                                    description: z__default.ZodString;
                                    schema: z__default.ZodObject<{
                                        input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                        output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                    }, z__default.core.$strip>;
                                    run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                        success: z__default.ZodBoolean;
                                        output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        error: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                        success: z__default.ZodBoolean;
                                        output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        error: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>>]>>;
                                }, z__default.core.$strip>>;
                            }, z__default.core.$strip>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.tool-requests";
                        dataSchema: z__default.ZodObject<{
                            requests: z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.interrupted";
                        dataSchema: z__default.ZodObject<{
                            reason: z__default.ZodString;
                            forced: z__default.ZodBoolean;
                            author: z__default.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.text-chunk";
                        dataSchema: z__default.ZodObject<{
                            textChunk: z__default.ZodString;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.voice-chunk";
                        dataSchema: z__default.ZodObject<{
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.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__default.ZodObject<{
                enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
            }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
                voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                    scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                    postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                    minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>>;
                endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                    threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                    minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>>;
            }, z__default.core.$strip>, "output">>>({ plugin, telemetry }: PluginClientParams<{
                readonly name: "generation";
                readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                    enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>, "output">;
                readonly dependencies: [];
                readonly class: <const ProvidedConfigs_1 extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z__default.ZodObject<{
                    enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
                    voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                    endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                }, z__default.core.$strip>, "output">>>({ plugin }: PluginClientParams<{
                    readonly name: "generation";
                    readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                        enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.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__default.ZodObject<{
                            voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                                scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                                postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                                minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>>;
                            endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                                threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                                maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>, "output">;
                        context: ZodObjectWithTelemetry<z__default.ZodObject<{
                            messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>>;
                            status: z__default.ZodPrefault<z__default.ZodObject<{
                                listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                                thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                                speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>>;
                            voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>, "output">;
                        events: [{
                            readonly name: "plugin.start";
                            readonly dataSchema: z__default.ZodObject<{
                                isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                                restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>;
                        }, {
                            readonly name: "plugin.stop";
                        }, {
                            readonly name: "plugin.test";
                        }, {
                            readonly name: "plugin.error";
                            readonly dataSchema: z__default.ZodObject<{
                                error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                                event: z__default.ZodObject<{
                                    id: z__default.ZodString;
                                    name: z__default.ZodString;
                                    urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                                    data: z__default.ZodPrefault<z__default.ZodAny>;
                                    created: z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"handler">;
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                            event: z__default.ZodString;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"server">;
                                            name: z__default.ZodString;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"client">;
                                            name: z__default.ZodString;
                                        }, z__default.core.$strip>], "type">;
                                    }, z__default.core.$strip>;
                                    edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodObject<{
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                        }, z__default.core.$strip>;
                                        reason: z__default.ZodString;
                                        dataBefore: z__default.ZodAny;
                                        dataAfter: z__default.ZodAny;
                                    }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                                    dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodObject<{
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                        }, z__default.core.$strip>;
                                        reason: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                                    contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        byHandler: z__default.ZodString;
                                        valueBefore: z__default.ZodAny;
                                        valueAfter: z__default.ZodAny;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>;
                            }, z__default.core.$strip>;
                        }] | [{
                            name: "messages.create";
                            dataSchema: z__default.ZodObject<{
                                message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>], "role">;
                            }, z__default.core.$strip>;
                        }, {
                            name: "messages.update";
                            dataSchema: z__default.ZodObject<{
                                id: z__default.ZodString;
                                role: z__default.ZodEnum<{
                                    user: "user";
                                    system: "system";
                                    agent: "agent";
                                    tool: "tool";
                                }>;
                                message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>], "role">;
                            }, z__default.core.$strip>;
                        }, {
                            name: "user.audio-chunk";
                            dataSchema: z__default.ZodObject<{
                                audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "user.voice-start";
                        }, {
                            name: "user.voice-chunk";
                            dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                type: z__default.ZodLiteral<"voice">;
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"padding">;
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                                paddingSide: z__default.ZodEnum<{
                                    pre: "pre";
                                    post: "post";
                                }>;
                                paddingIndex: z__default.ZodNumber;
                            }, z__default.core.$strip>], "type">;
                        }, {
                            name: "user.voice-end";
                        }, {
                            name: "user.text-chunk";
                            dataSchema: z__default.ZodObject<{
                                textChunk: z__default.ZodString;
                            }, z__default.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__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.decide";
                            dataSchema: z__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>], "role">>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.say";
                            dataSchema: z__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                text: z__default.ZodString;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.interrupt";
                            dataSchema: z__default.ZodObject<{
                                reason: z__default.ZodString;
                                author: z__default.ZodEnum<{
                                    user: "user";
                                    application: "application";
                                }>;
                                force: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.resources-request";
                        }, {
                            name: "agent.resources-response";
                            dataSchema: z__default.ZodObject<{
                                requestId: z__default.ZodString;
                                resources: z__default.ZodObject<{
                                    messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"user">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"system">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"agent">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                            toolRequestId: z__default.ZodString;
                                            toolName: z__default.ZodString;
                                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                        }, z__default.core.$strip>>>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"tool">;
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolSuccess: z__default.ZodBoolean;
                                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        toolError: z__default.ZodOptional<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>], "role">>;
                                    tools: z__default.ZodArray<z__default.ZodObject<{
                                        name: z__default.ZodString;
                                        description: z__default.ZodString;
                                        schema: z__default.ZodObject<{
                                            input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                            output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                        }, z__default.core.$strip>;
                                        run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                            success: z__default.ZodBoolean;
                                            output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                            error: z__default.ZodOptional<z__default.ZodString>;
                                        }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                            success: z__default.ZodBoolean;
                                            output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                            error: z__default.ZodOptional<z__default.ZodString>;
                                        }, z__default.core.$strip>>]>>;
                                    }, z__default.core.$strip>>;
                                }, z__default.core.$strip>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.tool-requests";
                            dataSchema: z__default.ZodObject<{
                                requests: z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.interrupted";
                            dataSchema: z__default.ZodObject<{
                                reason: z__default.ZodString;
                                forced: z__default.ZodBoolean;
                                author: z__default.ZodEnum<{
                                    user: "user";
                                    application: "application";
                                }>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.text-chunk";
                            dataSchema: z__default.ZodObject<{
                                textChunk: z__default.ZodString;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.voice-chunk";
                            dataSchema: z__default.ZodObject<{
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.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__default.ZodObject<{
                        voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                        endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>, "output">;
                    context: ZodObjectWithTelemetry<z__default.ZodObject<{
                        messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>>;
                        status: z__default.ZodPrefault<z__default.ZodObject<{
                            listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                            thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                            speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>>;
                        voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>, "output">;
                    events: [{
                        readonly name: "plugin.start";
                        readonly dataSchema: z__default.ZodObject<{
                            isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                            restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>;
                    }, {
                        readonly name: "plugin.stop";
                    }, {
                        readonly name: "plugin.test";
                    }, {
                        readonly name: "plugin.error";
                        readonly dataSchema: z__default.ZodObject<{
                            error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                            event: z__default.ZodObject<{
                                id: z__default.ZodString;
                                name: z__default.ZodString;
                                urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                                data: z__default.ZodPrefault<z__default.ZodAny>;
                                created: z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"handler">;
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                        event: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"server">;
                                        name: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"client">;
                                        name: z__default.ZodString;
                                    }, z__default.core.$strip>], "type">;
                                }, z__default.core.$strip>;
                                edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodObject<{
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                    }, z__default.core.$strip>;
                                    reason: z__default.ZodString;
                                    dataBefore: z__default.ZodAny;
                                    dataAfter: z__default.ZodAny;
                                }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                                dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodObject<{
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                    }, z__default.core.$strip>;
                                    reason: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                                contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    byHandler: z__default.ZodString;
                                    valueBefore: z__default.ZodAny;
                                    valueAfter: z__default.ZodAny;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>;
                        }, z__default.core.$strip>;
                    }] | [{
                        name: "messages.create";
                        dataSchema: z__default.ZodObject<{
                            message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>], "role">;
                        }, z__default.core.$strip>;
                    }, {
                        name: "messages.update";
                        dataSchema: z__default.ZodObject<{
                            id: z__default.ZodString;
                            role: z__default.ZodEnum<{
                                user: "user";
                                system: "system";
                                agent: "agent";
                                tool: "tool";
                            }>;
                            message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>], "role">;
                        }, z__default.core.$strip>;
                    }, {
                        name: "user.audio-chunk";
                        dataSchema: z__default.ZodObject<{
                            audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "user.voice-start";
                    }, {
                        name: "user.voice-chunk";
                        dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            type: z__default.ZodLiteral<"voice">;
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            type: z__default.ZodLiteral<"padding">;
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            paddingSide: z__default.ZodEnum<{
                                pre: "pre";
                                post: "post";
                            }>;
                            paddingIndex: z__default.ZodNumber;
                        }, z__default.core.$strip>], "type">;
                    }, {
                        name: "user.voice-end";
                    }, {
                        name: "user.text-chunk";
                        dataSchema: z__default.ZodObject<{
                            textChunk: z__default.ZodString;
                        }, z__default.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__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.decide";
                        dataSchema: z__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.say";
                        dataSchema: z__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            text: z__default.ZodString;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.interrupt";
                        dataSchema: z__default.ZodObject<{
                            reason: z__default.ZodString;
                            author: z__default.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                            force: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.resources-request";
                    }, {
                        name: "agent.resources-response";
                        dataSchema: z__default.ZodObject<{
                            requestId: z__default.ZodString;
                            resources: z__default.ZodObject<{
                                messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>], "role">>;
                                tools: z__default.ZodArray<z__default.ZodObject<{
                                    name: z__default.ZodString;
                                    description: z__default.ZodString;
                                    schema: z__default.ZodObject<{
                                        input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                        output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                    }, z__default.core.$strip>;
                                    run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                        success: z__default.ZodBoolean;
                                        output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        error: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                        success: z__default.ZodBoolean;
                                        output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        error: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>>]>>;
                                }, z__default.core.$strip>>;
                            }, z__default.core.$strip>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.tool-requests";
                        dataSchema: z__default.ZodObject<{
                            requests: z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.interrupted";
                        dataSchema: z__default.ZodObject<{
                            reason: z__default.ZodString;
                            forced: z__default.ZodBoolean;
                            author: z__default.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.text-chunk";
                        dataSchema: z__default.ZodObject<{
                            textChunk: z__default.ZodString;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.voice-chunk";
                        dataSchema: z__default.ZodObject<{
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.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__default.ZodObject<{
                    voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                    endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                }, z__default.core.$strip>, "output">;
                context: ZodObjectWithTelemetry<z__default.ZodObject<{
                    messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        role: z__default.ZodLiteral<"user">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"system">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"agent">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"tool">;
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolSuccess: z__default.ZodBoolean;
                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                        toolError: z__default.ZodOptional<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>], "role">>>;
                    status: z__default.ZodPrefault<z__default.ZodObject<{
                        listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                        thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                        speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>>;
                    voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>, "output">;
                events: [{
                    readonly name: "plugin.start";
                    readonly dataSchema: z__default.ZodObject<{
                        isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                        restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>;
                }, {
                    readonly name: "plugin.stop";
                }, {
                    readonly name: "plugin.test";
                }, {
                    readonly name: "plugin.error";
                    readonly dataSchema: z__default.ZodObject<{
                        error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                        event: z__default.ZodObject<{
                            id: z__default.ZodString;
                            name: z__default.ZodString;
                            urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                            data: z__default.ZodPrefault<z__default.ZodAny>;
                            created: z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"handler">;
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                    event: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"server">;
                                    name: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"client">;
                                    name: z__default.ZodString;
                                }, z__default.core.$strip>], "type">;
                            }, z__default.core.$strip>;
                            edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodObject<{
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                }, z__default.core.$strip>;
                                reason: z__default.ZodString;
                                dataBefore: z__default.ZodAny;
                                dataAfter: z__default.ZodAny;
                            }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                            dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodObject<{
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                }, z__default.core.$strip>;
                                reason: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                            contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                byHandler: z__default.ZodString;
                                valueBefore: z__default.ZodAny;
                                valueAfter: z__default.ZodAny;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>;
                    }, z__default.core.$strip>;
                }] | [{
                    name: "messages.create";
                    dataSchema: z__default.ZodObject<{
                        message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                        }, z__default.core.$strip>], "role">;
                    }, z__default.core.$strip>;
                }, {
                    name: "messages.update";
                    dataSchema: z__default.ZodObject<{
                        id: z__default.ZodString;
                        role: z__default.ZodEnum<{
                            user: "user";
                            system: "system";
                            agent: "agent";
                            tool: "tool";
                        }>;
                        message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                        }, z__default.core.$strip>], "role">;
                    }, z__default.core.$strip>;
                }, {
                    name: "user.audio-chunk";
                    dataSchema: z__default.ZodObject<{
                        audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.core.$strip>;
                }, {
                    name: "user.voice-start";
                }, {
                    name: "user.voice-chunk";
                    dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        type: z__default.ZodLiteral<"voice">;
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        type: z__default.ZodLiteral<"padding">;
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        paddingSide: z__default.ZodEnum<{
                            pre: "pre";
                            post: "post";
                        }>;
                        paddingIndex: z__default.ZodNumber;
                    }, z__default.core.$strip>], "type">;
                }, {
                    name: "user.voice-end";
                }, {
                    name: "user.text-chunk";
                    dataSchema: z__default.ZodObject<{
                        textChunk: z__default.ZodString;
                    }, z__default.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__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.decide";
                    dataSchema: z__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.say";
                    dataSchema: z__default.ZodObject<{
                        interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                            abrupt: "abrupt";
                            smooth: "smooth";
                        }>, z__default.ZodLiteral<false>]>>;
                        preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        text: z__default.ZodString;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.interrupt";
                    dataSchema: z__default.ZodObject<{
                        reason: z__default.ZodString;
                        author: z__default.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                        force: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.resources-request";
                }, {
                    name: "agent.resources-response";
                    dataSchema: z__default.ZodObject<{
                        requestId: z__default.ZodString;
                        resources: z__default.ZodObject<{
                            messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>;
                            tools: z__default.ZodArray<z__default.ZodObject<{
                                name: z__default.ZodString;
                                description: z__default.ZodString;
                                schema: z__default.ZodObject<{
                                    input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                    output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                }, z__default.core.$strip>;
                                run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                    success: z__default.ZodBoolean;
                                    output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    error: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                    success: z__default.ZodBoolean;
                                    output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    error: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>>]>>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.tool-requests";
                    dataSchema: z__default.ZodObject<{
                        requests: z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.interrupted";
                    dataSchema: z__default.ZodObject<{
                        reason: z__default.ZodString;
                        forced: z__default.ZodBoolean;
                        author: z__default.ZodEnum<{
                            user: "user";
                            application: "application";
                        }>;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.text-chunk";
                    dataSchema: z__default.ZodObject<{
                        textChunk: z__default.ZodString;
                    }, z__default.core.$strip>;
                }, {
                    name: "agent.voice-chunk";
                    dataSchema: z__default.ZodObject<{
                        voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                    }, z__default.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__default.ZodObject<{
            [x: string]: any;
        }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
            items: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodCustom<{
                _definition: MemoryDefinition;
            }, {
                _definition: MemoryDefinition;
            }>>>;
        }, z__default.core.$strip>, "output">>>(_: PluginClientParams<{
            readonly name: "memories";
            readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                [x: string]: any;
            }, z__default.core.$strip>, "output">;
            readonly dependencies: {
                readonly name: "generation";
                readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                    enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>, "output">;
                readonly class: <const ProvidedConfigs_1 extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z__default.ZodObject<{
                    enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
                    voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                    endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                }, z__default.core.$strip>, "output">>>({ plugin }: PluginClientParams<{
                    readonly name: "generation";
                    readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                        enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.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__default.ZodObject<{
                            voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                                scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                                postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                                minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>>;
                            endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                                threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                                maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>, "output">;
                        context: ZodObjectWithTelemetry<z__default.ZodObject<{
                            messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>>;
                            status: z__default.ZodPrefault<z__default.ZodObject<{
                                listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                                thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                                speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>>;
                            voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>, "output">;
                        events: [{
                            readonly name: "plugin.start";
                            readonly dataSchema: z__default.ZodObject<{
                                isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                                restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>;
                        }, {
                            readonly name: "plugin.stop";
                        }, {
                            readonly name: "plugin.test";
                        }, {
                            readonly name: "plugin.error";
                            readonly dataSchema: z__default.ZodObject<{
                                error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                                event: z__default.ZodObject<{
                                    id: z__default.ZodString;
                                    name: z__default.ZodString;
                                    urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                                    data: z__default.ZodPrefault<z__default.ZodAny>;
                                    created: z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"handler">;
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                            event: z__default.ZodString;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"server">;
                                            name: z__default.ZodString;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"client">;
                                            name: z__default.ZodString;
                                        }, z__default.core.$strip>], "type">;
                                    }, z__default.core.$strip>;
                                    edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodObject<{
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                        }, z__default.core.$strip>;
                                        reason: z__default.ZodString;
                                        dataBefore: z__default.ZodAny;
                                        dataAfter: z__default.ZodAny;
                                    }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                                    dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodObject<{
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                        }, z__default.core.$strip>;
                                        reason: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                                    contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        byHandler: z__default.ZodString;
                                        valueBefore: z__default.ZodAny;
                                        valueAfter: z__default.ZodAny;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>;
                            }, z__default.core.$strip>;
                        }] | [{
                            name: "messages.create";
                            dataSchema: z__default.ZodObject<{
                                message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>], "role">;
                            }, z__default.core.$strip>;
                        }, {
                            name: "messages.update";
                            dataSchema: z__default.ZodObject<{
                                id: z__default.ZodString;
                                role: z__default.ZodEnum<{
                                    user: "user";
                                    system: "system";
                                    agent: "agent";
                                    tool: "tool";
                                }>;
                                message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>], "role">;
                            }, z__default.core.$strip>;
                        }, {
                            name: "user.audio-chunk";
                            dataSchema: z__default.ZodObject<{
                                audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "user.voice-start";
                        }, {
                            name: "user.voice-chunk";
                            dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                type: z__default.ZodLiteral<"voice">;
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"padding">;
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                                paddingSide: z__default.ZodEnum<{
                                    pre: "pre";
                                    post: "post";
                                }>;
                                paddingIndex: z__default.ZodNumber;
                            }, z__default.core.$strip>], "type">;
                        }, {
                            name: "user.voice-end";
                        }, {
                            name: "user.text-chunk";
                            dataSchema: z__default.ZodObject<{
                                textChunk: z__default.ZodString;
                            }, z__default.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__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.decide";
                            dataSchema: z__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>], "role">>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.say";
                            dataSchema: z__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                text: z__default.ZodString;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.interrupt";
                            dataSchema: z__default.ZodObject<{
                                reason: z__default.ZodString;
                                author: z__default.ZodEnum<{
                                    user: "user";
                                    application: "application";
                                }>;
                                force: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.resources-request";
                        }, {
                            name: "agent.resources-response";
                            dataSchema: z__default.ZodObject<{
                                requestId: z__default.ZodString;
                                resources: z__default.ZodObject<{
                                    messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"user">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"system">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"agent">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                            toolRequestId: z__default.ZodString;
                                            toolName: z__default.ZodString;
                                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                        }, z__default.core.$strip>>>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"tool">;
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolSuccess: z__default.ZodBoolean;
                                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        toolError: z__default.ZodOptional<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>], "role">>;
                                    tools: z__default.ZodArray<z__default.ZodObject<{
                                        name: z__default.ZodString;
                                        description: z__default.ZodString;
                                        schema: z__default.ZodObject<{
                                            input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                            output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                        }, z__default.core.$strip>;
                                        run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                            success: z__default.ZodBoolean;
                                            output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                            error: z__default.ZodOptional<z__default.ZodString>;
                                        }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                            success: z__default.ZodBoolean;
                                            output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                            error: z__default.ZodOptional<z__default.ZodString>;
                                        }, z__default.core.$strip>>]>>;
                                    }, z__default.core.$strip>>;
                                }, z__default.core.$strip>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.tool-requests";
                            dataSchema: z__default.ZodObject<{
                                requests: z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.interrupted";
                            dataSchema: z__default.ZodObject<{
                                reason: z__default.ZodString;
                                forced: z__default.ZodBoolean;
                                author: z__default.ZodEnum<{
                                    user: "user";
                                    application: "application";
                                }>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.text-chunk";
                            dataSchema: z__default.ZodObject<{
                                textChunk: z__default.ZodString;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.voice-chunk";
                            dataSchema: z__default.ZodObject<{
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.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__default.ZodObject<{
                    enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
                    voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                        minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                    endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                        threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                        minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>>;
                }, z__default.core.$strip>, "output">>>({ plugin, telemetry }: PluginClientParams<{
                    readonly name: "generation";
                    readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                        enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>, "output">;
                    readonly dependencies: [];
                    readonly class: <const ProvidedConfigs_2 extends PluginClientProvidedConfigs<ZodObjectWithTelemetry<z__default.ZodObject<{
                        enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>, "output">, ZodObjectWithTelemetry<z__default.ZodObject<{
                        voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                        endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>, "output">>>({ plugin }: PluginClientParams<{
                        readonly name: "generation";
                        readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
                            enableVoice: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.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__default.ZodObject<{
                                voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                                    scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                    scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                    prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                                    postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                                    minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                                }, z__default.core.$strip>>;
                                endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                                    threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                    minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                                    maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                                }, z__default.core.$strip>>;
                            }, z__default.core.$strip>, "output">;
                            context: ZodObjectWithTelemetry<z__default.ZodObject<{
                                messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>], "role">>>;
                                status: z__default.ZodPrefault<z__default.ZodObject<{
                                    listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                                    thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                                    speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                                }, z__default.core.$strip>>;
                                voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>, "output">;
                            events: [{
                                readonly name: "plugin.start";
                                readonly dataSchema: z__default.ZodObject<{
                                    isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                                    restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                                }, z__default.core.$strip>;
                            }, {
                                readonly name: "plugin.stop";
                            }, {
                                readonly name: "plugin.test";
                            }, {
                                readonly name: "plugin.error";
                                readonly dataSchema: z__default.ZodObject<{
                                    error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                                    event: z__default.ZodObject<{
                                        id: z__default.ZodString;
                                        name: z__default.ZodString;
                                        urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                                        data: z__default.ZodPrefault<z__default.ZodAny>;
                                        created: z__default.ZodObject<{
                                            at: z__default.ZodNumber;
                                            by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                                type: z__default.ZodLiteral<"handler">;
                                                plugin: z__default.ZodString;
                                                handler: z__default.ZodString;
                                                event: z__default.ZodString;
                                            }, z__default.core.$strip>, z__default.ZodObject<{
                                                type: z__default.ZodLiteral<"server">;
                                                name: z__default.ZodString;
                                            }, z__default.core.$strip>, z__default.ZodObject<{
                                                type: z__default.ZodLiteral<"client">;
                                                name: z__default.ZodString;
                                            }, z__default.core.$strip>], "type">;
                                        }, z__default.core.$strip>;
                                        edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                            at: z__default.ZodNumber;
                                            by: z__default.ZodObject<{
                                                plugin: z__default.ZodString;
                                                handler: z__default.ZodString;
                                            }, z__default.core.$strip>;
                                            reason: z__default.ZodString;
                                            dataBefore: z__default.ZodAny;
                                            dataAfter: z__default.ZodAny;
                                        }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                                        dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                            at: z__default.ZodNumber;
                                            by: z__default.ZodObject<{
                                                plugin: z__default.ZodString;
                                                handler: z__default.ZodString;
                                            }, z__default.core.$strip>;
                                            reason: z__default.ZodString;
                                        }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                                        contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                            at: z__default.ZodNumber;
                                            byHandler: z__default.ZodString;
                                            valueBefore: z__default.ZodAny;
                                            valueAfter: z__default.ZodAny;
                                        }, z__default.core.$strip>>>;
                                    }, z__default.core.$strip>;
                                }, z__default.core.$strip>;
                            }] | [{
                                name: "messages.create";
                                dataSchema: z__default.ZodObject<{
                                    message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"user">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"system">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"agent">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                            toolRequestId: z__default.ZodString;
                                            toolName: z__default.ZodString;
                                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                        }, z__default.core.$strip>>>;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"tool">;
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolSuccess: z__default.ZodBoolean;
                                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        toolError: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>], "role">;
                                }, z__default.core.$strip>;
                            }, {
                                name: "messages.update";
                                dataSchema: z__default.ZodObject<{
                                    id: z__default.ZodString;
                                    role: z__default.ZodEnum<{
                                        user: "user";
                                        system: "system";
                                        agent: "agent";
                                        tool: "tool";
                                    }>;
                                    message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"user">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"system">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"agent">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                            toolRequestId: z__default.ZodString;
                                            toolName: z__default.ZodString;
                                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                        }, z__default.core.$strip>>>;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"tool">;
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolSuccess: z__default.ZodBoolean;
                                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        toolError: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>], "role">;
                                }, z__default.core.$strip>;
                            }, {
                                name: "user.audio-chunk";
                                dataSchema: z__default.ZodObject<{
                                    audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                                }, z__default.core.$strip>;
                            }, {
                                name: "user.voice-start";
                            }, {
                                name: "user.voice-chunk";
                                dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"voice">;
                                    voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"padding">;
                                    voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                                    paddingSide: z__default.ZodEnum<{
                                        pre: "pre";
                                        post: "post";
                                    }>;
                                    paddingIndex: z__default.ZodNumber;
                                }, z__default.core.$strip>], "type">;
                            }, {
                                name: "user.voice-end";
                            }, {
                                name: "user.text-chunk";
                                dataSchema: z__default.ZodObject<{
                                    textChunk: z__default.ZodString;
                                }, z__default.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__default.ZodObject<{
                                    interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                        abrupt: "abrupt";
                                        smooth: "smooth";
                                    }>, z__default.ZodLiteral<false>]>>;
                                    preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                }, z__default.core.$strip>;
                            }, {
                                name: "agent.decide";
                                dataSchema: z__default.ZodObject<{
                                    interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                        abrupt: "abrupt";
                                        smooth: "smooth";
                                    }>, z__default.ZodLiteral<false>]>>;
                                    preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                    messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"user">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"system">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"agent">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                            toolRequestId: z__default.ZodString;
                                            toolName: z__default.ZodString;
                                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                        }, z__default.core.$strip>>>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"tool">;
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolSuccess: z__default.ZodBoolean;
                                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        toolError: z__default.ZodOptional<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>], "role">>;
                                }, z__default.core.$strip>;
                            }, {
                                name: "agent.say";
                                dataSchema: z__default.ZodObject<{
                                    interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                        abrupt: "abrupt";
                                        smooth: "smooth";
                                    }>, z__default.ZodLiteral<false>]>>;
                                    preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                    text: z__default.ZodString;
                                }, z__default.core.$strip>;
                            }, {
                                name: "agent.interrupt";
                                dataSchema: z__default.ZodObject<{
                                    reason: z__default.ZodString;
                                    author: z__default.ZodEnum<{
                                        user: "user";
                                        application: "application";
                                    }>;
                                    force: z__default.ZodPrefault<z__default.ZodBoolean>;
                                }, z__default.core.$strip>;
                            }, {
                                name: "agent.resources-request";
                            }, {
                                name: "agent.resources-response";
                                dataSchema: z__default.ZodObject<{
                                    requestId: z__default.ZodString;
                                    resources: z__default.ZodObject<{
                                        messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                            role: z__default.ZodLiteral<"user">;
                                            content: z__default.ZodPrefault<z__default.ZodString>;
                                            id: z__default.ZodString;
                                            createdAt: z__default.ZodNumber;
                                            lastUpdated: z__default.ZodNumber;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            role: z__default.ZodLiteral<"system">;
                                            content: z__default.ZodPrefault<z__default.ZodString>;
                                            id: z__default.ZodString;
                                            createdAt: z__default.ZodNumber;
                                            lastUpdated: z__default.ZodNumber;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            role: z__default.ZodLiteral<"agent">;
                                            content: z__default.ZodPrefault<z__default.ZodString>;
                                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                                toolRequestId: z__default.ZodString;
                                                toolName: z__default.ZodString;
                                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                            }, z__default.core.$strip>>>;
                                            id: z__default.ZodString;
                                            createdAt: z__default.ZodNumber;
                                            lastUpdated: z__default.ZodNumber;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            role: z__default.ZodLiteral<"tool">;
                                            toolRequestId: z__default.ZodString;
                                            toolName: z__default.ZodString;
                                            toolSuccess: z__default.ZodBoolean;
                                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                            toolError: z__default.ZodOptional<z__default.ZodString>;
                                            id: z__default.ZodString;
                                            createdAt: z__default.ZodNumber;
                                            lastUpdated: z__default.ZodNumber;
                                        }, z__default.core.$strip>], "role">>;
                                        tools: z__default.ZodArray<z__default.ZodObject<{
                                            name: z__default.ZodString;
                                            description: z__default.ZodString;
                                            schema: z__default.ZodObject<{
                                                input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                                output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                            }, z__default.core.$strip>;
                                            run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                                success: z__default.ZodBoolean;
                                                output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                                error: z__default.ZodOptional<z__default.ZodString>;
                                            }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                                success: z__default.ZodBoolean;
                                                output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                                error: z__default.ZodOptional<z__default.ZodString>;
                                            }, z__default.core.$strip>>]>>;
                                        }, z__default.core.$strip>>;
                                    }, z__default.core.$strip>;
                                }, z__default.core.$strip>;
                            }, {
                                name: "agent.tool-requests";
                                dataSchema: z__default.ZodObject<{
                                    requests: z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>;
                                }, z__default.core.$strip>;
                            }, {
                                name: "agent.interrupted";
                                dataSchema: z__default.ZodObject<{
                                    reason: z__default.ZodString;
                                    forced: z__default.ZodBoolean;
                                    author: z__default.ZodEnum<{
                                        user: "user";
                                        application: "application";
                                    }>;
                                }, z__default.core.$strip>;
                            }, {
                                name: "agent.text-chunk";
                                dataSchema: z__default.ZodObject<{
                                    textChunk: z__default.ZodString;
                                }, z__default.core.$strip>;
                            }, {
                                name: "agent.voice-chunk";
                                dataSchema: z__default.ZodObject<{
                                    voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                                }, z__default.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__default.ZodObject<{
                            voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                                scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                                postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                                minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>>;
                            endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                                threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                                minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                                maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>, "output">;
                        context: ZodObjectWithTelemetry<z__default.ZodObject<{
                            messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>>;
                            status: z__default.ZodPrefault<z__default.ZodObject<{
                                listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                                thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                                speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>>;
                            voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>, "output">;
                        events: [{
                            readonly name: "plugin.start";
                            readonly dataSchema: z__default.ZodObject<{
                                isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                                restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                            }, z__default.core.$strip>;
                        }, {
                            readonly name: "plugin.stop";
                        }, {
                            readonly name: "plugin.test";
                        }, {
                            readonly name: "plugin.error";
                            readonly dataSchema: z__default.ZodObject<{
                                error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                                event: z__default.ZodObject<{
                                    id: z__default.ZodString;
                                    name: z__default.ZodString;
                                    urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                                    data: z__default.ZodPrefault<z__default.ZodAny>;
                                    created: z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"handler">;
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                            event: z__default.ZodString;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"server">;
                                            name: z__default.ZodString;
                                        }, z__default.core.$strip>, z__default.ZodObject<{
                                            type: z__default.ZodLiteral<"client">;
                                            name: z__default.ZodString;
                                        }, z__default.core.$strip>], "type">;
                                    }, z__default.core.$strip>;
                                    edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodObject<{
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                        }, z__default.core.$strip>;
                                        reason: z__default.ZodString;
                                        dataBefore: z__default.ZodAny;
                                        dataAfter: z__default.ZodAny;
                                    }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                                    dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        by: z__default.ZodObject<{
                                            plugin: z__default.ZodString;
                                            handler: z__default.ZodString;
                                        }, z__default.core.$strip>;
                                        reason: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                                    contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        at: z__default.ZodNumber;
                                        byHandler: z__default.ZodString;
                                        valueBefore: z__default.ZodAny;
                                        valueAfter: z__default.ZodAny;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>;
                            }, z__default.core.$strip>;
                        }] | [{
                            name: "messages.create";
                            dataSchema: z__default.ZodObject<{
                                message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>], "role">;
                            }, z__default.core.$strip>;
                        }, {
                            name: "messages.update";
                            dataSchema: z__default.ZodObject<{
                                id: z__default.ZodString;
                                role: z__default.ZodEnum<{
                                    user: "user";
                                    system: "system";
                                    agent: "agent";
                                    tool: "tool";
                                }>;
                                message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                }, z__default.core.$strip>], "role">;
                            }, z__default.core.$strip>;
                        }, {
                            name: "user.audio-chunk";
                            dataSchema: z__default.ZodObject<{
                                audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "user.voice-start";
                        }, {
                            name: "user.voice-chunk";
                            dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                type: z__default.ZodLiteral<"voice">;
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"padding">;
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                                paddingSide: z__default.ZodEnum<{
                                    pre: "pre";
                                    post: "post";
                                }>;
                                paddingIndex: z__default.ZodNumber;
                            }, z__default.core.$strip>], "type">;
                        }, {
                            name: "user.voice-end";
                        }, {
                            name: "user.text-chunk";
                            dataSchema: z__default.ZodObject<{
                                textChunk: z__default.ZodString;
                            }, z__default.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__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.decide";
                            dataSchema: z__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>], "role">>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.say";
                            dataSchema: z__default.ZodObject<{
                                interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                    abrupt: "abrupt";
                                    smooth: "smooth";
                                }>, z__default.ZodLiteral<false>]>>;
                                preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                                text: z__default.ZodString;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.interrupt";
                            dataSchema: z__default.ZodObject<{
                                reason: z__default.ZodString;
                                author: z__default.ZodEnum<{
                                    user: "user";
                                    application: "application";
                                }>;
                                force: z__default.ZodPrefault<z__default.ZodBoolean>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.resources-request";
                        }, {
                            name: "agent.resources-response";
                            dataSchema: z__default.ZodObject<{
                                requestId: z__default.ZodString;
                                resources: z__default.ZodObject<{
                                    messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"user">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"system">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"agent">;
                                        content: z__default.ZodPrefault<z__default.ZodString>;
                                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                            toolRequestId: z__default.ZodString;
                                            toolName: z__default.ZodString;
                                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                        }, z__default.core.$strip>>>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        role: z__default.ZodLiteral<"tool">;
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolSuccess: z__default.ZodBoolean;
                                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        toolError: z__default.ZodOptional<z__default.ZodString>;
                                        id: z__default.ZodString;
                                        createdAt: z__default.ZodNumber;
                                        lastUpdated: z__default.ZodNumber;
                                    }, z__default.core.$strip>], "role">>;
                                    tools: z__default.ZodArray<z__default.ZodObject<{
                                        name: z__default.ZodString;
                                        description: z__default.ZodString;
                                        schema: z__default.ZodObject<{
                                            input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                            output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                        }, z__default.core.$strip>;
                                        run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                            success: z__default.ZodBoolean;
                                            output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                            error: z__default.ZodOptional<z__default.ZodString>;
                                        }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                            success: z__default.ZodBoolean;
                                            output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                            error: z__default.ZodOptional<z__default.ZodString>;
                                        }, z__default.core.$strip>>]>>;
                                    }, z__default.core.$strip>>;
                                }, z__default.core.$strip>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.tool-requests";
                            dataSchema: z__default.ZodObject<{
                                requests: z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.interrupted";
                            dataSchema: z__default.ZodObject<{
                                reason: z__default.ZodString;
                                forced: z__default.ZodBoolean;
                                author: z__default.ZodEnum<{
                                    user: "user";
                                    application: "application";
                                }>;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.text-chunk";
                            dataSchema: z__default.ZodObject<{
                                textChunk: z__default.ZodString;
                            }, z__default.core.$strip>;
                        }, {
                            name: "agent.voice-chunk";
                            dataSchema: z__default.ZodObject<{
                                voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            }, z__default.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__default.ZodObject<{
                        voiceDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            scoreInThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            scoreOutThreshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            prePaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            postPaddingChunks: z__default.ZodPrefault<z__default.ZodNumber>;
                            minVoiceInterruptionMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                        endOfTurnDetection: z__default.ZodPrefault<z__default.ZodObject<{
                            threshold: z__default.ZodPrefault<z__default.ZodNumber>;
                            minTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                            maxTimeoutMs: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>>;
                    }, z__default.core.$strip>, "output">;
                    context: ZodObjectWithTelemetry<z__default.ZodObject<{
                        messages: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>>;
                        status: z__default.ZodPrefault<z__default.ZodObject<{
                            listening: z__default.ZodPrefault<z__default.ZodBoolean>;
                            thinking: z__default.ZodPrefault<z__default.ZodBoolean>;
                            speaking: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>>;
                        voiceEnabled: z__default.ZodPrefault<z__default.ZodBoolean>;
                    }, z__default.core.$strip>, "output">;
                    events: [{
                        readonly name: "plugin.start";
                        readonly dataSchema: z__default.ZodObject<{
                            isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                            restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                        }, z__default.core.$strip>;
                    }, {
                        readonly name: "plugin.stop";
                    }, {
                        readonly name: "plugin.test";
                    }, {
                        readonly name: "plugin.error";
                        readonly dataSchema: z__default.ZodObject<{
                            error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                            event: z__default.ZodObject<{
                                id: z__default.ZodString;
                                name: z__default.ZodString;
                                urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                                data: z__default.ZodPrefault<z__default.ZodAny>;
                                created: z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"handler">;
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                        event: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"server">;
                                        name: z__default.ZodString;
                                    }, z__default.core.$strip>, z__default.ZodObject<{
                                        type: z__default.ZodLiteral<"client">;
                                        name: z__default.ZodString;
                                    }, z__default.core.$strip>], "type">;
                                }, z__default.core.$strip>;
                                edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodObject<{
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                    }, z__default.core.$strip>;
                                    reason: z__default.ZodString;
                                    dataBefore: z__default.ZodAny;
                                    dataAfter: z__default.ZodAny;
                                }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                                dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    by: z__default.ZodObject<{
                                        plugin: z__default.ZodString;
                                        handler: z__default.ZodString;
                                    }, z__default.core.$strip>;
                                    reason: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                                contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    at: z__default.ZodNumber;
                                    byHandler: z__default.ZodString;
                                    valueBefore: z__default.ZodAny;
                                    valueAfter: z__default.ZodAny;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>;
                        }, z__default.core.$strip>;
                    }] | [{
                        name: "messages.create";
                        dataSchema: z__default.ZodObject<{
                            message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>], "role">;
                        }, z__default.core.$strip>;
                    }, {
                        name: "messages.update";
                        dataSchema: z__default.ZodObject<{
                            id: z__default.ZodString;
                            role: z__default.ZodEnum<{
                                user: "user";
                                system: "system";
                                agent: "agent";
                                tool: "tool";
                            }>;
                            message: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                            }, z__default.core.$strip>], "role">;
                        }, z__default.core.$strip>;
                    }, {
                        name: "user.audio-chunk";
                        dataSchema: z__default.ZodObject<{
                            audioChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "user.voice-start";
                    }, {
                        name: "user.voice-chunk";
                        dataSchema: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            type: z__default.ZodLiteral<"voice">;
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            type: z__default.ZodLiteral<"padding">;
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                            paddingSide: z__default.ZodEnum<{
                                pre: "pre";
                                post: "post";
                            }>;
                            paddingIndex: z__default.ZodNumber;
                        }, z__default.core.$strip>], "type">;
                    }, {
                        name: "user.voice-end";
                    }, {
                        name: "user.text-chunk";
                        dataSchema: z__default.ZodObject<{
                            textChunk: z__default.ZodString;
                        }, z__default.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__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.decide";
                        dataSchema: z__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                role: z__default.ZodLiteral<"user">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"system">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"agent">;
                                content: z__default.ZodPrefault<z__default.ZodString>;
                                toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                }, z__default.core.$strip>>>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                role: z__default.ZodLiteral<"tool">;
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolSuccess: z__default.ZodBoolean;
                                toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                toolError: z__default.ZodOptional<z__default.ZodString>;
                                id: z__default.ZodString;
                                createdAt: z__default.ZodNumber;
                                lastUpdated: z__default.ZodNumber;
                            }, z__default.core.$strip>], "role">>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.say";
                        dataSchema: z__default.ZodObject<{
                            interrupt: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodEnum<{
                                abrupt: "abrupt";
                                smooth: "smooth";
                            }>, z__default.ZodLiteral<false>]>>;
                            preventInterruption: z__default.ZodPrefault<z__default.ZodBoolean>;
                            text: z__default.ZodString;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.interrupt";
                        dataSchema: z__default.ZodObject<{
                            reason: z__default.ZodString;
                            author: z__default.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                            force: z__default.ZodPrefault<z__default.ZodBoolean>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.resources-request";
                    }, {
                        name: "agent.resources-response";
                        dataSchema: z__default.ZodObject<{
                            requestId: z__default.ZodString;
                            resources: z__default.ZodObject<{
                                messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"user">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"system">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"agent">;
                                    content: z__default.ZodPrefault<z__default.ZodString>;
                                    toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                        toolRequestId: z__default.ZodString;
                                        toolName: z__default.ZodString;
                                        toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                                    }, z__default.core.$strip>>>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    role: z__default.ZodLiteral<"tool">;
                                    toolRequestId: z__default.ZodString;
                                    toolName: z__default.ZodString;
                                    toolSuccess: z__default.ZodBoolean;
                                    toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                    toolError: z__default.ZodOptional<z__default.ZodString>;
                                    id: z__default.ZodString;
                                    createdAt: z__default.ZodNumber;
                                    lastUpdated: z__default.ZodNumber;
                                }, z__default.core.$strip>], "role">>;
                                tools: z__default.ZodArray<z__default.ZodObject<{
                                    name: z__default.ZodString;
                                    description: z__default.ZodString;
                                    schema: z__default.ZodObject<{
                                        input: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                        output: z__default.ZodCustom<z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>, z__default.ZodObject<z__default.core.$ZodLooseShape, z__default.core.$strip>>;
                                    }, z__default.core.$strip>;
                                    run: z__default.ZodFunction<z__default.ZodTuple<readonly [z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>], null>, z__default.ZodUnion<readonly [z__default.ZodObject<{
                                        success: z__default.ZodBoolean;
                                        output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        error: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>, z__default.ZodPromise<z__default.ZodObject<{
                                        success: z__default.ZodBoolean;
                                        output: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                                        error: z__default.ZodOptional<z__default.ZodString>;
                                    }, z__default.core.$strip>>]>>;
                                }, z__default.core.$strip>>;
                            }, z__default.core.$strip>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.tool-requests";
                        dataSchema: z__default.ZodObject<{
                            requests: z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.interrupted";
                        dataSchema: z__default.ZodObject<{
                            reason: z__default.ZodString;
                            forced: z__default.ZodBoolean;
                            author: z__default.ZodEnum<{
                                user: "user";
                                application: "application";
                            }>;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.text-chunk";
                        dataSchema: z__default.ZodObject<{
                            textChunk: z__default.ZodString;
                        }, z__default.core.$strip>;
                    }, {
                        name: "agent.voice-chunk";
                        dataSchema: z__default.ZodObject<{
                            voiceChunk: z__default.ZodCustom<Int16Array<ArrayBufferLike>, Int16Array<ArrayBufferLike>>;
                        }, z__default.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__default.ZodObject<{
                    items: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodCustom<{
                        _definition: MemoryDefinition;
                    }, {
                        _definition: MemoryDefinition;
                    }>>>;
                }, z__default.core.$strip>, "output">;
                context: ZodObjectWithTelemetry<z__default.ZodObject<{
                    memoriesLastResults: z__default.ZodPrefault<z__default.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__default.ZodPrefault<z__default.ZodCustom<Map<string, number>, Map<string, number>>>;
                    processedRequestsIds: z__default.ZodPrefault<z__default.ZodCustom<Set<string>, Set<string>>>;
                    computedMemoriesCache: z__default.ZodPrefault<z__default.ZodCustom<Map<string, {
                        hash: string;
                        memories: Message[];
                    }>, Map<string, {
                        hash: string;
                        memories: Message[];
                    }>>>;
                }, z__default.core.$strip>, "output">;
                events: [{
                    readonly name: "plugin.start";
                    readonly dataSchema: z__default.ZodObject<{
                        isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                        restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                    }, z__default.core.$strip>;
                }, {
                    readonly name: "plugin.stop";
                }, {
                    readonly name: "plugin.test";
                }, {
                    readonly name: "plugin.error";
                    readonly dataSchema: z__default.ZodObject<{
                        error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                        event: z__default.ZodObject<{
                            id: z__default.ZodString;
                            name: z__default.ZodString;
                            urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                            data: z__default.ZodPrefault<z__default.ZodAny>;
                            created: z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"handler">;
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                    event: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"server">;
                                    name: z__default.ZodString;
                                }, z__default.core.$strip>, z__default.ZodObject<{
                                    type: z__default.ZodLiteral<"client">;
                                    name: z__default.ZodString;
                                }, z__default.core.$strip>], "type">;
                            }, z__default.core.$strip>;
                            edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodObject<{
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                }, z__default.core.$strip>;
                                reason: z__default.ZodString;
                                dataBefore: z__default.ZodAny;
                                dataAfter: z__default.ZodAny;
                            }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                            dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                by: z__default.ZodObject<{
                                    plugin: z__default.ZodString;
                                    handler: z__default.ZodString;
                                }, z__default.core.$strip>;
                                reason: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                            contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                at: z__default.ZodNumber;
                                byHandler: z__default.ZodString;
                                valueBefore: z__default.ZodAny;
                                valueAfter: z__default.ZodAny;
                            }, z__default.core.$strip>>>;
                        }, z__default.core.$strip>;
                    }, z__default.core.$strip>;
                }] | [{
                    name: "cache-build";
                    dataSchema: z__default.ZodObject<{
                        messagesHash: z__default.ZodString;
                        memories: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>;
                    }, z__default.core.$strip>;
                }, {
                    name: "cache-memory";
                    dataSchema: z__default.ZodObject<{
                        name: z__default.ZodString;
                        messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                            role: z__default.ZodLiteral<"user">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"system">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"agent">;
                            content: z__default.ZodPrefault<z__default.ZodString>;
                            toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                                toolRequestId: z__default.ZodString;
                                toolName: z__default.ZodString;
                                toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                            }, z__default.core.$strip>>>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>, z__default.ZodObject<{
                            role: z__default.ZodLiteral<"tool">;
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolSuccess: z__default.ZodBoolean;
                            toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                            toolError: z__default.ZodOptional<z__default.ZodString>;
                            id: z__default.ZodString;
                            createdAt: z__default.ZodNumber;
                            lastUpdated: z__default.ZodNumber;
                        }, z__default.core.$strip>], "role">>;
                        timestamp: z__default.ZodNumber;
                    }, z__default.core.$strip>;
                }];
                handlers: never[];
            } & {
                dependencies: [];
            };
        }, ProvidedConfigs>) => {
            new (): {};
        };
        readonly atoms: <const _ProvidedConfigs>(..._args: Any[]) => never[];
        readonly $serverDef: {
            name: "memories";
            config: ZodObjectWithTelemetry<z__default.ZodObject<{
                items: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodCustom<{
                    _definition: MemoryDefinition;
                }, {
                    _definition: MemoryDefinition;
                }>>>;
            }, z__default.core.$strip>, "output">;
            context: ZodObjectWithTelemetry<z__default.ZodObject<{
                memoriesLastResults: z__default.ZodPrefault<z__default.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__default.ZodPrefault<z__default.ZodCustom<Map<string, number>, Map<string, number>>>;
                processedRequestsIds: z__default.ZodPrefault<z__default.ZodCustom<Set<string>, Set<string>>>;
                computedMemoriesCache: z__default.ZodPrefault<z__default.ZodCustom<Map<string, {
                    hash: string;
                    memories: Message[];
                }>, Map<string, {
                    hash: string;
                    memories: Message[];
                }>>>;
            }, z__default.core.$strip>, "output">;
            events: [{
                readonly name: "plugin.start";
                readonly dataSchema: z__default.ZodObject<{
                    isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                    restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>;
            }, {
                readonly name: "plugin.stop";
            }, {
                readonly name: "plugin.test";
            }, {
                readonly name: "plugin.error";
                readonly dataSchema: z__default.ZodObject<{
                    error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                    event: z__default.ZodObject<{
                        id: z__default.ZodString;
                        name: z__default.ZodString;
                        urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                        data: z__default.ZodPrefault<z__default.ZodAny>;
                        created: z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                type: z__default.ZodLiteral<"handler">;
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                                event: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"server">;
                                name: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"client">;
                                name: z__default.ZodString;
                            }, z__default.core.$strip>], "type">;
                        }, z__default.core.$strip>;
                        edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodObject<{
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                            }, z__default.core.$strip>;
                            reason: z__default.ZodString;
                            dataBefore: z__default.ZodAny;
                            dataAfter: z__default.ZodAny;
                        }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                        dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodObject<{
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                            }, z__default.core.$strip>;
                            reason: z__default.ZodString;
                        }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                        contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            byHandler: z__default.ZodString;
                            valueBefore: z__default.ZodAny;
                            valueAfter: z__default.ZodAny;
                        }, z__default.core.$strip>>>;
                    }, z__default.core.$strip>;
                }, z__default.core.$strip>;
            }] | [{
                name: "cache-build";
                dataSchema: z__default.ZodObject<{
                    messagesHash: z__default.ZodString;
                    memories: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        role: z__default.ZodLiteral<"user">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"system">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"agent">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"tool">;
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolSuccess: z__default.ZodBoolean;
                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                        toolError: z__default.ZodOptional<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>], "role">>;
                }, z__default.core.$strip>;
            }, {
                name: "cache-memory";
                dataSchema: z__default.ZodObject<{
                    name: z__default.ZodString;
                    messages: z__default.ZodArray<z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                        role: z__default.ZodLiteral<"user">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"system">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"agent">;
                        content: z__default.ZodPrefault<z__default.ZodString>;
                        toolsRequests: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            toolRequestId: z__default.ZodString;
                            toolName: z__default.ZodString;
                            toolInput: z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>;
                        }, z__default.core.$strip>>>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>, z__default.ZodObject<{
                        role: z__default.ZodLiteral<"tool">;
                        toolRequestId: z__default.ZodString;
                        toolName: z__default.ZodString;
                        toolSuccess: z__default.ZodBoolean;
                        toolOutput: z__default.ZodOptional<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
                        toolError: z__default.ZodOptional<z__default.ZodString>;
                        id: z__default.ZodString;
                        createdAt: z__default.ZodNumber;
                        lastUpdated: z__default.ZodNumber;
                    }, z__default.core.$strip>], "role">>;
                    timestamp: z__default.ZodNumber;
                }, z__default.core.$strip>;
            }];
            handlers: never[];
        } & {
            dependencies: [];
        };
    } | {
        readonly name: "stores";
        readonly config: ZodObjectWithTelemetry<z__default.ZodObject<{
            [x: string]: any;
        }, z__default.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__default.ZodObject<{
                items: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodCustom<{
                    _definition: StoreDefinition;
                }, {
                    _definition: StoreDefinition;
                }>>>;
            }, z__default.core.$strip>, "output">;
            context: ZodObjectWithTelemetry<z__default.ZodObject<{
                storesData: z__default.ZodPrefault<z__default.ZodRecord<z__default.ZodString, z__default.ZodAny>>;
            }, z__default.core.$strip>, "output">;
            events: [{
                readonly name: "plugin.start";
                readonly dataSchema: z__default.ZodObject<{
                    isRestart: z__default.ZodPrefault<z__default.ZodBoolean>;
                    restartCount: z__default.ZodPrefault<z__default.ZodNumber>;
                }, z__default.core.$strip>;
            }, {
                readonly name: "plugin.stop";
            }, {
                readonly name: "plugin.test";
            }, {
                readonly name: "plugin.error";
                readonly dataSchema: z__default.ZodObject<{
                    error: z__default.ZodCustom<LifeErrorUnion, LifeErrorUnion>;
                    event: z__default.ZodObject<{
                        id: z__default.ZodString;
                        name: z__default.ZodString;
                        urgent: z__default.ZodPrefault<z__default.ZodBoolean>;
                        data: z__default.ZodPrefault<z__default.ZodAny>;
                        created: z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodDiscriminatedUnion<[z__default.ZodObject<{
                                type: z__default.ZodLiteral<"handler">;
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                                event: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"server">;
                                name: z__default.ZodString;
                            }, z__default.core.$strip>, z__default.ZodObject<{
                                type: z__default.ZodLiteral<"client">;
                                name: z__default.ZodString;
                            }, z__default.core.$strip>], "type">;
                        }, z__default.core.$strip>;
                        edited: z__default.ZodDefault<z__default.ZodUnion<[z__default.ZodArray<z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodObject<{
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                            }, z__default.core.$strip>;
                            reason: z__default.ZodString;
                            dataBefore: z__default.ZodAny;
                            dataAfter: z__default.ZodAny;
                        }, z__default.core.$strip>>, z__default.ZodLiteral<false>]>>;
                        dropped: z__default.ZodPrefault<z__default.ZodUnion<[z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            by: z__default.ZodObject<{
                                plugin: z__default.ZodString;
                                handler: z__default.ZodString;
                            }, z__default.core.$strip>;
                            reason: z__default.ZodString;
                        }, z__default.core.$strip>, z__default.ZodLiteral<false>]>>;
                        contextChanges: z__default.ZodPrefault<z__default.ZodArray<z__default.ZodObject<{
                            at: z__default.ZodNumber;
                            byHandler: z__default.ZodString;
                            valueBefore: z__default.ZodAny;
                            valueAfter: z__default.ZodAny;
                        }, z__default.core.$strip>>>;
                    }, z__default.core.$strip>;
                }, z__default.core.$strip>;
            }] | [{
                name: "update-store-data";
                dataSchema: z__default.ZodObject<{
                    name: z__default.ZodString;
                    data: z__default.ZodAny;
                }, z__default.core.$strip>;
            }, {
                name: "retrieve-store-data";
                dataSchema: z__default.ZodObject<{
                    name: z__default.ZodString;
                }, z__default.core.$strip>;
            }];
            handlers: never[];
        } & {
            dependencies: [];
        };
    })[];
    readonly pluginConfigs: {};
    readonly $serverDef: ServerAgent["def"];
}, never>;

type ClientCache = Map<string, ToPublic<LifeClient>>;
declare global {
    var __LIFE_CLIENT_CACHE__: ClientCache | undefined;
}
/**
 * Creates a new Life.js client instance, which is the main entry point
 * to interact with your Life.js agents.
 *
 * @param options - Client options.
 * @returns LifeClient instance.
 */
declare const createLifeClient: (options?: z__default.input<typeof lifeClientOptionsSchema>) => ToPublic<LifeClient>;

export { AgentClient as A, type ClientBuild as C, LifeClient as L, type PluginClientProvidedConfigs as P, type TypedPluginClientBuilder as T, type PluginClientParams as a, PluginClientBuilder as b, createLifeClient as c, defineAgentClient as d, definePluginClient as e, type AgentClientFromBuild as f, type AgentClientParam as g, type ClientBuildType as h, importClientBuild as i, parseAgentClientParam as p };
