@evalops/maestro 0.10.50 → 0.10.53

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 (1825) hide show
  1. package/README.md +1 -3
  2. package/dist/agent/agent-outcome.d.ts +54 -0
  3. package/dist/agent/agent-outcome.d.ts.map +1 -0
  4. package/dist/agent/agent-outcome.js +142 -0
  5. package/dist/agent/agent-outcome.js.map +1 -0
  6. package/dist/agent/agent-resume.d.ts.map +1 -1
  7. package/dist/agent/agent-resume.js +3 -3
  8. package/dist/agent/agent-resume.js.map +1 -1
  9. package/dist/agent/agent-run-summary.d.ts +37 -0
  10. package/dist/agent/agent-run-summary.d.ts.map +1 -0
  11. package/dist/agent/agent-run-summary.js +15 -0
  12. package/dist/agent/agent-run-summary.js.map +1 -0
  13. package/dist/agent/agent-work-board.d.ts +82 -0
  14. package/dist/agent/agent-work-board.d.ts.map +1 -0
  15. package/dist/agent/agent-work-board.js +312 -0
  16. package/dist/agent/agent-work-board.js.map +1 -0
  17. package/dist/agent/agent.d.ts.map +1 -1
  18. package/dist/agent/agent.js.map +1 -1
  19. package/dist/agent/auto-compaction.d.ts +7 -2
  20. package/dist/agent/auto-compaction.d.ts.map +1 -1
  21. package/dist/agent/auto-compaction.js +23 -10
  22. package/dist/agent/auto-compaction.js.map +1 -1
  23. package/dist/agent/compaction.d.ts.map +1 -1
  24. package/dist/agent/compaction.js +1 -1
  25. package/dist/agent/compaction.js.map +1 -1
  26. package/dist/agent/context-handoff.d.ts.map +1 -1
  27. package/dist/agent/context-handoff.js +2 -1
  28. package/dist/agent/context-handoff.js.map +1 -1
  29. package/dist/agent/index.d.ts +8 -1
  30. package/dist/agent/index.d.ts.map +1 -1
  31. package/dist/agent/index.js +8 -1
  32. package/dist/agent/index.js.map +1 -1
  33. package/dist/agent/mission-artifacts.d.ts +62 -0
  34. package/dist/agent/mission-artifacts.d.ts.map +1 -0
  35. package/dist/agent/mission-artifacts.js +438 -0
  36. package/dist/agent/mission-artifacts.js.map +1 -0
  37. package/dist/agent/mission-manifest.d.ts +139 -3
  38. package/dist/agent/mission-manifest.d.ts.map +1 -1
  39. package/dist/agent/mission-manifest.js +549 -3
  40. package/dist/agent/mission-manifest.js.map +1 -1
  41. package/dist/agent/mission-store.d.ts +80 -0
  42. package/dist/agent/mission-store.d.ts.map +1 -0
  43. package/dist/agent/mission-store.js +603 -0
  44. package/dist/agent/mission-store.js.map +1 -0
  45. package/dist/agent/modes.d.ts +3 -3
  46. package/dist/agent/modes.d.ts.map +1 -1
  47. package/dist/agent/modes.js +66 -3
  48. package/dist/agent/modes.js.map +1 -1
  49. package/dist/agent/oracle-consultation-policy.d.ts +22 -0
  50. package/dist/agent/oracle-consultation-policy.d.ts.map +1 -0
  51. package/dist/agent/oracle-consultation-policy.js +72 -0
  52. package/dist/agent/oracle-consultation-policy.js.map +1 -0
  53. package/dist/agent/oracle-policy-experiment.d.ts +27 -0
  54. package/dist/agent/oracle-policy-experiment.d.ts.map +1 -0
  55. package/dist/agent/oracle-policy-experiment.js +59 -0
  56. package/dist/agent/oracle-policy-experiment.js.map +1 -0
  57. package/dist/agent/oracle-policy-rollout.d.ts +42 -0
  58. package/dist/agent/oracle-policy-rollout.d.ts.map +1 -0
  59. package/dist/agent/oracle-policy-rollout.js +80 -0
  60. package/dist/agent/oracle-policy-rollout.js.map +1 -0
  61. package/dist/agent/plugin-agent-api.d.ts +13 -0
  62. package/dist/agent/plugin-agent-api.d.ts.map +1 -0
  63. package/dist/agent/plugin-agent-api.js +11 -0
  64. package/dist/agent/plugin-agent-api.js.map +1 -0
  65. package/dist/agent/plugin-agent-loader.d.ts +17 -0
  66. package/dist/agent/plugin-agent-loader.d.ts.map +1 -0
  67. package/dist/agent/plugin-agent-loader.js +81 -0
  68. package/dist/agent/plugin-agent-loader.js.map +1 -0
  69. package/dist/agent/plugin-agent-registry.d.ts +62 -0
  70. package/dist/agent/plugin-agent-registry.d.ts.map +1 -0
  71. package/dist/agent/plugin-agent-registry.js +109 -0
  72. package/dist/agent/plugin-agent-registry.js.map +1 -0
  73. package/dist/agent/profile-loader.d.ts +7 -0
  74. package/dist/agent/profile-loader.d.ts.map +1 -0
  75. package/dist/agent/profile-loader.js +115 -0
  76. package/dist/agent/profile-loader.js.map +1 -0
  77. package/dist/agent/profiles.d.ts +30 -0
  78. package/dist/agent/profiles.d.ts.map +1 -0
  79. package/dist/agent/profiles.js +146 -0
  80. package/dist/agent/profiles.js.map +1 -0
  81. package/dist/agent/prompt-cache.d.ts +0 -4
  82. package/dist/agent/prompt-cache.d.ts.map +1 -1
  83. package/dist/agent/prompt-cache.js +1 -7
  84. package/dist/agent/prompt-cache.js.map +1 -1
  85. package/dist/agent/providers/codex-app-server.d.ts.map +1 -1
  86. package/dist/agent/providers/codex-app-server.js +1 -3
  87. package/dist/agent/providers/codex-app-server.js.map +1 -1
  88. package/dist/agent/providers/google-gemini-cli.js +204 -107
  89. package/dist/agent/providers/google.js +101 -41
  90. package/dist/agent/providers/scripted.d.ts.map +1 -1
  91. package/dist/agent/providers/scripted.js +1 -3
  92. package/dist/agent/providers/scripted.js.map +1 -1
  93. package/dist/agent/providers/validation.d.ts.map +1 -1
  94. package/dist/agent/providers/validation.js +1 -3
  95. package/dist/agent/providers/validation.js.map +1 -1
  96. package/dist/agent/providers/vertex.js +204 -107
  97. package/dist/agent/routing-receipt.d.ts +34 -0
  98. package/dist/agent/routing-receipt.d.ts.map +1 -0
  99. package/dist/agent/routing-receipt.js +55 -0
  100. package/dist/agent/routing-receipt.js.map +1 -0
  101. package/dist/agent/skill-artifact-metadata.d.ts +14 -0
  102. package/dist/agent/skill-artifact-metadata.d.ts.map +1 -0
  103. package/dist/agent/skill-artifact-metadata.js +49 -0
  104. package/dist/agent/skill-artifact-metadata.js.map +1 -0
  105. package/dist/agent/snapshot-store.d.ts +32 -0
  106. package/dist/agent/snapshot-store.d.ts.map +1 -0
  107. package/dist/agent/snapshot-store.js +195 -0
  108. package/dist/agent/snapshot-store.js.map +1 -0
  109. package/dist/agent/specialist-profiles.d.ts +36 -0
  110. package/dist/agent/specialist-profiles.d.ts.map +1 -0
  111. package/dist/agent/specialist-profiles.js +159 -0
  112. package/dist/agent/specialist-profiles.js.map +1 -0
  113. package/dist/agent/subagent-specs.d.ts +5 -2
  114. package/dist/agent/subagent-specs.d.ts.map +1 -1
  115. package/dist/agent/subagent-specs.js +83 -10
  116. package/dist/agent/subagent-specs.js.map +1 -1
  117. package/dist/agent/swarm/coverage-gate.d.ts +37 -0
  118. package/dist/agent/swarm/coverage-gate.d.ts.map +1 -0
  119. package/dist/agent/swarm/coverage-gate.js +48 -0
  120. package/dist/agent/swarm/coverage-gate.js.map +1 -0
  121. package/dist/agent/swarm/executor.d.ts +1 -0
  122. package/dist/agent/swarm/executor.d.ts.map +1 -1
  123. package/dist/agent/swarm/executor.js +151 -15
  124. package/dist/agent/swarm/executor.js.map +1 -1
  125. package/dist/agent/swarm/orchestrator-prompt.d.ts +25 -0
  126. package/dist/agent/swarm/orchestrator-prompt.d.ts.map +1 -0
  127. package/dist/agent/swarm/orchestrator-prompt.js +48 -0
  128. package/dist/agent/swarm/orchestrator-prompt.js.map +1 -0
  129. package/dist/agent/swarm/plan-parser.d.ts.map +1 -1
  130. package/dist/agent/swarm/plan-parser.js +27 -2
  131. package/dist/agent/swarm/plan-parser.js.map +1 -1
  132. package/dist/agent/swarm/types.d.ts +17 -0
  133. package/dist/agent/swarm/types.d.ts.map +1 -1
  134. package/dist/agent/swarm/types.js.map +1 -1
  135. package/dist/agent/swarm/validation-directive.d.ts +21 -0
  136. package/dist/agent/swarm/validation-directive.d.ts.map +1 -0
  137. package/dist/agent/swarm/validation-directive.js +25 -0
  138. package/dist/agent/swarm/validation-directive.js.map +1 -0
  139. package/dist/agent/token-counter.d.ts +40 -0
  140. package/dist/agent/token-counter.d.ts.map +1 -0
  141. package/dist/agent/token-counter.js +74 -0
  142. package/dist/agent/token-counter.js.map +1 -0
  143. package/dist/agent/transport/events.d.ts +1 -1
  144. package/dist/agent/transport/events.d.ts.map +1 -1
  145. package/dist/agent/transport/events.js +1 -1
  146. package/dist/agent/transport/events.js.map +1 -1
  147. package/dist/agent/transport/tool-execution-bridge.d.ts.map +1 -1
  148. package/dist/agent/transport/tool-execution-bridge.js +4 -1
  149. package/dist/agent/transport/tool-execution-bridge.js.map +1 -1
  150. package/dist/agent/types.d.ts +4 -2
  151. package/dist/agent/types.d.ts.map +1 -1
  152. package/dist/agent/types.js.map +1 -1
  153. package/dist/api/enterprise-routes.d.ts.map +1 -1
  154. package/dist/api/enterprise-routes.js +87 -10
  155. package/dist/api/enterprise-routes.js.map +1 -1
  156. package/dist/api/org-settings-merge.d.ts +12 -0
  157. package/dist/api/org-settings-merge.d.ts.map +1 -0
  158. package/dist/api/org-settings-merge.js +38 -0
  159. package/dist/api/org-settings-merge.js.map +1 -0
  160. package/dist/api/user-settings-merge.d.ts +16 -0
  161. package/dist/api/user-settings-merge.d.ts.map +1 -0
  162. package/dist/api/user-settings-merge.js +37 -0
  163. package/dist/api/user-settings-merge.js.map +1 -0
  164. package/dist/app-server/daemon-lifecycle-api.d.ts.map +1 -1
  165. package/dist/app-server/daemon-lifecycle-api.js +1 -3
  166. package/dist/app-server/daemon-lifecycle-api.js.map +1 -1
  167. package/dist/app-server/external-agent-import-api.d.ts.map +1 -1
  168. package/dist/app-server/external-agent-import-api.js +1 -3
  169. package/dist/app-server/external-agent-import-api.js.map +1 -1
  170. package/dist/app-server/network-governance-api.d.ts.map +1 -1
  171. package/dist/app-server/network-governance-api.js +1 -3
  172. package/dist/app-server/network-governance-api.js.map +1 -1
  173. package/dist/app-server/plugin-bundle-api.d.ts.map +1 -1
  174. package/dist/app-server/plugin-bundle-api.js +2 -3
  175. package/dist/app-server/plugin-bundle-api.js.map +1 -1
  176. package/dist/app-server/policy-control-api.d.ts.map +1 -1
  177. package/dist/app-server/policy-control-api.js +1 -3
  178. package/dist/app-server/policy-control-api.js.map +1 -1
  179. package/dist/app-server/protocol-modes-api.d.ts.map +1 -1
  180. package/dist/app-server/protocol-modes-api.js +1 -3
  181. package/dist/app-server/protocol-modes-api.js.map +1 -1
  182. package/dist/app-server/session-api.d.ts.map +1 -1
  183. package/dist/app-server/session-api.js +15 -2
  184. package/dist/app-server/session-api.js.map +1 -1
  185. package/dist/audit/logger.d.ts +5 -5
  186. package/dist/cli/args.d.ts +4 -0
  187. package/dist/cli/args.d.ts.map +1 -1
  188. package/dist/cli/args.js +33 -1
  189. package/dist/cli/args.js.map +1 -1
  190. package/dist/cli/commands/a2a.d.ts.map +1 -1
  191. package/dist/cli/commands/a2a.js +1 -3
  192. package/dist/cli/commands/a2a.js.map +1 -1
  193. package/dist/cli/commands/mission.d.ts +4 -0
  194. package/dist/cli/commands/mission.d.ts.map +1 -0
  195. package/dist/cli/commands/mission.js +196 -0
  196. package/dist/cli/commands/mission.js.map +1 -0
  197. package/dist/cli/commands/value.d.ts +10 -0
  198. package/dist/cli/commands/value.d.ts.map +1 -0
  199. package/dist/cli/commands/value.js +33 -0
  200. package/dist/cli/commands/value.js.map +1 -0
  201. package/dist/cli/direct-runtime-command.d.ts +1 -0
  202. package/dist/cli/direct-runtime-command.d.ts.map +1 -1
  203. package/dist/cli/direct-runtime-command.js +25 -3
  204. package/dist/cli/direct-runtime-command.js.map +1 -1
  205. package/dist/cli/headless-protocol.d.ts.map +1 -1
  206. package/dist/cli/headless-protocol.js +1 -3
  207. package/dist/cli/headless-protocol.js.map +1 -1
  208. package/dist/cli/headless.d.ts +3 -19
  209. package/dist/cli/headless.d.ts.map +1 -1
  210. package/dist/cli/headless.js +8 -619
  211. package/dist/cli/headless.js.map +1 -1
  212. package/dist/cli/help.d.ts.map +1 -1
  213. package/dist/cli/help.js +13 -0
  214. package/dist/cli/help.js.map +1 -1
  215. package/dist/cli/native-tui-launcher.d.ts +126 -0
  216. package/dist/cli/native-tui-launcher.d.ts.map +1 -0
  217. package/dist/cli/native-tui-launcher.js +425 -0
  218. package/dist/cli/native-tui-launcher.js.map +1 -0
  219. package/dist/cli/rpc-mode.d.ts +3 -27
  220. package/dist/cli/rpc-mode.d.ts.map +1 -1
  221. package/dist/cli/rpc-mode.js +8 -177
  222. package/dist/cli/rpc-mode.js.map +1 -1
  223. package/dist/cli/session.d.ts +11 -19
  224. package/dist/cli/session.d.ts.map +1 -1
  225. package/dist/cli/session.js +6 -64
  226. package/dist/cli/session.js.map +1 -1
  227. package/dist/cli/system-prompt.d.ts.map +1 -1
  228. package/dist/cli/system-prompt.js +38 -7
  229. package/dist/cli/system-prompt.js.map +1 -1
  230. package/dist/cli-command-runtime.d.ts.map +1 -1
  231. package/dist/cli-command-runtime.js +26 -24
  232. package/dist/cli-command-runtime.js.map +1 -1
  233. package/dist/cli-runtime.js +41729 -121859
  234. package/dist/codex/app-server-client.d.ts.map +1 -1
  235. package/dist/codex/app-server-client.js +1 -3
  236. package/dist/codex/app-server-client.js.map +1 -1
  237. package/dist/codex/compatibility.d.ts.map +1 -1
  238. package/dist/codex/compatibility.js +1 -3
  239. package/dist/codex/compatibility.js.map +1 -1
  240. package/dist/codex/subagent-dispatch-table.d.ts +8 -0
  241. package/dist/codex/subagent-dispatch-table.d.ts.map +1 -1
  242. package/dist/codex/subagent-dispatch-table.js +23 -0
  243. package/dist/codex/subagent-dispatch-table.js.map +1 -1
  244. package/dist/config/env-vars.d.ts +12 -0
  245. package/dist/config/env-vars.d.ts.map +1 -1
  246. package/dist/config/env-vars.js +12 -0
  247. package/dist/config/env-vars.js.map +1 -1
  248. package/dist/config/ui-state.d.ts +32 -0
  249. package/dist/config/ui-state.d.ts.map +1 -0
  250. package/dist/config/ui-state.js +88 -0
  251. package/dist/config/ui-state.js.map +1 -0
  252. package/dist/context/manifest.d.ts.map +1 -1
  253. package/dist/context/manifest.js +1 -3
  254. package/dist/context/manifest.js.map +1 -1
  255. package/dist/context/repo-map.d.ts.map +1 -1
  256. package/dist/context/repo-map.js +1 -7
  257. package/dist/context/repo-map.js.map +1 -1
  258. package/dist/context/token-optimizer.d.ts.map +1 -1
  259. package/dist/context/token-optimizer.js +1 -8
  260. package/dist/context/token-optimizer.js.map +1 -1
  261. package/dist/conversation/render-model.d.ts +0 -36
  262. package/dist/conversation/render-model.d.ts.map +1 -1
  263. package/dist/conversation/render-model.js +1 -3
  264. package/dist/conversation/render-model.js.map +1 -1
  265. package/dist/customer-value/ambient-learning.d.ts +75 -0
  266. package/dist/customer-value/ambient-learning.d.ts.map +1 -0
  267. package/dist/customer-value/ambient-learning.js +472 -0
  268. package/dist/customer-value/ambient-learning.js.map +1 -0
  269. package/dist/customer-value/internal-helpers.d.ts +13 -0
  270. package/dist/customer-value/internal-helpers.d.ts.map +1 -0
  271. package/dist/customer-value/internal-helpers.js +70 -0
  272. package/dist/customer-value/internal-helpers.js.map +1 -0
  273. package/dist/customer-value/report.d.ts +282 -0
  274. package/dist/customer-value/report.d.ts.map +1 -0
  275. package/dist/customer-value/report.js +2085 -0
  276. package/dist/customer-value/report.js.map +1 -0
  277. package/dist/db/schema.d.ts +7 -3
  278. package/dist/db/schema.d.ts.map +1 -1
  279. package/dist/db/schema.js.map +1 -1
  280. package/dist/evalops/agent-bootstrap.d.ts.map +1 -1
  281. package/dist/evalops/agent-bootstrap.js +1 -3
  282. package/dist/evalops/agent-bootstrap.js.map +1 -1
  283. package/dist/evalops/agent-mcp-metadata.d.ts.map +1 -1
  284. package/dist/evalops/agent-mcp-metadata.js +1 -3
  285. package/dist/evalops/agent-mcp-metadata.js.map +1 -1
  286. package/dist/hooks/notification-hooks.d.ts +1 -1
  287. package/dist/hooks/notification-hooks.d.ts.map +1 -1
  288. package/dist/hooks/notification-hooks.js.map +1 -1
  289. package/dist/hooks/tui-surface.d.ts +35 -0
  290. package/dist/hooks/tui-surface.d.ts.map +1 -0
  291. package/dist/hooks/tui-surface.js +11 -0
  292. package/dist/hooks/tui-surface.js.map +1 -0
  293. package/dist/hooks/types.d.ts +2 -1
  294. package/dist/hooks/types.d.ts.map +1 -1
  295. package/dist/hooks/types.js.map +1 -1
  296. package/dist/hooks/typescript-loader.d.ts.map +1 -1
  297. package/dist/hooks/typescript-loader.js.map +1 -1
  298. package/dist/hooks/ui-context.d.ts.map +1 -1
  299. package/dist/hooks/ui-context.js.map +1 -1
  300. package/dist/index.d.ts +1 -0
  301. package/dist/index.d.ts.map +1 -1
  302. package/dist/index.js +1 -0
  303. package/dist/index.js.map +1 -1
  304. package/dist/installers/maestro-review-workflow.d.ts +38 -0
  305. package/dist/installers/maestro-review-workflow.d.ts.map +1 -0
  306. package/dist/installers/maestro-review-workflow.js +163 -0
  307. package/dist/installers/maestro-review-workflow.js.map +1 -0
  308. package/dist/load-env.d.ts.map +1 -1
  309. package/dist/load-env.js +2 -1
  310. package/dist/load-env.js.map +1 -1
  311. package/dist/main.d.ts.map +1 -1
  312. package/dist/main.js +201 -840
  313. package/dist/main.js.map +1 -1
  314. package/dist/mcp/config.d.ts.map +1 -1
  315. package/dist/mcp/config.js +1 -3
  316. package/dist/mcp/config.js.map +1 -1
  317. package/dist/mcp/elicitation.d.ts.map +1 -1
  318. package/dist/mcp/elicitation.js +1 -3
  319. package/dist/mcp/elicitation.js.map +1 -1
  320. package/dist/mcp/official-registry.d.ts.map +1 -1
  321. package/dist/mcp/official-registry.js +1 -3
  322. package/dist/mcp/official-registry.js.map +1 -1
  323. package/dist/mcp/workspace-trust.d.ts.map +1 -1
  324. package/dist/mcp/workspace-trust.js +1 -3
  325. package/dist/mcp/workspace-trust.js.map +1 -1
  326. package/dist/memory/service-client.d.ts.map +1 -1
  327. package/dist/memory/service-client.js +1 -3
  328. package/dist/memory/service-client.js.map +1 -1
  329. package/dist/models/config-loader.d.ts +5 -5
  330. package/dist/models/config-loader.d.ts.map +1 -1
  331. package/dist/models/config-loader.js +1 -3
  332. package/dist/models/config-loader.js.map +1 -1
  333. package/dist/node_modules/@evalops/contracts/dist/index.d.ts +46 -0
  334. package/dist/node_modules/@evalops/contracts/dist/index.d.ts.map +1 -1
  335. package/dist/node_modules/@evalops/contracts/dist/index.js +3 -0
  336. package/dist/node_modules/@evalops/contracts/dist/index.js.map +1 -1
  337. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts +284 -0
  338. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.d.ts.map +1 -1
  339. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js +41 -0
  340. package/dist/node_modules/@evalops/contracts/dist/maestro-app-server.js.map +1 -1
  341. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts +61 -0
  342. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.d.ts.map +1 -0
  343. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js +183 -0
  344. package/dist/node_modules/@evalops/contracts/dist/maestro-settings.js.map +1 -0
  345. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts +986 -0
  346. package/dist/node_modules/@evalops/contracts/dist/schemas.d.ts.map +1 -1
  347. package/dist/node_modules/@evalops/contracts/dist/schemas.js +49 -0
  348. package/dist/node_modules/@evalops/contracts/dist/schemas.js.map +1 -1
  349. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts +56 -0
  350. package/dist/node_modules/@evalops/contracts/dist/token-estimation.d.ts.map +1 -0
  351. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js +86 -0
  352. package/dist/node_modules/@evalops/contracts/dist/token-estimation.js.map +1 -0
  353. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  354. package/dist/oauth/connectors.d.ts.map +1 -1
  355. package/dist/oauth/connectors.js +1 -3
  356. package/dist/oauth/connectors.js.map +1 -1
  357. package/dist/oauth/evalops.d.ts.map +1 -1
  358. package/dist/oauth/evalops.js +1 -3
  359. package/dist/oauth/evalops.js.map +1 -1
  360. package/dist/packages/discovery.d.ts.map +1 -1
  361. package/dist/packages/discovery.js +1 -0
  362. package/dist/packages/discovery.js.map +1 -1
  363. package/dist/packages/inspection.d.ts.map +1 -1
  364. package/dist/packages/inspection.js +7 -1
  365. package/dist/packages/inspection.js.map +1 -1
  366. package/dist/packages/loader.d.ts.map +1 -1
  367. package/dist/packages/loader.js +8 -1
  368. package/dist/packages/loader.js.map +1 -1
  369. package/dist/packages/runtime.d.ts +1 -0
  370. package/dist/packages/runtime.d.ts.map +1 -1
  371. package/dist/packages/runtime.js +9 -1
  372. package/dist/packages/runtime.js.map +1 -1
  373. package/dist/packages/types.d.ts +6 -0
  374. package/dist/packages/types.d.ts.map +1 -1
  375. package/dist/packages/types.js.map +1 -1
  376. package/dist/platform/a2a-client.d.ts.map +1 -1
  377. package/dist/platform/a2a-client.js +1 -3
  378. package/dist/platform/a2a-client.js.map +1 -1
  379. package/dist/platform/a2a-cockpit.d.ts +1 -0
  380. package/dist/platform/a2a-cockpit.d.ts.map +1 -1
  381. package/dist/platform/a2a-cockpit.js +42 -11
  382. package/dist/platform/a2a-cockpit.js.map +1 -1
  383. package/dist/platform/a2a-completion-audit.d.ts +1 -1
  384. package/dist/platform/a2a-completion-audit.d.ts.map +1 -1
  385. package/dist/platform/a2a-completion-audit.js +7 -11
  386. package/dist/platform/a2a-completion-audit.js.map +1 -1
  387. package/dist/platform/a2a-maestro-peer.js +16 -0
  388. package/dist/platform/a2a-maestro-peer.js.map +1 -1
  389. package/dist/platform/a2a-peer-pairing.d.ts.map +1 -1
  390. package/dist/platform/a2a-peer-pairing.js +1 -3
  391. package/dist/platform/a2a-peer-pairing.js.map +1 -1
  392. package/dist/platform/a2a-peer-registry.d.ts.map +1 -1
  393. package/dist/platform/a2a-peer-registry.js +1 -3
  394. package/dist/platform/a2a-peer-registry.js.map +1 -1
  395. package/dist/platform/a2a-task-ledger.d.ts +20 -0
  396. package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
  397. package/dist/platform/a2a-task-ledger.js +207 -11
  398. package/dist/platform/a2a-task-ledger.js.map +1 -1
  399. package/dist/platform/a2a-work-graph.d.ts.map +1 -1
  400. package/dist/platform/a2a-work-graph.js +1 -3
  401. package/dist/platform/a2a-work-graph.js.map +1 -1
  402. package/dist/platform/operating-layer.d.ts.map +1 -1
  403. package/dist/platform/operating-layer.js +14 -8
  404. package/dist/platform/operating-layer.js.map +1 -1
  405. package/dist/platform/tool-execution-client.d.ts.map +1 -1
  406. package/dist/platform/tool-execution-client.js +19 -2
  407. package/dist/platform/tool-execution-client.js.map +1 -1
  408. package/dist/providers/auth.d.ts.map +1 -1
  409. package/dist/providers/auth.js +1 -3
  410. package/dist/providers/auth.js.map +1 -1
  411. package/dist/runtime/agent-runtime.d.ts +22 -6
  412. package/dist/runtime/agent-runtime.d.ts.map +1 -1
  413. package/dist/runtime/agent-runtime.js +1 -1
  414. package/dist/runtime/agent-runtime.js.map +1 -1
  415. package/dist/runtime/env.d.ts +10 -1
  416. package/dist/runtime/env.d.ts.map +1 -1
  417. package/dist/runtime/env.js +64 -1
  418. package/dist/runtime/env.js.map +1 -1
  419. package/dist/runtime/prompt-queue.d.ts.map +1 -0
  420. package/dist/runtime/prompt-queue.js.map +1 -0
  421. package/dist/safety/policy.d.ts.map +1 -1
  422. package/dist/safety/policy.js +1 -4
  423. package/dist/safety/policy.js.map +1 -1
  424. package/dist/sandbox/docker-sandbox.d.ts.map +1 -1
  425. package/dist/sandbox/docker-sandbox.js +6 -1
  426. package/dist/sandbox/docker-sandbox.js.map +1 -1
  427. package/dist/server/handlers/chat-ws.d.ts +2 -1
  428. package/dist/server/handlers/chat-ws.d.ts.map +1 -1
  429. package/dist/server/handlers/chat-ws.js +150 -5
  430. package/dist/server/handlers/chat-ws.js.map +1 -1
  431. package/dist/server/handlers/chat.d.ts.map +1 -1
  432. package/dist/server/handlers/chat.js +78 -5
  433. package/dist/server/handlers/chat.js.map +1 -1
  434. package/dist/server/handlers/hosted-runner-drain.d.ts.map +1 -1
  435. package/dist/server/handlers/hosted-runner-drain.js +1 -3
  436. package/dist/server/handlers/hosted-runner-drain.js.map +1 -1
  437. package/dist/server/handlers/package.d.ts.map +1 -1
  438. package/dist/server/handlers/package.js +1 -0
  439. package/dist/server/handlers/package.js.map +1 -1
  440. package/dist/server/handlers/platform-a2a-push.d.ts.map +1 -1
  441. package/dist/server/handlers/platform-a2a-push.js +53 -2
  442. package/dist/server/handlers/platform-a2a-push.js.map +1 -1
  443. package/dist/server/handlers/queue.js +1 -1
  444. package/dist/server/handlers/queue.js.map +1 -1
  445. package/dist/server/handlers/runtime-app-server-ws.d.ts.map +1 -1
  446. package/dist/server/handlers/runtime-app-server-ws.js +1 -3
  447. package/dist/server/handlers/runtime-app-server-ws.js.map +1 -1
  448. package/dist/server/handlers/ui.js +1 -1
  449. package/dist/server/handlers/ui.js.map +1 -1
  450. package/dist/server/handlers/zen.js +1 -1
  451. package/dist/server/handlers/zen.js.map +1 -1
  452. package/dist/server/headless-runtime-service.d.ts +16 -0
  453. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  454. package/dist/server/headless-runtime-service.js +232 -206
  455. package/dist/server/headless-runtime-service.js.map +1 -1
  456. package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
  457. package/dist/server/hosted-agent-runtime-progress.js +12 -3
  458. package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
  459. package/dist/server/hosted-session-manager.d.ts +3 -0
  460. package/dist/server/hosted-session-manager.d.ts.map +1 -1
  461. package/dist/server/hosted-session-manager.js +26 -0
  462. package/dist/server/hosted-session-manager.js.map +1 -1
  463. package/dist/server/model-selection.d.ts +1 -0
  464. package/dist/server/model-selection.d.ts.map +1 -1
  465. package/dist/server/model-selection.js +4 -0
  466. package/dist/server/model-selection.js.map +1 -1
  467. package/dist/server/pending-request-payload.d.ts.map +1 -1
  468. package/dist/server/pending-request-payload.js +1 -3
  469. package/dist/server/pending-request-payload.js.map +1 -1
  470. package/dist/server/route-auth.d.ts.map +1 -1
  471. package/dist/server/route-auth.js +2 -0
  472. package/dist/server/route-auth.js.map +1 -1
  473. package/dist/server/session-serialization.d.ts.map +1 -1
  474. package/dist/server/session-serialization.js +4 -3
  475. package/dist/server/session-serialization.js.map +1 -1
  476. package/dist/server/session-timeline.d.ts.map +1 -1
  477. package/dist/server/session-timeline.js +1 -1
  478. package/dist/server/session-timeline.js.map +1 -1
  479. package/dist/server/sse-session.d.ts +2 -0
  480. package/dist/server/sse-session.d.ts.map +1 -1
  481. package/dist/server/sse-session.js +3 -0
  482. package/dist/server/sse-session.js.map +1 -1
  483. package/dist/server/stores/ui-store.d.ts +1 -1
  484. package/dist/server/stores/ui-store.d.ts.map +1 -1
  485. package/dist/server/stores/ui-store.js.map +1 -1
  486. package/dist/server/utils/token-estimator.d.ts +2 -2
  487. package/dist/server/utils/token-estimator.d.ts.map +1 -1
  488. package/dist/server/utils/token-estimator.js +2 -12
  489. package/dist/server/utils/token-estimator.js.map +1 -1
  490. package/dist/server/validation.d.ts +54 -0
  491. package/dist/server/validation.d.ts.map +1 -1
  492. package/dist/services/compliance/normalize.d.ts.map +1 -1
  493. package/dist/services/compliance/normalize.js +1 -3
  494. package/dist/services/compliance/normalize.js.map +1 -1
  495. package/dist/services/image-providers/cost.d.ts +70 -0
  496. package/dist/services/image-providers/cost.d.ts.map +1 -0
  497. package/dist/services/image-providers/cost.js +164 -0
  498. package/dist/services/image-providers/cost.js.map +1 -0
  499. package/dist/services/image-providers/flux.d.ts +40 -0
  500. package/dist/services/image-providers/flux.d.ts.map +1 -0
  501. package/dist/services/image-providers/flux.js +99 -0
  502. package/dist/services/image-providers/flux.js.map +1 -0
  503. package/dist/services/image-providers/index.d.ts +24 -0
  504. package/dist/services/image-providers/index.d.ts.map +1 -0
  505. package/dist/services/image-providers/index.js +27 -0
  506. package/dist/services/image-providers/index.js.map +1 -0
  507. package/dist/services/image-providers/masks.d.ts +51 -0
  508. package/dist/services/image-providers/masks.d.ts.map +1 -0
  509. package/dist/services/image-providers/masks.js +132 -0
  510. package/dist/services/image-providers/masks.js.map +1 -0
  511. package/dist/services/image-providers/openai.d.ts +35 -0
  512. package/dist/services/image-providers/openai.d.ts.map +1 -0
  513. package/dist/services/image-providers/openai.js +93 -0
  514. package/dist/services/image-providers/openai.js.map +1 -0
  515. package/dist/services/image-providers/types.d.ts +61 -0
  516. package/dist/services/image-providers/types.d.ts.map +1 -0
  517. package/dist/services/image-providers/types.js +17 -0
  518. package/dist/services/image-providers/types.js.map +1 -0
  519. package/dist/services/intelligent-router/index.d.ts +1 -0
  520. package/dist/services/intelligent-router/index.d.ts.map +1 -1
  521. package/dist/services/intelligent-router/index.js +1 -0
  522. package/dist/services/intelligent-router/index.js.map +1 -1
  523. package/dist/services/intelligent-router/normalize.d.ts +1 -0
  524. package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
  525. package/dist/services/intelligent-router/normalize.js +18 -3
  526. package/dist/services/intelligent-router/normalize.js.map +1 -1
  527. package/dist/services/intelligent-router/outcome.d.ts +19 -0
  528. package/dist/services/intelligent-router/outcome.d.ts.map +1 -0
  529. package/dist/services/intelligent-router/outcome.js +51 -0
  530. package/dist/services/intelligent-router/outcome.js.map +1 -0
  531. package/dist/services/intelligent-router/recorder.d.ts +2 -0
  532. package/dist/services/intelligent-router/recorder.d.ts.map +1 -1
  533. package/dist/services/intelligent-router/recorder.js +72 -1
  534. package/dist/services/intelligent-router/recorder.js.map +1 -1
  535. package/dist/services/intelligent-router/service.d.ts +1 -0
  536. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  537. package/dist/services/intelligent-router/service.js +60 -11
  538. package/dist/services/intelligent-router/service.js.map +1 -1
  539. package/dist/services/intelligent-router/types.d.ts +18 -0
  540. package/dist/services/intelligent-router/types.d.ts.map +1 -1
  541. package/dist/services/intelligent-router/types.js.map +1 -1
  542. package/dist/services/revenue-attribution/normalize.d.ts.map +1 -1
  543. package/dist/services/revenue-attribution/normalize.js +1 -3
  544. package/dist/services/revenue-attribution/normalize.js.map +1 -1
  545. package/dist/services/traces/normalize.d.ts.map +1 -1
  546. package/dist/services/traces/normalize.js +1 -3
  547. package/dist/services/traces/normalize.js.map +1 -1
  548. package/dist/services/workspace-config/middleware.d.ts +2 -0
  549. package/dist/services/workspace-config/middleware.d.ts.map +1 -1
  550. package/dist/services/workspace-config/middleware.js +25 -28
  551. package/dist/services/workspace-config/middleware.js.map +1 -1
  552. package/dist/services/workspace-config/normalize.d.ts.map +1 -1
  553. package/dist/services/workspace-config/normalize.js +1 -3
  554. package/dist/services/workspace-config/normalize.js.map +1 -1
  555. package/dist/session/agent-lineage-projection.d.ts +30 -0
  556. package/dist/session/agent-lineage-projection.d.ts.map +1 -0
  557. package/dist/session/agent-lineage-projection.js +109 -0
  558. package/dist/session/agent-lineage-projection.js.map +1 -0
  559. package/dist/session/manager.d.ts +3 -0
  560. package/dist/session/manager.d.ts.map +1 -1
  561. package/dist/session/manager.js +24 -0
  562. package/dist/session/manager.js.map +1 -1
  563. package/dist/session/session-graph-projection.d.ts +11 -0
  564. package/dist/session/session-graph-projection.d.ts.map +1 -1
  565. package/dist/session/session-graph-projection.js +28 -0
  566. package/dist/session/session-graph-projection.js.map +1 -1
  567. package/dist/session/types.d.ts +2 -0
  568. package/dist/session/types.d.ts.map +1 -1
  569. package/dist/session/types.js.map +1 -1
  570. package/dist/telemetry/agent-workforce-native-event.d.ts.map +1 -1
  571. package/dist/telemetry/agent-workforce-native-event.js +1 -3
  572. package/dist/telemetry/agent-workforce-native-event.js.map +1 -1
  573. package/dist/telemetry/maestro-event-bus.d.ts +1 -1
  574. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  575. package/dist/telemetry/maestro-event-bus.js +42 -81
  576. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  577. package/dist/telemetry/maestro-platform-replay-fixture.d.ts.map +1 -1
  578. package/dist/telemetry/maestro-platform-replay-fixture.js +1 -3
  579. package/dist/telemetry/maestro-platform-replay-fixture.js.map +1 -1
  580. package/dist/telemetry/maestro-publisher-conformance-fixture.js.map +1 -1
  581. package/dist/telemetry/oracle-policy.d.ts +6 -0
  582. package/dist/telemetry/oracle-policy.d.ts.map +1 -0
  583. package/dist/telemetry/oracle-policy.js +17 -0
  584. package/dist/telemetry/oracle-policy.js.map +1 -0
  585. package/dist/telemetry/wide-events.d.ts +1 -1
  586. package/dist/telemetry/wide-events.d.ts.map +1 -1
  587. package/dist/telemetry/wide-events.js.map +1 -1
  588. package/dist/telemetry.d.ts.map +1 -1
  589. package/dist/telemetry.js +54 -43
  590. package/dist/telemetry.js.map +1 -1
  591. package/dist/theme/theme-loader.d.ts.map +1 -1
  592. package/dist/theme/theme-loader.js +1 -3
  593. package/dist/theme/theme-loader.js.map +1 -1
  594. package/dist/theme/theme.d.ts +2 -8
  595. package/dist/theme/theme.d.ts.map +1 -1
  596. package/dist/theme/theme.js +7 -0
  597. package/dist/theme/theme.js.map +1 -1
  598. package/dist/theme/tui-theme-helpers.d.ts +2 -1
  599. package/dist/theme/tui-theme-helpers.d.ts.map +1 -1
  600. package/dist/theme/tui-theme-helpers.js.map +1 -1
  601. package/dist/theme/tui-theme-types.d.ts +39 -0
  602. package/dist/theme/tui-theme-types.d.ts.map +1 -0
  603. package/dist/theme/tui-theme-types.js +10 -0
  604. package/dist/theme/tui-theme-types.js.map +1 -0
  605. package/dist/tools/apply-patch.d.ts.map +1 -1
  606. package/dist/tools/apply-patch.js +76 -8
  607. package/dist/tools/apply-patch.js.map +1 -1
  608. package/dist/tools/diff-preview.d.ts.map +1 -1
  609. package/dist/tools/diff-preview.js +10 -1
  610. package/dist/tools/diff-preview.js.map +1 -1
  611. package/dist/tools/edit.d.ts.map +1 -1
  612. package/dist/tools/edit.js +17 -0
  613. package/dist/tools/edit.js.map +1 -1
  614. package/dist/tools/index.d.ts +199 -160
  615. package/dist/tools/index.d.ts.map +1 -1
  616. package/dist/tools/index.js +4 -0
  617. package/dist/tools/index.js.map +1 -1
  618. package/dist/tools/lazy-registry.d.ts.map +1 -1
  619. package/dist/tools/lazy-registry.js +1 -0
  620. package/dist/tools/lazy-registry.js.map +1 -1
  621. package/dist/tools/oracle.d.ts +9 -0
  622. package/dist/tools/oracle.d.ts.map +1 -1
  623. package/dist/tools/oracle.js +26 -24
  624. package/dist/tools/oracle.js.map +1 -1
  625. package/dist/tools/painter.d.ts +73 -0
  626. package/dist/tools/painter.d.ts.map +1 -0
  627. package/dist/tools/painter.js +283 -0
  628. package/dist/tools/painter.js.map +1 -0
  629. package/dist/tools/typebox-tool.d.ts.map +1 -1
  630. package/dist/tools/typebox-tool.js +1 -1
  631. package/dist/tools/typebox-tool.js.map +1 -1
  632. package/dist/tools/write.d.ts.map +1 -1
  633. package/dist/tools/write.js +9 -0
  634. package/dist/tools/write.js.map +1 -1
  635. package/dist/undo/tracker.d.ts +5 -0
  636. package/dist/undo/tracker.d.ts.map +1 -1
  637. package/dist/undo/tracker.js +13 -0
  638. package/dist/undo/tracker.js.map +1 -1
  639. package/dist/utils/fs.d.ts +1 -1
  640. package/dist/utils/fs.d.ts.map +1 -1
  641. package/dist/utils/fs.js +29 -2
  642. package/dist/utils/fs.js.map +1 -1
  643. package/dist/utils/git-stash.d.ts.map +1 -1
  644. package/dist/utils/git-stash.js +15 -8
  645. package/dist/utils/git-stash.js.map +1 -1
  646. package/dist/utils/json.d.ts +11 -0
  647. package/dist/utils/json.d.ts.map +1 -1
  648. package/dist/utils/json.js +9 -0
  649. package/dist/utils/json.js.map +1 -1
  650. package/dist/utils/shell-env.d.ts.map +1 -1
  651. package/dist/utils/shell-env.js +2 -0
  652. package/dist/utils/shell-env.js.map +1 -1
  653. package/dist/utils/terminal-image.d.ts +52 -0
  654. package/dist/utils/terminal-image.d.ts.map +1 -0
  655. package/dist/utils/terminal-image.js +95 -0
  656. package/dist/utils/terminal-image.js.map +1 -0
  657. package/dist/utils/terminal-text.d.ts +11 -0
  658. package/dist/utils/terminal-text.d.ts.map +1 -0
  659. package/dist/utils/terminal-text.js +21 -0
  660. package/dist/utils/terminal-text.js.map +1 -0
  661. package/dist/utils/url-extractor-git.d.ts +26 -0
  662. package/dist/utils/url-extractor-git.d.ts.map +1 -0
  663. package/dist/utils/url-extractor-git.js +259 -0
  664. package/dist/utils/url-extractor-git.js.map +1 -0
  665. package/dist/utils/url-extractor.d.ts.map +1 -1
  666. package/dist/utils/url-extractor.js +23 -251
  667. package/dist/utils/url-extractor.js.map +1 -1
  668. package/dist/version.json +2 -2
  669. package/dist/web-server.d.ts.map +1 -1
  670. package/dist/web-server.js +24 -2
  671. package/dist/web-server.js.map +1 -1
  672. package/package.json +312 -306
  673. package/skills/incident-triage/SKILL.md +20 -1
  674. package/skills/install-code-review/SKILL.md +69 -0
  675. package/skills/security-review/SKILL.md +68 -0
  676. package/skills/security-review/reference/rubric.md +85 -0
  677. package/dist/cli/commands/agents.d.ts +0 -20
  678. package/dist/cli/commands/agents.d.ts.map +0 -1
  679. package/dist/cli/commands/agents.js +0 -280
  680. package/dist/cli/commands/agents.js.map +0 -1
  681. package/dist/cli/commands/anthropic.d.ts +0 -2
  682. package/dist/cli/commands/anthropic.d.ts.map +0 -1
  683. package/dist/cli/commands/anthropic.js +0 -6
  684. package/dist/cli/commands/anthropic.js.map +0 -1
  685. package/dist/cli/commands/cost.d.ts +0 -13
  686. package/dist/cli/commands/cost.d.ts.map +0 -1
  687. package/dist/cli/commands/cost.js +0 -143
  688. package/dist/cli/commands/cost.js.map +0 -1
  689. package/dist/cli/commands/exec-constants.d.ts +0 -3
  690. package/dist/cli/commands/exec-constants.d.ts.map +0 -1
  691. package/dist/cli/commands/exec-constants.js +0 -3
  692. package/dist/cli/commands/exec-constants.js.map +0 -1
  693. package/dist/cli/commands/exec.d.ts +0 -19
  694. package/dist/cli/commands/exec.d.ts.map +0 -1
  695. package/dist/cli/commands/exec.js +0 -207
  696. package/dist/cli/commands/exec.js.map +0 -1
  697. package/dist/cli/commands/hooks.d.ts +0 -2
  698. package/dist/cli/commands/hooks.d.ts.map +0 -1
  699. package/dist/cli/commands/hooks.js +0 -25
  700. package/dist/cli/commands/hooks.js.map +0 -1
  701. package/dist/cli/commands/hosted-runner.d.ts +0 -25
  702. package/dist/cli/commands/hosted-runner.d.ts.map +0 -1
  703. package/dist/cli/commands/hosted-runner.js +0 -278
  704. package/dist/cli/commands/hosted-runner.js.map +0 -1
  705. package/dist/cli/commands/memory.d.ts +0 -2
  706. package/dist/cli/commands/memory.d.ts.map +0 -1
  707. package/dist/cli/commands/memory.js +0 -208
  708. package/dist/cli/commands/memory.js.map +0 -1
  709. package/dist/cli/commands/models.d.ts +0 -3
  710. package/dist/cli/commands/models.d.ts.map +0 -1
  711. package/dist/cli/commands/models.js +0 -154
  712. package/dist/cli/commands/models.js.map +0 -1
  713. package/dist/cli/commands/modes.d.ts +0 -8
  714. package/dist/cli/commands/modes.d.ts.map +0 -1
  715. package/dist/cli/commands/modes.js +0 -151
  716. package/dist/cli/commands/modes.js.map +0 -1
  717. package/dist/cli/commands/openai.d.ts +0 -2
  718. package/dist/cli/commands/openai.d.ts.map +0 -1
  719. package/dist/cli/commands/openai.js +0 -116
  720. package/dist/cli/commands/openai.js.map +0 -1
  721. package/dist/cli/commands/session-transfer.d.ts +0 -5
  722. package/dist/cli/commands/session-transfer.d.ts.map +0 -1
  723. package/dist/cli/commands/session-transfer.js +0 -43
  724. package/dist/cli/commands/session-transfer.js.map +0 -1
  725. package/dist/cli/commands/sessions.d.ts +0 -8
  726. package/dist/cli/commands/sessions.d.ts.map +0 -1
  727. package/dist/cli/commands/sessions.js +0 -152
  728. package/dist/cli/commands/sessions.js.map +0 -1
  729. package/dist/cli/commands/skill.d.ts +0 -10
  730. package/dist/cli/commands/skill.d.ts.map +0 -1
  731. package/dist/cli/commands/skill.js +0 -303
  732. package/dist/cli/commands/skill.js.map +0 -1
  733. package/dist/cli/commands/stats.d.ts +0 -7
  734. package/dist/cli/commands/stats.d.ts.map +0 -1
  735. package/dist/cli/commands/stats.js +0 -167
  736. package/dist/cli/commands/stats.js.map +0 -1
  737. package/dist/cli/commands/status.d.ts +0 -2
  738. package/dist/cli/commands/status.d.ts.map +0 -1
  739. package/dist/cli/commands/status.js +0 -11
  740. package/dist/cli/commands/status.js.map +0 -1
  741. package/dist/cli/commands/update.d.ts +0 -12
  742. package/dist/cli/commands/update.d.ts.map +0 -1
  743. package/dist/cli/commands/update.js +0 -148
  744. package/dist/cli/commands/update.js.map +0 -1
  745. package/dist/cli-tui/about-view.d.ts +0 -48
  746. package/dist/cli-tui/about-view.d.ts.map +0 -1
  747. package/dist/cli-tui/about-view.js +0 -206
  748. package/dist/cli-tui/about-view.js.map +0 -1
  749. package/dist/cli-tui/agent-event-router.d.ts +0 -28
  750. package/dist/cli-tui/agent-event-router.d.ts.map +0 -1
  751. package/dist/cli-tui/agent-event-router.js +0 -126
  752. package/dist/cli-tui/agent-event-router.js.map +0 -1
  753. package/dist/cli-tui/approval/approval-controller.d.ts +0 -28
  754. package/dist/cli-tui/approval/approval-controller.d.ts.map +0 -1
  755. package/dist/cli-tui/approval/approval-controller.js +0 -99
  756. package/dist/cli-tui/approval/approval-controller.js.map +0 -1
  757. package/dist/cli-tui/approval/approval-modal.d.ts +0 -26
  758. package/dist/cli-tui/approval/approval-modal.d.ts.map +0 -1
  759. package/dist/cli-tui/approval/approval-modal.js +0 -143
  760. package/dist/cli-tui/approval/approval-modal.js.map +0 -1
  761. package/dist/cli-tui/assistant-message.d.ts +0 -41
  762. package/dist/cli-tui/assistant-message.d.ts.map +0 -1
  763. package/dist/cli-tui/assistant-message.js +0 -236
  764. package/dist/cli-tui/assistant-message.js.map +0 -1
  765. package/dist/cli-tui/auth-state.d.ts +0 -7
  766. package/dist/cli-tui/auth-state.d.ts.map +0 -1
  767. package/dist/cli-tui/auth-state.js +0 -46
  768. package/dist/cli-tui/auth-state.js.map +0 -1
  769. package/dist/cli-tui/background/background-tasks-controller.d.ts +0 -31
  770. package/dist/cli-tui/background/background-tasks-controller.d.ts.map +0 -1
  771. package/dist/cli-tui/background/background-tasks-controller.js +0 -84
  772. package/dist/cli-tui/background/background-tasks-controller.js.map +0 -1
  773. package/dist/cli-tui/base-view.d.ts +0 -111
  774. package/dist/cli-tui/base-view.d.ts.map +0 -1
  775. package/dist/cli-tui/base-view.js +0 -145
  776. package/dist/cli-tui/base-view.js.map +0 -1
  777. package/dist/cli-tui/bash/background-launcher.d.ts +0 -14
  778. package/dist/cli-tui/bash/background-launcher.d.ts.map +0 -1
  779. package/dist/cli-tui/bash/background-launcher.js +0 -50
  780. package/dist/cli-tui/bash/background-launcher.js.map +0 -1
  781. package/dist/cli-tui/bash/bash-autocomplete.d.ts +0 -40
  782. package/dist/cli-tui/bash/bash-autocomplete.d.ts.map +0 -1
  783. package/dist/cli-tui/bash/bash-autocomplete.js +0 -347
  784. package/dist/cli-tui/bash/bash-autocomplete.js.map +0 -1
  785. package/dist/cli-tui/bash/bash-history.d.ts +0 -21
  786. package/dist/cli-tui/bash/bash-history.d.ts.map +0 -1
  787. package/dist/cli-tui/bash/bash-history.js +0 -72
  788. package/dist/cli-tui/bash/bash-history.js.map +0 -1
  789. package/dist/cli-tui/bash/bash-syntax.d.ts +0 -5
  790. package/dist/cli-tui/bash/bash-syntax.d.ts.map +0 -1
  791. package/dist/cli-tui/bash/bash-syntax.js +0 -176
  792. package/dist/cli-tui/bash/bash-syntax.js.map +0 -1
  793. package/dist/cli-tui/bash/index.d.ts +0 -4
  794. package/dist/cli-tui/bash/index.d.ts.map +0 -1
  795. package/dist/cli-tui/bash/index.js +0 -4
  796. package/dist/cli-tui/bash/index.js.map +0 -1
  797. package/dist/cli-tui/bash-mode-view.d.ts +0 -86
  798. package/dist/cli-tui/bash-mode-view.d.ts.map +0 -1
  799. package/dist/cli-tui/bash-mode-view.js +0 -560
  800. package/dist/cli-tui/bash-mode-view.js.map +0 -1
  801. package/dist/cli-tui/bash-shell-block.d.ts +0 -50
  802. package/dist/cli-tui/bash-shell-block.d.ts.map +0 -1
  803. package/dist/cli-tui/bash-shell-block.js +0 -119
  804. package/dist/cli-tui/bash-shell-block.js.map +0 -1
  805. package/dist/cli-tui/changelog-view.d.ts +0 -13
  806. package/dist/cli-tui/changelog-view.d.ts.map +0 -1
  807. package/dist/cli-tui/changelog-view.js +0 -34
  808. package/dist/cli-tui/changelog-view.js.map +0 -1
  809. package/dist/cli-tui/clean-mode.d.ts +0 -13
  810. package/dist/cli-tui/clean-mode.d.ts.map +0 -1
  811. package/dist/cli-tui/clean-mode.js +0 -32
  812. package/dist/cli-tui/clean-mode.js.map +0 -1
  813. package/dist/cli-tui/client-tools/client-tool-controller.d.ts +0 -41
  814. package/dist/cli-tui/client-tools/client-tool-controller.d.ts.map +0 -1
  815. package/dist/cli-tui/client-tools/client-tool-controller.js +0 -862
  816. package/dist/cli-tui/client-tools/client-tool-controller.js.map +0 -1
  817. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts +0 -33
  818. package/dist/cli-tui/client-tools/local-client-tool-service.d.ts.map +0 -1
  819. package/dist/cli-tui/client-tools/local-client-tool-service.js +0 -94
  820. package/dist/cli-tui/client-tools/local-client-tool-service.js.map +0 -1
  821. package/dist/cli-tui/commands/a2a-handlers.d.ts +0 -7
  822. package/dist/cli-tui/commands/a2a-handlers.d.ts.map +0 -1
  823. package/dist/cli-tui/commands/a2a-handlers.js +0 -215
  824. package/dist/cli-tui/commands/a2a-handlers.js.map +0 -1
  825. package/dist/cli-tui/commands/access-command.d.ts +0 -3
  826. package/dist/cli-tui/commands/access-command.d.ts.map +0 -1
  827. package/dist/cli-tui/commands/access-command.js +0 -89
  828. package/dist/cli-tui/commands/access-command.js.map +0 -1
  829. package/dist/cli-tui/commands/argument-parser.d.ts +0 -12
  830. package/dist/cli-tui/commands/argument-parser.d.ts.map +0 -1
  831. package/dist/cli-tui/commands/argument-parser.js +0 -135
  832. package/dist/cli-tui/commands/argument-parser.js.map +0 -1
  833. package/dist/cli-tui/commands/audit-command.d.ts +0 -5
  834. package/dist/cli-tui/commands/audit-command.d.ts.map +0 -1
  835. package/dist/cli-tui/commands/audit-command.js +0 -35
  836. package/dist/cli-tui/commands/audit-command.js.map +0 -1
  837. package/dist/cli-tui/commands/background-handlers.d.ts +0 -14
  838. package/dist/cli-tui/commands/background-handlers.d.ts.map +0 -1
  839. package/dist/cli-tui/commands/background-handlers.js +0 -115
  840. package/dist/cli-tui/commands/background-handlers.js.map +0 -1
  841. package/dist/cli-tui/commands/command-catalog.d.ts +0 -29
  842. package/dist/cli-tui/commands/command-catalog.d.ts.map +0 -1
  843. package/dist/cli-tui/commands/command-catalog.js +0 -666
  844. package/dist/cli-tui/commands/command-catalog.js.map +0 -1
  845. package/dist/cli-tui/commands/command-registry-adapter.d.ts +0 -12
  846. package/dist/cli-tui/commands/command-registry-adapter.d.ts.map +0 -1
  847. package/dist/cli-tui/commands/command-registry-adapter.js +0 -129
  848. package/dist/cli-tui/commands/command-registry-adapter.js.map +0 -1
  849. package/dist/cli-tui/commands/command-suite-catalog.d.ts +0 -14
  850. package/dist/cli-tui/commands/command-suite-catalog.d.ts.map +0 -1
  851. package/dist/cli-tui/commands/command-suite-catalog.js +0 -147
  852. package/dist/cli-tui/commands/command-suite-catalog.js.map +0 -1
  853. package/dist/cli-tui/commands/command-suite-handlers.d.ts +0 -111
  854. package/dist/cli-tui/commands/command-suite-handlers.d.ts.map +0 -1
  855. package/dist/cli-tui/commands/command-suite-handlers.js +0 -110
  856. package/dist/cli-tui/commands/command-suite-handlers.js.map +0 -1
  857. package/dist/cli-tui/commands/composer-handlers.d.ts +0 -8
  858. package/dist/cli-tui/commands/composer-handlers.d.ts.map +0 -1
  859. package/dist/cli-tui/commands/composer-handlers.js +0 -90
  860. package/dist/cli-tui/commands/composer-handlers.js.map +0 -1
  861. package/dist/cli-tui/commands/framework-handlers.d.ts +0 -18
  862. package/dist/cli-tui/commands/framework-handlers.d.ts.map +0 -1
  863. package/dist/cli-tui/commands/framework-handlers.js +0 -57
  864. package/dist/cli-tui/commands/framework-handlers.js.map +0 -1
  865. package/dist/cli-tui/commands/guardian-handlers.d.ts +0 -20
  866. package/dist/cli-tui/commands/guardian-handlers.d.ts.map +0 -1
  867. package/dist/cli-tui/commands/guardian-handlers.js +0 -48
  868. package/dist/cli-tui/commands/guardian-handlers.js.map +0 -1
  869. package/dist/cli-tui/commands/handlers/mode-handler.d.ts +0 -32
  870. package/dist/cli-tui/commands/handlers/mode-handler.d.ts.map +0 -1
  871. package/dist/cli-tui/commands/handlers/mode-handler.js +0 -153
  872. package/dist/cli-tui/commands/handlers/mode-handler.js.map +0 -1
  873. package/dist/cli-tui/commands/hotkeys-command.d.ts +0 -8
  874. package/dist/cli-tui/commands/hotkeys-command.d.ts.map +0 -1
  875. package/dist/cli-tui/commands/hotkeys-command.js +0 -61
  876. package/dist/cli-tui/commands/hotkeys-command.js.map +0 -1
  877. package/dist/cli-tui/commands/limits-command.d.ts +0 -3
  878. package/dist/cli-tui/commands/limits-command.d.ts.map +0 -1
  879. package/dist/cli-tui/commands/limits-command.js +0 -88
  880. package/dist/cli-tui/commands/limits-command.js.map +0 -1
  881. package/dist/cli-tui/commands/mcp-handlers.d.ts +0 -12
  882. package/dist/cli-tui/commands/mcp-handlers.d.ts.map +0 -1
  883. package/dist/cli-tui/commands/mcp-handlers.js +0 -1306
  884. package/dist/cli-tui/commands/mcp-handlers.js.map +0 -1
  885. package/dist/cli-tui/commands/memory-handlers.d.ts +0 -28
  886. package/dist/cli-tui/commands/memory-handlers.d.ts.map +0 -1
  887. package/dist/cli-tui/commands/memory-handlers.js +0 -414
  888. package/dist/cli-tui/commands/memory-handlers.js.map +0 -1
  889. package/dist/cli-tui/commands/otel-handlers.d.ts +0 -11
  890. package/dist/cli-tui/commands/otel-handlers.d.ts.map +0 -1
  891. package/dist/cli-tui/commands/otel-handlers.js +0 -20
  892. package/dist/cli-tui/commands/otel-handlers.js.map +0 -1
  893. package/dist/cli-tui/commands/package-handlers.d.ts +0 -30
  894. package/dist/cli-tui/commands/package-handlers.d.ts.map +0 -1
  895. package/dist/cli-tui/commands/package-handlers.js +0 -499
  896. package/dist/cli-tui/commands/package-handlers.js.map +0 -1
  897. package/dist/cli-tui/commands/pii-command.d.ts +0 -3
  898. package/dist/cli-tui/commands/pii-command.d.ts.map +0 -1
  899. package/dist/cli-tui/commands/pii-command.js +0 -54
  900. package/dist/cli-tui/commands/pii-command.js.map +0 -1
  901. package/dist/cli-tui/commands/registry.d.ts +0 -3
  902. package/dist/cli-tui/commands/registry.d.ts.map +0 -1
  903. package/dist/cli-tui/commands/registry.js +0 -36
  904. package/dist/cli-tui/commands/registry.js.map +0 -1
  905. package/dist/cli-tui/commands/safety-handlers.d.ts +0 -36
  906. package/dist/cli-tui/commands/safety-handlers.d.ts.map +0 -1
  907. package/dist/cli-tui/commands/safety-handlers.js +0 -62
  908. package/dist/cli-tui/commands/safety-handlers.js.map +0 -1
  909. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts +0 -26
  910. package/dist/cli-tui/commands/subcommands/auth-commands.d.ts.map +0 -1
  911. package/dist/cli-tui/commands/subcommands/auth-commands.js +0 -79
  912. package/dist/cli-tui/commands/subcommands/auth-commands.js.map +0 -1
  913. package/dist/cli-tui/commands/subcommands/config-commands.d.ts +0 -23
  914. package/dist/cli-tui/commands/subcommands/config-commands.d.ts.map +0 -1
  915. package/dist/cli-tui/commands/subcommands/config-commands.js +0 -61
  916. package/dist/cli-tui/commands/subcommands/config-commands.js.map +0 -1
  917. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts +0 -46
  918. package/dist/cli-tui/commands/subcommands/diag-commands.d.ts.map +0 -1
  919. package/dist/cli-tui/commands/subcommands/diag-commands.js +0 -163
  920. package/dist/cli-tui/commands/subcommands/diag-commands.js.map +0 -1
  921. package/dist/cli-tui/commands/subcommands/git-commands.d.ts +0 -18
  922. package/dist/cli-tui/commands/subcommands/git-commands.d.ts.map +0 -1
  923. package/dist/cli-tui/commands/subcommands/git-commands.js +0 -50
  924. package/dist/cli-tui/commands/subcommands/git-commands.js.map +0 -1
  925. package/dist/cli-tui/commands/subcommands/index.d.ts +0 -18
  926. package/dist/cli-tui/commands/subcommands/index.d.ts.map +0 -1
  927. package/dist/cli-tui/commands/subcommands/index.js +0 -18
  928. package/dist/cli-tui/commands/subcommands/index.js.map +0 -1
  929. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts +0 -26
  930. package/dist/cli-tui/commands/subcommands/safety-commands.d.ts.map +0 -1
  931. package/dist/cli-tui/commands/subcommands/safety-commands.js +0 -149
  932. package/dist/cli-tui/commands/subcommands/safety-commands.js.map +0 -1
  933. package/dist/cli-tui/commands/subcommands/session-commands.d.ts +0 -36
  934. package/dist/cli-tui/commands/subcommands/session-commands.d.ts.map +0 -1
  935. package/dist/cli-tui/commands/subcommands/session-commands.js +0 -112
  936. package/dist/cli-tui/commands/subcommands/session-commands.js.map +0 -1
  937. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts +0 -27
  938. package/dist/cli-tui/commands/subcommands/tools-commands.d.ts.map +0 -1
  939. package/dist/cli-tui/commands/subcommands/tools-commands.js +0 -80
  940. package/dist/cli-tui/commands/subcommands/tools-commands.js.map +0 -1
  941. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +0 -30
  942. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts.map +0 -1
  943. package/dist/cli-tui/commands/subcommands/ui-commands.js +0 -74
  944. package/dist/cli-tui/commands/subcommands/ui-commands.js.map +0 -1
  945. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts +0 -25
  946. package/dist/cli-tui/commands/subcommands/undo-commands.d.ts.map +0 -1
  947. package/dist/cli-tui/commands/subcommands/undo-commands.js +0 -74
  948. package/dist/cli-tui/commands/subcommands/undo-commands.js.map +0 -1
  949. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts +0 -19
  950. package/dist/cli-tui/commands/subcommands/usage-commands.d.ts.map +0 -1
  951. package/dist/cli-tui/commands/subcommands/usage-commands.js +0 -63
  952. package/dist/cli-tui/commands/subcommands/usage-commands.js.map +0 -1
  953. package/dist/cli-tui/commands/subcommands/utils.d.ts +0 -127
  954. package/dist/cli-tui/commands/subcommands/utils.d.ts.map +0 -1
  955. package/dist/cli-tui/commands/subcommands/utils.js +0 -395
  956. package/dist/cli-tui/commands/subcommands/utils.js.map +0 -1
  957. package/dist/cli-tui/commands/types.d.ts +0 -105
  958. package/dist/cli-tui/commands/types.d.ts.map +0 -1
  959. package/dist/cli-tui/commands/types.js +0 -2
  960. package/dist/cli-tui/commands/types.js.map +0 -1
  961. package/dist/cli-tui/commands/undo-handlers.d.ts +0 -29
  962. package/dist/cli-tui/commands/undo-handlers.d.ts.map +0 -1
  963. package/dist/cli-tui/commands/undo-handlers.js +0 -300
  964. package/dist/cli-tui/commands/undo-handlers.js.map +0 -1
  965. package/dist/cli-tui/commands/utility-handlers.d.ts +0 -55
  966. package/dist/cli-tui/commands/utility-handlers.d.ts.map +0 -1
  967. package/dist/cli-tui/commands/utility-handlers.js +0 -137
  968. package/dist/cli-tui/commands/utility-handlers.js.map +0 -1
  969. package/dist/cli-tui/commands/workflow-handlers.d.ts +0 -22
  970. package/dist/cli-tui/commands/workflow-handlers.d.ts.map +0 -1
  971. package/dist/cli-tui/commands/workflow-handlers.js +0 -227
  972. package/dist/cli-tui/commands/workflow-handlers.js.map +0 -1
  973. package/dist/cli-tui/compact-boundary-message.d.ts +0 -9
  974. package/dist/cli-tui/compact-boundary-message.d.ts.map +0 -1
  975. package/dist/cli-tui/compact-boundary-message.js +0 -18
  976. package/dist/cli-tui/compact-boundary-message.js.map +0 -1
  977. package/dist/cli-tui/compaction-recovery.d.ts +0 -6
  978. package/dist/cli-tui/compaction-recovery.d.ts.map +0 -1
  979. package/dist/cli-tui/compaction-recovery.js +0 -13
  980. package/dist/cli-tui/compaction-recovery.js.map +0 -1
  981. package/dist/cli-tui/config-view.d.ts +0 -30
  982. package/dist/cli-tui/config-view.d.ts.map +0 -1
  983. package/dist/cli-tui/config-view.js +0 -255
  984. package/dist/cli-tui/config-view.js.map +0 -1
  985. package/dist/cli-tui/context-view.d.ts +0 -20
  986. package/dist/cli-tui/context-view.d.ts.map +0 -1
  987. package/dist/cli-tui/context-view.js +0 -191
  988. package/dist/cli-tui/context-view.js.map +0 -1
  989. package/dist/cli-tui/custom-editor.d.ts +0 -25
  990. package/dist/cli-tui/custom-editor.d.ts.map +0 -1
  991. package/dist/cli-tui/custom-editor.js +0 -241
  992. package/dist/cli-tui/custom-editor.js.map +0 -1
  993. package/dist/cli-tui/editor-view.d.ts +0 -34
  994. package/dist/cli-tui/editor-view.d.ts.map +0 -1
  995. package/dist/cli-tui/editor-view.js +0 -102
  996. package/dist/cli-tui/editor-view.js.map +0 -1
  997. package/dist/cli-tui/feedback-view.d.ts +0 -35
  998. package/dist/cli-tui/feedback-view.d.ts.map +0 -1
  999. package/dist/cli-tui/feedback-view.js +0 -271
  1000. package/dist/cli-tui/feedback-view.js.map +0 -1
  1001. package/dist/cli-tui/footer.d.ts +0 -56
  1002. package/dist/cli-tui/footer.d.ts.map +0 -1
  1003. package/dist/cli-tui/footer.js +0 -228
  1004. package/dist/cli-tui/footer.js.map +0 -1
  1005. package/dist/cli-tui/git/commit-modal.d.ts +0 -14
  1006. package/dist/cli-tui/git/commit-modal.d.ts.map +0 -1
  1007. package/dist/cli-tui/git/commit-modal.js +0 -56
  1008. package/dist/cli-tui/git/commit-modal.js.map +0 -1
  1009. package/dist/cli-tui/git/git-preview-modal.d.ts +0 -40
  1010. package/dist/cli-tui/git/git-preview-modal.d.ts.map +0 -1
  1011. package/dist/cli-tui/git/git-preview-modal.js +0 -123
  1012. package/dist/cli-tui/git/git-preview-modal.js.map +0 -1
  1013. package/dist/cli-tui/git/git-view.d.ts +0 -65
  1014. package/dist/cli-tui/git/git-view.d.ts.map +0 -1
  1015. package/dist/cli-tui/git/git-view.js +0 -529
  1016. package/dist/cli-tui/git/git-view.js.map +0 -1
  1017. package/dist/cli-tui/history/history-config.d.ts +0 -7
  1018. package/dist/cli-tui/history/history-config.d.ts.map +0 -1
  1019. package/dist/cli-tui/history/history-config.js +0 -49
  1020. package/dist/cli-tui/history/history-config.js.map +0 -1
  1021. package/dist/cli-tui/history/prompt-history.d.ts +0 -33
  1022. package/dist/cli-tui/history/prompt-history.d.ts.map +0 -1
  1023. package/dist/cli-tui/history/prompt-history.js +0 -185
  1024. package/dist/cli-tui/history/prompt-history.js.map +0 -1
  1025. package/dist/cli-tui/history/tool-history.d.ts +0 -50
  1026. package/dist/cli-tui/history/tool-history.d.ts.map +0 -1
  1027. package/dist/cli-tui/history/tool-history.js +0 -253
  1028. package/dist/cli-tui/history/tool-history.js.map +0 -1
  1029. package/dist/cli-tui/hook-message.d.ts +0 -13
  1030. package/dist/cli-tui/hook-message.d.ts.map +0 -1
  1031. package/dist/cli-tui/hook-message.js +0 -56
  1032. package/dist/cli-tui/hook-message.js.map +0 -1
  1033. package/dist/cli-tui/hooks/hook-input-modal.d.ts +0 -22
  1034. package/dist/cli-tui/hooks/hook-input-modal.d.ts.map +0 -1
  1035. package/dist/cli-tui/hooks/hook-input-modal.js +0 -63
  1036. package/dist/cli-tui/hooks/hook-input-modal.js.map +0 -1
  1037. package/dist/cli-tui/hotkeys-view.d.ts +0 -13
  1038. package/dist/cli-tui/hotkeys-view.d.ts.map +0 -1
  1039. package/dist/cli-tui/hotkeys-view.js +0 -96
  1040. package/dist/cli-tui/hotkeys-view.js.map +0 -1
  1041. package/dist/cli-tui/import-view.d.ts +0 -28
  1042. package/dist/cli-tui/import-view.d.ts.map +0 -1
  1043. package/dist/cli-tui/import-view.js +0 -184
  1044. package/dist/cli-tui/import-view.js.map +0 -1
  1045. package/dist/cli-tui/info-view.d.ts +0 -18
  1046. package/dist/cli-tui/info-view.d.ts.map +0 -1
  1047. package/dist/cli-tui/info-view.js +0 -107
  1048. package/dist/cli-tui/info-view.js.map +0 -1
  1049. package/dist/cli-tui/instruction-panel.d.ts +0 -11
  1050. package/dist/cli-tui/instruction-panel.d.ts.map +0 -1
  1051. package/dist/cli-tui/instruction-panel.js +0 -86
  1052. package/dist/cli-tui/instruction-panel.js.map +0 -1
  1053. package/dist/cli-tui/interrupt-controller.d.ts +0 -78
  1054. package/dist/cli-tui/interrupt-controller.d.ts.map +0 -1
  1055. package/dist/cli-tui/interrupt-controller.js +0 -104
  1056. package/dist/cli-tui/interrupt-controller.js.map +0 -1
  1057. package/dist/cli-tui/keybindings-config.d.ts +0 -27
  1058. package/dist/cli-tui/keybindings-config.d.ts.map +0 -1
  1059. package/dist/cli-tui/keybindings-config.js +0 -372
  1060. package/dist/cli-tui/keybindings-config.js.map +0 -1
  1061. package/dist/cli-tui/keybindings-watcher.d.ts +0 -8
  1062. package/dist/cli-tui/keybindings-watcher.d.ts.map +0 -1
  1063. package/dist/cli-tui/keybindings-watcher.js +0 -56
  1064. package/dist/cli-tui/keybindings-watcher.js.map +0 -1
  1065. package/dist/cli-tui/keybindings.d.ts +0 -13
  1066. package/dist/cli-tui/keybindings.d.ts.map +0 -1
  1067. package/dist/cli-tui/keybindings.js +0 -223
  1068. package/dist/cli-tui/keybindings.js.map +0 -1
  1069. package/dist/cli-tui/loader/loader-stage-manager.d.ts +0 -43
  1070. package/dist/cli-tui/loader/loader-stage-manager.d.ts.map +0 -1
  1071. package/dist/cli-tui/loader/loader-stage-manager.js +0 -241
  1072. package/dist/cli-tui/loader/loader-stage-manager.js.map +0 -1
  1073. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts +0 -14
  1074. package/dist/cli-tui/loader/loader-stage-telemetry.d.ts.map +0 -1
  1075. package/dist/cli-tui/loader/loader-stage-telemetry.js +0 -34
  1076. package/dist/cli-tui/loader/loader-stage-telemetry.js.map +0 -1
  1077. package/dist/cli-tui/loader/loader-view.d.ts +0 -41
  1078. package/dist/cli-tui/loader/loader-view.d.ts.map +0 -1
  1079. package/dist/cli-tui/loader/loader-view.js +0 -162
  1080. package/dist/cli-tui/loader/loader-view.js.map +0 -1
  1081. package/dist/cli-tui/lsp-view.d.ts +0 -21
  1082. package/dist/cli-tui/lsp-view.d.ts.map +0 -1
  1083. package/dist/cli-tui/lsp-view.js +0 -183
  1084. package/dist/cli-tui/lsp-view.js.map +0 -1
  1085. package/dist/cli-tui/mermaid-renderer.d.ts +0 -2
  1086. package/dist/cli-tui/mermaid-renderer.d.ts.map +0 -1
  1087. package/dist/cli-tui/mermaid-renderer.js +0 -391
  1088. package/dist/cli-tui/mermaid-renderer.js.map +0 -1
  1089. package/dist/cli-tui/message-view.d.ts +0 -27
  1090. package/dist/cli-tui/message-view.d.ts.map +0 -1
  1091. package/dist/cli-tui/message-view.js +0 -169
  1092. package/dist/cli-tui/message-view.js.map +0 -1
  1093. package/dist/cli-tui/modal-manager.d.ts +0 -77
  1094. package/dist/cli-tui/modal-manager.d.ts.map +0 -1
  1095. package/dist/cli-tui/modal-manager.js +0 -131
  1096. package/dist/cli-tui/modal-manager.js.map +0 -1
  1097. package/dist/cli-tui/notification-view.d.ts +0 -16
  1098. package/dist/cli-tui/notification-view.d.ts.map +0 -1
  1099. package/dist/cli-tui/notification-view.js +0 -53
  1100. package/dist/cli-tui/notification-view.js.map +0 -1
  1101. package/dist/cli-tui/oauth/index.d.ts +0 -2
  1102. package/dist/cli-tui/oauth/index.d.ts.map +0 -1
  1103. package/dist/cli-tui/oauth/index.js +0 -2
  1104. package/dist/cli-tui/oauth/index.js.map +0 -1
  1105. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts +0 -65
  1106. package/dist/cli-tui/oauth/oauth-flow-controller.d.ts.map +0 -1
  1107. package/dist/cli-tui/oauth/oauth-flow-controller.js +0 -400
  1108. package/dist/cli-tui/oauth/oauth-flow-controller.js.map +0 -1
  1109. package/dist/cli-tui/ollama-view.d.ts +0 -38
  1110. package/dist/cli-tui/ollama-view.d.ts.map +0 -1
  1111. package/dist/cli-tui/ollama-view.js +0 -395
  1112. package/dist/cli-tui/ollama-view.js.map +0 -1
  1113. package/dist/cli-tui/paste/index.d.ts +0 -2
  1114. package/dist/cli-tui/paste/index.d.ts.map +0 -1
  1115. package/dist/cli-tui/paste/index.js +0 -2
  1116. package/dist/cli-tui/paste/index.js.map +0 -1
  1117. package/dist/cli-tui/paste/paste-handler.d.ts +0 -54
  1118. package/dist/cli-tui/paste/paste-handler.d.ts.map +0 -1
  1119. package/dist/cli-tui/paste/paste-handler.js +0 -128
  1120. package/dist/cli-tui/paste/paste-handler.js.map +0 -1
  1121. package/dist/cli-tui/plan/plan-controller.d.ts +0 -28
  1122. package/dist/cli-tui/plan/plan-controller.d.ts.map +0 -1
  1123. package/dist/cli-tui/plan/plan-controller.js +0 -66
  1124. package/dist/cli-tui/plan/plan-controller.js.map +0 -1
  1125. package/dist/cli-tui/plan-panel-modal.d.ts +0 -28
  1126. package/dist/cli-tui/plan-panel-modal.d.ts.map +0 -1
  1127. package/dist/cli-tui/plan-panel-modal.js +0 -193
  1128. package/dist/cli-tui/plan-panel-modal.js.map +0 -1
  1129. package/dist/cli-tui/plan-view.d.ts +0 -57
  1130. package/dist/cli-tui/plan-view.d.ts.map +0 -1
  1131. package/dist/cli-tui/plan-view.js +0 -404
  1132. package/dist/cli-tui/plan-view.js.map +0 -1
  1133. package/dist/cli-tui/prompt-queue.d.ts.map +0 -1
  1134. package/dist/cli-tui/prompt-queue.js.map +0 -1
  1135. package/dist/cli-tui/queue/follow-up-shortcut.d.ts +0 -6
  1136. package/dist/cli-tui/queue/follow-up-shortcut.d.ts.map +0 -1
  1137. package/dist/cli-tui/queue/follow-up-shortcut.js +0 -12
  1138. package/dist/cli-tui/queue/follow-up-shortcut.js.map +0 -1
  1139. package/dist/cli-tui/queue/index.d.ts +0 -3
  1140. package/dist/cli-tui/queue/index.d.ts.map +0 -1
  1141. package/dist/cli-tui/queue/index.js +0 -3
  1142. package/dist/cli-tui/queue/index.js.map +0 -1
  1143. package/dist/cli-tui/queue/queue-controller.d.ts +0 -109
  1144. package/dist/cli-tui/queue/queue-controller.d.ts.map +0 -1
  1145. package/dist/cli-tui/queue/queue-controller.js +0 -327
  1146. package/dist/cli-tui/queue/queue-controller.js.map +0 -1
  1147. package/dist/cli-tui/queue/queue-panel-controller.d.ts +0 -34
  1148. package/dist/cli-tui/queue/queue-panel-controller.d.ts.map +0 -1
  1149. package/dist/cli-tui/queue/queue-panel-controller.js +0 -163
  1150. package/dist/cli-tui/queue/queue-panel-controller.js.map +0 -1
  1151. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts +0 -7
  1152. package/dist/cli-tui/queue/queued-follow-up-edit-binding.d.ts.map +0 -1
  1153. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js +0 -14
  1154. package/dist/cli-tui/queue/queued-follow-up-edit-binding.js.map +0 -1
  1155. package/dist/cli-tui/queue-panel-modal.d.ts +0 -26
  1156. package/dist/cli-tui/queue-panel-modal.d.ts.map +0 -1
  1157. package/dist/cli-tui/queue-panel-modal.js +0 -159
  1158. package/dist/cli-tui/queue-panel-modal.js.map +0 -1
  1159. package/dist/cli-tui/run/run-command-view.d.ts +0 -17
  1160. package/dist/cli-tui/run/run-command-view.d.ts.map +0 -1
  1161. package/dist/cli-tui/run/run-command-view.js +0 -62
  1162. package/dist/cli-tui/run/run-command-view.js.map +0 -1
  1163. package/dist/cli-tui/run/run-controller.d.ts +0 -24
  1164. package/dist/cli-tui/run/run-controller.d.ts.map +0 -1
  1165. package/dist/cli-tui/run/run-controller.js +0 -38
  1166. package/dist/cli-tui/run/run-controller.js.map +0 -1
  1167. package/dist/cli-tui/run/run-shell-command.d.ts +0 -13
  1168. package/dist/cli-tui/run/run-shell-command.d.ts.map +0 -1
  1169. package/dist/cli-tui/run/run-shell-command.js +0 -51
  1170. package/dist/cli-tui/run/run-shell-command.js.map +0 -1
  1171. package/dist/cli-tui/run/streaming-shell-command.d.ts +0 -19
  1172. package/dist/cli-tui/run/streaming-shell-command.d.ts.map +0 -1
  1173. package/dist/cli-tui/run/streaming-shell-command.js +0 -107
  1174. package/dist/cli-tui/run/streaming-shell-command.js.map +0 -1
  1175. package/dist/cli-tui/search/file-search-view.d.ts +0 -22
  1176. package/dist/cli-tui/search/file-search-view.d.ts.map +0 -1
  1177. package/dist/cli-tui/search/file-search-view.js +0 -68
  1178. package/dist/cli-tui/search/file-search-view.js.map +0 -1
  1179. package/dist/cli-tui/search/file-search.d.ts +0 -13
  1180. package/dist/cli-tui/search/file-search.d.ts.map +0 -1
  1181. package/dist/cli-tui/search/file-search.js +0 -52
  1182. package/dist/cli-tui/search/file-search.js.map +0 -1
  1183. package/dist/cli-tui/security-status.d.ts +0 -83
  1184. package/dist/cli-tui/security-status.d.ts.map +0 -1
  1185. package/dist/cli-tui/security-status.js +0 -214
  1186. package/dist/cli-tui/security-status.js.map +0 -1
  1187. package/dist/cli-tui/selectors/base-selector.d.ts +0 -27
  1188. package/dist/cli-tui/selectors/base-selector.d.ts.map +0 -1
  1189. package/dist/cli-tui/selectors/base-selector.js +0 -47
  1190. package/dist/cli-tui/selectors/base-selector.js.map +0 -1
  1191. package/dist/cli-tui/selectors/branch-summary-modal.d.ts +0 -18
  1192. package/dist/cli-tui/selectors/branch-summary-modal.d.ts.map +0 -1
  1193. package/dist/cli-tui/selectors/branch-summary-modal.js +0 -24
  1194. package/dist/cli-tui/selectors/branch-summary-modal.js.map +0 -1
  1195. package/dist/cli-tui/selectors/model-selector-view.d.ts +0 -22
  1196. package/dist/cli-tui/selectors/model-selector-view.d.ts.map +0 -1
  1197. package/dist/cli-tui/selectors/model-selector-view.js +0 -31
  1198. package/dist/cli-tui/selectors/model-selector-view.js.map +0 -1
  1199. package/dist/cli-tui/selectors/model-selector.d.ts +0 -30
  1200. package/dist/cli-tui/selectors/model-selector.d.ts.map +0 -1
  1201. package/dist/cli-tui/selectors/model-selector.js +0 -218
  1202. package/dist/cli-tui/selectors/model-selector.js.map +0 -1
  1203. package/dist/cli-tui/selectors/oauth-selector-view.d.ts +0 -20
  1204. package/dist/cli-tui/selectors/oauth-selector-view.d.ts.map +0 -1
  1205. package/dist/cli-tui/selectors/oauth-selector-view.js +0 -28
  1206. package/dist/cli-tui/selectors/oauth-selector-view.js.map +0 -1
  1207. package/dist/cli-tui/selectors/oauth-selector.d.ts +0 -19
  1208. package/dist/cli-tui/selectors/oauth-selector.d.ts.map +0 -1
  1209. package/dist/cli-tui/selectors/oauth-selector.js +0 -120
  1210. package/dist/cli-tui/selectors/oauth-selector.js.map +0 -1
  1211. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts +0 -19
  1212. package/dist/cli-tui/selectors/queue-mode-selector-view.d.ts.map +0 -1
  1213. package/dist/cli-tui/selectors/queue-mode-selector-view.js +0 -29
  1214. package/dist/cli-tui/selectors/queue-mode-selector-view.js.map +0 -1
  1215. package/dist/cli-tui/selectors/queue-mode-selector.d.ts +0 -5
  1216. package/dist/cli-tui/selectors/queue-mode-selector.d.ts.map +0 -1
  1217. package/dist/cli-tui/selectors/queue-mode-selector.js +0 -34
  1218. package/dist/cli-tui/selectors/queue-mode-selector.js.map +0 -1
  1219. package/dist/cli-tui/selectors/report-selector-view.d.ts +0 -17
  1220. package/dist/cli-tui/selectors/report-selector-view.d.ts.map +0 -1
  1221. package/dist/cli-tui/selectors/report-selector-view.js +0 -29
  1222. package/dist/cli-tui/selectors/report-selector-view.js.map +0 -1
  1223. package/dist/cli-tui/selectors/report-selector.d.ts +0 -7
  1224. package/dist/cli-tui/selectors/report-selector.d.ts.map +0 -1
  1225. package/dist/cli-tui/selectors/report-selector.js +0 -31
  1226. package/dist/cli-tui/selectors/report-selector.js.map +0 -1
  1227. package/dist/cli-tui/selectors/theme-selector-view.d.ts +0 -19
  1228. package/dist/cli-tui/selectors/theme-selector-view.d.ts.map +0 -1
  1229. package/dist/cli-tui/selectors/theme-selector-view.js +0 -41
  1230. package/dist/cli-tui/selectors/theme-selector-view.js.map +0 -1
  1231. package/dist/cli-tui/selectors/theme-selector.d.ts +0 -14
  1232. package/dist/cli-tui/selectors/theme-selector.d.ts.map +0 -1
  1233. package/dist/cli-tui/selectors/theme-selector.js +0 -46
  1234. package/dist/cli-tui/selectors/theme-selector.js.map +0 -1
  1235. package/dist/cli-tui/selectors/thinking-selector-view.d.ts +0 -20
  1236. package/dist/cli-tui/selectors/thinking-selector-view.d.ts.map +0 -1
  1237. package/dist/cli-tui/selectors/thinking-selector-view.js +0 -31
  1238. package/dist/cli-tui/selectors/thinking-selector-view.js.map +0 -1
  1239. package/dist/cli-tui/selectors/thinking-selector.d.ts +0 -9
  1240. package/dist/cli-tui/selectors/thinking-selector.d.ts.map +0 -1
  1241. package/dist/cli-tui/selectors/thinking-selector.js +0 -47
  1242. package/dist/cli-tui/selectors/thinking-selector.js.map +0 -1
  1243. package/dist/cli-tui/selectors/tree-selector-view.d.ts +0 -32
  1244. package/dist/cli-tui/selectors/tree-selector-view.d.ts.map +0 -1
  1245. package/dist/cli-tui/selectors/tree-selector-view.js +0 -407
  1246. package/dist/cli-tui/selectors/tree-selector-view.js.map +0 -1
  1247. package/dist/cli-tui/selectors/tree-selector.d.ts +0 -27
  1248. package/dist/cli-tui/selectors/tree-selector.d.ts.map +0 -1
  1249. package/dist/cli-tui/selectors/tree-selector.js +0 -194
  1250. package/dist/cli-tui/selectors/tree-selector.js.map +0 -1
  1251. package/dist/cli-tui/selectors/user-message-selector-view.d.ts +0 -25
  1252. package/dist/cli-tui/selectors/user-message-selector-view.d.ts.map +0 -1
  1253. package/dist/cli-tui/selectors/user-message-selector-view.js +0 -101
  1254. package/dist/cli-tui/selectors/user-message-selector-view.js.map +0 -1
  1255. package/dist/cli-tui/selectors/user-message-selector.d.ts +0 -30
  1256. package/dist/cli-tui/selectors/user-message-selector.d.ts.map +0 -1
  1257. package/dist/cli-tui/selectors/user-message-selector.js +0 -114
  1258. package/dist/cli-tui/selectors/user-message-selector.js.map +0 -1
  1259. package/dist/cli-tui/session/branch-controller.d.ts +0 -65
  1260. package/dist/cli-tui/session/branch-controller.d.ts.map +0 -1
  1261. package/dist/cli-tui/session/branch-controller.js +0 -125
  1262. package/dist/cli-tui/session/branch-controller.js.map +0 -1
  1263. package/dist/cli-tui/session/conversation-compactor.d.ts +0 -64
  1264. package/dist/cli-tui/session/conversation-compactor.d.ts.map +0 -1
  1265. package/dist/cli-tui/session/conversation-compactor.js +0 -77
  1266. package/dist/cli-tui/session/conversation-compactor.js.map +0 -1
  1267. package/dist/cli-tui/session/session-context.d.ts +0 -59
  1268. package/dist/cli-tui/session/session-context.d.ts.map +0 -1
  1269. package/dist/cli-tui/session/session-context.js +0 -79
  1270. package/dist/cli-tui/session/session-context.js.map +0 -1
  1271. package/dist/cli-tui/session/session-data-provider.d.ts +0 -23
  1272. package/dist/cli-tui/session/session-data-provider.d.ts.map +0 -1
  1273. package/dist/cli-tui/session/session-data-provider.js +0 -22
  1274. package/dist/cli-tui/session/session-data-provider.js.map +0 -1
  1275. package/dist/cli-tui/session/session-list.d.ts +0 -18
  1276. package/dist/cli-tui/session/session-list.d.ts.map +0 -1
  1277. package/dist/cli-tui/session/session-list.js +0 -103
  1278. package/dist/cli-tui/session/session-list.js.map +0 -1
  1279. package/dist/cli-tui/session/session-selector.d.ts +0 -12
  1280. package/dist/cli-tui/session/session-selector.d.ts.map +0 -1
  1281. package/dist/cli-tui/session/session-selector.js +0 -37
  1282. package/dist/cli-tui/session/session-selector.js.map +0 -1
  1283. package/dist/cli-tui/session/session-summary-controller.d.ts +0 -24
  1284. package/dist/cli-tui/session/session-summary-controller.d.ts.map +0 -1
  1285. package/dist/cli-tui/session/session-summary-controller.js +0 -96
  1286. package/dist/cli-tui/session/session-summary-controller.js.map +0 -1
  1287. package/dist/cli-tui/session/session-switcher-view.d.ts +0 -20
  1288. package/dist/cli-tui/session/session-switcher-view.d.ts.map +0 -1
  1289. package/dist/cli-tui/session/session-switcher-view.js +0 -43
  1290. package/dist/cli-tui/session/session-switcher-view.js.map +0 -1
  1291. package/dist/cli-tui/session/session-switcher.d.ts +0 -38
  1292. package/dist/cli-tui/session/session-switcher.d.ts.map +0 -1
  1293. package/dist/cli-tui/session/session-switcher.js +0 -204
  1294. package/dist/cli-tui/session/session-switcher.js.map +0 -1
  1295. package/dist/cli-tui/session/session-view.d.ts +0 -46
  1296. package/dist/cli-tui/session/session-view.d.ts.map +0 -1
  1297. package/dist/cli-tui/session/session-view.js +0 -311
  1298. package/dist/cli-tui/session/session-view.js.map +0 -1
  1299. package/dist/cli-tui/slash/index.d.ts +0 -2
  1300. package/dist/cli-tui/slash/index.d.ts.map +0 -1
  1301. package/dist/cli-tui/slash/index.js +0 -2
  1302. package/dist/cli-tui/slash/index.js.map +0 -1
  1303. package/dist/cli-tui/slash/slash-command-matcher.d.ts +0 -55
  1304. package/dist/cli-tui/slash/slash-command-matcher.d.ts.map +0 -1
  1305. package/dist/cli-tui/slash/slash-command-matcher.js +0 -113
  1306. package/dist/cli-tui/slash/slash-command-matcher.js.map +0 -1
  1307. package/dist/cli-tui/smart-autocomplete-provider.d.ts +0 -5
  1308. package/dist/cli-tui/smart-autocomplete-provider.d.ts.map +0 -1
  1309. package/dist/cli-tui/smart-autocomplete-provider.js +0 -44
  1310. package/dist/cli-tui/smart-autocomplete-provider.js.map +0 -1
  1311. package/dist/cli-tui/startup-announcements.d.ts +0 -15
  1312. package/dist/cli-tui/startup-announcements.d.ts.map +0 -1
  1313. package/dist/cli-tui/startup-announcements.js +0 -75
  1314. package/dist/cli-tui/startup-announcements.js.map +0 -1
  1315. package/dist/cli-tui/status/cost-view.d.ts +0 -27
  1316. package/dist/cli-tui/status/cost-view.d.ts.map +0 -1
  1317. package/dist/cli-tui/status/cost-view.js +0 -212
  1318. package/dist/cli-tui/status/cost-view.js.map +0 -1
  1319. package/dist/cli-tui/status/diagnostics-templates.d.ts +0 -34
  1320. package/dist/cli-tui/status/diagnostics-templates.d.ts.map +0 -1
  1321. package/dist/cli-tui/status/diagnostics-templates.js +0 -167
  1322. package/dist/cli-tui/status/diagnostics-templates.js.map +0 -1
  1323. package/dist/cli-tui/status/diagnostics-view.d.ts +0 -48
  1324. package/dist/cli-tui/status/diagnostics-view.d.ts.map +0 -1
  1325. package/dist/cli-tui/status/diagnostics-view.js +0 -249
  1326. package/dist/cli-tui/status/diagnostics-view.js.map +0 -1
  1327. package/dist/cli-tui/status/diagnostics.d.ts +0 -39
  1328. package/dist/cli-tui/status/diagnostics.d.ts.map +0 -1
  1329. package/dist/cli-tui/status/diagnostics.js +0 -286
  1330. package/dist/cli-tui/status/diagnostics.js.map +0 -1
  1331. package/dist/cli-tui/status/health-snapshot.d.ts +0 -17
  1332. package/dist/cli-tui/status/health-snapshot.d.ts.map +0 -1
  1333. package/dist/cli-tui/status/health-snapshot.js +0 -28
  1334. package/dist/cli-tui/status/health-snapshot.js.map +0 -1
  1335. package/dist/cli-tui/status/quota-view.d.ts +0 -37
  1336. package/dist/cli-tui/status/quota-view.d.ts.map +0 -1
  1337. package/dist/cli-tui/status/quota-view.js +0 -309
  1338. package/dist/cli-tui/status/quota-view.js.map +0 -1
  1339. package/dist/cli-tui/status/telemetry-view.d.ts +0 -23
  1340. package/dist/cli-tui/status/telemetry-view.d.ts.map +0 -1
  1341. package/dist/cli-tui/status/telemetry-view.js +0 -77
  1342. package/dist/cli-tui/status/telemetry-view.js.map +0 -1
  1343. package/dist/cli-tui/status/training-view.d.ts +0 -23
  1344. package/dist/cli-tui/status/training-view.d.ts.map +0 -1
  1345. package/dist/cli-tui/status/training-view.js +0 -71
  1346. package/dist/cli-tui/status/training-view.js.map +0 -1
  1347. package/dist/cli-tui/streaming-view.d.ts +0 -43
  1348. package/dist/cli-tui/streaming-view.d.ts.map +0 -1
  1349. package/dist/cli-tui/streaming-view.js +0 -176
  1350. package/dist/cli-tui/streaming-view.js.map +0 -1
  1351. package/dist/cli-tui/terminal/index.d.ts +0 -2
  1352. package/dist/cli-tui/terminal/index.d.ts.map +0 -1
  1353. package/dist/cli-tui/terminal/index.js +0 -2
  1354. package/dist/cli-tui/terminal/index.js.map +0 -1
  1355. package/dist/cli-tui/terminal/terminal-utils.d.ts +0 -44
  1356. package/dist/cli-tui/terminal/terminal-utils.d.ts.map +0 -1
  1357. package/dist/cli-tui/terminal/terminal-utils.js +0 -145
  1358. package/dist/cli-tui/terminal/terminal-utils.js.map +0 -1
  1359. package/dist/cli-tui/tips/tip-scheduler.d.ts +0 -19
  1360. package/dist/cli-tui/tips/tip-scheduler.d.ts.map +0 -1
  1361. package/dist/cli-tui/tips/tip-scheduler.js +0 -135
  1362. package/dist/cli-tui/tips/tip-scheduler.js.map +0 -1
  1363. package/dist/cli-tui/tool-execution.d.ts +0 -76
  1364. package/dist/cli-tui/tool-execution.d.ts.map +0 -1
  1365. package/dist/cli-tui/tool-execution.js +0 -217
  1366. package/dist/cli-tui/tool-execution.js.map +0 -1
  1367. package/dist/cli-tui/tool-output-view.d.ts +0 -22
  1368. package/dist/cli-tui/tool-output-view.d.ts.map +0 -1
  1369. package/dist/cli-tui/tool-output-view.js +0 -71
  1370. package/dist/cli-tui/tool-output-view.js.map +0 -1
  1371. package/dist/cli-tui/tool-renderers/index.d.ts +0 -4
  1372. package/dist/cli-tui/tool-renderers/index.d.ts.map +0 -1
  1373. package/dist/cli-tui/tool-renderers/index.js +0 -19
  1374. package/dist/cli-tui/tool-renderers/index.js.map +0 -1
  1375. package/dist/cli-tui/tool-renderers/render-bash.d.ts +0 -6
  1376. package/dist/cli-tui/tool-renderers/render-bash.d.ts.map +0 -1
  1377. package/dist/cli-tui/tool-renderers/render-bash.js +0 -90
  1378. package/dist/cli-tui/tool-renderers/render-bash.js.map +0 -1
  1379. package/dist/cli-tui/tool-renderers/render-batch.d.ts +0 -12
  1380. package/dist/cli-tui/tool-renderers/render-batch.d.ts.map +0 -1
  1381. package/dist/cli-tui/tool-renderers/render-batch.js +0 -133
  1382. package/dist/cli-tui/tool-renderers/render-batch.js.map +0 -1
  1383. package/dist/cli-tui/tool-renderers/render-edit.d.ts +0 -6
  1384. package/dist/cli-tui/tool-renderers/render-edit.d.ts.map +0 -1
  1385. package/dist/cli-tui/tool-renderers/render-edit.js +0 -125
  1386. package/dist/cli-tui/tool-renderers/render-edit.js.map +0 -1
  1387. package/dist/cli-tui/tool-renderers/render-generic.d.ts +0 -6
  1388. package/dist/cli-tui/tool-renderers/render-generic.d.ts.map +0 -1
  1389. package/dist/cli-tui/tool-renderers/render-generic.js +0 -66
  1390. package/dist/cli-tui/tool-renderers/render-generic.js.map +0 -1
  1391. package/dist/cli-tui/tool-renderers/render-read.d.ts +0 -9
  1392. package/dist/cli-tui/tool-renderers/render-read.d.ts.map +0 -1
  1393. package/dist/cli-tui/tool-renderers/render-read.js +0 -108
  1394. package/dist/cli-tui/tool-renderers/render-read.js.map +0 -1
  1395. package/dist/cli-tui/tool-renderers/render-style.d.ts +0 -21
  1396. package/dist/cli-tui/tool-renderers/render-style.d.ts.map +0 -1
  1397. package/dist/cli-tui/tool-renderers/render-style.js +0 -51
  1398. package/dist/cli-tui/tool-renderers/render-style.js.map +0 -1
  1399. package/dist/cli-tui/tool-renderers/render-write.d.ts +0 -5
  1400. package/dist/cli-tui/tool-renderers/render-write.d.ts.map +0 -1
  1401. package/dist/cli-tui/tool-renderers/render-write.js +0 -60
  1402. package/dist/cli-tui/tool-renderers/render-write.js.map +0 -1
  1403. package/dist/cli-tui/tool-renderers/types.d.ts +0 -20
  1404. package/dist/cli-tui/tool-renderers/types.d.ts.map +0 -1
  1405. package/dist/cli-tui/tool-renderers/types.js +0 -2
  1406. package/dist/cli-tui/tool-renderers/types.js.map +0 -1
  1407. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts +0 -29
  1408. package/dist/cli-tui/tool-retry/tool-retry-controller.d.ts.map +0 -1
  1409. package/dist/cli-tui/tool-retry/tool-retry-controller.js +0 -110
  1410. package/dist/cli-tui/tool-retry/tool-retry-controller.js.map +0 -1
  1411. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts +0 -27
  1412. package/dist/cli-tui/tool-retry/tool-retry-modal.d.ts.map +0 -1
  1413. package/dist/cli-tui/tool-retry/tool-retry-modal.js +0 -118
  1414. package/dist/cli-tui/tool-retry/tool-retry-modal.js.map +0 -1
  1415. package/dist/cli-tui/tool-status-view.d.ts +0 -32
  1416. package/dist/cli-tui/tool-status-view.d.ts.map +0 -1
  1417. package/dist/cli-tui/tool-status-view.js +0 -86
  1418. package/dist/cli-tui/tool-status-view.js.map +0 -1
  1419. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts +0 -59
  1420. package/dist/cli-tui/tui-renderer/agent-event-bridge.d.ts.map +0 -1
  1421. package/dist/cli-tui/tui-renderer/agent-event-bridge.js +0 -129
  1422. package/dist/cli-tui/tui-renderer/agent-event-bridge.js.map +0 -1
  1423. package/dist/cli-tui/tui-renderer/approval-setup.d.ts +0 -13
  1424. package/dist/cli-tui/tui-renderer/approval-setup.d.ts.map +0 -1
  1425. package/dist/cli-tui/tui-renderer/approval-setup.js +0 -5
  1426. package/dist/cli-tui/tui-renderer/approval-setup.js.map +0 -1
  1427. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts +0 -54
  1428. package/dist/cli-tui/tui-renderer/attachment-controller.d.ts.map +0 -1
  1429. package/dist/cli-tui/tui-renderer/attachment-controller.js +0 -160
  1430. package/dist/cli-tui/tui-renderer/attachment-controller.js.map +0 -1
  1431. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts +0 -9
  1432. package/dist/cli-tui/tui-renderer/background-tasks-setup.d.ts.map +0 -1
  1433. package/dist/cli-tui/tui-renderer/background-tasks-setup.js +0 -7
  1434. package/dist/cli-tui/tui-renderer/background-tasks-setup.js.map +0 -1
  1435. package/dist/cli-tui/tui-renderer/branch-controller.d.ts +0 -41
  1436. package/dist/cli-tui/tui-renderer/branch-controller.d.ts.map +0 -1
  1437. package/dist/cli-tui/tui-renderer/branch-controller.js +0 -102
  1438. package/dist/cli-tui/tui-renderer/branch-controller.js.map +0 -1
  1439. package/dist/cli-tui/tui-renderer/clear-controller.d.ts +0 -75
  1440. package/dist/cli-tui/tui-renderer/clear-controller.d.ts.map +0 -1
  1441. package/dist/cli-tui/tui-renderer/clear-controller.js +0 -75
  1442. package/dist/cli-tui/tui-renderer/clear-controller.js.map +0 -1
  1443. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts +0 -14
  1444. package/dist/cli-tui/tui-renderer/client-tools-setup.d.ts.map +0 -1
  1445. package/dist/cli-tui/tui-renderer/client-tools-setup.js +0 -5
  1446. package/dist/cli-tui/tui-renderer/client-tools-setup.js.map +0 -1
  1447. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts +0 -111
  1448. package/dist/cli-tui/tui-renderer/command-registry-options.d.ts.map +0 -1
  1449. package/dist/cli-tui/tui-renderer/command-registry-options.js +0 -163
  1450. package/dist/cli-tui/tui-renderer/command-registry-options.js.map +0 -1
  1451. package/dist/cli-tui/tui-renderer/command-registry.d.ts +0 -16
  1452. package/dist/cli-tui/tui-renderer/command-registry.d.ts.map +0 -1
  1453. package/dist/cli-tui/tui-renderer/command-registry.js +0 -23
  1454. package/dist/cli-tui/tui-renderer/command-registry.js.map +0 -1
  1455. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts +0 -29
  1456. package/dist/cli-tui/tui-renderer/command-suite-wiring.d.ts.map +0 -1
  1457. package/dist/cli-tui/tui-renderer/command-suite-wiring.js +0 -108
  1458. package/dist/cli-tui/tui-renderer/command-suite-wiring.js.map +0 -1
  1459. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts +0 -100
  1460. package/dist/cli-tui/tui-renderer/compaction-controller.d.ts.map +0 -1
  1461. package/dist/cli-tui/tui-renderer/compaction-controller.js +0 -160
  1462. package/dist/cli-tui/tui-renderer/compaction-controller.js.map +0 -1
  1463. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts +0 -42
  1464. package/dist/cli-tui/tui-renderer/custom-commands-controller.d.ts.map +0 -1
  1465. package/dist/cli-tui/tui-renderer/custom-commands-controller.js +0 -106
  1466. package/dist/cli-tui/tui-renderer/custom-commands-controller.js.map +0 -1
  1467. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts +0 -37
  1468. package/dist/cli-tui/tui-renderer/delegating-command-handlers.d.ts.map +0 -1
  1469. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js +0 -139
  1470. package/dist/cli-tui/tui-renderer/delegating-command-handlers.js.map +0 -1
  1471. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts +0 -21
  1472. package/dist/cli-tui/tui-renderer/editor-bindings.d.ts.map +0 -1
  1473. package/dist/cli-tui/tui-renderer/editor-bindings.js +0 -76
  1474. package/dist/cli-tui/tui-renderer/editor-bindings.js.map +0 -1
  1475. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts +0 -90
  1476. package/dist/cli-tui/tui-renderer/footer-hints-controller.d.ts.map +0 -1
  1477. package/dist/cli-tui/tui-renderer/footer-hints-controller.js +0 -152
  1478. package/dist/cli-tui/tui-renderer/footer-hints-controller.js.map +0 -1
  1479. package/dist/cli-tui/tui-renderer/history-controller.d.ts +0 -35
  1480. package/dist/cli-tui/tui-renderer/history-controller.d.ts.map +0 -1
  1481. package/dist/cli-tui/tui-renderer/history-controller.js +0 -153
  1482. package/dist/cli-tui/tui-renderer/history-controller.js.map +0 -1
  1483. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts +0 -83
  1484. package/dist/cli-tui/tui-renderer/hook-ui-controller.d.ts.map +0 -1
  1485. package/dist/cli-tui/tui-renderer/hook-ui-controller.js +0 -309
  1486. package/dist/cli-tui/tui-renderer/hook-ui-controller.js.map +0 -1
  1487. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts +0 -19
  1488. package/dist/cli-tui/tui-renderer/initial-preferences.d.ts.map +0 -1
  1489. package/dist/cli-tui/tui-renderer/initial-preferences.js +0 -54
  1490. package/dist/cli-tui/tui-renderer/initial-preferences.js.map +0 -1
  1491. package/dist/cli-tui/tui-renderer/input-controller.d.ts +0 -56
  1492. package/dist/cli-tui/tui-renderer/input-controller.d.ts.map +0 -1
  1493. package/dist/cli-tui/tui-renderer/input-controller.js +0 -104
  1494. package/dist/cli-tui/tui-renderer/input-controller.js.map +0 -1
  1495. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts +0 -19
  1496. package/dist/cli-tui/tui-renderer/interrupt-setup.d.ts.map +0 -1
  1497. package/dist/cli-tui/tui-renderer/interrupt-setup.js +0 -18
  1498. package/dist/cli-tui/tui-renderer/interrupt-setup.js.map +0 -1
  1499. package/dist/cli-tui/tui-renderer/loader-setup.d.ts +0 -14
  1500. package/dist/cli-tui/tui-renderer/loader-setup.d.ts.map +0 -1
  1501. package/dist/cli-tui/tui-renderer/loader-setup.js +0 -13
  1502. package/dist/cli-tui/tui-renderer/loader-setup.js.map +0 -1
  1503. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts +0 -55
  1504. package/dist/cli-tui/tui-renderer/mcp-events-setup.d.ts.map +0 -1
  1505. package/dist/cli-tui/tui-renderer/mcp-events-setup.js +0 -143
  1506. package/dist/cli-tui/tui-renderer/mcp-events-setup.js.map +0 -1
  1507. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts +0 -59
  1508. package/dist/cli-tui/tui-renderer/misc-handlers.d.ts.map +0 -1
  1509. package/dist/cli-tui/tui-renderer/misc-handlers.js +0 -143
  1510. package/dist/cli-tui/tui-renderer/misc-handlers.js.map +0 -1
  1511. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts +0 -14
  1512. package/dist/cli-tui/tui-renderer/oauth-setup.d.ts.map +0 -1
  1513. package/dist/cli-tui/tui-renderer/oauth-setup.js +0 -26
  1514. package/dist/cli-tui/tui-renderer/oauth-setup.js.map +0 -1
  1515. package/dist/cli-tui/tui-renderer/plan-setup.d.ts +0 -19
  1516. package/dist/cli-tui/tui-renderer/plan-setup.d.ts.map +0 -1
  1517. package/dist/cli-tui/tui-renderer/plan-setup.js +0 -23
  1518. package/dist/cli-tui/tui-renderer/plan-setup.js.map +0 -1
  1519. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts +0 -21
  1520. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.d.ts.map +0 -1
  1521. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js +0 -64
  1522. package/dist/cli-tui/tui-renderer/prompt-template-slash-commands.js.map +0 -1
  1523. package/dist/cli-tui/tui-renderer/queue-setup.d.ts +0 -18
  1524. package/dist/cli-tui/tui-renderer/queue-setup.d.ts.map +0 -1
  1525. package/dist/cli-tui/tui-renderer/queue-setup.js +0 -42
  1526. package/dist/cli-tui/tui-renderer/queue-setup.js.map +0 -1
  1527. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts +0 -53
  1528. package/dist/cli-tui/tui-renderer/quick-settings-controller.d.ts.map +0 -1
  1529. package/dist/cli-tui/tui-renderer/quick-settings-controller.js +0 -100
  1530. package/dist/cli-tui/tui-renderer/quick-settings-controller.js.map +0 -1
  1531. package/dist/cli-tui/tui-renderer/session-setup.d.ts +0 -31
  1532. package/dist/cli-tui/tui-renderer/session-setup.d.ts.map +0 -1
  1533. package/dist/cli-tui/tui-renderer/session-setup.js +0 -45
  1534. package/dist/cli-tui/tui-renderer/session-setup.js.map +0 -1
  1535. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts +0 -66
  1536. package/dist/cli-tui/tui-renderer/session-state-controller.d.ts.map +0 -1
  1537. package/dist/cli-tui/tui-renderer/session-state-controller.js +0 -139
  1538. package/dist/cli-tui/tui-renderer/session-state-controller.js.map +0 -1
  1539. package/dist/cli-tui/tui-renderer/skills-controller.d.ts +0 -70
  1540. package/dist/cli-tui/tui-renderer/skills-controller.d.ts.map +0 -1
  1541. package/dist/cli-tui/tui-renderer/skills-controller.js +0 -411
  1542. package/dist/cli-tui/tui-renderer/skills-controller.js.map +0 -1
  1543. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts +0 -90
  1544. package/dist/cli-tui/tui-renderer/slash-hint-controller.d.ts.map +0 -1
  1545. package/dist/cli-tui/tui-renderer/slash-hint-controller.js +0 -131
  1546. package/dist/cli-tui/tui-renderer/slash-hint-controller.js.map +0 -1
  1547. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts +0 -13
  1548. package/dist/cli-tui/tui-renderer/tool-retry-setup.d.ts.map +0 -1
  1549. package/dist/cli-tui/tui-renderer/tool-retry-setup.js +0 -5
  1550. package/dist/cli-tui/tui-renderer/tool-retry-setup.js.map +0 -1
  1551. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts +0 -38
  1552. package/dist/cli-tui/tui-renderer/tooling-views-setup.d.ts.map +0 -1
  1553. package/dist/cli-tui/tui-renderer/tooling-views-setup.js +0 -48
  1554. package/dist/cli-tui/tui-renderer/tooling-views-setup.js.map +0 -1
  1555. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +0 -70
  1556. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +0 -1
  1557. package/dist/cli-tui/tui-renderer/ui-state-controller.js +0 -184
  1558. package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +0 -1
  1559. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts +0 -13
  1560. package/dist/cli-tui/tui-renderer/ui-state-setup.d.ts.map +0 -1
  1561. package/dist/cli-tui/tui-renderer/ui-state-setup.js +0 -11
  1562. package/dist/cli-tui/tui-renderer/ui-state-setup.js.map +0 -1
  1563. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts +0 -26
  1564. package/dist/cli-tui/tui-renderer/utility-views-setup.d.ts.map +0 -1
  1565. package/dist/cli-tui/tui-renderer/utility-views-setup.js +0 -23
  1566. package/dist/cli-tui/tui-renderer/utility-views-setup.js.map +0 -1
  1567. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts +0 -33
  1568. package/dist/cli-tui/tui-renderer/viewport-controller.d.ts.map +0 -1
  1569. package/dist/cli-tui/tui-renderer/viewport-controller.js +0 -98
  1570. package/dist/cli-tui/tui-renderer/viewport-controller.js.map +0 -1
  1571. package/dist/cli-tui/tui-renderer.d.ts +0 -268
  1572. package/dist/cli-tui/tui-renderer.d.ts.map +0 -1
  1573. package/dist/cli-tui/tui-renderer.js +0 -2131
  1574. package/dist/cli-tui/tui-renderer.js.map +0 -1
  1575. package/dist/cli-tui/ui-state.d.ts +0 -27
  1576. package/dist/cli-tui/ui-state.d.ts.map +0 -1
  1577. package/dist/cli-tui/ui-state.js +0 -88
  1578. package/dist/cli-tui/ui-state.js.map +0 -1
  1579. package/dist/cli-tui/update-view.d.ts +0 -16
  1580. package/dist/cli-tui/update-view.d.ts.map +0 -1
  1581. package/dist/cli-tui/update-view.js +0 -45
  1582. package/dist/cli-tui/update-view.js.map +0 -1
  1583. package/dist/cli-tui/user-message.d.ts +0 -17
  1584. package/dist/cli-tui/user-message.d.ts.map +0 -1
  1585. package/dist/cli-tui/user-message.js +0 -83
  1586. package/dist/cli-tui/user-message.js.map +0 -1
  1587. package/dist/cli-tui/utils/borders.d.ts +0 -131
  1588. package/dist/cli-tui/utils/borders.d.ts.map +0 -1
  1589. package/dist/cli-tui/utils/borders.js +0 -254
  1590. package/dist/cli-tui/utils/borders.js.map +0 -1
  1591. package/dist/cli-tui/utils/commands/command-palette-view.d.ts +0 -22
  1592. package/dist/cli-tui/utils/commands/command-palette-view.d.ts.map +0 -1
  1593. package/dist/cli-tui/utils/commands/command-palette-view.js +0 -31
  1594. package/dist/cli-tui/utils/commands/command-palette-view.js.map +0 -1
  1595. package/dist/cli-tui/utils/commands/command-palette.d.ts +0 -29
  1596. package/dist/cli-tui/utils/commands/command-palette.d.ts.map +0 -1
  1597. package/dist/cli-tui/utils/commands/command-palette.js +0 -213
  1598. package/dist/cli-tui/utils/commands/command-palette.js.map +0 -1
  1599. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts +0 -8
  1600. package/dist/cli-tui/utils/commands/command-registry-builder.d.ts.map +0 -1
  1601. package/dist/cli-tui/utils/commands/command-registry-builder.js +0 -9
  1602. package/dist/cli-tui/utils/commands/command-registry-builder.js.map +0 -1
  1603. package/dist/cli-tui/utils/commands/review-prompt.d.ts +0 -10
  1604. package/dist/cli-tui/utils/commands/review-prompt.d.ts.map +0 -1
  1605. package/dist/cli-tui/utils/commands/review-prompt.js +0 -90
  1606. package/dist/cli-tui/utils/commands/review-prompt.js.map +0 -1
  1607. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts +0 -15
  1608. package/dist/cli-tui/utils/commands/slash-hint-bar.d.ts.map +0 -1
  1609. package/dist/cli-tui/utils/commands/slash-hint-bar.js +0 -106
  1610. package/dist/cli-tui/utils/commands/slash-hint-bar.js.map +0 -1
  1611. package/dist/cli-tui/utils/env-detect.d.ts +0 -11
  1612. package/dist/cli-tui/utils/env-detect.d.ts.map +0 -1
  1613. package/dist/cli-tui/utils/env-detect.js +0 -107
  1614. package/dist/cli-tui/utils/env-detect.js.map +0 -1
  1615. package/dist/cli-tui/utils/external-editor.d.ts +0 -7
  1616. package/dist/cli-tui/utils/external-editor.d.ts.map +0 -1
  1617. package/dist/cli-tui/utils/external-editor.js +0 -53
  1618. package/dist/cli-tui/utils/external-editor.js.map +0 -1
  1619. package/dist/cli-tui/utils/footer-utils.d.ts +0 -169
  1620. package/dist/cli-tui/utils/footer-utils.d.ts.map +0 -1
  1621. package/dist/cli-tui/utils/footer-utils.js +0 -716
  1622. package/dist/cli-tui/utils/footer-utils.js.map +0 -1
  1623. package/dist/cli-tui/utils/footer-visual-widgets.d.ts +0 -38
  1624. package/dist/cli-tui/utils/footer-visual-widgets.d.ts.map +0 -1
  1625. package/dist/cli-tui/utils/footer-visual-widgets.js +0 -141
  1626. package/dist/cli-tui/utils/footer-visual-widgets.js.map +0 -1
  1627. package/dist/cli-tui/utils/git-branch-tracker.d.ts +0 -38
  1628. package/dist/cli-tui/utils/git-branch-tracker.d.ts.map +0 -1
  1629. package/dist/cli-tui/utils/git-branch-tracker.js +0 -90
  1630. package/dist/cli-tui/utils/git-branch-tracker.js.map +0 -1
  1631. package/dist/cli-tui/utils/glyphs.d.ts +0 -207
  1632. package/dist/cli-tui/utils/glyphs.d.ts.map +0 -1
  1633. package/dist/cli-tui/utils/glyphs.js +0 -249
  1634. package/dist/cli-tui/utils/glyphs.js.map +0 -1
  1635. package/dist/cli-tui/utils/layout.d.ts +0 -77
  1636. package/dist/cli-tui/utils/layout.d.ts.map +0 -1
  1637. package/dist/cli-tui/utils/layout.js +0 -83
  1638. package/dist/cli-tui/utils/layout.js.map +0 -1
  1639. package/dist/cli-tui/utils/links.d.ts +0 -2
  1640. package/dist/cli-tui/utils/links.d.ts.map +0 -1
  1641. package/dist/cli-tui/utils/links.js +0 -14
  1642. package/dist/cli-tui/utils/links.js.map +0 -1
  1643. package/dist/cli-tui/utils/motion.d.ts +0 -4
  1644. package/dist/cli-tui/utils/motion.d.ts.map +0 -1
  1645. package/dist/cli-tui/utils/motion.js +0 -28
  1646. package/dist/cli-tui/utils/motion.js.map +0 -1
  1647. package/dist/cli-tui/utils/runtime-badges.d.ts +0 -26
  1648. package/dist/cli-tui/utils/runtime-badges.d.ts.map +0 -1
  1649. package/dist/cli-tui/utils/runtime-badges.js +0 -178
  1650. package/dist/cli-tui/utils/runtime-badges.js.map +0 -1
  1651. package/dist/cli-tui/utils/shimmer.d.ts +0 -12
  1652. package/dist/cli-tui/utils/shimmer.d.ts.map +0 -1
  1653. package/dist/cli-tui/utils/shimmer.js +0 -57
  1654. package/dist/cli-tui/utils/shimmer.js.map +0 -1
  1655. package/dist/cli-tui/utils/stage-labels.d.ts +0 -9
  1656. package/dist/cli-tui/utils/stage-labels.d.ts.map +0 -1
  1657. package/dist/cli-tui/utils/stage-labels.js +0 -65
  1658. package/dist/cli-tui/utils/stage-labels.js.map +0 -1
  1659. package/dist/cli-tui/utils/text-formatting.d.ts +0 -13
  1660. package/dist/cli-tui/utils/text-formatting.d.ts.map +0 -1
  1661. package/dist/cli-tui/utils/text-formatting.js +0 -109
  1662. package/dist/cli-tui/utils/text-formatting.js.map +0 -1
  1663. package/dist/cli-tui/utils/text-preview.d.ts +0 -10
  1664. package/dist/cli-tui/utils/text-preview.d.ts.map +0 -1
  1665. package/dist/cli-tui/utils/text-preview.js +0 -26
  1666. package/dist/cli-tui/utils/text-preview.js.map +0 -1
  1667. package/dist/cli-tui/utils/tool-text-utils.d.ts +0 -42
  1668. package/dist/cli-tui/utils/tool-text-utils.d.ts.map +0 -1
  1669. package/dist/cli-tui/utils/tool-text-utils.js +0 -361
  1670. package/dist/cli-tui/utils/tool-text-utils.js.map +0 -1
  1671. package/dist/cli-tui/welcome-animation.d.ts +0 -24
  1672. package/dist/cli-tui/welcome-animation.d.ts.map +0 -1
  1673. package/dist/cli-tui/welcome-animation.js +0 -99
  1674. package/dist/cli-tui/welcome-animation.js.map +0 -1
  1675. package/dist/cli-tui/welcome-colors.d.ts +0 -3
  1676. package/dist/cli-tui/welcome-colors.d.ts.map +0 -1
  1677. package/dist/cli-tui/welcome-colors.js +0 -39
  1678. package/dist/cli-tui/welcome-colors.js.map +0 -1
  1679. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts +0 -304
  1680. package/dist/node_modules/@evalops/tui/dist/autocomplete.d.ts.map +0 -1
  1681. package/dist/node_modules/@evalops/tui/dist/autocomplete.js +0 -712
  1682. package/dist/node_modules/@evalops/tui/dist/autocomplete.js.map +0 -1
  1683. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts +0 -185
  1684. package/dist/node_modules/@evalops/tui/dist/components/editor.d.ts.map +0 -1
  1685. package/dist/node_modules/@evalops/tui/dist/components/editor.js +0 -1460
  1686. package/dist/node_modules/@evalops/tui/dist/components/editor.js.map +0 -1
  1687. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts +0 -117
  1688. package/dist/node_modules/@evalops/tui/dist/components/input.d.ts.map +0 -1
  1689. package/dist/node_modules/@evalops/tui/dist/components/input.js +0 -391
  1690. package/dist/node_modules/@evalops/tui/dist/components/input.js.map +0 -1
  1691. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts +0 -256
  1692. package/dist/node_modules/@evalops/tui/dist/components/layout.d.ts.map +0 -1
  1693. package/dist/node_modules/@evalops/tui/dist/components/layout.js +0 -478
  1694. package/dist/node_modules/@evalops/tui/dist/components/layout.js.map +0 -1
  1695. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts +0 -199
  1696. package/dist/node_modules/@evalops/tui/dist/components/loader.d.ts.map +0 -1
  1697. package/dist/node_modules/@evalops/tui/dist/components/loader.js +0 -374
  1698. package/dist/node_modules/@evalops/tui/dist/components/loader.js.map +0 -1
  1699. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts +0 -65
  1700. package/dist/node_modules/@evalops/tui/dist/components/markdown.d.ts.map +0 -1
  1701. package/dist/node_modules/@evalops/tui/dist/components/markdown.js +0 -562
  1702. package/dist/node_modules/@evalops/tui/dist/components/markdown.js.map +0 -1
  1703. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts +0 -262
  1704. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.d.ts.map +0 -1
  1705. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js +0 -575
  1706. package/dist/node_modules/@evalops/tui/dist/components/scroll-container.js.map +0 -1
  1707. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts +0 -131
  1708. package/dist/node_modules/@evalops/tui/dist/components/select-list.d.ts.map +0 -1
  1709. package/dist/node_modules/@evalops/tui/dist/components/select-list.js +0 -257
  1710. package/dist/node_modules/@evalops/tui/dist/components/select-list.js.map +0 -1
  1711. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts +0 -11
  1712. package/dist/node_modules/@evalops/tui/dist/components/spacer.d.ts.map +0 -1
  1713. package/dist/node_modules/@evalops/tui/dist/components/spacer.js +0 -19
  1714. package/dist/node_modules/@evalops/tui/dist/components/spacer.js.map +0 -1
  1715. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts +0 -22
  1716. package/dist/node_modules/@evalops/tui/dist/components/status-bar.d.ts.map +0 -1
  1717. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js +0 -44
  1718. package/dist/node_modules/@evalops/tui/dist/components/status-bar.js.map +0 -1
  1719. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts +0 -26
  1720. package/dist/node_modules/@evalops/tui/dist/components/text.d.ts.map +0 -1
  1721. package/dist/node_modules/@evalops/tui/dist/components/text.js +0 -181
  1722. package/dist/node_modules/@evalops/tui/dist/components/text.js.map +0 -1
  1723. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts +0 -15
  1724. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.d.ts.map +0 -1
  1725. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js +0 -84
  1726. package/dist/node_modules/@evalops/tui/dist/components/truncated-text.js.map +0 -1
  1727. package/dist/node_modules/@evalops/tui/dist/index.d.ts +0 -87
  1728. package/dist/node_modules/@evalops/tui/dist/index.d.ts.map +0 -1
  1729. package/dist/node_modules/@evalops/tui/dist/index.js +0 -85
  1730. package/dist/node_modules/@evalops/tui/dist/index.js.map +0 -1
  1731. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts +0 -189
  1732. package/dist/node_modules/@evalops/tui/dist/keymap.d.ts.map +0 -1
  1733. package/dist/node_modules/@evalops/tui/dist/keymap.js +0 -363
  1734. package/dist/node_modules/@evalops/tui/dist/keymap.js.map +0 -1
  1735. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts +0 -25
  1736. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.d.ts.map +0 -1
  1737. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js +0 -828
  1738. package/dist/node_modules/@evalops/tui/dist/mermaid-renderer.js.map +0 -1
  1739. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts +0 -40
  1740. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.d.ts.map +0 -1
  1741. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js +0 -474
  1742. package/dist/node_modules/@evalops/tui/dist/style/code-highlighter.js.map +0 -1
  1743. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts +0 -201
  1744. package/dist/node_modules/@evalops/tui/dist/terminal.d.ts.map +0 -1
  1745. package/dist/node_modules/@evalops/tui/dist/terminal.js +0 -241
  1746. package/dist/node_modules/@evalops/tui/dist/terminal.js.map +0 -1
  1747. package/dist/node_modules/@evalops/tui/dist/tui.d.ts +0 -263
  1748. package/dist/node_modules/@evalops/tui/dist/tui.d.ts.map +0 -1
  1749. package/dist/node_modules/@evalops/tui/dist/tui.js +0 -694
  1750. package/dist/node_modules/@evalops/tui/dist/tui.js.map +0 -1
  1751. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts +0 -14
  1752. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.d.ts.map +0 -1
  1753. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js +0 -44
  1754. package/dist/node_modules/@evalops/tui/dist/utils/terminal-features.js.map +0 -1
  1755. package/dist/node_modules/@evalops/tui/dist/utils.d.ts +0 -32
  1756. package/dist/node_modules/@evalops/tui/dist/utils.d.ts.map +0 -1
  1757. package/dist/node_modules/@evalops/tui/dist/utils.js +0 -556
  1758. package/dist/node_modules/@evalops/tui/dist/utils.js.map +0 -1
  1759. package/dist/node_modules/@evalops/tui/package.json +0 -58
  1760. package/dist/skills/artifact-metadata.d.ts +0 -16
  1761. package/dist/skills/artifact-metadata.d.ts.map +0 -1
  1762. package/dist/skills/artifact-metadata.js +0 -86
  1763. package/dist/skills/artifact-metadata.js.map +0 -1
  1764. package/dist/skills/composer-diagnostics.d.ts +0 -69
  1765. package/dist/skills/composer-diagnostics.d.ts.map +0 -1
  1766. package/dist/skills/composer-diagnostics.js +0 -78
  1767. package/dist/skills/composer-diagnostics.js.map +0 -1
  1768. package/dist/skills/composer.d.ts +0 -19
  1769. package/dist/skills/composer.d.ts.map +0 -1
  1770. package/dist/skills/composer.js +0 -52
  1771. package/dist/skills/composer.js.map +0 -1
  1772. package/dist/skills/eval-harness.d.ts +0 -38
  1773. package/dist/skills/eval-harness.d.ts.map +0 -1
  1774. package/dist/skills/eval-harness.js +0 -112
  1775. package/dist/skills/eval-harness.js.map +0 -1
  1776. package/dist/skills/index.d.ts +0 -40
  1777. package/dist/skills/index.d.ts.map +0 -1
  1778. package/dist/skills/index.js +0 -40
  1779. package/dist/skills/index.js.map +0 -1
  1780. package/dist/skills/linter.d.ts +0 -36
  1781. package/dist/skills/linter.d.ts.map +0 -1
  1782. package/dist/skills/linter.js +0 -399
  1783. package/dist/skills/linter.js.map +0 -1
  1784. package/dist/skills/loader.d.ts +0 -252
  1785. package/dist/skills/loader.d.ts.map +0 -1
  1786. package/dist/skills/loader.js +0 -957
  1787. package/dist/skills/loader.js.map +0 -1
  1788. package/dist/skills/package-contract.d.ts +0 -45
  1789. package/dist/skills/package-contract.d.ts.map +0 -1
  1790. package/dist/skills/package-contract.js +0 -153
  1791. package/dist/skills/package-contract.js.map +0 -1
  1792. package/dist/skills/runtime-activation.d.ts +0 -68
  1793. package/dist/skills/runtime-activation.d.ts.map +0 -1
  1794. package/dist/skills/runtime-activation.js +0 -228
  1795. package/dist/skills/runtime-activation.js.map +0 -1
  1796. package/dist/skills/scaffold-from-template.d.ts +0 -58
  1797. package/dist/skills/scaffold-from-template.d.ts.map +0 -1
  1798. package/dist/skills/scaffold-from-template.js +0 -72
  1799. package/dist/skills/scaffold-from-template.js.map +0 -1
  1800. package/dist/skills/scaffolder.d.ts +0 -65
  1801. package/dist/skills/scaffolder.d.ts.map +0 -1
  1802. package/dist/skills/scaffolder.js +0 -167
  1803. package/dist/skills/scaffolder.js.map +0 -1
  1804. package/dist/skills/service-client.d.ts +0 -56
  1805. package/dist/skills/service-client.d.ts.map +0 -1
  1806. package/dist/skills/service-client.js +0 -266
  1807. package/dist/skills/service-client.js.map +0 -1
  1808. package/dist/skills/skill-templates.d.ts +0 -70
  1809. package/dist/skills/skill-templates.d.ts.map +0 -1
  1810. package/dist/skills/skill-templates.js +0 -154
  1811. package/dist/skills/skill-templates.js.map +0 -1
  1812. package/dist/skills/tool.d.ts +0 -21
  1813. package/dist/skills/tool.d.ts.map +0 -1
  1814. package/dist/skills/tool.js +0 -334
  1815. package/dist/skills/tool.js.map +0 -1
  1816. package/dist/skills/trust-cache.d.ts +0 -58
  1817. package/dist/skills/trust-cache.d.ts.map +0 -1
  1818. package/dist/skills/trust-cache.js +0 -130
  1819. package/dist/skills/trust-cache.js.map +0 -1
  1820. package/dist/skills/types.d.ts +0 -91
  1821. package/dist/skills/types.d.ts.map +0 -1
  1822. package/dist/skills/types.js +0 -8
  1823. package/dist/skills/types.js.map +0 -1
  1824. /package/dist/{cli-tui → runtime}/prompt-queue.d.ts +0 -0
  1825. /package/dist/{cli-tui → runtime}/prompt-queue.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/providers/auth.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Authentication Resolver - Unified Credential Resolution\n *\n * This module provides a unified authentication resolver that handles\n * multiple credential sources and authentication modes for all supported\n * AI providers. It abstracts the complexity of OAuth, API keys, and\n * environment variables into a single interface.\n *\n * ## Authentication Modes\n *\n * | Mode | Description |\n * |----------|------------------------------------------------|\n * | auto | Try OAuth first, fallback to API keys (default)|\n * | api-key | Only use API keys, skip OAuth |\n *\n * ## Credential Resolution Order\n *\n * 1. **Explicit API key**: Passed directly via options\n * 2. **OAuth tokens**: Provider-specific OAuth flows (if mode allows)\n * 3. **Environment variables**: Standard env var lookup\n * 4. **Custom providers**: From models registry configuration\n *\n * ## Credential Sources\n *\n * | Source | Description |\n * |---------------------|------------------------------------------|\n * | explicit | Passed directly to resolver |\n * | env | From environment variable |\n * | custom_literal | Hardcoded in custom provider config |\n * | custom_env | Env var from custom provider config |\n * | evalops_oauth_file | EvalOps managed OAuth from stored credentials |\n * | openai_oauth_file | OpenAI OAuth from stored credentials |\n * | openai_codex_oauth_file | OpenAI Codex ChatGPT OAuth from stored credentials |\n * | google_oauth_file | Google OAuth from stored credentials |\n *\n * ## Example\n *\n * ```typescript\n * const resolver = createAuthResolver({ mode: 'auto' });\n * const credential = await resolver('anthropic');\n *\n * if (credential) {\n * console.log(`Using ${credential.type} from ${credential.source}`);\n * // Use credential.token for API requests\n * }\n * ```\n *\n * @module providers/auth\n */\n\nimport {\n\tEVALOPS_ORGANIZATION_ID_ENV_VARS,\n\tEVALOPS_WORKSPACE_ID_ENV_VARS,\n\treadEvalOpsEnv,\n} from \"../evalops/env-aliases.js\";\nimport { getOAuthToken } from \"../oauth/index.js\";\nimport { loadOAuthCredentials } from \"../oauth/storage.js\";\nimport { lookupApiKey } from \"./api-keys.js\";\nimport {\n\tgetEvalOpsManagedProviderDefinition,\n\tisEvalOpsManagedGatewayEnabled,\n\tisEvalOpsManagedProvider,\n\tisKnownEvalOpsManagedProvider,\n} from \"./evalops-managed.js\";\nimport { getFreshOpenAIOAuthCredential } from \"./openai-auth.js\";\n\nexport type AuthMode = \"auto\" | \"api-key\";\n\nexport type AuthCredentialType = \"api-key\" | \"bearer-token\";\n\nexport type AuthCredentialSource =\n\t| \"explicit\"\n\t| \"env\"\n\t| \"custom_literal\"\n\t| \"custom_env\"\n\t| \"evalops_agent_key_file\"\n\t| \"evalops_oauth_file\"\n\t| \"openai_oauth_file\"\n\t| \"openai_codex_oauth_file\"\n\t| \"google_oauth_file\"\n\t| \"github_copilot_oauth_file\";\n\nexport interface AuthCredential {\n\tprovider: string;\n\ttoken: string;\n\ttype: AuthCredentialType;\n\tsource: AuthCredentialSource;\n\tenvVar?: string;\n\theaders?: Record<string, string>;\n\tmetadata?: Record<string, unknown>;\n\trequestBody?: Record<string, unknown>;\n}\n\nexport interface AuthResolverOptions {\n\tmode: AuthMode;\n\texplicitApiKey?: string;\n}\n\ntype AuthResolver = (provider: string) => Promise<AuthCredential | undefined>;\n\nfunction isOpenAIProvider(provider: string): boolean {\n\tconst normalized = provider.toLowerCase();\n\treturn (\n\t\tnormalized !== \"openai-codex\" &&\n\t\t(normalized === \"openai\" ||\n\t\t\tnormalized.startsWith(\"openai/\") ||\n\t\t\tnormalized.includes(\"openai-\"))\n\t);\n}\n\nfunction isOpenAICodexProvider(provider: string): boolean {\n\tconst normalized = provider.toLowerCase();\n\treturn normalized === \"openai-codex\";\n}\n\nfunction isGoogleGeminiCliProvider(provider: string): boolean {\n\tconst normalized = provider.toLowerCase();\n\treturn (\n\t\tnormalized === \"google-gemini-cli\" || normalized === \"google-antigravity\"\n\t);\n}\n\nfunction isGitHubCopilotProvider(provider: string): boolean {\n\treturn provider.toLowerCase() === \"github-copilot\";\n}\n\nfunction resolveEvalOpsCredentialType(provider: string): AuthCredentialType {\n\treturn getEvalOpsManagedProviderDefinition(provider)?.usesAnthropicOAuth\n\t\t? \"bearer-token\"\n\t\t: \"api-key\";\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction getNonEmptyString(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim().length > 0\n\t\t? value.trim()\n\t\t: undefined;\n}\n\nfunction firstNonEmptyString(...values: unknown[]): string | undefined {\n\tfor (const value of values) {\n\t\tconst candidate = getNonEmptyString(value);\n\t\tif (candidate) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction readFirstEnv(names: readonly string[]): string | undefined {\n\treturn firstNonEmptyString(...names.map((name) => process.env[name]));\n}\n\nfunction getStringArray(value: unknown): string[] {\n\treturn Array.isArray(value)\n\t\t? value\n\t\t\t\t.map((entry) => (typeof entry === \"string\" ? entry.trim() : \"\"))\n\t\t\t\t.filter((entry) => entry.length > 0)\n\t\t: [];\n}\n\nfunction isFutureTimestamp(value: unknown): boolean {\n\tconst timestamp = getNonEmptyString(value);\n\treturn !timestamp || Date.parse(timestamp) > Date.now();\n}\n\nfunction resolveEvalOpsAgentMcpAPIKey(\n\tmetadata?: Record<string, unknown>,\n): string | undefined {\n\tconst agentMcp = isRecord(metadata?.agentMcp) ? metadata.agentMcp : undefined;\n\tconst apiKey = getNonEmptyString(agentMcp?.apiKey);\n\tif (!apiKey || !isFutureTimestamp(agentMcp?.expiresAt)) {\n\t\treturn undefined;\n\t}\n\tconst scopes = getStringArray(agentMcp?.scopes);\n\tif (scopes.length > 0 && !scopes.includes(\"llm_gateway:invoke\")) {\n\t\treturn undefined;\n\t}\n\treturn apiKey;\n}\n\nfunction resolveEvalOpsOrganizationId(\n\tmetadata?: Record<string, unknown>,\n): string | undefined {\n\tconst candidate = getNonEmptyString(metadata?.organizationId);\n\tif (candidate && candidate.trim().length > 0) {\n\t\treturn candidate.trim();\n\t}\n\treturn readEvalOpsEnv(process.env, EVALOPS_ORGANIZATION_ID_ENV_VARS);\n}\n\nfunction resolveEvalOpsProviderRef(\n\tprovider: string,\n\tmetadata?: Record<string, unknown>,\n): Record<string, string> {\n\tconst providerRef = isRecord(metadata?.providerRef)\n\t\t? metadata.providerRef\n\t\t: null;\n\tconst definition = getEvalOpsManagedProviderDefinition(provider);\n\tconst metadataProvider = getNonEmptyString(providerRef?.provider);\n\tconst configuredProvider =\n\t\tprocess.env.MAESTRO_EVALOPS_PROVIDER?.trim() ??\n\t\tprocess.env.MAESTRO_LLM_GATEWAY_PROVIDER?.trim();\n\tconst resolvedProvider =\n\t\t(definition && definition.id !== \"evalops\"\n\t\t\t? definition.providerRefProvider\n\t\t\t: undefined) ??\n\t\tmetadataProvider ??\n\t\tconfiguredProvider ??\n\t\tdefinition?.providerRefProvider ??\n\t\t\"openai\";\n\tconst environment =\n\t\tgetNonEmptyString(providerRef?.environment) ??\n\t\tprocess.env.MAESTRO_EVALOPS_ENVIRONMENT?.trim() ??\n\t\tprocess.env.MAESTRO_LLM_GATEWAY_ENVIRONMENT?.trim() ??\n\t\t\"prod\";\n\tconst credentialName =\n\t\tgetNonEmptyString(providerRef?.credential_name) ??\n\t\tprocess.env.MAESTRO_EVALOPS_CREDENTIAL_NAME?.trim() ??\n\t\tprocess.env.MAESTRO_LLM_GATEWAY_CREDENTIAL_NAME?.trim();\n\tconst teamId =\n\t\tgetNonEmptyString(providerRef?.team_id) ??\n\t\tprocess.env.MAESTRO_EVALOPS_TEAM_ID?.trim() ??\n\t\tprocess.env.MAESTRO_LLM_GATEWAY_TEAM_ID?.trim();\n\treturn {\n\t\tprovider: resolvedProvider,\n\t\tenvironment,\n\t\t...(credentialName ? { credential_name: credentialName } : {}),\n\t\t...(teamId ? { team_id: teamId } : {}),\n\t};\n}\n\nfunction resolveEvalOpsRequestMetadata(\n\tmetadata?: Record<string, unknown>,\n): Record<string, string> {\n\tconst agentMcp = isRecord(metadata?.agentMcp) ? metadata.agentMcp : undefined;\n\tconst agentID = firstNonEmptyString(\n\t\tmetadata?.agentId,\n\t\tmetadata?.agent_id,\n\t\tagentMcp?.agentId,\n\t\tagentMcp?.agent_id,\n\t\treadFirstEnv([\"MAESTRO_EVALOPS_AGENT_ID\", \"MAESTRO_AGENT_ID\"]),\n\t);\n\tconst platformRunID = firstNonEmptyString(\n\t\tmetadata?.runId,\n\t\tmetadata?.run_id,\n\t\tagentMcp?.runId,\n\t\tagentMcp?.run_id,\n\t\treadFirstEnv([\"MAESTRO_EVALOPS_RUN_ID\"]),\n\t);\n\tconst agentRunID = firstNonEmptyString(\n\t\tmetadata?.agentRunId,\n\t\tmetadata?.agent_run_id,\n\t\tagentMcp?.agentRunId,\n\t\tagentMcp?.agent_run_id,\n\t\treadFirstEnv([\"MAESTRO_AGENT_RUN_ID\", \"MAESTRO_EVALOPS_AGENT_RUN_ID\"]),\n\t\tplatformRunID,\n\t);\n\tconst runID = platformRunID ?? agentRunID;\n\tconst platformSessionID = firstNonEmptyString(\n\t\tmetadata?.sessionId,\n\t\tmetadata?.session_id,\n\t\tagentMcp?.sessionId,\n\t\tagentMcp?.session_id,\n\t\treadFirstEnv([\"MAESTRO_EVALOPS_SESSION_ID\"]),\n\t);\n\tconst maestroSessionID = firstNonEmptyString(\n\t\tmetadata?.maestroSessionId,\n\t\tmetadata?.maestro_session_id,\n\t\treadFirstEnv([\"MAESTRO_SESSION_ID\"]),\n\t\tplatformSessionID,\n\t);\n\tconst sessionID = platformSessionID ?? maestroSessionID;\n\tconst workspaceID = firstNonEmptyString(\n\t\tmetadata?.workspaceId,\n\t\tmetadata?.workspace_id,\n\t\tagentMcp?.workspaceId,\n\t\tagentMcp?.workspace_id,\n\t\treadEvalOpsEnv(process.env, EVALOPS_WORKSPACE_ID_ENV_VARS),\n\t);\n\tconst objectiveID = firstNonEmptyString(\n\t\tmetadata?.objectiveId,\n\t\tmetadata?.objective_id,\n\t\tagentMcp?.objectiveId,\n\t\tagentMcp?.objective_id,\n\t\treadFirstEnv([\"MAESTRO_OBJECTIVE_ID\", \"MAESTRO_EVALOPS_OBJECTIVE_ID\"]),\n\t);\n\tconst stepID = firstNonEmptyString(\n\t\tmetadata?.agentRunStepId,\n\t\tmetadata?.agent_run_step_id,\n\t\tmetadata?.stepId,\n\t\tmetadata?.step_id,\n\t\tagentMcp?.agentRunStepId,\n\t\tagentMcp?.agent_run_step_id,\n\t\treadFirstEnv([\n\t\t\t\"MAESTRO_AGENT_RUN_STEP_ID\",\n\t\t\t\"MAESTRO_EVALOPS_AGENT_RUN_STEP_ID\",\n\t\t]),\n\t);\n\tconst traceID = firstNonEmptyString(\n\t\tmetadata?.traceId,\n\t\tmetadata?.trace_id,\n\t\tagentMcp?.traceId,\n\t\tagentMcp?.trace_id,\n\t\treadFirstEnv([\"MAESTRO_TRACE_ID\", \"TRACE_ID\"]),\n\t);\n\tconst threadID = firstNonEmptyString(\n\t\tmetadata?.threadId,\n\t\tmetadata?.thread_id,\n\t\tagentMcp?.threadId,\n\t\tagentMcp?.thread_id,\n\t\treadFirstEnv([\"MAESTRO_THREAD_ID\", \"MAESTRO_EVALOPS_THREAD_ID\"]),\n\t);\n\tconst turnID = firstNonEmptyString(\n\t\tmetadata?.turnId,\n\t\tmetadata?.turn_id,\n\t\tagentMcp?.turnId,\n\t\tagentMcp?.turn_id,\n\t\treadFirstEnv([\"MAESTRO_TURN_ID\", \"MAESTRO_EVALOPS_TURN_ID\"]),\n\t);\n\tconst toolCallID = firstNonEmptyString(\n\t\tmetadata?.toolCallId,\n\t\tmetadata?.tool_call_id,\n\t\tagentMcp?.toolCallId,\n\t\tagentMcp?.tool_call_id,\n\t\treadFirstEnv([\"MAESTRO_TOOL_CALL_ID\", \"MAESTRO_EVALOPS_TOOL_CALL_ID\"]),\n\t);\n\tconst workload = firstNonEmptyString(\n\t\tmetadata?.workload,\n\t\tagentMcp?.workload,\n\t\treadFirstEnv([\"MAESTRO_EVALOPS_WORKLOAD\", \"MAESTRO_WORKLOAD\"]),\n\t);\n\tconst surface =\n\t\tfirstNonEmptyString(\n\t\t\tmetadata?.surface,\n\t\t\tagentMcp?.surface,\n\t\t\treadFirstEnv([\"MAESTRO_EVALOPS_SURFACE\", \"MAESTRO_SURFACE\"]),\n\t\t) ?? \"maestro\";\n\n\treturn Object.fromEntries(\n\t\tObject.entries({\n\t\t\tagent_id: agentID,\n\t\t\tworkspace_id: workspaceID,\n\t\t\tobjective_id: objectiveID,\n\t\t\trun_id: runID,\n\t\t\tagent_run_id: agentRunID,\n\t\t\tagent_run_step_id: stepID,\n\t\t\tsession_id: sessionID,\n\t\t\tmaestro_session_id: maestroSessionID,\n\t\t\tsurface,\n\t\t\ttrace_id: traceID,\n\t\t\tthread_id: threadID,\n\t\t\tturn_id: turnID,\n\t\t\ttool_call_id: toolCallID,\n\t\t\tworkload,\n\t\t}).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" && entry[1].trim().length > 0,\n\t\t),\n\t);\n}\n\nfunction buildEvalOpsCredential(\n\tprovider: string,\n\ttoken: string,\n\tsource: AuthCredentialSource,\n\tmetadata?: Record<string, unknown>,\n\tenvVar?: string,\n): AuthCredential | undefined {\n\tconst organizationId = resolveEvalOpsOrganizationId(metadata);\n\tif (!organizationId) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tprovider,\n\t\ttoken,\n\t\ttype: resolveEvalOpsCredentialType(provider),\n\t\tsource,\n\t\tenvVar,\n\t\theaders: {\n\t\t\t\"X-Organization-ID\": organizationId,\n\t\t},\n\t\tmetadata,\n\t\trequestBody: {\n\t\t\tmetadata: resolveEvalOpsRequestMetadata(metadata),\n\t\t\tprovider_ref: resolveEvalOpsProviderRef(provider, metadata),\n\t\t},\n\t};\n}\n\nexport function createAuthResolver(options: AuthResolverOptions): AuthResolver {\n\tconst explicitKey = options.explicitApiKey?.trim();\n\treturn async (provider: string): Promise<AuthCredential | undefined> => {\n\t\tif (\n\t\t\tisKnownEvalOpsManagedProvider(provider) &&\n\t\t\t!isEvalOpsManagedGatewayEnabled()\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst normalizedProvider = provider.toLowerCase();\n\n\t\tif (explicitKey) {\n\t\t\tif (isEvalOpsManagedProvider(provider)) {\n\t\t\t\treturn buildEvalOpsCredential(provider, explicitKey, \"explicit\");\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tprovider,\n\t\t\t\ttoken: explicitKey,\n\t\t\t\ttype: \"api-key\",\n\t\t\t\tsource: \"explicit\",\n\t\t\t};\n\t\t}\n\n\t\tif (isEvalOpsManagedProvider(provider) && options.mode !== \"api-key\") {\n\t\t\tconst credentials = loadOAuthCredentials(\"evalops\");\n\t\t\tconst agentAPIKey = resolveEvalOpsAgentMcpAPIKey(credentials?.metadata);\n\t\t\tif (agentAPIKey) {\n\t\t\t\treturn buildEvalOpsCredential(\n\t\t\t\t\tprovider,\n\t\t\t\t\tagentAPIKey,\n\t\t\t\t\t\"evalops_agent_key_file\",\n\t\t\t\t\tcredentials?.metadata,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst oauthToken = await getOAuthToken(\"evalops\");\n\t\t\tif (oauthToken) {\n\t\t\t\tconst refreshedCredentials = loadOAuthCredentials(\"evalops\");\n\t\t\t\treturn buildEvalOpsCredential(\n\t\t\t\t\tprovider,\n\t\t\t\t\toauthToken,\n\t\t\t\t\t\"evalops_oauth_file\",\n\t\t\t\t\trefreshedCredentials?.metadata ?? credentials?.metadata,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (isOpenAICodexProvider(provider) && options.mode !== \"api-key\") {\n\t\t\tconst oauthToken = await getOAuthToken(\"openai-codex\");\n\t\t\tif (oauthToken) {\n\t\t\t\tconst credentials = loadOAuthCredentials(\"openai-codex\");\n\t\t\t\tconst accountId =\n\t\t\t\t\ttypeof credentials?.metadata?.accountId === \"string\"\n\t\t\t\t\t\t? credentials.metadata.accountId\n\t\t\t\t\t\t: undefined;\n\t\t\t\treturn {\n\t\t\t\t\tprovider,\n\t\t\t\t\ttoken: oauthToken,\n\t\t\t\t\ttype: \"api-key\",\n\t\t\t\t\tsource: \"openai_codex_oauth_file\",\n\t\t\t\t\theaders: accountId ? { \"chatgpt-account-id\": accountId } : undefined,\n\t\t\t\t\tmetadata: credentials?.metadata,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Handle OpenAI Auth\n\t\tif (isOpenAIProvider(provider) && options.mode !== \"api-key\") {\n\t\t\t// OpenAI OAuth\n\t\t\tconst oauthCred = await getFreshOpenAIOAuthCredential();\n\t\t\tif (oauthCred?.apiKey) {\n\t\t\t\treturn {\n\t\t\t\t\tprovider,\n\t\t\t\t\ttoken: oauthCred.apiKey,\n\t\t\t\t\ttype: \"api-key\",\n\t\t\t\t\tsource: \"openai_oauth_file\",\n\t\t\t\t\tmetadata: { mode: oauthCred.mode },\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (isGitHubCopilotProvider(provider) && options.mode !== \"api-key\") {\n\t\t\tconst oauthToken = await getOAuthToken(\"github-copilot\");\n\t\t\tif (oauthToken) {\n\t\t\t\tconst credentials = loadOAuthCredentials(\"github-copilot\");\n\t\t\t\treturn {\n\t\t\t\t\tprovider,\n\t\t\t\t\ttoken: oauthToken,\n\t\t\t\t\ttype: \"api-key\",\n\t\t\t\t\tsource: \"github_copilot_oauth_file\",\n\t\t\t\t\tmetadata: credentials?.metadata,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (isGoogleGeminiCliProvider(provider) && options.mode !== \"api-key\") {\n\t\t\tconst oauthProvider =\n\t\t\t\tnormalizedProvider === \"google-antigravity\"\n\t\t\t\t\t? \"google-antigravity\"\n\t\t\t\t\t: \"google-gemini-cli\";\n\t\t\tconst oauthToken = await getOAuthToken(oauthProvider);\n\t\t\tif (oauthToken) {\n\t\t\t\tconst credentials = loadOAuthCredentials(oauthProvider);\n\t\t\t\tconst projectId =\n\t\t\t\t\ttypeof credentials?.metadata?.projectId === \"string\"\n\t\t\t\t\t\t? credentials.metadata.projectId\n\t\t\t\t\t\t: undefined;\n\t\t\t\tif (projectId) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\ttoken: JSON.stringify({ token: oauthToken, projectId }),\n\t\t\t\t\t\ttype: \"api-key\",\n\t\t\t\t\t\tsource: \"google_oauth_file\",\n\t\t\t\t\t\tmetadata: credentials?.metadata,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst lookup = lookupApiKey(provider, explicitKey);\n\t\tif (lookup.key) {\n\t\t\tif (lookup.source === \"missing\") {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif (isEvalOpsManagedProvider(provider)) {\n\t\t\t\treturn buildEvalOpsCredential(\n\t\t\t\t\tprovider,\n\t\t\t\t\tlookup.key,\n\t\t\t\t\tlookup.source,\n\t\t\t\t\tundefined,\n\t\t\t\t\tlookup.envVar,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tprovider,\n\t\t\t\ttoken: lookup.key,\n\t\t\t\ttype: \"api-key\",\n\t\t\t\tsource: lookup.source,\n\t\t\t\tenvVar: lookup.envVar,\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t};\n}\n"]}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/providers/auth.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Authentication Resolver - Unified Credential Resolution\n *\n * This module provides a unified authentication resolver that handles\n * multiple credential sources and authentication modes for all supported\n * AI providers. It abstracts the complexity of OAuth, API keys, and\n * environment variables into a single interface.\n *\n * ## Authentication Modes\n *\n * | Mode | Description |\n * |----------|------------------------------------------------|\n * | auto | Try OAuth first, fallback to API keys (default)|\n * | api-key | Only use API keys, skip OAuth |\n *\n * ## Credential Resolution Order\n *\n * 1. **Explicit API key**: Passed directly via options\n * 2. **OAuth tokens**: Provider-specific OAuth flows (if mode allows)\n * 3. **Environment variables**: Standard env var lookup\n * 4. **Custom providers**: From models registry configuration\n *\n * ## Credential Sources\n *\n * | Source | Description |\n * |---------------------|------------------------------------------|\n * | explicit | Passed directly to resolver |\n * | env | From environment variable |\n * | custom_literal | Hardcoded in custom provider config |\n * | custom_env | Env var from custom provider config |\n * | evalops_oauth_file | EvalOps managed OAuth from stored credentials |\n * | openai_oauth_file | OpenAI OAuth from stored credentials |\n * | openai_codex_oauth_file | OpenAI Codex ChatGPT OAuth from stored credentials |\n * | google_oauth_file | Google OAuth from stored credentials |\n *\n * ## Example\n *\n * ```typescript\n * const resolver = createAuthResolver({ mode: 'auto' });\n * const credential = await resolver('anthropic');\n *\n * if (credential) {\n * console.log(`Using ${credential.type} from ${credential.source}`);\n * // Use credential.token for API requests\n * }\n * ```\n *\n * @module providers/auth\n */\n\nimport {\n\tEVALOPS_ORGANIZATION_ID_ENV_VARS,\n\tEVALOPS_WORKSPACE_ID_ENV_VARS,\n\treadEvalOpsEnv,\n} from \"../evalops/env-aliases.js\";\nimport { getOAuthToken } from \"../oauth/index.js\";\nimport { loadOAuthCredentials } from \"../oauth/storage.js\";\nimport { isRecord } from \"../utils/json.js\";\nimport { lookupApiKey } from \"./api-keys.js\";\nimport {\n\tgetEvalOpsManagedProviderDefinition,\n\tisEvalOpsManagedGatewayEnabled,\n\tisEvalOpsManagedProvider,\n\tisKnownEvalOpsManagedProvider,\n} from \"./evalops-managed.js\";\nimport { getFreshOpenAIOAuthCredential } from \"./openai-auth.js\";\n\nexport type AuthMode = \"auto\" | \"api-key\";\n\nexport type AuthCredentialType = \"api-key\" | \"bearer-token\";\n\nexport type AuthCredentialSource =\n\t| \"explicit\"\n\t| \"env\"\n\t| \"custom_literal\"\n\t| \"custom_env\"\n\t| \"evalops_agent_key_file\"\n\t| \"evalops_oauth_file\"\n\t| \"openai_oauth_file\"\n\t| \"openai_codex_oauth_file\"\n\t| \"google_oauth_file\"\n\t| \"github_copilot_oauth_file\";\n\nexport interface AuthCredential {\n\tprovider: string;\n\ttoken: string;\n\ttype: AuthCredentialType;\n\tsource: AuthCredentialSource;\n\tenvVar?: string;\n\theaders?: Record<string, string>;\n\tmetadata?: Record<string, unknown>;\n\trequestBody?: Record<string, unknown>;\n}\n\nexport interface AuthResolverOptions {\n\tmode: AuthMode;\n\texplicitApiKey?: string;\n}\n\ntype AuthResolver = (provider: string) => Promise<AuthCredential | undefined>;\n\nfunction isOpenAIProvider(provider: string): boolean {\n\tconst normalized = provider.toLowerCase();\n\treturn (\n\t\tnormalized !== \"openai-codex\" &&\n\t\t(normalized === \"openai\" ||\n\t\t\tnormalized.startsWith(\"openai/\") ||\n\t\t\tnormalized.includes(\"openai-\"))\n\t);\n}\n\nfunction isOpenAICodexProvider(provider: string): boolean {\n\tconst normalized = provider.toLowerCase();\n\treturn normalized === \"openai-codex\";\n}\n\nfunction isGoogleGeminiCliProvider(provider: string): boolean {\n\tconst normalized = provider.toLowerCase();\n\treturn (\n\t\tnormalized === \"google-gemini-cli\" || normalized === \"google-antigravity\"\n\t);\n}\n\nfunction isGitHubCopilotProvider(provider: string): boolean {\n\treturn provider.toLowerCase() === \"github-copilot\";\n}\n\nfunction resolveEvalOpsCredentialType(provider: string): AuthCredentialType {\n\treturn getEvalOpsManagedProviderDefinition(provider)?.usesAnthropicOAuth\n\t\t? \"bearer-token\"\n\t\t: \"api-key\";\n}\n\nfunction getNonEmptyString(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim().length > 0\n\t\t? value.trim()\n\t\t: undefined;\n}\n\nfunction firstNonEmptyString(...values: unknown[]): string | undefined {\n\tfor (const value of values) {\n\t\tconst candidate = getNonEmptyString(value);\n\t\tif (candidate) {\n\t\t\treturn candidate;\n\t\t}\n\t}\n\treturn undefined;\n}\n\nfunction readFirstEnv(names: readonly string[]): string | undefined {\n\treturn firstNonEmptyString(...names.map((name) => process.env[name]));\n}\n\nfunction getStringArray(value: unknown): string[] {\n\treturn Array.isArray(value)\n\t\t? value\n\t\t\t\t.map((entry) => (typeof entry === \"string\" ? entry.trim() : \"\"))\n\t\t\t\t.filter((entry) => entry.length > 0)\n\t\t: [];\n}\n\nfunction isFutureTimestamp(value: unknown): boolean {\n\tconst timestamp = getNonEmptyString(value);\n\treturn !timestamp || Date.parse(timestamp) > Date.now();\n}\n\nfunction resolveEvalOpsAgentMcpAPIKey(\n\tmetadata?: Record<string, unknown>,\n): string | undefined {\n\tconst agentMcp = isRecord(metadata?.agentMcp) ? metadata.agentMcp : undefined;\n\tconst apiKey = getNonEmptyString(agentMcp?.apiKey);\n\tif (!apiKey || !isFutureTimestamp(agentMcp?.expiresAt)) {\n\t\treturn undefined;\n\t}\n\tconst scopes = getStringArray(agentMcp?.scopes);\n\tif (scopes.length > 0 && !scopes.includes(\"llm_gateway:invoke\")) {\n\t\treturn undefined;\n\t}\n\treturn apiKey;\n}\n\nfunction resolveEvalOpsOrganizationId(\n\tmetadata?: Record<string, unknown>,\n): string | undefined {\n\tconst candidate = getNonEmptyString(metadata?.organizationId);\n\tif (candidate && candidate.trim().length > 0) {\n\t\treturn candidate.trim();\n\t}\n\treturn readEvalOpsEnv(process.env, EVALOPS_ORGANIZATION_ID_ENV_VARS);\n}\n\nfunction resolveEvalOpsProviderRef(\n\tprovider: string,\n\tmetadata?: Record<string, unknown>,\n): Record<string, string> {\n\tconst providerRef = isRecord(metadata?.providerRef)\n\t\t? metadata.providerRef\n\t\t: null;\n\tconst definition = getEvalOpsManagedProviderDefinition(provider);\n\tconst metadataProvider = getNonEmptyString(providerRef?.provider);\n\tconst configuredProvider =\n\t\tprocess.env.MAESTRO_EVALOPS_PROVIDER?.trim() ??\n\t\tprocess.env.MAESTRO_LLM_GATEWAY_PROVIDER?.trim();\n\tconst resolvedProvider =\n\t\t(definition && definition.id !== \"evalops\"\n\t\t\t? definition.providerRefProvider\n\t\t\t: undefined) ??\n\t\tmetadataProvider ??\n\t\tconfiguredProvider ??\n\t\tdefinition?.providerRefProvider ??\n\t\t\"openai\";\n\tconst environment =\n\t\tgetNonEmptyString(providerRef?.environment) ??\n\t\tprocess.env.MAESTRO_EVALOPS_ENVIRONMENT?.trim() ??\n\t\tprocess.env.MAESTRO_LLM_GATEWAY_ENVIRONMENT?.trim() ??\n\t\t\"prod\";\n\tconst credentialName =\n\t\tgetNonEmptyString(providerRef?.credential_name) ??\n\t\tprocess.env.MAESTRO_EVALOPS_CREDENTIAL_NAME?.trim() ??\n\t\tprocess.env.MAESTRO_LLM_GATEWAY_CREDENTIAL_NAME?.trim();\n\tconst teamId =\n\t\tgetNonEmptyString(providerRef?.team_id) ??\n\t\tprocess.env.MAESTRO_EVALOPS_TEAM_ID?.trim() ??\n\t\tprocess.env.MAESTRO_LLM_GATEWAY_TEAM_ID?.trim();\n\treturn {\n\t\tprovider: resolvedProvider,\n\t\tenvironment,\n\t\t...(credentialName ? { credential_name: credentialName } : {}),\n\t\t...(teamId ? { team_id: teamId } : {}),\n\t};\n}\n\nfunction resolveEvalOpsRequestMetadata(\n\tmetadata?: Record<string, unknown>,\n): Record<string, string> {\n\tconst agentMcp = isRecord(metadata?.agentMcp) ? metadata.agentMcp : undefined;\n\tconst agentID = firstNonEmptyString(\n\t\tmetadata?.agentId,\n\t\tmetadata?.agent_id,\n\t\tagentMcp?.agentId,\n\t\tagentMcp?.agent_id,\n\t\treadFirstEnv([\"MAESTRO_EVALOPS_AGENT_ID\", \"MAESTRO_AGENT_ID\"]),\n\t);\n\tconst platformRunID = firstNonEmptyString(\n\t\tmetadata?.runId,\n\t\tmetadata?.run_id,\n\t\tagentMcp?.runId,\n\t\tagentMcp?.run_id,\n\t\treadFirstEnv([\"MAESTRO_EVALOPS_RUN_ID\"]),\n\t);\n\tconst agentRunID = firstNonEmptyString(\n\t\tmetadata?.agentRunId,\n\t\tmetadata?.agent_run_id,\n\t\tagentMcp?.agentRunId,\n\t\tagentMcp?.agent_run_id,\n\t\treadFirstEnv([\"MAESTRO_AGENT_RUN_ID\", \"MAESTRO_EVALOPS_AGENT_RUN_ID\"]),\n\t\tplatformRunID,\n\t);\n\tconst runID = platformRunID ?? agentRunID;\n\tconst platformSessionID = firstNonEmptyString(\n\t\tmetadata?.sessionId,\n\t\tmetadata?.session_id,\n\t\tagentMcp?.sessionId,\n\t\tagentMcp?.session_id,\n\t\treadFirstEnv([\"MAESTRO_EVALOPS_SESSION_ID\"]),\n\t);\n\tconst maestroSessionID = firstNonEmptyString(\n\t\tmetadata?.maestroSessionId,\n\t\tmetadata?.maestro_session_id,\n\t\treadFirstEnv([\"MAESTRO_SESSION_ID\"]),\n\t\tplatformSessionID,\n\t);\n\tconst sessionID = platformSessionID ?? maestroSessionID;\n\tconst workspaceID = firstNonEmptyString(\n\t\tmetadata?.workspaceId,\n\t\tmetadata?.workspace_id,\n\t\tagentMcp?.workspaceId,\n\t\tagentMcp?.workspace_id,\n\t\treadEvalOpsEnv(process.env, EVALOPS_WORKSPACE_ID_ENV_VARS),\n\t);\n\tconst objectiveID = firstNonEmptyString(\n\t\tmetadata?.objectiveId,\n\t\tmetadata?.objective_id,\n\t\tagentMcp?.objectiveId,\n\t\tagentMcp?.objective_id,\n\t\treadFirstEnv([\"MAESTRO_OBJECTIVE_ID\", \"MAESTRO_EVALOPS_OBJECTIVE_ID\"]),\n\t);\n\tconst stepID = firstNonEmptyString(\n\t\tmetadata?.agentRunStepId,\n\t\tmetadata?.agent_run_step_id,\n\t\tmetadata?.stepId,\n\t\tmetadata?.step_id,\n\t\tagentMcp?.agentRunStepId,\n\t\tagentMcp?.agent_run_step_id,\n\t\treadFirstEnv([\n\t\t\t\"MAESTRO_AGENT_RUN_STEP_ID\",\n\t\t\t\"MAESTRO_EVALOPS_AGENT_RUN_STEP_ID\",\n\t\t]),\n\t);\n\tconst traceID = firstNonEmptyString(\n\t\tmetadata?.traceId,\n\t\tmetadata?.trace_id,\n\t\tagentMcp?.traceId,\n\t\tagentMcp?.trace_id,\n\t\treadFirstEnv([\"MAESTRO_TRACE_ID\", \"TRACE_ID\"]),\n\t);\n\tconst threadID = firstNonEmptyString(\n\t\tmetadata?.threadId,\n\t\tmetadata?.thread_id,\n\t\tagentMcp?.threadId,\n\t\tagentMcp?.thread_id,\n\t\treadFirstEnv([\"MAESTRO_THREAD_ID\", \"MAESTRO_EVALOPS_THREAD_ID\"]),\n\t);\n\tconst turnID = firstNonEmptyString(\n\t\tmetadata?.turnId,\n\t\tmetadata?.turn_id,\n\t\tagentMcp?.turnId,\n\t\tagentMcp?.turn_id,\n\t\treadFirstEnv([\"MAESTRO_TURN_ID\", \"MAESTRO_EVALOPS_TURN_ID\"]),\n\t);\n\tconst toolCallID = firstNonEmptyString(\n\t\tmetadata?.toolCallId,\n\t\tmetadata?.tool_call_id,\n\t\tagentMcp?.toolCallId,\n\t\tagentMcp?.tool_call_id,\n\t\treadFirstEnv([\"MAESTRO_TOOL_CALL_ID\", \"MAESTRO_EVALOPS_TOOL_CALL_ID\"]),\n\t);\n\tconst workload = firstNonEmptyString(\n\t\tmetadata?.workload,\n\t\tagentMcp?.workload,\n\t\treadFirstEnv([\"MAESTRO_EVALOPS_WORKLOAD\", \"MAESTRO_WORKLOAD\"]),\n\t);\n\tconst surface =\n\t\tfirstNonEmptyString(\n\t\t\tmetadata?.surface,\n\t\t\tagentMcp?.surface,\n\t\t\treadFirstEnv([\"MAESTRO_EVALOPS_SURFACE\", \"MAESTRO_SURFACE\"]),\n\t\t) ?? \"maestro\";\n\n\treturn Object.fromEntries(\n\t\tObject.entries({\n\t\t\tagent_id: agentID,\n\t\t\tworkspace_id: workspaceID,\n\t\t\tobjective_id: objectiveID,\n\t\t\trun_id: runID,\n\t\t\tagent_run_id: agentRunID,\n\t\t\tagent_run_step_id: stepID,\n\t\t\tsession_id: sessionID,\n\t\t\tmaestro_session_id: maestroSessionID,\n\t\t\tsurface,\n\t\t\ttrace_id: traceID,\n\t\t\tthread_id: threadID,\n\t\t\tturn_id: turnID,\n\t\t\ttool_call_id: toolCallID,\n\t\t\tworkload,\n\t\t}).filter(\n\t\t\t(entry): entry is [string, string] =>\n\t\t\t\ttypeof entry[1] === \"string\" && entry[1].trim().length > 0,\n\t\t),\n\t);\n}\n\nfunction buildEvalOpsCredential(\n\tprovider: string,\n\ttoken: string,\n\tsource: AuthCredentialSource,\n\tmetadata?: Record<string, unknown>,\n\tenvVar?: string,\n): AuthCredential | undefined {\n\tconst organizationId = resolveEvalOpsOrganizationId(metadata);\n\tif (!organizationId) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\tprovider,\n\t\ttoken,\n\t\ttype: resolveEvalOpsCredentialType(provider),\n\t\tsource,\n\t\tenvVar,\n\t\theaders: {\n\t\t\t\"X-Organization-ID\": organizationId,\n\t\t},\n\t\tmetadata,\n\t\trequestBody: {\n\t\t\tmetadata: resolveEvalOpsRequestMetadata(metadata),\n\t\t\tprovider_ref: resolveEvalOpsProviderRef(provider, metadata),\n\t\t},\n\t};\n}\n\nexport function createAuthResolver(options: AuthResolverOptions): AuthResolver {\n\tconst explicitKey = options.explicitApiKey?.trim();\n\treturn async (provider: string): Promise<AuthCredential | undefined> => {\n\t\tif (\n\t\t\tisKnownEvalOpsManagedProvider(provider) &&\n\t\t\t!isEvalOpsManagedGatewayEnabled()\n\t\t) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst normalizedProvider = provider.toLowerCase();\n\n\t\tif (explicitKey) {\n\t\t\tif (isEvalOpsManagedProvider(provider)) {\n\t\t\t\treturn buildEvalOpsCredential(provider, explicitKey, \"explicit\");\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tprovider,\n\t\t\t\ttoken: explicitKey,\n\t\t\t\ttype: \"api-key\",\n\t\t\t\tsource: \"explicit\",\n\t\t\t};\n\t\t}\n\n\t\tif (isEvalOpsManagedProvider(provider) && options.mode !== \"api-key\") {\n\t\t\tconst credentials = loadOAuthCredentials(\"evalops\");\n\t\t\tconst agentAPIKey = resolveEvalOpsAgentMcpAPIKey(credentials?.metadata);\n\t\t\tif (agentAPIKey) {\n\t\t\t\treturn buildEvalOpsCredential(\n\t\t\t\t\tprovider,\n\t\t\t\t\tagentAPIKey,\n\t\t\t\t\t\"evalops_agent_key_file\",\n\t\t\t\t\tcredentials?.metadata,\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst oauthToken = await getOAuthToken(\"evalops\");\n\t\t\tif (oauthToken) {\n\t\t\t\tconst refreshedCredentials = loadOAuthCredentials(\"evalops\");\n\t\t\t\treturn buildEvalOpsCredential(\n\t\t\t\t\tprovider,\n\t\t\t\t\toauthToken,\n\t\t\t\t\t\"evalops_oauth_file\",\n\t\t\t\t\trefreshedCredentials?.metadata ?? credentials?.metadata,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (isOpenAICodexProvider(provider) && options.mode !== \"api-key\") {\n\t\t\tconst oauthToken = await getOAuthToken(\"openai-codex\");\n\t\t\tif (oauthToken) {\n\t\t\t\tconst credentials = loadOAuthCredentials(\"openai-codex\");\n\t\t\t\tconst accountId =\n\t\t\t\t\ttypeof credentials?.metadata?.accountId === \"string\"\n\t\t\t\t\t\t? credentials.metadata.accountId\n\t\t\t\t\t\t: undefined;\n\t\t\t\treturn {\n\t\t\t\t\tprovider,\n\t\t\t\t\ttoken: oauthToken,\n\t\t\t\t\ttype: \"api-key\",\n\t\t\t\t\tsource: \"openai_codex_oauth_file\",\n\t\t\t\t\theaders: accountId ? { \"chatgpt-account-id\": accountId } : undefined,\n\t\t\t\t\tmetadata: credentials?.metadata,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// Handle OpenAI Auth\n\t\tif (isOpenAIProvider(provider) && options.mode !== \"api-key\") {\n\t\t\t// OpenAI OAuth\n\t\t\tconst oauthCred = await getFreshOpenAIOAuthCredential();\n\t\t\tif (oauthCred?.apiKey) {\n\t\t\t\treturn {\n\t\t\t\t\tprovider,\n\t\t\t\t\ttoken: oauthCred.apiKey,\n\t\t\t\t\ttype: \"api-key\",\n\t\t\t\t\tsource: \"openai_oauth_file\",\n\t\t\t\t\tmetadata: { mode: oauthCred.mode },\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (isGitHubCopilotProvider(provider) && options.mode !== \"api-key\") {\n\t\t\tconst oauthToken = await getOAuthToken(\"github-copilot\");\n\t\t\tif (oauthToken) {\n\t\t\t\tconst credentials = loadOAuthCredentials(\"github-copilot\");\n\t\t\t\treturn {\n\t\t\t\t\tprovider,\n\t\t\t\t\ttoken: oauthToken,\n\t\t\t\t\ttype: \"api-key\",\n\t\t\t\t\tsource: \"github_copilot_oauth_file\",\n\t\t\t\t\tmetadata: credentials?.metadata,\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif (isGoogleGeminiCliProvider(provider) && options.mode !== \"api-key\") {\n\t\t\tconst oauthProvider =\n\t\t\t\tnormalizedProvider === \"google-antigravity\"\n\t\t\t\t\t? \"google-antigravity\"\n\t\t\t\t\t: \"google-gemini-cli\";\n\t\t\tconst oauthToken = await getOAuthToken(oauthProvider);\n\t\t\tif (oauthToken) {\n\t\t\t\tconst credentials = loadOAuthCredentials(oauthProvider);\n\t\t\t\tconst projectId =\n\t\t\t\t\ttypeof credentials?.metadata?.projectId === \"string\"\n\t\t\t\t\t\t? credentials.metadata.projectId\n\t\t\t\t\t\t: undefined;\n\t\t\t\tif (projectId) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tprovider,\n\t\t\t\t\t\ttoken: JSON.stringify({ token: oauthToken, projectId }),\n\t\t\t\t\t\ttype: \"api-key\",\n\t\t\t\t\t\tsource: \"google_oauth_file\",\n\t\t\t\t\t\tmetadata: credentials?.metadata,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst lookup = lookupApiKey(provider, explicitKey);\n\t\tif (lookup.key) {\n\t\t\tif (lookup.source === \"missing\") {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif (isEvalOpsManagedProvider(provider)) {\n\t\t\t\treturn buildEvalOpsCredential(\n\t\t\t\t\tprovider,\n\t\t\t\t\tlookup.key,\n\t\t\t\t\tlookup.source,\n\t\t\t\t\tundefined,\n\t\t\t\t\tlookup.envVar,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tprovider,\n\t\t\t\ttoken: lookup.key,\n\t\t\t\ttype: \"api-key\",\n\t\t\t\tsource: lookup.source,\n\t\t\t\tenvVar: lookup.envVar,\n\t\t\t};\n\t\t}\n\t\treturn undefined;\n\t};\n}\n"]}
