@router-agent/channel 0.0.0-stage → 0.3.31

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.
Files changed (45) hide show
  1. package/dist/config.d.ts +12 -0
  2. package/dist/config.js +2 -0
  3. package/dist/config.js.map +1 -0
  4. package/dist/errors.d.ts +7 -0
  5. package/dist/errors.js +14 -0
  6. package/dist/errors.js.map +1 -0
  7. package/dist/feishu/index.js +146 -0
  8. package/dist/feishu/index.js.map +1 -0
  9. package/dist/index.d.ts +9 -0
  10. package/dist/index.js +9 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/ingress.d.ts +46 -0
  13. package/dist/ingress.js +90 -0
  14. package/dist/ingress.js.map +1 -0
  15. package/dist/legacy.js +26 -0
  16. package/dist/legacy.js.map +1 -0
  17. package/dist/plugins/loader.d.ts +33 -0
  18. package/dist/plugins/loader.js +79 -0
  19. package/dist/plugins/loader.js.map +1 -0
  20. package/dist/plugins/types.d.ts +30 -0
  21. package/dist/plugins/types.js +2 -0
  22. package/dist/plugins/types.js.map +1 -0
  23. package/dist/port.d.ts +111 -0
  24. package/dist/port.js +8 -0
  25. package/dist/port.js.map +1 -0
  26. package/dist/registry.d.ts +21 -0
  27. package/dist/registry.js +50 -0
  28. package/dist/registry.js.map +1 -0
  29. package/dist/router.d.ts +24 -0
  30. package/dist/router.js +36 -0
  31. package/dist/router.js.map +1 -0
  32. package/dist/sources/feishu-bot-admin.js +119 -0
  33. package/dist/sources/feishu-bot-admin.js.map +1 -0
  34. package/dist/sources/feishu-directory.js +77 -0
  35. package/dist/sources/feishu-directory.js.map +1 -0
  36. package/dist/sources/feishu-identity.js +646 -0
  37. package/dist/sources/feishu-identity.js.map +1 -0
  38. package/dist/sources/feishu-image.js +338 -0
  39. package/dist/sources/feishu-image.js.map +1 -0
  40. package/dist/sources/feishu.js +645 -0
  41. package/dist/sources/feishu.js.map +1 -0
  42. package/dist/sources/lark.js +214 -0
  43. package/dist/sources/lark.js.map +1 -0
  44. package/package.json +35 -4
  45. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feishu-identity.js","sourceRoot":"","sources":["../../../../../packages/channel/src/sources/feishu-identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,338 @@
