@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":"agent-creation-setup.js","sourceRoot":"","sources":["../../src/bootstrap/agent-creation-setup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Creation Setup - Agent instance construction and composer activation.\n *\n * Extracts the Agent factory from main.ts Phase 11:\n * lazy module loaders, session token counter, audit logger,\n * Agent construction, composer initialization, and activation.\n *\n * @module bootstrap/agent-creation-setup\n */\n\nimport chalk from \"chalk\";\nimport type { ActionApprovalService } from \"../agent/action-approval.js\";\nimport {\n\tBackgroundTaskContextSource,\n\tCurrentDateContextSource,\n\tFrameworkPreferenceContextSource,\n\tGitSnapshotContextSource,\n\tIDEContextSource,\n\tLspContextSource,\n\tTeamMemoryContextSource,\n\tTodoContextSource,\n} from \"../agent/context-providers.js\";\nimport { Agent, ProviderTransport } from \"../agent/index.js\";\nimport type { ToolRetryConfig, ToolRetryService } from \"../agent/tool-retry.js\";\nimport type { ClientToolExecutionService } from \"../agent/transport.js\";\nimport type { AgentTool, Api, Model } from \"../agent/types.js\";\nimport { composerManager } from \"../composers/index.js\";\nimport type { PromptMetadata } from \"../prompts/types.js\";\nimport type { AuthCredential } from \"../providers/auth.js\";\nimport type { Sandbox } from \"../sandbox/types.js\";\nimport { createLogger } from \"../utils/logger.js\";\n\nconst logger = createLogger(\"agent-creation\");\n\n// ─── Lazy module loaders ─────────────────────────────────────────────────────\n// These IIFE closures ensure enterprise/billing/db modules are only loaded\n// when actually needed (e.g., enterprise features are enabled).\n\nconst getAuditModule = (() => {\n\tlet promise: Promise<\n\t\ttypeof import(\"../enterprise/audit-integration.js\")\n\t> | null = null;\n\treturn () => {\n\t\tif (!promise) {\n\t\t\tpromise = import(\"../enterprise/audit-integration.js\");\n\t\t}\n\t\treturn promise;\n\t};\n})();\n\nconst getBillingModule = (() => {\n\tlet promise: Promise<typeof import(\"../billing/token-tracker.js\")> | null =\n\t\tnull;\n\treturn () => {\n\t\tif (!promise) {\n\t\t\tpromise = import(\"../billing/token-tracker.js\");\n\t\t}\n\t\treturn promise;\n\t};\n})();\n\nconst getDbModule = (() => {\n\tlet promise: Promise<typeof import(\"../db/client.js\")> | null = null;\n\treturn () => {\n\t\tif (!promise) {\n\t\t\tpromise = import(\"../db/client.js\");\n\t\t}\n\t\treturn promise;\n\t};\n})();\n\n// ─── Public API ──────────────────────────────────────────────────────────────\n\nexport interface AgentCreationResult {\n\tagent: Agent;\n}\n\n/**\n * Create the main Agent instance with enterprise integrations,\n * initialize the composer manager, and optionally activate a composer.\n */\nexport function createAgentInstance(params: {\n\tsystemPrompt: string;\n\tpromptMetadata?: PromptMetadata;\n\tsystemPromptSourcePaths?: string[];\n\tmodel: Model<Api>;\n\treasoningSummary: \"auto\" | \"detailed\" | \"concise\" | null | undefined;\n\tallTools: AgentTool[];\n\tsandbox: Sandbox | undefined;\n\tsandboxMode: string | null | undefined;\n\tapprovalService: ActionApprovalService;\n\ttoolRetryService: ToolRetryService;\n\ttoolRetryConfig?: ToolRetryConfig;\n\tclientToolService?: ClientToolExecutionService;\n\trequireCredential: (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t) => Promise<AuthCredential>;\n\tenterpriseUser?: { id: string; orgId: string };\n\treadonly?: boolean;\n\tcomposer?: string;\n\tcwd: string;\n}): AgentCreationResult {\n\tconst {\n\t\tsystemPrompt,\n\t\tpromptMetadata,\n\t\tsystemPromptSourcePaths,\n\t\tmodel,\n\t\treasoningSummary,\n\t\tallTools,\n\t\tsandbox,\n\t\tsandboxMode,\n\t\tapprovalService,\n\t\ttoolRetryService,\n\t\ttoolRetryConfig,\n\t\tclientToolService,\n\t\trequireCredential,\n\t\tenterpriseUser,\n\t\tcwd,\n\t} = params;\n\n\t// Build session token counter for billing/policy enforcement\n\tconst sessionTokenCounter = async (sessionId: string) => {\n\t\ttry {\n\t\t\tconst { isDatabaseConfigured } = await getDbModule();\n\t\t\tif (!isDatabaseConfigured()) return null;\n\t\t\tconst { getSessionTokenCount } = await getBillingModule();\n\t\t\treturn await getSessionTokenCount(sessionId);\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to get session token count\", {\n\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t});\n\t\t\treturn null;\n\t\t}\n\t};\n\n\t// Build audit logger for enterprise tool execution tracking\n\tconst auditLogger = async (entry: {\n\t\ttoolName: string;\n\t\targs: Record<string, unknown>;\n\t\tstatus: \"success\" | \"failure\" | \"denied\";\n\t\tdurationMs: number;\n\t\terror?: string;\n\t}) => {\n\t\ttry {\n\t\t\tconst { logSensitiveToolExecution } = await getAuditModule();\n\t\t\tawait logSensitiveToolExecution(\n\t\t\t\tentry.toolName,\n\t\t\t\tentry.args,\n\t\t\t\tentry.status,\n\t\t\t\tentry.durationMs,\n\t\t\t\tentry.error,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to log tool execution\", {\n\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\ttoolName: entry.toolName,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst agent = new Agent({\n\t\tinitialState: {\n\t\t\tsystemPrompt,\n\t\t\tpromptMetadata,\n\t\t\tsystemPromptSourcePaths,\n\t\t\tmodel,\n\t\t\tthinkingLevel: \"off\",\n\t\t\treasoningSummary,\n\t\t\ttools: allTools,\n\t\t\tsandbox,\n\t\t\tsandboxMode: sandboxMode ?? null,\n\t\t\tsandboxEnabled: Boolean(sandbox),\n\t\t\tuser: enterpriseUser,\n\t\t},\n\t\ttransport: new ProviderTransport({\n\t\t\tgetAuthContext: (providerName) => requireCredential(providerName, false),\n\t\t\tapprovalService,\n\t\t\ttoolRetryService,\n\t\t\ttoolRetryConfig,\n\t\t\tclientToolService,\n\t\t\tsessionTokenCounter,\n\t\t\tauditLogger,\n\t\t}),\n\t\tcontextSources: [\n\t\t\tnew TodoContextSource(),\n\t\t\tnew BackgroundTaskContextSource(),\n\t\t\tnew CurrentDateContextSource(),\n\t\t\tnew GitSnapshotContextSource(cwd),\n\t\t\tnew LspContextSource(),\n\t\t\tnew FrameworkPreferenceContextSource(),\n\t\t\tnew TeamMemoryContextSource(cwd),\n\t\t\tnew IDEContextSource(),\n\t\t],\n\t});\n\n\t// Initialize composer manager for multi-agent orchestration\n\tcomposerManager.initialize(agent, systemPrompt, allTools, cwd);\n\n\t// Activate composer if specified via CLI flags\n\tif (params.readonly) {\n\t\tconst success = composerManager.activate(\"explore\", cwd);\n\t\tif (!success) {\n\t\t\tconsole.warn(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t'Warning: Could not activate read-only mode. The \"explore\" composer may not be available.',\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t} else if (params.composer) {\n\t\tconst success = composerManager.activate(params.composer, cwd);\n\t\tif (!success) {\n\t\t\tconsole.warn(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t`Warning: Could not activate composer \"${params.composer}\". Check that it exists.`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\treturn { agent };\n}\n"]}
1
+ {"version":3,"file":"agent-creation-setup.js","sourceRoot":"","sources":["../../src/bootstrap/agent-creation-setup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Agent Creation Setup - Agent instance construction and composer activation.\n *\n * Extracts the Agent factory from main.ts Phase 11:\n * lazy module loaders, session token counter, audit logger,\n * Agent construction, composer initialization, and activation.\n *\n * @module bootstrap/agent-creation-setup\n */\n\nimport chalk from \"chalk\";\nimport type { ActionApprovalService } from \"../agent/action-approval.js\";\nimport {\n\tBackgroundTaskContextSource,\n\tCurrentDateContextSource,\n\tFrameworkPreferenceContextSource,\n\tGitSnapshotContextSource,\n\tIDEContextSource,\n\tLspContextSource,\n\tTeamMemoryContextSource,\n\tTodoContextSource,\n} from \"../agent/context-providers.js\";\nimport { Agent, ProviderTransport } from \"../agent/index.js\";\nimport type { ToolRetryConfig, ToolRetryService } from \"../agent/tool-retry.js\";\nimport type { ClientToolExecutionService } from \"../agent/transport.js\";\nimport type { AgentTool, Api, Model } from \"../agent/types.js\";\nimport { composerManager } from \"../composers/index.js\";\nimport type { PromptProjectDocManifest } from \"../config/index.js\";\nimport type { UnifiedContextManifest } from \"../context/manifest-types.js\";\nimport type { PromptMetadata } from \"../prompts/types.js\";\nimport type { AuthCredential } from \"../providers/auth.js\";\nimport type { Sandbox } from \"../sandbox/types.js\";\nimport { createLogger } from \"../utils/logger.js\";\n\nconst logger = createLogger(\"agent-creation\");\n\n// ─── Lazy module loaders ─────────────────────────────────────────────────────\n// These IIFE closures ensure enterprise/billing/db modules are only loaded\n// when actually needed (e.g., enterprise features are enabled).\n\nconst getAuditModule = (() => {\n\tlet promise: Promise<\n\t\ttypeof import(\"../enterprise/audit-integration.js\")\n\t> | null = null;\n\treturn () => {\n\t\tif (!promise) {\n\t\t\tpromise = import(\"../enterprise/audit-integration.js\");\n\t\t}\n\t\treturn promise;\n\t};\n})();\n\nconst getBillingModule = (() => {\n\tlet promise: Promise<typeof import(\"../billing/token-tracker.js\")> | null =\n\t\tnull;\n\treturn () => {\n\t\tif (!promise) {\n\t\t\tpromise = import(\"../billing/token-tracker.js\");\n\t\t}\n\t\treturn promise;\n\t};\n})();\n\nconst getDbModule = (() => {\n\tlet promise: Promise<typeof import(\"../db/client.js\")> | null = null;\n\treturn () => {\n\t\tif (!promise) {\n\t\t\tpromise = import(\"../db/client.js\");\n\t\t}\n\t\treturn promise;\n\t};\n})();\n\n// ─── Public API ──────────────────────────────────────────────────────────────\n\nexport interface AgentCreationResult {\n\tagent: Agent;\n}\n\n/**\n * Create the main Agent instance with enterprise integrations,\n * initialize the composer manager, and optionally activate a composer.\n */\nexport function createAgentInstance(params: {\n\tsystemPrompt: string;\n\tpromptMetadata?: PromptMetadata;\n\tsystemPromptSourcePaths?: string[];\n\tpromptContextManifest?: PromptProjectDocManifest;\n\tunifiedContextManifest?: UnifiedContextManifest;\n\tmodel: Model<Api>;\n\treasoningSummary: \"auto\" | \"detailed\" | \"concise\" | null | undefined;\n\tallTools: AgentTool[];\n\tsandbox: Sandbox | undefined;\n\tsandboxMode: string | null | undefined;\n\tapprovalService: ActionApprovalService;\n\ttoolRetryService: ToolRetryService;\n\ttoolRetryConfig?: ToolRetryConfig;\n\tclientToolService?: ClientToolExecutionService;\n\trequireCredential: (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t) => Promise<AuthCredential>;\n\tenterpriseUser?: { id: string; orgId: string };\n\treadonly?: boolean;\n\tcomposer?: string;\n\tcwd: string;\n}): AgentCreationResult {\n\tconst {\n\t\tsystemPrompt,\n\t\tpromptMetadata,\n\t\tsystemPromptSourcePaths,\n\t\tpromptContextManifest,\n\t\tunifiedContextManifest,\n\t\tmodel,\n\t\treasoningSummary,\n\t\tallTools,\n\t\tsandbox,\n\t\tsandboxMode,\n\t\tapprovalService,\n\t\ttoolRetryService,\n\t\ttoolRetryConfig,\n\t\tclientToolService,\n\t\trequireCredential,\n\t\tenterpriseUser,\n\t\tcwd,\n\t} = params;\n\n\t// Build session token counter for billing/policy enforcement\n\tconst sessionTokenCounter = async (sessionId: string) => {\n\t\ttry {\n\t\t\tconst { isDatabaseConfigured } = await getDbModule();\n\t\t\tif (!isDatabaseConfigured()) return null;\n\t\t\tconst { getSessionTokenCount } = await getBillingModule();\n\t\t\treturn await getSessionTokenCount(sessionId);\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to get session token count\", {\n\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t});\n\t\t\treturn null;\n\t\t}\n\t};\n\n\t// Build audit logger for enterprise tool execution tracking\n\tconst auditLogger = async (entry: {\n\t\ttoolName: string;\n\t\targs: Record<string, unknown>;\n\t\tstatus: \"success\" | \"failure\" | \"denied\";\n\t\tdurationMs: number;\n\t\terror?: string;\n\t}) => {\n\t\ttry {\n\t\t\tconst { logSensitiveToolExecution } = await getAuditModule();\n\t\t\tawait logSensitiveToolExecution(\n\t\t\t\tentry.toolName,\n\t\t\t\tentry.args,\n\t\t\t\tentry.status,\n\t\t\t\tentry.durationMs,\n\t\t\t\tentry.error,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlogger.warn(\"Failed to log tool execution\", {\n\t\t\t\terror: error instanceof Error ? error.message : String(error),\n\t\t\t\ttoolName: entry.toolName,\n\t\t\t});\n\t\t}\n\t};\n\n\tconst agent = new Agent({\n\t\tinitialState: {\n\t\t\tsystemPrompt,\n\t\t\tpromptMetadata,\n\t\t\tsystemPromptSourcePaths,\n\t\t\tpromptContextManifest,\n\t\t\tunifiedContextManifest,\n\t\t\tmodel,\n\t\t\tthinkingLevel: \"off\",\n\t\t\treasoningSummary,\n\t\t\ttools: allTools,\n\t\t\tsandbox,\n\t\t\tsandboxMode: sandboxMode ?? null,\n\t\t\tsandboxEnabled: Boolean(sandbox),\n\t\t\tuser: enterpriseUser,\n\t\t},\n\t\ttransport: new ProviderTransport({\n\t\t\tgetAuthContext: (providerName) => requireCredential(providerName, false),\n\t\t\tapprovalService,\n\t\t\ttoolRetryService,\n\t\t\ttoolRetryConfig,\n\t\t\tclientToolService,\n\t\t\tsessionTokenCounter,\n\t\t\tauditLogger,\n\t\t}),\n\t\tcontextSources: [\n\t\t\tnew TodoContextSource(),\n\t\t\tnew BackgroundTaskContextSource(),\n\t\t\tnew CurrentDateContextSource(),\n\t\t\tnew GitSnapshotContextSource(cwd),\n\t\t\tnew LspContextSource(),\n\t\t\tnew FrameworkPreferenceContextSource(),\n\t\t\tnew TeamMemoryContextSource(cwd),\n\t\t\tnew IDEContextSource(),\n\t\t],\n\t});\n\n\t// Initialize composer manager for multi-agent orchestration\n\tcomposerManager.initialize(agent, systemPrompt, allTools, cwd);\n\n\t// Activate composer if specified via CLI flags\n\tif (params.readonly) {\n\t\tconst success = composerManager.activate(\"explore\", cwd);\n\t\tif (!success) {\n\t\t\tconsole.warn(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t'Warning: Could not activate read-only mode. The \"explore\" composer may not be available.',\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t} else if (params.composer) {\n\t\tconst success = composerManager.activate(params.composer, cwd);\n\t\tif (!success) {\n\t\t\tconsole.warn(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t`Warning: Could not activate composer \"${params.composer}\". Check that it exists.`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t}\n\n\treturn { agent };\n}\n"]}
@@ -29,7 +29,7 @@ export function validateCodexFlags(args, command) {
29
29
  return false;
30
30
  });
