/** * channels.xg_cwork_im:Zod schema、账户合并、群 systemPrompt、命令门控(allowFrom / resolveControlCommandGate)。 */ import type { OpenClawConfig } from "openclaw/plugin-sdk"; import { z } from "zod"; import type { OpenClawChatType } from "./inbound-chat-type.js"; import type { XgImConfig, AutoModelRoutingConfig } from "./types.js"; export declare const XgImConfigSchema: z.ZodEffects; appKey: z.ZodOptional; agentId: z.ZodDefault>; baseUrl: z.ZodString; wsBaseUrl: z.ZodOptional; enabled: z.ZodDefault>; name: z.ZodOptional; groupPolicy: z.ZodDefault>>; allowFrom: z.ZodDefault>>; debug: z.ZodDefault>; maxConnectionAttempts: z.ZodDefault>; initialReconnectDelay: z.ZodDefault>; maxReconnectDelay: z.ZodDefault>; reconnectJitter: z.ZodDefault>; fileUploadFormField: z.ZodOptional; maxAttachmentBytes: z.ZodOptional; inboundMediaWorkspaceSubdir: z.ZodOptional; inboundMediaOpenClawPath: z.ZodOptional>; inboundMediaSandboxRootPrefix: z.ZodOptional; systemPrompt: z.ZodOptional; syncServiceBaseUrl: z.ZodOptional; projectPromptMaxChars: z.ZodOptional; nasVolumeRootMappings: z.ZodOptional, "many">>; blockStreaming: z.ZodOptional; blockStreamingCoalesce: z.ZodOptional; maxChars: z.ZodOptional; idleMs: z.ZodOptional; }, "strip", z.ZodTypeAny, { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; }, { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; }>>; deliverModelFallbackNotice: z.ZodOptional; deliverSegmentBuffer: z.ZodOptional; deliverPartialSnapshot: z.ZodOptional; autoModelRouting: z.ZodOptional>; version: z.ZodDefault>; simpleModel: z.ZodOptional; standardModel: z.ZodOptional; complexModel: z.ZodOptional; criticalModel: z.ZodOptional; /** 指定模型模式的模型默认推理等级映射(key 为完整 model ref)。 */ thinkingDefaults: z.ZodOptional>>; /** 允许启用自动路由的 Agent ID 白名单;缺省/空表示不启用任何 Agent。 */ agentAllowlist: z.ZodDefault>>; }, "strip", z.ZodTypeAny, { enabled: boolean; version: string; agentAllowlist: string[]; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; }, { enabled?: boolean | undefined; version?: string | undefined; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; agentAllowlist?: string[] | undefined; }>>; accounts: z.ZodOptional; appKey: z.ZodOptional; /** 账户级开关;未设置时继承通道顶层 enabled。 */ enabled: z.ZodOptional; agentId: z.ZodDefault>; name: z.ZodOptional; groupPolicy: z.ZodDefault>>; fileUploadFormField: z.ZodOptional; maxAttachmentBytes: z.ZodOptional; inboundMediaWorkspaceSubdir: z.ZodOptional; inboundMediaOpenClawPath: z.ZodOptional>; inboundMediaSandboxRootPrefix: z.ZodOptional; systemPrompt: z.ZodOptional; syncServiceBaseUrl: z.ZodOptional; projectPromptMaxChars: z.ZodOptional; nasVolumeRootMappings: z.ZodOptional, "many">>; /** * 为 false 时关闭:assistant 在 tool 前的 text 块不再提前 HTTP deliver(整轮结束才发)。 * 未配置时默认开启。 */ blockStreaming: z.ZodOptional; /** 可选:合并同一 text 块内 token 级碎片;IM 默认不配(每个 text_end 立即 HTTP)。 */ blockStreamingCoalesce: z.ZodOptional; maxChars: z.ZodOptional; idleMs: z.ZodOptional; }, "strip", z.ZodTypeAny, { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; }, { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; }>>; /** * 为 true 时向 IM 用户发送 OpenClaw 模型降级运营通知(↪️ Model Fallback: …)。 * 未配置时默认不发送(仅 gateway 日志)。 */ deliverModelFallbackNotice: z.ZodOptional; /** * 为 false 时关闭段缓冲:blockStreaming 下每次 deliver 仍立即 HTTP(配合 C7 去重)。 * 未配置且 blockStreaming 开启时默认开启。 */ deliverSegmentBuffer: z.ZodOptional; /** Auto Model Routing(模型 + 推理等级自动路由);默认关闭。 */ autoModelRouting: z.ZodOptional>; version: z.ZodDefault>; simpleModel: z.ZodOptional; standardModel: z.ZodOptional; complexModel: z.ZodOptional; criticalModel: z.ZodOptional; /** 指定模型模式的模型默认推理等级映射(key 为完整 model ref)。 */ thinkingDefaults: z.ZodOptional>>; /** 允许启用自动路由的 Agent ID 白名单;缺省/空表示不启用任何 Agent。 */ agentAllowlist: z.ZodDefault>>; }, "strip", z.ZodTypeAny, { enabled: boolean; version: string; agentAllowlist: string[]; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; }, { enabled?: boolean | undefined; version?: string | undefined; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; agentAllowlist?: string[] | undefined; }>>; }, "strip", z.ZodTypeAny, { agentId: string; groupPolicy: "open" | "mention"; robotKey?: string | undefined; appKey?: string | undefined; enabled?: boolean | undefined; name?: string | undefined; fileUploadFormField?: string | undefined; maxAttachmentBytes?: number | undefined; inboundMediaWorkspaceSubdir?: string | undefined; inboundMediaOpenClawPath?: "workspaceRelative" | "absoluteFileUrl" | undefined; inboundMediaSandboxRootPrefix?: string | undefined; systemPrompt?: string | undefined; syncServiceBaseUrl?: string | undefined; projectPromptMaxChars?: number | undefined; nasVolumeRootMappings?: { logicalRoot: string; hostRoot: string; }[] | undefined; blockStreaming?: boolean | undefined; blockStreamingCoalesce?: { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; } | undefined; deliverModelFallbackNotice?: boolean | undefined; deliverSegmentBuffer?: boolean | undefined; autoModelRouting?: { enabled: boolean; version: string; agentAllowlist: string[]; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; } | undefined; }, { robotKey?: string | undefined; appKey?: string | undefined; agentId?: string | undefined; enabled?: boolean | undefined; name?: string | undefined; groupPolicy?: "open" | "mention" | undefined; fileUploadFormField?: string | undefined; maxAttachmentBytes?: number | undefined; inboundMediaWorkspaceSubdir?: string | undefined; inboundMediaOpenClawPath?: "workspaceRelative" | "absoluteFileUrl" | undefined; inboundMediaSandboxRootPrefix?: string | undefined; systemPrompt?: string | undefined; syncServiceBaseUrl?: string | undefined; projectPromptMaxChars?: number | undefined; nasVolumeRootMappings?: { logicalRoot: string; hostRoot: string; }[] | undefined; blockStreaming?: boolean | undefined; blockStreamingCoalesce?: { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; } | undefined; deliverModelFallbackNotice?: boolean | undefined; deliverSegmentBuffer?: boolean | undefined; autoModelRouting?: { enabled?: boolean | undefined; version?: string | undefined; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; agentAllowlist?: string[] | undefined; } | undefined; }>>>; }, "strip", z.ZodTypeAny, { agentId: string; baseUrl: string; enabled: boolean; groupPolicy: "open" | "mention"; allowFrom: string[]; debug: boolean; maxConnectionAttempts: number; initialReconnectDelay: number; maxReconnectDelay: number; reconnectJitter: number; accounts?: Record | undefined; } | undefined; }> | undefined; robotKey?: string | undefined; appKey?: string | undefined; wsBaseUrl?: string | undefined; name?: string | undefined; fileUploadFormField?: string | undefined; maxAttachmentBytes?: number | undefined; inboundMediaWorkspaceSubdir?: string | undefined; inboundMediaOpenClawPath?: "workspaceRelative" | "absoluteFileUrl" | undefined; inboundMediaSandboxRootPrefix?: string | undefined; systemPrompt?: string | undefined; syncServiceBaseUrl?: string | undefined; projectPromptMaxChars?: number | undefined; nasVolumeRootMappings?: { logicalRoot: string; hostRoot: string; }[] | undefined; blockStreaming?: boolean | undefined; blockStreamingCoalesce?: { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; } | undefined; deliverModelFallbackNotice?: boolean | undefined; deliverSegmentBuffer?: boolean | undefined; deliverPartialSnapshot?: boolean | undefined; autoModelRouting?: { enabled: boolean; version: string; agentAllowlist: string[]; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; } | undefined; }, { baseUrl: string; accounts?: Record | undefined; agentAllowlist?: string[] | undefined; } | undefined; }> | undefined; robotKey?: string | undefined; appKey?: string | undefined; agentId?: string | undefined; wsBaseUrl?: string | undefined; enabled?: boolean | undefined; name?: string | undefined; groupPolicy?: "open" | "mention" | undefined; allowFrom?: string[] | undefined; debug?: boolean | undefined; maxConnectionAttempts?: number | undefined; initialReconnectDelay?: number | undefined; maxReconnectDelay?: number | undefined; reconnectJitter?: number | undefined; fileUploadFormField?: string | undefined; maxAttachmentBytes?: number | undefined; inboundMediaWorkspaceSubdir?: string | undefined; inboundMediaOpenClawPath?: "workspaceRelative" | "absoluteFileUrl" | undefined; inboundMediaSandboxRootPrefix?: string | undefined; systemPrompt?: string | undefined; syncServiceBaseUrl?: string | undefined; projectPromptMaxChars?: number | undefined; nasVolumeRootMappings?: { logicalRoot: string; hostRoot: string; }[] | undefined; blockStreaming?: boolean | undefined; blockStreamingCoalesce?: { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; } | undefined; deliverModelFallbackNotice?: boolean | undefined; deliverSegmentBuffer?: boolean | undefined; deliverPartialSnapshot?: boolean | undefined; autoModelRouting?: { enabled?: boolean | undefined; version?: string | undefined; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; agentAllowlist?: string[] | undefined; } | undefined; }>, { agentId: string; baseUrl: string; enabled: boolean; groupPolicy: "open" | "mention"; allowFrom: string[]; debug: boolean; maxConnectionAttempts: number; initialReconnectDelay: number; maxReconnectDelay: number; reconnectJitter: number; accounts?: Record | undefined; } | undefined; }> | undefined; robotKey?: string | undefined; appKey?: string | undefined; wsBaseUrl?: string | undefined; name?: string | undefined; fileUploadFormField?: string | undefined; maxAttachmentBytes?: number | undefined; inboundMediaWorkspaceSubdir?: string | undefined; inboundMediaOpenClawPath?: "workspaceRelative" | "absoluteFileUrl" | undefined; inboundMediaSandboxRootPrefix?: string | undefined; systemPrompt?: string | undefined; syncServiceBaseUrl?: string | undefined; projectPromptMaxChars?: number | undefined; nasVolumeRootMappings?: { logicalRoot: string; hostRoot: string; }[] | undefined; blockStreaming?: boolean | undefined; blockStreamingCoalesce?: { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; } | undefined; deliverModelFallbackNotice?: boolean | undefined; deliverSegmentBuffer?: boolean | undefined; deliverPartialSnapshot?: boolean | undefined; autoModelRouting?: { enabled: boolean; version: string; agentAllowlist: string[]; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; } | undefined; }, { baseUrl: string; accounts?: Record | undefined; agentAllowlist?: string[] | undefined; } | undefined; }> | undefined; robotKey?: string | undefined; appKey?: string | undefined; agentId?: string | undefined; wsBaseUrl?: string | undefined; enabled?: boolean | undefined; name?: string | undefined; groupPolicy?: "open" | "mention" | undefined; allowFrom?: string[] | undefined; debug?: boolean | undefined; maxConnectionAttempts?: number | undefined; initialReconnectDelay?: number | undefined; maxReconnectDelay?: number | undefined; reconnectJitter?: number | undefined; fileUploadFormField?: string | undefined; maxAttachmentBytes?: number | undefined; inboundMediaWorkspaceSubdir?: string | undefined; inboundMediaOpenClawPath?: "workspaceRelative" | "absoluteFileUrl" | undefined; inboundMediaSandboxRootPrefix?: string | undefined; systemPrompt?: string | undefined; syncServiceBaseUrl?: string | undefined; projectPromptMaxChars?: number | undefined; nasVolumeRootMappings?: { logicalRoot: string; hostRoot: string; }[] | undefined; blockStreaming?: boolean | undefined; blockStreamingCoalesce?: { minChars?: number | undefined; maxChars?: number | undefined; idleMs?: number | undefined; } | undefined; deliverModelFallbackNotice?: boolean | undefined; deliverSegmentBuffer?: boolean | undefined; deliverPartialSnapshot?: boolean | undefined; autoModelRouting?: { enabled?: boolean | undefined; version?: string | undefined; simpleModel?: string | undefined; standardModel?: string | undefined; complexModel?: string | undefined; criticalModel?: string | undefined; thinkingDefaults?: Record | undefined; agentAllowlist?: string[] | undefined; } | undefined; }>; /** 将 `robotKey`(推荐)或旧字段 `appKey` 归一为鉴权可用的密钥(两字段同步为同一非空值)。 */ export declare function normalizeRobotKey(config: T): T; /** 从顶层 cfg 中取出 XgImConfig,支持多账户(README:channels.xg_cwork_im) */ export declare function getXgImConfig(cfg: OpenClawConfig, accountId?: string | null): XgImConfig; /** 入站 block streaming 是否开启(未显式 false 时默认开启)。 */ export declare function isInboundBlockStreamingEnabled(config: XgImConfig): boolean; /** 是否向 IM 投递 OpenClaw 模型降级运营通知(仅显式 true 时发送)。 */ export declare function shouldDeliverModelFallbackNoticeToIm(config: XgImConfig): boolean; /** blockStreaming 开启时是否启用段缓冲(未显式 false 时默认开启)。 */ export declare function isDeliverSegmentBufferEnabled(config: XgImConfig): boolean; /** 段缓冲开启时是否用 onPartialReply 全量快照作为正文权威来源(未显式 false 时默认开启)。 */ export declare function isDeliverPartialSnapshotEnabled(config: XgImConfig): boolean; /** * IM 通道未配置 coalesce 时注入,覆盖 agents.defaults 偏大值(如 2400/3000), * 并避免旧默认 minChars:1/idleMs:0 切块过碎。 * 约半段中文 + ~0.5s 静默,属中间档;可按环境再调。 */ export declare const IM_BLOCK_STREAMING_COALESCE_DEFAULT: { readonly minChars: 500; readonly maxChars: 12000; readonly idleMs: 500; }; /** 传给 OpenClaw replyOptions,强制开启/关闭 text_end 中间块 deliver。 */ export declare function resolveBlockStreamingReplyOptions(config: XgImConfig): { disableBlockStreaming: boolean; }; /** * 入站 dispatch 用 cfg:在 block streaming 开启且通道未配 coalesce 时, * 为 `channels.xg_cwork_im` 注入 IM 友好 coalesce,避免 agents.defaults 的大 minChars/idleMs 推迟 tool 前 HTTP。 */ export declare function resolveDispatchOpenClawCfg(cfg: OpenClawConfig, config: XgImConfig): OpenClawConfig; /** * 合并 `channels.xg_cwork_im` 顶层、`accounts.default`、以及 `accounts.` 后的 `systemPrompt`, * 写入 OpenClaw 入站 `GroupSystemPrompt`。 */ export declare function resolveXgImGroupSystemPrompt(cfg: OpenClawConfig, accountId: string): string | undefined; export declare function isConfigured(cfg: OpenClawConfig): boolean; /** Auto Model Routing 运行时配置(归一默认值)。 */ export declare function resolveAutoModelRoutingConfig(config: XgImConfig): AutoModelRoutingConfig; /** * Auto 路由是否对本 Agent 生效:enabled=true 且 Agent 在白名单。 * allowlist 缺省/为空时不启用任何 Agent(安全默认,避免未经灰度就自动路由)。 */ export declare function isAutoModelRoutingEnabled(cfg: AutoModelRoutingConfig, agentId: string): boolean; /** * 解析 Auto Router 的四模型槽位;任一槽位缺失即视为未就绪(返回 undefined, * 由调用方回退 Agent 默认配置,绝不把半套配置用于路由)。 */ export declare function resolveAutoModelRoutingSlots(cfg: AutoModelRoutingConfig): { simpleModel: string; standardModel: string; complexModel: string; criticalModel: string; } | undefined; export declare function resolveInboundCommandAuthorized(rt: unknown, cfg: OpenClawConfig, p: { accountId: string; senderId: string | undefined; config: XgImConfig; /** OpenClaw 入站 ChatType(单聊 direct / 群聊 group),供命令门控区分 DM 与群规则 */ chatType: OpenClawChatType; }): boolean; //# sourceMappingURL=channel-config.d.ts.map