@elizaos/plugin-feishu 2.0.0-alpha.6 → 2.0.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/sendMessage.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sendMessage.d.ts","sourceRoot":"","sources":["../../src/actions/sendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAQP,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,eAAO,MAAM,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"sendMessage.d.ts","sourceRoot":"","sources":["../../src/actions/sendMessage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EAQP,MAAM,eAAe,CAAC;AAIvB,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,eAAO,MAAM,iBAAiB,EAAE,MA0G/B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,13 @@ var sendMessageAction = {
|
|
|
23
23
|
],
|
|
24
24
|
description: "Send a message to a Feishu/Lark chat",
|
|
25
25
|
validate: async (_runtime, message) => {
|
|
26
|
-
|
|
26
|
+
const textRaw = typeof message.content?.text === "string" ? message.content.text : "";
|
|
27
|
+
const text = textRaw.toLowerCase();
|
|
28
|
+
const sourceOk = message.content?.source === "feishu";
|
|
29
|
+
const keywordOk = text.includes("send") || text.includes("message") || text.includes("reply") || text.includes("feishu") || text.includes("lark") || sourceOk;
|
|
30
|
+
const regexOk = /\b(?:send|message|reply|feishu|lark)\b/i.test(textRaw) || sourceOk;
|
|
31
|
+
const inputOk = textRaw.trim().length > 0 || Boolean(message.content?.chatId || message.content?.messageId) || sourceOk;
|
|
32
|
+
return sourceOk && keywordOk && regexOk && inputOk;
|
|
27
33
|
},
|
|
28
34
|
handler: async (runtime, message, state, _options, callback) => {
|
|
29
35
|
const feishuService = runtime.getService(FEISHU_SERVICE_NAME);
|
|
@@ -1387,5 +1393,5 @@ export {
|
|
|
1387
1393
|
CHAT_STATE_PROVIDER
|
|
1388
1394
|
};
|
|
1389
1395
|
|
|
1390
|
-
//# debugId=
|
|
1396
|
+
//# debugId=C5079321E56197B464756E2164756E21
|
|
1391
1397
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"sources": ["../src/constants.ts", "../src/actions/sendMessage.ts", "../src/messageManager.ts", "../src/environment.ts", "../src/types.ts", "../src/providers/chatState.ts", "../src/service.ts", "../src/accounts.ts", "../src/formatting.ts", "../src/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * Service name used to register and retrieve the Feishu service.\n */\nexport const FEISHU_SERVICE_NAME = \"feishu\";\n\n/**\n * Default API domains for Feishu and Lark.\n */\nexport const FEISHU_DOMAINS = {\n feishu: \"https://open.feishu.cn\",\n lark: \"https://open.larksuite.com\",\n} as const;\n\n/**\n * Maximum message length for Feishu text messages.\n */\nexport const MAX_MESSAGE_LENGTH = 4000;\n\n/**\n * Default timeout for API requests in milliseconds.\n */\nexport const DEFAULT_TIMEOUT_MS = 30000;\n",
|
|
6
|
-
"import type {\n Action,\n ActionExample,\n ActionResult,\n HandlerCallback,\n HandlerOptions,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\nimport { FEISHU_SERVICE_NAME } from \"../constants\";\nimport type { FeishuService } from \"../service\";\n\nexport const SEND_MESSAGE_ACTION = \"SEND_FEISHU_MESSAGE\";\n\nexport const sendMessageAction: Action = {\n name: SEND_MESSAGE_ACTION,\n similes: [\n \"FEISHU_SEND_MESSAGE\",\n \"FEISHU_REPLY\",\n \"FEISHU_MESSAGE\",\n \"SEND_FEISHU\",\n \"REPLY_FEISHU\",\n \"LARK_SEND_MESSAGE\",\n \"LARK_REPLY\",\n \"SEND_LARK\",\n ],\n description: \"Send a message to a Feishu/Lark chat\",\n\n validate: async (\n _runtime: IAgentRuntime,\n message: Memory,\n ): Promise<boolean> => {\n
|
|
6
|
+
"import type {\n Action,\n ActionExample,\n ActionResult,\n HandlerCallback,\n HandlerOptions,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\nimport { FEISHU_SERVICE_NAME } from \"../constants\";\nimport type { FeishuService } from \"../service\";\n\nexport const SEND_MESSAGE_ACTION = \"SEND_FEISHU_MESSAGE\";\n\nexport const sendMessageAction: Action = {\n name: SEND_MESSAGE_ACTION,\n similes: [\n \"FEISHU_SEND_MESSAGE\",\n \"FEISHU_REPLY\",\n \"FEISHU_MESSAGE\",\n \"SEND_FEISHU\",\n \"REPLY_FEISHU\",\n \"LARK_SEND_MESSAGE\",\n \"LARK_REPLY\",\n \"SEND_LARK\",\n ],\n description: \"Send a message to a Feishu/Lark chat\",\n\n validate: async (\n _runtime: IAgentRuntime,\n message: Memory,\n ): Promise<boolean> => {\n const textRaw =\n typeof message.content?.text === \"string\" ? message.content.text : \"\";\n const text = textRaw.toLowerCase();\n const sourceOk = message.content?.source === \"feishu\";\n const keywordOk =\n text.includes(\"send\") ||\n text.includes(\"message\") ||\n text.includes(\"reply\") ||\n text.includes(\"feishu\") ||\n text.includes(\"lark\") ||\n sourceOk;\n const regexOk =\n /\\b(?:send|message|reply|feishu|lark)\\b/i.test(textRaw) || sourceOk;\n const inputOk =\n textRaw.trim().length > 0 ||\n Boolean(message.content?.chatId || message.content?.messageId) ||\n sourceOk;\n return sourceOk && keywordOk && regexOk && inputOk;\n },\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n state: State | undefined,\n _options?: HandlerOptions,\n callback?: HandlerCallback,\n ): Promise<ActionResult> => {\n const feishuService = runtime.getService(FEISHU_SERVICE_NAME) as unknown as\n | FeishuService\n | undefined;\n\n if (!feishuService) {\n if (callback) {\n await callback({\n text: \"Feishu service not available\",\n });\n }\n return { success: false, error: \"Feishu service not initialized\" };\n }\n\n const currentState = state ?? (await runtime.composeState(message));\n const responseText = currentState.values?.response?.toString() || \"\";\n const chatId = message.content?.chatId as string | undefined;\n\n if (!chatId) {\n if (callback) {\n await callback({\n text: \"No chat ID available\",\n });\n }\n return { success: false, error: \"Missing chat ID\" };\n }\n\n if (callback) {\n await callback({\n text: responseText,\n action: SEND_MESSAGE_ACTION,\n });\n }\n\n return {\n success: true,\n data: {\n action: SEND_MESSAGE_ACTION,\n chatId,\n text: responseText,\n replyToMessageId: message.content?.messageId,\n },\n };\n },\n\n examples: [\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"Send a message to this Feishu chat\",\n },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"I'll send a message to this chat now.\",\n actions: [SEND_MESSAGE_ACTION],\n },\n },\n ],\n ] as ActionExample[][],\n};\n",
|
|
7
7
|
"import {\n ChannelType,\n createUniqueUuid,\n EventType,\n type IAgentRuntime,\n logger,\n type Memory,\n type UUID,\n} from \"@elizaos/core\";\nimport type * as lark from \"@larksuiteoapi/node-sdk\";\nimport { MAX_MESSAGE_LENGTH } from \"./constants\";\nimport type { FeishuConfig } from \"./environment\";\nimport { isChatAllowed } from \"./environment\";\nimport type {\n FeishuChat,\n FeishuChatType,\n FeishuEventData,\n FeishuMessage,\n FeishuMessageContent,\n FeishuMessageReceivedPayload,\n FeishuUser,\n} from \"./types\";\nimport { FeishuEventTypes } from \"./types\";\n\n/**\n * Manages message handling for the Feishu service.\n */\nexport class MessageManager {\n private client: lark.Client;\n private runtime: IAgentRuntime;\n private config: FeishuConfig;\n private processedMessages: Set<string> = new Set();\n private botOpenId: string | null = null;\n\n constructor(\n client: lark.Client,\n runtime: IAgentRuntime,\n config: FeishuConfig,\n ) {\n this.client = client;\n this.runtime = runtime;\n this.config = config;\n }\n\n /**\n * Sets the bot's open ID for mention detection.\n */\n setBotOpenId(openId: string): void {\n this.botOpenId = openId;\n }\n\n /**\n * Handles incoming message events.\n */\n async handleMessage(event: FeishuEventData): Promise<void> {\n try {\n const message = event.event?.message as FeishuMessage | undefined;\n if (!message) {\n return;\n }\n\n // Deduplicate messages\n if (this.processedMessages.has(message.messageId)) {\n return;\n }\n this.processedMessages.add(message.messageId);\n\n // Limit cache size\n if (this.processedMessages.size > 1000) {\n const firstKey = this.processedMessages.values().next().value as string;\n this.processedMessages.delete(firstKey);\n }\n\n const chatId = message.chatId;\n const chatType = (event.event?.chat_type || \"p2p\") as FeishuChatType;\n\n // Check if chat is allowed\n if (!isChatAllowed(this.config, chatId)) {\n logger.debug(`[Feishu] Chat ${chatId} not authorized, skipping`);\n return;\n }\n\n // Parse sender information\n const sender = this.parseSender(event);\n\n // Ignore bot messages if configured\n if (this.config.shouldIgnoreBotMessages && sender.isBot) {\n logger.debug(\"[Feishu] Ignoring bot message\");\n return;\n }\n\n // Check for mentions if configured\n if (this.config.shouldRespondOnlyToMentions && chatType !== \"p2p\") {\n if (!this.isBotMentioned(message)) {\n logger.debug(\"[Feishu] Bot not mentioned, skipping\");\n return;\n }\n }\n\n // Parse message content\n const text = this.parseMessageContent(message);\n\n // Build chat info\n const chat: FeishuChat = {\n chatId,\n chatType: chatType as FeishuChatType,\n name: (event.event?.chat_name as string | undefined) || undefined,\n };\n\n // Create room and entity IDs\n const roomId = createUniqueUuid(this.runtime, chatId) as UUID;\n const entityId = createUniqueUuid(this.runtime, sender.openId) as UUID;\n const worldId = createUniqueUuid(this.runtime, chatId) as UUID;\n\n // Ensure connection exists\n await this.runtime.ensureConnection({\n entityId,\n roomId,\n userName: sender.name,\n userId: sender.openId as UUID,\n name: sender.name || \"Unknown User\",\n source: \"feishu\",\n channelId: chatId,\n messageServerId: worldId,\n type: chatType === \"p2p\" ? ChannelType.DM : ChannelType.GROUP,\n worldId,\n });\n\n // Create memory for the message\n const memory: Memory = {\n id: createUniqueUuid(this.runtime, message.messageId) as UUID,\n entityId,\n roomId,\n agentId: this.runtime.agentId,\n content: {\n text,\n source: \"feishu\",\n chatId,\n messageId: message.messageId,\n },\n createdAt: Number.parseInt(message.createTime, 10),\n };\n\n // Emit message received event\n const payload: FeishuMessageReceivedPayload = {\n runtime: this.runtime,\n message: memory,\n source: \"feishu\",\n originalMessage: message,\n chat,\n sender,\n };\n\n this.runtime.emitEvent(FeishuEventTypes.MESSAGE_RECEIVED, payload);\n this.runtime.emitEvent(EventType.MESSAGE_RECEIVED, payload);\n } catch (error) {\n logger.error(\n `[Feishu] Error handling message: ${error instanceof Error ? error.message : String(error)}`,\n );\n }\n }\n\n /**\n * Sends a message to a chat.\n */\n async sendMessage(\n chatId: string,\n content: FeishuMessageContent,\n ): Promise<string[]> {\n const messageIds: string[] = [];\n\n try {\n const text = content.text || \"\";\n\n // Handle card messages\n if (content.card) {\n const response = await this.client.im.message.create({\n params: { receive_id_type: \"chat_id\" },\n data: {\n receive_id: chatId,\n msg_type: \"interactive\",\n content: JSON.stringify(content.card),\n },\n });\n if (response.data?.message_id) {\n messageIds.push(response.data.message_id);\n }\n return messageIds;\n }\n\n // Handle image messages\n if (content.imageKey) {\n const response = await this.client.im.message.create({\n params: { receive_id_type: \"chat_id\" },\n data: {\n receive_id: chatId,\n msg_type: \"image\",\n content: JSON.stringify({ image_key: content.imageKey }),\n },\n });\n if (response.data?.message_id) {\n messageIds.push(response.data.message_id);\n }\n return messageIds;\n }\n\n // Split long messages\n const parts = this.splitMessage(text);\n\n for (const part of parts) {\n const response = await this.client.im.message.create({\n params: { receive_id_type: \"chat_id\" },\n data: {\n receive_id: chatId,\n msg_type: \"text\",\n content: JSON.stringify({ text: part }),\n },\n });\n if (response.data?.message_id) {\n messageIds.push(response.data.message_id);\n }\n }\n\n return messageIds;\n } catch (error) {\n logger.error(\n `[Feishu] Error sending message: ${error instanceof Error ? error.message : String(error)}`,\n );\n throw error;\n }\n }\n\n /**\n * Replies to a specific message.\n */\n async replyToMessage(\n messageId: string,\n content: FeishuMessageContent,\n ): Promise<string[]> {\n const messageIds: string[] = [];\n\n try {\n const text = content.text || \"\";\n const parts = this.splitMessage(text);\n\n for (const part of parts) {\n const response = await this.client.im.message.reply({\n path: { message_id: messageId },\n data: {\n msg_type: \"text\",\n content: JSON.stringify({ text: part }),\n },\n });\n if (response.data?.message_id) {\n messageIds.push(response.data.message_id);\n }\n }\n\n return messageIds;\n } catch (error) {\n logger.error(\n `[Feishu] Error replying to message: ${error instanceof Error ? error.message : String(error)}`,\n );\n throw error;\n }\n }\n\n /**\n * Parses sender information from an event.\n */\n private parseSender(event: FeishuEventData): FeishuUser {\n const sender = event.event?.sender as\n | {\n sender_id?: {\n open_id?: string;\n union_id?: string;\n user_id?: string;\n };\n sender_type?: string;\n }\n | undefined;\n\n const isBot = sender?.sender_type === \"app\";\n const openId = sender?.sender_id?.open_id || \"\";\n\n return {\n openId,\n unionId: sender?.sender_id?.union_id,\n userId: sender?.sender_id?.user_id,\n isBot,\n };\n }\n\n /**\n * Parses message content to extract text.\n */\n private parseMessageContent(message: FeishuMessage): string {\n try {\n const content = JSON.parse(message.content);\n\n switch (message.msgType) {\n case \"text\":\n return content.text || \"\";\n\n case \"post\":\n // Rich text - extract plain text\n return this.extractTextFromPost(content);\n\n case \"image\":\n case \"file\":\n case \"audio\":\n case \"video\":\n case \"sticker\":\n return `[${message.msgType}]`;\n\n case \"interactive\":\n return \"[interactive card]\";\n\n default:\n return content.text || \"\";\n }\n } catch {\n return \"\";\n }\n }\n\n /**\n * Extracts plain text from a rich text (post) message.\n */\n private extractTextFromPost(content: {\n title?: string;\n content?: { tag: string; text?: string }[][];\n }): string {\n const parts: string[] = [];\n\n if (content.title) {\n parts.push(content.title);\n }\n\n if (content.content && Array.isArray(content.content)) {\n for (const line of content.content) {\n if (Array.isArray(line)) {\n const lineText = line\n .filter((elem) => elem.tag === \"text\" && elem.text)\n .map((elem) => elem.text)\n .join(\"\");\n if (lineText) {\n parts.push(lineText);\n }\n }\n }\n }\n\n return parts.join(\"\\n\");\n }\n\n /**\n * Checks if the bot is mentioned in the message.\n */\n private isBotMentioned(message: FeishuMessage): boolean {\n if (!this.botOpenId || !message.mentions) {\n return false;\n }\n\n return message.mentions.some((mention) => mention.id === this.botOpenId);\n }\n\n /**\n * Splits a long message into chunks.\n */\n private splitMessage(content: string): string[] {\n if (content.length <= MAX_MESSAGE_LENGTH) {\n return [content];\n }\n\n const parts: string[] = [];\n let current = \"\";\n\n for (const line of content.split(\"\\n\")) {\n const lineWithNewline = current ? `\\n${line}` : line;\n\n if (current.length + lineWithNewline.length > MAX_MESSAGE_LENGTH) {\n if (current) {\n parts.push(current);\n current = \"\";\n }\n\n if (line.length > MAX_MESSAGE_LENGTH) {\n // Split very long lines by words\n const words = line.split(/\\s+/);\n for (const word of words) {\n const wordWithSpace = current ? ` ${word}` : word;\n if (current.length + wordWithSpace.length > MAX_MESSAGE_LENGTH) {\n if (current) {\n parts.push(current);\n current = \"\";\n }\n if (word.length > MAX_MESSAGE_LENGTH) {\n // Split very long words\n for (let i = 0; i < word.length; i += MAX_MESSAGE_LENGTH) {\n parts.push(word.slice(i, i + MAX_MESSAGE_LENGTH));\n }\n } else {\n current = word;\n }\n } else {\n current += wordWithSpace;\n }\n }\n } else {\n current = line;\n }\n } else {\n current += lineWithNewline;\n }\n }\n\n if (current) {\n parts.push(current);\n }\n\n return parts;\n }\n}\n",
|
|
8
8
|
"import type { IAgentRuntime } from \"@elizaos/core\";\nimport { FEISHU_DOMAINS } from \"./constants\";\n\n/**\n * Configuration for the Feishu service.\n */\nexport interface FeishuConfig {\n /** Application ID (cli_xxx format) */\n appId: string;\n /** Application secret */\n appSecret: string;\n /** Domain: 'feishu' for China or 'lark' for global */\n domain: \"feishu\" | \"lark\";\n /** API base URL */\n apiRoot: string;\n /** Allowed chat IDs (empty means all allowed) */\n allowedChatIds: string[];\n /** Test chat ID for testing */\n testChatId?: string;\n /** Whether to ignore bot messages */\n shouldIgnoreBotMessages: boolean;\n /** Whether to respond only to mentions */\n shouldRespondOnlyToMentions: boolean;\n}\n\n/**\n * Validates and returns the Feishu configuration from runtime settings.\n */\nexport function getFeishuConfig(runtime: IAgentRuntime): FeishuConfig | null {\n const appId = runtime.getSetting(\"FEISHU_APP_ID\") as string | undefined;\n const appSecret = runtime.getSetting(\"FEISHU_APP_SECRET\") as\n | string\n | undefined;\n\n if (!appId || !appSecret) {\n return null;\n }\n\n const domainSetting = (\n runtime.getSetting(\"FEISHU_DOMAIN\") as string | undefined\n )?.toLowerCase();\n const domain: \"feishu\" | \"lark\" =\n domainSetting === \"lark\" ? \"lark\" : \"feishu\";\n\n const apiRoot = FEISHU_DOMAINS[domain];\n\n let allowedChatIds: string[] = [];\n const allowedChatsRaw = runtime.getSetting(\"FEISHU_ALLOWED_CHATS\") as\n | string\n | undefined;\n if (allowedChatsRaw) {\n try {\n const parsed = JSON.parse(allowedChatsRaw);\n if (Array.isArray(parsed)) {\n allowedChatIds = parsed.map(String);\n }\n } catch {\n // Invalid JSON, ignore\n }\n }\n\n const testChatId = runtime.getSetting(\"FEISHU_TEST_CHAT_ID\") as\n | string\n | undefined;\n\n const shouldIgnoreBotMessages =\n (\n runtime.getSetting(\"FEISHU_IGNORE_BOT_MESSAGES\") as string\n )?.toLowerCase() !== \"false\";\n\n const shouldRespondOnlyToMentions =\n (\n runtime.getSetting(\"FEISHU_RESPOND_ONLY_TO_MENTIONS\") as string\n )?.toLowerCase() === \"true\";\n\n return {\n appId,\n appSecret,\n domain,\n apiRoot,\n allowedChatIds,\n testChatId,\n shouldIgnoreBotMessages,\n shouldRespondOnlyToMentions,\n };\n}\n\n/**\n * Validates the Feishu configuration.\n */\nexport function validateConfig(config: FeishuConfig): {\n valid: boolean;\n error?: string;\n} {\n if (!config.appId) {\n return { valid: false, error: \"FEISHU_APP_ID is required\" };\n }\n\n if (!config.appId.startsWith(\"cli_\")) {\n return { valid: false, error: \"FEISHU_APP_ID should start with 'cli_'\" };\n }\n\n if (!config.appSecret) {\n return { valid: false, error: \"FEISHU_APP_SECRET is required\" };\n }\n\n return { valid: true };\n}\n\n/**\n * Checks if a chat is allowed based on configuration.\n */\nexport function isChatAllowed(config: FeishuConfig, chatId: string): boolean {\n if (config.allowedChatIds.length === 0) {\n return true;\n }\n return config.allowedChatIds.includes(chatId);\n}\n",
|
|
9
9
|
"import type {\n Content,\n EntityPayload,\n MessagePayload,\n WorldPayload,\n} from \"@elizaos/core\";\n\n/**\n * Feishu event data structure (local type since lark SDK doesn't export it)\n */\nexport interface FeishuEventData {\n event?: Record<string, unknown>;\n header?: {\n event_id?: string;\n token?: string;\n create_time?: string;\n event_type?: string;\n tenant_key?: string;\n app_id?: string;\n };\n}\n\n/**\n * Base content type for Feishu messages (extends Content for compatibility).\n * Note: Do not add FeishuCard directly to this interface as it conflicts with Content's index signature.\n */\nexport interface FeishuContent extends Content {\n /** Image key for image messages */\n feishuImageKey?: string;\n /** File key for file messages */\n feishuFileKey?: string;\n}\n\n/**\n * Internal type for Feishu-specific content with card support (not exported to Content).\n * This type is used internally for message sending/receiving.\n */\nexport interface FeishuMessageContent {\n text?: string;\n /** Interactive card content */\n card?: FeishuCard;\n /** Image key for image messages */\n imageKey?: string;\n /** File key for file messages */\n fileKey?: string;\n}\n\n/**\n * Helper type for accessing Feishu-specific card content (internal use)\n */\nexport type FeishuCardContent = {\n card?: FeishuCard;\n imageKey?: string;\n fileKey?: string;\n};\n\n/**\n * Feishu interactive card structure.\n */\nexport interface FeishuCard {\n /** Card configuration */\n config?: {\n wideScreenMode?: boolean;\n enableForward?: boolean;\n };\n /** Card header */\n header?: {\n title?: {\n tag: string;\n content: string;\n };\n template?: string;\n };\n /** Card elements */\n elements?: FeishuCardElement[];\n}\n\n/**\n * Card element types.\n */\nexport type FeishuCardElement =\n | { tag: \"div\"; text: { tag: string; content: string } }\n | { tag: \"action\"; actions: FeishuCardAction[] }\n | { tag: \"hr\" }\n | { tag: \"note\"; elements: { tag: string; content: string }[] };\n\n/**\n * Card action types.\n */\nexport interface FeishuCardAction {\n tag: \"button\";\n text: { tag: string; content: string };\n type?: \"default\" | \"primary\" | \"danger\";\n url?: string;\n value?: Record<string, string>;\n}\n\n/**\n * Event types emitted by the Feishu plugin.\n */\nexport enum FeishuEventTypes {\n WORLD_JOINED = \"FEISHU_WORLD_JOINED\",\n WORLD_CONNECTED = \"FEISHU_WORLD_CONNECTED\",\n WORLD_LEFT = \"FEISHU_WORLD_LEFT\",\n ENTITY_JOINED = \"FEISHU_ENTITY_JOINED\",\n ENTITY_LEFT = \"FEISHU_ENTITY_LEFT\",\n ENTITY_UPDATED = \"FEISHU_ENTITY_UPDATED\",\n MESSAGE_RECEIVED = \"FEISHU_MESSAGE_RECEIVED\",\n MESSAGE_SENT = \"FEISHU_MESSAGE_SENT\",\n REACTION_RECEIVED = \"FEISHU_REACTION_RECEIVED\",\n INTERACTION_RECEIVED = \"FEISHU_INTERACTION_RECEIVED\",\n SLASH_START = \"FEISHU_SLASH_START\",\n}\n\n/**\n * Map of event types to their payload types.\n */\nexport interface FeishuEventPayloadMap {\n [FeishuEventTypes.MESSAGE_RECEIVED]: FeishuMessageReceivedPayload;\n [FeishuEventTypes.MESSAGE_SENT]: FeishuMessageSentPayload;\n [FeishuEventTypes.REACTION_RECEIVED]: FeishuReactionReceivedPayload;\n [FeishuEventTypes.WORLD_JOINED]: FeishuWorldPayload;\n [FeishuEventTypes.WORLD_CONNECTED]: FeishuWorldPayload;\n [FeishuEventTypes.WORLD_LEFT]: FeishuWorldPayload;\n [FeishuEventTypes.SLASH_START]: { chatId: string };\n [FeishuEventTypes.ENTITY_JOINED]: FeishuEntityPayload;\n [FeishuEventTypes.ENTITY_LEFT]: FeishuEntityPayload;\n [FeishuEventTypes.ENTITY_UPDATED]: FeishuEntityPayload;\n [FeishuEventTypes.INTERACTION_RECEIVED]: FeishuInteractionPayload;\n}\n\n/**\n * Feishu chat types.\n */\nexport enum FeishuChatType {\n /** Private one-on-one chat */\n P2P = \"p2p\",\n /** Group chat */\n GROUP = \"group\",\n}\n\n/**\n * Feishu user information.\n */\nexport interface FeishuUser {\n /** Open ID (user identifier) */\n openId: string;\n /** Union ID (cross-app identifier) */\n unionId?: string;\n /** User ID (tenant-level identifier) */\n userId?: string;\n /** User's display name */\n name?: string;\n /** User's avatar URL */\n avatarUrl?: string;\n /** Whether the user is a bot */\n isBot?: boolean;\n}\n\n/**\n * Feishu chat information.\n */\nexport interface FeishuChat {\n /** Chat ID */\n chatId: string;\n /** Chat type */\n chatType: FeishuChatType;\n /** Chat name/title */\n name?: string;\n /** Chat owner's open ID */\n ownerOpenId?: string;\n /** Chat description */\n description?: string;\n /** Tenant key */\n tenantKey?: string;\n}\n\n/**\n * Feishu message information.\n */\nexport interface FeishuMessage {\n /** Message ID */\n messageId: string;\n /** Root message ID (for threads) */\n rootId?: string;\n /** Parent message ID (for replies) */\n parentId?: string;\n /** Message type */\n msgType: string;\n /** Message content (JSON string) */\n content: string;\n /** Create time (Unix timestamp in milliseconds) */\n createTime: string;\n /** Update time (Unix timestamp in milliseconds) */\n updateTime?: string;\n /** Whether the message is deleted */\n deleted?: boolean;\n /** Chat ID */\n chatId: string;\n /** Sender information */\n sender: {\n id: string;\n idType: string;\n senderType: string;\n tenantKey?: string;\n };\n /** Mentions in the message */\n mentions?: FeishuMention[];\n}\n\n/**\n * Mention information in a message.\n */\nexport interface FeishuMention {\n /** Mention key in the message */\n key: string;\n /** Mentioned user's ID */\n id: string;\n /** ID type */\n idType: string;\n /** Mentioned user's name */\n name: string;\n /** Tenant key */\n tenantKey?: string;\n}\n\n/**\n * Payload for received messages.\n */\nexport interface FeishuMessageReceivedPayload extends MessagePayload {\n /** Original Feishu message */\n originalMessage: FeishuMessage;\n /** Chat information */\n chat: FeishuChat;\n /** Sender information */\n sender: FeishuUser;\n}\n\n/**\n * Payload for sent messages.\n */\nexport interface FeishuMessageSentPayload extends MessagePayload {\n /** Message IDs of sent messages */\n messageIds: string[];\n /** Chat ID */\n chatId: string;\n}\n\n/**\n * Payload for reaction events.\n */\nexport interface FeishuReactionReceivedPayload\n extends FeishuMessageReceivedPayload {\n /** Reaction type/emoji */\n reactionType: string;\n}\n\n/**\n * Payload for world/chat events.\n */\nexport interface FeishuWorldPayload extends WorldPayload {\n /** Chat information */\n chat: FeishuChat;\n /** Bot's open ID */\n botOpenId?: string;\n}\n\n/**\n * Payload for entity (user) events.\n */\nexport interface FeishuEntityPayload extends EntityPayload {\n /** Feishu user information */\n feishuUser: FeishuUser;\n /** Chat where the event occurred */\n chat: FeishuChat;\n}\n\n/**\n * Payload for interaction events (card actions, etc.).\n */\nexport interface FeishuInteractionPayload {\n /** Interaction type */\n type: string;\n /** Action data */\n action: {\n tag: string;\n value?: Record<string, string>;\n };\n /** User who triggered the interaction */\n user: FeishuUser;\n /** Chat where the interaction occurred */\n chat?: FeishuChat;\n /** Token for responding to the interaction */\n token?: string;\n}\n",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"/**\n * Feishu text chunk limit\n */\nexport const FEISHU_TEXT_CHUNK_LIMIT = 4000;\n\n/**\n * Feishu Post (rich text) element types\n */\nexport type FeishuPostElement =\n | { tag: \"text\"; text: string; style?: string[] }\n | { tag: \"a\"; text: string; href: string; style?: string[] }\n | { tag: \"at\"; user_id: string }\n | { tag: \"img\"; image_key: string }\n | { tag: \"media\"; file_key: string }\n | { tag: \"emotion\"; emoji_type: string };\n\n/**\n * A line of Feishu Post content\n */\nexport type FeishuPostLine = FeishuPostElement[];\n\n/**\n * Feishu Post content structure\n */\nexport interface FeishuPostContent {\n zh_cn?: {\n title?: string;\n content: FeishuPostLine[];\n };\n en_us?: {\n title?: string;\n content: FeishuPostLine[];\n };\n}\n\n/**\n * Result of formatting markdown for Feishu\n */\nexport interface FeishuFormattedChunk {\n post: FeishuPostContent;\n text: string;\n}\n\n/**\n * Style state for text formatting\n */\ninterface StyleState {\n bold: boolean;\n italic: boolean;\n strikethrough: boolean;\n code: boolean;\n}\n\n/**\n * Link span information\n */\ninterface LinkSpan {\n start: number;\n end: number;\n href: string;\n text: string;\n}\n\n/**\n * Style span information\n */\ninterface StyleSpan {\n start: number;\n end: number;\n style: \"bold\" | \"italic\" | \"strikethrough\" | \"code\";\n}\n\n/**\n * Intermediate representation of parsed markdown\n */\ninterface MarkdownIR {\n text: string;\n styles: StyleSpan[];\n links: LinkSpan[];\n}\n\n/**\n * Options for text chunking\n */\nexport interface ChunkFeishuTextOpts {\n limit?: number;\n}\n\n/**\n * Parse markdown to intermediate representation\n */\nfunction parseMarkdownToIR(markdown: string): MarkdownIR {\n const styles: StyleSpan[] = [];\n const links: LinkSpan[] = [];\n let text = markdown;\n\n // Process links first [text](url)\n const linkRegex = /\\[([^\\]]+)\\]\\(([^)]+)\\)/g;\n const linkReplacements: {\n start: number;\n end: number;\n text: string;\n href: string;\n }[] = [];\n\n let linkMatch = linkRegex.exec(markdown);\n while (linkMatch !== null) {\n linkReplacements.push({\n start: linkMatch.index,\n end: linkMatch.index + linkMatch[0].length,\n text: linkMatch[1],\n href: linkMatch[2],\n });\n linkMatch = linkRegex.exec(markdown);\n }\n\n // Apply link replacements in reverse order\n let offset = 0;\n for (const repl of linkReplacements) {\n const before = text.slice(0, repl.start + offset);\n const after = text.slice(repl.end + offset);\n text = before + repl.text + after;\n\n links.push({\n start: repl.start + offset,\n end: repl.start + offset + repl.text.length,\n href: repl.href,\n text: repl.text,\n });\n\n offset += repl.text.length - (repl.end - repl.start);\n }\n\n // Process bold **text** or __text__\n text = processStyle(text, /\\*\\*([^*]+)\\*\\*/g, \"bold\", styles);\n text = processStyle(text, /__([^_]+)__/g, \"bold\", styles);\n\n // Process italic *text* or _text_\n text = processStyle(\n text,\n /(?<!\\*)\\*(?!\\*)([^*]+)(?<!\\*)\\*(?!\\*)/g,\n \"italic\",\n styles,\n );\n text = processStyle(\n text,\n /(?<!_)_(?!_)([^_]+)(?<!_)_(?!_)/g,\n \"italic\",\n styles,\n );\n\n // Process strikethrough ~~text~~\n text = processStyle(text, /~~([^~]+)~~/g, \"strikethrough\", styles);\n\n // Process inline code `text`\n text = processStyle(text, /`([^`]+)`/g, \"code\", styles);\n\n // Process code blocks ```text```\n text = text.replace(/```(\\w*)\\n?([\\s\\S]*?)```/g, (_, _lang, code) => {\n const start = text.indexOf(_);\n const trimmedCode = code.trim();\n styles.push({\n start,\n end: start + trimmedCode.length,\n style: \"code\",\n });\n return trimmedCode;\n });\n\n // Remove markdown headers\n text = text.replace(/^#{1,6}\\s+/gm, \"\");\n\n // Remove blockquote markers\n text = text.replace(/^>\\s?/gm, \"| \");\n\n // Clean up\n text = text.replace(/\\n{3,}/g, \"\\n\\n\").trim();\n\n return { text, styles, links };\n}\n\n/**\n * Process a style pattern and update the text and styles\n */\nfunction processStyle(\n text: string,\n pattern: RegExp,\n style: StyleSpan[\"style\"],\n styles: StyleSpan[],\n): string {\n let result = text;\n const matches: { index: number; fullLength: number; content: string }[] = [];\n\n let match = pattern.exec(text);\n while (match !== null) {\n matches.push({\n index: match.index,\n fullLength: match[0].length,\n content: match[1],\n });\n match = pattern.exec(text);\n }\n\n // Process in reverse to maintain indices\n let offset = 0;\n for (const m of matches) {\n const before = result.slice(0, m.index + offset);\n const after = result.slice(m.index + offset + m.fullLength);\n result = before + m.content + after;\n\n styles.push({\n start: m.index + offset,\n end: m.index + offset + m.content.length,\n style,\n });\n\n offset += m.content.length - m.fullLength;\n }\n\n return result;\n}\n\n/**\n * Build style ranges for quick lookup\n */\nfunction buildStyleRanges(\n styles: StyleSpan[],\n textLength: number,\n): StyleState[] {\n const ranges: StyleState[] = Array(textLength)\n .fill(null)\n .map(() => ({\n bold: false,\n italic: false,\n strikethrough: false,\n code: false,\n }));\n\n for (const span of styles) {\n for (let i = span.start; i < span.end && i < textLength; i++) {\n switch (span.style) {\n case \"bold\":\n ranges[i].bold = true;\n break;\n case \"italic\":\n ranges[i].italic = true;\n break;\n case \"strikethrough\":\n ranges[i].strikethrough = true;\n break;\n case \"code\":\n ranges[i].code = true;\n break;\n }\n }\n }\n\n return ranges;\n}\n\n/**\n * Build link map for quick lookup\n */\nfunction buildLinkMap(links: LinkSpan[]): Map<number, string> {\n const map = new Map<number, string>();\n for (const link of links) {\n for (let i = link.start; i < link.end; i++) {\n map.set(i, link.href);\n }\n }\n return map;\n}\n\n/**\n * Get styles at a specific position\n */\nfunction getStylesAt(ranges: StyleState[], pos: number): StyleState {\n return (\n ranges[pos] ?? {\n bold: false,\n italic: false,\n strikethrough: false,\n code: false,\n }\n );\n}\n\n/**\n * Get link at a specific position\n */\nfunction getLinkAt(\n linkMap: Map<number, string>,\n pos: number,\n): string | undefined {\n return linkMap.get(pos);\n}\n\n/**\n * Check if two style states are equal\n */\nfunction stylesEqual(a: StyleState, b: StyleState): boolean {\n return (\n a.bold === b.bold &&\n a.italic === b.italic &&\n a.strikethrough === b.strikethrough &&\n a.code === b.code\n );\n}\n\n/**\n * Create a Feishu Post element\n */\nfunction createPostElement(\n text: string,\n styles: StyleState,\n link?: string,\n): FeishuPostElement {\n const styleArray: string[] = [];\n\n if (styles.bold) {\n styleArray.push(\"bold\");\n }\n if (styles.italic) {\n styleArray.push(\"italic\");\n }\n if (styles.strikethrough) {\n styleArray.push(\"lineThrough\");\n }\n if (styles.code) {\n styleArray.push(\"code\");\n }\n\n if (link) {\n return {\n tag: \"a\",\n text,\n href: link,\n ...(styleArray.length > 0 ? { style: styleArray } : {}),\n };\n }\n\n return {\n tag: \"text\",\n text,\n ...(styleArray.length > 0 ? { style: styleArray } : {}),\n };\n}\n\n/**\n * Render markdown IR to Feishu Post format\n */\nfunction renderFeishuPost(ir: MarkdownIR): FeishuPostContent {\n const lines: FeishuPostLine[] = [];\n const text = ir.text;\n\n if (!text) {\n return { zh_cn: { content: [[{ tag: \"text\", text: \"\" }]] } };\n }\n\n const styleRanges = buildStyleRanges(ir.styles, text.length);\n const linkMap = buildLinkMap(ir.links);\n\n const textLines = text.split(\"\\n\");\n let charIndex = 0;\n\n for (const line of textLines) {\n const lineElements: FeishuPostElement[] = [];\n\n if (line.length === 0) {\n lineElements.push({ tag: \"text\", text: \"\" });\n } else {\n let segmentStart = charIndex;\n let currentStyles = getStylesAt(styleRanges, segmentStart);\n let currentLink = getLinkAt(linkMap, segmentStart);\n\n for (let i = 0; i < line.length; i++) {\n const pos = charIndex + i;\n const newStyles = getStylesAt(styleRanges, pos);\n const newLink = getLinkAt(linkMap, pos);\n\n const stylesChanged = !stylesEqual(currentStyles, newStyles);\n const linkChanged = currentLink !== newLink;\n\n if (stylesChanged || linkChanged) {\n const segmentText = text.slice(segmentStart, pos);\n if (segmentText) {\n lineElements.push(\n createPostElement(segmentText, currentStyles, currentLink),\n );\n }\n segmentStart = pos;\n currentStyles = newStyles;\n currentLink = newLink;\n }\n }\n\n const finalText = text.slice(segmentStart, charIndex + line.length);\n if (finalText) {\n lineElements.push(\n createPostElement(finalText, currentStyles, currentLink),\n );\n }\n }\n\n lines.push(\n lineElements.length > 0 ? lineElements : [{ tag: \"text\", text: \"\" }],\n );\n charIndex += line.length + 1;\n }\n\n return {\n zh_cn: {\n content: lines,\n },\n };\n}\n\n/**\n * Convert markdown to Feishu Post format\n */\nexport function markdownToFeishuPost(markdown: string): FeishuPostContent {\n const ir = parseMarkdownToIR(markdown ?? \"\");\n return renderFeishuPost(ir);\n}\n\n/**\n * Splits text at the last safe break point within the limit\n */\nfunction splitAtBreakPoint(\n text: string,\n limit: number,\n): { chunk: string; remainder: string } {\n if (text.length <= limit) {\n return { chunk: text, remainder: \"\" };\n }\n\n const searchArea = text.slice(0, limit);\n\n // Prefer double newlines (paragraph breaks)\n const doubleNewline = searchArea.lastIndexOf(\"\\n\\n\");\n if (doubleNewline > limit * 0.5) {\n return {\n chunk: text.slice(0, doubleNewline).trimEnd(),\n remainder: text.slice(doubleNewline + 2).trimStart(),\n };\n }\n\n // Try single newlines\n const singleNewline = searchArea.lastIndexOf(\"\\n\");\n if (singleNewline > limit * 0.5) {\n return {\n chunk: text.slice(0, singleNewline).trimEnd(),\n remainder: text.slice(singleNewline + 1).trimStart(),\n };\n }\n\n // Try sentence boundaries\n const sentenceEnd = Math.max(\n searchArea.lastIndexOf(\". \"),\n searchArea.lastIndexOf(\"! \"),\n searchArea.lastIndexOf(\"? \"),\n );\n if (sentenceEnd > limit * 0.5) {\n return {\n chunk: text.slice(0, sentenceEnd + 1).trimEnd(),\n remainder: text.slice(sentenceEnd + 2).trimStart(),\n };\n }\n\n // Try word boundaries\n const space = searchArea.lastIndexOf(\" \");\n if (space > limit * 0.5) {\n return {\n chunk: text.slice(0, space).trimEnd(),\n remainder: text.slice(space + 1).trimStart(),\n };\n }\n\n // Hard break at limit\n return {\n chunk: text.slice(0, limit),\n remainder: text.slice(limit),\n };\n}\n\n/**\n * Chunk text for Feishu messages\n */\nexport function chunkFeishuText(\n text: string,\n opts: ChunkFeishuTextOpts = {},\n): string[] {\n const limit = opts.limit ?? FEISHU_TEXT_CHUNK_LIMIT;\n\n if (!text?.trim()) {\n return [];\n }\n\n const normalizedText = text.trim();\n if (normalizedText.length <= limit) {\n return [normalizedText];\n }\n\n const chunks: string[] = [];\n let remaining = normalizedText;\n\n while (remaining.length > 0) {\n const { chunk, remainder } = splitAtBreakPoint(remaining, limit);\n if (chunk) {\n chunks.push(chunk);\n }\n remaining = remainder;\n }\n\n return chunks.filter((c) => c.length > 0);\n}\n\n/**\n * Convert markdown to Feishu Post chunks\n */\nexport function markdownToFeishuChunks(\n markdown: string,\n limit: number = FEISHU_TEXT_CHUNK_LIMIT,\n): FeishuFormattedChunk[] {\n const textChunks = chunkFeishuText(markdown, { limit });\n return textChunks.map((chunk) => ({\n post: markdownToFeishuPost(chunk),\n text: chunk,\n }));\n}\n\n/**\n * Check if text contains markdown formatting\n */\nexport function containsMarkdown(text: string): boolean {\n if (!text) {\n return false;\n }\n const markdownPatterns = [\n /\\*\\*[^*]+\\*\\*/,\n /\\*[^*]+\\*/,\n /~~[^~]+~~/,\n /`[^`]+`/,\n /```[\\s\\S]*```/,\n /\\[.+\\]\\(.+\\)/,\n /^#{1,6}\\s/m,\n /^[-*]\\s/m,\n /^\\d+\\.\\s/m,\n ];\n return markdownPatterns.some((pattern) => pattern.test(text));\n}\n\n/**\n * Strip markdown formatting from text\n */\nexport function stripMarkdown(text: string): string {\n let result = text;\n\n // Remove bold\n result = result.replace(/\\*\\*(.+?)\\*\\*/g, \"$1\");\n result = result.replace(/__(.+?)__/g, \"$1\");\n\n // Remove italic\n result = result.replace(/(?<!\\*)\\*(?!\\*)(.+?)(?<!\\*)\\*(?!\\*)/g, \"$1\");\n result = result.replace(/(?<!_)_(?!_)(.+?)(?<!_)_(?!_)/g, \"$1\");\n\n // Remove strikethrough\n result = result.replace(/~~(.+?)~~/g, \"$1\");\n\n // Remove headers\n result = result.replace(/^#{1,6}\\s+(.+)$/gm, \"$1\");\n\n // Remove blockquotes\n result = result.replace(/^>\\s?(.*)$/gm, \"$1\");\n\n // Remove code blocks\n result = result.replace(/```(\\w*)\\n?([\\s\\S]*?)```/g, \"$2\");\n\n // Remove inline code\n result = result.replace(/`([^`]+)`/g, \"$1\");\n\n // Remove links - keep text\n result = result.replace(/\\[([^\\]]+)\\]\\([^)]+\\)/g, \"$1\");\n\n // Clean up\n result = result.replace(/\\n{3,}/g, \"\\n\\n\");\n result = result.trim();\n\n return result;\n}\n\n/**\n * Format Feishu user mention\n */\nexport function formatFeishuUserMention(userId: string): string {\n return `<at user_id=\"${userId}\"></at>`;\n}\n\n/**\n * Format Feishu user mention for all users\n */\nexport function formatFeishuAtAll(): string {\n return '<at user_id=\"all\"></at>';\n}\n\n/**\n * Truncate text to a maximum length\n */\nexport function truncateText(text: string, maxLength: number): string {\n if (text.length <= maxLength) {\n return text;\n }\n if (maxLength <= 3) {\n return \"...\".slice(0, maxLength);\n }\n return `${text.slice(0, maxLength - 3)}...`;\n}\n\n/**\n * Resolve system location for logging\n */\nexport function resolveFeishuSystemLocation(params: {\n chatType: \"p2p\" | \"group\";\n chatId: string;\n chatName?: string;\n}): string {\n const { chatType, chatId, chatName } = params;\n const name = chatName || chatId.slice(0, 8);\n return `Feishu ${chatType}:${name}`;\n}\n\n/**\n * Check if chat is a group chat\n */\nexport function isGroupChat(chatType: string): boolean {\n return chatType === \"group\";\n}\n",
|
|
14
14
|
"import type { Plugin } from \"@elizaos/core\";\nimport { SEND_MESSAGE_ACTION, sendMessageAction } from \"./actions\";\nimport { FEISHU_SERVICE_NAME } from \"./constants\";\nimport { MessageManager } from \"./messageManager\";\nimport { CHAT_STATE_PROVIDER, chatStateProvider } from \"./providers\";\nimport { FeishuService } from \"./service\";\n\nconst feishuPlugin: Plugin = {\n name: FEISHU_SERVICE_NAME,\n description: \"Feishu/Lark client plugin for elizaOS\",\n services: [FeishuService],\n actions: [sendMessageAction],\n providers: [chatStateProvider],\n tests: [],\n};\n\nexport {\n FeishuService,\n MessageManager,\n sendMessageAction,\n SEND_MESSAGE_ACTION,\n chatStateProvider,\n CHAT_STATE_PROVIDER,\n FEISHU_SERVICE_NAME,\n};\n\n// Account management exports\nexport {\n DEFAULT_ACCOUNT_ID,\n type FeishuAccountConfig,\n type FeishuGroupConfig,\n type FeishuMultiAccountConfig,\n type FeishuTokenSource,\n isFeishuMentionRequired,\n isFeishuUserAllowed,\n isMultiAccountEnabled,\n listEnabledFeishuAccounts,\n listFeishuAccountIds,\n normalizeAccountId,\n type ResolvedFeishuAccount,\n resolveDefaultFeishuAccountId,\n resolveFeishuAccount,\n resolveFeishuGroupConfig,\n} from \"./accounts\";\nexport * from \"./constants\";\nexport * from \"./environment\";\n// Formatting exports\nexport {\n type ChunkFeishuTextOpts,\n chunkFeishuText,\n containsMarkdown,\n FEISHU_TEXT_CHUNK_LIMIT,\n type FeishuFormattedChunk,\n type FeishuPostContent,\n type FeishuPostElement,\n type FeishuPostLine,\n formatFeishuAtAll,\n formatFeishuUserMention,\n isGroupChat,\n markdownToFeishuChunks,\n markdownToFeishuPost,\n resolveFeishuSystemLocation,\n stripMarkdown,\n truncateText,\n} from \"./formatting\";\nexport * from \"./types\";\n\nexport default feishuPlugin;\n\n// Channel configuration types\nexport type {\n FeishuActionConfig,\n FeishuConfig,\n FeishuReactionNotificationMode,\n} from \"./config\";\n"
|
|
15
15
|
],
|
|
16
|
-
"mappings": "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",
|
|
17
|
-
"debugId": "
|
|
16
|
+
"mappings": "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",
|
|
17
|
+
"debugId": "C5079321E56197B464756E2164756E21",
|
|
18
18
|
"names": []
|
|
19
19
|
}
|