@zhin.js/adapter-slack 1.0.36 → 1.0.38

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,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.38
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [bb6bfa8]
8
+ - Updated dependencies [bb6bfa8]
9
+ - zhin.js@1.0.52
10
+
11
+ ## 1.0.37
12
+
13
+ ### Patch Changes
14
+
15
+ - zhin.js@1.0.51
16
+
3
17
  ## 1.0.36
4
18
 
5
19
  ### Patch Changes
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Slack 适配器
3
+ */
4
+ import { Adapter, Plugin } from "zhin.js";
5
+ import { SlackBot } from "./bot.js";
6
+ import type { SlackBotConfig } from "./types.js";
7
+ export declare class SlackAdapter extends Adapter<SlackBot> {
8
+ constructor(plugin: Plugin);
9
+ createBot(config: SlackBotConfig): SlackBot;
10
+ kickMember(botId: string, sceneId: string, userId: string): Promise<boolean>;
11
+ setGroupName(botId: string, sceneId: string, name: string): Promise<boolean>;
12
+ listMembers(botId: string, sceneId: string): Promise<string[]>;
13
+ getGroupInfo(botId: string, sceneId: string): Promise<any>;
14
+ start(): Promise<void>;
15
+ /**
16
+ * 注册 Slack 平台特有工具(邀请到频道等)
17
+ */
18
+ private registerSlackPlatformTools;
19
+ }
20
+ //# 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,EAGP,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,YAAa,SAAQ,OAAO,CAAC,QAAQ,CAAC;gBACrC,MAAM,EAAE,MAAM;IAI1B,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,QAAQ;IAMrC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAMzD,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMzD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAM1C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;CAqQnC"}
package/lib/adapter.js ADDED
@@ -0,0 +1,310 @@
1
+ /**
2
+ * Slack 适配器
3
+ */
4
+ import { Adapter, createGroupManagementTools, } from "zhin.js";
5
+ import { SlackBot } from "./bot.js";
6
+ export class SlackAdapter extends Adapter {
7
+ constructor(plugin) {
8
+ super(plugin, "slack", []);
9
+ }
10
+ createBot(config) {
11
+ return new SlackBot(this, config);
12
+ }
13
+ // ── IGroupManagement 标准群管方法 ──────────────────────────────────
14
+ async kickMember(botId, sceneId, userId) {
15
+ const bot = this.bots.get(botId);
16
+ if (!bot)
17
+ throw new Error(`Bot ${botId} 不存在`);
18
+ return bot.kickFromChannel(sceneId, userId);
19
+ }
20
+ async setGroupName(botId, sceneId, name) {
21
+ const bot = this.bots.get(botId);
22
+ if (!bot)
23
+ throw new Error(`Bot ${botId} 不存在`);
24
+ return bot.renameChannel(sceneId, name);
25
+ }
26
+ async listMembers(botId, sceneId) {
27
+ const bot = this.bots.get(botId);
28
+ if (!bot)
29
+ throw new Error(`Bot ${botId} 不存在`);
30
+ return bot.getChannelMembers(sceneId);
31
+ }
32
+ async getGroupInfo(botId, sceneId) {
33
+ const bot = this.bots.get(botId);
34
+ if (!bot)
35
+ throw new Error(`Bot ${botId} 不存在`);
36
+ return bot.getChannelInfo(sceneId);
37
+ }
38
+ // ── 生命周期 ───────────────────────────────────────────────────────
39
+ async start() {
40
+ this.registerSlackPlatformTools();
41
+ const groupTools = createGroupManagementTools(this, this.name);
42
+ groupTools.forEach((t) => this.addTool(t));
43
+ await super.start();
44
+ }
45
+ /**
46
+ * 注册 Slack 平台特有工具(邀请到频道等)
47
+ */
48
+ registerSlackPlatformTools() {
49
+ // 邀请用户到频道
50
+ this.addTool({
51
+ name: 'slack_invite_to_channel',
52
+ description: '邀请用户加入 Slack 频道',
53
+ parameters: {
54
+ type: 'object',
55
+ properties: {
56
+ bot: { type: 'string', description: 'Bot 名称' },
57
+ channel: { type: 'string', description: '频道 ID' },
58
+ users: { type: 'array', items: { type: 'string' }, description: '用户 ID 列表' },
59
+ },
60
+ required: ['bot', 'channel', 'users'],
61
+ },
62
+ platforms: ['slack'],
63
+ scopes: ['group'],
64
+ permissionLevel: 'group_admin',
65
+ execute: async (args) => {
66
+ const { bot: botId, channel, users } = args;
67
+ const bot = this.bots.get(botId);
68
+ if (!bot)
69
+ throw new Error(`Bot ${botId} 不存在`);
70
+ const success = await bot.inviteToChannel(channel, users);
71
+ return { success, message: success ? `已邀请用户加入频道` : '操作失败' };
72
+ },
73
+ });
74
+ // 设置频道话题
75
+ this.addTool({
76
+ name: 'slack_set_topic',
77
+ description: '设置 Slack 频道话题',
78
+ parameters: {
79
+ type: 'object',
80
+ properties: {
81
+ bot: { type: 'string', description: 'Bot 名称' },
82
+ channel: { type: 'string', description: '频道 ID' },
83
+ topic: { type: 'string', description: '新话题' },
84
+ },
85
+ required: ['bot', 'channel', 'topic'],
86
+ },
87
+ platforms: ['slack'],
88
+ scopes: ['group'],
89
+ permissionLevel: 'group_admin',
90
+ execute: async (args) => {
91
+ const { bot: botId, channel, topic } = args;
92
+ const bot = this.bots.get(botId);
93
+ if (!bot)
94
+ throw new Error(`Bot ${botId} 不存在`);
95
+ const success = await bot.setChannelTopic(channel, topic);
96
+ return { success, message: success ? `已设置频道话题` : '操作失败' };
97
+ },
98
+ });
99
+ // 归档频道
100
+ this.addTool({
101
+ name: 'slack_archive_channel',
102
+ description: '归档 Slack 频道',
103
+ parameters: {
104
+ type: 'object',
105
+ properties: {
106
+ bot: { type: 'string', description: 'Bot 名称' },
107
+ channel: { type: 'string', description: '频道 ID' },
108
+ },
109
+ required: ['bot', 'channel'],
110
+ },
111
+ platforms: ['slack'],
112
+ scopes: ['group'],
113
+ permissionLevel: 'group_admin',
114
+ execute: async (args) => {
115
+ const { bot: botId, channel } = args;
116
+ const bot = this.bots.get(botId);
117
+ if (!bot)
118
+ throw new Error(`Bot ${botId} 不存在`);
119
+ const success = await bot.archiveChannel(channel);
120
+ return { success, message: success ? `已归档频道` : '操作失败' };
121
+ },
122
+ });
123
+ // 置顶消息
124
+ this.addTool({
125
+ name: 'slack_pin_message',
126
+ description: '置顶 Slack 消息',
127
+ parameters: {
128
+ type: 'object',
129
+ properties: {
130
+ bot: { type: 'string', description: 'Bot 名称' },
131
+ channel: { type: 'string', description: '频道 ID' },
132
+ timestamp: { type: 'string', description: '消息时间戳' },
133
+ },
134
+ required: ['bot', 'channel', 'timestamp'],
135
+ },
136
+ platforms: ['slack'],
137
+ scopes: ['group'],
138
+ permissionLevel: 'group_admin',
139
+ execute: async (args) => {
140
+ const { bot: botId, channel, timestamp } = args;
141
+ const bot = this.bots.get(botId);
142
+ if (!bot)
143
+ throw new Error(`Bot ${botId} 不存在`);
144
+ const success = await bot.pinMessage(channel, timestamp);
145
+ return { success, message: success ? `已置顶消息` : '操作失败' };
146
+ },
147
+ });
148
+ // 添加反应
149
+ this.addTool({
150
+ name: 'slack_add_reaction',
151
+ description: '给 Slack 消息添加表情反应',
152
+ parameters: {
153
+ type: 'object',
154
+ properties: {
155
+ bot: { type: 'string', description: 'Bot 名称' },
156
+ channel: { type: 'string', description: '频道 ID' },
157
+ timestamp: { type: 'string', description: '消息时间戳' },
158
+ emoji: { type: 'string', description: '表情名称(不含冒号)' },
159
+ },
160
+ required: ['bot', 'channel', 'timestamp', 'emoji'],
161
+ },
162
+ platforms: ['slack'],
163
+ scopes: ['group', 'private'],
164
+ permissionLevel: 'user',
165
+ execute: async (args) => {
166
+ const { bot: botId, channel, timestamp, emoji } = args;
167
+ const bot = this.bots.get(botId);
168
+ if (!bot)
169
+ throw new Error(`Bot ${botId} 不存在`);
170
+ const success = await bot.addReaction(channel, timestamp, emoji);
171
+ return { success, message: success ? `已添加反应 :${emoji}:` : '操作失败' };
172
+ },
173
+ });
174
+ // 移除表情反应
175
+ this.addTool({
176
+ name: 'slack_remove_reaction',
177
+ description: '移除 Slack 消息上的表情反应',
178
+ parameters: {
179
+ type: 'object',
180
+ properties: {
181
+ bot: { type: 'string', description: 'Bot 名称' },
182
+ channel_id: { type: 'string', description: '频道 ID' },
183
+ timestamp: { type: 'string', description: '消息时间戳' },
184
+ name: { type: 'string', description: '表情名称(如 thumbsup、heart)' },
185
+ },
186
+ required: ['bot', 'channel_id', 'timestamp', 'name'],
187
+ },
188
+ platforms: ['slack'],
189
+ scopes: ['group'],
190
+ permissionLevel: 'user',
191
+ execute: async (args) => {
192
+ const { bot: botId, channel_id, timestamp, name } = args;
193
+ const bot = this.bots.get(botId);
194
+ if (!bot)
195
+ throw new Error(`Bot ${botId} 不存在`);
196
+ const success = await bot.removeReaction(channel_id, timestamp, name);
197
+ return { success, message: success ? `已移除反应 :${name}:` : '操作失败' };
198
+ },
199
+ });
200
+ // 取消置顶消息
201
+ this.addTool({
202
+ name: 'slack_unpin_message',
203
+ description: '取消 Slack 频道中消息的置顶',
204
+ parameters: {
205
+ type: 'object',
206
+ properties: {
207
+ bot: { type: 'string', description: 'Bot 名称' },
208
+ channel_id: { type: 'string', description: '频道 ID' },
209
+ timestamp: { type: 'string', description: '消息时间戳' },
210
+ },
211
+ required: ['bot', 'channel_id', 'timestamp'],
212
+ },
213
+ platforms: ['slack'],
214
+ scopes: ['group'],
215
+ permissionLevel: 'group_admin',
216
+ execute: async (args) => {
217
+ const { bot: botId, channel_id, timestamp } = args;
218
+ const bot = this.bots.get(botId);
219
+ if (!bot)
220
+ throw new Error(`Bot ${botId} 不存在`);
221
+ const success = await bot.unpinMessage(channel_id, timestamp);
222
+ return { success, message: success ? '已取消置顶' : '操作失败' };
223
+ },
224
+ });
225
+ // 查询用户信息
226
+ this.addTool({
227
+ name: 'slack_user_info',
228
+ description: '查询 Slack 用户详细信息',
229
+ parameters: {
230
+ type: 'object',
231
+ properties: {
232
+ bot: { type: 'string', description: 'Bot 名称' },
233
+ user_id: { type: 'string', description: '用户 ID' },
234
+ },
235
+ required: ['bot', 'user_id'],
236
+ },
237
+ platforms: ['slack'],
238
+ scopes: ['group', 'private'],
239
+ permissionLevel: 'user',
240
+ execute: async (args) => {
241
+ const { bot: botId, user_id } = args;
242
+ const bot = this.bots.get(botId);
243
+ if (!bot)
244
+ throw new Error(`Bot ${botId} 不存在`);
245
+ const user = await bot.getUserInfo(user_id);
246
+ return {
247
+ id: user.id,
248
+ name: user.name,
249
+ real_name: user.real_name,
250
+ display_name: user.profile?.display_name,
251
+ email: user.profile?.email,
252
+ is_admin: user.is_admin,
253
+ is_bot: user.is_bot,
254
+ status_text: user.profile?.status_text,
255
+ };
256
+ },
257
+ });
258
+ // 设置频道用途
259
+ this.addTool({
260
+ name: 'slack_set_purpose',
261
+ description: '设置 Slack 频道的用途/目的',
262
+ parameters: {
263
+ type: 'object',
264
+ properties: {
265
+ bot: { type: 'string', description: 'Bot 名称' },
266
+ channel_id: { type: 'string', description: '频道 ID' },
267
+ purpose: { type: 'string', description: '频道用途描述' },
268
+ },
269
+ required: ['bot', 'channel_id', 'purpose'],
270
+ },
271
+ platforms: ['slack'],
272
+ scopes: ['group'],
273
+ permissionLevel: 'group_admin',
274
+ execute: async (args) => {
275
+ const { bot: botId, channel_id, purpose } = args;
276
+ const bot = this.bots.get(botId);
277
+ if (!bot)
278
+ throw new Error(`Bot ${botId} 不存在`);
279
+ const success = await bot.setChannelPurpose(channel_id, purpose);
280
+ return { success, message: success ? '频道用途已更新' : '操作失败' };
281
+ },
282
+ });
283
+ // 恢复归档频道
284
+ this.addTool({
285
+ name: 'slack_unarchive',
286
+ description: '恢复已归档的 Slack 频道',
287
+ parameters: {
288
+ type: 'object',
289
+ properties: {
290
+ bot: { type: 'string', description: 'Bot 名称' },
291
+ channel_id: { type: 'string', description: '频道 ID' },
292
+ },
293
+ required: ['bot', 'channel_id'],
294
+ },
295
+ platforms: ['slack'],
296
+ scopes: ['group'],
297
+ permissionLevel: 'group_admin',
298
+ execute: async (args) => {
299
+ const { bot: botId, channel_id } = args;
300
+ const bot = this.bots.get(botId);
301
+ if (!bot)
302
+ throw new Error(`Bot ${botId} 不存在`);
303
+ const success = await bot.unarchiveChannel(channel_id);
304
+ return { success, message: success ? '频道已恢复' : '操作失败' };
305
+ },
306
+ });
307
+ this.plugin.logger.debug('已注册 Slack 平台工作区管理工具');
308
+ }
309
+ }
310
+ //# 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,104 @@
1
+ import { Bot, Message, SendOptions } from "zhin.js";
2
+ import type { SlackBotConfig, SlackMessageEvent } from "./types.js";
3
+ import type { SlackAdapter } from "./adapter.js";
4
+ export declare class SlackBot implements Bot<SlackBotConfig, SlackMessageEvent> {
5
+ adapter: SlackAdapter;
6
+ $config: SlackBotConfig;
7
+ $connected: boolean;
8
+ private app;
9
+ private client;
10
+ get logger(): import("zhin.js").Logger;
11
+ get $id(): string;
12
+ constructor(adapter: SlackAdapter, $config: SlackBotConfig);
13
+ $connect(): Promise<void>;
14
+ $disconnect(): Promise<void>;
15
+ private handleSlackMessage;
16
+ $formatMessage(msg: SlackMessageEvent): Message<SlackMessageEvent>;
17
+ private parseMessageContent;
18
+ private parseSlackText;
19
+ $sendMessage(options: SendOptions): Promise<string>;
20
+ private sendContentToChannel;
21
+ $recallMessage(id: string): Promise<void>;
22
+ /**
23
+ * 邀请用户到频道
24
+ * @param channel 频道 ID
25
+ * @param users 用户 ID 列表
26
+ */
27
+ inviteToChannel(channel: string, users: string[]): Promise<boolean>;
28
+ /**
29
+ * 从频道踢出用户
30
+ * @param channel 频道 ID
31
+ * @param user 用户 ID
32
+ */
33
+ kickFromChannel(channel: string, user: string): Promise<boolean>;
34
+ /**
35
+ * 设置频道话题
36
+ * @param channel 频道 ID
37
+ * @param topic 话题
38
+ */
39
+ setChannelTopic(channel: string, topic: string): Promise<boolean>;
40
+ /**
41
+ * 设置频道目的
42
+ * @param channel 频道 ID
43
+ * @param purpose 目的
44
+ */
45
+ setChannelPurpose(channel: string, purpose: string): Promise<boolean>;
46
+ /**
47
+ * 归档频道
48
+ * @param channel 频道 ID
49
+ */
50
+ archiveChannel(channel: string): Promise<boolean>;
51
+ /**
52
+ * 取消归档频道
53
+ * @param channel 频道 ID
54
+ */
55
+ unarchiveChannel(channel: string): Promise<boolean>;
56
+ /**
57
+ * 重命名频道
58
+ * @param channel 频道 ID
59
+ * @param name 新名称
60
+ */
61
+ renameChannel(channel: string, name: string): Promise<boolean>;
62
+ /**
63
+ * 获取频道成员列表
64
+ * @param channel 频道 ID
65
+ */
66
+ getChannelMembers(channel: string): Promise<string[]>;
67
+ /**
68
+ * 获取频道信息
69
+ * @param channel 频道 ID
70
+ */
71
+ getChannelInfo(channel: string): Promise<any>;
72
+ /**
73
+ * 获取用户信息
74
+ * @param user 用户 ID
75
+ */
76
+ getUserInfo(user: string): Promise<any>;
77
+ /**
78
+ * 添加消息反应
79
+ * @param channel 频道 ID
80
+ * @param timestamp 消息时间戳
81
+ * @param name 表情名称
82
+ */
83
+ addReaction(channel: string, timestamp: string, name: string): Promise<boolean>;
84
+ /**
85
+ * 移除消息反应
86
+ * @param channel 频道 ID
87
+ * @param timestamp 消息时间戳
88
+ * @param name 表情名称
89
+ */
90
+ removeReaction(channel: string, timestamp: string, name: string): Promise<boolean>;
91
+ /**
92
+ * 置顶消息
93
+ * @param channel 频道 ID
94
+ * @param timestamp 消息时间戳
95
+ */
96
+ pinMessage(channel: string, timestamp: string): Promise<boolean>;
97
+ /**
98
+ * 取消置顶消息
99
+ * @param channel 频道 ID
100
+ * @param timestamp 消息时间戳
101
+ */
102
+ unpinMessage(channel: string, timestamp: string): Promise<boolean>;
103
+ }
104
+ //# sourceMappingURL=bot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../src/bot.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,GAAG,EACH,OAAO,EACP,WAAW,EAIZ,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,qBAAa,QAAS,YAAW,GAAG,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAalD,OAAO,EAAE,YAAY;IAAS,OAAO,EAAE,cAAc;IAZxE,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,MAAM,CAAY;IAE1B,IAAI,MAAM,6BAET;IAED,IAAI,GAAG,WAEN;gBAEkB,OAAO,EAAE,YAAY,EAAS,OAAO,EAAE,cAAc;IA0BlE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsCzB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;YAWpB,kBAAkB;IAahC,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoElE,OAAO,CAAC,mBAAmB;IAiF3B,OAAO,CAAC,cAAc;IA+FhB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC;YAgB3C,oBAAoB;IAmF5B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAWzE;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtE;;;;OAIG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWvE;;;;OAIG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAW3E;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWvD;;;OAGG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWzD;;;;OAIG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWpE;;;OAGG;IACG,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAU3D;;;OAGG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAUnD;;;OAGG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAU7C;;;;;OAKG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrF;;;;;OAKG;IACG,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWxF;;;;OAIG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWtE;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAUzE"}