@migor/agentia 0.9.3 → 0.9.5

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 (201) hide show
  1. package/CHANGELOG.md +779 -1
  2. package/README.md +1 -1
  3. package/dist/AGENTS.md +320 -37
  4. package/dist/container/container.js +15 -0
  5. package/dist/container/container.js.map +1 -1
  6. package/dist/core/limits.d.ts +121 -17
  7. package/dist/core/limits.js +133 -16
  8. package/dist/core/limits.js.map +1 -1
  9. package/dist/core/line-framing.d.ts +36 -0
  10. package/dist/core/line-framing.js +39 -0
  11. package/dist/core/line-framing.js.map +1 -0
  12. package/dist/core/message.d.ts +11 -0
  13. package/dist/core/run.d.ts +68 -4
  14. package/dist/core/run.js +27 -1
  15. package/dist/core/run.js.map +1 -1
  16. package/dist/core/schema.js +59 -8
  17. package/dist/core/schema.js.map +1 -1
  18. package/dist/core/timeout.d.ts +43 -1
  19. package/dist/core/timeout.js +76 -3
  20. package/dist/core/timeout.js.map +1 -1
  21. package/dist/core/tool.d.ts +39 -1
  22. package/dist/core/trace.d.ts +40 -1
  23. package/dist/core/trace.js +26 -0
  24. package/dist/core/trace.js.map +1 -1
  25. package/dist/engine/defer.d.ts +49 -0
  26. package/dist/engine/defer.js +72 -0
  27. package/dist/engine/defer.js.map +1 -0
  28. package/dist/engine/forwarded.d.ts +14 -5
  29. package/dist/engine/forwarded.js +4 -1
  30. package/dist/engine/forwarded.js.map +1 -1
  31. package/dist/engine/loop-result.d.ts +65 -7
  32. package/dist/engine/loop-result.js +24 -5
  33. package/dist/engine/loop-result.js.map +1 -1
  34. package/dist/engine/loop.d.ts +2 -0
  35. package/dist/engine/loop.js +157 -17
  36. package/dist/engine/loop.js.map +1 -1
  37. package/dist/engine/mcp-server-http.d.ts +2 -0
  38. package/dist/engine/mcp-server-http.js +215 -0
  39. package/dist/engine/mcp-server-http.js.map +1 -0
  40. package/dist/engine/mcp-server-stdio.d.ts +15 -0
  41. package/dist/engine/mcp-server-stdio.js +106 -0
  42. package/dist/engine/mcp-server-stdio.js.map +1 -0
  43. package/dist/engine/mcp-server.d.ts +134 -0
  44. package/dist/engine/mcp-server.js +232 -0
  45. package/dist/engine/mcp-server.js.map +1 -0
  46. package/dist/engine/menu-drift.d.ts +34 -0
  47. package/dist/engine/menu-drift.js +81 -0
  48. package/dist/engine/menu-drift.js.map +1 -0
  49. package/dist/engine/policy.d.ts +2 -1
  50. package/dist/engine/policy.js +7 -1
  51. package/dist/engine/policy.js.map +1 -1
  52. package/dist/engine/replay.d.ts +2 -1
  53. package/dist/engine/replay.js +3 -2
  54. package/dist/engine/replay.js.map +1 -1
  55. package/dist/engine/resume-input.d.ts +10 -0
  56. package/dist/engine/resume-input.js +11 -0
  57. package/dist/engine/resume-input.js.map +1 -1
  58. package/dist/engine/run-config.d.ts +26 -2
  59. package/dist/engine/run-config.js +60 -0
  60. package/dist/engine/run-config.js.map +1 -1
  61. package/dist/engine/spec.d.ts +33 -4
  62. package/dist/engine/spec.js.map +1 -1
  63. package/dist/engine/tool-context.d.ts +10 -5
  64. package/dist/engine/tool-context.js +5 -1
  65. package/dist/engine/tool-context.js.map +1 -1
  66. package/dist/engine/tracer.d.ts +43 -5
  67. package/dist/engine/tracer.js +73 -10
  68. package/dist/engine/tracer.js.map +1 -1
  69. package/dist/engine/trimming.js +151 -17
  70. package/dist/engine/trimming.js.map +1 -1
  71. package/dist/engine/turn.d.ts +60 -3
  72. package/dist/engine/turn.js +180 -71
  73. package/dist/engine/turn.js.map +1 -1
  74. package/dist/engine/types.d.ts +89 -3
  75. package/dist/engine/types.js +38 -2
  76. package/dist/engine/types.js.map +1 -1
  77. package/dist/engine/usage.d.ts +22 -3
  78. package/dist/engine/usage.js +47 -6
  79. package/dist/engine/usage.js.map +1 -1
  80. package/dist/eval/export.d.ts +48 -0
  81. package/dist/eval/export.js +146 -0
  82. package/dist/eval/export.js.map +1 -0
  83. package/dist/eval/harvest.js +7 -2
  84. package/dist/eval/harvest.js.map +1 -1
  85. package/dist/index.d.ts +8 -5
  86. package/dist/index.js +6 -1
  87. package/dist/index.js.map +1 -1
  88. package/dist/integrations/adapter-options.d.ts +22 -0
  89. package/dist/integrations/adapter-options.js +51 -0
  90. package/dist/integrations/adapter-options.js.map +1 -1
  91. package/dist/integrations/anthropic.d.ts +4 -2
  92. package/dist/integrations/anthropic.js +27 -27
  93. package/dist/integrations/anthropic.js.map +1 -1
  94. package/dist/integrations/file-sink.d.ts +20 -0
  95. package/dist/integrations/file-sink.js +27 -0
  96. package/dist/integrations/file-sink.js.map +1 -0
  97. package/dist/integrations/mcp-http.d.ts +3 -3
  98. package/dist/integrations/mcp-http.js +1 -1
  99. package/dist/integrations/mcp-http.js.map +1 -1
  100. package/dist/integrations/mcp-protocol.d.ts +115 -0
  101. package/dist/integrations/mcp-protocol.js +69 -0
  102. package/dist/integrations/mcp-protocol.js.map +1 -0
  103. package/dist/integrations/mcp-stdio.d.ts +3 -3
  104. package/dist/integrations/mcp-stdio.js +17 -3
  105. package/dist/integrations/mcp-stdio.js.map +1 -1
  106. package/dist/integrations/mcp.d.ts +6 -95
  107. package/dist/integrations/mcp.js +24 -66
  108. package/dist/integrations/mcp.js.map +1 -1
  109. package/dist/integrations/metrics-otlp.js +52 -7
  110. package/dist/integrations/metrics-otlp.js.map +1 -1
  111. package/dist/integrations/metrics-render.d.ts +15 -0
  112. package/dist/integrations/metrics-render.js +79 -2
  113. package/dist/integrations/metrics-render.js.map +1 -1
  114. package/dist/integrations/metrics-state.d.ts +99 -1
  115. package/dist/integrations/metrics-state.js +128 -4
  116. package/dist/integrations/metrics-state.js.map +1 -1
  117. package/dist/integrations/metrics.d.ts +62 -6
  118. package/dist/integrations/metrics.js +49 -8
  119. package/dist/integrations/metrics.js.map +1 -1
  120. package/dist/integrations/openai.js +9 -31
  121. package/dist/integrations/openai.js.map +1 -1
  122. package/dist/integrations/otlp.d.ts +3 -3
  123. package/dist/integrations/report.d.ts +7 -0
  124. package/dist/integrations/report.js +20 -1
  125. package/dist/integrations/report.js.map +1 -1
  126. package/dist/runtime/memory.d.ts +61 -1
  127. package/dist/runtime/memory.js +47 -7
  128. package/dist/runtime/memory.js.map +1 -1
  129. package/dist/runtime/run.d.ts +12 -2
  130. package/dist/runtime/run.js +112 -15
  131. package/dist/runtime/run.js.map +1 -1
  132. package/dist/store/fsStore.js +10 -4
  133. package/dist/store/fsStore.js.map +1 -1
  134. package/dist/store/record.d.ts +41 -0
  135. package/dist/store/record.js +54 -0
  136. package/dist/store/record.js.map +1 -0
  137. package/dist/store/redisStore.d.ts +3 -1
  138. package/dist/store/redisStore.js +21 -7
  139. package/dist/store/redisStore.js.map +1 -1
  140. package/dist/store/sqliteStore.d.ts +23 -0
  141. package/dist/store/sqliteStore.js +103 -8
  142. package/dist/store/sqliteStore.js.map +1 -1
  143. package/dist/store/store.d.ts +65 -2
  144. package/dist/store/store.js +5 -2
  145. package/dist/store/store.js.map +1 -1
  146. package/dist/toolkit/capability-cycles.d.ts +50 -0
  147. package/dist/toolkit/capability-cycles.js +88 -0
  148. package/dist/toolkit/capability-cycles.js.map +1 -0
  149. package/dist/toolkit/capability-slice.d.ts +86 -0
  150. package/dist/toolkit/capability-slice.js +98 -0
  151. package/dist/toolkit/capability-slice.js.map +1 -0
  152. package/dist/toolkit/module.d.ts +7 -1
  153. package/dist/toolkit/module.js +65 -32
  154. package/dist/toolkit/module.js.map +1 -1
  155. package/dist/transport/approval-policy.d.ts +1 -1
  156. package/dist/transport/approval-policy.js +8 -4
  157. package/dist/transport/approval-policy.js.map +1 -1
  158. package/dist/transport/async.d.ts +197 -18
  159. package/dist/transport/async.js +871 -85
  160. package/dist/transport/async.js.map +1 -1
  161. package/dist/transport/drain-gate.d.ts +6 -2
  162. package/dist/transport/drain-gate.js +14 -2
  163. package/dist/transport/drain-gate.js.map +1 -1
  164. package/dist/transport/http-endpoints.d.ts +151 -0
  165. package/dist/transport/http-endpoints.js +480 -0
  166. package/dist/transport/http-endpoints.js.map +1 -0
  167. package/dist/transport/http-io.d.ts +66 -0
  168. package/dist/transport/http-io.js +145 -0
  169. package/dist/transport/http-io.js.map +1 -0
  170. package/dist/transport/http-route.d.ts +10 -3
  171. package/dist/transport/http-route.js +18 -3
  172. package/dist/transport/http-route.js.map +1 -1
  173. package/dist/transport/http-shapes.d.ts +11 -0
  174. package/dist/transport/http-shapes.js +31 -1
  175. package/dist/transport/http-shapes.js.map +1 -1
  176. package/dist/transport/http.d.ts +22 -35
  177. package/dist/transport/http.js +110 -467
  178. package/dist/transport/http.js.map +1 -1
  179. package/dist/transport/owner-id.d.ts +29 -0
  180. package/dist/transport/owner-id.js +46 -0
  181. package/dist/transport/owner-id.js.map +1 -0
  182. package/dist/transport/owner-liveness.d.ts +8 -0
  183. package/dist/transport/owner-liveness.js +56 -0
  184. package/dist/transport/owner-liveness.js.map +1 -0
  185. package/dist/transport/resume-policy.d.ts +48 -10
  186. package/dist/transport/resume-policy.js +25 -10
  187. package/dist/transport/resume-policy.js.map +1 -1
  188. package/dist/transport/scheduler.js +23 -24
  189. package/dist/transport/scheduler.js.map +1 -1
  190. package/dist/transport/slot-pool.d.ts +9 -1
  191. package/dist/transport/slot-pool.js +9 -1
  192. package/dist/transport/slot-pool.js.map +1 -1
  193. package/dist/transport/sse.js +8 -0
  194. package/dist/transport/sse.js.map +1 -1
  195. package/dist/transport/task-events.d.ts +34 -3
  196. package/dist/transport/task-events.js +86 -5
  197. package/dist/transport/task-events.js.map +1 -1
  198. package/dist/transport/wake-policy.d.ts +50 -0
  199. package/dist/transport/wake-policy.js +43 -0
  200. package/dist/transport/wake-policy.js.map +1 -0
  201. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-render.js","sourceRoot":"","sources":["../../src/integrations/metrics-render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics-render.js","sourceRoot":"","sources":["../../src/integrations/metrics-render.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Trace } from '../core/trace.js';
