@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
@@ -40,6 +40,21 @@ export declare const DEFAULT_RETRY: {
40
40
  readonly jitter: 0.2;
41
41
  };
42
42
  export type ResolvedRetry = Required<RetryOptions>;
43
+ /**
44
+ * 校验 `RetryOptions` 的四个数值旋钮 —— **响亮抛 TypeError**,与 client 层
45
+ * `resolveMaxRetries`(integrations/adapter-options.ts)同一条纪律。
46
+ *
47
+ * 坏值的真实后果(2026-10-13 深评 A1,实测):
48
+ * - `maxAttempts: NaN` ⇒ `!(NaN >= 1)` 成立 ⇒ **重试被静默关闭**(run 根快照记
49
+ * `config.retry.maxAttempts: 0`,看着像用户主动关的);
50
+ * - `baseDelayMs: NaN` ⇒ `backoffDelay` 算出 NaN ⇒ `sleep` 的 `assertTimerDelay` 抛
51
+ * RangeError —— 它曾被 turn.ts 退避处的裸 catch 吞成「用户取消」(配置错被谎报);
52
+ * - 延迟超 2^31-1ms ⇒ 被 Node 静默钳到 1ms(远期退避变热重试,单源上限见 core/timeout.ts)。
53
+ *
54
+ * `0` 各有合法读法(`maxAttempts: 0` = 关闭、`baseDelayMs: 0` = 不退避、`jitter: 0` =
55
+ * 不加抖动),不在被拒之列 —— 各旋钮的 0 语义登记在 `core/limits.ts`。
56
+ */
57
+ export declare function validateRetryOptions(o: RetryOptions | false | undefined): void;
43
58
  /** 归一重试配置:`undefined` → 缺省策略(**缺省开启**);`false` → null(关闭)。 */
44
59
  export declare function resolveRetry(o: RetryOptions | false | undefined): ResolvedRetry | null;
45
60
  /**
@@ -1,4 +1,5 @@
1
- import { interruptibleSleep } from '../core/timeout.js';
1
+ import { zeroClauseOf } from '../core/limits.js';
2
+ import { MAX_TIMER_DELAY_MS, interruptibleSleep } from '../core/timeout.js';
2
3
  import { classifyError } from './errors.js';
3
4
  /** 缺省重试参数(不含两个函数字段 —— 它们在 resolveRetry 里注入) */
4
5
  export const DEFAULT_RETRY = {
@@ -23,10 +24,54 @@ function definedOnly(o) {
23
24
  }
24
25
  return out;
25
26
  }
27
+ /**
28
+ * 校验 `RetryOptions` 的四个数值旋钮 —— **响亮抛 TypeError**,与 client 层
29
+ * `resolveMaxRetries`(integrations/adapter-options.ts)同一条纪律。
30
+ *
31
+ * 坏值的真实后果(2026-10-13 深评 A1,实测):
32
+ * - `maxAttempts: NaN` ⇒ `!(NaN >= 1)` 成立 ⇒ **重试被静默关闭**(run 根快照记
33
+ * `config.retry.maxAttempts: 0`,看着像用户主动关的);
34
+ * - `baseDelayMs: NaN` ⇒ `backoffDelay` 算出 NaN ⇒ `sleep` 的 `assertTimerDelay` 抛
35
+ * RangeError —— 它曾被 turn.ts 退避处的裸 catch 吞成「用户取消」(配置错被谎报);
36
+ * - 延迟超 2^31-1ms ⇒ 被 Node 静默钳到 1ms(远期退避变热重试,单源上限见 core/timeout.ts)。
37
+ *
38
+ * `0` 各有合法读法(`maxAttempts: 0` = 关闭、`baseDelayMs: 0` = 不退避、`jitter: 0` =
39
+ * 不加抖动),不在被拒之列 —— 各旋钮的 0 语义登记在 `core/limits.ts`。
40
+ */
41
+ export function validateRetryOptions(o) {
42
+ if (o === false || o === undefined)
43
+ return;
44
+ const { maxAttempts, baseDelayMs, maxDelayMs, jitter } = o;
45
+ if (maxAttempts !== undefined && (!Number.isSafeInteger(maxAttempts) || maxAttempts < 0)) {
46
+ throw new TypeError(`retry.maxAttempts 必须是非负安全整数(${zeroClauseOf('RetryOptions.maxAttempts')}),收到 ${String(maxAttempts)} —— ` +
47
+ 'NaN / Infinity / 负数 / 小数都会让「重试几次」变成猜的(`!(NaN >= 1)` 成立 ⇒ 重试被静默关闭)');
48
+ }
49
+ for (const [name, v] of [
50
+ ['retry.baseDelayMs', baseDelayMs],
51
+ ['retry.maxDelayMs', maxDelayMs],
52
+ ]) {
53
+ if (v === undefined)
54
+ continue;
55
+ if (typeof v !== 'number' || !Number.isFinite(v) || v < 0 || v > MAX_TIMER_DELAY_MS) {
56
+ throw new TypeError(`${name} 必须是 0 ~ ${MAX_TIMER_DELAY_MS}ms 的有限数` +
57
+ `(${zeroClauseOf(name === 'retry.baseDelayMs' ? 'RetryOptions.baseDelayMs' : 'RetryOptions.maxDelayMs')}),` +
58
+ `收到 ${String(v)} —— NaN 会让退避算成 NaN,超上限会被 Node 钳到 1ms(远期变热重试)`);
59
+ }
60
+ }
61
+ if (jitter !== undefined &&
62
+ (typeof jitter !== 'number' || !Number.isFinite(jitter) || jitter < 0 || jitter > 1)) {
63
+ throw new TypeError(`retry.jitter 必须是 0 ~ 1 的有限数(${zeroClauseOf('RetryOptions.jitter')}),收到 ${String(jitter)} —— ` +
64
+ '>1 会把退避拉成负数再被静默钳回 0(抖动与退避一起失效)');
65
+ }
66
+ }
26
67
  /** 归一重试配置:`undefined` → 缺省策略(**缺省开启**);`false` → null(关闭)。 */
