@evalops/maestro 0.10.18 → 0.10.20

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 (922) hide show
  1. package/README.md +56 -1
  2. package/dist/agent/action-approval.d.ts +12 -2
  3. package/dist/agent/action-approval.d.ts.map +1 -1
  4. package/dist/agent/action-approval.js +19 -32
  5. package/dist/agent/action-approval.js.map +1 -1
  6. package/dist/agent/agent.d.ts +1 -0
  7. package/dist/agent/agent.d.ts.map +1 -1
  8. package/dist/agent/agent.js +26 -0
  9. package/dist/agent/agent.js.map +1 -1
  10. package/dist/agent/compaction.d.ts +2 -0
  11. package/dist/agent/compaction.d.ts.map +1 -1
  12. package/dist/agent/compaction.js +4 -2
  13. package/dist/agent/compaction.js.map +1 -1
  14. package/dist/agent/index.d.ts +1 -1
  15. package/dist/agent/index.d.ts.map +1 -1
  16. package/dist/agent/index.js +1 -1
  17. package/dist/agent/index.js.map +1 -1
  18. package/dist/agent/modes.d.ts +56 -4
  19. package/dist/agent/modes.d.ts.map +1 -1
  20. package/dist/agent/modes.js +163 -2
  21. package/dist/agent/modes.js.map +1 -1
  22. package/dist/agent/prompt-recovery.d.ts.map +1 -1
  23. package/dist/agent/prompt-recovery.js +1 -3
  24. package/dist/agent/prompt-recovery.js.map +1 -1
  25. package/dist/agent/providers/anthropic.d.ts.map +1 -1
  26. package/dist/agent/providers/anthropic.js +9 -1
  27. package/dist/agent/providers/anthropic.js.map +1 -1
  28. package/dist/agent/providers/codex-app-server.d.ts +12 -0
  29. package/dist/agent/providers/codex-app-server.d.ts.map +1 -0
  30. package/dist/agent/providers/codex-app-server.js +788 -0
  31. package/dist/agent/providers/codex-app-server.js.map +1 -0
  32. package/dist/agent/providers/google-gemini-cli.js +14 -3
  33. package/dist/agent/providers/google.js +22 -3
  34. package/dist/agent/providers/scripted.d.ts +11 -0
  35. package/dist/agent/providers/scripted.d.ts.map +1 -0
  36. package/dist/agent/providers/scripted.js +399 -0
  37. package/dist/agent/providers/scripted.js.map +1 -0
  38. package/dist/agent/providers/vertex.js +14 -3
  39. package/dist/agent/scenario-source.d.ts +19 -0
  40. package/dist/agent/scenario-source.d.ts.map +1 -0
  41. package/dist/agent/scenario-source.js +112 -0
  42. package/dist/agent/scenario-source.js.map +1 -0
  43. package/dist/agent/subagent-specs.d.ts +1 -1
  44. package/dist/agent/subagent-specs.js +1 -1
  45. package/dist/agent/subagent-specs.js.map +1 -1
  46. package/dist/agent/swarm/executor.d.ts +25 -0
  47. package/dist/agent/swarm/executor.d.ts.map +1 -1
  48. package/dist/agent/swarm/executor.js +795 -20
  49. package/dist/agent/swarm/executor.js.map +1 -1
  50. package/dist/agent/swarm/runtime-events.d.ts +11 -0
  51. package/dist/agent/swarm/runtime-events.d.ts.map +1 -0
  52. package/dist/agent/swarm/runtime-events.js +26 -0
  53. package/dist/agent/swarm/runtime-events.js.map +1 -0
  54. package/dist/agent/swarm/types.d.ts +78 -0
  55. package/dist/agent/swarm/types.d.ts.map +1 -1
  56. package/dist/agent/swarm/types.js.map +1 -1
  57. package/dist/agent/tracing.d.ts +1 -1
  58. package/dist/agent/tracing.d.ts.map +1 -1
  59. package/dist/agent/tracing.js +17 -9
  60. package/dist/agent/tracing.js.map +1 -1
  61. package/dist/agent/transport/create-provider-stream.d.ts.map +1 -1
  62. package/dist/agent/transport/create-provider-stream.js +14 -0
  63. package/dist/agent/transport/create-provider-stream.js.map +1 -1
  64. package/dist/agent/transport/stable-stringify.d.ts +2 -0
  65. package/dist/agent/transport/stable-stringify.d.ts.map +1 -0
  66. package/dist/agent/transport/stable-stringify.js +14 -0
  67. package/dist/agent/transport/stable-stringify.js.map +1 -0
  68. package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
  69. package/dist/agent/transport/tool-execution-bridge.js +2 -15
  70. package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
  71. package/dist/agent/transport/tool-safety-pipeline.d.ts +5 -1
  72. package/dist/agent/transport/tool-safety-pipeline.d.ts.map +1 -1
  73. package/dist/agent/transport/tool-safety-pipeline.js +184 -36
  74. package/dist/agent/transport/tool-safety-pipeline.js.map +1 -1
  75. package/dist/agent/transport.d.ts +8 -0
  76. package/dist/agent/transport.d.ts.map +1 -1
  77. package/dist/agent/transport.js +1613 -68
  78. package/dist/agent/transport.js.map +1 -1
  79. package/dist/agent/types.d.ts +170 -2
  80. package/dist/agent/types.d.ts.map +1 -1
  81. package/dist/agent/types.js.map +1 -1
  82. package/dist/api/enterprise-routes.d.ts.map +1 -1
  83. package/dist/api/enterprise-routes.js +34 -3
  84. package/dist/api/enterprise-routes.js.map +1 -1
  85. package/dist/app-server/in-process-client.d.ts +32 -0
  86. package/dist/app-server/in-process-client.d.ts.map +1 -0
  87. package/dist/app-server/in-process-client.js +73 -0
  88. package/dist/app-server/in-process-client.js.map +1 -0
  89. package/dist/app-server/session-api.d.ts +36 -0
  90. package/dist/app-server/session-api.d.ts.map +1 -0
  91. package/dist/app-server/session-api.js +713 -0
  92. package/dist/app-server/session-api.js.map +1 -0
  93. package/dist/approvals/platform-action-approval.d.ts +3 -1
  94. package/dist/approvals/platform-action-approval.d.ts.map +1 -1
  95. package/dist/approvals/platform-action-approval.js +16 -9
  96. package/dist/approvals/platform-action-approval.js.map +1 -1
  97. package/dist/approvals/service-client.d.ts.map +1 -1
  98. package/dist/approvals/service-client.js +7 -7
  99. package/dist/approvals/service-client.js.map +1 -1
  100. package/dist/audit/logger.d.ts +4 -4
  101. package/dist/bootstrap/agent-creation-setup.d.ts +4 -0
  102. package/dist/bootstrap/agent-creation-setup.d.ts.map +1 -1
  103. package/dist/bootstrap/agent-creation-setup.js +3 -1
  104. package/dist/bootstrap/agent-creation-setup.js.map +1 -1
  105. package/dist/bootstrap/auth-setup.js +1 -1
  106. package/dist/bootstrap/auth-setup.js.map +1 -1
  107. package/dist/bootstrap/event-subscriptions-setup.d.ts +6 -0
  108. package/dist/bootstrap/event-subscriptions-setup.d.ts.map +1 -1
  109. package/dist/bootstrap/event-subscriptions-setup.js +26 -2
  110. package/dist/bootstrap/event-subscriptions-setup.js.map +1 -1
  111. package/dist/bootstrap/model-resolution-setup.d.ts.map +1 -1
  112. package/dist/bootstrap/model-resolution-setup.js +4 -1
  113. package/dist/bootstrap/model-resolution-setup.js.map +1 -1
  114. package/dist/bootstrap/tools-setup.d.ts +2 -1
  115. package/dist/bootstrap/tools-setup.d.ts.map +1 -1
  116. package/dist/bootstrap/tools-setup.js +5 -1
  117. package/dist/bootstrap/tools-setup.js.map +1 -1
  118. package/dist/cli/args.d.ts +9 -1
  119. package/dist/cli/args.d.ts.map +1 -1
  120. package/dist/cli/args.js +130 -5
  121. package/dist/cli/args.js.map +1 -1
  122. package/dist/cli/commands/a2a.d.ts +9 -0
  123. package/dist/cli/commands/a2a.d.ts.map +1 -0
  124. package/dist/cli/commands/a2a.js +1714 -0
  125. package/dist/cli/commands/a2a.js.map +1 -0
  126. package/dist/cli/commands/agents.d.ts +16 -2
  127. package/dist/cli/commands/agents.d.ts.map +1 -1
  128. package/dist/cli/commands/agents.js +223 -35
  129. package/dist/cli/commands/agents.js.map +1 -1
  130. package/dist/cli/commands/codex.d.ts +1 -1
  131. package/dist/cli/commands/codex.d.ts.map +1 -1
  132. package/dist/cli/commands/codex.js +145 -39
  133. package/dist/cli/commands/codex.js.map +1 -1
  134. package/dist/cli/commands/context.d.ts +10 -0
  135. package/dist/cli/commands/context.d.ts.map +1 -0
  136. package/dist/cli/commands/context.js +176 -0
  137. package/dist/cli/commands/context.js.map +1 -0
  138. package/dist/cli/commands/hosted-runner.d.ts +1 -0
  139. package/dist/cli/commands/hosted-runner.d.ts.map +1 -1
  140. package/dist/cli/commands/hosted-runner.js +9 -1
  141. package/dist/cli/commands/hosted-runner.js.map +1 -1
  142. package/dist/cli/commands/modes.d.ts +8 -0
  143. package/dist/cli/commands/modes.d.ts.map +1 -0
  144. package/dist/cli/commands/modes.js +151 -0
  145. package/dist/cli/commands/modes.js.map +1 -0
  146. package/dist/cli/commands/operating-plane.d.ts +14 -0
  147. package/dist/cli/commands/operating-plane.d.ts.map +1 -0
  148. package/dist/cli/commands/operating-plane.js +160 -0
  149. package/dist/cli/commands/operating-plane.js.map +1 -0
  150. package/dist/cli/commands/run.d.ts +87 -0
  151. package/dist/cli/commands/run.d.ts.map +1 -0
  152. package/dist/cli/commands/run.js +356 -0
  153. package/dist/cli/commands/run.js.map +1 -0
  154. package/dist/cli/commands/scenario.d.ts +7 -0
  155. package/dist/cli/commands/scenario.d.ts.map +1 -0
  156. package/dist/cli/commands/scenario.js +195 -0
  157. package/dist/cli/commands/scenario.js.map +1 -0
  158. package/dist/cli/commands/skill.d.ts +7 -0
  159. package/dist/cli/commands/skill.d.ts.map +1 -0
  160. package/dist/cli/commands/skill.js +286 -0
  161. package/dist/cli/commands/skill.js.map +1 -0
  162. package/dist/cli/headless-protocol.d.ts +55 -1
  163. package/dist/cli/headless-protocol.d.ts.map +1 -1
  164. package/dist/cli/headless-protocol.js +446 -7
  165. package/dist/cli/headless-protocol.js.map +1 -1
  166. package/dist/cli/headless-runtime-selection.d.ts +38 -0
  167. package/dist/cli/headless-runtime-selection.d.ts.map +1 -0
  168. package/dist/cli/headless-runtime-selection.js +48 -0
  169. package/dist/cli/headless-runtime-selection.js.map +1 -0
  170. package/dist/cli/headless.d.ts +5 -1
  171. package/dist/cli/headless.d.ts.map +1 -1
  172. package/dist/cli/headless.js +11 -1
  173. package/dist/cli/headless.js.map +1 -1
  174. package/dist/cli/help.d.ts +3 -1
  175. package/dist/cli/help.d.ts.map +1 -1
  176. package/dist/cli/help.js +135 -30
  177. package/dist/cli/help.js.map +1 -1
  178. package/dist/cli/system-prompt.d.ts +22 -4
  179. package/dist/cli/system-prompt.d.ts.map +1 -1
  180. package/dist/cli/system-prompt.js +224 -127
  181. package/dist/cli/system-prompt.js.map +1 -1
  182. package/dist/cli-tui/commands/a2a-handlers.d.ts +7 -0
  183. package/dist/cli-tui/commands/a2a-handlers.d.ts.map +1 -0
  184. package/dist/cli-tui/commands/a2a-handlers.js +160 -0
  185. package/dist/cli-tui/commands/a2a-handlers.js.map +1 -0
  186. package/dist/cli-tui/commands/command-catalog.d.ts.map +1 -1
  187. package/dist/cli-tui/commands/command-catalog.js +15 -0
  188. package/dist/cli-tui/commands/command-catalog.js.map +1 -1
  189. package/dist/cli-tui/commands/command-registry-adapter.js +10 -1
  190. package/dist/cli-tui/commands/command-registry-adapter.js.map +1 -1
  191. package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +1 -1
  192. package/dist/cli-tui/commands/handlers/mode-handler.js +22 -10
  193. package/dist/cli-tui/commands/handlers/mode-handler.js.map +1 -1
  194. package/dist/cli-tui/commands/mcp-handlers.d.ts.map +1 -1
  195. package/dist/cli-tui/commands/mcp-handlers.js +6 -5
  196. package/dist/cli-tui/commands/mcp-handlers.js.map +1 -1
  197. package/dist/cli-tui/commands/types.d.ts +1 -0
  198. package/dist/cli-tui/commands/types.d.ts.map +1 -1
  199. package/dist/cli-tui/commands/types.js.map +1 -1
  200. package/dist/cli-tui/commands/utility-handlers.d.ts +4 -0
  201. package/dist/cli-tui/commands/utility-handlers.d.ts.map +1 -1
  202. package/dist/cli-tui/commands/utility-handlers.js +45 -6
  203. package/dist/cli-tui/commands/utility-handlers.js.map +1 -1
  204. package/dist/cli-tui/run/run-shell-command.d.ts.map +1 -1
  205. package/dist/cli-tui/run/run-shell-command.js +14 -5
  206. package/dist/cli-tui/run/run-shell-command.js.map +1 -1
  207. package/dist/cli-tui/run/streaming-shell-command.d.ts.map +1 -1
  208. package/dist/cli-tui/run/streaming-shell-command.js +14 -5
  209. package/dist/cli-tui/run/streaming-shell-command.js.map +1 -1
  210. package/dist/cli-tui/selectors/model-selector.d.ts +1 -0
  211. package/dist/cli-tui/selectors/model-selector.d.ts.map +1 -1
  212. package/dist/cli-tui/selectors/model-selector.js +6 -2
  213. package/dist/cli-tui/selectors/model-selector.js.map +1 -1
  214. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +1 -1
  215. package/dist/cli-tui/tui-renderer/command-registry-options.js +5 -0
  216. package/dist/cli-tui/tui-renderer/command-registry-options.js.map +1 -1
  217. package/dist/cli-tui/utils/commands/review-prompt.d.ts +1 -1
  218. package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +1 -1
  219. package/dist/cli-tui/utils/commands/review-prompt.js +8 -3
  220. package/dist/cli-tui/utils/commands/review-prompt.js.map +1 -1
  221. package/dist/cli-tui/utils/runtime-badges.d.ts +1 -0
  222. package/dist/cli-tui/utils/runtime-badges.d.ts.map +1 -1
  223. package/dist/cli-tui/utils/runtime-badges.js +7 -0
  224. package/dist/cli-tui/utils/runtime-badges.js.map +1 -1
  225. package/dist/cli-tui/utils/text-formatting.d.ts +1 -0
  226. package/dist/cli-tui/utils/text-formatting.d.ts.map +1 -1
  227. package/dist/cli-tui/utils/text-formatting.js +5 -0
  228. package/dist/cli-tui/utils/text-formatting.js.map +1 -1
  229. package/dist/cli.js +49158 -26161
  230. package/dist/cli.js.map +1 -1
  231. package/dist/codex/app-server-client.d.ts +139 -0
  232. package/dist/codex/app-server-client.d.ts.map +1 -0
  233. package/dist/codex/app-server-client.js +352 -0
  234. package/dist/codex/app-server-client.js.map +1 -0
  235. package/dist/codex/compatibility.d.ts +48 -0
  236. package/dist/codex/compatibility.d.ts.map +1 -0
  237. package/dist/codex/compatibility.js +344 -0
  238. package/dist/codex/compatibility.js.map +1 -0
  239. package/dist/codex/subagent-dispatch-table.d.ts +66 -0
  240. package/dist/codex/subagent-dispatch-table.d.ts.map +1 -0
  241. package/dist/codex/subagent-dispatch-table.js +127 -0
  242. package/dist/codex/subagent-dispatch-table.js.map +1 -0
  243. package/dist/codex/subagent-workgraph.d.ts +56 -0
  244. package/dist/codex/subagent-workgraph.d.ts.map +1 -0
  245. package/dist/codex/subagent-workgraph.js +89 -0
  246. package/dist/codex/subagent-workgraph.js.map +1 -0
  247. package/dist/config/constants.d.ts +3 -1
  248. package/dist/config/constants.d.ts.map +1 -1
  249. package/dist/config/constants.js +9 -0
  250. package/dist/config/constants.js.map +1 -1
  251. package/dist/config/feature-flags.d.ts +10 -1
  252. package/dist/config/feature-flags.d.ts.map +1 -1
  253. package/dist/config/feature-flags.js +17 -6
  254. package/dist/config/feature-flags.js.map +1 -1
  255. package/dist/config/index.d.ts +1 -1
  256. package/dist/config/index.d.ts.map +1 -1
  257. package/dist/config/index.js +1 -1
  258. package/dist/config/index.js.map +1 -1
  259. package/dist/config/toml-config.d.ts +32 -0
  260. package/dist/config/toml-config.d.ts.map +1 -1
  261. package/dist/config/toml-config.js +152 -43
  262. package/dist/config/toml-config.js.map +1 -1
  263. package/dist/connectors/service-client.d.ts.map +1 -1
  264. package/dist/connectors/service-client.js +4 -7
  265. package/dist/connectors/service-client.js.map +1 -1
  266. package/dist/context/manifest-types.d.ts +59 -0
  267. package/dist/context/manifest-types.d.ts.map +1 -0
  268. package/dist/context/manifest-types.js +2 -0
  269. package/dist/context/manifest-types.js.map +1 -0
  270. package/dist/context/manifest.d.ts +16 -0
  271. package/dist/context/manifest.d.ts.map +1 -0
  272. package/dist/context/manifest.js +503 -0
  273. package/dist/context/manifest.js.map +1 -0
  274. package/dist/db/schema.d.ts +10 -1
  275. package/dist/db/schema.d.ts.map +1 -1
  276. package/dist/db/schema.js.map +1 -1
  277. package/dist/evalops/env-aliases.d.ts +13 -0
  278. package/dist/evalops/env-aliases.d.ts.map +1 -0
  279. package/dist/evalops/env-aliases.js +60 -0
  280. package/dist/evalops/env-aliases.js.map +1 -0
  281. package/dist/evalops/managed-context.d.ts.map +1 -1
  282. package/dist/evalops/managed-context.js +28 -62
  283. package/dist/evalops/managed-context.js.map +1 -1
  284. package/dist/guardian/config.d.ts.map +1 -1
  285. package/dist/guardian/config.js +1 -0
  286. package/dist/guardian/config.js.map +1 -1
  287. package/dist/guardian/runner.d.ts +2 -0
  288. package/dist/guardian/runner.d.ts.map +1 -1
  289. package/dist/guardian/runner.js +105 -2
  290. package/dist/guardian/runner.js.map +1 -1
  291. package/dist/guardian/types.d.ts +1 -0
  292. package/dist/guardian/types.d.ts.map +1 -1
  293. package/dist/guardian/types.js.map +1 -1
  294. package/dist/index.d.ts +5 -1
  295. package/dist/index.d.ts.map +1 -1
  296. package/dist/index.js +5 -1
  297. package/dist/index.js.map +1 -1
  298. package/dist/main.d.ts.map +1 -1
  299. package/dist/main.js +267 -55
  300. package/dist/main.js.map +1 -1
  301. package/dist/mcp/config.d.ts.map +1 -1
  302. package/dist/mcp/config.js +89 -7
  303. package/dist/mcp/config.js.map +1 -1
  304. package/dist/mcp/manager.d.ts +5 -1
  305. package/dist/mcp/manager.d.ts.map +1 -1
  306. package/dist/mcp/manager.js +159 -4
  307. package/dist/mcp/manager.js.map +1 -1
  308. package/dist/mcp/platform-plugin.d.ts.map +1 -1
  309. package/dist/mcp/platform-plugin.js +9 -26
  310. package/dist/mcp/platform-plugin.js.map +1 -1
  311. package/dist/mcp/schema.d.ts +15 -0
  312. package/dist/mcp/schema.d.ts.map +1 -1
  313. package/dist/mcp/schema.js +24 -0
  314. package/dist/mcp/schema.js.map +1 -1
  315. package/dist/mcp/tool-bridge.d.ts +39 -10
  316. package/dist/mcp/tool-bridge.d.ts.map +1 -1
  317. package/dist/mcp/tool-bridge.js +101 -24
  318. package/dist/mcp/tool-bridge.js.map +1 -1
  319. package/dist/mcp/types.d.ts +27 -0
  320. package/dist/mcp/types.d.ts.map +1 -1
  321. package/dist/mcp/types.js.map +1 -1
  322. package/dist/mcp/workspace-trust.d.ts +10 -0
  323. package/dist/mcp/workspace-trust.d.ts.map +1 -0
  324. package/dist/mcp/workspace-trust.js +295 -0
  325. package/dist/mcp/workspace-trust.js.map +1 -0
  326. package/dist/memory/service-client.d.ts +1 -0
  327. package/dist/memory/service-client.d.ts.map +1 -1
  328. package/dist/memory/service-client.js +194 -9
  329. package/dist/memory/service-client.js.map +1 -1
  330. package/dist/models/builtin.d.ts.map +1 -1
  331. package/dist/models/builtin.js +66 -25
  332. package/dist/models/builtin.js.map +1 -1
  333. package/dist/models/config-loader.d.ts +10 -10
  334. package/dist/models/config-loader.d.ts.map +1 -1
  335. package/dist/models/config-loader.js +2 -0
  336. package/dist/models/config-loader.js.map +1 -1
  337. package/dist/models/registry.d.ts +1 -0
  338. package/dist/models/registry.d.ts.map +1 -1
  339. package/dist/models/registry.js +1 -0
  340. package/dist/models/registry.js.map +1 -1
  341. package/dist/oauth/device-identity.d.ts.map +1 -1
  342. package/dist/oauth/device-identity.js +1 -3
  343. package/dist/oauth/device-identity.js.map +1 -1
  344. package/dist/oauth/evalops.d.ts.map +1 -1
  345. package/dist/oauth/evalops.js +2 -5
  346. package/dist/oauth/evalops.js.map +1 -1
  347. package/dist/opentelemetry.d.ts.map +1 -1
  348. package/dist/opentelemetry.js +12 -12
  349. package/dist/opentelemetry.js.map +1 -1
  350. package/dist/package-version.d.ts +2 -0
  351. package/dist/package-version.d.ts.map +1 -0
  352. package/dist/package-version.js +11 -0
  353. package/dist/package-version.js.map +1 -0
  354. package/dist/packages/constants.d.ts +3 -0
  355. package/dist/packages/constants.d.ts.map +1 -0
  356. package/dist/packages/constants.js +3 -0
  357. package/dist/packages/constants.js.map +1 -0
  358. package/dist/packages/inspection.d.ts.map +1 -1
  359. package/dist/packages/inspection.js +2 -1
  360. package/dist/packages/inspection.js.map +1 -1
  361. package/dist/packages/search.d.ts.map +1 -1
  362. package/dist/packages/search.js +1 -1
  363. package/dist/packages/search.js.map +1 -1
  364. package/dist/platform/a2a-capability-market.d.ts +21 -0
  365. package/dist/platform/a2a-capability-market.d.ts.map +1 -0
  366. package/dist/platform/a2a-capability-market.js +176 -0
  367. package/dist/platform/a2a-capability-market.js.map +1 -0
  368. package/dist/platform/a2a-client.d.ts +119 -0
  369. package/dist/platform/a2a-client.d.ts.map +1 -1
  370. package/dist/platform/a2a-client.js +413 -24
  371. package/dist/platform/a2a-client.js.map +1 -1
  372. package/dist/platform/a2a-fleet.d.ts +41 -0
  373. package/dist/platform/a2a-fleet.d.ts.map +1 -0
  374. package/dist/platform/a2a-fleet.js +109 -0
  375. package/dist/platform/a2a-fleet.js.map +1 -0
  376. package/dist/platform/a2a-maestro-peer.d.ts +20 -0
  377. package/dist/platform/a2a-maestro-peer.d.ts.map +1 -0
  378. package/dist/platform/a2a-maestro-peer.js +176 -0
  379. package/dist/platform/a2a-maestro-peer.js.map +1 -0
  380. package/dist/platform/a2a-peer-pairing.d.ts +107 -0
  381. package/dist/platform/a2a-peer-pairing.d.ts.map +1 -0
  382. package/dist/platform/a2a-peer-pairing.js +489 -0
  383. package/dist/platform/a2a-peer-pairing.js.map +1 -0
  384. package/dist/platform/a2a-peer-registry.d.ts +68 -0
  385. package/dist/platform/a2a-peer-registry.d.ts.map +1 -0
  386. package/dist/platform/a2a-peer-registry.js +320 -0
  387. package/dist/platform/a2a-peer-registry.js.map +1 -0
  388. package/dist/platform/a2a-task-ledger.d.ts +86 -0
  389. package/dist/platform/a2a-task-ledger.d.ts.map +1 -0
  390. package/dist/platform/a2a-task-ledger.js +546 -0
  391. package/dist/platform/a2a-task-ledger.js.map +1 -0
  392. package/dist/platform/a2a-work-graph.d.ts +43 -0
  393. package/dist/platform/a2a-work-graph.d.ts.map +1 -0
  394. package/dist/platform/a2a-work-graph.js +267 -0
  395. package/dist/platform/a2a-work-graph.js.map +1 -0
  396. package/dist/platform/agent-registry-client.d.ts +327 -0
  397. package/dist/platform/agent-registry-client.d.ts.map +1 -0
  398. package/dist/platform/agent-registry-client.js +803 -0
  399. package/dist/platform/agent-registry-client.js.map +1 -0
  400. package/dist/platform/agent-runtime-client.d.ts +135 -1
  401. package/dist/platform/agent-runtime-client.d.ts.map +1 -1
  402. package/dist/platform/agent-runtime-client.js +467 -10
  403. package/dist/platform/agent-runtime-client.js.map +1 -1
  404. package/dist/platform/cerebro-facts-client.d.ts.map +1 -1
  405. package/dist/platform/cerebro-facts-client.js +4 -7
  406. package/dist/platform/cerebro-facts-client.js.map +1 -1
  407. package/dist/platform/client.d.ts.map +1 -1
  408. package/dist/platform/client.js +3 -12
  409. package/dist/platform/client.js.map +1 -1
  410. package/dist/platform/core-services.d.ts +68 -0
  411. package/dist/platform/core-services.d.ts.map +1 -1
  412. package/dist/platform/core-services.js +68 -0
  413. package/dist/platform/core-services.js.map +1 -1
  414. package/dist/platform/fermata-eval-client.d.ts +195 -0
  415. package/dist/platform/fermata-eval-client.d.ts.map +1 -0
  416. package/dist/platform/fermata-eval-client.js +146 -0
  417. package/dist/platform/fermata-eval-client.js.map +1 -0
  418. package/dist/platform/fermata-scenario-suite.d.ts +99 -0
  419. package/dist/platform/fermata-scenario-suite.d.ts.map +1 -0
  420. package/dist/platform/fermata-scenario-suite.js +459 -0
  421. package/dist/platform/fermata-scenario-suite.js.map +1 -0
  422. package/dist/platform/maestro-timeline-client.d.ts.map +1 -1
  423. package/dist/platform/maestro-timeline-client.js +5 -11
  424. package/dist/platform/maestro-timeline-client.js.map +1 -1
  425. package/dist/platform/operating-plane-client.d.ts +156 -0
  426. package/dist/platform/operating-plane-client.d.ts.map +1 -0
  427. package/dist/platform/operating-plane-client.js +131 -0
  428. package/dist/platform/operating-plane-client.js.map +1 -0
  429. package/dist/platform/operating-plane-summary.d.ts +47 -0
  430. package/dist/platform/operating-plane-summary.d.ts.map +1 -0
  431. package/dist/platform/operating-plane-summary.js +209 -0
  432. package/dist/platform/operating-plane-summary.js.map +1 -0
  433. package/dist/platform/tool-execution-client.d.ts.map +1 -1
  434. package/dist/platform/tool-execution-client.js +4 -11
  435. package/dist/platform/tool-execution-client.js.map +1 -1
  436. package/dist/prompts/service-client.d.ts.map +1 -1
  437. package/dist/prompts/service-client.js +3 -5
  438. package/dist/prompts/service-client.js.map +1 -1
  439. package/dist/prompts/system-prompt.d.ts +3 -0
  440. package/dist/prompts/system-prompt.d.ts.map +1 -1
  441. package/dist/prompts/system-prompt.js +13 -3
  442. package/dist/prompts/system-prompt.js.map +1 -1
  443. package/dist/prompts/types.d.ts +2 -0
  444. package/dist/prompts/types.d.ts.map +1 -1
  445. package/dist/prompts/types.js.map +1 -1
  446. package/dist/providers/api-keys.d.ts +1 -1
  447. package/dist/providers/api-keys.d.ts.map +1 -1
  448. package/dist/providers/api-keys.js +2 -1
  449. package/dist/providers/api-keys.js.map +1 -1
  450. package/dist/providers/auth.d.ts.map +1 -1
  451. package/dist/providers/auth.js +48 -25
  452. package/dist/providers/auth.js.map +1 -1
  453. package/dist/remote-runner/attach-client.d.ts.map +1 -1
  454. package/dist/remote-runner/attach-client.js +1 -0
  455. package/dist/remote-runner/attach-client.js.map +1 -1
  456. package/dist/remote-runner/client.d.ts.map +1 -1
  457. package/dist/remote-runner/client.js +4 -7
  458. package/dist/remote-runner/client.js.map +1 -1
  459. package/dist/rpc/rpc-types.d.ts.map +1 -1
  460. package/dist/rpc/rpc-types.js +1 -0
  461. package/dist/rpc/rpc-types.js.map +1 -1
  462. package/dist/safety/action-firewall.d.ts.map +1 -1
  463. package/dist/safety/action-firewall.js +69 -6
  464. package/dist/safety/action-firewall.js.map +1 -1
  465. package/dist/safety/attack-patterns.d.ts.map +1 -1
  466. package/dist/safety/attack-patterns.js +31 -14
  467. package/dist/safety/attack-patterns.js.map +1 -1
  468. package/dist/safety/bash-parser.d.ts.map +1 -1
  469. package/dist/safety/bash-parser.js +4 -3
  470. package/dist/safety/bash-parser.js.map +1 -1
  471. package/dist/safety/execpolicy.d.ts +15 -3
  472. package/dist/safety/execpolicy.d.ts.map +1 -1
  473. package/dist/safety/execpolicy.js +248 -37
  474. package/dist/safety/execpolicy.js.map +1 -1
  475. package/dist/safety/governance-service-client.d.ts.map +1 -1
  476. package/dist/safety/governance-service-client.js +4 -7
  477. package/dist/safety/governance-service-client.js.map +1 -1
  478. package/dist/safety/guarded-files.d.ts +34 -0
  479. package/dist/safety/guarded-files.d.ts.map +1 -0
  480. package/dist/safety/guarded-files.js +372 -0
  481. package/dist/safety/guarded-files.js.map +1 -0
  482. package/dist/safety/loop-detector.d.ts.map +1 -1
  483. package/dist/safety/loop-detector.js +6 -1
  484. package/dist/safety/loop-detector.js.map +1 -1
  485. package/dist/safety/permission-profile.d.ts +47 -0
  486. package/dist/safety/permission-profile.d.ts.map +1 -0
  487. package/dist/safety/permission-profile.js +349 -0
  488. package/dist/safety/permission-profile.js.map +1 -0
  489. package/dist/safety/safety-middleware.d.ts +5 -1
  490. package/dist/safety/safety-middleware.d.ts.map +1 -1
  491. package/dist/safety/safety-middleware.js +3 -2
  492. package/dist/safety/safety-middleware.js.map +1 -1
  493. package/dist/safety/suspicious-patterns.d.ts.map +1 -1
  494. package/dist/safety/suspicious-patterns.js +12 -7
  495. package/dist/safety/suspicious-patterns.js.map +1 -1
  496. package/dist/safety/tool-categorization.js +1 -1
  497. package/dist/safety/tool-categorization.js.map +1 -1
  498. package/dist/safety/validators/path-policy-validator.d.ts.map +1 -1
  499. package/dist/safety/validators/path-policy-validator.js +7 -0
  500. package/dist/safety/validators/path-policy-validator.js.map +1 -1
  501. package/dist/sandbox/index.d.ts +6 -1
  502. package/dist/sandbox/index.d.ts.map +1 -1
  503. package/dist/sandbox/index.js +30 -4
  504. package/dist/sandbox/index.js.map +1 -1
  505. package/dist/sandbox/native-sandbox.d.ts +3 -0
  506. package/dist/sandbox/native-sandbox.d.ts.map +1 -1
  507. package/dist/sandbox/native-sandbox.js +139 -18
  508. package/dist/sandbox/native-sandbox.js.map +1 -1
  509. package/dist/sentry.d.ts +17 -0
  510. package/dist/sentry.d.ts.map +1 -0
  511. package/dist/sentry.js +91 -0
  512. package/dist/sentry.js.map +1 -0
  513. package/dist/server/agent-runtime-ledger.d.ts +141 -0
  514. package/dist/server/agent-runtime-ledger.d.ts.map +1 -0
  515. package/dist/server/agent-runtime-ledger.js +334 -0
  516. package/dist/server/agent-runtime-ledger.js.map +1 -0
  517. package/dist/server/agent-trajectory-inspection.d.ts +104 -0
  518. package/dist/server/agent-trajectory-inspection.d.ts.map +1 -0
  519. package/dist/server/agent-trajectory-inspection.js +168 -0
  520. package/dist/server/agent-trajectory-inspection.js.map +1 -0
  521. package/dist/server/agent-trajectory-replay.d.ts +56 -0
  522. package/dist/server/agent-trajectory-replay.d.ts.map +1 -0
  523. package/dist/server/agent-trajectory-replay.js +214 -0
  524. package/dist/server/agent-trajectory-replay.js.map +1 -0
  525. package/dist/server/agent-trajectory-scenarios.d.ts +109 -0
  526. package/dist/server/agent-trajectory-scenarios.d.ts.map +1 -0
  527. package/dist/server/agent-trajectory-scenarios.js +822 -0
  528. package/dist/server/agent-trajectory-scenarios.js.map +1 -0
  529. package/dist/server/agent-trajectory-scorers.d.ts +61 -0
  530. package/dist/server/agent-trajectory-scorers.d.ts.map +1 -0
  531. package/dist/server/agent-trajectory-scorers.js +162 -0
  532. package/dist/server/agent-trajectory-scorers.js.map +1 -0
  533. package/dist/server/agent-trajectory-validation.d.ts +7 -0
  534. package/dist/server/agent-trajectory-validation.d.ts.map +1 -0
  535. package/dist/server/agent-trajectory-validation.js +101 -0
  536. package/dist/server/agent-trajectory-validation.js.map +1 -0
  537. package/dist/server/agent-trajectory.d.ts +50 -0
  538. package/dist/server/agent-trajectory.d.ts.map +1 -0
  539. package/dist/server/agent-trajectory.js +159 -0
  540. package/dist/server/agent-trajectory.js.map +1 -0
  541. package/dist/server/app-context.d.ts +18 -0
  542. package/dist/server/app-context.d.ts.map +1 -1
  543. package/dist/server/app-context.js.map +1 -1
  544. package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
  545. package/dist/server/handlers/headless-sessions.js +64 -27
  546. package/dist/server/handlers/headless-sessions.js.map +1 -1
  547. package/dist/server/handlers/health.d.ts +6 -0
  548. package/dist/server/handlers/health.d.ts.map +1 -1
  549. package/dist/server/handlers/health.js +6 -0
  550. package/dist/server/handlers/health.js.map +1 -1
  551. package/dist/server/handlers/hosted-runner-drain.d.ts +69 -1
  552. package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
  553. package/dist/server/handlers/hosted-runner-drain.js +309 -18
  554. package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
  555. package/dist/server/handlers/hosted-runner-identity.d.ts +16 -0
  556. package/dist/server/handlers/hosted-runner-identity.d.ts.map +1 -1
  557. package/dist/server/handlers/hosted-runner-identity.js +43 -0
  558. package/dist/server/handlers/hosted-runner-identity.js.map +1 -1
  559. package/dist/server/handlers/mode.d.ts.map +1 -1
  560. package/dist/server/handlers/mode.js +3 -1
  561. package/dist/server/handlers/mode.js.map +1 -1
  562. package/dist/server/handlers/pending-requests.d.ts.map +1 -1
  563. package/dist/server/handlers/pending-requests.js +336 -51
  564. package/dist/server/handlers/pending-requests.js.map +1 -1
  565. package/dist/server/handlers/platform-a2a-push.d.ts +6 -0
  566. package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -0
  567. package/dist/server/handlers/platform-a2a-push.js +136 -0
  568. package/dist/server/handlers/platform-a2a-push.js.map +1 -0
  569. package/dist/server/handlers/sessions.d.ts.map +1 -1
  570. package/dist/server/handlers/sessions.js +21 -1
  571. package/dist/server/handlers/sessions.js.map +1 -1
  572. package/dist/server/headless-runtime-service.d.ts +9 -2
  573. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  574. package/dist/server/headless-runtime-service.js +39 -0
  575. package/dist/server/headless-runtime-service.js.map +1 -1
  576. package/dist/server/hosted-agent-runtime-progress.d.ts +144 -0
  577. package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -0
  578. package/dist/server/hosted-agent-runtime-progress.js +1650 -0
  579. package/dist/server/hosted-agent-runtime-progress.js.map +1 -0
  580. package/dist/server/hosted-runner-lease.d.ts +41 -0
  581. package/dist/server/hosted-runner-lease.d.ts.map +1 -0
  582. package/dist/server/hosted-runner-lease.js +140 -0
  583. package/dist/server/hosted-runner-lease.js.map +1 -0
  584. package/dist/server/hosted-session-manager.d.ts +16 -8
  585. package/dist/server/hosted-session-manager.d.ts.map +1 -1
  586. package/dist/server/hosted-session-manager.js +98 -76
  587. package/dist/server/hosted-session-manager.js.map +1 -1
  588. package/dist/server/junit-xml.d.ts +2 -0
  589. package/dist/server/junit-xml.d.ts.map +1 -0
  590. package/dist/server/junit-xml.js +9 -0
  591. package/dist/server/junit-xml.js.map +1 -0
  592. package/dist/server/routes.d.ts.map +1 -1
  593. package/dist/server/routes.js +6 -0
  594. package/dist/server/routes.js.map +1 -1
  595. package/dist/server/scenario-recorder.d.ts +56 -0
  596. package/dist/server/scenario-recorder.d.ts.map +1 -0
  597. package/dist/server/scenario-recorder.js +109 -0
  598. package/dist/server/scenario-recorder.js.map +1 -0
  599. package/dist/server/scripted-scenario-runner.d.ts +46 -0
  600. package/dist/server/scripted-scenario-runner.d.ts.map +1 -0
  601. package/dist/server/scripted-scenario-runner.js +190 -0
  602. package/dist/server/scripted-scenario-runner.js.map +1 -0
  603. package/dist/server/server-middlewares.d.ts +6 -2
  604. package/dist/server/server-middlewares.d.ts.map +1 -1
  605. package/dist/server/server-middlewares.js +8 -2
  606. package/dist/server/server-middlewares.js.map +1 -1
  607. package/dist/server/server-request-manager.d.ts +9 -1
  608. package/dist/server/server-request-manager.d.ts.map +1 -1
  609. package/dist/server/server-request-manager.js +49 -4
  610. package/dist/server/server-request-manager.js.map +1 -1
  611. package/dist/services/intelligent-router/service.d.ts +2 -0
  612. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  613. package/dist/services/intelligent-router/service.js +4 -0
  614. package/dist/services/intelligent-router/service.js.map +1 -1
  615. package/dist/services/service-authority.d.ts +25 -0
  616. package/dist/services/service-authority.d.ts.map +1 -0
  617. package/dist/services/service-authority.js +143 -0
  618. package/dist/services/service-authority.js.map +1 -0
  619. package/dist/services/workspace-config/service.d.ts +2 -0
  620. package/dist/services/workspace-config/service.d.ts.map +1 -1
  621. package/dist/services/workspace-config/service.js +4 -0
  622. package/dist/services/workspace-config/service.js.map +1 -1
  623. package/dist/session/manager.d.ts +8 -2
  624. package/dist/session/manager.d.ts.map +1 -1
  625. package/dist/session/manager.js +19 -4
  626. package/dist/session/manager.js.map +1 -1
  627. package/dist/session/session-branch.d.ts.map +1 -1
  628. package/dist/session/session-branch.js +5 -1
  629. package/dist/session/session-branch.js.map +1 -1
  630. package/dist/session/session-catalog.d.ts +7 -2
  631. package/dist/session/session-catalog.d.ts.map +1 -1
  632. package/dist/session/session-catalog.js +13 -2
  633. package/dist/session/session-catalog.js.map +1 -1
  634. package/dist/session/session-context.d.ts +6 -2
  635. package/dist/session/session-context.d.ts.map +1 -1
  636. package/dist/session/session-context.js +44 -4
  637. package/dist/session/session-context.js.map +1 -1
  638. package/dist/session/session-graph-projection.d.ts +32 -0
  639. package/dist/session/session-graph-projection.d.ts.map +1 -0
  640. package/dist/session/session-graph-projection.js +133 -0
  641. package/dist/session/session-graph-projection.js.map +1 -0
  642. package/dist/session/types.d.ts +18 -0
  643. package/dist/session/types.d.ts.map +1 -1
  644. package/dist/session/types.js +8 -0
  645. package/dist/session/types.js.map +1 -1
  646. package/dist/session/wire-format.generated.d.ts +3 -0
  647. package/dist/session/wire-format.generated.d.ts.map +1 -1
  648. package/dist/session/wire-format.generated.js +20 -0
  649. package/dist/session/wire-format.generated.js.map +1 -1
  650. package/dist/skills/eval-harness.d.ts +38 -0
  651. package/dist/skills/eval-harness.d.ts.map +1 -0
  652. package/dist/skills/eval-harness.js +112 -0
  653. package/dist/skills/eval-harness.js.map +1 -0
  654. package/dist/skills/index.d.ts +5 -1
  655. package/dist/skills/index.d.ts.map +1 -1
  656. package/dist/skills/index.js +5 -1
  657. package/dist/skills/index.js.map +1 -1
  658. package/dist/skills/linter.d.ts +36 -0
  659. package/dist/skills/linter.d.ts.map +1 -0
  660. package/dist/skills/linter.js +398 -0
  661. package/dist/skills/linter.js.map +1 -0
  662. package/dist/skills/loader.d.ts +36 -6
  663. package/dist/skills/loader.d.ts.map +1 -1
  664. package/dist/skills/loader.js +169 -86
  665. package/dist/skills/loader.js.map +1 -1
  666. package/dist/skills/package-contract.d.ts +45 -0
  667. package/dist/skills/package-contract.d.ts.map +1 -0
  668. package/dist/skills/package-contract.js +153 -0
  669. package/dist/skills/package-contract.js.map +1 -0
  670. package/dist/skills/runtime-activation.d.ts +68 -0
  671. package/dist/skills/runtime-activation.d.ts.map +1 -0
  672. package/dist/skills/runtime-activation.js +228 -0
  673. package/dist/skills/runtime-activation.js.map +1 -0
  674. package/dist/skills/service-client.d.ts.map +1 -1
  675. package/dist/skills/service-client.js +3 -4
  676. package/dist/skills/service-client.js.map +1 -1
  677. package/dist/skills/tool.d.ts.map +1 -1
  678. package/dist/skills/tool.js +2 -0
  679. package/dist/skills/tool.js.map +1 -1
  680. package/dist/skills/types.d.ts +14 -0
  681. package/dist/skills/types.d.ts.map +1 -1
  682. package/dist/skills/types.js.map +1 -1
  683. package/dist/telemetry/agent-operating-plane-context.d.ts +24 -0
  684. package/dist/telemetry/agent-operating-plane-context.d.ts.map +1 -0
  685. package/dist/telemetry/agent-operating-plane-context.js +54 -0
  686. package/dist/telemetry/agent-operating-plane-context.js.map +1 -0
  687. package/dist/telemetry/beacon.d.ts +24 -0
  688. package/dist/telemetry/beacon.d.ts.map +1 -0
  689. package/dist/telemetry/beacon.js +115 -0
  690. package/dist/telemetry/beacon.js.map +1 -0
  691. package/dist/telemetry/cli-command-aggregator.d.ts +36 -0
  692. package/dist/telemetry/cli-command-aggregator.d.ts.map +1 -0
  693. package/dist/telemetry/cli-command-aggregator.js +251 -0
  694. package/dist/telemetry/cli-command-aggregator.js.map +1 -0
  695. package/dist/telemetry/cli-startup.d.ts +21 -0
  696. package/dist/telemetry/cli-startup.d.ts.map +1 -0
  697. package/dist/telemetry/cli-startup.js +83 -0
  698. package/dist/telemetry/cli-startup.js.map +1 -0
  699. package/dist/telemetry/disablement.d.ts +13 -0
  700. package/dist/telemetry/disablement.d.ts.map +1 -0
  701. package/dist/telemetry/disablement.js +19 -0
  702. package/dist/telemetry/disablement.js.map +1 -0
  703. package/dist/telemetry/index.d.ts +6 -2
  704. package/dist/telemetry/index.d.ts.map +1 -1
  705. package/dist/telemetry/index.js +6 -2
  706. package/dist/telemetry/index.js.map +1 -1
  707. package/dist/telemetry/maestro-event-bus.d.ts +52 -0
  708. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  709. package/dist/telemetry/maestro-event-bus.js +179 -3
  710. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  711. package/dist/telemetry/maestro-event-catalog.d.ts +3 -1
  712. package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -1
  713. package/dist/telemetry/maestro-event-catalog.js +2 -0
  714. package/dist/telemetry/maestro-event-catalog.js.map +1 -1
  715. package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
  716. package/dist/telemetry/maestro-platform-replay-fixture.js +74 -9
  717. package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
  718. package/dist/telemetry/maestro-publisher-conformance-fixture.d.ts +1 -1
  719. package/dist/telemetry/maestro-publisher-conformance-fixture.d.ts.map +1 -1
  720. package/dist/telemetry/maestro-publisher-conformance-fixture.js +46 -11
  721. package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
  722. package/dist/telemetry/mcp-beacon.d.ts +20 -0
  723. package/dist/telemetry/mcp-beacon.d.ts.map +1 -0
  724. package/dist/telemetry/mcp-beacon.js +54 -0
  725. package/dist/telemetry/mcp-beacon.js.map +1 -0
  726. package/dist/telemetry/metadata-normalization.d.ts +7 -0
  727. package/dist/telemetry/metadata-normalization.d.ts.map +1 -0
  728. package/dist/telemetry/metadata-normalization.js +189 -0
  729. package/dist/telemetry/metadata-normalization.js.map +1 -0
  730. package/dist/telemetry/meter-service-client.d.ts.map +1 -1
  731. package/dist/telemetry/meter-service-client.js +5 -10
  732. package/dist/telemetry/meter-service-client.js.map +1 -1
  733. package/dist/telemetry/metrics.d.ts +123 -0
  734. package/dist/telemetry/metrics.d.ts.map +1 -0
  735. package/dist/telemetry/metrics.js +184 -0
  736. package/dist/telemetry/metrics.js.map +1 -0
  737. package/dist/telemetry/turn-tracker.d.ts +1 -0
  738. package/dist/telemetry/turn-tracker.d.ts.map +1 -1
  739. package/dist/telemetry/turn-tracker.js +22 -1
  740. package/dist/telemetry/turn-tracker.js.map +1 -1
  741. package/dist/telemetry/wide-events.d.ts +31 -1
  742. package/dist/telemetry/wide-events.d.ts.map +1 -1
  743. package/dist/telemetry/wide-events.js +229 -1
  744. package/dist/telemetry/wide-events.js.map +1 -1
  745. package/dist/telemetry.d.ts +39 -3
  746. package/dist/telemetry.d.ts.map +1 -1
  747. package/dist/telemetry.js +160 -3
  748. package/dist/telemetry.js.map +1 -1
  749. package/dist/testing/test-verification-hook.d.ts.map +1 -1
  750. package/dist/testing/test-verification-hook.js +34 -21
  751. package/dist/testing/test-verification-hook.js.map +1 -1
  752. package/dist/tools/apply-patch-parser.d.ts +26 -0
  753. package/dist/tools/apply-patch-parser.d.ts.map +1 -0
  754. package/dist/tools/apply-patch-parser.js +146 -0
  755. package/dist/tools/apply-patch-parser.js.map +1 -0
  756. package/dist/tools/apply-patch.d.ts +42 -0
  757. package/dist/tools/apply-patch.d.ts.map +1 -0
  758. package/dist/tools/apply-patch.js +648 -0
  759. package/dist/tools/apply-patch.js.map +1 -0
  760. package/dist/tools/ask-user.d.ts +1 -0
  761. package/dist/tools/ask-user.d.ts.map +1 -1
  762. package/dist/tools/background/tool-handler.d.ts +1 -0
  763. package/dist/tools/background/tool-handler.d.ts.map +1 -1
  764. package/dist/tools/bash.d.ts +1 -0
  765. package/dist/tools/bash.d.ts.map +1 -1
  766. package/dist/tools/codesearch.d.ts +1 -0
  767. package/dist/tools/codesearch.d.ts.map +1 -1
  768. package/dist/tools/conductor-client.d.ts +1 -0
  769. package/dist/tools/conductor-client.d.ts.map +1 -1
  770. package/dist/tools/conductor-client.js +63 -0
  771. package/dist/tools/conductor-client.js.map +1 -1
  772. package/dist/tools/diff.d.ts +1 -0
  773. package/dist/tools/diff.d.ts.map +1 -1
  774. package/dist/tools/edit.d.ts +1 -0
  775. package/dist/tools/edit.d.ts.map +1 -1
  776. package/dist/tools/extract-document.d.ts +1 -0
  777. package/dist/tools/extract-document.d.ts.map +1 -1
  778. package/dist/tools/find.d.ts +10 -0
  779. package/dist/tools/find.d.ts.map +1 -1
  780. package/dist/tools/find.js +236 -27
  781. package/dist/tools/find.js.map +1 -1
  782. package/dist/tools/gh.d.ts +3 -0
  783. package/dist/tools/gh.d.ts.map +1 -1
  784. package/dist/tools/index.d.ts +50 -0
  785. package/dist/tools/index.d.ts.map +1 -1
  786. package/dist/tools/index.js +4 -0
  787. package/dist/tools/index.js.map +1 -1
  788. package/dist/tools/list.d.ts +1 -0
  789. package/dist/tools/list.d.ts.map +1 -1
  790. package/dist/tools/notebook.d.ts +1 -0
  791. package/dist/tools/notebook.d.ts.map +1 -1
  792. package/dist/tools/oracle.d.ts +1 -0
  793. package/dist/tools/oracle.d.ts.map +1 -1
  794. package/dist/tools/oracle.js +17 -32
  795. package/dist/tools/oracle.js.map +1 -1
  796. package/dist/tools/parallel-execution.d.ts +13 -2
  797. package/dist/tools/parallel-execution.d.ts.map +1 -1
  798. package/dist/tools/parallel-execution.js +178 -7
  799. package/dist/tools/parallel-execution.js.map +1 -1
  800. package/dist/tools/parallel-ripgrep.d.ts +1 -0
  801. package/dist/tools/parallel-ripgrep.d.ts.map +1 -1
  802. package/dist/tools/pipeline.d.ts +4 -0
  803. package/dist/tools/pipeline.d.ts.map +1 -1
  804. package/dist/tools/read.d.ts +1 -0
  805. package/dist/tools/read.d.ts.map +1 -1
  806. package/dist/tools/search.d.ts +1 -0
  807. package/dist/tools/search.d.ts.map +1 -1
  808. package/dist/tools/status.d.ts +1 -0
  809. package/dist/tools/status.d.ts.map +1 -1
  810. package/dist/tools/todo.d.ts +1 -0
  811. package/dist/tools/todo.d.ts.map +1 -1
  812. package/dist/tools/tool-dsl.d.ts +5 -1
  813. package/dist/tools/tool-dsl.d.ts.map +1 -1
  814. package/dist/tools/tool-dsl.js +1 -0
  815. package/dist/tools/tool-dsl.js.map +1 -1
  816. package/dist/tools/tool-result-cache.d.ts.map +1 -1
  817. package/dist/tools/tool-result-cache.js +1 -0
  818. package/dist/tools/tool-result-cache.js.map +1 -1
  819. package/dist/tools/typebox-tool.d.ts.map +1 -1
  820. package/dist/tools/typebox-tool.js +3 -0
  821. package/dist/tools/typebox-tool.js.map +1 -1
  822. package/dist/tools/webfetch.d.ts +1 -0
  823. package/dist/tools/webfetch.d.ts.map +1 -1
  824. package/dist/tools/websearch.d.ts +1 -0
  825. package/dist/tools/websearch.d.ts.map +1 -1
  826. package/dist/tools/write.d.ts +1 -0
  827. package/dist/tools/write.d.ts.map +1 -1
  828. package/dist/utils/abort-error.d.ts +2 -0
  829. package/dist/utils/abort-error.d.ts.map +1 -0
  830. package/dist/utils/abort-error.js +7 -0
  831. package/dist/utils/abort-error.js.map +1 -0
  832. package/dist/utils/downstream.d.ts.map +1 -1
  833. package/dist/utils/downstream.js +4 -0
  834. package/dist/utils/downstream.js.map +1 -1
  835. package/dist/utils/logger.d.ts +3 -0
  836. package/dist/utils/logger.d.ts.map +1 -1
  837. package/dist/utils/logger.js +14 -3
  838. package/dist/utils/logger.js.map +1 -1
  839. package/dist/utils/path-containment.d.ts +2 -0
  840. package/dist/utils/path-containment.d.ts.map +1 -0
  841. package/dist/utils/path-containment.js +14 -0
  842. package/dist/utils/path-containment.js.map +1 -0
  843. package/dist/utils/prompt-safe-text.d.ts +7 -0
  844. package/dist/utils/prompt-safe-text.d.ts.map +1 -0
  845. package/dist/utils/prompt-safe-text.js +44 -0
  846. package/dist/utils/prompt-safe-text.js.map +1 -0
  847. package/dist/version.json +2 -2
  848. package/dist/web-server.d.ts.map +1 -1
  849. package/dist/web-server.js +32 -7
  850. package/dist/web-server.js.map +1 -1
  851. package/dist/workspace/root-resolver.d.ts +4 -1
  852. package/dist/workspace/root-resolver.d.ts.map +1 -1
  853. package/dist/workspace/root-resolver.js +16 -6
  854. package/dist/workspace/root-resolver.js.map +1 -1
  855. package/node_modules/@evalops/contracts/dist/advisor-effort.d.ts +8 -0
  856. package/node_modules/@evalops/contracts/dist/advisor-effort.d.ts.map +1 -0
  857. package/node_modules/@evalops/contracts/dist/advisor-effort.js +35 -0
  858. package/node_modules/@evalops/contracts/dist/advisor-effort.js.map +1 -0
  859. package/node_modules/@evalops/contracts/dist/delegation-prompt.d.ts +10 -0
  860. package/node_modules/@evalops/contracts/dist/delegation-prompt.d.ts.map +1 -0
  861. package/node_modules/@evalops/contracts/dist/delegation-prompt.js +48 -0
  862. package/node_modules/@evalops/contracts/dist/delegation-prompt.js.map +1 -0
  863. package/node_modules/@evalops/contracts/dist/guarded-files-settings.d.ts +20 -0
  864. package/node_modules/@evalops/contracts/dist/guarded-files-settings.d.ts.map +1 -0
  865. package/node_modules/@evalops/contracts/dist/guarded-files-settings.js +147 -0
  866. package/node_modules/@evalops/contracts/dist/guarded-files-settings.js.map +1 -0
  867. package/node_modules/@evalops/contracts/dist/headless-protocol-generated.d.ts +2 -0
  868. package/node_modules/@evalops/contracts/dist/headless-protocol-generated.d.ts.map +1 -1
  869. package/node_modules/@evalops/contracts/dist/headless-protocol-generated.js +1 -0
  870. package/node_modules/@evalops/contracts/dist/headless-protocol-generated.js.map +1 -1
  871. package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts +280 -5
  872. package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.d.ts.map +1 -1
  873. package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.js +36 -1
  874. package/node_modules/@evalops/contracts/dist/headless-protocol-schemas.generated.js.map +1 -1
  875. package/node_modules/@evalops/contracts/dist/index.d.ts +15 -1
  876. package/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
  877. package/node_modules/@evalops/contracts/dist/index.js +6 -0
  878. package/node_modules/@evalops/contracts/dist/index.js.map +1 -1
  879. package/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +593 -0
  880. package/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -0
  881. package/node_modules/@evalops/contracts/dist/maestro-app-server.js +218 -0
  882. package/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -0
  883. package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts +91 -0
  884. package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.d.ts.map +1 -1
  885. package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.js +92 -61
  886. package/node_modules/@evalops/contracts/dist/proto/maestro/v1/headless_pb.js.map +1 -1
  887. package/node_modules/@evalops/contracts/dist/runtime-app-server.d.ts +3 -0
  888. package/node_modules/@evalops/contracts/dist/runtime-app-server.d.ts.map +1 -1
  889. package/node_modules/@evalops/contracts/dist/runtime-constraints.d.ts +28 -0
  890. package/node_modules/@evalops/contracts/dist/runtime-constraints.d.ts.map +1 -0
  891. package/node_modules/@evalops/contracts/dist/runtime-constraints.js +71 -0
  892. package/node_modules/@evalops/contracts/dist/runtime-constraints.js.map +1 -0
  893. package/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts +7 -0
  894. package/node_modules/@evalops/contracts/dist/runtime-server-request.d.ts.map +1 -1
  895. package/node_modules/@evalops/contracts/dist/runtime-server-request.js +2 -0
  896. package/node_modules/@evalops/contracts/dist/runtime-server-request.js.map +1 -1
  897. package/node_modules/@evalops/contracts/dist/scenario.d.ts +191 -0
  898. package/node_modules/@evalops/contracts/dist/scenario.d.ts.map +1 -0
  899. package/node_modules/@evalops/contracts/dist/scenario.js +4 -0
  900. package/node_modules/@evalops/contracts/dist/scenario.js.map +1 -0
  901. package/node_modules/@evalops/contracts/dist/schemas.d.ts +17 -3
  902. package/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
  903. package/node_modules/@evalops/contracts/dist/schemas.js +16 -0
  904. package/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
  905. package/node_modules/@evalops/contracts/package.json +1 -1
  906. package/node_modules/@evalops/tui/package.json +1 -1
  907. package/package.json +41 -7
  908. package/skills/incident-triage/SKILL.md +40 -0
  909. package/skills/incident-triage/mcp.json +14 -0
  910. package/skills/incident-triage/reference/triage.md +20 -0
  911. package/skills/incident-triage/toolbox/incident-timeline +22 -0
  912. package/skills/incident-triage/toolbox/incident-timeline.cmd +16 -0
  913. package/skills/pr-review/SKILL.md +40 -0
  914. package/skills/pr-review/mcp.json +14 -0
  915. package/skills/pr-review/reference/rubric.md +20 -0
  916. package/skills/pr-review/toolbox/review-summary +20 -0
  917. package/skills/pr-review/toolbox/review-summary.cmd +14 -0
  918. package/skills/release-verification/SKILL.md +40 -0
  919. package/skills/release-verification/mcp.json +15 -0
  920. package/skills/release-verification/reference/checklist.md +21 -0
  921. package/skills/release-verification/toolbox/release-readiness +18 -0
  922. package/skills/release-verification/toolbox/release-readiness.cmd +12 -0