1
+ import type { SpanId, Trace, TraceId } from '../core/trace.js';
2
2
  /**
3
3
  * metricsSink 的**状态层**:进程内累加器 + 快照(本文件)与渲染/导出(`metrics-render.ts` /
4
4
  * `metrics-otlp.ts`)分离。本文件只管「账」,不管「怎么给人看 / 怎么发出去」。
@@ -28,6 +28,12 @@ export interface ModelMetrics {
28
28
  costUsd: number;
29
29
  /** 成本估不出来的 turn 数(模型不在价格表内,且未用 priceOverrides 覆盖)*/
30
30
  unpricedTurns: number;
31
+ /**
32
+ * 上游**没回报 usage** 的 turn 数(2026-09-28 外部深评 S2)。
33
+ * 与 `unpricedTurns` 是两件事:那个是「模型不在价格表里」,这个是「上游没给计量」——
34
+ * 两者都会让成本**看起来**是 0,但排障方向不同(换模型 vs 查端点/网关)。
35
+ */
36
+ usageMissingTurns: number;
31
37
  latencyP50: number;
32
38
  latencyP95: number;
33
39
  }
@@ -40,6 +46,48 @@ export interface ScoreMetrics {
40
46
  /** 评分值合计(平均 = sum / count) */
41
47
  sum: number;
42
48
  }
