UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

163 lines • 8.64 kB
import { Static, Type } from "typebox"; //#region packages/gateway-protocol/src/schema/channels.d.ts /** Canonical Talk event envelope emitted to browser, relay, and channel consumers. */ declare const TalkEventSchema: Type.TObject<{ id: Type.TString; type: Type.TUnion<[Type.TLiteral<"session.started">, Type.TLiteral<"session.ready">, Type.TLiteral<"session.closed">, Type.TLiteral<"session.error">, Type.TLiteral<"session.replaced">, Type.TLiteral<"turn.started">, Type.TLiteral<"turn.ended">, Type.TLiteral<"turn.cancelled">, Type.TLiteral<"capture.started">, Type.TLiteral<"capture.stopped">, Type.TLiteral<"capture.cancelled">, Type.TLiteral<"capture.once">, Type.TLiteral<"input.audio.delta">, Type.TLiteral<"input.audio.committed">, Type.TLiteral<"transcript.delta">, Type.TLiteral<"transcript.done">, Type.TLiteral<"output.text.delta">, Type.TLiteral<"output.text.done">, Type.TLiteral<"output.audio.started">, Type.TLiteral<"output.audio.delta">, Type.TLiteral<"output.audio.done">, Type.TLiteral<"tool.call">, Type.TLiteral<"tool.progress">, Type.TLiteral<"tool.result">, Type.TLiteral<"tool.error">, Type.TLiteral<"usage.metrics">, Type.TLiteral<"latency.metrics">, Type.TLiteral<"health.changed">]>; sessionId: Type.TString; turnId: Type.TOptional<Type.TString>; captureId: Type.TOptional<Type.TString>; seq: Type.TInteger; timestamp: Type.TString; mode: Type.TUnion<[Type.TLiteral<"realtime">, Type.TLiteral<"stt-tts">, Type.TLiteral<"transcription">]>; transport: Type.TUnion<[Type.TLiteral<"webrtc">, Type.TLiteral<"provider-websocket">, Type.TLiteral<"gateway-relay">, Type.TLiteral<"managed-room">]>; brain: Type.TUnion<[Type.TLiteral<"agent-consult">, Type.TLiteral<"direct-tools">, Type.TLiteral<"none">]>; provider: Type.TOptional<Type.TString>; final: Type.TOptional<Type.TBoolean>; callId: Type.TOptional<Type.TString>; itemId: Type.TOptional<Type.TString>; parentId: Type.TOptional<Type.TString>; payload: Type.TUnknown; }>; declare const TalkClientCreateResultSchema: Type.TUnion<[Type.TObject<{ provider: Type.TString; transport: Type.TLiteral<"webrtc">; voiceSessionId: Type.TString; clientSecret: Type.TString; offerUrl: Type.TOptional<Type.TString>; offerHeaders: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>; model: Type.TOptional<Type.TString>; voice: Type.TOptional<Type.TString>; expiresAt: Type.TOptional<Type.TNumber>; clientControl: Type.TOptional<Type.TObject<{ owner: Type.TLiteral<"gateway">; }>>; }>, Type.TObject<{ provider: Type.TString; transport: Type.TLiteral<"provider-websocket">; voiceSessionId: Type.TString; protocol: Type.TString; clientSecret: Type.TString; websocketUrl: Type.TString; audio: Type.TObject<{ inputEncoding: Type.TUnion<[Type.TLiteral<"pcm16">, Type.TLiteral<"g711_ulaw">]>; inputSampleRateHz: Type.TInteger; outputEncoding: Type.TUnion<[Type.TLiteral<"pcm16">, Type.TLiteral<"g711_ulaw">]>; outputSampleRateHz: Type.TInteger; }>; initialMessage: Type.TOptional<Type.TUnknown>; model: Type.TOptional<Type.TString>; voice: Type.TOptional<Type.TString>; expiresAt: Type.TOptional<Type.TNumber>; }>, Type.TObject<{ provider: Type.TString; transport: Type.TLiteral<"gateway-relay">; voiceSessionId: Type.TOptional<Type.TString>; relaySessionId: Type.TString; audio: Type.TObject<{ inputEncoding: Type.TUnion<[Type.TLiteral<"pcm16">, Type.TLiteral<"g711_ulaw">]>; inputSampleRateHz: Type.TInteger; outputEncoding: Type.TUnion<[Type.TLiteral<"pcm16">, Type.TLiteral<"g711_ulaw">]>; outputSampleRateHz: Type.TInteger; }>; model: Type.TOptional<Type.TString>; voice: Type.TOptional<Type.TString>; expiresAt: Type.TOptional<Type.TNumber>; }>, Type.TObject<{ provider: Type.TString; transport: Type.TLiteral<"managed-room">; voiceSessionId: Type.TOptional<Type.TString>; roomUrl: Type.TString; token: Type.TOptional<Type.TString>; model: Type.TOptional<Type.TString>; voice: Type.TOptional<Type.TString>; expiresAt: Type.TOptional<Type.TNumber>; }>]>; declare const ChannelsStatusResultSchema: Type.TObject<{ ts: Type.TInteger; channelOrder: Type.TArray<Type.TString>; channelLabels: Type.TRecord<"^.*$", Type.TString>; channelDetailLabels: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>; channelSystemImages: Type.TOptional<Type.TRecord<"^.*$", Type.TString>>; channelMeta: Type.TOptional<Type.TArray<Type.TObject<{ id: Type.TString; label: Type.TString; detailLabel: Type.TString; systemImage: Type.TOptional<Type.TString>; }>>>; channels: Type.TRecord<"^.*$", Type.TUnknown>; channelAccounts: Type.TRecord<"^.*$", Type.TArray<Type.TObject<{ accountId: Type.TString; name: Type.TOptional<Type.TString>; enabled: Type.TOptional<Type.TBoolean>; configured: Type.TOptional<Type.TBoolean>; linked: Type.TOptional<Type.TBoolean>; running: Type.TOptional<Type.TBoolean>; connected: Type.TOptional<Type.TBoolean>; reconnectAttempts: Type.TOptional<Type.TInteger>; lastConnectedAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; lastError: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>; healthState: Type.TOptional<Type.TString>; lastStartAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; lastStopAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; lastInboundAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; lastOutboundAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; lastTransportActivityAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; busy: Type.TOptional<Type.TBoolean>; activeRuns: Type.TOptional<Type.TInteger>; lastRunActivityAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; activeRunStartedAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; lastProbeAt: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; mode: Type.TOptional<Type.TString>; dmPolicy: Type.TOptional<Type.TString>; allowFrom: Type.TOptional<Type.TArray<Type.TString>>; tokenSource: Type.TOptional<Type.TString>; botTokenSource: Type.TOptional<Type.TString>; appTokenSource: Type.TOptional<Type.TString>; credentialSource: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>; audienceType: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>; audience: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>; webhookPath: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>; webhookUrl: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>; baseUrl: Type.TOptional<Type.TString>; allowUnmentionedGroups: Type.TOptional<Type.TBoolean>; cliPath: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>; dbPath: Type.TOptional<Type.TUnion<[Type.TString, Type.TNull]>>; port: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; probe: Type.TOptional<Type.TUnknown>; audit: Type.TOptional<Type.TUnknown>; application: Type.TOptional<Type.TUnknown>; }>>>; channelDefaultAccountId: Type.TRecord<"^.*$", Type.TString>; eventLoop: Type.TOptional<Type.TObject<{ degraded: Type.TBoolean; degradedSinceMs: Type.TOptional<Type.TUnion<[Type.TInteger, Type.TNull]>>; reasons: Type.TArray<Type.TUnion<[Type.TLiteral<"event_loop_delay">, Type.TLiteral<"event_loop_utilization">, Type.TLiteral<"cpu">]>>; delayP99Ms: Type.TNumber; delayMaxMs: Type.TNumber; utilization: Type.TNumber; cpuCoreRatio: Type.TNumber; cpuBreakdown: Type.TOptional<Type.TObject<{ mainThreadCoreRatio: Type.TOptional<Type.TNumber>; workerCoreRatio: Type.TOptional<Type.TNumber>; otherThreadsCoreRatio: Type.TOptional<Type.TNumber>; hostUtilization: Type.TOptional<Type.TNumber>; hostCpuCount: Type.TOptional<Type.TInteger>; }>>; intervalMs: Type.TInteger; }>>; partial: Type.TOptional<Type.TBoolean>; warnings: Type.TOptional<Type.TArray<Type.TString>>; statusIssues: Type.TOptional<Type.TArray<Type.TObject<{ channel: Type.TString; accountId: Type.TString; kind: Type.TUnion<[Type.TLiteral<"intent">, Type.TLiteral<"permissions">, Type.TLiteral<"config">, Type.TLiteral<"auth">, Type.TLiteral<"runtime">]>; message: Type.TString; fix: Type.TOptional<Type.TString>; }>>>; }>; type TalkEvent = Static<typeof TalkEventSchema>; type TalkClientCreateResult = Static<typeof TalkClientCreateResultSchema>; type ChannelsStatusResult = Static<typeof ChannelsStatusResultSchema>; //#endregion export { TalkClientCreateResult as n, TalkEvent as r, ChannelsStatusResult as t };