@@ -0,0 +1,184 @@
1
+ import { metrics as otelMetrics, } from "@opentelemetry/api";
2
+ export const MAESTRO_OTEL_METRIC_DEFINITIONS = [
3
+ {
4
+ key: "toolInvocationCount",
5
+ name: "tool_service.invocation_count",
6
+ kind: "counter",
7
+ description: "Number of tool invocations",
8
+ },
9
+ {
10
+ key: "toolInvocationLatency",
11
+ name: "tool_service.invocation_latency",
12
+ kind: "histogram",
13
+ description: "Latency of tool invocations",
14
+ unit: "ms",
15
+ },
16
+ {
17
+ key: "skillInvocationCount",
18
+ name: "tool_service.skill.invocation_count",
19
+ kind: "counter",
20
+ description: "Skill tool invocations by skill name",
21
+ },
22
+ {
23
+ key: "agentTurnCount",
24
+ name: "agent.turn_count",
25
+ kind: "counter",
26
+ description: "Agent turns by mode and outcome",
27
+ },
28
+ {
29
+ key: "agentTurnLatency",
30
+ name: "agent.turn_latency",
31
+ kind: "histogram",
32
+ description: "Wall-clock duration per agent turn",
33
+ unit: "ms",
34
+ },
35
+ {
36
+ key: "subagentDispatchCount",
37
+ name: "agent.subagent.dispatch_count",
38
+ kind: "counter",
39
+ description: "Subagent dispatch decisions by mode, type, provider, and outcome",
40
+ },
41
+ {
42
+ key: "subagentDispatchLatency",
43
+ name: "agent.subagent.dispatch_latency",
44
+ kind: "histogram",
45
+ description: "Latency of subagent dispatch resolution",
46
+ unit: "ms",
47
+ },
48
+ {
49
+ key: "compactionTriggered",
50
+ name: "compaction.triggered",
51
+ kind: "counter",
52
+ description: "Auto-compaction triggers",
53
+ },
54
+ {
55
+ key: "llmRequestCount",
56
+ name: "llm.request_count",
57
+ kind: "counter",
58
+ description: "LLM requests by provider, model, mode",
59
+ },
60
+ {
61
+ key: "llmTokenUsage",
62
+ name: "llm.tokens_used",
63
+ kind: "counter",
64
+ description: "Tokens consumed by direction",
65
+ },
66
+ ];
67
+ const definitionsByKey = Object.fromEntries(MAESTRO_OTEL_METRIC_DEFINITIONS.map((definition) => [
68
+ definition.key,
69
+ definition,
70
+ ]));
71
+ const meter = otelMetrics.getMeter("evalops.maestro", process.env.MAESTRO_VERSION ?? "unknown");
72
+ function counter(key) {
73
+ const definition = definitionsByKey[key];
74
+ return meter.createCounter(definition.name, {
75
+ description: definition.description,
76
+ unit: definition.unit,
77
+ });
78
+ }
79
+ function histogram(key) {
80
+ const definition = definitionsByKey[key];
81
+ return meter.createHistogram(definition.name, {
82
+ description: definition.description,
83
+ unit: definition.unit,
84
+ });
85
+ }
86
+ export const maestroOtelMetrics = {
87
+ toolInvocationCount: counter("toolInvocationCount"),
88
+ toolInvocationLatency: histogram("toolInvocationLatency"),
89
+ skillInvocationCount: counter("skillInvocationCount"),
90
+ agentTurnCount: counter("agentTurnCount"),
91
+ agentTurnLatency: histogram("agentTurnLatency"),
92
+ subagentDispatchCount: counter("subagentDispatchCount"),
93
+ subagentDispatchLatency: histogram("subagentDispatchLatency"),
94
+ compactionTriggered: counter("compactionTriggered"),
95
+ llmRequestCount: counter("llmRequestCount"),
96
+ llmTokenUsage: counter("llmTokenUsage"),
97
+ };
98
+ function compactAttributes(attributes) {
99
+ return Object.fromEntries(Object.entries(attributes).filter((entry) => entry[1] !== undefined));
100
+ }
101
+ export function recordToolInvocationMetric(input) {
102
+ const attributes = compactAttributes({
103
+ "tool.name": input.toolName,
104
+ "tool.success": input.success,
105
+ "maestro.surface": input.surface,
106
+ "maestro.agent_run_id": input.agentRunId,
107
+ });
108
+ maestroOtelMetrics.toolInvocationCount.add(1, attributes);
109
+ if (typeof input.durationMs === "number" &&
110
+ Number.isFinite(input.durationMs)) {
111
+ maestroOtelMetrics.toolInvocationLatency.record(input.durationMs, attributes);
112
+ }
113
+ if (input.skillName) {
114
+ maestroOtelMetrics.skillInvocationCount.add(1, compactAttributes({
115
+ ...attributes,
116
+ "skill.name": input.skillName,
117
+ }));
118
+ }
119
+ }
120
+ export function recordAgentTurnMetric(input) {
121
+ const attributes = compactAttributes({
122
+ "agent.turn.status": input.status,
123
+ "agent.turn.mode": input.mode,
124
+ "llm.model.id": input.modelId,
125
+ "llm.model.provider": input.modelProvider,
126
+ "maestro.surface": input.surface,
127
+ "maestro.agent_run_id": input.agentRunId,
128
+ });
129
+ maestroOtelMetrics.agentTurnCount.add(1, attributes);
130
+ if (typeof input.durationMs === "number" &&
131
+ Number.isFinite(input.durationMs)) {
132
+ maestroOtelMetrics.agentTurnLatency.record(input.durationMs, attributes);
133
+ }
134
+ }
135
+ export function recordSubagentDispatchMetric(input) {
136
+ const attributes = compactAttributes({
137
+ "maestro.subagent.mode": input.mode,
138
+ "maestro.subagent.type": input.subagentType,
139
+ "maestro.subagent.reasoning_effort": input.reasoningEffort,
140
+ "maestro.subagent.source": input.source,
141
+ "maestro.subagent.success": input.success,
142
+ "llm.model.provider": input.provider,
143
+ "llm.model.id": input.model,
144
+ "maestro.agent_run_id": input.agentRunId,
145
+ });
146
+ maestroOtelMetrics.subagentDispatchCount.add(1, attributes);
147
+ if (typeof input.latencyMs === "number" && Number.isFinite(input.latencyMs)) {
148
+ maestroOtelMetrics.subagentDispatchLatency.record(input.latencyMs, attributes);
149
+ }
150
+ }
151
+ export function recordCompactionMetric(attributes = {}) {
152
+ maestroOtelMetrics.compactionTriggered.add(1, compactAttributes(attributes));
153
+ }
154
+ export function recordLlmTokenUsageMetric(tokens, attributes = {}) {
155
+ const compactedAttributes = compactAttributes(attributes);
156
+ const tokenEntries = [
157
+ ["input", tokens.input],
158
+ ["output", tokens.output],
159
+ ["cache_read", tokens.cacheRead],
160
+ ["cache_write", tokens.cacheWrite],
161
+ ];
162
+ for (const [direction, value] of tokenEntries) {
163
+ if (typeof value === "number" && Number.isFinite(value) && value > 0) {
164
+ maestroOtelMetrics.llmTokenUsage.add(value, compactAttributes({
165
+ ...compactedAttributes,
166
+ "llm.token.direction": direction,
167
+ }));
168
+ }
169
+ }
170
+ }
171
+ export function recordLlmRequestMetric(input) {
172
+ const attributes = compactAttributes({
173
+ "llm.model.provider": input.provider,
174
+ "llm.model.id": input.modelId,
175
+ "llm.request.mode": input.mode,
176
+ "maestro.surface": input.surface,
177
+ "maestro.agent_run_id": input.agentRunId,
178
+ });
179
+ maestroOtelMetrics.llmRequestCount.add(1, attributes);
180
+ if (input.tokens) {
181
+ recordLlmTokenUsageMetric(input.tokens, attributes);
182
+ }
183
+ }
184
+ //# sourceMappingURL=metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype Counter,\n\ttype Histogram,\n\tmetrics as otelMetrics,\n} from \"@opentelemetry/api\";\n\nexport type MaestroMetricDefinition = {\n\tkey: string;\n\tname: string;\n\tkind: \"counter\" | \"histogram\";\n\tdescription: string;\n\tunit?: string;\n};\n\nexport const MAESTRO_OTEL_METRIC_DEFINITIONS = [\n\t{\n\t\tkey: \"toolInvocationCount\",\n\t\tname: \"tool_service.invocation_count\",\n\t\tkind: \"counter\",\n\t\tdescription: \"Number of tool invocations\",\n\t},\n\t{\n\t\tkey: \"toolInvocationLatency\",\n\t\tname: \"tool_service.invocation_latency\",\n\t\tkind: \"histogram\",\n\t\tdescription: \"Latency of tool invocations\",\n\t\tunit: \"ms\",\n\t},\n\t{\n\t\tkey: \"skillInvocationCount\",\n\t\tname: \"tool_service.skill.invocation_count\",\n\t\tkind: \"counter\",\n\t\tdescription: \"Skill tool invocations by skill name\",\n\t},\n\t{\n\t\tkey: \"agentTurnCount\",\n\t\tname: \"agent.turn_count\",\n\t\tkind: \"counter\",\n\t\tdescription: \"Agent turns by mode and outcome\",\n\t},\n\t{\n\t\tkey: \"agentTurnLatency\",\n\t\tname: \"agent.turn_latency\",\n\t\tkind: \"histogram\",\n\t\tdescription: \"Wall-clock duration per agent turn\",\n\t\tunit: \"ms\",\n\t},\n\t{\n\t\tkey: \"subagentDispatchCount\",\n\t\tname: \"agent.subagent.dispatch_count\",\n\t\tkind: \"counter\",\n\t\tdescription:\n\t\t\t\"Subagent dispatch decisions by mode, type, provider, and outcome\",\n\t},\n\t{\n\t\tkey: \"subagentDispatchLatency\",\n\t\tname: \"agent.subagent.dispatch_latency\",\n\t\tkind: \"histogram\",\n\t\tdescription: \"Latency of subagent dispatch resolution\",\n\t\tunit: \"ms\",\n\t},\n\t{\n\t\tkey: \"compactionTriggered\",\n\t\tname: \"compaction.triggered\",\n\t\tkind: \"counter\",\n\t\tdescription: \"Auto-compaction triggers\",\n\t},\n\t{\n\t\tkey: \"llmRequestCount\",\n\t\tname: \"llm.request_count\",\n\t\tkind: \"counter\",\n\t\tdescription: \"LLM requests by provider, model, mode\",\n\t},\n\t{\n\t\tkey: \"llmTokenUsage\",\n\t\tname: \"llm.tokens_used\",\n\t\tkind: \"counter\",\n\t\tdescription: \"Tokens consumed by direction\",\n\t},\n] as const satisfies readonly MaestroMetricDefinition[];\n\ntype MetricKey = (typeof MAESTRO_OTEL_METRIC_DEFINITIONS)[number][\"key\"];\ntype MetricDefinitionByKey = Record<MetricKey, MaestroMetricDefinition>;\n\nconst definitionsByKey = Object.fromEntries(\n\tMAESTRO_OTEL_METRIC_DEFINITIONS.map((definition) => [\n\t\tdefinition.key,\n\t\tdefinition,\n\t]),\n) as MetricDefinitionByKey;\n\nconst meter = otelMetrics.getMeter(\n\t\"evalops.maestro\",\n\tprocess.env.MAESTRO_VERSION ?? \"unknown\",\n);\n\nfunction counter(key: MetricKey): Counter {\n\tconst definition = definitionsByKey[key];\n\treturn meter.createCounter(definition.name, {\n\t\tdescription: definition.description,\n\t\tunit: definition.unit,\n\t});\n}\n\nfunction histogram(key: MetricKey): Histogram {\n\tconst definition = definitionsByKey[key];\n\treturn meter.createHistogram(definition.name, {\n\t\tdescription: definition.description,\n\t\tunit: definition.unit,\n\t});\n}\n\nexport const maestroOtelMetrics = {\n\ttoolInvocationCount: counter(\"toolInvocationCount\"),\n\ttoolInvocationLatency: histogram(\"toolInvocationLatency\"),\n\tskillInvocationCount: counter(\"skillInvocationCount\"),\n\tagentTurnCount: counter(\"agentTurnCount\"),\n\tagentTurnLatency: histogram(\"agentTurnLatency\"),\n\tsubagentDispatchCount: counter(\"subagentDispatchCount\"),\n\tsubagentDispatchLatency: histogram(\"subagentDispatchLatency\"),\n\tcompactionTriggered: counter(\"compactionTriggered\"),\n\tllmRequestCount: counter(\"llmRequestCount\"),\n\tllmTokenUsage: counter(\"llmTokenUsage\"),\n};\n\nfunction compactAttributes(\n\tattributes: Record<string, string | number | boolean | undefined>,\n): Record<string, string | number | boolean> {\n\treturn Object.fromEntries(\n\t\tObject.entries(attributes).filter(\n\t\t\t(entry): entry is [string, string | number | boolean] =>\n\t\t\t\tentry[1] !== undefined,\n\t\t),\n\t);\n}\n\nexport function recordToolInvocationMetric(input: {\n\ttoolName: string;\n\tdurationMs?: number;\n\tsuccess?: boolean;\n\tsurface?: string;\n\tagentRunId?: string;\n\tskillName?: string;\n}): void {\n\tconst attributes = compactAttributes({\n\t\t\"tool.name\": input.toolName,\n\t\t\"tool.success\": input.success,\n\t\t\"maestro.surface\": input.surface,\n\t\t\"maestro.agent_run_id\": input.agentRunId,\n\t});\n\tmaestroOtelMetrics.toolInvocationCount.add(1, attributes);\n\tif (\n\t\ttypeof input.durationMs === \"number\" &&\n\t\tNumber.isFinite(input.durationMs)\n\t) {\n\t\tmaestroOtelMetrics.toolInvocationLatency.record(\n\t\t\tinput.durationMs,\n\t\t\tattributes,\n\t\t);\n\t}\n\tif (input.skillName) {\n\t\tmaestroOtelMetrics.skillInvocationCount.add(\n\t\t\t1,\n\t\t\tcompactAttributes({\n\t\t\t\t...attributes,\n\t\t\t\t\"skill.name\": input.skillName,\n\t\t\t}),\n\t\t);\n\t}\n}\n\nexport function recordAgentTurnMetric(input: {\n\tdurationMs?: number;\n\tstatus?: string;\n\tmode?: string;\n\tmodelId?: string;\n\tmodelProvider?: string;\n\tsurface?: string;\n\tagentRunId?: string;\n}): void {\n\tconst attributes = compactAttributes({\n\t\t\"agent.turn.status\": input.status,\n\t\t\"agent.turn.mode\": input.mode,\n\t\t\"llm.model.id\": input.modelId,\n\t\t\"llm.model.provider\": input.modelProvider,\n\t\t\"maestro.surface\": input.surface,\n\t\t\"maestro.agent_run_id\": input.agentRunId,\n\t});\n\tmaestroOtelMetrics.agentTurnCount.add(1, attributes);\n\tif (\n\t\ttypeof input.durationMs === \"number\" &&\n\t\tNumber.isFinite(input.durationMs)\n\t) {\n\t\tmaestroOtelMetrics.agentTurnLatency.record(input.durationMs, attributes);\n\t}\n}\n\nexport function recordSubagentDispatchMetric(input: {\n\tmode: string;\n\tsubagentType: string;\n\tprovider: string;\n\tmodel: string;\n\treasoningEffort: string;\n\tsource?: string;\n\tsuccess: boolean;\n\tlatencyMs?: number;\n\tagentRunId?: string;\n}): void {\n\tconst attributes = compactAttributes({\n\t\t\"maestro.subagent.mode\": input.mode,\n\t\t\"maestro.subagent.type\": input.subagentType,\n\t\t\"maestro.subagent.reasoning_effort\": input.reasoningEffort,\n\t\t\"maestro.subagent.source\": input.source,\n\t\t\"maestro.subagent.success\": input.success,\n\t\t\"llm.model.provider\": input.provider,\n\t\t\"llm.model.id\": input.model,\n\t\t\"maestro.agent_run_id\": input.agentRunId,\n\t});\n\tmaestroOtelMetrics.subagentDispatchCount.add(1, attributes);\n\tif (typeof input.latencyMs === \"number\" && Number.isFinite(input.latencyMs)) {\n\t\tmaestroOtelMetrics.subagentDispatchLatency.record(\n\t\t\tinput.latencyMs,\n\t\t\tattributes,\n\t\t);\n\t}\n}\n\nexport function recordCompactionMetric(\n\tattributes: Record<string, string | number | boolean | undefined> = {},\n): void {\n\tmaestroOtelMetrics.compactionTriggered.add(1, compactAttributes(attributes));\n}\n\nexport function recordLlmTokenUsageMetric(\n\ttokens: {\n\t\tinput?: number;\n\t\toutput?: number;\n\t\tcacheRead?: number;\n\t\tcacheWrite?: number;\n\t},\n\tattributes: Record<string, string | number | boolean | undefined> = {},\n): void {\n\tconst compactedAttributes = compactAttributes(attributes);\n\tconst tokenEntries = [\n\t\t[\"input\", tokens.input],\n\t\t[\"output\", tokens.output],\n\t\t[\"cache_read\", tokens.cacheRead],\n\t\t[\"cache_write\", tokens.cacheWrite],\n\t] as const;\n\tfor (const [direction, value] of tokenEntries) {\n\t\tif (typeof value === \"number\" && Number.isFinite(value) && value > 0) {\n\t\t\tmaestroOtelMetrics.llmTokenUsage.add(\n\t\t\t\tvalue,\n\t\t\t\tcompactAttributes({\n\t\t\t\t\t...compactedAttributes,\n\t\t\t\t\t\"llm.token.direction\": direction,\n\t\t\t\t}),\n\t\t\t);\n\t\t}\n\t}\n}\n\nexport function recordLlmRequestMetric(input: {\n\tprovider?: string;\n\tmodelId?: string;\n\tmode?: string;\n\tsurface?: string;\n\tagentRunId?: string;\n\ttokens?: {\n\t\tinput?: number;\n\t\toutput?: number;\n\t\tcacheRead?: number;\n\t\tcacheWrite?: number;\n\t};\n}): void {\n\tconst attributes = compactAttributes({\n\t\t\"llm.model.provider\": input.provider,\n\t\t\"llm.model.id\": input.modelId,\n\t\t\"llm.request.mode\": input.mode,\n\t\t\"maestro.surface\": input.surface,\n\t\t\"maestro.agent_run_id\": input.agentRunId,\n\t});\n\tmaestroOtelMetrics.llmRequestCount.add(1, attributes);\n\tif (input.tokens) {\n\t\trecordLlmTokenUsageMetric(input.tokens, attributes);\n\t}\n}\n"]}
@@ -60,6 +60,7 @@ export declare class TurnTracker {
60
60
  private unsubscribe;
61
61
  private samplingConfig;
62
62
  private accumulatedUsage;
63
+ private lastMetricTokens;
63
64
  constructor(agent: Agent, config: TurnTrackerConfig);
64
65
  /**
65
66
  * Update the context for future turns.
@@ -1 +1 @@
1
- {"version":3,"file":"turn-tracker.d.ts","sourceRoot":"","sources":["../../src/telemetry/turn-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAGvB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IACjC,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,6DAA6D;IAC7D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,kBAAkB;IAClC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1C,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,WAAW;IAStB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IATxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,gBAAgB,CAAsB;gBAG5B,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,iBAAiB;IAU3C;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIzD;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB,OAAO,CAAC,WAAW;IAkFnB,OAAO,CAAC,SAAS;IAgDjB,OAAO,CAAC,OAAO;CA0Df;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,iBAAiB,GACvB,WAAW,CAEb"}
1
+ {"version":3,"file":"turn-tracker.d.ts","sourceRoot":"","sources":["../../src/telemetry/turn-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EACN,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAIvB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IACjC,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7C,6DAA6D;IAC7D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,kBAAkB;IAClC,0BAA0B;IAC1B,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC1C,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB;IACpB,QAAQ,CAAC,EAAE;QACV,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,WAAW;IAUtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAVxB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,gBAAgB,CAA2B;gBAGjC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,iBAAiB;IAU3C;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAIzD;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB,OAAO,CAAC,WAAW;IAsFnB,OAAO,CAAC,SAAS;IAiDjB,OAAO,CAAC,OAAO;CA6Df;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,iBAAiB,GACvB,WAAW,CAEb"}
@@ -34,6 +34,7 @@ export class TurnTracker {
34
34
  this.context = {};
35
35
  this.unsubscribe = null;
36
36
  this.accumulatedUsage = null;
37
+ this.lastMetricTokens = null;
37
38
  this.samplingConfig = {
38
39
  ...getSamplingConfigFromEnv(),
39
40
  ...config.samplingConfig,
@@ -87,6 +88,9 @@ export class TurnTracker {
87
88
  this.currentTurn.recordSkillMetadata(event.skillMetadata);
88
89
  }
89
90
  break;
91
+ case "tool_phase_summary":
92
+ this.currentTurn?.recordToolPhaseSummary(event);
93
+ break;
90
94
  case "message_start":
91
95
  if (this.currentTurn && event.message?.role === "assistant") {
92
96
  this.currentTurn.recordLlmStart();
@@ -130,6 +134,7 @@ export class TurnTracker {
130
134
  if (!isContinuation || this.turnNumber === 0) {
131
135
  this.turnNumber++;
132
136
  this.accumulatedUsage = null;
137
+ this.lastMetricTokens = null;
133
138
  }
134
139
  this.currentTurn = new TurnCollector(this.config.sessionId, this.turnNumber, this.samplingConfig);
135
140
  // Set model info from agent state
@@ -198,8 +203,10 @@ export class TurnTracker {
198
203
  : undefined,
199
204
  };
200
205
  const costUsd = this.accumulatedUsage?.cost?.total ?? 0;
206
+ const metricTokens = diffTokenUsage(tokens, this.lastMetricTokens);
201
207
  // Complete the turn
202
- const canonicalEvent = this.currentTurn.complete(status, tokens, costUsd, errorDetails, abortReason);
208
+ const canonicalEvent = this.currentTurn.complete(status, tokens, costUsd, errorDetails, abortReason, metricTokens);
209
+ this.lastMetricTokens = tokens;
203
210
  // Call the callback if provided
204
211
  if (this.config.onTurnComplete) {
205
212
  this.config.onTurnComplete(canonicalEvent);
@@ -213,4 +220,18 @@ export class TurnTracker {
213
220
  export function createTurnTracker(agent, config) {
214
221
  return new TurnTracker(agent, config);
215
222
  }
223
+ function diffTokenUsage(current, previous) {
224
+ if (!previous) {
225
+ return current;
226
+ }
227
+ return {
228
+ input: Math.max(0, current.input - previous.input),
229
+ output: Math.max(0, current.output - previous.output),
230
+ cacheRead: Math.max(0, current.cacheRead - previous.cacheRead),
231
+ cacheWrite: Math.max(0, current.cacheWrite - previous.cacheWrite),
232
+ thinking: current.thinking !== undefined || previous.thinking !== undefined
233
+ ? Math.max(0, (current.thinking ?? 0) - (previous.thinking ?? 0))
234
+ : undefined,
235
+ };
236
+ }
216
237
  //# sourceMappingURL=turn-tracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"turn-tracker.js","sourceRoot":"","sources":["../../src/telemetry/turn-tracker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAGN,aAAa,EACb,wBAAwB,GACxB,MAAM,kBAAkB,CAAC;AA6B1B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,OAAO,WAAW;IAQvB,YACkB,KAAY,EACZ,MAAyB;QADzB,UAAK,GAAL,KAAK,CAAO;QACZ,WAAM,GAAN,MAAM,CAAmB;QATnC,eAAU,GAAG,CAAC,CAAC;QACf,gBAAW,GAAyB,IAAI,CAAC;QACzC,YAAO,GAAuB,EAAE,CAAC;QACjC,gBAAW,GAAwB,IAAI,CAAC;QAExC,qBAAgB,GAAiB,IAAI,CAAC;QAM7C,IAAI,CAAC,cAAc,GAAG;YACrB,GAAG,wBAAwB,EAAE;YAC7B,GAAG,MAAM,CAAC,cAAc;SACxB,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,OAAoC;QACjD,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,OAAO;QACN,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACzB,CAAC;IACF,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAEO,WAAW,CAAC,KAAiB;QACpC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,aAAa;gBACjB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC;gBAC5C,MAAM;YAEP,KAAK,sBAAsB;gBAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,YAAY,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;oBACtE,IAAI,CAAC,WAAW,CAAC,eAAe,CAC/B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,UAAU,EAChB,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;wBAClD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM;wBACpB,CAAC,CAAC,SAAS,CACZ,CAAC;gBACH,CAAC;gBACD,MAAM;YAEP,KAAK,oBAAoB;gBACxB,IAAI,IAAI,CAAC,WAAW,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;oBAC/C,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO;wBAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC;wBAC5C,CAAC,CAAC,SAAS,CAAC;oBACb,MAAM,UAAU,GACf,QAAQ,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;wBACpD,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;wBACrB,CAAC,CAAC,SAAS,CAAC;oBAEd,IAAI,CAAC,WAAW,CAAC,aAAa,CAC7B,KAAK,CAAC,UAAU,EAChB,OAAO,EACP,UAAU,EACV,SAAS,CACT,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC3D,CAAC;gBACD,MAAM;YAEP,KAAK,eAAe;gBACnB,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC7D,IAAI,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;gBACnC,CAAC;gBACD,MAAM;YAEP,KAAK,aAAa;gBACjB,IAAI,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC7D,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;oBAChC,yEAAyE;oBACzE,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;wBACrE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAc,CAAC;wBAC3C,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;4BAC3B,yBAAyB;4BACzB,IAAI,CAAC,gBAAgB,GAAG;gCACvB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK;gCAChD,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM;gCACnD,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS;gCAC5D,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;gCAC/D,IAAI,EAAE;oCACL,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK;oCAC1D,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM;oCAC7D,SAAS,EACR,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS;oCAC5D,UAAU,EACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU;wCACrC,KAAK,CAAC,IAAI,CAAC,UAAU;oCACtB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK;iCAC1D;6BACD,CAAC;wBACH,CAAC;6BAAM,CAAC;4BACP,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;wBAC/B,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,MAAM;YAEP,KAAK,WAAW;gBACf,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM;QACR,CAAC;IACF,CAAC;IAEO,SAAS,CAAC,cAAc,GAAG,KAAK;QACvC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,aAAa,CACnC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,CACnB,CAAC;QAEF,kCAAkC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACzB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;YAClB,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;YAC9B,aAAa,EACZ,KAAK,CAAC,aAA6D;SACpE,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEzD,2BAA2B;QAC3B,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnD,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC;gBAC5B,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,KAAK;gBACjD,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;gBAC9D,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI;gBAClE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC;aAC/C,CAAC,CAAC;QACJ,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,OAAO,CAAC,KAAyC;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO;QACR,CAAC;QAED,mBAAmB;QACnB,IAAI,MAAM,GAAiC,SAAS,CAAC;QACrD,IAAI,WAA0D,CAAC;QAC/D,IAAI,YAAiE,CAAC;QAEtE,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,GAAG,SAAS,CAAC;YACnB,WAAW,GAAG,MAAM,CAAC;QACtB,CAAC;QAED,iCAAiC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;QAC1C,IAAI,UAAU,EAAE,CAAC;YAChB,MAAM,GAAG,OAAO,CAAC;YACjB,YAAY,GAAG;gBACd,QAAQ,EAAE,SAAS;gBACnB,OAAO,EACN,UAAU,CAAC,MAAM,GAAG,GAAG;oBACtB,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK;oBAClC,CAAC,CAAC,UAAU;aACd,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,MAAM,MAAM,GAAG;YACd,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC;YAC1C,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,SAAS,IAAI,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,IAAI,CAAC;YAClD,QAAQ,EACP,UAAU,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBAC1C,CAAC,CAAE,IAAI,CAAC,gBAA0C,CAAC,QAAQ;gBAC3D,CAAC,CAAC,SAAS;SACb,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;QAExD,oBAAoB;QACpB,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC/C,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,EACZ,WAAW,CACX,CAAC;QAEF,gCAAgC;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;CACD;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAChC,KAAY,EACZ,MAAyB;IAEzB,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,CAAC","sourcesContent":["/**\n * Turn Tracker - Integrates TurnCollector with Agent Event Stream\n *\n * Automatically tracks agent turns by subscribing to agent events and\n * emitting canonical wide events at turn completion.\n */\n\nimport type { Agent } from \"../agent/agent.js\";\nimport type { AgentEvent, ThinkingLevel, Usage } from \"../agent/types.js\";\nimport {\n\ttype CanonicalTurnEvent,\n\ttype TailSamplingConfig,\n\tTurnCollector,\n\tgetSamplingConfigFromEnv,\n} from \"./wide-events.js\";\n\nexport interface TurnTrackerConfig {\n\t/** Session ID for the current session */\n\tsessionId: string;\n\t/** Sampling configuration (defaults to env vars or built-in defaults) */\n\tsamplingConfig?: Partial<TailSamplingConfig>;\n\t/** Callback when a turn completes (for logging/debugging) */\n\tonTurnComplete?: (event: CanonicalTurnEvent) => void;\n}\n\nexport interface TurnTrackerContext {\n\t/** Sandbox mode in use */\n\tsandboxMode?: \"docker\" | \"local\" | \"none\";\n\t/** Approval mode in use */\n\tapprovalMode?: \"auto\" | \"prompt\" | \"fail\";\n\t/** Active MCP server names */\n\tmcpServers?: string[];\n\t/** Number of context sources */\n\tcontextSourceCount?: number;\n\t/** Feature flags */\n\tfeatures?: {\n\t\tsafeMode?: boolean;\n\t\tguardianEnabled?: boolean;\n\t\tcompactionEnabled?: boolean;\n\t\thookCount?: number;\n\t};\n}\n\n/**\n * Tracks agent turns and emits canonical wide events.\n *\n * Usage:\n * ```typescript\n * const tracker = new TurnTracker(agent, {\n * sessionId: \"session-123\",\n * onTurnComplete: (event) => console.log(\"Turn completed:\", event.turnId),\n * });\n *\n * // Update context as it changes\n * tracker.updateContext({ sandboxMode: \"docker\", mcpServers: [\"context7\"] });\n *\n * // Tracker automatically records turns via agent subscription\n * await agent.prompt(\"Hello!\");\n *\n * // Clean up when done\n * tracker.dispose();\n * ```\n */\nexport class TurnTracker {\n\tprivate turnNumber = 0;\n\tprivate currentTurn: TurnCollector | null = null;\n\tprivate context: TurnTrackerContext = {};\n\tprivate unsubscribe: (() => void) | null = null;\n\tprivate samplingConfig: Partial<TailSamplingConfig>;\n\tprivate accumulatedUsage: Usage | null = null;\n\n\tconstructor(\n\t\tprivate readonly agent: Agent,\n\t\tprivate readonly config: TurnTrackerConfig,\n\t) {\n\t\tthis.samplingConfig = {\n\t\t\t...getSamplingConfigFromEnv(),\n\t\t\t...config.samplingConfig,\n\t\t};\n\n\t\tthis.unsubscribe = agent.subscribe((event) => this.handleEvent(event));\n\t}\n\n\t/**\n\t * Update the context for future turns.\n\t * Call this when sandbox mode, MCP servers, or other context changes.\n\t */\n\tupdateContext(context: Partial<TurnTrackerContext>): void {\n\t\tthis.context = { ...this.context, ...context };\n\t}\n\n\t/**\n\t * Stop tracking and clean up subscription.\n\t */\n\tdispose(): void {\n\t\tif (this.unsubscribe) {\n\t\t\tthis.unsubscribe();\n\t\t\tthis.unsubscribe = null;\n\t\t}\n\t}\n\n\t/**\n\t * Get the current turn number (0 if no turns have started).\n\t */\n\tgetTurnNumber(): number {\n\t\treturn this.turnNumber;\n\t}\n\n\tprivate handleEvent(event: AgentEvent): void {\n\t\tswitch (event.type) {\n\t\t\tcase \"agent_start\":\n\t\t\t\tthis.startTurn(event.continuation === true);\n\t\t\t\tbreak;\n\n\t\t\tcase \"tool_execution_start\":\n\t\t\t\tif (this.currentTurn && \"toolCallId\" in event && \"toolName\" in event) {\n\t\t\t\t\tthis.currentTurn.recordToolStart(\n\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\tevent.toolCallId,\n\t\t\t\t\t\t\"input\" in event && typeof event.input === \"string\"\n\t\t\t\t\t\t\t? event.input.length\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"tool_execution_end\":\n\t\t\t\tif (this.currentTurn && \"toolCallId\" in event) {\n\t\t\t\t\tconst success = !event.isError;\n\t\t\t\t\tconst errorCode = event.isError\n\t\t\t\t\t\t? (event.errorCode?.slice(0, 50) ?? \"error\")\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\tconst outputSize =\n\t\t\t\t\t\t\"output\" in event && typeof event.output === \"string\"\n\t\t\t\t\t\t\t? event.output.length\n\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\tthis.currentTurn.recordToolEnd(\n\t\t\t\t\t\tevent.toolCallId,\n\t\t\t\t\t\tsuccess,\n\t\t\t\t\t\toutputSize,\n\t\t\t\t\t\terrorCode,\n\t\t\t\t\t);\n\t\t\t\t\tthis.currentTurn.recordSkillMetadata(event.skillMetadata);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"message_start\":\n\t\t\t\tif (this.currentTurn && event.message?.role === \"assistant\") {\n\t\t\t\t\tthis.currentTurn.recordLlmStart();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"message_end\":\n\t\t\t\tif (this.currentTurn && event.message?.role === \"assistant\") {\n\t\t\t\t\tthis.currentTurn.recordLlmEnd();\n\t\t\t\t\t// Accumulate usage from this message (turns may have multiple LLM calls)\n\t\t\t\t\tif (\"message\" in event && event.message && \"usage\" in event.message) {\n\t\t\t\t\t\tconst usage = event.message.usage as Usage;\n\t\t\t\t\t\tif (this.accumulatedUsage) {\n\t\t\t\t\t\t\t// Add to existing totals\n\t\t\t\t\t\t\tthis.accumulatedUsage = {\n\t\t\t\t\t\t\t\tinput: this.accumulatedUsage.input + usage.input,\n\t\t\t\t\t\t\t\toutput: this.accumulatedUsage.output + usage.output,\n\t\t\t\t\t\t\t\tcacheRead: this.accumulatedUsage.cacheRead + usage.cacheRead,\n\t\t\t\t\t\t\t\tcacheWrite: this.accumulatedUsage.cacheWrite + usage.cacheWrite,\n\t\t\t\t\t\t\t\tcost: {\n\t\t\t\t\t\t\t\t\tinput: this.accumulatedUsage.cost.input + usage.cost.input,\n\t\t\t\t\t\t\t\t\toutput: this.accumulatedUsage.cost.output + usage.cost.output,\n\t\t\t\t\t\t\t\t\tcacheRead:\n\t\t\t\t\t\t\t\t\t\tthis.accumulatedUsage.cost.cacheRead + usage.cost.cacheRead,\n\t\t\t\t\t\t\t\t\tcacheWrite:\n\t\t\t\t\t\t\t\t\t\tthis.accumulatedUsage.cost.cacheWrite +\n\t\t\t\t\t\t\t\t\t\tusage.cost.cacheWrite,\n\t\t\t\t\t\t\t\t\ttotal: this.accumulatedUsage.cost.total + usage.cost.total,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.accumulatedUsage = usage;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"agent_end\":\n\t\t\t\tthis.endTurn(event);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate startTurn(isContinuation = false): void {\n\t\tif (!isContinuation || this.turnNumber === 0) {\n\t\t\tthis.turnNumber++;\n\t\t\tthis.accumulatedUsage = null;\n\t\t}\n\n\t\tthis.currentTurn = new TurnCollector(\n\t\t\tthis.config.sessionId,\n\t\t\tthis.turnNumber,\n\t\t\tthis.samplingConfig,\n\t\t);\n\n\t\t// Set model info from agent state\n\t\tconst state = this.agent.state;\n\t\tthis.currentTurn.setModel({\n\t\t\tid: state.model.id,\n\t\t\tprovider: state.model.provider,\n\t\t\tthinkingLevel:\n\t\t\t\tstate.thinkingLevel as CanonicalTurnEvent[\"model\"][\"thinkingLevel\"],\n\t\t});\n\t\tthis.currentTurn.setPromptMetadata(state.promptMetadata);\n\n\t\t// Set context from tracker\n\t\tif (this.context.sandboxMode) {\n\t\t\tthis.currentTurn.setSandboxMode(this.context.sandboxMode);\n\t\t}\n\t\tif (this.context.approvalMode) {\n\t\t\tthis.currentTurn.setApprovalMode(this.context.approvalMode);\n\t\t}\n\t\tif (this.context.mcpServers) {\n\t\t\tthis.currentTurn.setMcpServers(this.context.mcpServers);\n\t\t}\n\t\tif (this.context.contextSourceCount !== undefined) {\n\t\t\tthis.currentTurn.setContextSourceCount(this.context.contextSourceCount);\n\t\t}\n\t\tif (this.context.features) {\n\t\t\tthis.currentTurn.setFeatures({\n\t\t\t\tsafeMode: this.context.features.safeMode ?? false,\n\t\t\t\tguardianEnabled: this.context.features.guardianEnabled ?? true,\n\t\t\t\tcompactionEnabled: this.context.features.compactionEnabled ?? true,\n\t\t\t\thookCount: this.context.features.hookCount ?? 0,\n\t\t\t});\n\t\t}\n\n\t\t// Set message count\n\t\tthis.currentTurn.setMessageCount(state.messages.length);\n\t}\n\n\tprivate endTurn(event: AgentEvent & { type: \"agent_end\" }): void {\n\t\tif (!this.currentTurn) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine status\n\t\tlet status: CanonicalTurnEvent[\"status\"] = \"success\";\n\t\tlet abortReason: CanonicalTurnEvent[\"abortReason\"] | undefined;\n\t\tlet errorDetails: { category?: string; message?: string } | undefined;\n\n\t\tif (\"aborted\" in event && event.aborted) {\n\t\t\tstatus = \"aborted\";\n\t\t\tabortReason = \"user\";\n\t\t}\n\n\t\t// Check for error in agent state\n\t\tconst agentError = this.agent.state.error;\n\t\tif (agentError) {\n\t\t\tstatus = \"error\";\n\t\t\terrorDetails = {\n\t\t\t\tcategory: \"runtime\",\n\t\t\t\tmessage:\n\t\t\t\t\tagentError.length > 200\n\t\t\t\t\t\t? `${agentError.slice(0, 200)}...`\n\t\t\t\t\t\t: agentError,\n\t\t\t};\n\t\t}\n\n\t\t// Extract token usage\n\t\tconst tokens = {\n\t\t\tinput: this.accumulatedUsage?.input ?? 0,\n\t\t\toutput: this.accumulatedUsage?.output ?? 0,\n\t\t\tcacheRead: this.accumulatedUsage?.cacheRead ?? 0,\n\t\t\tcacheWrite: this.accumulatedUsage?.cacheWrite ?? 0,\n\t\t\tthinking:\n\t\t\t\t\"thinking\" in (this.accumulatedUsage ?? {})\n\t\t\t\t\t? (this.accumulatedUsage as { thinking?: number }).thinking\n\t\t\t\t\t: undefined,\n\t\t};\n\n\t\tconst costUsd = this.accumulatedUsage?.cost?.total ?? 0;\n\n\t\t// Complete the turn\n\t\tconst canonicalEvent = this.currentTurn.complete(\n\t\t\tstatus,\n\t\t\ttokens,\n\t\t\tcostUsd,\n\t\t\terrorDetails,\n\t\t\tabortReason,\n\t\t);\n\n\t\t// Call the callback if provided\n\t\tif (this.config.onTurnComplete) {\n\t\t\tthis.config.onTurnComplete(canonicalEvent);\n\t\t}\n\n\t\tthis.currentTurn = null;\n\t}\n}\n\n/**\n * Create a TurnTracker for an agent.\n */\nexport function createTurnTracker(\n\tagent: Agent,\n\tconfig: TurnTrackerConfig,\n): TurnTracker {\n\treturn new TurnTracker(agent, config);\n}\n"]}