49
+ /** 归因标签维度的 run 级指标(R8-P4;`snapshot().runLabels[key]`,key 为 `k=v` 逗号连) */
50
+ export interface RunLabelMetrics {
51
+ runs: number;
52
+ failed: number;
53
+ /** 四类 token 之和(与 run 级 tokens 口径一致) */
54
+ tokens: number;
55
+ /** 累计成本估算(美元);未定价的 run 不计入(与全局 costUsd 同口径) */
56
+ costUsd: number;
57
+ }
58
+ /**
59
+ * runLabels 的内部累加器:比快照形状多带一份 `pairs`(渲染/出口按它拼标签,
60
+ * 不从 combo 键反解 —— 值里含 `,`/`=` 时反解会碎)。
61
+ */
62
+ export interface RunLabelAcc extends RunLabelMetrics {
63
+ /** 已过完各自 KeyBudget 的 `[key, value]` 对(顺序 = 配置的 labelKeys 顺序) */
64
+ pairs: readonly (readonly [string, string])[];
65
+ }
66
+ /**
67
+ * exemplar 槽位内容:指向「哪条 run」的最小引用(traceId + 根 spanId + 记账时刻)。
68
+ * 内部存**原始 id**,hex 投影(`wireTraceId` / `wireSpanId`)在各自出口做(单一真源在 core/trace.ts)。
69
+ */
70
+ export interface RunExemplar {
71
+ traceId: TraceId;
72
+ /** run 根 span 的 id —— OTLP exemplar 的 spanId 字段(跳到具体 span,不只是整条 trace) */
73
+ spanId: SpanId;
74
+ /** 记账时刻(epoch 毫秒)—— OTLP 的 timeUnixNano / OpenMetrics 行尾时间戳都从它派生 */
75
+ at: number;
76
+ }
77
+ /** `snapshot().exemplars` 的形状 —— 「指标尖峰 → 那条 trace」的桥(只给读侧,不含 spanId 细节) */
78
+ export interface ExemplarSnapshot {
79
+ /** `runs_failed_total` 的 exemplar:**最近一次**失败的 run;尚无失败时 undefined */
80
+ failed: {
81
+ traceId: TraceId;
82
+ at: number;
83
+ } | undefined;
84
+ /** `run_duration_ms` 的 exemplar:迄今**最慢**的一次 run;尚无时长样本时 undefined */
85
+ slowest: {
86
+ traceId: TraceId;
87
+ durationMs: number;
88
+ at: number;
89
+ } | undefined;
90
+ }
43
91
  /** 进程内累计快照(`snapshot()` 返回) */
