@keyou007/agent-bot 0.1.24 → 0.1.25-alpha.0

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
@@ -6,6 +6,16 @@ The project follows [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.25-alpha.0] - 2026-10-30
10
+
11
+ - 修复合并转发聊天记录中的图片、文件下载失败:改用外层消息 ID 读取资源,同时覆盖直接转发和引用聊天记录,保留用户正文为主 Prompt。
12
+ - Fix image and file downloads in merged-forward chat records by using the container message ID, including quoted records, while keeping the user's instruction as the main Prompt.
13
+
14
+ - 统一引用消息处理:不再按类型筛选待合并消息,普通文字和纯链接也可与同一用户、同一会话的显式引用附言合并;以当前正文作为主 Prompt 和卡片标题,保留引用资源、Reaction 和旧消息引用行为。
15
+ - Unify quoted-message pairing across message types, including plain text and URLs: use the explicitly linked current instruction as the Prompt/card title, preserving reference resources, reactions, and older-quote behavior.
16
+
17
+ - Add minimal delayed-Feishu-message diagnostics: retain source timestamps and event IDs in existing audits, with one content-free warning only for newly accepted messages delayed by at least one minute. Message handling remains unchanged.
18
+
9
19
  ## [0.1.24] - 2026-10-24
10
20
 
11
21
  ### 中文
package/README.md CHANGED
@@ -282,6 +282,8 @@ Renaming a Feishu group updates its currently bound task title, even when you re
282
282
 
283
283
  Private chats, group timelines, and topics keep separate current tasks. A new topic remains unbound while you use commands such as `/help`, `/status`, or `/sessions`; those commands do not create a hidden fork. Its first ordinary message forks from the mapped source turn, or starts a fresh task when no source turn can be identified. `/new` starts a fresh topic task, while `/sessions` can bind an existing task. Commands that require a current task explain how to bind one instead of operating on the parent conversation. Ordinary messages sent while a task is running add instructions to that turn; use `/queue` when the message should run afterward as a separate turn.
284
284
 
285
+ For delayed-message diagnosis, existing incoming-message audits include the Feishu creation time, SDK callback time, and event ID when available. Only newly accepted messages delayed by at least one minute emit a warning, without message content; normal messages and duplicate deliveries add no log lines. These diagnostics do not reject or reorder messages, and SDK callback time does not identify when the WebSocket frame reached the host.
286
+
285
287
  `/release` sends a card for releasing the shared App Server used by the current task's Agent so its tasks can be opened in Codex Desktop. The card lists blocking task names and keeps them updated. Agent Bot never releases automatically: click **Release** when idle, or **Release Now** to interrupt active work and clear queued Prompts. **Cancel** cancels the pending release. Releasing does not archive or delete task history, but it affects every task loaded by that shared App Server.
286
288
 
287
289
  Topic replies check whether the root message is already in the task's history using lightweight Turn links, without loading the full history before sending the thinking card. Legacy parent links are repaired only when needed.
@@ -430,9 +432,9 @@ Whitespace-only Commentary does not use a pinned message slot. Adjacent omission
430
432
 
431
433
  Turn Preview shows saved reasoning with a body in a collapsed panel. A leading Markdown heading or standalone bold title appears directly in the header; expanding shows the remaining summary and content without extra Summary/Content labels or a repeated title. Title-only items remain visible as non-interactive rows without a disclosure arrow or detail request; live updates add a disclosure if a body arrives later. Items without an explicit title keep the Reasoning fallback and all original text. Collapsed panels load their full Markdown on expansion and retain expansion during live updates. Reasoning content and authoritative completed items are stored separately from card activities; this does not change thinking-card titles, grouping, or final replies. Existing saved summaries remain viewable, but previously unrecorded content is not backfilled from Agent history.
432
434
 
433
- Quoted cards and cards inside merged forwards include their available original text and images in the Agent's context.
435
+ Quoted cards and cards inside merged forwards include their available original text and images in the Agent's context. Images and files in forwarded chat records are downloaded as reference attachments, including when you quote the chat record with your own instruction.
434
436
 