1
+ {"version":3,"file":"turn-tracker.js","sourceRoot":"","sources":["../../src/telemetry/turn-tracker.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Turn Tracker - Integrates TurnCollector with Agent Event Stream\n *\n * Automatically tracks agent turns by subscribing to agent events and\n * emitting canonical wide events at turn completion.\n */\n\nimport type { Agent } from \"../agent/agent.js\";\nimport type { AgentEvent, ThinkingLevel, Usage } from \"../agent/types.js\";\nimport {\n\ttype CanonicalTurnEvent,\n\ttype TailSamplingConfig,\n\ttype TokenUsage,\n\tTurnCollector,\n\tgetSamplingConfigFromEnv,\n} from \"./wide-events.js\";\n\nexport interface TurnTrackerConfig {\n\t/** Session ID for the current session */\n\tsessionId: string;\n\t/** Sampling configuration (defaults to env vars or built-in defaults) */\n\tsamplingConfig?: Partial<TailSamplingConfig>;\n\t/** Callback when a turn completes (for logging/debugging) */\n\tonTurnComplete?: (event: CanonicalTurnEvent) => void;\n}\n\nexport interface TurnTrackerContext {\n\t/** Sandbox mode in use */\n\tsandboxMode?: \"docker\" | \"local\" | \"none\";\n\t/** Approval mode in use */\n\tapprovalMode?: \"auto\" | \"prompt\" | \"fail\";\n\t/** Active MCP server names */\n\tmcpServers?: string[];\n\t/** Number of context sources */\n\tcontextSourceCount?: number;\n\t/** Feature flags */\n\tfeatures?: {\n\t\tsafeMode?: boolean;\n\t\tguardianEnabled?: boolean;\n\t\tcompactionEnabled?: boolean;\n\t\thookCount?: number;\n\t};\n}\n\n/**\n * Tracks agent turns and emits canonical wide events.\n *\n * Usage:\n * ```typescript\n * const tracker = new TurnTracker(agent, {\n * sessionId: \"session-123\",\n * onTurnComplete: (event) => console.log(\"Turn completed:\", event.turnId),\n * });\n *\n * // Update context as it changes\n * tracker.updateContext({ sandboxMode: \"docker\", mcpServers: [\"context7\"] });\n *\n * // Tracker automatically records turns via agent subscription\n * await agent.prompt(\"Hello!\");\n *\n * // Clean up when done\n * tracker.dispose();\n * ```\n */\nexport class TurnTracker {\n\tprivate turnNumber = 0;\n\tprivate currentTurn: TurnCollector | null = null;\n\tprivate context: TurnTrackerContext = {};\n\tprivate unsubscribe: (() => void) | null = null;\n\tprivate samplingConfig: Partial<TailSamplingConfig>;\n\tprivate accumulatedUsage: Usage | null = null;\n\tprivate lastMetricTokens: TokenUsage | null = null;\n\n\tconstructor(\n\t\tprivate readonly agent: Agent,\n\t\tprivate readonly config: TurnTrackerConfig,\n\t) {\n\t\tthis.samplingConfig = {\n\t\t\t...getSamplingConfigFromEnv(),\n\t\t\t...config.samplingConfig,\n\t\t};\n\n\t\tthis.unsubscribe = agent.subscribe((event) => this.handleEvent(event));\n\t}\n\n\t/**\n\t * Update the context for future turns.\n\t * Call this when sandbox mode, MCP servers, or other context changes.\n\t */\n\tupdateContext(context: Partial<TurnTrackerContext>): void {\n\t\tthis.context = { ...this.context, ...context };\n\t}\n\n\t/**\n\t * Stop tracking and clean up subscription.\n\t */\n\tdispose(): void {\n\t\tif (this.unsubscribe) {\n\t\t\tthis.unsubscribe();\n\t\t\tthis.unsubscribe = null;\n\t\t}\n\t}\n\n\t/**\n\t * Get the current turn number (0 if no turns have started).\n\t */\n\tgetTurnNumber(): number {\n\t\treturn this.turnNumber;\n\t}\n\n\tprivate handleEvent(event: AgentEvent): void {\n\t\tswitch (event.type) {\n\t\t\tcase \"agent_start\":\n\t\t\t\tthis.startTurn(event.continuation === true);\n\t\t\t\tbreak;\n\n\t\t\tcase \"tool_execution_start\":\n\t\t\t\tif (this.currentTurn && \"toolCallId\" in event && \"toolName\" in event) {\n\t\t\t\t\tthis.currentTurn.recordToolStart(\n\t\t\t\t\t\tevent.toolName,\n\t\t\t\t\t\tevent.toolCallId,\n\t\t\t\t\t\t\"input\" in event && typeof event.input === \"string\"\n\t\t\t\t\t\t\t? event.input.length\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"tool_execution_end\":\n\t\t\t\tif (this.currentTurn && \"toolCallId\" in event) {\n\t\t\t\t\tconst success = !event.isError;\n\t\t\t\t\tconst errorCode = event.isError\n\t\t\t\t\t\t? (event.errorCode?.slice(0, 50) ?? \"error\")\n\t\t\t\t\t\t: undefined;\n\t\t\t\t\tconst outputSize =\n\t\t\t\t\t\t\"output\" in event && typeof event.output === \"string\"\n\t\t\t\t\t\t\t? event.output.length\n\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\tthis.currentTurn.recordToolEnd(\n\t\t\t\t\t\tevent.toolCallId,\n\t\t\t\t\t\tsuccess,\n\t\t\t\t\t\toutputSize,\n\t\t\t\t\t\terrorCode,\n\t\t\t\t\t);\n\t\t\t\t\tthis.currentTurn.recordSkillMetadata(event.skillMetadata);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"tool_phase_summary\":\n\t\t\t\tthis.currentTurn?.recordToolPhaseSummary(event);\n\t\t\t\tbreak;\n\n\t\t\tcase \"message_start\":\n\t\t\t\tif (this.currentTurn && event.message?.role === \"assistant\") {\n\t\t\t\t\tthis.currentTurn.recordLlmStart();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"message_end\":\n\t\t\t\tif (this.currentTurn && event.message?.role === \"assistant\") {\n\t\t\t\t\tthis.currentTurn.recordLlmEnd();\n\t\t\t\t\t// Accumulate usage from this message (turns may have multiple LLM calls)\n\t\t\t\t\tif (\"message\" in event && event.message && \"usage\" in event.message) {\n\t\t\t\t\t\tconst usage = event.message.usage as Usage;\n\t\t\t\t\t\tif (this.accumulatedUsage) {\n\t\t\t\t\t\t\t// Add to existing totals\n\t\t\t\t\t\t\tthis.accumulatedUsage = {\n\t\t\t\t\t\t\t\tinput: this.accumulatedUsage.input + usage.input,\n\t\t\t\t\t\t\t\toutput: this.accumulatedUsage.output + usage.output,\n\t\t\t\t\t\t\t\tcacheRead: this.accumulatedUsage.cacheRead + usage.cacheRead,\n\t\t\t\t\t\t\t\tcacheWrite: this.accumulatedUsage.cacheWrite + usage.cacheWrite,\n\t\t\t\t\t\t\t\tcost: {\n\t\t\t\t\t\t\t\t\tinput: this.accumulatedUsage.cost.input + usage.cost.input,\n\t\t\t\t\t\t\t\t\toutput: this.accumulatedUsage.cost.output + usage.cost.output,\n\t\t\t\t\t\t\t\t\tcacheRead:\n\t\t\t\t\t\t\t\t\t\tthis.accumulatedUsage.cost.cacheRead + usage.cost.cacheRead,\n\t\t\t\t\t\t\t\t\tcacheWrite:\n\t\t\t\t\t\t\t\t\t\tthis.accumulatedUsage.cost.cacheWrite +\n\t\t\t\t\t\t\t\t\t\tusage.cost.cacheWrite,\n\t\t\t\t\t\t\t\t\ttotal: this.accumulatedUsage.cost.total + usage.cost.total,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.accumulatedUsage = usage;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"agent_end\":\n\t\t\t\tthis.endTurn(event);\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate startTurn(isContinuation = false): void {\n\t\tif (!isContinuation || this.turnNumber === 0) {\n\t\t\tthis.turnNumber++;\n\t\t\tthis.accumulatedUsage = null;\n\t\t\tthis.lastMetricTokens = null;\n\t\t}\n\n\t\tthis.currentTurn = new TurnCollector(\n\t\t\tthis.config.sessionId,\n\t\t\tthis.turnNumber,\n\t\t\tthis.samplingConfig,\n\t\t);\n\n\t\t// Set model info from agent state\n\t\tconst state = this.agent.state;\n\t\tthis.currentTurn.setModel({\n\t\t\tid: state.model.id,\n\t\t\tprovider: state.model.provider,\n\t\t\tthinkingLevel:\n\t\t\t\tstate.thinkingLevel as CanonicalTurnEvent[\"model\"][\"thinkingLevel\"],\n\t\t});\n\t\tthis.currentTurn.setPromptMetadata(state.promptMetadata);\n\n\t\t// Set context from tracker\n\t\tif (this.context.sandboxMode) {\n\t\t\tthis.currentTurn.setSandboxMode(this.context.sandboxMode);\n\t\t}\n\t\tif (this.context.approvalMode) {\n\t\t\tthis.currentTurn.setApprovalMode(this.context.approvalMode);\n\t\t}\n\t\tif (this.context.mcpServers) {\n\t\t\tthis.currentTurn.setMcpServers(this.context.mcpServers);\n\t\t}\n\t\tif (this.context.contextSourceCount !== undefined) {\n\t\t\tthis.currentTurn.setContextSourceCount(this.context.contextSourceCount);\n\t\t}\n\t\tif (this.context.features) {\n\t\t\tthis.currentTurn.setFeatures({\n\t\t\t\tsafeMode: this.context.features.safeMode ?? false,\n\t\t\t\tguardianEnabled: this.context.features.guardianEnabled ?? true,\n\t\t\t\tcompactionEnabled: this.context.features.compactionEnabled ?? true,\n\t\t\t\thookCount: this.context.features.hookCount ?? 0,\n\t\t\t});\n\t\t}\n\n\t\t// Set message count\n\t\tthis.currentTurn.setMessageCount(state.messages.length);\n\t}\n\n\tprivate endTurn(event: AgentEvent & { type: \"agent_end\" }): void {\n\t\tif (!this.currentTurn) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine status\n\t\tlet status: CanonicalTurnEvent[\"status\"] = \"success\";\n\t\tlet abortReason: CanonicalTurnEvent[\"abortReason\"] | undefined;\n\t\tlet errorDetails: { category?: string; message?: string } | undefined;\n\n\t\tif (\"aborted\" in event && event.aborted) {\n\t\t\tstatus = \"aborted\";\n\t\t\tabortReason = \"user\";\n\t\t}\n\n\t\t// Check for error in agent state\n\t\tconst agentError = this.agent.state.error;\n\t\tif (agentError) {\n\t\t\tstatus = \"error\";\n\t\t\terrorDetails = {\n\t\t\t\tcategory: \"runtime\",\n\t\t\t\tmessage:\n\t\t\t\t\tagentError.length > 200\n\t\t\t\t\t\t? `${agentError.slice(0, 200)}...`\n\t\t\t\t\t\t: agentError,\n\t\t\t};\n\t\t}\n\n\t\t// Extract token usage\n\t\tconst tokens = {\n\t\t\tinput: this.accumulatedUsage?.input ?? 0,\n\t\t\toutput: this.accumulatedUsage?.output ?? 0,\n\t\t\tcacheRead: this.accumulatedUsage?.cacheRead ?? 0,\n\t\t\tcacheWrite: this.accumulatedUsage?.cacheWrite ?? 0,\n\t\t\tthinking:\n\t\t\t\t\"thinking\" in (this.accumulatedUsage ?? {})\n\t\t\t\t\t? (this.accumulatedUsage as { thinking?: number }).thinking\n\t\t\t\t\t: undefined,\n\t\t};\n\n\t\tconst costUsd = this.accumulatedUsage?.cost?.total ?? 0;\n\t\tconst metricTokens = diffTokenUsage(tokens, this.lastMetricTokens);\n\n\t\t// Complete the turn\n\t\tconst canonicalEvent = this.currentTurn.complete(\n\t\t\tstatus,\n\t\t\ttokens,\n\t\t\tcostUsd,\n\t\t\terrorDetails,\n\t\t\tabortReason,\n\t\t\tmetricTokens,\n\t\t);\n\t\tthis.lastMetricTokens = tokens;\n\n\t\t// Call the callback if provided\n\t\tif (this.config.onTurnComplete) {\n\t\t\tthis.config.onTurnComplete(canonicalEvent);\n\t\t}\n\n\t\tthis.currentTurn = null;\n\t}\n}\n\n/**\n * Create a TurnTracker for an agent.\n */\nexport function createTurnTracker(\n\tagent: Agent,\n\tconfig: TurnTrackerConfig,\n): TurnTracker {\n\treturn new TurnTracker(agent, config);\n}\n\nfunction diffTokenUsage(\n\tcurrent: TokenUsage,\n\tprevious: TokenUsage | null,\n): TokenUsage {\n\tif (!previous) {\n\t\treturn current;\n\t}\n\treturn {\n\t\tinput: Math.max(0, current.input - previous.input),\n\t\toutput: Math.max(0, current.output - previous.output),\n\t\tcacheRead: Math.max(0, current.cacheRead - previous.cacheRead),\n\t\tcacheWrite: Math.max(0, current.cacheWrite - previous.cacheWrite),\n\t\tthinking:\n\t\t\tcurrent.thinking !== undefined || previous.thinking !== undefined\n\t\t\t\t? Math.max(0, (current.thinking ?? 0) - (previous.thinking ?? 0))\n\t\t\t\t: undefined,\n\t};\n}\n"]}
@@ -11,6 +11,7 @@
11
11
  * - Tail sampling: always keep errors/slow, sample successes