31
31
  if (codexFlagsUsed) {
32
- throw new Error("Legacy Codex/ChatGPT auth flags are no longer supported. Use the openai-codex provider with `maestro codex login` or CODEX_API_KEY instead.");
32
+ throw new Error("Legacy Codex/ChatGPT auth flags are no longer supported. Use the openai-codex provider with `maestro codex login` instead.");
33
33
  }
34
34
  }
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-setup.js","sourceRoot":"","sources":["../../src/bootstrap/auth-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAGN,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACN,8BAA8B,EAC9B,wBAAwB,EACxB,6BAA6B,GAC7B,MAAM,iCAAiC,CAAC;AAkBzC;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAc,EAAE,OAAgB;IAClE,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC/C,IAAI,GAAG,KAAK,iBAAiB,IAAI,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACrE,OAAO,IAAI,CAAC;YACb,CAAC;YACD,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACnE,IAAI,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClD,OAAO,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACd,6IAA6I,CAC7I,CAAC;QACH,CAAC;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAG/B;IACA,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAE5C,MAAM,YAAY,GAAG,kBAAkB,CAAC;QACvC,IAAI,EAAE,QAAQ;QACd,cAAc;KACd,CAAC,CAAC;IAEH,MAAM,qBAAqB,GAAG,CAAC,YAAoB,EAAc,EAAE;QAClE,MAAM,KAAK,GAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,OAAgB,EAAE,EAAE;YAChD,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,IAAI,CACH,6CAA6C,YAAY,GAAG,EAC5D,KAAK,CAAC,GAAG,CAAC,6CAA6C,YAAY,GAAG,CAAC,CACvE,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,SAAS,GACd,YAAY,KAAK,WAAW;gBAC3B,CAAC,CAAC,uFAAuF;gBACzF,CAAC,CAAC,YAAY,KAAK,QAAQ;oBAC1B,CAAC,CAAC,2EAA2E;oBAC7E,CAAC,CAAC,6BAA6B,CAAC,YAAY,CAAC;wBAC3C,CAAC,8BAA8B,EAAE;wBAClC,CAAC,CAAC,yEAAyE;wBAC3E,CAAC,CAAC,wBAAwB,CAAC,YAAY,CAAC;4BACvC,CAAC,CAAC,kFAAkF;4BACpF,CAAC,CAAC,+CAA+C,CAAC;YACvD,IAAI,CACH,GAAG,SAAS,mDAAmD,EAC/D,KAAK,CAAC,GAAG,CACR,GAAG,SAAS,mDAAmD,CAC/D,CACD,CAAC;QACH,CAAC;QACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,IAAI,CACH,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,YAAY,GAAG,EACvE,KAAK,CAAC,GAAG,CACR,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,6BAA6B,YAAY,GAAG,CACvE,CACD,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,UAAU,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;YAC3D,IAAI,UAAU,EAAE,SAAS,EAAE,CAAC;gBAC3B,IAAI,CACH,OAAO,UAAU,CAAC,SAAS,kDAAkD,YAAY,GAAG,EAC5F,KAAK,CAAC,GAAG,CACR,OAAO,UAAU,CAAC,SAAS,kDAAkD,YAAY,GAAG,CAC5F,CACD,CAAC;YACH,CAAC;QACF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,KAAK,EAC9B,YAAoB,EACpB,KAAc,EACY,EAAE;QAC5B,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,UAAU,EAAE,CAAC;YAChB,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;AACrD,CAAC","sourcesContent":["/**\n * Authentication Setup - Credential resolution and validation.\n *\n * Extracts auth-related initialization from main.ts Phase 4:\n * auth mode determination, Codex flag validation, credential resolution,\n * and missing-auth error message building.\n *\n * @module bootstrap/auth-setup\n */\n\nimport chalk from \"chalk\";\nimport { getCustomProviderMetadata } from \"../models/registry.js\";\nimport { getEnvVarsForProvider } from \"../providers/api-keys.js\";\nimport {\n\ttype AuthCredential,\n\ttype AuthMode,\n\tcreateAuthResolver,\n} from \"../providers/auth.js\";\nimport {\n\tisEvalOpsManagedGatewayEnabled,\n\tisEvalOpsManagedProvider,\n\tisKnownEvalOpsManagedProvider,\n} from \"../providers/evalops-managed.js\";\n\n/** A plain + colored error line for terminal display. */\nexport interface AuthLine {\n\tplain: string;\n\tcolored: string;\n}\n\nexport interface AuthSetupResult {\n\t/** Resolve a credential for a provider, throwing or exiting on failure. */\n\trequireCredential: (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t) => Promise<AuthCredential>;\n\t/** Build user-friendly error lines when credentials are missing. */\n\tbuildMissingAuthLines: (providerName: string) => AuthLine[];\n}\n\n/**\n * Validate that no unsupported legacy Codex/ChatGPT flags are used.\n * Throws with an error message on invalid flags.\n */\nexport function validateCodexFlags(args: string[], command?: string): void {\n\tif (command !== \"help\" && command !== \"config\") {\n\t\tconst codexFlagsUsed = args.some((arg, index) => {\n\t\t\tif (arg === \"--codex-api-key\" || arg.startsWith(\"--codex-api-key=\")) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (arg === \"--auth\" && args[index + 1] === \"chatgpt\") return true;\n\t\t\tif (arg.startsWith(\"--auth=chatgpt\")) return true;\n\t\t\treturn false;\n\t\t});\n\t\tif (codexFlagsUsed) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Legacy Codex/ChatGPT auth flags are no longer supported. Use the openai-codex provider with `maestro codex login` or CODEX_API_KEY instead.\",\n\t\t\t);\n\t\t}\n\t}\n}\n\n/**\n * Create the auth resolver and helper functions used throughout startup.\n */\nexport function createAuthSetup(params: {\n\tauthMode: AuthMode;\n\texplicitApiKey?: string;\n}): AuthSetupResult {\n\tconst { authMode, explicitApiKey } = params;\n\n\tconst authResolver = createAuthResolver({\n\t\tmode: authMode,\n\t\texplicitApiKey,\n\t});\n\n\tconst buildMissingAuthLines = (providerName: string): AuthLine[] => {\n\t\tconst lines: AuthLine[] = [];\n\t\tconst push = (plain: string, colored?: string) => {\n\t\t\tlines.push({ plain, colored: colored ?? plain });\n\t\t};\n\t\tpush(\n\t\t\t`Error: No credentials found for provider \"${providerName}\"`,\n\t\t\tchalk.red(`Error: No credentials found for provider \"${providerName}\"`),\n\t\t);\n\t\tif (authMode !== \"api-key\") {\n\t\t\tconst loginHint =\n\t\t\t\tproviderName === \"anthropic\"\n\t\t\t\t\t? 'Run \"maestro anthropic login\" (claude) or use /login to authenticate before retrying.'\n\t\t\t\t\t: providerName === \"openai\"\n\t\t\t\t\t\t? 'Run \"maestro openai login\" or use /login to authenticate before retrying.'\n\t\t\t\t\t\t: isKnownEvalOpsManagedProvider(providerName) &&\n\t\t\t\t\t\t\t\t!isEvalOpsManagedGatewayEnabled()\n\t\t\t\t\t\t\t? \"EvalOps managed gateway access is currently disabled by dynamic config.\"\n\t\t\t\t\t\t\t: isEvalOpsManagedProvider(providerName)\n\t\t\t\t\t\t\t\t? 'Run \"maestro evalops login\" or \"/login evalops\" to authenticate before retrying.'\n\t\t\t\t\t\t\t\t: 'Run \"/login\" to authenticate before retrying.';\n\t\t\tpush(\n\t\t\t\t`${loginHint} Or provide an API key for the selected provider.`,\n\t\t\t\tchalk.dim(\n\t\t\t\t\t`${loginHint} Or provide an API key for the selected provider.`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tconst envVars = getEnvVarsForProvider(providerName);\n\t\tif (envVars.length) {\n\t\t\tpush(\n\t\t\t\t`Set ${envVars.join(\" or \")} or provide --api-key for ${providerName}.`,\n\t\t\t\tchalk.dim(\n\t\t\t\t\t`Set ${envVars.join(\" or \")} or provide --api-key for ${providerName}.`,\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tconst customMeta = getCustomProviderMetadata(providerName);\n\t\t\tif (customMeta?.apiKeyEnv) {\n\t\t\t\tpush(\n\t\t\t\t\t`Set ${customMeta.apiKeyEnv} environment variable or provide --api-key for ${providerName}.`,\n\t\t\t\t\tchalk.dim(\n\t\t\t\t\t\t`Set ${customMeta.apiKeyEnv} environment variable or provide --api-key for ${providerName}.`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn lines;\n\t};\n\n\tconst requireCredential = async (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t): Promise<AuthCredential> => {\n\t\tconst credential = await authResolver(providerName);\n\t\tif (credential) {\n\t\t\treturn credential;\n\t\t}\n\t\tconst lines = buildMissingAuthLines(providerName);\n\t\tif (fatal) {\n\t\t\tfor (const line of lines) {\n\t\t\t\tconsole.error(line.colored);\n\t\t\t}\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tconst plain = lines.map((line) => line.plain).join(\"\\n\");\n\t\tthrow new Error(plain);\n\t};\n\n\treturn { requireCredential, buildMissingAuthLines };\n}\n"]}
1
+ {"version":3,"file":"auth-setup.js","sourceRoot":"","sources":["../../src/bootstrap/auth-setup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Authentication Setup - Credential resolution and validation.\n *\n * Extracts auth-related initialization from main.ts Phase 4:\n * auth mode determination, Codex flag validation, credential resolution,\n * and missing-auth error message building.\n *\n * @module bootstrap/auth-setup\n */\n\nimport chalk from \"chalk\";\nimport { getCustomProviderMetadata } from \"../models/registry.js\";\nimport { getEnvVarsForProvider } from \"../providers/api-keys.js\";\nimport {\n\ttype AuthCredential,\n\ttype AuthMode,\n\tcreateAuthResolver,\n} from \"../providers/auth.js\";\nimport {\n\tisEvalOpsManagedGatewayEnabled,\n\tisEvalOpsManagedProvider,\n\tisKnownEvalOpsManagedProvider,\n} from \"../providers/evalops-managed.js\";\n\n/** A plain + colored error line for terminal display. */\nexport interface AuthLine {\n\tplain: string;\n\tcolored: string;\n}\n\nexport interface AuthSetupResult {\n\t/** Resolve a credential for a provider, throwing or exiting on failure. */\n\trequireCredential: (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t) => Promise<AuthCredential>;\n\t/** Build user-friendly error lines when credentials are missing. */\n\tbuildMissingAuthLines: (providerName: string) => AuthLine[];\n}\n\n/**\n * Validate that no unsupported legacy Codex/ChatGPT flags are used.\n * Throws with an error message on invalid flags.\n */\nexport function validateCodexFlags(args: string[], command?: string): void {\n\tif (command !== \"help\" && command !== \"config\") {\n\t\tconst codexFlagsUsed = args.some((arg, index) => {\n\t\t\tif (arg === \"--codex-api-key\" || arg.startsWith(\"--codex-api-key=\")) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tif (arg === \"--auth\" && args[index + 1] === \"chatgpt\") return true;\n\t\t\tif (arg.startsWith(\"--auth=chatgpt\")) return true;\n\t\t\treturn false;\n\t\t});\n\t\tif (codexFlagsUsed) {\n\t\t\tthrow new Error(\n\t\t\t\t\"Legacy Codex/ChatGPT auth flags are no longer supported. Use the openai-codex provider with `maestro codex login` instead.\",\n\t\t\t);\n\t\t}\n\t}\n}\n\n/**\n * Create the auth resolver and helper functions used throughout startup.\n */\nexport function createAuthSetup(params: {\n\tauthMode: AuthMode;\n\texplicitApiKey?: string;\n}): AuthSetupResult {\n\tconst { authMode, explicitApiKey } = params;\n\n\tconst authResolver = createAuthResolver({\n\t\tmode: authMode,\n\t\texplicitApiKey,\n\t});\n\n\tconst buildMissingAuthLines = (providerName: string): AuthLine[] => {\n\t\tconst lines: AuthLine[] = [];\n\t\tconst push = (plain: string, colored?: string) => {\n\t\t\tlines.push({ plain, colored: colored ?? plain });\n\t\t};\n\t\tpush(\n\t\t\t`Error: No credentials found for provider \"${providerName}\"`,\n\t\t\tchalk.red(`Error: No credentials found for provider \"${providerName}\"`),\n\t\t);\n\t\tif (authMode !== \"api-key\") {\n\t\t\tconst loginHint =\n\t\t\t\tproviderName === \"anthropic\"\n\t\t\t\t\t? 'Run \"maestro anthropic login\" (claude) or use /login to authenticate before retrying.'\n\t\t\t\t\t: providerName === \"openai\"\n\t\t\t\t\t\t? 'Run \"maestro openai login\" or use /login to authenticate before retrying.'\n\t\t\t\t\t\t: isKnownEvalOpsManagedProvider(providerName) &&\n\t\t\t\t\t\t\t\t!isEvalOpsManagedGatewayEnabled()\n\t\t\t\t\t\t\t? \"EvalOps managed gateway access is currently disabled by dynamic config.\"\n\t\t\t\t\t\t\t: isEvalOpsManagedProvider(providerName)\n\t\t\t\t\t\t\t\t? 'Run \"maestro evalops login\" or \"/login evalops\" to authenticate before retrying.'\n\t\t\t\t\t\t\t\t: 'Run \"/login\" to authenticate before retrying.';\n\t\t\tpush(\n\t\t\t\t`${loginHint} Or provide an API key for the selected provider.`,\n\t\t\t\tchalk.dim(\n\t\t\t\t\t`${loginHint} Or provide an API key for the selected provider.`,\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\t\tconst envVars = getEnvVarsForProvider(providerName);\n\t\tif (envVars.length) {\n\t\t\tpush(\n\t\t\t\t`Set ${envVars.join(\" or \")} or provide --api-key for ${providerName}.`,\n\t\t\t\tchalk.dim(\n\t\t\t\t\t`Set ${envVars.join(\" or \")} or provide --api-key for ${providerName}.`,\n\t\t\t\t),\n\t\t\t);\n\t\t} else {\n\t\t\tconst customMeta = getCustomProviderMetadata(providerName);\n\t\t\tif (customMeta?.apiKeyEnv) {\n\t\t\t\tpush(\n\t\t\t\t\t`Set ${customMeta.apiKeyEnv} environment variable or provide --api-key for ${providerName}.`,\n\t\t\t\t\tchalk.dim(\n\t\t\t\t\t\t`Set ${customMeta.apiKeyEnv} environment variable or provide --api-key for ${providerName}.`,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t\treturn lines;\n\t};\n\n\tconst requireCredential = async (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t): Promise<AuthCredential> => {\n\t\tconst credential = await authResolver(providerName);\n\t\tif (credential) {\n\t\t\treturn credential;\n\t\t}\n\t\tconst lines = buildMissingAuthLines(providerName);\n\t\tif (fatal) {\n\t\t\tfor (const line of lines) {\n\t\t\t\tconsole.error(line.colored);\n\t\t\t}\n\t\t\tprocess.exit(1);\n\t\t}\n\t\tconst plain = lines.map((line) => line.plain).join(\"\\n\");\n\t\tthrow new Error(plain);\n\t};\n\n\treturn { requireCredential, buildMissingAuthLines };\n}\n"]}
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import type { Agent } from "../agent/index.js";
11
11
  import type { AutomaticMemoryExtractionCoordinator } from "../memory/auto-extraction.js";
