@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
@@ -1 +1 @@
1
- {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/agent/tracing.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent-level tracing for OpenTelemetry integration.\n *\n * This module provides tracing capabilities for agent turns, tool calls,\n * and LLM requests to enable observability into agent execution.\n */\n\nimport { type Span, SpanStatusCode } from \"@opentelemetry/api\";\nimport {\n\tgetTelemetryTracer,\n\tisOpenTelemetryEnabled,\n} from \"../opentelemetry.js\";\nimport { resolveMaestroEventBusConfig } from \"../telemetry/maestro-event-bus.js\";\nimport type { AgentTool, Api, Model, ThinkingLevel, Usage } from \"./types.js\";\n\nexport interface MaestroTraceIdentityContext {\n\torganizationId?: string;\n\tworkspaceId?: string;\n\tuserId?: string;\n\tsessionId?: string;\n\tagentId?: string;\n\tagentRunId?: string;\n\tagentRunStepId?: string;\n\ttraceId?: string;\n\trequestId?: string;\n\tsurface?: string;\n}\n\nexport interface AgentTurnContext extends MaestroTraceIdentityContext {\n\tmodelId: string;\n\tmodelProvider: string;\n\tthinkingLevel: ThinkingLevel;\n\ttoolCount: number;\n\tmessageCount: number;\n}\n\nexport interface ToolCallContext extends MaestroTraceIdentityContext {\n\ttoolName: string;\n\ttoolCallId: string;\n\tinputSize: number;\n}\n\nexport interface LlmRequestContext extends MaestroTraceIdentityContext {\n\tmodelId: string;\n\tprovider: string;\n\tinputTokens?: number;\n\toutputTokens?: number;\n\tthinkingTokens?: number;\n}\n\n/**\n * Wraps an async operation in an OpenTelemetry span.\n * If OpenTelemetry is not enabled, executes the operation directly.\n */\nasync function withSpan<T>(\n\tspanName: string,\n\tattributes: Record<string, string | number | boolean | undefined>,\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\tif (!isOpenTelemetryEnabled()) {\n\t\treturn operation(null);\n\t}\n\n\tconst tracer = getTelemetryTracer();\n\treturn tracer.startActiveSpan(spanName, async (span: Span) => {\n\t\t// Filter out undefined values\n\t\tconst filteredAttrs: Record<string, string | number | boolean> = {};\n\t\tfor (const [key, value] of Object.entries(attributes)) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tfilteredAttrs[key] = value;\n\t\t\t}\n\t\t}\n\t\tspan.setAttributes(filteredAttrs);\n\n\t\ttry {\n\t\t\tconst result = await operation(span);\n\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tspan.setStatus({\n\t\t\t\tcode: SpanStatusCode.ERROR,\n\t\t\t\tmessage: error instanceof Error ? error.message : String(error),\n\t\t\t});\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tspan.end();\n\t\t}\n\t});\n}\n\nexport function maestroTraceIdentityAttributes(\n\tcontext: MaestroTraceIdentityContext = {},\n): Record<string, string | undefined> {\n\tconst eventBusConfig = resolveMaestroEventBusConfig();\n\tconst correlation = eventBusConfig.defaultCorrelation;\n\tconst principal = eventBusConfig.defaultPrincipal;\n\tconst organizationId = traceIdentityValue(\n\t\tcontext.organizationId ??\n\t\t\tcorrelation.organization_id ??\n\t\t\tprincipal?.organization_id,\n\t);\n\tconst workspaceId = traceIdentityValue(\n\t\tcontext.workspaceId ?? correlation.workspace_id ?? principal?.workspace_id,\n\t);\n\tconst userId = traceIdentityValue(\n\t\tcontext.userId ?? correlation.user_id ?? principal?.user_id,\n\t);\n\tconst sessionId = traceIdentityValue(\n\t\tcontext.sessionId ?? correlation.session_id,\n\t);\n\tconst agentId = traceIdentityValue(context.agentId ?? correlation.agent_id);\n\tconst agentRunId = traceIdentityValue(\n\t\tcontext.agentRunId ?? correlation.agent_run_id,\n\t);\n\tconst agentRunStepId = traceIdentityValue(\n\t\tcontext.agentRunStepId ?? correlation.agent_run_step_id,\n\t);\n\tconst traceId = traceIdentityValue(context.traceId ?? correlation.trace_id);\n\tconst requestId = traceIdentityValue(\n\t\tcontext.requestId ?? correlation.request_id,\n\t);\n\tconst surface = context.surface ?? eventBusConfig.defaultSurface;\n\n\treturn {\n\t\t\"enduser.id\": userId,\n\t\t\"user.id\": userId,\n\t\t\"agent.user.id\": userId,\n\t\t\"organization.id\": organizationId,\n\t\t\"evalops.organization_id\": organizationId,\n\t\t\"workspace.id\": workspaceId,\n\t\t\"evalops.workspace_id\": workspaceId,\n\t\t\"agent.session.id\": sessionId,\n\t\t\"maestro.session_id\": sessionId,\n\t\t\"agent.id\": agentId,\n\t\t\"maestro.agent_run_id\": agentRunId,\n\t\t\"maestro.agent_run_step_id\": agentRunStepId,\n\t\t\"trace.id\": traceId,\n\t\t\"request.id\": requestId,\n\t\t\"maestro.surface\": surface,\n\t};\n}\n\nfunction traceIdentityValue(value: string | undefined): string | undefined {\n\tif (value === undefined || value === \"\" || value === \"unknown\") {\n\t\treturn undefined;\n\t}\n\treturn value;\n}\n\n/**\n * Creates a span for an agent turn (user message → assistant response cycle).\n *\n * @example\n * ```typescript\n * await traceAgentTurn(\n * { modelId: \"claude-3\", toolCount: 5, messageCount: 10 },\n * async (span) => {\n * // Execute the turn\n * await agent.prompt(userMessage);\n * }\n * );\n * ```\n */\nexport async function traceAgentTurn<T>(\n\tcontext: AgentTurnContext,\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\treturn withSpan(\n\t\t\"agent.turn\",\n\t\t{\n\t\t\t...maestroTraceIdentityAttributes(context),\n\t\t\t\"agent.model.id\": context.modelId,\n\t\t\t\"agent.model.provider\": context.modelProvider,\n\t\t\t\"agent.thinking_level\": context.thinkingLevel,\n\t\t\t\"agent.tools.count\": context.toolCount,\n\t\t\t\"agent.messages.count\": context.messageCount,\n\t\t},\n\t\toperation,\n\t);\n}\n\n/**\n * Creates a span for a tool execution.\n *\n * @example\n * ```typescript\n * const result = await traceToolCall(\n * { toolName: \"bash\", toolCallId: \"123\", inputSize: 50 },\n * async (span) => {\n * return await tool.execute(args);\n * }\n * );\n * ```\n */\nexport async function traceToolCall<T>(\n\tcontext: ToolCallContext,\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\tconst startTime = performance.now();\n\n\treturn withSpan(\n\t\t`tool.${context.toolName}`,\n\t\t{\n\t\t\t...maestroTraceIdentityAttributes(context),\n\t\t\t\"tool.name\": context.toolName,\n\t\t\t\"tool.call_id\": context.toolCallId,\n\t\t\t\"tool.input_size\": context.inputSize,\n\t\t},\n\t\tasync (span) => {\n\t\t\tconst result = await operation(span);\n\n\t\t\tif (span) {\n\t\t\t\tspan.setAttribute(\"tool.duration_ms\", performance.now() - startTime);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t);\n}\n\n/**\n * Creates a span for an LLM API request.\n *\n * @example\n * ```typescript\n * const response = await traceLlmRequest(\n * { modelId: \"claude-3\", provider: \"anthropic\" },\n * async (span) => {\n * const response = await client.complete(messages);\n * // Add token counts after response\n * if (span) {\n * span.setAttribute(\"llm.input_tokens\", response.usage.input);\n * span.setAttribute(\"llm.output_tokens\", response.usage.output);\n * }\n * return response;\n * }\n * );\n * ```\n */\nexport async function traceLlmRequest<T>(\n\tcontext: LlmRequestContext,\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\tconst startTime = performance.now();\n\n\treturn withSpan(\n\t\t\"llm.request\",\n\t\t{\n\t\t\t...maestroTraceIdentityAttributes(context),\n\t\t\t\"llm.model.id\": context.modelId,\n\t\t\t\"llm.model.provider\": context.provider,\n\t\t\t\"llm.input_tokens\": context.inputTokens,\n\t\t\t\"llm.output_tokens\": context.outputTokens,\n\t\t\t\"llm.thinking_tokens\": context.thinkingTokens,\n\t\t},\n\t\tasync (span) => {\n\t\t\tconst result = await operation(span);\n\n\t\t\tif (span) {\n\t\t\t\tspan.setAttribute(\"llm.duration_ms\", performance.now() - startTime);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t);\n}\n\n/**\n * Records usage metrics on an existing span.\n */\nexport function recordUsageOnSpan(span: Span | null, usage: Usage): void {\n\tif (!span) return;\n\n\tspan.setAttributes({\n\t\t\"llm.usage.input_tokens\": usage.input,\n\t\t\"llm.usage.output_tokens\": usage.output,\n\t\t\"llm.usage.cache_read_tokens\": usage.cacheRead,\n\t\t\"llm.usage.cache_write_tokens\": usage.cacheWrite,\n\t\t\"llm.usage.cost_total\": usage.cost.total,\n\t});\n}\n\n/**\n * Creates a span for approval flow (when user approval is required).\n */\nexport async function traceApprovalFlow<T>(\n\tcontext: {\n\t\ttoolName: string;\n\t\truleId?: string;\n\t\tactionType: string;\n\t},\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\tconst startTime = performance.now();\n\n\treturn withSpan(\n\t\t\"agent.approval\",\n\t\t{\n\t\t\t\"approval.tool_name\": context.toolName,\n\t\t\t\"approval.rule_id\": context.ruleId,\n\t\t\t\"approval.action_type\": context.actionType,\n\t\t},\n\t\tasync (span) => {\n\t\t\tconst result = await operation(span);\n\n\t\t\tif (span) {\n\t\t\t\tspan.setAttribute(\n\t\t\t\t\t\"approval.wait_duration_ms\",\n\t\t\t\t\tperformance.now() - startTime,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t);\n}\n\n/**\n * Records an approval decision on a span.\n */\nexport function recordApprovalDecision(\n\tspan: Span | null,\n\tdecision: \"approved\" | \"denied\" | \"auto\",\n): void {\n\tif (!span) return;\n\tspan.setAttribute(\"approval.decision\", decision);\n}\n\n/**\n * Creates a simple event span (non-async, immediate recording).\n */\nexport function recordAgentEvent(\n\teventType: string,\n\tattributes: Record<string, string | number | boolean | undefined>,\n): void {\n\tif (!isOpenTelemetryEnabled()) return;\n\n\tconst tracer = getTelemetryTracer();\n\ttracer.startActiveSpan(`agent.event.${eventType}`, (span: Span) => {\n\t\tconst filteredAttrs: Record<string, string | number | boolean> = {};\n\t\tfor (const [key, value] of Object.entries(attributes)) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tfilteredAttrs[key] = value;\n\t\t\t}\n\t\t}\n\t\tspan.setAttributes({\n\t\t\t\"agent.event.type\": eventType,\n\t\t\t...filteredAttrs,\n\t\t});\n\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\tspan.end();\n\t});\n}\n\n/**\n * Records a model switch event.\n */\nexport function recordModelSwitch(\n\tpreviousModel: string | undefined,\n\tnewModel: string,\n\tprovider: string,\n): void {\n\trecordAgentEvent(\"model_switch\", {\n\t\t\"agent.model.previous\": previousModel,\n\t\t\"agent.model.new\": newModel,\n\t\t\"agent.model.provider\": provider,\n\t});\n}\n\n/**\n * Records a thinking level change event.\n */\nexport function recordThinkingLevelChange(\n\tpreviousLevel: ThinkingLevel,\n\tnewLevel: ThinkingLevel,\n): void {\n\trecordAgentEvent(\"thinking_level_change\", {\n\t\t\"agent.thinking.previous\": previousLevel,\n\t\t\"agent.thinking.new\": newLevel,\n\t});\n}\n\n/**\n * Records a session start event.\n */\nexport function recordSessionStart(\n\tsessionId: string,\n\tmodelId: string,\n\tprovider: string,\n): void {\n\trecordAgentEvent(\"session_start\", {\n\t\t\"agent.session.id\": sessionId,\n\t\t\"agent.model.id\": modelId,\n\t\t\"agent.model.provider\": provider,\n\t});\n}\n\n/**\n * Records a session end event.\n */\nexport function recordSessionEnd(\n\tsessionId: string,\n\tmessageCount: number,\n\ttotalCost: number,\n): void {\n\trecordAgentEvent(\"session_end\", {\n\t\t\"agent.session.id\": sessionId,\n\t\t\"agent.session.message_count\": messageCount,\n\t\t\"agent.session.total_cost\": totalCost,\n\t});\n}\n"]}
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/agent/tracing.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent-level tracing for OpenTelemetry integration.\n *\n * This module provides tracing capabilities for agent turns, tool calls,\n * and LLM requests to enable observability into agent execution.\n */\n\nimport { type Span, SpanStatusCode } from \"@opentelemetry/api\";\nimport {\n\tgetTelemetryTracer,\n\tisOpenTelemetryEnabled,\n} from \"../opentelemetry.js\";\nimport { resolveMaestroEventBusConfig } from \"../telemetry/maestro-event-bus.js\";\nimport type { AgentTool, Api, Model, ThinkingLevel, Usage } from \"./types.js\";\n\nexport interface MaestroTraceIdentityContext {\n\torganizationId?: string;\n\tworkspaceId?: string;\n\tuserId?: string;\n\tsessionId?: string;\n\tagentId?: string;\n\tagentRunId?: string;\n\tagentRunStepId?: string;\n\ttraceId?: string;\n\trequestId?: string;\n\tsurface?: string;\n}\n\nexport interface AgentTurnContext extends MaestroTraceIdentityContext {\n\tmodelId: string;\n\tmodelProvider: string;\n\tthinkingLevel: ThinkingLevel;\n\ttoolCount: number;\n\tmessageCount: number;\n}\n\nexport interface ToolCallContext extends MaestroTraceIdentityContext {\n\ttoolName: string;\n\ttoolCallId: string;\n\tinputSize: number;\n}\n\nexport interface LlmRequestContext extends MaestroTraceIdentityContext {\n\tmodelId: string;\n\tprovider: string;\n\tinputTokens?: number;\n\toutputTokens?: number;\n\tthinkingTokens?: number;\n}\n\n/**\n * Wraps an async operation in an OpenTelemetry span.\n * If OpenTelemetry is not enabled, executes the operation directly.\n */\nasync function withSpan<T>(\n\tspanName: string,\n\tattributes: Record<string, string | number | boolean | undefined>,\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\tif (!isOpenTelemetryEnabled()) {\n\t\treturn operation(null);\n\t}\n\n\tconst tracer = getTelemetryTracer();\n\treturn tracer.startActiveSpan(spanName, async (span: Span) => {\n\t\t// Filter out undefined values\n\t\tconst filteredAttrs: Record<string, string | number | boolean> = {};\n\t\tfor (const [key, value] of Object.entries(attributes)) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tfilteredAttrs[key] = value;\n\t\t\t}\n\t\t}\n\t\tspan.setAttributes(filteredAttrs);\n\n\t\ttry {\n\t\t\tconst result = await operation(span);\n\t\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\t\treturn result;\n\t\t} catch (error) {\n\t\t\tspan.setStatus({\n\t\t\t\tcode: SpanStatusCode.ERROR,\n\t\t\t\tmessage: error instanceof Error ? error.message : String(error),\n\t\t\t});\n\t\t\tthrow error;\n\t\t} finally {\n\t\t\tspan.end();\n\t\t}\n\t});\n}\n\nexport function maestroTraceIdentityAttributes(\n\tcontext: MaestroTraceIdentityContext = {},\n): Record<string, string | undefined> {\n\tconst eventBusConfig = resolveMaestroEventBusConfig();\n\tconst correlation = eventBusConfig.defaultCorrelation;\n\tconst principal = eventBusConfig.defaultPrincipal;\n\tconst organizationId = traceIdentityValue(\n\t\tcontext.organizationId ??\n\t\t\tcorrelation.organization_id ??\n\t\t\tprincipal?.organization_id,\n\t);\n\tconst workspaceId = traceIdentityValue(\n\t\tcontext.workspaceId ?? correlation.workspace_id ?? principal?.workspace_id,\n\t);\n\tconst userId = traceIdentityValue(\n\t\tcontext.userId ?? correlation.user_id ?? principal?.user_id,\n\t);\n\tconst sessionId = traceIdentityValue(\n\t\tcontext.sessionId ?? correlation.session_id,\n\t);\n\tconst agentId = traceIdentityValue(context.agentId ?? correlation.agent_id);\n\tconst agentRunId = traceIdentityValue(\n\t\tcontext.agentRunId ?? correlation.agent_run_id,\n\t);\n\tconst agentRunStepId = traceIdentityValue(\n\t\tcontext.agentRunStepId ?? correlation.agent_run_step_id,\n\t);\n\tconst traceId = traceIdentityValue(context.traceId ?? correlation.trace_id);\n\tconst requestId = traceIdentityValue(\n\t\tcontext.requestId ?? correlation.request_id,\n\t);\n\tconst surface = context.surface ?? eventBusConfig.defaultSurface;\n\n\treturn {\n\t\t\"enduser.id\": userId,\n\t\t\"user.id\": userId,\n\t\t\"agent.user.id\": userId,\n\t\t\"organization.id\": organizationId,\n\t\t\"evalops.organization_id\": organizationId,\n\t\t\"workspace.id\": workspaceId,\n\t\t\"evalops.workspace_id\": workspaceId,\n\t\t\"agent.session.id\": sessionId,\n\t\t\"maestro.session_id\": sessionId,\n\t\t\"agent.id\": agentId,\n\t\t\"maestro.agent_run_id\": agentRunId,\n\t\t\"maestro.agent_run_step_id\": agentRunStepId,\n\t\t\"trace.id\": traceId,\n\t\t\"request.id\": requestId,\n\t\t\"maestro.surface\": surface,\n\t};\n}\n\nfunction traceIdentityValue(value: string | undefined): string | undefined {\n\tif (value === undefined || value === \"\" || value === \"unknown\") {\n\t\treturn undefined;\n\t}\n\treturn value;\n}\n\n/**\n * Creates a span for an agent turn (user message → assistant response cycle).\n *\n * @example\n * ```typescript\n * await traceAgentTurn(\n * { modelId: \"claude-3\", toolCount: 5, messageCount: 10 },\n * async (span) => {\n * // Execute the turn\n * await agent.prompt(userMessage);\n * }\n * );\n * ```\n */\nexport async function traceAgentTurn<T>(\n\tcontext: AgentTurnContext,\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\treturn withSpan(\n\t\t\"agent.turn\",\n\t\t{\n\t\t\t...maestroTraceIdentityAttributes(context),\n\t\t\t\"agent.model.id\": context.modelId,\n\t\t\t\"agent.model.provider\": context.modelProvider,\n\t\t\t\"agent.thinking_level\": context.thinkingLevel,\n\t\t\t\"agent.tools.count\": context.toolCount,\n\t\t\t\"agent.messages.count\": context.messageCount,\n\t\t},\n\t\toperation,\n\t);\n}\n\n/**\n * Creates a span for a tool execution.\n *\n * @example\n * ```typescript\n * const result = await traceToolCall(\n * { toolName: \"bash\", toolCallId: \"123\", inputSize: 50 },\n * async (span) => {\n * return await tool.execute(args);\n * }\n * );\n * ```\n */\nexport async function traceToolCall<T>(\n\tcontext: ToolCallContext,\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\tconst startTime = performance.now();\n\n\treturn withSpan(\n\t\t`tool.${context.toolName}`,\n\t\t{\n\t\t\t...maestroTraceIdentityAttributes(context),\n\t\t\t\"tool.name\": context.toolName,\n\t\t\t\"tool.call_id\": context.toolCallId,\n\t\t\t\"tool.input_size\": context.inputSize,\n\t\t},\n\t\tasync (span) => {\n\t\t\ttry {\n\t\t\t\tconst result = await operation(span);\n\t\t\t\treturn result;\n\t\t\t} finally {\n\t\t\t\tconst durationMs = performance.now() - startTime;\n\t\t\t\tif (span) {\n\t\t\t\t\tspan.setAttribute(\"tool.duration_ms\", durationMs);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t);\n}\n\n/**\n * Creates a span for an LLM API request.\n *\n * @example\n * ```typescript\n * const response = await traceLlmRequest(\n * { modelId: \"claude-3\", provider: \"anthropic\" },\n * async (span) => {\n * const response = await client.complete(messages);\n * // Add token counts after response\n * if (span) {\n * span.setAttribute(\"llm.input_tokens\", response.usage.input);\n * span.setAttribute(\"llm.output_tokens\", response.usage.output);\n * }\n * return response;\n * }\n * );\n * ```\n */\nexport async function traceLlmRequest<T>(\n\tcontext: LlmRequestContext,\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\tconst startTime = performance.now();\n\n\treturn withSpan(\n\t\t\"llm.request\",\n\t\t{\n\t\t\t...maestroTraceIdentityAttributes(context),\n\t\t\t\"llm.model.id\": context.modelId,\n\t\t\t\"llm.model.provider\": context.provider,\n\t\t\t\"llm.input_tokens\": context.inputTokens,\n\t\t\t\"llm.output_tokens\": context.outputTokens,\n\t\t\t\"llm.thinking_tokens\": context.thinkingTokens,\n\t\t},\n\t\tasync (span) => {\n\t\t\ttry {\n\t\t\t\treturn await operation(span);\n\t\t\t} finally {\n\t\t\t\tif (span) {\n\t\t\t\t\tspan.setAttribute(\"llm.duration_ms\", performance.now() - startTime);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t);\n}\n\n/**\n * Records usage attributes on an existing span.\n */\nexport function recordUsageOnSpan(span: Span | null, usage: Usage): void {\n\tif (!span) return;\n\n\tspan.setAttributes({\n\t\t\"llm.usage.input_tokens\": usage.input,\n\t\t\"llm.usage.output_tokens\": usage.output,\n\t\t\"llm.usage.cache_read_tokens\": usage.cacheRead,\n\t\t\"llm.usage.cache_write_tokens\": usage.cacheWrite,\n\t\t\"llm.usage.cost_total\": usage.cost.total,\n\t});\n}\n\n/**\n * Creates a span for approval flow (when user approval is required).\n */\nexport async function traceApprovalFlow<T>(\n\tcontext: {\n\t\ttoolName: string;\n\t\truleId?: string;\n\t\tactionType: string;\n\t},\n\toperation: (span: Span | null) => Promise<T>,\n): Promise<T> {\n\tconst startTime = performance.now();\n\n\treturn withSpan(\n\t\t\"agent.approval\",\n\t\t{\n\t\t\t\"approval.tool_name\": context.toolName,\n\t\t\t\"approval.rule_id\": context.ruleId,\n\t\t\t\"approval.action_type\": context.actionType,\n\t\t},\n\t\tasync (span) => {\n\t\t\tconst result = await operation(span);\n\n\t\t\tif (span) {\n\t\t\t\tspan.setAttribute(\n\t\t\t\t\t\"approval.wait_duration_ms\",\n\t\t\t\t\tperformance.now() - startTime,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\t);\n}\n\n/**\n * Records an approval decision on a span.\n */\nexport function recordApprovalDecision(\n\tspan: Span | null,\n\tdecision: \"approved\" | \"denied\" | \"auto\",\n): void {\n\tif (!span) return;\n\tspan.setAttribute(\"approval.decision\", decision);\n}\n\n/**\n * Creates a simple event span (non-async, immediate recording).\n */\nexport function recordAgentEvent(\n\teventType: string,\n\tattributes: Record<string, string | number | boolean | undefined>,\n): void {\n\tif (!isOpenTelemetryEnabled()) return;\n\n\tconst tracer = getTelemetryTracer();\n\ttracer.startActiveSpan(`agent.event.${eventType}`, (span: Span) => {\n\t\tconst filteredAttrs: Record<string, string | number | boolean> = {};\n\t\tfor (const [key, value] of Object.entries(attributes)) {\n\t\t\tif (value !== undefined) {\n\t\t\t\tfilteredAttrs[key] = value;\n\t\t\t}\n\t\t}\n\t\tspan.setAttributes({\n\t\t\t\"agent.event.type\": eventType,\n\t\t\t...filteredAttrs,\n\t\t});\n\t\tspan.setStatus({ code: SpanStatusCode.OK });\n\t\tspan.end();\n\t});\n}\n\n/**\n * Records a model switch event.\n */\nexport function recordModelSwitch(\n\tpreviousModel: string | undefined,\n\tnewModel: string,\n\tprovider: string,\n): void {\n\trecordAgentEvent(\"model_switch\", {\n\t\t\"agent.model.previous\": previousModel,\n\t\t\"agent.model.new\": newModel,\n\t\t\"agent.model.provider\": provider,\n\t});\n}\n\n/**\n * Records a thinking level change event.\n */\nexport function recordThinkingLevelChange(\n\tpreviousLevel: ThinkingLevel,\n\tnewLevel: ThinkingLevel,\n): void {\n\trecordAgentEvent(\"thinking_level_change\", {\n\t\t\"agent.thinking.previous\": previousLevel,\n\t\t\"agent.thinking.new\": newLevel,\n\t});\n}\n\n/**\n * Records a session start event.\n */\nexport function recordSessionStart(\n\tsessionId: string,\n\tmodelId: string,\n\tprovider: string,\n): void {\n\trecordAgentEvent(\"session_start\", {\n\t\t\"agent.session.id\": sessionId,\n\t\t\"agent.model.id\": modelId,\n\t\t\"agent.model.provider\": provider,\n\t});\n}\n\n/**\n * Records a session end event.\n */\nexport function recordSessionEnd(\n\tsessionId: string,\n\tmessageCount: number,\n\ttotalCost: number,\n): void {\n\trecordAgentEvent(\"session_end\", {\n\t\t\"agent.session.id\": sessionId,\n\t\t\"agent.session.message_count\": messageCount,\n\t\t\"agent.session.total_cost\": totalCost,\n\t});\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"create-provider-stream.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/create-provider-stream.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACX,GAAG,EACH,qBAAqB,EACrB,OAAO,EACP,KAAK,EACL,eAAe,EACf,aAAa,EACb,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;CAC1D;AAED;;;;;GAKG;AACH,wBAAuB,oBAAoB,CAC1C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,gBAAgB,GACzB,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,CA4EtD"}
1
+ {"version":3,"file":"create-provider-stream.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/create-provider-stream.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACX,GAAG,EACH,qBAAqB,EACrB,OAAO,EACP,KAAK,EACL,eAAe,EACf,aAAa,EACb,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,gBAAgB;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,IAAI,CAAC;CAC1D;AAED;;;;;GAKG;AACH,wBAAuB,oBAAoB,CAC1C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,gBAAgB,GACzB,cAAc,CAAC,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,CAkGtD"}
@@ -12,6 +12,11 @@
12
12
  * Provider modules are loaded lazily on first use to improve startup performance.
