@migor/agentia 0.10.2 → 0.10.4

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 (144) hide show
  1. package/CHANGELOG.md +969 -64
  2. package/LICENSE +1 -1
  3. package/README.en.md +93 -38
  4. package/README.md +105 -218
  5. package/dist/AGENTS.md +234 -41
  6. package/dist/core/limits.d.ts +33 -1
  7. package/dist/core/limits.js +37 -1
  8. package/dist/core/limits.js.map +1 -1
  9. package/dist/core/run.d.ts +2 -2
  10. package/dist/core/timeout.d.ts +5 -5
  11. package/dist/core/timeout.js +5 -5
  12. package/dist/core/tool.d.ts +2 -2
  13. package/dist/core/trace-sink.d.ts +8 -0
  14. package/dist/core/trace-sink.js +24 -0
  15. package/dist/core/trace-sink.js.map +1 -0
  16. package/dist/core/trace.d.ts +12 -2
  17. package/dist/core/trace.js +10 -1
  18. package/dist/core/trace.js.map +1 -1
  19. package/dist/engine/concurrency.d.ts +1 -1
  20. package/dist/engine/concurrency.js +1 -1
  21. package/dist/engine/errors.d.ts +2 -2
  22. package/dist/engine/errors.js +2 -2
  23. package/dist/engine/loop-result.d.ts +3 -3
  24. package/dist/engine/loop.js +99 -56
  25. package/dist/engine/loop.js.map +1 -1
  26. package/dist/engine/mcp-server-http.js +1 -1
  27. package/dist/engine/mcp-server-http.js.map +1 -1
  28. package/dist/engine/mcp-server-stdio.js +7 -3
  29. package/dist/engine/mcp-server-stdio.js.map +1 -1
  30. package/dist/engine/mcp-server.d.ts +17 -2
  31. package/dist/engine/mcp-server.js +42 -17
  32. package/dist/engine/mcp-server.js.map +1 -1
  33. package/dist/engine/resume-input.d.ts +1 -1
  34. package/dist/engine/resume-input.js +1 -1
  35. package/dist/engine/retry.d.ts +15 -0
  36. package/dist/engine/retry.js +51 -2
  37. package/dist/engine/retry.js.map +1 -1
  38. package/dist/engine/span-scope.d.ts +15 -0
  39. package/dist/engine/span-scope.js +8 -1
  40. package/dist/engine/span-scope.js.map +1 -1
  41. package/dist/engine/spec.d.ts +5 -1
  42. package/dist/engine/spec.js.map +1 -1
  43. package/dist/engine/tracer.d.ts +8 -4
  44. package/dist/engine/tracer.js +24 -17
  45. package/dist/engine/tracer.js.map +1 -1
  46. package/dist/engine/turn.d.ts +2 -2
  47. package/dist/engine/turn.js +19 -4
  48. package/dist/engine/turn.js.map +1 -1
  49. package/dist/engine/types.d.ts +13 -5
  50. package/dist/engine/types.js +1 -0
  51. package/dist/engine/types.js.map +1 -1
  52. package/dist/eval/export.js +2 -2
  53. package/dist/eval/export.js.map +1 -1
  54. package/dist/eval/harvest.d.ts +4 -1
  55. package/dist/eval/harvest.js +32 -6
  56. package/dist/eval/harvest.js.map +1 -1
  57. package/dist/index.d.ts +3 -1
  58. package/dist/index.js +5 -2
  59. package/dist/index.js.map +1 -1
  60. package/dist/integrations/anthropic.d.ts +1 -1
  61. package/dist/integrations/anthropic.js +1 -1
  62. package/dist/integrations/anthropic.js.map +1 -1
  63. package/dist/integrations/file-sink.d.ts +0 -16
  64. package/dist/integrations/file-sink.js +24 -6
  65. package/dist/integrations/file-sink.js.map +1 -1
  66. package/dist/integrations/mcp-http.js +4 -3
  67. package/dist/integrations/mcp-http.js.map +1 -1
  68. package/dist/integrations/mcp-protocol.d.ts +35 -10
  69. package/dist/integrations/mcp-protocol.js +19 -1
  70. package/dist/integrations/mcp-protocol.js.map +1 -1
  71. package/dist/integrations/mcp-stdio.js +91 -50
  72. package/dist/integrations/mcp-stdio.js.map +1 -1
  73. package/dist/integrations/mcp.d.ts +1 -1
  74. package/dist/integrations/mcp.js +19 -3
  75. package/dist/integrations/mcp.js.map +1 -1
  76. package/dist/integrations/metrics-otlp.d.ts +1 -1
  77. package/dist/integrations/metrics-otlp.js +8 -2
  78. package/dist/integrations/metrics-otlp.js.map +1 -1
  79. package/dist/integrations/metrics-render.js +17 -6
  80. package/dist/integrations/metrics-render.js.map +1 -1
  81. package/dist/integrations/metrics-state.d.ts +2 -2
  82. package/dist/integrations/metrics-state.js +4 -4
  83. package/dist/integrations/metrics-state.js.map +1 -1
  84. package/dist/integrations/metrics.d.ts +2 -2
  85. package/dist/integrations/otlp.d.ts +29 -6
  86. package/dist/integrations/otlp.js +128 -7
  87. package/dist/integrations/otlp.js.map +1 -1
  88. package/dist/integrations/report.d.ts +14 -2
  89. package/dist/integrations/report.js +39 -6
  90. package/dist/integrations/report.js.map +1 -1
  91. package/dist/runtime/run.d.ts +1 -1
  92. package/dist/runtime/run.js +19 -17
  93. package/dist/runtime/run.js.map +1 -1
  94. package/dist/store/fsStore.js +9 -5
  95. package/dist/store/fsStore.js.map +1 -1
  96. package/dist/store/record.d.ts +2 -2
  97. package/dist/store/record.js +1 -1
  98. package/dist/store/sqliteStore.d.ts +2 -2
  99. package/dist/store/sqliteStore.js +3 -3
  100. package/dist/store/sqliteStore.js.map +1 -1
  101. package/dist/store/store.d.ts +27 -7
  102. package/dist/store/store.js +43 -5
  103. package/dist/store/store.js.map +1 -1
  104. package/dist/toolkit/collect.d.ts +11 -5
  105. package/dist/toolkit/collect.js +10 -4
  106. package/dist/toolkit/collect.js.map +1 -1
  107. package/dist/toolkit/discover.js +27 -1
  108. package/dist/toolkit/discover.js.map +1 -1
  109. package/dist/toolkit/module.js +183 -50
  110. package/dist/toolkit/module.js.map +1 -1
  111. package/dist/toolkit/prompt.d.ts +1 -1
  112. package/dist/toolkit/prompt.js +2 -2
  113. package/dist/toolkit/prompt.js.map +1 -1
  114. package/dist/toolkit/subagent.d.ts +1 -1
  115. package/dist/toolkit/subagent.js +17 -3
  116. package/dist/toolkit/subagent.js.map +1 -1
  117. package/dist/transport/approval-policy.js +1 -1
  118. package/dist/transport/approval-policy.js.map +1 -1
  119. package/dist/transport/approval-supervisor.d.ts +8 -0
  120. package/dist/transport/approval-supervisor.js +23 -3
  121. package/dist/transport/approval-supervisor.js.map +1 -1
  122. package/dist/transport/async.d.ts +3 -0
  123. package/dist/transport/async.js +128 -25
  124. package/dist/transport/async.js.map +1 -1
  125. package/dist/transport/http-endpoints.js +1 -1
  126. package/dist/transport/http-route.js +2 -2
  127. package/dist/transport/http-route.js.map +1 -1
  128. package/dist/transport/http-shapes.d.ts +1 -1
  129. package/dist/transport/http-shapes.js +1 -1
  130. package/dist/transport/resume-scanner.d.ts +7 -0
  131. package/dist/transport/resume-scanner.js +40 -9
  132. package/dist/transport/resume-scanner.js.map +1 -1
  133. package/dist/transport/run-call-options.js +7 -3
  134. package/dist/transport/run-call-options.js.map +1 -1
  135. package/dist/transport/scheduler.js +5 -0
  136. package/dist/transport/scheduler.js.map +1 -1
  137. package/dist/transport/serve.d.ts +92 -0
  138. package/dist/transport/serve.js +155 -0
  139. package/dist/transport/serve.js.map +1 -0
  140. package/dist/transport/signal-supervisor.d.ts +10 -2
  141. package/dist/transport/signal-supervisor.js +15 -2
  142. package/dist/transport/signal-supervisor.js.map +1 -1
  143. package/dist/transport/wake-policy.d.ts +1 -1
  144. package/package.json +23 -10