12
+ import type { ScriptedScenarioRecorder } from "../server/scenario-recorder.js";
12
13
  import { type SessionManager } from "../session/manager.js";
13
14
  import { type TurnTracker } from "../telemetry/turn-tracker.js";
14
15
  import type { CanonicalTurnEvent } from "../telemetry/wide-events.js";
@@ -35,6 +36,11 @@ export declare function setupEventSubscriptions(params: {
35
36
  } | null;
36
37
  };
37
38
  automaticMemoryExtraction?: AutomaticMemoryExtractionCoordinator;
39
+ scenarioReplay?: {
40
+ path: string;
41
+ scenarioId: string;
42
+ };
43
+ scenarioRecorder?: ScriptedScenarioRecorder;
38
44
  /** Optional callback invoked on every turn completion (for perf aggregation). */
39
45
  onTurnComplete?: (event: CanonicalTurnEvent) => void;
40
46
  }): EventSubscriptionsResult;
@@ -1 +1 @@
1
- {"version":3,"file":"event-subscriptions-setup.d.ts","sourceRoot":"","sources":["../../src/bootstrap/event-subscriptions-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AAGzF,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACN,KAAK,WAAW,EAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAKtE,MAAM,WAAW,wBAAwB;IACxC,WAAW,EAAE,WAAW,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC/C,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE;QAClB,YAAY,EAAE,MAAM,OAAO,CAAC;QAC5B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5D,UAAU,EAAE,MAAM;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KAChE,CAAC;IACF,yBAAyB,CAAC,EAAE,oCAAoC,CAAC;IACjE,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrD,GAAG,wBAAwB,CA6J3B"}
1
+ {"version":3,"file":"event-subscriptions-setup.d.ts","sourceRoot":"","sources":["../../src/bootstrap/event-subscriptions-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AAGzF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACN,KAAK,WAAW,EAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAMtE,MAAM,WAAW,wBAAwB;IACxC,WAAW,EAAE,WAAW,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC/C,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,EAAE;QAClB,YAAY,EAAE,MAAM,OAAO,CAAC;QAC5B,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAC5D,UAAU,EAAE,MAAM;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KAChE,CAAC;IACF,yBAAyB,CAAC,EAAE,oCAAoC,CAAC;IACjE,cAAc,CAAC,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACrD,GAAG,wBAAwB,CAoL3B"}
@@ -17,12 +17,15 @@ import { createRuntimeSessionSummaryUpdater } from "../session/runtime-summary-u
17
17
  import { createTurnTracker, } from "../telemetry/turn-tracker.js";
18
18
  import { createLogger } from "../utils/logger.js";
19
19
  const logger = createLogger("event-subscriptions");
20
+ const nativePolicySandboxModes = new Set(["read-only", "workspace-write"]);
20
21
  /**
21
22
  * Wire up all agent event subscriptions: turn tracking, message persistence,
22
23
  * session initialization, and notification hooks.
23
24
  */
24
25
  export function setupEventSubscriptions(params) {
25
26
  const { agent, sessionManager, approvalMode, sandboxMode, tsHookCount, cwd, enterpriseContext, automaticMemoryExtraction, } = params;
27
+ let scenarioReplayTagged = false;
28
+ let scenarioRecordingTagged = false;
26
29
  const updateSessionSummary = createRuntimeSessionSummaryUpdater(sessionManager);
27
30
  const sessionHookService = createSessionHookService({
28
31
  cwd,
@@ -46,7 +49,9 @@ export function setupEventSubscriptions(params) {
46
49
  });
47
50
  const trackerSandboxMode = sandboxMode === "docker"
48
51
  ? "docker"
49
- : sandboxMode === "local" || sandboxMode === "native"
52
+ : sandboxMode === "local" ||
53
+ sandboxMode === "native" ||
54
+ nativePolicySandboxModes.has(sandboxMode ?? "")
50
55
  ? "local"
51
56
  : "none";
52
57
  turnTracker.updateContext({
@@ -87,7 +92,10 @@ export function setupEventSubscriptions(params) {
87
92
  if (event.type === "message_end") {
88
93
  sessionManager.saveMessage(event.message);
89
94
  if (event.message.role === "assistant") {
90
- automaticMemoryExtraction?.schedule(sessionManager.getSessionFile());
95
+ if (!params.scenarioReplay) {
96
+ automaticMemoryExtraction?.schedule(sessionManager.getSessionFile());
97
+ }
98
+ params.scenarioRecorder?.recordAssistantMessage(event.message);
91
99
  }
92
100
  // Check if we should initialize session now (after first user message)
93
101
  if (sessionManager.shouldInitializeSession(agent.state.messages)) {
@@ -108,6 +116,22 @@ export function setupEventSubscriptions(params) {
108
116
  process.exit(1);
109
117
  }
110
118
  sessionManager.startSession(agent.state);
119
+ if (params.scenarioReplay && !scenarioReplayTagged) {
120
+ sessionManager.appendCustomEntry("scenario_replay", {
121
+ replay: true,
122
+ scenarioId: params.scenarioReplay.scenarioId,
123
+ path: params.scenarioReplay.path,
124
+ modelProvider: "scripted-replay",
125
+ });
126
+ scenarioReplayTagged = true;
127
+ }
128
+ if (params.scenarioRecorder && !scenarioRecordingTagged) {
129
+ sessionManager.appendCustomEntry("scenario_recording", {
130
+ recording: true,
131
+ path: params.scenarioRecorder.getOutputPath(),
132
+ });
133
+ scenarioRecordingTagged = true;
134
+ }
111
135
  if (enterpriseContext.isEnterprise()) {
112
136
  enterpriseContext.startSession(sessionManager.getSessionId(), agent.state.model?.id);
113
137
  const session = enterpriseContext.getSession();
@@ -1 +1 @@
1
- {"version":3,"file":"event-subscriptions-setup.js","sourceRoot":"","sources":["../../src/bootstrap/event-subscriptions-setup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Event Subscriptions Setup - Turn tracking, persistence, and notifications.\n *\n * Extracts event subscription wiring from main.ts Phase 14.5:\n * turn tracker creation + MCP context updates, message persistence +\n * session initialization, and notification hook subscription.\n *\n * @module bootstrap/event-subscriptions-setup\n */\n\nimport chalk from \"chalk\";\nimport type { Agent } from \"../agent/index.js\";\nimport type { AppMessage } from \"../agent/types.js\";\nimport { dispatchAgentNotification } from \"../hooks/notification-hooks.js\";\nimport { createSessionHookService } from \"../hooks/session-integration.js\";\nimport { mcpManager } from \"../mcp/manager.js\";\nimport type { AutomaticMemoryExtractionCoordinator } from \"../memory/auto-extraction.js\";\nimport type { RegisteredModel } from \"../models/registry.js\";\nimport { checkSessionLimits } from \"../safety/policy.js\";\nimport {\n\ttype SessionManager,\n\ttoSessionModelMetadata,\n} from \"../session/manager.js\";\nimport { createRuntimeSessionSummaryUpdater } from \"../session/runtime-summary-updater.js\";\nimport {\n\ttype TurnTracker,\n\tcreateTurnTracker,\n} from \"../telemetry/turn-tracker.js\";\nimport type { CanonicalTurnEvent } from \"../telemetry/wide-events.js\";\nimport { createLogger } from \"../utils/logger.js\";\n\nconst logger = createLogger(\"event-subscriptions\");\n\nexport interface EventSubscriptionsResult {\n\tturnTracker: TurnTracker;\n}\n\n/**\n * Wire up all agent event subscriptions: turn tracking, message persistence,\n * session initialization, and notification hooks.\n */\nexport function setupEventSubscriptions(params: {\n\tagent: Agent;\n\tsessionManager: SessionManager;\n\tapprovalMode: \"auto\" | \"prompt\" | \"fail\";\n\tsandboxMode: string | undefined;\n\ttsHookCount: number;\n\tcwd: string;\n\tenterpriseContext: {\n\t\tisEnterprise: () => boolean;\n\t\tstartSession: (sessionId: string, modelId?: string) => void;\n\t\tgetSession: () => { sessionId: string; startedAt: Date } | null;\n\t};\n\tautomaticMemoryExtraction?: AutomaticMemoryExtractionCoordinator;\n\t/** Optional callback invoked on every turn completion (for perf aggregation). */\n\tonTurnComplete?: (event: CanonicalTurnEvent) => void;\n}): EventSubscriptionsResult {\n\tconst {\n\t\tagent,\n\t\tsessionManager,\n\t\tapprovalMode,\n\t\tsandboxMode,\n\t\ttsHookCount,\n\t\tcwd,\n\t\tenterpriseContext,\n\t\tautomaticMemoryExtraction,\n\t} = params;\n\tconst updateSessionSummary =\n\t\tcreateRuntimeSessionSummaryUpdater(sessionManager);\n\tconst sessionHookService = createSessionHookService({\n\t\tcwd,\n\t\tsessionId: sessionManager.getSessionId(),\n\t});\n\n\t// ── Turn Tracker ─────────────────────────────────────────────────────────\n\n\tconst turnTracker = createTurnTracker(agent, {\n\t\tsessionId: sessionManager.getSessionId(),\n\t\tonTurnComplete: (event) => {\n\t\t\tif (event.sampled) {\n\t\t\t\tlogger.debug(\"Wide event emitted\", {\n\t\t\t\t\tturnId: event.turnId,\n\t\t\t\t\tstatus: event.status,\n\t\t\t\t\ttoolCount: event.toolCount,\n\t\t\t\t\tdurationMs: event.totalDurationMs,\n\t\t\t\t\tsampleReason: event.sampleReason,\n\t\t\t\t});\n\t\t\t}\n\t\t\tparams.onTurnComplete?.(event);\n\t\t},\n\t});\n\n\tconst trackerSandboxMode =\n\t\tsandboxMode === \"docker\"\n\t\t\t? \"docker\"\n\t\t\t: sandboxMode === \"local\" || sandboxMode === \"native\"\n\t\t\t\t? \"local\"\n\t\t\t\t: \"none\";\n\tturnTracker.updateContext({\n\t\tsandboxMode: trackerSandboxMode,\n\t\tapprovalMode,\n\t\tmcpServers: mcpManager\n\t\t\t.getStatus()\n\t\t\t.servers.filter((s) => s.connected)\n\t\t\t.map((s) => s.name),\n\t\tcontextSourceCount: 5,\n\t\tfeatures: {\n\t\t\tsafeMode: Boolean(process.env.MAESTRO_SAFE_MODE),\n\t\t\tguardianEnabled: process.env.MAESTRO_GUARDIAN !== \"0\",\n\t\t\tcompactionEnabled: true,\n\t\t\thookCount: tsHookCount,\n\t\t},\n\t});\n\n\tmcpManager.on(\"connected\", () => {\n\t\tturnTracker.updateContext({\n\t\t\tmcpServers: mcpManager\n\t\t\t\t.getStatus()\n\t\t\t\t.servers.filter((s) => s.connected)\n\t\t\t\t.map((s) => s.name),\n\t\t});\n\t});\n\tmcpManager.on(\"disconnected\", () => {\n\t\tturnTracker.updateContext({\n\t\t\tmcpServers: mcpManager\n\t\t\t\t.getStatus()\n\t\t\t\t.servers.filter((s) => s.connected)\n\t\t\t\t.map((s) => s.name),\n\t\t});\n\t});\n\n\t// ── Agent event subscription ─────────────────────────────────────────────\n\n\tagent.subscribe(async (event) => {\n\t\tupdateSessionSummary(event);\n\t\t// Save messages on completion\n\t\tif (event.type === \"message_end\") {\n\t\t\tsessionManager.saveMessage(event.message);\n\t\t\tif (event.message.role === \"assistant\") {\n\t\t\t\tautomaticMemoryExtraction?.schedule(sessionManager.getSessionFile());\n\t\t\t}\n\n\t\t\t// Check if we should initialize session now (after first user message)\n\t\t\tif (sessionManager.shouldInitializeSession(agent.state.messages)) {\n\t\t\t\tlet activeCount: number | undefined;\n\t\t\t\ttry {\n\t\t\t\t\tconst sessions = sessionManager.loadAllSessions();\n\t\t\t\t\tactiveCount = sessions.filter(\n\t\t\t\t\t\t(s) => Date.now() - s.modified.getTime() < 60 * 60 * 1000,\n\t\t\t\t\t).length;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\tchalk.yellow(\n\t\t\t\t\t\t\t`[Policy] Failed to count active sessions: ${error instanceof Error ? error.message : String(error)}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst limitCheck = checkSessionLimits(\n\t\t\t\t\t{ startedAt: new Date() },\n\t\t\t\t\tactiveCount !== undefined\n\t\t\t\t\t\t? { activeSessionCount: activeCount + 1 }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t);\n\n\t\t\t\tif (!limitCheck.allowed) {\n\t\t\t\t\tconst msg = `\\n[Policy] ${limitCheck.reason}`;\n\t\t\t\t\tconsole.error(chalk.red(msg));\n\t\t\t\t\tprocess.exit(1);\n\t\t\t\t}\n\n\t\t\t\tsessionManager.startSession(agent.state);\n\n\t\t\t\tif (enterpriseContext.isEnterprise()) {\n\t\t\t\t\tenterpriseContext.startSession(\n\t\t\t\t\t\tsessionManager.getSessionId(),\n\t\t\t\t\t\t(agent.state.model as RegisteredModel)?.id,\n\t\t\t\t\t);\n\t\t\t\t\tconst session = enterpriseContext.getSession();\n\t\t\t\t\tif (session) {\n\t\t\t\t\t\tagent.setSession({\n\t\t\t\t\t\t\tid: session.sessionId,\n\t\t\t\t\t\t\tstartedAt: session.startedAt,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst modelMetadata = toSessionModelMetadata(\n\t\t\tagent.state.model as RegisteredModel,\n\t\t);\n\t\tsessionManager.updateSnapshot(agent.state, modelMetadata);\n\t});\n\n\t// ── Notification hooks ───────────────────────────────────────────────────\n\n\tagent.subscribe((event) => {\n\t\tdispatchAgentNotification(\n\t\t\tevent,\n\t\t\t{\n\t\t\t\tcwd,\n\t\t\t\tsessionId: sessionManager.getSessionId(),\n\t\t\t\tmessages: agent.state.messages,\n\t\t\t},\n\t\t\t{\n\t\t\t\tsessionHookService,\n\t\t\t\tlogger,\n\t\t\t},\n\t\t);\n\t});\n\n\treturn { turnTracker };\n}\n"]}
1
+ {"version":3,"file":"event-subscriptions-setup.js","sourceRoot":"","sources":["../../src/bootstrap/event-subscriptions-setup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Event Subscriptions Setup - Turn tracking, persistence, and notifications.\n *\n * Extracts event subscription wiring from main.ts Phase 14.5:\n * turn tracker creation + MCP context updates, message persistence +\n * session initialization, and notification hook subscription.\n *\n * @module bootstrap/event-subscriptions-setup\n */\n\nimport chalk from \"chalk\";\nimport type { Agent } from \"../agent/index.js\";\nimport type { AppMessage } from \"../agent/types.js\";\nimport { dispatchAgentNotification } from \"../hooks/notification-hooks.js\";\nimport { createSessionHookService } from \"../hooks/session-integration.js\";\nimport { mcpManager } from \"../mcp/manager.js\";\nimport type { AutomaticMemoryExtractionCoordinator } from \"../memory/auto-extraction.js\";\nimport type { RegisteredModel } from \"../models/registry.js\";\nimport { checkSessionLimits } from \"../safety/policy.js\";\nimport type { ScriptedScenarioRecorder } from \"../server/scenario-recorder.js\";\nimport {\n\ttype SessionManager,\n\ttoSessionModelMetadata,\n} from \"../session/manager.js\";\nimport { createRuntimeSessionSummaryUpdater } from \"../session/runtime-summary-updater.js\";\nimport {\n\ttype TurnTracker,\n\tcreateTurnTracker,\n} from \"../telemetry/turn-tracker.js\";\nimport type { CanonicalTurnEvent } from \"../telemetry/wide-events.js\";\nimport { createLogger } from \"../utils/logger.js\";\n\nconst logger = createLogger(\"event-subscriptions\");\nconst nativePolicySandboxModes = new Set([\"read-only\", \"workspace-write\"]);\n\nexport interface EventSubscriptionsResult {\n\tturnTracker: TurnTracker;\n}\n\n/**\n * Wire up all agent event subscriptions: turn tracking, message persistence,\n * session initialization, and notification hooks.\n */\nexport function setupEventSubscriptions(params: {\n\tagent: Agent;\n\tsessionManager: SessionManager;\n\tapprovalMode: \"auto\" | \"prompt\" | \"fail\";\n\tsandboxMode: string | undefined;\n\ttsHookCount: number;\n\tcwd: string;\n\tenterpriseContext: {\n\t\tisEnterprise: () => boolean;\n\t\tstartSession: (sessionId: string, modelId?: string) => void;\n\t\tgetSession: () => { sessionId: string; startedAt: Date } | null;\n\t};\n\tautomaticMemoryExtraction?: AutomaticMemoryExtractionCoordinator;\n\tscenarioReplay?: {\n\t\tpath: string;\n\t\tscenarioId: string;\n\t};\n\tscenarioRecorder?: ScriptedScenarioRecorder;\n\t/** Optional callback invoked on every turn completion (for perf aggregation). */\n\tonTurnComplete?: (event: CanonicalTurnEvent) => void;\n}): EventSubscriptionsResult {\n\tconst {\n\t\tagent,\n\t\tsessionManager,\n\t\tapprovalMode,\n\t\tsandboxMode,\n\t\ttsHookCount,\n\t\tcwd,\n\t\tenterpriseContext,\n\t\tautomaticMemoryExtraction,\n\t} = params;\n\tlet scenarioReplayTagged = false;\n\tlet scenarioRecordingTagged = false;\n\tconst updateSessionSummary =\n\t\tcreateRuntimeSessionSummaryUpdater(sessionManager);\n\tconst sessionHookService = createSessionHookService({\n\t\tcwd,\n\t\tsessionId: sessionManager.getSessionId(),\n\t});\n\n\t// ── Turn Tracker ─────────────────────────────────────────────────────────\n\n\tconst turnTracker = createTurnTracker(agent, {\n\t\tsessionId: sessionManager.getSessionId(),\n\t\tonTurnComplete: (event) => {\n\t\t\tif (event.sampled) {\n\t\t\t\tlogger.debug(\"Wide event emitted\", {\n\t\t\t\t\tturnId: event.turnId,\n\t\t\t\t\tstatus: event.status,\n\t\t\t\t\ttoolCount: event.toolCount,\n\t\t\t\t\tdurationMs: event.totalDurationMs,\n\t\t\t\t\tsampleReason: event.sampleReason,\n\t\t\t\t});\n\t\t\t}\n\t\t\tparams.onTurnComplete?.(event);\n\t\t},\n\t});\n\n\tconst trackerSandboxMode =\n\t\tsandboxMode === \"docker\"\n\t\t\t? \"docker\"\n\t\t\t: sandboxMode === \"local\" ||\n\t\t\t\t\tsandboxMode === \"native\" ||\n\t\t\t\t\tnativePolicySandboxModes.has(sandboxMode ?? \"\")\n\t\t\t\t? \"local\"\n\t\t\t\t: \"none\";\n\tturnTracker.updateContext({\n\t\tsandboxMode: trackerSandboxMode,\n\t\tapprovalMode,\n\t\tmcpServers: mcpManager\n\t\t\t.getStatus()\n\t\t\t.servers.filter((s) => s.connected)\n\t\t\t.map((s) => s.name),\n\t\tcontextSourceCount: 5,\n\t\tfeatures: {\n\t\t\tsafeMode: Boolean(process.env.MAESTRO_SAFE_MODE),\n\t\t\tguardianEnabled: process.env.MAESTRO_GUARDIAN !== \"0\",\n\t\t\tcompactionEnabled: true,\n\t\t\thookCount: tsHookCount,\n\t\t},\n\t});\n\n\tmcpManager.on(\"connected\", () => {\n\t\tturnTracker.updateContext({\n\t\t\tmcpServers: mcpManager\n\t\t\t\t.getStatus()\n\t\t\t\t.servers.filter((s) => s.connected)\n\t\t\t\t.map((s) => s.name),\n\t\t});\n\t});\n\tmcpManager.on(\"disconnected\", () => {\n\t\tturnTracker.updateContext({\n\t\t\tmcpServers: mcpManager\n\t\t\t\t.getStatus()\n\t\t\t\t.servers.filter((s) => s.connected)\n\t\t\t\t.map((s) => s.name),\n\t\t});\n\t});\n\n\t// ── Agent event subscription ─────────────────────────────────────────────\n\n\tagent.subscribe(async (event) => {\n\t\tupdateSessionSummary(event);\n\t\t// Save messages on completion\n\t\tif (event.type === \"message_end\") {\n\t\t\tsessionManager.saveMessage(event.message);\n\t\t\tif (event.message.role === \"assistant\") {\n\t\t\t\tif (!params.scenarioReplay) {\n\t\t\t\t\tautomaticMemoryExtraction?.schedule(sessionManager.getSessionFile());\n\t\t\t\t}\n\t\t\t\tparams.scenarioRecorder?.recordAssistantMessage(event.message);\n\t\t\t}\n\n\t\t\t// Check if we should initialize session now (after first user message)\n\t\t\tif (sessionManager.shouldInitializeSession(agent.state.messages)) {\n\t\t\t\tlet activeCount: number | undefined;\n\t\t\t\ttry {\n\t\t\t\t\tconst sessions = sessionManager.loadAllSessions();\n\t\t\t\t\tactiveCount = sessions.filter(\n\t\t\t\t\t\t(s) => Date.now() - s.modified.getTime() < 60 * 60 * 1000,\n\t\t\t\t\t).length;\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error(\n\t\t\t\t\t\tchalk.yellow(\n\t\t\t\t\t\t\t`[Policy] Failed to count active sessions: ${error instanceof Error ? error.message : String(error)}`,\n\t\t\t\t\t\t),\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst limitCheck = checkSessionLimits(\n\t\t\t\t\t{ startedAt: new Date() },\n\t\t\t\t\tactiveCount !== undefined\n\t\t\t\t\t\t? { activeSessionCount: activeCount + 1 }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t);\n\n\t\t\t\tif (!limitCheck.allowed) {\n\t\t\t\t\tconst msg = `\\n[Policy] ${limitCheck.reason}`;\n\t\t\t\t\tconsole.error(chalk.red(msg));\n\t\t\t\t\tprocess.exit(1);\n\t\t\t\t}\n\n\t\t\t\tsessionManager.startSession(agent.state);\n\t\t\t\tif (params.scenarioReplay && !scenarioReplayTagged) {\n\t\t\t\t\tsessionManager.appendCustomEntry(\"scenario_replay\", {\n\t\t\t\t\t\treplay: true,\n\t\t\t\t\t\tscenarioId: params.scenarioReplay.scenarioId,\n\t\t\t\t\t\tpath: params.scenarioReplay.path,\n\t\t\t\t\t\tmodelProvider: \"scripted-replay\",\n\t\t\t\t\t});\n\t\t\t\t\tscenarioReplayTagged = true;\n\t\t\t\t}\n\t\t\t\tif (params.scenarioRecorder && !scenarioRecordingTagged) {\n\t\t\t\t\tsessionManager.appendCustomEntry(\"scenario_recording\", {\n\t\t\t\t\t\trecording: true,\n\t\t\t\t\t\tpath: params.scenarioRecorder.getOutputPath(),\n\t\t\t\t\t});\n\t\t\t\t\tscenarioRecordingTagged = true;\n\t\t\t\t}\n\n\t\t\t\tif (enterpriseContext.isEnterprise()) {\n\t\t\t\t\tenterpriseContext.startSession(\n\t\t\t\t\t\tsessionManager.getSessionId(),\n\t\t\t\t\t\t(agent.state.model as RegisteredModel)?.id,\n\t\t\t\t\t);\n\t\t\t\t\tconst session = enterpriseContext.getSession();\n\t\t\t\t\tif (session) {\n\t\t\t\t\t\tagent.setSession({\n\t\t\t\t\t\t\tid: session.sessionId,\n\t\t\t\t\t\t\tstartedAt: session.startedAt,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst modelMetadata = toSessionModelMetadata(\n\t\t\tagent.state.model as RegisteredModel,\n\t\t);\n\t\tsessionManager.updateSnapshot(agent.state, modelMetadata);\n\t});\n\n\t// ── Notification hooks ───────────────────────────────────────────────────\n\n\tagent.subscribe((event) => {\n\t\tdispatchAgentNotification(\n\t\t\tevent,\n\t\t\t{\n\t\t\t\tcwd,\n\t\t\t\tsessionId: sessionManager.getSessionId(),\n\t\t\t\tmessages: agent.state.messages,\n\t\t\t},\n\t\t\t{\n\t\t\t\tsessionHookService,\n\t\t\t\tlogger,\n\t\t\t},\n\t\t);\n\t});\n\n\treturn { turnTracker };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolution-setup.d.ts","sourceRoot":"","sources":["../../src/bootstrap/model-resolution-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAQpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,CAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,KACV,OAAO,CAAC,cAAc,CAAC,CAAC;CAC7B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAwFjC"}
1
+ {"version":3,"file":"model-resolution-setup.d.ts","sourceRoot":"","sources":["../../src/bootstrap/model-resolution-setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAQpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,MAAM,WAAW,qBAAqB;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,CAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,KACV,OAAO,CAAC,cAAc,CAAC,CAAC;CAC7B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA6FjC"}
@@ -69,7 +69,6 @@ export async function resolveModelFromArgs(params) {
69
69
  .sort()
70
70
  .join(", ")}`);
71
71
  }
72
- await requireCredential(provider, false);
73
72
  // Resolve model with policy check
74
73
  let model;
75
74
  try {
@@ -84,6 +83,10 @@ export async function resolveModelFromArgs(params) {
84
83
  if (!model) {
85
84
  throw new Error(`Unknown model "${provider}/${modelId}". Check your models config.`);
86
85
  }
86
+ if (provider !== "scripted-replay" &&
87
+ model.api !== "openai-codex-app-server") {
88
+ await requireCredential(provider, false);
89
+ }
87
90
  return { provider, modelId, model };
88
91
  }
89
92
  //# sourceMappingURL=model-resolution-setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model-resolution-setup.js","sourceRoot":"","sources":["../../src/bootstrap/model-resolution-setup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Model Resolution - Provider and model resolution from CLI arguments.\n *\n * Extracts the provider/model resolution chain from main.ts Phase 8:\n * slash-format parsing, alias lookup, provider-agnostic search,\n * factory defaults, validation, and credential check.\n *\n * @module bootstrap/model-resolution-setup\n */\n\nimport chalk from \"chalk\";\nimport type { Api, Model } from \"../agent/types.js\";\nimport {\n\tfindModelById,\n\tgetFactoryDefaultModelSelection,\n\tgetSupportedProviders,\n\tresolveAlias,\n\tresolveModel,\n} from \"../models/registry.js\";\nimport type { AuthCredential } from \"../providers/auth.js\";\nimport { PolicyError } from \"../safety/policy.js\";\n\nexport interface ModelResolutionResult {\n\tprovider: string;\n\tmodelId: string;\n\tmodel: Model<Api>;\n}\n\n/**\n * Resolve provider and model from CLI args, aliases, cross-provider search,\n * and factory defaults. Validates credentials and policy.\n *\n * @throws Error with user-facing message on validation failures\n */\nexport async function resolveModelFromArgs(params: {\n\tparsedProvider?: string;\n\tparsedModel?: string;\n\trequireCredential: (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t) => Promise<AuthCredential>;\n}): Promise<ModelResolutionResult> {\n\tconst { parsedProvider, parsedModel, requireCredential } = params;\n\tlet provider = parsedProvider;\n\tlet modelId = parsedModel;\n\n\t// Check if model uses provider/modelId format (e.g., \"bedrock/anthropic.claude-v3\")\n\tif (modelId && !provider && modelId.includes(\"/\")) {\n\t\tconst slashIndex = modelId.indexOf(\"/\");\n\t\tconst maybeProvider = modelId.slice(0, slashIndex);\n\t\tconst maybeModelId = modelId.slice(slashIndex + 1);\n\t\tif (maybeProvider && maybeModelId && !maybeProvider.includes(\".\")) {\n\t\t\tprovider = maybeProvider;\n\t\t\tmodelId = maybeModelId;\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(`Parsed model: ${parsedModel} → ${provider}/${modelId}`),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Check if model is an alias\n\tif (modelId && !provider) {\n\t\tconst resolved = resolveAlias(modelId);\n\t\tif (resolved) {\n\t\t\tprovider = resolved.provider;\n\t\t\tmodelId = resolved.modelId;\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(`Using alias: ${parsedModel} → ${provider}/${modelId}`),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Search for model across all providers\n\tif (modelId && !provider) {\n\t\tconst foundModel = findModelById(modelId);\n\t\tif (foundModel) {\n\t\t\tprovider = foundModel.provider;\n\t\t\tconsole.log(chalk.dim(`Found model: ${modelId} (provider: ${provider})`));\n\t\t}\n\t}\n\n\t// Apply factory defaults\n\tif (!provider || !modelId) {\n\t\tconst factoryDefault = getFactoryDefaultModelSelection();\n\t\tif (factoryDefault) {\n\t\t\tif (!provider) {\n\t\t\t\tprovider = factoryDefault.provider;\n\t\t\t}\n\t\t\tif (!modelId) {\n\t\t\t\tmodelId = factoryDefault.modelId;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovider ??= \"anthropic\";\n\tmodelId ??= \"claude-opus-4-6\";\n\n\t// Validate provider\n\tconst supportedProviders = new Set(getSupportedProviders());\n\tif (!supportedProviders.has(provider)) {\n\t\tthrow new Error(\n\t\t\t`Unknown provider \"${provider}\". Supported providers: ${Array.from(\n\t\t\t\tsupportedProviders,\n\t\t\t)\n\t\t\t\t.sort()\n\t\t\t\t.join(\", \")}`,\n\t\t);\n\t}\n\n\tawait requireCredential(provider, false);\n\n\t// Resolve model with policy check\n\tlet model: ReturnType<typeof resolveModel> | undefined;\n\ttry {\n\t\tmodel = resolveModel(provider, modelId);\n\t} catch (error) {\n\t\tif (error instanceof PolicyError) {\n\t\t\tthrow new Error(error.message);\n\t\t}\n\t\tthrow error;\n\t}\n\n\tif (!model) {\n\t\tthrow new Error(\n\t\t\t`Unknown model \"${provider}/${modelId}\". Check your models config.`,\n\t\t);\n\t}\n\n\treturn { provider, modelId, model };\n}\n"]}
1
+ {"version":3,"file":"model-resolution-setup.js","sourceRoot":"","sources":["../../src/bootstrap/model-resolution-setup.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Model Resolution - Provider and model resolution from CLI arguments.\n *\n * Extracts the provider/model resolution chain from main.ts Phase 8:\n * slash-format parsing, alias lookup, provider-agnostic search,\n * factory defaults, validation, and credential check.\n *\n * @module bootstrap/model-resolution-setup\n */\n\nimport chalk from \"chalk\";\nimport type { Api, Model } from \"../agent/types.js\";\nimport {\n\tfindModelById,\n\tgetFactoryDefaultModelSelection,\n\tgetSupportedProviders,\n\tresolveAlias,\n\tresolveModel,\n} from \"../models/registry.js\";\nimport type { AuthCredential } from \"../providers/auth.js\";\nimport { PolicyError } from \"../safety/policy.js\";\n\nexport interface ModelResolutionResult {\n\tprovider: string;\n\tmodelId: string;\n\tmodel: Model<Api>;\n}\n\n/**\n * Resolve provider and model from CLI args, aliases, cross-provider search,\n * and factory defaults. Validates credentials and policy.\n *\n * @throws Error with user-facing message on validation failures\n */\nexport async function resolveModelFromArgs(params: {\n\tparsedProvider?: string;\n\tparsedModel?: string;\n\trequireCredential: (\n\t\tproviderName: string,\n\t\tfatal: boolean,\n\t) => Promise<AuthCredential>;\n}): Promise<ModelResolutionResult> {\n\tconst { parsedProvider, parsedModel, requireCredential } = params;\n\tlet provider = parsedProvider;\n\tlet modelId = parsedModel;\n\n\t// Check if model uses provider/modelId format (e.g., \"bedrock/anthropic.claude-v3\")\n\tif (modelId && !provider && modelId.includes(\"/\")) {\n\t\tconst slashIndex = modelId.indexOf(\"/\");\n\t\tconst maybeProvider = modelId.slice(0, slashIndex);\n\t\tconst maybeModelId = modelId.slice(slashIndex + 1);\n\t\tif (maybeProvider && maybeModelId && !maybeProvider.includes(\".\")) {\n\t\t\tprovider = maybeProvider;\n\t\t\tmodelId = maybeModelId;\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(`Parsed model: ${parsedModel} → ${provider}/${modelId}`),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Check if model is an alias\n\tif (modelId && !provider) {\n\t\tconst resolved = resolveAlias(modelId);\n\t\tif (resolved) {\n\t\t\tprovider = resolved.provider;\n\t\t\tmodelId = resolved.modelId;\n\t\t\tconsole.log(\n\t\t\t\tchalk.dim(`Using alias: ${parsedModel} → ${provider}/${modelId}`),\n\t\t\t);\n\t\t}\n\t}\n\n\t// Search for model across all providers\n\tif (modelId && !provider) {\n\t\tconst foundModel = findModelById(modelId);\n\t\tif (foundModel) {\n\t\t\tprovider = foundModel.provider;\n\t\t\tconsole.log(chalk.dim(`Found model: ${modelId} (provider: ${provider})`));\n\t\t}\n\t}\n\n\t// Apply factory defaults\n\tif (!provider || !modelId) {\n\t\tconst factoryDefault = getFactoryDefaultModelSelection();\n\t\tif (factoryDefault) {\n\t\t\tif (!provider) {\n\t\t\t\tprovider = factoryDefault.provider;\n\t\t\t}\n\t\t\tif (!modelId) {\n\t\t\t\tmodelId = factoryDefault.modelId;\n\t\t\t}\n\t\t}\n\t}\n\n\tprovider ??= \"anthropic\";\n\tmodelId ??= \"claude-opus-4-6\";\n\n\t// Validate provider\n\tconst supportedProviders = new Set(getSupportedProviders());\n\tif (!supportedProviders.has(provider)) {\n\t\tthrow new Error(\n\t\t\t`Unknown provider \"${provider}\". Supported providers: ${Array.from(\n\t\t\t\tsupportedProviders,\n\t\t\t)\n\t\t\t\t.sort()\n\t\t\t\t.join(\", \")}`,\n\t\t);\n\t}\n\n\t// Resolve model with policy check\n\tlet model: ReturnType<typeof resolveModel> | undefined;\n\ttry {\n\t\tmodel = resolveModel(provider, modelId);\n\t} catch (error) {\n\t\tif (error instanceof PolicyError) {\n\t\t\tthrow new Error(error.message);\n\t\t}\n\t\tthrow error;\n\t}\n\n\tif (!model) {\n\t\tthrow new Error(\n\t\t\t`Unknown model \"${provider}/${modelId}\". Check your models config.`,\n\t\t);\n\t}\n\n\tif (\n\t\tprovider !== \"scripted-replay\" &&\n\t\tmodel.api !== \"openai-codex-app-server\"\n\t) {\n\t\tawait requireCredential(provider, false);\n\t}\n\n\treturn { provider, modelId, model };\n}\n"]}
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @module bootstrap/tools-setup
7
7
  */
8
- import type { AgentTool } from "../agent/types.js";
8
+ import type { AgentTool, Api } from "../agent/types.js";
9
9
  import { type SandboxMode, createSandbox } from "../sandbox/index.js";
10
10
  export interface ToolsSetupResult {
11
11
  /** All tools (base + inline) */
@@ -27,6 +27,7 @@ export interface ToolsSetupResult {
27
27
  export declare function createToolsAndSandbox(params: {
28
28
  parsedTools?: string[];
29
29
  parsedSandbox?: string;
30
+ modelApi?: Api | string;
30
31
  cwd: string;
31
32
  }): Promise<ToolsSetupResult>;
32
33
  //# sourceMappingURL=tools-setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools-setup.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tools-setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACN,KAAK,WAAW,EAChB,aAAa,EAEb,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,gBAAgB;IAChC,gCAAgC;IAChC,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,uDAAuD;IACvD,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,oCAAoC;IACpC,OAAO,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAC/D,CAAC,GACD,KAAK,GAAG,SAAS,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IACnD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;CACZ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA8C5B"}
1
+ {"version":3,"file":"tools-setup.d.ts","sourceRoot":"","sources":["../../src/bootstrap/tools-setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAO,EACN,KAAK,WAAW,EAChB,aAAa,EAEb,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,gBAAgB;IAChC,gCAAgC;IAChC,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,uDAAuD;IACvD,SAAS,EAAE,SAAS,EAAE,CAAC;IACvB,oCAAoC;IACpC,OAAO,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAC/D,CAAC,GACD,KAAK,GAAG,SAAS,CAAC;IACrB,4BAA4B;IAC5B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,MAAM,EAAE;IACnD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACZ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgD5B"}
@@ -6,6 +6,7 @@
6
6
  * @module bootstrap/tools-setup
7
7
  */
8
8
  import chalk from "chalk";
9
+ import { isCodexAppServerApi, selectCodexDefaultTools, } from "../codex/compatibility.js";
9
10
  import { createSandbox, disposeSandbox, } from "../sandbox/index.js";
10
11
  import { codingTools, filterTools, toolRegistry } from "../tools/index.js";
11
12
  import { loadInlineTools } from "../tools/inline-tools.js";
@@ -15,7 +16,7 @@ import { loadInlineTools } from "../tools/inline-tools.js";
15
16
  * @throws Error if --tools filter matches no tools
16
17
  */
17
18
  export async function createToolsAndSandbox(params) {
18
- const { parsedTools, parsedSandbox, cwd } = params;
19
+ const { parsedTools, parsedSandbox, modelApi, cwd } = params;
19
20
  // Apply --tools filter if user specified a subset
20
21
  let baseTools = codingTools;
21
22
  if (parsedTools && parsedTools.length > 0) {
@@ -27,6 +28,9 @@ export async function createToolsAndSandbox(params) {
27
28
  baseTools = filteredTools;
28
29
  console.log(chalk.dim(`Tools restricted to: ${filteredTools.map((t) => t.name).join(", ")}`));
29
30
  }
31
+ else if (isCodexAppServerApi(modelApi)) {
32
+ baseTools = selectCodexDefaultTools(codingTools);
33
+ }
30
34
  // Load inline tools from .maestro/tools.json and ~/.maestro/tools.json
31
35
  const inlineTools = loadInlineTools();
32
36
  const allTools = [...baseTools, ...inlineTools];
@@ -1 +1 @@
1
- {"version":3,"file":"tools-setup.js","sourceRoot":"","sources":["../../src/bootstrap/tools-setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAEN,aAAa,EACb,cAAc,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAiB3D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAI3C;IACA,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAEnD,kDAAkD;IAClD,IAAI,SAAS,GAAG,WAAW,CAAC;IAC5B,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACd,0CAA0C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACnE,oBAAoB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACH,CAAC;QACD,SAAS,GAAG,aAAa,CAAC;QAC1B,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,wBAAwB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CACD,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,MAAM,WAAW,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAE1D,CAAC;IACb,MAAM,OAAO,GAAG,WAAW;QAC1B,CAAC,CAAC,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC;IAEb,MAAM,cAAc,GAAG,OAAO;QAC7B,CAAC,CAAC,KAAK,IAAI,EAAE;YACX,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACF,CAAC,CAAC,SAAS,CAAC;IAEb,OAAO;QACN,QAAQ;QACR,SAAS;QACT,OAAO;QACP,WAAW;QACX,cAAc,EAAE,cAAc;KAC9B,CAAC;AACH,CAAC","sourcesContent":["/**\n * Tools & Sandbox Setup - Tool filtering and sandbox initialization.\n *\n * Extracts tool registry filtering and sandbox creation from main.ts Phase 10.\n *\n * @module bootstrap/tools-setup\n */\n\nimport chalk from \"chalk\";\nimport type { AgentTool } from \"../agent/types.js\";\nimport {\n\ttype SandboxMode,\n\tcreateSandbox,\n\tdisposeSandbox,\n} from \"../sandbox/index.js\";\nimport { codingTools, filterTools, toolRegistry } from \"../tools/index.js\";\nimport { loadInlineTools } from \"../tools/inline-tools.js\";\n\nexport interface ToolsSetupResult {\n\t/** All tools (base + inline) */\n\tallTools: AgentTool[];\n\t/** Base tools after filtering (used for MCP merges) */\n\tbaseTools: AgentTool[];\n\t/** Sandbox instance if requested */\n\tsandbox: ReturnType<typeof createSandbox> extends Promise<infer T>\n\t\t? T\n\t\t: never | undefined;\n\t/** Resolved sandbox mode */\n\tsandboxMode: SandboxMode | undefined;\n\t/** Cleanup function for sandbox (call on process exit) */\n\tdisposeSandbox?: () => Promise<void>;\n}\n\n/**\n * Build the tool set and optionally create a sandbox.\n *\n * @throws Error if --tools filter matches no tools\n */\nexport async function createToolsAndSandbox(params: {\n\tparsedTools?: string[];\n\tparsedSandbox?: string;\n\tcwd: string;\n}): Promise<ToolsSetupResult> {\n\tconst { parsedTools, parsedSandbox, cwd } = params;\n\n\t// Apply --tools filter if user specified a subset\n\tlet baseTools = codingTools;\n\tif (parsedTools && parsedTools.length > 0) {\n\t\tconst filteredTools = filterTools(parsedTools);\n\t\tif (filteredTools.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`No valid tools matched --tools filter: ${parsedTools.join(\", \")}. ` +\n\t\t\t\t\t`Available tools: ${Object.keys(toolRegistry).sort().join(\", \")}`,\n\t\t\t);\n\t\t}\n\t\tbaseTools = filteredTools;\n\t\tconsole.log(\n\t\t\tchalk.dim(\n\t\t\t\t`Tools restricted to: ${filteredTools.map((t) => t.name).join(\", \")}`,\n\t\t\t),\n\t\t);\n\t}\n\n\t// Load inline tools from .maestro/tools.json and ~/.maestro/tools.json\n\tconst inlineTools = loadInlineTools();\n\tconst allTools = [...baseTools, ...inlineTools];\n\n\t// Create sandbox for isolated tool execution if requested\n\tconst sandboxMode = (parsedSandbox ?? process.env.MAESTRO_SANDBOX_MODE) as\n\t\t| SandboxMode\n\t\t| undefined;\n\tconst sandbox = sandboxMode\n\t\t? await createSandbox({ mode: sandboxMode, cwd })\n\t\t: undefined;\n\n\tconst cleanupSandbox = sandbox\n\t\t? async () => {\n\t\t\t\tawait disposeSandbox(sandbox);\n\t\t\t}\n\t\t: undefined;\n\n\treturn {\n\t\tallTools,\n\t\tbaseTools,\n\t\tsandbox,\n\t\tsandboxMode,\n\t\tdisposeSandbox: cleanupSandbox,\n\t};\n}\n"]}
1
+ {"version":3,"file":"tools-setup.js","sourceRoot":"","sources":["../../src/bootstrap/tools-setup.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EACN,mBAAmB,EACnB,uBAAuB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEN,aAAa,EACb,cAAc,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAiB3D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAK3C;IACA,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IAE7D,kDAAkD;IAClD,IAAI,SAAS,GAAG,WAAW,CAAC;IAC5B,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACd,0CAA0C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACnE,oBAAoB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClE,CAAC;QACH,CAAC;QACD,SAAS,GAAG,aAAa,CAAC;QAC1B,OAAO,CAAC,GAAG,CACV,KAAK,CAAC,GAAG,CACR,wBAAwB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrE,CACD,CAAC;IACH,CAAC;SAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,SAAS,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,uEAAuE;IACvE,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC;IAEhD,0DAA0D;IAC1D,MAAM,WAAW,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAE1D,CAAC;IACb,MAAM,OAAO,GAAG,WAAW;QAC1B,CAAC,CAAC,MAAM,aAAa,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC;IAEb,MAAM,cAAc,GAAG,OAAO;QAC7B,CAAC,CAAC,KAAK,IAAI,EAAE;YACX,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QACF,CAAC,CAAC,SAAS,CAAC;IAEb,OAAO;QACN,QAAQ;QACR,SAAS;QACT,OAAO;QACP,WAAW;QACX,cAAc,EAAE,cAAc;KAC9B,CAAC;AACH,CAAC","sourcesContent":["/**\n * Tools & Sandbox Setup - Tool filtering and sandbox initialization.\n *\n * Extracts tool registry filtering and sandbox creation from main.ts Phase 10.\n *\n * @module bootstrap/tools-setup\n */\n\nimport chalk from \"chalk\";\nimport type { AgentTool, Api } from \"../agent/types.js\";\nimport {\n\tisCodexAppServerApi,\n\tselectCodexDefaultTools,\n} from \"../codex/compatibility.js\";\nimport {\n\ttype SandboxMode,\n\tcreateSandbox,\n\tdisposeSandbox,\n} from \"../sandbox/index.js\";\nimport { codingTools, filterTools, toolRegistry } from \"../tools/index.js\";\nimport { loadInlineTools } from \"../tools/inline-tools.js\";\n\nexport interface ToolsSetupResult {\n\t/** All tools (base + inline) */\n\tallTools: AgentTool[];\n\t/** Base tools after filtering (used for MCP merges) */\n\tbaseTools: AgentTool[];\n\t/** Sandbox instance if requested */\n\tsandbox: ReturnType<typeof createSandbox> extends Promise<infer T>\n\t\t? T\n\t\t: never | undefined;\n\t/** Resolved sandbox mode */\n\tsandboxMode: SandboxMode | undefined;\n\t/** Cleanup function for sandbox (call on process exit) */\n\tdisposeSandbox?: () => Promise<void>;\n}\n\n/**\n * Build the tool set and optionally create a sandbox.\n *\n * @throws Error if --tools filter matches no tools\n */\nexport async function createToolsAndSandbox(params: {\n\tparsedTools?: string[];\n\tparsedSandbox?: string;\n\tmodelApi?: Api | string;\n\tcwd: string;\n}): Promise<ToolsSetupResult> {\n\tconst { parsedTools, parsedSandbox, modelApi, cwd } = params;\n\n\t// Apply --tools filter if user specified a subset\n\tlet baseTools = codingTools;\n\tif (parsedTools && parsedTools.length > 0) {\n\t\tconst filteredTools = filterTools(parsedTools);\n\t\tif (filteredTools.length === 0) {\n\t\t\tthrow new Error(\n\t\t\t\t`No valid tools matched --tools filter: ${parsedTools.join(\", \")}. ` +\n\t\t\t\t\t`Available tools: ${Object.keys(toolRegistry).sort().join(\", \")}`,\n\t\t\t);\n\t\t}\n\t\tbaseTools = filteredTools;\n\t\tconsole.log(\n\t\t\tchalk.dim(\n\t\t\t\t`Tools restricted to: ${filteredTools.map((t) => t.name).join(\", \")}`,\n\t\t\t),\n\t\t);\n\t} else if (isCodexAppServerApi(modelApi)) {\n\t\tbaseTools = selectCodexDefaultTools(codingTools);\n\t}\n\n\t// Load inline tools from .maestro/tools.json and ~/.maestro/tools.json\n\tconst inlineTools = loadInlineTools();\n\tconst allTools = [...baseTools, ...inlineTools];\n\n\t// Create sandbox for isolated tool execution if requested\n\tconst sandboxMode = (parsedSandbox ?? process.env.MAESTRO_SANDBOX_MODE) as\n\t\t| SandboxMode\n\t\t| undefined;\n\tconst sandbox = sandboxMode\n\t\t? await createSandbox({ mode: sandboxMode, cwd })\n\t\t: undefined;\n\n\tconst cleanupSandbox = sandbox\n\t\t? async () => {\n\t\t\t\tawait disposeSandbox(sandbox);\n\t\t\t}\n\t\t: undefined;\n\n\treturn {\n\t\tallTools,\n\t\tbaseTools,\n\t\tsandbox,\n\t\tsandboxMode,\n\t\tdisposeSandbox: cleanupSandbox,\n\t};\n}\n"]}
@@ -13,7 +13,9 @@ export interface Args {
13
13
  continue?: boolean;
14
14
  resume?: boolean;
15
15
  help?: boolean;
16
+ helpHidden?: boolean;
16
17
  version?: boolean;
18
+ listModesAll?: boolean;
17
19
  mode?: Mode;
18
20
  /** Run in headless mode for native TUI communication */
19
21
  headless?: boolean;
@@ -24,13 +26,14 @@ export interface Args {
24
26
  subcommand?: string;
25
27
  /** Raw arguments owned by command-group handlers. */
26
28
  commandArgs?: string[];
29
+ contextLiveMcp?: boolean;
27
30
  approvalMode?: "auto" | "prompt" | "fail";
28
31
  authMode?: "auto" | "api-key" | "claude";
29
32
  force?: boolean;
30
33
  execJson?: boolean;
31
34
  execFullAuto?: boolean;
32
35
  execReadOnly?: boolean;
33
- /** Sandbox mode: "docker", "local", "native", or "none" */
36
+ /** Sandbox backend or policy mode */
34
37
  sandbox?: string;
35
38
  execOutputSchema?: string;
36
39
  execOutputLast?: string;
@@ -49,6 +52,11 @@ export interface Args {
49
52
  composer?: string;
50
53
  exportFormat?: string;
51
54
  redactSecrets?: boolean;
55
+ junitPath?: string;
56
+ /** Open a real agent session backed by a scripted replay scenario. */
57
+ replayScenarioPath?: string;
58
+ /** Record assistant turns into a scripted replay scenario file. */
59
+ recordScenarioPath?: string;
52
60
  }
53
61
  export declare function parseArgs(args: string[]): Args;
54
62
  //# sourceMappingURL=args.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;CACxB;AAsCD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAyL9C"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../src/cli/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,wDAAwD;IACxD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mEAAmE;IACnE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAyP9C"}