@zhin.js/adapter-lark 1.0.97 → 2.0.1

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/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 飞书 Lark platform permit
3
+ */
4
+ import type { Message } from 'zhin.js';
5
+ export declare function platformPermit(perm: string): string;
6
+ export declare function larkGroupPermitResolver(logicalPerm: string): string;
7
+ export declare function normalizeLarkSenderForPermit(input: {
8
+ isOwner?: boolean;
9
+ isAdmin?: boolean;
10
+ }): {
11
+ role?: string;
12
+ permissions?: string[];
13
+ };
14
+ export declare function checkLarkPlatformPermit(perm: string, message: Message<any>): boolean;
15
+ export declare function registerLarkPlatformPermitChecker(): () => void;
16
+ //# sourceMappingURL=platform-permit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-permit.d.ts","sourceRoot":"","sources":["../src/platform-permit.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAOD,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAQ5C;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAgBpF;AAED,wBAAgB,iCAAiC,IAAI,MAAM,IAAI,CAE9D"}
@@ -0,0 +1,41 @@
1
+ import { registerPlatformPermitChecker } from 'zhin.js';
2
+ const ADAPTER = 'lark';
3
+ export function platformPermit(perm) {
4
+ return `platform(${ADAPTER},${perm})`;
5
+ }
6
+ const FACTORY_PERM_MAP = {
7
+ group_admin: 'chat_admin',
8
+ group_owner: 'chat_owner',
9
+ };
10
+ export function larkGroupPermitResolver(logicalPerm) {
11
+ return platformPermit(FACTORY_PERM_MAP[logicalPerm] ?? logicalPerm);
12
+ }
13
+ export function normalizeLarkSenderForPermit(input) {
14
+ if (input.isOwner) {
15
+ return { role: 'owner', permissions: ['chat_owner', 'chat_admin', 'manage_managers'] };
16
+ }
17
+ if (input.isAdmin) {
18
+ return { role: 'admin', permissions: ['chat_admin'] };
19
+ }
20
+ return { role: 'member', permissions: [] };
21
+ }
22
+ export function checkLarkPlatformPermit(perm, message) {
23
+ const sender = message.$sender;
24
+ const permissions = sender.permissions ?? [];
25
+ const role = sender.role;
26
+ const has = (t) => permissions.includes(t);
27
+ switch (perm) {
28
+ case 'chat_owner':
29
+ return role === 'owner' || has('chat_owner');
30
+ case 'chat_admin':
31
+ return role === 'owner' || role === 'admin' || has('chat_admin') || has('chat_owner');
32
+ case 'manage_managers':
33
+ return role === 'owner' || has('chat_owner');
34
+ default:
35
+ return false;
36
+ }
37
+ }
38
+ export function registerLarkPlatformPermitChecker() {
39
+ return registerPlatformPermitChecker(ADAPTER, checkLarkPlatformPermit);
40
+ }
41
+ //# sourceMappingURL=platform-permit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-permit.js","sourceRoot":"","sources":["../src/platform-permit.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAC;AAExD,MAAM,OAAO,GAAG,MAAM,CAAC;AAEvB,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,YAAY,OAAO,IAAI,IAAI,GAAG,CAAC;AACxC,CAAC;AAED,MAAM,gBAAgB,GAA2B;IAC/C,WAAW,EAAE,YAAY;IACzB,WAAW,EAAE,YAAY;CAC1B,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,cAAc,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,KAG5C;IACC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,OAAqB;IACzE,MAAM,MAAM,GAAG,OAAO,CAAC,OAAoD,CAAC;IAC5E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,YAAY;YACf,OAAO,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C,KAAK,YAAY;YACf,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QACxF,KAAK,iBAAiB;YACpB,OAAO,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/C;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iCAAiC;IAC/C,OAAO,6BAA6B,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;AACzE,CAAC"}
package/lib/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * 飞书/Lark 适配器类型定义
3
3
  */
