@evalops/maestro 0.10.23 → 0.10.25

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 (376) hide show
  1. package/README.md +4 -4
  2. package/dist/agent/agent.d.ts +2 -2
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.js +1 -1
  5. package/dist/agent/agent.js.map +1 -1
  6. package/dist/agent/keys.d.ts +2 -5
  7. package/dist/agent/keys.d.ts.map +1 -1
  8. package/dist/agent/keys.js +4 -5
  9. package/dist/agent/keys.js.map +1 -1
  10. package/dist/agent/modes.d.ts +2 -2
  11. package/dist/agent/modes.d.ts.map +1 -1
  12. package/dist/agent/modes.js +6 -7
  13. package/dist/agent/modes.js.map +1 -1
  14. package/dist/agent/providers/anthropic.d.ts.map +1 -1
  15. package/dist/agent/providers/anthropic.js +4 -4
  16. package/dist/agent/providers/anthropic.js.map +1 -1
  17. package/dist/agent/providers/google.js +1 -1
  18. package/dist/agent/swarm/executor.d.ts +2 -0
  19. package/dist/agent/swarm/executor.d.ts.map +1 -1
  20. package/dist/agent/swarm/executor.js +208 -35
  21. package/dist/agent/swarm/executor.js.map +1 -1
  22. package/dist/agent/swarm/types.d.ts +2 -0
  23. package/dist/agent/swarm/types.d.ts.map +1 -1
  24. package/dist/agent/swarm/types.js.map +1 -1
  25. package/dist/agent/tool-capability-types.d.ts +36 -0
  26. package/dist/agent/tool-capability-types.d.ts.map +1 -0
  27. package/dist/agent/tool-capability-types.js +2 -0
  28. package/dist/agent/tool-capability-types.js.map +1 -0
  29. package/dist/agent/transport/tool-execution-bridge.d.ts +13 -0
  30. package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
  31. package/dist/agent/transport/tool-execution-bridge.js +28 -15
  32. package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
  33. package/dist/agent/transport/transport-utils.d.ts.map +1 -1
  34. package/dist/agent/transport/transport-utils.js +2 -3
  35. package/dist/agent/transport/transport-utils.js.map +1 -1
  36. package/dist/agent/transport.js +1 -1
  37. package/dist/agent/transport.js.map +1 -1
  38. package/dist/agent/type-guards.d.ts +1 -1
  39. package/dist/agent/type-guards.js +1 -1
  40. package/dist/agent/type-guards.js.map +1 -1
  41. package/dist/agent/types.d.ts +5 -3
  42. package/dist/agent/types.d.ts.map +1 -1
  43. package/dist/agent/types.js +2 -2
  44. package/dist/agent/types.js.map +1 -1
  45. package/dist/app-server/daemon-lifecycle-api.d.ts +31 -0
  46. package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -0
  47. package/dist/app-server/daemon-lifecycle-api.js +259 -0
  48. package/dist/app-server/daemon-lifecycle-api.js.map +1 -0
  49. package/dist/app-server/external-agent-import-api.d.ts +30 -0
  50. package/dist/app-server/external-agent-import-api.d.ts.map +1 -0
  51. package/dist/app-server/external-agent-import-api.js +553 -0
  52. package/dist/app-server/external-agent-import-api.js.map +1 -0
  53. package/dist/app-server/host-control-api.d.ts +30 -0
  54. package/dist/app-server/host-control-api.d.ts.map +1 -0
  55. package/dist/app-server/host-control-api.js +343 -0
  56. package/dist/app-server/host-control-api.js.map +1 -0
  57. package/dist/app-server/in-process-client.d.ts +2 -2
  58. package/dist/app-server/in-process-client.d.ts.map +1 -1
  59. package/dist/app-server/in-process-client.js.map +1 -1
  60. package/dist/app-server/network-governance-api.d.ts +26 -0
  61. package/dist/app-server/network-governance-api.d.ts.map +1 -0
  62. package/dist/app-server/network-governance-api.js +476 -0
  63. package/dist/app-server/network-governance-api.js.map +1 -0
  64. package/dist/app-server/plugin-bundle-api.d.ts +17 -0
  65. package/dist/app-server/plugin-bundle-api.d.ts.map +1 -0
  66. package/dist/app-server/plugin-bundle-api.js +219 -0
  67. package/dist/app-server/plugin-bundle-api.js.map +1 -0
  68. package/dist/app-server/policy-control-api.d.ts +14 -0
  69. package/dist/app-server/policy-control-api.d.ts.map +1 -0
  70. package/dist/app-server/policy-control-api.js +200 -0
  71. package/dist/app-server/policy-control-api.js.map +1 -0
  72. package/dist/app-server/protocol-modes-api.d.ts +22 -0
  73. package/dist/app-server/protocol-modes-api.d.ts.map +1 -0
  74. package/dist/app-server/protocol-modes-api.js +124 -0
  75. package/dist/app-server/protocol-modes-api.js.map +1 -0
  76. package/dist/app-server/sandbox-proof-api.d.ts +21 -0
  77. package/dist/app-server/sandbox-proof-api.d.ts.map +1 -0
  78. package/dist/app-server/sandbox-proof-api.js +127 -0
  79. package/dist/app-server/sandbox-proof-api.js.map +1 -0
  80. package/dist/app-server/session-api.d.ts +93 -3
  81. package/dist/app-server/session-api.d.ts.map +1 -1
  82. package/dist/app-server/session-api.js +706 -18
  83. package/dist/app-server/session-api.js.map +1 -1
  84. package/dist/audit/logger.d.ts +1 -1
  85. package/dist/bootstrap/auth-setup.d.ts.map +1 -1
  86. package/dist/bootstrap/auth-setup.js +17 -2
  87. package/dist/bootstrap/auth-setup.js.map +1 -1
  88. package/dist/bootstrap/model-resolution-setup.d.ts.map +1 -1
  89. package/dist/bootstrap/model-resolution-setup.js +19 -4
  90. package/dist/bootstrap/model-resolution-setup.js.map +1 -1
  91. package/dist/cli/args.d.ts +2 -2
  92. package/dist/cli/args.d.ts.map +1 -1
  93. package/dist/cli/args.js +2 -2
  94. package/dist/cli/args.js.map +1 -1
  95. package/dist/cli/commands/a2a.d.ts.map +1 -1
  96. package/dist/cli/commands/a2a.js +226 -14
  97. package/dist/cli/commands/a2a.js.map +1 -1
  98. package/dist/cli/commands/anthropic.d.ts +1 -1
  99. package/dist/cli/commands/anthropic.d.ts.map +1 -1
  100. package/dist/cli/commands/anthropic.js +3 -68
  101. package/dist/cli/commands/anthropic.js.map +1 -1
  102. package/dist/cli/commands/modes.js +1 -1
  103. package/dist/cli/commands/modes.js.map +1 -1
  104. package/dist/cli/help.d.ts.map +1 -1
  105. package/dist/cli/help.js +5 -7
  106. package/dist/cli/help.js.map +1 -1
  107. package/dist/cli/rpc-mode.d.ts +1 -1
  108. package/dist/cli/rpc-mode.js +1 -1
  109. package/dist/cli/rpc-mode.js.map +1 -1
  110. package/dist/cli/session.js +1 -1
  111. package/dist/cli/session.js.map +1 -1
  112. package/dist/cli-tui/commands/command-catalog.d.ts.map +1 -1
  113. package/dist/cli-tui/commands/command-catalog.js +7 -12
  114. package/dist/cli-tui/commands/command-catalog.js.map +1 -1
  115. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +1 -1
  116. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +1 -1
  117. package/dist/cli-tui/commands/subcommands/auth-commands.js +4 -12
  118. package/dist/cli-tui/commands/subcommands/auth-commands.js.map +1 -1
  119. package/dist/cli-tui/custom-editor.d.ts +1 -1
  120. package/dist/cli-tui/custom-editor.js +2 -2
  121. package/dist/cli-tui/custom-editor.js.map +1 -1
  122. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +1 -1
  123. package/dist/cli-tui/oauth/oauth-flow-controller.js +19 -23
  124. package/dist/cli-tui/oauth/oauth-flow-controller.js.map +1 -1
  125. package/dist/cli-tui/selectors/model-selector.d.ts.map +1 -1
  126. package/dist/cli-tui/selectors/model-selector.js +0 -1
  127. package/dist/cli-tui/selectors/model-selector.js.map +1 -1
  128. package/dist/cli-tui/selectors/oauth-selector-view.d.ts +2 -2
  129. package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +1 -1
  130. package/dist/cli-tui/selectors/oauth-selector-view.js.map +1 -1
  131. package/dist/cli-tui/selectors/oauth-selector.d.ts +2 -2
  132. package/dist/cli-tui/selectors/oauth-selector.d.ts.map +1 -1
  133. package/dist/cli-tui/selectors/oauth-selector.js +3 -4
  134. package/dist/cli-tui/selectors/oauth-selector.js.map +1 -1
  135. package/dist/cli-tui/tui-renderer/mcp-events-setup.js +1 -1
  136. package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +1 -1
  137. package/dist/cli-tui/tui-renderer.js +2 -2
  138. package/dist/cli-tui/tui-renderer.js.map +1 -1
  139. package/dist/cli-tui/utils/footer-utils.d.ts +1 -1
  140. package/dist/cli-tui/utils/footer-utils.js +1 -1
  141. package/dist/cli-tui/utils/footer-utils.js.map +1 -1
  142. package/dist/cli.js +15156 -14232
  143. package/dist/commands/prompts.d.ts +1 -1
  144. package/dist/commands/prompts.js +1 -1
  145. package/dist/commands/prompts.js.map +1 -1
  146. package/dist/config/constants.d.ts +2 -2
  147. package/dist/config/constants.d.ts.map +1 -1
  148. package/dist/config/constants.js +2 -2
  149. package/dist/config/constants.js.map +1 -1
  150. package/dist/config/index.d.ts +1 -1
  151. package/dist/config/index.js +1 -1
  152. package/dist/config/index.js.map +1 -1
  153. package/dist/config/toml-config.js +3 -3
  154. package/dist/config/toml-config.js.map +1 -1
  155. package/dist/db/client.d.ts +2 -2
  156. package/dist/db/client.js +2 -2
  157. package/dist/db/client.js.map +1 -1
  158. package/dist/db/migrate.d.ts +1 -1
  159. package/dist/db/migrate.js +1 -1
  160. package/dist/db/migrate.js.map +1 -1
  161. package/dist/db/schema.d.ts +2 -2
  162. package/dist/db/schema.js +1 -1
  163. package/dist/db/schema.js.map +1 -1
  164. package/dist/errors/index.d.ts +2 -2
  165. package/dist/errors/index.js +2 -2
  166. package/dist/errors/index.js.map +1 -1
  167. package/dist/main.d.ts +4 -5
  168. package/dist/main.d.ts.map +1 -1
  169. package/dist/main.js +17 -14
  170. package/dist/main.js.map +1 -1
  171. package/dist/mcp/config.d.ts +15 -2
  172. package/dist/mcp/config.d.ts.map +1 -1
  173. package/dist/mcp/config.js +50 -26
  174. package/dist/mcp/config.js.map +1 -1
  175. package/dist/mcp/fathom-cua.d.ts.map +1 -1
  176. package/dist/mcp/fathom-cua.js +10 -0
  177. package/dist/mcp/fathom-cua.js.map +1 -1
  178. package/dist/mcp/manager.d.ts.map +1 -1
  179. package/dist/mcp/manager.js +32 -1
  180. package/dist/mcp/manager.js.map +1 -1
  181. package/dist/mcp/tool-bridge.d.ts.map +1 -1
  182. package/dist/mcp/tool-bridge.js +12 -3
  183. package/dist/mcp/tool-bridge.js.map +1 -1
  184. package/dist/mcp/tool-capabilities.d.ts +5 -0
  185. package/dist/mcp/tool-capabilities.d.ts.map +1 -0
  186. package/dist/mcp/tool-capabilities.js +271 -0
  187. package/dist/mcp/tool-capabilities.js.map +1 -0
  188. package/dist/mcp/types.d.ts +6 -1
  189. package/dist/mcp/types.d.ts.map +1 -1
  190. package/dist/mcp/types.js.map +1 -1
  191. package/dist/models/config-loader.d.ts +1 -1
  192. package/dist/models/factory-integration.d.ts +1 -1
  193. package/dist/models/factory-integration.js +1 -1
  194. package/dist/models/factory-integration.js.map +1 -1
  195. package/dist/node_modules/@evalops/contracts/dist/index.d.ts +3 -3
  196. package/dist/node_modules/@evalops/contracts/dist/index.js +2 -2
  197. package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
  198. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +1182 -14
  199. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
  200. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +450 -1
  201. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
  202. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  203. package/dist/node_modules/@evalops/tui/package.json +1 -1
  204. package/dist/oauth/connectors.d.ts +2 -2
  205. package/dist/oauth/connectors.d.ts.map +1 -1
  206. package/dist/oauth/connectors.js +3 -5
  207. package/dist/oauth/connectors.js.map +1 -1
  208. package/dist/oauth/github-copilot.d.ts +1 -1
  209. package/dist/oauth/github-copilot.js +1 -1
  210. package/dist/oauth/github-copilot.js.map +1 -1
  211. package/dist/oauth/index.d.ts +10 -8
  212. package/dist/oauth/index.d.ts.map +1 -1
  213. package/dist/oauth/index.js +54 -31
  214. package/dist/oauth/index.js.map +1 -1
  215. package/dist/oauth/openai.d.ts +1 -1
  216. package/dist/oauth/openai.js +2 -2
  217. package/dist/oauth/openai.js.map +1 -1
  218. package/dist/platform/a2a-completion-audit.d.ts +41 -0
  219. package/dist/platform/a2a-completion-audit.d.ts.map +1 -0
  220. package/dist/platform/a2a-completion-audit.js +177 -0
  221. package/dist/platform/a2a-completion-audit.js.map +1 -0
  222. package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
  223. package/dist/platform/a2a-task-ledger.js +17 -0
  224. package/dist/platform/a2a-task-ledger.js.map +1 -1
  225. package/dist/platform/a2a-telemetry-inspect.d.ts +58 -0
  226. package/dist/platform/a2a-telemetry-inspect.d.ts.map +1 -0
  227. package/dist/platform/a2a-telemetry-inspect.js +224 -0
  228. package/dist/platform/a2a-telemetry-inspect.js.map +1 -0
  229. package/dist/platform/agent-registry-client.d.ts +8 -0
  230. package/dist/platform/agent-registry-client.d.ts.map +1 -1
  231. package/dist/platform/agent-registry-client.js +9 -1
  232. package/dist/platform/agent-registry-client.js.map +1 -1
  233. package/dist/providers/api-keys.d.ts +2 -2
  234. package/dist/providers/api-keys.js +2 -2
  235. package/dist/providers/api-keys.js.map +1 -1
  236. package/dist/providers/auth.d.ts +3 -6
  237. package/dist/providers/auth.d.ts.map +1 -1
  238. package/dist/providers/auth.js +1 -40
  239. package/dist/providers/auth.js.map +1 -1
  240. package/dist/rpc/index.d.ts +2 -2
  241. package/dist/rpc/index.js +2 -2
  242. package/dist/rpc/index.js.map +1 -1
  243. package/dist/rpc/rpc-types.d.ts +1 -1
  244. package/dist/rpc/rpc-types.js +1 -1
  245. package/dist/rpc/rpc-types.js.map +1 -1
  246. package/dist/safety/nested-agent-guard.js +1 -1
  247. package/dist/safety/nested-agent-guard.js.map +1 -1
  248. package/dist/safety/policy.d.ts +2 -2
  249. package/dist/safety/policy.js +2 -2
  250. package/dist/safety/policy.js.map +1 -1
  251. package/dist/safety/validators/network-policy-validator.d.ts +8 -0
  252. package/dist/safety/validators/network-policy-validator.d.ts.map +1 -1
  253. package/dist/safety/validators/network-policy-validator.js +29 -4
  254. package/dist/safety/validators/network-policy-validator.js.map +1 -1
  255. package/dist/sandbox/local-sandbox.d.ts +1 -1
  256. package/dist/sandbox/local-sandbox.js +1 -1
  257. package/dist/sandbox/local-sandbox.js.map +1 -1
  258. package/dist/server/app-context.d.ts +2 -0
  259. package/dist/server/app-context.d.ts.map +1 -1
  260. package/dist/server/app-context.js.map +1 -1
  261. package/dist/server/handlers/attachments.d.ts.map +1 -1
  262. package/dist/server/handlers/attachments.js +1 -0
  263. package/dist/server/handlers/attachments.js.map +1 -1
  264. package/dist/server/handlers/models.d.ts.map +1 -1
  265. package/dist/server/handlers/models.js +3 -1
  266. package/dist/server/handlers/models.js.map +1 -1
  267. package/dist/server/handlers/session-attachments.d.ts.map +1 -1
  268. package/dist/server/handlers/session-attachments.js +2 -0
  269. package/dist/server/handlers/session-attachments.js.map +1 -1
  270. package/dist/server/handlers/sessions.js +1 -1
  271. package/dist/server/handlers/sessions.js.map +1 -1
  272. package/dist/server/handlers/status.d.ts +2 -0
  273. package/dist/server/handlers/status.d.ts.map +1 -1
  274. package/dist/server/handlers/status.js +3 -2
  275. package/dist/server/handlers/status.js.map +1 -1
  276. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  277. package/dist/server/headless-runtime-service.js +32 -3
  278. package/dist/server/headless-runtime-service.js.map +1 -1
  279. package/dist/server/hosted-session-manager.d.ts +2 -0
  280. package/dist/server/hosted-session-manager.d.ts.map +1 -1
  281. package/dist/server/hosted-session-manager.js +9 -0
  282. package/dist/server/hosted-session-manager.js.map +1 -1
  283. package/dist/server/model-selection.d.ts.map +1 -1
  284. package/dist/server/model-selection.js +9 -1
  285. package/dist/server/model-selection.js.map +1 -1
  286. package/dist/server/rate-limiter.d.ts +1 -1
  287. package/dist/server/rate-limiter.js +1 -1
  288. package/dist/server/rate-limiter.js.map +1 -1
  289. package/dist/server/router.d.ts +2 -2
  290. package/dist/server/router.js.map +1 -1
  291. package/dist/server/session-serialization.d.ts +9 -9
  292. package/dist/server/session-serialization.js +15 -15
  293. package/dist/server/session-serialization.js.map +1 -1
  294. package/dist/session/manager.d.ts +5 -0
  295. package/dist/session/manager.d.ts.map +1 -1
  296. package/dist/session/manager.js +56 -8
  297. package/dist/session/manager.js.map +1 -1
  298. package/dist/session/session-catalog.d.ts +2 -0
  299. package/dist/session/session-catalog.d.ts.map +1 -1
  300. package/dist/session/session-catalog.js +6 -0
  301. package/dist/session/session-catalog.js.map +1 -1
  302. package/dist/session/session-context.d.ts +2 -0
  303. package/dist/session/session-context.d.ts.map +1 -1
  304. package/dist/session/session-context.js +15 -0
  305. package/dist/session/session-context.js.map +1 -1
  306. package/dist/session/types.d.ts +7 -0
  307. package/dist/session/types.d.ts.map +1 -1
  308. package/dist/session/types.js.map +1 -1
  309. package/dist/session/wire-format.generated.d.ts +1 -0
  310. package/dist/session/wire-format.generated.d.ts.map +1 -1
  311. package/dist/session/wire-format.generated.js +1 -0
  312. package/dist/session/wire-format.generated.js.map +1 -1
  313. package/dist/shared-memory/contract.d.ts +4 -4
  314. package/dist/shared-memory/contract.js +2 -2
  315. package/dist/shared-memory/contract.js.map +1 -1
  316. package/dist/telemetry/index.d.ts +2 -2
  317. package/dist/telemetry/index.d.ts.map +1 -1
  318. package/dist/telemetry/index.js +2 -2
  319. package/dist/telemetry/index.js.map +1 -1
  320. package/dist/telemetry/maestro-event-bus.d.ts +57 -0
  321. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  322. package/dist/telemetry/maestro-event-bus.js +59 -1
  323. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  324. package/dist/telemetry/maestro-event-catalog.d.ts +17 -1
  325. package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -1
  326. package/dist/telemetry/maestro-event-catalog.js +24 -0
  327. package/dist/telemetry/maestro-event-catalog.js.map +1 -1
  328. package/dist/telemetry/mcp-beacon.d.ts +2 -0
  329. package/dist/telemetry/mcp-beacon.d.ts.map +1 -1
  330. package/dist/telemetry/mcp-beacon.js +15 -0
  331. package/dist/telemetry/mcp-beacon.js.map +1 -1
  332. package/dist/telemetry/metrics.d.ts +62 -0
  333. package/dist/telemetry/metrics.d.ts.map +1 -1
  334. package/dist/telemetry/metrics.js +84 -0
  335. package/dist/telemetry/metrics.js.map +1 -1
  336. package/dist/telemetry.d.ts +44 -0
  337. package/dist/telemetry.d.ts.map +1 -1
  338. package/dist/telemetry.js +84 -2
  339. package/dist/telemetry.js.map +1 -1
  340. package/dist/theme/theme-loader.js +2 -2
  341. package/dist/theme/theme-loader.js.map +1 -1
  342. package/dist/theme/theme-schema.json +2 -2
  343. package/dist/theme/theme.d.ts +1 -1
  344. package/dist/theme/theme.js.map +1 -1
  345. package/dist/tools/background/task-types.d.ts +1 -1
  346. package/dist/tools/extract-document.d.ts +1 -0
  347. package/dist/tools/extract-document.d.ts.map +1 -1
  348. package/dist/tools/extract-document.js +2 -1
  349. package/dist/tools/extract-document.js.map +1 -1
  350. package/dist/tools/index.d.ts +55 -55
  351. package/dist/tools/index.js +1 -1
  352. package/dist/tools/index.js.map +1 -1
  353. package/dist/tools/tool-dsl.d.ts +1 -1
  354. package/dist/tools/tool-dsl.js +1 -1
  355. package/dist/tools/tool-dsl.js.map +1 -1
  356. package/dist/utils/document-extractor.d.ts +1 -0
  357. package/dist/utils/document-extractor.d.ts.map +1 -1
  358. package/dist/utils/document-extractor.js +320 -40
  359. package/dist/utils/document-extractor.js.map +1 -1
  360. package/dist/utils/logger.d.ts +1 -1
  361. package/dist/utils/logger.js +1 -1
  362. package/dist/utils/logger.js.map +1 -1
  363. package/dist/version.json +2 -2
  364. package/dist/web-server.d.ts +1 -1
  365. package/dist/web-server.d.ts.map +1 -1
  366. package/dist/web-server.js +12 -8
  367. package/dist/web-server.js.map +1 -1
  368. package/package.json +4 -2
  369. package/dist/oauth/anthropic.d.ts +0 -17
  370. package/dist/oauth/anthropic.d.ts.map +0 -1
  371. package/dist/oauth/anthropic.js +0 -81
  372. package/dist/oauth/anthropic.js.map +0 -1
  373. package/dist/providers/anthropic-auth.d.ts +0 -75
  374. package/dist/providers/anthropic-auth.d.ts.map +0 -1
  375. package/dist/providers/anthropic-auth.js +0 -221
  376. package/dist/providers/anthropic-auth.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"maestro-event-catalog.js","sourceRoot":"","sources":["../../src/telemetry/maestro-event-catalog.ts"],"names":[],"mappings":"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","sourcesContent":["export enum MaestroBusEventType {\n\tSessionStarted = \"maestro.sessions.session.started\",\n\tSessionSuspended = \"maestro.sessions.session.suspended\",\n\tSessionResumed = \"maestro.sessions.session.resumed\",\n\tSessionClosed = \"maestro.sessions.session.closed\",\n\tInstallCheckCompleted = \"maestro.events.install_check.completed\",\n\tApprovalHit = \"maestro.events.approval_hit\",\n\tSandboxViolation = \"maestro.events.sandbox_violation\",\n\tFirewallBlock = \"maestro.events.firewall_block\",\n\tToolCallAttempted = \"maestro.events.tool_call.attempted\",\n\tToolCallCompleted = \"maestro.events.tool_call.completed\",\n\tToolCallFailed = \"maestro.events.tool_call.failed\",\n\tErrorCaptured = \"maestro.events.error.captured\",\n\tArtifactCreated = \"maestro.events.artifact.created\",\n\tFinalStatusReported = \"maestro.events.final_status.reported\",\n\tPromptVariantSelected = \"maestro.events.prompt_variant.selected\",\n\tContextLearned = \"maestro.events.context.learned\",\n\tSkillInvoked = \"maestro.events.skill.invoked\",\n\tSkillSucceeded = \"maestro.events.skill.succeeded\",\n\tSkillFailed = \"maestro.events.skill.failed\",\n\tSubagentDispatched = \"maestro.events.subagent.dispatched\",\n\tEvalScored = \"maestro.events.eval.scored\",\n}\n\nexport type MaestroBusEventCategory =\n\t| \"session\"\n\t| \"install\"\n\t| \"agent\"\n\t| \"approval\"\n\t| \"safety\"\n\t| \"tool\"\n\t| \"error\"\n\t| \"artifact\"\n\t| \"final-status\"\n\t| \"prompt\"\n\t| \"knowledge\"\n\t| \"skill\"\n\t| \"eval\";\n\nexport interface MaestroBusEventCatalogEntry {\n\tcategory: MaestroBusEventCategory;\n\tdataSchema: string;\n\tplatformConsumers: readonly string[];\n\tprotoAnyType: string;\n\tsubject: MaestroBusEventType;\n\ttype: MaestroBusEventType;\n}\n\nconst auditConsumer = \"audit.maestro-events\";\n\nfunction entry(\n\ttype: MaestroBusEventType,\n\tcategory: MaestroBusEventCategory,\n\tprotoMessage: string,\n\tplatformConsumers: readonly string[],\n): MaestroBusEventCatalogEntry {\n\treturn {\n\t\tcategory,\n\t\tdataSchema: `buf.build/evalops/proto/maestro.v1.${protoMessage}`,\n\t\tplatformConsumers: [auditConsumer, ...platformConsumers].sort(),\n\t\tprotoAnyType: `type.googleapis.com/maestro.v1.${protoMessage}`,\n\t\tsubject: type,\n\t\ttype,\n\t};\n}\n\nexport const MAESTRO_BUS_EVENT_CATALOG = {\n\t[MaestroBusEventType.SessionStarted]: entry(\n\t\tMaestroBusEventType.SessionStarted,\n\t\t\"session\",\n\t\t\"MaestroSession\",\n\t\t[\n\t\t\t\"fermata.maestro-session-replay-context\",\n\t\t\t\"meter.maestro-session-lifecycle\",\n\t\t],\n\t),\n\t[MaestroBusEventType.SessionSuspended]: entry(\n\t\tMaestroBusEventType.SessionSuspended,\n\t\t\"session\",\n\t\t\"MaestroSession\",\n\t\t[\n\t\t\t\"fermata.maestro-session-replay-context\",\n\t\t\t\"meter.maestro-session-lifecycle\",\n\t\t],\n\t),\n\t[MaestroBusEventType.SessionResumed]: entry(\n\t\tMaestroBusEventType.SessionResumed,\n\t\t\"session\",\n\t\t\"MaestroSession\",\n\t\t[\n\t\t\t\"fermata.maestro-session-replay-context\",\n\t\t\t\"meter.maestro-session-lifecycle\",\n\t\t],\n\t),\n\t[MaestroBusEventType.SessionClosed]: entry(\n\t\tMaestroBusEventType.SessionClosed,\n\t\t\"session\",\n\t\t\"MaestroSession\",\n\t\t[\n\t\t\t\"fermata.maestro-session-replay-context\",\n\t\t\t\"meter.maestro-session-lifecycle\",\n\t\t],\n\t),\n\t[MaestroBusEventType.InstallCheckCompleted]: entry(\n\t\tMaestroBusEventType.InstallCheckCompleted,\n\t\t\"install\",\n\t\t\"PackageInstallCheck\",\n\t\t[\"meter.maestro-install-checks\", \"release.maestro-install-smoke\"],\n\t),\n\t[MaestroBusEventType.ApprovalHit]: entry(\n\t\tMaestroBusEventType.ApprovalHit,\n\t\t\"approval\",\n\t\t\"ApprovalHit\",\n\t\t[\"governance.maestro-approval-hit\"],\n\t),\n\t[MaestroBusEventType.SandboxViolation]: entry(\n\t\tMaestroBusEventType.SandboxViolation,\n\t\t\"safety\",\n\t\t\"SandboxViolation\",\n\t\t[\"governance.maestro-sandbox-violation\"],\n\t),\n\t[MaestroBusEventType.FirewallBlock]: entry(\n\t\tMaestroBusEventType.FirewallBlock,\n\t\t\"safety\",\n\t\t\"FirewallBlock\",\n\t\t[\"governance.maestro-firewall-block\"],\n\t),\n\t[MaestroBusEventType.ToolCallAttempted]: entry(\n\t\tMaestroBusEventType.ToolCallAttempted,\n\t\t\"tool\",\n\t\t\"ToolCallAttempt\",\n\t\t[\"meter.maestro-tool-call-events\"],\n\t),\n\t[MaestroBusEventType.ToolCallCompleted]: entry(\n\t\tMaestroBusEventType.ToolCallCompleted,\n\t\t\"tool\",\n\t\t\"ToolCallResult\",\n\t\t[\"meter.maestro-tool-call-events\", \"skills.maestro-tool-call-completed\"],\n\t),\n\t[MaestroBusEventType.ToolCallFailed]: entry(\n\t\tMaestroBusEventType.ToolCallFailed,\n\t\t\"tool\",\n\t\t\"ToolCallResult\",\n\t\t[\n\t\t\t\"meter.maestro-tool-call-events\",\n\t\t\t\"release.maestro-tool-failure-gates\",\n\t\t\t\"skills.maestro-tool-call-failed\",\n\t\t],\n\t),\n\t[MaestroBusEventType.ErrorCaptured]: entry(\n\t\tMaestroBusEventType.ErrorCaptured,\n\t\t\"error\",\n\t\t\"MaestroError\",\n\t\t[\"audit.maestro-errors\", \"meter.maestro-errors\"],\n\t),\n\t[MaestroBusEventType.ArtifactCreated]: entry(\n\t\tMaestroBusEventType.ArtifactCreated,\n\t\t\"artifact\",\n\t\t\"MaestroArtifact\",\n\t\t[\"fermata.maestro-artifacts\", \"meter.maestro-artifacts\"],\n\t),\n\t[MaestroBusEventType.FinalStatusReported]: entry(\n\t\tMaestroBusEventType.FinalStatusReported,\n\t\t\"final-status\",\n\t\t\"MaestroFinalStatus\",\n\t\t[\"fermata.maestro-final-status\", \"meter.maestro-final-status\"],\n\t),\n\t[MaestroBusEventType.PromptVariantSelected]: entry(\n\t\tMaestroBusEventType.PromptVariantSelected,\n\t\t\"prompt\",\n\t\t\"PromptVariantSelected\",\n\t\t[\"prompts.maestro-prompt-variant-selected\"],\n\t),\n\t[MaestroBusEventType.ContextLearned]: entry(\n\t\tMaestroBusEventType.ContextLearned,\n\t\t\"knowledge\",\n\t\t\"MaestroLearnedContext\",\n\t\t[\"cerebro.maestro-learned-context\"],\n\t),\n\t[MaestroBusEventType.SkillInvoked]: entry(\n\t\tMaestroBusEventType.SkillInvoked,\n\t\t\"skill\",\n\t\t\"SkillInvocation\",\n\t\t[\"skills.maestro-skill-events\"],\n\t),\n\t[MaestroBusEventType.SkillSucceeded]: entry(\n\t\tMaestroBusEventType.SkillSucceeded,\n\t\t\"skill\",\n\t\t\"SkillOutcome\",\n\t\t[\"skills.maestro-skill-events\"],\n\t),\n\t[MaestroBusEventType.SkillFailed]: entry(\n\t\tMaestroBusEventType.SkillFailed,\n\t\t\"skill\",\n\t\t\"SkillOutcome\",\n\t\t[\"skills.maestro-skill-events\"],\n\t),\n\t[MaestroBusEventType.SubagentDispatched]: entry(\n\t\tMaestroBusEventType.SubagentDispatched,\n\t\t\"agent\",\n\t\t\"SubagentDispatch\",\n\t\t[\"agents.maestro-subagent-dispatches\", \"meter.maestro-subagent-dispatches\"],\n\t),\n\t[MaestroBusEventType.EvalScored]: entry(\n\t\tMaestroBusEventType.EvalScored,\n\t\t\"eval\",\n\t\t\"MaestroEvalScore\",\n\t\t[\"fermata.maestro-eval-scored\", \"prompts.maestro-eval-scored\"],\n\t),\n} as const satisfies Record<MaestroBusEventType, MaestroBusEventCatalogEntry>;\n\nexport const MAESTRO_BUS_EVENT_TYPES = Object.values(MaestroBusEventType);\n\nexport const MAESTRO_RELEASE_GATE_EVENT_CATEGORIES = [\n\t\"install\",\n\t\"session\",\n\t\"tool\",\n\t\"approval\",\n\t\"error\",\n\t\"artifact\",\n\t\"final-status\",\n] as const satisfies readonly MaestroBusEventCategory[];\n\nexport type MaestroReleaseGateEventCategory =\n\t(typeof MAESTRO_RELEASE_GATE_EVENT_CATEGORIES)[number];\n\nexport function isMaestroBusEventType(\n\tvalue: string,\n): value is MaestroBusEventType {\n\treturn MAESTRO_BUS_EVENT_TYPES.includes(value as MaestroBusEventType);\n}\n\nexport function getMaestroBusEventCatalogEntry(\n\ttype: MaestroBusEventType,\n): MaestroBusEventCatalogEntry {\n\treturn MAESTRO_BUS_EVENT_CATALOG[type];\n}\n\nexport function listMaestroBusEventCatalog(): readonly MaestroBusEventCatalogEntry[] {\n\treturn MAESTRO_BUS_EVENT_TYPES.map(getMaestroBusEventCatalogEntry);\n}\n\nexport function listMaestroBusEventCatalogByCategory(\n\tcategory: MaestroBusEventCategory,\n): readonly MaestroBusEventCatalogEntry[] {\n\treturn listMaestroBusEventCatalog().filter(\n\t\t(entry) => entry.category === category,\n\t);\n}\n\nexport function getMissingMaestroReleaseGateEventCategories(\n\tcatalog: readonly MaestroBusEventCatalogEntry[] = listMaestroBusEventCatalog(),\n): readonly MaestroReleaseGateEventCategory[] {\n\tconst coveredCategories = new Set(catalog.map((entry) => entry.category));\n\treturn MAESTRO_RELEASE_GATE_EVENT_CATEGORIES.filter(\n\t\t(category) => !coveredCategories.has(category),\n\t);\n}\n"]}
