import { BaseProbeResult } from "./nextclaw-sdk/types.js"; import { FeishuConfigSchema, z } from "./config-schema.js"; //#region src/types.d.ts type FeishuConfig = z.infer; type FeishuDomain = "feishu" | "lark" | (string & {}); type FeishuDefaultAccountSelectionSource = "explicit-default" | "mapped-default" | "fallback"; type FeishuAccountSelectionSource = "explicit" | FeishuDefaultAccountSelectionSource; type ResolvedFeishuAccount = { accountId: string; selectionSource: FeishuAccountSelectionSource; enabled: boolean; configured: boolean; name?: string; appId?: string; appSecret?: string; encryptKey?: string; verificationToken?: string; domain: FeishuDomain; /** Merged config (top-level defaults + account-specific overrides) */ config: FeishuConfig; }; type FeishuSendResult = { messageId: string; chatId: string; }; type FeishuChatType = "p2p" | "group" | "private"; type FeishuMessageInfo = { messageId: string; chatId: string; chatType?: FeishuChatType; senderId?: string; senderOpenId?: string; senderType?: string; content: string; contentType: string; createTime?: number; }; type FeishuProbeResult = BaseProbeResult & { appId?: string; botName?: string; botOpenId?: string; }; //#endregion export { FeishuConfig, FeishuDomain, FeishuMessageInfo, FeishuProbeResult, FeishuSendResult, ResolvedFeishuAccount };