@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":"network-governance-api.js","sourceRoot":"","sources":["../../src/app-server/network-governance-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { request as requestHttp } from \"node:http\";\nimport { request as requestHttps } from \"node:https\";\nimport { Readable } from \"node:stream\";\nimport type {\n\tMaestroAppServerNetworkAuditListResult,\n\tMaestroAppServerNetworkAuditRecord,\n\tMaestroAppServerNetworkFetchResult,\n\tMaestroAppServerNetworkGovernanceStatus,\n} from \"@evalops/contracts\";\nimport { type EnterprisePolicy, loadPolicy } from \"../safety/policy.js\";\nimport { checkNetworkRestrictionsDetailed } from \"../safety/validators/network-policy-validator.js\";\n\ntype UnknownRecord = Record<string, unknown>;\ninterface NetworkFetchBinding {\n\toriginalHost?: string;\n\tresolvedAddress?: string;\n\tresolvedAddresses?: string[];\n}\ntype FetchLike = (\n\tinput: string,\n\tinit?: RequestInit,\n\tbinding?: NetworkFetchBinding,\n) => Promise<Response>;\n\nconst DEFAULT_MAX_RESPONSE_BYTES = 1024 * 1024;\nconst DEFAULT_MAX_AUDIT_RECORDS = 100;\nconst DEFAULT_PINNED_ADDRESS_TIMEOUT_MS = 30_000;\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 100;\nconst IDEMPOTENT_HTTP_METHODS = new Set([\n\t\"GET\",\n\t\"HEAD\",\n\t\"OPTIONS\",\n\t\"TRACE\",\n\t\"PUT\",\n\t\"DELETE\",\n]);\n\nexport class MaestroAppServerNetworkGovernanceError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerNetworkGovernanceError\";\n\t}\n}\n\nexport interface MaestroAppServerNetworkGovernanceOptions {\n\tfetchImpl?: FetchLike;\n\tmaxResponseBytes?: number;\n\tmaxAuditRecords?: number;\n\tpinnedAddressTimeoutMs?: number;\n}\n\nexport interface MaestroAppServerNetworkGovernance {\n\tfetch(params?: UnknownRecord): Promise<MaestroAppServerNetworkFetchResult>;\n\tlistAudit(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerNetworkAuditListResult>;\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction normalizeLimit(value: unknown): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn DEFAULT_PAGE_LIMIT;\n\t}\n\treturn Math.min(MAX_PAGE_LIMIT, Math.max(1, Math.trunc(value)));\n}\n\nfunction normalizePositiveInteger(value: unknown, fallback: number): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn fallback;\n\t}\n\treturn Math.max(1, Math.trunc(value));\n}\n\nfunction readOptionalString(value: unknown, field: string): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t`Invalid ${field}`,\n\t\t);\n\t}\n\treturn value;\n}\n\nfunction requireUrl(params: UnknownRecord): URL {\n\tconst rawUrl = readOptionalString(params.url, \"url\");\n\tif (!rawUrl) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Missing url\");\n\t}\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(rawUrl);\n\t} catch {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid url\");\n\t}\n\tif (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"Only http and https URLs are supported\",\n\t\t);\n\t}\n\treturn parsed;\n}\n\nfunction normalizeMethod(value: unknown): string {\n\tconst method = readOptionalString(value, \"method\") ?? \"GET\";\n\tconst normalized = method.trim().toUpperCase();\n\tif (!/^[A-Z]+$/.test(normalized)) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid method\");\n\t}\n\treturn normalized;\n}\n\nfunction isIdempotentMethod(method: string | undefined): boolean {\n\treturn IDEMPOTENT_HTTP_METHODS.has((method ?? \"GET\").trim().toUpperCase());\n}\n\nfunction normalizeHeaders(value: unknown): Record<string, string> | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid headers\");\n\t}\n\tconst headers: Record<string, string> = {};\n\tfor (const [key, headerValue] of Object.entries(value)) {\n\t\tif (typeof headerValue !== \"string\") {\n\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t-32602,\n\t\t\t\t\"Invalid headers\",\n\t\t\t);\n\t\t}\n\t\theaders[key] = headerValue;\n\t}\n\treturn headers;\n}\n\nfunction normalizeBody(value: unknown): Uint8Array | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"Invalid bodyBase64\",\n\t\t);\n\t}\n\tif (\n\t\t!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(\n\t\t\tvalue,\n\t\t)\n\t) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"bodyBase64 must be valid base64\",\n\t\t);\n\t}\n\tconst decoded = Buffer.from(value, \"base64\");\n\tif (decoded.toString(\"base64\") !== value) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"bodyBase64 must be canonical base64\",\n\t\t);\n\t}\n\treturn decoded;\n}\n\nfunction responseHeadersToRecord(headers: Headers): Record<string, string> {\n\tconst record: Record<string, string> = {};\n\tfor (const [key, value] of headers.entries()) {\n\t\tconst normalizedKey = key.toLowerCase();\n\t\tconst existing = record[normalizedKey];\n\t\trecord[normalizedKey] =\n\t\t\texisting === undefined ? value : `${existing}\\n${value}`;\n\t}\n\treturn record;\n}\n\nfunction nowIso(): string {\n\treturn new Date().toISOString();\n}\n\nfunction redactAuditUrl(url: URL): string {\n\tconst redacted = new URL(url.toString());\n\tredacted.username = \"\";\n\tredacted.password = \"\";\n\treturn redacted.toString();\n}\n\nfunction urlWithoutCredentials(url: URL): URL {\n\tconst credentialless = new URL(url.toString());\n\tcredentialless.username = \"\";\n\tcredentialless.password = \"\";\n\treturn credentialless;\n}\n\nfunction decodeUrlCredential(value: string): string {\n\ttry {\n\t\treturn decodeURIComponent(value);\n\t} catch {\n\t\treturn value;\n\t}\n}\n\nfunction applyUrlCredentials(url: URL, headers: Headers): void {\n\tif ((!url.username && !url.password) || headers.has(\"authorization\")) {\n\t\treturn;\n\t}\n\tconst credentials = `${decodeUrlCredential(url.username)}:${decodeUrlCredential(\n\t\turl.password,\n\t)}`;\n\theaders.set(\n\t\t\"authorization\",\n\t\t`Basic ${Buffer.from(credentials, \"utf8\").toString(\"base64\")}`,\n\t);\n}\n\nfunction createAuditRecord(input: {\n\tmethod: string;\n\turl: URL;\n\tallowed: boolean;\n\tstatus: MaestroAppServerNetworkGovernanceStatus;\n\tstartedAt: string;\n\treason?: string;\n\tstatusCode?: number;\n}): MaestroAppServerNetworkAuditRecord {\n\treturn {\n\t\tid: randomUUID(),\n\t\tmethod: input.method,\n\t\turl: redactAuditUrl(input.url),\n\t\thost: input.url.hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\"),\n\t\tallowed: input.allowed,\n\t\tstatus: input.status,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.statusCode !== undefined ? { statusCode: input.statusCode } : {}),\n\t\tstartedAt: input.startedAt,\n\t\tcompletedAt: nowIso(),\n\t};\n}\n\nfunction cloneAuditRecord(\n\trecord: MaestroAppServerNetworkAuditRecord,\n): MaestroAppServerNetworkAuditRecord {\n\treturn { ...record };\n}\n\nfunction headersToRecord(headers: Headers): Record<string, string> {\n\tconst record: Record<string, string> = {};\n\tfor (const [key, value] of headers.entries()) {\n\t\trecord[key] = value;\n\t}\n\treturn record;\n}\n\nfunction responseHeadersFromNode(\n\theaders: Record<string, string | string[] | undefined>,\n): Headers {\n\tconst responseHeaders = new Headers();\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tresponseHeaders.append(key, entry);\n\t\t\t}\n\t\t} else if (value !== undefined) {\n\t\t\tresponseHeaders.set(key, value);\n\t\t}\n\t}\n\treturn responseHeaders;\n}\n\nexport async function fetchWithPinnedAddress(\n\tinput: string,\n\tinit: RequestInit | undefined,\n\tbinding: NetworkFetchBinding = {},\n\tpinnedAddressTimeoutMs = DEFAULT_PINNED_ADDRESS_TIMEOUT_MS,\n): Promise<Response> {\n\tconst resolvedAddresses =\n\t\tbinding.resolvedAddresses && binding.resolvedAddresses.length > 0\n\t\t\t? binding.resolvedAddresses\n\t\t\t: binding.resolvedAddress\n\t\t\t\t? [binding.resolvedAddress]\n\t\t\t\t: [];\n\tif (resolvedAddresses.length === 0) {\n\t\tconst url = new URL(input);\n\t\tif (!url.username && !url.password) {\n\t\t\treturn globalThis.fetch(input, init);\n\t\t}\n\t\tconst requestHeaders = new Headers(init?.headers);\n\t\tapplyUrlCredentials(url, requestHeaders);\n\t\treturn globalThis.fetch(urlWithoutCredentials(url).toString(), {\n\t\t\t...init,\n\t\t\theaders: requestHeaders,\n\t\t});\n\t}\n\tconst addressesToTry = isIdempotentMethod(init?.method)\n\t\t? resolvedAddresses\n\t\t: resolvedAddresses.slice(0, 1);\n\tlet lastError: unknown;\n\tfor (const resolvedAddress of addressesToTry) {\n\t\ttry {\n\t\t\treturn await fetchWithSinglePinnedAddress(\n\t\t\t\tinput,\n\t\t\t\tinit,\n\t\t\t\t{\n\t\t\t\t\t...binding,\n\t\t\t\t\tresolvedAddress,\n\t\t\t\t},\n\t\t\t\tpinnedAddressTimeoutMs,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlastError = error;\n\t\t}\n\t}\n\tthrow lastError instanceof Error\n\t\t? lastError\n\t\t: new Error(\"Network request failed\");\n}\n\nasync function fetchWithSinglePinnedAddress(\n\tinput: string,\n\tinit: RequestInit | undefined,\n\tbinding: Required<Pick<NetworkFetchBinding, \"resolvedAddress\">> &\n\t\tNetworkFetchBinding,\n\tpinnedAddressTimeoutMs: number,\n): Promise<Response> {\n\tconst url = new URL(input);\n\tconst requestHeaders = new Headers(init?.headers);\n\tapplyUrlCredentials(url, requestHeaders);\n\trequestHeaders.set(\"host\", url.host);\n\tconst transport = url.protocol === \"https:\" ? requestHttps : requestHttp;\n\tconst method = init?.method ?? \"GET\";\n\n\treturn new Promise<Response>((resolve, reject) => {\n\t\tlet settled = false;\n\t\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\t\tlet abortListener: (() => void) | undefined;\n\t\tconst signal = init?.signal;\n\t\tconst timeoutMessage = `Pinned network request to ${binding.resolvedAddress} timed out after ${pinnedAddressTimeoutMs}ms`;\n\t\tconst cleanup = () => {\n\t\t\tif (timeout) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\ttimeout = undefined;\n\t\t\t}\n\t\t\tif (signal && abortListener) {\n\t\t\t\tsignal.removeEventListener(\"abort\", abortListener);\n\t\t\t\tabortListener = undefined;\n\t\t\t}\n\t\t};\n\t\tconst finishResolve = (response: Response) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tcleanup();\n\t\t\tresolve(response);\n\t\t};\n\t\tconst finishReject = (error: Error) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tcleanup();\n\t\t\treject(error);\n\t\t};\n\t\tconst request = transport(\n\t\t\t{\n\t\t\t\thostname: binding.resolvedAddress,\n\t\t\t\tmethod,\n\t\t\t\tpath: `${url.pathname}${url.search}`,\n\t\t\t\tport: url.port ? Number(url.port) : undefined,\n\t\t\t\theaders: headersToRecord(requestHeaders),\n\t\t\t\t...(url.protocol === \"https:\"\n\t\t\t\t\t? { servername: binding.originalHost ?? url.hostname }\n\t\t\t\t\t: {}),\n\t\t\t},\n\t\t\t(response) => {\n\t\t\t\tfinishResolve(\n\t\t\t\t\tnew Response(Readable.toWeb(response) as ReadableStream<Uint8Array>, {\n\t\t\t\t\t\tstatus: response.statusCode ?? 500,\n\t\t\t\t\t\tstatusText: response.statusMessage,\n\t\t\t\t\t\theaders: responseHeadersFromNode(response.headers),\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\t\trequest.on(\"error\", finishReject);\n\t\trequest.setTimeout(pinnedAddressTimeoutMs, () => {\n\t\t\trequest.destroy(new Error(timeoutMessage));\n\t\t});\n\t\ttimeout = setTimeout(() => {\n\t\t\trequest.destroy(new Error(timeoutMessage));\n\t\t}, pinnedAddressTimeoutMs);\n\t\ttimeout.unref?.();\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\tconst error = new Error(\"Request aborted\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tabortListener = () => {\n\t\t\t\tconst error = new Error(\"Request aborted\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t};\n\t\t\tsignal.addEventListener(\"abort\", abortListener, { once: true });\n\t\t}\n\t\tconst body = init?.body;\n\t\tif (body !== undefined && body !== null) {\n\t\t\tif (\n\t\t\t\ttypeof body === \"string\" ||\n\t\t\t\tbody instanceof Uint8Array ||\n\t\t\t\tbody instanceof ArrayBuffer\n\t\t\t) {\n\t\t\t\trequest.write(body instanceof ArrayBuffer ? Buffer.from(body) : body);\n\t\t\t} else {\n\t\t\t\tconst error = new Error(\"Unsupported request body\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\trequest.end();\n\t});\n}\n\nasync function readResponseBytes(\n\tresponse: Response,\n\tmaxResponseBytes: number,\n): Promise<Buffer> {\n\tif (!response.body) {\n\t\treturn Buffer.from(await response.arrayBuffer());\n\t}\n\n\tconst reader = response.body.getReader();\n\tconst chunks: Buffer[] = [];\n\tlet totalBytes = 0;\n\ttry {\n\t\tfor (;;) {\n\t\t\tconst { done, value } = await reader.read();\n\t\t\tif (done) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!value) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttotalBytes += value.byteLength;\n\t\t\tif (totalBytes > maxResponseBytes) {\n\t\t\t\tawait reader.cancel().catch(() => undefined);\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Response body exceeds ${maxResponseBytes} byte network proxy limit`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tchunks.push(Buffer.from(value));\n\t\t}\n\t} finally {\n\t\treader.releaseLock();\n\t}\n\treturn Buffer.concat(chunks, totalBytes);\n}\n\nasync function evaluateNetworkPolicy(url: URL): Promise<{\n\tallowed: boolean;\n\treason?: string;\n\toriginalHost?: string;\n\tresolvedAddress?: string;\n\tresolvedAddresses?: string[];\n}> {\n\tlet policy: EnterprisePolicy | null;\n\ttry {\n\t\tpolicy = loadPolicy();\n\t} catch (error) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\treason: `Failed to load managed policy: ${error instanceof Error ? error.message : \"unknown error\"}`,\n\t\t};\n\t}\n\tif (!policy?.network) {\n\t\treturn { allowed: true };\n\t}\n\tconst check = await checkNetworkRestrictionsDetailed(\n\t\turl.toString(),\n\t\tpolicy.network,\n\t);\n\treturn {\n\t\tallowed: check.allowed,\n\t\t...(check.reason ? { reason: check.reason } : {}),\n\t\t...(check.normalizedHost ? { originalHost: check.normalizedHost } : {}),\n\t\t...(check.resolvedIPs[0] ? { resolvedAddress: check.resolvedIPs[0] } : {}),\n\t\t...(check.resolvedIPs.length > 0\n\t\t\t? { resolvedAddresses: [...check.resolvedIPs] }\n\t\t\t: {}),\n\t};\n}\n\nexport function createMaestroAppServerNetworkGovernance(\n\toptions: MaestroAppServerNetworkGovernanceOptions = {},\n): MaestroAppServerNetworkGovernance {\n\tconst pinnedAddressTimeoutMs = normalizePositiveInteger(\n\t\toptions.pinnedAddressTimeoutMs,\n\t\tDEFAULT_PINNED_ADDRESS_TIMEOUT_MS,\n\t);\n\tconst fetchImpl =\n\t\toptions.fetchImpl ??\n\t\t((input, init, binding) =>\n\t\t\tfetchWithPinnedAddress(input, init, binding, pinnedAddressTimeoutMs));\n\tconst maxResponseBytes = normalizePositiveInteger(\n\t\toptions.maxResponseBytes,\n\t\tDEFAULT_MAX_RESPONSE_BYTES,\n\t);\n\tconst maxAuditRecords = normalizePositiveInteger(\n\t\toptions.maxAuditRecords,\n\t\tDEFAULT_MAX_AUDIT_RECORDS,\n\t);\n\tconst audit: MaestroAppServerNetworkAuditRecord[] = [];\n\n\tfunction recordAudit(record: MaestroAppServerNetworkAuditRecord): void {\n\t\taudit.push(record);\n\t\tif (audit.length > maxAuditRecords) {\n\t\t\taudit.splice(0, audit.length - maxAuditRecords);\n\t\t}\n\t}\n\n\treturn {\n\t\tasync fetch(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Invalid params\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst url = requireUrl(params);\n\t\t\tconst method = normalizeMethod(params.method);\n\t\t\tconst headers = normalizeHeaders(params.headers);\n\t\t\tconst body = normalizeBody(params.bodyBase64);\n\t\t\tconst startedAt = nowIso();\n\n\t\t\tconst policyCheck = await evaluateNetworkPolicy(url);\n\t\t\tif (!policyCheck.allowed) {\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: false,\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\treason: policyCheck.reason,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: false,\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\t...(policyCheck.reason ? { reason: policyCheck.reason } : {}),\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst response = await fetchImpl(\n\t\t\t\t\turl.toString(),\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\tredirect: \"manual\",\n\t\t\t\t\t\t...(headers ? { headers } : {}),\n\t\t\t\t\t\t...(body ? { body } : {}),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\toriginalHost: policyCheck.originalHost,\n\t\t\t\t\t\tresolvedAddress: policyCheck.resolvedAddress,\n\t\t\t\t\t\tresolvedAddresses: policyCheck.resolvedAddresses,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst bytes = await readResponseBytes(response, maxResponseBytes);\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"allowed\",\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"allowed\",\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\theaders: responseHeadersToRecord(response.headers),\n\t\t\t\t\tbodyBase64: bytes.toString(\"base64\"),\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tconst reason =\n\t\t\t\t\terror instanceof Error ? error.message : \"Network request failed\";\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\treason,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\treason,\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\n\t\tasync listAudit(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Invalid params\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\treturn {\n\t\t\t\taudit: audit.slice(-limit).map(cloneAuditRecord),\n\t\t\t\tnextCursor: null,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"file":"network-governance-api.js","sourceRoot":"","sources":["../../src/app-server/network-governance-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { request as requestHttp } from \"node:http\";\nimport { request as requestHttps } from \"node:https\";\nimport { Readable } from \"node:stream\";\nimport type {\n\tMaestroAppServerNetworkAuditListResult,\n\tMaestroAppServerNetworkAuditRecord,\n\tMaestroAppServerNetworkFetchResult,\n\tMaestroAppServerNetworkGovernanceStatus,\n} from \"@evalops/contracts\";\nimport { type EnterprisePolicy, loadPolicy } from \"../safety/policy.js\";\nimport { checkNetworkRestrictionsDetailed } from \"../safety/validators/network-policy-validator.js\";\nimport { isRecord } from \"../utils/json.js\";\n\ntype UnknownRecord = Record<string, unknown>;\ninterface NetworkFetchBinding {\n\toriginalHost?: string;\n\tresolvedAddress?: string;\n\tresolvedAddresses?: string[];\n}\ntype FetchLike = (\n\tinput: string,\n\tinit?: RequestInit,\n\tbinding?: NetworkFetchBinding,\n) => Promise<Response>;\n\nconst DEFAULT_MAX_RESPONSE_BYTES = 1024 * 1024;\nconst DEFAULT_MAX_AUDIT_RECORDS = 100;\nconst DEFAULT_PINNED_ADDRESS_TIMEOUT_MS = 30_000;\nconst DEFAULT_PAGE_LIMIT = 50;\nconst MAX_PAGE_LIMIT = 100;\nconst IDEMPOTENT_HTTP_METHODS = new Set([\n\t\"GET\",\n\t\"HEAD\",\n\t\"OPTIONS\",\n\t\"TRACE\",\n\t\"PUT\",\n\t\"DELETE\",\n]);\n\nexport class MaestroAppServerNetworkGovernanceError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerNetworkGovernanceError\";\n\t}\n}\n\nexport interface MaestroAppServerNetworkGovernanceOptions {\n\tfetchImpl?: FetchLike;\n\tmaxResponseBytes?: number;\n\tmaxAuditRecords?: number;\n\tpinnedAddressTimeoutMs?: number;\n}\n\nexport interface MaestroAppServerNetworkGovernance {\n\tfetch(params?: UnknownRecord): Promise<MaestroAppServerNetworkFetchResult>;\n\tlistAudit(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerNetworkAuditListResult>;\n}\n\nfunction normalizeLimit(value: unknown): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn DEFAULT_PAGE_LIMIT;\n\t}\n\treturn Math.min(MAX_PAGE_LIMIT, Math.max(1, Math.trunc(value)));\n}\n\nfunction normalizePositiveInteger(value: unknown, fallback: number): number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value)) {\n\t\treturn fallback;\n\t}\n\treturn Math.max(1, Math.trunc(value));\n}\n\nfunction readOptionalString(value: unknown, field: string): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t`Invalid ${field}`,\n\t\t);\n\t}\n\treturn value;\n}\n\nfunction requireUrl(params: UnknownRecord): URL {\n\tconst rawUrl = readOptionalString(params.url, \"url\");\n\tif (!rawUrl) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Missing url\");\n\t}\n\tlet parsed: URL;\n\ttry {\n\t\tparsed = new URL(rawUrl);\n\t} catch {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid url\");\n\t}\n\tif (parsed.protocol !== \"http:\" && parsed.protocol !== \"https:\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"Only http and https URLs are supported\",\n\t\t);\n\t}\n\treturn parsed;\n}\n\nfunction normalizeMethod(value: unknown): string {\n\tconst method = readOptionalString(value, \"method\") ?? \"GET\";\n\tconst normalized = method.trim().toUpperCase();\n\tif (!/^[A-Z]+$/.test(normalized)) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid method\");\n\t}\n\treturn normalized;\n}\n\nfunction isIdempotentMethod(method: string | undefined): boolean {\n\treturn IDEMPOTENT_HTTP_METHODS.has((method ?? \"GET\").trim().toUpperCase());\n}\n\nfunction normalizeHeaders(value: unknown): Record<string, string> | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(-32602, \"Invalid headers\");\n\t}\n\tconst headers: Record<string, string> = {};\n\tfor (const [key, headerValue] of Object.entries(value)) {\n\t\tif (typeof headerValue !== \"string\") {\n\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t-32602,\n\t\t\t\t\"Invalid headers\",\n\t\t\t);\n\t\t}\n\t\theaders[key] = headerValue;\n\t}\n\treturn headers;\n}\n\nfunction normalizeBody(value: unknown): Uint8Array | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"Invalid bodyBase64\",\n\t\t);\n\t}\n\tif (\n\t\t!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(\n\t\t\tvalue,\n\t\t)\n\t) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"bodyBase64 must be valid base64\",\n\t\t);\n\t}\n\tconst decoded = Buffer.from(value, \"base64\");\n\tif (decoded.toString(\"base64\") !== value) {\n\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t-32602,\n\t\t\t\"bodyBase64 must be canonical base64\",\n\t\t);\n\t}\n\treturn decoded;\n}\n\nfunction responseHeadersToRecord(headers: Headers): Record<string, string> {\n\tconst record: Record<string, string> = {};\n\tfor (const [key, value] of headers.entries()) {\n\t\tconst normalizedKey = key.toLowerCase();\n\t\tconst existing = record[normalizedKey];\n\t\trecord[normalizedKey] =\n\t\t\texisting === undefined ? value : `${existing}\\n${value}`;\n\t}\n\treturn record;\n}\n\nfunction nowIso(): string {\n\treturn new Date().toISOString();\n}\n\nfunction redactAuditUrl(url: URL): string {\n\tconst redacted = new URL(url.toString());\n\tredacted.username = \"\";\n\tredacted.password = \"\";\n\treturn redacted.toString();\n}\n\nfunction urlWithoutCredentials(url: URL): URL {\n\tconst credentialless = new URL(url.toString());\n\tcredentialless.username = \"\";\n\tcredentialless.password = \"\";\n\treturn credentialless;\n}\n\nfunction decodeUrlCredential(value: string): string {\n\ttry {\n\t\treturn decodeURIComponent(value);\n\t} catch {\n\t\treturn value;\n\t}\n}\n\nfunction applyUrlCredentials(url: URL, headers: Headers): void {\n\tif ((!url.username && !url.password) || headers.has(\"authorization\")) {\n\t\treturn;\n\t}\n\tconst credentials = `${decodeUrlCredential(url.username)}:${decodeUrlCredential(\n\t\turl.password,\n\t)}`;\n\theaders.set(\n\t\t\"authorization\",\n\t\t`Basic ${Buffer.from(credentials, \"utf8\").toString(\"base64\")}`,\n\t);\n}\n\nfunction createAuditRecord(input: {\n\tmethod: string;\n\turl: URL;\n\tallowed: boolean;\n\tstatus: MaestroAppServerNetworkGovernanceStatus;\n\tstartedAt: string;\n\treason?: string;\n\tstatusCode?: number;\n}): MaestroAppServerNetworkAuditRecord {\n\treturn {\n\t\tid: randomUUID(),\n\t\tmethod: input.method,\n\t\turl: redactAuditUrl(input.url),\n\t\thost: input.url.hostname.toLowerCase().replace(/^\\[|\\]$/g, \"\"),\n\t\tallowed: input.allowed,\n\t\tstatus: input.status,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.statusCode !== undefined ? { statusCode: input.statusCode } : {}),\n\t\tstartedAt: input.startedAt,\n\t\tcompletedAt: nowIso(),\n\t};\n}\n\nfunction cloneAuditRecord(\n\trecord: MaestroAppServerNetworkAuditRecord,\n): MaestroAppServerNetworkAuditRecord {\n\treturn { ...record };\n}\n\nfunction headersToRecord(headers: Headers): Record<string, string> {\n\tconst record: Record<string, string> = {};\n\tfor (const [key, value] of headers.entries()) {\n\t\trecord[key] = value;\n\t}\n\treturn record;\n}\n\nfunction responseHeadersFromNode(\n\theaders: Record<string, string | string[] | undefined>,\n): Headers {\n\tconst responseHeaders = new Headers();\n\tfor (const [key, value] of Object.entries(headers)) {\n\t\tif (Array.isArray(value)) {\n\t\t\tfor (const entry of value) {\n\t\t\t\tresponseHeaders.append(key, entry);\n\t\t\t}\n\t\t} else if (value !== undefined) {\n\t\t\tresponseHeaders.set(key, value);\n\t\t}\n\t}\n\treturn responseHeaders;\n}\n\nexport async function fetchWithPinnedAddress(\n\tinput: string,\n\tinit: RequestInit | undefined,\n\tbinding: NetworkFetchBinding = {},\n\tpinnedAddressTimeoutMs = DEFAULT_PINNED_ADDRESS_TIMEOUT_MS,\n): Promise<Response> {\n\tconst resolvedAddresses =\n\t\tbinding.resolvedAddresses && binding.resolvedAddresses.length > 0\n\t\t\t? binding.resolvedAddresses\n\t\t\t: binding.resolvedAddress\n\t\t\t\t? [binding.resolvedAddress]\n\t\t\t\t: [];\n\tif (resolvedAddresses.length === 0) {\n\t\tconst url = new URL(input);\n\t\tif (!url.username && !url.password) {\n\t\t\treturn globalThis.fetch(input, init);\n\t\t}\n\t\tconst requestHeaders = new Headers(init?.headers);\n\t\tapplyUrlCredentials(url, requestHeaders);\n\t\treturn globalThis.fetch(urlWithoutCredentials(url).toString(), {\n\t\t\t...init,\n\t\t\theaders: requestHeaders,\n\t\t});\n\t}\n\tconst addressesToTry = isIdempotentMethod(init?.method)\n\t\t? resolvedAddresses\n\t\t: resolvedAddresses.slice(0, 1);\n\tlet lastError: unknown;\n\tfor (const resolvedAddress of addressesToTry) {\n\t\ttry {\n\t\t\treturn await fetchWithSinglePinnedAddress(\n\t\t\t\tinput,\n\t\t\t\tinit,\n\t\t\t\t{\n\t\t\t\t\t...binding,\n\t\t\t\t\tresolvedAddress,\n\t\t\t\t},\n\t\t\t\tpinnedAddressTimeoutMs,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tlastError = error;\n\t\t}\n\t}\n\tthrow lastError instanceof Error\n\t\t? lastError\n\t\t: new Error(\"Network request failed\");\n}\n\nasync function fetchWithSinglePinnedAddress(\n\tinput: string,\n\tinit: RequestInit | undefined,\n\tbinding: Required<Pick<NetworkFetchBinding, \"resolvedAddress\">> &\n\t\tNetworkFetchBinding,\n\tpinnedAddressTimeoutMs: number,\n): Promise<Response> {\n\tconst url = new URL(input);\n\tconst requestHeaders = new Headers(init?.headers);\n\tapplyUrlCredentials(url, requestHeaders);\n\trequestHeaders.set(\"host\", url.host);\n\tconst transport = url.protocol === \"https:\" ? requestHttps : requestHttp;\n\tconst method = init?.method ?? \"GET\";\n\n\treturn new Promise<Response>((resolve, reject) => {\n\t\tlet settled = false;\n\t\tlet timeout: ReturnType<typeof setTimeout> | undefined;\n\t\tlet abortListener: (() => void) | undefined;\n\t\tconst signal = init?.signal;\n\t\tconst timeoutMessage = `Pinned network request to ${binding.resolvedAddress} timed out after ${pinnedAddressTimeoutMs}ms`;\n\t\tconst cleanup = () => {\n\t\t\tif (timeout) {\n\t\t\t\tclearTimeout(timeout);\n\t\t\t\ttimeout = undefined;\n\t\t\t}\n\t\t\tif (signal && abortListener) {\n\t\t\t\tsignal.removeEventListener(\"abort\", abortListener);\n\t\t\t\tabortListener = undefined;\n\t\t\t}\n\t\t};\n\t\tconst finishResolve = (response: Response) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tcleanup();\n\t\t\tresolve(response);\n\t\t};\n\t\tconst finishReject = (error: Error) => {\n\t\t\tif (settled) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsettled = true;\n\t\t\tcleanup();\n\t\t\treject(error);\n\t\t};\n\t\tconst request = transport(\n\t\t\t{\n\t\t\t\thostname: binding.resolvedAddress,\n\t\t\t\tmethod,\n\t\t\t\tpath: `${url.pathname}${url.search}`,\n\t\t\t\tport: url.port ? Number(url.port) : undefined,\n\t\t\t\theaders: headersToRecord(requestHeaders),\n\t\t\t\t...(url.protocol === \"https:\"\n\t\t\t\t\t? { servername: binding.originalHost ?? url.hostname }\n\t\t\t\t\t: {}),\n\t\t\t},\n\t\t\t(response) => {\n\t\t\t\tfinishResolve(\n\t\t\t\t\tnew Response(Readable.toWeb(response) as ReadableStream<Uint8Array>, {\n\t\t\t\t\t\tstatus: response.statusCode ?? 500,\n\t\t\t\t\t\tstatusText: response.statusMessage,\n\t\t\t\t\t\theaders: responseHeadersFromNode(response.headers),\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t);\n\t\trequest.on(\"error\", finishReject);\n\t\trequest.setTimeout(pinnedAddressTimeoutMs, () => {\n\t\t\trequest.destroy(new Error(timeoutMessage));\n\t\t});\n\t\ttimeout = setTimeout(() => {\n\t\t\trequest.destroy(new Error(timeoutMessage));\n\t\t}, pinnedAddressTimeoutMs);\n\t\ttimeout.unref?.();\n\t\tif (signal) {\n\t\t\tif (signal.aborted) {\n\t\t\t\tconst error = new Error(\"Request aborted\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tabortListener = () => {\n\t\t\t\tconst error = new Error(\"Request aborted\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t};\n\t\t\tsignal.addEventListener(\"abort\", abortListener, { once: true });\n\t\t}\n\t\tconst body = init?.body;\n\t\tif (body !== undefined && body !== null) {\n\t\t\tif (\n\t\t\t\ttypeof body === \"string\" ||\n\t\t\t\tbody instanceof Uint8Array ||\n\t\t\t\tbody instanceof ArrayBuffer\n\t\t\t) {\n\t\t\t\trequest.write(body instanceof ArrayBuffer ? Buffer.from(body) : body);\n\t\t\t} else {\n\t\t\t\tconst error = new Error(\"Unsupported request body\");\n\t\t\t\trequest.destroy(error);\n\t\t\t\tfinishReject(error);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\trequest.end();\n\t});\n}\n\nasync function readResponseBytes(\n\tresponse: Response,\n\tmaxResponseBytes: number,\n): Promise<Buffer> {\n\tif (!response.body) {\n\t\treturn Buffer.from(await response.arrayBuffer());\n\t}\n\n\tconst reader = response.body.getReader();\n\tconst chunks: Buffer[] = [];\n\tlet totalBytes = 0;\n\ttry {\n\t\tfor (;;) {\n\t\t\tconst { done, value } = await reader.read();\n\t\t\tif (done) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (!value) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\ttotalBytes += value.byteLength;\n\t\t\tif (totalBytes > maxResponseBytes) {\n\t\t\t\tawait reader.cancel().catch(() => undefined);\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Response body exceeds ${maxResponseBytes} byte network proxy limit`,\n\t\t\t\t);\n\t\t\t}\n\t\t\tchunks.push(Buffer.from(value));\n\t\t}\n\t} finally {\n\t\treader.releaseLock();\n\t}\n\treturn Buffer.concat(chunks, totalBytes);\n}\n\nasync function evaluateNetworkPolicy(url: URL): Promise<{\n\tallowed: boolean;\n\treason?: string;\n\toriginalHost?: string;\n\tresolvedAddress?: string;\n\tresolvedAddresses?: string[];\n}> {\n\tlet policy: EnterprisePolicy | null;\n\ttry {\n\t\tpolicy = loadPolicy();\n\t} catch (error) {\n\t\treturn {\n\t\t\tallowed: false,\n\t\t\treason: `Failed to load managed policy: ${error instanceof Error ? error.message : \"unknown error\"}`,\n\t\t};\n\t}\n\tif (!policy?.network) {\n\t\treturn { allowed: true };\n\t}\n\tconst check = await checkNetworkRestrictionsDetailed(\n\t\turl.toString(),\n\t\tpolicy.network,\n\t);\n\treturn {\n\t\tallowed: check.allowed,\n\t\t...(check.reason ? { reason: check.reason } : {}),\n\t\t...(check.normalizedHost ? { originalHost: check.normalizedHost } : {}),\n\t\t...(check.resolvedIPs[0] ? { resolvedAddress: check.resolvedIPs[0] } : {}),\n\t\t...(check.resolvedIPs.length > 0\n\t\t\t? { resolvedAddresses: [...check.resolvedIPs] }\n\t\t\t: {}),\n\t};\n}\n\nexport function createMaestroAppServerNetworkGovernance(\n\toptions: MaestroAppServerNetworkGovernanceOptions = {},\n): MaestroAppServerNetworkGovernance {\n\tconst pinnedAddressTimeoutMs = normalizePositiveInteger(\n\t\toptions.pinnedAddressTimeoutMs,\n\t\tDEFAULT_PINNED_ADDRESS_TIMEOUT_MS,\n\t);\n\tconst fetchImpl =\n\t\toptions.fetchImpl ??\n\t\t((input, init, binding) =>\n\t\t\tfetchWithPinnedAddress(input, init, binding, pinnedAddressTimeoutMs));\n\tconst maxResponseBytes = normalizePositiveInteger(\n\t\toptions.maxResponseBytes,\n\t\tDEFAULT_MAX_RESPONSE_BYTES,\n\t);\n\tconst maxAuditRecords = normalizePositiveInteger(\n\t\toptions.maxAuditRecords,\n\t\tDEFAULT_MAX_AUDIT_RECORDS,\n\t);\n\tconst audit: MaestroAppServerNetworkAuditRecord[] = [];\n\n\tfunction recordAudit(record: MaestroAppServerNetworkAuditRecord): void {\n\t\taudit.push(record);\n\t\tif (audit.length > maxAuditRecords) {\n\t\t\taudit.splice(0, audit.length - maxAuditRecords);\n\t\t}\n\t}\n\n\treturn {\n\t\tasync fetch(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Invalid params\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst url = requireUrl(params);\n\t\t\tconst method = normalizeMethod(params.method);\n\t\t\tconst headers = normalizeHeaders(params.headers);\n\t\t\tconst body = normalizeBody(params.bodyBase64);\n\t\t\tconst startedAt = nowIso();\n\n\t\t\tconst policyCheck = await evaluateNetworkPolicy(url);\n\t\t\tif (!policyCheck.allowed) {\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: false,\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\treason: policyCheck.reason,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: false,\n\t\t\t\t\tstatus: \"blocked\",\n\t\t\t\t\t...(policyCheck.reason ? { reason: policyCheck.reason } : {}),\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst response = await fetchImpl(\n\t\t\t\t\turl.toString(),\n\t\t\t\t\t{\n\t\t\t\t\t\tmethod,\n\t\t\t\t\t\tredirect: \"manual\",\n\t\t\t\t\t\t...(headers ? { headers } : {}),\n\t\t\t\t\t\t...(body ? { body } : {}),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\toriginalHost: policyCheck.originalHost,\n\t\t\t\t\t\tresolvedAddress: policyCheck.resolvedAddress,\n\t\t\t\t\t\tresolvedAddresses: policyCheck.resolvedAddresses,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t\tconst bytes = await readResponseBytes(response, maxResponseBytes);\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"allowed\",\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"allowed\",\n\t\t\t\t\tstatusCode: response.status,\n\t\t\t\t\theaders: responseHeadersToRecord(response.headers),\n\t\t\t\t\tbodyBase64: bytes.toString(\"base64\"),\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tconst reason =\n\t\t\t\t\terror instanceof Error ? error.message : \"Network request failed\";\n\t\t\t\tconst auditRecord = createAuditRecord({\n\t\t\t\t\tmethod,\n\t\t\t\t\turl,\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\treason,\n\t\t\t\t\tstartedAt,\n\t\t\t\t});\n\t\t\t\trecordAudit(auditRecord);\n\t\t\t\treturn {\n\t\t\t\t\tallowed: true,\n\t\t\t\t\tstatus: \"failed\",\n\t\t\t\t\treason,\n\t\t\t\t\taudit: cloneAuditRecord(auditRecord),\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\n\t\tasync listAudit(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerNetworkGovernanceError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Invalid params\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst limit = normalizeLimit(params.limit);\n\t\t\treturn {\n\t\t\t\taudit: audit.slice(-limit).map(cloneAuditRecord),\n\t\t\t\tnextCursor: null,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-bundle-api.d.ts","sourceRoot":"","sources":["../../src/app-server/plugin-bundle-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sCAAsC,EACtC,0CAA0C,EAE1C,MAAM,oBAAoB,CAAC;AAgB5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,qBAAa,iCAAkC,SAAQ,KAAK;IAE1D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,+BAA+B;IAC/C,WAAW,CACV,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,aAAa,CACZ,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,YAAY,CACX,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,0CAA0C,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,sCAAsC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAmLD,wBAAgB,qCAAqC,CACpD,OAAO,GAAE,sCAA2C,GAClD,+BAA+B,CAuGjC"}
1
+ {"version":3,"file":"plugin-bundle-api.d.ts","sourceRoot":"","sources":["../../src/app-server/plugin-bundle-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,sCAAsC,EACtC,0CAA0C,EAE1C,MAAM,oBAAoB,CAAC;AAiB5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,qBAAa,iCAAkC,SAAQ,KAAK;IAE1D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,+BAA+B;IAC/C,WAAW,CACV,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,aAAa,CACZ,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,YAAY,CACX,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,0CAA0C,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,sCAAsC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AA+KD,wBAAgB,qCAAqC,CACpD,OAAO,GAAE,sCAA2C,GAClD,+BAA+B,CAwGjC"}
@@ -3,6 +3,7 @@ import { addConfiguredPackageSpecToConfig, getWritablePackageConfigPath, loadCon
3
3
  import { parsePackageSpec } from "../packages/loader.js";
4
4
  import { loadConfiguredPackageResources } from "../packages/runtime.js";
5
5
  import { formatPackageSource, parsePackageSource, } from "../packages/sources.js";
6
+ import { isRecord } from "../utils/json.js";
6
7
  export class MaestroAppServerPluginBundleError extends Error {
7
8
  constructor(code, message) {
8
9
  super(message);
@@ -10,9 +11,6 @@ export class MaestroAppServerPluginBundleError extends Error {
10
11
  this.name = "MaestroAppServerPluginBundleError";
11
12
  }
12
13
  }
13
- function isRecord(value) {
14
- return typeof value === "object" && value !== null && !Array.isArray(value);
15
- }
16
14
  function stringValue(value) {
17
15
  return typeof value === "string" && value.trim() ? value.trim() : undefined;
18
16
  }
@@ -133,6 +131,7 @@ export function createMaestroAppServerPluginBundleApi(options = {}) {
133
131
  configPath: entry.configPath,
134
132
  })),
135
133
  resources: {
134
+ agents: resources.agents,
136
135
  extensions: resources.extensions,
137
136
  skills: resources.skills,
138
137
  prompts: resources.prompts,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-bundle-api.js","sourceRoot":"","sources":["../../src/app-server/plugin-bundle-api.ts"],"names":[],"mappings":"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","sourcesContent":["import { dirname, resolve } from \"node:path\";\nimport type {\n\tMaestroAppServerPluginBundleListResult,\n\tMaestroAppServerPluginBundleMutationResult,\n\tMaestroAppServerPluginBundleScope,\n} from \"@evalops/contracts\";\nimport {\n\ttype WritablePackageScope,\n\taddConfiguredPackageSpecToConfig,\n\tgetWritablePackageConfigPath,\n\tloadConfiguredPackageSpecs,\n\tremoveConfiguredPackageSpecFromConfig,\n} from \"../config/toml-config.js\";\nimport { parsePackageSpec } from \"../packages/loader.js\";\nimport { loadConfiguredPackageResources } from \"../packages/runtime.js\";\nimport {\n\tformatPackageSource,\n\tparsePackageSource,\n} from \"../packages/sources.js\";\nimport type { PackageSpec } from \"../packages/types.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport class MaestroAppServerPluginBundleError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerPluginBundleError\";\n\t}\n}\n\nexport interface MaestroAppServerPluginBundleApi {\n\tlistBundles(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleListResult>;\n\tinstallBundle(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\tremoveBundle(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n}\n\nexport interface MaestroAppServerPluginBundleApiOptions {\n\tprojectRoot?: string;\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction stringValue(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n\nfunction booleanValue(value: unknown, fallback: boolean): boolean {\n\treturn typeof value === \"boolean\" ? value : fallback;\n}\n\nfunction paramsRecord(params: unknown): UnknownRecord {\n\tif (params === undefined) {\n\t\treturn {};\n\t}\n\tif (isRecord(params)) {\n\t\treturn params;\n\t}\n\tthrow new MaestroAppServerPluginBundleError(-32602, \"Invalid params\");\n}\n\nfunction projectRootFromParams(\n\toptions: MaestroAppServerPluginBundleApiOptions,\n\tparams: UnknownRecord,\n): string {\n\tconst projectRoot = resolve(options.projectRoot ?? process.cwd());\n\tconst requestedProjectRoot = stringValue(params.projectRoot);\n\tif (requestedProjectRoot && resolve(requestedProjectRoot) !== projectRoot) {\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t\"Plugin bundle projectRoot is not available for this server\",\n\t\t);\n\t}\n\treturn projectRoot;\n}\n\nfunction scopeFromParams(params: UnknownRecord): WritablePackageScope {\n\tconst scope = stringValue(params.scope);\n\tif (scope === \"project\" || scope === \"local\" || scope === \"user\") {\n\t\treturn scope;\n\t}\n\tif (scope !== undefined) {\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t\"Invalid plugin bundle scope\",\n\t\t);\n\t}\n\treturn \"local\";\n}\n\nfunction packageSpecFromParams(params: UnknownRecord): PackageSpec {\n\tconst spec = params.spec ?? params.source;\n\tif (typeof spec === \"string\" && spec.trim()) {\n\t\treturn spec.trim();\n\t}\n\tif (isRecord(spec) && typeof spec.source === \"string\" && spec.source.trim()) {\n\t\treturn spec as unknown as PackageSpec;\n\t}\n\tthrow new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\t\"Plugin bundle requires source or spec\",\n\t);\n}\n\nfunction sourceString(spec: PackageSpec): string {\n\treturn typeof spec === \"string\" ? spec : spec.source;\n}\n\nfunction resolvePackageSpecIdentity(spec: PackageSpec, cwd: string): string {\n\tconst [sourceSpec] = parsePackageSpec(spec, cwd);\n\treturn formatPackageSource(parsePackageSource(sourceSpec, cwd));\n}\n\nfunction tryResolvePackageSourceIdentity(\n\tsourceSpec: string,\n\tcwd: string,\n): string | null {\n\ttry {\n\t\treturn formatPackageSource(parsePackageSource(sourceSpec, cwd));\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction configuredPackageMatches(\n\tentry: ReturnType<typeof loadConfiguredPackageSpecs>[number],\n\trequestedSpec: string,\n\trequestedCwd: string,\n): boolean {\n\tconst [rawSourceSpec] = parsePackageSpec(entry.spec, entry.cwd);\n\tif (rawSourceSpec === requestedSpec) {\n\t\treturn true;\n\t}\n\tconst requestedIdentity = tryResolvePackageSourceIdentity(\n\t\trequestedSpec,\n\t\trequestedCwd,\n\t);\n\tif (!requestedIdentity) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tresolvePackageSpecIdentity(entry.spec, entry.cwd) === requestedIdentity\n\t);\n}\n\nfunction validateBundleInstall(\n\tprojectRoot: string,\n\tscope: WritablePackageScope,\n\tspec: PackageSpec,\n): { configPath: string } {\n\tconst configPath = getWritablePackageConfigPath(scope, projectRoot);\n\tconst configDir = dirname(configPath);\n\tconst requestedIdentity = resolvePackageSpecIdentity(spec, projectRoot);\n\tconst duplicate = loadConfiguredPackageSpecs(projectRoot).find(\n\t\t(entry) =>\n\t\t\tentry.configPath === configPath &&\n\t\t\tresolvePackageSpecIdentity(entry.spec, configDir) === requestedIdentity,\n\t);\n\tif (duplicate) {\n\t\tconst [sourceSpec] = parsePackageSpec(duplicate.spec, configDir);\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t`Package \"${sourceSpec}\" already exists in ${configPath}.`,\n\t\t);\n\t}\n\treturn { configPath };\n}\n\nfunction resolveBundleRemoval(\n\tprojectRoot: string,\n\tspec: PackageSpec,\n\tscope?: WritablePackageScope,\n): { configPath: string; scope: WritablePackageScope } {\n\tconst requestedSpec = sourceString(spec);\n\tconst matches = loadConfiguredPackageSpecs(projectRoot).filter(\n\t\t(entry) =>\n\t\t\t(scope === undefined || entry.scope === scope) &&\n\t\t\tconfiguredPackageMatches(entry, requestedSpec, projectRoot),\n\t);\n\tconst orderedScopes: WritablePackageScope[] =\n\t\tscope === undefined ? [\"local\", \"project\", \"user\"] : [scope];\n\tfor (const candidateScope of orderedScopes) {\n\t\tconst match = matches.find((entry) => entry.scope === candidateScope);\n\t\tif (match) {\n\t\t\treturn { configPath: match.configPath, scope: match.scope };\n\t\t}\n\t}\n\tconst scopeMessage = scope === undefined ? \"\" : ` in ${scope} config`;\n\tthrow new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\t`Configured package \"${requestedSpec}\" was not found${scopeMessage}.`,\n\t);\n}\n\nfunction toBundleScope(\n\tscope: WritablePackageScope,\n): MaestroAppServerPluginBundleScope {\n\treturn scope;\n}\n\nfunction pluginBundleErrorMessage(error: unknown): string {\n\treturn error instanceof Error ? error.message : String(error);\n}\n\nfunction toPluginBundleInvalidParams(\n\terror: unknown,\n): MaestroAppServerPluginBundleError {\n\tif (error instanceof MaestroAppServerPluginBundleError) {\n\t\treturn error;\n\t}\n\treturn new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\tpluginBundleErrorMessage(error),\n\t);\n}\n\nexport function createMaestroAppServerPluginBundleApi(\n\toptions: MaestroAppServerPluginBundleApiOptions = {},\n): MaestroAppServerPluginBundleApi {\n\treturn {\n\t\tasync listBundles(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst resources = loadConfiguredPackageResources(projectRoot);\n\t\t\treturn {\n\t\t\t\tbundles: loadConfiguredPackageSpecs(projectRoot).map((entry) => ({\n\t\t\t\t\tsource: sourceString(entry.spec),\n\t\t\t\t\tscope: toBundleScope(entry.scope),\n\t\t\t\t\tconfigPath: entry.configPath,\n\t\t\t\t})),\n\t\t\t\tresources: {\n\t\t\t\t\textensions: resources.extensions,\n\t\t\t\t\tskills: resources.skills,\n\t\t\t\t\tprompts: resources.prompts,\n\t\t\t\t\tthemes: resources.themes,\n\t\t\t\t},\n\t\t\t\terrors: resources.errors,\n\t\t\t};\n\t\t},\n\n\t\tasync installBundle(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst spec = packageSpecFromParams(normalizedParams);\n\t\t\tconst source = sourceString(spec);\n\t\t\tconst scope = scopeFromParams(normalizedParams);\n\t\t\tlet validation: ReturnType<typeof validateBundleInstall>;\n\t\t\ttry {\n\t\t\t\tvalidation = validateBundleInstall(projectRoot, scope, spec);\n\t\t\t} catch (error) {\n\t\t\t\tthrow toPluginBundleInvalidParams(error);\n\t\t\t}\n\t\t\tconst { configPath } = validation;\n\t\t\tif (booleanValue(normalizedParams.dryRun, false)) {\n\t\t\t\treturn {\n\t\t\t\t\tsource,\n\t\t\t\t\tscope,\n\t\t\t\t\tconfigPath,\n\t\t\t\t\tchanged: false,\n\t\t\t\t\tmessage: \"Plugin bundle install planned\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet result: ReturnType<typeof addConfiguredPackageSpecToConfig>;\n\t\t\ttry {\n\t\t\t\tresult = addConfiguredPackageSpecToConfig({\n\t\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\t\tscope,\n\t\t\t\t\tspec,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow toPluginBundleInvalidParams(error);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tsource,\n\t\t\t\tscope: result.scope,\n\t\t\t\tconfigPath: result.path,\n\t\t\t\tchanged: true,\n\t\t\t\tmessage: \"Plugin bundle installed\",\n\t\t\t};\n\t\t},\n\n\t\tasync removeBundle(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst spec = packageSpecFromParams(normalizedParams);\n\t\t\tconst scope =\n\t\t\t\tnormalizedParams.scope === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: scopeFromParams(normalizedParams);\n\t\t\tconst removal = resolveBundleRemoval(projectRoot, spec, scope);\n\t\t\tif (booleanValue(normalizedParams.dryRun, false)) {\n\t\t\t\treturn {\n\t\t\t\t\tsource: sourceString(spec),\n\t\t\t\t\tscope: removal.scope,\n\t\t\t\t\tconfigPath: removal.configPath,\n\t\t\t\t\tchanged: false,\n\t\t\t\t\tmessage: \"Plugin bundle removal planned\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet result: ReturnType<typeof removeConfiguredPackageSpecFromConfig>;\n\t\t\ttry {\n\t\t\t\tresult = removeConfiguredPackageSpecFromConfig({\n\t\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\t\tscope,\n\t\t\t\t\tspec: sourceString(spec),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t\t\t-32602,\n\t\t\t\t\tpluginBundleErrorMessage(error),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tsource: sourceString(spec),\n\t\t\t\tscope: result.scope,\n\t\t\t\tconfigPath: result.path,\n\t\t\t\tchanged: result.removedCount > 0,\n\t\t\t\tmessage: `Removed ${result.removedCount} plugin bundle(s)`,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"file":"plugin-bundle-api.js","sourceRoot":"","sources":["../../src/app-server/plugin-bundle-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAM7C,OAAO,EAEN,gCAAgC,EAChC,4BAA4B,EAC5B,0BAA0B,EAC1B,qCAAqC,GACrC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EACN,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAC3D,YACU,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IACjD,CAAC;CACD;AAkBD,SAAS,WAAW,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,QAAiB;IACtD,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AACtD,CAAC;AAED,SAAS,YAAY,CAAC,MAAe;IACpC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,MAAM,IAAI,iCAAiC,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,qBAAqB,CAC7B,OAA+C,EAC/C,MAAqB;IAErB,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClE,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7D,IAAI,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,CAAC,KAAK,WAAW,EAAE,CAAC;QAC3E,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,4DAA4D,CAC5D,CAAC;IACH,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC7C,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QAClE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,6BAA6B,CAC7B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAqB;IACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC;IAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC7E,OAAO,IAA8B,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,uCAAuC,CACvC,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAiB;IACtC,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AACtD,CAAC;AAED,SAAS,0BAA0B,CAAC,IAAiB,EAAE,GAAW;IACjE,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,+BAA+B,CACvC,UAAkB,EAClB,GAAW;IAEX,IAAI,CAAC;QACJ,OAAO,mBAAmB,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,wBAAwB,CAChC,KAA4D,EAC5D,aAAqB,EACrB,YAAoB;IAEpB,MAAM,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAChE,IAAI,aAAa,KAAK,aAAa,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,iBAAiB,GAAG,+BAA+B,CACxD,aAAa,EACb,YAAY,CACZ,CAAC;IACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CACN,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,iBAAiB,CACvE,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC7B,WAAmB,EACnB,KAA2B,EAC3B,IAAiB;IAEjB,MAAM,UAAU,GAAG,4BAA4B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,SAAS,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC,IAAI,CAC7D,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,UAAU,KAAK,UAAU;QAC/B,0BAA0B,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,iBAAiB,CACxE,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACf,MAAM,CAAC,UAAU,CAAC,GAAG,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,YAAY,UAAU,uBAAuB,UAAU,GAAG,CAC1D,CAAC;IACH,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAC5B,WAAmB,EACnB,IAAiB,EACjB,KAA4B;IAE5B,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,0BAA0B,CAAC,WAAW,CAAC,CAAC,MAAM,CAC7D,CAAC,KAAK,EAAE,EAAE,CACT,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC;QAC9C,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC,CAC5D,CAAC;IACF,MAAM,aAAa,GAClB,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,KAAK,MAAM,cAAc,IAAI,aAAa,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC;QACtE,IAAI,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7D,CAAC;IACF,CAAC;IACD,MAAM,YAAY,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC;IACtE,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,uBAAuB,aAAa,kBAAkB,YAAY,GAAG,CACrE,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACrB,KAA2B;IAE3B,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAc;IAC/C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,2BAA2B,CACnC,KAAc;IAEd,IAAI,KAAK,YAAY,iCAAiC,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,iCAAiC,CAC3C,CAAC,KAAK,EACN,wBAAwB,CAAC,KAAK,CAAC,CAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qCAAqC,CACpD,UAAkD,EAAE;IAEpD,OAAO;QACN,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;YAC5B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrE,MAAM,SAAS,GAAG,8BAA8B,CAAC,WAAW,CAAC,CAAC;YAC9D,OAAO;gBACN,OAAO,EAAE,0BAA0B,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAChE,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;oBAChC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;oBACjC,UAAU,EAAE,KAAK,CAAC,UAAU;iBAC5B,CAAC,CAAC;gBACH,SAAS,EAAE;oBACV,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,UAAU,EAAE,SAAS,CAAC,UAAU;oBAChC,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,MAAM,EAAE,SAAS,CAAC,MAAM;iBACxB;gBACD,MAAM,EAAE,SAAS,CAAC,MAAM;aACxB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,EAAE;YAC9B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;YAChD,IAAI,UAAoD,CAAC;YACzD,IAAI,CAAC;gBACJ,UAAU,GAAG,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,2BAA2B,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;YAClC,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClD,OAAO;oBACN,MAAM;oBACN,KAAK;oBACL,UAAU;oBACV,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,+BAA+B;iBACxC,CAAC;YACH,CAAC;YACD,IAAI,MAA2D,CAAC;YAChE,IAAI,CAAC;gBACJ,MAAM,GAAG,gCAAgC,CAAC;oBACzC,YAAY,EAAE,WAAW;oBACzB,KAAK;oBACL,IAAI;iBACJ,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,2BAA2B,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,OAAO;gBACN,MAAM;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,yBAAyB;aAClC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,EAAE;YAC7B,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;YACrD,MAAM,KAAK,GACV,gBAAgB,CAAC,KAAK,KAAK,SAAS;gBACnC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAC/D,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;gBAClD,OAAO;oBACN,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;oBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,+BAA+B;iBACxC,CAAC;YACH,CAAC;YACD,IAAI,MAAgE,CAAC;YACrE,IAAI,CAAC;gBACJ,MAAM,GAAG,qCAAqC,CAAC;oBAC9C,YAAY,EAAE,WAAW;oBACzB,KAAK;oBACL,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC;iBACxB,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,IAAI,iCAAiC,CAC1C,CAAC,KAAK,EACN,wBAAwB,CAAC,KAAK,CAAC,CAC/B,CAAC;YACH,CAAC;YACD,OAAO;gBACN,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,OAAO,EAAE,MAAM,CAAC,YAAY,GAAG,CAAC;gBAChC,OAAO,EAAE,WAAW,MAAM,CAAC,YAAY,mBAAmB;aAC1D,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC","sourcesContent":["import { dirname, resolve } from \"node:path\";\nimport type {\n\tMaestroAppServerPluginBundleListResult,\n\tMaestroAppServerPluginBundleMutationResult,\n\tMaestroAppServerPluginBundleScope,\n} from \"@evalops/contracts\";\nimport {\n\ttype WritablePackageScope,\n\taddConfiguredPackageSpecToConfig,\n\tgetWritablePackageConfigPath,\n\tloadConfiguredPackageSpecs,\n\tremoveConfiguredPackageSpecFromConfig,\n} from \"../config/toml-config.js\";\nimport { parsePackageSpec } from \"../packages/loader.js\";\nimport { loadConfiguredPackageResources } from \"../packages/runtime.js\";\nimport {\n\tformatPackageSource,\n\tparsePackageSource,\n} from \"../packages/sources.js\";\nimport type { PackageSpec } from \"../packages/types.js\";\nimport { isRecord } from \"../utils/json.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport class MaestroAppServerPluginBundleError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerPluginBundleError\";\n\t}\n}\n\nexport interface MaestroAppServerPluginBundleApi {\n\tlistBundles(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleListResult>;\n\tinstallBundle(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n\tremoveBundle(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPluginBundleMutationResult>;\n}\n\nexport interface MaestroAppServerPluginBundleApiOptions {\n\tprojectRoot?: string;\n}\n\nfunction stringValue(value: unknown): string | undefined {\n\treturn typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n\nfunction booleanValue(value: unknown, fallback: boolean): boolean {\n\treturn typeof value === \"boolean\" ? value : fallback;\n}\n\nfunction paramsRecord(params: unknown): UnknownRecord {\n\tif (params === undefined) {\n\t\treturn {};\n\t}\n\tif (isRecord(params)) {\n\t\treturn params;\n\t}\n\tthrow new MaestroAppServerPluginBundleError(-32602, \"Invalid params\");\n}\n\nfunction projectRootFromParams(\n\toptions: MaestroAppServerPluginBundleApiOptions,\n\tparams: UnknownRecord,\n): string {\n\tconst projectRoot = resolve(options.projectRoot ?? process.cwd());\n\tconst requestedProjectRoot = stringValue(params.projectRoot);\n\tif (requestedProjectRoot && resolve(requestedProjectRoot) !== projectRoot) {\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t\"Plugin bundle projectRoot is not available for this server\",\n\t\t);\n\t}\n\treturn projectRoot;\n}\n\nfunction scopeFromParams(params: UnknownRecord): WritablePackageScope {\n\tconst scope = stringValue(params.scope);\n\tif (scope === \"project\" || scope === \"local\" || scope === \"user\") {\n\t\treturn scope;\n\t}\n\tif (scope !== undefined) {\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t\"Invalid plugin bundle scope\",\n\t\t);\n\t}\n\treturn \"local\";\n}\n\nfunction packageSpecFromParams(params: UnknownRecord): PackageSpec {\n\tconst spec = params.spec ?? params.source;\n\tif (typeof spec === \"string\" && spec.trim()) {\n\t\treturn spec.trim();\n\t}\n\tif (isRecord(spec) && typeof spec.source === \"string\" && spec.source.trim()) {\n\t\treturn spec as unknown as PackageSpec;\n\t}\n\tthrow new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\t\"Plugin bundle requires source or spec\",\n\t);\n}\n\nfunction sourceString(spec: PackageSpec): string {\n\treturn typeof spec === \"string\" ? spec : spec.source;\n}\n\nfunction resolvePackageSpecIdentity(spec: PackageSpec, cwd: string): string {\n\tconst [sourceSpec] = parsePackageSpec(spec, cwd);\n\treturn formatPackageSource(parsePackageSource(sourceSpec, cwd));\n}\n\nfunction tryResolvePackageSourceIdentity(\n\tsourceSpec: string,\n\tcwd: string,\n): string | null {\n\ttry {\n\t\treturn formatPackageSource(parsePackageSource(sourceSpec, cwd));\n\t} catch {\n\t\treturn null;\n\t}\n}\n\nfunction configuredPackageMatches(\n\tentry: ReturnType<typeof loadConfiguredPackageSpecs>[number],\n\trequestedSpec: string,\n\trequestedCwd: string,\n): boolean {\n\tconst [rawSourceSpec] = parsePackageSpec(entry.spec, entry.cwd);\n\tif (rawSourceSpec === requestedSpec) {\n\t\treturn true;\n\t}\n\tconst requestedIdentity = tryResolvePackageSourceIdentity(\n\t\trequestedSpec,\n\t\trequestedCwd,\n\t);\n\tif (!requestedIdentity) {\n\t\treturn false;\n\t}\n\treturn (\n\t\tresolvePackageSpecIdentity(entry.spec, entry.cwd) === requestedIdentity\n\t);\n}\n\nfunction validateBundleInstall(\n\tprojectRoot: string,\n\tscope: WritablePackageScope,\n\tspec: PackageSpec,\n): { configPath: string } {\n\tconst configPath = getWritablePackageConfigPath(scope, projectRoot);\n\tconst configDir = dirname(configPath);\n\tconst requestedIdentity = resolvePackageSpecIdentity(spec, projectRoot);\n\tconst duplicate = loadConfiguredPackageSpecs(projectRoot).find(\n\t\t(entry) =>\n\t\t\tentry.configPath === configPath &&\n\t\t\tresolvePackageSpecIdentity(entry.spec, configDir) === requestedIdentity,\n\t);\n\tif (duplicate) {\n\t\tconst [sourceSpec] = parsePackageSpec(duplicate.spec, configDir);\n\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t-32602,\n\t\t\t`Package \"${sourceSpec}\" already exists in ${configPath}.`,\n\t\t);\n\t}\n\treturn { configPath };\n}\n\nfunction resolveBundleRemoval(\n\tprojectRoot: string,\n\tspec: PackageSpec,\n\tscope?: WritablePackageScope,\n): { configPath: string; scope: WritablePackageScope } {\n\tconst requestedSpec = sourceString(spec);\n\tconst matches = loadConfiguredPackageSpecs(projectRoot).filter(\n\t\t(entry) =>\n\t\t\t(scope === undefined || entry.scope === scope) &&\n\t\t\tconfiguredPackageMatches(entry, requestedSpec, projectRoot),\n\t);\n\tconst orderedScopes: WritablePackageScope[] =\n\t\tscope === undefined ? [\"local\", \"project\", \"user\"] : [scope];\n\tfor (const candidateScope of orderedScopes) {\n\t\tconst match = matches.find((entry) => entry.scope === candidateScope);\n\t\tif (match) {\n\t\t\treturn { configPath: match.configPath, scope: match.scope };\n\t\t}\n\t}\n\tconst scopeMessage = scope === undefined ? \"\" : ` in ${scope} config`;\n\tthrow new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\t`Configured package \"${requestedSpec}\" was not found${scopeMessage}.`,\n\t);\n}\n\nfunction toBundleScope(\n\tscope: WritablePackageScope,\n): MaestroAppServerPluginBundleScope {\n\treturn scope;\n}\n\nfunction pluginBundleErrorMessage(error: unknown): string {\n\treturn error instanceof Error ? error.message : String(error);\n}\n\nfunction toPluginBundleInvalidParams(\n\terror: unknown,\n): MaestroAppServerPluginBundleError {\n\tif (error instanceof MaestroAppServerPluginBundleError) {\n\t\treturn error;\n\t}\n\treturn new MaestroAppServerPluginBundleError(\n\t\t-32602,\n\t\tpluginBundleErrorMessage(error),\n\t);\n}\n\nexport function createMaestroAppServerPluginBundleApi(\n\toptions: MaestroAppServerPluginBundleApiOptions = {},\n): MaestroAppServerPluginBundleApi {\n\treturn {\n\t\tasync listBundles(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst resources = loadConfiguredPackageResources(projectRoot);\n\t\t\treturn {\n\t\t\t\tbundles: loadConfiguredPackageSpecs(projectRoot).map((entry) => ({\n\t\t\t\t\tsource: sourceString(entry.spec),\n\t\t\t\t\tscope: toBundleScope(entry.scope),\n\t\t\t\t\tconfigPath: entry.configPath,\n\t\t\t\t})),\n\t\t\t\tresources: {\n\t\t\t\t\tagents: resources.agents,\n\t\t\t\t\textensions: resources.extensions,\n\t\t\t\t\tskills: resources.skills,\n\t\t\t\t\tprompts: resources.prompts,\n\t\t\t\t\tthemes: resources.themes,\n\t\t\t\t},\n\t\t\t\terrors: resources.errors,\n\t\t\t};\n\t\t},\n\n\t\tasync installBundle(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst spec = packageSpecFromParams(normalizedParams);\n\t\t\tconst source = sourceString(spec);\n\t\t\tconst scope = scopeFromParams(normalizedParams);\n\t\t\tlet validation: ReturnType<typeof validateBundleInstall>;\n\t\t\ttry {\n\t\t\t\tvalidation = validateBundleInstall(projectRoot, scope, spec);\n\t\t\t} catch (error) {\n\t\t\t\tthrow toPluginBundleInvalidParams(error);\n\t\t\t}\n\t\t\tconst { configPath } = validation;\n\t\t\tif (booleanValue(normalizedParams.dryRun, false)) {\n\t\t\t\treturn {\n\t\t\t\t\tsource,\n\t\t\t\t\tscope,\n\t\t\t\t\tconfigPath,\n\t\t\t\t\tchanged: false,\n\t\t\t\t\tmessage: \"Plugin bundle install planned\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet result: ReturnType<typeof addConfiguredPackageSpecToConfig>;\n\t\t\ttry {\n\t\t\t\tresult = addConfiguredPackageSpecToConfig({\n\t\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\t\tscope,\n\t\t\t\t\tspec,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow toPluginBundleInvalidParams(error);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tsource,\n\t\t\t\tscope: result.scope,\n\t\t\t\tconfigPath: result.path,\n\t\t\t\tchanged: true,\n\t\t\t\tmessage: \"Plugin bundle installed\",\n\t\t\t};\n\t\t},\n\n\t\tasync removeBundle(params = {}) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tconst projectRoot = projectRootFromParams(options, normalizedParams);\n\t\t\tconst spec = packageSpecFromParams(normalizedParams);\n\t\t\tconst scope =\n\t\t\t\tnormalizedParams.scope === undefined\n\t\t\t\t\t? undefined\n\t\t\t\t\t: scopeFromParams(normalizedParams);\n\t\t\tconst removal = resolveBundleRemoval(projectRoot, spec, scope);\n\t\t\tif (booleanValue(normalizedParams.dryRun, false)) {\n\t\t\t\treturn {\n\t\t\t\t\tsource: sourceString(spec),\n\t\t\t\t\tscope: removal.scope,\n\t\t\t\t\tconfigPath: removal.configPath,\n\t\t\t\t\tchanged: false,\n\t\t\t\t\tmessage: \"Plugin bundle removal planned\",\n\t\t\t\t};\n\t\t\t}\n\t\t\tlet result: ReturnType<typeof removeConfiguredPackageSpecFromConfig>;\n\t\t\ttry {\n\t\t\t\tresult = removeConfiguredPackageSpecFromConfig({\n\t\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\t\tscope,\n\t\t\t\t\tspec: sourceString(spec),\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow new MaestroAppServerPluginBundleError(\n\t\t\t\t\t-32602,\n\t\t\t\t\tpluginBundleErrorMessage(error),\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tsource: sourceString(spec),\n\t\t\t\tscope: result.scope,\n\t\t\t\tconfigPath: result.path,\n\t\t\t\tchanged: result.removedCount > 0,\n\t\t\t\tmessage: `Removed ${result.removedCount} plugin bundle(s)`,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"policy-control-api.d.ts","sourceRoot":"","sources":["../../src/app-server/policy-control-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,iCAAiC,EACjC,gCAAgC,EAChC,sCAAsC,EACtC,MAAM,oBAAoB,CAAC;AAU5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,qBAAa,kCAAmC,SAAQ,KAAK;IAE3D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,6BAA6B;IAC7C,UAAU,IAAI,gCAAgC,CAAC;IAC/C,WAAW,CACV,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,gBAAgB,IAAI,sCAAsC,CAAC;CAC3D;AA2KD,wBAAgB,mCAAmC,IAAI,6BAA6B,CA+EnF"}
1
+ {"version":3,"file":"policy-control-api.d.ts","sourceRoot":"","sources":["../../src/app-server/policy-control-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEX,iCAAiC,EACjC,gCAAgC,EAChC,sCAAsC,EACtC,MAAM,oBAAoB,CAAC;AAW5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE7C,qBAAa,kCAAmC,SAAQ,KAAK;IAE3D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,6BAA6B;IAC7C,UAAU,IAAI,gCAAgC,CAAC;IAC/C,WAAW,CACV,MAAM,CAAC,EAAE,aAAa,GACpB,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,gBAAgB,IAAI,sCAAsC,CAAC;CAC3D;AAuKD,wBAAgB,mCAAmC,IAAI,6BAA6B,CA+EnF"}
@@ -1,4 +1,5 @@
1
1
  import { checkModelPolicy, checkPolicy, checkSessionLimits, loadPolicy, } from "../safety/policy.js";
2
+ import { isRecord } from "../utils/json.js";
2
3
  export class MaestroAppServerPolicyControlError extends Error {
3
4
  constructor(code, message) {
4
5
  super(message);
@@ -29,9 +30,6 @@ function clonePolicySnapshot(policy) {
29
30
  }
30
31
  return deepFreezeSnapshot(structuredClone(policy));
31
32
  }
32
- function isRecord(value) {
33
- return typeof value === "object" && value !== null && !Array.isArray(value);
34
- }
35
33
  function hasOwnKey(value, key) {
36
34
  return Object.prototype.hasOwnProperty.call(value, key);
37
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policy-control-api.js","sourceRoot":"","sources":["../../src/app-server/policy-control-api.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n\tMaestroAppServerPolicyCheckItem,\n\tMaestroAppServerPolicyCheckResult,\n\tMaestroAppServerPolicyReadResult,\n\tMaestroAppServerRequirementsListResult,\n} from \"@evalops/contracts\";\nimport type { ActionApprovalContext } from \"../agent/action-approval.js\";\nimport {\n\ttype EnterprisePolicy,\n\tcheckModelPolicy,\n\tcheckPolicy,\n\tcheckSessionLimits,\n\tloadPolicy,\n} from \"../safety/policy.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport class MaestroAppServerPolicyControlError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerPolicyControlError\";\n\t}\n}\n\nexport interface MaestroAppServerPolicyControl {\n\treadPolicy(): MaestroAppServerPolicyReadResult;\n\tcheckPolicy(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPolicyCheckResult>;\n\tlistRequirements(): MaestroAppServerRequirementsListResult;\n}\n\nfunction readCurrentPolicy() {\n\ttry {\n\t\treturn loadPolicy();\n\t} catch (error) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32000,\n\t\t\t`Failed to load managed policy: ${error instanceof Error ? error.message : \"unknown error\"}`,\n\t\t);\n\t}\n}\n\nfunction deepFreezeSnapshot<T>(value: T): T {\n\tif (typeof value !== \"object\" || value === null) {\n\t\treturn value;\n\t}\n\tfor (const key of Object.getOwnPropertyNames(value)) {\n\t\tdeepFreezeSnapshot((value as Record<string, unknown>)[key]);\n\t}\n\treturn Object.freeze(value);\n}\n\nfunction clonePolicySnapshot(\n\tpolicy: EnterprisePolicy | null,\n): MaestroAppServerPolicyReadResult[\"policy\"] {\n\tif (policy === null) {\n\t\treturn null;\n\t}\n\treturn deepFreezeSnapshot(structuredClone(policy));\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction hasOwnKey(value: object, key: PropertyKey): boolean {\n\treturn Object.prototype.hasOwnProperty.call(value, key);\n}\n\nfunction optionalNonEmptyString(\n\tvalue: unknown,\n\tfield: string,\n): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\" || value.trim().length === 0) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, `Invalid ${field}`);\n\t}\n\treturn value.trim();\n}\n\nfunction parseUser(value: unknown): ActionApprovalContext[\"user\"] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid user\");\n\t}\n\tconst id = optionalNonEmptyString(value.id, \"user.id\");\n\tconst orgId = optionalNonEmptyString(value.orgId, \"user.orgId\");\n\tif (!id || !orgId) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid user\");\n\t}\n\treturn { id, orgId };\n}\n\nfunction parseSession(\n\tvalue: unknown,\n\trequireId: boolean,\n): ActionApprovalContext[\"session\"] {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid session\");\n\t}\n\tconst id = optionalNonEmptyString(value.id, \"session.id\");\n\tif (requireId && !id) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid session.id\");\n\t}\n\tif (value.startedAt === undefined || value.startedAt === null) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid session.startedAt\",\n\t\t);\n\t}\n\tconst startedAt =\n\t\tvalue.startedAt instanceof Date\n\t\t\t? new Date(value.startedAt.getTime())\n\t\t\t: new Date(\n\t\t\t\t\toptionalNonEmptyString(value.startedAt, \"session.startedAt\") ?? \"\",\n\t\t\t\t);\n\tif (!Number.isFinite(startedAt.getTime())) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid session.startedAt\",\n\t\t);\n\t}\n\treturn { id: id ?? \"app-server-policy-check\", startedAt };\n}\n\nfunction parseActionContext(\n\tvalue: unknown,\n\tfallbackSession?: ActionApprovalContext[\"session\"],\n): ActionApprovalContext | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid action\");\n\t}\n\tconst toolName = optionalNonEmptyString(value.toolName, \"action.toolName\");\n\tif (!toolName) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid action.toolName\",\n\t\t);\n\t}\n\tconst actionSession =\n\t\tvalue.session === undefined || value.session === null\n\t\t\t? fallbackSession\n\t\t\t: parseSession(value.session, false);\n\treturn {\n\t\ttoolName,\n\t\targs: hasOwnKey(value, \"args\") ? value.args : {},\n\t\tmetadata: isRecord(value.metadata)\n\t\t\t? (value.metadata as ActionApprovalContext[\"metadata\"])\n\t\t\t: undefined,\n\t\tuser: parseUser(value.user),\n\t\tsession: actionSession,\n\t\tuserIntent: optionalNonEmptyString(value.userIntent, \"action.userIntent\"),\n\t};\n}\n\nfunction parseUsage(\n\tvalue: unknown,\n): { tokenCount?: number; activeSessionCount?: number } | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid usage\");\n\t}\n\tconst usage: { tokenCount?: number; activeSessionCount?: number } = {};\n\tfor (const key of [\"tokenCount\", \"activeSessionCount\"] as const) {\n\t\tif (value[key] === undefined || value[key] === null) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (\n\t\t\ttypeof value[key] !== \"number\" ||\n\t\t\t!Number.isFinite(value[key]) ||\n\t\t\tvalue[key] < 0\n\t\t) {\n\t\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t\t-32602,\n\t\t\t\t`Invalid usage.${key}`,\n\t\t\t);\n\t\t}\n\t\tusage[key] = value[key];\n\t}\n\treturn usage;\n}\n\nfunction firstReason(\n\tchecks: MaestroAppServerPolicyCheckItem[],\n): string | undefined {\n\treturn checks.find((check) => !check.allowed)?.reason;\n}\n\nexport function createMaestroAppServerPolicyControl(): MaestroAppServerPolicyControl {\n\treturn {\n\t\treadPolicy() {\n\t\t\tconst policy = readCurrentPolicy();\n\t\t\treturn {\n\t\t\t\tloaded: policy !== null,\n\t\t\t\tpolicy: clonePolicySnapshot(policy),\n\t\t\t};\n\t\t},\n\n\t\tasync checkPolicy(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid params\");\n\t\t\t}\n\t\t\tconst checks: MaestroAppServerPolicyCheckItem[] = [];\n\t\t\tconst session = parseSession(params.session, false);\n\t\t\tconst action = parseActionContext(params.action, session);\n\t\t\tconst sessionForLimits = action?.session ?? session;\n\t\t\tif (action) {\n\t\t\t\tconst result = await checkPolicy(action);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"action\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst modelId = optionalNonEmptyString(params.modelId, \"modelId\");\n\t\t\tif (modelId) {\n\t\t\t\tconst result = checkModelPolicy(modelId);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"model\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (sessionForLimits) {\n\t\t\t\tconst result = checkSessionLimits(\n\t\t\t\t\tsessionForLimits,\n\t\t\t\t\tparseUsage(params.usage),\n\t\t\t\t);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"session\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (checks.length === 0) {\n\t\t\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Missing policy check target\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst reason = firstReason(checks);\n\t\t\treturn {\n\t\t\t\tallowed: checks.every((check) => check.allowed),\n\t\t\t\t...(reason ? { reason } : {}),\n\t\t\t\tchecks,\n\t\t\t};\n\t\t},\n\n\t\tlistRequirements() {\n\t\t\tconst policy = readCurrentPolicy();\n\t\t\tconst requiredSkills = deepFreezeSnapshot([\n\t\t\t\t...(policy?.skills?.required ?? []),\n\t\t\t]);\n\t\t\treturn {\n\t\t\t\trequirements: requiredSkills.map((id) => ({\n\t\t\t\t\tkind: \"skill\",\n\t\t\t\t\tid,\n\t\t\t\t\trequired: true,\n\t\t\t\t})),\n\t\t\t\trequiredSkills,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"file":"policy-control-api.js","sourceRoot":"","sources":["../../src/app-server/policy-control-api.ts"],"names":[],"mappings":"AAOA,OAAO,EAEN,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,UAAU,GACV,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,MAAM,OAAO,kCAAmC,SAAQ,KAAK;IAC5D,YACU,IAAY,EACrB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHN,SAAI,GAAJ,IAAI,CAAQ;QAIrB,IAAI,CAAC,IAAI,GAAG,oCAAoC,CAAC;IAClD,CAAC;CACD;AAUD,SAAS,iBAAiB;IACzB,IAAI,CAAC;QACJ,OAAO,UAAU,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,kCAAkC,CAC3C,CAAC,KAAK,EACN,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC5F,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,kBAAkB,CAAI,KAAQ;IACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACd,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QACrD,kBAAkB,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,mBAAmB,CAC3B,MAA+B;IAE/B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,kBAAkB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,GAAgB;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,sBAAsB,CAC9B,KAAc,EACd,KAAa;IAEb,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,MAAM,IAAI,kCAAkC,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAChC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,kCAAkC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAChE,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,IAAI,kCAAkC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CACpB,KAAc,EACd,SAAkB;IAElB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,kCAAkC,CAAC,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,EAAE,GAAG,sBAAsB,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAC1D,IAAI,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC;QACtB,MAAM,IAAI,kCAAkC,CAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/D,MAAM,IAAI,kCAAkC,CAC3C,CAAC,KAAK,EACN,2BAA2B,CAC3B,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GACd,KAAK,CAAC,SAAS,YAAY,IAAI;QAC9B,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACrC,CAAC,CAAC,IAAI,IAAI,CACR,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,EAAE,CAClE,CAAC;IACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,kCAAkC,CAC3C,CAAC,KAAK,EACN,2BAA2B,CAC3B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,yBAAyB,EAAE,SAAS,EAAE,CAAC;AAC3D,CAAC;AAED,SAAS,kBAAkB,CAC1B,KAAc,EACd,eAAkD;IAElD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,kCAAkC,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,QAAQ,GAAG,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,MAAM,IAAI,kCAAkC,CAC3C,CAAC,KAAK,EACN,yBAAyB,CACzB,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAClB,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;QACpD,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO;QACN,QAAQ;QACR,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAChD,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YACjC,CAAC,CAAE,KAAK,CAAC,QAA8C;YACvD,CAAC,CAAC,SAAS;QACZ,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3B,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,sBAAsB,CAAC,KAAK,CAAC,UAAU,EAAE,mBAAmB,CAAC;KACzE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAClB,KAAc;IAEd,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,kCAAkC,CAAC,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,KAAK,GAAyD,EAAE,CAAC;IACvE,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAU,EAAE,CAAC;QACjE,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,SAAS;QACV,CAAC;QACD,IACC,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ;YAC9B,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EACb,CAAC;YACF,MAAM,IAAI,kCAAkC,CAC3C,CAAC,KAAK,EACN,iBAAiB,GAAG,EAAE,CACtB,CAAC;QACH,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CACnB,MAAyC;IAEzC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,mCAAmC;IAClD,OAAO;QACN,UAAU;YACT,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACnC,OAAO;gBACN,MAAM,EAAE,MAAM,KAAK,IAAI;gBACvB,MAAM,EAAE,mBAAmB,CAAC,MAAM,CAAC;aACnC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,kCAAkC,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YACxE,CAAC;YACD,MAAM,MAAM,GAAsC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,gBAAgB,GAAG,MAAM,EAAE,OAAO,IAAI,OAAO,CAAC;YACpD,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAClE,IAAI,OAAO,EAAE,CAAC;gBACb,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAO;oBACb,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,kBAAkB,CAChC,gBAAgB,EAChB,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CACxB,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,kCAAkC,CAC3C,CAAC,KAAK,EACN,6BAA6B,CAC7B,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO;gBACN,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC/C,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,MAAM;aACN,CAAC;QACH,CAAC;QAED,gBAAgB;YACf,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,kBAAkB,CAAC;gBACzC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;aACnC,CAAC,CAAC;YACH,OAAO;gBACN,YAAY,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzC,IAAI,EAAE,OAAO;oBACb,EAAE;oBACF,QAAQ,EAAE,IAAI;iBACd,CAAC,CAAC;gBACH,cAAc;aACd,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC","sourcesContent":["import type {\n\tMaestroAppServerPolicyCheckItem,\n\tMaestroAppServerPolicyCheckResult,\n\tMaestroAppServerPolicyReadResult,\n\tMaestroAppServerRequirementsListResult,\n} from \"@evalops/contracts\";\nimport type { ActionApprovalContext } from \"../agent/action-approval.js\";\nimport {\n\ttype EnterprisePolicy,\n\tcheckModelPolicy,\n\tcheckPolicy,\n\tcheckSessionLimits,\n\tloadPolicy,\n} from \"../safety/policy.js\";\nimport { isRecord } from \"../utils/json.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport class MaestroAppServerPolicyControlError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerPolicyControlError\";\n\t}\n}\n\nexport interface MaestroAppServerPolicyControl {\n\treadPolicy(): MaestroAppServerPolicyReadResult;\n\tcheckPolicy(\n\t\tparams?: UnknownRecord,\n\t): Promise<MaestroAppServerPolicyCheckResult>;\n\tlistRequirements(): MaestroAppServerRequirementsListResult;\n}\n\nfunction readCurrentPolicy() {\n\ttry {\n\t\treturn loadPolicy();\n\t} catch (error) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32000,\n\t\t\t`Failed to load managed policy: ${error instanceof Error ? error.message : \"unknown error\"}`,\n\t\t);\n\t}\n}\n\nfunction deepFreezeSnapshot<T>(value: T): T {\n\tif (typeof value !== \"object\" || value === null) {\n\t\treturn value;\n\t}\n\tfor (const key of Object.getOwnPropertyNames(value)) {\n\t\tdeepFreezeSnapshot((value as Record<string, unknown>)[key]);\n\t}\n\treturn Object.freeze(value);\n}\n\nfunction clonePolicySnapshot(\n\tpolicy: EnterprisePolicy | null,\n): MaestroAppServerPolicyReadResult[\"policy\"] {\n\tif (policy === null) {\n\t\treturn null;\n\t}\n\treturn deepFreezeSnapshot(structuredClone(policy));\n}\n\nfunction hasOwnKey(value: object, key: PropertyKey): boolean {\n\treturn Object.prototype.hasOwnProperty.call(value, key);\n}\n\nfunction optionalNonEmptyString(\n\tvalue: unknown,\n\tfield: string,\n): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\" || value.trim().length === 0) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, `Invalid ${field}`);\n\t}\n\treturn value.trim();\n}\n\nfunction parseUser(value: unknown): ActionApprovalContext[\"user\"] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid user\");\n\t}\n\tconst id = optionalNonEmptyString(value.id, \"user.id\");\n\tconst orgId = optionalNonEmptyString(value.orgId, \"user.orgId\");\n\tif (!id || !orgId) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid user\");\n\t}\n\treturn { id, orgId };\n}\n\nfunction parseSession(\n\tvalue: unknown,\n\trequireId: boolean,\n): ActionApprovalContext[\"session\"] {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid session\");\n\t}\n\tconst id = optionalNonEmptyString(value.id, \"session.id\");\n\tif (requireId && !id) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid session.id\");\n\t}\n\tif (value.startedAt === undefined || value.startedAt === null) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid session.startedAt\",\n\t\t);\n\t}\n\tconst startedAt =\n\t\tvalue.startedAt instanceof Date\n\t\t\t? new Date(value.startedAt.getTime())\n\t\t\t: new Date(\n\t\t\t\t\toptionalNonEmptyString(value.startedAt, \"session.startedAt\") ?? \"\",\n\t\t\t\t);\n\tif (!Number.isFinite(startedAt.getTime())) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid session.startedAt\",\n\t\t);\n\t}\n\treturn { id: id ?? \"app-server-policy-check\", startedAt };\n}\n\nfunction parseActionContext(\n\tvalue: unknown,\n\tfallbackSession?: ActionApprovalContext[\"session\"],\n): ActionApprovalContext | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid action\");\n\t}\n\tconst toolName = optionalNonEmptyString(value.toolName, \"action.toolName\");\n\tif (!toolName) {\n\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t-32602,\n\t\t\t\"Invalid action.toolName\",\n\t\t);\n\t}\n\tconst actionSession =\n\t\tvalue.session === undefined || value.session === null\n\t\t\t? fallbackSession\n\t\t\t: parseSession(value.session, false);\n\treturn {\n\t\ttoolName,\n\t\targs: hasOwnKey(value, \"args\") ? value.args : {},\n\t\tmetadata: isRecord(value.metadata)\n\t\t\t? (value.metadata as ActionApprovalContext[\"metadata\"])\n\t\t\t: undefined,\n\t\tuser: parseUser(value.user),\n\t\tsession: actionSession,\n\t\tuserIntent: optionalNonEmptyString(value.userIntent, \"action.userIntent\"),\n\t};\n}\n\nfunction parseUsage(\n\tvalue: unknown,\n): { tokenCount?: number; activeSessionCount?: number } | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!isRecord(value)) {\n\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid usage\");\n\t}\n\tconst usage: { tokenCount?: number; activeSessionCount?: number } = {};\n\tfor (const key of [\"tokenCount\", \"activeSessionCount\"] as const) {\n\t\tif (value[key] === undefined || value[key] === null) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (\n\t\t\ttypeof value[key] !== \"number\" ||\n\t\t\t!Number.isFinite(value[key]) ||\n\t\t\tvalue[key] < 0\n\t\t) {\n\t\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t\t-32602,\n\t\t\t\t`Invalid usage.${key}`,\n\t\t\t);\n\t\t}\n\t\tusage[key] = value[key];\n\t}\n\treturn usage;\n}\n\nfunction firstReason(\n\tchecks: MaestroAppServerPolicyCheckItem[],\n): string | undefined {\n\treturn checks.find((check) => !check.allowed)?.reason;\n}\n\nexport function createMaestroAppServerPolicyControl(): MaestroAppServerPolicyControl {\n\treturn {\n\t\treadPolicy() {\n\t\t\tconst policy = readCurrentPolicy();\n\t\t\treturn {\n\t\t\t\tloaded: policy !== null,\n\t\t\t\tpolicy: clonePolicySnapshot(policy),\n\t\t\t};\n\t\t},\n\n\t\tasync checkPolicy(params = {}) {\n\t\t\tif (!isRecord(params)) {\n\t\t\t\tthrow new MaestroAppServerPolicyControlError(-32602, \"Invalid params\");\n\t\t\t}\n\t\t\tconst checks: MaestroAppServerPolicyCheckItem[] = [];\n\t\t\tconst session = parseSession(params.session, false);\n\t\t\tconst action = parseActionContext(params.action, session);\n\t\t\tconst sessionForLimits = action?.session ?? session;\n\t\t\tif (action) {\n\t\t\t\tconst result = await checkPolicy(action);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"action\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst modelId = optionalNonEmptyString(params.modelId, \"modelId\");\n\t\t\tif (modelId) {\n\t\t\t\tconst result = checkModelPolicy(modelId);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"model\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (sessionForLimits) {\n\t\t\t\tconst result = checkSessionLimits(\n\t\t\t\t\tsessionForLimits,\n\t\t\t\t\tparseUsage(params.usage),\n\t\t\t\t);\n\t\t\t\tchecks.push({\n\t\t\t\t\tkind: \"session\",\n\t\t\t\t\tallowed: result.allowed,\n\t\t\t\t\t...(result.reason ? { reason: result.reason } : {}),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (checks.length === 0) {\n\t\t\t\tthrow new MaestroAppServerPolicyControlError(\n\t\t\t\t\t-32602,\n\t\t\t\t\t\"Missing policy check target\",\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst reason = firstReason(checks);\n\t\t\treturn {\n\t\t\t\tallowed: checks.every((check) => check.allowed),\n\t\t\t\t...(reason ? { reason } : {}),\n\t\t\t\tchecks,\n\t\t\t};\n\t\t},\n\n\t\tlistRequirements() {\n\t\t\tconst policy = readCurrentPolicy();\n\t\t\tconst requiredSkills = deepFreezeSnapshot([\n\t\t\t\t...(policy?.skills?.required ?? []),\n\t\t\t]);\n\t\t\treturn {\n\t\t\t\trequirements: requiredSkills.map((id) => ({\n\t\t\t\t\tkind: \"skill\",\n\t\t\t\t\tid,\n\t\t\t\t\trequired: true,\n\t\t\t\t})),\n\t\t\t\trequiredSkills,\n\t\t\t};\n\t\t},\n\t};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-modes-api.d.ts","sourceRoot":"","sources":["../../src/app-server/protocol-modes-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,4BAA4B,EAEjC,KAAK,8BAA8B,EACnC,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAI1C,MAAM,oBAAoB,CAAC;AAE5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgC7C,qBAAa,kCAAmC,SAAQ,KAAK;IAE3D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,oCAAoC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC7C,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,sCAAsC,CAAC;IAC1E,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,qCAAqC,CAAC;IACvE,WAAW,CACV,MAAM,EAAE,4BAA4B,EACpC,MAAM,CAAC,EAAE,aAAa,GACpB,oCAAoC,CAAC;IACxC,UAAU,IAAI,8BAA8B,CAAC;CAC7C;AAED,MAAM,WAAW,oCAAoC;IACpD,WAAW,CAAC,EAAE,8BAA8B,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAyGD,wBAAgB,mCAAmC,CAClD,OAAO,GAAE,oCAAyC,GAChD,6BAA6B,CAgD/B"}
1
+ {"version":3,"file":"protocol-modes-api.d.ts","sourceRoot":"","sources":["../../src/app-server/protocol-modes-api.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,4BAA4B,EAEjC,KAAK,8BAA8B,EACnC,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAI1C,MAAM,oBAAoB,CAAC;AAG5B,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAgC7C,qBAAa,kCAAmC,SAAQ,KAAK;IAE3D,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAED,MAAM,WAAW,oCAAoC;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,6BAA6B;IAC7C,SAAS,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,sCAAsC,CAAC;IAC1E,OAAO,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,qCAAqC,CAAC;IACvE,WAAW,CACV,MAAM,EAAE,4BAA4B,EACpC,MAAM,CAAC,EAAE,aAAa,GACpB,oCAAoC,CAAC;IACxC,UAAU,IAAI,8BAA8B,CAAC;CAC7C;AAED,MAAM,WAAW,oCAAoC;IACpD,WAAW,CAAC,EAAE,8BAA8B,CAAC;IAC7C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAqGD,wBAAgB,mCAAmC,CAClD,OAAO,GAAE,oCAAyC,GAChD,6BAA6B,CAgD/B"}
@@ -1,4 +1,5 @@
1
1
  import { maestroAppServerClientMethods, maestroAppServerProtocolModeIds, maestroAppServerServerMethods, } from "@evalops/contracts";
2
+ import { isRecord } from "../utils/json.js";
2
3
  const DEFAULT_MODE = "standard";
3
4
  const REVIEW_BLOCKED_METHODS = new Set([
4
5
  "protocol/mode/set",
@@ -46,9 +47,6 @@ function normalizeMode(value) {
46
47
  }
47
48
  throw new MaestroAppServerProtocolModesError(-32602, "Invalid mode");
48
49
  }
49
- function isRecord(value) {
50
- return typeof value === "object" && value !== null && !Array.isArray(value);
51
- }
52
50
  function paramsRecord(params) {
53
51
  if (params === undefined) {
54
52
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-modes-api.js","sourceRoot":"","sources":["../../src/app-server/protocol-modes-api.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype MaestroAppServerClientMethod,\n\ttype MaestroAppServerProtocolMode,\n\ttype MaestroAppServerProtocolModeId,\n\ttype MaestroAppServerProtocolModeListResult,\n\ttype MaestroAppServerProtocolModeSetResult,\n\tmaestroAppServerClientMethods,\n\tmaestroAppServerProtocolModeIds,\n\tmaestroAppServerServerMethods,\n} from \"@evalops/contracts\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nconst DEFAULT_MODE: MaestroAppServerProtocolModeId = \"standard\";\n\nconst REVIEW_BLOCKED_METHODS = new Set<MaestroAppServerClientMethod>([\n\t\"protocol/mode/set\",\n\t\"network/fetch\",\n\t\"sandbox/check/run\",\n\t\"externalAgent/import\",\n\t\"pluginBundle/install\",\n\t\"pluginBundle/remove\",\n\t\"remoteControl/lease/heartbeat\",\n\t\"remoteControl/drain\",\n\t\"command/exec\",\n\t\"command/exec/write\",\n\t\"command/exec/terminate\",\n\t\"fs/writeFile\",\n\t\"fs/createDirectory\",\n\t\"fs/remove\",\n\t\"fs/copy\",\n\t\"fs/watch\",\n\t\"thread/metadata/update\",\n\t\"thread/name/set\",\n\t\"thread/goal/set\",\n\t\"thread/goal/clear\",\n\t\"thread/start\",\n\t\"thread/fork\",\n\t\"thread/archive\",\n\t\"thread/unarchive\",\n\t\"thread/delete\",\n]);\n\nexport class MaestroAppServerProtocolModesError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerProtocolModesError\";\n\t}\n}\n\nexport interface MaestroAppServerProtocolModeDecision {\n\tallowed: boolean;\n\treason?: string;\n}\n\nexport interface MaestroAppServerProtocolModes {\n\tlistModes(params?: UnknownRecord): MaestroAppServerProtocolModeListResult;\n\tsetMode(params?: UnknownRecord): MaestroAppServerProtocolModeSetResult;\n\tcheckMethod(\n\t\tmethod: MaestroAppServerClientMethod,\n\t\tparams?: UnknownRecord,\n\t): MaestroAppServerProtocolModeDecision;\n\tactiveMode(): MaestroAppServerProtocolModeId;\n}\n\nexport interface MaestroAppServerProtocolModesOptions {\n\tinitialMode?: MaestroAppServerProtocolModeId;\n\treviewModeEscapeToken?: string;\n}\n\nfunction normalizeMode(value: unknown): MaestroAppServerProtocolModeId {\n\tif (value === undefined || value === null) {\n\t\tthrow new MaestroAppServerProtocolModesError(-32602, \"Missing mode\");\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid mode\");\n\t}\n\tif (\n\t\tmaestroAppServerProtocolModeIds.includes(\n\t\t\tvalue as MaestroAppServerProtocolModeId,\n\t\t)\n\t) {\n\t\treturn value as MaestroAppServerProtocolModeId;\n\t}\n\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid mode\");\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n\treturn typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction paramsRecord(params: unknown): UnknownRecord {\n\tif (params === undefined) {\n\t\treturn {};\n\t}\n\tif (isRecord(params)) {\n\t\treturn params;\n\t}\n\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid params\");\n}\n\nfunction normalizeEscapeToken(value: unknown): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\" || value.trim().length === 0) {\n\t\tthrow new MaestroAppServerProtocolModesError(\n\t\t\t-32602,\n\t\t\t\"Invalid review mode escape token\",\n\t\t);\n\t}\n\treturn value;\n}\n\nfunction modeLabel(mode: MaestroAppServerProtocolModeId): string {\n\tswitch (mode) {\n\t\tcase \"review\":\n\t\t\treturn \"Review\";\n\t\tcase \"realtime\":\n\t\t\treturn \"Realtime\";\n\t\tcase \"standard\":\n\t\t\treturn \"Standard\";\n\t}\n}\n\nfunction isMethodAllowedInMode(\n\tmode: MaestroAppServerProtocolModeId,\n\tmethod: MaestroAppServerClientMethod,\n): boolean {\n\tif (mode !== \"review\") {\n\t\treturn true;\n\t}\n\treturn !REVIEW_BLOCKED_METHODS.has(method);\n}\n\nfunction isAuthorizedReviewModeEscape(\n\tparams: unknown,\n\treviewModeEscapeToken: string | undefined,\n): boolean {\n\tif (!reviewModeEscapeToken || !isRecord(params)) {\n\t\treturn false;\n\t}\n\tconst targetMode = params.mode;\n\treturn (\n\t\ttargetMode !== \"review\" &&\n\t\tmaestroAppServerProtocolModeIds.includes(\n\t\t\ttargetMode as MaestroAppServerProtocolModeId,\n\t\t) &&\n\t\tparams.reviewModeEscapeToken === reviewModeEscapeToken\n\t);\n}\n\nfunction describeMode(\n\tmode: MaestroAppServerProtocolModeId,\n): MaestroAppServerProtocolMode {\n\tconst allowedMethods = maestroAppServerClientMethods.filter((method) =>\n\t\tisMethodAllowedInMode(mode, method),\n\t);\n\tconst blockedMethods = maestroAppServerClientMethods.filter(\n\t\t(method) => !isMethodAllowedInMode(mode, method),\n\t);\n\treturn {\n\t\tid: mode,\n\t\tlabel: modeLabel(mode),\n\t\treadOnly: mode === \"review\",\n\t\trealtime: mode === \"realtime\",\n\t\tallowedMethods: [...allowedMethods],\n\t\tblockedMethods: [...blockedMethods],\n\t\tserverNotifications:\n\t\t\tmode === \"realtime\" ? [...maestroAppServerServerMethods] : [],\n\t};\n}\n\nexport function createMaestroAppServerProtocolModes(\n\toptions: MaestroAppServerProtocolModesOptions = {},\n): MaestroAppServerProtocolModes {\n\tlet activeMode =\n\t\toptions.initialMode === undefined\n\t\t\t? DEFAULT_MODE\n\t\t\t: normalizeMode(options.initialMode);\n\tconst reviewModeEscapeToken = normalizeEscapeToken(\n\t\toptions.reviewModeEscapeToken,\n\t);\n\treturn {\n\t\tlistModes(params) {\n\t\t\tparamsRecord(params);\n\t\t\treturn {\n\t\t\t\tactiveMode,\n\t\t\t\tdefaultMode: DEFAULT_MODE,\n\t\t\t\tmodes: maestroAppServerProtocolModeIds.map(describeMode),\n\t\t\t};\n\t\t},\n\n\t\tsetMode(params) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tactiveMode = normalizeMode(normalizedParams.mode);\n\t\t\treturn {\n\t\t\t\tactiveMode,\n\t\t\t\tmode: describeMode(activeMode),\n\t\t\t};\n\t\t},\n\n\t\tcheckMethod(method, params) {\n\t\t\tif (\n\t\t\t\tactiveMode === \"review\" &&\n\t\t\t\tmethod === \"protocol/mode/set\" &&\n\t\t\t\tisAuthorizedReviewModeEscape(params, reviewModeEscapeToken)\n\t\t\t) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\tif (isMethodAllowedInMode(activeMode, method)) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tallowed: false,\n\t\t\t\treason: `${method} is blocked while protocol mode is ${activeMode}`,\n\t\t\t};\n\t\t},\n\n\t\tactiveMode() {\n\t\t\treturn activeMode;\n\t\t},\n\t};\n}\n"]}
1
+ {"version":3,"file":"protocol-modes-api.js","sourceRoot":"","sources":["../../src/app-server/protocol-modes-api.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n\ttype MaestroAppServerClientMethod,\n\ttype MaestroAppServerProtocolMode,\n\ttype MaestroAppServerProtocolModeId,\n\ttype MaestroAppServerProtocolModeListResult,\n\ttype MaestroAppServerProtocolModeSetResult,\n\tmaestroAppServerClientMethods,\n\tmaestroAppServerProtocolModeIds,\n\tmaestroAppServerServerMethods,\n} from \"@evalops/contracts\";\nimport { isRecord } from \"../utils/json.js\";\n\ntype UnknownRecord = Record<string, unknown>;\n\nconst DEFAULT_MODE: MaestroAppServerProtocolModeId = \"standard\";\n\nconst REVIEW_BLOCKED_METHODS = new Set<MaestroAppServerClientMethod>([\n\t\"protocol/mode/set\",\n\t\"network/fetch\",\n\t\"sandbox/check/run\",\n\t\"externalAgent/import\",\n\t\"pluginBundle/install\",\n\t\"pluginBundle/remove\",\n\t\"remoteControl/lease/heartbeat\",\n\t\"remoteControl/drain\",\n\t\"command/exec\",\n\t\"command/exec/write\",\n\t\"command/exec/terminate\",\n\t\"fs/writeFile\",\n\t\"fs/createDirectory\",\n\t\"fs/remove\",\n\t\"fs/copy\",\n\t\"fs/watch\",\n\t\"thread/metadata/update\",\n\t\"thread/name/set\",\n\t\"thread/goal/set\",\n\t\"thread/goal/clear\",\n\t\"thread/start\",\n\t\"thread/fork\",\n\t\"thread/archive\",\n\t\"thread/unarchive\",\n\t\"thread/delete\",\n]);\n\nexport class MaestroAppServerProtocolModesError extends Error {\n\tconstructor(\n\t\treadonly code: number,\n\t\tmessage: string,\n\t) {\n\t\tsuper(message);\n\t\tthis.name = \"MaestroAppServerProtocolModesError\";\n\t}\n}\n\nexport interface MaestroAppServerProtocolModeDecision {\n\tallowed: boolean;\n\treason?: string;\n}\n\nexport interface MaestroAppServerProtocolModes {\n\tlistModes(params?: UnknownRecord): MaestroAppServerProtocolModeListResult;\n\tsetMode(params?: UnknownRecord): MaestroAppServerProtocolModeSetResult;\n\tcheckMethod(\n\t\tmethod: MaestroAppServerClientMethod,\n\t\tparams?: UnknownRecord,\n\t): MaestroAppServerProtocolModeDecision;\n\tactiveMode(): MaestroAppServerProtocolModeId;\n}\n\nexport interface MaestroAppServerProtocolModesOptions {\n\tinitialMode?: MaestroAppServerProtocolModeId;\n\treviewModeEscapeToken?: string;\n}\n\nfunction normalizeMode(value: unknown): MaestroAppServerProtocolModeId {\n\tif (value === undefined || value === null) {\n\t\tthrow new MaestroAppServerProtocolModesError(-32602, \"Missing mode\");\n\t}\n\tif (typeof value !== \"string\") {\n\t\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid mode\");\n\t}\n\tif (\n\t\tmaestroAppServerProtocolModeIds.includes(\n\t\t\tvalue as MaestroAppServerProtocolModeId,\n\t\t)\n\t) {\n\t\treturn value as MaestroAppServerProtocolModeId;\n\t}\n\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid mode\");\n}\n\nfunction paramsRecord(params: unknown): UnknownRecord {\n\tif (params === undefined) {\n\t\treturn {};\n\t}\n\tif (isRecord(params)) {\n\t\treturn params;\n\t}\n\tthrow new MaestroAppServerProtocolModesError(-32602, \"Invalid params\");\n}\n\nfunction normalizeEscapeToken(value: unknown): string | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (typeof value !== \"string\" || value.trim().length === 0) {\n\t\tthrow new MaestroAppServerProtocolModesError(\n\t\t\t-32602,\n\t\t\t\"Invalid review mode escape token\",\n\t\t);\n\t}\n\treturn value;\n}\n\nfunction modeLabel(mode: MaestroAppServerProtocolModeId): string {\n\tswitch (mode) {\n\t\tcase \"review\":\n\t\t\treturn \"Review\";\n\t\tcase \"realtime\":\n\t\t\treturn \"Realtime\";\n\t\tcase \"standard\":\n\t\t\treturn \"Standard\";\n\t}\n}\n\nfunction isMethodAllowedInMode(\n\tmode: MaestroAppServerProtocolModeId,\n\tmethod: MaestroAppServerClientMethod,\n): boolean {\n\tif (mode !== \"review\") {\n\t\treturn true;\n\t}\n\treturn !REVIEW_BLOCKED_METHODS.has(method);\n}\n\nfunction isAuthorizedReviewModeEscape(\n\tparams: unknown,\n\treviewModeEscapeToken: string | undefined,\n): boolean {\n\tif (!reviewModeEscapeToken || !isRecord(params)) {\n\t\treturn false;\n\t}\n\tconst targetMode = params.mode;\n\treturn (\n\t\ttargetMode !== \"review\" &&\n\t\tmaestroAppServerProtocolModeIds.includes(\n\t\t\ttargetMode as MaestroAppServerProtocolModeId,\n\t\t) &&\n\t\tparams.reviewModeEscapeToken === reviewModeEscapeToken\n\t);\n}\n\nfunction describeMode(\n\tmode: MaestroAppServerProtocolModeId,\n): MaestroAppServerProtocolMode {\n\tconst allowedMethods = maestroAppServerClientMethods.filter((method) =>\n\t\tisMethodAllowedInMode(mode, method),\n\t);\n\tconst blockedMethods = maestroAppServerClientMethods.filter(\n\t\t(method) => !isMethodAllowedInMode(mode, method),\n\t);\n\treturn {\n\t\tid: mode,\n\t\tlabel: modeLabel(mode),\n\t\treadOnly: mode === \"review\",\n\t\trealtime: mode === \"realtime\",\n\t\tallowedMethods: [...allowedMethods],\n\t\tblockedMethods: [...blockedMethods],\n\t\tserverNotifications:\n\t\t\tmode === \"realtime\" ? [...maestroAppServerServerMethods] : [],\n\t};\n}\n\nexport function createMaestroAppServerProtocolModes(\n\toptions: MaestroAppServerProtocolModesOptions = {},\n): MaestroAppServerProtocolModes {\n\tlet activeMode =\n\t\toptions.initialMode === undefined\n\t\t\t? DEFAULT_MODE\n\t\t\t: normalizeMode(options.initialMode);\n\tconst reviewModeEscapeToken = normalizeEscapeToken(\n\t\toptions.reviewModeEscapeToken,\n\t);\n\treturn {\n\t\tlistModes(params) {\n\t\t\tparamsRecord(params);\n\t\t\treturn {\n\t\t\t\tactiveMode,\n\t\t\t\tdefaultMode: DEFAULT_MODE,\n\t\t\t\tmodes: maestroAppServerProtocolModeIds.map(describeMode),\n\t\t\t};\n\t\t},\n\n\t\tsetMode(params) {\n\t\t\tconst normalizedParams = paramsRecord(params);\n\t\t\tactiveMode = normalizeMode(normalizedParams.mode);\n\t\t\treturn {\n\t\t\t\tactiveMode,\n\t\t\t\tmode: describeMode(activeMode),\n\t\t\t};\n\t\t},\n\n\t\tcheckMethod(method, params) {\n\t\t\tif (\n\t\t\t\tactiveMode === \"review\" &&\n\t\t\t\tmethod === \"protocol/mode/set\" &&\n\t\t\t\tisAuthorizedReviewModeEscape(params, reviewModeEscapeToken)\n\t\t\t) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\tif (isMethodAllowedInMode(activeMode, method)) {\n\t\t\t\treturn { allowed: true };\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tallowed: false,\n\t\t\t\treason: `${method} is blocked while protocol mode is ${activeMode}`,\n\t\t\t};\n\t\t},\n\n\t\tactiveMode() {\n\t\t\treturn activeMode;\n\t\t},\n\t};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"session-api.d.ts","sourceRoot":"","sources":["../../src/app-server/session-api.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,kCAAkC,EACvC,KAAK,2BAA2B,EAChC,KAAK,yCAAyC,EAC9C,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAElC,KAAK,+BAA+B,EAEpC,KAAK,mDAAmD,EACxD,KAAK,sCAAsC,EAC3C,KAAK,kCAAkC,EACvC,KAAK,sCAAsC,EAC3C,KAAK,0CAA0C,EAC/C,KAAK,iCAAiC,EACtC,KAAK,gCAAgC,EACrC,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAC1C,KAAK,wCAAwC,EAC7C,KAAK,wCAAwC,EAC7C,KAAK,yCAAyC,EAC9C,KAAK,sCAAsC,EAC3C,KAAK,wBAAwB,EAC7B,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EACvC,KAAK,sBAAsB,EAC3B,KAAK,mCAAmC,EACxC,KAAK,kCAAkC,EACvC,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EAGrC,KAAK,gCAAgC,EACrC,KAAK,0CAA0C,EAC/C,KAAK,iCAAiC,EAEtC,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,6BAA6B,EAG7B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAM5D,OAAO,KAAK,EACX,YAAY,EAKZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACN,KAAK,+BAA+B,EAGpC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,KAAK,mCAAmC,EAIxC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,KAAK,2BAA2B,EAGhC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,KAAK,iCAAiC,EAGtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,KAAK,+BAA+B,EAGpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,KAAK,6BAA6B,EAGlC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAGlC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,KAAK,4BAA4B,EAIjC,MAAM,wBAAwB,CAAC;AAKhC,YAAY,EAAE,kCAAkC,EAAE,CAAC;AACnD,OAAO,EACN,KAAK,+BAA+B,EACpC,qCAAqC,GACrC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACN,KAAK,mCAAmC,EACxC,yCAAyC,GACzC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACN,KAAK,+BAA+B,EACpC,qCAAqC,GACrC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,KAAK,6BAA6B,EAClC,mCAAmC,GACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,KAAK,4BAA4B,EACjC,kCAAkC,GAClC,MAAM,wBAAwB,CAAC;AAGhC,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAEtC,KAAK,YAAY,GAAG,IAAI,CACvB,cAAc,EACd,oBAAoB,GAAG,iBAAiB,GAAG,cAAc,GAAG,aAAa,CACzE,GAAG;IACH,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACpE,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,kBAAkB,CAAC,EAAE,CACpB,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,KAChB,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,wBAAwB,CAAC,EAAE,CAC1B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,KAChB,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,kBAAkB,CAAC,EAAE,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,KACb,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7E,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7E,kBAAkB,CAAC,EAAE,CACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,KACb,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,uBAAuB,CAAC,EAAE,CACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,0BAA0B,GAAG,IAAI,KACnC,YAAY,CAAC,IAAI,CAAC,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QACzD,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IACjC,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IACnD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IACtD,SAAS,CAAC,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC1D,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK;QACnD,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QACzC,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACtB,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,iCAAiC;IACjD,WAAW,CAAC,EAAE,2BAA2B,GAAG,KAAK,CAAC;IAClD,aAAa,CAAC,EAAE,6BAA6B,GAAG,KAAK,CAAC;IACtD,iBAAiB,CAAC,EAAE,iCAAiC,GAAG,KAAK,CAAC;IAC9D,YAAY,CAAC,EAAE,4BAA4B,GAAG,KAAK,CAAC;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,mCAAmC,GAAG,KAAK,CAAC;IAClE,aAAa,CAAC,EAAE,+BAA+B,GAAG,KAAK,CAAC;IACxD,eAAe,CAAC,EAAE,+BAA+B,GAAG,KAAK,CAAC;IAC1D,aAAa,CAAC,EAAE,6BAA6B,GAAG,KAAK,CAAC;IACtD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,kCAAkC,KAAK,IAAI,CAAC;CAC5E;AAED,MAAM,WAAW,0BAA0B;IAC1C,UAAU,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACjD,qBAAqB,IAAI,MAAM,GAAG,SAAS,CAAC;IAC5C,iBAAiB,CAChB,MAAM,EAAE,CAAC,OAAO,6BAA6B,CAAC,CAAC,MAAM,CAAC,EACtD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,oCAAoC,CAAC;IACxC,iBAAiB,CAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAClD,UAAU,CACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC5C,6BAA6B,CAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,mDAAmD,CAAC,CAAC;IAChE,UAAU,CACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,gBAAgB,CACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,YAAY,CACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,gBAAgB,CACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,YAAY,CACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,mBAAmB,CAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACtD,iBAAiB,CAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sCAAsC,CAAC,CAAC;IACnD,mBAAmB,CAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,kBAAkB,CACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,gBAAgB,CACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,uBAAuB,CACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACtD,sBAAsB,CACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACrD,2BAA2B,CAC1B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACrD,kBAAkB,CACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,wCAAwC,CAAC,CAAC;IACrD,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,iBAAiB,CAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACjD,gBAAgB,CACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,oCAAoC,CAAC,CAAC;IACjD,QAAQ,CACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,SAAS,CACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,qCAAqC,CAAC,CAAC;IAClD,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,MAAM,CACL,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC7E,KAAK,CACJ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1C,OAAO,CACN,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACxC,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC9E,oBAAoB,CACnB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,0CAA0C,CAAC,CAAC;IACvD,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,WAAW,CACV,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC9C,UAAU,CACT,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,gCAAgC,CAAC,CAAC;IAC7C,aAAa,CACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAChD,eAAe,CACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAChD,YAAY,CACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAC/C,SAAS,CACR,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,+BAA+B,CAAC,CAAC;CAC5C;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAE9C,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAAZ,IAAI,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM;CAKhB;AAiLD,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,YAAY,EAAE,GACrB,oBAAoB,EAAE,CAExB;AAuWD,wBAAgB,gCAAgC,CAC/C,KAAK,EAAE,YAAY,EACnB,OAAO,GAAE,iCAAsC,GAC7C,0BAA0B,CA01B5B;AAqDD,wBAAsB,6BAA6B,CAClD,GAAG,EAAE,0BAA0B,EAC/B,OAAO,EAAE,6BAA6B,GACpC,OAAO,CAAC,wBAAwB,CAAC,CA4UnC"}
1
+ {"version":3,"file":"session-api.d.ts","sourceRoot":"","sources":["../../src/app-server/session-api.ts"],"names":[],"mappings":"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"}
@@ -185,10 +185,17 @@ function turnsFromProjection(projection) {
185
185
  }));
186
186
  }
187
187
  function graphFromProjection(projection) {
188
+ const agentLineage = projection.agentLineage.edges.length > 0
189
+ ? projection.agentLineage
190
+ : undefined;
188
191
  return {
189
192
  branchId: projection.branchId,
190
193
  leafEntryId: projection.leafEntryId,
191
194
  activeEntryIds: projection.activeEntryIds,
195
+ authoritativeEntryIds: projection.authoritativeEntryIds,
196
+ supersededEntryIds: projection.supersededEntryIds,
197
+ revisionGroups: projection.revisionGroups,
198
+ agentLineage,
192
199
  compactionSpans: projection.compactionSpans,
193
200
  };
194
201
  }
@@ -809,6 +816,7 @@ export function createMaestroAppServerSessionApi(store, options = {}) {
809
816
  async readThread(params = {}) {
810
817
  const threadId = requireThreadId(params);
811
818
  const includeTurns = params.includeTurns === true;
819
+ const includeHistory = params.includeHistory === true;
812
820
  const messagesView = parseMessagesView(params.messagesView);
813
821
  const loaded = await store.loadSession(threadId, { messagesView });
814
822
  if (!loaded) {
@@ -822,9 +830,14 @@ export function createMaestroAppServerSessionApi(store, options = {}) {
822
830
  if (sessionFile && !sessionFile.startsWith("db:")) {
823
831
  thread.path = sessionFile;
824
832
  }
825
- if (includeTurns) {
833
+ if (includeTurns || includeHistory) {
826
834
  const projection = await loadProjectionForThread(store, threadId);
827
- thread.turns = turnsFromProjection(projection);
835
+ if (includeTurns) {
836
+ thread.turns = turnsFromProjection(projection);
837
+ }
838
+ if (includeHistory) {
839
+ thread.history = projection.historyEntries.map(treeEntryToItem);
840
+ }
828
841
  thread.graph = graphFromProjection(projection);
829
842
  }
830
843
  return thread;