@@ -3,7 +3,7 @@ import { hostname } from 'node:os';
3
3
  import { classifyError } from '../engine/errors.js';
4
4
  import { isTerminalStatus } from '../core/run.js';
5
5
  import { normalizeMessages, TaskInputError } from '../engine/spec.js';
6
- import { InMemoryTaskStore, isThenable, nextTaskId } from '../store/store.js';
6
+ import { InMemoryTaskStore, cloneTaskRecord, isThenable, nextTaskId } from '../store/store.js';
7
7
  import { combineSignals, releaseCombinedSignal } from '../core/abort.js';
8
8
  import { abortedError } from '../engine/turn.js';
9
9
  import { assertTimerDelay, TimeoutError } from '../core/timeout.js';
@@ -277,6 +277,7 @@ export class AsyncRunner {
277
277
  ownerId: this.ownerId,
278
278
  approvalTimeoutMs: this.approvalTimeoutMs,
279
279
  dispatch: (rec) => this.#dispatch(rec),
280
+ cancelInflight: (taskId) => this.#cancelInflight.get(taskId),
280
281
  });
281
282
  // 事件投递与恢复扫描同样在 ownerId 就位后构造。两处**回调注入**的理由与 `#approvals` 一致:
282
283
  // `#dispatch`(停机闸 + 唯一派发点 + 一次性告警)与 drain 读数都归本类,两个监督件只**消费**它们