435
- When forwarding rich text, images, files, or chat records with an attached message, Agent Bot combines the associated messages into one request: your attached text is the main Prompt, and the forwarded content remains reference material.
437
+ When you quote a message, your current message body is the main Prompt; the quoted content remains reference material regardless of its type. Ordinary Feishu messages, including plain text and links, briefly wait up to 1.5 seconds after acknowledgement for an explicitly linked follow-up from the same sender in the same conversation. A matching follow-up combines them into one request and supplies the card Prompt. Commands do not wait. Quotes of older or already-submitted messages use normal quoting/steering without replacing completed history.
436
438
 
437
439
  File-change summaries display paths as plain text, preserving Windows separators and literal underscores (including `\__init__.py`) instead of interpreting them as Markdown formatting.
438
440
 
package/README.zh.md CHANGED
@@ -279,6 +279,8 @@ agentbot task dismiss [任务] --yes
279
279
 
280
280
  私聊、群正文和话题分别维护当前任务。新话题在执行 `/help`、`/status` 或 `/sessions` 等命令时保持未绑定状态,不会暗中创建分支;收到第一条普通消息后,才会从可识别的原始 turn 创建分支,无法识别来源时则创建全新任务。使用 `/new` 可以直接创建全新话题任务,使用 `/sessions` 可以绑定现有任务;依赖当前任务的命令会提示如何绑定,而不会操作父会话任务。任务运行时发送普通消息会向当前轮次追加指令;需要在本轮结束后独立执行时,使用 `/queue`。
281
281
 
282
+ 排查迟到消息时,复用现有接收审计记录,补充飞书创建时间、SDK 回调时间及事件 ID(上游提供时)。仅首次接收且延迟达到 1 分钟的消息额外记录一条告警,不含消息正文;正常消息和重复投递不增加日志条目。不改变接收、执行或消息顺序;SDK 回调时间不代表 WebSocket 帧抵达本机的时间。
283
+
282
284
  `/release` 会发送当前任务所属 Agent 共享 App Server 的释放卡片,以便在 Codex Desktop 中打开这些任务。卡片会列出并持续刷新阻塞释放的任务名。Agent Bot 不会自动释放:空闲时点击 **Release**,有活动任务时点击 **Release Now** 会中断执行并清除排队 Prompt;**Cancel** 会取消本次释放。释放不会归档或删除任务历史,但会影响该 App Server 已加载的所有任务。
283
285
 
284
286
  Fork 只记录来源任务和分支轮次,不同步完整历史。普通任务和分支任务的 `/turns` 都按需要读取摘要分页,翻页才继续读取较早轮次;分支历史不会越过分支轮次。本地卡片只读取关系索引和当前页 Prompt 摘要,不加载历史工具输出。任务列表只读最近一轮摘要,目录等元数据查询不读轮次;状态与恢复只读最近一轮的完整结果,并复用状态校准结果。活跃检测复用未变化的日志,只增量扫描追加内容。