12
12
  * - Optimized for querying, not writing
13
13
  */
14
+ import type { ToolPhaseSummary, ToolSchedulingDecision } from "../agent/types.js";
14
15
  import type { PromptMetadata } from "../prompts/types.js";
15
16
  import type { SkillArtifactMetadata } from "../skills/artifact-metadata.js";
16
17
  export interface ToolExecution {
@@ -21,6 +22,7 @@ export interface ToolExecution {
21
22
  errorCode?: string;
22
23
  inputSizeBytes?: number;
23
24
  outputSizeBytes?: number;
25
+ scheduling?: ToolSchedulingDecision;
24
26
  }
25
27
  export interface TokenUsage {
26
28
  input: number;
@@ -34,6 +36,27 @@ export interface ModelInfo {
34
36
  provider: string;
35
37
  thinkingLevel: "off" | "minimal" | "low" | "medium" | "high" | "max" | "ultra";
36
38
  }
39
+ export interface SerializationReasonCount {
40
+ reason: string;
41
+ count: number;
42
+ }
43
+ export interface ToolSchedulingSummary {
44
+ modelToolCallCount: number;
45
+ modelEmittedToolCallCount: number;
46
+ schedulableWaveCount: number;
47
+ parallelizedCallCount: number;
48
+ actuallyParallelizedCallCount: number;
49
+ serializedCallCount: number;
50
+ delayedCallCount: number;
51
+ blockedByMutationCount: number;
52
+ mcpOptInCallCount: number;
53
+ mcpOptInUseCount: number;
54
+ cacheHitCount: number;
55
+ totalToolWaitMs: number;
56
+ toolWaitTimeMs: number;
57
+ serializationReasons: Record<string, number>;
58
+ topSerializationReasons: SerializationReasonCount[];
59
+ }
37
60
  /**
38
61
  * Canonical Turn Event - One wide event per agent turn
39
62
  *
@@ -58,6 +81,7 @@ export interface CanonicalTurnEvent {
58
81
  toolCount: number;
59
82
  toolSuccessCount: number;
60
83
  toolFailureCount: number;
84
+ toolScheduling?: ToolSchedulingSummary;
61
85
  tokens: TokenUsage;
62
86
  costUsd: number;
63
87
  sandboxMode: "docker" | "local" | "none";
@@ -123,11 +147,14 @@ export declare class TurnCollector {
123
147
  private readonly startTime;
124
148
  private llmStartTime?;
125
149
  private accumulatedLlmDurationMs;
150
+ private llmRequestCount;
126
151
  private queueStartTime?;
127
152
  private model;
128
153
  private promptMetadata?;
129
154
  private readonly skillMetadata;
130
155
  private tools;
156
+ private readonly toolSchedulingDecisions;
157
+ private readonly toolPhaseSummaries;
131
158
  private completedTools;
132
159
  private sandboxMode;
133
160
  private approvalMode;
@@ -157,6 +184,8 @@ export declare class TurnCollector {
157
184
  recordLlmStart(): this;
158
185
  recordLlmEnd(): this;
159
186
  recordToolStart(name: string, callId: string, inputSizeBytes?: number): this;
187
+ recordToolSchedulingDecision(decision: ToolSchedulingDecision): this;
188
+ recordToolPhaseSummary(summary: ToolPhaseSummary): this;
160
189
  recordToolEnd(callId: string, success: boolean, outputSizeBytes?: number, errorCode?: string): this;
161
190
  /**
162
191
  * Complete the turn and emit the canonical event.
@@ -165,7 +194,8 @@ export declare class TurnCollector {
165
194
  complete(status: CanonicalTurnEvent["status"], tokens: TokenUsage, costUsd: number, errorDetails?: {
166
195
  category?: string;
167
196
  message?: string;
168
- }, abortReason?: CanonicalTurnEvent["abortReason"]): CanonicalTurnEvent;
197
+ }, abortReason?: CanonicalTurnEvent["abortReason"], metricTokens?: TokenUsage): CanonicalTurnEvent;
198
+ private summarizeToolScheduling;
169
199
  private shouldSample;
170
200
  }
171
201
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"wide-events.d.ts","sourceRoot":"","sources":["../../src/telemetry/wide-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wide-events.d.ts","sourceRoot":"","sources":["../../src/telemetry/wide-events.ts"],"names":[],"mappings":"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"}