4
- export interface LarkBotConfig {
4
+ export interface LarkEndpointConfig {
5
5
  context: "lark";
6
6
  name: string;
7
7
  appId: string;
@@ -57,7 +57,7 @@ export interface AccessToken {
57
57
  expires_in: number;
58
58
  timestamp: number;
59
59
  }
60
- export interface LarkBot {
61
- $config: LarkBotConfig;
60
+ export interface LarkEndpoint {
61
+ $config: LarkEndpointConfig;
62
62
  }
63
63
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,aAAa,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,EAAE,CAAC,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,GAAG,CAAC;QACb,OAAO,CAAC,EAAE,WAAW,CAAC;QACtB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,kBAAkB,CAAC;CAC7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/adapter-lark",
3
- "version": "1.0.97",
3
+ "version": "2.0.1",
4
4
  "description": "Zhin.js adapter for Lark/Feishu (飞书)",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -34,17 +34,18 @@
34
34
  "directory": "plugins/adapters/lark"
35
35
  },
36
36
  "dependencies": {
37
- "axios": "^1.16.1"
37
+ "axios": "^1.17.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/koa": "^3.0.3",
41
- "@types/node": "^25.9.1",
41
+ "@types/node": "^25.9.2",
42
42
  "typescript": "^6.0.3",
43
- "zhin.js": "1.0.93"
43
+ "@zhin.js/host-router": "1.0.1",
44
+ "zhin.js": "2.0.1"
44
45
  },
45
46
  "peerDependencies": {
46
- "zhin.js": "1.0.93",
47
- "@zhin.js/host-router": "0.0.3"
47
+ "@zhin.js/host-router": "1.0.1",
48
+ "zhin.js": "2.0.1"
48
49
  },
49
50
  "peerDependenciesMeta": {
50
51
  "@zhin.js/host-router": {
@@ -0,0 +1,22 @@
1
+ # 飞书 Lark Platform Permits
2
+
3
+ ## 入站字段
4
+
5
+ 群聊消息经 `getChatInfo`(TTL 60s)比对 `owner_id` / `user_manager_id_list`:
6
+
7
+ | 字段 | 取值 |
8
+ |------|------|
9
+ | `$sender.role` | `owner` · `admin` · `member` |
10
+ | `$sender.permissions` | `chat_owner` · `chat_admin` · `manage_managers` |
11
+
12
+ ## Permit 词汇表
13
+
14
+ | `platform(lark,…)` | 含义 |
15
+ |--------------------|------|
16
+ | `chat_owner` | 群主 |
17
+ | `chat_admin` | 群管理员 |
18
+ | `manage_managers` | 可设/撤管理员 |
19
+
20
+ ## 工厂映射
21
+
22
+ `group_admin` → `chat_admin` · `group_owner` → `chat_owner`
package/src/adapter.ts CHANGED
@@ -5,10 +5,12 @@ import {
5
5
  Adapter,
6
6
  Plugin,
7
7
  } from "zhin.js";
8
- import { LarkBot } from "./bot.js";
9
- import type { LarkBotConfig } from "./types.js";
8
+ import { LarkEndpoint } from "./endpoint.js";
9
+ import type { LarkEndpointConfig } from "./types.js";
10
+
11
+ export class LarkAdapter extends Adapter<LarkEndpoint> {
12
+ static override readonly capabilities = ['inbound', 'outbound'] as const;
10
13
 
11
- export class LarkAdapter extends Adapter<LarkBot> {
12
14
  #router: any;
13
15
 
14
16
  constructor(plugin: Plugin, router: any) {
@@ -16,34 +18,34 @@ export class LarkAdapter extends Adapter<LarkBot> {
16
18
  this.#router = router;
17
19
  }
18
20
 
19
- createBot(config: LarkBotConfig): LarkBot {
20
- return new LarkBot(this, this.#router, config);
21
+ createEndpoint(config: LarkEndpointConfig): LarkEndpoint {
22
+ return new LarkEndpoint(this, this.#router, config);
21
23
  }
22
24
 
23
25
  // ── IGroupManagement 标准群管方法 ──────────────────────────────────
24
26
 
25
- async kickMember(botId: string, sceneId: string, userId: string) {
26
- const bot = this.bots.get(botId);
27
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
28
- return bot.removeChatMembers(sceneId, [userId]);
27
+ async kickMember(endpointId: string, sceneId: string, userId: string) {
28
+ const endpoint = this.endpoints.get(endpointId);
29
+ if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
30
+ return endpoint.removeChatMembers(sceneId, [userId]);
29
31
  }
30
32
 
31
- async listMembers(botId: string, sceneId: string) {
32
- const bot = this.bots.get(botId);
33
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
34
- return bot.getChatMembers(sceneId);
33
+ async listMembers(endpointId: string, sceneId: string) {
34
+ const endpoint = this.endpoints.get(endpointId);
35
+ if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
36
+ return endpoint.getChatMembers(sceneId);
35
37
  }
36
38
 
37
- async getGroupInfo(botId: string, sceneId: string) {
38
- const bot = this.bots.get(botId);
39
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
40
- return bot.getChatInfo(sceneId);
39
+ async getGroupInfo(endpointId: string, sceneId: string) {
40
+ const endpoint = this.endpoints.get(endpointId);
41
+ if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
42
+ return endpoint.getChatInfo(sceneId);
41
43
  }
42
44
 
43
- async setGroupName(botId: string, sceneId: string, name: string) {
44
- const bot = this.bots.get(botId);
45
- if (!bot) throw new Error(`Bot ${botId} 不存在`);
46
- return bot.updateChatInfo(sceneId, { name });
45
+ async setGroupName(endpointId: string, sceneId: string, name: string) {
46
+ const endpoint = this.endpoints.get(endpointId);
47
+ if (!endpoint) throw new Error(`Endpoint ${endpointId} 不存在`);
48
+ return endpoint.updateChatInfo(sceneId, { name });
47
49
  }
48
50
 
49
51
  // ── 生命周期 ───────────────────────────────────────────────────────
@@ -1,14 +1,15 @@
1
1
  /**
2
- * 飞书/Lark Bot 实现
2
+ * 飞书/Lark Endpoint 实现
3
3
  */
4
4
  import { registerFetchRoute, type Router, type RouterContext } from "@zhin.js/host-router/router";
5
5
  import axios, { type AxiosInstance } from "axios";
6
6
  import { createHash } from "crypto";
7
- import { formatCompact, Bot, Message, MessageSegment, segment, SendContent, SendOptions } from 'zhin.js';
8
- import type { LarkBotConfig, LarkMessage, LarkEvent, AccessToken } from "./types.js";
7
+ import { formatCompact, Endpoint, Message, MessageSegment, segment, SendContent, SendOptions } from 'zhin.js';
8
+ import type { LarkEndpointConfig, LarkMessage, LarkEvent, AccessToken } from "./types.js";
9
9
  import type { LarkAdapter } from "./adapter.js";
10
+ import { normalizeLarkSenderForPermit } from "./platform-permit.js";
10
11
 
11
- export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
12
+ export class LarkEndpoint implements Endpoint<LarkEndpointConfig, LarkMessage> {
12
13
  $connected: boolean
13
14
  private router: any
14
15
  private accessToken: AccessToken
@@ -22,7 +23,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
22
23
  return this.$config.name;
23
24
  }
24
25
 
25
- constructor(public adapter: LarkAdapter, router: any, public $config: LarkBotConfig) {
26
+ constructor(public adapter: LarkAdapter, router: any, public $config: LarkEndpointConfig) {
26
27
  this.router = router;
27
28
  this.$connected = false;
28
29
  this.accessToken = { token: '', expires_in: 0, timestamp: 0 };
@@ -125,14 +126,46 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
125
126
  }
126
127
  }
127
128
 
129
+ private chatPermitCache = new Map<string, { at: number; ownerId?: string; managers: string[] }>();
130
+
131
+ private async enrichGroupSender(message: Message<LarkMessage>, msg: LarkMessage): Promise<void> {
132
+ if (message.$channel.type !== 'group' || !msg.chat_id) return;
133
+ const senderId = msg.sender?.sender_id?.open_id;
134
+ if (!senderId) return;
135
+ const now = Date.now();
136
+ let ownerId: string | undefined;
137
+ let managers: string[] = [];
138
+ const cached = this.chatPermitCache.get(msg.chat_id);
139
+ if (cached && now - cached.at < 60_000) {
140
+ ownerId = cached.ownerId;
141
+ managers = cached.managers;
142
+ } else {
143
+ try {
144
+ const chat = await this.getChatInfo(msg.chat_id);
145
+ ownerId = chat?.owner_id;
146
+ managers = Array.isArray(chat?.user_manager_id_list) ? chat.user_manager_id_list : [];
147
+ this.chatPermitCache.set(msg.chat_id, { at: now, ownerId, managers });
148
+ } catch {
149
+ return;
150
+ }
151
+ }
152
+ const permit = normalizeLarkSenderForPermit({
153
+ isOwner: ownerId === senderId,
154
+ isAdmin: managers.includes(senderId),
155
+ });
156
+ message.$sender.role = permit.role;
157
+ message.$sender.permissions = permit.permissions;
158
+ }
159
+
128
160
  private async handleEvent(event: any): Promise<void> {
129
161
  // 处理消息事件
130
162
  if (event.message) {
131
163
  const message = this.$formatMessage(event.message, event);
164
+ await this.enrichGroupSender(message, event.message);
132
165
  this.adapter.emit('message.receive', message);
133
166
  this.logger.debug(formatCompact( {
134
167
  op: 'recv',
135
- bot: this.$config.name,
168
+ endpoint: this.$config.name,
136
169
  channel: message.$channel.type,
137
170
  id: message.$channel.id,
138
171
  len: segment.raw(message.$content).length,
@@ -196,7 +229,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
196
229
  return Message.from(msg, {
197
230
  $id: msg.message_id || Date.now().toString(),
198
231
  $adapter: 'lark',
199
- $bot: this.$config.name,
232
+ $endpoint: this.$config.name,
200
233
  $sender: {
201
234
  id: msg.sender?.sender_id?.open_id || 'unknown',
202
235
  name: msg.sender?.sender_id?.user_id || msg.sender?.sender_id?.open_id || 'Unknown User'
@@ -214,7 +247,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
214
247
  $reply: async (content: SendContent): Promise<string> => {
215
248
  return await this.adapter.sendMessage({
216
249
  context: 'lark',
217
- bot: this.$config.name,
250
+ endpoint: this.$config.name,
218
251
  id: msg.chat_id || 'unknown',
219
252
  type: chatType,
220
253
  content: content
@@ -450,7 +483,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
450
483
  }
451
484
 
452
485
  // ================================================================================================
453
- // Bot 生命周期
486
+ // Endpoint 生命周期
454
487
  // ================================================================================================
455
488
 
456
489
  async $connect(): Promise<void> {
@@ -459,7 +492,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
459
492
  await this.refreshAccessToken();
460
493
 
461
494
  this.$connected = true;
462
- this.logger.info(formatCompact({ bot: this.$config.name }));
495
+ this.logger.info(formatCompact({ endpoint: this.$config.name }));
463
496
  this.logger.info(formatCompact( { op: 'webhook', path: this.$config.webhookPath }));
464
497
 
465
498
  } catch (error) {
@@ -471,7 +504,7 @@ export class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
471
504
  async $disconnect(): Promise<void> {
472
505
  try {
473
506
  this.$connected = false;
474
- this.logger.info(formatCompact( { op: 'disconnect', bot: this.$config.name }));
507
+ this.logger.info(formatCompact( { op: 'disconnect', endpoint: this.$config.name }));
475
508
  } catch (error) {
476
509
  this.logger.error('Error disconnecting Lark bot:', error);
477
510
  }
package/src/index.ts CHANGED
@@ -3,6 +3,11 @@
3
3
  */
4
4
  import { usePlugin, type Plugin, type Context, type IGroupManagement, createGroupManagementTools, type ToolFeature } from "zhin.js";
5
5
  import { LarkAdapter } from "./adapter.js";
6
+ import {
7
+ larkGroupPermitResolver,
8
+ platformPermit,
9
+ registerLarkPlatformPermitChecker,
10
+ } from "./platform-permit.js";
6
11
 
7
12
  declare module "zhin.js" {
8
13
  namespace Plugin {
@@ -16,7 +21,7 @@ declare module "zhin.js" {
16
21
  }
17
22
 
18
23
  export * from "./types.js";
19
- export { LarkBot } from "./bot.js";
24
+ export { LarkEndpoint } from "./endpoint.js";
20
25
  export { LarkAdapter } from "./adapter.js";
21
26
 
22
27
  const plugin = usePlugin();
@@ -25,7 +30,7 @@ const { provide, useContext } = plugin;
25
30
  (useContext as (key: string, fn: (router: any) => void) => void)("router", (router) => {
26
31
  provide({
27
32
  name: "lark",
28
- description: "Lark/Feishu Bot Adapter",
33
+ description: "Lark/Feishu Endpoint Adapter",
29
34
  mounted: async (p: Plugin) => {
30
35
  const adapter = new LarkAdapter(p, router);
31
36
  await adapter.start();
@@ -38,11 +43,14 @@ const { provide, useContext } = plugin;
38
43
  });
39
44
 
40
45
  useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
46
+ const disposers: (() => void)[] = [];
47
+ disposers.push(registerLarkPlatformPermitChecker());
41
48
  const groupTools = createGroupManagementTools(
42
49
  lark as unknown as IGroupManagement,
43
50
  'lark',
51
+ { permitResolver: larkGroupPermitResolver, registerChecker: false },
44
52
  );
45
- const disposers: (() => void)[] = groupTools.map(t => toolService.addTool(t, plugin.name));
53
+ disposers.push(...groupTools.map(t => toolService.addTool(t, plugin.name)));
46
54
 
47
55
  disposers.push(toolService.addTool({
48
56
  name: 'lark_get_user',
@@ -50,17 +58,17 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
50
58
  parameters: {
51
59
  type: 'object',
52
60
  properties: {
53
- bot: { type: 'string', description: 'Bot 名称' },
61
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
54
62
  user_id: { type: 'string', description: '用户 ID (open_id)' },
55
63
  },
56
- required: ['bot', 'user_id'],
64
+ required: ['endpoint_id', 'user_id'],
57
65
  },
58
66
  platforms: ['lark'],
59
67
  tags: ['lark'],
60
68
  execute: async (args: Record<string, any>) => {
61
- const bot = lark.bots.get(args.bot);
62
- if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
63
- return await bot.getUserInfo(args.user_id);
69
+ const endpoint = lark.endpoints.get(args.endpoint_id);
70
+ if (!endpoint) throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
71
+ return await endpoint.getUserInfo(args.user_id);
64
72
  },
65
73
  }, plugin.name));
66
74
 
@@ -70,19 +78,19 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
70
78
  parameters: {
71
79
  type: 'object',
72
80
  properties: {
73
- bot: { type: 'string', description: 'Bot 名称' },
81
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
74
82
  name: { type: 'string', description: '群名' },
75
83
  members: { type: 'string', description: '成员 open_id 列表,逗号分隔' },
76
84
  owner: { type: 'string', description: '群主 open_id(可选)' },
77
85
  },
78
- required: ['bot', 'name', 'members'],
86
+ required: ['endpoint_id', 'name', 'members'],
79
87
  },
80
88
  platforms: ['lark'],
81
89
  tags: ['lark'],
82
90
  execute: async (args: Record<string, any>) => {
83
- const bot = lark.bots.get(args.bot);
84
- if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
85
- const chatId = await bot.createChat(args.name, args.members.split(','), args.owner);
91
+ const endpoint = lark.endpoints.get(args.endpoint_id);
92
+ if (!endpoint) throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
93
+ const chatId = await endpoint.createChat(args.name, args.members.split(','), args.owner);
86
94
  return { success: !!chatId, chat_id: chatId, message: chatId ? `群聊创建成功: ${chatId}` : '创建失败' };
87
95
  },
88
96
  }, plugin.name));
@@ -93,19 +101,20 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
93
101
  parameters: {
94
102
  type: 'object',
95
103
  properties: {
96
- bot: { type: 'string', description: 'Bot 名称' },
104
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
97
105
  chat_id: { type: 'string', description: '群聊 ID' },
98
106
  name: { type: 'string', description: '新群名(可选)' },
99
107
  description: { type: 'string', description: '新描述(可选)' },
100
108
  },
101
- required: ['bot', 'chat_id'],
109
+ required: ['endpoint_id', 'chat_id'],
102
110
  },
103
111
  platforms: ['lark'],
104
112
  tags: ['lark'],
113
+ permissions: [platformPermit('chat_admin')],
105
114
  execute: async (args: Record<string, any>) => {
106
- const bot = lark.bots.get(args.bot);
107
- if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
108
- const success = await bot.updateChatInfo(args.chat_id, { name: args.name, description: args.description });
115
+ const endpoint = lark.endpoints.get(args.endpoint_id);
116
+ if (!endpoint) throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
117
+ const success = await endpoint.updateChatInfo(args.chat_id, { name: args.name, description: args.description });
109
118
  return { success, message: success ? '群信息更新成功' : '更新失败' };
110
119
  },
111
120
  }, plugin.name));
@@ -116,18 +125,19 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
116
125
  parameters: {
117
126
  type: 'object',
118
127
  properties: {
119
- bot: { type: 'string', description: 'Bot 名称' },
128
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
120
129
  chat_id: { type: 'string', description: '群聊 ID' },
121
130
  user_ids: { type: 'string', description: '用户 open_id 列表,逗号分隔' },
122
131
  },
123
- required: ['bot', 'chat_id', 'user_ids'],
132
+ required: ['endpoint_id', 'chat_id', 'user_ids'],
124
133
  },
125
134
  platforms: ['lark'],
126
135
  tags: ['lark'],
136
+ permissions: [platformPermit('chat_admin')],
127
137
  execute: async (args: Record<string, any>) => {
128
- const bot = lark.bots.get(args.bot);
129
- if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
130
- const success = await bot.addChatMembers(args.chat_id, args.user_ids.split(','));
138
+ const endpoint = lark.endpoints.get(args.endpoint_id);
139
+ if (!endpoint) throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
140
+ const success = await endpoint.addChatMembers(args.chat_id, args.user_ids.split(','));
131
141
  return { success, message: success ? '成员添加成功' : '添加失败' };
132
142
  },
133
143
  }, plugin.name));
@@ -138,18 +148,19 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
138
148
  parameters: {
139
149
  type: 'object',
140
150
  properties: {
141
- bot: { type: 'string', description: 'Bot 名称' },
151
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
142
152
  chat_id: { type: 'string', description: '群聊 ID' },
143
153
  user_ids: { type: 'string', description: '用户 open_id 列表,逗号分隔' },
144
154
  },
145
- required: ['bot', 'chat_id', 'user_ids'],
155
+ required: ['endpoint_id', 'chat_id', 'user_ids'],
146
156
  },
147
157
  platforms: ['lark'],
148
158
  tags: ['lark'],
159
+ permissions: [platformPermit('manage_managers')],
149
160
  execute: async (args: Record<string, any>) => {
150
- const bot = lark.bots.get(args.bot);
151
- if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
152
- const success = await bot.setChatManagers(args.chat_id, args.user_ids.split(','));
161
+ const endpoint = lark.endpoints.get(args.endpoint_id);
162
+ if (!endpoint) throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
163
+ const success = await endpoint.setChatManagers(args.chat_id, args.user_ids.split(','));
153
164
  return { success, message: success ? '管理员设置成功' : '设置失败' };
154
165
  },
155
166
  }, plugin.name));
@@ -160,18 +171,19 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
160
171
  parameters: {
161
172
  type: 'object',
162
173
  properties: {
163
- bot: { type: 'string', description: 'Bot 名称' },
174
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
164
175
  chat_id: { type: 'string', description: '群聊 ID' },
165
176
  user_ids: { type: 'string', description: '用户 open_id 列表,逗号分隔' },
166
177
  },
167
- required: ['bot', 'chat_id', 'user_ids'],
178
+ required: ['endpoint_id', 'chat_id', 'user_ids'],
168
179
  },
169
180
  platforms: ['lark'],
170
181
  tags: ['lark'],
182
+ permissions: [platformPermit('manage_managers')],
171
183
  execute: async (args: Record<string, any>) => {
172
- const bot = lark.bots.get(args.bot);
173
- if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
174
- const success = await bot.removeChatManagers(args.chat_id, args.user_ids.split(','));
184
+ const endpoint = lark.endpoints.get(args.endpoint_id);
185
+ if (!endpoint) throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
186
+ const success = await endpoint.removeChatManagers(args.chat_id, args.user_ids.split(','));
175
187
  return { success, message: success ? '管理员移除成功' : '移除失败' };
176
188
  },
177
189
  }, plugin.name));
@@ -182,17 +194,17 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
182
194
  parameters: {
183
195
  type: 'object',
184
196
  properties: {
185
- bot: { type: 'string', description: 'Bot 名称' },
197
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
186
198
  chat_id: { type: 'string', description: '群聊 ID' },
187
199
  },
188
- required: ['bot', 'chat_id'],
200
+ required: ['endpoint_id', 'chat_id'],
189
201
  },
190
202
  platforms: ['lark'],
191
203
  tags: ['lark'],
192
204
  execute: async (args: Record<string, any>) => {
193
- const bot = lark.bots.get(args.bot);
194
- if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
195
- const success = await bot.dissolveChat(args.chat_id);
205
+ const endpoint = lark.endpoints.get(args.endpoint_id);
206
+ if (!endpoint) throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
207
+ const success = await endpoint.dissolveChat(args.chat_id);
196
208
  return { success, message: success ? '群聊已解散' : '解散失败' };
197
209
  },
198
210
  }, plugin.name));
@@ -203,11 +215,11 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
203
215
  parameters: {
204
216
  type: 'object',
205
217
  properties: {
206
- bot: { type: 'string', description: 'Bot 名称' },
218
+ endpoint_id: { type: 'string', description: 'Endpoint 名称', contextKey: 'endpointId' },
207
219
  file_path: { type: 'string', description: '本地文件路径' },
208
220
  file_type: { type: 'string', description: '文件类型', enum: ['opus', 'mp4', 'pdf', 'doc', 'xls', 'ppt', 'stream'] },
209
221
  },
210
- required: ['bot', 'file_path', 'file_type'],
222
+ required: ['endpoint_id', 'file_path', 'file_type'],
211
223
  },
212
224
  platforms: ['lark'],
213
225
  tags: ['lark'],
@@ -216,9 +228,9 @@ useContext('tool', 'lark', (toolService: ToolFeature, lark: LarkAdapter) => {
216
228
  if (!validTypes.includes(args.file_type)) {
217
229
  throw new Error(`不支持的文件类型: ${args.file_type},支持: ${validTypes.join(', ')}`);
218
230
  }
219
- const bot = lark.bots.get(args.bot);
220
- if (!bot) throw new Error(`Bot ${args.bot} 不存在`);
221
- const result = await bot.uploadFile(args.file_path, args.file_type);
231
+ const endpoint = lark.endpoints.get(args.endpoint_id);
232
+ if (!endpoint) throw new Error(`Endpoint ${args.endpoint_id} 不存在`);
233
+ const result = await endpoint.uploadFile(args.file_path, args.file_type);
222
234
  return { success: true, file_key: result, message: `文件已上传,file_key: ${result}` };
223
235
  },
224
236
  }, plugin.name));