@@ -286,6 +287,7 @@ export class AsyncRunner {
286
287
  ownerId: this.ownerId,
287
288
  approvals: this.#approvals,
288
289
  dispatch: (rec) => this.#dispatch(rec),
290
+ cancelInflight: (taskId) => this.#cancelInflight.get(taskId),
289
291
  });
290
292
  this.#scanner = new ResumeScanner({
291
293
  store: this.store,
@@ -294,6 +296,7 @@ export class AsyncRunner {
294
296
  approvals: this.#approvals,
295
297
  dispatch: (rec) => this.#dispatch(rec),
296
298
  isDraining: () => this.#drain.isDraining,
299
+ cancelInflight: (taskId) => this.#cancelInflight.get(taskId),
297
300
  });
298
301
  }
299
302
  /**
@@ -320,7 +323,7 @@ export class AsyncRunner {
320
323
  // 「同时提交两个同键任务」会两次都执行(见 #claims 的注释)。
321
324
  const inFlight = this.#claims.get(opts.idempotencyKey);
322
325
  if (inFlight)
323
- return { ...inFlight };
326
+ return cloneTaskRecord(inFlight);
324
327
  const existing = this.store.byIdempotency(opts.idempotencyKey);
325
328
  if (isThenable(existing)) {
326
329
  // 异步 store 返回 Promise —— 同步门面无法 await,去重交给 #execute。
@@ -382,8 +385,9 @@ export class AsyncRunner {
382
385
  // 仍然走它:**「派发一律走唯一入口」这条纪律不该有例外** —— 少一个例外,就少一处将来
383
386
  // 新增恢复路径时会漏的枚举。
384
387
  this.#dispatch(rec);
385
- // 返回浅拷贝:记录会被后台状态机原地推进,调用方拿到的是提交时刻的快照
386
- return { ...rec };
388
+ // 返回深拷贝(2026-10-13 ref-reject-static-methods 收口):记录会被后台状态机原地推进,浅拷贝只隔顶层 ——
389
+ // `spec.messages` 等嵌套对象此前与 runner 的活记录共享(HITL 挂起会换 spec.messages)。
390
+ return cloneTaskRecord(rec);
387
391
  }
388
392
  /** 查任务当前记录(异步 store 下返回 Promise,调用方 await) */
