@zhin.js/adapter-lark 1.0.55 → 1.0.56

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @zhin.js/adapter-lark
2
2
 
3
+ ## 1.0.56
4
+
5
+ ### Patch Changes
6
+
7
+ - zhin.js@1.0.51
8
+ - @zhin.js/http@1.0.45
9
+
3
10
  ## 1.0.55
4
11
 
5
12
  ### Patch Changes
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 飞书/Lark 适配器
3
+ */
4
+ import { Adapter, Plugin } from "zhin.js";
5
+ import { LarkBot } from "./bot.js";
6
+ import type { LarkBotConfig } from "./types.js";
7
+ export declare class LarkAdapter extends Adapter<LarkBot> {
8
+ #private;
9
+ constructor(plugin: Plugin, router: any);
10
+ createBot(config: LarkBotConfig): LarkBot;
11
+ kickMember(botId: string, sceneId: string, userId: string): Promise<boolean>;
12
+ listMembers(botId: string, sceneId: string): Promise<any[]>;
13
+ getGroupInfo(botId: string, sceneId: string): Promise<any>;
14
+ setGroupName(botId: string, sceneId: string, name: string): Promise<boolean>;
15
+ start(): Promise<void>;
16
+ /**
17
+ * 注册飞书平台特有工具(获取用户、设管等)
18
+ */
19
+ private registerLarkPlatformTools;
20
+ }
21
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,OAAO,EACP,MAAM,EAKP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,qBAAa,WAAY,SAAQ,OAAO,CAAC,OAAO,CAAC;;gBAGjC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG;IAKvC,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO;IAMnC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMzD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM1C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM3C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAQzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACH,OAAO,CAAC,yBAAyB;CA0MpC"}
package/lib/adapter.js ADDED
@@ -0,0 +1,258 @@
1
+ /**
2
+ * 飞书/Lark 适配器
3
+ */
4
+ import { Adapter, createGroupManagementTools, GROUP_MANAGEMENT_SKILL_KEYWORDS, GROUP_MANAGEMENT_SKILL_TAGS, } from "zhin.js";
5
+ import { LarkBot } from "./bot.js";
6
+ export class LarkAdapter extends Adapter {
7
+ #router;
8
+ constructor(plugin, router) {
9
+ super(plugin, 'lark', []);
10
+ this.#router = router;
11
+ }
12
+ createBot(config) {
13
+ return new LarkBot(this, this.#router, config);
14
+ }
15
+ // ── IGroupManagement 标准群管方法 ──────────────────────────────────
16
+ async kickMember(botId, sceneId, userId) {
17
+ const bot = this.bots.get(botId);
18
+ if (!bot)
19
+ throw new Error(`Bot ${botId} 不存在`);
20
+ return bot.removeChatMembers(sceneId, [userId]);
21
+ }
22
+ async listMembers(botId, sceneId) {
23
+ const bot = this.bots.get(botId);
24
+ if (!bot)
25
+ throw new Error(`Bot ${botId} 不存在`);
26
+ return bot.getChatMembers(sceneId);
27
+ }
28
+ async getGroupInfo(botId, sceneId) {
29
+ const bot = this.bots.get(botId);
30
+ if (!bot)
31
+ throw new Error(`Bot ${botId} 不存在`);
32
+ return bot.getChatInfo(sceneId);
33
+ }
34
+ async setGroupName(botId, sceneId, name) {
35
+ const bot = this.bots.get(botId);
36
+ if (!bot)
37
+ throw new Error(`Bot ${botId} 不存在`);
38
+ return bot.updateChatInfo(sceneId, { name });
39
+ }
40
+ // ── 生命周期 ───────────────────────────────────────────────────────
41
+ async start() {
42
+ this.registerLarkPlatformTools();
43
+ const groupTools = createGroupManagementTools(this, this.name);
44
+ groupTools.forEach((t) => this.addTool(t));
45
+ this.declareSkill({
46
+ description: '飞书/Lark 群管理:踢人、禁言、设管理员、改群名、查成员等。仅有昵称时请先 list_members 获取 user_id 再操作。',
47
+ keywords: GROUP_MANAGEMENT_SKILL_KEYWORDS,
48
+ tags: GROUP_MANAGEMENT_SKILL_TAGS,
49
+ });
50
+ await super.start();
51
+ }
52
+ /**
53
+ * 注册飞书平台特有工具(获取用户、设管等)
54
+ */
55
+ registerLarkPlatformTools() {
56
+ // 获取用户信息工具
57
+ this.addTool({
58
+ name: 'lark_get_user',
59
+ description: '获取飞书用户信息',
60
+ parameters: {
61
+ type: 'object',
62
+ properties: {
63
+ bot: { type: 'string', description: 'Bot 名称' },
64
+ user_id: { type: 'string', description: '用户 ID (open_id)' },
65
+ },
66
+ required: ['bot', 'user_id'],
67
+ },
68
+ platforms: ['lark'],
69
+ scopes: ['group', 'private'],
70
+ permissionLevel: 'user',
71
+ execute: async (args) => {
72
+ const { bot: botId, user_id } = args;
73
+ const bot = this.bots.get(botId);
74
+ if (!bot)
75
+ throw new Error(`Bot ${botId} 不存在`);
76
+ return await bot.getUserInfo(user_id);
77
+ },
78
+ });
79
+ // 创建群聊工具
80
+ this.addTool({
81
+ name: 'lark_create_chat',
82
+ description: '创建飞书群聊',
83
+ parameters: {
84
+ type: 'object',
85
+ properties: {
86
+ bot: { type: 'string', description: 'Bot 名称' },
87
+ name: { type: 'string', description: '群名' },
88
+ members: { type: 'array', items: { type: 'string' }, description: '成员 open_id 列表' },
89
+ owner: { type: 'string', description: '群主 open_id(可选)' },
90
+ },
91
+ required: ['bot', 'name', 'members'],
92
+ },
93
+ platforms: ['lark'],
94
+ scopes: ['group', 'private'],
95
+ permissionLevel: 'group_admin',
96
+ execute: async (args) => {
97
+ const { bot: botId, name, members, owner } = args;
98
+ const bot = this.bots.get(botId);
99
+ if (!bot)
100
+ throw new Error(`Bot ${botId} 不存在`);
101
+ const chatId = await bot.createChat(name, members, owner);
102
+ return { success: !!chatId, chat_id: chatId, message: chatId ? `群聊创建成功: ${chatId}` : '创建失败' };
103
+ },
104
+ });
105
+ // 更新群信息工具
106
+ this.addTool({
107
+ name: 'lark_update_chat',
108
+ description: '更新飞书群聊信息(群名、描述)',
109
+ parameters: {
110
+ type: 'object',
111
+ properties: {
112
+ bot: { type: 'string', description: 'Bot 名称' },
113
+ chat_id: { type: 'string', description: '群聊 ID' },
114
+ name: { type: 'string', description: '新群名(可选)' },
115
+ description: { type: 'string', description: '新描述(可选)' },
116
+ },
117
+ required: ['bot', 'chat_id'],
118
+ },
119
+ platforms: ['lark'],
120
+ scopes: ['group'],
121
+ permissionLevel: 'group_admin',
122
+ execute: async (args) => {
123
+ const { bot: botId, chat_id, name, description } = args;
124
+ const bot = this.bots.get(botId);
125
+ if (!bot)
126
+ throw new Error(`Bot ${botId} 不存在`);
127
+ const success = await bot.updateChatInfo(chat_id, { name, description });
128
+ return { success, message: success ? '群信息更新成功' : '更新失败' };
129
+ },
130
+ });
131
+ // 添加群成员工具
132
+ this.addTool({
133
+ name: 'lark_add_members',
134
+ description: '添加飞书群成员',
135
+ parameters: {
136
+ type: 'object',
137
+ properties: {
138
+ bot: { type: 'string', description: 'Bot 名称' },
139
+ chat_id: { type: 'string', description: '群聊 ID' },
140
+ user_ids: { type: 'array', items: { type: 'string' }, description: '用户 open_id 列表' },
141
+ },
142
+ required: ['bot', 'chat_id', 'user_ids'],
143
+ },
144
+ platforms: ['lark'],
145
+ scopes: ['group'],
146
+ permissionLevel: 'group_admin',
147
+ execute: async (args) => {
148
+ const { bot: botId, chat_id, user_ids } = args;
149
+ const bot = this.bots.get(botId);
150
+ if (!bot)
151
+ throw new Error(`Bot ${botId} 不存在`);
152
+ const success = await bot.addChatMembers(chat_id, user_ids);
153
+ return { success, message: success ? '成员添加成功' : '添加失败' };
154
+ },
155
+ });
156
+ // 设置群管理员工具
157
+ this.addTool({
158
+ name: 'lark_set_managers',
159
+ description: '设置飞书群管理员',
160
+ parameters: {
161
+ type: 'object',
162
+ properties: {
163
+ bot: { type: 'string', description: 'Bot 名称' },
164
+ chat_id: { type: 'string', description: '群聊 ID' },
165
+ user_ids: { type: 'array', items: { type: 'string' }, description: '用户 open_id 列表' },
166
+ },
167
+ required: ['bot', 'chat_id', 'user_ids'],
168
+ },
169
+ platforms: ['lark'],
170
+ scopes: ['group'],
171
+ permissionLevel: 'group_owner',
172
+ execute: async (args) => {
173
+ const { bot: botId, chat_id, user_ids } = args;
174
+ const bot = this.bots.get(botId);
175
+ if (!bot)
176
+ throw new Error(`Bot ${botId} 不存在`);
177
+ const success = await bot.setChatManagers(chat_id, user_ids);
178
+ return { success, message: success ? '管理员设置成功' : '设置失败' };
179
+ },
180
+ });
181
+ // 移除群管理员工具
182
+ this.addTool({
183
+ name: 'lark_remove_managers',
184
+ description: '移除飞书群管理员',
185
+ parameters: {
186
+ type: 'object',
187
+ properties: {
188
+ bot: { type: 'string', description: 'Bot 名称' },
189
+ chat_id: { type: 'string', description: '群聊 ID' },
190
+ user_ids: { type: 'array', items: { type: 'string' }, description: '用户 open_id 列表' },
191
+ },
192
+ required: ['bot', 'chat_id', 'user_ids'],
193
+ },
194
+ platforms: ['lark'],
195
+ scopes: ['group'],
196
+ permissionLevel: 'group_owner',
197
+ execute: async (args) => {
198
+ const { bot: botId, chat_id, user_ids } = args;
199
+ const bot = this.bots.get(botId);
200
+ if (!bot)
201
+ throw new Error(`Bot ${botId} 不存在`);
202
+ const success = await bot.removeChatManagers(chat_id, user_ids);
203
+ return { success, message: success ? '管理员移除成功' : '移除失败' };
204
+ },
205
+ });
206
+ // 解散群聊工具
207
+ this.addTool({
208
+ name: 'lark_dissolve_chat',
209
+ description: '解散飞书群聊(需要群主权限)',
210
+ parameters: {
211
+ type: 'object',
212
+ properties: {
213
+ bot: { type: 'string', description: 'Bot 名称' },
214
+ chat_id: { type: 'string', description: '群聊 ID' },
215
+ },
216
+ required: ['bot', 'chat_id'],
217
+ },
218
+ platforms: ['lark'],
219
+ scopes: ['group'],
220
+ permissionLevel: 'group_owner',
221
+ execute: async (args) => {
222
+ const { bot: botId, chat_id } = args;
223
+ const bot = this.bots.get(botId);
224
+ if (!bot)
225
+ throw new Error(`Bot ${botId} 不存在`);
226
+ const success = await bot.dissolveChat(chat_id);
227
+ return { success, message: success ? '群聊已解散' : '解散失败' };
228
+ },
229
+ });
230
+ // 文件上传
231
+ this.addTool({
232
+ name: 'lark_upload_file',
233
+ description: '上传文件到飞书(图片/文件/视频/音频)',
234
+ parameters: {
235
+ type: 'object',
236
+ properties: {
237
+ bot: { type: 'string', description: 'Bot 名称' },
238
+ file_path: { type: 'string', description: '本地文件路径' },
239
+ file_type: { type: 'string', description: '文件类型:image/file/video/audio', enum: ['image', 'file', 'video', 'audio'] },
240
+ },
241
+ required: ['bot', 'file_path', 'file_type'],
242
+ },
243
+ platforms: ['lark'],
244
+ scopes: ['group', 'private'],
245
+ permissionLevel: 'user',
246
+ execute: async (args) => {
247
+ const { bot: botId, file_path, file_type } = args;
248
+ const bot = this.bots.get(botId);
249
+ if (!bot)
250
+ throw new Error(`Bot ${botId} 不存在`);
251
+ const result = await bot.uploadFile(file_path, file_type);
252
+ return { success: true, file_key: result, message: `文件已上传,file_key: ${result}` };
253
+ },
254
+ });
255
+ this.plugin.logger.debug('已注册飞书平台群组管理工具');
256
+ }
257
+ }
258
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/lib/bot.d.ts ADDED
@@ -0,0 +1,82 @@
1
+ import { Bot, Message, SendOptions } from "zhin.js";
2
+ import type { LarkBotConfig, LarkMessage } from "./types.js";
3
+ import type { LarkAdapter } from "./adapter.js";
4
+ export declare class LarkBot implements Bot<LarkBotConfig, LarkMessage> {
5
+ adapter: LarkAdapter;
6
+ $config: LarkBotConfig;
7
+ $connected: boolean;
8
+ private router;
9
+ private accessToken;
10
+ private axiosInstance;
11
+ get logger(): import("zhin.js").Logger;
12
+ get $id(): string;
13
+ constructor(adapter: LarkAdapter, router: any, $config: LarkBotConfig);
14
+ private setupWebhookRoute;
15
+ private handleWebhook;
16
+ private verifySignature;
17
+ private handleEvent;
18
+ private ensureAccessToken;
19
+ private refreshAccessToken;
20
+ $formatMessage(msg: LarkMessage, event?: any): Message<LarkMessage>;
21
+ private parseMessageContent;
22
+ private parseRichTextContent;
23
+ $sendMessage(options: SendOptions): Promise<string>;
24
+ $recallMessage(id: string): Promise<void>;
25
+ private formatSendContent;
26
+ $connect(): Promise<void>;
27
+ $disconnect(): Promise<void>;
28
+ getUserInfo(userId: string, userIdType?: 'open_id' | 'user_id' | 'union_id'): Promise<any>;
29
+ getChatInfo(chatId: string): Promise<any>;
30
+ uploadFile(filePath: string, fileType?: 'image' | 'file' | 'video' | 'audio'): Promise<string | null>;
31
+ /**
32
+ * 创建群聊
33
+ * @param name 群名
34
+ * @param userIds 成员 open_id 列表
35
+ * @param ownerId 群主 open_id
36
+ */
37
+ createChat(name: string, userIds: string[], ownerId?: string): Promise<string | null>;
38
+ /**
39
+ * 更新群信息
40
+ * @param chatId 群聊 ID
41
+ * @param options 更新选项
42
+ */
43
+ updateChatInfo(chatId: string, options: {
44
+ name?: string;
45
+ description?: string;
46
+ }): Promise<boolean>;
47
+ /**
48
+ * 添加群成员
49
+ * @param chatId 群聊 ID
50
+ * @param userIds 用户 ID 列表
51
+ */
52
+ addChatMembers(chatId: string, userIds: string[]): Promise<boolean>;
53
+ /**
54
+ * 移除群成员
55
+ * @param chatId 群聊 ID
56
+ * @param userIds 用户 ID 列表
57
+ */
58
+ removeChatMembers(chatId: string, userIds: string[]): Promise<boolean>;
59
+ /**
60
+ * 获取群成员列表
61
+ * @param chatId 群聊 ID
62
+ */
63
+ getChatMembers(chatId: string): Promise<any[]>;
64
+ /**
65
+ * 解散群聊
66
+ * @param chatId 群聊 ID
67
+ */
68
+ dissolveChat(chatId: string): Promise<boolean>;
69
+ /**
70
+ * 设置群管理员
71
+ * @param chatId 群聊 ID
72
+ * @param userIds 用户 ID 列表
73
+ */
74
+ setChatManagers(chatId: string, userIds: string[]): Promise<boolean>;
75
+ /**
76
+ * 移除群管理员
77
+ * @param chatId 群聊 ID
78
+ * @param userIds 用户 ID 列表
79
+ */
80
+ removeChatManagers(chatId: string, userIds: string[]): Promise<boolean>;
81
+ }
82
+ //# sourceMappingURL=bot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,GAAG,EACH,OAAO,EACP,WAAW,EAIZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAA0B,MAAM,YAAY,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,qBAAa,OAAQ,YAAW,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC;IAcxC,OAAO,EAAE,WAAW;IAAsB,OAAO,EAAE,aAAa;IAbnF,UAAU,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,aAAa,CAAe;IAEpC,IAAI,MAAM,6BAEX;IAED,IAAI,GAAG,WAEJ;gBAEkB,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAS,OAAO,EAAE,aAAa;IA+BnF,OAAO,CAAC,iBAAiB;YAMX,aAAa;IAsD3B,OAAO,CAAC,eAAe;YAaT,WAAW;YAaX,iBAAiB;YAUjB,kBAAkB;IAiChC,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC;IAoCnE,OAAO,CAAC,mBAAmB;IA0F3B,OAAO,CAAC,oBAAoB;IAyBtB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBnD,cAAc,CAAC,EAAE,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC;IAM7C,OAAO,CAAC,iBAAiB;IAsFnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAezB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,GAAG,SAAS,GAAG,UAAsB,GAAG,OAAO,CAAC,GAAG,CAAC;IAcrG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAWzC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA4BnH;;;;;OAKG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAmB3F;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;QAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,OAAO,CAAC;IAepB;;;;OAIG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBzE;;;;OAIG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5E;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAcpD;;;OAGG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAepD;;;;OAIG;IACG,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB1E;;;;OAIG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAgBhF"}