@@ -421,9 +423,9 @@ Agent Bot 会响应机器人所在群内拥有者发送的普通消息。将 `fe
421
423
 
422
424
  Turn Preview 中每个已保存的思考项默认折叠,开头的 Markdown 标题或独立加粗标题直接显示在折叠栏;展开后显示剩余摘要和正文,不再添加“摘要 / 正文”标签或重复同一标题。没有明确标题时保留“思考”作为标题,原文完整保留。折叠时不加载全文,展开后按需加载 Markdown,实时更新保留展开状态。思考正文及完成事件中的权威内容单独保存,不改变思考卡片的标题、分组或最终回答。旧快照中已保存的摘要仍可查看,此前未记录的正文不会从 Agent 历史自动回填。
423
425
 
424
- 引用卡片或合并转发中的卡片时,Agent 会收到可读取的原始文字和图片。
426
+ 引用卡片或合并转发中的卡片时,Agent 会收到可读取的原始文字和图片。转发聊天记录中的图片、文件会下载为参考附件,引用聊天记录并附上自己的指令时也同样适用。
425
427
 
426
- 转发富文本、图片、文件或聊天记录并附言时,Agent Bot 会将关联消息合并为一次请求:你的附言作为主 Prompt,转发内容保留为参考材料。
428
+ 引用消息时,你当前发送的正文作为主 Prompt,被引用内容保留为参考材料,不按消息类型区分。普通飞书消息(包括文字和链接)在确认收到后,最多短暂等待 1.5 秒;同一用户在同一会话中紧接着显式引用它补充说明时,合并为一次请求,并以附言作为卡片 Prompt。命令不等待;引用旧消息或已提交的消息仍按正常引用和追加逻辑处理,不替换已完成的历史。
427
429
 
428
430
  文件变更摘要中的路径保持普通文本样式,完整保留 Windows 路径分隔符和下划线(包括 `\__init__.py`),不会将其解析为 Markdown 格式。
429
431
 
@@ -50,6 +50,7 @@ export class FeishuConnector {
50
50
  const lark = await import("@larksuiteoapi/node-sdk");
51
51
  const eventDispatcher = new lark.EventDispatcher({}).register({
52
52
  "im.message.receive_v1": async (data) => {
53
+ const receivedAt = Date.now();
53
54
  const senderOpenId = getFeishuEvent(data)?.sender?.sender_id?.open_id;
54
55
  if (!allowsFeishuUser(this.config, senderOpenId)) {
55
56
  this.logger.debug({ messageId: getFeishuEvent(data)?.message?.message_id }, "Ignored a Feishu message from a non-owner.");
@@ -60,6 +61,8 @@ export class FeishuConnector {
60
61
  this.logger.debug({ data }, "Ignored unsupported Feishu message event.");
61
62
  return;
62
63
  }
64
+ message.receivedAt = receivedAt;
65
+ message.eventId = getEventId(data);
63
66
  void Promise.resolve()
64
67
  .then(() => this.handler.onMessage(message))
65
68
  .catch((error) => {
@@ -1 +1 @@
1
- {"version":3,"file":"FeishuConnector.js","sourceRoot":"","sources":["../../src/feishu/FeishuConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeishuConnector.js","sourceRoot":"","sources":["../../src/feishu/FeishuConnector.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,7 @@ export function renderMergedForwardPrompt(parentMessageId, items, maxChars = MAX
50
50
  throw new Error("合并转发消息中没有可读取的子消息。");
51
51
  const senderLabels = new Map();
52
52
  const imageNumbers = new Map();
53
+ const fileNumbers = new Map();
53
54
  const images = [];
54
55
  const files = [];
55
56
  let userIndex = 0;
@@ -72,24 +73,26 @@ export function renderMergedForwardPrompt(parentMessageId, items, maxChars = MAX
72
73
  const time = formatMessageTime(item.create_time);
73
74
  const heading = [`消息 ${index + 1}`, senderLabel, time].filter(Boolean).join(" · ");
74
75
  return `[${heading}]\n${renderMessageContent(item, (imageKey) => {
75
- const messageId = item.message_id?.trim();
76
- if (!messageId || !imageKey)
76
+ if (!imageKey)
77
77
  return "[图片]";
78
- const referenceKey = `${messageId}:${imageKey}`;
79
- let imageNumber = imageNumbers.get(referenceKey);
78
+ let imageNumber = imageNumbers.get(imageKey);
80
79
  if (!imageNumber) {
81
80
  imageNumber = images.length + 1;
82
- imageNumbers.set(referenceKey, imageNumber);
83
- images.push({ messageId, imageKey });
81
+ imageNumbers.set(imageKey, imageNumber);
82
+ // Forwarded resources belong to the container, not the listed child IDs.
83
+ images.push({ messageId: parentMessageId, imageKey });
84
84
  }
85
85
  return `[图片 ${imageNumber}]`;
86
86
  }, (fileKey, fileName) => {
87
- const messageId = item.message_id?.trim();
88
- if (!messageId || !fileKey)
87
+ if (!fileKey)
89
88
  return namedPlaceholder("文件", fileName);
90
- const fileNumber = files.length + 1;
91
- files.push({ messageId, fileKey, fileName: fileName || `file-${fileNumber}` });
92
- return `[文件 ${fileNumber}:${fileName || `file-${fileNumber}`}]`;
89
+ let fileNumber = fileNumbers.get(fileKey);
90
+ if (!fileNumber) {
91
+ fileNumber = files.length + 1;
92
+ fileNumbers.set(fileKey, fileNumber);
93
+ files.push({ messageId: parentMessageId, fileKey, fileName: fileName || `file-${fileNumber}` });
94
+ }
95
+ return `[文件 ${fileNumber}:${files[fileNumber - 1].fileName}]`;
93
96
  })}`;
94
97
  });
95
98
  const prompt = [
@@ -1 +1 @@
1
- {"version":3,"file":"MergedForwardMessage.js","sourceRoot":"","sources":["../../src/feishu/MergedForwardMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MergedForwardMessage.js","sourceRoot":"","sources":["../../src/feishu/MergedForwardMessage.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ const MESSAGE_RECEIVED_REACTION = "OnIt";
42
42
  const MESSAGE_COMPLETED_REACTION = "DONE";
43
43
  const MESSAGE_FAILED_REACTION = "ERROR";
44
44
  const MESSAGE_CANCELLED_REACTION = "CrossMark";
45
+ const INBOUND_MESSAGE_DELAY_WARNING_MS = 60_000;
45
46
  const SESSION_PAGE_SIZE = 10;
46
47
  const SESSION_PROMPT_PREVIEW_LENGTH = 50;
47
48
  const DIRECTORY_PAGE_SIZE = 15;
@@ -55,7 +56,7 @@ const RECOVERY_HEARTBEAT_INTERVAL_MS = 60 * 1_000;
55
56
  const SHELL_COMMAND_JOB_POLL_INTERVAL_MS = 1_000;
56
57
  const SHELL_COMMAND_JOB_RELAUNCH_DELAY_MS = 5_000;
57
58
  const APP_SERVER_RELEASE_POLL_INTERVAL_MS = 500;
58
- const FORWARD_ATTACHMENT_WINDOW_MS = 1_500;
59
+ const REFERENCE_INSTRUCTION_WINDOW_MS = 1_500;
59
60
  const DEFAULT_MERGED_FORWARD_INSTRUCTION = "请参考以下内容回复用户";
60
61
  const DEFAULT_REFERENCED_MESSAGE_INSTRUCTION = "请参考引用消息回复用户";
61
62
  const TURN_STOP_REQUESTED_MESSAGE = "已发送停止信号,任务会自动停止。";
@@ -224,6 +225,7 @@ export class ProxySessionController {
224
225
  windowsDriveLister;
225
226
  shellCommandJobs;
226
227
  threadWriterProcesses;
228
+ referenceInstructionWindowMs;
227
229
  router = new CommandRouter();
228
230
  cardRenderer = new CardRenderer();
229
231
  messageQueues = new Map();
@@ -254,8 +256,7 @@ export class ProxySessionController {
254
256
  recoveryRetryStartedAt = new Map();
255
257
  recoveredLiveAttempts = new Set();
256
258
  recoveryClosed = false;
257
- pendingMergedForwards = new Map();
258
- pendingResourceForwards = new Map();
259
+ pendingMessageReferences = new Map();
259
260
  relatedReactionMessageIds = new Map();
260
261
  shellCommandJobMonitors = new Map();
261
262
  appServerReleaseSchedules = new Map();
@@ -264,7 +265,7 @@ export class ProxySessionController {
264
265
  recoveryActivityHeartbeat;
265
266
  startupRecovery;
266
267
  queuedPromptsRestored = false;
267
- constructor(config, store, runtimes, outbound, logger, lifecycle, shellCommandExecutor = executeShellCommand, windowsDriveLister = listWindowsDriveRoots, shellCommandJobs = new ShellCommandJobManager(path.join(path.dirname(config.storage.sqlitePath), "command-jobs")), threadWriterProcesses = new SystemThreadWriterProcessController()) {
268
+ constructor(config, store, runtimes, outbound, logger, lifecycle, shellCommandExecutor = executeShellCommand, windowsDriveLister = listWindowsDriveRoots, shellCommandJobs = new ShellCommandJobManager(path.join(path.dirname(config.storage.sqlitePath), "command-jobs")), threadWriterProcesses = new SystemThreadWriterProcessController(), referenceInstructionWindowMs = REFERENCE_INSTRUCTION_WINDOW_MS) {
268
269
  this.config = config;
269
270
  this.store = store;
270
271
  this.runtimes = runtimes;
@@ -275,6 +276,7 @@ export class ProxySessionController {
275
276
  this.windowsDriveLister = windowsDriveLister;
276
277
  this.shellCommandJobs = shellCommandJobs;
277
278
  this.threadWriterProcesses = threadWriterProcesses;
279
+ this.referenceInstructionWindowMs = referenceInstructionWindowMs;
278
280
  for (const [, runtime] of this.runtimes.entries()) {
279
281
  this.unsubscribe.push(runtime.onEvent((event) => {
280
282
  void this.handleRuntimeEvent(event).catch((error) => {
@@ -307,14 +309,26 @@ export class ProxySessionController {
307
309
  // retries cannot add duplicate reactions.
308
310
  if (!this.store.claimInboundEvent(message.messageId, "message"))
309
311
  return;
310
- const attachmentReservation = message.mergedForwardMessageId
311
- ? undefined
312
- : this.reserveForwardAttachment(message);
313
- const pendingMergedForward = message.mergedForwardMessageId
314
- ? this.registerPendingForwardAttachment(message, this.pendingMergedForwards)
315
- : undefined;
316
- const pendingResourceForward = !attachmentReservation && isForwardAttachmentSource(message)
317
- ? this.registerPendingForwardAttachment(message, this.pendingResourceForwards)
312
+ const acceptedAt = Date.now();
313
+ const receivedAt = message.receivedAt ?? acceptedAt;
314
+ const deliveryDelayMs = message.createdAt === undefined
315
+ ? 0 : Math.max(0, receivedAt - message.createdAt);
316
+ const dispatchDelayMs = Math.max(0, acceptedAt - receivedAt);
317
+ if (deliveryDelayMs + dispatchDelayMs >= INBOUND_MESSAGE_DELAY_WARNING_MS) {
318
+ this.logger.warn({
319
+ messageId: message.messageId,
320
+ eventId: message.eventId,
321
+ contextKey: message.contextKey,
322
+ messageCreatedAt: message.createdAt,
323
+ receivedAt,
324
+ acceptedAt,
325
+ deliveryDelayMs,
326
+ dispatchDelayMs,
327
+ }, "Accepted a delayed Feishu message.");
328
+ }
329
+ const attachmentReservation = this.reserveReferenceInstruction(message);
330
+ const pendingReference = !attachmentReservation && isReferenceSource(message)
331
+ ? this.registerPendingReference(message)
318
332
  : undefined;
319
333
  try {
320
334
  const reactionId = await this.outbound.addReaction(message.contextKey, message.messageId, MESSAGE_RECEIVED_REACTION);
@@ -326,8 +340,10 @@ export class ProxySessionController {
326
340
  this.logger.warn({ error, messageId: message.messageId, contextKey: message.contextKey }, "Failed to acknowledge the incoming Feishu message with a reaction.");
327
341
  }
328
342
  await this.waitForCurrentSessionReset(message.contextKey);
329
- if (attachmentReservation && this.completeForwardAttachment(message, attachmentReservation)) {
330
- this.store.audit(message.contextKey, `${attachmentReservation.sourceKind}_attachment_coalesced`, {
343
+ if (this.recoveryClosed)
344
+ return;
345
+ if (attachmentReservation && this.completeReferenceInstruction(message, attachmentReservation)) {
346
+ this.store.audit(message.contextKey, "referenced_message_coalesced", {
331
347
  messageId: message.messageId,
332
348
  parentMessageId: message.parentMessageId,
333
349
  });
@@ -346,20 +362,22 @@ export class ProxySessionController {
346
362
  this.store.recordChatContext(chatContextKey, message.chatType);
347
363
  this.store.markChatActive(chatContextKey);
348
364
  }
349
- if (pendingResourceForward) {
350
- const resourceMessage = message;
351
- const attachment = await this.waitForForwardAttachment(message.messageId, pendingResourceForward, this.pendingResourceForwards);
365
+ if (pendingReference && !message.mergedForwardMessageId) {
366
+ const sourceMessage = message;
367
+ const attachment = await this.waitForReferenceInstruction(message.messageId, pendingReference);
368
+ if (this.recoveryClosed)
369
+ return;
352
370
  if (attachment) {
353
371
  coalescedForwardAttachment = true;
354
- const sourceText = resourceMessage.text.trim();
355
- const instruction = normalizeFeishuPostText(attachment.text)
356
- || (sourceText ? DEFAULT_REFERENCED_MESSAGE_INSTRUCTION : defaultResourcePrompt(resourceMessage));
357
- forwardedImages = (resourceMessage.images ?? []).map((image) => ({
358
- messageId: resourceMessage.messageId,
372
+ const sourceText = sourceMessage.text.trim();
373
+ const instruction = normalizeFeishuPostText(attachment.displayText ?? attachment.text)
374
+ || (sourceText ? DEFAULT_REFERENCED_MESSAGE_INSTRUCTION : defaultResourcePrompt(sourceMessage));
375
+ forwardedImages = (sourceMessage.images ?? []).map((image) => ({
376
+ messageId: sourceMessage.messageId,
359
377
  imageKey: image.imageKey,
360
378
  }));
361
- forwardedFiles = (resourceMessage.files ?? []).map((file) => ({
362
- messageId: resourceMessage.messageId,
379
+ forwardedFiles = (sourceMessage.files ?? []).map((file) => ({
380
+ messageId: sourceMessage.messageId,
363
381
  fileKey: file.fileKey,
364
382
  fileName: file.fileName,
365
383
  }));
@@ -368,18 +386,18 @@ export class ProxySessionController {
368
386
  text: sourceText ? referencedMessagePrompt(instruction, sourceText) : instruction,
369
387
  displayText: instruction,
370
388
  };
371
- this.relatedReactionMessageIds.set(message.messageId, [resourceMessage.messageId]);
389
+ this.relatedReactionMessageIds.set(message.messageId, [sourceMessage.messageId]);
372
390
  }
373
391
  }
374
392
  if (message.mergedForwardMessageId) {
375
393
  const mergedForwardMessage = message;
376
394
  const mergedForwardResult = this.outbound.readMergedForward(message.contextKey, message.mergedForwardMessageId).then((content) => ({ content }), (error) => ({ error }));
377
- const attachment = pendingMergedForward
378
- ? await this.waitForForwardAttachment(message.messageId, pendingMergedForward, this.pendingMergedForwards)
395
+ const attachment = pendingReference
396
+ ? await this.waitForReferenceInstruction(message.messageId, pendingReference)
379
397
  : undefined;
380
398
  if (attachment) {
381
399
  coalescedForwardAttachment = true;
382
- const instruction = normalizeFeishuPostText(attachment.text)
400
+ const instruction = normalizeFeishuPostText(attachment.displayText ?? attachment.text)
383
401
  || ((attachment.images?.length ?? 0) > 0 ? "请查看附带的内容。" : "请结合参考聊天记录处理。");
384
402
  message = {
385
403
  ...attachment,
@@ -389,6 +407,8 @@ export class ProxySessionController {
389
407
  this.relatedReactionMessageIds.set(message.messageId, [mergedForwardMessage.messageId]);
390
408
  }
391
409
  const result = await mergedForwardResult;
410
+ if (this.recoveryClosed)
411
+ return;
392
412
  if ("error" in result) {
393
413
  const replyTarget = message.replyInThread
394
414
  ? { messageId: message.messageId, replyInThread: true }
@@ -458,6 +478,9 @@ export class ProxySessionController {
458
478
  const fileCount = fileReferences.length;
459
479
  this.store.audit(message.contextKey, "incoming_message", {
460
480
  messageId: message.messageId,
481
+ eventId: message.eventId,
482
+ messageCreatedAt: message.createdAt,
483
+ receivedAt: message.receivedAt,
461
484
  text: message.text,
462
485
  ...(imageCount > 0 ? { imageCount } : {}),
463
486
  ...(fileCount > 0 ? { fileCount } : {}),
@@ -996,12 +1019,9 @@ export class ProxySessionController {
996
1019
  this.remoteTurnHistoryRefreshes.clear();
997
1020
  this.forkHistoryCursors.clear();
998
1021
  this.turnHistoryHydrations.clear();
999
- for (const pending of this.pendingMergedForwards.values())
1000
- pending.resolveAttachment(undefined);
1001
- this.pendingMergedForwards.clear();
1002
- for (const pending of this.pendingResourceForwards.values())
1022
+ for (const pending of this.pendingMessageReferences.values())
1003
1023
  pending.resolveAttachment(undefined);
1004
- this.pendingResourceForwards.clear();
1024
+ this.pendingMessageReferences.clear();
1005
1025
  this.relatedReactionMessageIds.clear();
1006
1026
  for (const timer of this.queuedPromptRetryTimers.values())
1007
1027
  clearTimeout(timer);
@@ -4143,7 +4163,7 @@ export class ProxySessionController {
4143
4163
  await this.finalizeTurnMessageReactions(turnId, session.lastTurnStatus);
4144
4164
  }
4145
4165
  }
4146
- registerPendingForwardAttachment(message, registry) {
4166
+ registerPendingReference(message) {
4147
4167
  let resolveAttachment;
4148
4168
  const attachmentPromise = new Promise((resolve) => {
4149
4169
  resolveAttachment = resolve;
@@ -4154,60 +4174,53 @@ export class ProxySessionController {
4154
4174
  attachmentPromise,
4155
4175
  resolveAttachment,
4156
4176
  };
4157
- registry.set(message.messageId, pending);
4177
+ this.pendingMessageReferences.set(message.messageId, pending);
4158
4178
  return pending;
4159
4179
  }
4160
- reserveForwardAttachment(message) {
4161
- if (!message.parentMessageId || isCommandMessage(message))
4180
+ reserveReferenceInstruction(message) {
4181
+ const parentMessageId = quotedMessageId(message);
4182
+ if (!parentMessageId || isCommandMessage(message))
4162
4183
  return undefined;
4163
- const candidates = [
4164
- { sourceKind: "merged_forward", registry: this.pendingMergedForwards },
4165
- { sourceKind: "resource", registry: this.pendingResourceForwards },
4166
- ];
4167
- for (const candidate of candidates) {
4168
- const pending = candidate.registry.get(message.parentMessageId);
4169
- if (!pending || pending.contextKey !== message.contextKey
4170
- || pending.userId !== message.userId || pending.attachmentMessageId)
4171
- continue;
4172
- pending.attachmentMessageId = message.messageId;
4173
- return {
4174
- sourceMessageId: message.parentMessageId,
4175
- sourceKind: candidate.sourceKind,
4176
- pending,
4177
- registry: candidate.registry,
4178
- };
4179
- }
4180
- return undefined;
4184
+ const pending = this.pendingMessageReferences.get(parentMessageId);
4185
+ if (!pending || pending.contextKey !== message.contextKey
4186
+ || pending.userId !== message.userId || pending.attachmentMessageId)
4187
+ return undefined;
4188
+ pending.attachmentMessageId = message.messageId;
4189
+ return { sourceMessageId: parentMessageId, pending };
4181
4190
  }
4182
- completeForwardAttachment(message, reservation) {
4183
- if (!message.parentMessageId)
4191
+ completeReferenceInstruction(message, reservation) {
4192
+ const parentMessageId = quotedMessageId(message);
4193
+ if (!parentMessageId || reservation.sourceMessageId !== parentMessageId)
4184
4194
  return false;
4185
- if (reservation.sourceMessageId !== message.parentMessageId)
4186
- return false;
4187
- if (reservation.registry.get(message.parentMessageId) !== reservation.pending)
4195
+ if (this.pendingMessageReferences.get(parentMessageId) !== reservation.pending)
4188
4196
  return false;
4189
4197
  if (reservation.pending.attachmentMessageId !== message.messageId)
4190
4198
  return false;
4191
4199
  reservation.pending.resolveAttachment(message);
4192
4200
  return true;
4193
4201
  }
4194
- async waitForForwardAttachment(messageId, pending, registry) {
4195
- const timer = setTimeout(() => {
4202
+ async waitForReferenceInstruction(messageId, pending) {
4203
+ const expire = () => {
4196
4204
  // Arrival reserves the pair before acknowledgement. A slow Reaction must not split it.
4197
4205
  if (pending.attachmentMessageId)
4198
4206
  return;
4199
- if (registry.get(messageId) === pending)
4200
- registry.delete(messageId);
4207
+ if (this.pendingMessageReferences.get(messageId) === pending)
4208
+ this.pendingMessageReferences.delete(messageId);
4201
4209
  pending.resolveAttachment(undefined);
4202
- }, FORWARD_ATTACHMENT_WINDOW_MS);
4203
- timer.unref?.();
4210
+ };
4211
+ const timer = this.referenceInstructionWindowMs > 0 ? setTimeout(expire, this.referenceInstructionWindowMs) : undefined;
4212
+ if (timer)
4213
+ timer.unref?.();
4214
+ else
4215
+ expire();
4204
4216
  try {
4205
4217
  return await pending.attachmentPromise;
4206
4218
  }
4207
4219
  finally {
4208
- clearTimeout(timer);
4209
- if (registry.get(messageId) === pending) {
4210
- registry.delete(messageId);
4220
+ if (timer)
4221
+ clearTimeout(timer);
4222
+ if (this.pendingMessageReferences.get(messageId) === pending) {
4223
+ this.pendingMessageReferences.delete(messageId);
4211
4224
  }
4212
4225
  }
4213
4226
  }
@@ -8212,13 +8225,10 @@ function isCommandMessage(message) {
8212
8225
  const text = normalizeFeishuPostText(message.text).trimStart();
8213
8226
  return text.startsWith("/") || text.startsWith("!");
8214
8227
  }
8215
- function isForwardAttachmentSource(message) {
8216
- return !message.mergedForwardMessageId
8217
- && !message.parentMessageId
8228
+ function isReferenceSource(message) {
8229
+ return !quotedMessageId(message)
8218
8230
  && !message.contextKey.startsWith("console:")
8219
- && !isCommandMessage(message)
8220
- && (message.messageType === "post"
8221
- || (message.images?.length ?? 0) > 0 || (message.files?.length ?? 0) > 0);
8231
+ && !isCommandMessage(message);
8222
8232
  }
8223
8233
  function deduplicateImageReferences(images) {
8224
8234
  const seen = new Set();