@@ -1,9 +1,8 @@
1
1
  import type { Agent } from "../agent/agent.js";
2
- import type { AppMessage } from "../agent/types.js";
3
- import { type PromptPayload } from "../cli-tui/prompt-queue.js";
4
- import type { TuiRenderer } from "../cli-tui/tui-renderer.js";
2
+ import type { AgentState, AppMessage } from "../agent/types.js";
5
3
  import type { ComposerConfig } from "../config/index.js";
6
4
  import type { SessionManager } from "../session/manager.js";
5
+ import { type PromptPayload } from "./prompt-queue.js";
7
6
  export interface InterruptOptions {
8
7
  /** If true, preserve the partial response in message history */
9
8
  keepPartial?: boolean;
@@ -12,12 +11,29 @@ export interface InterruptResult {
12
11
  /** The partial message that was saved, if keepPartial was true */
13
12
  partialMessage?: AppMessage | null;
14
13
  }
14
+ /**
15
+ * Structural contract the runtime needs from a UI renderer. Any renderer
16
+ * (interactive terminal UI, headless, future bridge shim, etc.) that satisfies
17
+ * this shape can be attached. The interactive TypeScript terminal renderer
18
+ * implements this contract. Kept intentionally minimal and UI-agnostic so this
19
+ * runtime module never needs to import terminal-UI packages or the interactive
20
+ * terminal renderer module tree.
21
+ */
22
+ export interface AgentRuntimeRenderer {
23
+ ensureContextBudgetBeforePrompt?(): Promise<void>;
24
+ collectActiveSkillMessagesForCompaction?(preservedMessages?: AppMessage[]): AppMessage[];
25
+ showInfo(message: string): void;
26
+ renderInitialMessages(state: AgentState): void;
27
+ refreshFooterHint(): void;
28
+ setInterruptCallback(callback: (options?: InterruptOptions) => InterruptResult | undefined): void;
29
+ getUserInput(): Promise<PromptPayload>;
30
+ }
15
31
  interface AgentRuntimeControllerOptions {
16
32
  agent: Agent;
17
33
  sessionManager: SessionManager;
18
34
  profileName?: string;
19
35
  cliOverrides?: Partial<ComposerConfig>;
20
- renderer?: TuiRenderer;
36
+ renderer?: AgentRuntimeRenderer;
21
37
  onError?: (error: unknown) => void;
22
38
  }
23
39
  export declare class AgentRuntimeController {
@@ -26,7 +42,7 @@ export declare class AgentRuntimeController {
26
42
  private running;
27
43
  private renderer?;
28
44
  constructor(options: AgentRuntimeControllerOptions);
29
- attachRenderer(renderer: TuiRenderer): void;
45
+ attachRenderer(renderer: AgentRuntimeRenderer): void;
30
46
  enqueue(payload: PromptPayload): void;
31
47
  /**
32
48
  * Interrupt the current agent operation.
@@ -36,7 +52,7 @@ export declare class AgentRuntimeController {
36
52
  */
37
53
  interrupt(options?: InterruptOptions): InterruptResult;
38
54
  stop(): void;
39
- runInteractiveLoop(renderer: TuiRenderer): Promise<void>;
55
+ runInteractiveLoop(renderer: AgentRuntimeRenderer): Promise<void>;
40
56
  }
41
57
  export {};
42
58
  //# sourceMappingURL=agent-runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,4BAA4B,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAK5D,MAAM,WAAW,gBAAgB;IAChC,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC/B,kEAAkE;IAClE,cAAc,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AAED,UAAU,6BAA6B;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC;AAED,qBAAa,sBAAsB;IAKtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAc;gBAEF,OAAO,EAAE,6BAA6B;IA6FnE,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI;IAK3C,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAIrC;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,eAAe;IAatD,IAAI,IAAI,IAAI;IAIN,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAS9D"}
1
+ {"version":3,"file":"agent-runtime.d.ts","sourceRoot":"","sources":["../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,mBAAmB,CAAC;AAIpE,MAAM,WAAW,gBAAgB;IAChC,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC/B,kEAAkE;IAClE,cAAc,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACpC,+BAA+B,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,uCAAuC,CAAC,CACvC,iBAAiB,CAAC,EAAE,UAAU,EAAE,GAC9B,UAAU,EAAE,CAAC;IAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/C,iBAAiB,IAAI,IAAI,CAAC;IAC1B,oBAAoB,CACnB,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,gBAAgB,KAAK,eAAe,GAAG,SAAS,GACnE,IAAI,CAAC;IACR,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;CACvC;AAED,UAAU,6BAA6B;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACvC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC;AAED,qBAAa,sBAAsB;IAKtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAuB;gBAEX,OAAO,EAAE,6BAA6B;IA6FnE,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAKpD,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAIrC;;;;;OAKG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,eAAe;IAatD,IAAI,IAAI,IAAI;IAIN,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CASvE"}
@@ -1,9 +1,9 @@
1
1
  import { buildCompactionEvent } from "../agent/prompt-recovery.js";
2
2
  import { runUserPromptWithRecovery } from "../agent/user-prompt-runtime.js";
3
- import { PromptQueue } from "../cli-tui/prompt-queue.js";
4
3
  import { composerManager } from "../composers/index.js";
5
4
  import { withMcpPostKeepMessages } from "../mcp/prompt-recovery.js";
6
5
  import { createLogger } from "../utils/logger.js";
6
+ import { PromptQueue } from "./prompt-queue.js";
7
7
  const logger = createLogger("agent-runtime");
8
8
  export class AgentRuntimeController {
9
9
  constructor(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Agent } from \"../agent/agent.js\";\nimport { buildCompactionEvent } from \"../agent/prompt-recovery.js\";\nimport type { AppMessage } from \"../agent/types.js\";\nimport { runUserPromptWithRecovery } from \"../agent/user-prompt-runtime.js\";\nimport { type PromptPayload, PromptQueue } from \"../cli-tui/prompt-queue.js\";\nimport type { TuiRenderer } from \"../cli-tui/tui-renderer.js\";\nimport { composerManager } from \"../composers/index.js\";\nimport type { ComposerConfig } from \"../config/index.js\";\nimport { withMcpPostKeepMessages } from \"../mcp/prompt-recovery.js\";\nimport type { SessionManager } from \"../session/manager.js\";\nimport { createLogger } from \"../utils/logger.js\";\n\nconst logger = createLogger(\"agent-runtime\");\n\nexport interface InterruptOptions {\n\t/** If true, preserve the partial response in message history */\n\tkeepPartial?: boolean;\n}\n\nexport interface InterruptResult {\n\t/** The partial message that was saved, if keepPartial was true */\n\tpartialMessage?: AppMessage | null;\n}\n\ninterface AgentRuntimeControllerOptions {\n\tagent: Agent;\n\tsessionManager: SessionManager;\n\tprofileName?: string;\n\tcliOverrides?: Partial<ComposerConfig>;\n\trenderer?: TuiRenderer;\n\tonError?: (error: unknown) => void;\n}\n\nexport class AgentRuntimeController {\n\tprivate readonly promptQueue: PromptQueue;\n\tprivate running = true;\n\tprivate renderer?: TuiRenderer;\n\n\tconstructor(private readonly options: AgentRuntimeControllerOptions) {\n\t\tthis.promptQueue = new PromptQueue(\n\t\t\tasync (text, attachments) => {\n\t\t\t\tif (this.renderer?.ensureContextBudgetBeforePrompt) {\n\t\t\t\t\tawait this.renderer.ensureContextBudgetBeforePrompt();\n\t\t\t\t}\n\n\t\t\t\t// Check if prompt matches any composer triggers (only if no composer active)\n\t\t\t\tconst composerState = composerManager.getState();\n\t\t\t\tif (!composerState.active) {\n\t\t\t\t\tconst triggered = composerManager.checkTriggers(text, process.cwd());\n\t\t\t\t\tif (triggered) {\n\t\t\t\t\t\tcomposerManager.activate(triggered.name, process.cwd());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tawait runUserPromptWithRecovery({\n\t\t\t\t\tagent: this.options.agent,\n\t\t\t\t\tsessionManager: this.options.sessionManager,\n\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\tprompt: text,\n\t\t\t\t\tattachmentCount: attachments?.length ?? 0,\n\t\t\t\t\tattachmentNames: attachments?.map(\n\t\t\t\t\t\t(attachment) => attachment.fileName,\n\t\t\t\t\t),\n\t\t\t\t\texecute: () => this.options.agent.prompt(text, attachments),\n\t\t\t\t\tgetPostKeepMessages: withMcpPostKeepMessages(\n\t\t\t\t\t\t(preservedMessages) =>\n\t\t\t\t\t\t\tthis.renderer?.collectActiveSkillMessagesForCompaction?.(\n\t\t\t\t\t\t\t\tpreservedMessages,\n\t\t\t\t\t\t\t) ?? [],\n\t\t\t\t\t),\n\t\t\t\t\tcallbacks: {\n\t\t\t\t\t\tonCompacting: () => {\n\t\t\t\t\t\t\tthis.options.agent.emitStatus(\"compacting\", {\n\t\t\t\t\t\t\t\tauto: true,\n\t\t\t\t\t\t\t\ttrigger: \"context_overflow\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.renderer?.showInfo(\n\t\t\t\t\t\t\t\t\"Prompt exceeded the context window. Compacting history and continuing automatically...\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonCompacted: (result) => {\n\t\t\t\t\t\t\tthis.options.agent.emitCompaction(\n\t\t\t\t\t\t\t\tbuildCompactionEvent(result, { auto: true }),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.renderer?.renderInitialMessages(this.options.agent.state);\n\t\t\t\t\t\t\tthis.renderer?.refreshFooterHint();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonCompactionFailed: (message) => {\n\t\t\t\t\t\t\tthis.options.agent.emitError(\n\t\t\t\t\t\t\t\t`Auto-compaction failed: ${message}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonMaxOutputContinue: (attempt, maxContinuations) => {\n\t\t\t\t\t\t\tconst prefix =\n\t\t\t\t\t\t\t\tattempt === 1\n\t\t\t\t\t\t\t\t\t? \"Response hit the output limit. Continuing automatically...\"\n\t\t\t\t\t\t\t\t\t: `Response still hit the output limit. Continuing automatically (${attempt}/${maxContinuations})...`;\n\t\t\t\t\t\t\tthis.renderer?.showInfo(prefix);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonMaxOutputExhausted: (maxContinuations) => {\n\t\t\t\t\t\t\tthis.renderer?.showInfo(\n\t\t\t\t\t\t\t\t`Stopped after ${maxContinuations} automatic continuations because the response kept hitting the output limit.`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonMaxOutputStoppedEarly: (attempt, maxContinuations) => {\n\t\t\t\t\t\t\tthis.renderer?.showInfo(\n\t\t\t\t\t\t\t\t`Stopped automatic continuation early after ${attempt}/${maxContinuations} retries because recent responses made minimal progress.`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tprofileName: this.options.profileName,\n\t\t\t\t\tcliOverrides: this.options.cliOverrides,\n\t\t\t\t});\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tif (this.options.onError) {\n\t\t\t\t\tthis.options.onError(error);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.error(\n\t\t\t\t\t\"Runtime error\",\n\t\t\t\t\terror instanceof Error ? error : undefined,\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\n\t\tif (this.options.renderer) {\n\t\t\tthis.attachRenderer(this.options.renderer);\n\t\t}\n\t}\n\n\tattachRenderer(renderer: TuiRenderer): void {\n\t\tthis.renderer = renderer;\n\t\trenderer.setInterruptCallback((options) => this.interrupt(options));\n\t}\n\n\tenqueue(payload: PromptPayload): void {\n\t\tthis.promptQueue.enqueue(payload.text, payload.attachments, payload.kind);\n\t}\n\n\t/**\n\t * Interrupt the current agent operation.\n\t *\n\t * @param options - Control how the interrupt is handled\n\t * @returns Result containing any saved partial message\n\t */\n\tinterrupt(options?: InterruptOptions): InterruptResult {\n\t\tif (options?.keepPartial) {\n\t\t\tconst partialMessage = this.options.agent.abortAndKeepPartial();\n\t\t\tlogger.info(\"Interrupted with partial acceptance\", {\n\t\t\t\thasPartial: !!partialMessage,\n\t\t\t});\n\t\t\treturn { partialMessage };\n\t\t}\n\n\t\tthis.options.agent.abort();\n\t\treturn {};\n\t}\n\n\tstop(): void {\n\t\tthis.running = false;\n\t}\n\n\tasync runInteractiveLoop(renderer: TuiRenderer): Promise<void> {\n\t\tif (renderer !== this.renderer) {\n\t\t\tthis.attachRenderer(renderer);\n\t\t}\n\t\twhile (this.running) {\n\t\t\tconst input = await renderer.getUserInput();\n\t\t\tthis.enqueue(input);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"agent-runtime.js","sourceRoot":"","sources":["../../src/runtime/agent-runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Agent } from \"../agent/agent.js\";\nimport { buildCompactionEvent } from \"../agent/prompt-recovery.js\";\nimport type { AgentState, AppMessage } from \"../agent/types.js\";\nimport { runUserPromptWithRecovery } from \"../agent/user-prompt-runtime.js\";\nimport { composerManager } from \"../composers/index.js\";\nimport type { ComposerConfig } from \"../config/index.js\";\nimport { withMcpPostKeepMessages } from \"../mcp/prompt-recovery.js\";\nimport type { SessionManager } from \"../session/manager.js\";\nimport { createLogger } from \"../utils/logger.js\";\nimport { type PromptPayload, PromptQueue } from \"./prompt-queue.js\";\n\nconst logger = createLogger(\"agent-runtime\");\n\nexport interface InterruptOptions {\n\t/** If true, preserve the partial response in message history */\n\tkeepPartial?: boolean;\n}\n\nexport interface InterruptResult {\n\t/** The partial message that was saved, if keepPartial was true */\n\tpartialMessage?: AppMessage | null;\n}\n\n/**\n * Structural contract the runtime needs from a UI renderer. Any renderer\n * (interactive terminal UI, headless, future bridge shim, etc.) that satisfies\n * this shape can be attached. The interactive TypeScript terminal renderer\n * implements this contract. Kept intentionally minimal and UI-agnostic so this\n * runtime module never needs to import terminal-UI packages or the interactive\n * terminal renderer module tree.\n */\nexport interface AgentRuntimeRenderer {\n\tensureContextBudgetBeforePrompt?(): Promise<void>;\n\tcollectActiveSkillMessagesForCompaction?(\n\t\tpreservedMessages?: AppMessage[],\n\t): AppMessage[];\n\tshowInfo(message: string): void;\n\trenderInitialMessages(state: AgentState): void;\n\trefreshFooterHint(): void;\n\tsetInterruptCallback(\n\t\tcallback: (options?: InterruptOptions) => InterruptResult | undefined,\n\t): void;\n\tgetUserInput(): Promise<PromptPayload>;\n}\n\ninterface AgentRuntimeControllerOptions {\n\tagent: Agent;\n\tsessionManager: SessionManager;\n\tprofileName?: string;\n\tcliOverrides?: Partial<ComposerConfig>;\n\trenderer?: AgentRuntimeRenderer;\n\tonError?: (error: unknown) => void;\n}\n\nexport class AgentRuntimeController {\n\tprivate readonly promptQueue: PromptQueue;\n\tprivate running = true;\n\tprivate renderer?: AgentRuntimeRenderer;\n\n\tconstructor(private readonly options: AgentRuntimeControllerOptions) {\n\t\tthis.promptQueue = new PromptQueue(\n\t\t\tasync (text, attachments) => {\n\t\t\t\tif (this.renderer?.ensureContextBudgetBeforePrompt) {\n\t\t\t\t\tawait this.renderer.ensureContextBudgetBeforePrompt();\n\t\t\t\t}\n\n\t\t\t\t// Check if prompt matches any composer triggers (only if no composer active)\n\t\t\t\tconst composerState = composerManager.getState();\n\t\t\t\tif (!composerState.active) {\n\t\t\t\t\tconst triggered = composerManager.checkTriggers(text, process.cwd());\n\t\t\t\t\tif (triggered) {\n\t\t\t\t\t\tcomposerManager.activate(triggered.name, process.cwd());\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tawait runUserPromptWithRecovery({\n\t\t\t\t\tagent: this.options.agent,\n\t\t\t\t\tsessionManager: this.options.sessionManager,\n\t\t\t\t\tcwd: process.cwd(),\n\t\t\t\t\tprompt: text,\n\t\t\t\t\tattachmentCount: attachments?.length ?? 0,\n\t\t\t\t\tattachmentNames: attachments?.map(\n\t\t\t\t\t\t(attachment) => attachment.fileName,\n\t\t\t\t\t),\n\t\t\t\t\texecute: () => this.options.agent.prompt(text, attachments),\n\t\t\t\t\tgetPostKeepMessages: withMcpPostKeepMessages(\n\t\t\t\t\t\t(preservedMessages) =>\n\t\t\t\t\t\t\tthis.renderer?.collectActiveSkillMessagesForCompaction?.(\n\t\t\t\t\t\t\t\tpreservedMessages,\n\t\t\t\t\t\t\t) ?? [],\n\t\t\t\t\t),\n\t\t\t\t\tcallbacks: {\n\t\t\t\t\t\tonCompacting: () => {\n\t\t\t\t\t\t\tthis.options.agent.emitStatus(\"compacting\", {\n\t\t\t\t\t\t\t\tauto: true,\n\t\t\t\t\t\t\t\ttrigger: \"context_overflow\",\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tthis.renderer?.showInfo(\n\t\t\t\t\t\t\t\t\"Prompt exceeded the context window. Compacting history and continuing automatically...\",\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonCompacted: (result) => {\n\t\t\t\t\t\t\tthis.options.agent.emitCompaction(\n\t\t\t\t\t\t\t\tbuildCompactionEvent(result, { auto: true }),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.renderer?.renderInitialMessages(this.options.agent.state);\n\t\t\t\t\t\t\tthis.renderer?.refreshFooterHint();\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonCompactionFailed: (message) => {\n\t\t\t\t\t\t\tthis.options.agent.emitError(\n\t\t\t\t\t\t\t\t`Auto-compaction failed: ${message}`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonMaxOutputContinue: (attempt, maxContinuations) => {\n\t\t\t\t\t\t\tconst prefix =\n\t\t\t\t\t\t\t\tattempt === 1\n\t\t\t\t\t\t\t\t\t? \"Response hit the output limit. Continuing automatically...\"\n\t\t\t\t\t\t\t\t\t: `Response still hit the output limit. Continuing automatically (${attempt}/${maxContinuations})...`;\n\t\t\t\t\t\t\tthis.renderer?.showInfo(prefix);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonMaxOutputExhausted: (maxContinuations) => {\n\t\t\t\t\t\t\tthis.renderer?.showInfo(\n\t\t\t\t\t\t\t\t`Stopped after ${maxContinuations} automatic continuations because the response kept hitting the output limit.`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t\tonMaxOutputStoppedEarly: (attempt, maxContinuations) => {\n\t\t\t\t\t\t\tthis.renderer?.showInfo(\n\t\t\t\t\t\t\t\t`Stopped automatic continuation early after ${attempt}/${maxContinuations} retries because recent responses made minimal progress.`,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tprofileName: this.options.profileName,\n\t\t\t\t\tcliOverrides: this.options.cliOverrides,\n\t\t\t\t});\n\t\t\t},\n\t\t\t(error) => {\n\t\t\t\tif (this.options.onError) {\n\t\t\t\t\tthis.options.onError(error);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlogger.error(\n\t\t\t\t\t\"Runtime error\",\n\t\t\t\t\terror instanceof Error ? error : undefined,\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\n\t\tif (this.options.renderer) {\n\t\t\tthis.attachRenderer(this.options.renderer);\n\t\t}\n\t}\n\n\tattachRenderer(renderer: AgentRuntimeRenderer): void {\n\t\tthis.renderer = renderer;\n\t\trenderer.setInterruptCallback((options) => this.interrupt(options));\n\t}\n\n\tenqueue(payload: PromptPayload): void {\n\t\tthis.promptQueue.enqueue(payload.text, payload.attachments, payload.kind);\n\t}\n\n\t/**\n\t * Interrupt the current agent operation.\n\t *\n\t * @param options - Control how the interrupt is handled\n\t * @returns Result containing any saved partial message\n\t */\n\tinterrupt(options?: InterruptOptions): InterruptResult {\n\t\tif (options?.keepPartial) {\n\t\t\tconst partialMessage = this.options.agent.abortAndKeepPartial();\n\t\t\tlogger.info(\"Interrupted with partial acceptance\", {\n\t\t\t\thasPartial: !!partialMessage,\n\t\t\t});\n\t\t\treturn { partialMessage };\n\t\t}\n\n\t\tthis.options.agent.abort();\n\t\treturn {};\n\t}\n\n\tstop(): void {\n\t\tthis.running = false;\n\t}\n\n\tasync runInteractiveLoop(renderer: AgentRuntimeRenderer): Promise<void> {\n\t\tif (renderer !== this.renderer) {\n\t\t\tthis.attachRenderer(renderer);\n\t\t}\n\t\twhile (this.running) {\n\t\t\tconst input = await renderer.getUserInput();\n\t\t\tthis.enqueue(input);\n\t\t}\n\t}\n}\n"]}
@@ -60,6 +60,10 @@ export interface RuntimeEnv {
60
60
  readonly disableKeychain: boolean;
61
61
  readonly maestroHome: string;
62
62
  readonly maestroAgentDir: string | null;
63
+ readonly missionStoreDir: string | null;
64
+ readonly snapshotBlobDir: string | null;
65
+ readonly skillTrustStrict: boolean;
66
+ readonly primaryModelProvider: string | null;
63
67
  /**
64
68
  * Tri-state parsed signal: true (opt-in), false (opt-out), null (no
65
69
  * signal). For diagnostics that need the raw user string, see
@@ -122,6 +126,9 @@ export interface RuntimeEnv {
122
126
  readonly meterBaseUrl: string | null;
123
127
  readonly meterAccessToken: string | null;
124
128
  readonly meterOrganizationId: string | null;
129
+ readonly ambientLearnerFile: string | null;
130
+ readonly ambientLearnerDefaultFile: string;
131
+ readonly ambientSocketFile: string;
125
132
  }
126
133
  export declare function parseOptionalBoolean(value: string | null): boolean | null;
127
134
  /**
@@ -146,6 +153,8 @@ export declare function createRuntimeEnv(raw: NodeJS.ProcessEnv): RuntimeEnv;
146
153
  * the migration.
147
154
  */
148
155
  export declare function defaultRuntimeEnv(): RuntimeEnv;
156
+ export declare function markRuntimeEnvFinalized(): void;
157
+ export declare function isRuntimeEnvFinalized(): boolean;
149
158
  /**
150
159
  * Drop the cached default snapshot so the next `defaultRuntimeEnv()` call
151
160
  * re-reads `process.env`.
@@ -155,5 +164,5 @@ export declare function defaultRuntimeEnv(): RuntimeEnv;
155
164
  * `process.env` before handing control to migrated modules.
156
165
  */
157
166
  export declare function resetDefaultRuntimeEnv(): void;
158
- export declare const resetDefaultRuntimeEnvForTests: typeof resetDefaultRuntimeEnv;
167
+ export declare function resetDefaultRuntimeEnvForTests(): void;
159
168
  //# sourceMappingURL=env.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/runtime/env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAKH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,UAAU;IAE1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAGlC;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAG3C,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAGnD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AAiED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,GAAG,IAAI,CAMzE;AAkCD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAqDnE;AAQD;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,CAM9C;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C;AAED,eAAO,MAAM,8BAA8B,+BAAyB,CAAC"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/runtime/env.ts"],"names":[],"mappings":"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"}
@@ -132,6 +132,31 @@ function resolveHomePath(value, raw) {
132
132
  : value;
133
133
  return resolve(expanded);
134
134
  }
135
+ function homeFromEnv(raw) {
136
+ return trim(raw.HOME) ?? trim(raw.USERPROFILE) ?? homedir();
137
+ }
138
+ function resolveDataLocalDir(raw) {
139
+ const home = homeFromEnv(raw);
140
+ if (process.platform === "darwin") {
141
+ return join(home, "Library", "Application Support");
142
+ }
143
+ if (process.platform === "win32") {
144
+ return (resolveHomePath(trim(raw.LOCALAPPDATA), raw) ??
145
+ resolveHomePath(trim(raw.APPDATA), raw) ??
146
+ join(home, "AppData", "Local"));
147
+ }
148
+ return (resolveHomePath(trim(raw.XDG_DATA_HOME), raw) ??
149
+ join(home, ".local", "share"));
150
+ }
151
+ function resolveRuntimeDir(raw) {
152
+ if (process.platform === "darwin") {
153
+ return resolveDataLocalDir(raw);
154
+ }
155
+ const xdgRuntimeDir = resolveHomePath(trim(raw.XDG_RUNTIME_DIR), raw);
156
+ if (xdgRuntimeDir)
157
+ return xdgRuntimeDir;
158
+ return resolveDataLocalDir(raw);
159
+ }
135
160
  /**
136
161
  * Build an immutable snapshot of the env vars this codebase cares about.
137
162
  *
@@ -149,6 +174,10 @@ export function createRuntimeEnv(raw) {
149
174
  disableKeychain: parseBoolean(trim(raw.MAESTRO_DISABLE_KEYCHAIN)),
150
175
  maestroHome: trim(raw.MAESTRO_HOME) ?? join(homedir(), ".maestro"),
151
176
  maestroAgentDir: trim(raw.MAESTRO_AGENT_DIR),
177
+ missionStoreDir: resolveHomePath(trim(raw.MAESTRO_MISSION_STORE_DIR), raw),
178
+ snapshotBlobDir: resolveHomePath(trim(raw.MAESTRO_SNAPSHOT_BLOB_DIR), raw),
179
+ skillTrustStrict: parseBoolean(trim(raw.MAESTRO_SKILL_TRUST_STRICT)),
180
+ primaryModelProvider: trim(raw.MAESTRO_PRIMARY_MODEL_PROVIDER),
152
181
  telemetryEnabled: parseOptionalBoolean(trim(raw.MAESTRO_TELEMETRY) ?? trim(raw.PLAYWRIGHT_TELEMETRY)),
153
182
  telemetryFlag: trim(raw.MAESTRO_TELEMETRY) ?? trim(raw.PLAYWRIGHT_TELEMETRY),
154
183
  beaconFile: resolveHomePath(trim(raw.MAESTRO_BEACON_FILE), raw),
@@ -175,9 +204,31 @@ export function createRuntimeEnv(raw) {
175
204
  meterBaseUrl: firstNonEmpty(raw, METER_BASE_URL_VARS),
176
205
  meterAccessToken: firstNonEmpty(raw, METER_ACCESS_TOKEN_VARS),
177
206
  meterOrganizationId: firstNonEmpty(raw, METER_ORG_ID_VARS),
207
+ ambientLearnerFile: resolveHomePath(trim(raw.MAESTRO_AMBIENT_LEARNER_FILE), raw),
208
+ ambientLearnerDefaultFile: join(resolveDataLocalDir(raw), "ambient-agent", "learner.json"),
209
+ ambientSocketFile: join(resolveRuntimeDir(raw), "ambient-agent.sock"),
178
210
  });
179
211
  }
180
212
  const processWithRuntimeEnvCache = process;
213
+ function isTestProcess() {
214
+ return process.env.NODE_ENV === "test" || process.env.VITEST === "true";
215
+ }
216
+ function maybeReportEarlyRuntimeEnvAccess() {
217
+ if (processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_FINALIZED__) {
218
+ return;
219
+ }
220
+ const message = "defaultRuntimeEnv() was read before loadAndFinalizeEnv() completed. " +
221
+ "Bootstrap entry points must finish dotenv loading and security scrubbing before runtime env snapshots are created.";
222
+ if (process.env.MAESTRO_RUNTIME_ENV_STRICT_BOOTSTRAP === "1") {
223
+ throw new Error(message);
224
+ }
225
+ if (isTestProcess() ||
226
+ processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__) {
227
+ return;
228
+ }
229
+ processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__ = true;
230
+ console.warn(`[maestro] ${message}`);
231
+ }
181
232
  /**
182
233
  * Return the process-wide snapshot of `process.env`.
183
234
  *
@@ -192,12 +243,20 @@ const processWithRuntimeEnvCache = process;
192
243
  * the migration.
193
244
  */
194
245
  export function defaultRuntimeEnv() {
246
+ maybeReportEarlyRuntimeEnvAccess();
195
247
  if (!processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__) {
196
248
  processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__ =
197
249
  createRuntimeEnv(process.env);
198
250
  }
199
251
  return processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__;
200
252
  }
253
+ export function markRuntimeEnvFinalized() {
254
+ processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_FINALIZED__ = true;
255
+ Reflect.deleteProperty(processWithRuntimeEnvCache, "__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__");
256
+ }
257
+ export function isRuntimeEnvFinalized() {
258
+ return processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_FINALIZED__ === true;
259
+ }
201
260
  /**
202
261
  * Drop the cached default snapshot so the next `defaultRuntimeEnv()` call
203
262
  * re-reads `process.env`.
@@ -209,5 +268,9 @@ export function defaultRuntimeEnv() {
209
268
  export function resetDefaultRuntimeEnv() {
210
269
  Reflect.deleteProperty(processWithRuntimeEnvCache, "__MAESTRO_DEFAULT_RUNTIME_ENV__");
211
270
  }
212
- export const resetDefaultRuntimeEnvForTests = resetDefaultRuntimeEnv;
271
+ export function resetDefaultRuntimeEnvForTests() {
272
+ resetDefaultRuntimeEnv();
273
+ Reflect.deleteProperty(processWithRuntimeEnvCache, "__MAESTRO_RUNTIME_ENV_FINALIZED__");
274
+ Reflect.deleteProperty(processWithRuntimeEnvCache, "__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__");
275
+ }
213
276
  //# sourceMappingURL=env.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/runtime/env.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Runtime environment substrate.\n *\n * # Why this exists\n *\n * Ambient `process.env` reads scattered through library code are the root\n * cause of an entire class of flakes:\n *\n * - Logger config frozen at setup-file import time (PR #2768/#2769).\n * - Meter test passing on runner-2, failing on runner-1 because the CI\n * runner's env had `EVALOPS_ORG_ID` set (PR #2763).\n * - CLI integration test `prints providers summary for filter` flaking\n * intermittently because OAuth keychain mode was captured by the first\n * test in a vitest worker (PRs #2752, #2761, #2762, #2766).\n * - CLI aggregator's `setInterval` outliving the test that started it,\n * later reading the *next* test's env-driven buffer path (PR #2772).\n *\n * Every one of those was the same shape: shared mutable state with no\n * causal ordering between writers and readers and no owner.\n *\n * The substrate fix is to make environment a *parameter*, not a *global*.\n * Library code receives a `RuntimeEnv`. Tests construct one with a literal.\n * The single place that reads `process.env` is `createRuntimeEnv` —\n * everything else passes the typed result around.\n *\n * # Migration strategy\n *\n * `defaultRuntimeEnv()` is a one-call-per-process snapshot of\n * `process.env`. Code not yet migrated can pick it up incrementally. The\n * `scripts/check-env-reads.mjs` baseline prevents *new* direct reads from\n * `process.env` in `src/` without going through `RuntimeEnv` first.\n *\n * # What's typed here\n *\n * The fields below are the env vars that have produced production flakes,\n * security gaps, or cross-test pollution in the last quarter. Untyped\n * vars stay as ambient `process.env` reads for now — the scanner just\n * prevents new ones being added — and graduate into this type as their\n * consumers are migrated.\n */\n\nimport { homedir } from \"node:os\";\nimport { join, resolve } from \"node:path\";\n\nexport type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\";\n\nexport interface RuntimeEnv {\n\t// --- Logger ---\n\treadonly logLevel: LogLevel;\n\treadonly logJsonFormat: boolean;\n\treadonly logSplitStreams: boolean;\n\n\t// --- EvalOps identity (the flake surface PR #2763 closed) ---\n\t/**\n\t * Organization id resolved across the documented alias list.\n\t * Source vars (first non-empty wins):\n\t * - MAESTRO_EVALOPS_ORG_ID\n\t * - EVALOPS_ORGANIZATION_ID\n\t * - EVALOPS_ORG_ID\n\t * - MAESTRO_ENTERPRISE_ORG_ID\n\t */\n\treadonly evalopsOrgId: string | null;\n\t/**\n\t * Access token resolved across the documented alias list.\n\t * Source vars: MAESTRO_EVALOPS_ACCESS_TOKEN, EVALOPS_TOKEN.\n\t */\n\treadonly evalopsAccessToken: string | null;\n\n\t// --- OAuth storage isolation (PRs #2752/#2761/#2762/#2766) ---\n\treadonly disableKeychain: boolean;\n\treadonly maestroHome: string;\n\treadonly maestroAgentDir: string | null;\n\n\t// --- CLI command aggregator / telemetry (PR #2772 timer leak) ---\n\t/**\n\t * Tri-state parsed signal: true (opt-in), false (opt-out), null (no\n\t * signal). For diagnostics that need the raw user string, see\n\t * `telemetryFlag` below.\n\t */\n\treadonly telemetryEnabled: boolean | null;\n\t/**\n\t * Raw `MAESTRO_TELEMETRY` (or `PLAYWRIGHT_TELEMETRY` fallback) string,\n\t * trimmed. Preserved separately from `telemetryEnabled` so diagnostic\n\t * surfaces (e.g. `getTelemetryStatus().flagValue`) can show the literal\n\t * user setting.\n\t */\n\treadonly telemetryFlag: string | null;\n\treadonly beaconFile: string | null;\n\treadonly beaconEndpoint: string | null;\n\treadonly beaconApiKey: string | null;\n\t/**\n\t * Beacon request timeout in ms. `null` means use the consumer's default.\n\t */\n\treadonly beaconTimeoutMs: number | null;\n\t/**\n\t * Telemetry sampling probability in `[0, 1]`. `null` means full sampling.\n\t */\n\treadonly telemetrySampleRate: number | null;\n\treadonly cliCommandBeaconBufferFile: string | null;\n\n\t// --- OpenTelemetry SDK boot (`src/opentelemetry.ts`) ---\n\t/**\n\t * Tri-state for `MAESTRO_OTEL`. `null` means no explicit signal —\n\t * the OTel boot logic infers enablement from the presence of an\n\t * exporter endpoint.\n\t */\n\treadonly otelEnabled: boolean | null;\n\t/**\n\t * Raw `MAESTRO_OTEL` string preserved for `getOpenTelemetryStatus`\n\t * reason-string diagnostics that distinguish \"MAESTRO_OTEL=1\" from\n\t * \"MAESTRO_OTEL=0\" in the human-readable reason.\n\t */\n\treadonly otelFlag: string | null;\n\treadonly otelServiceName: string | null;\n\treadonly otelSampler: string | null;\n\n\t// --- OpenTelemetry exporter (`src/telemetry.ts`) ---\n\t/**\n\t * Where the OTel exporter dumps a local log of telemetry events.\n\t * Source vars (first non-empty wins, tilde-expanded):\n\t * - MAESTRO_TELEMETRY_FILE\n\t * - PLAYWRIGHT_TELEMETRY_FILE\n\t *\n\t * This is separate from `beaconFile` (`MAESTRO_BEACON_FILE`) — the\n\t * OTel exporter writes structured events, the beacon writes one JSON\n\t * line per event. Users that set only one of the two expect the other\n\t * to remain off.\n\t */\n\treadonly exporterFile: string | null;\n\t/**\n\t * HTTP endpoint for the OTel exporter. Distinct from `beaconEndpoint`\n\t * because `MAESTRO_BEACON_ENDPOINT` is a beacon-specific override that\n\t * shouldn't redirect the OTel exporter.\n\t * - MAESTRO_TELEMETRY_ENDPOINT\n\t * - PLAYWRIGHT_TELEMETRY_ENDPOINT\n\t */\n\treadonly exporterEndpoint: string | null;\n\n\t// --- Meter remote-mirror gate (PR #2763 failure) ---\n\treadonly meterBaseUrl: string | null;\n\treadonly meterAccessToken: string | null;\n\treadonly meterOrganizationId: string | null;\n}\n\nfunction trim(value: unknown): string | null {\n\tif (typeof value !== \"string\") return null;\n\tconst t = value.trim();\n\treturn t.length > 0 ? t : null;\n}\n\nfunction firstNonEmpty(\n\traw: NodeJS.ProcessEnv,\n\tnames: readonly string[],\n): string | null {\n\tfor (const name of names) {\n\t\tconst v = trim(raw[name]);\n\t\tif (v) return v;\n\t}\n\treturn null;\n}\n\nconst EVALOPS_ORG_ID_VARS = [\n\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\"EVALOPS_ORGANIZATION_ID\",\n\t\"EVALOPS_ORG_ID\",\n\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n] as const;\n\nconst EVALOPS_ACCESS_TOKEN_VARS = [\n\t\"MAESTRO_EVALOPS_ACCESS_TOKEN\",\n\t\"EVALOPS_TOKEN\",\n] as const;\n\nconst METER_BASE_URL_VARS = [\n\t\"MAESTRO_METER_BASE\",\n\t\"MAESTRO_METER_SERVICE_URL\",\n\t\"MAESTRO_PLATFORM_BASE_URL\",\n\t\"MAESTRO_EVALOPS_BASE_URL\",\n\t\"EVALOPS_BASE_URL\",\n] as const;\n\nconst METER_ACCESS_TOKEN_VARS = [\n\t\"MAESTRO_METER_ACCESS_TOKEN\",\n\t...EVALOPS_ACCESS_TOKEN_VARS,\n] as const;\n\nconst METER_ORG_ID_VARS = [\n\t\"MAESTRO_METER_ORGANIZATION_ID\",\n\t...EVALOPS_ORG_ID_VARS,\n] as const;\n\nfunction parseLogLevel(value: string | null): LogLevel {\n\tswitch (value) {\n\t\tcase \"debug\":\n\t\tcase \"info\":\n\t\tcase \"warn\":\n\t\tcase \"error\":\n\t\t\treturn value;\n\t\tdefault:\n\t\t\treturn \"info\";\n\t}\n}\n\nfunction parseBoolean(value: string | null): boolean {\n\treturn value === \"1\" || value === \"true\";\n}\n\nexport function parseOptionalBoolean(value: string | null): boolean | null {\n\tif (value === null) return null;\n\tconst normalized = value.toLowerCase();\n\tif (normalized === \"0\" || normalized === \"false\") return false;\n\tif (normalized === \"1\" || normalized === \"true\") return true;\n\treturn null;\n}\n\nfunction parseOptionalSampleRate(value: string | null): number | null {\n\tif (value === null) return null;\n\tconst parsed = Number.parseFloat(value);\n\tif (!Number.isFinite(parsed)) return null;\n\treturn Math.min(Math.max(parsed, 0), 1);\n}\n\nfunction parseOptionalPositiveInt(value: string | null): number | null {\n\tif (value === null) return null;\n\tconst parsed = Number.parseInt(value, 10);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : null;\n}\n\nfunction resolveHomePath(\n\tvalue: string | null,\n\traw: NodeJS.ProcessEnv,\n): string | null {\n\tif (value === null) return null;\n\t// Match the legacy `resolveEnvPath` chain: honor an overridden HOME\n\t// (or USERPROFILE on Windows) before falling back to `homedir()`. This\n\t// keeps tests and tools that pin HOME to a temp dir working as they did\n\t// when this read went through `src/utils/path-expansion.ts`.\n\tconst home = trim(raw.HOME) ?? trim(raw.USERPROFILE) ?? homedir();\n\tconst expanded =\n\t\tvalue === \"~\"\n\t\t\t? home\n\t\t\t: value.startsWith(\"~/\") || value.startsWith(\"~\\\\\")\n\t\t\t\t? join(home, value.slice(2))\n\t\t\t\t: value;\n\treturn resolve(expanded);\n}\n\n/**\n * Build an immutable snapshot of the env vars this codebase cares about.\n *\n * Pure function: same input → same output. Call it once at process\n * startup (or in tests, with a literal) and thread the result through the\n * program. Do not call it on every operation — that defeats the purpose.\n */\nexport function createRuntimeEnv(raw: NodeJS.ProcessEnv): RuntimeEnv {\n\treturn Object.freeze({\n\t\tlogLevel: parseLogLevel(trim(raw.MAESTRO_LOG_LEVEL)),\n\t\tlogJsonFormat: parseBoolean(trim(raw.MAESTRO_LOG_JSON)),\n\t\tlogSplitStreams: parseBoolean(trim(raw.MAESTRO_LOG_SPLIT_STREAMS)),\n\n\t\tevalopsOrgId: firstNonEmpty(raw, EVALOPS_ORG_ID_VARS),\n\t\tevalopsAccessToken: firstNonEmpty(raw, EVALOPS_ACCESS_TOKEN_VARS),\n\n\t\tdisableKeychain: parseBoolean(trim(raw.MAESTRO_DISABLE_KEYCHAIN)),\n\t\tmaestroHome: trim(raw.MAESTRO_HOME) ?? join(homedir(), \".maestro\"),\n\t\tmaestroAgentDir: trim(raw.MAESTRO_AGENT_DIR),\n\n\t\ttelemetryEnabled: parseOptionalBoolean(\n\t\t\ttrim(raw.MAESTRO_TELEMETRY) ?? trim(raw.PLAYWRIGHT_TELEMETRY),\n\t\t),\n\t\ttelemetryFlag:\n\t\t\ttrim(raw.MAESTRO_TELEMETRY) ?? trim(raw.PLAYWRIGHT_TELEMETRY),\n\t\tbeaconFile: resolveHomePath(trim(raw.MAESTRO_BEACON_FILE), raw),\n\t\tbeaconEndpoint: firstNonEmpty(raw, [\n\t\t\t\"MAESTRO_BEACON_ENDPOINT\",\n\t\t\t\"MAESTRO_TELEMETRY_ENDPOINT\",\n\t\t\t\"PLAYWRIGHT_TELEMETRY_ENDPOINT\",\n\t\t]),\n\t\tbeaconApiKey: trim(raw.MAESTRO_BEACON_API_KEY),\n\t\tbeaconTimeoutMs: parseOptionalPositiveInt(\n\t\t\ttrim(raw.MAESTRO_BEACON_TIMEOUT_MS),\n\t\t),\n\t\ttelemetrySampleRate: parseOptionalSampleRate(\n\t\t\ttrim(raw.MAESTRO_TELEMETRY_SAMPLE) ??\n\t\t\t\ttrim(raw.PLAYWRIGHT_TELEMETRY_SAMPLE),\n\t\t),\n\t\tcliCommandBeaconBufferFile: trim(\n\t\t\traw.MAESTRO_CLI_COMMAND_BEACON_BUFFER_FILE,\n\t\t),\n\n\t\totelEnabled: parseOptionalBoolean(trim(raw.MAESTRO_OTEL)),\n\t\totelFlag: trim(raw.MAESTRO_OTEL),\n\t\totelServiceName: trim(raw.MAESTRO_OTEL_SERVICE_NAME),\n\t\totelSampler: trim(raw.MAESTRO_OTEL_SAMPLER),\n\n\t\texporterFile:\n\t\t\tresolveHomePath(trim(raw.MAESTRO_TELEMETRY_FILE), raw) ??\n\t\t\tresolveHomePath(trim(raw.PLAYWRIGHT_TELEMETRY_FILE), raw),\n\t\texporterEndpoint: firstNonEmpty(raw, [\n\t\t\t\"MAESTRO_TELEMETRY_ENDPOINT\",\n\t\t\t\"PLAYWRIGHT_TELEMETRY_ENDPOINT\",\n\t\t]),\n\n\t\tmeterBaseUrl: firstNonEmpty(raw, METER_BASE_URL_VARS),\n\t\tmeterAccessToken: firstNonEmpty(raw, METER_ACCESS_TOKEN_VARS),\n\t\tmeterOrganizationId: firstNonEmpty(raw, METER_ORG_ID_VARS),\n\t});\n}\n\ntype ProcessWithRuntimeEnvCache = typeof process & {\n\t__MAESTRO_DEFAULT_RUNTIME_ENV__?: RuntimeEnv;\n};\n\nconst processWithRuntimeEnvCache = process as ProcessWithRuntimeEnvCache;\n\n/**\n * Return the process-wide snapshot of `process.env`.\n *\n * Builds the snapshot lazily on first call so the timing of module load\n * doesn't matter — by the time anything calls this, env has finished\n * settling (CLI argv parsed, dotenv loaded, vitest setup files run). The\n * returned object is frozen and shared.\n *\n * Library code that's been migrated to the substrate should *not* call\n * this directly; it should accept a `RuntimeEnv` parameter. This export\n * exists as the bootstrap entry point and as a compatibility shim during\n * the migration.\n */\nexport function defaultRuntimeEnv(): RuntimeEnv {\n\tif (!processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__) {\n\t\tprocessWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__ =\n\t\t\tcreateRuntimeEnv(process.env);\n\t}\n\treturn processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__;\n}\n\n/**\n * Drop the cached default snapshot so the next `defaultRuntimeEnv()` call\n * re-reads `process.env`.\n *\n * Prefer constructing a `RuntimeEnv` with `createRuntimeEnv` and injecting it.\n * This reset is reserved for process bootstrap paths that intentionally mutate\n * `process.env` before handing control to migrated modules.\n */\nexport function resetDefaultRuntimeEnv(): void {\n\tReflect.deleteProperty(\n\t\tprocessWithRuntimeEnvCache,\n\t\t\"__MAESTRO_DEFAULT_RUNTIME_ENV__\",\n\t);\n}\n\nexport const resetDefaultRuntimeEnvForTests = resetDefaultRuntimeEnv;\n"]}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/runtime/env.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Runtime environment substrate.\n *\n * # Why this exists\n *\n * Ambient `process.env` reads scattered through library code are the root\n * cause of an entire class of flakes:\n *\n * - Logger config frozen at setup-file import time (PR #2768/#2769).\n * - Meter test passing on runner-2, failing on runner-1 because the CI\n * runner's env had `EVALOPS_ORG_ID` set (PR #2763).\n * - CLI integration test `prints providers summary for filter` flaking\n * intermittently because OAuth keychain mode was captured by the first\n * test in a vitest worker (PRs #2752, #2761, #2762, #2766).\n * - CLI aggregator's `setInterval` outliving the test that started it,\n * later reading the *next* test's env-driven buffer path (PR #2772).\n *\n * Every one of those was the same shape: shared mutable state with no\n * causal ordering between writers and readers and no owner.\n *\n * The substrate fix is to make environment a *parameter*, not a *global*.\n * Library code receives a `RuntimeEnv`. Tests construct one with a literal.\n * The single place that reads `process.env` is `createRuntimeEnv` —\n * everything else passes the typed result around.\n *\n * # Migration strategy\n *\n * `defaultRuntimeEnv()` is a one-call-per-process snapshot of\n * `process.env`. Code not yet migrated can pick it up incrementally. The\n * `scripts/check-env-reads.mjs` baseline prevents *new* direct reads from\n * `process.env` in `src/` without going through `RuntimeEnv` first.\n *\n * # What's typed here\n *\n * The fields below are the env vars that have produced production flakes,\n * security gaps, or cross-test pollution in the last quarter. Untyped\n * vars stay as ambient `process.env` reads for now — the scanner just\n * prevents new ones being added — and graduate into this type as their\n * consumers are migrated.\n */\n\nimport { homedir } from \"node:os\";\nimport { join, resolve } from \"node:path\";\n\nexport type LogLevel = \"debug\" | \"info\" | \"warn\" | \"error\";\n\nexport interface RuntimeEnv {\n\t// --- Logger ---\n\treadonly logLevel: LogLevel;\n\treadonly logJsonFormat: boolean;\n\treadonly logSplitStreams: boolean;\n\n\t// --- EvalOps identity (the flake surface PR #2763 closed) ---\n\t/**\n\t * Organization id resolved across the documented alias list.\n\t * Source vars (first non-empty wins):\n\t * - MAESTRO_EVALOPS_ORG_ID\n\t * - EVALOPS_ORGANIZATION_ID\n\t * - EVALOPS_ORG_ID\n\t * - MAESTRO_ENTERPRISE_ORG_ID\n\t */\n\treadonly evalopsOrgId: string | null;\n\t/**\n\t * Access token resolved across the documented alias list.\n\t * Source vars: MAESTRO_EVALOPS_ACCESS_TOKEN, EVALOPS_TOKEN.\n\t */\n\treadonly evalopsAccessToken: string | null;\n\n\t// --- OAuth storage isolation (PRs #2752/#2761/#2762/#2766) ---\n\treadonly disableKeychain: boolean;\n\treadonly maestroHome: string;\n\treadonly maestroAgentDir: string | null;\n\treadonly missionStoreDir: string | null;\n\treadonly snapshotBlobDir: string | null;\n\treadonly skillTrustStrict: boolean;\n\treadonly primaryModelProvider: string | null;\n\n\t// --- CLI command aggregator / telemetry (PR #2772 timer leak) ---\n\t/**\n\t * Tri-state parsed signal: true (opt-in), false (opt-out), null (no\n\t * signal). For diagnostics that need the raw user string, see\n\t * `telemetryFlag` below.\n\t */\n\treadonly telemetryEnabled: boolean | null;\n\t/**\n\t * Raw `MAESTRO_TELEMETRY` (or `PLAYWRIGHT_TELEMETRY` fallback) string,\n\t * trimmed. Preserved separately from `telemetryEnabled` so diagnostic\n\t * surfaces (e.g. `getTelemetryStatus().flagValue`) can show the literal\n\t * user setting.\n\t */\n\treadonly telemetryFlag: string | null;\n\treadonly beaconFile: string | null;\n\treadonly beaconEndpoint: string | null;\n\treadonly beaconApiKey: string | null;\n\t/**\n\t * Beacon request timeout in ms. `null` means use the consumer's default.\n\t */\n\treadonly beaconTimeoutMs: number | null;\n\t/**\n\t * Telemetry sampling probability in `[0, 1]`. `null` means full sampling.\n\t */\n\treadonly telemetrySampleRate: number | null;\n\treadonly cliCommandBeaconBufferFile: string | null;\n\n\t// --- OpenTelemetry SDK boot (`src/opentelemetry.ts`) ---\n\t/**\n\t * Tri-state for `MAESTRO_OTEL`. `null` means no explicit signal —\n\t * the OTel boot logic infers enablement from the presence of an\n\t * exporter endpoint.\n\t */\n\treadonly otelEnabled: boolean | null;\n\t/**\n\t * Raw `MAESTRO_OTEL` string preserved for `getOpenTelemetryStatus`\n\t * reason-string diagnostics that distinguish \"MAESTRO_OTEL=1\" from\n\t * \"MAESTRO_OTEL=0\" in the human-readable reason.\n\t */\n\treadonly otelFlag: string | null;\n\treadonly otelServiceName: string | null;\n\treadonly otelSampler: string | null;\n\n\t// --- OpenTelemetry exporter (`src/telemetry.ts`) ---\n\t/**\n\t * Where the OTel exporter dumps a local log of telemetry events.\n\t * Source vars (first non-empty wins, tilde-expanded):\n\t * - MAESTRO_TELEMETRY_FILE\n\t * - PLAYWRIGHT_TELEMETRY_FILE\n\t *\n\t * This is separate from `beaconFile` (`MAESTRO_BEACON_FILE`) — the\n\t * OTel exporter writes structured events, the beacon writes one JSON\n\t * line per event. Users that set only one of the two expect the other\n\t * to remain off.\n\t */\n\treadonly exporterFile: string | null;\n\t/**\n\t * HTTP endpoint for the OTel exporter. Distinct from `beaconEndpoint`\n\t * because `MAESTRO_BEACON_ENDPOINT` is a beacon-specific override that\n\t * shouldn't redirect the OTel exporter.\n\t * - MAESTRO_TELEMETRY_ENDPOINT\n\t * - PLAYWRIGHT_TELEMETRY_ENDPOINT\n\t */\n\treadonly exporterEndpoint: string | null;\n\n\t// --- Meter remote-mirror gate (PR #2763 failure) ---\n\treadonly meterBaseUrl: string | null;\n\treadonly meterAccessToken: string | null;\n\treadonly meterOrganizationId: string | null;\n\n\t// --- Ambient agent evidence ---\n\treadonly ambientLearnerFile: string | null;\n\treadonly ambientLearnerDefaultFile: string;\n\treadonly ambientSocketFile: string;\n}\n\nfunction trim(value: unknown): string | null {\n\tif (typeof value !== \"string\") return null;\n\tconst t = value.trim();\n\treturn t.length > 0 ? t : null;\n}\n\nfunction firstNonEmpty(\n\traw: NodeJS.ProcessEnv,\n\tnames: readonly string[],\n): string | null {\n\tfor (const name of names) {\n\t\tconst v = trim(raw[name]);\n\t\tif (v) return v;\n\t}\n\treturn null;\n}\n\nconst EVALOPS_ORG_ID_VARS = [\n\t\"MAESTRO_EVALOPS_ORG_ID\",\n\t\"EVALOPS_ORGANIZATION_ID\",\n\t\"EVALOPS_ORG_ID\",\n\t\"MAESTRO_ENTERPRISE_ORG_ID\",\n] as const;\n\nconst EVALOPS_ACCESS_TOKEN_VARS = [\n\t\"MAESTRO_EVALOPS_ACCESS_TOKEN\",\n\t\"EVALOPS_TOKEN\",\n] as const;\n\nconst METER_BASE_URL_VARS = [\n\t\"MAESTRO_METER_BASE\",\n\t\"MAESTRO_METER_SERVICE_URL\",\n\t\"MAESTRO_PLATFORM_BASE_URL\",\n\t\"MAESTRO_EVALOPS_BASE_URL\",\n\t\"EVALOPS_BASE_URL\",\n] as const;\n\nconst METER_ACCESS_TOKEN_VARS = [\n\t\"MAESTRO_METER_ACCESS_TOKEN\",\n\t...EVALOPS_ACCESS_TOKEN_VARS,\n] as const;\n\nconst METER_ORG_ID_VARS = [\n\t\"MAESTRO_METER_ORGANIZATION_ID\",\n\t...EVALOPS_ORG_ID_VARS,\n] as const;\n\nfunction parseLogLevel(value: string | null): LogLevel {\n\tswitch (value) {\n\t\tcase \"debug\":\n\t\tcase \"info\":\n\t\tcase \"warn\":\n\t\tcase \"error\":\n\t\t\treturn value;\n\t\tdefault:\n\t\t\treturn \"info\";\n\t}\n}\n\nfunction parseBoolean(value: string | null): boolean {\n\treturn value === \"1\" || value === \"true\";\n}\n\nexport function parseOptionalBoolean(value: string | null): boolean | null {\n\tif (value === null) return null;\n\tconst normalized = value.toLowerCase();\n\tif (normalized === \"0\" || normalized === \"false\") return false;\n\tif (normalized === \"1\" || normalized === \"true\") return true;\n\treturn null;\n}\n\nfunction parseOptionalSampleRate(value: string | null): number | null {\n\tif (value === null) return null;\n\tconst parsed = Number.parseFloat(value);\n\tif (!Number.isFinite(parsed)) return null;\n\treturn Math.min(Math.max(parsed, 0), 1);\n}\n\nfunction parseOptionalPositiveInt(value: string | null): number | null {\n\tif (value === null) return null;\n\tconst parsed = Number.parseInt(value, 10);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : null;\n}\n\nfunction resolveHomePath(\n\tvalue: string | null,\n\traw: NodeJS.ProcessEnv,\n): string | null {\n\tif (value === null) return null;\n\t// Match the legacy `resolveEnvPath` chain: honor an overridden HOME\n\t// (or USERPROFILE on Windows) before falling back to `homedir()`. This\n\t// keeps tests and tools that pin HOME to a temp dir working as they did\n\t// when this read went through `src/utils/path-expansion.ts`.\n\tconst home = trim(raw.HOME) ?? trim(raw.USERPROFILE) ?? homedir();\n\tconst expanded =\n\t\tvalue === \"~\"\n\t\t\t? home\n\t\t\t: value.startsWith(\"~/\") || value.startsWith(\"~\\\\\")\n\t\t\t\t? join(home, value.slice(2))\n\t\t\t\t: value;\n\treturn resolve(expanded);\n}\n\nfunction homeFromEnv(raw: NodeJS.ProcessEnv): string {\n\treturn trim(raw.HOME) ?? trim(raw.USERPROFILE) ?? homedir();\n}\n\nfunction resolveDataLocalDir(raw: NodeJS.ProcessEnv): string {\n\tconst home = homeFromEnv(raw);\n\tif (process.platform === \"darwin\") {\n\t\treturn join(home, \"Library\", \"Application Support\");\n\t}\n\tif (process.platform === \"win32\") {\n\t\treturn (\n\t\t\tresolveHomePath(trim(raw.LOCALAPPDATA), raw) ??\n\t\t\tresolveHomePath(trim(raw.APPDATA), raw) ??\n\t\t\tjoin(home, \"AppData\", \"Local\")\n\t\t);\n\t}\n\treturn (\n\t\tresolveHomePath(trim(raw.XDG_DATA_HOME), raw) ??\n\t\tjoin(home, \".local\", \"share\")\n\t);\n}\n\nfunction resolveRuntimeDir(raw: NodeJS.ProcessEnv): string {\n\tif (process.platform === \"darwin\") {\n\t\treturn resolveDataLocalDir(raw);\n\t}\n\tconst xdgRuntimeDir = resolveHomePath(trim(raw.XDG_RUNTIME_DIR), raw);\n\tif (xdgRuntimeDir) return xdgRuntimeDir;\n\treturn resolveDataLocalDir(raw);\n}\n\n/**\n * Build an immutable snapshot of the env vars this codebase cares about.\n *\n * Pure function: same input → same output. Call it once at process\n * startup (or in tests, with a literal) and thread the result through the\n * program. Do not call it on every operation — that defeats the purpose.\n */\nexport function createRuntimeEnv(raw: NodeJS.ProcessEnv): RuntimeEnv {\n\treturn Object.freeze({\n\t\tlogLevel: parseLogLevel(trim(raw.MAESTRO_LOG_LEVEL)),\n\t\tlogJsonFormat: parseBoolean(trim(raw.MAESTRO_LOG_JSON)),\n\t\tlogSplitStreams: parseBoolean(trim(raw.MAESTRO_LOG_SPLIT_STREAMS)),\n\n\t\tevalopsOrgId: firstNonEmpty(raw, EVALOPS_ORG_ID_VARS),\n\t\tevalopsAccessToken: firstNonEmpty(raw, EVALOPS_ACCESS_TOKEN_VARS),\n\n\t\tdisableKeychain: parseBoolean(trim(raw.MAESTRO_DISABLE_KEYCHAIN)),\n\t\tmaestroHome: trim(raw.MAESTRO_HOME) ?? join(homedir(), \".maestro\"),\n\t\tmaestroAgentDir: trim(raw.MAESTRO_AGENT_DIR),\n\t\tmissionStoreDir: resolveHomePath(trim(raw.MAESTRO_MISSION_STORE_DIR), raw),\n\t\tsnapshotBlobDir: resolveHomePath(trim(raw.MAESTRO_SNAPSHOT_BLOB_DIR), raw),\n\t\tskillTrustStrict: parseBoolean(trim(raw.MAESTRO_SKILL_TRUST_STRICT)),\n\t\tprimaryModelProvider: trim(raw.MAESTRO_PRIMARY_MODEL_PROVIDER),\n\n\t\ttelemetryEnabled: parseOptionalBoolean(\n\t\t\ttrim(raw.MAESTRO_TELEMETRY) ?? trim(raw.PLAYWRIGHT_TELEMETRY),\n\t\t),\n\t\ttelemetryFlag:\n\t\t\ttrim(raw.MAESTRO_TELEMETRY) ?? trim(raw.PLAYWRIGHT_TELEMETRY),\n\t\tbeaconFile: resolveHomePath(trim(raw.MAESTRO_BEACON_FILE), raw),\n\t\tbeaconEndpoint: firstNonEmpty(raw, [\n\t\t\t\"MAESTRO_BEACON_ENDPOINT\",\n\t\t\t\"MAESTRO_TELEMETRY_ENDPOINT\",\n\t\t\t\"PLAYWRIGHT_TELEMETRY_ENDPOINT\",\n\t\t]),\n\t\tbeaconApiKey: trim(raw.MAESTRO_BEACON_API_KEY),\n\t\tbeaconTimeoutMs: parseOptionalPositiveInt(\n\t\t\ttrim(raw.MAESTRO_BEACON_TIMEOUT_MS),\n\t\t),\n\t\ttelemetrySampleRate: parseOptionalSampleRate(\n\t\t\ttrim(raw.MAESTRO_TELEMETRY_SAMPLE) ??\n\t\t\t\ttrim(raw.PLAYWRIGHT_TELEMETRY_SAMPLE),\n\t\t),\n\t\tcliCommandBeaconBufferFile: trim(\n\t\t\traw.MAESTRO_CLI_COMMAND_BEACON_BUFFER_FILE,\n\t\t),\n\n\t\totelEnabled: parseOptionalBoolean(trim(raw.MAESTRO_OTEL)),\n\t\totelFlag: trim(raw.MAESTRO_OTEL),\n\t\totelServiceName: trim(raw.MAESTRO_OTEL_SERVICE_NAME),\n\t\totelSampler: trim(raw.MAESTRO_OTEL_SAMPLER),\n\n\t\texporterFile:\n\t\t\tresolveHomePath(trim(raw.MAESTRO_TELEMETRY_FILE), raw) ??\n\t\t\tresolveHomePath(trim(raw.PLAYWRIGHT_TELEMETRY_FILE), raw),\n\t\texporterEndpoint: firstNonEmpty(raw, [\n\t\t\t\"MAESTRO_TELEMETRY_ENDPOINT\",\n\t\t\t\"PLAYWRIGHT_TELEMETRY_ENDPOINT\",\n\t\t]),\n\n\t\tmeterBaseUrl: firstNonEmpty(raw, METER_BASE_URL_VARS),\n\t\tmeterAccessToken: firstNonEmpty(raw, METER_ACCESS_TOKEN_VARS),\n\t\tmeterOrganizationId: firstNonEmpty(raw, METER_ORG_ID_VARS),\n\t\tambientLearnerFile: resolveHomePath(\n\t\t\ttrim(raw.MAESTRO_AMBIENT_LEARNER_FILE),\n\t\t\traw,\n\t\t),\n\t\tambientLearnerDefaultFile: join(\n\t\t\tresolveDataLocalDir(raw),\n\t\t\t\"ambient-agent\",\n\t\t\t\"learner.json\",\n\t\t),\n\t\tambientSocketFile: join(resolveRuntimeDir(raw), \"ambient-agent.sock\"),\n\t});\n}\n\ntype ProcessWithRuntimeEnvCache = typeof process & {\n\t__MAESTRO_DEFAULT_RUNTIME_ENV__?: RuntimeEnv;\n\t__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__?: boolean;\n\t__MAESTRO_RUNTIME_ENV_FINALIZED__?: boolean;\n};\n\nconst processWithRuntimeEnvCache = process as ProcessWithRuntimeEnvCache;\n\nfunction isTestProcess(): boolean {\n\treturn process.env.NODE_ENV === \"test\" || process.env.VITEST === \"true\";\n}\n\nfunction maybeReportEarlyRuntimeEnvAccess(): void {\n\tif (processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_FINALIZED__) {\n\t\treturn;\n\t}\n\tconst message =\n\t\t\"defaultRuntimeEnv() was read before loadAndFinalizeEnv() completed. \" +\n\t\t\"Bootstrap entry points must finish dotenv loading and security scrubbing before runtime env snapshots are created.\";\n\tif (process.env.MAESTRO_RUNTIME_ENV_STRICT_BOOTSTRAP === \"1\") {\n\t\tthrow new Error(message);\n\t}\n\tif (\n\t\tisTestProcess() ||\n\t\tprocessWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__\n\t) {\n\t\treturn;\n\t}\n\tprocessWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__ = true;\n\tconsole.warn(`[maestro] ${message}`);\n}\n\n/**\n * Return the process-wide snapshot of `process.env`.\n *\n * Builds the snapshot lazily on first call so the timing of module load\n * doesn't matter — by the time anything calls this, env has finished\n * settling (CLI argv parsed, dotenv loaded, vitest setup files run). The\n * returned object is frozen and shared.\n *\n * Library code that's been migrated to the substrate should *not* call\n * this directly; it should accept a `RuntimeEnv` parameter. This export\n * exists as the bootstrap entry point and as a compatibility shim during\n * the migration.\n */\nexport function defaultRuntimeEnv(): RuntimeEnv {\n\tmaybeReportEarlyRuntimeEnvAccess();\n\tif (!processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__) {\n\t\tprocessWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__ =\n\t\t\tcreateRuntimeEnv(process.env);\n\t}\n\treturn processWithRuntimeEnvCache.__MAESTRO_DEFAULT_RUNTIME_ENV__;\n}\n\nexport function markRuntimeEnvFinalized(): void {\n\tprocessWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_FINALIZED__ = true;\n\tReflect.deleteProperty(\n\t\tprocessWithRuntimeEnvCache,\n\t\t\"__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__\",\n\t);\n}\n\nexport function isRuntimeEnvFinalized(): boolean {\n\treturn processWithRuntimeEnvCache.__MAESTRO_RUNTIME_ENV_FINALIZED__ === true;\n}\n\n/**\n * Drop the cached default snapshot so the next `defaultRuntimeEnv()` call\n * re-reads `process.env`.\n *\n * Prefer constructing a `RuntimeEnv` with `createRuntimeEnv` and injecting it.\n * This reset is reserved for process bootstrap paths that intentionally mutate\n * `process.env` before handing control to migrated modules.\n */\nexport function resetDefaultRuntimeEnv(): void {\n\tReflect.deleteProperty(\n\t\tprocessWithRuntimeEnvCache,\n\t\t\"__MAESTRO_DEFAULT_RUNTIME_ENV__\",\n\t);\n}\n\nexport function resetDefaultRuntimeEnvForTests(): void {\n\tresetDefaultRuntimeEnv();\n\tReflect.deleteProperty(\n\t\tprocessWithRuntimeEnvCache,\n\t\t\"__MAESTRO_RUNTIME_ENV_FINALIZED__\",\n\t);\n\tReflect.deleteProperty(\n\t\tprocessWithRuntimeEnvCache,\n\t\t\"__MAESTRO_RUNTIME_ENV_EARLY_ACCESS_WARNED__\",\n\t);\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-queue.d.ts","sourceRoot":"","sources":["../../src/runtime/prompt-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAEzD,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GACzB;IACA,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACpB,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC;AAE1D,MAAM,WAAW,mBAAmB;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,qBAAa,WAAW;IAOtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAIvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAVhC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,SAAS,CAAgD;gBAG/C,MAAM,EAAE,CACxB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,UAAU,EAAE,KACtB,OAAO,CAAC,IAAI,CAAC,EACD,aAAa,CAAC,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,aAAA;IAG1D,OAAO,CACN,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,IAAI,GAAE,UAAqB,GACzB,YAAY;IAIf,YAAY,CACX,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,UAAU,EAAE,EAC1B,IAAI,GAAE,UAAqB,GACzB,YAAY;IAIf,OAAO,CAAC,eAAe;IA6BvB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAUvC;;;;;;OAMG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,YAAY,EAAE;IAWzD,WAAW,IAAI,mBAAmB;IAOlC;;;OAGG;IACH,WAAW,IAAI,IAAI;IAInB,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;YAOpD,OAAO;IAwBrB,OAAO,CAAC,IAAI;CAKZ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-queue.js","sourceRoot":"","sources":["../../src/runtime/prompt-queue.ts"],"names":[],"mappings":"AAiCA,MAAM,OAAO,WAAW;IAMvB,YACkB,MAGC,EACD,aAAwC;QAJxC,WAAM,GAAN,MAAM,CAGL;QACD,kBAAa,GAAb,aAAa,CAA2B;QAVlD,YAAO,GAAmB,EAAE,CAAC;QAC7B,WAAM,GAAwB,IAAI,CAAC;QACnC,WAAM,GAAG,CAAC,CAAC;QACX,cAAS,GAAG,IAAI,GAAG,EAAqC,CAAC;IAQ9D,CAAC;IAEJ,OAAO,CACN,IAAY,EACZ,WAA0B,EAC1B,OAAmB,QAAQ;QAE3B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,YAAY,CACX,IAAY,EACZ,WAA0B,EAC1B,OAAmB,QAAQ;QAE3B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAEO,eAAe,CACtB,IAAY,EACZ,WAAqC,EACrC,IAAgB,EAChB,QAA0B;QAE1B,MAAM,KAAK,GAAiB;YAC3B,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE;YACjB,IAAI;YACJ,WAAW;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI;SACJ,CAAC;QACF,MAAM,kBAAkB,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;QACrE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,SAAS;YACf,KAAK;YACL,kBAAkB;YAClB,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;SACjC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,CAAC,EAAU;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACb,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,OAA8B;QACvC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YACtB,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,WAAW;QACV,OAAO;YACN,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS;YAChC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,WAAW;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,QAA2C;QACpD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACX,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,OAAO;QACpB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,OAAO;QACR,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO;QACR,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACF,CAAC;IAEO,IAAI,CAAC,KAAuB;QACnC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACvC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;IACF,CAAC;CACD","sourcesContent":["import type { Attachment } from \"../agent/types.js\";\n\nexport type PromptKind = \"prompt\" | \"steer\" | \"followUp\";\n\nexport interface PromptPayload {\n\ttext: string;\n\tattachments?: Attachment[];\n\tkind?: PromptKind;\n}\n\nexport interface QueuedPrompt extends PromptPayload {\n\tid: number;\n\tcreatedAt: number;\n\tkind: PromptKind;\n}\n\nexport type PromptQueueEvent =\n\t| {\n\t\t\ttype: \"enqueue\";\n\t\t\tentry: QueuedPrompt;\n\t\t\twillRunImmediately: boolean;\n\t\t\tpendingCount: number;\n\t }\n\t| { type: \"start\"; entry: QueuedPrompt }\n\t| { type: \"finish\"; entry: QueuedPrompt }\n\t| { type: \"cancel\"; entry: QueuedPrompt }\n\t| { type: \"error\"; entry: QueuedPrompt; error: unknown };\n\nexport interface PromptQueueSnapshot {\n\tactive?: QueuedPrompt;\n\tpending: QueuedPrompt[];\n}\n\nexport class PromptQueue {\n\tprivate pending: QueuedPrompt[] = [];\n\tprivate active: QueuedPrompt | null = null;\n\tprivate nextId = 1;\n\tprivate listeners = new Set<(event: PromptQueueEvent) => void>();\n\n\tconstructor(\n\t\tprivate readonly runner: (\n\t\t\ttext: string,\n\t\t\tattachments?: Attachment[],\n\t\t) => Promise<void>,\n\t\tprivate readonly onRunnerError?: (error: unknown) => void,\n\t) {}\n\n\tenqueue(\n\t\ttext: string,\n\t\tattachments?: Attachment[],\n\t\tkind: PromptKind = \"prompt\",\n\t): QueuedPrompt {\n\t\treturn this.enqueueInternal(text, attachments, kind, \"back\");\n\t}\n\n\tenqueueFront(\n\t\ttext: string,\n\t\tattachments?: Attachment[],\n\t\tkind: PromptKind = \"prompt\",\n\t): QueuedPrompt {\n\t\treturn this.enqueueInternal(text, attachments, kind, \"front\");\n\t}\n\n\tprivate enqueueInternal(\n\t\ttext: string,\n\t\tattachments: Attachment[] | undefined,\n\t\tkind: PromptKind,\n\t\tposition: \"front\" | \"back\",\n\t): QueuedPrompt {\n\t\tconst entry: QueuedPrompt = {\n\t\t\tid: this.nextId++,\n\t\t\ttext,\n\t\t\tattachments,\n\t\t\tcreatedAt: Date.now(),\n\t\t\tkind,\n\t\t};\n\t\tconst willRunImmediately = !this.active && this.pending.length === 0;\n\t\tif (position === \"front\") {\n\t\t\tthis.pending.unshift(entry);\n\t\t} else {\n\t\t\tthis.pending.push(entry);\n\t\t}\n\t\tthis.emit({\n\t\t\ttype: \"enqueue\",\n\t\t\tentry,\n\t\t\twillRunImmediately,\n\t\t\tpendingCount: this.pending.length,\n\t\t});\n\t\tvoid this.process();\n\t\treturn entry;\n\t}\n\n\tcancel(id: number): QueuedPrompt | null {\n\t\tconst index = this.pending.findIndex((entry) => entry.id === id);\n\t\tif (index === -1) {\n\t\t\treturn null;\n\t\t}\n\t\tconst entry = this.pending.splice(index, 1)[0]!;\n\t\tthis.emit({ type: \"cancel\", entry });\n\t\treturn entry;\n\t}\n\n\t/**\n\t * Cancel all pending prompts in the queue.\n\t * @param options.silent - When true, suppresses cancel event emissions.\n\t * Useful for internal state cleanup (e.g., interrupt restore)\n\t * where external notifications are not needed.\n\t * @returns Array of cancelled prompt entries\n\t */\n\tcancelAll(options?: { silent?: boolean }): QueuedPrompt[] {\n\t\tconst cancelled = [...this.pending];\n\t\tthis.pending = [];\n\t\tif (!options?.silent) {\n\t\t\tfor (const entry of cancelled) {\n\t\t\t\tthis.emit({ type: \"cancel\", entry });\n\t\t\t}\n\t\t}\n\t\treturn cancelled;\n\t}\n\n\tgetSnapshot(): PromptQueueSnapshot {\n\t\treturn {\n\t\t\tactive: this.active ?? undefined,\n\t\t\tpending: [...this.pending],\n\t\t};\n\t}\n\n\t/**\n\t * Clears the currently active prompt without emitting events.\n\t * Note: This method does not emit events by design.\n\t */\n\tclearActive(): void {\n\t\tthis.active = null;\n\t}\n\n\tsubscribe(listener: (event: PromptQueueEvent) => void): () => void {\n\t\tthis.listeners.add(listener);\n\t\treturn () => {\n\t\t\tthis.listeners.delete(listener);\n\t\t};\n\t}\n\n\tprivate async process(): Promise<void> {\n\t\tif (this.active || this.pending.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst next = this.pending.shift();\n\t\tif (!next) {\n\t\t\treturn;\n\t\t}\n\t\tthis.active = next;\n\t\tthis.emit({ type: \"start\", entry: next });\n\t\ttry {\n\t\t\tawait this.runner(next.text, next.attachments);\n\t\t\tthis.emit({ type: \"finish\", entry: next });\n\t\t} catch (error) {\n\t\t\tif (this.onRunnerError) {\n\t\t\t\tthis.onRunnerError(error);\n\t\t\t}\n\t\t\tthis.emit({ type: \"error\", entry: next, error });\n\t\t} finally {\n\t\t\tthis.active = null;\n\t\t\tawait this.process();\n\t\t}\n\t}\n\n\tprivate emit(event: PromptQueueEvent): void {\n\t\tfor (const listener of this.listeners) {\n\t\t\tlistener(event);\n\t\t}\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/safety/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/safety/policy.ts"],"names":[],"mappings":"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"}
@@ -100,7 +100,7 @@ import { Type } from "@sinclair/typebox";
100
100
  import { parse as parseTOML } from "smol-toml";
101
101
  import { PATHS } from "../config/constants.js";
102
102
  import { extractDependencies } from "../utils/dependency-extractor.js";
103
- import { safeJsonParse } from "../utils/json.js";
103
+ import { isRecord, safeJsonParse } from "../utils/json.js";
104
104
  import { createLogger } from "../utils/logger.js";
105
105
  import { getHomeDir, resolveEnvPath } from "../utils/path-expansion.js";
106
106
  import { uniquePaths } from "../utils/path-utils.js";
@@ -186,9 +186,6 @@ let cachedPolicy = null;
186
186
  let cachedPolicyKey = null;
187
187
  let cachedPolicyLayers = [];
188
188
  let policyWatchers = [];
189
- function isRecord(value) {
190
- return typeof value === "object" && value !== null && !Array.isArray(value);
191
- }
192
189
  function getPolicySources() {
193
190
  const sources = [];
194
191
  const userPolicyPath = getEffectiveUserPolicyPath();