1
+ import { existsSync, mkdirSync, readFileSync, renameSync, rmSync } from 'node:fs';
2
+ import { tmpdir } from 'node:os';
3
+ import { extname, join } from 'node:path';
4
+ /** `![Image](img_xxx)` / `<img key="img_xxx"/>` / 原始 JSON 三种形态。 */
5
+ const IMAGE_KEY_PATTERNS = [
6
+ /!\[[^\]\n]*\]\((img_[A-Za-z0-9_-]+)\)/g,
7
+ /<img\b[^>]*\bkey=["'](img_[A-Za-z0-9_-]+)["'][^>]*\/?>/gi,
8
+ /"image_key"\s*:\s*"(img_[A-Za-z0-9_-]+)"/g,
9
+ ];
10
+ const IMAGE_KEY_RE = /^img_[A-Za-z0-9_-]+$/;
11
+ /**
12
+ * 从消息 content 里提取 image_key。
13
+ *
14
+ * 事件流里 lark-cli 会把图片 content 预渲染成人类可读文本(如 `![Image](img_xxx)`),
15
+ * 补拉和 `messages-mget` 则可能是原始 JSON(`{"image_key":"img_xxx"}`),两种都要认。
16
+ */
17
+ export function parseImageKeysFromContent(content) {
18
+ const text = String(content ?? '');
19
+ const keys = [];
20
+ // 原始 JSON(含 post 里的嵌套 img 节点)。
21
+ try {
22
+ const doc = JSON.parse(text);
23
+ collectJsonImageKeys(doc, keys);
24
+ }
25
+ catch {
26
+ // 预渲染文本,交给下面的标记匹配。
27
+ }
28
+ for (const pattern of IMAGE_KEY_PATTERNS) {
29
+ pattern.lastIndex = 0;
30
+ for (const match of text.matchAll(pattern)) {
31
+ if (match[1])
32
+ keys.push(match[1]);
33
+ }
34
+ }
35
+ return [...new Set(keys)];
36
+ }
37
+ function collectJsonImageKeys(node, out) {
38
+ if (!node || typeof node !== 'object')
39
+ return;
40
+ if (Array.isArray(node)) {
41
+ for (const item of node)
42
+ collectJsonImageKeys(item, out);
43
+ return;
44
+ }
45
+ const obj = node;
46
+ if (typeof obj.image_key === 'string' && IMAGE_KEY_RE.test(obj.image_key))
47
+ out.push(obj.image_key);
48
+ if (typeof obj.imageKey === 'string' && IMAGE_KEY_RE.test(obj.imageKey))
49
+ out.push(obj.imageKey);
50
+ if (typeof obj.key === 'string' && obj.tag === 'img' && IMAGE_KEY_RE.test(obj.key))
51
+ out.push(obj.key);
52
+ for (const [key, value] of Object.entries(obj)) {
53
+ if (key === 'image_key' || key === 'imageKey')
54
+ continue;
55
+ if (value && typeof value === 'object')
56
+ collectJsonImageKeys(value, out);
57
+ }
58
+ }
59
+ /** 从 Trigger.raw 里取归一化阶段已经解析出的 image_key。 */
60
+ export function imageKeysOf(raw) {
61
+ if (!raw || typeof raw !== 'object')
62
+ return [];
63
+ const value = raw.imageKeys;
64
+ if (!Array.isArray(value))
65
+ return [];
66
+ return [...new Set(value.map(String).filter(key => IMAGE_KEY_RE.test(key)))];
67
+ }
68
+ /** 消息类型(归一化阶段写入 raw.messageType)。 */
69
+ export function messageTypeOf(raw) {
70
+ if (!raw || typeof raw !== 'object')
71
+ return '';
72
+ const value = raw.messageType;
73
+ return typeof value === 'string' ? value : '';
74
+ }
75
+ /** 引用消息里附带的图片:attachQuotedMessage 回查后写入 raw.quoteImages。 */
76
+ export function quoteImageRefsOf(raw, fallbackMessageId) {
77
+ if (!raw || typeof raw !== 'object')
78
+ return [];
79
+ const value = raw.quoteImages;
80
+ if (!Array.isArray(value))
81
+ return [];
82
+ const out = [];
83
+ for (const item of value) {
84
+ if (!item || typeof item !== 'object')
85
+ continue;
86
+ const record = item;
87
+ const key = String(record.key ?? '');
88
+ const messageId = String(record.messageId ?? fallbackMessageId);
89
+ if (IMAGE_KEY_RE.test(key) && messageId)
90
+ out.push({ key, messageId, quoted: true });
91
+ }
92
+ return out;
93
+ }
94
+ /** 回查单条消息拿 image_key(事件流 content 被预渲染时用)。 */
95
+ export function messageImageKeysCommand(messageId, as = 'bot') {
96
+ return ['im', '+messages-mget', '--message-ids', messageId, '--as', as, '--format', 'json'];
97
+ }
98
+ /** 从 `+messages-mget` 的返回里取图片资源 key。 */
99
+ export function parseMessageImageKeys(stdout, messageId = '') {
100
+ let json;
101
+ try {
102
+ json = JSON.parse(stdout);
103
+ }
104
+ catch {
105
+ return [];
106
+ }
107
+ const root = json;
108
+ const list = root?.data?.messages ?? root?.messages;
109
+ if (!Array.isArray(list))
110
+ return [];
111
+ const messages = list;
112
+ const message = (messageId ? messages.find(item => String(item.message_id ?? '') === messageId) : undefined) ?? messages[0];
113
+ if (!message)
114
+ return [];
115
+ return parseImageKeysFromContent(String(message.content ?? ''));
116
+ }
117
+ /** 下载单张图片资源;--output 必须落在 cwd / /tmp / ~/files 之内。 */
118
+ export function imageDownloadCommand(messageId, fileKey, output, as = 'bot') {
119
+ return [
120
+ 'im', '+messages-resources-download',
121
+ '--message-id', messageId,
122
+ '--file-key', fileKey,
123
+ '--type', 'image',
124
+ '--output', output,
125
+ '--as', as,
126
+ '--format', 'json',
127
+ ];
128
+ }
129
+ /** 从下载命令的返回里取本地落盘路径。 */
130
+ export function parseSavedPath(stdout) {
131
+ try {
132
+ const doc = JSON.parse(stdout);
133
+ const data = doc?.data ?? doc;
134
+ const value = data?.saved_path ?? data?.savedPath ?? data?.path ?? doc?.saved_path;
135
+ return typeof value === 'string' ? value : '';
136
+ }
137
+ catch {
138
+ return '';
139
+ }
140
+ }
141
+ /** 读取图片并识别 MIME;优先看文件头,避免下载器没给扩展名时误判。 */
142
+ export function readImageInput(path) {
143
+ if (!existsSync(path))
144
+ return null;
145
+ const bytes = readFileSync(path);
146
+ if (bytes.length === 0)
147
+ return null;
148
+ return { data: bytes.toString('base64'), mimeType: detectMime(bytes, path) };
149
+ }
150
+ function detectMime(bytes, path) {
151
+ if (bytes.length >= 8 && bytes[0] === 0x89 && bytes[1] === 0x50 && bytes[2] === 0x4e && bytes[3] === 0x47)
152
+ return 'image/png';
153
+ if (bytes.length >= 3 && bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff)
154
+ return 'image/jpeg';
155
+ if (bytes.length >= 6 && bytes.subarray(0, 3).toString('ascii') === 'GIF')
156
+ return 'image/gif';
157
+ if (bytes.length >= 12 && bytes.subarray(0, 4).toString('ascii') === 'RIFF' && bytes.subarray(8, 12).toString('ascii') === 'WEBP')
158
+ return 'image/webp';
159
+ const ext = extname(path).toLowerCase();
160
+ if (ext === '.png')
161
+ return 'image/png';
162
+ if (ext === '.jpg' || ext === '.jpeg')
163
+ return 'image/jpeg';
164
+ if (ext === '.gif')
165
+ return 'image/gif';
166
+ if (ext === '.webp')
167
+ return 'image/webp';
168
+ return 'image/jpeg';
169
+ }
170
+ /**
171
+ * 把消息里的图片下载下来、落盘保留,并尽力转成文字拼进 Trigger.text。
172
+ *
173
+ * - 原图落到 /tmp/ra-images/<trigger id>/ 并写进 raw.attachments,派工时透传给 Worker;
174
+ * - 多模态模型可用时同时生成文字,供研判使用;识别失败不影响原图透传;
175
+ * - 下载全部失败时按原样返回,图片仍按「纯附件」处理。
176
+ */
177
+ export async function attachImageText(trigger, opts) {
178
+ if (!opts.transcriber)
179
+ return trigger;
180
+ const as = opts.as ?? 'bot';
181
+ const maxImages = opts.maxImages && opts.maxImages > 0 ? opts.maxImages : 3;
182
+ const raw = trigger.raw;
183
+ const sources = imageKeysOf(raw).map(key => ({ key, messageId: trigger.externalId }));
184
+ sources.push(...quoteImageRefsOf(raw, trigger.externalId));
185
+ if (sources.length === 0 && messageTypeOf(raw) === 'image') {
186
+ const keys = await lookupImageKeys(trigger, opts.runner, as, opts.logger);
187
+ sources.push(...keys.map(key => ({ key, messageId: trigger.externalId })));
188
+ }
189
+ if (sources.length === 0)
190
+ return trigger;
191
+ const dir = imageStagingDir(opts.imagesRoot, trigger.id);
192
+ const seen = new Set();
193
+ const staged = [];
194
+ for (const source of sources.slice(0, maxImages)) {
195
+ const identity = `${source.messageId}:${source.key}`;
196
+ if (seen.has(identity))
197
+ continue;
198
+ seen.add(identity);
199
+ const item = await stageOne(source.messageId, source.key, Boolean(source.quoted), dir, opts, as);
200
+ if (item)
201
+ staged.push(item);
202
+ }
203
+ if (staged.length === 0)
204
+ return trigger;
205
+ const cleaned = stripImageMarkers(trigger.text);
206
+ const body = staged
207
+ .map((item, index) => {
208
+ const label = staged.length === 1
209
+ ? (item.quoted ? '引用图片内容' : '图片内容')
210
+ : `${item.quoted ? '引用图片' : '图片'}${index + 1}内容`;
211
+ // 转写失败也要把原图交给 Worker;这里只给研判一个可读的占位说明。
212
+ return `[${label}] ${item.text || '(未能识别图片文字,原始图片已保存,可直接查看原图)'}`;
213
+ })
214
+ .join('\n\n');
215
+ const parts = [body];
216
+ if (cleaned && !isPlaceholder(cleaned))
217
+ parts.push(cleaned);
218
+ const attachments = staged.map(item => ({
219
+ path: item.path,
220
+ mimeType: item.mimeType,
221
+ ...(item.quoted ? { quoted: true } : {}),
222
+ }));
223
+ return {
224
+ ...trigger,
225
+ text: parts.join('\n\n'),
226
+ mediaOnly: false,
227
+ raw: {
228
+ ...(raw && typeof raw === 'object' ? raw : {}),
229
+ images: staged.map(item => ({
230
+ key: item.key,
231
+ messageId: item.messageId,
232
+ ...(item.quoted ? { quoted: true } : {}),
233
+ ...(item.text ? { text: item.text } : {}),
234
+ path: item.path,
235
+ mimeType: item.mimeType,
236
+ })),
237
+ attachments,
238
+ },
239
+ };
240
+ }
241
+ async function lookupImageKeys(trigger, runner, as, logger) {
242
+ try {
243
+ const res = await runner.run(messageImageKeysCommand(trigger.externalId, as), { timeoutMs: 20_000 });
244
+ if (res.code !== 0) {
245
+ logger?.warn('feishu:image-mget-failed', { id: trigger.externalId, code: res.code, message: res.stderr.slice(0, 200) });
246
+ return [];
247
+ }
248
+ return parseMessageImageKeys(res.stdout, trigger.externalId);
249
+ }
250
+ catch (error) {
251
+ logger?.warn('feishu:image-mget-failed', { id: trigger.externalId, message: errorText(error) });
252
+ return [];
253
+ }
254
+ }
255
+ async function stageOne(messageId, key, quoted, dir, opts, as) {
256
+ try {
257
+ // 直接给 key 作文件名,让 lark-cli 按 Content-Type 推断扩展名。
258
+ const target = join(dir, key);
259
+ const res = await opts.runner.run(imageDownloadCommand(messageId, key, target, as), { timeoutMs: 30_000 });
260
+ if (res.code !== 0) {
261
+ opts.logger?.warn('feishu:image-download-failed', { id: messageId, key, code: res.code, message: res.stderr.slice(0, 200) });
262
+ return null;
263
+ }
264
+ const saved = parseSavedPath(res.stdout);
265
+ const candidate = saved || target;
266
+ const input = readImageInput(candidate);
267
+ if (!input) {
268
+ opts.logger?.warn('feishu:image-read-failed', { id: messageId, key, path: candidate });
269
+ return null;
270
+ }
271
+ // Worker 依赖扩展名识别图片;下载器没给或给了非图片扩展名时补一个。
272
+ const path = ensureImageExtension(candidate, input.mimeType);
273
+ let text;
274
+ try {
275
+ const value = (await opts.transcriber.transcribe(input)).trim();
276
+ if (value)
277
+ text = value;
278
+ }
279
+ catch (error) {
280
+ // 识别失败不丢原图:Worker 仍能直接查看。
281
+ opts.logger?.warn('feishu:image-transcribe-failed', { id: messageId, key, message: errorText(error) });
282
+ }
283
+ return { key, messageId, quoted, path, mimeType: input.mimeType, ...(text ? { text } : {}) };
284
+ }
285
+ catch (error) {
286
+ opts.logger?.warn('feishu:image-transcribe-failed', { id: messageId, key, message: errorText(error) });
287
+ return null;
288
+ }
289
+ }
290
+ const IMAGE_EXTENSIONS = new Set(['.png', '.jpg', '.jpeg', '.gif', '.webp']);
291
+ function extensionForMime(mimeType) {
292
+ const mime = mimeType.toLowerCase();
293
+ if (mime.includes('png'))
294
+ return '.png';
295
+ if (mime.includes('jpeg') || mime.includes('jpg'))
296
+ return '.jpg';
297
+ if (mime.includes('gif'))
298
+ return '.gif';
299
+ if (mime.includes('webp'))
300
+ return '.webp';
301
+ return '.jpg';
302
+ }
303
+ /** 保证落盘文件带图片扩展名;失败时退回原路径,不阻断主流程。 */
304
+ function ensureImageExtension(path, mimeType) {
305
+ if (IMAGE_EXTENSIONS.has(extname(path).toLowerCase()))
306
+ return path;
307
+ const next = `${path}${extensionForMime(mimeType)}`;
308
+ try {
309
+ if (existsSync(next))
310
+ rmSync(next, { force: true });
311
+ renameSync(path, next);
312
+ return next;
313
+ }
314
+ catch {
315
+ return path;
316
+ }
317
+ }
318
+ /** 原图落盘目录:按 Trigger 隔离,多次识别同一张图不会互相覆盖。 */
319
+ function imageStagingDir(root, triggerId) {
320
+ // lark-cli 的 --output 只允许 cwd / /tmp / ~/files;macOS 的 os.tmpdir() 不在白名单内。
321
+ const base = root ?? (process.platform === 'win32' ? tmpdir() : '/tmp');
322
+ const dir = join(base, 'ra-images', triggerId.replace(/[^A-Za-z0-9._-]/g, '_'));
323
+ mkdirSync(dir, { recursive: true });
324
+ return dir;
325
+ }
326
+ function stripImageMarkers(text) {
327
+ let out = String(text ?? '');
328
+ for (const pattern of IMAGE_KEY_PATTERNS)
329
+ out = out.replace(pattern, '');
330
+ return out.replace(/\n{3,}/g, '\n\n').trim();
331
+ }
332
+ function isPlaceholder(text) {
333
+ return /^\[(?:图片|附件|文件|image|file)\]$/i.test(text.trim());
334
+ }
335
+ function errorText(error) {
336
+ return error instanceof Error ? error.message : String(error);
337
+ }
338
+ //# sourceMappingURL=feishu-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feishu-image.js","sourceRoot":"","sources":["../../../../../packages/channel/src/sources/feishu-image.ts"],"names":[],"mappings":"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"}