@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":"hosted-runner-drain.js","sourceRoot":"","sources":["../../../src/server/handlers/hosted-runner-drain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACN,0BAA0B,EAC1B,gCAAgC,EAChC,yBAAyB,EAEzB,yBAAyB,EACzB,iCAAiC,EACjC,oBAAoB,EACpB,sBAAsB,EACtB,6BAA6B,EAC7B,0BAA0B,EAC1B,WAAW,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAGxE,OAAO,EACN,oCAAoC,EAEpC,6BAA6B,GAC7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEtE,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,wBAAwB,GACpC,0CAA0C,CAAC;AAE5C,MAAM,CAAC,MAAM,oCAAoC,GAChD,gCAAgC,CAAC;AAElC,MAAM,CAAC,MAAM,uCAAuC,GACnD,4CAA4C,CAAC;AAE9C,MAAM,CAAC,MAAM,sCAAsC,GAClD,oCAAoC,CAAC;AAEtC,MAAM,CAAC,MAAM,qCAAqC,GACjD,0CAA0C,CAAC;AAE5C,MAAM,CAAC,MAAM,uCAAuC,GACnD,4CAA4C,CAAC;AAE9C,MAAM,CAAC,MAAM,wCAAwC,GACpD,6CAA6C,CAAC;AAE/C,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACvC,mDAAmB,CAAA;IACnB,2DAA2B,CAAA;AAC5B,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC;AAED,MAAM,CAAN,IAAY,mCAIX;AAJD,WAAY,mCAAmC;IAC9C,8DAAuB,CAAA;IACvB,wDAAiB,CAAA;IACjB,0DAAmB,CAAA;AACpB,CAAC,EAJW,mCAAmC,KAAnC,mCAAmC,QAI9C;AAED,MAAM,CAAN,IAAY,wCAIX;AAJD,WAAY,wCAAwC;IACnD,yDAAa,CAAA;IACb,mEAAuB,CAAA;IACvB,2DAAe,CAAA;AAChB,CAAC,EAJW,wCAAwC,KAAxC,wCAAwC,QAInD;AAED,MAAM,CAAN,IAAY,oCAEX;AAFD,WAAY,oCAAoC;IAC/C,iFAAyC,CAAA;AAC1C,CAAC,EAFW,oCAAoC,KAApC,oCAAoC,QAE/C;AAED,MAAM,CAAN,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACvC,wEAAwC,CAAA;IACxC,oEAAoC,CAAA;AACrC,CAAC,EAHW,4BAA4B,KAA5B,4BAA4B,QAGvC;AAED,MAAM,CAAN,IAAY,iCAGX;AAHD,WAAY,iCAAiC;IAC5C,6EAAwC,CAAA;IACxC,4EAAuC,CAAA;AACxC,CAAC,EAHW,iCAAiC,KAAjC,iCAAiC,QAG5C;AAsDD,MAAM,6BAA8B,SAAQ,KAAK;IAUhD,YAAY,OAAe,EAAE,OAAuC;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACxD,CAAC;CACD;AAyKD,SAAS,SAAS,CAAC,KAAc,EAAE,KAAa;IAC/C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,mBAAmB,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,IAAI,SAAS,CAAC;AAC7B,CAAC;AAED,SAAS,cAAc,CAAC,KAAc,EAAE,KAAa;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,8BAA8B,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,8BAA8B,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,wBAAwB,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,IAAa;IAEb,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,QAAQ,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,MAAM,GAAG,IAA+B,CAAC;IAC/C,OAAO;QACN,MAAM,EACL,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;YAClC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;QAC7C,WAAW,EACV,SAAS,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC;YAC9C,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;QAC7C,WAAW,EACV,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC;YACnD,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAAC;KAClD,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc;IACjD,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,GAAG,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,oBAAoB,CAC5B,eAAuB,EACvB,WAAmB;IAEnB,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACnE,OAAO,GAAG,WAAW,IAAI,aAAa,OAAO,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,oBAAoB,CAClC,YAAiC;IAEjC,IAAI,CAAC;QACJ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,QAAQ,CACjB,GAAG,EACH,iDAAiD,CACjD,CAAC;QACH,CAAC;QACD,OAAO,aAAa,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,CAAC;QACb,CAAC;QACD,MAAM,IAAI,QAAQ,CACjB,GAAG,EACH,gDACC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,EAAE,CACF,CAAC;IACH,CAAC;AACF,CAAC;AAED,KAAK,UAAU,2BAA2B,CACzC,aAAqB,EACrB,WAA0C;IAE1C,MAAM,SAAS,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAsC,EAAE,CAAC;IACpD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;YAChB,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACJ,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,QAAQ,CACjB,GAAG,EACH,+BAA+B,KAAK,KACnC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,GAAG,CACH,CAAC;QACH,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,QAAQ,CACjB,GAAG,EACH,qDAAqD,KAAK,EAAE,CAC5D,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC;YACV,KAAK;YACL,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,IAAI,GAAG;YACvD,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE;gBAC3B,CAAC,CAAC,wCAAwC,CAAC,SAAS;gBACpD,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE;oBAClB,CAAC,CAAC,wCAAwC,CAAC,IAAI;oBAC/C,CAAC,CAAC,wCAAwC,CAAC,KAAK;SAClD,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,KAAK,UAAU,SAAS,CACvB,aAAqB,EACrB,IAAuB;IAEvB,IAAI,CAAC;QACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CACrC,KAAK,EACL,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,EAC9B;YACC,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,IAAI;SACb,CACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,MAAM,IAAI,SAAS,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,SAAS,CAAC;IAClB,CAAC;AACF,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,aAAqB;IAErB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,SAAS,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAC/C,SAAS,CAAC,aAAa,EAAE,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC/D,SAAS,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;KACnD,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO;QACN,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;KACtB,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CACjC,SAAiB,EACjB,aAAqB,EACrB,OAAgD;IAEhD,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;IAC3C,KAAK,CAAC,gBAAgB;QACrB,OAAO,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;IACvD,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,GAAG,GAAG,aAAa,CAAC;IAC1B,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC;IAC9B,KAAK,CAAC,KAAK,GAAG,0BAA0B,CAAC;IACzC,KAAK,CAAC,QAAQ;QACb,OAAO,CAAC,YAAY,KAAK,mCAAmC,CAAC,SAAS,CAAC;IACxE,KAAK,CAAC,WAAW;QAChB,OAAO,CAAC,YAAY,KAAK,mCAAmC,CAAC,SAAS;YACrE,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,OAAO,CAAC,YAAY,KAAK,mCAAmC,CAAC,MAAM;gBACpE,CAAC,CAAC,kDAAkD;gBACpD,CAAC,CAAC,kDAAkD,CAAC;IACxD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACnB,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC;QACjC,KAAK,CAAC,eAAe,GAAG,UAAU,CAAC;IACpC,CAAC;IACD,OAAO;QACN,eAAe,EAAE,OAAO,CAAC,gBAAgB,IAAI,yBAAyB;QACtE,UAAU,EAAE,SAAS;QACrB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,CAAC;QAC3B,SAAS,EAAE,IAAI;QACf,KAAK;KACL,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC;IACxC,OAAO;QACN,cAAc,EAAE,sCAAsC;QACtD,UAAU,EAAE,UAAU;QACtB,UAAU,EAAE;YACX,sBAAsB,EAAE,UAAU;YAClC,gBAAgB,EAAE,QAAQ;YAC1B,gBAAgB,EAAE,UAAU;YAC5B,YAAY,EAAE,UAAU;SACxB;QACD,SAAS,EAAE;YACV,oCAAoC,EAAE;gBACrC,kBAAkB;gBAClB,cAAc;aACd;YACD,mBAAmB,EAAE;gBACpB,sBAAsB;gBACtB,cAAc;gBACd,eAAe;gBACf,wBAAwB;gBACxB,iBAAiB;aACjB;SACD;KACD,CAAC;AACH,CAAC;AAED,SAAS,kCAAkC,CAAC,KAM3C;IACA,OAAO;QACN,gBAAgB,EAAE,wCAAwC;QAC1D,OAAO,EAAE,eAAe;QACxB,wBAAwB,EAAE,KAAK,CAAC,YAAY,CAAC,eAAe;QAC5D,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe;YACrC,CAAC,CAAC,EAAE,wBAAwB,EAAE,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE;YAClE,CAAC,CAAC,EAAE,CAAC;QACN,iBAAiB,EAAE,OAAO,CAAC,GAAG;QAC9B,oBAAoB,EAAE;YACrB,gBAAgB,EAAE,oCAAoC;YACtD,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,KAAK;YAChC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,UAAU;YAC1C,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,gBAAgB;gBACvC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE;gBAC9D,CAAC,CAAC,EAAE,CAAC;YACN,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS;SACzC;QACD,uBAAuB,EAAE,wCAAwC;QACjE,qBAAqB,EAAE,KAAK,CAAC,YAAY;QACzC,aAAa,EAAE;YACd,4BAA4B,KAAK,CAAC,YAAY,CAAC,eAAe,iBAAiB;YAC/E,+BAA+B,KAAK,CAAC,gBAAgB,WACpD,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CACzB,EAAE;SACF;KACD,CAAC;AACH,CAAC;AAED,SAAS,iCAAiC,CAAC,KAY1C;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAC9D,OAAO;QACN,gBAAgB,EAAE,uCAAuC;QACzD,UAAU,EAAE,uCAAuC;QACnD,iBAAiB,EAAE,KAAK,CAAC,YAAY,CAAC,eAAe;QACrD,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW;YACjC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE;YAClD,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU;YAChC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE;YACjD,CAAC,CAAC,EAAE,CAAC;QACN,kBAAkB,EAAE,KAAK,CAAC,gBAAgB;QAC1C,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,oBAAoB,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY;QAChD,aAAa,EAAE,KAAK,CAAC,YAAY;QACjC,yBAAyB,EAAE,uCAAuC;QAClE,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,eAAe,EAAE;YAChB,gBAAgB,EAAE,KAAK,CAAC,cAAc,CAAC,gBAAgB;YACvD,6BAA6B,EAC5B,KAAK,CAAC,cAAc,CAAC,6BAA6B;YACnD,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB;YACzD,kBAAkB,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB;YAC3D,qBAAqB,EAAE,KAAK,CAAC,cAAc,CAAC,qBAAqB;YACjE,8BAA8B,EAC7B,KAAK,CAAC,cAAc,CAAC,4BAA4B,CAAC,MAAM;YACzD,8BAA8B,EAC7B,KAAK,CAAC,cAAc,CAAC,4BAA4B,CAAC,MAAM;YACzD,2BAA2B,EAC1B,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM;YACtD,yBAAyB,EAAE,KAAK,CAAC,MAAM;YACvC,4BAA4B,EAC3B,KAAK,CAAC,cAAc,CAAC,4BAA4B;YAClD,4BAA4B,EAC3B,KAAK,CAAC,cAAc,CAAC,4BAA4B;YAClD,yBAAyB,EAAE,KAAK,CAAC,cAAc,CAAC,yBAAyB;YACzE,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5D;QACD,kBAAkB,EAAE;YACnB,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB;YAC1D,OAAO,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO;YACxC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,wBAAwB;gBACnD,CAAC,CAAC;oBACA,wBAAwB,EACvB,KAAK,CAAC,iBAAiB,CAAC,wBAAwB;iBACjD;gBACF,CAAC,CAAC,EAAE,CAAC;YACN,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB;YAC5D,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,oBAAoB;gBAC/C,CAAC,CAAC;oBACA,+BAA+B,EAC9B,KAAK,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU;iBACxD;gBACF,CAAC,CAAC,EAAE,CAAC;YACN,qBAAqB,EAAE,KAAK,CAAC,iBAAiB,CAAC,qBAAqB;SACpE;QACD,SAAS,EAAE;YACV,cAAc,EAAE,KAAK,CAAC,eAAe,CAAC,cAAc;YACpD,iCAAiC,EAChC,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,sBAAsB;YACxD,2BAA2B,EAC1B,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB;YAClD,8CAA8C,EAC7C,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,oCAAoC;SACrE;QACD,aAAa,EAAE;YACd,4BAA4B,KAAK,CAAC,YAAY,CAAC,eAAe,iBAAiB;YAC/E,+BAA+B,KAAK,CAAC,gBAAgB,QAAQ;YAC7D,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU;gBAChC,CAAC,CAAC,CAAC,sBAAsB,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;gBACzD,CAAC,CAAC,EAAE,CAAC;SACN;KACD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,OAAO,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,mCAAmC,CAC3C,MAKC,EACD,KAAuD;IAEvD,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO;IACR,CAAC;IACD,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACpD,KAAK,MAAM,IAAI,IAAI,iCAAiC,CAAC;QACpD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM;KACN,CAAC,EAAE,CAAC;QACJ,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;AACF,CAAC;AAED,SAAS,oBAAoB,CAC5B,IAAa,EACb,WAAwB,EACxB,SAAsB,EACtB,gBAAgB,GAAG,KAAK;IAExB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACd,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,CAAC;IAC3D,MAAM,aAAa,GAClB,QAAQ,CAAC,KAAK,CAAC;QACf,CAAC,KAAK,CAAC,aAAa,KAAK,gCAAgC;YACxD,KAAK,CAAC,cAAc,KAAK,gCAAgC,CAAC,CAAC;IAC7D,IAAI,CAAC,gBAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACd,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,WAAW,CACnC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,aAAa,CACtC,EAAE,CAAC;QACH,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,WAAW,CACjC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,mBAAmB,CAClD,EAAE,CAAC;QACH,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;QAC3D,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;YACnD,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,SAAS;YACV,CAAC;YACD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,YAAY,CAAC;YAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,EAAE,CAAC;gBAClD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC;YACzD,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBAC9C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzB,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,gBAAgB,IAAI,aAAa,CAAC;AAC1C,CAAC;AAED,SAAS,iCAAiC,CACzC,QAAiC;IAEjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7B,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAG/B,CAAC;IACJ,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,oBAAoB,IAAI,EAAE,EAAE,CAAC;QACrD,kBAAkB,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IACD,MAAM,cAAc,GAAG;QACtB,GAAG,KAAK,CAAC,aAAa;QACtB,GAAG,KAAK,CAAC,iBAAiB;QAC1B,GAAG,KAAK,CAAC,oBAAoB;QAC7B,GAAG,KAAK,CAAC,wBAAwB;QACjC,GAAG,KAAK,CAAC,mBAAmB;QAC5B,GAAG,KAAK,CAAC,oBAAoB;KAC7B,CAAC;IACF,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAU,CAAC;IACpD,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,oBAAoB,CAC5C,MAAM,CAAC,IAAI,EACX,WAAW,EACX,SAAS,EACT,mBAAmB,CACnB,CAAC;QACF,IAAI,mBAAmB,IAAI,gBAAgB,EAAE,CAAC;YAC7C,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC9C,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrC,mCAAmC,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IACD,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;QAC7C,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC5D,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClE,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,mCAAmC,CAClC,EAAE,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,EACtD,kBAAkB,CAClB,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACzE,oBAAoB,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CACrE,CAAC;IACF,MAAM,4BAA4B,GAAG,WAAW,CAAC,MAAM,CACtD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,6BAA6B,CAAC,IAAI,CAAC,MAAM,CAAC,CACrD,CAAC,MAAM,CAAC;IACT,MAAM,uBAAuB,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CACxD,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAC3D,CAAC,MAAM,CAAC;IACT,MAAM,wBAAwB,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAC1D,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CACtD,CAAC,MAAM,CAAC;IACT,MAAM,yBAAyB,GAAG,IAAI,CAAC,GAAG,CACzC,gBAAgB,CAAC,IAAI,EACrB,WAAW,CAAC,MAAM,CAClB,CAAC;IACF,OAAO;QACN,gBAAgB,EAAE,qCAAqC;QACvD,6BAA6B,EAAE,gCAAgC;QAC/D,iBAAiB,EAChB,WAAW,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,uBAAuB,GAAG,4BAA4B;YACxD,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM;QAC7B,kBAAkB,EACjB,WAAW,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,wBAAwB,GAAG,yBAAyB;YACtD,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM;QAC9B,qBAAqB,EACpB,KAAK,CAAC,iBAAiB,CAAC,MAAM;YAC9B,KAAK,CAAC,oBAAoB,CAAC,MAAM;YACjC,KAAK,CAAC,wBAAwB,CAAC,MAAM;YACrC,KAAK,CAAC,mBAAmB,CAAC,MAAM;YAChC,KAAK,CAAC,oBAAoB,CAAC,MAAM;QAClC,4BAA4B,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,EAAE;QAC1D,4BAA4B,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,EAAE;QACrD,yBAAyB,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE;QAChD,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACtC,KAA6B,EAC7B,OAAiC;IAEjC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC1C,IAAI,CAAC,YAAY,EAAE,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;QAC7D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,6BAA6B,CAClD,YAAY,EACZ,eAAe,CACf,CAAC;IACF,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,OAAO,CAC3B,aAAa,EACb,YAAY,CAAC,YAAY,IAAI,2BAA2B,CACxD,CAAC;IACF,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CACxB,YAAY,EACZ,oBAAoB,CAAC,YAAY,CAAC,eAAe,EAAE,WAAW,CAAC,CAC/D,CAAC;IACF,MAAM,WAAW,GAAG,MAAM,2BAA2B,CACpD,aAAa,EACb,KAAK,CAAC,WAAW,CACjB,CAAC;IACF,MAAM,eAAe,GACpB,YAAY,CAAC,sBAAsB;QACnC,YAAY,CAAC,0BAA0B,CAAC;IACzC,MAAM,gBAAgB,GAAG,eAAe,IAAI,YAAY,CAAC,eAAe,CAAC;IAEzE,IAAI,MAAM,GAA4B,4BAA4B,CAAC,OAAO,CAAC;IAC3E,IAAI,OAAO,GAA4C;QACtD,YAAY,EAAE,mCAAmC,CAAC,OAAO;QACzD,UAAU,EAAE,gBAAgB;KAC5B,CAAC;IACF,IAAI,eAAoD,CAAC;IACzD,IAAI,mBAEQ,CAAC;IAEb,IAAI,eAAe,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC7C,IAAI,CAAC;YACJ,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,eAAe,EAAE;gBACjE,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,YAAY,EAAE,YAAY;aAC1B,CAAC,CAAC;YACH,MAAM,sBAAsB,GAC3B,aAAa,EAAE,eAAe;gBAC9B,aAAa,EAAE,QAAQ,EAAE,eAAe,CAAC;YAC1C,MAAM,aAAa,GAClB,aAAa,EAAE,MAAM,IAAI,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC;YAC1D,OAAO,GAAG,aAAa;gBACtB,CAAC,CAAC;oBACA,YAAY,EAAE,mCAAmC,CAAC,SAAS;oBAC3D,UAAU,EAAE,aAAa,CAAC,SAAS;oBACnC,GAAG,CAAC,aAAa,CAAC,WAAW;wBAC5B,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,CAAC,WAAW,EAAE;wBAC7C,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,sBAAsB;wBACzB,CAAC,CAAC,EAAE,gBAAgB,EAAE,sBAAsB,EAAE;wBAC9C,CAAC,CAAC,EAAE,CAAC;oBACN,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACjE;gBACF,CAAC,CAAC;oBACA,YAAY,EAAE,mCAAmC,CAAC,OAAO;oBACzD,UAAU,EAAE,eAAe;iBAC3B,CAAC;YACJ,eAAe,GAAG,aAAa,EAAE,QAAQ,CAAC;YAC1C,mBAAmB,GAAG,aAAa,EAAE,mBAAmB,CAAC;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,4BAA4B,CAAC,WAAW,CAAC;YAClD,MAAM,kBAAkB,GACvB,KAAK,YAAY,6BAA6B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,eAAe,GAAG,kBAAkB,EAAE,QAAQ,CAAC;YAC/C,mBAAmB,GAAG,kBAAkB,EAAE,mBAAmB,CAAC;YAC9D,OAAO,GAAG;gBACT,YAAY,EAAE,mCAAmC,CAAC,MAAM;gBACxD,UAAU,EAAE,kBAAkB,EAAE,SAAS,IAAI,eAAe;gBAC5D,GAAG,CAAC,kBAAkB,EAAE,WAAW;oBAClC,CAAC,CAAC,EAAE,YAAY,EAAE,kBAAkB,CAAC,WAAW,EAAE;oBAClD,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,kBAAkB,EAAE,eAAe;oBACtC,CAAC,CAAC,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,eAAe,EAAE;oBAC1D,CAAC,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,kBAAkB,EAAE,MAAM,KAAK,SAAS;oBAC3C,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE;oBACvC,CAAC,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,sBAAsB,CAC5B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACtD;aACD,CAAC;QACH,CAAC;IACF,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,QAAQ,GACb,eAAe;QACf,yBAAyB,CAAC,gBAAgB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,iCAAiC,CAAC,QAAQ,CAAC,CAAC;IACnE,MAAM,eAAe,GAAG,gCAAgC,EAAE,CAAC;IAC3D,MAAM,iBAAiB,GAAG,kCAAkC,CAAC;QAC5D,YAAY;QACZ,gBAAgB;QAChB,YAAY,EAAE,YAAY;QAC1B,OAAO;QACP,aAAa;KACb,CAAC,CAAC;IACH,MAAM,gBAAgB,GAAG,iCAAiC,CAAC;QAC1D,YAAY;QACZ,MAAM;QACN,gBAAgB;QAChB,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,YAAY;QAC1B,OAAO;QACP,iBAAiB;QACjB,cAAc;QACd,eAAe;QACf,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;KAC9B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAiC;QAC9C,gBAAgB,EAAE,uCAAuC;QACzD,iBAAiB,EAAE,YAAY,CAAC,eAAe;QAC/C,GAAG,CAAC,YAAY,CAAC,WAAW;YAC3B,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE;YAC5C,CAAC,CAAC,EAAE,CAAC;QACN,GAAG,CAAC,YAAY,CAAC,UAAU;YAC1B,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,UAAU,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACN,kBAAkB,EAAE,gBAAgB;QACpC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,UAAU,EAAE,WAAW;QACvB,cAAc,EAAE,aAAa;QAC7B,OAAO;QACP,gBAAgB,EAAE;YACjB,IAAI,EAAE,oCAAoC,CAAC,iBAAiB;YAC5D,KAAK,EAAE,WAAW;SAClB;QACD,kBAAkB,EAAE,iBAAiB;QACrC,eAAe,EAAE,cAAc;QAC/B,iBAAiB,EAAE,gBAAgB;QACnC,QAAQ;QACR,gBAAgB,EAAE,eAAe;QACjC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvB,CAAC;IAEF,IAAI,CAAC;QACJ,MAAM,SAAS,CACd,YAAY,EACZ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EACxC,MAAM,CACN,CAAC;QACF,YAAY,CAAC,SAAS,GAAG;YACxB,MAAM;YACN,YAAY,EAAE,YAAY;YAC1B,SAAS,EAAE,WAAW;YACtB,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,YAAY,GAAG,oDACpB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,EAAE,CAAC;QACH,MAAM,mBAAmB,EAAE,CAAC;YAC3B,MAAM,EAAE,4BAA4B,CAAC,WAAW;YAChD,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,OAAO,CAAC,YAAY;YACjC,YAAY,EAAE,YAAY;YAC1B,gBAAgB,EAAE,iCAAiC,CAAC;gBACnD,YAAY;gBACZ,MAAM,EAAE,4BAA4B,CAAC,WAAW;gBAChD,gBAAgB;gBAChB,SAAS,EAAE,WAAW;gBACtB,YAAY,EAAE,YAAY;gBAC1B,OAAO;gBACP,iBAAiB;gBACjB,cAAc;gBACd,eAAe;gBACf,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,WAAW,EAAE,KAAK,CAAC,WAAW;aAC9B,CAAC;YACF,YAAY;SACZ,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACb,CAAC;IACD,MAAM,mBAAmB,EAAE,CAAC;QAC3B,MAAM;QACN,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,OAAO,CAAC,YAAY;QACjC,YAAY,EAAE,YAAY;QAC1B,gBAAgB;QAChB,YAAY,EAAE,OAAO,CAAC,KAAK;KAC3B,CAAC,CAAC;IAEH,OAAO;QACN,MAAM;QACN,iBAAiB,EAAE,YAAY,CAAC,eAAe;QAC/C,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,aAAa,EAAE,YAAY;QAC3B,QAAQ;KACR,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAChC,OAAwC,EACxC,SAAiB,EACjB,SAA2C;IAE3C,MAAM,OAAO,GACZ,OAAO,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACb,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAG,KAAK,EAChC,KAA2C,EAC1C,EAAE;QACH,MAAM,OAAO,CAAC,6BAA6B,CAAC;YAC3C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAC/B,CAAC,CAAC,+BAA+B,KAAK,CAAC,YAAY,EAAE;gBACrD,CAAC,CAAC,SAAS;SACZ,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,IAAI,CAAC;QACJ,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,6BAA6B,CACtC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD;YACC,SAAS,EAAE,QAAQ,CAAC,UAAU;YAC9B,WAAW;YACX,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ;YACR,mBAAmB;SACnB,CACD,CAAC;IACH,CAAC;IACD,OAAO;QACN,SAAS,EAAE,QAAQ,CAAC,UAAU;QAC9B,WAAW;QACX,eAAe,EAAE,QAAQ,CAAC,eAAe;QACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ;QACR,mBAAmB;KACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CACjD,OAAwC,EACxC,UAA+C,EAAE;IAEjD,OAAO,iBAAiB,CACvB;QACC,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,4BAA4B,CAAC,eAAe;QACtE,WAAW,EACV,OAAO,CAAC,WAAW;YACnB,iCAAiC,CAAC,gBAAgB;KACnD,EACD;QACC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CACrC,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QACjD,GAAG,EAAE,OAAO,CAAC,GAAG;KAChB,CACD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,GAAoB,EACpB,GAAmB,EACnB,OAAyB;IAEzB,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,YAAY,CAA0B,GAAG,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,KAAK,EAAE;QAC7C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,YAAY,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,CACrC,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;KACjD,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,QAAQ,CACP,GAAG,EACH,GAAG,EACH;YACC,KAAK,EAAE,iCAAiC;SACxC,EACD,OAAO,CAAC,WAAW,EACnB,GAAG,CACH,CAAC;QACF,OAAO;IACR,CAAC;IAED,QAAQ,CACP,GAAG,EACH,MAAM,CAAC,MAAM,KAAK,4BAA4B,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EACtE;QACC,gBAAgB,EAAE,oCAAoC;QACtD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;KACzB,EACD,OAAO,CAAC,WAAW,EACnB,GAAG,CACH,CAAC;AACH,CAAC","sourcesContent":["import { execFile } from \"node:child_process\";\nimport { mkdir, realpath, stat, writeFile } from \"node:fs/promises\";\nimport type { IncomingMessage, ServerResponse } from \"node:http\";\nimport { isAbsolute, join, relative, resolve } from \"node:path\";\nimport { promisify } from \"node:util\";\nimport {\n\tCODEX_SUBAGENT_TOOL_PREFIX,\n\tCODEX_SUBAGENT_WORK_GRAPH_SCHEMA,\n\tHEADLESS_PROTOCOL_VERSION,\n\ttype HeadlessCodexSubagentContinuityEdge,\n\tactiveCodexSubagentStatus,\n\tbuildCodexSubagentContinuityEdges,\n\tcodexSubagentEdgeKey,\n\tcodexSubagentOperation,\n\tcodexSubagentStatusIsTerminal,\n\tcreateHeadlessRuntimeState,\n\tstringArray,\n} from \"../../cli/headless-protocol.js\";\nimport { sanitizeWithStaticMask } from \"../../utils/secret-redactor.js\";\nimport type { HostedRunnerContext, WebServerContext } from \"../app-context.js\";\nimport type { HeadlessRuntimeSnapshot } from \"../headless-runtime-service.js\";\nimport {\n\tHOSTED_RUNNER_LEASE_PROTOCOL_VERSION,\n\ttype HostedRunnerLeaseSnapshot,\n\tmarkHostedRunnerLeaseDraining,\n} from \"../hosted-runner-lease.js\";\nimport { ApiError, readJsonBody, sendJson } from \"../server-utils.js\";\n\nconst execFileAsync = promisify(execFile);\n\nexport const HOSTED_RUNNER_DRAIN_PATH =\n\t\"/.well-known/evalops/remote-runner/drain\";\n\nexport const HOSTED_RUNNER_DRAIN_PROTOCOL_VERSION =\n\t\"evalops.remote-runner.drain.v1\";\n\nexport const HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION =\n\t\"evalops.remote-runner.snapshot-manifest.v1\";\n\nexport const HOSTED_RUNNER_RETENTION_POLICY_VERSION =\n\t\"evalops.remote-runner.retention.v1\";\n\nexport const HOSTED_RUNNER_WORK_CONTINUITY_VERSION =\n\t\"evalops.remote-runner.work-continuity.v1\";\n\nexport const HOSTED_RUNNER_PLATFORM_EVIDENCE_VERSION =\n\t\"evalops.remote-runner.platform-evidence.v1\";\n\nexport const HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION =\n\t\"evalops.remote-runner.runtime-continuity.v1\";\n\nexport enum HostedRunnerDrainStatusValue {\n\tDrained = \"drained\",\n\tInterrupted = \"interrupted\",\n}\n\nexport enum HostedRunnerRuntimeFlushStatusValue {\n\tCompleted = \"completed\",\n\tFailed = \"failed\",\n\tSkipped = \"skipped\",\n}\n\nexport enum HostedRunnerWorkspaceExportPathTypeValue {\n\tFile = \"file\",\n\tDirectory = \"directory\",\n\tOther = \"other\",\n}\n\nexport enum HostedRunnerWorkspaceExportModeValue {\n\tLocalPathContract = \"local_path_contract\",\n}\n\nexport enum HostedRunnerDrainReasonValue {\n\tKubernetesPreStop = \"kubernetes_prestop\",\n\tProcessShutdown = \"process_shutdown\",\n}\n\nexport enum HostedRunnerDrainRequestedByValue {\n\tKubernetesPreStop = \"kubernetes_prestop\",\n\tMaestroWebServer = \"maestro_web_server\",\n}\n\nexport type HostedRunnerDrainStatus = HostedRunnerDrainStatusValue;\nexport type HostedRunnerRuntimeFlushStatus =\n\tHostedRunnerRuntimeFlushStatusValue;\nexport type HostedRunnerWorkspaceExportPathType =\n\tHostedRunnerWorkspaceExportPathTypeValue;\nexport type HostedRunnerWorkspaceExportMode =\n\tHostedRunnerWorkspaceExportModeValue;\nexport type HostedRunnerDrainReason = HostedRunnerDrainReasonValue | string;\nexport type HostedRunnerDrainRequestedBy =\n\t| HostedRunnerDrainRequestedByValue\n\t| string;\n\nexport interface HostedRunnerRetentionPolicy {\n\tpolicy_version: typeof HOSTED_RUNNER_RETENTION_POLICY_VERSION;\n\tmanaged_by: \"platform\";\n\tvisibility: {\n\t\tcontrol_plane_metadata: \"operator\";\n\t\tworkspace_export: \"tenant\";\n\t\truntime_snapshot: \"internal\";\n\t\truntime_logs: \"operator\";\n\t};\n\tredaction: {\n\t\trequired_before_external_persistence: Array<\n\t\t\t\"runtime_snapshot\" | \"runtime_logs\"\n\t\t>;\n\t\tforbidden_plaintext: Array<\n\t\t\t| \"provider_credentials\"\n\t\t\t| \"tool_secrets\"\n\t\t\t| \"attach_tokens\"\n\t\t\t| \"artifact_access_tokens\"\n\t\t\t| \"raw_environment\"\n\t\t>;\n\t};\n}\n\nexport interface HostedRunnerDrainInput {\n\treason?: HostedRunnerDrainReason;\n\trequestedBy?: HostedRunnerDrainRequestedBy;\n\texportPaths?: string[];\n}\n\nexport interface HostedRunnerRuntimeDrainResult {\n\tsessionId: string;\n\tsessionFile?: string;\n\tprotocolVersion?: string;\n\tcursor?: number;\n\tsnapshot?: HeadlessRuntimeSnapshot;\n\trecordPlatformDrain?: (\n\t\tinput: HostedRunnerPlatformDrainRecordInput,\n\t) => Promise<void>;\n}\n\nclass HostedRunnerRuntimeDrainError extends Error {\n\treadonly sessionId: string;\n\treadonly sessionFile?: string;\n\treadonly protocolVersion?: string;\n\treadonly cursor?: number;\n\treadonly snapshot?: HeadlessRuntimeSnapshot;\n\treadonly recordPlatformDrain?: (\n\t\tinput: HostedRunnerPlatformDrainRecordInput,\n\t) => Promise<void>;\n\n\tconstructor(message: string, runtime: HostedRunnerRuntimeDrainResult) {\n\t\tsuper(message);\n\t\tthis.name = \"HostedRunnerRuntimeDrainError\";\n\t\tthis.sessionId = runtime.sessionId;\n\t\tthis.sessionFile = runtime.sessionFile;\n\t\tthis.protocolVersion = runtime.protocolVersion;\n\t\tthis.cursor = runtime.cursor;\n\t\tthis.snapshot = runtime.snapshot;\n\t\tthis.recordPlatformDrain = runtime.recordPlatformDrain;\n\t}\n}\n\nexport interface HostedRunnerWorkspaceExportPath {\n\tinput: string;\n\tpath: string;\n\trelative_path: string;\n\ttype: HostedRunnerWorkspaceExportPathType;\n}\n\nexport interface HostedRunnerSnapshotManifest {\n\tprotocol_version: typeof HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION;\n\trunner_session_id: string;\n\tworkspace_id?: string;\n\tagent_run_id?: string;\n\tmaestro_session_id: string;\n\treason?: string;\n\trequested_by?: string;\n\tcreated_at: string;\n\tworkspace_root: string;\n\truntime: {\n\t\tflush_status: HostedRunnerRuntimeFlushStatus;\n\t\terror?: string;\n\t\tsession_id: string;\n\t\tsession_file?: string;\n\t\tprotocol_version?: string;\n\t\tcursor?: number;\n\t};\n\tworkspace_export: {\n\t\tmode: HostedRunnerWorkspaceExportMode;\n\t\tpaths: HostedRunnerWorkspaceExportPath[];\n\t};\n\truntime_continuity: HostedRunnerRuntimeContinuity;\n\twork_continuity: HostedRunnerWorkContinuity;\n\tplatform_evidence: HostedRunnerPlatformEvidence;\n\tsnapshot: HeadlessRuntimeSnapshot;\n\tretention_policy: HostedRunnerRetentionPolicy;\n\tgit?: {\n\t\tcommit?: string;\n\t\tbranch?: string;\n\t\tdirty?: boolean;\n\t};\n}\n\nexport interface HostedRunnerRuntimeContinuity {\n\tprotocol_version: typeof HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION;\n\thandoff: \"drain_restore\";\n\tsource_runner_session_id: string;\n\tsource_owner_instance_id?: string;\n\tsource_process_id: number;\n\tsource_runtime_lease?: {\n\t\tprotocol_version: typeof HOSTED_RUNNER_LEASE_PROTOCOL_VERSION;\n\t\tstate: HostedRunnerLeaseSnapshot[\"state\"];\n\t\tgeneration: number;\n\t\tmaestro_session_id?: string;\n\t\tupdated_at: string;\n\t};\n\trestore_environment_key: \"MAESTRO_REMOTE_RUNNER_RESTORE_MANIFEST\";\n\trestore_manifest_path: string;\n\tevidence_refs: string[];\n}\n\nexport interface HostedRunnerWorkContinuity {\n\tprotocol_version: typeof HOSTED_RUNNER_WORK_CONTINUITY_VERSION;\n\tcodex_subagent_schema_version: typeof CODEX_SUBAGENT_WORK_GRAPH_SCHEMA;\n\tactive_tool_count: number;\n\ttracked_tool_count: number;\n\tpending_request_count: number;\n\tcodex_subagent_tool_call_ids: string[];\n\tcodex_subagent_child_run_ids: string[];\n\tcodex_subagent_thread_ids: string[];\n\tcodex_subagent_edges?: HeadlessCodexSubagentContinuityEdge[];\n}\n\nexport interface HostedRunnerPlatformEvidence {\n\tprotocol_version: typeof HOSTED_RUNNER_PLATFORM_EVIDENCE_VERSION;\n\tevent_type: \"hosted_runner_drain_manifest_recorded\";\n\trunner_session_id: string;\n\tworkspace_id?: string;\n\tagent_run_id?: string;\n\tmaestro_session_id: string;\n\tstatus: HostedRunnerDrainStatus;\n\truntime_flush_status: HostedRunnerRuntimeFlushStatus;\n\tmanifest_path: string;\n\tmanifest_protocol_version: typeof HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION;\n\tcreated_at: string;\n\treason?: string;\n\trequested_by?: string;\n\twork_continuity: {\n\t\tprotocol_version: typeof HOSTED_RUNNER_WORK_CONTINUITY_VERSION;\n\t\tcodex_subagent_schema_version: typeof CODEX_SUBAGENT_WORK_GRAPH_SCHEMA;\n\t\tactive_tool_count: number;\n\t\ttracked_tool_count: number;\n\t\tpending_request_count: number;\n\t\tcodex_subagent_tool_call_count: number;\n\t\tcodex_subagent_child_run_count: number;\n\t\tcodex_subagent_thread_count: number;\n\t\tcodex_subagent_edge_count: number;\n\t\tcodex_subagent_tool_call_ids: string[];\n\t\tcodex_subagent_child_run_ids: string[];\n\t\tcodex_subagent_thread_ids: string[];\n\t\tcodex_subagent_edges?: HeadlessCodexSubagentContinuityEdge[];\n\t};\n\truntime_continuity: {\n\t\tprotocol_version: typeof HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION;\n\t\thandoff: \"drain_restore\";\n\t\tsource_owner_instance_id?: string;\n\t\tsource_process_id: number;\n\t\tsource_runtime_lease_generation?: number;\n\t\trestore_manifest_path: string;\n\t};\n\tretention: {\n\t\tpolicy_version: typeof HOSTED_RUNNER_RETENTION_POLICY_VERSION;\n\t\tcontrol_plane_metadata_visibility: \"operator\";\n\t\truntime_snapshot_visibility: \"internal\";\n\t\tredaction_required_before_external_persistence: Array<\n\t\t\t\"runtime_snapshot\" | \"runtime_logs\"\n\t\t>;\n\t};\n\tevidence_refs: string[];\n}\n\nexport interface HostedRunnerPlatformDrainRecordInput {\n\tstatus: HostedRunnerDrainStatus;\n\treason?: string;\n\trequestedBy?: string;\n\tflushStatus: HostedRunnerRuntimeFlushStatus;\n\tmanifestPath: string;\n\tplatformEvidence: HostedRunnerPlatformEvidence;\n\terrorMessage?: string;\n}\n\nexport interface HostedRunnerDrainResult {\n\tstatus: HostedRunnerDrainStatus;\n\trunner_session_id: string;\n\treason?: string;\n\trequested_by?: string;\n\tmanifest_path: string;\n\tmanifest: HostedRunnerSnapshotManifest;\n}\n\nexport interface DrainHostedRunnerOptions {\n\thostedRunner?: HostedRunnerContext;\n\tdrainRuntime?: (\n\t\tsessionId: string,\n\t\tterminal: HostedRunnerRuntimeTerminalInput,\n\t) => Promise<HostedRunnerRuntimeDrainResult | null>;\n\tnow?: () => Date;\n}\n\ninterface HostedRunnerDrainRuntimeContext {\n\thostedRunner?: HostedRunnerContext;\n\theadlessRuntimeService: Pick<\n\t\tWebServerContext[\"headlessRuntimeService\"],\n\t\t\"getRuntimeBySessionId\"\n\t>;\n}\n\nexport interface DrainHostedRunnerForShutdownOptions {\n\tnow?: () => Date;\n\treason?: HostedRunnerDrainReason;\n\trequestedBy?: HostedRunnerDrainRequestedBy;\n}\n\ninterface HostedRunnerRuntimeTerminalInput {\n\treason?: HostedRunnerDrainReason;\n\trequestedBy?: HostedRunnerDrainRequestedBy;\n\tmanifestPath?: string;\n}\n\nfunction getString(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 ApiError(400, `${field} must be a string`);\n\t}\n\tconst trimmed = value.trim();\n\treturn trimmed || undefined;\n}\n\nfunction getStringArray(value: unknown, field: string): string[] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!Array.isArray(value)) {\n\t\tthrow new ApiError(400, `${field} must be an array of strings`);\n\t}\n\tconst strings = value.map((entry, index) => {\n\t\tif (typeof entry !== \"string\" || !entry.trim()) {\n\t\t\tthrow new ApiError(400, `${field}[${index}] must be a non-empty string`);\n\t\t}\n\t\tif (entry.includes(\"\\0\")) {\n\t\t\tthrow new ApiError(400, `${field}[${index}] contains a null byte`);\n\t\t}\n\t\treturn entry.trim();\n\t});\n\treturn strings.length ? strings : undefined;\n}\n\nexport function parseHostedRunnerDrainInput(\n\tbody: unknown,\n): HostedRunnerDrainInput {\n\tif (body === undefined || body === null) {\n\t\treturn {};\n\t}\n\tif (typeof body !== \"object\" || Array.isArray(body)) {\n\t\tthrow new ApiError(400, \"Drain payload must be a JSON object\");\n\t}\n\tconst record = body as Record<string, unknown>;\n\treturn {\n\t\treason:\n\t\t\tgetString(record.reason, \"reason\") ??\n\t\t\tgetString(record.stop_reason, \"stop_reason\"),\n\t\trequestedBy:\n\t\t\tgetString(record.requested_by, \"requested_by\") ??\n\t\t\tgetString(record.requestedBy, \"requestedBy\"),\n\t\texportPaths:\n\t\t\tgetStringArray(record.export_paths, \"export_paths\") ??\n\t\t\tgetStringArray(record.exportPaths, \"exportPaths\"),\n\t};\n}\n\nfunction isWithinPath(root: string, target: string): boolean {\n\tconst rel = relative(root, target);\n\treturn rel === \"\" || (!rel.startsWith(\"..\") && !isAbsolute(rel));\n}\n\nfunction safeManifestFileName(\n\trunnerSessionId: string,\n\trequestedAt: string,\n): string {\n\tconst safeSession = runnerSessionId.replace(/[^A-Za-z0-9_.-]/g, \"_\");\n\tconst safeTimestamp = requestedAt.replace(/[^A-Za-z0-9_.-]/g, \"_\");\n\treturn `${safeSession}-${safeTimestamp}.json`;\n}\n\nasync function resolveWorkspaceRoot(\n\thostedRunner: HostedRunnerContext,\n): Promise<string> {\n\ttry {\n\t\tconst workspaceRoot = await realpath(hostedRunner.workspaceRoot);\n\t\tconst stats = await stat(workspaceRoot);\n\t\tif (!stats.isDirectory()) {\n\t\t\tthrow new ApiError(\n\t\t\t\t503,\n\t\t\t\t\"Hosted runner workspace root is not a directory\",\n\t\t\t);\n\t\t}\n\t\treturn workspaceRoot;\n\t} catch (error) {\n\t\tif (error instanceof ApiError) {\n\t\t\tthrow error;\n\t\t}\n\t\tthrow new ApiError(\n\t\t\t503,\n\t\t\t`Hosted runner workspace root is unavailable: ${\n\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t}`,\n\t\t);\n\t}\n}\n\nasync function resolveWorkspaceExportPaths(\n\tworkspaceRoot: string,\n\texportPaths: readonly string[] | undefined,\n): Promise<HostedRunnerWorkspaceExportPath[]> {\n\tconst requested = exportPaths?.length ? exportPaths : [\".\"];\n\tconst paths: HostedRunnerWorkspaceExportPath[] = [];\n\tfor (const input of requested) {\n\t\tconst logicalPath = isAbsolute(input)\n\t\t\t? resolve(input)\n\t\t\t: resolve(workspaceRoot, input);\n\t\tlet realPath: string;\n\t\ttry {\n\t\t\trealPath = await realpath(logicalPath);\n\t\t} catch (error) {\n\t\t\tthrow new ApiError(\n\t\t\t\t400,\n\t\t\t\t`Export path is unavailable: ${input} (${\n\t\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t\t})`,\n\t\t\t);\n\t\t}\n\t\tif (!isWithinPath(workspaceRoot, realPath)) {\n\t\t\tthrow new ApiError(\n\t\t\t\t400,\n\t\t\t\t`Export path escapes hosted runner workspace root: ${input}`,\n\t\t\t);\n\t\t}\n\t\tconst pathStat = await stat(realPath);\n\t\tpaths.push({\n\t\t\tinput,\n\t\t\tpath: realPath,\n\t\t\trelative_path: relative(workspaceRoot, realPath) || \".\",\n\t\t\ttype: pathStat.isDirectory()\n\t\t\t\t? HostedRunnerWorkspaceExportPathTypeValue.Directory\n\t\t\t\t: pathStat.isFile()\n\t\t\t\t\t? HostedRunnerWorkspaceExportPathTypeValue.File\n\t\t\t\t\t: HostedRunnerWorkspaceExportPathTypeValue.Other,\n\t\t});\n\t}\n\treturn paths;\n}\n\nasync function gitOutput(\n\tworkspaceRoot: string,\n\targs: readonly string[],\n): Promise<string | undefined> {\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\n\t\t\t\"git\",\n\t\t\t[\"-C\", workspaceRoot, ...args],\n\t\t\t{\n\t\t\t\tencoding: \"utf8\",\n\t\t\t\ttimeout: 1000,\n\t\t\t},\n\t\t);\n\t\tconst output = stdout.trim();\n\t\treturn output || undefined;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nasync function collectGitState(\n\tworkspaceRoot: string,\n): Promise<HostedRunnerSnapshotManifest[\"git\"] | undefined> {\n\tconst [commit, branch, status] = await Promise.all([\n\t\tgitOutput(workspaceRoot, [\"rev-parse\", \"HEAD\"]),\n\t\tgitOutput(workspaceRoot, [\"rev-parse\", \"--abbrev-ref\", \"HEAD\"]),\n\t\tgitOutput(workspaceRoot, [\"status\", \"--porcelain\"]),\n\t]);\n\tif (!commit && !branch && status === undefined) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\t...(commit ? { commit } : {}),\n\t\t...(branch && branch !== \"HEAD\" ? { branch } : {}),\n\t\tdirty: Boolean(status),\n\t};\n}\n\nfunction buildHostedRunnerSnapshot(\n\tsessionId: string,\n\tworkspaceRoot: string,\n\truntime: HostedRunnerSnapshotManifest[\"runtime\"],\n): HeadlessRuntimeSnapshot {\n\tconst state = createHeadlessRuntimeState();\n\tstate.protocol_version =\n\t\truntime.protocol_version ?? HEADLESS_PROTOCOL_VERSION;\n\tstate.session_id = sessionId;\n\tstate.cwd = workspaceRoot;\n\tstate.provider = \"typescript\";\n\tstate.model = \"typescript-hosted-runner\";\n\tstate.is_ready =\n\t\truntime.flush_status === HostedRunnerRuntimeFlushStatusValue.Completed;\n\tstate.last_status =\n\t\truntime.flush_status === HostedRunnerRuntimeFlushStatusValue.Completed\n\t\t\t? \"Drained\"\n\t\t\t: runtime.flush_status === HostedRunnerRuntimeFlushStatusValue.Failed\n\t\t\t\t? \"Drain interrupted before runtime flush completed\"\n\t\t\t\t: \"Drain skipped: no runtime activity was available\";\n\tif (runtime.error) {\n\t\tstate.last_error = runtime.error;\n\t\tstate.last_error_type = \"protocol\";\n\t}\n\treturn {\n\t\tprotocolVersion: runtime.protocol_version ?? HEADLESS_PROTOCOL_VERSION,\n\t\tsession_id: sessionId,\n\t\tcursor: runtime.cursor ?? 0,\n\t\tlast_init: null,\n\t\tstate,\n\t};\n}\n\nfunction buildHostedRunnerRetentionPolicy(): HostedRunnerRetentionPolicy {\n\treturn {\n\t\tpolicy_version: HOSTED_RUNNER_RETENTION_POLICY_VERSION,\n\t\tmanaged_by: \"platform\",\n\t\tvisibility: {\n\t\t\tcontrol_plane_metadata: \"operator\",\n\t\t\tworkspace_export: \"tenant\",\n\t\t\truntime_snapshot: \"internal\",\n\t\t\truntime_logs: \"operator\",\n\t\t},\n\t\tredaction: {\n\t\t\trequired_before_external_persistence: [\n\t\t\t\t\"runtime_snapshot\",\n\t\t\t\t\"runtime_logs\",\n\t\t\t],\n\t\t\tforbidden_plaintext: [\n\t\t\t\t\"provider_credentials\",\n\t\t\t\t\"tool_secrets\",\n\t\t\t\t\"attach_tokens\",\n\t\t\t\t\"artifact_access_tokens\",\n\t\t\t\t\"raw_environment\",\n\t\t\t],\n\t\t},\n\t};\n}\n\nfunction buildHostedRunnerRuntimeContinuity(input: {\n\thostedRunner: HostedRunnerContext;\n\tmaestroSessionId: string;\n\tmanifestPath: string;\n\truntime: HostedRunnerSnapshotManifest[\"runtime\"];\n\tleaseSnapshot: HostedRunnerLeaseSnapshot;\n}): HostedRunnerRuntimeContinuity {\n\treturn {\n\t\tprotocol_version: HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION,\n\t\thandoff: \"drain_restore\",\n\t\tsource_runner_session_id: input.hostedRunner.runnerSessionId,\n\t\t...(input.hostedRunner.ownerInstanceId\n\t\t\t? { source_owner_instance_id: input.hostedRunner.ownerInstanceId }\n\t\t\t: {}),\n\t\tsource_process_id: process.pid,\n\t\tsource_runtime_lease: {\n\t\t\tprotocol_version: HOSTED_RUNNER_LEASE_PROTOCOL_VERSION,\n\t\t\tstate: input.leaseSnapshot.state,\n\t\t\tgeneration: input.leaseSnapshot.generation,\n\t\t\t...(input.leaseSnapshot.maestroSessionId\n\t\t\t\t? { maestro_session_id: input.leaseSnapshot.maestroSessionId }\n\t\t\t\t: {}),\n\t\t\tupdated_at: input.leaseSnapshot.updatedAt,\n\t\t},\n\t\trestore_environment_key: \"MAESTRO_REMOTE_RUNNER_RESTORE_MANIFEST\",\n\t\trestore_manifest_path: input.manifestPath,\n\t\tevidence_refs: [\n\t\t\t`remote-runner://sessions/${input.hostedRunner.runnerSessionId}/drain#snapshot`,\n\t\t\t`maestro://headless/sessions/${input.maestroSessionId}#cursor:${\n\t\t\t\tinput.runtime.cursor ?? 0\n\t\t\t}`,\n\t\t],\n\t};\n}\n\nfunction buildHostedRunnerPlatformEvidence(input: {\n\thostedRunner: HostedRunnerContext;\n\tstatus: HostedRunnerDrainStatus;\n\tmaestroSessionId: string;\n\tcreatedAt: string;\n\tmanifestPath: string;\n\truntime: HostedRunnerSnapshotManifest[\"runtime\"];\n\truntimeContinuity: HostedRunnerRuntimeContinuity;\n\tworkContinuity: HostedRunnerWorkContinuity;\n\tretentionPolicy: HostedRunnerRetentionPolicy;\n\treason?: string;\n\trequestedBy?: string;\n}): HostedRunnerPlatformEvidence {\n\tconst edges = input.workContinuity.codex_subagent_edges ?? [];\n\treturn {\n\t\tprotocol_version: HOSTED_RUNNER_PLATFORM_EVIDENCE_VERSION,\n\t\tevent_type: \"hosted_runner_drain_manifest_recorded\",\n\t\trunner_session_id: input.hostedRunner.runnerSessionId,\n\t\t...(input.hostedRunner.workspaceId\n\t\t\t? { workspace_id: input.hostedRunner.workspaceId }\n\t\t\t: {}),\n\t\t...(input.hostedRunner.agentRunId\n\t\t\t? { agent_run_id: input.hostedRunner.agentRunId }\n\t\t\t: {}),\n\t\tmaestro_session_id: input.maestroSessionId,\n\t\tstatus: input.status,\n\t\truntime_flush_status: input.runtime.flush_status,\n\t\tmanifest_path: input.manifestPath,\n\t\tmanifest_protocol_version: HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION,\n\t\tcreated_at: input.createdAt,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.requestedBy ? { requested_by: input.requestedBy } : {}),\n\t\twork_continuity: {\n\t\t\tprotocol_version: input.workContinuity.protocol_version,\n\t\t\tcodex_subagent_schema_version:\n\t\t\t\tinput.workContinuity.codex_subagent_schema_version,\n\t\t\tactive_tool_count: input.workContinuity.active_tool_count,\n\t\t\ttracked_tool_count: input.workContinuity.tracked_tool_count,\n\t\t\tpending_request_count: input.workContinuity.pending_request_count,\n\t\t\tcodex_subagent_tool_call_count:\n\t\t\t\tinput.workContinuity.codex_subagent_tool_call_ids.length,\n\t\t\tcodex_subagent_child_run_count:\n\t\t\t\tinput.workContinuity.codex_subagent_child_run_ids.length,\n\t\t\tcodex_subagent_thread_count:\n\t\t\t\tinput.workContinuity.codex_subagent_thread_ids.length,\n\t\t\tcodex_subagent_edge_count: edges.length,\n\t\t\tcodex_subagent_tool_call_ids:\n\t\t\t\tinput.workContinuity.codex_subagent_tool_call_ids,\n\t\t\tcodex_subagent_child_run_ids:\n\t\t\t\tinput.workContinuity.codex_subagent_child_run_ids,\n\t\t\tcodex_subagent_thread_ids: input.workContinuity.codex_subagent_thread_ids,\n\t\t\t...(edges.length > 0 ? { codex_subagent_edges: edges } : {}),\n\t\t},\n\t\truntime_continuity: {\n\t\t\tprotocol_version: input.runtimeContinuity.protocol_version,\n\t\t\thandoff: input.runtimeContinuity.handoff,\n\t\t\t...(input.runtimeContinuity.source_owner_instance_id\n\t\t\t\t? {\n\t\t\t\t\t\tsource_owner_instance_id:\n\t\t\t\t\t\t\tinput.runtimeContinuity.source_owner_instance_id,\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t\tsource_process_id: input.runtimeContinuity.source_process_id,\n\t\t\t...(input.runtimeContinuity.source_runtime_lease\n\t\t\t\t? {\n\t\t\t\t\t\tsource_runtime_lease_generation:\n\t\t\t\t\t\t\tinput.runtimeContinuity.source_runtime_lease.generation,\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t\trestore_manifest_path: input.runtimeContinuity.restore_manifest_path,\n\t\t},\n\t\tretention: {\n\t\t\tpolicy_version: input.retentionPolicy.policy_version,\n\t\t\tcontrol_plane_metadata_visibility:\n\t\t\t\tinput.retentionPolicy.visibility.control_plane_metadata,\n\t\t\truntime_snapshot_visibility:\n\t\t\t\tinput.retentionPolicy.visibility.runtime_snapshot,\n\t\t\tredaction_required_before_external_persistence:\n\t\t\t\tinput.retentionPolicy.redaction.required_before_external_persistence,\n\t\t},\n\t\tevidence_refs: [\n\t\t\t`remote-runner://sessions/${input.hostedRunner.runnerSessionId}/drain#manifest`,\n\t\t\t`maestro://headless/sessions/${input.maestroSessionId}#drain`,\n\t\t\t...(input.hostedRunner.agentRunId\n\t\t\t\t? [`platform-agent-run:${input.hostedRunner.agentRunId}`]\n\t\t\t\t: []),\n\t\t],\n\t};\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n\treturn Boolean(value && typeof value === \"object\" && !Array.isArray(value));\n}\n\nfunction collectCodexSubagentEdgesFromSource(\n\tsource: {\n\t\tcall_id: string;\n\t\ttool_execution_id?: string;\n\t\ttool: string;\n\t\targs?: unknown;\n\t},\n\tedges: Map<string, HeadlessCodexSubagentContinuityEdge>,\n): void {\n\tconst operation = codexSubagentOperation(source.tool);\n\tif (!operation) {\n\t\treturn;\n\t}\n\tconst status = activeCodexSubagentStatus(operation);\n\tfor (const edge of buildCodexSubagentContinuityEdges({\n\t\tcall_id: source.call_id,\n\t\ttool_execution_id: source.tool_execution_id,\n\t\ttool: source.tool,\n\t\targs: source.args,\n\t\tstatus,\n\t})) {\n\t\tedges.set(codexSubagentEdgeKey(edge), edge);\n\t}\n}\n\nfunction collectCodexWorkArgs(\n\targs: unknown,\n\tchildRunIds: Set<string>,\n\tthreadIds: Set<string>,\n\tincludeLooseArgs = false,\n): boolean {\n\tif (!isRecord(args)) {\n\t\treturn false;\n\t}\n\tconst graph = args.codexWorkGraph ?? args.codex_work_graph;\n\tconst hasCodexGraph =\n\t\tisRecord(graph) &&\n\t\t(graph.schemaVersion === CODEX_SUBAGENT_WORK_GRAPH_SCHEMA ||\n\t\t\tgraph.schema_version === CODEX_SUBAGENT_WORK_GRAPH_SCHEMA);\n\tif (!includeLooseArgs && !hasCodexGraph) {\n\t\treturn false;\n\t}\n\tfor (const childRunId of stringArray(\n\t\targs.childRunIds ?? args.child_run_ids,\n\t)) {\n\t\tchildRunIds.add(childRunId);\n\t}\n\tfor (const threadId of stringArray(\n\t\targs.receiverThreadIds ?? args.receiver_thread_ids,\n\t)) {\n\t\tthreadIds.add(threadId);\n\t}\n\tif (isRecord(graph)) {\n\t\tconst graphChildRuns = graph.childRuns ?? graph.child_runs;\n\t\tfor (const childRun of Array.isArray(graphChildRuns)\n\t\t\t? graphChildRuns\n\t\t\t: []) {\n\t\t\tif (!isRecord(childRun)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst childRunId = childRun.childRunId ?? childRun.child_run_id;\n\t\t\tif (typeof childRunId === \"string\" && childRunId) {\n\t\t\t\tchildRunIds.add(childRunId);\n\t\t\t}\n\t\t\tconst threadId = childRun.threadId ?? childRun.thread_id;\n\t\t\tif (typeof threadId === \"string\" && threadId) {\n\t\t\t\tthreadIds.add(threadId);\n\t\t\t}\n\t\t}\n\t}\n\treturn includeLooseArgs || hasCodexGraph;\n}\n\nfunction collectHostedRunnerWorkContinuity(\n\tsnapshot: HeadlessRuntimeSnapshot,\n): HostedRunnerWorkContinuity {\n\tconst state = snapshot.state;\n\tconst codexToolCallIds = new Set<string>();\n\tconst childRunIds = new Set<string>();\n\tconst threadIds = new Set<string>();\n\tconst codexSubagentEdges = new Map<\n\t\tstring,\n\t\tHeadlessCodexSubagentContinuityEdge\n\t>();\n\tfor (const edge of state.codex_subagent_edges ?? []) {\n\t\tcodexSubagentEdges.set(codexSubagentEdgeKey(edge), edge);\n\t\tif (edge.spawn_tool_call_id) {\n\t\t\tcodexToolCallIds.add(edge.spawn_tool_call_id);\n\t\t}\n\t\tif (edge.wait_tool_call_id) {\n\t\t\tcodexToolCallIds.add(edge.wait_tool_call_id);\n\t\t}\n\t\tif (edge.child_run_id) {\n\t\t\tchildRunIds.add(edge.child_run_id);\n\t\t}\n\t\tif (edge.thread_id) {\n\t\t\tthreadIds.add(edge.thread_id);\n\t\t}\n\t}\n\tconst trackedSources = [\n\t\t...state.tracked_tools,\n\t\t...state.pending_approvals,\n\t\t...state.pending_client_tools,\n\t\t...state.pending_mcp_elicitations,\n\t\t...state.pending_user_inputs,\n\t\t...state.pending_tool_retries,\n\t];\n\tconst codexTrackedSourceCallIds = new Set<string>();\n\tfor (const source of trackedSources) {\n\t\tconst tool = source.tool;\n\t\tconst isCodexSubagentTool = tool.startsWith(CODEX_SUBAGENT_TOOL_PREFIX);\n\t\tconst hasCodexWorkArgs = collectCodexWorkArgs(\n\t\t\tsource.args,\n\t\t\tchildRunIds,\n\t\t\tthreadIds,\n\t\t\tisCodexSubagentTool,\n\t\t);\n\t\tif (isCodexSubagentTool || hasCodexWorkArgs) {\n\t\t\tcodexTrackedSourceCallIds.add(source.call_id);\n\t\t\tcodexToolCallIds.add(source.call_id);\n\t\t\tcollectCodexSubagentEdgesFromSource(source, codexSubagentEdges);\n\t\t}\n\t}\n\tfor (const activeTool of state.active_tools) {\n\t\tif (activeTool.tool.startsWith(CODEX_SUBAGENT_TOOL_PREFIX)) {\n\t\t\tconst hasTrackedSource = codexToolCallIds.has(activeTool.call_id);\n\t\t\tcodexToolCallIds.add(activeTool.call_id);\n\t\t\tif (!hasTrackedSource) {\n\t\t\t\tcollectCodexSubagentEdgesFromSource(\n\t\t\t\t\t{ call_id: activeTool.call_id, tool: activeTool.tool },\n\t\t\t\t\tcodexSubagentEdges,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\tconst sortedEdges = [...codexSubagentEdges.values()].sort((left, right) =>\n\t\tcodexSubagentEdgeKey(left).localeCompare(codexSubagentEdgeKey(right)),\n\t);\n\tconst activeCodexSubagentEdgeCount = sortedEdges.filter(\n\t\t(edge) => !codexSubagentStatusIsTerminal(edge.status),\n\t).length;\n\tconst nonCodexActiveToolCount = state.active_tools.filter(\n\t\t(tool) => !tool.tool.startsWith(CODEX_SUBAGENT_TOOL_PREFIX),\n\t).length;\n\tconst nonCodexTrackedToolCount = state.tracked_tools.filter(\n\t\t(tool) => !codexTrackedSourceCallIds.has(tool.call_id),\n\t).length;\n\tconst trackedCodexSubagentCount = Math.max(\n\t\tcodexToolCallIds.size,\n\t\tsortedEdges.length,\n\t);\n\treturn {\n\t\tprotocol_version: HOSTED_RUNNER_WORK_CONTINUITY_VERSION,\n\t\tcodex_subagent_schema_version: CODEX_SUBAGENT_WORK_GRAPH_SCHEMA,\n\t\tactive_tool_count:\n\t\t\tsortedEdges.length > 0\n\t\t\t\t? nonCodexActiveToolCount + activeCodexSubagentEdgeCount\n\t\t\t\t: state.active_tools.length,\n\t\ttracked_tool_count:\n\t\t\tsortedEdges.length > 0\n\t\t\t\t? nonCodexTrackedToolCount + trackedCodexSubagentCount\n\t\t\t\t: state.tracked_tools.length,\n\t\tpending_request_count:\n\t\t\tstate.pending_approvals.length +\n\t\t\tstate.pending_client_tools.length +\n\t\t\tstate.pending_mcp_elicitations.length +\n\t\t\tstate.pending_user_inputs.length +\n\t\t\tstate.pending_tool_retries.length,\n\t\tcodex_subagent_tool_call_ids: [...codexToolCallIds].sort(),\n\t\tcodex_subagent_child_run_ids: [...childRunIds].sort(),\n\t\tcodex_subagent_thread_ids: [...threadIds].sort(),\n\t\t...(sortedEdges.length > 0 ? { codex_subagent_edges: sortedEdges } : {}),\n\t};\n}\n\nexport async function drainHostedRunner(\n\tinput: HostedRunnerDrainInput,\n\toptions: DrainHostedRunnerOptions,\n): Promise<HostedRunnerDrainResult | null> {\n\tconst hostedRunner = options.hostedRunner;\n\tif (!hostedRunner?.enabled || !hostedRunner.runnerSessionId) {\n\t\treturn null;\n\t}\n\n\tconst requestedAtDate = options.now?.() ?? new Date();\n\tconst leaseSnapshot = markHostedRunnerLeaseDraining(\n\t\thostedRunner,\n\t\trequestedAtDate,\n\t);\n\tconst requestedAt = requestedAtDate.toISOString();\n\tconst workspaceRoot = await resolveWorkspaceRoot(hostedRunner);\n\tconst snapshotRoot = resolve(\n\t\tworkspaceRoot,\n\t\thostedRunner.snapshotRoot ?? \".maestro/runner-snapshots\",\n\t);\n\tawait mkdir(snapshotRoot, { recursive: true });\n\tconst snapshotPath = join(\n\t\tsnapshotRoot,\n\t\tsafeManifestFileName(hostedRunner.runnerSessionId, requestedAt),\n\t);\n\tconst exportPaths = await resolveWorkspaceExportPaths(\n\t\tworkspaceRoot,\n\t\tinput.exportPaths,\n\t);\n\tconst activeSessionId =\n\t\thostedRunner.activeMaestroSessionId ??\n\t\thostedRunner.configuredMaestroSessionId;\n\tconst maestroSessionId = activeSessionId ?? hostedRunner.runnerSessionId;\n\n\tlet status: HostedRunnerDrainStatus = HostedRunnerDrainStatusValue.Drained;\n\tlet runtime: HostedRunnerSnapshotManifest[\"runtime\"] = {\n\t\tflush_status: HostedRunnerRuntimeFlushStatusValue.Skipped,\n\t\tsession_id: maestroSessionId,\n\t};\n\tlet runtimeSnapshot: HeadlessRuntimeSnapshot | undefined;\n\tlet recordPlatformDrain:\n\t\t| ((input: HostedRunnerPlatformDrainRecordInput) => Promise<void>)\n\t\t| undefined;\n\n\tif (activeSessionId && options.drainRuntime) {\n\t\ttry {\n\t\t\tconst runtimeResult = await options.drainRuntime(activeSessionId, {\n\t\t\t\treason: input.reason,\n\t\t\t\trequestedBy: input.requestedBy,\n\t\t\t\tmanifestPath: snapshotPath,\n\t\t\t});\n\t\t\tconst runtimeProtocolVersion =\n\t\t\t\truntimeResult?.protocolVersion ??\n\t\t\t\truntimeResult?.snapshot?.protocolVersion;\n\t\t\tconst runtimeCursor =\n\t\t\t\truntimeResult?.cursor ?? runtimeResult?.snapshot?.cursor;\n\t\t\truntime = runtimeResult\n\t\t\t\t? {\n\t\t\t\t\t\tflush_status: HostedRunnerRuntimeFlushStatusValue.Completed,\n\t\t\t\t\t\tsession_id: runtimeResult.sessionId,\n\t\t\t\t\t\t...(runtimeResult.sessionFile\n\t\t\t\t\t\t\t? { session_file: runtimeResult.sessionFile }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t...(runtimeProtocolVersion\n\t\t\t\t\t\t\t? { protocol_version: runtimeProtocolVersion }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t...(runtimeCursor !== undefined ? { cursor: runtimeCursor } : {}),\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tflush_status: HostedRunnerRuntimeFlushStatusValue.Skipped,\n\t\t\t\t\t\tsession_id: activeSessionId,\n\t\t\t\t\t};\n\t\t\truntimeSnapshot = runtimeResult?.snapshot;\n\t\t\trecordPlatformDrain = runtimeResult?.recordPlatformDrain;\n\t\t} catch (error) {\n\t\t\tstatus = HostedRunnerDrainStatusValue.Interrupted;\n\t\t\tconst interruptedRuntime =\n\t\t\t\terror instanceof HostedRunnerRuntimeDrainError ? error : undefined;\n\t\t\truntimeSnapshot = interruptedRuntime?.snapshot;\n\t\t\trecordPlatformDrain = interruptedRuntime?.recordPlatformDrain;\n\t\t\truntime = {\n\t\t\t\tflush_status: HostedRunnerRuntimeFlushStatusValue.Failed,\n\t\t\t\tsession_id: interruptedRuntime?.sessionId ?? activeSessionId,\n\t\t\t\t...(interruptedRuntime?.sessionFile\n\t\t\t\t\t? { session_file: interruptedRuntime.sessionFile }\n\t\t\t\t\t: {}),\n\t\t\t\t...(interruptedRuntime?.protocolVersion\n\t\t\t\t\t? { protocol_version: interruptedRuntime.protocolVersion }\n\t\t\t\t\t: {}),\n\t\t\t\t...(interruptedRuntime?.cursor !== undefined\n\t\t\t\t\t? { cursor: interruptedRuntime.cursor }\n\t\t\t\t\t: {}),\n\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t}\n\n\tconst git = await collectGitState(workspaceRoot);\n\tconst snapshot =\n\t\truntimeSnapshot ??\n\t\tbuildHostedRunnerSnapshot(maestroSessionId, workspaceRoot, runtime);\n\tconst workContinuity = collectHostedRunnerWorkContinuity(snapshot);\n\tconst retentionPolicy = buildHostedRunnerRetentionPolicy();\n\tconst runtimeContinuity = buildHostedRunnerRuntimeContinuity({\n\t\thostedRunner,\n\t\tmaestroSessionId,\n\t\tmanifestPath: snapshotPath,\n\t\truntime,\n\t\tleaseSnapshot,\n\t});\n\tconst platformEvidence = buildHostedRunnerPlatformEvidence({\n\t\thostedRunner,\n\t\tstatus,\n\t\tmaestroSessionId,\n\t\tcreatedAt: requestedAt,\n\t\tmanifestPath: snapshotPath,\n\t\truntime,\n\t\truntimeContinuity,\n\t\tworkContinuity,\n\t\tretentionPolicy,\n\t\treason: input.reason,\n\t\trequestedBy: input.requestedBy,\n\t});\n\tconst manifest: HostedRunnerSnapshotManifest = {\n\t\tprotocol_version: HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION,\n\t\trunner_session_id: hostedRunner.runnerSessionId,\n\t\t...(hostedRunner.workspaceId\n\t\t\t? { workspace_id: hostedRunner.workspaceId }\n\t\t\t: {}),\n\t\t...(hostedRunner.agentRunId\n\t\t\t? { agent_run_id: hostedRunner.agentRunId }\n\t\t\t: {}),\n\t\tmaestro_session_id: maestroSessionId,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.requestedBy ? { requested_by: input.requestedBy } : {}),\n\t\tcreated_at: requestedAt,\n\t\tworkspace_root: workspaceRoot,\n\t\truntime,\n\t\tworkspace_export: {\n\t\t\tmode: HostedRunnerWorkspaceExportModeValue.LocalPathContract,\n\t\t\tpaths: exportPaths,\n\t\t},\n\t\truntime_continuity: runtimeContinuity,\n\t\twork_continuity: workContinuity,\n\t\tplatform_evidence: platformEvidence,\n\t\tsnapshot,\n\t\tretention_policy: retentionPolicy,\n\t\t...(git ? { git } : {}),\n\t};\n\n\ttry {\n\t\tawait writeFile(\n\t\t\tsnapshotPath,\n\t\t\t`${JSON.stringify(manifest, null, 2)}\\n`,\n\t\t\t\"utf8\",\n\t\t);\n\t\thostedRunner.lastDrain = {\n\t\t\tstatus,\n\t\t\tmanifestPath: snapshotPath,\n\t\t\tdrainedAt: requestedAt,\n\t\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t\t...(input.requestedBy ? { requestedBy: input.requestedBy } : {}),\n\t\t};\n\t} catch (error) {\n\t\tconst errorMessage = `Hosted runner drain manifest persistence failed: ${\n\t\t\terror instanceof Error ? error.message : String(error)\n\t\t}`;\n\t\tawait recordPlatformDrain?.({\n\t\t\tstatus: HostedRunnerDrainStatusValue.Interrupted,\n\t\t\treason: input.reason,\n\t\t\trequestedBy: input.requestedBy,\n\t\t\tflushStatus: runtime.flush_status,\n\t\t\tmanifestPath: snapshotPath,\n\t\t\tplatformEvidence: buildHostedRunnerPlatformEvidence({\n\t\t\t\thostedRunner,\n\t\t\t\tstatus: HostedRunnerDrainStatusValue.Interrupted,\n\t\t\t\tmaestroSessionId,\n\t\t\t\tcreatedAt: requestedAt,\n\t\t\t\tmanifestPath: snapshotPath,\n\t\t\t\truntime,\n\t\t\t\truntimeContinuity,\n\t\t\t\tworkContinuity,\n\t\t\t\tretentionPolicy,\n\t\t\t\treason: input.reason,\n\t\t\t\trequestedBy: input.requestedBy,\n\t\t\t}),\n\t\t\terrorMessage,\n\t\t});\n\t\tthrow error;\n\t}\n\tawait recordPlatformDrain?.({\n\t\tstatus,\n\t\treason: input.reason,\n\t\trequestedBy: input.requestedBy,\n\t\tflushStatus: runtime.flush_status,\n\t\tmanifestPath: snapshotPath,\n\t\tplatformEvidence,\n\t\terrorMessage: runtime.error,\n\t});\n\n\treturn {\n\t\tstatus,\n\t\trunner_session_id: hostedRunner.runnerSessionId,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.requestedBy ? { requested_by: input.requestedBy } : {}),\n\t\tmanifest_path: snapshotPath,\n\t\tmanifest,\n\t};\n}\n\nasync function drainActiveRuntime(\n\tcontext: HostedRunnerDrainRuntimeContext,\n\tsessionId: string,\n\t_terminal: HostedRunnerRuntimeTerminalInput,\n): Promise<HostedRunnerRuntimeDrainResult | null> {\n\tconst runtime =\n\t\tcontext.headlessRuntimeService.getRuntimeBySessionId(sessionId);\n\tif (!runtime) {\n\t\treturn null;\n\t}\n\tconst snapshot = runtime.getSnapshot();\n\tconst sessionFile = runtime.getSessionFile();\n\tconst recordPlatformDrain = async (\n\t\tinput: HostedRunnerPlatformDrainRecordInput,\n\t) => {\n\t\tawait runtime.recordHostedAgentRuntimeDrain({\n\t\t\tstatus: input.status,\n\t\t\treason: input.reason,\n\t\t\trequestedBy: input.requestedBy,\n\t\t\tflushStatus: input.flushStatus,\n\t\t\tmanifestPath: input.manifestPath,\n\t\t\tplatformEvidence: input.platformEvidence,\n\t\t\terrorMessage: input.errorMessage\n\t\t\t\t? `Hosted runner drain failed: ${input.errorMessage}`\n\t\t\t\t: undefined,\n\t\t});\n\t};\n\ttry {\n\t\tawait runtime.dispose();\n\t} catch (error) {\n\t\tthrow new HostedRunnerRuntimeDrainError(\n\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t{\n\t\t\t\tsessionId: snapshot.session_id,\n\t\t\t\tsessionFile,\n\t\t\t\tprotocolVersion: snapshot.protocolVersion,\n\t\t\t\tcursor: snapshot.cursor,\n\t\t\t\tsnapshot,\n\t\t\t\trecordPlatformDrain,\n\t\t\t},\n\t\t);\n\t}\n\treturn {\n\t\tsessionId: snapshot.session_id,\n\t\tsessionFile,\n\t\tprotocolVersion: snapshot.protocolVersion,\n\t\tcursor: snapshot.cursor,\n\t\tsnapshot,\n\t\trecordPlatformDrain,\n\t};\n}\n\nexport async function drainHostedRunnerForShutdown(\n\tcontext: HostedRunnerDrainRuntimeContext,\n\toptions: DrainHostedRunnerForShutdownOptions = {},\n): Promise<HostedRunnerDrainResult | null> {\n\treturn drainHostedRunner(\n\t\t{\n\t\t\treason: options.reason ?? HostedRunnerDrainReasonValue.ProcessShutdown,\n\t\t\trequestedBy:\n\t\t\t\toptions.requestedBy ??\n\t\t\t\tHostedRunnerDrainRequestedByValue.MaestroWebServer,\n\t\t},\n\t\t{\n\t\t\thostedRunner: context.hostedRunner,\n\t\t\tdrainRuntime: (sessionId, terminal) =>\n\t\t\t\tdrainActiveRuntime(context, sessionId, terminal),\n\t\t\tnow: options.now,\n\t\t},\n\t);\n}\n\nexport async function handleHostedRunnerDrain(\n\treq: IncomingMessage,\n\tres: ServerResponse,\n\tcontext: WebServerContext,\n): Promise<void> {\n\tres.setHeader(\"Cache-Control\", \"no-store\");\n\tconst body = await readJsonBody<Record<string, unknown>>(req, 64_000);\n\tconst input = parseHostedRunnerDrainInput(body);\n\tconst result = await drainHostedRunner(input, {\n\t\thostedRunner: context.hostedRunner,\n\t\tdrainRuntime: (sessionId, terminal) =>\n\t\t\tdrainActiveRuntime(context, sessionId, terminal),\n\t});\n\n\tif (!result) {\n\t\tsendJson(\n\t\t\tres,\n\t\t\t404,\n\t\t\t{\n\t\t\t\terror: \"hosted runner drain unavailable\",\n\t\t\t},\n\t\t\tcontext.corsHeaders,\n\t\t\treq,\n\t\t);\n\t\treturn;\n\t}\n\n\tsendJson(\n\t\tres,\n\t\tresult.status === HostedRunnerDrainStatusValue.Interrupted ? 503 : 200,\n\t\t{\n\t\t\tprotocol_version: HOSTED_RUNNER_DRAIN_PROTOCOL_VERSION,\n\t\t\tstatus: result.status,\n\t\t\trunner_session_id: result.runner_session_id,\n\t\t\trequested_by: result.requested_by,\n\t\t\treason: result.reason,\n\t\t\tmanifest_path: result.manifest_path,\n\t\t\tmanifest: result.manifest,\n\t\t},\n\t\tcontext.corsHeaders,\n\t\treq,\n\t);\n}\n"]}
1
+ {"version":3,"file":"hosted-runner-drain.js","sourceRoot":"","sources":["../../../src/server/handlers/hosted-runner-drain.ts"],"names":[],"mappings":"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","sourcesContent":["import { execFile } from \"node:child_process\";\nimport { mkdir, realpath, stat, writeFile } from \"node:fs/promises\";\nimport type { IncomingMessage, ServerResponse } from \"node:http\";\nimport { isAbsolute, join, relative, resolve } from \"node:path\";\nimport { promisify } from \"node:util\";\nimport {\n\tCODEX_SUBAGENT_TOOL_PREFIX,\n\tCODEX_SUBAGENT_WORK_GRAPH_SCHEMA,\n\tHEADLESS_PROTOCOL_VERSION,\n\ttype HeadlessCodexSubagentContinuityEdge,\n\tactiveCodexSubagentStatus,\n\tbuildCodexSubagentContinuityEdges,\n\tcodexSubagentEdgeKey,\n\tcodexSubagentOperation,\n\tcodexSubagentStatusIsTerminal,\n\tcreateHeadlessRuntimeState,\n\tstringArray,\n} from \"../../cli/headless-protocol.js\";\nimport { isRecord } from \"../../utils/json.js\";\nimport { sanitizeWithStaticMask } from \"../../utils/secret-redactor.js\";\nimport type { HostedRunnerContext, WebServerContext } from \"../app-context.js\";\nimport type { HeadlessRuntimeSnapshot } from \"../headless-runtime-service.js\";\nimport {\n\tHOSTED_RUNNER_LEASE_PROTOCOL_VERSION,\n\ttype HostedRunnerLeaseSnapshot,\n\tmarkHostedRunnerLeaseDraining,\n} from \"../hosted-runner-lease.js\";\nimport { ApiError, readJsonBody, sendJson } from \"../server-utils.js\";\n\nconst execFileAsync = promisify(execFile);\n\nexport const HOSTED_RUNNER_DRAIN_PATH =\n\t\"/.well-known/evalops/remote-runner/drain\";\n\nexport const HOSTED_RUNNER_DRAIN_PROTOCOL_VERSION =\n\t\"evalops.remote-runner.drain.v1\";\n\nexport const HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION =\n\t\"evalops.remote-runner.snapshot-manifest.v1\";\n\nexport const HOSTED_RUNNER_RETENTION_POLICY_VERSION =\n\t\"evalops.remote-runner.retention.v1\";\n\nexport const HOSTED_RUNNER_WORK_CONTINUITY_VERSION =\n\t\"evalops.remote-runner.work-continuity.v1\";\n\nexport const HOSTED_RUNNER_PLATFORM_EVIDENCE_VERSION =\n\t\"evalops.remote-runner.platform-evidence.v1\";\n\nexport const HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION =\n\t\"evalops.remote-runner.runtime-continuity.v1\";\n\nexport enum HostedRunnerDrainStatusValue {\n\tDrained = \"drained\",\n\tInterrupted = \"interrupted\",\n}\n\nexport enum HostedRunnerRuntimeFlushStatusValue {\n\tCompleted = \"completed\",\n\tFailed = \"failed\",\n\tSkipped = \"skipped\",\n}\n\nexport enum HostedRunnerWorkspaceExportPathTypeValue {\n\tFile = \"file\",\n\tDirectory = \"directory\",\n\tOther = \"other\",\n}\n\nexport enum HostedRunnerWorkspaceExportModeValue {\n\tLocalPathContract = \"local_path_contract\",\n}\n\nexport enum HostedRunnerDrainReasonValue {\n\tKubernetesPreStop = \"kubernetes_prestop\",\n\tProcessShutdown = \"process_shutdown\",\n}\n\nexport enum HostedRunnerDrainRequestedByValue {\n\tKubernetesPreStop = \"kubernetes_prestop\",\n\tMaestroWebServer = \"maestro_web_server\",\n}\n\nexport type HostedRunnerDrainStatus = HostedRunnerDrainStatusValue;\nexport type HostedRunnerRuntimeFlushStatus =\n\tHostedRunnerRuntimeFlushStatusValue;\nexport type HostedRunnerWorkspaceExportPathType =\n\tHostedRunnerWorkspaceExportPathTypeValue;\nexport type HostedRunnerWorkspaceExportMode =\n\tHostedRunnerWorkspaceExportModeValue;\nexport type HostedRunnerDrainReason = HostedRunnerDrainReasonValue | string;\nexport type HostedRunnerDrainRequestedBy =\n\t| HostedRunnerDrainRequestedByValue\n\t| string;\n\nexport interface HostedRunnerRetentionPolicy {\n\tpolicy_version: typeof HOSTED_RUNNER_RETENTION_POLICY_VERSION;\n\tmanaged_by: \"platform\";\n\tvisibility: {\n\t\tcontrol_plane_metadata: \"operator\";\n\t\tworkspace_export: \"tenant\";\n\t\truntime_snapshot: \"internal\";\n\t\truntime_logs: \"operator\";\n\t};\n\tredaction: {\n\t\trequired_before_external_persistence: Array<\n\t\t\t\"runtime_snapshot\" | \"runtime_logs\"\n\t\t>;\n\t\tforbidden_plaintext: Array<\n\t\t\t| \"provider_credentials\"\n\t\t\t| \"tool_secrets\"\n\t\t\t| \"attach_tokens\"\n\t\t\t| \"artifact_access_tokens\"\n\t\t\t| \"raw_environment\"\n\t\t>;\n\t};\n}\n\nexport interface HostedRunnerDrainInput {\n\treason?: HostedRunnerDrainReason;\n\trequestedBy?: HostedRunnerDrainRequestedBy;\n\texportPaths?: string[];\n}\n\nexport interface HostedRunnerRuntimeDrainResult {\n\tsessionId: string;\n\tsessionFile?: string;\n\tprotocolVersion?: string;\n\tcursor?: number;\n\tsnapshot?: HeadlessRuntimeSnapshot;\n\trecordPlatformDrain?: (\n\t\tinput: HostedRunnerPlatformDrainRecordInput,\n\t) => Promise<void>;\n}\n\nclass HostedRunnerRuntimeDrainError extends Error {\n\treadonly sessionId: string;\n\treadonly sessionFile?: string;\n\treadonly protocolVersion?: string;\n\treadonly cursor?: number;\n\treadonly snapshot?: HeadlessRuntimeSnapshot;\n\treadonly recordPlatformDrain?: (\n\t\tinput: HostedRunnerPlatformDrainRecordInput,\n\t) => Promise<void>;\n\n\tconstructor(message: string, runtime: HostedRunnerRuntimeDrainResult) {\n\t\tsuper(message);\n\t\tthis.name = \"HostedRunnerRuntimeDrainError\";\n\t\tthis.sessionId = runtime.sessionId;\n\t\tthis.sessionFile = runtime.sessionFile;\n\t\tthis.protocolVersion = runtime.protocolVersion;\n\t\tthis.cursor = runtime.cursor;\n\t\tthis.snapshot = runtime.snapshot;\n\t\tthis.recordPlatformDrain = runtime.recordPlatformDrain;\n\t}\n}\n\nexport interface HostedRunnerWorkspaceExportPath {\n\tinput: string;\n\tpath: string;\n\trelative_path: string;\n\ttype: HostedRunnerWorkspaceExportPathType;\n}\n\nexport interface HostedRunnerSnapshotManifest {\n\tprotocol_version: typeof HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION;\n\trunner_session_id: string;\n\tworkspace_id?: string;\n\tagent_run_id?: string;\n\tmaestro_session_id: string;\n\treason?: string;\n\trequested_by?: string;\n\tcreated_at: string;\n\tworkspace_root: string;\n\truntime: {\n\t\tflush_status: HostedRunnerRuntimeFlushStatus;\n\t\terror?: string;\n\t\tsession_id: string;\n\t\tsession_file?: string;\n\t\tprotocol_version?: string;\n\t\tcursor?: number;\n\t};\n\tworkspace_export: {\n\t\tmode: HostedRunnerWorkspaceExportMode;\n\t\tpaths: HostedRunnerWorkspaceExportPath[];\n\t};\n\truntime_continuity: HostedRunnerRuntimeContinuity;\n\twork_continuity: HostedRunnerWorkContinuity;\n\tplatform_evidence: HostedRunnerPlatformEvidence;\n\tsnapshot: HeadlessRuntimeSnapshot;\n\tretention_policy: HostedRunnerRetentionPolicy;\n\tgit?: {\n\t\tcommit?: string;\n\t\tbranch?: string;\n\t\tdirty?: boolean;\n\t};\n}\n\nexport interface HostedRunnerRuntimeContinuity {\n\tprotocol_version: typeof HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION;\n\thandoff: \"drain_restore\";\n\tsource_runner_session_id: string;\n\tsource_owner_instance_id?: string;\n\tsource_process_id: number;\n\tsource_runtime_lease?: {\n\t\tprotocol_version: typeof HOSTED_RUNNER_LEASE_PROTOCOL_VERSION;\n\t\tstate: HostedRunnerLeaseSnapshot[\"state\"];\n\t\tgeneration: number;\n\t\tmaestro_session_id?: string;\n\t\tupdated_at: string;\n\t};\n\trestore_environment_key: \"MAESTRO_REMOTE_RUNNER_RESTORE_MANIFEST\";\n\trestore_manifest_path: string;\n\tevidence_refs: string[];\n}\n\nexport interface HostedRunnerWorkContinuity {\n\tprotocol_version: typeof HOSTED_RUNNER_WORK_CONTINUITY_VERSION;\n\tcodex_subagent_schema_version: typeof CODEX_SUBAGENT_WORK_GRAPH_SCHEMA;\n\tactive_tool_count: number;\n\ttracked_tool_count: number;\n\tpending_request_count: number;\n\tcodex_subagent_tool_call_ids: string[];\n\tcodex_subagent_child_run_ids: string[];\n\tcodex_subagent_thread_ids: string[];\n\tcodex_subagent_edges?: HeadlessCodexSubagentContinuityEdge[];\n}\n\nexport interface HostedRunnerPlatformEvidence {\n\tprotocol_version: typeof HOSTED_RUNNER_PLATFORM_EVIDENCE_VERSION;\n\tevent_type: \"hosted_runner_drain_manifest_recorded\";\n\trunner_session_id: string;\n\tworkspace_id?: string;\n\tagent_run_id?: string;\n\tmaestro_session_id: string;\n\tstatus: HostedRunnerDrainStatus;\n\truntime_flush_status: HostedRunnerRuntimeFlushStatus;\n\tmanifest_path: string;\n\tmanifest_protocol_version: typeof HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION;\n\tcreated_at: string;\n\treason?: string;\n\trequested_by?: string;\n\twork_continuity: {\n\t\tprotocol_version: typeof HOSTED_RUNNER_WORK_CONTINUITY_VERSION;\n\t\tcodex_subagent_schema_version: typeof CODEX_SUBAGENT_WORK_GRAPH_SCHEMA;\n\t\tactive_tool_count: number;\n\t\ttracked_tool_count: number;\n\t\tpending_request_count: number;\n\t\tcodex_subagent_tool_call_count: number;\n\t\tcodex_subagent_child_run_count: number;\n\t\tcodex_subagent_thread_count: number;\n\t\tcodex_subagent_edge_count: number;\n\t\tcodex_subagent_tool_call_ids: string[];\n\t\tcodex_subagent_child_run_ids: string[];\n\t\tcodex_subagent_thread_ids: string[];\n\t\tcodex_subagent_edges?: HeadlessCodexSubagentContinuityEdge[];\n\t};\n\truntime_continuity: {\n\t\tprotocol_version: typeof HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION;\n\t\thandoff: \"drain_restore\";\n\t\tsource_owner_instance_id?: string;\n\t\tsource_process_id: number;\n\t\tsource_runtime_lease_generation?: number;\n\t\trestore_manifest_path: string;\n\t};\n\tretention: {\n\t\tpolicy_version: typeof HOSTED_RUNNER_RETENTION_POLICY_VERSION;\n\t\tcontrol_plane_metadata_visibility: \"operator\";\n\t\truntime_snapshot_visibility: \"internal\";\n\t\tredaction_required_before_external_persistence: Array<\n\t\t\t\"runtime_snapshot\" | \"runtime_logs\"\n\t\t>;\n\t};\n\tevidence_refs: string[];\n}\n\nexport interface HostedRunnerPlatformDrainRecordInput {\n\tstatus: HostedRunnerDrainStatus;\n\treason?: string;\n\trequestedBy?: string;\n\tflushStatus: HostedRunnerRuntimeFlushStatus;\n\tmanifestPath: string;\n\tplatformEvidence: HostedRunnerPlatformEvidence;\n\terrorMessage?: string;\n}\n\nexport interface HostedRunnerDrainResult {\n\tstatus: HostedRunnerDrainStatus;\n\trunner_session_id: string;\n\treason?: string;\n\trequested_by?: string;\n\tmanifest_path: string;\n\tmanifest: HostedRunnerSnapshotManifest;\n}\n\nexport interface DrainHostedRunnerOptions {\n\thostedRunner?: HostedRunnerContext;\n\tdrainRuntime?: (\n\t\tsessionId: string,\n\t\tterminal: HostedRunnerRuntimeTerminalInput,\n\t) => Promise<HostedRunnerRuntimeDrainResult | null>;\n\tnow?: () => Date;\n}\n\ninterface HostedRunnerDrainRuntimeContext {\n\thostedRunner?: HostedRunnerContext;\n\theadlessRuntimeService: Pick<\n\t\tWebServerContext[\"headlessRuntimeService\"],\n\t\t\"getRuntimeBySessionId\"\n\t>;\n}\n\nexport interface DrainHostedRunnerForShutdownOptions {\n\tnow?: () => Date;\n\treason?: HostedRunnerDrainReason;\n\trequestedBy?: HostedRunnerDrainRequestedBy;\n}\n\ninterface HostedRunnerRuntimeTerminalInput {\n\treason?: HostedRunnerDrainReason;\n\trequestedBy?: HostedRunnerDrainRequestedBy;\n\tmanifestPath?: string;\n}\n\nfunction getString(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 ApiError(400, `${field} must be a string`);\n\t}\n\tconst trimmed = value.trim();\n\treturn trimmed || undefined;\n}\n\nfunction getStringArray(value: unknown, field: string): string[] | undefined {\n\tif (value === undefined || value === null) {\n\t\treturn undefined;\n\t}\n\tif (!Array.isArray(value)) {\n\t\tthrow new ApiError(400, `${field} must be an array of strings`);\n\t}\n\tconst strings = value.map((entry, index) => {\n\t\tif (typeof entry !== \"string\" || !entry.trim()) {\n\t\t\tthrow new ApiError(400, `${field}[${index}] must be a non-empty string`);\n\t\t}\n\t\tif (entry.includes(\"\\0\")) {\n\t\t\tthrow new ApiError(400, `${field}[${index}] contains a null byte`);\n\t\t}\n\t\treturn entry.trim();\n\t});\n\treturn strings.length ? strings : undefined;\n}\n\nexport function parseHostedRunnerDrainInput(\n\tbody: unknown,\n): HostedRunnerDrainInput {\n\tif (body === undefined || body === null) {\n\t\treturn {};\n\t}\n\tif (typeof body !== \"object\" || Array.isArray(body)) {\n\t\tthrow new ApiError(400, \"Drain payload must be a JSON object\");\n\t}\n\tconst record = body as Record<string, unknown>;\n\treturn {\n\t\treason:\n\t\t\tgetString(record.reason, \"reason\") ??\n\t\t\tgetString(record.stop_reason, \"stop_reason\"),\n\t\trequestedBy:\n\t\t\tgetString(record.requested_by, \"requested_by\") ??\n\t\t\tgetString(record.requestedBy, \"requestedBy\"),\n\t\texportPaths:\n\t\t\tgetStringArray(record.export_paths, \"export_paths\") ??\n\t\t\tgetStringArray(record.exportPaths, \"exportPaths\"),\n\t};\n}\n\nfunction isWithinPath(root: string, target: string): boolean {\n\tconst rel = relative(root, target);\n\treturn rel === \"\" || (!rel.startsWith(\"..\") && !isAbsolute(rel));\n}\n\nfunction safeManifestFileName(\n\trunnerSessionId: string,\n\trequestedAt: string,\n): string {\n\tconst safeSession = runnerSessionId.replace(/[^A-Za-z0-9_.-]/g, \"_\");\n\tconst safeTimestamp = requestedAt.replace(/[^A-Za-z0-9_.-]/g, \"_\");\n\treturn `${safeSession}-${safeTimestamp}.json`;\n}\n\nasync function resolveWorkspaceRoot(\n\thostedRunner: HostedRunnerContext,\n): Promise<string> {\n\ttry {\n\t\tconst workspaceRoot = await realpath(hostedRunner.workspaceRoot);\n\t\tconst stats = await stat(workspaceRoot);\n\t\tif (!stats.isDirectory()) {\n\t\t\tthrow new ApiError(\n\t\t\t\t503,\n\t\t\t\t\"Hosted runner workspace root is not a directory\",\n\t\t\t);\n\t\t}\n\t\treturn workspaceRoot;\n\t} catch (error) {\n\t\tif (error instanceof ApiError) {\n\t\t\tthrow error;\n\t\t}\n\t\tthrow new ApiError(\n\t\t\t503,\n\t\t\t`Hosted runner workspace root is unavailable: ${\n\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t}`,\n\t\t);\n\t}\n}\n\nasync function resolveWorkspaceExportPaths(\n\tworkspaceRoot: string,\n\texportPaths: readonly string[] | undefined,\n): Promise<HostedRunnerWorkspaceExportPath[]> {\n\tconst requested = exportPaths?.length ? exportPaths : [\".\"];\n\tconst paths: HostedRunnerWorkspaceExportPath[] = [];\n\tfor (const input of requested) {\n\t\tconst logicalPath = isAbsolute(input)\n\t\t\t? resolve(input)\n\t\t\t: resolve(workspaceRoot, input);\n\t\tlet realPath: string;\n\t\ttry {\n\t\t\trealPath = await realpath(logicalPath);\n\t\t} catch (error) {\n\t\t\tthrow new ApiError(\n\t\t\t\t400,\n\t\t\t\t`Export path is unavailable: ${input} (${\n\t\t\t\t\terror instanceof Error ? error.message : String(error)\n\t\t\t\t})`,\n\t\t\t);\n\t\t}\n\t\tif (!isWithinPath(workspaceRoot, realPath)) {\n\t\t\tthrow new ApiError(\n\t\t\t\t400,\n\t\t\t\t`Export path escapes hosted runner workspace root: ${input}`,\n\t\t\t);\n\t\t}\n\t\tconst pathStat = await stat(realPath);\n\t\tpaths.push({\n\t\t\tinput,\n\t\t\tpath: realPath,\n\t\t\trelative_path: relative(workspaceRoot, realPath) || \".\",\n\t\t\ttype: pathStat.isDirectory()\n\t\t\t\t? HostedRunnerWorkspaceExportPathTypeValue.Directory\n\t\t\t\t: pathStat.isFile()\n\t\t\t\t\t? HostedRunnerWorkspaceExportPathTypeValue.File\n\t\t\t\t\t: HostedRunnerWorkspaceExportPathTypeValue.Other,\n\t\t});\n\t}\n\treturn paths;\n}\n\nasync function gitOutput(\n\tworkspaceRoot: string,\n\targs: readonly string[],\n): Promise<string | undefined> {\n\ttry {\n\t\tconst { stdout } = await execFileAsync(\n\t\t\t\"git\",\n\t\t\t[\"-C\", workspaceRoot, ...args],\n\t\t\t{\n\t\t\t\tencoding: \"utf8\",\n\t\t\t\ttimeout: 1000,\n\t\t\t},\n\t\t);\n\t\tconst output = stdout.trim();\n\t\treturn output || undefined;\n\t} catch {\n\t\treturn undefined;\n\t}\n}\n\nasync function collectGitState(\n\tworkspaceRoot: string,\n): Promise<HostedRunnerSnapshotManifest[\"git\"] | undefined> {\n\tconst [commit, branch, status] = await Promise.all([\n\t\tgitOutput(workspaceRoot, [\"rev-parse\", \"HEAD\"]),\n\t\tgitOutput(workspaceRoot, [\"rev-parse\", \"--abbrev-ref\", \"HEAD\"]),\n\t\tgitOutput(workspaceRoot, [\"status\", \"--porcelain\"]),\n\t]);\n\tif (!commit && !branch && status === undefined) {\n\t\treturn undefined;\n\t}\n\treturn {\n\t\t...(commit ? { commit } : {}),\n\t\t...(branch && branch !== \"HEAD\" ? { branch } : {}),\n\t\tdirty: Boolean(status),\n\t};\n}\n\nfunction buildHostedRunnerSnapshot(\n\tsessionId: string,\n\tworkspaceRoot: string,\n\truntime: HostedRunnerSnapshotManifest[\"runtime\"],\n): HeadlessRuntimeSnapshot {\n\tconst state = createHeadlessRuntimeState();\n\tstate.protocol_version =\n\t\truntime.protocol_version ?? HEADLESS_PROTOCOL_VERSION;\n\tstate.session_id = sessionId;\n\tstate.cwd = workspaceRoot;\n\tstate.provider = \"typescript\";\n\tstate.model = \"typescript-hosted-runner\";\n\tstate.is_ready =\n\t\truntime.flush_status === HostedRunnerRuntimeFlushStatusValue.Completed;\n\tstate.last_status =\n\t\truntime.flush_status === HostedRunnerRuntimeFlushStatusValue.Completed\n\t\t\t? \"Drained\"\n\t\t\t: runtime.flush_status === HostedRunnerRuntimeFlushStatusValue.Failed\n\t\t\t\t? \"Drain interrupted before runtime flush completed\"\n\t\t\t\t: \"Drain skipped: no runtime activity was available\";\n\tif (runtime.error) {\n\t\tstate.last_error = runtime.error;\n\t\tstate.last_error_type = \"protocol\";\n\t}\n\treturn {\n\t\tprotocolVersion: runtime.protocol_version ?? HEADLESS_PROTOCOL_VERSION,\n\t\tsession_id: sessionId,\n\t\tcursor: runtime.cursor ?? 0,\n\t\tlast_init: null,\n\t\tstate,\n\t};\n}\n\nfunction buildHostedRunnerRetentionPolicy(): HostedRunnerRetentionPolicy {\n\treturn {\n\t\tpolicy_version: HOSTED_RUNNER_RETENTION_POLICY_VERSION,\n\t\tmanaged_by: \"platform\",\n\t\tvisibility: {\n\t\t\tcontrol_plane_metadata: \"operator\",\n\t\t\tworkspace_export: \"tenant\",\n\t\t\truntime_snapshot: \"internal\",\n\t\t\truntime_logs: \"operator\",\n\t\t},\n\t\tredaction: {\n\t\t\trequired_before_external_persistence: [\n\t\t\t\t\"runtime_snapshot\",\n\t\t\t\t\"runtime_logs\",\n\t\t\t],\n\t\t\tforbidden_plaintext: [\n\t\t\t\t\"provider_credentials\",\n\t\t\t\t\"tool_secrets\",\n\t\t\t\t\"attach_tokens\",\n\t\t\t\t\"artifact_access_tokens\",\n\t\t\t\t\"raw_environment\",\n\t\t\t],\n\t\t},\n\t};\n}\n\nfunction buildHostedRunnerRuntimeContinuity(input: {\n\thostedRunner: HostedRunnerContext;\n\tmaestroSessionId: string;\n\tmanifestPath: string;\n\truntime: HostedRunnerSnapshotManifest[\"runtime\"];\n\tleaseSnapshot: HostedRunnerLeaseSnapshot;\n}): HostedRunnerRuntimeContinuity {\n\treturn {\n\t\tprotocol_version: HOSTED_RUNNER_RUNTIME_CONTINUITY_VERSION,\n\t\thandoff: \"drain_restore\",\n\t\tsource_runner_session_id: input.hostedRunner.runnerSessionId,\n\t\t...(input.hostedRunner.ownerInstanceId\n\t\t\t? { source_owner_instance_id: input.hostedRunner.ownerInstanceId }\n\t\t\t: {}),\n\t\tsource_process_id: process.pid,\n\t\tsource_runtime_lease: {\n\t\t\tprotocol_version: HOSTED_RUNNER_LEASE_PROTOCOL_VERSION,\n\t\t\tstate: input.leaseSnapshot.state,\n\t\t\tgeneration: input.leaseSnapshot.generation,\n\t\t\t...(input.leaseSnapshot.maestroSessionId\n\t\t\t\t? { maestro_session_id: input.leaseSnapshot.maestroSessionId }\n\t\t\t\t: {}),\n\t\t\tupdated_at: input.leaseSnapshot.updatedAt,\n\t\t},\n\t\trestore_environment_key: \"MAESTRO_REMOTE_RUNNER_RESTORE_MANIFEST\",\n\t\trestore_manifest_path: input.manifestPath,\n\t\tevidence_refs: [\n\t\t\t`remote-runner://sessions/${input.hostedRunner.runnerSessionId}/drain#snapshot`,\n\t\t\t`maestro://headless/sessions/${input.maestroSessionId}#cursor:${\n\t\t\t\tinput.runtime.cursor ?? 0\n\t\t\t}`,\n\t\t],\n\t};\n}\n\nfunction buildHostedRunnerPlatformEvidence(input: {\n\thostedRunner: HostedRunnerContext;\n\tstatus: HostedRunnerDrainStatus;\n\tmaestroSessionId: string;\n\tcreatedAt: string;\n\tmanifestPath: string;\n\truntime: HostedRunnerSnapshotManifest[\"runtime\"];\n\truntimeContinuity: HostedRunnerRuntimeContinuity;\n\tworkContinuity: HostedRunnerWorkContinuity;\n\tretentionPolicy: HostedRunnerRetentionPolicy;\n\treason?: string;\n\trequestedBy?: string;\n}): HostedRunnerPlatformEvidence {\n\tconst edges = input.workContinuity.codex_subagent_edges ?? [];\n\treturn {\n\t\tprotocol_version: HOSTED_RUNNER_PLATFORM_EVIDENCE_VERSION,\n\t\tevent_type: \"hosted_runner_drain_manifest_recorded\",\n\t\trunner_session_id: input.hostedRunner.runnerSessionId,\n\t\t...(input.hostedRunner.workspaceId\n\t\t\t? { workspace_id: input.hostedRunner.workspaceId }\n\t\t\t: {}),\n\t\t...(input.hostedRunner.agentRunId\n\t\t\t? { agent_run_id: input.hostedRunner.agentRunId }\n\t\t\t: {}),\n\t\tmaestro_session_id: input.maestroSessionId,\n\t\tstatus: input.status,\n\t\truntime_flush_status: input.runtime.flush_status,\n\t\tmanifest_path: input.manifestPath,\n\t\tmanifest_protocol_version: HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION,\n\t\tcreated_at: input.createdAt,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.requestedBy ? { requested_by: input.requestedBy } : {}),\n\t\twork_continuity: {\n\t\t\tprotocol_version: input.workContinuity.protocol_version,\n\t\t\tcodex_subagent_schema_version:\n\t\t\t\tinput.workContinuity.codex_subagent_schema_version,\n\t\t\tactive_tool_count: input.workContinuity.active_tool_count,\n\t\t\ttracked_tool_count: input.workContinuity.tracked_tool_count,\n\t\t\tpending_request_count: input.workContinuity.pending_request_count,\n\t\t\tcodex_subagent_tool_call_count:\n\t\t\t\tinput.workContinuity.codex_subagent_tool_call_ids.length,\n\t\t\tcodex_subagent_child_run_count:\n\t\t\t\tinput.workContinuity.codex_subagent_child_run_ids.length,\n\t\t\tcodex_subagent_thread_count:\n\t\t\t\tinput.workContinuity.codex_subagent_thread_ids.length,\n\t\t\tcodex_subagent_edge_count: edges.length,\n\t\t\tcodex_subagent_tool_call_ids:\n\t\t\t\tinput.workContinuity.codex_subagent_tool_call_ids,\n\t\t\tcodex_subagent_child_run_ids:\n\t\t\t\tinput.workContinuity.codex_subagent_child_run_ids,\n\t\t\tcodex_subagent_thread_ids: input.workContinuity.codex_subagent_thread_ids,\n\t\t\t...(edges.length > 0 ? { codex_subagent_edges: edges } : {}),\n\t\t},\n\t\truntime_continuity: {\n\t\t\tprotocol_version: input.runtimeContinuity.protocol_version,\n\t\t\thandoff: input.runtimeContinuity.handoff,\n\t\t\t...(input.runtimeContinuity.source_owner_instance_id\n\t\t\t\t? {\n\t\t\t\t\t\tsource_owner_instance_id:\n\t\t\t\t\t\t\tinput.runtimeContinuity.source_owner_instance_id,\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t\tsource_process_id: input.runtimeContinuity.source_process_id,\n\t\t\t...(input.runtimeContinuity.source_runtime_lease\n\t\t\t\t? {\n\t\t\t\t\t\tsource_runtime_lease_generation:\n\t\t\t\t\t\t\tinput.runtimeContinuity.source_runtime_lease.generation,\n\t\t\t\t\t}\n\t\t\t\t: {}),\n\t\t\trestore_manifest_path: input.runtimeContinuity.restore_manifest_path,\n\t\t},\n\t\tretention: {\n\t\t\tpolicy_version: input.retentionPolicy.policy_version,\n\t\t\tcontrol_plane_metadata_visibility:\n\t\t\t\tinput.retentionPolicy.visibility.control_plane_metadata,\n\t\t\truntime_snapshot_visibility:\n\t\t\t\tinput.retentionPolicy.visibility.runtime_snapshot,\n\t\t\tredaction_required_before_external_persistence:\n\t\t\t\tinput.retentionPolicy.redaction.required_before_external_persistence,\n\t\t},\n\t\tevidence_refs: [\n\t\t\t`remote-runner://sessions/${input.hostedRunner.runnerSessionId}/drain#manifest`,\n\t\t\t`maestro://headless/sessions/${input.maestroSessionId}#drain`,\n\t\t\t...(input.hostedRunner.agentRunId\n\t\t\t\t? [`platform-agent-run:${input.hostedRunner.agentRunId}`]\n\t\t\t\t: []),\n\t\t],\n\t};\n}\n\nfunction collectCodexSubagentEdgesFromSource(\n\tsource: {\n\t\tcall_id: string;\n\t\ttool_execution_id?: string;\n\t\ttool: string;\n\t\targs?: unknown;\n\t},\n\tedges: Map<string, HeadlessCodexSubagentContinuityEdge>,\n): void {\n\tconst operation = codexSubagentOperation(source.tool);\n\tif (!operation) {\n\t\treturn;\n\t}\n\tconst status = activeCodexSubagentStatus(operation);\n\tfor (const edge of buildCodexSubagentContinuityEdges({\n\t\tcall_id: source.call_id,\n\t\ttool_execution_id: source.tool_execution_id,\n\t\ttool: source.tool,\n\t\targs: source.args,\n\t\tstatus,\n\t})) {\n\t\tedges.set(codexSubagentEdgeKey(edge), edge);\n\t}\n}\n\nfunction collectCodexWorkArgs(\n\targs: unknown,\n\tchildRunIds: Set<string>,\n\tthreadIds: Set<string>,\n\tincludeLooseArgs = false,\n): boolean {\n\tif (!isRecord(args)) {\n\t\treturn false;\n\t}\n\tconst graph = args.codexWorkGraph ?? args.codex_work_graph;\n\tconst hasCodexGraph =\n\t\tisRecord(graph) &&\n\t\t(graph.schemaVersion === CODEX_SUBAGENT_WORK_GRAPH_SCHEMA ||\n\t\t\tgraph.schema_version === CODEX_SUBAGENT_WORK_GRAPH_SCHEMA);\n\tif (!includeLooseArgs && !hasCodexGraph) {\n\t\treturn false;\n\t}\n\tfor (const childRunId of stringArray(\n\t\targs.childRunIds ?? args.child_run_ids,\n\t)) {\n\t\tchildRunIds.add(childRunId);\n\t}\n\tfor (const threadId of stringArray(\n\t\targs.receiverThreadIds ?? args.receiver_thread_ids,\n\t)) {\n\t\tthreadIds.add(threadId);\n\t}\n\tif (isRecord(graph)) {\n\t\tconst graphChildRuns = graph.childRuns ?? graph.child_runs;\n\t\tfor (const childRun of Array.isArray(graphChildRuns)\n\t\t\t? graphChildRuns\n\t\t\t: []) {\n\t\t\tif (!isRecord(childRun)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tconst childRunId = childRun.childRunId ?? childRun.child_run_id;\n\t\t\tif (typeof childRunId === \"string\" && childRunId) {\n\t\t\t\tchildRunIds.add(childRunId);\n\t\t\t}\n\t\t\tconst threadId = childRun.threadId ?? childRun.thread_id;\n\t\t\tif (typeof threadId === \"string\" && threadId) {\n\t\t\t\tthreadIds.add(threadId);\n\t\t\t}\n\t\t}\n\t}\n\treturn includeLooseArgs || hasCodexGraph;\n}\n\nfunction collectHostedRunnerWorkContinuity(\n\tsnapshot: HeadlessRuntimeSnapshot,\n): HostedRunnerWorkContinuity {\n\tconst state = snapshot.state;\n\tconst codexToolCallIds = new Set<string>();\n\tconst childRunIds = new Set<string>();\n\tconst threadIds = new Set<string>();\n\tconst codexSubagentEdges = new Map<\n\t\tstring,\n\t\tHeadlessCodexSubagentContinuityEdge\n\t>();\n\tfor (const edge of state.codex_subagent_edges ?? []) {\n\t\tcodexSubagentEdges.set(codexSubagentEdgeKey(edge), edge);\n\t\tif (edge.spawn_tool_call_id) {\n\t\t\tcodexToolCallIds.add(edge.spawn_tool_call_id);\n\t\t}\n\t\tif (edge.wait_tool_call_id) {\n\t\t\tcodexToolCallIds.add(edge.wait_tool_call_id);\n\t\t}\n\t\tif (edge.child_run_id) {\n\t\t\tchildRunIds.add(edge.child_run_id);\n\t\t}\n\t\tif (edge.thread_id) {\n\t\t\tthreadIds.add(edge.thread_id);\n\t\t}\n\t}\n\tconst trackedSources = [\n\t\t...state.tracked_tools,\n\t\t...state.pending_approvals,\n\t\t...state.pending_client_tools,\n\t\t...state.pending_mcp_elicitations,\n\t\t...state.pending_user_inputs,\n\t\t...state.pending_tool_retries,\n\t];\n\tconst codexTrackedSourceCallIds = new Set<string>();\n\tfor (const source of trackedSources) {\n\t\tconst tool = source.tool;\n\t\tconst isCodexSubagentTool = tool.startsWith(CODEX_SUBAGENT_TOOL_PREFIX);\n\t\tconst hasCodexWorkArgs = collectCodexWorkArgs(\n\t\t\tsource.args,\n\t\t\tchildRunIds,\n\t\t\tthreadIds,\n\t\t\tisCodexSubagentTool,\n\t\t);\n\t\tif (isCodexSubagentTool || hasCodexWorkArgs) {\n\t\t\tcodexTrackedSourceCallIds.add(source.call_id);\n\t\t\tcodexToolCallIds.add(source.call_id);\n\t\t\tcollectCodexSubagentEdgesFromSource(source, codexSubagentEdges);\n\t\t}\n\t}\n\tfor (const activeTool of state.active_tools) {\n\t\tif (activeTool.tool.startsWith(CODEX_SUBAGENT_TOOL_PREFIX)) {\n\t\t\tconst hasTrackedSource = codexToolCallIds.has(activeTool.call_id);\n\t\t\tcodexToolCallIds.add(activeTool.call_id);\n\t\t\tif (!hasTrackedSource) {\n\t\t\t\tcollectCodexSubagentEdgesFromSource(\n\t\t\t\t\t{ call_id: activeTool.call_id, tool: activeTool.tool },\n\t\t\t\t\tcodexSubagentEdges,\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\tconst sortedEdges = [...codexSubagentEdges.values()].sort((left, right) =>\n\t\tcodexSubagentEdgeKey(left).localeCompare(codexSubagentEdgeKey(right)),\n\t);\n\tconst activeCodexSubagentEdgeCount = sortedEdges.filter(\n\t\t(edge) => !codexSubagentStatusIsTerminal(edge.status),\n\t).length;\n\tconst nonCodexActiveToolCount = state.active_tools.filter(\n\t\t(tool) => !tool.tool.startsWith(CODEX_SUBAGENT_TOOL_PREFIX),\n\t).length;\n\tconst nonCodexTrackedToolCount = state.tracked_tools.filter(\n\t\t(tool) => !codexTrackedSourceCallIds.has(tool.call_id),\n\t).length;\n\tconst trackedCodexSubagentCount = Math.max(\n\t\tcodexToolCallIds.size,\n\t\tsortedEdges.length,\n\t);\n\treturn {\n\t\tprotocol_version: HOSTED_RUNNER_WORK_CONTINUITY_VERSION,\n\t\tcodex_subagent_schema_version: CODEX_SUBAGENT_WORK_GRAPH_SCHEMA,\n\t\tactive_tool_count:\n\t\t\tsortedEdges.length > 0\n\t\t\t\t? nonCodexActiveToolCount + activeCodexSubagentEdgeCount\n\t\t\t\t: state.active_tools.length,\n\t\ttracked_tool_count:\n\t\t\tsortedEdges.length > 0\n\t\t\t\t? nonCodexTrackedToolCount + trackedCodexSubagentCount\n\t\t\t\t: state.tracked_tools.length,\n\t\tpending_request_count:\n\t\t\tstate.pending_approvals.length +\n\t\t\tstate.pending_client_tools.length +\n\t\t\tstate.pending_mcp_elicitations.length +\n\t\t\tstate.pending_user_inputs.length +\n\t\t\tstate.pending_tool_retries.length,\n\t\tcodex_subagent_tool_call_ids: [...codexToolCallIds].sort(),\n\t\tcodex_subagent_child_run_ids: [...childRunIds].sort(),\n\t\tcodex_subagent_thread_ids: [...threadIds].sort(),\n\t\t...(sortedEdges.length > 0 ? { codex_subagent_edges: sortedEdges } : {}),\n\t};\n}\n\nexport async function drainHostedRunner(\n\tinput: HostedRunnerDrainInput,\n\toptions: DrainHostedRunnerOptions,\n): Promise<HostedRunnerDrainResult | null> {\n\tconst hostedRunner = options.hostedRunner;\n\tif (!hostedRunner?.enabled || !hostedRunner.runnerSessionId) {\n\t\treturn null;\n\t}\n\n\tconst requestedAtDate = options.now?.() ?? new Date();\n\tconst leaseSnapshot = markHostedRunnerLeaseDraining(\n\t\thostedRunner,\n\t\trequestedAtDate,\n\t);\n\tconst requestedAt = requestedAtDate.toISOString();\n\tconst workspaceRoot = await resolveWorkspaceRoot(hostedRunner);\n\tconst snapshotRoot = resolve(\n\t\tworkspaceRoot,\n\t\thostedRunner.snapshotRoot ?? \".maestro/runner-snapshots\",\n\t);\n\tawait mkdir(snapshotRoot, { recursive: true });\n\tconst snapshotPath = join(\n\t\tsnapshotRoot,\n\t\tsafeManifestFileName(hostedRunner.runnerSessionId, requestedAt),\n\t);\n\tconst exportPaths = await resolveWorkspaceExportPaths(\n\t\tworkspaceRoot,\n\t\tinput.exportPaths,\n\t);\n\tconst activeSessionId =\n\t\thostedRunner.activeMaestroSessionId ??\n\t\thostedRunner.configuredMaestroSessionId;\n\tconst maestroSessionId = activeSessionId ?? hostedRunner.runnerSessionId;\n\n\tlet status: HostedRunnerDrainStatus = HostedRunnerDrainStatusValue.Drained;\n\tlet runtime: HostedRunnerSnapshotManifest[\"runtime\"] = {\n\t\tflush_status: HostedRunnerRuntimeFlushStatusValue.Skipped,\n\t\tsession_id: maestroSessionId,\n\t};\n\tlet runtimeSnapshot: HeadlessRuntimeSnapshot | undefined;\n\tlet recordPlatformDrain:\n\t\t| ((input: HostedRunnerPlatformDrainRecordInput) => Promise<void>)\n\t\t| undefined;\n\n\tif (activeSessionId && options.drainRuntime) {\n\t\ttry {\n\t\t\tconst runtimeResult = await options.drainRuntime(activeSessionId, {\n\t\t\t\treason: input.reason,\n\t\t\t\trequestedBy: input.requestedBy,\n\t\t\t\tmanifestPath: snapshotPath,\n\t\t\t});\n\t\t\tconst runtimeProtocolVersion =\n\t\t\t\truntimeResult?.protocolVersion ??\n\t\t\t\truntimeResult?.snapshot?.protocolVersion;\n\t\t\tconst runtimeCursor =\n\t\t\t\truntimeResult?.cursor ?? runtimeResult?.snapshot?.cursor;\n\t\t\truntime = runtimeResult\n\t\t\t\t? {\n\t\t\t\t\t\tflush_status: HostedRunnerRuntimeFlushStatusValue.Completed,\n\t\t\t\t\t\tsession_id: runtimeResult.sessionId,\n\t\t\t\t\t\t...(runtimeResult.sessionFile\n\t\t\t\t\t\t\t? { session_file: runtimeResult.sessionFile }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t...(runtimeProtocolVersion\n\t\t\t\t\t\t\t? { protocol_version: runtimeProtocolVersion }\n\t\t\t\t\t\t\t: {}),\n\t\t\t\t\t\t...(runtimeCursor !== undefined ? { cursor: runtimeCursor } : {}),\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tflush_status: HostedRunnerRuntimeFlushStatusValue.Skipped,\n\t\t\t\t\t\tsession_id: activeSessionId,\n\t\t\t\t\t};\n\t\t\truntimeSnapshot = runtimeResult?.snapshot;\n\t\t\trecordPlatformDrain = runtimeResult?.recordPlatformDrain;\n\t\t} catch (error) {\n\t\t\tstatus = HostedRunnerDrainStatusValue.Interrupted;\n\t\t\tconst interruptedRuntime =\n\t\t\t\terror instanceof HostedRunnerRuntimeDrainError ? error : undefined;\n\t\t\truntimeSnapshot = interruptedRuntime?.snapshot;\n\t\t\trecordPlatformDrain = interruptedRuntime?.recordPlatformDrain;\n\t\t\truntime = {\n\t\t\t\tflush_status: HostedRunnerRuntimeFlushStatusValue.Failed,\n\t\t\t\tsession_id: interruptedRuntime?.sessionId ?? activeSessionId,\n\t\t\t\t...(interruptedRuntime?.sessionFile\n\t\t\t\t\t? { session_file: interruptedRuntime.sessionFile }\n\t\t\t\t\t: {}),\n\t\t\t\t...(interruptedRuntime?.protocolVersion\n\t\t\t\t\t? { protocol_version: interruptedRuntime.protocolVersion }\n\t\t\t\t\t: {}),\n\t\t\t\t...(interruptedRuntime?.cursor !== undefined\n\t\t\t\t\t? { cursor: interruptedRuntime.cursor }\n\t\t\t\t\t: {}),\n\t\t\t\terror: sanitizeWithStaticMask(\n\t\t\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t}\n\n\tconst git = await collectGitState(workspaceRoot);\n\tconst snapshot =\n\t\truntimeSnapshot ??\n\t\tbuildHostedRunnerSnapshot(maestroSessionId, workspaceRoot, runtime);\n\tconst workContinuity = collectHostedRunnerWorkContinuity(snapshot);\n\tconst retentionPolicy = buildHostedRunnerRetentionPolicy();\n\tconst runtimeContinuity = buildHostedRunnerRuntimeContinuity({\n\t\thostedRunner,\n\t\tmaestroSessionId,\n\t\tmanifestPath: snapshotPath,\n\t\truntime,\n\t\tleaseSnapshot,\n\t});\n\tconst platformEvidence = buildHostedRunnerPlatformEvidence({\n\t\thostedRunner,\n\t\tstatus,\n\t\tmaestroSessionId,\n\t\tcreatedAt: requestedAt,\n\t\tmanifestPath: snapshotPath,\n\t\truntime,\n\t\truntimeContinuity,\n\t\tworkContinuity,\n\t\tretentionPolicy,\n\t\treason: input.reason,\n\t\trequestedBy: input.requestedBy,\n\t});\n\tconst manifest: HostedRunnerSnapshotManifest = {\n\t\tprotocol_version: HOSTED_RUNNER_SNAPSHOT_MANIFEST_VERSION,\n\t\trunner_session_id: hostedRunner.runnerSessionId,\n\t\t...(hostedRunner.workspaceId\n\t\t\t? { workspace_id: hostedRunner.workspaceId }\n\t\t\t: {}),\n\t\t...(hostedRunner.agentRunId\n\t\t\t? { agent_run_id: hostedRunner.agentRunId }\n\t\t\t: {}),\n\t\tmaestro_session_id: maestroSessionId,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.requestedBy ? { requested_by: input.requestedBy } : {}),\n\t\tcreated_at: requestedAt,\n\t\tworkspace_root: workspaceRoot,\n\t\truntime,\n\t\tworkspace_export: {\n\t\t\tmode: HostedRunnerWorkspaceExportModeValue.LocalPathContract,\n\t\t\tpaths: exportPaths,\n\t\t},\n\t\truntime_continuity: runtimeContinuity,\n\t\twork_continuity: workContinuity,\n\t\tplatform_evidence: platformEvidence,\n\t\tsnapshot,\n\t\tretention_policy: retentionPolicy,\n\t\t...(git ? { git } : {}),\n\t};\n\n\ttry {\n\t\tawait writeFile(\n\t\t\tsnapshotPath,\n\t\t\t`${JSON.stringify(manifest, null, 2)}\\n`,\n\t\t\t\"utf8\",\n\t\t);\n\t\thostedRunner.lastDrain = {\n\t\t\tstatus,\n\t\t\tmanifestPath: snapshotPath,\n\t\t\tdrainedAt: requestedAt,\n\t\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t\t...(input.requestedBy ? { requestedBy: input.requestedBy } : {}),\n\t\t};\n\t} catch (error) {\n\t\tconst errorMessage = `Hosted runner drain manifest persistence failed: ${\n\t\t\terror instanceof Error ? error.message : String(error)\n\t\t}`;\n\t\tawait recordPlatformDrain?.({\n\t\t\tstatus: HostedRunnerDrainStatusValue.Interrupted,\n\t\t\treason: input.reason,\n\t\t\trequestedBy: input.requestedBy,\n\t\t\tflushStatus: runtime.flush_status,\n\t\t\tmanifestPath: snapshotPath,\n\t\t\tplatformEvidence: buildHostedRunnerPlatformEvidence({\n\t\t\t\thostedRunner,\n\t\t\t\tstatus: HostedRunnerDrainStatusValue.Interrupted,\n\t\t\t\tmaestroSessionId,\n\t\t\t\tcreatedAt: requestedAt,\n\t\t\t\tmanifestPath: snapshotPath,\n\t\t\t\truntime,\n\t\t\t\truntimeContinuity,\n\t\t\t\tworkContinuity,\n\t\t\t\tretentionPolicy,\n\t\t\t\treason: input.reason,\n\t\t\t\trequestedBy: input.requestedBy,\n\t\t\t}),\n\t\t\terrorMessage,\n\t\t});\n\t\tthrow error;\n\t}\n\tawait recordPlatformDrain?.({\n\t\tstatus,\n\t\treason: input.reason,\n\t\trequestedBy: input.requestedBy,\n\t\tflushStatus: runtime.flush_status,\n\t\tmanifestPath: snapshotPath,\n\t\tplatformEvidence,\n\t\terrorMessage: runtime.error,\n\t});\n\n\treturn {\n\t\tstatus,\n\t\trunner_session_id: hostedRunner.runnerSessionId,\n\t\t...(input.reason ? { reason: input.reason } : {}),\n\t\t...(input.requestedBy ? { requested_by: input.requestedBy } : {}),\n\t\tmanifest_path: snapshotPath,\n\t\tmanifest,\n\t};\n}\n\nasync function drainActiveRuntime(\n\tcontext: HostedRunnerDrainRuntimeContext,\n\tsessionId: string,\n\t_terminal: HostedRunnerRuntimeTerminalInput,\n): Promise<HostedRunnerRuntimeDrainResult | null> {\n\tconst runtime =\n\t\tcontext.headlessRuntimeService.getRuntimeBySessionId(sessionId);\n\tif (!runtime) {\n\t\treturn null;\n\t}\n\tconst snapshot = runtime.getSnapshot();\n\tconst sessionFile = runtime.getSessionFile();\n\tconst recordPlatformDrain = async (\n\t\tinput: HostedRunnerPlatformDrainRecordInput,\n\t) => {\n\t\tawait runtime.recordHostedAgentRuntimeDrain({\n\t\t\tstatus: input.status,\n\t\t\treason: input.reason,\n\t\t\trequestedBy: input.requestedBy,\n\t\t\tflushStatus: input.flushStatus,\n\t\t\tmanifestPath: input.manifestPath,\n\t\t\tplatformEvidence: input.platformEvidence,\n\t\t\terrorMessage: input.errorMessage\n\t\t\t\t? `Hosted runner drain failed: ${input.errorMessage}`\n\t\t\t\t: undefined,\n\t\t});\n\t};\n\ttry {\n\t\tawait runtime.dispose();\n\t} catch (error) {\n\t\tthrow new HostedRunnerRuntimeDrainError(\n\t\t\terror instanceof Error ? error.message : String(error),\n\t\t\t{\n\t\t\t\tsessionId: snapshot.session_id,\n\t\t\t\tsessionFile,\n\t\t\t\tprotocolVersion: snapshot.protocolVersion,\n\t\t\t\tcursor: snapshot.cursor,\n\t\t\t\tsnapshot,\n\t\t\t\trecordPlatformDrain,\n\t\t\t},\n\t\t);\n\t}\n\treturn {\n\t\tsessionId: snapshot.session_id,\n\t\tsessionFile,\n\t\tprotocolVersion: snapshot.protocolVersion,\n\t\tcursor: snapshot.cursor,\n\t\tsnapshot,\n\t\trecordPlatformDrain,\n\t};\n}\n\nexport async function drainHostedRunnerForShutdown(\n\tcontext: HostedRunnerDrainRuntimeContext,\n\toptions: DrainHostedRunnerForShutdownOptions = {},\n): Promise<HostedRunnerDrainResult | null> {\n\treturn drainHostedRunner(\n\t\t{\n\t\t\treason: options.reason ?? HostedRunnerDrainReasonValue.ProcessShutdown,\n\t\t\trequestedBy:\n\t\t\t\toptions.requestedBy ??\n\t\t\t\tHostedRunnerDrainRequestedByValue.MaestroWebServer,\n\t\t},\n\t\t{\n\t\t\thostedRunner: context.hostedRunner,\n\t\t\tdrainRuntime: (sessionId, terminal) =>\n\t\t\t\tdrainActiveRuntime(context, sessionId, terminal),\n\t\t\tnow: options.now,\n\t\t},\n\t);\n}\n\nexport async function handleHostedRunnerDrain(\n\treq: IncomingMessage,\n\tres: ServerResponse,\n\tcontext: WebServerContext,\n): Promise<void> {\n\tres.setHeader(\"Cache-Control\", \"no-store\");\n\tconst body = await readJsonBody<Record<string, unknown>>(req, 64_000);\n\tconst input = parseHostedRunnerDrainInput(body);\n\tconst result = await drainHostedRunner(input, {\n\t\thostedRunner: context.hostedRunner,\n\t\tdrainRuntime: (sessionId, terminal) =>\n\t\t\tdrainActiveRuntime(context, sessionId, terminal),\n\t});\n\n\tif (!result) {\n\t\tsendJson(\n\t\t\tres,\n\t\t\t404,\n\t\t\t{\n\t\t\t\terror: \"hosted runner drain unavailable\",\n\t\t\t},\n\t\t\tcontext.corsHeaders,\n\t\t\treq,\n\t\t);\n\t\treturn;\n\t}\n\n\tsendJson(\n\t\tres,\n\t\tresult.status === HostedRunnerDrainStatusValue.Interrupted ? 503 : 200,\n\t\t{\n\t\t\tprotocol_version: HOSTED_RUNNER_DRAIN_PROTOCOL_VERSION,\n\t\t\tstatus: result.status,\n\t\t\trunner_session_id: result.runner_session_id,\n\t\t\trequested_by: result.requested_by,\n\t\t\treason: result.reason,\n\t\t\tmanifest_path: result.manifest_path,\n\t\t\tmanifest: result.manifest,\n\t\t},\n\t\tcontext.corsHeaders,\n\t\treq,\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/package.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EACN,KAAK,cAAc,EAInB,MAAM,uBAAuB,CAAC;AAyC/B,UAAU,oBAAoB;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACvC;AAyID,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,OAAO,GAAE,oBAAyB,GAChC,OAAO,CAAC,IAAI,CAAC,CA6Kf"}
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/package.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EACN,KAAK,cAAc,EAInB,MAAM,uBAAuB,CAAC;AAyC/B,UAAU,oBAAoB;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACvC;AA0ID,wBAAsB,mBAAmB,CACxC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,OAAO,GAAE,oBAAyB,GAChC,OAAO,CAAC,IAAI,CAAC,CA6Kf"}
@@ -39,6 +39,7 @@ function serializeInspection(inspected) {
39
39
  : null,
40
40
  resources: inspected.resources
41
41
  ? {
42
+ agents: inspected.resources.agents,
42
43
  extensions: inspected.resources.extensions,
43
44
  skills: inspected.resources.skills,
44
45
  prompts: inspected.resources.prompts,
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/server/handlers/package.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IncomingMessage, ServerResponse } from \"node:http\";\nimport { type Static, Type } from \"@sinclair/typebox\";\nimport {\n\ttype ComposerConfig,\n\ttype WritablePackageScope,\n\taddConfiguredPackageSpecToConfig,\n\tremoveConfiguredPackageSpecFromConfig,\n} from \"../../config/index.js\";\nimport {\n\ttype ConfiguredPackageReport,\n\ttype InspectedPackage,\n\tcollectPackageValidationIssues,\n\tinspectPackageSource,\n\tlistConfiguredPackageReports,\n} from \"../../packages/inspection.js\";\nimport {\n\ttype PackageCachePruneReport,\n\ttype RefreshedConfiguredPackage,\n\tpruneUnconfiguredRemotePackageCaches,\n\trefreshConfiguredRemotePackages,\n} from \"../../packages/maintenance.js\";\nimport { searchPackageRegistry } from \"../../packages/search.js\";\nimport {\n\tformatPackageSource,\n\tparsePackageSource,\n\trefreshPackageSourceSync,\n} from \"../../packages/sources.js\";\nimport { ApiError, respondWithApiError, sendJson } from \"../server-utils.js\";\nimport { parseAndValidateJson } from \"../validation.js\";\n\nconst WritablePackageScopeSchema = Type.Union([\n\tType.Literal(\"local\"),\n\tType.Literal(\"project\"),\n\tType.Literal(\"user\"),\n]);\n\nconst PackageSourceSchema = Type.Object({\n\tsource: Type.String({ minLength: 1 }),\n\tscope: Type.Optional(WritablePackageScopeSchema),\n});\n\nconst PackageRefreshSchema = Type.Object({\n\tsource: Type.String({ minLength: 1 }),\n});\n\ntype PackageSourceInput = Static<typeof PackageSourceSchema>;\ntype PackageRefreshInput = Static<typeof PackageRefreshSchema>;\n\ninterface PackageStatusOptions {\n\tprofileName?: string;\n\tcliOverrides?: Partial<ComposerConfig>;\n}\n\nfunction getWritableScope(\n\tscope: WritablePackageScope | undefined,\n): WritablePackageScope {\n\treturn scope ?? \"local\";\n}\n\nfunction serializeInspection(inspected: InspectedPackage) {\n\treturn {\n\t\tsourceSpec: inspected.sourceSpec,\n\t\tresolvedSource: formatPackageSource(inspected.source),\n\t\tsourceType: inspected.source.type,\n\t\tresolvedPath: inspected.resolvedPath,\n\t\tdiscovered: inspected.discovered\n\t\t\t? {\n\t\t\t\t\tname: inspected.discovered.packageJson.name,\n\t\t\t\t\tversion: inspected.discovered.packageJson.version,\n\t\t\t\t\tisMaestroPackage: inspected.discovered.isMaestroPackage,\n\t\t\t\t\thasManifest: Boolean(inspected.discovered.packageJson.maestro),\n\t\t\t\t\tmanifestPaths: inspected.discovered.packageJson.maestro ?? null,\n\t\t\t\t\terrors: inspected.discovered.errors ?? [],\n\t\t\t\t}\n\t\t\t: null,\n\t\tresources: inspected.resources\n\t\t\t? {\n\t\t\t\t\textensions: inspected.resources.extensions,\n\t\t\t\t\tskills: inspected.resources.skills,\n\t\t\t\t\tprompts: inspected.resources.prompts,\n\t\t\t\t\tthemes: inspected.resources.themes,\n\t\t\t\t}\n\t\t\t: null,\n\t};\n}\n\nfunction serializeConfiguredPackageReport(report: ConfiguredPackageReport) {\n\treturn {\n\t\tscope: report.entry.scope,\n\t\tconfigPath: report.entry.configPath,\n\t\tsourceSpec: report.sourceSpec,\n\t\tfilters: report.filters ?? null,\n\t\tinspection: report.inspected ? serializeInspection(report.inspected) : null,\n\t\tissues: report.inspected\n\t\t\t? collectPackageValidationIssues(report.inspected)\n\t\t\t: null,\n\t\terror: report.error ?? null,\n\t};\n}\n\nfunction serializeRefreshedConfiguredPackage(\n\treport: RefreshedConfiguredPackage,\n): {\n\tsource: string;\n\tsourceType: \"git\" | \"npm\";\n\tscopes: WritablePackageScope[];\n\tinspection: ReturnType<typeof serializeInspection> | null;\n\tissues: string[];\n\terror: string | null;\n} {\n\treturn {\n\t\tsource: report.source,\n\t\tsourceType: report.sourceType,\n\t\tscopes: report.scopes,\n\t\tinspection: report.inspection\n\t\t\t? serializeInspection(report.inspection)\n\t\t\t: null,\n\t\tissues: report.issues,\n\t\terror: report.error,\n\t};\n}\n\nfunction serializePackageCachePruneReport(report: PackageCachePruneReport) {\n\treturn {\n\t\tcacheDir: report.cacheDir,\n\t\tremoved: report.removed,\n\t\tremovedCount: report.removedCount,\n\t\treferencedCount: report.referencedCount,\n\t};\n}\n\nfunction tryResolvePackageIdentity(\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 findPackageFallback(\n\tsourceSpec: string,\n\tworkspaceDir: string,\n\treports: ConfiguredPackageReport[],\n): { scope: WritablePackageScope; sourceSpec: string } | null {\n\tconst requestedIdentity = tryResolvePackageIdentity(sourceSpec, workspaceDir);\n\tconst matches = reports.filter((report) => {\n\t\tif (report.sourceSpec === sourceSpec) {\n\t\t\treturn true;\n\t\t}\n\t\tif (!requestedIdentity) {\n\t\t\treturn false;\n\t\t}\n\t\tconst entryIdentity = tryResolvePackageIdentity(\n\t\t\treport.sourceSpec,\n\t\t\treport.entry.cwd,\n\t\t);\n\t\treturn entryIdentity === requestedIdentity;\n\t});\n\n\tfor (const scope of [\"local\", \"project\", \"user\"] as const) {\n\t\tconst match = matches.find((entry) => entry.entry.scope === scope);\n\t\tif (match) {\n\t\t\treturn { scope: match.entry.scope, sourceSpec: match.sourceSpec };\n\t\t}\n\t}\n\n\treturn null;\n}\n\nasync function refreshPackageInspection(\n\tsourceSpec: string,\n\tprojectRoot: string,\n): Promise<{\n\tinspection: ReturnType<typeof serializeInspection>;\n\tissues: string[];\n}> {\n\tconst parsedSource = parsePackageSource(sourceSpec, projectRoot);\n\trefreshPackageSourceSync(parsedSource);\n\tconst inspected = await inspectPackageSource(sourceSpec, projectRoot);\n\treturn {\n\t\tinspection: serializeInspection(inspected),\n\t\tissues: collectPackageValidationIssues(inspected),\n\t};\n}\n\nexport async function handlePackageStatus(\n\treq: IncomingMessage,\n\tres: ServerResponse,\n\tcorsHeaders: Record<string, string>,\n\toptions: PackageStatusOptions = {},\n): Promise<void> {\n\ttry {\n\t\tconst projectRoot = process.cwd();\n\t\tconst url = new URL(req.url ?? \"/api/package\", \"http://localhost\");\n\t\tconst action = url.searchParams.get(\"action\")?.toLowerCase() ?? \"list\";\n\n\t\tif (req.method === \"GET\") {\n\t\t\tif (action === \"search\") {\n\t\t\t\tconst query = url.searchParams.get(\"query\")?.trim() ?? \"\";\n\t\t\t\tconst result = await searchPackageRegistry(query);\n\t\t\t\tsendJson(res, 200, result, corsHeaders);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (action !== \"list\" && action !== \"status\") {\n\t\t\t\tthrow new ApiError(400, `Unknown package action: ${action}`);\n\t\t\t}\n\t\t\tconst reports = await listConfiguredPackageReports(projectRoot, options);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{ packages: reports.map(serializeConfiguredPackageReport) },\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (req.method !== \"POST\") {\n\t\t\tthrow new ApiError(405, \"Method not allowed\");\n\t\t}\n\n\t\tif (action === \"inspect\") {\n\t\t\tconst input = await parseAndValidateJson<PackageSourceInput>(\n\t\t\t\treq,\n\t\t\t\tPackageSourceSchema,\n\t\t\t);\n\t\t\tconst inspected = await inspectPackageSource(input.source, projectRoot);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\tinspection: serializeInspection(inspected),\n\t\t\t\t\tissues: collectPackageValidationIssues(inspected),\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"refresh\") {\n\t\t\tconst input = await parseAndValidateJson<PackageRefreshInput>(\n\t\t\t\treq,\n\t\t\t\tPackageRefreshSchema,\n\t\t\t);\n\t\t\tconst refreshed = await refreshPackageInspection(\n\t\t\t\tinput.source,\n\t\t\t\tprojectRoot,\n\t\t\t);\n\t\t\tsendJson(res, 200, refreshed, corsHeaders);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"refresh-all\") {\n\t\t\tconst refreshed = await refreshConfiguredRemotePackages(\n\t\t\t\tprojectRoot,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\trefreshed: refreshed.refreshed.map(\n\t\t\t\t\t\tserializeRefreshedConfiguredPackage,\n\t\t\t\t\t),\n\t\t\t\t\tlocalCount: refreshed.localCount,\n\t\t\t\t\tremoteCount: refreshed.remoteCount,\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"prune-cache\") {\n\t\t\tconst pruned = pruneUnconfiguredRemotePackageCaches(projectRoot, options);\n\t\t\tsendJson(res, 200, serializePackageCachePruneReport(pruned), corsHeaders);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"validate\") {\n\t\t\tconst input = await parseAndValidateJson<PackageSourceInput>(\n\t\t\t\treq,\n\t\t\t\tPackageSourceSchema,\n\t\t\t);\n\t\t\tconst inspected = await inspectPackageSource(input.source, projectRoot);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\tinspection: serializeInspection(inspected),\n\t\t\t\t\tissues: collectPackageValidationIssues(inspected),\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"add\") {\n\t\t\tconst input = await parseAndValidateJson<PackageSourceInput>(\n\t\t\t\treq,\n\t\t\t\tPackageSourceSchema,\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: getWritableScope(input.scope),\n\t\t\t\t\tspec: input.source,\n\t\t\t\t\tprofileName: options.profileName,\n\t\t\t\t\tcliOverrides: options.cliOverrides,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow new ApiError(\n\t\t\t\t\t400,\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: \"Failed to add configured package.\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\tpath: result.path,\n\t\t\t\t\tscope: result.scope,\n\t\t\t\t\tspec:\n\t\t\t\t\t\ttypeof result.spec === \"string\" ? result.spec : result.spec.source,\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"remove\") {\n\t\t\tconst input = await parseAndValidateJson<PackageSourceInput>(\n\t\t\t\treq,\n\t\t\t\tPackageSourceSchema,\n\t\t\t);\n\t\t\tconst result = removeConfiguredPackageSpecFromConfig({\n\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\tscope: input.scope,\n\t\t\t\tspec: input.source,\n\t\t\t\tprofileName: options.profileName,\n\t\t\t\tcliOverrides: options.cliOverrides,\n\t\t\t});\n\t\t\tconst reports = await listConfiguredPackageReports(projectRoot, options);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\tpath: result.path,\n\t\t\t\t\tscope: result.scope,\n\t\t\t\t\tremovedCount: result.removedCount,\n\t\t\t\t\tfallback: findPackageFallback(input.source, projectRoot, reports),\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tthrow new ApiError(400, `Unknown package action: ${action}`);\n\t} catch (error) {\n\t\trespondWithApiError(res, error, 500, corsHeaders);\n\t}\n}\n"]}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/server/handlers/package.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IncomingMessage, ServerResponse } from \"node:http\";\nimport { type Static, Type } from \"@sinclair/typebox\";\nimport {\n\ttype ComposerConfig,\n\ttype WritablePackageScope,\n\taddConfiguredPackageSpecToConfig,\n\tremoveConfiguredPackageSpecFromConfig,\n} from \"../../config/index.js\";\nimport {\n\ttype ConfiguredPackageReport,\n\ttype InspectedPackage,\n\tcollectPackageValidationIssues,\n\tinspectPackageSource,\n\tlistConfiguredPackageReports,\n} from \"../../packages/inspection.js\";\nimport {\n\ttype PackageCachePruneReport,\n\ttype RefreshedConfiguredPackage,\n\tpruneUnconfiguredRemotePackageCaches,\n\trefreshConfiguredRemotePackages,\n} from \"../../packages/maintenance.js\";\nimport { searchPackageRegistry } from \"../../packages/search.js\";\nimport {\n\tformatPackageSource,\n\tparsePackageSource,\n\trefreshPackageSourceSync,\n} from \"../../packages/sources.js\";\nimport { ApiError, respondWithApiError, sendJson } from \"../server-utils.js\";\nimport { parseAndValidateJson } from \"../validation.js\";\n\nconst WritablePackageScopeSchema = Type.Union([\n\tType.Literal(\"local\"),\n\tType.Literal(\"project\"),\n\tType.Literal(\"user\"),\n]);\n\nconst PackageSourceSchema = Type.Object({\n\tsource: Type.String({ minLength: 1 }),\n\tscope: Type.Optional(WritablePackageScopeSchema),\n});\n\nconst PackageRefreshSchema = Type.Object({\n\tsource: Type.String({ minLength: 1 }),\n});\n\ntype PackageSourceInput = Static<typeof PackageSourceSchema>;\ntype PackageRefreshInput = Static<typeof PackageRefreshSchema>;\n\ninterface PackageStatusOptions {\n\tprofileName?: string;\n\tcliOverrides?: Partial<ComposerConfig>;\n}\n\nfunction getWritableScope(\n\tscope: WritablePackageScope | undefined,\n): WritablePackageScope {\n\treturn scope ?? \"local\";\n}\n\nfunction serializeInspection(inspected: InspectedPackage) {\n\treturn {\n\t\tsourceSpec: inspected.sourceSpec,\n\t\tresolvedSource: formatPackageSource(inspected.source),\n\t\tsourceType: inspected.source.type,\n\t\tresolvedPath: inspected.resolvedPath,\n\t\tdiscovered: inspected.discovered\n\t\t\t? {\n\t\t\t\t\tname: inspected.discovered.packageJson.name,\n\t\t\t\t\tversion: inspected.discovered.packageJson.version,\n\t\t\t\t\tisMaestroPackage: inspected.discovered.isMaestroPackage,\n\t\t\t\t\thasManifest: Boolean(inspected.discovered.packageJson.maestro),\n\t\t\t\t\tmanifestPaths: inspected.discovered.packageJson.maestro ?? null,\n\t\t\t\t\terrors: inspected.discovered.errors ?? [],\n\t\t\t\t}\n\t\t\t: null,\n\t\tresources: inspected.resources\n\t\t\t? {\n\t\t\t\t\tagents: inspected.resources.agents,\n\t\t\t\t\textensions: inspected.resources.extensions,\n\t\t\t\t\tskills: inspected.resources.skills,\n\t\t\t\t\tprompts: inspected.resources.prompts,\n\t\t\t\t\tthemes: inspected.resources.themes,\n\t\t\t\t}\n\t\t\t: null,\n\t};\n}\n\nfunction serializeConfiguredPackageReport(report: ConfiguredPackageReport) {\n\treturn {\n\t\tscope: report.entry.scope,\n\t\tconfigPath: report.entry.configPath,\n\t\tsourceSpec: report.sourceSpec,\n\t\tfilters: report.filters ?? null,\n\t\tinspection: report.inspected ? serializeInspection(report.inspected) : null,\n\t\tissues: report.inspected\n\t\t\t? collectPackageValidationIssues(report.inspected)\n\t\t\t: null,\n\t\terror: report.error ?? null,\n\t};\n}\n\nfunction serializeRefreshedConfiguredPackage(\n\treport: RefreshedConfiguredPackage,\n): {\n\tsource: string;\n\tsourceType: \"git\" | \"npm\";\n\tscopes: WritablePackageScope[];\n\tinspection: ReturnType<typeof serializeInspection> | null;\n\tissues: string[];\n\terror: string | null;\n} {\n\treturn {\n\t\tsource: report.source,\n\t\tsourceType: report.sourceType,\n\t\tscopes: report.scopes,\n\t\tinspection: report.inspection\n\t\t\t? serializeInspection(report.inspection)\n\t\t\t: null,\n\t\tissues: report.issues,\n\t\terror: report.error,\n\t};\n}\n\nfunction serializePackageCachePruneReport(report: PackageCachePruneReport) {\n\treturn {\n\t\tcacheDir: report.cacheDir,\n\t\tremoved: report.removed,\n\t\tremovedCount: report.removedCount,\n\t\treferencedCount: report.referencedCount,\n\t};\n}\n\nfunction tryResolvePackageIdentity(\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 findPackageFallback(\n\tsourceSpec: string,\n\tworkspaceDir: string,\n\treports: ConfiguredPackageReport[],\n): { scope: WritablePackageScope; sourceSpec: string } | null {\n\tconst requestedIdentity = tryResolvePackageIdentity(sourceSpec, workspaceDir);\n\tconst matches = reports.filter((report) => {\n\t\tif (report.sourceSpec === sourceSpec) {\n\t\t\treturn true;\n\t\t}\n\t\tif (!requestedIdentity) {\n\t\t\treturn false;\n\t\t}\n\t\tconst entryIdentity = tryResolvePackageIdentity(\n\t\t\treport.sourceSpec,\n\t\t\treport.entry.cwd,\n\t\t);\n\t\treturn entryIdentity === requestedIdentity;\n\t});\n\n\tfor (const scope of [\"local\", \"project\", \"user\"] as const) {\n\t\tconst match = matches.find((entry) => entry.entry.scope === scope);\n\t\tif (match) {\n\t\t\treturn { scope: match.entry.scope, sourceSpec: match.sourceSpec };\n\t\t}\n\t}\n\n\treturn null;\n}\n\nasync function refreshPackageInspection(\n\tsourceSpec: string,\n\tprojectRoot: string,\n): Promise<{\n\tinspection: ReturnType<typeof serializeInspection>;\n\tissues: string[];\n}> {\n\tconst parsedSource = parsePackageSource(sourceSpec, projectRoot);\n\trefreshPackageSourceSync(parsedSource);\n\tconst inspected = await inspectPackageSource(sourceSpec, projectRoot);\n\treturn {\n\t\tinspection: serializeInspection(inspected),\n\t\tissues: collectPackageValidationIssues(inspected),\n\t};\n}\n\nexport async function handlePackageStatus(\n\treq: IncomingMessage,\n\tres: ServerResponse,\n\tcorsHeaders: Record<string, string>,\n\toptions: PackageStatusOptions = {},\n): Promise<void> {\n\ttry {\n\t\tconst projectRoot = process.cwd();\n\t\tconst url = new URL(req.url ?? \"/api/package\", \"http://localhost\");\n\t\tconst action = url.searchParams.get(\"action\")?.toLowerCase() ?? \"list\";\n\n\t\tif (req.method === \"GET\") {\n\t\t\tif (action === \"search\") {\n\t\t\t\tconst query = url.searchParams.get(\"query\")?.trim() ?? \"\";\n\t\t\t\tconst result = await searchPackageRegistry(query);\n\t\t\t\tsendJson(res, 200, result, corsHeaders);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (action !== \"list\" && action !== \"status\") {\n\t\t\t\tthrow new ApiError(400, `Unknown package action: ${action}`);\n\t\t\t}\n\t\t\tconst reports = await listConfiguredPackageReports(projectRoot, options);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{ packages: reports.map(serializeConfiguredPackageReport) },\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (req.method !== \"POST\") {\n\t\t\tthrow new ApiError(405, \"Method not allowed\");\n\t\t}\n\n\t\tif (action === \"inspect\") {\n\t\t\tconst input = await parseAndValidateJson<PackageSourceInput>(\n\t\t\t\treq,\n\t\t\t\tPackageSourceSchema,\n\t\t\t);\n\t\t\tconst inspected = await inspectPackageSource(input.source, projectRoot);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\tinspection: serializeInspection(inspected),\n\t\t\t\t\tissues: collectPackageValidationIssues(inspected),\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"refresh\") {\n\t\t\tconst input = await parseAndValidateJson<PackageRefreshInput>(\n\t\t\t\treq,\n\t\t\t\tPackageRefreshSchema,\n\t\t\t);\n\t\t\tconst refreshed = await refreshPackageInspection(\n\t\t\t\tinput.source,\n\t\t\t\tprojectRoot,\n\t\t\t);\n\t\t\tsendJson(res, 200, refreshed, corsHeaders);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"refresh-all\") {\n\t\t\tconst refreshed = await refreshConfiguredRemotePackages(\n\t\t\t\tprojectRoot,\n\t\t\t\toptions,\n\t\t\t);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\trefreshed: refreshed.refreshed.map(\n\t\t\t\t\t\tserializeRefreshedConfiguredPackage,\n\t\t\t\t\t),\n\t\t\t\t\tlocalCount: refreshed.localCount,\n\t\t\t\t\tremoteCount: refreshed.remoteCount,\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"prune-cache\") {\n\t\t\tconst pruned = pruneUnconfiguredRemotePackageCaches(projectRoot, options);\n\t\t\tsendJson(res, 200, serializePackageCachePruneReport(pruned), corsHeaders);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"validate\") {\n\t\t\tconst input = await parseAndValidateJson<PackageSourceInput>(\n\t\t\t\treq,\n\t\t\t\tPackageSourceSchema,\n\t\t\t);\n\t\t\tconst inspected = await inspectPackageSource(input.source, projectRoot);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\tinspection: serializeInspection(inspected),\n\t\t\t\t\tissues: collectPackageValidationIssues(inspected),\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"add\") {\n\t\t\tconst input = await parseAndValidateJson<PackageSourceInput>(\n\t\t\t\treq,\n\t\t\t\tPackageSourceSchema,\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: getWritableScope(input.scope),\n\t\t\t\t\tspec: input.source,\n\t\t\t\t\tprofileName: options.profileName,\n\t\t\t\t\tcliOverrides: options.cliOverrides,\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tthrow new ApiError(\n\t\t\t\t\t400,\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: \"Failed to add configured package.\",\n\t\t\t\t);\n\t\t\t}\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\tpath: result.path,\n\t\t\t\t\tscope: result.scope,\n\t\t\t\t\tspec:\n\t\t\t\t\t\ttypeof result.spec === \"string\" ? result.spec : result.spec.source,\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tif (action === \"remove\") {\n\t\t\tconst input = await parseAndValidateJson<PackageSourceInput>(\n\t\t\t\treq,\n\t\t\t\tPackageSourceSchema,\n\t\t\t);\n\t\t\tconst result = removeConfiguredPackageSpecFromConfig({\n\t\t\t\tworkspaceDir: projectRoot,\n\t\t\t\tscope: input.scope,\n\t\t\t\tspec: input.source,\n\t\t\t\tprofileName: options.profileName,\n\t\t\t\tcliOverrides: options.cliOverrides,\n\t\t\t});\n\t\t\tconst reports = await listConfiguredPackageReports(projectRoot, options);\n\t\t\tsendJson(\n\t\t\t\tres,\n\t\t\t\t200,\n\t\t\t\t{\n\t\t\t\t\tpath: result.path,\n\t\t\t\t\tscope: result.scope,\n\t\t\t\t\tremovedCount: result.removedCount,\n\t\t\t\t\tfallback: findPackageFallback(input.source, projectRoot, reports),\n\t\t\t\t},\n\t\t\t\tcorsHeaders,\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tthrow new ApiError(400, `Unknown package action: ${action}`);\n\t} catch (error) {\n\t\trespondWithApiError(res, error, 500, corsHeaders);\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"platform-a2a-push.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/platform-a2a-push.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAuB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAS/E,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AAOxE,wBAAgB,sCAAsC,IAAI,SAAS,MAAM,EAAE,CAE1E;AAkCD,wBAAsB,6BAA6B,CAClD,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAgBf"}
1
+ {"version":3,"file":"platform-a2a-push.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/platform-a2a-push.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAuB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAgC/E,eAAO,MAAM,+BAA+B,2BAA2B,CAAC;AAOxE,wBAAgB,sCAAsC,IAAI,SAAS,MAAM,EAAE,CAE1E;AAkCD,wBAAsB,6BAA6B,CAClD,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -1,4 +1,21 @@
1
+ import { createHmac } from "node:crypto";
1
2
  import { ApiError, getRequestHeader, readJsonBody, secureCompare, sendJson, } from "../server-utils.js";
3
+ // Agent-runtime derives a per-workspace notification token via HMAC and sends
4
+ // that in X-A2a-Notification-Token instead of the raw shared secret. See
5
+ // PushNotificationTokenForWorkspace in evalops/platform
6
+ // internal/agentruntime/a2a/push.go (constant prefix kept in sync).
7
+ const A2A_WORKSPACE_NOTIFICATION_TOKEN_PREFIX = "workspace-v1.";
8
+ function workspaceNotificationToken(secret, workspaceId) {
9
+ const trimmedSecret = secret.trim();
10
+ const trimmedWorkspace = workspaceId.trim();
11
+ if (!trimmedSecret || !trimmedWorkspace) {
12
+ return "";
13
+ }
14
+ const mac = createHmac("sha256", trimmedSecret);
15
+ mac.update(trimmedWorkspace);
16
+ return (A2A_WORKSPACE_NOTIFICATION_TOKEN_PREFIX +
17
+ mac.digest("base64url").replace(/=+$/, ""));
18
+ }
2
19
  export const PLATFORM_A2A_PUSH_CALLBACK_PATH = "/api/platform/a2a/push";
3
20
  const CALLBACK_TOKEN_ENV_VARS = [
4
21
  "MAESTRO_PLATFORM_A2A_CALLBACK_TOKEN",
@@ -17,6 +34,7 @@ export async function handlePlatformA2APushCallback(req, res, context) {
17
34
  if (!snapshot) {
18
35
  throw new ApiError(400, "Invalid A2A push notification payload");
19
36
  }
37
+ assertWorkspaceScopedCallbackTokenSnapshot(req, snapshot);
20
38
  const hostedRunner = context.hostedRunner;
21
39
  assertHostedRunnerA2APushBoundary(hostedRunner, snapshot);
22
40
  if (hostedRunner) {
@@ -30,7 +48,40 @@ function assertCallbackToken(req) {
30
48
  return;
31
49
  }
32
50
  const provided = getRequestHeader(req, "x-a2a-notification-token");
33
- if (!provided || !secureCompare(provided, expected)) {
51
+ if (!provided) {
52
+ throw new ApiError(401, "Invalid A2A notification token");
53
+ }
54
+ if (secureCompare(provided, expected)) {
55
+ return;
56
+ }
57
+ // Agent-runtime derives a workspace-scoped HMAC token from the same shared
58
+ // secret when X-Evalops-Workspace-Id is present and the callback host/path
59
+ // matches its allowlist; accept that variant too.
60
+ const workspaceId = getRequestHeader(req, "x-evalops-workspace-id", "x-workspace-id");
61
+ if (workspaceId) {
62
+ const derived = workspaceNotificationToken(expected, workspaceId);
63
+ if (derived && secureCompare(provided, derived)) {
64
+ return;
65
+ }
66
+ }
67
+ throw new ApiError(401, "Invalid A2A notification token");
68
+ }
69
+ function assertWorkspaceScopedCallbackTokenSnapshot(req, snapshot) {
70
+ const expected = callbackToken();
71
+ if (!expected) {
72
+ return;
73
+ }
74
+ const provided = getRequestHeader(req, "x-a2a-notification-token");
75
+ if (!provided ||
76
+ !provided.startsWith(A2A_WORKSPACE_NOTIFICATION_TOKEN_PREFIX)) {
77
+ return;
78
+ }
79
+ const workspaceId = snapshot.workspaceId;
80
+ if (!workspaceId) {
81
+ throw new ApiError(401, "Invalid A2A notification token");
82
+ }
83
+ const derived = workspaceNotificationToken(expected, workspaceId);
84
+ if (!derived || !secureCompare(provided, derived)) {
34
85
  throw new ApiError(401, "Invalid A2A notification token");
35
86
  }
36
87
  }
@@ -126,7 +177,7 @@ function platformA2APushRequestContext(req) {
126
177
  tracestate: getRequestHeader(req, "tracestate") ?? undefined,
127
178
  organizationId: getRequestHeader(req, "x-organization-id", "x-evalops-organization-id") ??
128
179
  undefined,
129
- workspaceId: getRequestHeader(req, "x-workspace-id", "x-evalops-workspace-id") ??
180
+ workspaceId: getRequestHeader(req, "x-evalops-workspace-id", "x-workspace-id") ??
130
181
  undefined,
131
182
  agentId: getRequestHeader(req, "x-evalops-agent-id", "x-maestro-agent-id") ??
132
183
  undefined,