@xwang152/claw-lark 0.1.26 → 0.1.28

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/index.d.ts CHANGED
@@ -12,6 +12,8 @@ export { createLarkClient, createLarkWSClient } from "./src/client.js";
12
12
  export { monitorLarkProvider, stopMonitor } from "./src/monitor.js";
13
13
  export { startWebhookServer } from "./src/webhook.js";
14
14
  export { listLarkDirectoryPeers, listLarkDirectoryGroups } from "./src/directory.js";
15
+ export { sendMessageLark, sendCardLark, updateCardLark, buildMarkdownCard, sendMarkdownCardLark, editMessageLark, shouldUseCard, } from "./src/send.js";
16
+ export type { LarkSendResult, SendLarkMessageParams, SendLarkCardParams, SendLarkMarkdownCardParams } from "./src/send.js";
15
17
  export { downloadImageLark, downloadFileLark, uploadImageLark, uploadFileLark, sendImageLark, sendFileLark, sendMediaLark, detectFileType, } from "./src/media.js";
16
18
  export { addReactionLark, removeReactionLark, listReactionsLark } from "./src/reactions.js";
17
19
  export { extractMentionTargets, extractMessageBody, isMentionForwardRequest, formatMentionForText, formatMentionForCard, formatMentionAllForText, formatMentionAllForCard, buildMentionedMessage, buildMentionedCardContent, } from "./src/mention.js";
package/dist/index.js CHANGED
@@ -16,6 +16,7 @@ export { createLarkClient, createLarkWSClient } from "./src/client.js";
16
16
  export { monitorLarkProvider, stopMonitor } from "./src/monitor.js";
17
17
  export { startWebhookServer } from "./src/webhook.js";
18
18
  export { listLarkDirectoryPeers, listLarkDirectoryGroups } from "./src/directory.js";
19
+ export { sendMessageLark, sendCardLark, updateCardLark, buildMarkdownCard, sendMarkdownCardLark, editMessageLark, shouldUseCard, } from "./src/send.js";
19
20
  export { downloadImageLark, downloadFileLark, uploadImageLark, uploadFileLark, sendImageLark, sendFileLark, sendMediaLark, detectFileType, } from "./src/media.js";
20
21
  export { addReactionLark, removeReactionLark, listReactionsLark } from "./src/reactions.js";
21
22
  export { extractMentionTargets, extractMessageBody, isMentionForwardRequest, formatMentionForText, formatMentionForCard, formatMentionAllForText, formatMentionAllForCard, buildMentionedMessage, buildMentionedCardContent, } from "./src/mention.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,mCAAmC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAgBlC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,uBAAuB,EAAE;IACvC,QAAQ,CAAC,GAAsB;QAC7B,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,wCAAwC;QACxC,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5C,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,mCAAmC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACrF,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,cAAc,EACd,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAgBlC,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EAClB,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,MAAM,GAAG;IACb,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,4CAA4C;IACzD,YAAY,EAAE,uBAAuB,EAAE;IACvC,QAAQ,CAAC,GAAsB;QAC7B,cAAc,CAAC,GAAG,CAAC,CAAC;QACpB,wCAAwC;QACxC,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5C,GAAG,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;IAC3C,CAAC;CACF,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Lark/Feishu Message Sending Utilities