389
393
  poll(taskId) {
@@ -458,6 +462,17 @@ export class AsyncRunner {
458
462
  list() {
459
463
  return this.store.list();
460
464
  }
465
+ /**
466
+ * cancel 的 per-task 在飞闸(2026-10-13 ref-run-root-close)—— cancel 与四条推进路径(approve /
467
+ * 事件投递 / 到期唤醒 / 审批超时恢复)之间的**互斥**靠它合上:
468
+ * - cancel 进入前:先等该任务的在飞推进收口、**重读**记录再判(凭进闸前的旧快照落
469
+ * cancelled,会被对方随后的 running 落库覆盖回去 —— 任务取消后照常执行);
470
+ * - 推进路径进入前:同步看一眼本闸(approve / signalTask 等它收口后重试;
471
+ * 到期唤醒 / 审批超时是**惰性**路径,跳过本轮、下一轮再判)。
472
+ * 两侧的「检查对方闸 + 登记自己闸」都在**同一个同步段**里 ⇒ 先登记者赢,没有缝隙。
473
+ * 同步 store 的 cancel 临界段(get → 落库)本身原子,不走本闸。
474
+ */
475
+ #cancelInflight = new Map();
461
476
  /**
462
477
  * 取消一个任务(durable 配套 5 的另一半;设计稿 `docs/plans/2026-09-28-cancel-api.md`)。
463
478
  *
@@ -487,13 +502,49 @@ export class AsyncRunner {
487
502
  * 它**不是**「不在本进程」—— 原文案一律那么说,对这一类是说反话。两种情形分开措辞
488
503
  * (见 `#cancel` 的判据),但**闸不放开**:放开会让等槽位那趟 `#execute` 的 finally
489
504
  * 双发 `onFinished`(spec §10 的变异 M23)。
505
+ *
506
+ * 与推进路径的互斥(2026-10-13 ref-run-root-close):见 `#cancelInflight` 的注释。并发 cancel 同任务
507
+ * 串行:第二个等第一个收尾后重读再判(多半撞上「已终态 ⇒ 409」)。
490
508
  */
491
509
  cancel(taskId) {
510
+ // 并发 cancel 串行(2026-10-13 ref-run-root-close):两个并发 cancel 各自读-改-写会双记账(webhook 双发)
511
+ const own = this.#cancelInflight.get(taskId);
512
+ if (own)
513
+ return own.then(() => this.cancel(taskId), () => this.cancel(taskId));
514
+ const advance = this.#advanceInflight(taskId);
492
515
  const found = this.store.get(taskId);
493
- if (isThenable(found))
494
- return found.then((rec) => this.#cancel(rec, taskId));
516
+ if (advance !== undefined || isThenable(found)) {
517
+ // 异步路径:先入闸(后续推进路径会看到它并等待/跳过),等在飞推进收口后**重读**再判
518
+ const run = (async () => {
519
+ if (advance !== undefined)
520
+ await advance.catch(() => undefined);
521
+ // 意图先立(等闸窗口里就要可见):等槽位那趟 #executeInner 可能正好放行 ——
522
+ // 意图在场它才不会起跑(见 #executeInner 的取消意图闸)
523
+ this.#cancels.add(taskId);
524
+ try {
525
+ const rec = advance !== undefined ? await this.store.get(taskId) : await found;
526
+ return await this.#cancel(rec, taskId);
527
+ }
528
+ catch (e) {
529
+ this.#cancels.delete(taskId); // 没走到收尾(404/409)⇒ 意图撤回
530
+ throw e;
531
+ }
532
+ })();
533
+ const tracked = run.finally(() => {
534
+ this.#cancelInflight.delete(taskId);
535
+ });
536
+ this.#cancelInflight.set(taskId, tracked);
537
+ return tracked;
538
+ }
539
+ // 同步快路径:同步 store 且无任何推进在飞 ⇒ 临界段(get → 落库)原子,无需入闸
495
540
  return this.#cancel(found, taskId);
496
541
  }
542
+ /** 三条推进路径(审批 / 事件投递 / 到期唤醒)在该任务上的在飞 Promise(无则 undefined) */
543
+ #advanceInflight(taskId) {
544
+ return (this.#approvals.inflightFor(taskId) ??
545
+ this.#signals.inflightFor(taskId) ??
546
+ this.#scanner.inflightWakeFor(taskId));
547
+ }
497
548
  #cancel(rec, taskId) {
498
549
  if (!rec)
499
550
  throw new TaskCancelError(404, `task 不存在: ${taskId}`);
@@ -514,7 +565,7 @@ export class AsyncRunner {
514
565
  ? `task ${taskId} 已在本进程受理,但尚未起跑(正在等并发槽位 / 走恢复前置)—— ` +
515
566
  `此刻取消无法与那条在等槽位的执行路径安全收口(会重复记账),暂不支持;` +
516
567
  `请待它起跑后再取消,或先降低并发压力`
517
- : `task ${taskId} 正在运行但不在本进程,本进程无法中断它(多进程部署见 spec §10 2026-09-28 ④)`);
568
+ : `task ${taskId} 正在运行但不在本进程,本进程无法中断它(多进程部署见 spec §10 2026-09-28 ref-cancel-api)`);
518
569
  }
519
570
  // 意图先记下:在飞那条路要靠它把 aborted 的收尾落成 cancelled(否则落成 failed)
520
571
  this.#cancels.add(taskId);
@@ -524,8 +575,10 @@ export class AsyncRunner {
524
575
  }
525
576
  // queued / suspended:没有在飞 run(或它还没起跑),直接落终态 —— 记账由本方法做完,
526
577
  // 等槽位那趟 #execute 的 finally 靠 `#cancelSettled` 跳过它那一份(否则 onFinished 两次)。
527
- // ⚠️ `#cancelSettled` 只为 **queued** 而存(它有活着的、在等槽位的 #execute 来消费);
528
- // suspended 的那趟 #execute 早在挂起时就走完了,条目加进去永远没人摘(泄漏)。
578
+ // ⚠️ cancel 自己只为 **queued** 登记(它有活着的、在等槽位的 #execute 来消费);
579
+ // suspended 的那趟 #execute 早在挂起时就走完了,cancel 直接登记会永远没人摘(泄漏)。
580
+ // 第二个生产者是 `#executeInner` 的取消意图闸(2026-10-13 ref-run-root-close):被并发恢复路径派发出
581
+ // 来的那趟自己登记、自己的 finally 消费 —— 覆盖面带消费者一起补,仍不泄漏。
529
582
  // 既知边界(多进程):他进程取消本进程**排队中**的任务时,本进程的 execute finally
530
583
  // 在自己的 `#cancelSettled` 里查不到 ⇒ onFinished 会双发(cancel 进程一次 + owner 一次)。
531
584
  const wasQueued = rec.status === 'queued';
@@ -539,11 +592,26 @@ export class AsyncRunner {
539
592
  rec.suspendedReason = undefined;
540
593
  rec.wakeAt = undefined;
541
594
  this.#approvals.unmarkSuspended(taskId);
542
- const saved = this.#safeSave(rec, 'outcome');
543
- this.#cancels.delete(taskId);
595
+ // ⚠️ 落库**当场发生**(2026-10-13 ref-run-root-close):不走 `#safeSave` 的微任务延迟 —— cancel 的临界段
596
+ // 必须原子。落库推迟一个微任务,「重读再判」那几条路(readClaimed / 恢复路径的进闸重读)
597
+ // 就会在这个缝里读到取消前的旧状态、照常起跑/派发(「绝不起跑」承诺就是这样被破的)。
598
+ // 失败口径与 #safeSave 相同:不遮罩(记账继续),但必须可观测(onPersistError)。
599
+ let saved;
600
+ try {
601
+ saved = this.store.save(rec);
602
+ }
603
+ catch (error) {
604
+ this.#reportPersistError(rec, error, 'outcome');
605
+ saved = undefined;
606
+ }
544
607
  if (wasQueued)
545
608
  this.#cancelSettled.add(taskId);
546
609
  const finish = () => {
610
+ // 取消意图的终点(2026-10-13 ref-run-root-close):还有活着的 #execute 时留给它消费 —— 它靠这个意图
611
+ // 判「绝不起跑」(等槽位那趟的 readClaimed 可能读到的是落库前的旧快照);
612
+ // 没有活着的(suspended 取消 / 它已先走完全程)由这里摘掉,不得滞留。
613
+ if (!this.#executions.has(taskId))
614
+ this.#cancels.delete(taskId);
547
615
  this.#taskWaiters.notify(taskId);
548
616
  this.#streams.markDone(taskId);
549
617
  this.sessionInputs.delete(taskId);
@@ -551,10 +619,13 @@ export class AsyncRunner {
551
619
  if (key !== undefined && this.#claims.get(key)?.taskId === taskId)
552
620
  this.#claims.delete(key);
553
621
  this.#notifyDrained();
622
+ // 深拷贝在此**不需要**(与 submit 的 cloneTaskRecord 不同档):rec 是 cancel 自己的
623
+ // 入站快照(store 契约保证不是库内活引用),且任务已终态 —— 之后没有任何路径再推进它
554
624
  return { ...rec };
555
625
  };
556
626
  return isThenable(saved)
557
627
  ? Promise.resolve(saved)
628
+ .catch((error) => this.#reportPersistError(rec, error, 'outcome'))
558
629
  .then(() => this.#notifySinks(rec))
559
630
  .then(finish)
560
631
  : this.#notifySinks(rec).then(finish);
@@ -669,9 +740,13 @@ export class AsyncRunner {
669
740
  return rec;
670
741
  }
671
742
  /**
672
- * 取消的**意图**(2026-09-28 ④)。落库状态按意图判、不从 signal 反推 ——
743
+ * 取消的**意图**(2026-09-28 ref-cancel-api)。落库状态按意图判、不从 signal 反推 ——
673
744
  * 同一条 signal 有三个来源(调用方传入 / `runTimeoutMs` / 取消),反推不出「谁按的」。
674
- * 只在一次 run 的收尾判定里活着:登记在认领处,摘除在同一次 run 的 finally。
745
+ *
746
+ * 生命周期(2026-10-13 ref-run-root-close 收紧):登记在 cancel 的临界段**入口**(异步路径在等闸之前
747
+ * 就立上 —— 它同时是 `#executeInner` 取消意图闸的判据),摘除在四处:run 收尾
748
+ * (`cancelIntent` 取值处)、`#executeInner` 的意图闸、cancel 自己的 `finish`
749
+ * (仅当没有活着的 `#execute` 会消费它时)、`#execute` 的 finally(兜底)。
675
750
  */
676
751
  #cancels = new Set();
677
752
  /** 在飞 run 的中止句柄(**每任务一个**,同时服务超时与取消 —— 机制相同、意图不同)。 */
@@ -680,6 +755,11 @@ export class AsyncRunner {
680
755
  * 已由 `cancel` **自己**收尾过的任务。那趟等槽位的 `#execute` 还活着,它的 finally 会再记一遍账
681
756
  * (onFinished 触发两次 / 流被关两次)—— 用这个集合把「谁负责记账」说定:cancel 收尾了,
682
757
  * finally 就只做它自己那份(在飞递减、通知等待者、排空通知)。
758
+ *
759
+ * 两个生产者(2026-10-13 ref-run-root-close 补齐):① cancel 的 queued 分支(老的那条);② `#executeInner`
760
+ * 的取消意图闸 —— 被并发恢复路径派发出来的 suspended 取消也有一条活着的 `#execute`,
761
+ * 它在意图闸拦下起跑、同样要把「记账归 cancel」说定。两个生产者都保证有消费者
762
+ * (那趟 `#execute` 自己的 finally),不会滞留。
683
763
  */
684
764
  #cancelSettled = new Set();
685
765
  /**
@@ -844,6 +924,10 @@ export class AsyncRunner {
844
924
  // 「本进程已受理」的终点(与 #execute 同寿)。删在最后:此前若 cancel 挤进来,
845
925
  // 它看到的仍是「本进程在推进这条」,文案不会突然改口。
846
926
  this.#executions.delete(rec.taskId);
927
+ // 取消意图的兜底摘除(2026-10-13 ref-run-root-close):正常路径里它已被各自的出口消费
928
+ // (run 收尾 / 意图闸 / cancel 自己的 finish),这里是「早退路径没走到任何出口」的
929
+ // 兜底 —— 意图滞留会让一条**后来**的同任务取消记录误导收尾判定(意图只认 taskId)。
930
+ this.#cancels.delete(rec.taskId);
847
931
  }
848
932
  }
849
933
  }
@@ -904,6 +988,19 @@ export class AsyncRunner {
904
988
  Object.assign(rec, claimed);
905
989
  return;
906
990
  }
991
+ // 取消意图闸(2026-10-13 ref-run-root-close):cancel 已在收尾这条任务(意图先于落库可见、且
992
+ // 在还有活着的 #execute 时不会被摘除)⇒ **绝不起跑**。没有它时这条缝真实存在:
993
+ // 上面的 readClaimed 读到的是 cancel 落库前的快照,这里照常置 running 落库,
994
+ // 就把 cancelled 覆盖回去 —— 任务取消后照常执行、webhook 双发。
995
+ // 记账归 cancel:登记 #cancelSettled(覆盖面从 queued 补齐到这一支 —— 被并发
996
+ // 恢复路径派发出来的 suspended 取消也走这里),本趟 finally 只走低层清理。
997
+ if (this.#cancels.has(rec.taskId)) {
998
+ this.#cancelSettled.add(rec.taskId);
999
+ this.#cancels.delete(rec.taskId);
1000
+ rec.status = 'cancelled';
1001
+ rec.error = abortedError();
1002
+ return;
1003
+ }
907
1004
  // 在飞句柄**先**登记(在任何 await 与状态写之前):cancel 的中断窗口从这里闭合
908
1005
  this.#runAborts.set(rec.taskId, new AbortController());
909
1006
  rec.status = 'running';
@@ -1046,17 +1143,23 @@ export class AsyncRunner {
1046
1143
  await Promise.resolve().then(() => this.store.save(rec));
1047
1144
  }
1048
1145
  catch (error) {
1049
- // 落库失败不遮罩主流程:任务结果仍在内存记录里可见。
1050
- // 但它**必须有人能收到** —— 宿主无法自己发现这件事(见 onPersistError 的注释)。
1051
- if (this.onPersistError) {
1052
- try {
1053
- // 传快照(与 #notifySinks 同纪律):回调拿到的是「此刻的记录」,之后记录
1054
- // 再被推进不会串进回调持有的引用(引用语义 store 下,活引用 = 回调能改写库里的记录)
1055
- this.onPersistError({ record: { ...rec }, error, phase });
1056
- }
1057
- catch {
1058
- /* 观测是辅助动作:回调抛错不得影响 run(与 onUnpricedModel 同口径) */
1059
- }
1146
+ this.#reportPersistError(rec, error, phase);
1147
+ }
1148
+ }
1149
+ /**
1150
+ * 落库失败的上报口(`#safeSave` 与 `cancel` 的临界段共用,2026-10-13 ref-run-root-close 抽出)。
1151
+ * 落库失败不遮罩主流程:任务结果仍在内存记录里可见。
1152
+ * 但它**必须有人能收到** —— 宿主无法自己发现这件事(见 onPersistError 的注释)。
1153
+ */
1154
+ #reportPersistError(rec, error, phase) {
1155
+ if (this.onPersistError) {
1156
+ try {
1157
+ // 传快照(与 #notifySinks 同纪律):回调拿到的是「此刻的记录」,之后记录
1158
+ // 再被推进不会串进回调持有的引用
1159
+ this.onPersistError({ record: { ...rec }, error, phase });
1160
+ }
1161
+ catch {
1162
+ /* 观测是辅助动作:回调抛错不得影响 run(与 onUnpricedModel 同口径) */
1060
1163
  }
1061
1164
  }
1062
1165
  }
@@ -1077,7 +1180,7 @@ export class AsyncRunner {
1077
1180
  timer = setTimeout(() => {
1078
1181
  onTimeout?.();
1079
1182
  // TimeoutError(code='timeout'):classifyError 归 `timeout` 一类账 ——
1080
- // 与引擎工具超时 / MCP 桥兜底同口径(spec §10 2026-09-17 ②「超时自成一类」)。
1183
+ // 与引擎工具超时 / MCP 桥兜底同口径(spec §10 2026-09-17 ref-timeout-error-type「超时自成一类」)。
1081
1184
  // 此前这里是裸 Error → 落 unknown,同一件事在异步宿主这条路径上记成另一本账。
1082
1185
  reject(new TimeoutError(`task ${taskId} 执行超时(${this.runTimeoutMs}ms)`));
1083
1186
  }, this.runTimeoutMs);
@@ -1 +1 @@
1
- {"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/transport/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../../src/transport/async.ts"],"names":[],"mappings":"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"}
@@ -334,7 +334,7 @@ async function handleCancel(taskId, ctx) {
334
334
  }
335
335
  }
336
336
  /**
337
- * POST /tasks/<id>/events(run 事件投入口,2026-09-28 ⑥):投一个事件给挂起的任务
337
+ * POST /tasks/<id>/events(run 事件投入口,2026-09-28 ref-run-event-input):投一个事件给挂起的任务
338
338
  * —— 事件落 `pendingEvents`、状态回 running,先落库再派发,醒来进消息历史。
339
339
  * body `{ eventId?, type, payload }`(白名单,全是字符串,多一个字段 → 400);
340
340
  * 不存在 → 404;不在 suspended 状态、或同 eventId 重复投递 → 409。
@@ -65,14 +65,14 @@ export function routeRequest(pathname, method, hasMetrics) {
65
65
  const id = decodeSegment(rest.slice(0, -'/approve'.length));
66
66
  return id === undefined ? { kind: 'badTaskId' } : { kind: 'approve', taskId: id };
67
67
  }
68
- // 取消(2026-09-28 ④):与 approve 同款排法 —— 先判方法、再解码
68
+ // 取消(2026-09-28 ref-cancel-api):与 approve 同款排法 —— 先判方法、再解码
69
69
  if (rest.endsWith('/cancel')) {
70
70
  if (method !== 'POST')
71
71
  return refuse('POST', false);
72
72
  const id = decodeSegment(rest.slice(0, -'/cancel'.length));
73
73
  return id === undefined ? { kind: 'badTaskId' } : { kind: 'cancel', taskId: id };
74
74
  }
75
- // 事件投入口(2026-09-28 ⑥):同款排法 —— 先判方法、再解码
75
+ // 事件投入口(2026-09-28 ref-run-event-input):同款排法 —— 先判方法、再解码
76
76
  if (rest.endsWith('/events')) {
77
77
  if (method !== 'POST')
78
78
  return refuse('POST', false);
@@ -1 +1 @@
1
- {"version":3,"file":"http-route.js","sourceRoot":"","sources":["../../src/transport/http-route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-route.js","sourceRoot":"","sources":["../../src/transport/http-route.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ export declare function parseApproveBody(body: unknown): {
57
57
  decidedBy?: string;
58
58
  } | undefined;
59
59
  /**
60
- * 解析 `POST /tasks/<id>/events` 的 body(2026-09-28 ⑥,run 事件投入口);
60
+ * 解析 `POST /tasks/<id>/events` 的 body(2026-09-28 ref-run-event-input,run 事件投入口);
61
61
  * 形状不合法返回 undefined(调用方回 400)。
62
62
  *
63
63
  * **白名单**(B1):只接受 `{ eventId?, type, payload }` 三个键,**多一个字段即拒** ——
@@ -54,7 +54,7 @@ export function parseApproveBody(body) {
54
54
  };
55
55
  }
56
56
  /**
57
- * 解析 `POST /tasks/<id>/events` 的 body(2026-09-28 ⑥,run 事件投入口);
57
+ * 解析 `POST /tasks/<id>/events` 的 body(2026-09-28 ref-run-event-input,run 事件投入口);
58
58
  * 形状不合法返回 undefined(调用方回 400)。
59
59
  *
60
60
  * **白名单**(B1):只接受 `{ eventId?, type, payload }` 三个键,**多一个字段即拒** ——
@@ -31,6 +31,11 @@ export interface ResumeScannerDeps {
31
31
  dispatch(rec: TaskRecord): void;
32
32
  /** 停机闸读数(`wakeDue` 的配套 5:drain 之后不唤醒,见 `drain-gate.ts`) */
33
33
  isDraining(): boolean;
34
+ /**
35
+ * cancel 的 per-task 在飞闸读数(2026-10-13 ref-run-root-close):到期唤醒见它即**跳过本轮**
36
+ * (惰性路径下一轮还会再判;cancel 会把任务落终态,唤醒就是「取消后照常执行」)。
37
+ */
38
+ cancelInflight?(taskId: string): Promise<unknown> | undefined;
34
39
  }
35
40
  export declare class ResumeScanner {
36
41
  #private;
@@ -52,4 +57,6 @@ export declare class ResumeScanner {
52
57
  * 那是既有行为、本批不动它。
53
58
  */
54
59
  wakeDue(rec: TaskRecord, now: number): boolean;
60
+ /** 该任务上在飞的到期唤醒(cancel 的等待依据,2026-10-13 ref-run-root-close) */
61
+ inflightWakeFor(taskId: string): Promise<TaskRecord> | undefined;
55
62
  }
@@ -51,7 +51,7 @@ export class ResumeScanner {
51
51
  return this.#inflightResume;
52
52
  const listed = this.#deps.store.list();
53
53
  const staleAfterMs = opts.staleAfterMs ?? 0;
54
- // 到期索引(2026-09-28 ⑤ 落地):store 实现了 `listDue` 时,「到期唤醒」那一半的
54
+ // 到期索引(2026-09-28 ref-due-index-measure 落地):store 实现了 `listDue` 时,「到期唤醒」那一半的
55
55
  // 输入走索引(只回到期的记录),否则回退全表过滤 —— 语义不变,只是扫描规模不同。
56
56
  // ⚠️ 它**只**替代那一半的输入:挂起读数重建 / 审批超时 / 孤儿认领的职责
57
57
  // 仍是全表 `list()`(它们要的不只是「到期的」),别把整个扫描的输入源换掉。
@@ -96,6 +96,10 @@ export class ResumeScanner {
96
96
  // (重启后由新进程的首次 resumePending 唤醒:那时停机窗口早过去了。)
97
97
  if (this.#deps.isDraining())
98
98
  return false;
99
+ // cancel 在飞 ⇒ 跳过本轮(2026-10-13 ref-run-root-close):它马上把任务落终态,唤醒就是「取消后照常执行」。
100
+ // 惰性路径跳过不丢事:下一轮读还会再判(若取消没成)。
101
+ if (this.#deps.cancelInflight?.(rec.taskId))
102
+ return false;
99
103
  if (this.#inflightWakes.has(rec.taskId))
100
104
  return false;
101
105
  const run = this.#wakeDueInner(rec, now).finally(() => {
@@ -106,6 +110,10 @@ export class ResumeScanner {
106
110
  run.catch(() => undefined);
107
111
  return true;
108
112
  }
113
+ /** 该任务上在飞的到期唤醒(cancel 的等待依据,2026-10-13 ref-run-root-close) */
114
+ inflightWakeFor(taskId) {
115
+ return this.#inflightWakes.get(taskId);
116
+ }
109
117
  /**
110
118
  * 重新派发前**必须**先把 `ownerId` 认领落库 —— 否则「认领」只是内存里的一个记号。
111
119
  *
@@ -137,7 +145,7 @@ export class ResumeScanner {
137
145
  // 到期唤醒(durable timer):在睡且到点的 timer 挂起 ⇒ 认领 + 重派(醒来重跑那一批)。
138
146
  // 与上面那条循环并列而不是合并:两条闸的**原因判据互斥**,各读各的一眼可见;
139
147
  // 合并成一个循环会让「谁的责任」藏进条件里。drain 之后不唤(`wakeDue` 里那道闸)。
140
- // 输入(2026-09-28 ⑤):store 提供到期索引时 `due` 是「只回到期的」那一半 ——
148
+ // 输入(2026-09-28 ref-due-index-measure):store 提供到期索引时 `due` 是「只回到期的」那一半 ——
141
149
  // 仍过 `timerDue` 复核(索引口径是 status+wakeAt,原因那一半由这里兜,且
142
150
  // `#wakeDueInner` 进闸后还会重读再判一次)。
143
151
  let woken = 0;
@@ -158,22 +166,41 @@ export class ResumeScanner {
158
166
  ownerAlive: alive,
159
167
  }) === undefined);
160
168
  const claims = [];
169
+ let claimed = 0;
161
170
  for (const rec of pending) {
162
171
  rec.status = 'queued'; // 重新入队,由 #execute 统一推进
163
172
  rec.ownerId = this.#deps.ownerId; // 认领:此后本进程的记录不再被(自己)重派
164
- const saved = this.#deps.store.save(rec);
173
+ // 同步抛错防护(2026-10-13 ref-reject-static-methods,与 #wakeDueInner 同款):FileTaskStore 磁盘失败在这里
174
+ // 同步抛出 —— 不接住就逃出 resumePending(宿主启动路径直接崩)。落不了库 = 没推进:
175
+ // 不派发、不计入返回值;warn 出来(静默留尸的话任务搁死到重启都没人知道)。
176
+ let saved;
177
+ try {
178
+ saved = this.#deps.store.save(rec);
179
+ }
180
+ catch (err) {
181
+ console.warn(`[agentia] 认领落库失败(task ${rec.taskId}),本次不重投:`, err?.message ?? err);
182
+ continue;
183
+ }
165
184
  if (isThenable(saved)) {
166
185
  // 落库失败则**不派发**:认领没落地,派发等于把上面那个重复执行的窗口重新打开
167
- claims.push(Promise.resolve(saved).then(() => this.#deps.dispatch(rec)));
186
+ claims.push(Promise.resolve(saved).then(() => {
187
+ this.#deps.dispatch(rec);
188
+ return true;
189
+ }, (err) => {
190
+ console.warn(`[agentia] 认领落库失败(task ${rec.taskId}),本次不重投:`, err?.message ?? err);
191
+ return false;
192
+ }));
168
193
  }
169
194
  else {
170
195
  // 派发走唯一入口(闸在 #dispatch 里)—— 外部深评 P2-1:认领循环以前绕过了那道闸。
171
196
  this.#deps.dispatch(rec);
197
+ claimed++;
172
198
  }
173
199
  }
200
+ const settled = Promise.all(claims).then((oks) => oks.filter(Boolean).length);
174
201
  if (claims.length === 0)
175
- return pending.length + expired + woken;
176
- return Promise.all(claims).then(() => pending.length + expired + woken);
202
+ return claimed + expired + woken;
203
+ return settled.then((n) => claimed + n + expired + woken);
177
204
  }
178
205
  async #wakeDueInner(rec, now) {
179
206
  // 进闸后**重读一遍**再判(与 approval-supervisor.ts 的 #expireAndResumeInner 同因):闸只互斥「进入」,
@@ -188,14 +215,18 @@ export class ResumeScanner {
188
215
  try {
189
216
  saved = this.#deps.store.save(target);
190
217
  }
191
- catch {
192
- return target; // 同步落库失败则不派发(先落库再派发,见 approval-supervisor.ts 的 #expireAndResumeInner)
218
+ catch (err) {
219
+ // 同步落库失败则不派发(先落库再派发)—— 但不静默:留尸到下一次惰性判定
220
+ // 之前,至少日志里要有这一笔(与 #dispatch 停机拒绝的 warn 同一条纪律)。
221
+ console.warn(`[agentia] 到期唤醒落库失败(task ${target.taskId}),本次不派发:`, err?.message ?? err);
222
+ return target;
193
223
  }
194
224
  if (isThenable(saved)) {
195
225
  try {
196
226
  await saved;
197
227
  }
198
- catch {
228
+ catch (err) {
229
+ console.warn(`[agentia] 到期唤醒落库失败(task ${target.taskId}),本次不派发:`, err?.message ?? err);
199
230
  return target;
200
231
  }
201
232
  }