27
68
  export function resolveRetry(o) {
28
69
  if (o === false)
29
70
  return null;
71
+ // 数值旋钮坏值响亮失败(见 validateRetryOptions 头注)。runAgent 入口另有一次同款
72
+ // 校验(配置错不收成「失败的 run」);这里保留是因为直连 agentLoop / runAgentScoped
73
+ // 的路径不经过 run 入口。
74
+ validateRetryOptions(o);
30
75
  // 用 definedOnly 兜住显式 undefined,否则旧写法会把缺省覆盖掉:
31
76
  // `maxAttempts: undefined` → `!(undefined >= 1)` 成立 → **重试被静默关闭**,
32
77
  // 而 run 根快照记的是 config.retry.maxAttempts: 0(看起来像用户主动关的);
@@ -55,7 +100,11 @@ export function backoffDelay(attempt, r) {
55
100
  const exp = r.baseDelayMs * 2 ** Math.max(0, attempt - 1);
56
101
  const capped = Math.min(exp, r.maxDelayMs);
57
102
  const jitter = r.jitter > 0 ? capped * r.jitter * (Math.random() * 2 - 1) : 0;
58
- return Math.max(0, Math.round(capped + jitter));
103
+ // 上界再封一道:`capped ≤ maxDelayMs ≤ 2^31-1` 由入口校验保证,但正向抖动还能把它
104
+ // 推过 Node 定时器的物理上限(maxDelayMs 贴上限 + jitter=1 ⇒ 最多 2 倍)——超上限
105
+ // 的 setTimeout 会被钳到 1ms(远期退避变热重试),这里在交付给 sleep 之前夹住。
106
+ // ⚠️ 用 Math.min 而不是 clampTimerDelay:后者会把 NaN 读成 0,而 NaN 是必须响亮的坏值。
107
+ return Math.min(Math.max(0, Math.round(capped + jitter)), MAX_TIMER_DELAY_MS);
59
108
  }
60
109
  /**
61
110
  * 可被 signal 中断的 sleep(退避期间收到取消就不必再等)。
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/engine/retry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgC5C,+CAA+C;AAC/C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,WAAW,EAAE,CAAC;IACd,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,GAAG;CACH,CAAC;AAIX;;;;;;;GAOG;AACH,SAAS,WAAW,CAAC,CAA2B;IAC9C,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7C,IAAI,CAAC,KAAK,SAAS;YAAG,GAA+B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,YAAY,CAAC,CAAmC;IAC9D,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7B,6CAA6C;IAC7C,mEAAmE;IACnE,wDAAwD;IACxD,iEAAiE;IACjE,yDAAyD;IACzD,MAAM,MAAM,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,uBAAuB;IACpE,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE,CAAC,EAAE,WAAW,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,OAAO,EAAE,CAAC,EAAE,OAAO,IAAI,CAAC,GAAS,EAAE,GAAE,CAAC,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,CAAgB;IAC5D,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,MAAoB;IACpD,OAAO,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAyB,EACzB,OAAe,EACf,KAAc,EACd,OAAgB;IAEhB,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/engine/retry.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,9 @@ import { type SpanId } from '../core/trace.js';
13
13
  * 它们的「当前 span」就是发起它的那个回合,与 `ToolRunContext.parentSpanId` 同一个值);
14
14
  * - `capability` —— `toolkit/skill.ts` / `toolkit/subagent.ts` 包住自己的方法体 / 子循环。
15
15
  *
16
+ * 三层各自登记自己的 `agentName`(run 根 = 应用名、capability = 子 agent 名);夹在中间的
17
+ * `llm.turn` **不知道身份**,靠 `withCurrentSpan` 的**继承**把上一层的值留住(见该函数注释)。
18
+ *
16
19
  * 边界(如实):`run` 根 span 由 `runAgent` 打开,故 `executeRun` 里更早的 `contextInit` /
17
20
  * 记忆水合**没有**作用域 —— 那时确实还没有 span 可指,`currentTraceparent()` 返回 `undefined`。
18
21
  */
@@ -20,6 +23,18 @@ import { type SpanId } from '../core/trace.js';
20
23
  export interface SpanScope {
21
24
  traceId: string;
22
25
  spanId: SpanId;
26
+ /**
27
+ * 当前正在跑的是**哪个 agent**(run 根 = 应用名;子 agent 的 capability span = 该 subagent 名)。
28
+ *
29
+ * 为什么需要它(2026-10-12 G7 交接):`@SubAgent` 的 capability span 上要写
30
+ * `agentia.handoff.from` —— 值是**调用方** agent 名,而调用点手上只有 `recorder`
31
+ * (**只写不读**,`RecorderBackend` 没有任何查 span 树的口子)与 `ctx.parentSpanId`
32
+ * (一个 id,反查不出名字)。唯一拿得到它的地方就是「当前调用期」,即这里。
33
+ *
34
+ * ⚠️ 值是**人读的名字**(run 根用 `runName`、子 agent 用它注册的 `name`),不是 span id、
35
+ * 也不是 `<类型>:<名>` 那种展示串 —— 它要直接写进 `agentia.handoff.from` 给外部消费。
36
+ */
37
+ agentName?: string;
23
38
  }
24
39
  /**
25
40
  * 在指定 span 作用域内执行。返回类型随 fn 而定(async fn → Promise<T>,同步 fn → T)。
@@ -2,7 +2,14 @@ import { AsyncLocalStorage } from 'node:async_hooks';
2
2
  import { formatTraceparent } from '../core/trace.js';
3
3
  const store = new AsyncLocalStorage();
4
4
  export function withCurrentSpan(scope, fn) {
5
- return store.run(scope, fn);
5
+ // ⚠️ 是**合并**(内层同名键覆盖外层),不是整条替换 —— `agentName` 是**跨层不变的身份**,
6
+ // 而三个写入点各自只知道「自己这一层的 span id」:run 根(loop.ts)知道应用名、capability
7
+ // (skill/subagent)知道子 agent 名,夹在中间的 `llm.turn`(turn.ts)**两个都不知道**。
8
+ // 用整条替换的话,turn.ts 每次包工具执行都会把 run 根写下的 agent 名抹成 undefined ⇒
9
+ // 交接属性永远拿不到值。`traceId` / `spanId` 仍由每个写入点显式给 ⇒ 收窄语义逐字不变
10
+ // (`tests/engine/spanScope.test.ts` 的「并行链互不干扰、内层不外泄」继续钉着这一条)。
11
+ const outer = store.getStore();
12
+ return store.run({ ...outer, ...scope }, fn);
6
13
  }
7
14
  /** 当前调用期的 span 作用域;不在任何 run / 调用内时 undefined。 */
8
15
  export function currentSpan() {
@@ -1 +1 @@
1
- {"version":3,"file":"span-scope.js","sourceRoot":"","sources":["../../src/engine/span-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAe,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AA0BlE,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAa,CAAC;AAUjD,MAAM,UAAU,eAAe,CAAI,KAAgB,EAAE,EAAwB;IAC3E,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW;IACzB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"span-scope.js","sourceRoot":"","sources":["../../src/engine/span-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAe,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAyClE,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAa,CAAC;AAUjD,MAAM,UAAU,eAAe,CAAI,KAAgB,EAAE,EAAwB;IAC3E,4DAA4D;IAC5D,6DAA6D;IAC7D,mEAAmE;IACnE,4DAA4D;IAC5D,wDAAwD;IACxD,8DAA8D;IAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,WAAW;IACzB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,iBAAiB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AACxD,CAAC"}
@@ -109,7 +109,7 @@ export interface RunInvocationOptions {
109
109
  */
110
110
  maxEventChars?: number | false;
111
111
  /**
112
- * 挂起期间投递的事件(2026-09-28 ⑥,run 事件投入口):随 `TaskRecord.pendingEvents`
112
+ * 挂起期间投递的事件(2026-09-28 ref-run-event-input,run 事件投入口):随 `TaskRecord.pendingEvents`
113
113
  * 落库(纯数据、可序列化,重启不丢),续跑段由引擎在**未决 tool_use 解决之后**
114
114
  * 渲染成 user 文本消息注入消息流(为什么不是宿主直接追加到消息末尾:续跑判定
115
115
  * 只认历史**末尾一条**,追加 user 消息会把续跑判成新对话 —— 见 engine/loop.ts)。
@@ -131,6 +131,10 @@ export interface RunInvocationOptions {
131
131
  *
132
132
  * 同步宿主(HTTP `POST /run` / `runSync`)不消费它:那边没有 store 可注入,
133
133
  * 会话请走程序内的 `RunAppOptions.session`。
134
+ *
135
+ * ⚠️ 程序内直接 `app.run(messages, { sessionId })` 同样**不生效**(`AgentApp.run`
136
+ * 不消费它)—— 入口会 `console.warn` 一次并指出改用 `session`(2026-10-12 ref-session-id-warn;
137
+ * 此前是静默丢弃:run 根没有 `session.id`、历史接不上、零信号)。
134
138
  */
135
139
  sessionId?: string;
136
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/engine/spec.ts"],"names":[],"mappings":"AAyJA;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,wCAAwC;AACxC,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,mDAAmD;QACnD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACrE,OAAO,KAAuB,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,KAAiE,CAAC;QAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC,QAA0B,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC"}
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/engine/spec.ts"],"names":[],"mappings":"AA6JA;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED,wCAAwC;AACxC,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,mDAAmD;QACnD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACzD,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;QACrE,OAAO,KAAuB,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,KAAiE,CAAC;QAC5E,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC;YAC1E,OAAO,CAAC,CAAC,QAA0B,CAAC;QACtC,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3F,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI;YAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,IAAI,cAAc,CAAC,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC"}
@@ -63,11 +63,15 @@ export declare class TraceRecorder {
63
63
  /** 因超限被丢弃的事件数(交付时写进 run 根的 `trace.truncated`) */
64
64
  private droppedEvents;
65
65
  /**
66
- * 收尾摘要是否已派给增量出口。`snapshot()` 交付时派**一次**(见该方法的注释):
67
- * 一次 run 只交付一次,但这个方法可以被调用多次(错误出口 / MCP / 引擎各一处),
68
- * 重复派发会让增量流里出现两条摘要 ⇒ 折回的树与交付的树又对不上。
66
+ * 截断收尾摘要(`trace.truncated { droppedEvents, limit }`),**只生成一次**。
67
+ *
68
+ * 它是「交付时才写得出的结论」,由 `snapshot()` 首次调用时生成:同一个对象既进
69
+ * `span.events`(此后每次 snapshot 都带它)、也走增量出口(见 snapshot 的注释)。
70
+ * ⚠️ 不可每次调用都新建 —— 那样摘要的 `time` 每次不同,增量流里的那一条与
71
+ * 任何一次 snapshot 都对不上(`core/trace.ts` 的折叠契约当场变假),且多次
72
+ * snapshot 彼此也不一致。
69
73
  */
70
- private truncationSummarySent;
74
+ private truncationSummary;
71
75
  /** 记账事件订阅者(增量出口,见 `core/trace.ts` 的 `TraceRecordEvent`) */
72
76
  private readonly listeners;
73
77
  /**
@@ -41,11 +41,15 @@ export class TraceRecorder {
41
41
  /** 因超限被丢弃的事件数(交付时写进 run 根的 `trace.truncated`) */
42
42
  droppedEvents = 0;
43
43
  /**
44
- * 收尾摘要是否已派给增量出口。`snapshot()` 交付时派**一次**(见该方法的注释):
45
- * 一次 run 只交付一次,但这个方法可以被调用多次(错误出口 / MCP / 引擎各一处),
46
- * 重复派发会让增量流里出现两条摘要 ⇒ 折回的树与交付的树又对不上。
44
+ * 截断收尾摘要(`trace.truncated { droppedEvents, limit }`),**只生成一次**。
45
+ *
46
+ * 它是「交付时才写得出的结论」,由 `snapshot()` 首次调用时生成:同一个对象既进
47
+ * `span.events`(此后每次 snapshot 都带它)、也走增量出口(见 snapshot 的注释)。
48
+ * ⚠️ 不可每次调用都新建 —— 那样摘要的 `time` 每次不同,增量流里的那一条与
49
+ * 任何一次 snapshot 都对不上(`core/trace.ts` 的折叠契约当场变假),且多次
50
+ * snapshot 彼此也不一致。
47
51
  */
48
- truncationSummarySent = false;
52
+ truncationSummary = null;
49
53
  /** 记账事件订阅者(增量出口,见 `core/trace.ts` 的 `TraceRecordEvent`) */
50
54
  listeners = [];
51
55
  /**
@@ -339,23 +343,26 @@ export class TraceRecorder {
339
343
  ...(s.links ? { links: [...s.links] } : {}),
340
344
  }));
341
345
  // 截断摘要:**交付时**才写得出的结论(与 totalUsage 同族),写在 run 根上。
342
- // 它也**走增量出口**(2026-09-28 PR #164 复核 §4):否则「按 seq 折回的那棵树」会少这一笔
343
- // —— 只要设了 `maxEvents` 且真截断,`core/trace.ts` 那条折叠规则就是**假的**(此前没有
344
- // 用例覆盖到:默认不设上限,折叠用例永远碰不到截断)。同一对象两处用 ⇒ 时间戳逐字一致;
345
- // 只派一次 ⇒ 重复交付不会让增量流里多出一条。
346
+ // 只生成一次(`this.truncationSummary` 缓存):同一个对象既进 span.events、也走增量出口 ——
347
+ // 否则「按 seq 折回的那棵树」会少这一笔 / 每次 snapshot 的摘要时间戳互不相同,
348
+ // `core/trace.ts` 那条折叠规则就是**假的**。
349
+ // 增量出口只派一次 ⇒ 重复交付不会让增量流里多出一条。
346
350
  if (this.droppedEvents > 0) {
347
351
  const root = spans.find((s) => s.spanId === this.rootSpanId);
348
352
  if (root) {
349
- const summary = {
350
- time: Date.now(),
351
- name: 'trace.truncated',
352
- body: { droppedEvents: this.droppedEvents, limit: this.maxEvents },
353
- };
354
- root.events.push(summary);
355
- if (!this.truncationSummarySent) {
356
- this.truncationSummarySent = true;
357
- this.emit({ type: 'span.event', spanId: this.rootSpanId, event: { ...summary } });
353
+ if (this.truncationSummary === null) {
354
+ this.truncationSummary = {
355
+ time: Date.now(),
356
+ name: 'trace.truncated',
357
+ body: { droppedEvents: this.droppedEvents, limit: this.maxEvents },
358
+ };
359
+ this.emit({
360
+ type: 'span.event',
361
+ spanId: this.rootSpanId,
362
+ event: { ...this.truncationSummary },
363
+ });
358
364
  }
365
+ root.events.push(this.truncationSummary);
359
366
  }
360
367
  }
361
368
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/engine/tracer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tracer.js","sourceRoot":"","sources":["../../src/engine/tracer.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,7 @@ export interface AgentLoopArgs<S extends JsonSchema = JsonSchema> {
91
91
  /** 人工审批决定(HITL):以 tool_use_id 为键;恢复挂起的 run 时由宿主传入 */
92
92
  approvals?: Record<string, ApprovalDecision> | undefined;
93
93
  /**
94
- * 挂起期间投递的事件(2026-09-28 ⑥;语义见 RunInvocationOptions.events):
94
+ * 挂起期间投递的事件(2026-09-28 ref-run-event-input;语义见 RunInvocationOptions.events):
95
95
  * 由 loop.ts 的续跑入口在**未决 tool_use 解决之后**注入消息流(本文件不消费它 ——
96
96
  * 注入时机的纪律在 loop.ts,那里才知道 tool_result 已落定)。
97
97
  */
@@ -171,7 +171,7 @@ export declare function streamTurn<S extends JsonSchema>(ctx: LoopContext<S>): P
171
171
  * 预算护栏依赖「记账完成后」的 usage 累计,所以本函数必须先于任何 budget.check 调用。
172
172
  *
173
173
  * `model` 是本回合**实际**成功的模型(TurnOutcome.model):fallback 换环后与 args.model
174
- * 不同 —— 成本估算与未定价探测按错模型算就是记错账(评审 2026-09-27 ② 的核心教训)。
174
+ * 不同 —— 成本估算与未定价探测按错模型算就是记错账(评审 2026-09-27 ref-sink-failure-warn 的核心教训)。
175
175
  */
176
176
  export declare function recordTurnUsage<S extends JsonSchema>(ctx: LoopContext<S>, turnId: SpanId, message: Message, model?: string): void;
177
177
  /** 回合收尾分流:finish = 终止/边界分支(带 stopReason 与收尾文本);tools = 还有工具要执行 */
@@ -12,7 +12,7 @@
12
12
  * 规范位置是 text.ts(loop.ts 与 stop-reason.ts 都从那儿取;回本文件取会成环)。
13
13
  */
14
14
  import { validateJsonSchema } from '../core/schema.js';
15
- import { TOOL_INPUT_EVENT, TOOL_OUTPUT_EVENT } from '../core/trace.js';
15
+ import { CONTEXT_BUDGET_EVENT, TOOL_INPUT_EVENT, TOOL_OUTPUT_EVENT } from '../core/trace.js';
16
16
  import { isTimeoutError } from '../core/timeout.js';
17
17
  import { classifyError, isAbortError } from './errors.js';
18
18
  import { createDeferRequest } from './defer.js';
@@ -164,7 +164,7 @@ export async function checkTurnEntry(ctx, iteration) {
164
164
  }
165
165
  if (next && next !== messages) {
166
166
  if (args.parentSpanId) {
167
- args.recorder.event(args.parentSpanId, 'context.budget', {
167
+ args.recorder.event(args.parentSpanId, CONTEXT_BUDGET_EVENT, {
168
168
  from: messages.length,
169
169
  to: next.length,
170
170
  model: args.model,
@@ -269,7 +269,13 @@ export async function streamTurn(ctx) {
269
269
  try {
270
270
  await sleep(delayMs, signal);
271
271
  }
272
- catch {
272
+ catch (sleepErr) {
273
+ // 只认取消(AbortError):sleep 还会因坏延迟抛 RangeError(assertTimerDelay)——
274
+ // 那是配置/实现错误,吞成 aborted 会把「配置坏了」谎报成「用户取消」
275
+ // (2026-10-13 深评 A1 实测:`retry:{baseDelayMs:NaN}` + 429 → stopReason:aborted)。
276
+ // 入口校验(validateRetryOptions)让这条路本不该走到,真走到就原样抛出归类。
277
+ if (!isAbortError(sleepErr))
278
+ throw sleepErr;
273
279
  aborted = true; // 退避期间被取消
274
280
  break;
275
281
  }
@@ -285,7 +291,7 @@ export async function streamTurn(ctx) {
285
291
  * 预算护栏依赖「记账完成后」的 usage 累计,所以本函数必须先于任何 budget.check 调用。
286
292
  *
287
293
  * `model` 是本回合**实际**成功的模型(TurnOutcome.model):fallback 换环后与 args.model
288
- * 不同 —— 成本估算与未定价探测按错模型算就是记错账(评审 2026-09-27 ② 的核心教训)。
294
+ * 不同 —— 成本估算与未定价探测按错模型算就是记错账(评审 2026-09-27 ref-sink-failure-warn 的核心教训)。
289
295
  */
290
296
  export function recordTurnUsage(ctx, turnId, message, model) {
291
297
  const { args } = ctx;
@@ -356,6 +362,15 @@ export async function executeTurnTools(ctx, turnId, toolUses, overBudget) {
356
362
  tool_use_ids: pending.map((u) => u.id),
357
363
  tools: pending.map((u) => u.name),
358
364
  });
365
+ // G7 护栏:审批在 trace 里**只是事件**(刻意不建 span —— 上游 `GuardrailSpanData`
366
+ // 只有 name / triggered 两个字段,造 span kind 等于往核心词汇表里加词)。但事件只有
367
+ // 解析 trace 才看得见,对外部 OTLP 消费者等于不存在 ⇒ 在**发起它的回合 span** 上再写
368
+ // 两个 additive 属性当「一眼可见的入口」,语义对齐上游那对字段。
369
+ // ⚠️ 两处**刻意的不对称**:① 只取**首个**待决工具名 —— 属性是标量,完整清单在事件的
370
+ // `tools[]` 里(属性是入口、事件是权威明细);② **只发 `true`,不设 `false`**
371
+ // (与 `gen_ai.conversation.compacted` 同款口径:没发生就根本不发这个键)。
372
+ args.recorder.setAttribute(turnId, 'agentia.guardrail.name', pending[0].name);
373
+ args.recorder.setAttribute(turnId, 'agentia.guardrail.triggered', true);
359
374
  return { kind: 'suspended', pending: pending.map((u) => u.id) };
360
375
  }
361
376
  }
@@ -1 +1 @@
1
- {"version":3,"file":"turn.js","sourceRoot":"","sources":["../../src/engine/turn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,uCAAuC;AACvC,MAAM,kBAAkB,GACtB,wDAAwD;IACxD,6CAA6C,CAAC;AAEhD;;;GAGG;AACH,SAAS,uBAAuB,CAAC,MAAoB;IACnD,IAAI,CAAC,MAAM;QAAE,OAAO,kBAAkB,CAAC;IACvC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,GAAG,MAAM,OAAO,kBAAkB,EAAE,CAAC;IAC5E,OAAO,CAAC,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC1E,CAAC;AA4FD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAuB,IAAsB;IAC3E,uDAAuD;IACvD,2CAA2C;IAC3C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CACb,gBAAgB,aAAa,4BAA4B,CAC1D,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG;YACT,GAAG,QAAQ;YACX;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,gDAAgD;gBAC7D,YAAY,EAAE,IAAI,CAAC,YAA0C;aAC9D;SACF,CAAC;QACF,MAAM,GAAG,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,yDAAyD;IACzD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAElD,+CAA+C;IAC/C,2DAA2D;IAC3D,MAAM,MAAM,GACV,IAAI,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI;QACpD,CAAC,CAAC,iBAAiB,CAAC;YAChB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjB,8BAA8B;gBAC9B,IAAI,CAAC;oBACH,IAAI,IAAI,CAAC,YAAY;wBACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBACpE,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;YACH,CAAC;SACF,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC5B,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,OAAO;QACP,YAAY,EAAE,IAAI,GAAG,EAAU;QAC/B,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,kBAAkB;QAChE,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,WAAW,CACzB,IAAsB,EACtB,IAAuB;IAEvB,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,OAAO,EACL,IAAI,KAAK,QAAQ;YACf,CAAC,CAAC,kBAAkB,IAAI,CAAC,cAAc,EAAE;YACzC,CAAC,CAAC,cAAc,IAAI,CAAC,UAAU,EAAE;QACrC,SAAS,EAAE,KAAK;KACjB,CAAC;AACJ,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACpE,CAAC;AAQD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,GAAmB,EACnB,SAAiB;IAEjB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;IAC/B,2CAA2C;IAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;QACzB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,CAAC;IAC1D,CAAC;IACD,mDAAmD;IACnD,6CAA6C;IAC7C,2CAA2C;IAC3C,uBAAuB;IACvB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACf,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,+BAA+B;IAC/B,EAAE;IACF,sEAAsE;IACtE,4DAA4D;IAC5D,2DAA2D;IAC3D,yDAAyD;IACzD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,IAAgC,CAAC;QACrC,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACnD,SAAS;gBACT,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAuB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1F,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,sDAAsD,EAAE,OAAO,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,IAAI,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE;oBACvD,IAAI,EAAE,QAAQ,CAAC,MAAM;oBACrB,EAAE,EAAE,IAAI,CAAC,MAAM;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;YACD,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAgBD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAuB,GAAmB;IACxE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,6DAA6D;IAC7D,gCAAgC;IAChC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9E,IAAI,MAAM,GAAW,EAAE,CAAC;IACxB,IAAI,OAA4B,CAAC;IACjC,IAAI,SAA6B,CAAC;IAClC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,0CAA0C;IAC1C,IAAI,YAAY,GAA+C,IAAI,CAAC;IACpE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAE,CAAC;QAC7B,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,mCAAmC;QACxD,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YACxE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE;oBAC1C,IAAI,EAAE,YAAY,CAAC,IAAI;oBACvB,EAAE,EAAE,IAAI,CAAC,KAAK;oBACd,SAAS,EAAE,YAAY,CAAC,SAAS;iBAClC,CAAC,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,IAAI,OAAO,GAAG,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACH,kDAAkD;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CACxC,gBAAgB,CAAC;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;oBACtB,MAAM;iBACP,CAAC,CACH,CAAC;gBACF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1B,OAAO,GAAG,IAAI,CAAC;oBACf,IAAI,CAAC;wBACH,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;oBAAC,MAAM,CAAC;wBACP,iDAAiD;oBACnD,CAAC;gBACH,CAAC,CAAC,CAAC;gBACH,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;gBACtC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,MAAM;YACR,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/D,6CAA6C;gBAC7C,IAAI,YAAY,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;oBACvC,OAAO,GAAG,IAAI,CAAC;oBACf,MAAM;gBACR,CAAC;gBACD,wCAAwC;gBACxC,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC7D,8DAA8D;gBAC9D,gEAAgE;gBAChE,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACnC,yEAAyE;oBACzE,0CAA0C;oBAC1C,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;wBAChE,YAAY,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;wBAC7D,UAAU,GAAG,IAAI,CAAC;wBAClB,MAAM;oBACR,CAAC;oBACD,MAAM,CAAC,CAAC,CAAC,+BAA+B;gBAC1C,CAAC;gBACD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpF,IAAI,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAAC,MAAM,CAAC;oBACP,iDAAiD;gBACnD,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,GAAG,IAAI,CAAC,CAAC,UAAU;oBAC1B,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,OAAO,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,UAAU;YAAE,MAAM;IAC7D,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACxD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,GAAmB,EACnB,MAAc,EACd,OAAgB,EAChB,KAAc;IAEd,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,MAAM,WAAW,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5E,yDAAyD;IACzD,+CAA+C;IAC/C,2EAA2E;IAC3E,oDAAoD;IACpD,oCAAoC;IACpC,IAAI,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3D,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,mDAAmD;QACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAClC,IAAI,CAAC;oBACH,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBACjE,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;IAC5E,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC;IACrF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,mBAAmB,IAAI,CAAC,CAAC,CAAC;IAC7F,iEAAiE;IACjE,kEAAkE;IAClE,qCAAqC;IACrC,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC;YACtD,IAAI,CAAC,QAAQ,CAAC,YAAY,CACxB,MAAM,EACN,aAAa,EACb,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CACnD,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAoBD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,GAAmB,EACnB,MAAc,EACd,QAAwB,EACxB,UAAoC;IAEpC,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;YACzD,OAAO,IAAI,EAAE,QAAQ,KAAK,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;QACjF,CAAC,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAoB,EAAE;gBAChD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;aAClC,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IACD,2CAA2C;IAC3C,0CAA0C;IAC1C,kDAAkD;IAClD,4CAA4C;IAC5C,yBAAyB;IACzB,MAAM,QAAQ,GAAG,UAAU;QACzB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC;QACrF,CAAC,CAAC,QAAQ,CAAC;IAEb,iEAAiE;IACjE,gDAAgD;IAChD,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,QAAQ,EACR,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,iBAAiB;IACnD,2DAA2D;IAC3D,kEAAkE;IAClE,0CAA0C;IAC1C,CAAC,GAAG,EAAE,EAAE,CACN,eAAe,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CACvE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CACxC,CACJ,CAAC;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,0DAA0D;QAC1D,uDAAuD;QACvD,4DAA4D;QAC5D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE;YAC7C,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,OAAO;YACrB,8DAA8D;YAC9D,2CAA2C;YAC3C,SAAS,EAAE,OAAO,CAAC,MAAM;SAC1B,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CACV,8BAA8B,OAAO,CAAC,MAAM,UAAU;gBACpD,MAAM,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,8BAA8B;gBACnE,kCAAkC,CACrC,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC/C,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACvC,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,GAAmB,EACnB,MAAc,EACd,GAAiB,EACjB,KAAmB;IAEnB,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACrB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;IACzD,sCAAsC;IACtC,uCAAuC;IACvC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,uDAAuD;IACvD,iDAAiD;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACjC,gDAAgD;IAChD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACzF,0CAA0C;IAC1C,iDAAiD;IACjD,+CAA+C;IAC/C,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,kBAAkB,EAAE;YAC9C,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,EAAE;YACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,GAAG,CAAC,QAAQ,CAAC,SAAS,KAAK,SAAS,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS;gBACxE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACtE,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;IAED,oDAAoD;IACpD,2CAA2C;IAC3C,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,oDAAoD;IACpD,MAAM,OAAO,GAAG,mBAAmB,CAAC;QAClC,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,YAAY,EAAE,MAAM;QACpB,SAAS,EAAE,SAAS,CAAC,MAAM;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,QAAQ,EAAE,QAAQ;QAClB,0DAA0D;QAC1D,gDAAgD;QAChD,mDAAmD;QACnD,qDAAqD;QACrD,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;KAC9C,CAAC,CAAC;IACH,IAAI,EAAE,GAAG,IAAI,CAAC;IACd,IAAI,OAAO,GAAY,EAAE,CAAC;IAC1B,4CAA4C;IAC5C,kDAAkD;IAClD,IAAI,SAAoC,CAAC;IACzC,IAAI,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACpD,6CAA6C;QAC7C,2CAA2C;QAC3C,mDAAmD;QACnD,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,OAAO,EAAE,CAAC;gBACZ,EAAE,GAAG,KAAK,CAAC;gBACX,SAAS,GAAG,eAAe,CAAC;gBAC5B,OAAO,GAAG,kBAAkB,OAAO,EAAE,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,WAAW,CAAC;gBACtB,mDAAmD;gBACnD,+CAA+C;gBAC/C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;oBACnB,6DAA6D;oBAC7D,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAsB,CAAC;oBACvC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,EAAE,GAAG,KAAK,CAAC;YACX,SAAS,GAAG,OAAO,CAAC;YACpB,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAC7B,OAAO,GAAG,SAAS,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACjB,EAAE,GAAG,KAAK,CAAC;QACX,SAAS,GAAG,cAAc,CAAC;QAC3B,OAAO,GAAG,iBAAiB,GAAG,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;SAAM,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1C,+CAA+C;QAC/C,yCAAyC;QACzC,EAAE,GAAG,KAAK,CAAC;QACX,SAAS,GAAG,QAAQ,CAAC;QACrB,OAAO,GAAG,SAAS,QAAQ,CAAC,MAAM,IAAI,OAAO,EAAE,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,0CAA0C;QAC1C,6CAA6C;QAC7C,wBAAwB;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,OAAO,EAAE,CAAC;gBACZ,EAAE,GAAG,KAAK,CAAC;gBACX,SAAS,GAAG,eAAe,CAAC;gBAC5B,OAAO,GAAG,kBAAkB,OAAO,EAAE,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,sDAAsD;gBACtD,oDAAoD;gBACpD,gCAAgC;gBAChC,MAAM,GAAG,GAAG,MAAM,WAAW,CAC3B,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,EAC7C,IAAI,CAAC,aAAa,IAAI,CAAC,CACxB,CAAC;gBACF,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACtB,+CAA+C;oBAC/C,uDAAuD;oBACvD,SAAS,CAAC,KAAK,EAAE,CAAC;oBAClB,EAAE,GAAG,KAAK,CAAC;oBACX,SAAS,GAAG,SAAS,CAAC;oBACtB,OAAO,GAAG,0BAA0B,IAAI,CAAC,aAAa,IAAI,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,GAAG,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,EAAE,GAAG,KAAK,CAAC;YACX,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,0DAA0D;gBAC1D,+DAA+D;gBAC/D,SAAS,GAAG,SAAS,CAAC;gBACtB,OAAO,GAAG,mBAAmB,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,OAAO,CAAC;gBACpB,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;gBAC7B,OAAO,GAAG,SAAS,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IACD,iEAAiE;IACjE,IAAI,CAAC,QAAQ,CAAC,KAAK,CACjB,MAAM,EACN,iBAAiB,EACjB,iBAAiB,CAAC;QAChB,GAAG;QACH,EAAE;QACF,SAAS;QACT,SAAS,EAAE,aAAa;QACxB,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;QACf,OAAO;QACP,aAAa,EAAE,IAAI,CAAC,aAAa;KAClC,CAAC,CACH,CAAC;IAEF,OAAO,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,SAAS,CAAC,CAAY;IAC7B,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,WAAW,EAAE,CAAC,CAAC,WAAW;QAC1B,YAAY,EAAE,CAAC,CAAC,WAAyC;QACzD,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,MAAsB,EAAE,IAA6B;IACnF,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"turn.js","sourceRoot":"","sources":["../../src/engine/turn.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ export interface ModelFallbackLink {
29
29
  export type AgentStopReason =
30
30
  /** 模型自然结束(含 stop_sequence:命中 stop 序列同样是正常收尾) */
31
31
  'end_turn' | 'stop_sequence' | 'max_tokens' | 'refusal' | 'pause_turn' | 'max_iterations'
32
+ /** 声明了 resultSchema,但模型自然收尾时仍未提交合法结构化结果 */
33
+ | 'result_missing'
32
34
  /** 调用方主动取消(AbortSignal):run 未跑完,按失败收尾 */
33
35
  | 'aborted'
34
36
  /**
@@ -166,7 +168,7 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
166
168
  /**
167
169
  * 结构化结果 schema(R2):给出后 engine 追加隐藏工具 submit_result,
168
170
  * 模型调用它提交符合 schema 的最终结果,校验通过即结束循环并写入 AgentRunResult.typed;
169
- * 模型始终未提交则 typed 为 undefined(行为与不设时一致)。
171
+ * 模型自然收尾却始终未提交则以 stopReason='result_missing' 失败,typed 为 undefined。
170
172
  *
171
173
  * 泛型 S:传 `fromZod<T>(...)`(TypedSchema<T>)时,返回值 `typed` 自动是 `T | undefined`;
172
174
  * 传裸 JsonSchema 时回落 `unknown`。
@@ -256,9 +258,14 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
256
258
  */
257
259
  promptVersions?: Record<string, string>;
258
260
  /**
259
- * 会话标识:写进 run 根 span 的 `session.id` attribute(OTLP 导出时映射
261
+ * 会话标识(**引擎级**旋钮):写进 run 根 span 的 `session.id` attribute(OTLP 导出时映射
260
262
  * `gen_ai.conversation.id`),多轮对话的 run 由此可按会话聚合(thread 维度)。
261
263
  * 走 `AgentApp.run` / `executeRun` 时给了 `session` 就自动带上,不用手填。
264
+ *
265
+ * ⚠️ 生效范围只到本层(`runAgent` / `executeRun`):`AgentApp.run` **不转发**它 ——
266
+ * `RunAppOptions` 里那个同名字段继承自 `RunInvocationOptions.sessionId`(**异步宿主**的
267
+ * 可序列化会话引用,语义见 engine/spec.ts),直传给 `app.run` 会 `console.warn` 一次且
268
+ * 不生效(2026-10-12 ref-session-id-warn;此前是静默丢弃)。
262
269
  */
263
270
  sessionId?: string;
264
271
  /**
@@ -269,7 +276,7 @@ export interface RunAgentOptions<S extends JsonSchema = JsonSchema> {
269
276
  */
270
277
  approvals?: Record<string, ApprovalDecision>;
271
278
  /**
272
- * 挂起期间投递的事件(2026-09-28 ⑥;语义见 `RunInvocationOptions.events`):
279
+ * 挂起期间投递的事件(2026-09-28 ref-run-event-input;语义见 `RunInvocationOptions.events`):
273
280
  * 续跑段在未决 tool_use 解决之后渲染成 user 文本消息注入消息流,并在 run 根
274
281
  * 记 `task.event` 事件留痕(`{ injected, event_type, event_id? }` —— `injected`
275
282
  * 的口径是「注入进本段消息流」,不等于「模型已看到」)。
@@ -286,7 +293,8 @@ export interface AgentRunResult<T = unknown> {
286
293
  /** 非正常收尾时的结构化原因;正常收尾为 undefined(**字段在场**,见 RunMeta 的说明) */
287
294
  error: SpanError | undefined;
288
295
  /**
289
- * resultSchema 校验通过的结构化结果;模型没提交(或未设 resultSchema)则为 undefined。
296
+ * resultSchema 校验通过的结构化结果;未设 resultSchema 时为 undefined。
297
+ * 已设 schema 却没提交会以 result_missing 失败,此时同样为 undefined。
290
298
  * 类型由 resultSchema 推导(见 RunAgentOptions.resultSchema 的泛型说明)。
291
299
  */
292
300
  typed: T | undefined;
@@ -317,7 +325,7 @@ export interface AgentRunResult<T = unknown> {
317
325
  */
318
326
  wakeAt: number | undefined;
319
327
  /**
320
- * 本段是否把传入的 `events`(run 事件投入口,2026-09-28 ⑥)**真注入了消息历史**
328
+ * 本段是否把传入的 `events`(run 事件投入口,2026-09-28 ref-run-event-input)**真注入了消息历史**
321
329
  * (字段在场)。宿主(`AsyncRunner`)据此清 `TaskRecord.pendingEvents`:注入过 ⇒ 事件
322
330
  * 已在历史里,簿记清掉(否则注入后再次挂起的场景会在下次续跑**重复注入**);
323
331
  * 续跑入口的再挂起出口在注入点之前返回(false),簿记留住等跑通的那次。
@@ -26,6 +26,7 @@ const SUCCESS_STOP_REASON = {
26
26
  refusal: false,
27
27
  pause_turn: false,
28
28
  max_iterations: false,
29
+ result_missing: false,
29
30
  aborted: false,
30
31
  budget_exceeded: false, // 护栏拦下的,不是正常收尾
31
32
  tool_use_no_blocks: false,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAkEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,mBAAmB,GAAqC;IAC5D,aAAa;IACb,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI,EAAE,oBAAoB;IACzC,kDAAkD;IAClD,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,KAAK;IACrB,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,KAAK,EAAE,eAAe;IACvC,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,KAAK;IAC1B,KAAK,EAAE,KAAK;IACZ,mBAAmB;IACnB,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAuB;IACzD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/engine/types.ts"],"names":[],"mappings":"AAoEA;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,mBAAmB,GAAqC;IAC5D,aAAa;IACb,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI,EAAE,oBAAoB;IACzC,kDAAkD;IAClD,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK;IACjB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,OAAO,EAAE,KAAK;IACd,eAAe,EAAE,KAAK,EAAE,eAAe;IACvC,kBAAkB,EAAE,KAAK;IACzB,mBAAmB,EAAE,KAAK;IAC1B,KAAK,EAAE,KAAK;IACZ,mBAAmB;IACnB,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAuB;IACzD,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC"}
@@ -104,7 +104,7 @@ export function exportRun(trace) {
104
104
  messages.push({ role: 'user', content: results });
105
105
  }
106
106
  }
107
- // 收尾判定(2026-09-27 ⑪):整棵 trace 一行正文都没有、且本 run 没开 traceContent
107
+ // 收尾判定(2026-09-27 ref-export-training-data):整棵 trace 一行正文都没有、且本 run 没开 traceContent
108
108
  // ⇒ 缺的不只是「终端回合那句话」:**混合回合**(模型先说一句再调工具)的真实正文同样
109
109
  // 不在 trace 里,而只看「本回合有没有 tool_use」是判不出来的(那种回合按定义就是
110
110
  // 「本来没文本」)。两条合取才成立:有正文就不标(合成 / 老 trace 也照顾到),
@@ -112,7 +112,7 @@ export function exportRun(trace) {
112
112
  if (!anyTextRecorded && !textRecorded && !incomplete.includes('assistant-text')) {
113
113
  incomplete.push('assistant-text');
114
114
  }
115
- // SFT 形状(2026-09-27 ⑫):末条是 user ⇒ 这条样本**没有 loss 目标**(训练器会静默
115
+ // SFT 形状(2026-09-27 ref-export-training-data):末条是 user ⇒ 这条样本**没有 loss 目标**(训练器会静默
116
116
  // 丢掉它),而它恰恰是「run 没有终答」的形状(半截 run / 只剩工具往返)。标注出来,
117
117
  // 别让下游以为每条都能直接用:`--ok-only` 挡不住它 —— status ok ≠ 有终答。
118
118
  if (messages[messages.length - 1]?.role === 'user' &&