3
+ *
4
+ * Functions for sending text, cards, and editing messages.
5
+ * Includes markdown card support for rich content rendering.
6
+ */
7
+ import type { ResolvedLarkAccount } from "./types.js";
8
+ import type { MentionTarget } from "./mention.js";
9
+ /**
10
+ * Detect if text contains markdown elements that benefit from card rendering.
11
+ * Used by auto render mode to determine when to use interactive cards.
12
+ *
13
+ * @param text - Text content to check
14
+ * @returns true if text should use card rendering
15
+ */
16
+ export declare function shouldUseCard(text: string): boolean;
17
+ export type LarkSendResult = {
18
+ messageId: string;
19
+ chatId: string;
20
+ };
21
+ export type SendLarkMessageParams = {
22
+ account: ResolvedLarkAccount;
23
+ to: string;
24
+ text: string;
25
+ replyToMessageId?: string;
26
+ /** Mention target users */
27
+ mentions?: MentionTarget[];
28
+ };
29
+ /**
30
+ * Send a text message to Lark/Feishu.
31
+ *
32
+ * @param params - Account, recipient, message content, and optional reply/mentions
33
+ * @returns Send result with messageId and chatId
34
+ */
35
+ export declare function sendMessageLark(params: SendLarkMessageParams): Promise<LarkSendResult>;
36
+ export type SendLarkCardParams = {
37
+ account: ResolvedLarkAccount;
38
+ to: string;
39
+ card: Record<string, unknown>;
40
+ replyToMessageId?: string;
41
+ };
42
+ /**
43
+ * Send an interactive card message to Lark/Feishu.
44
+ *
45
+ * @param params - Account, recipient, card content, and optional reply
46
+ * @returns Send result with messageId and chatId
47
+ */
48
+ export declare function sendCardLark(params: SendLarkCardParams): Promise<LarkSendResult>;
49
+ /**
50
+ * Update an existing card message.
51
+ *
52
+ * @param params - Account, messageId, and new card content
53
+ */
54
+ export declare function updateCardLark(params: {
55
+ account: ResolvedLarkAccount;
56
+ messageId: string;
57
+ card: Record<string, unknown>;
58
+ }): Promise<void>;
59
+ /**
60
+ * Build a Lark/Feishu interactive card with markdown content.
61
+ *
62
+ * Cards render markdown properly (code blocks, tables, links, etc.)
63
+ *
64
+ * @param text - Markdown content to display in the card
65
+ * @returns Card object for Lark API
66
+ */
67
+ export declare function buildMarkdownCard(text: string): Record<string, unknown>;
68
+ export type SendLarkMarkdownCardParams = {
69
+ account: ResolvedLarkAccount;
70
+ to: string;
71
+ text: string;
72
+ replyToMessageId?: string;
73
+ /** Mention target users */
74
+ mentions?: MentionTarget[];
75
+ };
76
+ /**
77
+ * Send a message as a markdown card (interactive message).
78
+ *
79
+ * This renders markdown properly in Lark/Feishu (code blocks, tables, bold/italic, etc.)
80
+ *
81
+ * @param params - Account, recipient, markdown text, and optional reply/mentions
82
+ * @returns Send result with messageId and chatId
83
+ */
84
+ export declare function sendMarkdownCardLark(params: SendLarkMarkdownCardParams): Promise<LarkSendResult>;
85
+ /**
86
+ * Edit an existing text message.
87
+ *
88
+ * Note: Lark/Feishu only allows editing messages within a certain time window.
89
+ *
90
+ * @param params - Account, messageId, and new text content
91
+ */
92
+ export declare function editMessageLark(params: {
93
+ account: ResolvedLarkAccount;
94
+ messageId: string;
95
+ text: string;
96
+ }): Promise<void>;
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Lark/Feishu Message Sending Utilities
3
+ *
4
+ * Functions for sending text, cards, and editing messages.
5
+ * Includes markdown card support for rich content rendering.
6
+ */
7
+ import { createLarkClient } from "./client.js";
8
+ import { inferReceiveIdType, normalizeLarkTarget } from "./utils.js";
9
+ import { buildMentionedCardContent } from "./mention.js";
10
+ /**
11
+ * Detect if text contains markdown elements that benefit from card rendering.
12
+ * Used by auto render mode to determine when to use interactive cards.
13
+ *
14
+ * @param text - Text content to check
15
+ * @returns true if text should use card rendering
16
+ */
17
+ export function shouldUseCard(text) {
18
+ // Code blocks (fenced)
19
+ if (/```[\s\S]*?```/.test(text))
20
+ return true;
21
+ // Tables (at least header + separator row with |)
22
+ if (/\|.+\|[\r\n]+\|[-:| ]+\|/.test(text))
23
+ return true;
24
+ return false;
25
+ }
26
+ /**
27
+ * Send a text message to Lark/Feishu.
28
+ *
29
+ * @param params - Account, recipient, message content, and optional reply/mentions
30
+ * @returns Send result with messageId and chatId
31
+ */
32
+ export async function sendMessageLark(params) {
33
+ const { account, to, text, replyToMessageId, mentions } = params;
34
+ const client = createLarkClient(account);
35
+ const receiveId = normalizeLarkTarget(to);
36
+ if (!receiveId) {
37
+ throw new Error(`Invalid Lark target: ${to}`);
38
+ }
39
+ const receiveIdType = inferReceiveIdType(receiveId);
40
+ // Build message content (with @mention support)
41
+ let messageText = text ?? "";
42
+ if (mentions && mentions.length > 0) {
43
+ // For text messages, mentions use a special format
44
+ // This is a simplified version - full mention support requires more complex formatting
45
+ messageText = text; // TODO: Implement proper mention formatting for text messages
46
+ }
47
+ const content = JSON.stringify({ text: messageText });
48
+ if (replyToMessageId) {
49
+ const response = await client.im.message.reply({
50
+ path: { message_id: replyToMessageId },
51
+ data: {
52
+ content,
53
+ msg_type: "text",
54
+ },
55
+ });
56
+ if (response.code !== 0) {
57
+ throw new Error(`Lark reply failed: ${response.msg || `code ${response.code}`}`);
58
+ }
59
+ return {
60
+ messageId: response.data?.message_id ?? "unknown",
61
+ chatId: receiveId,
62
+ };
63
+ }
64
+ const response = await client.im.message.create({
65
+ params: { receive_id_type: receiveIdType },
66
+ data: {
67
+ receive_id: receiveId,
68
+ content,
69
+ msg_type: "text",
70
+ },
71
+ });
72
+ if (response.code !== 0) {
73
+ throw new Error(`Lark send failed: ${response.msg || `code ${response.code}`}`);
74
+ }
75
+ return {
76
+ messageId: response.data?.message_id ?? "unknown",
77
+ chatId: receiveId,
78
+ };
79
+ }
80
+ /**
81
+ * Send an interactive card message to Lark/Feishu.
82
+ *
83
+ * @param params - Account, recipient, card content, and optional reply
84
+ * @returns Send result with messageId and chatId
85
+ */
86
+ export async function sendCardLark(params) {
87
+ const { account, to, card, replyToMessageId } = params;
88
+ const client = createLarkClient(account);
89
+ const receiveId = normalizeLarkTarget(to);
90
+ if (!receiveId) {
91
+ throw new Error(`Invalid Lark target: ${to}`);
92
+ }
93
+ const receiveIdType = inferReceiveIdType(receiveId);
94
+ const content = JSON.stringify(card);
95
+ if (replyToMessageId) {
96
+ const response = await client.im.message.reply({
97
+ path: { message_id: replyToMessageId },
98
+ data: {
99
+ content,
100
+ msg_type: "interactive",
101
+ },
102
+ });
103
+ if (response.code !== 0) {
104
+ throw new Error(`Lark card reply failed: ${response.msg || `code ${response.code}`}`);
105
+ }
106
+ return {
107
+ messageId: response.data?.message_id ?? "unknown",
108
+ chatId: receiveId,
109
+ };
110
+ }
111
+ const response = await client.im.message.create({
112
+ params: { receive_id_type: receiveIdType },
113
+ data: {
114
+ receive_id: receiveId,
115
+ content,
116
+ msg_type: "interactive",
117
+ },
118
+ });
119
+ if (response.code !== 0) {
120
+ throw new Error(`Lark card send failed: ${response.msg || `code ${response.code}`}`);
121
+ }
122
+ return {
123
+ messageId: response.data?.message_id ?? "unknown",
124
+ chatId: receiveId,
125
+ };
126
+ }
127
+ /**
128
+ * Update an existing card message.
129
+ *
130
+ * @param params - Account, messageId, and new card content
131
+ */
132
+ export async function updateCardLark(params) {
133
+ const { account, messageId, card } = params;
134
+ const client = createLarkClient(account);
135
+ const content = JSON.stringify(card);
136
+ const response = await client.im.message.patch({
137
+ path: { message_id: messageId },
138
+ data: { content },
139
+ });
140
+ if (response.code !== 0) {
141
+ throw new Error(`Lark card update failed: ${response.msg || `code ${response.code}`}`);
142
+ }
143
+ }
144
+ /**
145
+ * Build a Lark/Feishu interactive card with markdown content.
146
+ *
147
+ * Cards render markdown properly (code blocks, tables, links, etc.)
148
+ *
149
+ * @param text - Markdown content to display in the card
150
+ * @returns Card object for Lark API
151
+ */
152
+ export function buildMarkdownCard(text) {
153
+ return {
154
+ config: {
155
+ wide_screen_mode: true,
156
+ },
157
+ elements: [
158
+ {
159
+ tag: "markdown",
160
+ content: text,
161
+ },
162
+ ],
163
+ };
164
+ }
165
+ /**
166
+ * Send a message as a markdown card (interactive message).
167
+ *
168
+ * This renders markdown properly in Lark/Feishu (code blocks, tables, bold/italic, etc.)
169
+ *
170
+ * @param params - Account, recipient, markdown text, and optional reply/mentions
171
+ * @returns Send result with messageId and chatId
172
+ */
173
+ export async function sendMarkdownCardLark(params) {
174
+ const { account, to, text, replyToMessageId, mentions } = params;
175
+ // Build message content (with @mention support)
176
+ let cardText = text;
177
+ if (mentions && mentions.length > 0) {
178
+ cardText = buildMentionedCardContent(mentions, text);
179
+ }
180
+ const card = buildMarkdownCard(cardText);
181
+ return sendCardLark({ account, to, card, replyToMessageId });
182
+ }
183
+ /**
184
+ * Edit an existing text message.
185
+ *
186
+ * Note: Lark/Feishu only allows editing messages within a certain time window.
187
+ *
188
+ * @param params - Account, messageId, and new text content
189
+ */
190
+ export async function editMessageLark(params) {
191
+ const { account, messageId, text } = params;
192
+ const client = createLarkClient(account);
193
+ const messageText = text ?? "";
194
+ const content = JSON.stringify({ text: messageText });
195
+ const response = await client.im.message.update({
196
+ path: { message_id: messageId },
197
+ data: {
198
+ msg_type: "text",
199
+ content,
200
+ },
201
+ });
202
+ if (response.code !== 0) {
203
+ throw new Error(`Lark message edit failed: ${response.msg || `code ${response.code}`}`);
204
+ }
205
+ }
206
+ //# sourceMappingURL=send.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/send.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xwang152/claw-lark",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "type": "module",
5
5
  "description": "Lark/Feishu channel plugin for OpenClaw with WebSocket and Webhook support",
6
6
  "license": "MIT",