@xwang152/claw-lark 0.1.25 → 0.1.26

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
@@ -21,6 +21,10 @@ export { resolveLarkSenderName, clearSenderNameCache, getSenderNameCacheStats, p
21
21
  export { getLarkMessage, formatQuotedContext, isReplyMessage, buildMessageContextWithQuote, } from "./src/message-context.js";
22
22
  export type { LarkDomain, LarkConnectionMode, DmPolicy, GroupPolicy, RenderMode, LarkAccountConfig, ResolvedLarkAccount, LarkChannelConfig, LarkGroupConfig, LarkMessageEvent, LarkMention, ParsedMessage, SendResult, } from "./src/types.js";
23
23
  export { resolveLarkAllowlistMatch, resolveLarkGroupConfig, resolveLarkGroupToolPolicy, isLarkGroupAllowed, resolveLarkGroupRequireMention, resolveLarkReplyToMode, } from "./src/policy.js";
24
+ export { detectLarkIdType, normalizeLarkTarget, formatLarkTarget, inferReceiveIdType, looksLikeLarkId, } from "./src/utils.js";
25
+ export type { LarkIdType } from "./src/utils.js";
26
+ export { probeLark } from "./src/probe.js";
27
+ export type { LarkProbeResult } from "./src/probe.js";
24
28
  declare const plugin: {
25
29
  id: string;
26
30
  name: string;
package/dist/index.js CHANGED
@@ -23,6 +23,8 @@ export { addTypingIndicator, removeTypingIndicator, createTypingController, } fr
23
23
  export { resolveLarkSenderName, clearSenderNameCache, getSenderNameCacheStats, prefetchLarkSenderNames, } from "./src/sender-name.js";
24
24
  export { getLarkMessage, formatQuotedContext, isReplyMessage, buildMessageContextWithQuote, } from "./src/message-context.js";
25
25
  export { resolveLarkAllowlistMatch, resolveLarkGroupConfig, resolveLarkGroupToolPolicy, isLarkGroupAllowed, resolveLarkGroupRequireMention, resolveLarkReplyToMode, } from "./src/policy.js";
26
+ export { detectLarkIdType, normalizeLarkTarget, formatLarkTarget, inferReceiveIdType, looksLikeLarkId, } from "./src/utils.js";
27
+ export { probeLark } from "./src/probe.js";
26
28
  const plugin = {
27
29
  id: "claw-lark",
28
30
  name: "Lark",
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;AAEzB,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,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,24 @@
1
+ /**
2
+ * Lark/Feishu Connection Probe
3
+ *
4
+ * Tests connectivity and retrieves bot information.
5
+ * Useful for configuration verification and debugging.
6
+ */
7
+ import type { ResolvedLarkAccount } from "./types.js";
8
+ export type LarkProbeResult = {
9
+ ok: true;
10
+ appId: string;
11
+ botName?: string;
12
+ botOpenId?: string;
13
+ } | {
14
+ ok: false;
15
+ appId?: string;
16
+ error: string;
17
+ };
18
+ /**
19
+ * Probe Lark/Feishu API to verify credentials and get bot info.
20
+ *
21
+ * @param account - The Lark account to test
22
+ * @returns Probe result with bot info if successful
23
+ */
24
+ export declare function probeLark(account: ResolvedLarkAccount): Promise<LarkProbeResult>;
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Lark/Feishu Connection Probe
3
+ *
4
+ * Tests connectivity and retrieves bot information.
5
+ * Useful for configuration verification and debugging.
6
+ */
7
+ import { createLarkClient } from "./client.js";
8
+ /**
9
+ * Probe Lark/Feishu API to verify credentials and get bot info.
10
+ *
11
+ * @param account - The Lark account to test
12
+ * @returns Probe result with bot info if successful
13
+ */
14
+ export async function probeLark(account) {
15
+ if (!account.appId || !account.appSecret) {
16
+ return {
17
+ ok: false,
18
+ error: "missing credentials (appId, appSecret)",
19
+ };
20
+ }
21
+ try {
22
+ const client = createLarkClient(account);
23
+ // Use bot info API to test connectivity
24
+ const response = await client.request({
25
+ method: "GET",
26
+ url: "/open-apis/bot/v3/info",
27
+ data: {},
28
+ });
29
+ if (response.code !== 0) {
30
+ return {
31
+ ok: false,
32
+ appId: account.appId,
33
+ error: `API error: ${response.msg || `code ${response.code}`}`,
34
+ };
35
+ }
36
+ const bot = response.bot || response.data?.bot;
37
+ return {
38
+ ok: true,
39
+ appId: account.appId,
40
+ botName: bot?.bot_name,
41
+ botOpenId: bot?.open_id,
42
+ };
43
+ }
44
+ catch (err) {
45
+ return {
46
+ ok: false,
47
+ appId: account.appId,
48
+ error: err instanceof Error ? err.message : String(err),
49
+ };
50
+ }
51
+ }
52
+ //# sourceMappingURL=probe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe.js","sourceRoot":"","sources":["../../src/probe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAe/C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAA4B;IAC1D,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,wCAAwC;SAChD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEzC,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAO,MAAc,CAAC,OAAO,CAAC;YAC7C,MAAM,EAAE,KAAK;YACb,GAAG,EAAE,wBAAwB;YAC7B,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,cAAc,QAAQ,CAAC,GAAG,IAAI,QAAQ,QAAQ,CAAC,IAAI,EAAE,EAAE;aAC/D,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC;QAC/C,OAAO;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,OAAO,EAAE,GAAG,EAAE,QAAQ;YACtB,SAAS,EAAE,GAAG,EAAE,OAAO;SACxB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SACxD,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Lark/Feishu Target Utilities
3
+ *
4
+ * Helper functions for ID detection, normalization, and type inference.
5
+ * Used across the plugin for consistent ID handling.
6
+ */
7
+ export type LarkIdType = "chat_id" | "open_id" | "union_id" | "user_id";
8
+ /**
9
+ * Detect the type of a Lark ID from its format.
10
+ */
11
+ export declare function detectLarkIdType(id: string): LarkIdType | null;
12
+ /**
13
+ * Normalize a Lark target ID by removing prefixes.
14
+ *
15
+ * Handles "chat:", "user:", "open_id:" prefixes.
16
+ */
17
+ export declare function normalizeLarkTarget(raw: string): string | null;
18
+ /**
19
+ * Format a Lark ID with its type prefix for display.
20
+ */
21
+ export declare function formatLarkTarget(id: string, type?: LarkIdType): string;
22
+ /**
23
+ * Infer the receive_id_type parameter for Lark API calls.
24
+ *
25
+ * Lark API requires receive_id_type to specify how to interpret the receive_id.
26
+ * This function detects the type based on the ID prefix.
27
+ */
28
+ export declare function inferReceiveIdType(recipientId: string): "chat_id" | "open_id" | "union_id";
29
+ /**
30
+ * Check if a string looks like a Lark ID.
31
+ */
32
+ export declare function looksLikeLarkId(raw: string): boolean;
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Lark/Feishu Target Utilities
3
+ *
4
+ * Helper functions for ID detection, normalization, and type inference.
5
+ * Used across the plugin for consistent ID handling.
6
+ */
7
+ const CHAT_ID_PREFIX = "oc_";
8
+ const OPEN_ID_PREFIX = "ou_";
9
+ const UNION_ID_PREFIX = "on_";
10
+ const USER_ID_REGEX = /^[a-zA-Z0-9_-]+$/;
11
+ /**
12
+ * Detect the type of a Lark ID from its format.
13
+ */
14
+ export function detectLarkIdType(id) {
15
+ const trimmed = id.trim();
16
+ if (trimmed.startsWith(CHAT_ID_PREFIX))
17
+ return "chat_id";
18
+ if (trimmed.startsWith(OPEN_ID_PREFIX))
19
+ return "open_id";
20
+ if (trimmed.startsWith(UNION_ID_PREFIX))
21
+ return "union_id";
22
+ if (USER_ID_REGEX.test(trimmed))
23
+ return "user_id";
24
+ return null;
25
+ }
26
+ /**
27
+ * Normalize a Lark target ID by removing prefixes.
28
+ *
29
+ * Handles "chat:", "user:", "open_id:" prefixes.
30
+ */
31
+ export function normalizeLarkTarget(raw) {
32
+ const trimmed = raw.trim();
33
+ if (!trimmed)
34
+ return null;
35
+ const lowered = trimmed.toLowerCase();
36
+ if (lowered.startsWith("chat:")) {
37
+ return trimmed.slice("chat:".length).trim() || null;
38
+ }
39
+ if (lowered.startsWith("user:")) {
40
+ return trimmed.slice("user:".length).trim() || null;
41
+ }
42
+ if (lowered.startsWith("open_id:")) {
43
+ return trimmed.slice("open_id:".length).trim() || null;
44
+ }
45
+ return trimmed;
46
+ }
47
+ /**
48
+ * Format a Lark ID with its type prefix for display.
49
+ */
50
+ export function formatLarkTarget(id, type) {
51
+ const trimmed = id.trim();
52
+ if (type === "chat_id" || trimmed.startsWith(CHAT_ID_PREFIX)) {
53
+ return `chat:${trimmed}`;
54
+ }
55
+ if (type === "open_id" || trimmed.startsWith(OPEN_ID_PREFIX)) {
56
+ return `user:${trimmed}`;
57
+ }
58
+ return trimmed;
59
+ }
60
+ /**
61
+ * Infer the receive_id_type parameter for Lark API calls.
62
+ *
63
+ * Lark API requires receive_id_type to specify how to interpret the receive_id.
64
+ * This function detects the type based on the ID prefix.
65
+ */
66
+ export function inferReceiveIdType(recipientId) {
67
+ if (recipientId.startsWith("oc_")) {
68
+ return "chat_id";
69
+ }
70
+ if (recipientId.startsWith("ou_")) {
71
+ return "open_id";
72
+ }
73
+ if (recipientId.startsWith("on_")) {
74
+ return "union_id";
75
+ }
76
+ // Default to open_id for other formats
77
+ return "open_id";
78
+ }
79
+ /**
80
+ * Check if a string looks like a Lark ID.
81
+ */
82
+ export function looksLikeLarkId(raw) {
83
+ const trimmed = raw.trim();
84
+ if (!trimmed)
85
+ return false;
86
+ if (/^(chat|user|open_id):/i.test(trimmed))
87
+ return true;
88
+ if (trimmed.startsWith(CHAT_ID_PREFIX))
89
+ return true;
90
+ if (trimmed.startsWith(OPEN_ID_PREFIX))
91
+ return true;
92
+ if (trimmed.startsWith(UNION_ID_PREFIX))
93
+ return true;
94
+ return false;
95
+ }
96
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.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.25",
3
+ "version": "0.1.26",
4
4
  "type": "module",
5
5
  "description": "Lark/Feishu channel plugin for OpenClaw with WebSocket and Webhook support",
6
6
  "license": "MIT",