1
+ {"version":3,"file":"maestro-event-catalog.js","sourceRoot":"","sources":["../../src/telemetry/maestro-event-catalog.ts"],"names":[],"mappings":"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","sourcesContent":["export enum MaestroBusEventType {\n\tSessionStarted = \"maestro.sessions.session.started\",\n\tSessionSuspended = \"maestro.sessions.session.suspended\",\n\tSessionResumed = \"maestro.sessions.session.resumed\",\n\tSessionClosed = \"maestro.sessions.session.closed\",\n\tInstallCheckCompleted = \"maestro.events.install_check.completed\",\n\tApprovalHit = \"maestro.events.approval_hit\",\n\tSandboxViolation = \"maestro.events.sandbox_violation\",\n\tFirewallBlock = \"maestro.events.firewall_block\",\n\tToolCallAttempted = \"maestro.events.tool_call.attempted\",\n\tToolCallCompleted = \"maestro.events.tool_call.completed\",\n\tToolCallFailed = \"maestro.events.tool_call.failed\",\n\tErrorCaptured = \"maestro.events.error.captured\",\n\tArtifactCreated = \"maestro.events.artifact.created\",\n\tFinalStatusReported = \"maestro.events.final_status.reported\",\n\tPromptVariantSelected = \"maestro.events.prompt_variant.selected\",\n\tContextLearned = \"maestro.events.context.learned\",\n\tSkillInvoked = \"maestro.events.skill.invoked\",\n\tSkillSucceeded = \"maestro.events.skill.succeeded\",\n\tSkillFailed = \"maestro.events.skill.failed\",\n\tSubagentDispatched = \"maestro.events.subagent.dispatched\",\n\tA2APeerSelected = \"maestro.events.a2a.peer.selected\",\n\tA2ATaskDispatched = \"maestro.events.a2a.task.dispatched\",\n\tA2ATaskProgress = \"maestro.events.a2a.task.progress\",\n\tA2ATaskCompleted = \"maestro.events.a2a.task.completed\",\n\tA2ATaskFailed = \"maestro.events.a2a.task.failed\",\n\tA2ATaskCancelled = \"maestro.events.a2a.task.cancelled\",\n\tA2APushReceived = \"maestro.events.a2a.push.received\",\n\tA2AEvidenceCompleted = \"maestro.events.a2a.evidence.completed\",\n\tEvalScored = \"maestro.events.eval.scored\",\n}\n\nexport type MaestroBusEventCategory =\n\t| \"session\"\n\t| \"install\"\n\t| \"agent\"\n\t| \"approval\"\n\t| \"safety\"\n\t| \"tool\"\n\t| \"error\"\n\t| \"artifact\"\n\t| \"final-status\"\n\t| \"prompt\"\n\t| \"knowledge\"\n\t| \"skill\"\n\t| \"a2a\"\n\t| \"eval\";\n\nexport interface MaestroBusEventCatalogEntry {\n\tcategory: MaestroBusEventCategory;\n\tdataSchema: string;\n\tplatformConsumers: readonly string[];\n\tprotoAnyType: string;\n\tsubject: MaestroBusEventType;\n\ttype: MaestroBusEventType;\n}\n\nconst auditConsumer = \"audit.maestro-events\";\n\nfunction entry(\n\ttype: MaestroBusEventType,\n\tcategory: MaestroBusEventCategory,\n\tprotoMessage: string,\n\tplatformConsumers: readonly string[],\n): MaestroBusEventCatalogEntry {\n\treturn {\n\t\tcategory,\n\t\tdataSchema: `buf.build/evalops/proto/maestro.v1.${protoMessage}`,\n\t\tplatformConsumers: [auditConsumer, ...platformConsumers].sort(),\n\t\tprotoAnyType: `type.googleapis.com/maestro.v1.${protoMessage}`,\n\t\tsubject: type,\n\t\ttype,\n\t};\n}\n\nexport const MAESTRO_BUS_EVENT_CATALOG = {\n\t[MaestroBusEventType.SessionStarted]: entry(\n\t\tMaestroBusEventType.SessionStarted,\n\t\t\"session\",\n\t\t\"MaestroSession\",\n\t\t[\n\t\t\t\"fermata.maestro-session-replay-context\",\n\t\t\t\"meter.maestro-session-lifecycle\",\n\t\t],\n\t),\n\t[MaestroBusEventType.SessionSuspended]: entry(\n\t\tMaestroBusEventType.SessionSuspended,\n\t\t\"session\",\n\t\t\"MaestroSession\",\n\t\t[\n\t\t\t\"fermata.maestro-session-replay-context\",\n\t\t\t\"meter.maestro-session-lifecycle\",\n\t\t],\n\t),\n\t[MaestroBusEventType.SessionResumed]: entry(\n\t\tMaestroBusEventType.SessionResumed,\n\t\t\"session\",\n\t\t\"MaestroSession\",\n\t\t[\n\t\t\t\"fermata.maestro-session-replay-context\",\n\t\t\t\"meter.maestro-session-lifecycle\",\n\t\t],\n\t),\n\t[MaestroBusEventType.SessionClosed]: entry(\n\t\tMaestroBusEventType.SessionClosed,\n\t\t\"session\",\n\t\t\"MaestroSession\",\n\t\t[\n\t\t\t\"fermata.maestro-session-replay-context\",\n\t\t\t\"meter.maestro-session-lifecycle\",\n\t\t],\n\t),\n\t[MaestroBusEventType.InstallCheckCompleted]: entry(\n\t\tMaestroBusEventType.InstallCheckCompleted,\n\t\t\"install\",\n\t\t\"PackageInstallCheck\",\n\t\t[\"meter.maestro-install-checks\", \"release.maestro-install-smoke\"],\n\t),\n\t[MaestroBusEventType.ApprovalHit]: entry(\n\t\tMaestroBusEventType.ApprovalHit,\n\t\t\"approval\",\n\t\t\"ApprovalHit\",\n\t\t[\"governance.maestro-approval-hit\"],\n\t),\n\t[MaestroBusEventType.SandboxViolation]: entry(\n\t\tMaestroBusEventType.SandboxViolation,\n\t\t\"safety\",\n\t\t\"SandboxViolation\",\n\t\t[\"governance.maestro-sandbox-violation\"],\n\t),\n\t[MaestroBusEventType.FirewallBlock]: entry(\n\t\tMaestroBusEventType.FirewallBlock,\n\t\t\"safety\",\n\t\t\"FirewallBlock\",\n\t\t[\"governance.maestro-firewall-block\"],\n\t),\n\t[MaestroBusEventType.ToolCallAttempted]: entry(\n\t\tMaestroBusEventType.ToolCallAttempted,\n\t\t\"tool\",\n\t\t\"ToolCallAttempt\",\n\t\t[\"meter.maestro-tool-call-events\"],\n\t),\n\t[MaestroBusEventType.ToolCallCompleted]: entry(\n\t\tMaestroBusEventType.ToolCallCompleted,\n\t\t\"tool\",\n\t\t\"ToolCallResult\",\n\t\t[\"meter.maestro-tool-call-events\", \"skills.maestro-tool-call-completed\"],\n\t),\n\t[MaestroBusEventType.ToolCallFailed]: entry(\n\t\tMaestroBusEventType.ToolCallFailed,\n\t\t\"tool\",\n\t\t\"ToolCallResult\",\n\t\t[\n\t\t\t\"meter.maestro-tool-call-events\",\n\t\t\t\"release.maestro-tool-failure-gates\",\n\t\t\t\"skills.maestro-tool-call-failed\",\n\t\t],\n\t),\n\t[MaestroBusEventType.ErrorCaptured]: entry(\n\t\tMaestroBusEventType.ErrorCaptured,\n\t\t\"error\",\n\t\t\"MaestroError\",\n\t\t[\"audit.maestro-errors\", \"meter.maestro-errors\"],\n\t),\n\t[MaestroBusEventType.ArtifactCreated]: entry(\n\t\tMaestroBusEventType.ArtifactCreated,\n\t\t\"artifact\",\n\t\t\"MaestroArtifact\",\n\t\t[\"fermata.maestro-artifacts\", \"meter.maestro-artifacts\"],\n\t),\n\t[MaestroBusEventType.FinalStatusReported]: entry(\n\t\tMaestroBusEventType.FinalStatusReported,\n\t\t\"final-status\",\n\t\t\"MaestroFinalStatus\",\n\t\t[\"fermata.maestro-final-status\", \"meter.maestro-final-status\"],\n\t),\n\t[MaestroBusEventType.PromptVariantSelected]: entry(\n\t\tMaestroBusEventType.PromptVariantSelected,\n\t\t\"prompt\",\n\t\t\"PromptVariantSelected\",\n\t\t[\"prompts.maestro-prompt-variant-selected\"],\n\t),\n\t[MaestroBusEventType.ContextLearned]: entry(\n\t\tMaestroBusEventType.ContextLearned,\n\t\t\"knowledge\",\n\t\t\"MaestroLearnedContext\",\n\t\t[\"cerebro.maestro-learned-context\"],\n\t),\n\t[MaestroBusEventType.SkillInvoked]: entry(\n\t\tMaestroBusEventType.SkillInvoked,\n\t\t\"skill\",\n\t\t\"SkillInvocation\",\n\t\t[\"skills.maestro-skill-events\"],\n\t),\n\t[MaestroBusEventType.SkillSucceeded]: entry(\n\t\tMaestroBusEventType.SkillSucceeded,\n\t\t\"skill\",\n\t\t\"SkillOutcome\",\n\t\t[\"skills.maestro-skill-events\"],\n\t),\n\t[MaestroBusEventType.SkillFailed]: entry(\n\t\tMaestroBusEventType.SkillFailed,\n\t\t\"skill\",\n\t\t\"SkillOutcome\",\n\t\t[\"skills.maestro-skill-events\"],\n\t),\n\t[MaestroBusEventType.SubagentDispatched]: entry(\n\t\tMaestroBusEventType.SubagentDispatched,\n\t\t\"agent\",\n\t\t\"SubagentDispatch\",\n\t\t[\"agents.maestro-subagent-dispatches\", \"meter.maestro-subagent-dispatches\"],\n\t),\n\t[MaestroBusEventType.A2APeerSelected]: entry(\n\t\tMaestroBusEventType.A2APeerSelected,\n\t\t\"a2a\",\n\t\t\"MaestroA2ADelegationEvent\",\n\t\t[\"a2a.maestro-delegation-events\", \"meter.maestro-a2a-delegations\"],\n\t),\n\t[MaestroBusEventType.A2ATaskDispatched]: entry(\n\t\tMaestroBusEventType.A2ATaskDispatched,\n\t\t\"a2a\",\n\t\t\"MaestroA2ADelegationEvent\",\n\t\t[\"a2a.maestro-delegation-events\", \"meter.maestro-a2a-delegations\"],\n\t),\n\t[MaestroBusEventType.A2ATaskProgress]: entry(\n\t\tMaestroBusEventType.A2ATaskProgress,\n\t\t\"a2a\",\n\t\t\"MaestroA2ADelegationEvent\",\n\t\t[\"a2a.maestro-delegation-events\", \"meter.maestro-a2a-delegations\"],\n\t),\n\t[MaestroBusEventType.A2ATaskCompleted]: entry(\n\t\tMaestroBusEventType.A2ATaskCompleted,\n\t\t\"a2a\",\n\t\t\"MaestroA2ADelegationEvent\",\n\t\t[\"a2a.maestro-delegation-events\", \"meter.maestro-a2a-delegations\"],\n\t),\n\t[MaestroBusEventType.A2ATaskFailed]: entry(\n\t\tMaestroBusEventType.A2ATaskFailed,\n\t\t\"a2a\",\n\t\t\"MaestroA2ADelegationEvent\",\n\t\t[\n\t\t\t\"a2a.maestro-delegation-events\",\n\t\t\t\"meter.maestro-a2a-delegations\",\n\t\t\t\"release.maestro-a2a-failure-gates\",\n\t\t],\n\t),\n\t[MaestroBusEventType.A2ATaskCancelled]: entry(\n\t\tMaestroBusEventType.A2ATaskCancelled,\n\t\t\"a2a\",\n\t\t\"MaestroA2ADelegationEvent\",\n\t\t[\"a2a.maestro-delegation-events\", \"meter.maestro-a2a-delegations\"],\n\t),\n\t[MaestroBusEventType.A2APushReceived]: entry(\n\t\tMaestroBusEventType.A2APushReceived,\n\t\t\"a2a\",\n\t\t\"MaestroA2ADelegationEvent\",\n\t\t[\"a2a.maestro-delegation-events\", \"meter.maestro-a2a-delegations\"],\n\t),\n\t[MaestroBusEventType.A2AEvidenceCompleted]: entry(\n\t\tMaestroBusEventType.A2AEvidenceCompleted,\n\t\t\"a2a\",\n\t\t\"MaestroA2ADelegationEvent\",\n\t\t[\n\t\t\t\"a2a.maestro-delegation-events\",\n\t\t\t\"meter.maestro-a2a-delegations\",\n\t\t\t\"release.maestro-a2a-evidence-gates\",\n\t\t],\n\t),\n\t[MaestroBusEventType.EvalScored]: entry(\n\t\tMaestroBusEventType.EvalScored,\n\t\t\"eval\",\n\t\t\"MaestroEvalScore\",\n\t\t[\"fermata.maestro-eval-scored\", \"prompts.maestro-eval-scored\"],\n\t),\n} as const satisfies Record<MaestroBusEventType, MaestroBusEventCatalogEntry>;\n\nexport const MAESTRO_BUS_EVENT_TYPES = Object.values(MaestroBusEventType);\n\nexport const MAESTRO_RELEASE_GATE_EVENT_CATEGORIES = [\n\t\"install\",\n\t\"session\",\n\t\"tool\",\n\t\"approval\",\n\t\"error\",\n\t\"artifact\",\n\t\"final-status\",\n] as const satisfies readonly MaestroBusEventCategory[];\n\nexport type MaestroReleaseGateEventCategory =\n\t(typeof MAESTRO_RELEASE_GATE_EVENT_CATEGORIES)[number];\n\nexport function isMaestroBusEventType(\n\tvalue: string,\n): value is MaestroBusEventType {\n\treturn MAESTRO_BUS_EVENT_TYPES.includes(value as MaestroBusEventType);\n}\n\nexport function getMaestroBusEventCatalogEntry(\n\ttype: MaestroBusEventType,\n): MaestroBusEventCatalogEntry {\n\treturn MAESTRO_BUS_EVENT_CATALOG[type];\n}\n\nexport function listMaestroBusEventCatalog(): readonly MaestroBusEventCatalogEntry[] {\n\treturn MAESTRO_BUS_EVENT_TYPES.map(getMaestroBusEventCatalogEntry);\n}\n\nexport function listMaestroBusEventCatalogByCategory(\n\tcategory: MaestroBusEventCategory,\n): readonly MaestroBusEventCatalogEntry[] {\n\treturn listMaestroBusEventCatalog().filter(\n\t\t(entry) => entry.category === category,\n\t);\n}\n\nexport function getMissingMaestroReleaseGateEventCategories(\n\tcatalog: readonly MaestroBusEventCatalogEntry[] = listMaestroBusEventCatalog(),\n): readonly MaestroReleaseGateEventCategory[] {\n\tconst coveredCategories = new Set(catalog.map((entry) => entry.category));\n\treturn MAESTRO_RELEASE_GATE_EVENT_CATEGORIES.filter(\n\t\t(category) => !coveredCategories.has(category),\n\t);\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { ToolCapabilitySummary } from "../agent/tool-capability-types.js";
1
2
  type McpBeaconTransport = "stdio" | "http" | "sse";
2
3
  interface McpBeaconBase {
3
4
  serverName: string;
@@ -10,6 +11,7 @@ export interface McpConnectionBeacon extends McpBeaconBase {
10
11
  resourceCount: number;
11
12
  promptCount: number;
12
13
  isReconnect?: boolean;
14
+ toolCapabilitySummary?: ToolCapabilitySummary;
13
15
  }
14
16
  export interface McpToolUsageBeacon extends McpBeaconBase {
15
17
  toolName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-beacon.d.ts","sourceRoot":"","sources":["../../src/telemetry/mcp-beacon.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEnD,UAAU,aAAa;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACxD,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,mBAAmB,GACzB,OAAO,CAAC,OAAO,CAAC,CAsBlB;AAED,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,kBAAkB,GACxB,OAAO,CAAC,OAAO,CAAC,CAmBlB"}
1
+ {"version":3,"file":"mcp-beacon.d.ts","sourceRoot":"","sources":["../../src/telemetry/mcp-beacon.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,KAAK,kBAAkB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAEnD,UAAU,aAAa;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,aAAa;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACxD,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,mBAAmB,GACzB,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,kBAAkB,GACxB,OAAO,CAAC,OAAO,CAAC,CAmBlB"}
@@ -18,6 +18,7 @@ export function emitMcpConnectionBeacon(beacon) {
18
18
  resourceCount: beacon.resourceCount,
19
19
  promptCount: beacon.promptCount,
20
20
  reconnect: beacon.isReconnect === true,
21
+ ...compactCapabilityMetadata(beacon.toolCapabilitySummary),
21
22
  }),
22
23
  },
23
24
  });
@@ -51,4 +52,18 @@ function clientVersion(value) {
51
52
  function compactMetadata(metadata) {
52
53
  return Object.fromEntries(Object.entries(metadata).filter(([, value]) => value !== undefined));
53
54
  }
55
+ function compactCapabilityMetadata(summary) {
56
+ if (!summary) {
57
+ return {};
58
+ }
59
+ return {
60
+ desktopToolCount: summary.byDomain.desktop,
61
+ fileToolCount: summary.byDomain.file,
62
+ desktopActionToolCount: summary.byToolLane.desktop_action,
63
+ fileEditToolCount: summary.byToolLane.file_edit,
64
+ highRiskToolCount: summary.byRiskClass.high,
65
+ receiptBackedToolCount: summary.requiresReceipt,
66
+ rawSecretPossibleToolCount: summary.rawSecretPossible,
67
+ };
68
+ }
54
69
  //# sourceMappingURL=mcp-beacon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-beacon.js","sourceRoot":"","sources":["../../src/telemetry/mcp-beacon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAsBzC,MAAM,UAAU,uBAAuB,CACtC,MAA2B;IAE3B,OAAO,UAAU,CAAC;QACjB,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;QACzD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE;YACP,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC;YAClD,OAAO,EAAE,KAAK;SACd;QACD,UAAU,EAAE;YACX,QAAQ,EAAE,eAAe,CAAC;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,WAAW,KAAK,IAAI;aACtC,CAAC;SACF;KACD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,MAA0B;IAE1B,OAAO,UAAU,CAAC;QACjB,OAAO,EAAE,eAAe;QACxB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC;QAC1D,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE;YACP,MAAM,EAAE,KAAK;YACb,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC;YAClD,OAAO,EAAE,KAAK;SACd;QACD,UAAU,EAAE;YACX,QAAQ,EAAE,eAAe,CAAC;gBACzB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;aACzB,CAAC;SACF;KACD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAC1B,SAA6B,EAC7B,MAAkC;IAElC,OAAO,GAAG,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,GAAG,MAAM,EAAE,CAAC;AACjE,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC/C,OAAO,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC;AAC1D,CAAC;AAED,SAAS,eAAe,CACvB,QAAiC;IAEjC,OAAO,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CACnE,CAAC;AACH,CAAC","sourcesContent":["import { emitBeacon } from \"./beacon.js\";\n\ntype McpBeaconTransport = \"stdio\" | \"http\" | \"sse\";\n\ninterface McpBeaconBase {\n\tserverName: string;\n\ttransport: McpBeaconTransport;\n\tremoteHost?: string;\n\tclientVersion?: string;\n}\n\nexport interface McpConnectionBeacon extends McpBeaconBase {\n\ttoolCount: number;\n\tresourceCount: number;\n\tpromptCount: number;\n\tisReconnect?: boolean;\n}\n\nexport interface McpToolUsageBeacon extends McpBeaconBase {\n\ttoolName: string;\n}\n\nexport function emitMcpConnectionBeacon(\n\tbeacon: McpConnectionBeacon,\n): Promise<boolean> {\n\treturn emitBeacon({\n\t\tfeature: \"mcp.connection\",\n\t\taction: mcpTransportAction(beacon.transport, \"Connected\"),\n\t\ttimestamp: Date.now() * 1000,\n\t\tsource: {\n\t\t\tclient: \"cli\",\n\t\t\tclientVersion: clientVersion(beacon.clientVersion),\n\t\t\tsurface: \"mcp\",\n\t\t},\n\t\tparameters: {\n\t\t\tmetadata: compactMetadata({\n\t\t\t\tserverName: beacon.serverName,\n\t\t\t\ttransport: beacon.transport,\n\t\t\t\tremoteHost: beacon.remoteHost,\n\t\t\t\ttoolCount: beacon.toolCount,\n\t\t\t\tresourceCount: beacon.resourceCount,\n\t\t\t\tpromptCount: beacon.promptCount,\n\t\t\t\treconnect: beacon.isReconnect === true,\n\t\t\t}),\n\t\t},\n\t});\n}\n\nexport function emitMcpToolUsageBeacon(\n\tbeacon: McpToolUsageBeacon,\n): Promise<boolean> {\n\treturn emitBeacon({\n\t\tfeature: \"mcp.toolUsage\",\n\t\taction: mcpTransportAction(beacon.transport, \"ToolCalled\"),\n\t\ttimestamp: Date.now() * 1000,\n\t\tsource: {\n\t\t\tclient: \"cli\",\n\t\t\tclientVersion: clientVersion(beacon.clientVersion),\n\t\t\tsurface: \"mcp\",\n\t\t},\n\t\tparameters: {\n\t\t\tmetadata: compactMetadata({\n\t\t\t\tserverName: beacon.serverName,\n\t\t\t\ttransport: beacon.transport,\n\t\t\t\tremoteHost: beacon.remoteHost,\n\t\t\t\ttoolName: beacon.toolName,\n\t\t\t}),\n\t\t},\n\t});\n}\n\nfunction mcpTransportAction(\n\ttransport: McpBeaconTransport,\n\tsuffix: \"Connected\" | \"ToolCalled\",\n): string {\n\treturn `${transport === \"stdio\" ? \"local\" : \"remote\"}${suffix}`;\n}\n\nfunction clientVersion(value: string | undefined): string {\n\treturn value ?? process.env.MAESTRO_VERSION ?? \"unknown\";\n}\n\nfunction compactMetadata(\n\tmetadata: Record<string, unknown>,\n): Record<string, unknown> {\n\treturn Object.fromEntries(\n\t\tObject.entries(metadata).filter(([, value]) => value !== undefined),\n\t);\n}\n"]}
1
+ {"version":3,"file":"mcp-beacon.js","sourceRoot":"","sources":["../../src/telemetry/mcp-beacon.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ToolCapabilitySummary } from \"../agent/tool-capability-types.js\";\nimport { emitBeacon } from \"./beacon.js\";\n\ntype McpBeaconTransport = \"stdio\" | \"http\" | \"sse\";\n\ninterface McpBeaconBase {\n\tserverName: string;\n\ttransport: McpBeaconTransport;\n\tremoteHost?: string;\n\tclientVersion?: string;\n}\n\nexport interface McpConnectionBeacon extends McpBeaconBase {\n\ttoolCount: number;\n\tresourceCount: number;\n\tpromptCount: number;\n\tisReconnect?: boolean;\n\ttoolCapabilitySummary?: ToolCapabilitySummary;\n}\n\nexport interface McpToolUsageBeacon extends McpBeaconBase {\n\ttoolName: string;\n}\n\nexport function emitMcpConnectionBeacon(\n\tbeacon: McpConnectionBeacon,\n): Promise<boolean> {\n\treturn emitBeacon({\n\t\tfeature: \"mcp.connection\",\n\t\taction: mcpTransportAction(beacon.transport, \"Connected\"),\n\t\ttimestamp: Date.now() * 1000,\n\t\tsource: {\n\t\t\tclient: \"cli\",\n\t\t\tclientVersion: clientVersion(beacon.clientVersion),\n\t\t\tsurface: \"mcp\",\n\t\t},\n\t\tparameters: {\n\t\t\tmetadata: compactMetadata({\n\t\t\t\tserverName: beacon.serverName,\n\t\t\t\ttransport: beacon.transport,\n\t\t\t\tremoteHost: beacon.remoteHost,\n\t\t\t\ttoolCount: beacon.toolCount,\n\t\t\t\tresourceCount: beacon.resourceCount,\n\t\t\t\tpromptCount: beacon.promptCount,\n\t\t\t\treconnect: beacon.isReconnect === true,\n\t\t\t\t...compactCapabilityMetadata(beacon.toolCapabilitySummary),\n\t\t\t}),\n\t\t},\n\t});\n}\n\nexport function emitMcpToolUsageBeacon(\n\tbeacon: McpToolUsageBeacon,\n): Promise<boolean> {\n\treturn emitBeacon({\n\t\tfeature: \"mcp.toolUsage\",\n\t\taction: mcpTransportAction(beacon.transport, \"ToolCalled\"),\n\t\ttimestamp: Date.now() * 1000,\n\t\tsource: {\n\t\t\tclient: \"cli\",\n\t\t\tclientVersion: clientVersion(beacon.clientVersion),\n\t\t\tsurface: \"mcp\",\n\t\t},\n\t\tparameters: {\n\t\t\tmetadata: compactMetadata({\n\t\t\t\tserverName: beacon.serverName,\n\t\t\t\ttransport: beacon.transport,\n\t\t\t\tremoteHost: beacon.remoteHost,\n\t\t\t\ttoolName: beacon.toolName,\n\t\t\t}),\n\t\t},\n\t});\n}\n\nfunction mcpTransportAction(\n\ttransport: McpBeaconTransport,\n\tsuffix: \"Connected\" | \"ToolCalled\",\n): string {\n\treturn `${transport === \"stdio\" ? \"local\" : \"remote\"}${suffix}`;\n}\n\nfunction clientVersion(value: string | undefined): string {\n\treturn value ?? process.env.MAESTRO_VERSION ?? \"unknown\";\n}\n\nfunction compactMetadata(\n\tmetadata: Record<string, unknown>,\n): Record<string, unknown> {\n\treturn Object.fromEntries(\n\t\tObject.entries(metadata).filter(([, value]) => value !== undefined),\n\t);\n}\n\nfunction compactCapabilityMetadata(\n\tsummary: ToolCapabilitySummary | undefined,\n): Record<string, number> {\n\tif (!summary) {\n\t\treturn {};\n\t}\n\treturn {\n\t\tdesktopToolCount: summary.byDomain.desktop,\n\t\tfileToolCount: summary.byDomain.file,\n\t\tdesktopActionToolCount: summary.byToolLane.desktop_action,\n\t\tfileEditToolCount: summary.byToolLane.file_edit,\n\t\thighRiskToolCount: summary.byRiskClass.high,\n\t\treceiptBackedToolCount: summary.requiresReceipt,\n\t\trawSecretPossibleToolCount: summary.rawSecretPossible,\n\t};\n}\n"]}
@@ -59,6 +59,39 @@ export declare const MAESTRO_OTEL_METRIC_DEFINITIONS: readonly [{
59
59
  readonly name: "llm.tokens_used";
60
60
  readonly kind: "counter";
61
61
  readonly description: "Tokens consumed by direction";
62
+ }, {
63
+ readonly key: "a2aDelegationCount";
64
+ readonly name: "agent.a2a.delegation_count";
65
+ readonly kind: "counter";
66
+ readonly description: "A2A delegation lifecycle observations by phase and outcome";
67
+ }, {
68
+ readonly key: "a2aDispatchLatency";
69
+ readonly name: "agent.a2a.dispatch_latency";
70
+ readonly kind: "histogram";
71
+ readonly description: "A2A dispatch latency";
72
+ readonly unit: "ms";
73
+ }, {
74
+ readonly key: "a2aTaskDuration";
75
+ readonly name: "agent.a2a.task_duration";
76
+ readonly kind: "histogram";
77
+ readonly description: "A2A delegated task duration";
78
+ readonly unit: "ms";
79
+ }, {
80
+ readonly key: "a2aPushLag";
81
+ readonly name: "agent.a2a.push_lag";
82
+ readonly kind: "histogram";
83
+ readonly description: "Lag between A2A task completion and push receipt";
84
+ readonly unit: "ms";
85
+ }, {
86
+ readonly key: "a2aPolicyDenialCount";
87
+ readonly name: "agent.a2a.policy_denial_count";
88
+ readonly kind: "counter";
89
+ readonly description: "A2A capability policy denials by source and reason";
90
+ }, {
91
+ readonly key: "a2aPeerExclusionCount";
92
+ readonly name: "agent.a2a.peer_exclusion_count";
93
+ readonly kind: "counter";
94
+ readonly description: "A2A peer exclusions by source and reason";
62
95
  }];
63
96
  export declare const maestroOtelMetrics: {
64
97
  toolInvocationCount: Counter<import("@opentelemetry/api").Attributes>;
@@ -68,6 +101,12 @@ export declare const maestroOtelMetrics: {
68
101
  agentTurnLatency: Histogram<import("@opentelemetry/api").Attributes>;
69
102
  subagentDispatchCount: Counter<import("@opentelemetry/api").Attributes>;
70
103
  subagentDispatchLatency: Histogram<import("@opentelemetry/api").Attributes>;
104
+ a2aDelegationCount: Counter<import("@opentelemetry/api").Attributes>;
105
+ a2aDispatchLatency: Histogram<import("@opentelemetry/api").Attributes>;
106
+ a2aTaskDuration: Histogram<import("@opentelemetry/api").Attributes>;
107
+ a2aPushLag: Histogram<import("@opentelemetry/api").Attributes>;
108
+ a2aPolicyDenialCount: Counter<import("@opentelemetry/api").Attributes>;
109
+ a2aPeerExclusionCount: Counter<import("@opentelemetry/api").Attributes>;
71
110
  compactionTriggered: Counter<import("@opentelemetry/api").Attributes>;
72
111
  llmRequestCount: Counter<import("@opentelemetry/api").Attributes>;
73
112
  llmTokenUsage: Counter<import("@opentelemetry/api").Attributes>;
@@ -100,6 +139,29 @@ export declare function recordSubagentDispatchMetric(input: {
100
139
  latencyMs?: number;
101
140
  agentRunId?: string;
102
141
  }): void;
142
+ export declare function recordA2ADelegationMetric(input: {
143
+ phase: string;
144
+ source?: string;
145
+ status?: string;
146
+ success?: boolean;
147
+ skillId?: string;
148
+ taskClass?: string;
149
+ latencyMs?: number;
150
+ taskDurationMs?: number;
151
+ pushLagMs?: number;
152
+ }): void;
153
+ export declare function recordA2APolicyDenialMetric(input: {
154
+ source?: string;
155
+ reason: string;
156
+ taskClass?: string;
157
+ skillId?: string;
158
+ }): void;
159
+ export declare function recordA2APeerExclusionMetric(input: {
160
+ source?: string;
161
+ reason: string;
162
+ taskClass?: string;
163
+ skillId?: string;
164
+ }): void;
103
165
  export declare function recordCompactionMetric(attributes?: Record<string, string | number | boolean | undefined>): void;
104
166
  export declare function recordLlmTokenUsageMetric(tokens: {
105
167
  input?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiEW,CAAC;AAiCxD,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAW9B,CAAC;AAaF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CA0BP;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAgBP;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAkBP;AAED,wBAAgB,sBAAsB,CACrC,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAM,GACpE,IAAI,CAEN;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAM,GACpE,IAAI,CAmBN;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACF,GAAG,IAAI,CAYP"}
1
+ {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,OAAO,EACZ,KAAK,SAAS,EAEd,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,uBAAuB,GAAG;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,WAAW,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwGW,CAAC;AAiCxD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;CAiB9B,CAAC;AAaF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CA0BP;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAgBP;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAkBP;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,IAAI,CAmBP;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAUP;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,GAAG,IAAI,CAUP;AAED,wBAAgB,sBAAsB,CACrC,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAM,GACpE,IAAI,CAEN;AAED,wBAAgB,yBAAyB,CACxC,MAAM,EAAE;IACP,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,EACD,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAM,GACpE,IAAI,CAmBN;AAMD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACF,GAAG,IAAI,CAYP"}
@@ -63,6 +63,45 @@ export const MAESTRO_OTEL_METRIC_DEFINITIONS = [
63
63
  kind: "counter",
64
64
  description: "Tokens consumed by direction",
65
65
  },
66
+ {
67
+ key: "a2aDelegationCount",
68
+ name: "agent.a2a.delegation_count",
69
+ kind: "counter",
70
+ description: "A2A delegation lifecycle observations by phase and outcome",
71
+ },
72
+ {
73
+ key: "a2aDispatchLatency",
74
+ name: "agent.a2a.dispatch_latency",
75
+ kind: "histogram",
76
+ description: "A2A dispatch latency",
77
+ unit: "ms",
78
+ },
79
+ {
80
+ key: "a2aTaskDuration",
81
+ name: "agent.a2a.task_duration",
82
+ kind: "histogram",
83
+ description: "A2A delegated task duration",
84
+ unit: "ms",
85
+ },
86
+ {
87
+ key: "a2aPushLag",
88
+ name: "agent.a2a.push_lag",
89
+ kind: "histogram",
90
+ description: "Lag between A2A task completion and push receipt",
91
+ unit: "ms",
92
+ },
93
+ {
94
+ key: "a2aPolicyDenialCount",
95
+ name: "agent.a2a.policy_denial_count",
96
+ kind: "counter",
97
+ description: "A2A capability policy denials by source and reason",
98
+ },
99
+ {
100
+ key: "a2aPeerExclusionCount",
101
+ name: "agent.a2a.peer_exclusion_count",
102
+ kind: "counter",
103
+ description: "A2A peer exclusions by source and reason",
104
+ },
66
105
  ];
67
106
  const definitionsByKey = Object.fromEntries(MAESTRO_OTEL_METRIC_DEFINITIONS.map((definition) => [
68
107
  definition.key,
@@ -91,6 +130,12 @@ export const maestroOtelMetrics = {
91
130
  agentTurnLatency: histogram("agentTurnLatency"),
92
131
  subagentDispatchCount: counter("subagentDispatchCount"),
93
132
  subagentDispatchLatency: histogram("subagentDispatchLatency"),
133
+ a2aDelegationCount: counter("a2aDelegationCount"),
134
+ a2aDispatchLatency: histogram("a2aDispatchLatency"),
135
+ a2aTaskDuration: histogram("a2aTaskDuration"),
136
+ a2aPushLag: histogram("a2aPushLag"),
137
+ a2aPolicyDenialCount: counter("a2aPolicyDenialCount"),
138
+ a2aPeerExclusionCount: counter("a2aPeerExclusionCount"),
94
139
  compactionTriggered: counter("compactionTriggered"),
95
140
  llmRequestCount: counter("llmRequestCount"),
96
141
  llmTokenUsage: counter("llmTokenUsage"),
@@ -148,6 +193,42 @@ export function recordSubagentDispatchMetric(input) {
148
193
  maestroOtelMetrics.subagentDispatchLatency.record(input.latencyMs, attributes);
149
194
  }
150
195
  }
196
+ export function recordA2ADelegationMetric(input) {
197
+ const attributes = compactAttributes({
198
+ "maestro.a2a.phase": input.phase,
199
+ "maestro.a2a.source": input.source,
200
+ "maestro.a2a.status": input.status,
201
+ "maestro.a2a.success": input.success,
202
+ "maestro.a2a.skill_id": input.skillId,
203
+ "maestro.a2a.task_class": input.taskClass,
204
+ });
205
+ maestroOtelMetrics.a2aDelegationCount.add(1, attributes);
206
+ if (isFiniteNumber(input.latencyMs)) {
207
+ maestroOtelMetrics.a2aDispatchLatency.record(input.latencyMs, attributes);
208
+ }
209
+ if (isFiniteNumber(input.taskDurationMs)) {
210
+ maestroOtelMetrics.a2aTaskDuration.record(input.taskDurationMs, attributes);
211
+ }
212
+ if (isFiniteNumber(input.pushLagMs)) {
213
+ maestroOtelMetrics.a2aPushLag.record(input.pushLagMs, attributes);
214
+ }
215
+ }
216
+ export function recordA2APolicyDenialMetric(input) {
217
+ maestroOtelMetrics.a2aPolicyDenialCount.add(1, compactAttributes({
218
+ "maestro.a2a.source": input.source,
219
+ "maestro.a2a.reason": input.reason,
220
+ "maestro.a2a.task_class": input.taskClass,
221
+ "maestro.a2a.skill_id": input.skillId,
222
+ }));
223
+ }
224
+ export function recordA2APeerExclusionMetric(input) {
225
+ maestroOtelMetrics.a2aPeerExclusionCount.add(1, compactAttributes({
226
+ "maestro.a2a.source": input.source,
227
+ "maestro.a2a.reason": input.reason,
228
+ "maestro.a2a.task_class": input.taskClass,
229
+ "maestro.a2a.skill_id": input.skillId,
230
+ }));
231
+ }
151
232
  export function recordCompactionMetric(attributes = {}) {
152
233
  maestroOtelMetrics.compactionTriggered.add(1, compactAttributes(attributes));
153
234
  }
@@ -168,6 +249,9 @@ export function recordLlmTokenUsageMetric(tokens, attributes = {}) {
168
249
  }
169
250
  }
170
251
  }
252
+ function isFiniteNumber(value) {
253
+ return typeof value === "number" && Number.isFinite(value);
254
+ }
171
255
  export function recordLlmRequestMetric(input) {
172
256
  const attributes = compactAttributes({
173
257
  "llm.model.provider": input.provider,
@@ -1 +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"]}
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\t{\n\t\tkey: \"a2aDelegationCount\",\n\t\tname: \"agent.a2a.delegation_count\",\n\t\tkind: \"counter\",\n\t\tdescription: \"A2A delegation lifecycle observations by phase and outcome\",\n\t},\n\t{\n\t\tkey: \"a2aDispatchLatency\",\n\t\tname: \"agent.a2a.dispatch_latency\",\n\t\tkind: \"histogram\",\n\t\tdescription: \"A2A dispatch latency\",\n\t\tunit: \"ms\",\n\t},\n\t{\n\t\tkey: \"a2aTaskDuration\",\n\t\tname: \"agent.a2a.task_duration\",\n\t\tkind: \"histogram\",\n\t\tdescription: \"A2A delegated task duration\",\n\t\tunit: \"ms\",\n\t},\n\t{\n\t\tkey: \"a2aPushLag\",\n\t\tname: \"agent.a2a.push_lag\",\n\t\tkind: \"histogram\",\n\t\tdescription: \"Lag between A2A task completion and push receipt\",\n\t\tunit: \"ms\",\n\t},\n\t{\n\t\tkey: \"a2aPolicyDenialCount\",\n\t\tname: \"agent.a2a.policy_denial_count\",\n\t\tkind: \"counter\",\n\t\tdescription: \"A2A capability policy denials by source and reason\",\n\t},\n\t{\n\t\tkey: \"a2aPeerExclusionCount\",\n\t\tname: \"agent.a2a.peer_exclusion_count\",\n\t\tkind: \"counter\",\n\t\tdescription: \"A2A peer exclusions by source and reason\",\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\ta2aDelegationCount: counter(\"a2aDelegationCount\"),\n\ta2aDispatchLatency: histogram(\"a2aDispatchLatency\"),\n\ta2aTaskDuration: histogram(\"a2aTaskDuration\"),\n\ta2aPushLag: histogram(\"a2aPushLag\"),\n\ta2aPolicyDenialCount: counter(\"a2aPolicyDenialCount\"),\n\ta2aPeerExclusionCount: counter(\"a2aPeerExclusionCount\"),\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 recordA2ADelegationMetric(input: {\n\tphase: string;\n\tsource?: string;\n\tstatus?: string;\n\tsuccess?: boolean;\n\tskillId?: string;\n\ttaskClass?: string;\n\tlatencyMs?: number;\n\ttaskDurationMs?: number;\n\tpushLagMs?: number;\n}): void {\n\tconst attributes = compactAttributes({\n\t\t\"maestro.a2a.phase\": input.phase,\n\t\t\"maestro.a2a.source\": input.source,\n\t\t\"maestro.a2a.status\": input.status,\n\t\t\"maestro.a2a.success\": input.success,\n\t\t\"maestro.a2a.skill_id\": input.skillId,\n\t\t\"maestro.a2a.task_class\": input.taskClass,\n\t});\n\tmaestroOtelMetrics.a2aDelegationCount.add(1, attributes);\n\tif (isFiniteNumber(input.latencyMs)) {\n\t\tmaestroOtelMetrics.a2aDispatchLatency.record(input.latencyMs, attributes);\n\t}\n\tif (isFiniteNumber(input.taskDurationMs)) {\n\t\tmaestroOtelMetrics.a2aTaskDuration.record(input.taskDurationMs, attributes);\n\t}\n\tif (isFiniteNumber(input.pushLagMs)) {\n\t\tmaestroOtelMetrics.a2aPushLag.record(input.pushLagMs, attributes);\n\t}\n}\n\nexport function recordA2APolicyDenialMetric(input: {\n\tsource?: string;\n\treason: string;\n\ttaskClass?: string;\n\tskillId?: string;\n}): void {\n\tmaestroOtelMetrics.a2aPolicyDenialCount.add(\n\t\t1,\n\t\tcompactAttributes({\n\t\t\t\"maestro.a2a.source\": input.source,\n\t\t\t\"maestro.a2a.reason\": input.reason,\n\t\t\t\"maestro.a2a.task_class\": input.taskClass,\n\t\t\t\"maestro.a2a.skill_id\": input.skillId,\n\t\t}),\n\t);\n}\n\nexport function recordA2APeerExclusionMetric(input: {\n\tsource?: string;\n\treason: string;\n\ttaskClass?: string;\n\tskillId?: string;\n}): void {\n\tmaestroOtelMetrics.a2aPeerExclusionCount.add(\n\t\t1,\n\t\tcompactAttributes({\n\t\t\t\"maestro.a2a.source\": input.source,\n\t\t\t\"maestro.a2a.reason\": input.reason,\n\t\t\t\"maestro.a2a.task_class\": input.taskClass,\n\t\t\t\"maestro.a2a.skill_id\": input.skillId,\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\nfunction isFiniteNumber(value: number | undefined): value is number {\n\treturn typeof value === \"number\" && Number.isFinite(value);\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"]}
@@ -1,3 +1,4 @@
1
+ import { type MaestroCorrelation } from "./telemetry/maestro-event-bus.js";
1
2
  import { type CanonicalTurnEvent } from "./telemetry/wide-events.js";
2
3
  export { splitTelemetryMetadata } from "./telemetry/metadata-normalization.js";
3
4
  type BaseTelemetryEvent = {
@@ -125,6 +126,36 @@ export interface SubagentDispatchTelemetry extends BaseTelemetryEvent {
125
126
  source?: string;
126
127
  metadata?: Record<string, unknown>;
127
128
  }
129
+ export type A2ADelegationTelemetryPhase = "peer_selected" | "task_dispatched" | "task_progress" | "task_completed" | "task_failed" | "task_cancelled" | "push_received" | "evidence_completed";
130
+ export interface A2ADelegationTelemetryInput {
131
+ phase: A2ADelegationTelemetryPhase;
132
+ swarmId: string;
133
+ laneId: string;
134
+ parentTaskId: string;
135
+ a2aTaskId?: string;
136
+ a2aMessageId?: string;
137
+ contextId?: string;
138
+ peerAgentId?: string;
139
+ peerName?: string;
140
+ peerEndpointUrl?: string;
141
+ peerEndpointHash?: string;
142
+ peerEndpointKind?: string;
143
+ skillId?: string;
144
+ taskClass?: string;
145
+ source?: string;
146
+ status?: string;
147
+ terminal?: boolean;
148
+ success?: boolean;
149
+ latencyMs?: number;
150
+ durationMs?: number;
151
+ taskDurationMs?: number;
152
+ pushLagMs?: number;
153
+ evidence?: Record<string, unknown>;
154
+ metadata?: Record<string, unknown>;
155
+ correlation?: Partial<MaestroCorrelation>;
156
+ occurredAt?: string;
157
+ env?: NodeJS.ProcessEnv;
158
+ }
128
159
  /**
129
160
  * Canonical Turn Event - Wide event emitted once per agent turn.
130
161
  * Re-exported from telemetry/wide-events.ts for type union.
@@ -200,6 +231,19 @@ export declare function recordStagedRolloutSurfaceUsage(event: StagedRolloutSurf
200
231
  metadata?: Record<string, unknown>;
201
232
  }): Promise<void>;
202
233
  export declare function recordSubagentDispatch(event: Omit<SubagentDispatchTelemetry, "type" | "timestamp" | "event">): void;
234
+ export declare function recordA2ADelegationTelemetry(event: A2ADelegationTelemetryInput): void;
235
+ export declare function recordA2APolicyDenialTelemetry(event: {
236
+ source?: string;
237
+ reason: string;
238
+ taskClass?: string;
239
+ skillId?: string;
240
+ }): void;
241
+ export declare function recordA2APeerExclusionTelemetry(event: {
242
+ source?: string;
243
+ reason: string;
244
+ taskClass?: string;
245
+ skillId?: string;
246
+ }): void;
203
247
  /**
204
248
  * Record session migration stats.
205
249
  */
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}