44
92
  export interface MetricsSnapshot {
45
93
  /** 投递过 trace 的 run 总数(= `export` 被调用次数) */
@@ -74,6 +122,23 @@ export interface MetricsSnapshot {
74
122
  droppedModels: number;
75
123
  /** 因 `maxScores` 上限被归入 `__other__` 的不同评分维度数 */
76
124
  droppedScores: number;
125
+ /**
126
+ * 归因标签维度(R8-P4):`metricsSink({ labelKeys })` 显式点名的键才有 —— 缺省为空对象
127
+ * (一个都不上)。key 为 `k=v` 逗号连(如 `tenant=acme,plan=pro`,值里的 `,`/`=`/`\`
128
+ * 经转义);每个键的相异值数受 `maxLabelValues` 封顶,**组合数**受 `maxLabelCombos`
129
+ * 封顶(超出的组合折叠进一个全 `__other__` 的桶),两处折叠都只丢标签粒度、不丢量。
130
+ */
131
+ runLabels: Record<string, RunLabelMetrics>;
132
+ /** 每个已配置 labelKey 被 `maxLabelValues` 折叠的不同值数(只含配置了的键) */
133
+ droppedLabelValues: Record<string, number>;
134
+ /** 被 `maxLabelCombos` 折叠的不同标签组合数(未配置 labelKeys 时恒 0) */
135
+ droppedLabelCombos: number;
136
+ /**
137
+ * exemplar(指标 → trace 的桥,2026-09-27):只跟踪价值最高的两个槽位 ——
138
+ * 失败 counter 的「最近一次」与 run 时长 histogram 的「最慢一次」。
139
+ * 不做 per-能力/per-模型:基数上限封的是标签,挡不住「每键一个槽位」的扩散。
140
+ */
141
+ exemplars: ExemplarSnapshot;
77
142
  }
78
143
  /**
79
144
  * 标签基数配额:三个维度共用的「有界键空间」。
@@ -140,6 +205,7 @@ export interface ModelAcc {
140
205
  tokens: number;
141
206
  costUsd: number;
142
207
  unpricedTurns: number;
208
+ usageMissingTurns: number;
143
209
  stat: DurationStat;
144
210
  }
145
211
  /**
@@ -181,9 +247,35 @@ export declare class MetricsState {
181
247
  readonly models: Map<string, ModelAcc>;
182
248
  /** 评分累加器:key = `${name}\t${source}`(source 缺省 '';\t 不会出现在正常评分名里,做天然分隔符) */
183
249
  readonly scores: Map<string, ScoreMetrics>;
250
+ /**
251
+ * exemplar 槽位(各一个,O(1),无界风险为零)—— 「指标尖峰 → 那条 trace」的桥。
252
+ * 失败是**覆盖式**(尖峰时要看的是最新的那条);最慢是**破纪录才换**
253
+ * (等值保留旧的:「最慢」是稳定锚点,不该被同速的新 run 顶来顶去)。
254
+ */
255
+ failedExemplar: RunExemplar | undefined;
256
+ slowestExemplar: (RunExemplar & {
257
+ durationMs: number;
258
+ }) | undefined;
184
259
  readonly capBudget: KeyBudget;
185
260
  readonly modelBudget: KeyBudget;
186
261
  readonly scoreBudget: KeyBudget;
262
+ /**
263
+ * 归因标签维度(R8-P4):combo 键(`k=v` 逗号连,值经转义)→ 累加器。
264
+ * 与上面三个维度不同:这里**没有** per-combo 时长窗口(时长直方图 × 标签组合的内存
265
+ * 是 cap × windowSize 的另一份乘法,收益不抵代价),只有四个计数。
266
+ * ⚠️ 键是 `labelCombo()` 的产物:值里的 `,` / `=` / `\` 会被转义 —— 裸拼接会让
267
+ * 两个不同的标签集拼出同一个键(2026-09-27 ⑧ 实测:`a="x,b=y",b="z"` 与
268
+ * `a="x",b="y,b=z"` 撞成一个键 ⇒ 后者被并进前者的账、还按前者的标签渲染)。
269
+ */
270
+ readonly runLabels: Map<string, RunLabelAcc>;
271
+ /** 每个配置的 labelKey 一本基数配额(构造时按 labelKeys 建齐) */
272
+ readonly labelBudgets: Map<string, KeyBudget>;
273
+ /**
274
+ * combo 键空间的配额(R8-P4 补课,2026-09-27 ⑧):**组合数**才是真正的基数维度 ——
275
+ * 每键一本配额只封住值域,combo 是叉乘(`(maxLabelValues+1)^labelKeys.length`),
276
+ * 缺省 100 键域 + 3 键就是一百万条常驻条目,而 `droppedLabelValues` 一行都看不见它。
277
+ */
278
+ readonly comboBudget: KeyBudget;
187
279
  constructor(opts: {
188
280
  windowSize: number;
189
281
  maxCapabilities: number;
@@ -191,6 +283,12 @@ export declare class MetricsState {
191
283
  maxScores: number;
192
284
  labelMode: 'capability' | 'kind' | 'none';
193
285
  buckets: readonly number[];
286
+ /** 归因标签键(已过 metrics.ts 的形状校验;空数组 = 维度整个关掉) */
287
+ labelKeys: readonly string[];
288
+ /** 每个 labelKey 的相异值上限(构造期已保证正数) */
289
+ maxLabelValues: number;
290
+ /** combo(标签组合)数上限(构造期已保证正数) */
291
+ maxLabelCombos: number;
194
292
  });
195
293
  private newCapability;
196
294
  /** 能力标签分配:labelMode 决定粒度,capBudget 决定基数上限 */
@@ -1,7 +1,23 @@
1
1
  import { capabilityKindOf } from '../core/trace.js';
2
+ import { TOOL_OUTPUT_EVENT, USAGE_MISSING_EVENT } from '../core/trace.js';
2
3
  import { percentile } from '../core/stats.js';
3
- /** 超过基数上限后新键的兜底标签(能力 / 模型 / 评分三个维度共用) */
4
+ /** 超过基数上限后新键的兜底标签(能力 / 模型 / 评分 / 标签组合四个维度共用) */
4
5
  const OTHER_LABEL = '__other__';
6
+ /**
7
+ * 标签 combo 的**身份**:`k=v` 逗号连,但值里的 `,` / `=` / `\` 先转义。
8
+ *
9
+ * 为什么不能裸拼:这个字符串同时是 Map 的 identity(不只是展示形)。裸拼时
10
+ * `[a='x,b=y', b='z']` 与 `[a='x', b='y,b=z']` 都拼成 `a=x,b=y,b=z` —— 两个不同的
11
+ * 标签集并进同一本账,且 `pairs` 只留第一次那份 ⇒ 后者的量被挂在前者的标签下
12
+ * (2026-09-27 ⑧ 实测)。转义之后正常值(不含这三个字符的)拼法与展示形**逐字不变**,
13
+ * 只有病态值才多出反斜杠,而那是它唯一的无歧义写法。
14
+ *
15
+ * 渲染侧不复用它 —— 那边的标签逐键从 `pairs` 出来(Prometheus 只要求转义值里的
16
+ * `"` 与 `\`),所以这里多出来的转义不会漏进指标文本。
17
+ */
18
+ const labelCombo = (pairs) => pairs.map(([k, v]) => `${k}=${escCombo(v)}`).join(',');
19
+ /** `,` / `=` / `\` 三个字符按 `\` 前缀转义(键是合法标签名,用不到,但转义对两者都做) */
20
+ const escCombo = (s) => s.replace(/[\\,=]/g, (c) => `\\${c}`);
5
21
  /**
6
22
  * 折叠计数最多记这么多个**不同**键(每个维度各一本)。计数只用于报警「基数爆了」,
7
23
  * 不值得为它留一本无界的账 —— 那等于把上限又拆掉一角。正常上限(50~200)下这个数
@@ -172,16 +188,44 @@ export class MetricsState {
172
188
  models = new Map();
173
189
  /** 评分累加器:key = `${name}\t${source}`(source 缺省 '';\t 不会出现在正常评分名里,做天然分隔符) */
174
190
  scores = new Map();
191
+ /**
192
+ * exemplar 槽位(各一个,O(1),无界风险为零)—— 「指标尖峰 → 那条 trace」的桥。
193
+ * 失败是**覆盖式**(尖峰时要看的是最新的那条);最慢是**破纪录才换**
194
+ * (等值保留旧的:「最慢」是稳定锚点,不该被同速的新 run 顶来顶去)。
195
+ */
196
+ failedExemplar;
197
+ slowestExemplar;
175
198
  // 三个维度的键空间都封在这些配额里 —— 没有它们,三张 Map 与各自的时长窗口都是无界的
176
199
  capBudget;
177
200
  modelBudget;
178
201
  scoreBudget;
202
+ /**
203
+ * 归因标签维度(R8-P4):combo 键(`k=v` 逗号连,值经转义)→ 累加器。
204
+ * 与上面三个维度不同:这里**没有** per-combo 时长窗口(时长直方图 × 标签组合的内存
205
+ * 是 cap × windowSize 的另一份乘法,收益不抵代价),只有四个计数。
206
+ * ⚠️ 键是 `labelCombo()` 的产物:值里的 `,` / `=` / `\` 会被转义 —— 裸拼接会让
207
+ * 两个不同的标签集拼出同一个键(2026-09-27 ⑧ 实测:`a="x,b=y",b="z"` 与
208
+ * `a="x",b="y,b=z"` 撞成一个键 ⇒ 后者被并进前者的账、还按前者的标签渲染)。
209
+ */
210
+ runLabels = new Map();
211
+ /** 每个配置的 labelKey 一本基数配额(构造时按 labelKeys 建齐) */
212
+ labelBudgets = new Map();
213
+ /**
214
+ * combo 键空间的配额(R8-P4 补课,2026-09-27 ⑧):**组合数**才是真正的基数维度 ——
215
+ * 每键一本配额只封住值域,combo 是叉乘(`(maxLabelValues+1)^labelKeys.length`),
216
+ * 缺省 100 键域 + 3 键就是一百万条常驻条目,而 `droppedLabelValues` 一行都看不见它。
217
+ */
218
+ comboBudget;
179
219
  constructor(opts) {
180
220
  this.opts = opts;
181
221
  this.runStat = new DurationStat(opts.windowSize, opts.buckets);
182
222
  this.capBudget = new KeyBudget(opts.maxCapabilities);
183
223
  this.modelBudget = new KeyBudget(opts.maxModels);
184
224
  this.scoreBudget = new KeyBudget(opts.maxScores);
225
+ for (const key of opts.labelKeys) {
226
+ this.labelBudgets.set(key, new KeyBudget(opts.maxLabelValues));
227
+ }
228
+ this.comboBudget = new KeyBudget(opts.maxLabelCombos);
185
229
  }
186
230
  newCapability() {
187
231
  return {
@@ -202,8 +246,10 @@ export class MetricsState {
202
246
  }
203
247
  accumulate(trace) {
204
248
  this.runs++;
205
- if (trace.status === 'error')
249
+ if (trace.status === 'error') {
206
250
  this.failed++;
251
+ this.failedExemplar = { traceId: trace.traceId, spanId: trace.rootSpanId, at: Date.now() };
252
+ }
207
253
  const u = trace.totalUsage;
208
254
  this.tokens.input += u.inputTokens;
209
255
  this.tokens.output += u.outputTokens;
@@ -212,8 +258,17 @@ export class MetricsState {
212
258
  if (u.costEstimate != null)
213
259
  this.costUsd += u.costEstimate;
214
260
  const d = runDurationMs(trace);
215
- if (d !== undefined)
261
+ if (d !== undefined) {
216
262
  this.runStat.add(d);
263
+ if (this.slowestExemplar === undefined || d > this.slowestExemplar.durationMs) {
264
+ this.slowestExemplar = {
265
+ traceId: trace.traceId,
266
+ spanId: trace.rootSpanId,
267
+ durationMs: d,
268
+ at: Date.now(),
269
+ };
270
+ }
271
+ }
217
272
  // —— 评分(R7):只认根 span 的 score 事件(attachScore 的写入位置);
218
273
  // body 宽容读取 —— name 不是 string / value 不是有限 number 就跳过,观测不击穿业务
219
274
  const rootSpan = trace.spans.find((s) => s.spanId === trace.rootSpanId);
@@ -237,6 +292,35 @@ export class MetricsState {
237
292
  this.scores.set(key, acc);
238
293
  }
239
294
  }
295
+ // —— 归因标签(R8-P4):只在显式配置了 labelKeys 时记账。值从 run 根的
296
+ // `labels.<key>` 属性读(loop.ts 写入),缺键/非字符串一律按 '' 计(观测宽容读取,
297
+ // 不击穿业务);每个值先过它那一键的 KeyBudget,超限折叠进 `__other__`。
298
+ if (this.opts.labelKeys.length > 0 && rootSpan) {
299
+ const perKey = [];
300
+ for (const key of this.opts.labelKeys) {
301
+ const raw = rootSpan.attributes[`labels.${key}`];
302
+ const value = typeof raw === 'string' ? raw : '';
303
+ perKey.push([key, this.labelBudgets.get(key).take(value)]);
304
+ }
305
+ // combo 数上限(2026-09-27 ⑧):每键配额只封住值域,**组合数**是叉乘、才是真正的
306
+ // 基数维度(缺省 100 值域 × 3 键 = 一百万)。超限后**新的**组合全折进一个桶,
307
+ // 量照收、只丢标签粒度 —— 与另外三道上限同款,且折叠发生必须可见
308
+ // (`snapshot().droppedLabelCombos` / `dropped_keys{kind="label:combos"}`)。
309
+ const rawCombo = labelCombo(perKey);
310
+ const kept = this.comboBudget.take(rawCombo);
311
+ const pairs = kept === rawCombo
312
+ ? perKey
313
+ : this.opts.labelKeys.map((key) => [key, OTHER_LABEL]);
314
+ const combo = kept === rawCombo ? rawCombo : labelCombo(pairs);
315
+ const acc = this.runLabels.get(combo) ?? { runs: 0, failed: 0, tokens: 0, costUsd: 0, pairs };
316
+ acc.runs++;
317
+ if (trace.status === 'error')
318
+ acc.failed++;
319
+ acc.tokens += u.inputTokens + u.outputTokens + u.cacheReadTokens + u.cacheCreationTokens;
320
+ if (u.costEstimate != null)
321
+ acc.costUsd += u.costEstimate;
322
+ this.runLabels.set(combo, acc);
323
+ }
240
324
  for (const span of trace.spans) {
241
325
  if (span.kind === 'capability') {
242
326
  const label = this.labelFor(capabilityKindOf(span), span.name);
@@ -269,6 +353,7 @@ export class MetricsState {
269
353
  tokens: 0,
270
354
  costUsd: 0,
271
355
  unpricedTurns: 0,
356
+ usageMissingTurns: 0,
272
357
  stat: new DurationStat(this.opts.windowSize, this.opts.buckets),
273
358
  };
274
359
  acc.turns++;
@@ -288,7 +373,11 @@ export class MetricsState {
288
373
  this.models.set(model, acc);
289
374
  // 普通工具的耗时/成败在 turn 的 tool.output 事件上(E1)—— 能力指标的另一路数据源
290
375
  for (const e of span.events) {
291
- if (e.name !== 'tool.output')
376
+ // 上游没报计量的回合(S2):与 unpriced **分开数** —— 那个是「模型没定价」,
377
+ // 这个是「上游没给读数」,排障方向不同
378
+ if (e.name === USAGE_MISSING_EVENT)
379
+ acc.usageMissingTurns++;
380
+ if (e.name !== TOOL_OUTPUT_EVENT)
292
381
  continue;
293
382
  const body = e.body;
294
383
  if (!body || typeof body !== 'object' || typeof body.tool !== 'string')
@@ -327,6 +416,7 @@ export class MetricsState {
327
416
  tokens: acc.tokens,
328
417
  costUsd: acc.costUsd,
329
418
  unpricedTurns: acc.unpricedTurns,
419
+ usageMissingTurns: acc.usageMissingTurns,
330
420
  latencyP50: acc.stat.percentile(0.5),
331
421
  latencyP95: acc.stat.percentile(0.95),
332
422
  };
@@ -341,6 +431,19 @@ export class MetricsState {
341
431
  const { name, source } = scoreLabels(key);
342
432
  scoreOut[source === '' ? name : `${name}@${source}`] = { ...acc };
343
433
  }
434
+ const runLabelOut = {};
435
+ for (const [combo, acc] of this.runLabels) {
436
+ runLabelOut[combo] = {
437
+ runs: acc.runs,
438
+ failed: acc.failed,
439
+ tokens: acc.tokens,
440
+ costUsd: acc.costUsd,
441
+ };
442
+ }
443
+ const droppedLabelValues = {};
444
+ for (const key of this.opts.labelKeys) {
445
+ droppedLabelValues[key] = this.labelBudgets.get(key).dropped;
446
+ }
344
447
  return {
345
448
  runs: this.runs,
346
449
  failed: this.failed,
@@ -351,9 +454,24 @@ export class MetricsState {
351
454
  capabilities: capabilityOut,
352
455
  models: modelOut,
353
456
  scores: scoreOut,
457
+ runLabels: runLabelOut,
458
+ droppedLabelValues,
459
+ droppedLabelCombos: this.comboBudget.dropped,
354
460
  droppedCapabilities: this.capBudget.dropped,
355
461
  droppedModels: this.modelBudget.dropped,
356
462
  droppedScores: this.scoreBudget.dropped,
463
+ exemplars: {
464
+ failed: this.failedExemplar
465
+ ? { traceId: this.failedExemplar.traceId, at: this.failedExemplar.at }
466
+ : undefined,
467
+ slowest: this.slowestExemplar
468
+ ? {
469
+ traceId: this.slowestExemplar.traceId,
470
+ durationMs: this.slowestExemplar.durationMs,
471
+ at: this.slowestExemplar.at,
472
+ }
473
+ : undefined,
474
+ },
357
475
  };
358
476
  }
359
477
  reset() {
@@ -369,12 +487,18 @@ export class MetricsState {
369
487
  this.tokens.cacheRead = 0;
370
488
  this.tokens.cacheCreation = 0;
371
489
  this.runStat.reset();
490
+ this.failedExemplar = undefined;
491
+ this.slowestExemplar = undefined;
372
492
  this.capabilities.clear();
373
493
  this.models.clear();
374
494
  this.scores.clear();
495
+ this.runLabels.clear();
375
496
  this.capBudget.reset();
376
497
  this.modelBudget.reset();
377
498
  this.scoreBudget.reset();
499
+ for (const budget of this.labelBudgets.values())
500
+ budget.reset();
501
+ this.comboBudget.reset();
378
502
  }
379
503
  }
380
504
  //# sourceMappingURL=metrics-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"metrics-state.js","sourceRoot":"","sources":["../../src/integrations/metrics-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics-state.js","sourceRoot":"","sources":["../../src/integrations/metrics-state.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { TraceSink } from '../core/trace.js';
2
2
  import type { MetricsSnapshot } from './metrics-state.js';
3
- export type { CapabilityMetrics, ModelMetrics, ScoreMetrics, MetricsSnapshot, } from './metrics-state.js';
3
+ export type { CapabilityMetrics, ExemplarSnapshot, ModelMetrics, ScoreMetrics, RunLabelMetrics, MetricsSnapshot, } from './metrics-state.js';
4
4
  export { MetricsExportError } from './metrics-otlp.js';
5
5
  /**
6
6
  * Agentia —— 指标(D3 → 可观测下沉 E2/E3/E4/E5)。
@@ -22,16 +22,25 @@ export { MetricsExportError } from './metrics-otlp.js';
22
22
  * - **histogram**(`*_bucket` / `*_sum` / `*_count`,累积语义)—— 抓取端可跨实例任意聚合;
23
23
  * - **窗口内精确分位**(`*_last{quantile=...}` gauge)—— 单实例排障时更好读。
24
24
  *
25
- * 零依赖:Prometheus 文本与 OTLP/JSON 都手写(纯文本 / JSON,不值得为此引客户端库)。
25
+ * **exemplars**(指标 → trace 的桥):记账时跟踪两个槽位 —— 失败 counter 挂「最近一次失败
26
+ * run」、run 时长 histogram 挂「迄今最慢的一次 run」(口径见 `MetricsSnapshot.exemplars`)。
27
+ * 出口:`'openmetrics'` 文本模式(样本行尾 `# {trace_id=…}`)与 OTLP(数据点原生
28
+ * exemplars 字段);缺省 `'prometheus'` 文本**不支持** exemplar,输出不含它。
29
+ *
30
+ * 零依赖:Prometheus/OpenMetrics 文本与 OTLP/JSON 都手写(纯文本 / JSON,不值得为此引客户端库)。
26
31
  */
27
32
  export interface MetricsSinkOptions {
28
33
  /**
29
34
  * 输出形态:
30
35
  * - `'prometheus'`(缺省)—— `render()` 出 Prometheus 文本,宿主挂到 `GET /metrics`;
31
- * - `'otlp'` —— 用全局 `fetch` POST 到 `${endpoint}/v1/metrics`(OTLP/JSON,零依赖)。
36
+ * - `'openmetrics'` —— 同为拉取式,但 `render()` 出 **OpenMetrics 文本**(样本行尾挂
37
+ * exemplar `# {trace_id="…"}`、文件以 `# EOF` 收尾)—— 「指标尖峰 → 那条 trace」的桥。
38
+ * 宿主需以 `application/openmetrics-text` 提供该端点(Prometheus 按 0.0.4 抓取会丢掉 exemplar);
39
+ * - `'otlp'` —— 用全局 `fetch` POST 到 `${endpoint}/v1/metrics`(OTLP/JSON,零依赖;
40
+ * exemplar 是 OTLP 的原生字段,随数据点一并发出)。
32
41
  * 必须给 `endpoint`(不给就构造期抛错,比"静默不导出"好)。
33
42
  */
34
- export?: 'prometheus' | 'otlp';
43
+ export?: 'prometheus' | 'openmetrics' | 'otlp';
35
44
  /** `export:'otlp'` 的采集端基地址,例如 http://localhost:4318(尾部斜杠会被去掉) */
36
45
  endpoint?: string;
37
46
  /**
@@ -93,14 +102,61 @@ export interface MetricsSinkOptions {
93
102
  * 条数 / 总和照常累加,被折叠的不同评分维度数见 `snapshot().droppedScores`。
94
103
  */
95
104
  maxScores?: number;
105
+ /**
106
+ * 归因标签维度(R8-P4):**显式点名** run 根 `labels.<key>` 里的哪些键上指标标签,
107
+ * 缺省 `[]`(一个都不上 —— run 根属性照样记,只是不进指标)。
108
+ * 键必须是合法的 Prometheus 标签名(`/^[a-zA-Z_][a-zA-Z0-9_]*$/`),否则构造期抛错。
109
+ *
110
+ * 出口形态:`runs_total` / `runs_failed_total` / `tokens_total` / `cost_usd_total`
111
+ * 四个家族在全局样本之外**追加**带标签的样本(如 `runs_total{tenant="acme"}`)——
112
+ * 全局样本仍在(不带标签的那行就是总量)。⚠️ 查询侧注意:开了 labelKeys 后
113
+ * `sum(agentia_runs_total)` 会把全局行与分行**重复计数**,总量用不带标签的序列。
114
+ *
115
+ * ⚠️ 每个键的相异**值**数受 `maxLabelValues` 封顶,超出归入 `__other__`(折叠只丢
116
+ * 标签粒度不丢量,与 maxModels 同款)。光 opt-in 挡不住「我知道有几千租户、
117
+ * 我偏要上」—— sink 的内存不变量(上限 × 窗口 = 常驻内存上界)要求每个新基数
118
+ * 维度都有 cap,所以这道上限不可关。
119
+ */
120
+ labelKeys?: readonly string[];
121
+ /**
122
+ * 每个 labelKey 的相异值数上限(缺省 100,**必须为正数**)。
123
+ * 超出后新值归入 `__other__`;被折叠的不同值数见 `snapshot().droppedLabelValues`。
124
+ */
125
+ maxLabelValues?: number;
126
+ /**
127
+ * **标签组合数**上限(缺省 200,**必须为正数**)。
128
+ *
129
+ * 为什么需要它:`maxLabelValues` 封的是**每个键的值域**,而进内存的是键的组合 ——
130
+ * 组合数是叉乘(`(maxLabelValues+1)^labelKeys.length`),缺省值域 100 配 3 个键就是
131
+ * 一百万条常驻条目,且 `droppedLabelValues` 只报每键的折叠数、看不出组合已经爆了
132
+ * (2026-09-27 ⑧ 实测的静默失效)。这道上限与 `maxCapabilities` / `maxModels` /
133
+ * `maxScores` 同款:超限后**新的组合**折叠进一个全 `__other__` 的桶(量照收,只丢
134
+ * 标签粒度),被折叠的组合数见 `snapshot().droppedLabelCombos` 与
135
+ * `agentia_dropped_keys{kind="label:combos"}`。**不可关** —— 内存不变量要求每个新
136
+ * 基数维度都有 cap,opt-in 挡不住「明知有几千租户偏要上」。
137
+ *
138
+ * 单键配置(最常见)下组合数 ≈ 值数,这道上限不改变行为。
139
+ */
140
+ maxLabelCombos?: number;
96
141
  /** 时长直方图的桶边界(毫秒,升序);缺省见 DEFAULT_BUCKETS */
97
142
  buckets?: readonly number[];
98
143
  }
99
144
  export interface MetricsSink extends TraceSink {
100
145
  snapshot(): MetricsSnapshot;
101
- /** Prometheus 文本格式(`text/plain; version=0.0.4`),零依赖手写 */
146
+ /**
147
+ * 文本格式渲染(零依赖手写):`export:'prometheus'`(缺省)出 `text/plain; version=0.0.4`,
148
+ * `export:'openmetrics'` 出 OpenMetrics 文本(带 exemplar、以 `# EOF` 收尾)。
149
+ * 宿主端点直接读 `contentType` 当响应头即可(框架内置的 `/metrics` 路由就是这么做的)。
150
+ */
102
151
  render(): string;
103
- /** 主动导出一次(`export:'otlp'` 时有意义;prometheus 模式为空操作)。失败按 onExportError 处理 */
152
+ /**
153
+ * `render()` 产物的 Content-Type(随 `export` 模式走):内置 `/metrics` 路由读它发响应头,
154
+ * 自己挂端点时也该读它而不是写死 —— 0.0.4 与 OpenMetrics 不是可互换的两种写法,
155
+ * 拿 0.0.4 的头去发带 exemplar 的文本,严格的抓取端会解析失败。
156
+ * (可选是为了向后兼容手写的 MetricsSink 实现;本工厂返回的一定带。)
157
+ */
158
+ readonly contentType?: string;
159
+ /** 主动导出一次(`export:'otlp'` 时有意义;prometheus/openmetrics 拉取式为空操作)。失败按 onExportError 处理 */
104
160
  flush(): Promise<void>;
105
161
  /** 停掉定时导出(进程收尾 / 测试用) */
106
162
  stop(): void;