@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":"system-prompt.js","sourceRoot":"","sources":["../../src/cli/system-prompt.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\tcloseSync,\n\texistsSync,\n\topenSync,\n\treadFileSync,\n\treadSync,\n\tstatSync,\n} from \"node:fs\";\nimport { join, resolve } from \"node:path\";\nimport chalk from \"chalk\";\nimport { buildSearchGuidelines } from \"../agent/search-guidance.js\";\nimport { getAgentDir } from \"../config/constants.js\";\nimport {\n\ttype ComposerConfig,\n\tloadConfig,\n\tresolveLoadedAppendSystemPromptPath,\n\tresolveProjectDocCandidateFilenames,\n} from \"../config/index.js\";\n\n// Tool descriptions for dynamic system prompt generation\nconst TOOL_DESCRIPTIONS: Record<string, string> = {\n\tread: \"Read file contents\",\n\tlist: \"List files and directories safely using glob patterns\",\n\tfind: \"Fast file search using fd with glob patterns. Respects .gitignore. Use for discovering files across large codebases.\",\n\tsearch: \"Search files with ripgrep (pattern, glob, context options)\",\n\tparallel_ripgrep:\n\t\t\"Run multiple ripgrep searches in parallel, merge overlapping matches into line ranges, and return their content.\",\n\tdiff: \"Inspect git diffs (workspace, staged, or revision ranges)\",\n\tbash: \"Execute bash commands (ls, grep, find, etc.)\",\n\tbackground_tasks:\n\t\t\"Launch and manage long-running commands asynchronously. `start` requires `command` (optional `cwd`, `env`, `shell`, per-task `limits`, and `restart={maxAttempts, delayMs, strategy?, maxDelayMs?, jitterRatio?}`), `stop`/`logs` require `taskId`, and `logs` accepts `lines` (default 40).\",\n\tedit: \"Make surgical edits to files (find exact text and replace)\",\n\twrite: \"Create or overwrite files\",\n\ttodo: 'Produce TodoWrite-style checklists. Provide payload { goal: \"...\", items: [{ content: \"...\", status: \"pending\", priority: \"medium\" }] } (items may also be a JSON string) and optionally supply updates [{ id: \"...\", status: \"completed\" }] to check off existing tasks.',\n\twebsearch:\n\t\t'Search the web using Exa AI for real-time information beyond training cutoff. Returns LLM-optimized context by default. Use for: current events (after training cutoff), recent news, company information, research papers. Supports domain filtering (includeDomains: [\"arxiv.org\"]) and categories (category: \"research paper\").',\n\tcodesearch:\n\t\t'Search billions of GitHub repos, docs, and Stack Overflow for code examples. ALWAYS use this FIRST for any programming question before searching local files. Returns working code snippets with source URLs. Examples: \"how to use Exa search in python\", \"React hooks patterns\", \"Express middleware authentication\".',\n\twebfetch:\n\t\t\"Fetch and extract content from specific URLs. More efficient than websearch when URL is known. Use for reading documentation pages, articles, or when you have specific URLs to analyze.\",\n\tstatus: \"Get git repository status and information\",\n\tgh_pr: \"Manage GitHub Pull Requests using gh CLI\",\n\tgh_issue: \"Manage GitHub Issues using gh CLI\",\n\tgh_repo: \"Manage GitHub Repositories using gh CLI\",\n\tpipeline_search_contacts:\n\t\t\"Search Pipeline CRM contacts through the internal evalops Pipeline service. Requires PIPELINE_API_URL and PIPELINE_SERVICE_TOKEN.\",\n\tpipeline_search_deals:\n\t\t\"Search Pipeline CRM deals through the internal evalops Pipeline service. Requires PIPELINE_API_URL and PIPELINE_SERVICE_TOKEN.\",\n\tpipeline_create_signal:\n\t\t\"Create a signal in Pipeline CRM through the internal evalops Pipeline service. Requires PIPELINE_API_URL and PIPELINE_SERVICE_TOKEN.\",\n\tpipeline_log_activity:\n\t\t\"Log a customer, deal, or company activity in Pipeline CRM through the internal evalops Pipeline service. Requires PIPELINE_API_URL and PIPELINE_SERVICE_TOKEN.\",\n};\n\nfunction buildToolsSection(toolNames: string[]): string {\n\tconst lines = [\"Available tools:\"];\n\tfor (const name of toolNames) {\n\t\tconst desc = TOOL_DESCRIPTIONS[name];\n\t\tif (desc) {\n\t\t\tlines.push(`- ${name}: ${desc}`);\n\t\t}\n\t}\n\treturn lines.join(\"\\n\");\n}\n\nexport function resolveSystemPromptOverride(value?: string): string | null {\n\tif (!value) return null;\n\tif (existsSync(value)) {\n\t\ttry {\n\t\t\treturn readFileSync(value, \"utf-8\");\n\t\t} catch (error) {\n\t\t\tconsole.error(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t`Warning: Could not read system prompt file ${value}: ${error}`,\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\t}\n\treturn value;\n}\n\nfunction resolvePromptInputPath(value?: string): string | null {\n\tif (!value || !existsSync(value)) {\n\t\treturn null;\n\t}\n\treturn resolve(value);\n}\n\nexport function resolveExplicitSystemPromptSourcePaths(\n\tcustomPrompt?: string,\n\tappendPrompt?: string,\n): string[] {\n\treturn [\n\t\t...new Set(\n\t\t\t[customPrompt, appendPrompt]\n\t\t\t\t.map((value) => resolvePromptInputPath(value))\n\t\t\t\t.filter((value): value is string => typeof value === \"string\"),\n\t\t),\n\t];\n}\n\nfunction loadAppendSystemPrompt(cwd: string): string | null {\n\tconst appendSystemPath = resolveLoadedAppendSystemPromptPath(cwd);\n\treturn appendSystemPath\n\t\t? resolveSystemPromptOverride(appendSystemPath)\n\t\t: null;\n}\n\nfunction buildGuidelines(toolNames: Set<string>, currentYear: number): string {\n\tconst guidelines: string[] = [];\n\n\tguidelines.push(\n\t\t\"You can emit multiple tool calls in a single turn; the runtime will execute independent calls in parallel. No batch tool is needed—just include separate tool calls when parallelism helps.\",\n\t);\n\tguidelines.push(...buildSearchGuidelines(toolNames, currentYear));\n\n\tif (toolNames.has(\"bash\")) {\n\t\tguidelines.push(\n\t\t\t\"Always use bash tool for file operations like ls, grep, find\",\n\t\t);\n\t\tguidelines.push(\n\t\t\t\"Destructive commands (e.g., `rm -rf`, `mkfs`, `dd if=/dev/zero`, `chmod 000`) always require manual approval—even through `background_tasks`—so only run them when absolutely necessary\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"background_tasks\")) {\n\t\tguidelines.push(\n\t\t\t\"Running `background_tasks` with `shell: true` requires approval because it enables pipes/redirects/globbing; prefer direct exec unless shell mode is unavoidable\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"read\")) {\n\t\tguidelines.push(\"Use read to examine files before editing\");\n\t}\n\n\tif (toolNames.has(\"edit\")) {\n\t\tguidelines.push(\n\t\t\t\"Use edit for precise changes (old text must match exactly)\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"write\")) {\n\t\tguidelines.push(\"Use write only for new files or complete rewrites\");\n\t}\n\n\tif (toolNames.has(\"list\")) {\n\t\tguidelines.push(\n\t\t\t\"Use list to inspect directory structures when you only need filenames\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"find\")) {\n\t\tguidelines.push(\n\t\t\t\"Use find for fast file discovery with glob patterns across large codebases\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"search\")) {\n\t\tguidelines.push(\n\t\t\t\"Use search to locate relevant files or symbols before editing\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"diff\")) {\n\t\tguidelines.push(\n\t\t\t\"Use diff to review pending changes before summarizing or committing\",\n\t\t);\n\t}\n\n\t// Only add validation guidance if mutation tools are available\n\tif (\n\t\ttoolNames.has(\"edit\") ||\n\t\ttoolNames.has(\"write\") ||\n\t\ttoolNames.has(\"bash\")\n\t) {\n\t\tguidelines.push(\n\t\t\t\"After finishing any non-trivial set of code changes, run all required project validators (lint, tests, evals, etc.) before summarizing or committing unless the user explicitly waives them\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"todo\")) {\n\t\tguidelines.push(\n\t\t\t\"Use todo when you need a structured task list; supply a goal plus an items array shaped like TodoWrite entries or updates for existing tasks\",\n\t\t);\n\t}\n\n\t// Always include these\n\tguidelines.push(\"Be concise in your responses\");\n\tguidelines.push(\"Show file paths clearly when working with files\");\n\tguidelines.push(\n\t\t\"When evaluating new features, use precise, technical language\",\n\t);\n\tguidelines.push(\n\t\t'When the user specifies an explicit output token target such as \"+500k\", \"use 2M tokens\", or \"spend 1B tokens\", keep working until you approach that target productively instead of stopping early.',\n\t);\n\tguidelines.push(\n\t\t\"Length limits: keep text between tool calls to <=25 words. Keep final responses to <=100 words unless the task requires more detail.\",\n\t);\n\tguidelines.push(\"Avoid unnecessary emojis unless humor improves clarity\");\n\tguidelines.push(\n\t\t\"Do NOT create summary documents or CHANGELOG files unless explicitly requested by the user\",\n\t);\n\n\treturn `Guidelines:\\n${guidelines.map((g) => `- ${g}`).join(\"\\n\")}`;\n}\n\ninterface ContextFile {\n\tpath: string;\n\tcontent: string;\n}\n\ninterface ContextFileOptions {\n\tcandidates: string[];\n\tmaxBytes?: number;\n}\n\ninterface ReadContextResult {\n\tcontent: string;\n\ttruncated: boolean;\n\tbytesRead: number;\n\toriginalSize?: number;\n\tmaxBytes?: number;\n}\n\nfunction truncateUtf8(\n\tbuffer: Buffer,\n\tmaxBytes: number,\n): {\n\tcontent: string;\n\tbytes: number;\n} {\n\tlet end = Math.min(maxBytes, buffer.length);\n\tif (end === 0) {\n\t\treturn { content: \"\", bytes: 0 };\n\t}\n\n\tlet start = end - 1;\n\twhile (start >= 0) {\n\t\tconst byte = buffer[start];\n\t\tif (byte === undefined) {\n\t\t\treturn { content: \"\", bytes: 0 };\n\t\t}\n\t\tif ((byte & 0b1100_0000) !== 0b1000_0000) {\n\t\t\tbreak;\n\t\t}\n\t\tstart -= 1;\n\t}\n\n\tif (start < 0) {\n\t\treturn { content: \"\", bytes: 0 };\n\t}\n\n\tconst lead = buffer[start];\n\tif (lead === undefined) {\n\t\treturn { content: \"\", bytes: 0 };\n\t}\n\tlet expected = 1;\n\tif ((lead & 0b1000_0000) === 0) {\n\t\texpected = 1;\n\t} else if ((lead & 0b1110_0000) === 0b1100_0000) {\n\t\texpected = 2;\n\t} else if ((lead & 0b1111_0000) === 0b1110_0000) {\n\t\texpected = 3;\n\t} else if ((lead & 0b1111_1000) === 0b1111_0000) {\n\t\texpected = 4;\n\t} else {\n\t\tend = start;\n\t}\n\n\tif (start + expected > end) {\n\t\tend = start;\n\t}\n\n\tconst slice = buffer.slice(0, Math.max(0, end));\n\treturn { content: slice.toString(\"utf-8\"), bytes: slice.length };\n}\n\nfunction readContextFile(\n\tfilePath: string,\n\tmaxBytes?: number,\n): ReadContextResult | null {\n\tif (maxBytes !== undefined && maxBytes > 0) {\n\t\tconst stats = statSync(filePath);\n\t\tif (stats.size > maxBytes) {\n\t\t\tconst fd = openSync(filePath, \"r\");\n\t\t\ttry {\n\t\t\t\tconst buffer = Buffer.alloc(maxBytes);\n\t\t\t\tconst bytesRead = readSync(fd, buffer, 0, maxBytes, 0);\n\t\t\t\tconst truncated = truncateUtf8(buffer, bytesRead);\n\t\t\t\treturn {\n\t\t\t\t\tcontent: truncated.content,\n\t\t\t\t\ttruncated: true,\n\t\t\t\t\tbytesRead: truncated.bytes,\n\t\t\t\t\toriginalSize: stats.size,\n\t\t\t\t\tmaxBytes,\n\t\t\t\t};\n\t\t\t} finally {\n\t\t\t\tcloseSync(fd);\n\t\t\t}\n\t\t}\n\t}\n\tconst content = readFileSync(filePath, \"utf-8\");\n\treturn {\n\t\tcontent,\n\t\ttruncated: false,\n\t\tbytesRead: Buffer.byteLength(content),\n\t};\n}\n\ninterface ContextFileLoadResult {\n\tfile: ContextFile;\n\tbytesRead: number;\n}\n\nfunction loadContextFileFromDir(\n\tdir: string,\n\toptions: ContextFileOptions & { remainingBytes?: number },\n): ContextFileLoadResult | null {\n\tconst { candidates, maxBytes, remainingBytes } = options;\n\tconst budget = remainingBytes ?? maxBytes;\n\tif (budget !== undefined && budget <= 0) {\n\t\treturn null;\n\t}\n\tfor (const filename of candidates) {\n\t\tconst filePath = join(dir, filename);\n\t\tif (existsSync(filePath)) {\n\t\t\ttry {\n\t\t\t\tconst result = readContextFile(filePath, budget);\n\t\t\t\tif (!result) return null;\n\t\t\t\tconst note = result.truncated\n\t\t\t\t\t? `\\n\\n[Truncated to ${result.bytesRead} bytes from ${result.originalSize} bytes.]`\n\t\t\t\t\t: \"\";\n\t\t\t\treturn {\n\t\t\t\t\tfile: {\n\t\t\t\t\t\tpath: filePath,\n\t\t\t\t\t\tcontent: `${result.content}${note}`,\n\t\t\t\t\t},\n\t\t\t\t\tbytesRead: result.bytesRead,\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tconsole.error(\n\t\t\t\t\tchalk.yellow(`Warning: Could not read ${filePath}: ${error}`),\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction resolveContextCandidates(config?: ComposerConfig): string[] {\n\treturn resolveProjectDocCandidateFilenames(config);\n}\n\nexport function loadProjectContextFiles(\n\tcwdOverride?: string,\n\toptions: { config?: ComposerConfig } = {},\n): ContextFile[] {\n\tconst contextFiles: ContextFile[] = [];\n\n\tconst cwd = cwdOverride ?? process.cwd();\n\tconst config = options.config ?? loadConfig(cwd);\n\tconst candidates = resolveContextCandidates(config);\n\tconst maxBytesRaw = config.project_doc_max_bytes;\n\tconst maxBytes =\n\t\ttypeof maxBytesRaw === \"number\"\n\t\t\t? Math.max(0, Math.floor(maxBytesRaw))\n\t\t\t: undefined;\n\tlet remainingBytes = maxBytes;\n\tif (remainingBytes === 0) {\n\t\treturn contextFiles;\n\t}\n\n\tconst globalContextDir = resolve(getAgentDir());\n\tconst globalContext = loadContextFileFromDir(globalContextDir, {\n\t\tcandidates,\n\t\tmaxBytes,\n\t\tremainingBytes,\n\t});\n\tif (globalContext) {\n\t\tcontextFiles.push(globalContext.file);\n\t\tif (remainingBytes !== undefined) {\n\t\t\tremainingBytes = Math.max(0, remainingBytes - globalContext.bytesRead);\n\t\t}\n\t}\n\n\tconst directories: string[] = [];\n\tlet currentDir = cwd;\n\tconst root = resolve(\"/\");\n\n\twhile (true) {\n\t\tdirectories.push(currentDir);\n\t\tif (currentDir === root) break;\n\n\t\tconst parentDir = resolve(currentDir, \"..\");\n\t\tif (parentDir === currentDir) break;\n\t\tcurrentDir = parentDir;\n\t}\n\n\tdirectories.reverse();\n\n\tfor (const dir of directories) {\n\t\tif (remainingBytes === 0) break;\n\t\tconst contextFile = loadContextFileFromDir(dir, {\n\t\t\tcandidates,\n\t\t\tmaxBytes,\n\t\t\tremainingBytes,\n\t\t});\n\t\tif (contextFile) {\n\t\t\tcontextFiles.push(contextFile.file);\n\t\t\tif (remainingBytes !== undefined) {\n\t\t\t\tremainingBytes = Math.max(0, remainingBytes - contextFile.bytesRead);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn contextFiles;\n}\n\n// Default tool names when no filter is applied\nconst DEFAULT_TOOL_NAMES = [\n\t\"read\",\n\t\"list\",\n\t\"find\",\n\t\"search\",\n\t\"diff\",\n\t\"bash\",\n\t\"background_tasks\",\n\t\"edit\",\n\t\"write\",\n\t\"todo\",\n\t\"websearch\",\n\t\"codesearch\",\n\t\"webfetch\",\n\t\"status\",\n\t\"gh_pr\",\n\t\"gh_issue\",\n\t\"gh_repo\",\n\t\"pipeline_search_contacts\",\n\t\"pipeline_search_deals\",\n\t\"pipeline_create_signal\",\n\t\"pipeline_log_activity\",\n];\n\nfunction formatCurrentDateTime(): string {\n\treturn new Date().toLocaleString(\"en-US\", {\n\t\tweekday: \"long\",\n\t\tyear: \"numeric\",\n\t\tmonth: \"long\",\n\t\tday: \"numeric\",\n\t\thour: \"2-digit\",\n\t\tminute: \"2-digit\",\n\t\tsecond: \"2-digit\",\n\t\ttimeZoneName: \"short\",\n\t});\n}\n\nexport function buildBundledSystemPromptBase(toolNames?: string[]): string {\n\tconst currentYear = new Date().getFullYear();\n\tconst activeToolNames = toolNames ?? DEFAULT_TOOL_NAMES;\n\tconst toolNameSet = new Set(activeToolNames);\n\n\treturn `You are an expert coding assistant. You help users with coding tasks by reading files, executing commands, editing code, and writing new files.\n\n${buildToolsSection(activeToolNames)}\n\n${buildGuidelines(toolNameSet, currentYear)}`;\n}\n\nexport function finalizeSystemPrompt(\n\tbasePrompt: string,\n\tappendPrompt?: string,\n\tcwd = process.cwd(),\n): string {\n\tconst appendSource =\n\t\tresolveSystemPromptOverride(appendPrompt) ?? loadAppendSystemPrompt(cwd);\n\tconst appendText = appendSource?.trim();\n\tlet prompt = basePrompt;\n\tconst contextFiles = loadProjectContextFiles(cwd);\n\tif (contextFiles.length > 0) {\n\t\tprompt += \"\\n\\n# Project Context\\n\\n\";\n\t\tprompt += \"The following project context files have been loaded:\\n\\n\";\n\t\tfor (const { path, content } of contextFiles) {\n\t\t\tprompt += `## ${path}\\n\\n${content}\\n\\n`;\n\t\t}\n\t}\n\n\tif (appendText) {\n\t\tprompt += \"\\n\\n# Additional System Instructions\\n\\n\";\n\t\tprompt += `${appendText}\\n\\n`;\n\t}\n\n\tprompt += `\\nCurrent date and time: ${formatCurrentDateTime()}`;\n\tprompt += `\\nCurrent working directory: ${cwd}`;\n\n\treturn prompt;\n}\n\nexport function buildSystemPrompt(\n\tcustomPrompt?: string,\n\ttoolNames?: string[],\n\tappendPrompt?: string,\n): string {\n\tconst promptSource =\n\t\tresolveSystemPromptOverride(customPrompt) ??\n\t\tbuildBundledSystemPromptBase(toolNames);\n\treturn finalizeSystemPrompt(promptSource, appendPrompt);\n}\n"]}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/cli/system-prompt.ts"],"names":[],"mappings":"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","sourcesContent":["import { existsSync, readFileSync, readdirSync, statSync } from \"node:fs\";\nimport type { Dirent } from \"node:fs\";\nimport { basename, dirname, join, resolve } from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport {\n\ttype RuntimeConstraintContext,\n\ttype RuntimeNetworkAccess,\n\tbuildRuntimeConstraintPrompt,\n\tisSandboxModeEnabled,\n} from \"@evalops/contracts\";\nimport chalk from \"chalk\";\nimport { buildSearchGuidelines } from \"../agent/search-guidance.js\";\nimport {\n\ttype ComposerConfig,\n\ttype PromptProjectDocManifest,\n\ttype PromptProjectDocManifestEntry,\n\tloadPromptProjectDocManifest,\n\tresolveLoadedAppendSystemPromptPath,\n} from \"../config/index.js\";\nimport {\n\tDEFAULT_GUARDED_FILE_RULES,\n\tfindDefaultGuardedFileMatch,\n} from \"../safety/guarded-files.js\";\n\n// Tool descriptions for dynamic system prompt generation\nconst TOOL_DESCRIPTIONS: Record<string, string> = {\n\tread: \"Read file contents\",\n\tlist: \"List files and directories safely using glob patterns\",\n\tfind: \"Fast file search using fd with glob patterns. Respects .gitignore. Use for discovering files across large codebases.\",\n\tsearch: \"Search files with ripgrep (pattern, glob, context options)\",\n\tparallel_ripgrep:\n\t\t\"Run multiple ripgrep searches in parallel, merge overlapping matches into line ranges, and return their content.\",\n\tdiff: \"Inspect git diffs (workspace, staged, or revision ranges)\",\n\tbash: \"Execute bash commands (ls, grep, find, etc.)\",\n\tbackground_tasks:\n\t\t\"Launch and manage long-running commands asynchronously. `start` requires `command` (optional `cwd`, `env`, `shell`, per-task `limits`, and `restart={maxAttempts, delayMs, strategy?, maxDelayMs?, jitterRatio?}`), `stop`/`logs` require `taskId`, and `logs` accepts `lines` (default 40).\",\n\tedit: \"Make surgical edits to files (find exact text and replace)\",\n\twrite: \"Create or overwrite files\",\n\ttodo: 'Produce TodoWrite-style checklists. Provide payload { goal: \"...\", items: [{ content: \"...\", status: \"pending\", priority: \"medium\" }] } (items may also be a JSON string) and optionally supply updates [{ id: \"...\", status: \"completed\" }] to check off existing tasks.',\n\twebsearch:\n\t\t'Search the web using Exa AI for real-time information beyond training cutoff. Returns LLM-optimized context by default. Use for: current events (after training cutoff), recent news, company information, research papers. Supports domain filtering (includeDomains: [\"arxiv.org\"]) and categories (category: \"research paper\").',\n\tcodesearch:\n\t\t'Search billions of GitHub repos, docs, and Stack Overflow for code examples. ALWAYS use this FIRST for any programming question before searching local files. Returns working code snippets with source URLs. Examples: \"how to use Exa search in python\", \"React hooks patterns\", \"Express middleware authentication\".',\n\twebfetch:\n\t\t\"Fetch and extract content from specific URLs. More efficient than websearch when URL is known. Use for reading documentation pages, articles, or when you have specific URLs to analyze.\",\n\tstatus: \"Get git repository status and information\",\n\tgh_pr: \"Manage GitHub Pull Requests using gh CLI\",\n\tgh_issue: \"Manage GitHub Issues using gh CLI\",\n\tgh_repo: \"Manage GitHub Repositories using gh CLI\",\n\tpipeline_search_contacts:\n\t\t\"Search Pipeline CRM contacts through the internal evalops Pipeline service. Requires PIPELINE_API_URL and PIPELINE_SERVICE_TOKEN.\",\n\tpipeline_search_deals:\n\t\t\"Search Pipeline CRM deals through the internal evalops Pipeline service. Requires PIPELINE_API_URL and PIPELINE_SERVICE_TOKEN.\",\n\tpipeline_create_signal:\n\t\t\"Create a signal in Pipeline CRM through the internal evalops Pipeline service. Requires PIPELINE_API_URL and PIPELINE_SERVICE_TOKEN.\",\n\tpipeline_log_activity:\n\t\t\"Log a customer, deal, or company activity in Pipeline CRM through the internal evalops Pipeline service. Requires PIPELINE_API_URL and PIPELINE_SERVICE_TOKEN.\",\n};\n\nfunction buildToolsSection(toolNames: string[]): string {\n\tconst lines = [\"Available tools:\"];\n\tfor (const name of toolNames) {\n\t\tconst desc = TOOL_DESCRIPTIONS[name];\n\t\tif (desc) {\n\t\t\tlines.push(`- ${name}: ${desc}`);\n\t\t}\n\t}\n\treturn lines.join(\"\\n\");\n}\n\nexport function resolveSystemPromptOverride(value?: string): string | null {\n\tif (!value) return null;\n\tif (existsSync(value)) {\n\t\ttry {\n\t\t\treturn readFileSync(value, \"utf-8\");\n\t\t} catch (error) {\n\t\t\tconsole.error(\n\t\t\t\tchalk.yellow(\n\t\t\t\t\t`Warning: Could not read system prompt file ${value}: ${error}`,\n\t\t\t\t),\n\t\t\t);\n\t\t\treturn null;\n\t\t}\n\t}\n\treturn value;\n}\n\nfunction resolvePromptInputPath(value?: string): string | null {\n\tif (!value || !existsSync(value)) {\n\t\treturn null;\n\t}\n\treturn resolve(value);\n}\n\nexport function resolveExplicitSystemPromptSourcePaths(\n\tcustomPrompt?: string,\n\tappendPrompt?: string,\n): string[] {\n\treturn [\n\t\t...new Set(\n\t\t\t[customPrompt, appendPrompt]\n\t\t\t\t.map((value) => resolvePromptInputPath(value))\n\t\t\t\t.filter((value): value is string => typeof value === \"string\"),\n\t\t),\n\t];\n}\n\nfunction loadAppendSystemPrompt(cwd: string): string | null {\n\tconst appendSystemPath = resolveLoadedAppendSystemPromptPath(cwd);\n\treturn appendSystemPath\n\t\t? resolveSystemPromptOverride(appendSystemPath)\n\t\t: null;\n}\n\ninterface RuntimeConstraintDetectionOptions {\n\tcwd?: string;\n\tsandboxMode?: string | null;\n\tsandboxEnabled?: boolean;\n\treadOnly?: boolean;\n\tenv?: Record<string, string | undefined>;\n}\n\nexport interface FinalizeSystemPromptOptions {\n\truntimeConstraints?: RuntimeConstraintContext | null;\n\tpromptContextManifest?: PromptProjectDocManifest;\n}\n\nfunction readEnvFlag(\n\tenv: Record<string, string | undefined>,\n\tname: string,\n): boolean {\n\tconst value = env[name]?.trim().toLowerCase();\n\treturn value === \"1\" || value === \"true\" || value === \"yes\" || value === \"on\";\n}\n\nfunction normalizeNetworkAccess(\n\tvalue?: string,\n): RuntimeNetworkAccess | undefined {\n\tconst normalized = value?.trim().toLowerCase();\n\tif (!normalized) {\n\t\treturn undefined;\n\t}\n\tif (\n\t\tnormalized === \"disabled\" ||\n\t\tnormalized === \"offline\" ||\n\t\tnormalized === \"none\" ||\n\t\tnormalized === \"no-network\"\n\t) {\n\t\treturn \"disabled\";\n\t}\n\tif (\n\t\tnormalized === \"restricted\" ||\n\t\tnormalized === \"firewall\" ||\n\t\tnormalized === \"gated\"\n\t) {\n\t\treturn \"restricted\";\n\t}\n\tif (normalized === \"available\" || normalized === \"enabled\") {\n\t\treturn \"available\";\n\t}\n\treturn \"unknown\";\n}\n\nfunction resolveGitDirectoryAtPath(path: string): string | null {\n\tconst gitPath = join(path, \".git\");\n\ttry {\n\t\tconst gitStat = statSync(gitPath);\n\t\tif (gitStat.isDirectory()) {\n\t\t\treturn gitPath;\n\t\t}\n\t\tif (!gitStat.isFile()) {\n\t\t\treturn null;\n\t\t}\n\t\tconst gitFile = readFileSync(gitPath, \"utf8\");\n\t\tconst match = /^gitdir:\\s*(.+?)\\s*$/m.exec(gitFile);\n\t\tconst gitDir = match?.[1];\n\t\tif (!gitDir) {\n\t\t\treturn null;\n\t\t}\n\t\treturn resolve(path, gitDir);\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction resolveGitDirectory(cwd: string): string | null {\n\tlet current = resolve(cwd);\n\twhile (true) {\n\t\tconst gitDir = resolveGitDirectoryAtPath(current);\n\t\tif (gitDir) {\n\t\t\treturn gitDir;\n\t\t}\n\t\tconst parent = dirname(current);\n\t\tif (parent === current) {\n\t\t\treturn null;\n\t\t}\n\t\tcurrent = parent;\n\t}\n}\n\nfunction resolveGitCommonDirectory(gitDir: string): string {\n\ttry {\n\t\tconst commonDir = readFileSync(join(gitDir, \"commondir\"), \"utf8\").trim();\n\t\tif (commonDir) {\n\t\t\treturn resolve(gitDir, commonDir);\n\t\t}\n\t} catch {\n\t\t// Older/non-worktree repositories do not have a commondir file.\n\t}\n\treturn gitDir;\n}\n\nfunction isShallowGitCheckout(cwd: string): boolean {\n\tconst gitDir = resolveGitDirectory(cwd);\n\tif (!gitDir) {\n\t\treturn false;\n\t}\n\tconst commonGitDir = resolveGitCommonDirectory(gitDir);\n\treturn (\n\t\texistsSync(join(commonGitDir, \"shallow\")) ||\n\t\texistsSync(join(gitDir, \"shallow\"))\n\t);\n}\n\nexport function detectRuntimeConstraintContext(\n\toptions: RuntimeConstraintDetectionOptions = {},\n): RuntimeConstraintContext {\n\tconst cwd = options.cwd ?? process.cwd();\n\tconst env = options.env ?? process.env;\n\tconst sandboxMode =\n\t\toptions.sandboxMode ??\n\t\tenv.MAESTRO_SANDBOX_MODE ??\n\t\tenv.CODEX_SANDBOX_MODE ??\n\t\tenv.MAESTRO_SANDBOX ??\n\t\tnull;\n\tconst networkAccess =\n\t\treadEnvFlag(env, \"MAESTRO_OFFLINE_EVAL\") ||\n\t\treadEnvFlag(env, \"CODEX_OFFLINE_EVAL\")\n\t\t\t? \"disabled\"\n\t\t\t: normalizeNetworkAccess(\n\t\t\t\t\tenv.MAESTRO_NETWORK_ACCESS ?? env.CODEX_NETWORK_ACCESS,\n\t\t\t\t);\n\n\treturn {\n\t\tsandboxMode,\n\t\tsandboxEnabled: options.sandboxEnabled ?? isSandboxModeEnabled(sandboxMode),\n\t\tisShallowGitCheckout: isShallowGitCheckout(cwd),\n\t\treadOnly:\n\t\t\toptions.readOnly ??\n\t\t\t(readEnvFlag(env, \"MAESTRO_READ_ONLY\") ||\n\t\t\t\treadEnvFlag(env, \"CODEX_READ_ONLY\")),\n\t\tnetworkAccess,\n\t\thostedRunner:\n\t\t\treadEnvFlag(env, \"MAESTRO_HOSTED_RUNNER\") ||\n\t\t\tenv.MAESTRO_RUNNER_KIND?.trim().toLowerCase() === \"hosted\",\n\t\tfirewallRestricted:\n\t\t\treadEnvFlag(env, \"MAESTRO_FIREWALL_RESTRICTED\") ||\n\t\t\treadEnvFlag(env, \"CODEX_FIREWALL_RESTRICTED\"),\n\t\trunnerImage: env.MAESTRO_RUNNER_IMAGE ?? null,\n\t};\n}\n\nfunction buildGuidelines(toolNames: Set<string>, currentYear: number): string {\n\tconst guidelines: string[] = [];\n\n\tguidelines.push(\n\t\t\"You can emit multiple tool calls in a single turn; the runtime will execute independent calls in parallel. No batch tool is needed—just include separate tool calls when parallelism helps.\",\n\t);\n\tguidelines.push(\n\t\t\"Emit independent safe tool calls together when their inputs are known, including read-only inspections, trusted MCP reads, and disjoint file mutations with explicit paths.\",\n\t);\n\tguidelines.push(\n\t\t\"Avoid one-tool-per-turn inspection chains: when the next few read/list/search calls are already known and independent, emit them together.\",\n\t);\n\tguidelines.push(...buildSearchGuidelines(toolNames, currentYear));\n\n\tif (toolNames.has(\"bash\")) {\n\t\tguidelines.push(\n\t\t\t\"Always use bash tool for file operations like ls, grep, find\",\n\t\t);\n\t\tguidelines.push(\n\t\t\t\"Destructive commands (e.g., `rm -rf`, `mkfs`, `dd if=/dev/zero`, `chmod 000`) always require manual approval—even through `background_tasks`—so only run them when absolutely necessary\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"background_tasks\")) {\n\t\tguidelines.push(\n\t\t\t\"Running `background_tasks` with `shell: true` requires approval because it enables pipes/redirects/globbing; prefer direct exec unless shell mode is unavoidable\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"read\")) {\n\t\tguidelines.push(\"Use read to examine files before editing\");\n\t}\n\n\tif (toolNames.has(\"edit\")) {\n\t\tguidelines.push(\n\t\t\t\"Use edit for precise changes (old text must match exactly)\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"write\")) {\n\t\tguidelines.push(\"Use write only for new files or complete rewrites\");\n\t}\n\n\tif (toolNames.has(\"list\")) {\n\t\tguidelines.push(\n\t\t\t\"Use list to inspect directory structures when you only need filenames\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"find\")) {\n\t\tguidelines.push(\n\t\t\t\"Use find for fast file discovery with glob patterns across large codebases\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"search\")) {\n\t\tguidelines.push(\n\t\t\t\"Use search to locate relevant files or symbols before editing\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"diff\")) {\n\t\tguidelines.push(\n\t\t\t\"Use diff to review pending changes before summarizing or committing\",\n\t\t);\n\t}\n\n\t// Only add validation guidance if mutation tools are available\n\tif (\n\t\ttoolNames.has(\"edit\") ||\n\t\ttoolNames.has(\"write\") ||\n\t\ttoolNames.has(\"bash\")\n\t) {\n\t\tguidelines.push(\n\t\t\t\"After finishing any non-trivial set of code changes, run all required project validators (lint, tests, evals, etc.) before summarizing or committing unless the user explicitly waives them\",\n\t\t);\n\t}\n\n\tif (toolNames.has(\"todo\")) {\n\t\tguidelines.push(\n\t\t\t\"Use todo when you need a structured task list; supply a goal plus an items array shaped like TodoWrite entries or updates for existing tasks\",\n\t\t);\n\t}\n\n\t// Always include these\n\tguidelines.push(\"Be concise in your responses\");\n\tguidelines.push(\"Show file paths clearly when working with files\");\n\tguidelines.push(\n\t\t\"When evaluating new features, use precise, technical language\",\n\t);\n\tguidelines.push(\n\t\t'When the user specifies an explicit output token target such as \"+500k\", \"use 2M tokens\", or \"spend 1B tokens\", keep working until you approach that target productively instead of stopping early.',\n\t);\n\tguidelines.push(\n\t\t\"Length limits: keep text between tool calls to <=25 words. Keep final responses to <=100 words unless the task requires more detail.\",\n\t);\n\tguidelines.push(\"Avoid unnecessary emojis unless humor improves clarity\");\n\tguidelines.push(\n\t\t\"Do NOT create summary documents or CHANGELOG files unless explicitly requested by the user\",\n\t);\n\n\treturn `Guidelines:\\n${guidelines.map((g) => `- ${g}`).join(\"\\n\")}`;\n}\n\nexport interface ContextFile {\n\tpath: string;\n\tcontent: string;\n}\n\nexport function truncateUtf8(\n\tbuffer: Buffer,\n\tmaxBytes: number,\n): {\n\tcontent: string;\n\tbytes: number;\n} {\n\tlet end = Math.min(maxBytes, buffer.length);\n\tif (end === 0) {\n\t\treturn { content: \"\", bytes: 0 };\n\t}\n\n\tlet start = end - 1;\n\twhile (start >= 0) {\n\t\tconst byte = buffer[start];\n\t\tif (byte === undefined) {\n\t\t\treturn { content: \"\", bytes: 0 };\n\t\t}\n\t\tif ((byte & 0b1100_0000) !== 0b1000_0000) {\n\t\t\tbreak;\n\t\t}\n\t\tstart -= 1;\n\t}\n\n\tif (start < 0) {\n\t\treturn { content: \"\", bytes: 0 };\n\t}\n\n\tconst lead = buffer[start];\n\tif (lead === undefined) {\n\t\treturn { content: \"\", bytes: 0 };\n\t}\n\tlet expected = 1;\n\tif ((lead & 0b1000_0000) === 0) {\n\t\texpected = 1;\n\t} else if ((lead & 0b1110_0000) === 0b1100_0000) {\n\t\texpected = 2;\n\t} else if ((lead & 0b1111_0000) === 0b1110_0000) {\n\t\texpected = 3;\n\t} else if ((lead & 0b1111_1000) === 0b1111_0000) {\n\t\texpected = 4;\n\t} else {\n\t\tend = start;\n\t}\n\n\tif (start + expected > end) {\n\t\tend = start;\n\t}\n\n\tconst slice = buffer.slice(0, Math.max(0, end));\n\treturn { content: slice.toString(\"utf-8\"), bytes: slice.length };\n}\n\nexport function loadProjectContextFiles(\n\tcwdOverride?: string,\n\toptions: { config?: ComposerConfig } = {},\n): ContextFile[] {\n\treturn loadPromptProjectDocManifest(cwdOverride, options.config).entries.map(\n\t\t(entry) => ({\n\t\t\tpath: entry.path,\n\t\t\tcontent: entry.content,\n\t\t}),\n\t);\n}\n\nfunction formatProjectContextFile(\n\tfile: ContextFile | PromptProjectDocManifestEntry,\n): string {\n\tconst filename = basename(file.path);\n\tconst dir = dirname(file.path);\n\treturn [\n\t\t`# ${filename} instructions for ${dir}`,\n\t\t\"\",\n\t\t\"<INSTRUCTIONS>\",\n\t\tfile.content.trimEnd(),\n\t\t\"</INSTRUCTIONS>\",\n\t\t\"\",\n\t\t\"\",\n\t].join(\"\\n\");\n}\n\n// Default tool names when no filter is applied\nconst DEFAULT_TOOL_NAMES = [\n\t\"read\",\n\t\"list\",\n\t\"find\",\n\t\"search\",\n\t\"diff\",\n\t\"bash\",\n\t\"background_tasks\",\n\t\"edit\",\n\t\"write\",\n\t\"todo\",\n\t\"websearch\",\n\t\"codesearch\",\n\t\"webfetch\",\n\t\"status\",\n\t\"gh_pr\",\n\t\"gh_issue\",\n\t\"gh_repo\",\n\t\"pipeline_search_contacts\",\n\t\"pipeline_search_deals\",\n\t\"pipeline_create_signal\",\n\t\"pipeline_log_activity\",\n];\n\nfunction formatCurrentDateTime(): string {\n\treturn new Date().toLocaleString(\"en-US\", {\n\t\tweekday: \"long\",\n\t\tyear: \"numeric\",\n\t\tmonth: \"long\",\n\t\tday: \"numeric\",\n\t\thour: \"2-digit\",\n\t\tminute: \"2-digit\",\n\t\tsecond: \"2-digit\",\n\t\ttimeZoneName: \"short\",\n\t});\n}\n\nconst GUARDED_WORKSPACE_SCAN_IGNORES = new Set([\n\t\".git\",\n\t\".hg\",\n\t\".svn\",\n\t\"node_modules\",\n\t\"dist\",\n\t\"build\",\n\t\"coverage\",\n\t\".next\",\n\t\".turbo\",\n\t\".nx\",\n\t\".cache\",\n\t\"tmp\",\n]);\n\nfunction collectGuardedWorkspaceCategories(\n\tcwd: string,\n\toptions: { maxEntries?: number } = {},\n): string[] {\n\tconst maxEntries = options.maxEntries ?? 5000;\n\tconst categories = new Set<string>();\n\tconst stack = [cwd];\n\tlet entriesVisited = 0;\n\n\twhile (stack.length > 0 && entriesVisited < maxEntries) {\n\t\tconst dir = stack.pop();\n\t\tif (!dir) break;\n\n\t\tlet entries: Dirent[];\n\t\ttry {\n\t\t\tentries = readdirSync(dir, { withFileTypes: true });\n\t\t} catch {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfor (const entry of entries) {\n\t\t\tif (entriesVisited >= maxEntries) break;\n\t\t\tentriesVisited += 1;\n\t\t\tconst path = join(dir, entry.name);\n\t\t\tconst match = findDefaultGuardedFileMatch(path, { cwd });\n\t\t\tif (match) {\n\t\t\t\tcategories.add(match.category);\n\t\t\t}\n\t\t\tif (\n\t\t\t\tentry.isDirectory() &&\n\t\t\t\t!GUARDED_WORKSPACE_SCAN_IGNORES.has(entry.name)\n\t\t\t) {\n\t\t\t\tstack.push(path);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn DEFAULT_GUARDED_FILE_RULES.map((rule) => rule.category).filter(\n\t\t(category) => categories.has(category),\n\t);\n}\n\nfunction buildGuardedWorkspacePromptFragment(cwd: string): string | null {\n\tconst categories = collectGuardedWorkspaceCategories(cwd);\n\tif (categories.length === 0) {\n\t\treturn null;\n\t}\n\n\tconst categoryText = categories.join(\", \");\n\treturn [\n\t\t\"# Guarded Workspace Paths\",\n\t\t\"\",\n\t\t`This workspace contains paths covered by Maestro's default guarded-files policy: ${categoryText}.`,\n\t\t\"Ask for explicit user approval before attempting to read, list, search, execute against, or modify these guarded paths.\",\n\t].join(\"\\n\");\n}\n\nexport function buildFileCitationPromptFragment(cwd = process.cwd()): string {\n\tconst examplePath = join(cwd, \"src/auth/middleware.ts\");\n\tconst exampleUri = `${pathToFileURL(examplePath).href}#L42`;\n\n\treturn [\n\t\t\"# File Citations\",\n\t\t\"\",\n\t\t\"When mentioning a workspace file in any user-facing response, link it using Markdown with a `file:///` URI so every surface can make the reference clickable.\",\n\t\t\"Prefer the displayed text users expect to read, such as `src/auth/middleware.ts`, and percent-encode spaces and other URI characters in the link target.\",\n\t\t\"Include known line references as URL fragments, such as `#L42`, `#L42-L48`, or `#L42C8`.\",\n\t\t\"At GitHub comment boundaries, use repository blob URLs instead of local `file:///` URIs when repository metadata is available.\",\n\t\t`Good: See [src/auth/middleware.ts](${exampleUri}) for the validation logic.`,\n\t\t\"Bad: See src/auth/middleware.ts for the validation logic.\",\n\t].join(\"\\n\");\n}\n\nexport function buildBundledSystemPromptBase(toolNames?: string[]): string {\n\tconst currentYear = new Date().getFullYear();\n\tconst activeToolNames = toolNames ?? DEFAULT_TOOL_NAMES;\n\tconst toolNameSet = new Set(activeToolNames);\n\n\treturn `You are an expert coding assistant. You help users with coding tasks by reading files, executing commands, editing code, and writing new files.\n\n${buildToolsSection(activeToolNames)}\n\n${buildGuidelines(toolNameSet, currentYear)}`;\n}\n\nexport function finalizeSystemPrompt(\n\tbasePrompt: string,\n\tappendPrompt?: string,\n\tcwd = process.cwd(),\n\toptions: FinalizeSystemPromptOptions = {},\n): string {\n\tconst appendSource =\n\t\tresolveSystemPromptOverride(appendPrompt) ?? loadAppendSystemPrompt(cwd);\n\tconst appendText = appendSource?.trim();\n\tlet prompt = basePrompt;\n\tconst contextFiles =\n\t\toptions.promptContextManifest?.entries ?? loadProjectContextFiles(cwd);\n\tif (contextFiles.length > 0) {\n\t\tprompt += \"\\n\\n# Project Context\\n\\n\";\n\t\tprompt += \"The following project context files have been loaded:\\n\\n\";\n\t\tfor (const file of contextFiles) {\n\t\t\tprompt += formatProjectContextFile(file);\n\t\t}\n\t}\n\n\tconst guardedWorkspaceFragment = buildGuardedWorkspacePromptFragment(cwd);\n\tif (guardedWorkspaceFragment) {\n\t\tprompt += `\\n\\n${guardedWorkspaceFragment}\\n`;\n\t}\n\n\tconst runtimeConstraintPrompt = buildRuntimeConstraintPrompt(\n\t\toptions.runtimeConstraints,\n\t);\n\tif (runtimeConstraintPrompt) {\n\t\tprompt += `\\n\\n${runtimeConstraintPrompt}\\n`;\n\t}\n\n\tprompt += `\\n\\n${buildFileCitationPromptFragment(cwd)}\\n`;\n\n\tif (appendText) {\n\t\tprompt += \"\\n\\n# Additional System Instructions\\n\\n\";\n\t\tprompt += `${appendText}\\n\\n`;\n\t}\n\n\tprompt += `\\nCurrent date and time: ${formatCurrentDateTime()}`;\n\tprompt += `\\nCurrent working directory: ${cwd}`;\n\n\treturn prompt;\n}\n\nexport function buildSystemPrompt(\n\tcustomPrompt?: string,\n\ttoolNames?: string[],\n\tappendPrompt?: string,\n\toptions?: FinalizeSystemPromptOptions,\n): string {\n\tconst promptSource =\n\t\tresolveSystemPromptOverride(customPrompt) ??\n\t\tbuildBundledSystemPromptBase(toolNames);\n\treturn finalizeSystemPrompt(\n\t\tpromptSource,\n\t\tappendPrompt,\n\t\tprocess.cwd(),\n\t\toptions,\n\t);\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { CommandExecutionContext } from "./types.js";
2
+ export interface A2ACommandHandlerDeps {
3
+ addContent(text: string): void;
4
+ requestRender(): void;
5
+ }
6
+ export declare function handleA2ATuiCommand(context: CommandExecutionContext, deps: A2ACommandHandlerDeps): Promise<void>;
7
+ //# sourceMappingURL=a2a-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-handlers.d.ts","sourceRoot":"","sources":["../../../src/cli-tui/commands/a2a-handlers.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,qBAAqB;IACrC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,IAAI,IAAI,CAAC;CACtB;AAED,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,uBAAuB,EAChC,IAAI,EAAE,qBAAqB,GACzB,OAAO,CAAC,IAAI,CAAC,CAwJf"}
@@ -0,0 +1,160 @@
1
+ import { parseA2AArgs } from "../../cli/commands/a2a.js";
2
+ import { inspectA2AFleet } from "../../platform/a2a-fleet.js";
3
+ import { decodeA2APeerPairingCode } from "../../platform/a2a-peer-pairing.js";
4
+ import { listA2APeers, upsertA2APeerFromPairingPayload, } from "../../platform/a2a-peer-registry.js";
5
+ import { getA2ATaskLedgerPath, listA2ATaskEntries, loadA2ATaskLedger, } from "../../platform/a2a-task-ledger.js";
6
+ import { formatA2AWorkGraphCodexSubagents, formatA2AWorkGraphSummary, } from "../../platform/a2a-work-graph.js";
7
+ export async function handleA2ATuiCommand(context, deps) {
8
+ const parsed = parseA2AArgs(splitCommandArgs(context.argumentText));
9
+ const subcommand = parsed.positionals.shift()?.toLowerCase() ?? "help";
10
+ if (subcommand === "peers" || subcommand === "list") {
11
+ const { path, registry } = await listA2APeers({
12
+ path: stringFlag(parsed.flags, "--registry"),
13
+ });
14
+ const entries = Object.entries(registry.peers).sort(([left], [right]) => left.localeCompare(right));
15
+ deps.addContent([
16
+ `A2A peers (${path})`,
17
+ entries.length === 0
18
+ ? "No peers registered. Use /a2a accept <pairing-code>."
19
+ : entries
20
+ .map(([name, peer]) => {
21
+ const marker = registry.defaultPeer === name ? "*" : " ";
22
+ const token = peer.tokenEnv
23
+ ? ` auth=env:${peer.tokenEnv}`
24
+ : peer.tokenFile
25
+ ? " auth=file"
26
+ : "";
27
+ return `${marker} ${name} ${peer.url}${token}`;
28
+ })
29
+ .join("\n"),
30
+ ].join("\n"));
31
+ deps.requestRender();
32
+ return;
33
+ }
34
+ if (subcommand === "fleet") {
35
+ const fleet = await inspectA2AFleet({
36
+ registryPath: stringFlag(parsed.flags, "--registry"),
37
+ tasksPath: stringFlag(parsed.flags, "--tasks"),
38
+ timeoutMs: numberFlag(parsed.flags, "--timeout-ms"),
39
+ });
40
+ deps.addContent([
41
+ `A2A fleet (${fleet.registryPath})`,
42
+ fleet.peers.length === 0
43
+ ? "No peers registered. Use /a2a accept <pairing-code>."
44
+ : fleet.peers
45
+ .map((peer) => {
46
+ const last = peer.lastTask
47
+ ? ` last=${peer.lastTask.id} ${peer.lastTask.state}`
48
+ : "";
49
+ return `${peer.status} ${peer.name} ${peer.url}${last}`;
50
+ })
51
+ .join("\n"),
52
+ ].join("\n"));
53
+ deps.requestRender();
54
+ return;
55
+ }
56
+ if (subcommand === "tasks") {
57
+ const peer = parsed.positionals.shift();
58
+ const tasksPath = stringFlag(parsed.flags, "--tasks");
59
+ const includeWorkGraphDetails = parsed.flags.get("--work-graph") === true;
60
+ const ledger = await loadA2ATaskLedger({ path: tasksPath });
61
+ const entries = listA2ATaskEntries(ledger, { peer });
62
+ deps.addContent([
63
+ `A2A tasks (${getA2ATaskLedgerPath(tasksPath)})`,
64
+ entries.length === 0
65
+ ? "No delegated tasks recorded yet."
66
+ : entries
67
+ .map((entry) => [
68
+ `${entry.peer} ${entry.taskId} ${entry.state} ${entry.text}`,
69
+ formatA2AWorkGraphSummary(entry.workGraph),
70
+ includeWorkGraphDetails
71
+ ? formatA2AWorkGraphCodexSubagents(entry.workGraph)
72
+ : undefined,
73
+ includeWorkGraphDetails && entry.workGraph?.correlationPath
74
+ ? `Correlation: ${entry.workGraph.correlationPath}`
75
+ : undefined,
76
+ ]
77
+ .filter(Boolean)
78
+ .join("\n "))
79
+ .join("\n"),
80
+ ].join("\n"));
81
+ deps.requestRender();
82
+ return;
83
+ }
84
+ if (subcommand === "accept") {
85
+ const code = parsed.positionals.shift();
86
+ if (!code) {
87
+ context.showError("Usage: /a2a accept <pairing-code>");
88
+ return;
89
+ }
90
+ const payload = decodeA2APeerPairingCode(code);
91
+ const result = await upsertA2APeerFromPairingPayload(payload, {
92
+ name: stringFlag(parsed.flags, "--name"),
93
+ makeDefault: parsed.flags.get("--default") === true,
94
+ tokenEnv: stringFlag(parsed.flags, "--token-env"),
95
+ tokenFile: stringFlag(parsed.flags, "--token-file"),
96
+ path: stringFlag(parsed.flags, "--registry"),
97
+ });
98
+ context.showInfo(`Registered A2A peer ${result.name}.`);
99
+ deps.addContent([
100
+ `Registered A2A peer ${result.name}`,
101
+ `URL: ${result.entry.url}`,
102
+ `Registry: ${result.path}`,
103
+ result.entry.tokenEnv || result.entry.tokenFile
104
+ ? "Auth source configured without storing the token value."
105
+ : "No auth source configured. Re-run accept with --token-env or --token-file if this peer requires Authorization.",
106
+ ].join("\n"));
107
+ deps.requestRender();
108
+ return;
109
+ }
110
+ if (subcommand === "send") {
111
+ context.showInfo("Use `maestro a2a send <peer> <text> --wait` for native A2A sends while the TUI send panel is being wired.");
112
+ return;
113
+ }
114
+ if (subcommand === "coordinate") {
115
+ context.showInfo("Use `maestro a2a coordinate [peer] --refresh` to refresh actionable A2A tasks, or add `--reply <text>` to answer the selected task while the TUI coordination panel is being wired.");
116
+ return;
117
+ }
118
+ if (subcommand === "reply" || subcommand === "continue") {
119
+ context.showInfo("Use `maestro a2a reply <peer> <task-id> <text> --wait` to continue an actionable A2A task while the TUI task panel is being wired.");
120
+ return;
121
+ }
122
+ if (subcommand === "delegate") {
123
+ context.showInfo("Use `maestro a2a delegate <peer> <text> --wait` for native A2A delegation while the TUI task panel is being wired.");
124
+ return;
125
+ }
126
+ deps.addContent([
127
+ "/a2a accept <pairing-code> [--name <peer>] [--default] [--token-env ENV]",
128
+ "/a2a fleet",
129
+ "/a2a peers",
130
+ "/a2a delegate <peer> <text>",
131
+ "/a2a reply <peer> <task-id> <text>",
132
+ "/a2a coordinate [peer] [--reply <text>]",
133
+ "/a2a tasks [peer]",
134
+ "/a2a send <peer> <text>",
135
+ ].join("\n"));
136
+ deps.requestRender();
137
+ }
138
+ function splitCommandArgs(input) {
139
+ return input.match(/"[^"]*"|'[^']*'|\S+/gu)?.map(stripQuotes) ?? [];
140
+ }
141
+ function stripQuotes(input) {
142
+ if ((input.startsWith('"') && input.endsWith('"')) ||
143
+ (input.startsWith("'") && input.endsWith("'"))) {
144
+ return input.slice(1, -1);
145
+ }
146
+ return input;
147
+ }
148
+ function stringFlag(flags, name) {
149
+ const value = flags.get(name);
150
+ return typeof value === "string" && value.trim() ? value.trim() : undefined;
151
+ }
152
+ function numberFlag(flags, name) {
153
+ const value = stringFlag(flags, name);
154
+ if (!value) {
155
+ return undefined;
156
+ }
157
+ const parsed = Number(value);
158
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;
159
+ }
160
+ //# sourceMappingURL=a2a-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a-handlers.js","sourceRoot":"","sources":["../../../src/cli-tui/commands/a2a-handlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseA2AArgs } from \"../../cli/commands/a2a.js\";\nimport { inspectA2AFleet } from \"../../platform/a2a-fleet.js\";\nimport { decodeA2APeerPairingCode } from \"../../platform/a2a-peer-pairing.js\";\nimport {\n\tlistA2APeers,\n\tupsertA2APeerFromPairingPayload,\n} from \"../../platform/a2a-peer-registry.js\";\nimport {\n\tgetA2ATaskLedgerPath,\n\tlistA2ATaskEntries,\n\tloadA2ATaskLedger,\n} from \"../../platform/a2a-task-ledger.js\";\nimport {\n\tformatA2AWorkGraphCodexSubagents,\n\tformatA2AWorkGraphSummary,\n} from \"../../platform/a2a-work-graph.js\";\nimport type { CommandExecutionContext } from \"./types.js\";\n\nexport interface A2ACommandHandlerDeps {\n\taddContent(text: string): void;\n\trequestRender(): void;\n}\n\nexport async function handleA2ATuiCommand(\n\tcontext: CommandExecutionContext,\n\tdeps: A2ACommandHandlerDeps,\n): Promise<void> {\n\tconst parsed = parseA2AArgs(splitCommandArgs(context.argumentText));\n\tconst subcommand = parsed.positionals.shift()?.toLowerCase() ?? \"help\";\n\tif (subcommand === \"peers\" || subcommand === \"list\") {\n\t\tconst { path, registry } = await listA2APeers({\n\t\t\tpath: stringFlag(parsed.flags, \"--registry\"),\n\t\t});\n\t\tconst entries = Object.entries(registry.peers).sort(([left], [right]) =>\n\t\t\tleft.localeCompare(right),\n\t\t);\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A peers (${path})`,\n\t\t\t\tentries.length === 0\n\t\t\t\t\t? \"No peers registered. Use /a2a accept <pairing-code>.\"\n\t\t\t\t\t: entries\n\t\t\t\t\t\t\t.map(([name, peer]) => {\n\t\t\t\t\t\t\t\tconst marker = registry.defaultPeer === name ? \"*\" : \" \";\n\t\t\t\t\t\t\t\tconst token = peer.tokenEnv\n\t\t\t\t\t\t\t\t\t? ` auth=env:${peer.tokenEnv}`\n\t\t\t\t\t\t\t\t\t: peer.tokenFile\n\t\t\t\t\t\t\t\t\t\t? \" auth=file\"\n\t\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\t\t\treturn `${marker} ${name} ${peer.url}${token}`;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"fleet\") {\n\t\tconst fleet = await inspectA2AFleet({\n\t\t\tregistryPath: stringFlag(parsed.flags, \"--registry\"),\n\t\t\ttasksPath: stringFlag(parsed.flags, \"--tasks\"),\n\t\t\ttimeoutMs: numberFlag(parsed.flags, \"--timeout-ms\"),\n\t\t});\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A fleet (${fleet.registryPath})`,\n\t\t\t\tfleet.peers.length === 0\n\t\t\t\t\t? \"No peers registered. Use /a2a accept <pairing-code>.\"\n\t\t\t\t\t: fleet.peers\n\t\t\t\t\t\t\t.map((peer) => {\n\t\t\t\t\t\t\t\tconst last = peer.lastTask\n\t\t\t\t\t\t\t\t\t? ` last=${peer.lastTask.id} ${peer.lastTask.state}`\n\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\t\t\treturn `${peer.status} ${peer.name} ${peer.url}${last}`;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"tasks\") {\n\t\tconst peer = parsed.positionals.shift();\n\t\tconst tasksPath = stringFlag(parsed.flags, \"--tasks\");\n\t\tconst includeWorkGraphDetails = parsed.flags.get(\"--work-graph\") === true;\n\t\tconst ledger = await loadA2ATaskLedger({ path: tasksPath });\n\t\tconst entries = listA2ATaskEntries(ledger, { peer });\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A tasks (${getA2ATaskLedgerPath(tasksPath)})`,\n\t\t\t\tentries.length === 0\n\t\t\t\t\t? \"No delegated tasks recorded yet.\"\n\t\t\t\t\t: entries\n\t\t\t\t\t\t\t.map((entry) =>\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t`${entry.peer} ${entry.taskId} ${entry.state} ${entry.text}`,\n\t\t\t\t\t\t\t\t\tformatA2AWorkGraphSummary(entry.workGraph),\n\t\t\t\t\t\t\t\t\tincludeWorkGraphDetails\n\t\t\t\t\t\t\t\t\t\t? formatA2AWorkGraphCodexSubagents(entry.workGraph)\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\tincludeWorkGraphDetails && entry.workGraph?.correlationPath\n\t\t\t\t\t\t\t\t\t\t? `Correlation: ${entry.workGraph.correlationPath}`\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t\t.join(\"\\n \"),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"accept\") {\n\t\tconst code = parsed.positionals.shift();\n\t\tif (!code) {\n\t\t\tcontext.showError(\"Usage: /a2a accept <pairing-code>\");\n\t\t\treturn;\n\t\t}\n\t\tconst payload = decodeA2APeerPairingCode(code);\n\t\tconst result = await upsertA2APeerFromPairingPayload(payload, {\n\t\t\tname: stringFlag(parsed.flags, \"--name\"),\n\t\t\tmakeDefault: parsed.flags.get(\"--default\") === true,\n\t\t\ttokenEnv: stringFlag(parsed.flags, \"--token-env\"),\n\t\t\ttokenFile: stringFlag(parsed.flags, \"--token-file\"),\n\t\t\tpath: stringFlag(parsed.flags, \"--registry\"),\n\t\t});\n\t\tcontext.showInfo(`Registered A2A peer ${result.name}.`);\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`Registered A2A peer ${result.name}`,\n\t\t\t\t`URL: ${result.entry.url}`,\n\t\t\t\t`Registry: ${result.path}`,\n\t\t\t\tresult.entry.tokenEnv || result.entry.tokenFile\n\t\t\t\t\t? \"Auth source configured without storing the token value.\"\n\t\t\t\t\t: \"No auth source configured. Re-run accept with --token-env or --token-file if this peer requires Authorization.\",\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"send\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a send <peer> <text> --wait` for native A2A sends while the TUI send panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"coordinate\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a coordinate [peer] --refresh` to refresh actionable A2A tasks, or add `--reply <text>` to answer the selected task while the TUI coordination panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"reply\" || subcommand === \"continue\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a reply <peer> <task-id> <text> --wait` to continue an actionable A2A task while the TUI task panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"delegate\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a delegate <peer> <text> --wait` for native A2A delegation while the TUI task panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tdeps.addContent(\n\t\t[\n\t\t\t\"/a2a accept <pairing-code> [--name <peer>] [--default] [--token-env ENV]\",\n\t\t\t\"/a2a fleet\",\n\t\t\t\"/a2a peers\",\n\t\t\t\"/a2a delegate <peer> <text>\",\n\t\t\t\"/a2a reply <peer> <task-id> <text>\",\n\t\t\t\"/a2a coordinate [peer] [--reply <text>]\",\n\t\t\t\"/a2a tasks [peer]\",\n\t\t\t\"/a2a send <peer> <text>\",\n\t\t].join(\"\\n\"),\n\t);\n\tdeps.requestRender();\n}\n\nfunction splitCommandArgs(input: string): string[] {\n\treturn input.match(/\"[^\"]*\"|'[^']*'|\\S+/gu)?.map(stripQuotes) ?? [];\n}\n\nfunction stripQuotes(input: string): string {\n\tif (\n\t\t(input.startsWith('\"') && input.endsWith('\"')) ||\n\t\t(input.startsWith(\"'\") && input.endsWith(\"'\"))\n\t) {\n\t\treturn input.slice(1, -1);\n\t}\n\treturn input;\n}\n\nfunction stringFlag(\n\tflags: Map<string, string | boolean>,\n\tname: string,\n): string | undefined {\n\tconst value = flags.get(name);\n\treturn typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n\nfunction numberFlag(\n\tflags: Map<string, string | boolean>,\n\tname: string,\n): number | undefined {\n\tconst value = stringFlag(flags, name);\n\tif (!value) {\n\t\treturn undefined;\n\t}\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"command-catalog.d.ts","sourceRoot":"","sources":["../../../src/cli-tui/commands/command-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,oBAAY,gBAAgB;IAC3B,KAAK,UAAU;IACf,QAAQ,cAAc;IACtB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;CACb;AAED,oBAAY,qBAAqB;IAChC,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,UAAU,gBAAgB;CAC1B;AAED,KAAK,2BAA2B,GAAG;IAClC,UAAU,EAAE,MAAM,eAAe,CAAC;IAClC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,wBAAwB,CAAC,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAChD,2BAA2B,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC3B,CAAC;AAqDH,eAAO,MAAM,uBAAuB,EAAE,SAAS,mBAAmB,EA+nBjE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,SAAS,mBAAmB,EAepE,CAAC"}
1
+ {"version":3,"file":"command-catalog.d.ts","sourceRoot":"","sources":["../../../src/cli-tui/commands/command-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,oBAAY,gBAAgB;IAC3B,KAAK,UAAU;IACf,QAAQ,cAAc;IACtB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;CACb;AAED,oBAAY,qBAAqB;IAChC,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,UAAU,gBAAgB;CAC1B;AAED,KAAK,2BAA2B,GAAG;IAClC,UAAU,EAAE,MAAM,eAAe,CAAC;IAClC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,wBAAwB,CAAC,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAChD,2BAA2B,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC3B,CAAC;AAqDH,eAAO,MAAM,uBAAuB,EAAE,SAAS,mBAAmB,EA+oBjE,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,SAAS,mBAAmB,EAepE,CAAC"}
@@ -114,6 +114,21 @@ export const PRIMARY_COMMAND_CATALOG = [
114
114
  usage: "/commands list | /commands run <name> [k=v]...",
115
115
  tags: ["session", "automation"],
116
116
  }),
117
+ withArgs("a2a", "a2a", {
118
+ description: "Pair, inspect, and delegate to A2A peer agents",
119
+ usage: "/a2a [accept <code>|fleet|peers|tasks [--work-graph]|coordinate [--work-graph]|delegate <peer> <text>|reply <peer> <task-id> <text>]",
120
+ tags: ["tools", "agents"],
121
+ examples: [
122
+ "/a2a fleet",
123
+ "/a2a peers",
124
+ "/a2a tasks --work-graph",
125
+ "/a2a coordinate",
126
+ "/a2a coordinate mac-mini --work-graph --reply use the short smoke",
127
+ "/a2a delegate mac-mini run workspace smoke",
128
+ "/a2a reply mac-mini task-123 use the short smoke",
129
+ "/a2a accept maestro-pair-v1.payload.checksum --name mac-mini",
130
+ ],
131
+ }),
117
132
  withArgs("report", "report", {
118
133
  description: "Collect info for bug reports or general feedback",
119
134
  usage: "/report [bug|feedback]",