UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

239 lines (238 loc) 11.5 kB
import { Type } from "typebox"; /** Generated media/file attachment metadata carried by internal agent events. */ export declare const AgentGeneratedAttachmentSchema: Type.TObject<{ type: Type.TOptional<Type.TString>; path: Type.TOptional<Type.TString>; url: Type.TOptional<Type.TString>; mediaUrl: Type.TOptional<Type.TString>; filePath: Type.TOptional<Type.TString>; mimeType: Type.TOptional<Type.TString>; name: Type.TOptional<Type.TString>; }>; /** Internal completion event surfaced when child automation reports back to a parent run. */ export declare const AgentInternalEventSchema: Type.TObject<{ type: Type.TLiteral<"task_completion">; source: Type.TString; childSessionKey: Type.TString; childSessionId: Type.TOptional<Type.TString>; announceType: Type.TString; taskLabel: Type.TString; status: Type.TString; statusLabel: Type.TString; result: Type.TString; attachments: Type.TOptional<Type.TArray<Type.TObject<{ type: Type.TOptional<Type.TString>; path: Type.TOptional<Type.TString>; url: Type.TOptional<Type.TString>; mediaUrl: Type.TOptional<Type.TString>; filePath: Type.TOptional<Type.TString>; mimeType: Type.TOptional<Type.TString>; name: Type.TOptional<Type.TString>; }>>>; mediaUrls: Type.TOptional<Type.TArray<Type.TString>>; statsLine: Type.TOptional<Type.TString>; replyInstruction: Type.TString; }>; /** Stream event emitted by the agent runtime over the gateway protocol. */ export declare const AgentEventSchema: Type.TObject<{ runId: Type.TString; seq: Type.TInteger; stream: Type.TString; ts: Type.TInteger; spawnedBy: Type.TOptional<Type.TString>; isHeartbeat: Type.TOptional<Type.TBoolean>; data: Type.TRecord<"^.*$", Type.TUnknown>; }>; /** Channel context injected into message actions so tools can reply in-place. */ export declare const MessageActionToolContextSchema: Type.TObject<{ currentChannelId: Type.TOptional<Type.TString>; currentGraphChannelId: Type.TOptional<Type.TString>; currentChannelProvider: Type.TOptional<Type.TString>; currentThreadTs: Type.TOptional<Type.TString>; currentMessageId: Type.TOptional<Type.TUnion<[Type.TString, Type.TNumber]>>; replyToMode: Type.TOptional<Type.TUnion<[Type.TLiteral<"off">, Type.TLiteral<"first">, Type.TLiteral<"all">, Type.TLiteral<"batched">]>>; hasRepliedRef: Type.TOptional<Type.TObject<{ value: Type.TBoolean; }>>; skipCrossContextDecoration: Type.TOptional<Type.TBoolean>; }>; /** Request to execute a channel message action through a configured adapter. */ export declare const MessageActionParamsSchema: Type.TObject<{ channel: Type.TString; action: Type.TString; params: Type.TRecord<"^.*$", Type.TUnknown>; accountId: Type.TOptional<Type.TString>; requesterSenderId: Type.TOptional<Type.TString>; senderIsOwner: Type.TOptional<Type.TBoolean>; sessionKey: Type.TOptional<Type.TString>; sessionId: Type.TOptional<Type.TString>; inboundTurnKind: Type.TOptional<Type.TString>; agentId: Type.TOptional<Type.TString>; toolContext: Type.TOptional<Type.TObject<{ currentChannelId: Type.TOptional<Type.TString>; currentGraphChannelId: Type.TOptional<Type.TString>; currentChannelProvider: Type.TOptional<Type.TString>; currentThreadTs: Type.TOptional<Type.TString>; currentMessageId: Type.TOptional<Type.TUnion<[Type.TString, Type.TNumber]>>; replyToMode: Type.TOptional<Type.TUnion<[Type.TLiteral<"off">, Type.TLiteral<"first">, Type.TLiteral<"all">, Type.TLiteral<"batched">]>>; hasRepliedRef: Type.TOptional<Type.TObject<{ value: Type.TBoolean; }>>; skipCrossContextDecoration: Type.TOptional<Type.TBoolean>; }>>; idempotencyKey: Type.TString; }>; /** Outbound send request shared by channel adapters. */ export declare const SendParamsSchema: Type.TObject<{ to: Type.TString; message: Type.TOptional<Type.TString>; mediaUrl: Type.TOptional<Type.TString>; mediaUrls: Type.TOptional<Type.TArray<Type.TString>>; /** Base64 attachment payload for gateway-local media materialization. */ buffer: Type.TOptional<Type.TString>; /** Optional filename for a base64 attachment payload. */ filename: Type.TOptional<Type.TString>; /** Optional MIME type for a base64 attachment payload. */ contentType: Type.TOptional<Type.TString>; asVoice: Type.TOptional<Type.TBoolean>; gifPlayback: Type.TOptional<Type.TBoolean>; channel: Type.TOptional<Type.TString>; accountId: Type.TOptional<Type.TString>; /** Optional agent id for per-agent media root resolution on gateway sends. */ agentId: Type.TOptional<Type.TString>; /** Reply target message id for native quoted/threaded sends where supported. */ replyToId: Type.TOptional<Type.TString>; /** Thread id (channel-specific meaning, e.g. Telegram forum topic id). */ threadId: Type.TOptional<Type.TString>; /** Force document-style media sends where supported. */ forceDocument: Type.TOptional<Type.TBoolean>; /** Send silently (no notification) where supported. */ silent: Type.TOptional<Type.TBoolean>; /** Channel-specific parse mode for formatted text. */ parseMode: Type.TOptional<Type.TLiteral<"HTML">>; /** Optional session key for mirroring delivered output back into the transcript. */ sessionKey: Type.TOptional<Type.TString>; idempotencyKey: Type.TString; }>; /** Poll creation request for adapters that support native polls. */ export declare const PollParamsSchema: Type.TObject<{ to: Type.TString; question: Type.TString; options: Type.TArray<Type.TString>; maxSelections: Type.TOptional<Type.TInteger>; /** Poll duration in seconds (channel-specific limits may apply). */ durationSeconds: Type.TOptional<Type.TInteger>; durationHours: Type.TOptional<Type.TInteger>; /** Send silently (no notification) where supported. */ silent: Type.TOptional<Type.TBoolean>; /** Poll anonymity where supported (e.g. Telegram polls default to anonymous). */ isAnonymous: Type.TOptional<Type.TBoolean>; /** Thread id (channel-specific meaning, e.g. Telegram forum topic id). */ threadId: Type.TOptional<Type.TString>; channel: Type.TOptional<Type.TString>; accountId: Type.TOptional<Type.TString>; idempotencyKey: Type.TString; }>; /** Main agent-run request accepted by the gateway. */ export declare const AgentParamsSchema: Type.TObject<{ message: Type.TString; agentId: Type.TOptional<Type.TString>; provider: Type.TOptional<Type.TString>; model: Type.TOptional<Type.TString>; to: Type.TOptional<Type.TString>; replyTo: Type.TOptional<Type.TString>; sessionId: Type.TOptional<Type.TString>; sessionKey: Type.TOptional<Type.TString>; thinking: Type.TOptional<Type.TString>; deliver: Type.TOptional<Type.TBoolean>; attachments: Type.TOptional<Type.TArray<Type.TUnknown>>; channel: Type.TOptional<Type.TString>; replyChannel: Type.TOptional<Type.TString>; accountId: Type.TOptional<Type.TString>; replyAccountId: Type.TOptional<Type.TString>; threadId: Type.TOptional<Type.TString>; groupId: Type.TOptional<Type.TString>; groupChannel: Type.TOptional<Type.TString>; groupSpace: Type.TOptional<Type.TString>; timeout: Type.TOptional<Type.TInteger>; bestEffortDeliver: Type.TOptional<Type.TBoolean>; lane: Type.TOptional<Type.TString>; cleanupBundleMcpOnRunEnd: Type.TOptional<Type.TBoolean>; modelRun: Type.TOptional<Type.TBoolean>; promptMode: Type.TOptional<Type.TUnion<[Type.TLiteral<"full">, Type.TLiteral<"minimal">, Type.TLiteral<"none">]>>; extraSystemPrompt: Type.TOptional<Type.TString>; bootstrapContextMode: Type.TOptional<Type.TUnion<[Type.TLiteral<"full">, Type.TLiteral<"lightweight">]>>; bootstrapContextRunKind: Type.TOptional<Type.TUnion<[Type.TLiteral<"default">, Type.TLiteral<"heartbeat">, Type.TLiteral<"cron">]>>; acpTurnSource: Type.TOptional<Type.TLiteral<"manual_spawn">>; internalRuntimeHandoffId: Type.TOptional<Type.TString>; execApprovalFollowupExpectedSessionId: Type.TOptional<Type.TString>; internalEvents: Type.TOptional<Type.TArray<Type.TObject<{ type: Type.TLiteral<"task_completion">; source: Type.TString; childSessionKey: Type.TString; childSessionId: Type.TOptional<Type.TString>; announceType: Type.TString; taskLabel: Type.TString; status: Type.TString; statusLabel: Type.TString; result: Type.TString; attachments: Type.TOptional<Type.TArray<Type.TObject<{ type: Type.TOptional<Type.TString>; path: Type.TOptional<Type.TString>; url: Type.TOptional<Type.TString>; mediaUrl: Type.TOptional<Type.TString>; filePath: Type.TOptional<Type.TString>; mimeType: Type.TOptional<Type.TString>; name: Type.TOptional<Type.TString>; }>>>; mediaUrls: Type.TOptional<Type.TArray<Type.TString>>; statsLine: Type.TOptional<Type.TString>; replyInstruction: Type.TString; }>>>; inputProvenance: Type.TOptional<Type.TObject<{ kind: Type.TString; originSessionId: Type.TOptional<Type.TString>; sourceSessionKey: Type.TOptional<Type.TString>; sourceChannel: Type.TOptional<Type.TString>; sourceTool: Type.TOptional<Type.TString>; }>>; suppressPromptPersistence: Type.TOptional<Type.TBoolean>; sessionEffects: Type.TOptional<Type.TUnion<[Type.TLiteral<"visible">, Type.TLiteral<"internal">]>>; sourceReplyDeliveryMode: Type.TOptional<Type.TUnion<[Type.TLiteral<"automatic">, Type.TLiteral<"message_tool_only">]>>; disableMessageTool: Type.TOptional<Type.TBoolean>; voiceWakeTrigger: Type.TOptional<Type.TString>; idempotencyKey: Type.TString; label: Type.TOptional<Type.TString>; }>; /** Identity lookup request for the current or selected agent/session. */ export declare const AgentIdentityParamsSchema: Type.TObject<{ agentId: Type.TOptional<Type.TString>; sessionKey: Type.TOptional<Type.TString>; }>; /** Public display identity returned for an agent. */ export declare const AgentIdentityResultSchema: Type.TObject<{ agentId: Type.TString; name: Type.TOptional<Type.TString>; avatar: Type.TOptional<Type.TString>; avatarSource: Type.TOptional<Type.TString>; avatarStatus: Type.TOptional<Type.TString>; avatarReason: Type.TOptional<Type.TString>; emoji: Type.TOptional<Type.TString>; }>; /** Waits for a submitted agent run to complete or time out. */ export declare const AgentWaitParamsSchema: Type.TObject<{ runId: Type.TString; timeoutMs: Type.TOptional<Type.TInteger>; }>; /** Wake request from external schedulers or devices into an agent session. */ export declare const WakeParamsSchema: Type.TObject<{ mode: Type.TUnion<[Type.TLiteral<"now">, Type.TLiteral<"next-heartbeat">]>; text: Type.TString; sessionKey: Type.TOptional<Type.TString>; /** * Optional agent id paired with `sessionKey`. Routes multi-agent setups * to the agent that owns the targeted session — closes the related half * of #46886 ("always routes to default agent"). */ agentId: Type.TOptional<Type.TString>; }>;