13
13
  */
14
14
  export async function* createProviderStream(model, context, options, reasoning) {
15
+ if (model.api === "scripted-replay") {
16
+ const { streamScriptedReplay } = await import("../providers/scripted.js");
17
+ yield* streamScriptedReplay(model, context, options);
18
+ return;
19
+ }
15
20
  if (model.api === "anthropic-messages") {
16
21
  const { streamAnthropic } = await import("../providers/anthropic.js");
17
22
  yield* streamAnthropic(model, context, {
@@ -38,6 +43,15 @@ export async function* createProviderStream(model, context, options, reasoning)
38
43
  });
39
44
  return;
40
45
  }
46
+ if (model.api === "openai-codex-app-server") {
47
+ const { streamCodexAppServer } = await import("../providers/codex-app-server.js");
48
+ yield* streamCodexAppServer(model, context, {
49
+ ...options,
50
+ reasoningEffort: reasoning.reasoning,
51
+ reasoningSummary: reasoning.reasoningSummary,
52
+ });
53
+ return;
54
+ }
41
55
  if (model.api === "google-generative-ai") {
42
56
  const { streamGoogle } = await import("../providers/google.js");
43
57
  yield* streamGoogle(model, context, {
@@ -1 +1 @@
1
- {"version":3,"file":"create-provider-stream.js","sourceRoot":"","sources":["../../../src/agent/transport/create-provider-stream.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAC1C,KAAiB,EACjB,OAAgB,EAChB,OAAsB,EACtB,SAA2B;IAE3B,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,EAAE,CAAC;QACxC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QACtE,KAAK,CAAC,CAAC,eAAe,CAAC,KAAoC,EAAE,OAAO,EAAE;YACrE,GAAG,OAAO;YACV,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,IAAI,KAAK,CAAC,GAAG,KAAK,kBAAkB,EAAE,CAAC;QAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAChE,KAAK,CAAC,CAAC,YAAY,CAClB,KAAyD,EACzD,OAAO,EACP;YACC,GAAG,OAAO;YACV,eAAe,EAAE,SAAS,CAAC,SAAS;YACpC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;SAC5C,CACD,CAAC;QACF,OAAO;IACR,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,KAAK,wBAAwB,EAAE,CAAC;QAC5C,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAClD,wCAAwC,CACxC,CAAC;QACF,KAAK,CAAC,CAAC,0BAA0B,CAChC,KAAwC,EACxC,OAAO,EACP;YACC,GAAG,OAAO;YACV,eAAe,EAAE,SAAS,CAAC,SAAS;YACpC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;SAC5C,CACD,CAAC;QACF,OAAO;IACR,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,KAAK,sBAAsB,EAAE,CAAC;QAC1C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAChE,KAAK,CAAC,CAAC,YAAY,CAAC,KAAsC,EAAE,OAAO,EAAE;YACpE,GAAG,OAAO;YACV,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,KAAK,mBAAmB,EAAE,CAAC;QACvC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAC7C,mCAAmC,CACnC,CAAC;QACF,KAAK,CAAC,CAAC,qBAAqB,CAAC,KAAmC,EAAE,OAAO,EAAE;YAC1E,GAAG,OAAO;YACV,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,KAAK,kBAAkB,EAAE,CAAC;QACtC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAClE,KAAK,CAAC,CAAC,aAAa,CAAC,KAAkC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3E,OAAO;IACR,CAAC;IAED,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;QAC/B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAChE,KAAK,CAAC,CAAC,YAAY,CAAC,KAA2B,EAAE,OAAO,EAAE;YACzD,GAAG,OAAO;YACV,QAAQ,EAAE,SAAS,CAAC,SAAS;SAC7B,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC","sourcesContent":["/**\n * Provider Stream Dispatch\n * Routes model API type to the appropriate streaming provider implementation.\n *\n * Uses lazy loading via dynamic imports to avoid loading all provider SDKs\n * at startup. Each provider module is loaded on first use and cached.\n */\n\nimport type {\n\tApi,\n\tAssistantMessageEvent,\n\tContext,\n\tModel,\n\tReasoningEffort,\n\tStreamOptions,\n} from \"../types.js\";\n\nexport interface ReasoningOptions {\n\treasoning?: ReasoningEffort;\n\treasoningSummary?: \"auto\" | \"detailed\" | \"concise\" | null;\n}\n\n/**\n * Create a provider stream based on the model's API type.\n * Dispatches to the appropriate streaming implementation.\n *\n * Provider modules are loaded lazily on first use to improve startup performance.\n */\nexport async function* createProviderStream(\n\tmodel: Model<Api>,\n\tcontext: Context,\n\toptions: StreamOptions,\n\treasoning: ReasoningOptions,\n): AsyncGenerator<AssistantMessageEvent, void, unknown> {\n\tif (model.api === \"anthropic-messages\") {\n\t\tconst { streamAnthropic } = await import(\"../providers/anthropic.js\");\n\t\tyield* streamAnthropic(model as Model<\"anthropic-messages\">, context, {\n\t\t\t...options,\n\t\t\tthinking: reasoning.reasoning,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (model.api === \"openai-completions\" || model.api === \"openai-responses\") {\n\t\tconst { streamOpenAI } = await import(\"../providers/openai.js\");\n\t\tyield* streamOpenAI(\n\t\t\tmodel as Model<\"openai-completions\" | \"openai-responses\">,\n\t\t\tcontext,\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\treasoningEffort: reasoning.reasoning,\n\t\t\t\treasoningSummary: reasoning.reasoningSummary,\n\t\t\t},\n\t\t);\n\t\treturn;\n\t}\n\n\tif (model.api === \"openai-codex-responses\") {\n\t\tconst { streamOpenAICodexResponses } = await import(\n\t\t\t\"../providers/openai-codex-responses.js\"\n\t\t);\n\t\tyield* streamOpenAICodexResponses(\n\t\t\tmodel as Model<\"openai-codex-responses\">,\n\t\t\tcontext,\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\treasoningEffort: reasoning.reasoning,\n\t\t\t\treasoningSummary: reasoning.reasoningSummary,\n\t\t\t},\n\t\t);\n\t\treturn;\n\t}\n\n\tif (model.api === \"google-generative-ai\") {\n\t\tconst { streamGoogle } = await import(\"../providers/google.js\");\n\t\tyield* streamGoogle(model as Model<\"google-generative-ai\">, context, {\n\t\t\t...options,\n\t\t\tthinking: reasoning.reasoning,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (model.api === \"google-gemini-cli\") {\n\t\tconst { streamGoogleGeminiCli } = await import(\n\t\t\t\"../providers/google-gemini-cli.js\"\n\t\t);\n\t\tyield* streamGoogleGeminiCli(model as Model<\"google-gemini-cli\">, context, {\n\t\t\t...options,\n\t\t\tthinking: reasoning.reasoning,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (model.api === \"bedrock-converse\") {\n\t\tconst { streamBedrock } = await import(\"../providers/bedrock.js\");\n\t\tyield* streamBedrock(model as Model<\"bedrock-converse\">, context, options);\n\t\treturn;\n\t}\n\n\tif (model.api === \"vertex-ai\") {\n\t\tconst { streamVertex } = await import(\"../providers/vertex.js\");\n\t\tyield* streamVertex(model as Model<\"vertex-ai\">, context, {\n\t\t\t...options,\n\t\t\tthinking: reasoning.reasoning,\n\t\t});\n\t\treturn;\n\t}\n\n\tthrow new Error(`Unsupported API: ${model.api}`);\n}\n"]}
1
+ {"version":3,"file":"create-provider-stream.js","sourceRoot":"","sources":["../../../src/agent/transport/create-provider-stream.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Provider Stream Dispatch\n * Routes model API type to the appropriate streaming provider implementation.\n *\n * Uses lazy loading via dynamic imports to avoid loading all provider SDKs\n * at startup. Each provider module is loaded on first use and cached.\n */\n\nimport type {\n\tApi,\n\tAssistantMessageEvent,\n\tContext,\n\tModel,\n\tReasoningEffort,\n\tStreamOptions,\n} from \"../types.js\";\n\nexport interface ReasoningOptions {\n\treasoning?: ReasoningEffort;\n\treasoningSummary?: \"auto\" | \"detailed\" | \"concise\" | null;\n}\n\n/**\n * Create a provider stream based on the model's API type.\n * Dispatches to the appropriate streaming implementation.\n *\n * Provider modules are loaded lazily on first use to improve startup performance.\n */\nexport async function* createProviderStream(\n\tmodel: Model<Api>,\n\tcontext: Context,\n\toptions: StreamOptions,\n\treasoning: ReasoningOptions,\n): AsyncGenerator<AssistantMessageEvent, void, unknown> {\n\tif (model.api === \"scripted-replay\") {\n\t\tconst { streamScriptedReplay } = await import(\"../providers/scripted.js\");\n\t\tyield* streamScriptedReplay(model, context, options);\n\t\treturn;\n\t}\n\n\tif (model.api === \"anthropic-messages\") {\n\t\tconst { streamAnthropic } = await import(\"../providers/anthropic.js\");\n\t\tyield* streamAnthropic(model as Model<\"anthropic-messages\">, context, {\n\t\t\t...options,\n\t\t\tthinking: reasoning.reasoning,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (model.api === \"openai-completions\" || model.api === \"openai-responses\") {\n\t\tconst { streamOpenAI } = await import(\"../providers/openai.js\");\n\t\tyield* streamOpenAI(\n\t\t\tmodel as Model<\"openai-completions\" | \"openai-responses\">,\n\t\t\tcontext,\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\treasoningEffort: reasoning.reasoning,\n\t\t\t\treasoningSummary: reasoning.reasoningSummary,\n\t\t\t},\n\t\t);\n\t\treturn;\n\t}\n\n\tif (model.api === \"openai-codex-responses\") {\n\t\tconst { streamOpenAICodexResponses } = await import(\n\t\t\t\"../providers/openai-codex-responses.js\"\n\t\t);\n\t\tyield* streamOpenAICodexResponses(\n\t\t\tmodel as Model<\"openai-codex-responses\">,\n\t\t\tcontext,\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\treasoningEffort: reasoning.reasoning,\n\t\t\t\treasoningSummary: reasoning.reasoningSummary,\n\t\t\t},\n\t\t);\n\t\treturn;\n\t}\n\n\tif (model.api === \"openai-codex-app-server\") {\n\t\tconst { streamCodexAppServer } = await import(\n\t\t\t\"../providers/codex-app-server.js\"\n\t\t);\n\t\tyield* streamCodexAppServer(\n\t\t\tmodel as Model<\"openai-codex-app-server\">,\n\t\t\tcontext,\n\t\t\t{\n\t\t\t\t...options,\n\t\t\t\treasoningEffort: reasoning.reasoning,\n\t\t\t\treasoningSummary: reasoning.reasoningSummary,\n\t\t\t},\n\t\t);\n\t\treturn;\n\t}\n\n\tif (model.api === \"google-generative-ai\") {\n\t\tconst { streamGoogle } = await import(\"../providers/google.js\");\n\t\tyield* streamGoogle(model as Model<\"google-generative-ai\">, context, {\n\t\t\t...options,\n\t\t\tthinking: reasoning.reasoning,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (model.api === \"google-gemini-cli\") {\n\t\tconst { streamGoogleGeminiCli } = await import(\n\t\t\t\"../providers/google-gemini-cli.js\"\n\t\t);\n\t\tyield* streamGoogleGeminiCli(model as Model<\"google-gemini-cli\">, context, {\n\t\t\t...options,\n\t\t\tthinking: reasoning.reasoning,\n\t\t});\n\t\treturn;\n\t}\n\n\tif (model.api === \"bedrock-converse\") {\n\t\tconst { streamBedrock } = await import(\"../providers/bedrock.js\");\n\t\tyield* streamBedrock(model as Model<\"bedrock-converse\">, context, options);\n\t\treturn;\n\t}\n\n\tif (model.api === \"vertex-ai\") {\n\t\tconst { streamVertex } = await import(\"../providers/vertex.js\");\n\t\tyield* streamVertex(model as Model<\"vertex-ai\">, context, {\n\t\t\t...options,\n\t\t\tthinking: reasoning.reasoning,\n\t\t});\n\t\treturn;\n\t}\n\n\tthrow new Error(`Unsupported API: ${model.api}`);\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export declare function stableStringify(value: unknown): string;
2
+ //# sourceMappingURL=stable-stringify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stable-stringify.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/stable-stringify.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAYtD"}
@@ -0,0 +1,14 @@
1
+ export function stableStringify(value) {
2
+ if (Array.isArray(value)) {
3
+ return `[${value.map((item) => stableStringify(item)).join(",")}]`;
4
+ }
5
+ if (value && typeof value === "object") {
6
+ return `{${Object.entries(value)
7
+ .filter(([, item]) => typeof item !== "undefined")
8
+ .sort(([left], [right]) => left.localeCompare(right))
9
+ .map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)
10
+ .join(",")}}`;
11
+ }
12
+ return JSON.stringify(value) ?? "undefined";
13
+ }
14
+ //# sourceMappingURL=stable-stringify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stable-stringify.js","sourceRoot":"","sources":["../../../src/agent/transport/stable-stringify.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,KAAc;IAC7C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aACzD,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,WAAW,CAAC;aACjD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;aACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;AAC7C,CAAC","sourcesContent":["export function stableStringify(value: unknown): string {\n\tif (Array.isArray(value)) {\n\t\treturn `[${value.map((item) => stableStringify(item)).join(\",\")}]`;\n\t}\n\tif (value && typeof value === \"object\") {\n\t\treturn `{${Object.entries(value as Record<string, unknown>)\n\t\t\t.filter(([, item]) => typeof item !== \"undefined\")\n\t\t\t.sort(([left], [right]) => left.localeCompare(right))\n\t\t\t.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)\n\t\t\t.join(\",\")}}`;\n\t}\n\treturn JSON.stringify(value) ?? \"undefined\";\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tool-execution-bridge.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-execution-bridge.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution-bridge.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { MAESTRO_PLATFORM_RUNTIME_BRIDGE_KILL_SWITCH, isFeatureFlagEnabled, isPlatformRuntimeObserveEnabled, isPlatformToolExecutionBridgeEnabled, } from "../../config/feature-flags.js";
2
2
  import { executeToolWithPlatform, recordToolExecutionOutputWithPlatform, resolveToolExecutionServiceConfig, resumeToolExecutionWithPlatform, } from "../../platform/tool-execution-client.js";
3
3
  import { isReadOnlyTool } from "../../tools/parallel-execution.js";
4
+ import { isAbortError } from "../../utils/abort-error.js";
4
5
  import { createLogger } from "../../utils/logger.js";
6
+ import { stableStringify } from "./stable-stringify.js";
5
7
  const logger = createLogger("transport:tool-execution-bridge");
6
8
  const OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH = 280;
7
9
  const METADATA_VALUE_MAX_LENGTH = 512;
@@ -225,18 +227,6 @@ function classifyToolExecution(toolCall, toolDef, rollout) {
225
227
  },
226
228
  };
227
229
  }
228
- function stableStringify(value) {
229
- if (Array.isArray(value)) {
230
- return `[${value.map((item) => stableStringify(item)).join(",")}]`;
231
- }
232
- if (value && typeof value === "object") {
233
- return `{${Object.entries(value)
234
- .sort(([left], [right]) => left.localeCompare(right))
235
- .map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)
236
- .join(",")}}`;
237
- }
238
- return JSON.stringify(value);
239
- }
240
230
  function cloneRecord(value) {
241
231
  return JSON.parse(JSON.stringify(value));
242
232
  }
@@ -663,7 +653,4 @@ export function buildObservedResultMetadata(plan, observation) {
663
653
  plan.metadata.approvalRequestId,
664
654
  };
665
655
  }
666
- function isAbortError(error) {
667
- return error instanceof Error && error.name === "AbortError";
668
- }
669
656
  //# sourceMappingURL=tool-execution-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-execution-bridge.js","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,2CAA2C,EAC3C,oBAAoB,EACpB,+BAA+B,EAC/B,oCAAoC,GACpC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAWN,uBAAuB,EACvB,qCAAqC,EACrC,iCAAiC,EACjC,+BAA+B,GAC/B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAYrD,MAAM,MAAM,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAE/D,MAAM,iCAAiC,GAAG,GAAG,CAAC;AAC9C,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,uBAAuB,GAAG;IAC/B,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,KAAK;IACL,MAAM;IACN,UAAU;IACV,SAAS;IACT,eAAe;IACf,eAAe;IACf,UAAU;IACV,YAAY;IACZ,MAAM;IACN,MAAM;IACN,IAAI;IACJ,KAAK;IACL,UAAU;IACV,IAAI;IACJ,IAAI;IACJ,QAAQ;IACR,MAAM;IACN,OAAO;CACP,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AAEtC,MAAM,qBAAqB,GAAG;IAC7B,YAAY;IACZ,YAAY;IACZ,SAAS;IACT,uIAAuI;IACvI,YAAY;IACZ,SAAS;IACT,uDAAuD;IACvD,yCAAyC;IACzC,iBAAiB;IACjB,SAAS;IACT,eAAe;IACf,UAAU;IACV,YAAY;IACZ,0CAA0C;IAC1C,wCAAwC;IACxC,0DAA0D;IAC1D,yCAAyC;IACzC,iBAAiB;CACR,CAAC;AAEX,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC;IACzC,OAAO;IACP,QAAQ;IACR,UAAU;IACV,eAAe;IACf,aAAa;IACb,aAAa;IACb,WAAW;IACX,IAAI;IACJ,IAAI;IACJ,IAAI;CACJ,CAAC,CAAC;AAwFH,SAAS,UAAU,CAAC,KAAyB;IAC5C,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,WAAW,CAAC,KAAwB;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5C,IAAI,KAAK,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,KAAyB;IAC/C,mHAAmH;IACnH,MAAM,UAAU,GAAG,KAAK,EAAE,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,IAAI,yBAAyB,EAAE,CAAC;QACjD,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC;IACrB,MAAM,eAAe,GAAG,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAC;IAClE,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;YACnD,MAAM;QACP,CAAC;QACD,MAAM,IAAI,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAwB;IACpD,OAAO,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,0BAA0B;IAClC,IAAI,CAAC;QACJ,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe;IAChD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC;AAClD,CAAC;AAED,SAAS,qBAAqB,CAAC,OAAe;IAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACtE,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACvE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,uBAAuB,CAAC,IAAI,CAClC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,KAAK,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CACxE,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAkB;IACrD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAChB,CAAC,GAAG,EAAE,EAAE,CACP,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC;QAClC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;QAC3B,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,CAC1B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAe;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACzC,IACC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;QAChC,mCAAmC,CAAC,IAAI,CAAC,UAAU,CAAC;QACpD,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC;QACrC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,0BAA0B,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1C,CAAC;QACF,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IACD,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;AAC9E,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,sBAAsB,CAC9B,IAAY;IAEZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO;QACN,MAAM;QACN,IAAI,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC7B,QAAkB,EAClB,OAA8B,EAC9B,OAGC;IAED,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC9B,MAAM,OAAO,GACZ,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAK,QAAQ;YAC7C,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO;YAC5B,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,GACT,UAAU,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QACjE,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACb,CAAC;QACD,OAAO;YACN,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC;YACtC,IAAI,EAAE;gBACL,SAAS,EAAE,SAAS;gBACpB,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;gBACxC,UAAU,EAAE,mBAAmB;gBAC/B,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO;gBAChE,UAAU,EAAE,UAAU;gBACtB,eAAe,EAAE,CAAC,UAAU;aAC5B;SACD,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,IAAI,GAAuB,OAAO,CAAC,eAAe;QACvD,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;IAC/C,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACrE,OAAO;QACN,MAAM,EAAE,KAAK;QACb,IAAI;QACJ,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,iBAAiB;QAC7D,IAAI,EAAE;YACL,SAAS,EAAE,KAAK;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACxC,UAAU,EAAE,OAAO,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC,QAAQ,CAAC,EAAE;YACvG,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,QAAQ;YACpB,eAAe,EAAE,CAAC,QAAQ;SAC1B;QACD,SAAS,EAAE;YACV,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,UAAU,EAAE,OAAO,CAAC,MAAM;YAC1B,YAAY,EAAE,YAAY;SAC1B;KACD,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aACzD,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;aACvE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,WAAW,CAAC,KAA8B;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAA4B,CAAC;AACrE,CAAC;AAED,SAAS,SAAS,CAAC,KAAa;IAC/B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI;QACrB,qCAAqC;QACrC,uCAAuC;QACvC,4BAA4B;KAC5B,EAAE,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACpC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAyB;IAIrD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO;SACzB,MAAM,CACN,CAAC,IAAI,EAA0C,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CACtE;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;IACT,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO;YACN,OAAO,EAAE,MAAM,CAAC,OAAO;gBACtB,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,gBAAgB;YACnB,UAAU,EAAE,EAAE;SACd,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;IAC1D,MAAM,SAAS,GACd,SAAS,CAAC,MAAM,GAAG,iCAAiC;QACnD,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,iCAAiC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK;QAC7E,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO;QACN,OAAO,EAAE,QAAQ,CAAC,IAAI;QACtB,UAAU,EAAE,QAAQ,CAAC,UAAU;KAC/B,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAC1B,MAAyB,EACzB,UAA8B;IAE9B,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG;QAClB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;QAC/C,SAAS,EAAE,MAAM,CAAC,QAAQ;QAC1B,YAAY,EAAE,MAAM,CAAC,UAAU;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO;KACxB,CAAC;IACF,OAAO;QACN,UAAU;QACV,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,WAAW,EAAE,kBAAkB;QAC/B,GAAG,CAAC,UAAU,KAAK,SAAS;YAC3B,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE;YACrD,CAAC,CAAC,EAAE,CAAC;KACN,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACpB,GAAmB,EACnB,QAAkB,EAClB,cAAkC,EAClC,WAAmB;IAEnB,MAAM,SAAS,GACd,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACpE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACzD,OAAO;QACN,WAAW;QACX,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,EACN,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC;YACjC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;YACxC,SAAS;QACV,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,WAAW,EAAE,WAAW,CAAC,CAAC,sBAAsB,CAAC,CAAC;QAClD,MAAM,EAAE,QAAQ,CAAC,EAAE;QACnB,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACtE,OAAO,EAAE,WAAW,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,SAAS;QACtD,SAAS,EAAE,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC;QAC9C,aAAa,EAAE,GAAG,SAAS,IAAI,SAAS,IAAI,QAAQ,CAAC,EAAE,EAAE;KACzD,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CACnC,OAA6B;IAE7B,MAAM,GAAG,GACR,mBAAmB,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,0BAA0B,EAAE,CAAC;IACtE,MAAM,aAAa,GAAG,mBAAmB,CAAC;QACzC,wBAAwB;QACxB,gBAAgB;KAChB,CAAC,CAAC;IACH,MAAM,cAAc,GACnB,mBAAmB,CAAC;QACnB,yBAAyB;QACzB,mBAAmB;QACnB,kBAAkB;KAClB,CAAC,IAAI,aAAa,CAAC;IACrB,MAAM,UAAU,GAAG,mBAAmB,CAAC;QACtC,wBAAwB;QACxB,mBAAmB;QACnB,iBAAiB;KACjB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,mBAAmB,CAAC;QACrC,oBAAoB;QACpB,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,uBAAuB;KACvB,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,mBAAmB,CAAC;QACrC,oBAAoB;QACpB,YAAY;QACZ,eAAe;QACf,uBAAuB;KACvB,CAAC,CAAC;IAEH,OAAO;QACN,GAAG,CAAC,OAAO,CAAC,cAAc;YACzB,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,cAAc,EAAE;YAC7C,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,yBAAyB,EAAE,OAAO,CAAC,MAAM;QACzC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,OAAO,CAAC,aAAa;YACxB,CAAC,CAAC,EAAE,sBAAsB,EAAE,OAAO,CAAC,aAAa,EAAE;YACnD,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvD,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACrB,KAA+B,EAC/B,cAA2C,EAC3C,OAA6B;IAE7B,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAoC,CAAC;IACzE,MAAM,iBAAiB,GACtB,eAAe,CAAC,YAAY,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxE,MAAM,SAAS,GACd,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC1E,MAAM,qBAAqB,GAAG,WAAW,CAAC;QACzC,kCAAkC;QAClC,2BAA2B;KAC3B,CAAC,CAAC;IACH,OAAO;QACN,mBAAmB,EAAE,cAAc,CAAC,IAAI;QACxC,oBAAoB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;QACvC,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,qBAAqB;YACxB,CAAC,CAAC,EAAE,gCAAgC,EAAE,qBAAqB,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,KAAK,CAAC,YAAY;YACrB,CAAC,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,YAAY,EAAE;YAC/C,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,iBAAiB;YAC1B,CAAC,CAAC,EAAE,0BAA0B,EAAE,KAAK,CAAC,iBAAiB,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC;QACN,0BAA0B,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACrD,mBAAmB,EAAE,cAAc,CAAC,MAAM;QAC1C,qCAAqC,EAAE,MAAM,CAC5C,cAAc,CAAC,IAAI,KAAK,UAAU,CAClC;KACD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC3B,KAA+B,EAC/B,MAAkC,EAClC,cAA2C;IAE3C,MAAM,OAAO,GAAG,YAAY,CAC3B,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,QAAQ,EACd,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CACnC,CAAC;IACF,OAAO;QACN,OAAO;QACP,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,GAAG,CAAC,cAAc,CAAC,SAAS;YAC3B,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,SAAS,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACN,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC;QAC3C,SAAS,EAAE,cAAc,CAAC,SAAS;QACnC,WAAW,EAAE;YACZ,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,CAAC;YACjB,UAAU,EAAE,CAAC;YACb,uBAAuB,EAAE,KAAK;SAC9B;QACD,cAAc,EAAE,WAAW,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE;QAC9C,QAAQ,EAAE,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC;KACvD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACxB,cAA2C,EAC3C,MAAkC,EAClC,OAAmC,EACnC,QAAqC;IAErC,OAAO;QACN,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,cAAc;QACd,MAAM;QACN,OAAO;QACP,QAAQ,EAAE;YACT,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;YACtC,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB;SACrE;QACD,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,WAAW;KACzD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC3B,KAA+B,EAC/B,IAA+B,EAC/B,SAAsC;IAEtC,OAAO;QACN,EAAE,EACD,SAAS,CAAC,YAAY,EAAE,iBAAiB;YACzC,IAAI,CAAC,QAAQ,CAAC,iBAAiB;YAC/B,KAAK,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;QAC7B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,IAAI,EAAE,KAAK,CAAC,aAAa;QACzB,MAAM,EACL,SAAS,CAAC,YAAY,EAAE,MAAM;YAC9B,SAAS,CAAC,YAAY;YACtB,6CAA6C;QAC9C,QAAQ,EAAE;YACT,MAAM,EAAE,gBAAgB;YACxB,eAAe,EAAE,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe;YAC9D,iBAAiB,EAChB,SAAS,CAAC,YAAY,EAAE,iBAAiB;gBACzC,IAAI,CAAC,QAAQ,CAAC,iBAAiB;SAChC;KACD,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB;IAChC,OAAO,oBAAoB,CAAC,2CAA2C,CAAC,CAAC;AAC1E,CAAC;AA0BD,MAAM,OAAO,kCAAkC;IAG9C,KAAK,CAAC,OAAO,CACZ,KAA+B,EAC/B,MAAoB;QAEpB,IAAI,wBAAwB,EAAE,EAAE,CAAC;YAChC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,GAAG;YACf,cAAc,EACb,+BAA+B,EAAE;gBACjC,oCAAoC,EAAE;YACvC,eAAe,EAAE,oCAAoC,EAAE;SACvD,CAAC;QACF,MAAM,cAAc,GAAG,qBAAqB,CAC3C,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,OAAO,EACb,OAAO,CACP,CAAC;QACF,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,iCAAiC,EAAE,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QACnE,IAAI,cAAc,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO;gBACN,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,cAAc;oBACd,MAAM;oBACN,OAAO;oBACP,QAAQ,EAAE,EAAE;iBACZ;aACD,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzE,QAAQ,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClC,KAAK,6BAA6B;oBACjC,OAAO;wBACN,MAAM,EAAE,MAAM;wBACd,IAAI;wBACJ,MAAM,EACL,QAAQ,CAAC,SAAS,CAAC,YAAY;4BAC/B,yCAAyC;qBAC1C,CAAC;gBACH,KAAK,uCAAuC;oBAC3C,OAAO;wBACN,MAAM,EAAE,eAAe;wBACvB,IAAI;wBACJ,OAAO,EAAE,mBAAmB,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC;qBAC7D,CAAC;gBACH;oBACC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACnC,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO;gBACN,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,uCAAuC,OAAO,EAAE;aACxD,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,eAAe,CACpB,KAA+B,EAC/B,IAA+B,EAC/B,QAAgC,EAChC,MAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;YAC3D,OAAO,QAAQ,CAAC,QAAQ;gBACvB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC3B,CAAC,CAAC;oBACA,MAAM,EAAE,MAAM;oBACd,IAAI;oBACJ,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,iBAAiB;iBAC5C,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAuC;YACnD,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE;YAChD,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,iBAAiB;YAClD,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EACR,QAAQ,CAAC,UAAU,KAAK,MAAM;gBAC7B,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC;gBAC5C,CAAC,CAAC,QAAQ;YACZ,MAAM,EAAE,QAAQ,CAAC,MAAM;SACvB,CAAC;QACF,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,+BAA+B,CACrD,IAAI,CAAC,MAAM,EACX,OAAO,EACP,MAAM,CACN,CAAC;YACF,MAAM,QAAQ,GAA8B;gBAC3C,GAAG,IAAI;gBACP,QAAQ,EAAE;oBACT,eAAe,EACd,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe;oBACvD,iBAAiB,EAChB,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB;wBAClD,IAAI,CAAC,QAAQ,CAAC,iBAAiB;iBAChC;aACD,CAAC;YACF,QAAQ,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClC,KAAK,6BAA6B,CAAC;gBACnC,KAAK,6BAA6B,CAAC;gBACnC,KAAK,gCAAgC;oBACpC,OAAO;wBACN,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,QAAQ;wBACd,MAAM,EACL,QAAQ,CAAC,SAAS,CAAC,YAAY;4BAC/B,QAAQ,CAAC,MAAM;4BACf,0CAA0C;qBAC3C,CAAC;gBACH;oBACC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7C,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,OAAO,QAAQ,CAAC,QAAQ;gBACvB,CAAC,CAAC;oBACA,MAAM,EAAE,MAAM;oBACd,IAAI;oBACJ,MAAM,EAAE,gDAAgD,OAAO,EAAE;iBACjE;gBACF,CAAC,CAAC;oBACA,MAAM,EAAE,MAAM;oBACd,IAAI;oBACJ,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,oBAAoB,OAAO,GAAG;iBACzD,CAAC;QACL,CAAC;IACF,CAAC;IAED,KAAK,CAAC,iBAAiB,CACtB,IAA8B,EAC9B,MAAyB,EACzB,MAAoB;QAEpB,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,OAAO,GAA+B;YAC3C,GAAG,IAAI,CAAC,OAAO;YACf,QAAQ,EAAE;gBACT,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;gBACxB,mBAAmB,EAAE,SAAS;gBAC9B,qBAAqB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;gBAC9D,4BAA4B,EAAE,OAAO,CAAC,OAAO;gBAC7C,+BAA+B,EAC9B,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;aACtE;SACD,CAAC;QACF,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,uBAAuB,CAC7C,IAAI,CAAC,MAAM,EACX,OAAO,EACP,MAAM,CACN,CAAC;YACF,OAAO;gBACN,QAAQ,EAAE;oBACT,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACtC,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB;iBACrE;aACD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,8CAA8C,EAAE;gBAC3D,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;gBAChC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB;aACvD,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;IACF,CAAC;IAED,KAAK,CAAC,oBAAoB,CACzB,IAA+B,EAC/B,MAAyB,EACzB,UAAmB,EACnB,MAAoB;QAEpB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;QAED,MAAM,OAAO,GAA6C;YACzD,WAAW;YACX,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC;YAC9C,QAAQ,EAAE;gBACT,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;gBACxB,mBAAmB,EAAE,UAAU;gBAC/B,qBAAqB,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW;gBAC9D,oBAAoB,EAAE,MAAM,CAAC,UAAU;aACvC;SACD,CAAC;QACF,IAAI,CAAC;YACJ,MAAM,QAAQ,GAAG,MAAM,qCAAqC,CAC3D,IAAI,CAAC,MAAM,EACX,OAAO,EACP,MAAM,CACN,CAAC;YACF,OAAO;gBACN,QAAQ,EAAE;oBACT,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,WAAW;oBACrD,iBAAiB,EAChB,QAAQ,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB;wBAClD,IAAI,CAAC,QAAQ,CAAC,iBAAiB;iBAChC;aACD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC;YACb,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE;gBAC9D,KAAK,EAAE,OAAO;gBACd,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI;gBAChC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,WAAW;aAC5B,CAAC,CAAC;YACH,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,CAAC;IACF,CAAC;CACD;AAED,IAAI,aAAa,GAAuC,IAAI,CAAC;AAE7D,MAAM,UAAU,qCAAqC;IACpD,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,aAAa,GAAG,IAAI,kCAAkC,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,IAAyC,EACzC,WAAmD;IAEnD,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,OAAO,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC;IACpC,CAAC;IACD,OAAO;QACN,eAAe,EACd,WAAW,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe;QACvE,iBAAiB,EAChB,WAAW,EAAE,QAAQ,CAAC,iBAAiB;YACvC,IAAI,CAAC,QAAQ,CAAC,iBAAiB;KAChC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;AAC9D,CAAC","sourcesContent":["import {\n\tMAESTRO_PLATFORM_RUNTIME_BRIDGE_KILL_SWITCH,\n\tisFeatureFlagEnabled,\n\tisPlatformRuntimeObserveEnabled,\n\tisPlatformToolExecutionBridgeEnabled,\n} from \"../../config/feature-flags.js\";\nimport {\n\ttype ExecutePlatformToolRequest,\n\ttype ExecutePlatformToolResponse,\n\ttype PlatformConnectorRef,\n\ttype PlatformToolExecutionRecord,\n\ttype PlatformToolRef,\n\ttype RecordPlatformToolExecutionOutputRequest,\n\ttype ResumePlatformToolExecutionRequest,\n\ttype ToolExecutionLinkage,\n\ttype ToolExecutionRiskLevel,\n\ttype ToolExecutionServiceConfig,\n\texecuteToolWithPlatform,\n\trecordToolExecutionOutputWithPlatform,\n\tresolveToolExecutionServiceConfig,\n\tresumeToolExecutionWithPlatform,\n} from \"../../platform/tool-execution-client.js\";\nimport { isReadOnlyTool } from \"../../tools/parallel-execution.js\";\nimport { createLogger } from \"../../utils/logger.js\";\nimport type {\n\tActionApprovalDecision,\n\tActionApprovalRequest,\n} from \"../action-approval.js\";\nimport type {\n\tAgentRunConfig,\n\tAgentTool,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.js\";\n\nconst logger = createLogger(\"transport:tool-execution-bridge\");\n\nconst OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH = 280;\nconst METADATA_VALUE_MAX_LENGTH = 512;\nconst READ_ONLY_BASH_PREFIXES = [\n\t\"cat\",\n\t\"cd\",\n\t\"df\",\n\t\"du\",\n\t\"echo\",\n\t\"env\",\n\t\"find\",\n\t\"git diff\",\n\t\"git log\",\n\t\"git remote -v\",\n\t\"git rev-parse\",\n\t\"git show\",\n\t\"git status\",\n\t\"grep\",\n\t\"head\",\n\t\"ls\",\n\t\"pwd\",\n\t\"printenv\",\n\t\"ps\",\n\t\"rg\",\n\t\"sed -n\",\n\t\"tail\",\n\t\"which\",\n].map((value) => value.toLowerCase());\n\nconst BASH_MUTATION_MARKERS = [\n\t/\\bchmod\\b/u,\n\t/\\bchown\\b/u,\n\t/\\bcp\\b/u,\n\t/\\bgit\\s+(add|am|apply|branch|checkout|cherry-pick|clean|commit|merge|mv|pull|push|rebase|reset|restore|revert|rm|stash|switch|tag)\\b/u,\n\t/\\bmkdir\\b/u,\n\t/\\bmv\\b/u,\n\t/\\bnpm\\s+(install|publish|uninstall|update|version)\\b/u,\n\t/\\bpnpm\\s+(add|install|remove|update)\\b/u,\n\t/\\bpython\\b.*-c/u,\n\t/\\brm\\b/u,\n\t/\\bsed\\s+-i\\b/u,\n\t/\\btee\\b/u,\n\t/\\btouch\\b/u,\n\t/\\byarn\\s+(add|install|remove|upgrade)\\b/u,\n\t/\\bbun\\s+(add|install|remove|update)\\b/u,\n\t/\\bkubectl\\s+(apply|create|delete|patch|replace|scale)\\b/u,\n\t/\\bterraform\\s+(apply|destroy|import)\\b/u,\n\t/(^|[^<])>{1,2}/u,\n] as const;\n\nconst READ_ONLY_GIT_BRANCH_ARGS = new Set([\n\t\"--all\",\n\t\"--list\",\n\t\"--merged\",\n\t\"--no-contains\",\n\t\"--no-merged\",\n\t\"--points-at\",\n\t\"--remotes\",\n\t\"-a\",\n\t\"-l\",\n\t\"-r\",\n]);\n\nexport type PlatformBridgeMode = \"observe\" | \"governed\";\n\nexport interface ToolExecutionBridgeMetadata {\n\ttoolExecutionId?: string;\n\tapprovalRequestId?: string;\n}\n\nexport interface ObserveToolExecutionPlan {\n\tkind: \"observe\";\n\tmode: \"observe\";\n\tclassification: ToolExecutionClassification;\n\tconfig: ToolExecutionServiceConfig;\n\trequest: ExecutePlatformToolRequest;\n\tmetadata: ToolExecutionBridgeMetadata;\n}\n\nexport interface GovernedToolExecutionPlan {\n\tkind: \"governed\";\n\tmode: \"governed\";\n\tclassification: ToolExecutionClassification;\n\tconfig: ToolExecutionServiceConfig;\n\trequest: ExecutePlatformToolRequest;\n\tmetadata: ToolExecutionBridgeMetadata;\n\tresumeToken?: string;\n}\n\nexport type ToolExecutionBridgePlan =\n\t| ObserveToolExecutionPlan\n\t| GovernedToolExecutionPlan;\n\nexport type ToolExecutionBridgePreparation =\n\t| {\n\t\t\tstatus: \"skip\";\n\t }\n\t| {\n\t\t\tstatus: \"observe\";\n\t\t\tplan: ObserveToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"allow\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"wait_approval\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t\t\trequest: ActionApprovalRequest;\n\t }\n\t| {\n\t\t\tstatus: \"deny\";\n\t\t\tplan?: GovernedToolExecutionPlan;\n\t\t\treason: string;\n\t };\n\nexport type ToolExecutionBridgeApprovalResolution =\n\t| {\n\t\t\tstatus: \"allow\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"deny\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t\t\treason: string;\n\t };\n\nexport interface ObserveToolExecutionResult {\n\tmetadata: ToolExecutionBridgeMetadata;\n}\n\nexport interface ToolExecutionBridgeInput {\n\tcfg: AgentRunConfig;\n\ttoolCall: ToolCall;\n\ttoolDef?: AgentTool;\n\tsanitizedArgs: Record<string, unknown>;\n\tdisplayName?: string;\n\tsummaryLabel?: string;\n\tactionDescription?: string;\n}\n\ninterface ToolExecutionClassification {\n\tfamily: \"bash\" | \"mcp\";\n\tmode: PlatformBridgeMode;\n\triskLevel: ToolExecutionRiskLevel;\n\ttool: PlatformToolRef;\n\tconnector?: PlatformConnectorRef;\n}\n\nfunction trimString(value: string | undefined): string | undefined {\n\tconst trimmed = value?.trim();\n\treturn trimmed ? trimmed : undefined;\n}\n\nfunction getEnvValue(names: readonly string[]): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = trimString(process.env[name]);\n\t\tif (value) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction metadataValue(value: string | undefined): string | undefined {\n\t// biome-ignore lint/suspicious/noControlCharactersInRegex: metadata must neutralize C0 control characters and DEL.\n\tconst normalized = value?.replace(/[\\x00-\\x1f\\x7f]/gu, \" \");\n\tconst trimmed = trimString(normalized);\n\tif (!trimmed) {\n\t\treturn undefined;\n\t}\n\tif (trimmed.length <= METADATA_VALUE_MAX_LENGTH) {\n\t\treturn trimmed;\n\t}\n\tconst suffix = \"...\";\n\tconst maxPrefixLength = METADATA_VALUE_MAX_LENGTH - suffix.length;\n\tlet prefix = \"\";\n\tfor (const char of trimmed) {\n\t\tif (prefix.length + char.length > maxPrefixLength) {\n\t\t\tbreak;\n\t\t}\n\t\tprefix += char;\n\t}\n\treturn `${prefix.trimEnd()}${suffix}`;\n}\n\nfunction getMetadataEnvValue(names: readonly string[]): string | undefined {\n\treturn metadataValue(getEnvValue(names));\n}\n\nfunction getCurrentWorkingDirectory(): string | undefined {\n\ttry {\n\t\treturn metadataValue(process.cwd());\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nfunction buildShellCommandSummary(command: string): string {\n\tconst normalized = command.replace(/\\s+/gu, \" \").trim();\n\tif (normalized.length <= 96) {\n\t\treturn normalized;\n\t}\n\treturn `${normalized.slice(0, 93).trimEnd()}...`;\n}\n\nfunction isReadOnlyBashCommand(command: string): boolean {\n\tconst normalized = command.replace(/\\s+/gu, \" \").trim().toLowerCase();\n\tif (!normalized) {\n\t\treturn false;\n\t}\n\tif (isReadOnlyGitBranchCommand(normalized)) {\n\t\treturn true;\n\t}\n\tif (BASH_MUTATION_MARKERS.some((pattern) => pattern.test(normalized))) {\n\t\treturn false;\n\t}\n\treturn READ_ONLY_BASH_PREFIXES.some(\n\t\t(prefix) => normalized === prefix || normalized.startsWith(`${prefix} `),\n\t);\n}\n\nfunction isReadOnlyGitBranchCommand(normalized: string): boolean {\n\tconst parts = normalized.split(\" \");\n\tif (parts[0] !== \"git\" || parts[1] !== \"branch\") {\n\t\treturn false;\n\t}\n\tconst args = parts.slice(2);\n\tif (args.length === 0) {\n\t\treturn true;\n\t}\n\treturn args.every(\n\t\t(arg) =>\n\t\t\tREAD_ONLY_GIT_BRANCH_ARGS.has(arg) ||\n\t\t\targ.startsWith(\"--format=\") ||\n\t\t\targ.startsWith(\"--sort=\"),\n\t);\n}\n\nfunction inferBashRiskLevel(command: string): ToolExecutionRiskLevel {\n\tconst normalized = command.toLowerCase();\n\tif (\n\t\t/\\brm\\s+-rf\\b/u.test(normalized) ||\n\t\t/\\bgit\\s+push(\\s+--force|\\s+-f)\\b/u.test(normalized) ||\n\t\t/\\bnpm\\s+publish\\b/u.test(normalized) ||\n\t\t/\\bkubectl\\s+delete\\b/u.test(normalized) ||\n\t\t/\\bterraform\\s+destroy\\b/u.test(normalized)\n\t) {\n\t\treturn \"RISK_LEVEL_CRITICAL\";\n\t}\n\treturn isReadOnlyBashCommand(command) ? \"RISK_LEVEL_LOW\" : \"RISK_LEVEL_HIGH\";\n}\n\nfunction normalizeCapabilitySegment(value: string): string {\n\treturn value.replace(/[^a-zA-Z0-9_.-]/gu, \"_\");\n}\n\nfunction parseBridgeMcpToolName(\n\tname: string,\n): { server: string; tool?: string } | null {\n\tconst parts = name.split(\"__\");\n\tif (parts[0] !== \"mcp\" || parts.length < 2) {\n\t\treturn null;\n\t}\n\tconst server = parts[1];\n\tif (!server) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tserver,\n\t\ttool: parts.length > 2 ? parts.slice(2).join(\"__\") : undefined,\n\t};\n}\n\nfunction classifyToolExecution(\n\ttoolCall: ToolCall,\n\ttoolDef: AgentTool | undefined,\n\trollout: {\n\t\tobserveEnabled: boolean;\n\t\tgovernedEnabled: boolean;\n\t},\n): ToolExecutionClassification | null {\n\tif (!rollout.observeEnabled && !rollout.governedEnabled) {\n\t\treturn null;\n\t}\n\n\tif (toolCall.name === \"bash\") {\n\t\tconst command =\n\t\t\ttypeof toolCall.arguments.command === \"string\"\n\t\t\t\t? toolCall.arguments.command\n\t\t\t\t: \"\";\n\t\tconst isReadOnly = isReadOnlyBashCommand(command);\n\t\tconst mode: PlatformBridgeMode =\n\t\t\tisReadOnly || !rollout.governedEnabled ? \"observe\" : \"governed\";\n\t\tif (mode === \"observe\" && !rollout.observeEnabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\tfamily: \"bash\",\n\t\t\tmode,\n\t\t\triskLevel: inferBashRiskLevel(command),\n\t\t\ttool: {\n\t\t\t\tnamespace: \"maestro\",\n\t\t\t\tname: \"bash\",\n\t\t\t\tversion: process.env.npm_package_version,\n\t\t\t\tcapability: \"maestro.tool.bash\",\n\t\t\t\toperation: command ? buildShellCommandSummary(command) : \"shell\",\n\t\t\t\tidempotent: isReadOnly,\n\t\t\t\tmutatesResource: !isReadOnly,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst mcpTool = parseBridgeMcpToolName(toolCall.name);\n\tif (!mcpTool) {\n\t\treturn null;\n\t}\n\tconst mode: PlatformBridgeMode = rollout.governedEnabled\n\t\t? \"governed\"\n\t\t: \"observe\";\n\tconst toolName = mcpTool.tool ?? toolCall.name;\n\tconst readOnly = isReadOnlyTool(toolCall.name, toolDef?.annotations);\n\treturn {\n\t\tfamily: \"mcp\",\n\t\tmode,\n\t\triskLevel: readOnly ? \"RISK_LEVEL_MEDIUM\" : \"RISK_LEVEL_HIGH\",\n\t\ttool: {\n\t\t\tnamespace: \"mcp\",\n\t\t\tname: toolName,\n\t\t\tversion: process.env.npm_package_version,\n\t\t\tcapability: `mcp.${normalizeCapabilitySegment(mcpTool.server)}.${normalizeCapabilitySegment(toolName)}`,\n\t\t\toperation: toolName,\n\t\t\tidempotent: readOnly,\n\t\t\tmutatesResource: !readOnly,\n\t\t},\n\t\tconnector: {\n\t\t\tproviderId: mcpTool.server,\n\t\t\tresourceId: mcpTool.server,\n\t\t\tresourceKind: \"mcp_server\",\n\t\t},\n\t};\n}\n\nfunction stableStringify(value: unknown): string {\n\tif (Array.isArray(value)) {\n\t\treturn `[${value.map((item) => stableStringify(item)).join(\",\")}]`;\n\t}\n\tif (value && typeof value === \"object\") {\n\t\treturn `{${Object.entries(value as Record<string, unknown>)\n\t\t\t.sort(([left], [right]) => left.localeCompare(right))\n\t\t\t.map(([key, item]) => `${JSON.stringify(key)}:${stableStringify(item)}`)\n\t\t\t.join(\",\")}}`;\n\t}\n\treturn JSON.stringify(value);\n}\n\nfunction cloneRecord(value: Record<string, unknown>): Record<string, unknown> {\n\treturn JSON.parse(JSON.stringify(value)) as Record<string, unknown>;\n}\n\nfunction scrubText(value: string): { text: string; redactions: string[] } {\n\tlet next = value;\n\tconst redactions = new Set<string>();\n\tfor (const pattern of [\n\t\t/\\b(gh[pousr]_[A-Za-z0-9_]{20,})\\b/gu,\n\t\t/\\b(Bearer\\s+[A-Za-z0-9._-]{16,})\\b/giu,\n\t\t/\\b([A-Za-z0-9_-]{32,})\\b/gu,\n\t]) {\n\t\tif (pattern.test(next)) {\n\t\t\tredactions.add(\"secret_like_token\");\n\t\t\tnext = next.replace(pattern, \"[REDACTED]\");\n\t\t}\n\t}\n\treturn { text: next, redactions: [...redactions] };\n}\n\nfunction summarizeToolResult(result: ToolResultMessage): {\n\tsummary: string;\n\tredactions: string[];\n} {\n\tconst text = result.content\n\t\t.filter(\n\t\t\t(part): part is { type: \"text\"; text: string } => part.type === \"text\",\n\t\t)\n\t\t.map((part) => part.text)\n\t\t.join(\"\\n\")\n\t\t.trim();\n\tif (!text) {\n\t\treturn {\n\t\t\tsummary: result.isError\n\t\t\t\t? \"Tool failed without text output\"\n\t\t\t\t: \"Tool completed\",\n\t\t\tredactions: [],\n\t\t};\n\t}\n\tconst firstLine = text.split(/\\r?\\n/u)[0]?.trim() ?? text;\n\tconst shortened =\n\t\tfirstLine.length > OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH\n\t\t\t? `${firstLine.slice(0, OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH - 3).trimEnd()}...`\n\t\t\t: firstLine;\n\tconst scrubbed = scrubText(shortened);\n\treturn {\n\t\tsummary: scrubbed.text,\n\t\tredactions: scrubbed.redactions,\n\t};\n}\n\nfunction buildOutputPayload(\n\tresult: ToolResultMessage,\n\tdurationMs: number | undefined,\n): RecordPlatformToolExecutionOutputRequest[\"output\"] {\n\tconst summary = summarizeToolResult(result);\n\tconst safeOutput = {\n\t\tstatus: result.isError ? \"failed\" : \"succeeded\",\n\t\ttool_name: result.toolName,\n\t\ttool_call_id: result.toolCallId,\n\t\tsummary: summary.summary,\n\t};\n\treturn {\n\t\tsafeOutput,\n\t\tredactions: summary.redactions,\n\t\tcontentType: \"application/json\",\n\t\t...(durationMs !== undefined\n\t\t\t? { durationMs: Math.max(0, Math.round(durationMs)) }\n\t\t\t: {}),\n\t};\n}\n\nfunction buildLinkage(\n\tcfg: AgentRunConfig,\n\ttoolCall: ToolCall,\n\torganizationId: string | undefined,\n\tworkspaceId: string,\n): ToolExecutionLinkage {\n\tconst sessionId =\n\t\ttrimString(cfg.session?.id) ?? getEnvValue([\"MAESTRO_SESSION_ID\"]);\n\tconst agentRunId = getEnvValue([\"MAESTRO_AGENT_RUN_ID\"]);\n\treturn {\n\t\tworkspaceId,\n\t\t...(organizationId ? { organizationId } : {}),\n\t\tagentId:\n\t\t\tgetEnvValue([\"MAESTRO_AGENT_ID\"]) ??\n\t\t\ttrimString(process.env.npm_package_name) ??\n\t\t\t\"maestro\",\n\t\t...(agentRunId ? { runId: agentRunId } : {}),\n\t\tobjectiveId: getEnvValue([\"MAESTRO_OBJECTIVE_ID\"]),\n\t\tstepId: toolCall.id,\n\t\tactorId: trimString(cfg.user?.id) ?? getEnvValue([\"MAESTRO_ACTOR_ID\"]),\n\t\tsurface: getEnvValue([\"MAESTRO_SURFACE\"]) ?? \"maestro\",\n\t\tchannelId: getEnvValue([\"MAESTRO_CHANNEL_ID\"]),\n\t\tcorrelationId: `${sessionId ?? \"session\"}:${toolCall.id}`,\n\t};\n}\n\nfunction buildRuntimeContextMetadata(\n\tlinkage: ToolExecutionLinkage,\n): Record<string, string> {\n\tconst cwd =\n\t\tgetMetadataEnvValue([\"MAESTRO_CWD\"]) ?? getCurrentWorkingDirectory();\n\tconst workspaceRoot = getMetadataEnvValue([\n\t\t\"MAESTRO_WORKSPACE_ROOT\",\n\t\t\"WORKSPACE_ROOT\",\n\t]);\n\tconst repositoryRoot =\n\t\tgetMetadataEnvValue([\n\t\t\t\"MAESTRO_REPOSITORY_ROOT\",\n\t\t\t\"MAESTRO_REPO_ROOT\",\n\t\t\t\"GITHUB_WORKSPACE\",\n\t\t]) ?? workspaceRoot;\n\tconst repository = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_REPOSITORY\",\n\t\t\"GITHUB_REPOSITORY\",\n\t\t\"CI_PROJECT_PATH\",\n\t]);\n\tconst gitBranch = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_BRANCH\",\n\t\t\"GITHUB_HEAD_REF\",\n\t\t\"GITHUB_REF_NAME\",\n\t\t\"CI_COMMIT_REF_NAME\",\n\t\t\"VERCEL_GIT_COMMIT_REF\",\n\t]);\n\tconst gitCommit = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_COMMIT\",\n\t\t\"GITHUB_SHA\",\n\t\t\"CI_COMMIT_SHA\",\n\t\t\"VERCEL_GIT_COMMIT_SHA\",\n\t]);\n\n\treturn {\n\t\t...(linkage.organizationId\n\t\t\t? { organization_id: linkage.organizationId }\n\t\t\t: {}),\n\t\t...(linkage.workspaceId ? { workspace_id: linkage.workspaceId } : {}),\n\t\t...(linkage.runId ? { maestro_agent_run_id: linkage.runId } : {}),\n\t\tmaestro_agent_run_step_id: linkage.stepId,\n\t\t...(linkage.actorId ? { maestro_actor_id: linkage.actorId } : {}),\n\t\t...(linkage.correlationId\n\t\t\t? { maestro_correlation_id: linkage.correlationId }\n\t\t\t: {}),\n\t\t...(cwd ? { maestro_cwd: cwd } : {}),\n\t\t...(workspaceRoot ? { maestro_workspace_root: workspaceRoot } : {}),\n\t\t...(repositoryRoot ? { maestro_repository_root: repositoryRoot } : {}),\n\t\t...(repository ? { maestro_repository: repository } : {}),\n\t\t...(gitBranch ? { maestro_git_branch: gitBranch } : {}),\n\t\t...(gitCommit ? { maestro_git_commit: gitCommit } : {}),\n\t};\n}\n\nfunction buildMetadata(\n\tinput: ToolExecutionBridgeInput,\n\tclassification: ToolExecutionClassification,\n\tlinkage: ToolExecutionLinkage,\n): Record<string, string> {\n\tconst originalArgs = input.toolCall.arguments as Record<string, unknown>;\n\tconst redactedArguments =\n\t\tstableStringify(originalArgs) !== stableStringify(input.sanitizedArgs);\n\tconst sessionId =\n\t\ttrimString(input.cfg.session?.id) ?? getEnvValue([\"MAESTRO_SESSION_ID\"]);\n\tconst remoteRunnerSessionId = getEnvValue([\n\t\t\"MAESTRO_REMOTE_RUNNER_SESSION_ID\",\n\t\t\"MAESTRO_RUNNER_SESSION_ID\",\n\t]);\n\treturn {\n\t\tmaestro_bridge_mode: classification.mode,\n\t\tmaestro_tool_call_id: input.toolCall.id,\n\t\t...buildRuntimeContextMetadata(linkage),\n\t\t...(sessionId ? { maestro_session_id: sessionId } : {}),\n\t\t...(remoteRunnerSessionId\n\t\t\t? { maestro_remote_runner_session_id: remoteRunnerSessionId }\n\t\t\t: {}),\n\t\t...(input.displayName ? { maestro_display_name: input.displayName } : {}),\n\t\t...(input.summaryLabel\n\t\t\t? { maestro_summary_label: input.summaryLabel }\n\t\t\t: {}),\n\t\t...(input.actionDescription\n\t\t\t? { maestro_action_description: input.actionDescription }\n\t\t\t: {}),\n\t\tmaestro_redacted_arguments: String(redactedArguments),\n\t\tmaestro_tool_family: classification.family,\n\t\tmaestro_local_execution_authoritative: String(\n\t\t\tclassification.mode === \"governed\",\n\t\t),\n\t};\n}\n\nfunction buildExecuteRequest(\n\tinput: ToolExecutionBridgeInput,\n\tconfig: ToolExecutionServiceConfig,\n\tclassification: ToolExecutionClassification,\n): ExecutePlatformToolRequest {\n\tconst linkage = buildLinkage(\n\t\tinput.cfg,\n\t\tinput.toolCall,\n\t\tconfig.organizationId,\n\t\tconfig.workspaceId ?? process.cwd(),\n\t);\n\treturn {\n\t\tlinkage,\n\t\ttool: classification.tool,\n\t\t...(classification.connector\n\t\t\t? { connector: classification.connector }\n\t\t\t: {}),\n\t\targuments: cloneRecord(input.sanitizedArgs),\n\t\triskLevel: classification.riskLevel,\n\t\tretryPolicy: {\n\t\t\tmaxAttempts: 1,\n\t\t\tinitialDelayMs: 0,\n\t\t\tmaxDelayMs: 0,\n\t\t\tallowNonIdempotentRetry: false,\n\t\t},\n\t\tidempotencyKey: `maestro:${input.toolCall.id}`,\n\t\tmetadata: buildMetadata(input, classification, linkage),\n\t};\n}\n\nfunction planFromResponse(\n\tclassification: ToolExecutionClassification,\n\tconfig: ToolExecutionServiceConfig,\n\trequest: ExecutePlatformToolRequest,\n\tresponse: ExecutePlatformToolResponse,\n): GovernedToolExecutionPlan {\n\treturn {\n\t\tkind: \"governed\",\n\t\tmode: \"governed\",\n\t\tclassification,\n\t\tconfig,\n\t\trequest,\n\t\tmetadata: {\n\t\t\ttoolExecutionId: response.execution.id,\n\t\t\tapprovalRequestId: response.execution.approvalWait?.approvalRequestId,\n\t\t},\n\t\tresumeToken: response.execution.approvalWait?.resumeToken,\n\t};\n}\n\nfunction waitApprovalRequest(\n\tinput: ToolExecutionBridgeInput,\n\tplan: GovernedToolExecutionPlan,\n\texecution: PlatformToolExecutionRecord,\n): ActionApprovalRequest {\n\treturn {\n\t\tid:\n\t\t\texecution.approvalWait?.approvalRequestId ??\n\t\t\tplan.metadata.approvalRequestId ??\n\t\t\tinput.toolCall.id,\n\t\ttoolName: input.toolCall.name,\n\t\tdisplayName: input.displayName,\n\t\tsummaryLabel: input.summaryLabel,\n\t\tactionDescription: input.actionDescription,\n\t\targs: input.sanitizedArgs,\n\t\treason:\n\t\t\texecution.approvalWait?.reason ??\n\t\t\texecution.errorMessage ??\n\t\t\t\"Approval required by Platform ToolExecution\",\n\t\tplatform: {\n\t\t\tsource: \"tool_execution\",\n\t\t\ttoolExecutionId: execution.id ?? plan.metadata.toolExecutionId,\n\t\t\tapprovalRequestId:\n\t\t\t\texecution.approvalWait?.approvalRequestId ??\n\t\t\t\tplan.metadata.approvalRequestId,\n\t\t},\n\t};\n}\n\nfunction isBridgeGloballyDisabled(): boolean {\n\treturn isFeatureFlagEnabled(MAESTRO_PLATFORM_RUNTIME_BRIDGE_KILL_SWITCH);\n}\n\nexport interface PlatformToolExecutionBridge {\n\tprepare(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgePreparation>;\n\tresolveApproval(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tplan: GovernedToolExecutionPlan,\n\t\tdecision: ActionApprovalDecision,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgeApprovalResolution>;\n\trecordObservation(\n\t\tplan: ObserveToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult>;\n\trecordGovernedOutput(\n\t\tplan: GovernedToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tdurationMs?: number,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult>;\n}\n\nexport class DefaultPlatformToolExecutionBridge\n\timplements PlatformToolExecutionBridge\n{\n\tasync prepare(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgePreparation> {\n\t\tif (isBridgeGloballyDisabled()) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst rollout = {\n\t\t\tobserveEnabled:\n\t\t\t\tisPlatformRuntimeObserveEnabled() ||\n\t\t\t\tisPlatformToolExecutionBridgeEnabled(),\n\t\t\tgovernedEnabled: isPlatformToolExecutionBridgeEnabled(),\n\t\t};\n\t\tconst classification = classifyToolExecution(\n\t\t\tinput.toolCall,\n\t\t\tinput.toolDef,\n\t\t\trollout,\n\t\t);\n\t\tif (!classification) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst config = await resolveToolExecutionServiceConfig();\n\t\tif (!config) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst request = buildExecuteRequest(input, config, classification);\n\t\tif (classification.mode === \"observe\") {\n\t\t\treturn {\n\t\t\t\tstatus: \"observe\",\n\t\t\t\tplan: {\n\t\t\t\t\tkind: \"observe\",\n\t\t\t\t\tmode: \"observe\",\n\t\t\t\t\tclassification,\n\t\t\t\t\tconfig,\n\t\t\t\t\trequest,\n\t\t\t\t\tmetadata: {},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await executeToolWithPlatform(config, request, signal);\n\t\t\tconst plan = planFromResponse(classification, config, request, response);\n\t\t\tswitch (response.execution.state) {\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_DENIED\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason:\n\t\t\t\t\t\t\tresponse.execution.errorMessage ??\n\t\t\t\t\t\t\t\"Action denied by Platform ToolExecution\",\n\t\t\t\t\t};\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_WAITING_APPROVAL\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"wait_approval\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\trequest: waitApprovalRequest(input, plan, response.execution),\n\t\t\t\t\t};\n\t\t\t\tdefault:\n\t\t\t\t\treturn { status: \"allow\", plan };\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn {\n\t\t\t\tstatus: \"deny\",\n\t\t\t\treason: `Platform ToolExecution unavailable: ${message}`,\n\t\t\t};\n\t\t}\n\t}\n\n\tasync resolveApproval(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tplan: GovernedToolExecutionPlan,\n\t\tdecision: ActionApprovalDecision,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgeApprovalResolution> {\n\t\tif (!plan.resumeToken || !plan.metadata.approvalRequestId) {\n\t\t\treturn decision.approved\n\t\t\t\t? { status: \"allow\", plan }\n\t\t\t\t: {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: decision.reason ?? \"Approval denied\",\n\t\t\t\t\t};\n\t\t}\n\t\tconst request: ResumePlatformToolExecutionRequest = {\n\t\t\texecutionId: plan.metadata.toolExecutionId ?? \"\",\n\t\t\tapprovalRequestId: plan.metadata.approvalRequestId,\n\t\t\tresumeToken: plan.resumeToken,\n\t\t\tapproved: decision.approved,\n\t\t\tdecidedBy:\n\t\t\t\tdecision.resolvedBy === \"user\"\n\t\t\t\t\t? (trimString(input.cfg.user?.id) ?? \"user\")\n\t\t\t\t\t: \"policy\",\n\t\t\treason: decision.reason,\n\t\t};\n\t\ttry {\n\t\t\tconst response = await resumeToolExecutionWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\tconst nextPlan: GovernedToolExecutionPlan = {\n\t\t\t\t...plan,\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId:\n\t\t\t\t\t\tresponse.execution.id ?? plan.metadata.toolExecutionId,\n\t\t\t\t\tapprovalRequestId:\n\t\t\t\t\t\tresponse.execution.approvalWait?.approvalRequestId ??\n\t\t\t\t\t\tplan.metadata.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t\tswitch (response.execution.state) {\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_DENIED\":\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_FAILED\":\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_CANCELLED\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan: nextPlan,\n\t\t\t\t\t\treason:\n\t\t\t\t\t\t\tresponse.execution.errorMessage ??\n\t\t\t\t\t\t\tdecision.reason ??\n\t\t\t\t\t\t\t\"Platform ToolExecution denied the action\",\n\t\t\t\t\t};\n\t\t\t\tdefault:\n\t\t\t\t\treturn { status: \"allow\", plan: nextPlan };\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn decision.approved\n\t\t\t\t? {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: `Platform ToolExecution decision sync failed: ${message}`,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: decision.reason ?? `Approval denied (${message})`,\n\t\t\t\t\t};\n\t\t}\n\t}\n\n\tasync recordObservation(\n\t\tplan: ObserveToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult> {\n\t\tconst summary = summarizeToolResult(result);\n\t\tconst request: ExecutePlatformToolRequest = {\n\t\t\t...plan.request,\n\t\t\tmetadata: {\n\t\t\t\t...plan.request.metadata,\n\t\t\t\tmaestro_bridge_mode: \"observe\",\n\t\t\t\tmaestro_local_outcome: result.isError ? \"failed\" : \"succeeded\",\n\t\t\t\tmaestro_local_output_summary: summary.summary,\n\t\t\t\tmaestro_local_output_redactions:\n\t\t\t\t\tsummary.redactions.length > 0 ? summary.redactions.join(\",\") : \"none\",\n\t\t\t},\n\t\t};\n\t\ttry {\n\t\t\tconst response = await executeToolWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId: response.execution.id,\n\t\t\t\t\tapprovalRequestId: response.execution.approvalWait?.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tlogger.warn(\"Failed to record observe-only tool execution\", {\n\t\t\t\terror: message,\n\t\t\t\ttoolName: plan.request.tool.name,\n\t\t\t\ttoolCallId: plan.request.metadata?.maestro_tool_call_id,\n\t\t\t});\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\t}\n\n\tasync recordGovernedOutput(\n\t\tplan: GovernedToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tdurationMs?: number,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult> {\n\t\tconst executionId = plan.metadata.toolExecutionId;\n\t\tif (!executionId) {\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\n\t\tconst request: RecordPlatformToolExecutionOutputRequest = {\n\t\t\texecutionId,\n\t\t\toutput: buildOutputPayload(result, durationMs),\n\t\t\tmetadata: {\n\t\t\t\t...plan.request.metadata,\n\t\t\t\tmaestro_bridge_mode: \"governed\",\n\t\t\t\tmaestro_local_outcome: result.isError ? \"failed\" : \"succeeded\",\n\t\t\t\tmaestro_tool_call_id: result.toolCallId,\n\t\t\t},\n\t\t};\n\t\ttry {\n\t\t\tconst response = await recordToolExecutionOutputWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId: response.execution.id ?? executionId,\n\t\t\t\t\tapprovalRequestId:\n\t\t\t\t\t\tresponse.execution.approvalWait?.approvalRequestId ??\n\t\t\t\t\t\tplan.metadata.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tlogger.warn(\"Failed to record governed tool execution output\", {\n\t\t\t\terror: message,\n\t\t\t\ttoolName: plan.request.tool.name,\n\t\t\t\ttoolCallId: result.toolCallId,\n\t\t\t\ttoolExecutionId: executionId,\n\t\t\t});\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\t}\n}\n\nlet defaultBridge: PlatformToolExecutionBridge | null = null;\n\nexport function getDefaultPlatformToolExecutionBridge(): PlatformToolExecutionBridge {\n\tif (!defaultBridge) {\n\t\tdefaultBridge = new DefaultPlatformToolExecutionBridge();\n\t}\n\treturn defaultBridge;\n}\n\nexport function buildObservedResultMetadata(\n\tplan: ToolExecutionBridgePlan | undefined,\n\tobservation: ObserveToolExecutionResult | undefined,\n): ToolExecutionBridgeMetadata {\n\tif (!plan) {\n\t\treturn observation?.metadata ?? {};\n\t}\n\treturn {\n\t\ttoolExecutionId:\n\t\t\tobservation?.metadata.toolExecutionId ?? plan.metadata.toolExecutionId,\n\t\tapprovalRequestId:\n\t\t\tobservation?.metadata.approvalRequestId ??\n\t\t\tplan.metadata.approvalRequestId,\n\t};\n}\n\nfunction isAbortError(error: unknown): boolean {\n\treturn error instanceof Error && error.name === \"AbortError\";\n}\n"]}
1
+ {"version":3,"file":"tool-execution-bridge.js","sourceRoot":"","sources":["../../../src/agent/transport/tool-execution-bridge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tMAESTRO_PLATFORM_RUNTIME_BRIDGE_KILL_SWITCH,\n\tisFeatureFlagEnabled,\n\tisPlatformRuntimeObserveEnabled,\n\tisPlatformToolExecutionBridgeEnabled,\n} from \"../../config/feature-flags.js\";\nimport {\n\ttype ExecutePlatformToolRequest,\n\ttype ExecutePlatformToolResponse,\n\ttype PlatformConnectorRef,\n\ttype PlatformToolExecutionRecord,\n\ttype PlatformToolRef,\n\ttype RecordPlatformToolExecutionOutputRequest,\n\ttype ResumePlatformToolExecutionRequest,\n\ttype ToolExecutionLinkage,\n\ttype ToolExecutionRiskLevel,\n\ttype ToolExecutionServiceConfig,\n\texecuteToolWithPlatform,\n\trecordToolExecutionOutputWithPlatform,\n\tresolveToolExecutionServiceConfig,\n\tresumeToolExecutionWithPlatform,\n} from \"../../platform/tool-execution-client.js\";\nimport { isReadOnlyTool } from \"../../tools/parallel-execution.js\";\nimport { isAbortError } from \"../../utils/abort-error.js\";\nimport { createLogger } from \"../../utils/logger.js\";\nimport type {\n\tActionApprovalDecision,\n\tActionApprovalRequest,\n} from \"../action-approval.js\";\nimport type {\n\tAgentRunConfig,\n\tAgentTool,\n\tToolCall,\n\tToolResultMessage,\n} from \"../types.js\";\nimport { stableStringify } from \"./stable-stringify.js\";\n\nconst logger = createLogger(\"transport:tool-execution-bridge\");\n\nconst OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH = 280;\nconst METADATA_VALUE_MAX_LENGTH = 512;\nconst READ_ONLY_BASH_PREFIXES = [\n\t\"cat\",\n\t\"cd\",\n\t\"df\",\n\t\"du\",\n\t\"echo\",\n\t\"env\",\n\t\"find\",\n\t\"git diff\",\n\t\"git log\",\n\t\"git remote -v\",\n\t\"git rev-parse\",\n\t\"git show\",\n\t\"git status\",\n\t\"grep\",\n\t\"head\",\n\t\"ls\",\n\t\"pwd\",\n\t\"printenv\",\n\t\"ps\",\n\t\"rg\",\n\t\"sed -n\",\n\t\"tail\",\n\t\"which\",\n].map((value) => value.toLowerCase());\n\nconst BASH_MUTATION_MARKERS = [\n\t/\\bchmod\\b/u,\n\t/\\bchown\\b/u,\n\t/\\bcp\\b/u,\n\t/\\bgit\\s+(add|am|apply|branch|checkout|cherry-pick|clean|commit|merge|mv|pull|push|rebase|reset|restore|revert|rm|stash|switch|tag)\\b/u,\n\t/\\bmkdir\\b/u,\n\t/\\bmv\\b/u,\n\t/\\bnpm\\s+(install|publish|uninstall|update|version)\\b/u,\n\t/\\bpnpm\\s+(add|install|remove|update)\\b/u,\n\t/\\bpython\\b.*-c/u,\n\t/\\brm\\b/u,\n\t/\\bsed\\s+-i\\b/u,\n\t/\\btee\\b/u,\n\t/\\btouch\\b/u,\n\t/\\byarn\\s+(add|install|remove|upgrade)\\b/u,\n\t/\\bbun\\s+(add|install|remove|update)\\b/u,\n\t/\\bkubectl\\s+(apply|create|delete|patch|replace|scale)\\b/u,\n\t/\\bterraform\\s+(apply|destroy|import)\\b/u,\n\t/(^|[^<])>{1,2}/u,\n] as const;\n\nconst READ_ONLY_GIT_BRANCH_ARGS = new Set([\n\t\"--all\",\n\t\"--list\",\n\t\"--merged\",\n\t\"--no-contains\",\n\t\"--no-merged\",\n\t\"--points-at\",\n\t\"--remotes\",\n\t\"-a\",\n\t\"-l\",\n\t\"-r\",\n]);\n\nexport type PlatformBridgeMode = \"observe\" | \"governed\";\n\nexport interface ToolExecutionBridgeMetadata {\n\ttoolExecutionId?: string;\n\tapprovalRequestId?: string;\n}\n\nexport interface ObserveToolExecutionPlan {\n\tkind: \"observe\";\n\tmode: \"observe\";\n\tclassification: ToolExecutionClassification;\n\tconfig: ToolExecutionServiceConfig;\n\trequest: ExecutePlatformToolRequest;\n\tmetadata: ToolExecutionBridgeMetadata;\n}\n\nexport interface GovernedToolExecutionPlan {\n\tkind: \"governed\";\n\tmode: \"governed\";\n\tclassification: ToolExecutionClassification;\n\tconfig: ToolExecutionServiceConfig;\n\trequest: ExecutePlatformToolRequest;\n\tmetadata: ToolExecutionBridgeMetadata;\n\tresumeToken?: string;\n}\n\nexport type ToolExecutionBridgePlan =\n\t| ObserveToolExecutionPlan\n\t| GovernedToolExecutionPlan;\n\nexport type ToolExecutionBridgePreparation =\n\t| {\n\t\t\tstatus: \"skip\";\n\t }\n\t| {\n\t\t\tstatus: \"observe\";\n\t\t\tplan: ObserveToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"allow\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"wait_approval\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t\t\trequest: ActionApprovalRequest;\n\t }\n\t| {\n\t\t\tstatus: \"deny\";\n\t\t\tplan?: GovernedToolExecutionPlan;\n\t\t\treason: string;\n\t };\n\nexport type ToolExecutionBridgeApprovalResolution =\n\t| {\n\t\t\tstatus: \"allow\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t }\n\t| {\n\t\t\tstatus: \"deny\";\n\t\t\tplan: GovernedToolExecutionPlan;\n\t\t\treason: string;\n\t };\n\nexport interface ObserveToolExecutionResult {\n\tmetadata: ToolExecutionBridgeMetadata;\n}\n\nexport interface ToolExecutionBridgeInput {\n\tcfg: AgentRunConfig;\n\ttoolCall: ToolCall;\n\ttoolDef?: AgentTool;\n\tsanitizedArgs: Record<string, unknown>;\n\tdisplayName?: string;\n\tsummaryLabel?: string;\n\tactionDescription?: string;\n}\n\ninterface ToolExecutionClassification {\n\tfamily: \"bash\" | \"mcp\";\n\tmode: PlatformBridgeMode;\n\triskLevel: ToolExecutionRiskLevel;\n\ttool: PlatformToolRef;\n\tconnector?: PlatformConnectorRef;\n}\n\nfunction trimString(value: string | undefined): string | undefined {\n\tconst trimmed = value?.trim();\n\treturn trimmed ? trimmed : undefined;\n}\n\nfunction getEnvValue(names: readonly string[]): string | undefined {\n\tfor (const name of names) {\n\t\tconst value = trimString(process.env[name]);\n\t\tif (value) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction metadataValue(value: string | undefined): string | undefined {\n\t// biome-ignore lint/suspicious/noControlCharactersInRegex: metadata must neutralize C0 control characters and DEL.\n\tconst normalized = value?.replace(/[\\x00-\\x1f\\x7f]/gu, \" \");\n\tconst trimmed = trimString(normalized);\n\tif (!trimmed) {\n\t\treturn undefined;\n\t}\n\tif (trimmed.length <= METADATA_VALUE_MAX_LENGTH) {\n\t\treturn trimmed;\n\t}\n\tconst suffix = \"...\";\n\tconst maxPrefixLength = METADATA_VALUE_MAX_LENGTH - suffix.length;\n\tlet prefix = \"\";\n\tfor (const char of trimmed) {\n\t\tif (prefix.length + char.length > maxPrefixLength) {\n\t\t\tbreak;\n\t\t}\n\t\tprefix += char;\n\t}\n\treturn `${prefix.trimEnd()}${suffix}`;\n}\n\nfunction getMetadataEnvValue(names: readonly string[]): string | undefined {\n\treturn metadataValue(getEnvValue(names));\n}\n\nfunction getCurrentWorkingDirectory(): string | undefined {\n\ttry {\n\t\treturn metadataValue(process.cwd());\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nfunction buildShellCommandSummary(command: string): string {\n\tconst normalized = command.replace(/\\s+/gu, \" \").trim();\n\tif (normalized.length <= 96) {\n\t\treturn normalized;\n\t}\n\treturn `${normalized.slice(0, 93).trimEnd()}...`;\n}\n\nfunction isReadOnlyBashCommand(command: string): boolean {\n\tconst normalized = command.replace(/\\s+/gu, \" \").trim().toLowerCase();\n\tif (!normalized) {\n\t\treturn false;\n\t}\n\tif (isReadOnlyGitBranchCommand(normalized)) {\n\t\treturn true;\n\t}\n\tif (BASH_MUTATION_MARKERS.some((pattern) => pattern.test(normalized))) {\n\t\treturn false;\n\t}\n\treturn READ_ONLY_BASH_PREFIXES.some(\n\t\t(prefix) => normalized === prefix || normalized.startsWith(`${prefix} `),\n\t);\n}\n\nfunction isReadOnlyGitBranchCommand(normalized: string): boolean {\n\tconst parts = normalized.split(\" \");\n\tif (parts[0] !== \"git\" || parts[1] !== \"branch\") {\n\t\treturn false;\n\t}\n\tconst args = parts.slice(2);\n\tif (args.length === 0) {\n\t\treturn true;\n\t}\n\treturn args.every(\n\t\t(arg) =>\n\t\t\tREAD_ONLY_GIT_BRANCH_ARGS.has(arg) ||\n\t\t\targ.startsWith(\"--format=\") ||\n\t\t\targ.startsWith(\"--sort=\"),\n\t);\n}\n\nfunction inferBashRiskLevel(command: string): ToolExecutionRiskLevel {\n\tconst normalized = command.toLowerCase();\n\tif (\n\t\t/\\brm\\s+-rf\\b/u.test(normalized) ||\n\t\t/\\bgit\\s+push(\\s+--force|\\s+-f)\\b/u.test(normalized) ||\n\t\t/\\bnpm\\s+publish\\b/u.test(normalized) ||\n\t\t/\\bkubectl\\s+delete\\b/u.test(normalized) ||\n\t\t/\\bterraform\\s+destroy\\b/u.test(normalized)\n\t) {\n\t\treturn \"RISK_LEVEL_CRITICAL\";\n\t}\n\treturn isReadOnlyBashCommand(command) ? \"RISK_LEVEL_LOW\" : \"RISK_LEVEL_HIGH\";\n}\n\nfunction normalizeCapabilitySegment(value: string): string {\n\treturn value.replace(/[^a-zA-Z0-9_.-]/gu, \"_\");\n}\n\nfunction parseBridgeMcpToolName(\n\tname: string,\n): { server: string; tool?: string } | null {\n\tconst parts = name.split(\"__\");\n\tif (parts[0] !== \"mcp\" || parts.length < 2) {\n\t\treturn null;\n\t}\n\tconst server = parts[1];\n\tif (!server) {\n\t\treturn null;\n\t}\n\treturn {\n\t\tserver,\n\t\ttool: parts.length > 2 ? parts.slice(2).join(\"__\") : undefined,\n\t};\n}\n\nfunction classifyToolExecution(\n\ttoolCall: ToolCall,\n\ttoolDef: AgentTool | undefined,\n\trollout: {\n\t\tobserveEnabled: boolean;\n\t\tgovernedEnabled: boolean;\n\t},\n): ToolExecutionClassification | null {\n\tif (!rollout.observeEnabled && !rollout.governedEnabled) {\n\t\treturn null;\n\t}\n\n\tif (toolCall.name === \"bash\") {\n\t\tconst command =\n\t\t\ttypeof toolCall.arguments.command === \"string\"\n\t\t\t\t? toolCall.arguments.command\n\t\t\t\t: \"\";\n\t\tconst isReadOnly = isReadOnlyBashCommand(command);\n\t\tconst mode: PlatformBridgeMode =\n\t\t\tisReadOnly || !rollout.governedEnabled ? \"observe\" : \"governed\";\n\t\tif (mode === \"observe\" && !rollout.observeEnabled) {\n\t\t\treturn null;\n\t\t}\n\t\treturn {\n\t\t\tfamily: \"bash\",\n\t\t\tmode,\n\t\t\triskLevel: inferBashRiskLevel(command),\n\t\t\ttool: {\n\t\t\t\tnamespace: \"maestro\",\n\t\t\t\tname: \"bash\",\n\t\t\t\tversion: process.env.npm_package_version,\n\t\t\t\tcapability: \"maestro.tool.bash\",\n\t\t\t\toperation: command ? buildShellCommandSummary(command) : \"shell\",\n\t\t\t\tidempotent: isReadOnly,\n\t\t\t\tmutatesResource: !isReadOnly,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst mcpTool = parseBridgeMcpToolName(toolCall.name);\n\tif (!mcpTool) {\n\t\treturn null;\n\t}\n\tconst mode: PlatformBridgeMode = rollout.governedEnabled\n\t\t? \"governed\"\n\t\t: \"observe\";\n\tconst toolName = mcpTool.tool ?? toolCall.name;\n\tconst readOnly = isReadOnlyTool(toolCall.name, toolDef?.annotations);\n\treturn {\n\t\tfamily: \"mcp\",\n\t\tmode,\n\t\triskLevel: readOnly ? \"RISK_LEVEL_MEDIUM\" : \"RISK_LEVEL_HIGH\",\n\t\ttool: {\n\t\t\tnamespace: \"mcp\",\n\t\t\tname: toolName,\n\t\t\tversion: process.env.npm_package_version,\n\t\t\tcapability: `mcp.${normalizeCapabilitySegment(mcpTool.server)}.${normalizeCapabilitySegment(toolName)}`,\n\t\t\toperation: toolName,\n\t\t\tidempotent: readOnly,\n\t\t\tmutatesResource: !readOnly,\n\t\t},\n\t\tconnector: {\n\t\t\tproviderId: mcpTool.server,\n\t\t\tresourceId: mcpTool.server,\n\t\t\tresourceKind: \"mcp_server\",\n\t\t},\n\t};\n}\n\nfunction cloneRecord(value: Record<string, unknown>): Record<string, unknown> {\n\treturn JSON.parse(JSON.stringify(value)) as Record<string, unknown>;\n}\n\nfunction scrubText(value: string): { text: string; redactions: string[] } {\n\tlet next = value;\n\tconst redactions = new Set<string>();\n\tfor (const pattern of [\n\t\t/\\b(gh[pousr]_[A-Za-z0-9_]{20,})\\b/gu,\n\t\t/\\b(Bearer\\s+[A-Za-z0-9._-]{16,})\\b/giu,\n\t\t/\\b([A-Za-z0-9_-]{32,})\\b/gu,\n\t]) {\n\t\tif (pattern.test(next)) {\n\t\t\tredactions.add(\"secret_like_token\");\n\t\t\tnext = next.replace(pattern, \"[REDACTED]\");\n\t\t}\n\t}\n\treturn { text: next, redactions: [...redactions] };\n}\n\nfunction summarizeToolResult(result: ToolResultMessage): {\n\tsummary: string;\n\tredactions: string[];\n} {\n\tconst text = result.content\n\t\t.filter(\n\t\t\t(part): part is { type: \"text\"; text: string } => part.type === \"text\",\n\t\t)\n\t\t.map((part) => part.text)\n\t\t.join(\"\\n\")\n\t\t.trim();\n\tif (!text) {\n\t\treturn {\n\t\t\tsummary: result.isError\n\t\t\t\t? \"Tool failed without text output\"\n\t\t\t\t: \"Tool completed\",\n\t\t\tredactions: [],\n\t\t};\n\t}\n\tconst firstLine = text.split(/\\r?\\n/u)[0]?.trim() ?? text;\n\tconst shortened =\n\t\tfirstLine.length > OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH\n\t\t\t? `${firstLine.slice(0, OBSERVE_OUTPUT_SUMMARY_MAX_LENGTH - 3).trimEnd()}...`\n\t\t\t: firstLine;\n\tconst scrubbed = scrubText(shortened);\n\treturn {\n\t\tsummary: scrubbed.text,\n\t\tredactions: scrubbed.redactions,\n\t};\n}\n\nfunction buildOutputPayload(\n\tresult: ToolResultMessage,\n\tdurationMs: number | undefined,\n): RecordPlatformToolExecutionOutputRequest[\"output\"] {\n\tconst summary = summarizeToolResult(result);\n\tconst safeOutput = {\n\t\tstatus: result.isError ? \"failed\" : \"succeeded\",\n\t\ttool_name: result.toolName,\n\t\ttool_call_id: result.toolCallId,\n\t\tsummary: summary.summary,\n\t};\n\treturn {\n\t\tsafeOutput,\n\t\tredactions: summary.redactions,\n\t\tcontentType: \"application/json\",\n\t\t...(durationMs !== undefined\n\t\t\t? { durationMs: Math.max(0, Math.round(durationMs)) }\n\t\t\t: {}),\n\t};\n}\n\nfunction buildLinkage(\n\tcfg: AgentRunConfig,\n\ttoolCall: ToolCall,\n\torganizationId: string | undefined,\n\tworkspaceId: string,\n): ToolExecutionLinkage {\n\tconst sessionId =\n\t\ttrimString(cfg.session?.id) ?? getEnvValue([\"MAESTRO_SESSION_ID\"]);\n\tconst agentRunId = getEnvValue([\"MAESTRO_AGENT_RUN_ID\"]);\n\treturn {\n\t\tworkspaceId,\n\t\t...(organizationId ? { organizationId } : {}),\n\t\tagentId:\n\t\t\tgetEnvValue([\"MAESTRO_AGENT_ID\"]) ??\n\t\t\ttrimString(process.env.npm_package_name) ??\n\t\t\t\"maestro\",\n\t\t...(agentRunId ? { runId: agentRunId } : {}),\n\t\tobjectiveId: getEnvValue([\"MAESTRO_OBJECTIVE_ID\"]),\n\t\tstepId: toolCall.id,\n\t\tactorId: trimString(cfg.user?.id) ?? getEnvValue([\"MAESTRO_ACTOR_ID\"]),\n\t\tsurface: getEnvValue([\"MAESTRO_SURFACE\"]) ?? \"maestro\",\n\t\tchannelId: getEnvValue([\"MAESTRO_CHANNEL_ID\"]),\n\t\tcorrelationId: `${sessionId ?? \"session\"}:${toolCall.id}`,\n\t};\n}\n\nfunction buildRuntimeContextMetadata(\n\tlinkage: ToolExecutionLinkage,\n): Record<string, string> {\n\tconst cwd =\n\t\tgetMetadataEnvValue([\"MAESTRO_CWD\"]) ?? getCurrentWorkingDirectory();\n\tconst workspaceRoot = getMetadataEnvValue([\n\t\t\"MAESTRO_WORKSPACE_ROOT\",\n\t\t\"WORKSPACE_ROOT\",\n\t]);\n\tconst repositoryRoot =\n\t\tgetMetadataEnvValue([\n\t\t\t\"MAESTRO_REPOSITORY_ROOT\",\n\t\t\t\"MAESTRO_REPO_ROOT\",\n\t\t\t\"GITHUB_WORKSPACE\",\n\t\t]) ?? workspaceRoot;\n\tconst repository = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_REPOSITORY\",\n\t\t\"GITHUB_REPOSITORY\",\n\t\t\"CI_PROJECT_PATH\",\n\t]);\n\tconst gitBranch = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_BRANCH\",\n\t\t\"GITHUB_HEAD_REF\",\n\t\t\"GITHUB_REF_NAME\",\n\t\t\"CI_COMMIT_REF_NAME\",\n\t\t\"VERCEL_GIT_COMMIT_REF\",\n\t]);\n\tconst gitCommit = getMetadataEnvValue([\n\t\t\"MAESTRO_GIT_COMMIT\",\n\t\t\"GITHUB_SHA\",\n\t\t\"CI_COMMIT_SHA\",\n\t\t\"VERCEL_GIT_COMMIT_SHA\",\n\t]);\n\n\treturn {\n\t\t...(linkage.organizationId\n\t\t\t? { organization_id: linkage.organizationId }\n\t\t\t: {}),\n\t\t...(linkage.workspaceId ? { workspace_id: linkage.workspaceId } : {}),\n\t\t...(linkage.runId ? { maestro_agent_run_id: linkage.runId } : {}),\n\t\tmaestro_agent_run_step_id: linkage.stepId,\n\t\t...(linkage.actorId ? { maestro_actor_id: linkage.actorId } : {}),\n\t\t...(linkage.correlationId\n\t\t\t? { maestro_correlation_id: linkage.correlationId }\n\t\t\t: {}),\n\t\t...(cwd ? { maestro_cwd: cwd } : {}),\n\t\t...(workspaceRoot ? { maestro_workspace_root: workspaceRoot } : {}),\n\t\t...(repositoryRoot ? { maestro_repository_root: repositoryRoot } : {}),\n\t\t...(repository ? { maestro_repository: repository } : {}),\n\t\t...(gitBranch ? { maestro_git_branch: gitBranch } : {}),\n\t\t...(gitCommit ? { maestro_git_commit: gitCommit } : {}),\n\t};\n}\n\nfunction buildMetadata(\n\tinput: ToolExecutionBridgeInput,\n\tclassification: ToolExecutionClassification,\n\tlinkage: ToolExecutionLinkage,\n): Record<string, string> {\n\tconst originalArgs = input.toolCall.arguments as Record<string, unknown>;\n\tconst redactedArguments =\n\t\tstableStringify(originalArgs) !== stableStringify(input.sanitizedArgs);\n\tconst sessionId =\n\t\ttrimString(input.cfg.session?.id) ?? getEnvValue([\"MAESTRO_SESSION_ID\"]);\n\tconst remoteRunnerSessionId = getEnvValue([\n\t\t\"MAESTRO_REMOTE_RUNNER_SESSION_ID\",\n\t\t\"MAESTRO_RUNNER_SESSION_ID\",\n\t]);\n\treturn {\n\t\tmaestro_bridge_mode: classification.mode,\n\t\tmaestro_tool_call_id: input.toolCall.id,\n\t\t...buildRuntimeContextMetadata(linkage),\n\t\t...(sessionId ? { maestro_session_id: sessionId } : {}),\n\t\t...(remoteRunnerSessionId\n\t\t\t? { maestro_remote_runner_session_id: remoteRunnerSessionId }\n\t\t\t: {}),\n\t\t...(input.displayName ? { maestro_display_name: input.displayName } : {}),\n\t\t...(input.summaryLabel\n\t\t\t? { maestro_summary_label: input.summaryLabel }\n\t\t\t: {}),\n\t\t...(input.actionDescription\n\t\t\t? { maestro_action_description: input.actionDescription }\n\t\t\t: {}),\n\t\tmaestro_redacted_arguments: String(redactedArguments),\n\t\tmaestro_tool_family: classification.family,\n\t\tmaestro_local_execution_authoritative: String(\n\t\t\tclassification.mode === \"governed\",\n\t\t),\n\t};\n}\n\nfunction buildExecuteRequest(\n\tinput: ToolExecutionBridgeInput,\n\tconfig: ToolExecutionServiceConfig,\n\tclassification: ToolExecutionClassification,\n): ExecutePlatformToolRequest {\n\tconst linkage = buildLinkage(\n\t\tinput.cfg,\n\t\tinput.toolCall,\n\t\tconfig.organizationId,\n\t\tconfig.workspaceId ?? process.cwd(),\n\t);\n\treturn {\n\t\tlinkage,\n\t\ttool: classification.tool,\n\t\t...(classification.connector\n\t\t\t? { connector: classification.connector }\n\t\t\t: {}),\n\t\targuments: cloneRecord(input.sanitizedArgs),\n\t\triskLevel: classification.riskLevel,\n\t\tretryPolicy: {\n\t\t\tmaxAttempts: 1,\n\t\t\tinitialDelayMs: 0,\n\t\t\tmaxDelayMs: 0,\n\t\t\tallowNonIdempotentRetry: false,\n\t\t},\n\t\tidempotencyKey: `maestro:${input.toolCall.id}`,\n\t\tmetadata: buildMetadata(input, classification, linkage),\n\t};\n}\n\nfunction planFromResponse(\n\tclassification: ToolExecutionClassification,\n\tconfig: ToolExecutionServiceConfig,\n\trequest: ExecutePlatformToolRequest,\n\tresponse: ExecutePlatformToolResponse,\n): GovernedToolExecutionPlan {\n\treturn {\n\t\tkind: \"governed\",\n\t\tmode: \"governed\",\n\t\tclassification,\n\t\tconfig,\n\t\trequest,\n\t\tmetadata: {\n\t\t\ttoolExecutionId: response.execution.id,\n\t\t\tapprovalRequestId: response.execution.approvalWait?.approvalRequestId,\n\t\t},\n\t\tresumeToken: response.execution.approvalWait?.resumeToken,\n\t};\n}\n\nfunction waitApprovalRequest(\n\tinput: ToolExecutionBridgeInput,\n\tplan: GovernedToolExecutionPlan,\n\texecution: PlatformToolExecutionRecord,\n): ActionApprovalRequest {\n\treturn {\n\t\tid:\n\t\t\texecution.approvalWait?.approvalRequestId ??\n\t\t\tplan.metadata.approvalRequestId ??\n\t\t\tinput.toolCall.id,\n\t\ttoolName: input.toolCall.name,\n\t\tdisplayName: input.displayName,\n\t\tsummaryLabel: input.summaryLabel,\n\t\tactionDescription: input.actionDescription,\n\t\targs: input.sanitizedArgs,\n\t\treason:\n\t\t\texecution.approvalWait?.reason ??\n\t\t\texecution.errorMessage ??\n\t\t\t\"Approval required by Platform ToolExecution\",\n\t\tplatform: {\n\t\t\tsource: \"tool_execution\",\n\t\t\ttoolExecutionId: execution.id ?? plan.metadata.toolExecutionId,\n\t\t\tapprovalRequestId:\n\t\t\t\texecution.approvalWait?.approvalRequestId ??\n\t\t\t\tplan.metadata.approvalRequestId,\n\t\t},\n\t};\n}\n\nfunction isBridgeGloballyDisabled(): boolean {\n\treturn isFeatureFlagEnabled(MAESTRO_PLATFORM_RUNTIME_BRIDGE_KILL_SWITCH);\n}\n\nexport interface PlatformToolExecutionBridge {\n\tprepare(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgePreparation>;\n\tresolveApproval(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tplan: GovernedToolExecutionPlan,\n\t\tdecision: ActionApprovalDecision,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgeApprovalResolution>;\n\trecordObservation(\n\t\tplan: ObserveToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult>;\n\trecordGovernedOutput(\n\t\tplan: GovernedToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tdurationMs?: number,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult>;\n}\n\nexport class DefaultPlatformToolExecutionBridge\n\timplements PlatformToolExecutionBridge\n{\n\tasync prepare(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgePreparation> {\n\t\tif (isBridgeGloballyDisabled()) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst rollout = {\n\t\t\tobserveEnabled:\n\t\t\t\tisPlatformRuntimeObserveEnabled() ||\n\t\t\t\tisPlatformToolExecutionBridgeEnabled(),\n\t\t\tgovernedEnabled: isPlatformToolExecutionBridgeEnabled(),\n\t\t};\n\t\tconst classification = classifyToolExecution(\n\t\t\tinput.toolCall,\n\t\t\tinput.toolDef,\n\t\t\trollout,\n\t\t);\n\t\tif (!classification) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst config = await resolveToolExecutionServiceConfig();\n\t\tif (!config) {\n\t\t\treturn { status: \"skip\" };\n\t\t}\n\n\t\tconst request = buildExecuteRequest(input, config, classification);\n\t\tif (classification.mode === \"observe\") {\n\t\t\treturn {\n\t\t\t\tstatus: \"observe\",\n\t\t\t\tplan: {\n\t\t\t\t\tkind: \"observe\",\n\t\t\t\t\tmode: \"observe\",\n\t\t\t\t\tclassification,\n\t\t\t\t\tconfig,\n\t\t\t\t\trequest,\n\t\t\t\t\tmetadata: {},\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\ttry {\n\t\t\tconst response = await executeToolWithPlatform(config, request, signal);\n\t\t\tconst plan = planFromResponse(classification, config, request, response);\n\t\t\tswitch (response.execution.state) {\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_DENIED\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason:\n\t\t\t\t\t\t\tresponse.execution.errorMessage ??\n\t\t\t\t\t\t\t\"Action denied by Platform ToolExecution\",\n\t\t\t\t\t};\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_WAITING_APPROVAL\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"wait_approval\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\trequest: waitApprovalRequest(input, plan, response.execution),\n\t\t\t\t\t};\n\t\t\t\tdefault:\n\t\t\t\t\treturn { status: \"allow\", plan };\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn {\n\t\t\t\tstatus: \"deny\",\n\t\t\t\treason: `Platform ToolExecution unavailable: ${message}`,\n\t\t\t};\n\t\t}\n\t}\n\n\tasync resolveApproval(\n\t\tinput: ToolExecutionBridgeInput,\n\t\tplan: GovernedToolExecutionPlan,\n\t\tdecision: ActionApprovalDecision,\n\t\tsignal?: AbortSignal,\n\t): Promise<ToolExecutionBridgeApprovalResolution> {\n\t\tif (!plan.resumeToken || !plan.metadata.approvalRequestId) {\n\t\t\treturn decision.approved\n\t\t\t\t? { status: \"allow\", plan }\n\t\t\t\t: {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: decision.reason ?? \"Approval denied\",\n\t\t\t\t\t};\n\t\t}\n\t\tconst request: ResumePlatformToolExecutionRequest = {\n\t\t\texecutionId: plan.metadata.toolExecutionId ?? \"\",\n\t\t\tapprovalRequestId: plan.metadata.approvalRequestId,\n\t\t\tresumeToken: plan.resumeToken,\n\t\t\tapproved: decision.approved,\n\t\t\tdecidedBy:\n\t\t\t\tdecision.resolvedBy === \"user\"\n\t\t\t\t\t? (trimString(input.cfg.user?.id) ?? \"user\")\n\t\t\t\t\t: \"policy\",\n\t\t\treason: decision.reason,\n\t\t};\n\t\ttry {\n\t\t\tconst response = await resumeToolExecutionWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\tconst nextPlan: GovernedToolExecutionPlan = {\n\t\t\t\t...plan,\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId:\n\t\t\t\t\t\tresponse.execution.id ?? plan.metadata.toolExecutionId,\n\t\t\t\t\tapprovalRequestId:\n\t\t\t\t\t\tresponse.execution.approvalWait?.approvalRequestId ??\n\t\t\t\t\t\tplan.metadata.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t\tswitch (response.execution.state) {\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_DENIED\":\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_FAILED\":\n\t\t\t\tcase \"TOOL_EXECUTION_STATE_CANCELLED\":\n\t\t\t\t\treturn {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan: nextPlan,\n\t\t\t\t\t\treason:\n\t\t\t\t\t\t\tresponse.execution.errorMessage ??\n\t\t\t\t\t\t\tdecision.reason ??\n\t\t\t\t\t\t\t\"Platform ToolExecution denied the action\",\n\t\t\t\t\t};\n\t\t\t\tdefault:\n\t\t\t\t\treturn { status: \"allow\", plan: nextPlan };\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\treturn decision.approved\n\t\t\t\t? {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: `Platform ToolExecution decision sync failed: ${message}`,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tstatus: \"deny\",\n\t\t\t\t\t\tplan,\n\t\t\t\t\t\treason: decision.reason ?? `Approval denied (${message})`,\n\t\t\t\t\t};\n\t\t}\n\t}\n\n\tasync recordObservation(\n\t\tplan: ObserveToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult> {\n\t\tconst summary = summarizeToolResult(result);\n\t\tconst request: ExecutePlatformToolRequest = {\n\t\t\t...plan.request,\n\t\t\tmetadata: {\n\t\t\t\t...plan.request.metadata,\n\t\t\t\tmaestro_bridge_mode: \"observe\",\n\t\t\t\tmaestro_local_outcome: result.isError ? \"failed\" : \"succeeded\",\n\t\t\t\tmaestro_local_output_summary: summary.summary,\n\t\t\t\tmaestro_local_output_redactions:\n\t\t\t\t\tsummary.redactions.length > 0 ? summary.redactions.join(\",\") : \"none\",\n\t\t\t},\n\t\t};\n\t\ttry {\n\t\t\tconst response = await executeToolWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId: response.execution.id,\n\t\t\t\t\tapprovalRequestId: response.execution.approvalWait?.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tlogger.warn(\"Failed to record observe-only tool execution\", {\n\t\t\t\terror: message,\n\t\t\t\ttoolName: plan.request.tool.name,\n\t\t\t\ttoolCallId: plan.request.metadata?.maestro_tool_call_id,\n\t\t\t});\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\t}\n\n\tasync recordGovernedOutput(\n\t\tplan: GovernedToolExecutionPlan,\n\t\tresult: ToolResultMessage,\n\t\tdurationMs?: number,\n\t\tsignal?: AbortSignal,\n\t): Promise<ObserveToolExecutionResult> {\n\t\tconst executionId = plan.metadata.toolExecutionId;\n\t\tif (!executionId) {\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\n\t\tconst request: RecordPlatformToolExecutionOutputRequest = {\n\t\t\texecutionId,\n\t\t\toutput: buildOutputPayload(result, durationMs),\n\t\t\tmetadata: {\n\t\t\t\t...plan.request.metadata,\n\t\t\t\tmaestro_bridge_mode: \"governed\",\n\t\t\t\tmaestro_local_outcome: result.isError ? \"failed\" : \"succeeded\",\n\t\t\t\tmaestro_tool_call_id: result.toolCallId,\n\t\t\t},\n\t\t};\n\t\ttry {\n\t\t\tconst response = await recordToolExecutionOutputWithPlatform(\n\t\t\t\tplan.config,\n\t\t\t\trequest,\n\t\t\t\tsignal,\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tmetadata: {\n\t\t\t\t\ttoolExecutionId: response.execution.id ?? executionId,\n\t\t\t\t\tapprovalRequestId:\n\t\t\t\t\t\tresponse.execution.approvalWait?.approvalRequestId ??\n\t\t\t\t\t\tplan.metadata.approvalRequestId,\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tif (isAbortError(error)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tconst message = error instanceof Error ? error.message : String(error);\n\t\t\tlogger.warn(\"Failed to record governed tool execution output\", {\n\t\t\t\terror: message,\n\t\t\t\ttoolName: plan.request.tool.name,\n\t\t\t\ttoolCallId: result.toolCallId,\n\t\t\t\ttoolExecutionId: executionId,\n\t\t\t});\n\t\t\treturn { metadata: plan.metadata };\n\t\t}\n\t}\n}\n\nlet defaultBridge: PlatformToolExecutionBridge | null = null;\n\nexport function getDefaultPlatformToolExecutionBridge(): PlatformToolExecutionBridge {\n\tif (!defaultBridge) {\n\t\tdefaultBridge = new DefaultPlatformToolExecutionBridge();\n\t}\n\treturn defaultBridge;\n}\n\nexport function buildObservedResultMetadata(\n\tplan: ToolExecutionBridgePlan | undefined,\n\tobservation: ObserveToolExecutionResult | undefined,\n): ToolExecutionBridgeMetadata {\n\tif (!plan) {\n\t\treturn observation?.metadata ?? {};\n\t}\n\treturn {\n\t\ttoolExecutionId:\n\t\t\tobservation?.metadata.toolExecutionId ?? plan.metadata.toolExecutionId,\n\t\tapprovalRequestId:\n\t\t\tobservation?.metadata.approvalRequestId ??\n\t\t\tplan.metadata.approvalRequestId,\n\t};\n}\n"]}
@@ -11,7 +11,7 @@ import type { SafetyMiddleware } from "../../safety/safety-middleware.js";
11
11
  import type { WorkflowStateTracker } from "../../safety/workflow-state.js";
12
12
  import type { Clock } from "../../utils/clock.js";
13
13
  import type { ActionApprovalService } from "../action-approval.js";
14
- import type { AgentEvent, AgentRunConfig, AgentTool, Message, ToolCall, ToolResultMessage } from "../types.js";
14
+ import type { AgentEvent, AgentRunConfig, AgentTool, Message, ToolCall, ToolResultMessage, ToolSchedulingMetadata } from "../types.js";
15
15
  import type { PlatformToolExecutionBridge, ToolExecutionBridgePlan } from "./tool-execution-bridge.js";
16
16
  import { type ToolAuditLogger } from "./transport-utils.js";
17
17
  export type ToolSafetyVerdict = {
@@ -59,6 +59,10 @@ export interface ToolSafetyContext {
59
59
  rateWindowMs: number;
60
60
  rateLimit: number;
61
61
  };
62
+ /** Suppress loop warnings for a transport-managed read-only duplicate while preserving other policy checks. */
63
+ shouldSkipLoopDetection?: (toolCall: ToolCall) => boolean;
64
+ /** Scheduler diagnostics captured before safety hooks mutate the call. */
65
+ schedulingMetadata?: ToolSchedulingMetadata;
62
66
  emitToolResult: (message: ToolResultMessage, toolCall: ToolCall, isError: boolean, metadata?: {
63
67
  toolExecutionId?: string;
64
68
  approvalRequestId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-safety-pipeline.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/tool-safety-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-safety-pipeline.d.ts","sourceRoot":"","sources":["../../../src/agent/transport/tool-safety-pipeline.ts"],"names":[],"mappings":"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"}