/** * Copyright (c) 2026 ByteDance Ltd. and/or its affiliates * SPDX-License-Identifier: MIT * * Zod-based configuration schema for the OpenClaw Lark/Feishu channel plugin. * * Provides runtime validation, sensible defaults, and cross-field refinements * so that every consuming module can rely on well-typed configuration objects. */ import { z } from 'zod'; export { z }; export declare const UATConfigSchema: z.ZodOptional; allowedScopes: z.ZodOptional>; blockedScopes: z.ZodOptional>; }, z.core.$strip>>; export declare const FeishuGroupSchema: z.ZodObject<{ groupPolicy: z.ZodOptional>; requireMention: z.ZodOptional; respondToMentionAll: z.ZodOptional; tools: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strip>>; skills: z.ZodOptional>; enabled: z.ZodOptional; allowFrom: z.ZodPipe]>>, z.ZodTransform>; systemPrompt: z.ZodOptional; allowBots: z.ZodOptional]>>; }, z.core.$strip>; export declare const FeishuAccountConfigSchema: z.ZodObject<{ appId: z.ZodOptional; appSecret: z.ZodOptional; encryptKey: z.ZodOptional; verificationToken: z.ZodOptional; name: z.ZodOptional; enabled: z.ZodOptional; domain: z.ZodOptional, z.ZodLiteral<"lark">, z.ZodString]>>; connectionMode: z.ZodOptional>; webhookPath: z.ZodOptional; webhookPort: z.ZodOptional; dmPolicy: z.ZodOptional>; allowFrom: z.ZodPipe]>>, z.ZodTransform>; groupPolicy: z.ZodOptional>; groupAllowFrom: z.ZodPipe]>>, z.ZodTransform>; requireMention: z.ZodOptional; respondToMentionAll: z.ZodOptional; groups: z.ZodOptional>; requireMention: z.ZodOptional; respondToMentionAll: z.ZodOptional; tools: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strip>>; skills: z.ZodOptional>; enabled: z.ZodOptional; allowFrom: z.ZodPipe]>>, z.ZodTransform>; systemPrompt: z.ZodOptional; allowBots: z.ZodOptional]>>; }, z.core.$strip>>>; historyLimit: z.ZodOptional; dmHistoryLimit: z.ZodOptional; dms: z.ZodOptional; }, z.core.$strip>>; textChunkLimit: z.ZodOptional; chunkMode: z.ZodOptional>; blockStreamingCoalesce: z.ZodOptional; maxChars: z.ZodOptional; idleMs: z.ZodOptional; }, z.core.$strip>>; mediaMaxMb: z.ZodOptional; heartbeat: z.ZodOptional; activeHours: z.ZodOptional; end: z.ZodOptional; timezone: z.ZodOptional; }, z.core.$strip>>; target: z.ZodOptional; to: z.ZodOptional; prompt: z.ZodOptional; accountId: z.ZodOptional; }, z.core.$strip>>; replyMode: z.ZodOptional, z.ZodObject<{ default: z.ZodOptional>; group: z.ZodOptional>; direct: z.ZodOptional>; }, z.core.$strip>]>>; streaming: z.ZodOptional; blockStreaming: z.ZodOptional; toolUseDisplay: z.ZodOptional; }, z.core.$strip>>; tools: z.ZodOptional; wiki: z.ZodOptional; drive: z.ZodOptional; perm: z.ZodOptional; scopes: z.ZodOptional; }, z.core.$strip>>; footer: z.ZodOptional; elapsed: z.ZodOptional; tokens: z.ZodOptional; cache: z.ZodOptional; context: z.ZodOptional; model: z.ZodOptional; }, z.core.$strip>>; markdown: z.ZodOptional>; }, z.core.$strip>>; configWrites: z.ZodOptional; capabilities: z.ZodOptional; audio: z.ZodOptional; video: z.ZodOptional; }, z.core.$strip>>; dedup: z.ZodOptional; maxEntries: z.ZodOptional; }, z.core.$strip>>; reactionNotifications: z.ZodOptional>; threadSession: z.ZodOptional; allowBots: z.ZodOptional]>>; uat: z.ZodOptional; allowedScopes: z.ZodOptional>; blockedScopes: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>; export declare const FeishuConfigSchema: z.ZodObject<{ appId: z.ZodOptional; appSecret: z.ZodOptional; encryptKey: z.ZodOptional; verificationToken: z.ZodOptional; name: z.ZodOptional; enabled: z.ZodOptional; domain: z.ZodOptional, z.ZodLiteral<"lark">, z.ZodString]>>; connectionMode: z.ZodOptional>; webhookPath: z.ZodOptional; webhookPort: z.ZodOptional; dmPolicy: z.ZodOptional>; allowFrom: z.ZodPipe]>>, z.ZodTransform>; groupPolicy: z.ZodOptional>; groupAllowFrom: z.ZodPipe]>>, z.ZodTransform>; requireMention: z.ZodOptional; respondToMentionAll: z.ZodOptional; groups: z.ZodOptional>; requireMention: z.ZodOptional; respondToMentionAll: z.ZodOptional; tools: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strip>>; skills: z.ZodOptional>; enabled: z.ZodOptional; allowFrom: z.ZodPipe]>>, z.ZodTransform>; systemPrompt: z.ZodOptional; allowBots: z.ZodOptional]>>; }, z.core.$strip>>>; historyLimit: z.ZodOptional; dmHistoryLimit: z.ZodOptional; dms: z.ZodOptional; }, z.core.$strip>>; textChunkLimit: z.ZodOptional; chunkMode: z.ZodOptional>; blockStreamingCoalesce: z.ZodOptional; maxChars: z.ZodOptional; idleMs: z.ZodOptional; }, z.core.$strip>>; mediaMaxMb: z.ZodOptional; heartbeat: z.ZodOptional; activeHours: z.ZodOptional; end: z.ZodOptional; timezone: z.ZodOptional; }, z.core.$strip>>; target: z.ZodOptional; to: z.ZodOptional; prompt: z.ZodOptional; accountId: z.ZodOptional; }, z.core.$strip>>; replyMode: z.ZodOptional, z.ZodObject<{ default: z.ZodOptional>; group: z.ZodOptional>; direct: z.ZodOptional>; }, z.core.$strip>]>>; streaming: z.ZodOptional; blockStreaming: z.ZodOptional; toolUseDisplay: z.ZodOptional; }, z.core.$strip>>; tools: z.ZodOptional; wiki: z.ZodOptional; drive: z.ZodOptional; perm: z.ZodOptional; scopes: z.ZodOptional; }, z.core.$strip>>; footer: z.ZodOptional; elapsed: z.ZodOptional; tokens: z.ZodOptional; cache: z.ZodOptional; context: z.ZodOptional; model: z.ZodOptional; }, z.core.$strip>>; markdown: z.ZodOptional>; }, z.core.$strip>>; configWrites: z.ZodOptional; capabilities: z.ZodOptional; audio: z.ZodOptional; video: z.ZodOptional; }, z.core.$strip>>; dedup: z.ZodOptional; maxEntries: z.ZodOptional; }, z.core.$strip>>; reactionNotifications: z.ZodOptional>; threadSession: z.ZodOptional; allowBots: z.ZodOptional]>>; uat: z.ZodOptional; allowedScopes: z.ZodOptional>; blockedScopes: z.ZodOptional>; }, z.core.$strip>>; accounts: z.ZodOptional; appSecret: z.ZodOptional; encryptKey: z.ZodOptional; verificationToken: z.ZodOptional; name: z.ZodOptional; enabled: z.ZodOptional; domain: z.ZodOptional, z.ZodLiteral<"lark">, z.ZodString]>>; connectionMode: z.ZodOptional>; webhookPath: z.ZodOptional; webhookPort: z.ZodOptional; dmPolicy: z.ZodOptional>; allowFrom: z.ZodPipe]>>, z.ZodTransform>; groupPolicy: z.ZodOptional>; groupAllowFrom: z.ZodPipe]>>, z.ZodTransform>; requireMention: z.ZodOptional; respondToMentionAll: z.ZodOptional; groups: z.ZodOptional>; requireMention: z.ZodOptional; respondToMentionAll: z.ZodOptional; tools: z.ZodOptional>; deny: z.ZodOptional>; }, z.core.$strip>>; skills: z.ZodOptional>; enabled: z.ZodOptional; allowFrom: z.ZodPipe]>>, z.ZodTransform>; systemPrompt: z.ZodOptional; allowBots: z.ZodOptional]>>; }, z.core.$strip>>>; historyLimit: z.ZodOptional; dmHistoryLimit: z.ZodOptional; dms: z.ZodOptional; }, z.core.$strip>>; textChunkLimit: z.ZodOptional; chunkMode: z.ZodOptional>; blockStreamingCoalesce: z.ZodOptional; maxChars: z.ZodOptional; idleMs: z.ZodOptional; }, z.core.$strip>>; mediaMaxMb: z.ZodOptional; heartbeat: z.ZodOptional; activeHours: z.ZodOptional; end: z.ZodOptional; timezone: z.ZodOptional; }, z.core.$strip>>; target: z.ZodOptional; to: z.ZodOptional; prompt: z.ZodOptional; accountId: z.ZodOptional; }, z.core.$strip>>; replyMode: z.ZodOptional, z.ZodObject<{ default: z.ZodOptional>; group: z.ZodOptional>; direct: z.ZodOptional>; }, z.core.$strip>]>>; streaming: z.ZodOptional; blockStreaming: z.ZodOptional; toolUseDisplay: z.ZodOptional; }, z.core.$strip>>; tools: z.ZodOptional; wiki: z.ZodOptional; drive: z.ZodOptional; perm: z.ZodOptional; scopes: z.ZodOptional; }, z.core.$strip>>; footer: z.ZodOptional; elapsed: z.ZodOptional; tokens: z.ZodOptional; cache: z.ZodOptional; context: z.ZodOptional; model: z.ZodOptional; }, z.core.$strip>>; markdown: z.ZodOptional>; }, z.core.$strip>>; configWrites: z.ZodOptional; capabilities: z.ZodOptional; audio: z.ZodOptional; video: z.ZodOptional; }, z.core.$strip>>; dedup: z.ZodOptional; maxEntries: z.ZodOptional; }, z.core.$strip>>; reactionNotifications: z.ZodOptional>; threadSession: z.ZodOptional; allowBots: z.ZodOptional]>>; uat: z.ZodOptional; allowedScopes: z.ZodOptional>; blockedScopes: z.ZodOptional>; }, z.core.$strip>>; }, z.core.$strip>>>; }, z.core.$strip>; /** * JSON Schema derived from FeishuConfigSchema. * * - `io: "input"` exposes the input type for `.transform()` schemas (e.g. AllowFromSchema). * - `unrepresentable: "any"` degrades `.superRefine()` constraints to `{}`. * - `target: "draft-07"` matches the plugin system's expected JSON Schema version. */ export declare const FEISHU_CONFIG_JSON_SCHEMA: Record;