cli-jaw 2.1.0 → 2.1.2

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 (356) hide show
  1. package/README.ja.md +8 -6
  2. package/README.ko.md +8 -6
  3. package/README.md +12 -6
  4. package/README.zh-CN.md +8 -6
  5. package/dist/bin/cli-jaw.js +5 -1
  6. package/dist/bin/cli-jaw.js.map +1 -1
  7. package/dist/bin/commands/browser.js +1 -1
  8. package/dist/bin/commands/browser.js.map +1 -1
  9. package/dist/bin/commands/chat.js +98 -58
  10. package/dist/bin/commands/chat.js.map +1 -1
  11. package/dist/bin/commands/dispatch.js +130 -5
  12. package/dist/bin/commands/dispatch.js.map +1 -1
  13. package/dist/bin/commands/goal.js +18 -6
  14. package/dist/bin/commands/goal.js.map +1 -1
  15. package/dist/bin/commands/orchestrate.js.map +1 -1
  16. package/dist/bin/commands/tui/fullscreen-mode.js +237 -0
  17. package/dist/bin/commands/tui/fullscreen-mode.js.map +1 -0
  18. package/dist/bin/commands/tui/input-handler.js +139 -52
  19. package/dist/bin/commands/tui/input-handler.js.map +1 -1
  20. package/dist/bin/commands/tui/overlays.js +177 -70
  21. package/dist/bin/commands/tui/overlays.js.map +1 -1
  22. package/dist/bin/commands/tui/renderer.js +70 -20
  23. package/dist/bin/commands/tui/renderer.js.map +1 -1
  24. package/dist/bin/commands/tui/simple-mode.js +1 -1
  25. package/dist/bin/commands/tui/simple-mode.js.map +1 -1
  26. package/dist/bin/commands/tui/tui-io.js +8 -0
  27. package/dist/bin/commands/tui/tui-io.js.map +1 -0
  28. package/dist/bin/commands/tui/types.js +9 -0
  29. package/dist/bin/commands/tui/types.js.map +1 -1
  30. package/dist/bin/commands/tui/ws-handler.js +115 -23
  31. package/dist/bin/commands/tui/ws-handler.js.map +1 -1
  32. package/dist/bin/commands/worker.js +159 -0
  33. package/dist/bin/commands/worker.js.map +1 -0
  34. package/dist/bin/postinstall.js +0 -76
  35. package/dist/bin/postinstall.js.map +1 -1
  36. package/dist/lib/mcp/format-converters.js +21 -2
  37. package/dist/lib/mcp/format-converters.js.map +1 -1
  38. package/dist/lib/mcp/mcp-registry.js +75 -0
  39. package/dist/lib/mcp/mcp-registry.js.map +1 -0
  40. package/dist/lib/stt.js +1 -1
  41. package/dist/lib/stt.js.map +1 -1
  42. package/dist/scripts/fresh-install-smoke.js +1 -1
  43. package/dist/scripts/fresh-install-smoke.js.map +1 -1
  44. package/dist/server.js +27 -6
  45. package/dist/server.js.map +1 -1
  46. package/dist/src/agent/args.js +33 -1
  47. package/dist/src/agent/args.js.map +1 -1
  48. package/dist/src/agent/claude-e-runtime.js +1 -1
  49. package/dist/src/agent/claude-e-runtime.js.map +1 -1
  50. package/dist/src/agent/codex-app-client.js +1 -1
  51. package/dist/src/agent/error-classifier.js +6 -1
  52. package/dist/src/agent/error-classifier.js.map +1 -1
  53. package/dist/src/agent/events/claude.js +1 -0
  54. package/dist/src/agent/events/claude.js.map +1 -1
  55. package/dist/src/agent/events/codex.js +0 -44
  56. package/dist/src/agent/events/codex.js.map +1 -1
  57. package/dist/src/agent/events/helpers.js +52 -5
  58. package/dist/src/agent/events/helpers.js.map +1 -1
  59. package/dist/src/agent/events/opencode.js +6 -2
  60. package/dist/src/agent/events/opencode.js.map +1 -1
  61. package/dist/src/agent/events/summary.js +3 -2
  62. package/dist/src/agent/events/summary.js.map +1 -1
  63. package/dist/src/agent/events/tool-labels.js +8 -5
  64. package/dist/src/agent/events/tool-labels.js.map +1 -1
  65. package/dist/src/agent/kiro-auth.js +213 -0
  66. package/dist/src/agent/kiro-auth.js.map +1 -0
  67. package/dist/src/agent/kiro-models.js +79 -0
  68. package/dist/src/agent/kiro-models.js.map +1 -0
  69. package/dist/src/agent/kiro-runtime.js +306 -0
  70. package/dist/src/agent/kiro-runtime.js.map +1 -0
  71. package/dist/src/agent/lifecycle-handler.js +190 -12
  72. package/dist/src/agent/lifecycle-handler.js.map +1 -1
  73. package/dist/src/agent/memory-flush-controller.js +1 -3
  74. package/dist/src/agent/memory-flush-controller.js.map +1 -1
  75. package/dist/src/agent/resume-classifier.js +18 -1
  76. package/dist/src/agent/resume-classifier.js.map +1 -1
  77. package/dist/src/agent/session-persistence.js +1 -1
  78. package/dist/src/agent/session-persistence.js.map +1 -1
  79. package/dist/src/agent/smoke-detector.js +3 -0
  80. package/dist/src/agent/smoke-detector.js.map +1 -1
  81. package/dist/src/agent/spawn/queue.js +10 -4
  82. package/dist/src/agent/spawn/queue.js.map +1 -1
  83. package/dist/src/agent/spawn/resume.js +6 -1
  84. package/dist/src/agent/spawn/resume.js.map +1 -1
  85. package/dist/src/agent/spawn-env.js +1 -1
  86. package/dist/src/agent/spawn-env.js.map +1 -1
  87. package/dist/src/agent/spawn.js +188 -28
  88. package/dist/src/agent/spawn.js.map +1 -1
  89. package/dist/src/browser/web-ai/grok-live.js +2 -0
  90. package/dist/src/browser/web-ai/grok-live.js.map +1 -1
  91. package/dist/src/cli/claude-models.js +2 -2
  92. package/dist/src/cli/claude-models.js.map +1 -1
  93. package/dist/src/cli/commands.js +3 -2
  94. package/dist/src/cli/commands.js.map +1 -1
  95. package/dist/src/cli/handlers-runtime.js +2 -0
  96. package/dist/src/cli/handlers-runtime.js.map +1 -1
  97. package/dist/src/cli/handlers-workflows.js +9 -4
  98. package/dist/src/cli/handlers-workflows.js.map +1 -1
  99. package/dist/src/cli/handlers.js +47 -7
  100. package/dist/src/cli/handlers.js.map +1 -1
  101. package/dist/src/cli/readiness.js +17 -1
  102. package/dist/src/cli/readiness.js.map +1 -1
  103. package/dist/src/cli/registry-live.js +17 -0
  104. package/dist/src/cli/registry-live.js.map +1 -0
  105. package/dist/src/cli/registry.js +44 -3
  106. package/dist/src/cli/registry.js.map +1 -1
  107. package/dist/src/cli/tui/composer.js +135 -5
  108. package/dist/src/cli/tui/composer.js.map +1 -1
  109. package/dist/src/cli/tui/diffview.js +41 -0
  110. package/dist/src/cli/tui/diffview.js.map +1 -0
  111. package/dist/src/cli/tui/editor.js +45 -0
  112. package/dist/src/cli/tui/editor.js.map +1 -0
  113. package/dist/src/cli/tui/file-mention.js +78 -0
  114. package/dist/src/cli/tui/file-mention.js.map +1 -0
  115. package/dist/src/cli/tui/highlight.js +82 -0
  116. package/dist/src/cli/tui/highlight.js.map +1 -0
  117. package/dist/src/cli/tui/keymap.js +21 -0
  118. package/dist/src/cli/tui/keymap.js.map +1 -1
  119. package/dist/src/cli/tui/markdown.js +124 -0
  120. package/dist/src/cli/tui/markdown.js.map +1 -0
  121. package/dist/src/cli/tui/mode.js +26 -0
  122. package/dist/src/cli/tui/mode.js.map +1 -0
  123. package/dist/src/cli/tui/overlay.js +121 -98
  124. package/dist/src/cli/tui/overlay.js.map +1 -1
  125. package/dist/src/cli/tui/render/frame.js +72 -0
  126. package/dist/src/cli/tui/render/frame.js.map +1 -0
  127. package/dist/src/cli/tui/render/layout.js +22 -0
  128. package/dist/src/cli/tui/render/layout.js.map +1 -0
  129. package/dist/src/cli/tui/render/mouse.js +25 -0
  130. package/dist/src/cli/tui/render/mouse.js.map +1 -0
  131. package/dist/src/cli/tui/render/scheduler.js +37 -0
  132. package/dist/src/cli/tui/render/scheduler.js.map +1 -0
  133. package/dist/src/cli/tui/render/viewport.js +82 -0
  134. package/dist/src/cli/tui/render/viewport.js.map +1 -0
  135. package/dist/src/cli/tui/renderers.js +37 -0
  136. package/dist/src/cli/tui/renderers.js.map +1 -1
  137. package/dist/src/cli/tui/stream.js +48 -0
  138. package/dist/src/cli/tui/stream.js.map +1 -0
  139. package/dist/src/cli/tui/text-buffer.js +143 -0
  140. package/dist/src/cli/tui/text-buffer.js.map +1 -0
  141. package/dist/src/cli/tui/theme.js +128 -0
  142. package/dist/src/cli/tui/theme.js.map +1 -0
  143. package/dist/src/cli/tui/transcript.js +4 -0
  144. package/dist/src/cli/tui/transcript.js.map +1 -1
  145. package/dist/src/command-contract/help-renderer.js +1 -1
  146. package/dist/src/command-contract/help-renderer.js.map +1 -1
  147. package/dist/src/core/cli-detection.js +14 -0
  148. package/dist/src/core/cli-detection.js.map +1 -1
  149. package/dist/src/core/config.js +5 -0
  150. package/dist/src/core/config.js.map +1 -1
  151. package/dist/src/core/db.js +7 -0
  152. package/dist/src/core/db.js.map +1 -1
  153. package/dist/src/core/employees.js +2 -2
  154. package/dist/src/core/employees.js.map +1 -1
  155. package/dist/src/discord/bot.js.map +1 -1
  156. package/dist/src/discord/discord-file.js +1 -1
  157. package/dist/src/discord/discord-file.js.map +1 -1
  158. package/dist/src/discord/send-only-client.js +1 -3
  159. package/dist/src/discord/send-only-client.js.map +1 -1
  160. package/dist/src/goal/heartbeat.js +30 -7
  161. package/dist/src/goal/heartbeat.js.map +1 -1
  162. package/dist/src/goal/store.js +6 -2
  163. package/dist/src/goal/store.js.map +1 -1
  164. package/dist/src/ide/diff.js +37 -0
  165. package/dist/src/ide/diff.js.map +1 -1
  166. package/dist/src/manager/launchd-service.js +1 -1
  167. package/dist/src/manager/launchd-service.js.map +1 -1
  168. package/dist/src/manager/lifecycle-helpers.js +14 -0
  169. package/dist/src/manager/lifecycle-helpers.js.map +1 -1
  170. package/dist/src/manager/lifecycle.js +49 -4
  171. package/dist/src/manager/lifecycle.js.map +1 -1
  172. package/dist/src/manager/notes/routes.js +0 -31
  173. package/dist/src/manager/notes/routes.js.map +1 -1
  174. package/dist/src/manager/notes/ws.js.map +1 -1
  175. package/dist/src/manager/registry.js.map +1 -1
  176. package/dist/src/manager/routes/dashboard-memory.js.map +1 -1
  177. package/dist/src/manager/scan.js +36 -1
  178. package/dist/src/manager/scan.js.map +1 -1
  179. package/dist/src/manager/server.js +21 -2
  180. package/dist/src/manager/server.js.map +1 -1
  181. package/dist/src/manager/systemd-service.js +1 -1
  182. package/dist/src/manager/systemd-service.js.map +1 -1
  183. package/dist/src/memory/keyword-expand.js +0 -187
  184. package/dist/src/memory/keyword-expand.js.map +1 -1
  185. package/dist/src/memory/runtime.js +2 -2
  186. package/dist/src/memory/runtime.js.map +1 -1
  187. package/dist/src/memory/shared.js.map +1 -1
  188. package/dist/src/orchestrator/collect.js +3 -2
  189. package/dist/src/orchestrator/collect.js.map +1 -1
  190. package/dist/src/orchestrator/distribute.js +7 -1
  191. package/dist/src/orchestrator/distribute.js.map +1 -1
  192. package/dist/src/orchestrator/friction.js +59 -0
  193. package/dist/src/orchestrator/friction.js.map +1 -0
  194. package/dist/src/orchestrator/pipeline.js +88 -45
  195. package/dist/src/orchestrator/pipeline.js.map +1 -1
  196. package/dist/src/orchestrator/sanitize.js +19 -0
  197. package/dist/src/orchestrator/sanitize.js.map +1 -0
  198. package/dist/src/orchestrator/seed.js +50 -0
  199. package/dist/src/orchestrator/seed.js.map +1 -0
  200. package/dist/src/orchestrator/state-machine.js +206 -74
  201. package/dist/src/orchestrator/state-machine.js.map +1 -1
  202. package/dist/src/orchestrator/worker-monitor.js +1 -1
  203. package/dist/src/orchestrator/worker-monitor.js.map +1 -1
  204. package/dist/src/orchestrator/worker-progress.js +29 -0
  205. package/dist/src/orchestrator/worker-progress.js.map +1 -0
  206. package/dist/src/orchestrator/worker-registry.js +63 -2
  207. package/dist/src/orchestrator/worker-registry.js.map +1 -1
  208. package/dist/src/prompt/builder.js +19 -29
  209. package/dist/src/prompt/builder.js.map +1 -1
  210. package/dist/src/prompt/templates/a1-system.md +40 -5
  211. package/dist/src/prompt/templates/control-system.md +2 -2
  212. package/dist/src/prompt/templates/employee.md +4 -1
  213. package/dist/src/prompt/templates/orchestration.md +23 -8
  214. package/dist/src/routes/employees.js +4 -4
  215. package/dist/src/routes/employees.js.map +1 -1
  216. package/dist/src/routes/goal.js +11 -3
  217. package/dist/src/routes/goal.js.map +1 -1
  218. package/dist/src/routes/heartbeat.js +1 -1
  219. package/dist/src/routes/heartbeat.js.map +1 -1
  220. package/dist/src/routes/i18n.js +1 -1
  221. package/dist/src/routes/i18n.js.map +1 -1
  222. package/dist/src/routes/jaw-memory.js +1 -1
  223. package/dist/src/routes/jaw-memory.js.map +1 -1
  224. package/dist/src/routes/memory.js.map +1 -1
  225. package/dist/src/routes/messaging.js.map +1 -1
  226. package/dist/src/routes/orchestrate.js +265 -116
  227. package/dist/src/routes/orchestrate.js.map +1 -1
  228. package/dist/src/routes/quota-agy-reverse.js +0 -5
  229. package/dist/src/routes/quota-agy-reverse.js.map +1 -1
  230. package/dist/src/routes/quota-kiro-reverse.js +187 -0
  231. package/dist/src/routes/quota-kiro-reverse.js.map +1 -0
  232. package/dist/src/routes/settings.js +31 -2
  233. package/dist/src/routes/settings.js.map +1 -1
  234. package/dist/src/routes/skills.js.map +1 -1
  235. package/dist/src/security/security-audit-log.js.map +1 -1
  236. package/dist/src/shared/shell-command-display.js +51 -0
  237. package/dist/src/shared/shell-command-display.js.map +1 -0
  238. package/dist/src/telegram/bot.js.map +1 -1
  239. package/dist/src/trace/store.js +32 -0
  240. package/dist/src/trace/store.js.map +1 -1
  241. package/dist/src/types/cli-engine.js +1 -0
  242. package/dist/src/types/cli-engine.js.map +1 -1
  243. package/dist/src/workflows/employee-boundary.js +7 -7
  244. package/dist/src/workflows/employee-boundary.js.map +1 -1
  245. package/dist/src/workflows/handoff.js +16 -16
  246. package/dist/src/workflows/handoff.js.map +1 -1
  247. package/dist/src/workflows/scope-sandbox.js +46 -0
  248. package/dist/src/workflows/scope-sandbox.js.map +1 -0
  249. package/package.json +1 -1
  250. package/public/assets/providers/kiro-color.svg +15 -0
  251. package/public/assets/providers/kiro.svg +14 -0
  252. package/public/css/modals.css +79 -0
  253. package/public/css/orc-state.css +21 -2
  254. package/public/css/sidebar.css +85 -0
  255. package/public/css/variables.css +2 -2
  256. package/public/dist/assets/{Agent-CIUGaUVn.js → Agent-DkH7eoHd.js} +1 -1
  257. package/public/dist/assets/{DocPanel-C1pGgE-S.js → DocPanel-BU16GUlB.js} +1 -1
  258. package/public/dist/assets/DocPanel-gU-WkgyA.css +1 -0
  259. package/public/dist/assets/Employees-F0ssNuO-.js +1 -0
  260. package/public/dist/assets/Heartbeat-C3JS6gkF.js +1 -0
  261. package/public/dist/assets/Mcp-_Yq4N3Sk.js +4 -0
  262. package/public/dist/assets/{Memory-BgN8djV4.js → Memory-C-EQubN2.js} +1 -1
  263. package/public/dist/assets/{ModelProvider-DHQ1Zvw0.js → ModelProvider-BD2KrypI.js} +1 -1
  264. package/public/dist/assets/agent-meta-B1098B_a.js +1 -0
  265. package/public/dist/assets/app-ByHYOMZE.js +48 -0
  266. package/public/dist/assets/app-CYdhP6Vh.css +1 -0
  267. package/public/dist/assets/constants-s2UJodER.js +1 -0
  268. package/public/dist/assets/{employees-DZSPGlaH.js → employees-_A-p_bZg.js} +7 -7
  269. package/public/dist/assets/idb-cache-0LNMskFB.js +1 -0
  270. package/public/dist/assets/idb-cache-5H89a4l8.js +1 -0
  271. package/public/dist/assets/{manager-DyrwJLZr.css → manager-B2qEQRxN.css} +1 -1
  272. package/public/dist/assets/manager-CR9BA-wO.js +12 -0
  273. package/public/dist/assets/memory-D1RKYvyu.js +1 -0
  274. package/public/dist/assets/{memory-B4RpXXJ7.js → memory-D9AUn8fG.js} +9 -9
  275. package/public/dist/assets/{provider-icons-XEfJPGTe.js → provider-icons-CVVK5xUP.js} +35 -6
  276. package/public/dist/assets/{render-DnylWKO1.js → render-DFBujF8n.js} +4 -4
  277. package/public/dist/assets/settings-B4ZkeaU-.js +1 -0
  278. package/public/dist/assets/settings-D9jTceN0.js +151 -0
  279. package/public/dist/assets/sidebar-DPPRNiTc.js +48 -0
  280. package/public/dist/assets/skills-8nHJkv-r.js +1 -0
  281. package/public/dist/assets/{skills-CW7NEhew.js → skills-BDVLIrVT.js} +6 -6
  282. package/public/dist/assets/{slash-commands-CAydTUgf.js → slash-commands-C5da3q1p.js} +1 -1
  283. package/public/dist/assets/slash-commands-RJWO8wJZ.js +1 -0
  284. package/public/dist/assets/{trace-drawer-G-KP3IbQ.js → trace-drawer-5kqBzFMk.js} +1 -1
  285. package/public/dist/assets/ui-Crnp79bG.js +142 -0
  286. package/public/dist/assets/ui-HtSKByR3.js +1 -0
  287. package/public/dist/index.html +113 -86
  288. package/public/dist/manager/index.html +2 -2
  289. package/public/index.html +111 -84
  290. package/public/js/constants.ts +30 -7
  291. package/public/js/features/chat-search.ts +5 -1
  292. package/public/js/features/employees.ts +7 -2
  293. package/public/js/features/idb-cache.ts +4 -0
  294. package/public/js/features/message-history.ts +55 -7
  295. package/public/js/features/pending-queue.ts +8 -2
  296. package/public/js/features/process-block.ts +32 -17
  297. package/public/js/features/process-log-adapter.ts +11 -2
  298. package/public/js/features/settings-cli-status-render.ts +163 -0
  299. package/public/js/features/settings-cli-status.ts +130 -185
  300. package/public/js/features/settings-core.ts +5 -1
  301. package/public/js/features/settings-mcp.ts +513 -7
  302. package/public/js/features/settings.ts +1 -1
  303. package/public/js/features/tool-ui.ts +18 -4
  304. package/public/js/features/transport-status-row.ts +3 -0
  305. package/public/js/main.ts +3 -0
  306. package/public/js/preview-parent-origin.ts +14 -0
  307. package/public/js/provider-icons.ts +6 -1
  308. package/public/js/render/file-links.ts +10 -2
  309. package/public/js/ui.ts +5 -2
  310. package/public/js/virtual-scroll.ts +19 -0
  311. package/public/js/ws.ts +163 -10
  312. package/public/locales/en.json +8 -2
  313. package/public/locales/ja.json +8 -2
  314. package/public/locales/ko.json +8 -2
  315. package/public/locales/zh.json +8 -2
  316. package/public/manager/src/App.tsx +13 -70
  317. package/public/manager/src/InstancePreview.tsx +36 -11
  318. package/public/manager/src/SidebarRailRouter.tsx +1 -1
  319. package/public/manager/src/doc-panel/DocPanel.tsx +14 -1
  320. package/public/manager/src/doc-panel/doc-panel.css +16 -0
  321. package/public/manager/src/hooks/useInstanceMessageEvents.ts +4 -15
  322. package/public/manager/src/manager-components.css +1 -1
  323. package/public/manager/src/manager-polish.css +1 -1
  324. package/public/manager/src/manager-shortcut-runner.ts +107 -0
  325. package/public/manager/src/manager-shortcuts.ts +15 -0
  326. package/public/manager/src/panels/desktop-bridge.ts +2 -0
  327. package/public/manager/src/settings/SettingsSidebar.tsx +1 -1
  328. package/public/manager/src/settings/components/sidebar-filter.ts +2 -0
  329. package/public/manager/src/settings/pages/Mcp.tsx +311 -43
  330. package/public/manager/src/settings/pages/components/McpServerCard.tsx +89 -55
  331. package/public/manager/src/settings/pages/components/agent/agent-meta.ts +29 -6
  332. package/public/manager/src/settings/pages/components/employees-helpers.ts +1 -0
  333. package/public/manager/src/settings/pages/components/heartbeat-helpers.ts +1 -0
  334. package/public/manager/src/settings/pages/mcp-helpers.ts +54 -12
  335. package/public/manager/src/settings/types.ts +1 -0
  336. package/public/manager/src/types.ts +2 -1
  337. package/scripts/fresh-install-smoke.ts +1 -1
  338. package/public/dist/assets/DocPanel-CL1scIfq.css +0 -1
  339. package/public/dist/assets/Employees-BL9MAzzx.js +0 -1
  340. package/public/dist/assets/Heartbeat-D64JCg4t.js +0 -1
  341. package/public/dist/assets/Mcp-wYwJA_61.js +0 -3
  342. package/public/dist/assets/agent-meta-BhEbjy4P.js +0 -1
  343. package/public/dist/assets/app-DLDdZ41k.js +0 -48
  344. package/public/dist/assets/app-RpnKs-sT.css +0 -1
  345. package/public/dist/assets/constants-ahKI_aEG.js +0 -1
  346. package/public/dist/assets/idb-cache-BnZfG5FD.js +0 -1
  347. package/public/dist/assets/idb-cache-CZ3JdK8r.js +0 -1
  348. package/public/dist/assets/manager-CfyZloIP.js +0 -12
  349. package/public/dist/assets/memory-C9EVOb_D.js +0 -1
  350. package/public/dist/assets/settings-DIG_i79X.js +0 -1
  351. package/public/dist/assets/settings-VCXKhhhz.js +0 -66
  352. package/public/dist/assets/sidebar-Bi_ktFVw.js +0 -18
  353. package/public/dist/assets/skills-RjRqvykb.js +0 -1
  354. package/public/dist/assets/slash-commands-DdXu96Zd.js +0 -1
  355. package/public/dist/assets/ui-CIQjTLzc.js +0 -1
  356. package/public/dist/assets/ui-CkHB9Jmo.js +0 -140
@@ -1,11 +1,13 @@
1
1
  import { fail } from '../http/response.js';
2
- import { isAgentBusy, messageQueue, getQueuedMessageSnapshotForScope, removeQueuedMessage, killActiveAgent, waitForProcessEnd, getCurrentMainMeta, getSteerWaitMsForActiveAgent, setQueueHold, clearQueueHold, setSteerInProgress } from '../agent/spawn.js';
2
+ import { isAgentBusy, messageQueue, getQueuedMessageSnapshotForScope, removeQueuedMessage, killActiveAgent, waitForProcessEnd, getCurrentMainMeta, getSteerWaitMsForActiveAgent, setQueueHold, clearQueueHold, setSteerInProgress, isSteerInProgress } from '../agent/spawn.js';
3
3
  import { getLiveRun } from '../agent/live-run-state.js';
4
4
  import { orchestrate, orchestrateContinue, orchestrateReset, isResetIntent, isContinueIntent, drainPendingReplays } from '../orchestrator/pipeline.js';
5
5
  import { insertMessage } from '../core/db.js';
6
6
  import { getState, getCtx, setState, resetState, canTransition, resetAllStaleStates, parseWorkerVerdict } from '../orchestrator/state-machine.js';
7
+ import { resetFriction } from '../orchestrator/friction.js';
8
+ import { buildSeedFromEvidence, renderSeedBlock } from '../orchestrator/seed.js';
7
9
  import { resolveOrcScope } from '../orchestrator/scope.js';
8
- import { getActiveWorkers, claimWorker, finishWorker, failWorker, markWorkerReplayed, getWorkerSlot, WorkerBusyError } from '../orchestrator/worker-registry.js';
10
+ import { getActiveWorkers, claimWorker, finishWorker, failWorker, markWorkerReplayed, getWorkerSlot, updateWorkerTools, WorkerBusyError, getWorkerProgressSnapshot, listWorkerProgressSnapshots, } from '../orchestrator/worker-registry.js';
9
11
  import { findEmployee, runSingleAgent } from '../orchestrator/distribute.js';
10
12
  import { getEmployees } from '../core/db.js';
11
13
  import { settings, clearProjectDirs } from '../core/config.js';
@@ -16,6 +18,8 @@ import { resolveDispatchableEmployee, checkRuntimeHints, checkModelSupport } fro
16
18
  import { getHeartbeatRuntimeState } from '../memory/heartbeat.js';
17
19
  import { sanitizeToolLogForDurableStorage } from '../shared/tool-log-sanitize.js';
18
20
  import { getSecurityAuditLog } from '../security/security-audit-log.js';
21
+ import { validateDispatchTask } from '../workflows/employee-boundary.js';
22
+ import { normalizeScope, postDispatchDiffCheck } from '../workflows/scope-sandbox.js';
19
23
  function getRuntimeSnapshot() {
20
24
  return {
21
25
  uptimeSec: Math.floor(process.uptime()),
@@ -54,6 +58,18 @@ export function registerOrchestrateRoutes(app, requireAuth) {
54
58
  app.get('/api/orchestrate/workers', requireAuth, (_req, res) => {
55
59
  res.json(getActiveWorkers());
56
60
  });
61
+ app.get('/api/orchestrate/worker-progress', requireAuth, (_req, res) => {
62
+ res.json({ ok: true, workers: listWorkerProgressSnapshots() });
63
+ });
64
+ app.get('/api/orchestrate/worker-progress/:agentId', requireAuth, (req, res) => {
65
+ const agentId = String(req.params["agentId"] || '');
66
+ if (!agentId)
67
+ return fail(res, 400, 'missing agentId');
68
+ const progress = getWorkerProgressSnapshot(agentId);
69
+ if (!progress)
70
+ return fail(res, 404, 'worker progress not found');
71
+ res.json({ ok: true, progress });
72
+ });
57
73
  app.get('/api/orchestrate/snapshot', requireAuth, (_req, res) => {
58
74
  const runtime = getRuntimeSnapshot();
59
75
  const scope = resolveOrcScope({ origin: 'web', workingDir: settings["workingDir"] || null });
@@ -79,6 +95,11 @@ export function registerOrchestrateRoutes(app, requireAuth) {
79
95
  resolvedSelection: ctx.resolvedSelection,
80
96
  projectDirs: ctx.projectDirs,
81
97
  interview: ctx.interview,
98
+ seedSpec: ctx.seedSpec,
99
+ buildBudget: ctx.buildBudget,
100
+ rejectCycles: ctx.rejectCycles,
101
+ delivery: ctx.delivery,
102
+ researchReport: ctx.researchReport,
82
103
  } : null;
83
104
  res.json({
84
105
  orc: {
@@ -134,20 +155,19 @@ export function registerOrchestrateRoutes(app, requireAuth) {
134
155
  }
135
156
  const prompt = peek.prompt;
136
157
  const origin = peek.source || 'web';
158
+ const target = peek.target;
159
+ const chatId = peek.chatId;
160
+ const requestId = peek.requestId;
161
+ const scope = peek.scope || 'default';
162
+ const steerMeta = stripUndefined({ origin, target, chatId, requestId });
163
+ if (isSteerInProgress()) {
164
+ clearQueueHold(id, { resume: false });
165
+ return fail(res, 409, 'steer already in progress');
166
+ }
137
167
  const steerWaitMs = getSteerWaitMsForActiveAgent();
168
+ const wasBusyBeforeSteer = isAgentBusy();
138
169
  setQueueHold(id, Math.max(10_000, steerWaitMs + 5_000));
139
170
  setSteerInProgress(true);
140
- try {
141
- if (isAgentBusy()) {
142
- killActiveAgent('steer');
143
- await waitForProcessEnd(steerWaitMs);
144
- }
145
- }
146
- catch (err) {
147
- setSteerInProgress(false);
148
- clearQueueHold(id);
149
- return fail(res, 500, `steer stop failed: ${err.message}`);
150
- }
151
171
  const result = removeQueuedMessage(id);
152
172
  clearQueueHold(id, { resume: false });
153
173
  if (!result.removed) {
@@ -160,21 +180,28 @@ export function registerOrchestrateRoutes(app, requireAuth) {
160
180
  catch (err) {
161
181
  console.warn('[steer:insert]', err.message);
162
182
  }
163
- broadcast('new_message', { role: 'user', content: prompt, source: origin, fromQueue: true });
164
- broadcast('steer_started', { prompt, origin });
183
+ broadcast('new_message', stripUndefined({ role: 'user', content: prompt, source: origin, fromQueue: true, target, chatId, requestId }));
184
+ broadcast('steer_started', stripUndefined({ prompt, ...steerMeta, scope }));
165
185
  res.json({ ok: true, pending: result.pending });
166
- // Orchestrate async response already sent after queue removal is committed.
167
- (async () => {
186
+ void (async () => {
168
187
  try {
188
+ if (wasBusyBeforeSteer) {
189
+ const stopped = killActiveAgent('steer');
190
+ if (stopped)
191
+ await waitForProcessEnd(steerWaitMs);
192
+ }
193
+ setSteerInProgress(false);
169
194
  const task = isResetIntent(prompt)
170
- ? orchestrateReset({ origin, _skipInsert: true })
195
+ ? orchestrateReset({ ...steerMeta, _skipInsert: true })
171
196
  : isContinueIntent(prompt)
172
- ? orchestrateContinue({ origin, _skipInsert: true })
173
- : orchestrate(prompt, { origin, _skipInsert: true, _skipReplayDrain: true });
197
+ ? orchestrateContinue({ ...steerMeta, _skipInsert: true })
198
+ : orchestrate(prompt, { ...steerMeta, _skipInsert: true, _skipReplayDrain: true });
174
199
  await task;
175
200
  }
176
201
  catch (err) {
177
- console.error('[steer:orchestrate]', err.message);
202
+ const message = err.message;
203
+ console.error('[steer:orchestrate]', message);
204
+ broadcast('orchestrate_done', stripUndefined({ text: `[error] ${message}`, error: true, ...steerMeta }));
178
205
  }
179
206
  finally {
180
207
  setSteerInProgress(false);
@@ -189,29 +216,40 @@ export function registerOrchestrateRoutes(app, requireAuth) {
189
216
  console.warn(`[dispatch:deny] ip=${req.ip} ua=${String(req.headers['user-agent'] || '').slice(0, 80)}`);
190
217
  return fail(res, 403, 'Dispatch requires boss-scoped token. Employees cannot dispatch.');
191
218
  }
192
- const { agent: agentName, task: rawTask, phase } = req.body || {};
219
+ const { agent: agentName, task: rawTask, phase, mutable, scope } = req.body || {};
220
+ const wait = req.body?.wait !== false;
193
221
  const task = typeof rawTask === 'string' ? rawTask.trim() : '';
194
222
  if (!agentName || !task)
195
223
  return fail(res, 400, 'Missing agent or task');
196
- // Phase 57: B-phase workers are READ-ONLY verifiers (Phase 4=Check), not implementers (Phase 3=Dev).
197
- // PABCD A=Plan Audit (Phase 2), B=Build but workers verify only (Phase 4), C=Check (Phase 4).
224
+ const allowWrite = mutable === true;
225
+ // Scope fail-fast: validate scope path before any work
226
+ if (allowWrite && scope) {
227
+ try {
228
+ normalizeScope(settings["workingDir"] || process.cwd(), scope);
229
+ }
230
+ catch (e) {
231
+ return fail(res, 400, e.message);
232
+ }
233
+ }
198
234
  const PABCD_PHASE_MAP = { A: 2, B: 4, C: 4 };
199
235
  const dispatchScope = resolveOrcScope({ origin: 'web', workingDir: settings["workingDir"] || null });
200
236
  const currentOrcState = getState(dispatchScope);
201
- const resolvedPhase = phase ?? PABCD_PHASE_MAP[currentOrcState] ?? 3;
237
+ const resolvedPhase = allowWrite ? 3 : (phase ?? PABCD_PHASE_MAP[currentOrcState] ?? 3);
202
238
  const dispatchCtx = getCtx(dispatchScope);
203
- // Phase 57: Delegation Guard — block code-implementation tasks during B phase.
204
- // Boss must implement directly; workers are read-only verifiers.
205
- if (currentOrcState === 'B') {
206
- const implPattern = /\b(implement|write\s+(?:the\s+)?code|create\s+(?:the\s+)?file|build\s+(?:the\s+)?feature|add\s+(?:the\s+)?(?:method|function|class))\b/i;
207
- if (implPattern.test(String(task))) {
208
- res.status(400).json({
209
- ok: false,
210
- error: 'delegation_guard',
211
- message: 'B phase: Boss must implement directly. Workers are read-only verifiers. Reword the task as "verify X compiles" / "check integration of Y" / "report DONE or NEEDS_FIX".',
212
- });
213
- return;
214
- }
239
+ // Unified delegation guard via validateDispatchTask
240
+ const validation = validateDispatchTask({
241
+ isBoss: true,
242
+ phase: currentOrcState,
243
+ taskBody: task,
244
+ allowWrite,
245
+ });
246
+ if (!validation.ok) {
247
+ res.status(400).json({
248
+ ok: false,
249
+ error: 'delegation_guard',
250
+ message: validation.error,
251
+ });
252
+ return;
215
253
  }
216
254
  // Phase 56.1: Auto-inject the full approved plan inline at the top of every
217
255
  // dispatch task body. Workers no longer need to read any plan file — the plan
@@ -305,6 +343,7 @@ export function registerOrchestrateRoutes(app, requireAuth) {
305
343
  try {
306
344
  getSecurityAuditLog().append('dispatch_start', String(req.ip || 'local'), {
307
345
  agent: emp.name, task: task.slice(0, 200), phase: resolvedPhase,
346
+ mutable: allowWrite, scope: scope || null,
308
347
  });
309
348
  }
310
349
  catch { /* non-fatal */ }
@@ -313,88 +352,130 @@ export function registerOrchestrateRoutes(app, requireAuth) {
313
352
  if (!res.writableFinished)
314
353
  clientDisconnected = true;
315
354
  });
316
- try {
317
- const ap = {
318
- agent: emp.name, role: emp.role || 'general developer',
319
- task: enrichedTask, parallel: false,
320
- currentPhase: resolvedPhase, currentPhaseIdx: 0,
321
- phaseProfile: [resolvedPhase],
322
- };
323
- // Phase 57: Pass worklog path so the worker can append progress entries.
324
- const worklog = dispatchCtx?.worklogPath ? { path: dispatchCtx.worklogPath } : {};
325
- const result = await runSingleAgent(ap, emp, worklog, 1, { origin: 'api', projectDirs: dispatchCtx?.projectDirs }, []);
326
- finishWorker(slot.agentId, String(result["text"] || ''));
355
+ const runDispatch = async (reply) => {
327
356
  try {
328
- getSecurityAuditLog().append('dispatch_end', String(req.ip || 'local'), {
329
- agent: emp.name, agentId: slot.agentId, status: 'success',
330
- });
331
- }
332
- catch { /* non-fatal */ }
333
- // Phase 58: Auto-update audit/verification status from worker verdict.
334
- // 'A' phase verdicts → auditStatus; 'B' phase verdicts → verificationStatus.
335
- const verdict = parseWorkerVerdict(String(result["text"] || ''));
336
- let statusPersisted = false;
337
- let statusPersistReason = null;
338
- let persistedField = null;
339
- const stateAtDispatch = currentOrcState;
340
- const stateAtCompletion = getState(dispatchScope);
341
- if (verdict && dispatchCtx) {
342
- if (stateAtCompletion !== stateAtDispatch) {
343
- statusPersistReason = 'state_changed';
344
- }
345
- else {
346
- const freshCtx = getCtx(dispatchScope) || dispatchCtx;
347
- if (currentOrcState === 'A' && (verdict === 'pass' || verdict === 'fail')) {
348
- setState('A', { ...freshCtx, auditStatus: verdict }, dispatchScope);
349
- statusPersisted = true;
350
- statusPersistReason = 'persisted';
351
- persistedField = 'auditStatus';
357
+ const ap = {
358
+ agent: emp.name, role: emp.role || 'general developer',
359
+ task: enrichedTask, parallel: false,
360
+ currentPhase: resolvedPhase, currentPhaseIdx: 0,
361
+ phaseProfile: [resolvedPhase],
362
+ mutable: allowWrite,
363
+ scope: scope || null,
364
+ };
365
+ // Phase 57: Pass worklog path so the worker can append progress entries.
366
+ const worklog = dispatchCtx?.worklogPath ? { path: dispatchCtx.worklogPath } : {};
367
+ const result = await runSingleAgent(ap, emp, worklog, 1, { origin: 'api', projectDirs: dispatchCtx?.projectDirs }, []);
368
+ const resultTools = Array.isArray(result["tools"]) ? result["tools"] : [];
369
+ updateWorkerTools(slot.agentId, resultTools);
370
+ finishWorker(slot.agentId, String(result["text"] || ''), resultTools);
371
+ // Post-dispatch scope violation check
372
+ if (allowWrite && scope) {
373
+ try {
374
+ const workDir = dispatchCtx?.workingDir || settings["workingDir"] || process.cwd();
375
+ const diffResult = postDispatchDiffCheck(String(workDir), scope);
376
+ if (!diffResult.ok) {
377
+ getSecurityAuditLog().append('scope_violation', String(req.ip || 'local'), {
378
+ agent: emp.name, agentId: slot.agentId,
379
+ modifiedOutside: diffResult.modifiedOutside,
380
+ });
381
+ }
352
382
  }
353
- else if (currentOrcState === 'B' && (verdict === 'done' || verdict === 'needs_fix')) {
354
- setState('B', { ...freshCtx, verificationStatus: verdict }, dispatchScope);
355
- statusPersisted = true;
356
- statusPersistReason = 'persisted';
357
- persistedField = 'verificationStatus';
383
+ catch { /* non-fatal git might not be available */ }
384
+ }
385
+ try {
386
+ getSecurityAuditLog().append('dispatch_end', String(req.ip || 'local'), {
387
+ agent: emp.name, agentId: slot.agentId, status: 'success',
388
+ });
389
+ }
390
+ catch { /* non-fatal */ }
391
+ // Phase 58: Auto-update audit/verification status from worker verdict.
392
+ // 'A' phase verdicts → auditStatus; 'B' phase verdicts → verificationStatus.
393
+ const verdict = parseWorkerVerdict(String(result["text"] || ''));
394
+ let statusPersisted = false;
395
+ let statusPersistReason = null;
396
+ let persistedField = null;
397
+ const stateAtDispatch = currentOrcState;
398
+ const stateAtCompletion = getState(dispatchScope);
399
+ if (verdict && dispatchCtx) {
400
+ if (stateAtCompletion !== stateAtDispatch) {
401
+ statusPersistReason = 'state_changed';
358
402
  }
359
403
  else {
360
- statusPersistReason = 'not_applicable';
404
+ const freshCtx = getCtx(dispatchScope) || dispatchCtx;
405
+ if (currentOrcState === 'A' && (verdict === 'pass' || verdict === 'fail')) {
406
+ setState('A', { ...freshCtx, auditStatus: verdict }, dispatchScope);
407
+ statusPersisted = true;
408
+ statusPersistReason = 'persisted';
409
+ persistedField = 'auditStatus';
410
+ }
411
+ else if (currentOrcState === 'B' && (verdict === 'done' || verdict === 'needs_fix')) {
412
+ setState('B', { ...freshCtx, verificationStatus: verdict }, dispatchScope);
413
+ statusPersisted = true;
414
+ statusPersistReason = 'persisted';
415
+ persistedField = 'verificationStatus';
416
+ }
417
+ else {
418
+ statusPersistReason = 'not_applicable';
419
+ }
361
420
  }
362
421
  }
363
- }
364
- const orchestration = {
365
- verdict: verdict || null,
366
- currentState: currentOrcState,
367
- stateAtDispatch,
368
- stateAtCompletion,
369
- ctxPresent: Boolean(dispatchCtx),
370
- statusPersisted,
371
- statusPersistReason,
372
- persistedField,
373
- };
374
- if (clientDisconnected) {
375
- console.warn(`[dispatch] client disconnected keeping pendingReplay for ${slot.agentId}`);
376
- // Proactive drain: if Boss died before receiving the result, user input
377
- // would otherwise stall forever. Trigger drainPendingReplays so the result
378
- // is fed back via a fresh Boss session without waiting for the next user
379
- // message. See devlog/_plan/260417_message_duplication/02_*.
380
- if (!isAgentBusy()) {
381
- queueMicrotask(() => {
382
- drainPendingReplays({ origin: 'system' })
383
- .catch(err => console.error('[dispatch:drain]', err.message));
422
+ const orchestration = {
423
+ verdict: verdict || null,
424
+ currentState: currentOrcState,
425
+ stateAtDispatch,
426
+ stateAtCompletion,
427
+ ctxPresent: Boolean(dispatchCtx),
428
+ statusPersisted,
429
+ statusPersistReason,
430
+ persistedField,
431
+ };
432
+ if (clientDisconnected) {
433
+ console.warn(`[dispatch] client disconnected — keeping pendingReplay for ${slot.agentId}`);
434
+ // Proactive drain: if Boss died before receiving the result, user input
435
+ // would otherwise stall forever. Trigger drainPendingReplays so the result
436
+ // is fed back via a fresh Boss session without waiting for the next user
437
+ // message. See devlog/_plan/260417_message_duplication/02_*.
438
+ if (!isAgentBusy()) {
439
+ queueMicrotask(() => {
440
+ drainPendingReplays({ origin: 'system' })
441
+ .catch(err => console.error('[dispatch:drain]', err.message));
442
+ });
443
+ }
444
+ return;
445
+ }
446
+ // Only clear replay flag after response is actually flushed to client.
447
+ if (reply) {
448
+ res.on('finish', () => markWorkerReplayed(slot.agentId));
449
+ res.json({
450
+ ok: true,
451
+ result,
452
+ orchestration,
453
+ progress: getWorkerProgressSnapshot(slot.agentId),
384
454
  });
385
455
  }
386
- return;
387
456
  }
388
- // Only clear replay flag after response is actually flushed to client.
389
- res.on('finish', () => markWorkerReplayed(slot.agentId));
390
- res.json({ ok: true, result, orchestration });
391
- }
392
- catch (err) {
393
- const msg = err?.message || String(err);
394
- failWorker(slot.agentId, msg);
395
- if (!res.writableEnded)
396
- res.status(500).json({ ok: false, error: msg });
457
+ catch (err) {
458
+ const msg = err?.message || String(err);
459
+ failWorker(slot.agentId, msg);
460
+ if (reply && !res.writableEnded)
461
+ res.status(500).json({ ok: false, error: msg });
462
+ }
463
+ };
464
+ if (!wait) {
465
+ void runDispatch(false);
466
+ res.status(202).json({
467
+ ok: true,
468
+ state: 'running',
469
+ worker: {
470
+ agentId: slot.agentId,
471
+ employeeName: slot.employeeName,
472
+ startedAt: slot.startedAt,
473
+ },
474
+ progress: getWorkerProgressSnapshot(slot.agentId),
475
+ });
476
+ return;
397
477
  }
478
+ await runDispatch(true);
398
479
  });
399
480
  // Phase 7-4: explicit result polling for 409 retries and reconnects.
400
481
  app.get('/api/orchestrate/worker/:agentId/result', requireAuth, (req, res) => {
@@ -405,14 +486,28 @@ export function registerOrchestrateRoutes(app, requireAuth) {
405
486
  if (!slot)
406
487
  return fail(res, 404, 'worker not found');
407
488
  if (slot.state === 'running') {
408
- res.json({ ok: true, state: 'running', startedAt: slot.startedAt, task: slot.task });
489
+ res.json({
490
+ ok: true,
491
+ state: 'running',
492
+ startedAt: slot.startedAt,
493
+ task: slot.task,
494
+ tools: slot.tools,
495
+ progressUpdatedAt: slot.progressUpdatedAt,
496
+ progress: getWorkerProgressSnapshot(slot.agentId),
497
+ });
409
498
  return;
410
499
  }
411
500
  // Consume pending replay — subsequent polls will return 404.
412
501
  if (slot.state === 'done' && slot.pendingReplay) {
413
502
  markWorkerReplayed(slot.agentId);
414
503
  }
415
- res.json({ ok: true, state: slot.state, result: slot.result });
504
+ res.json({
505
+ ok: true,
506
+ state: slot.state,
507
+ result: slot.result,
508
+ tools: slot.tools,
509
+ progress: getWorkerProgressSnapshot(slot.agentId),
510
+ });
416
511
  });
417
512
  app.put('/api/orchestrate/state', requireAuth, (req, res) => {
418
513
  const target = String(req.body?.state || '').toUpperCase();
@@ -453,11 +548,65 @@ export function registerOrchestrateRoutes(app, requireAuth) {
453
548
  broadcast('settings_change', { projectDirs: null });
454
549
  }
455
550
  else {
456
- const initCtx = t === 'P'
457
- ? { originalPrompt: '', workingDir: settings["workingDir"] || null, projectDirs: settings["projectDirs"] || null, plan: null, workerResults: [], origin: 'api' }
458
- : t === 'I'
459
- ? { originalPrompt: req.body?.ctx?.originalPrompt || '', workingDir: settings["workingDir"] || null, projectDirs: settings["projectDirs"] || null, plan: null, workerResults: [], origin: 'api' }
460
- : undefined;
551
+ let initCtx;
552
+ if (t === 'P') {
553
+ const existingCtx = getCtx(scope);
554
+ let baseCtx = existingCtx?.plan
555
+ ? { ...existingCtx, origin: 'api' }
556
+ : { originalPrompt: '', workingDir: settings["workingDir"] || null, projectDirs: settings["projectDirs"] || null, plan: null, workerResults: [], origin: 'api' };
557
+ // P1-1 + P2-1: carry interview + generate Seed on I→P
558
+ if (current === 'I' && existingCtx?.interview?.known?.length) {
559
+ const seed = buildSeedFromEvidence(existingCtx.interview.request, existingCtx.interview.known, existingCtx.interview.round);
560
+ const evidenceLines = existingCtx.interview.known.map((e) => {
561
+ const tag = e.source === 'assumption' ? '⚠️' : '✅';
562
+ return `${tag} [${e.source || 'unknown'}] ${e.fact}`;
563
+ });
564
+ const unknownLines = (existingCtx.interview.unknown || []).map((u) => `- ${u}`);
565
+ baseCtx = {
566
+ ...baseCtx,
567
+ interview: existingCtx.interview,
568
+ seedSpec: seed,
569
+ researchReport: `## Interview Results\n\n${evidenceLines.join('\n')}\n\n### Remaining Unknowns\n${unknownLines.join('\n') || 'None'}\n${renderSeedBlock(seed)}`,
570
+ };
571
+ // P2-2: warn if assessment shows low dimensions
572
+ const assessment = existingCtx.interview.assessment;
573
+ const notReady = assessment && !Object.values(assessment).every((v) => v === 'max');
574
+ if (notReady) {
575
+ const dims = Object.entries(assessment).map(([k, v]) => `${k}=${v}`).join(', ');
576
+ broadcast('orchestrate_warning', {
577
+ message: `⚠️ Not all dimensions at max: ${dims}. Plan quality may be affected.`,
578
+ });
579
+ }
580
+ }
581
+ initCtx = baseCtx;
582
+ }
583
+ else if (t === 'I') {
584
+ // non-IDLE → I: preserve existing context (plan, auditStatus, etc.)
585
+ const existingCtx = getCtx(scope);
586
+ initCtx = current !== 'IDLE' && existingCtx
587
+ ? undefined
588
+ : { originalPrompt: req.body?.ctx?.originalPrompt || '', workingDir: settings["workingDir"] || null, projectDirs: settings["projectDirs"] || null, plan: null, workerResults: [], origin: 'api' };
589
+ }
590
+ else if (t === 'B') {
591
+ // P1-2: initialize build budget on B entry
592
+ const existingCtx = getCtx(scope);
593
+ if (existingCtx) {
594
+ initCtx = {
595
+ ...existingCtx,
596
+ buildBudget: {
597
+ maxWorkerDispatches: 5,
598
+ maxSelfHealRetries: 2,
599
+ maxVerificationRounds: 3,
600
+ spent: { workerDispatches: 0, selfHealRetries: 0, verificationRounds: 0 },
601
+ },
602
+ };
603
+ }
604
+ }
605
+ else {
606
+ initCtx = undefined;
607
+ }
608
+ if (t === 'B')
609
+ resetFriction();
461
610
  setState(t, initCtx, scope, t === 'P' ? 'P' : t === 'I' ? 'Interview' : t);
462
611
  }
463
612
  res.json({ ok: true, state: getState(scope), current, target: t, force, userInitiated, ctxPresent: Boolean(currentCtx) });
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../../src/routes/orchestrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrate.js","sourceRoot":"","sources":["../../../src/routes/orchestrate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gCAAgC,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAChR,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvJ,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAClJ,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACH,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,yBAAyB,EACzB,2BAA2B,GAC9B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtF,SAAS,kBAAkB;IACvB,OAAO;QACH,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACvC,WAAW,EAAE,WAAW,EAAE;QAC1B,YAAY,EAAE,YAAY,CAAC,MAAM;KACpC,CAAC;AACN,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO;QACH,GAAG,OAAO;QACV,OAAO,EAAE,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC;KAC7D,CAAC;AACN,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,GAAY,EAAE,WAA2B;IAC/E,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/D,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;YAClE,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;gBACtC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,OAAO,iBAAiB,EAAE,CAAC,CAAC;gBAC9E,OAAO;YACX,CAAC;YACD,MAAM,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;YAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzD,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7F,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,0BAA0B,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC3D,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,kCAAkC,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACnE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,2CAA2C,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,2BAA2B,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC5D,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7F,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,4EAA4E;QAC5E,6DAA6D;QAC7D,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;YAClB,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,kBAAkB,EAAE,GAAG,CAAC,kBAAkB;YAC1C,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,cAAc,EAAE,GAAG,CAAC,cAAc;SACrC,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,GAAG,CAAC,IAAI,CAAC;YACL,GAAG,EAAE;gBACD,KAAK;gBACL,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;gBACtB,GAAG,EAAE,OAAO;gBACZ,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI;gBAC/B,aAAa,EAAE,GAAG,EAAE,aAAa,IAAI,IAAI;aAC5C;YACD,OAAO,EAAE;gBACL,GAAG,OAAO;gBACV,IAAI,EAAE,OAAO,CAAC,WAAW,IAAI,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;aACnF;YACD,OAAO,EAAE,gBAAgB,EAAE;YAC3B,SAAS,EAAE,wBAAwB,EAAE;YACrC,MAAM,EAAE,gCAAgC,CAAC,KAAK,CAAC;YAC/C,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC;SACnC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,8BAA8B;IAC9B,GAAG,CAAC,MAAM,CAAC,4BAA4B,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC/D,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACpE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,iCAAiC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;QAC5D,YAAY,CAAC,EAAE,CAAC,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,CAAC,iCAAiC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACpE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,cAAc,CAAC,EAAE,IAAI,SAAS,CAAC,CAAC;QAChC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,kCAAkC,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACzE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,cAAc,CAAC,EAAE,CAAC,CAAC;YACnB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACtC,MAAM,SAAS,GAAG,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACxE,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACtB,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,WAAW,GAAG,4BAA4B,EAAE,CAAC;QACnD,MAAM,kBAAkB,GAAG,WAAW,EAAE,CAAC;QACzC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC;QACxD,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACvC,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,sCAAsC,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC;YACD,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CAAC;QAClF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACxI,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5E,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAChD,KAAK,CAAC,KAAK,IAAI,EAAE;YACb,IAAI,CAAC;gBACD,IAAI,kBAAkB,EAAE,CAAC;oBACrB,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;oBACzC,IAAI,OAAO;wBAAE,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACtD,CAAC;gBACD,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC1B,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC;oBAC9B,CAAC,CAAC,gBAAgB,CAAC,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;oBACvD,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC;wBACtB,CAAC,CAAC,mBAAmB,CAAC,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;wBAC1D,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3F,MAAM,IAAI,CAAC;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,MAAM,OAAO,GAAI,GAAa,CAAC,OAAO,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;gBAC9C,SAAS,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,WAAW,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7G,CAAC;oBAAS,CAAC;gBACP,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClE,0EAA0E;QAC1E,wEAAwE;QACxE,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,sBAAsB,GAAG,CAAC,EAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACxG,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,iEAAiE,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAClF,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,OAAO,KAAK,IAAI,CAAC;QAEpC,uDAAuD;QACvD,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC;gBACD,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;YAChD,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,aAAa,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrG,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QACxF,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAE1C,oDAAoD;QACpD,MAAM,UAAU,GAAG,oBAAoB,CAAC;YACpC,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,eAA+B;YACtC,QAAQ,EAAE,IAAI;YACd,UAAU;SACb,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;YACjB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,UAAU,CAAC,KAAK;aAC5B,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,4EAA4E;QAC5E,8EAA8E;QAC9E,iEAAiE;QACjE,IAAI,YAAY,GAAW,MAAM,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,WAAW,EAAE,IAAI,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE,sBAAsB,CAAC,CAAC;YAChH,YAAY,GAAG;gBACX,8EAA8E;gBAC9E,qFAAqF;gBACrF,aAAa;gBACb,2BAA2B;gBAC3B,KAAK;gBACL,YAAY;aACf,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAmB,CAAC;QACjD,iEAAiE;QACjE,wDAAwD;QACxD,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAA8C,CAAC;QAChG,IAAI,UAAU,GAAmD,IAAI,CAAC;QACtE,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,UAAU,GAAG,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC1D,IAAI,UAAU;gBAAE,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;QACzC,CAAC;aAAM,CAAC;YACJ,UAAU,GAAG,2BAA2B,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,uBAAuB,SAAS,EAAE,CAAC,CAAC;QAEpE,gEAAgE;QAChE,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,0BAA0B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9E,CAAC;QACL,CAAC;QAED,0EAA0E;QAC1E,6CAA6C;QAC7C,CAAC;YACG,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1D,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,wBAAwB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,kEAAkE;QAClE,kEAAkE;QAClE,gEAAgE;QAChE,gCAAgC;QAChC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC;YACzC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC5B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACf,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACD,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;gBACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACjB,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE;wBACN,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO;wBAC7B,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY;wBACvC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;wBACrC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS;qBACpC;oBACD,IAAI,EAAE,yEAAyE;iBAClF,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;YACD,MAAM,GAAG,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,uEAAuE;QACvE,yEAAyE;QACzE,gFAAgF;QAChF,IAAI,CAAC;YACD,mBAAmB,EAAE,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE;gBACtE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,aAAa;gBAC/D,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,IAAI,IAAI;aAC5C,CAAC,CAAC;QACP,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAE3B,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC,GAAG,CAAC,gBAAgB;gBAAE,kBAAkB,GAAG,IAAI,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;YACxD,IAAI,CAAC;gBACL,MAAM,EAAE,GAAG;oBACP,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,mBAAmB;oBACtD,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK;oBACnC,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;oBAC/C,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC7B,OAAO,EAAE,UAAU;oBACnB,KAAK,EAAE,KAAK,IAAI,IAAI;iBACvB,CAAC;gBACF,yEAAyE;gBACzE,MAAM,OAAO,GAAG,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;gBACvH,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC7C,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;gBAEtE,sCAAsC;gBACtC,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC;wBACD,MAAM,OAAO,GAAG,WAAW,EAAE,UAAU,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;wBACnF,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;wBACjE,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;4BACjB,mBAAmB,EAAE,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE;gCACvE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO;gCACtC,eAAe,EAAE,UAAU,CAAC,eAAe;6BAC9C,CAAC,CAAC;wBACP,CAAC;oBACL,CAAC;oBAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;gBAC5D,CAAC;gBAED,IAAI,CAAC;oBACD,mBAAmB,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,EAAE;wBACpE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS;qBAC5D,CAAC,CAAC;gBACP,CAAC;gBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;gBAE3B,uEAAuE;gBACvE,6EAA6E;gBAC7E,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACjE,IAAI,eAAe,GAAG,KAAK,CAAC;gBAC5B,IAAI,mBAAmB,GAA4D,IAAI,CAAC;gBACxF,IAAI,cAAc,GAAgD,IAAI,CAAC;gBACvE,MAAM,eAAe,GAAG,eAAe,CAAC;gBACxC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAClD,IAAI,OAAO,IAAI,WAAW,EAAE,CAAC;oBACzB,IAAI,iBAAiB,KAAK,eAAe,EAAE,CAAC;wBACxC,mBAAmB,GAAG,eAAe,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACJ,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC;wBACtD,IAAI,eAAe,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,MAAM,CAAC,EAAE,CAAC;4BAC5E,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;4BACpE,eAAe,GAAG,IAAI,CAAC;4BACvB,mBAAmB,GAAG,WAAW,CAAC;4BAClC,cAAc,GAAG,aAAa,CAAC;wBAC/B,CAAC;6BAAM,IAAI,eAAe,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,WAAW,CAAC,EAAE,CAAC;4BACxF,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,aAAa,CAAC,CAAC;4BAC3E,eAAe,GAAG,IAAI,CAAC;4BACvB,mBAAmB,GAAG,WAAW,CAAC;4BAClC,cAAc,GAAG,oBAAoB,CAAC;wBACtC,CAAC;6BAAM,CAAC;4BACJ,mBAAmB,GAAG,gBAAgB,CAAC;wBAC3C,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,MAAM,aAAa,GAAG;oBAClB,OAAO,EAAE,OAAO,IAAI,IAAI;oBACxB,YAAY,EAAE,eAAe;oBAC7B,eAAe;oBACf,iBAAiB;oBACjB,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC;oBAChC,eAAe;oBACf,mBAAmB;oBACnB,cAAc;iBACjB,CAAC;gBACF,IAAI,kBAAkB,EAAE,CAAC;oBACrB,OAAO,CAAC,IAAI,CAAC,8DAA8D,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3F,wEAAwE;oBACxE,2EAA2E;oBAC3E,yEAAyE;oBACzE,6DAA6D;oBAC7D,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;wBACjB,cAAc,CAAC,GAAG,EAAE;4BAChB,mBAAmB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;iCACpC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC,CAAC;wBACjF,CAAC,CAAC,CAAC;oBACP,CAAC;oBACD,OAAO;gBACX,CAAC;gBACD,uEAAuE;gBACvE,IAAI,KAAK,EAAE,CAAC;oBACR,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;oBACzD,GAAG,CAAC,IAAI,CAAC;wBACL,EAAE,EAAE,IAAI;wBACR,MAAM;wBACN,aAAa;wBACb,QAAQ,EAAE,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;qBACpD,CAAC,CAAC;gBACP,CAAC;YACD,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAI,GAAa,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnD,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC9B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,aAAa;oBAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;YACrF,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACjB,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE;oBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;iBAC5B;gBACD,QAAQ,EAAE,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;aACpD,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QAED,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,GAAG,CAAC,GAAG,CAAC,yCAAyC,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC;gBACL,EAAE,EAAE,IAAI;gBACR,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,QAAQ,EAAE,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;aACpD,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,6DAA6D;QAC7D,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACL,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;SACpD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACxD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAsB,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,kBAAkB,MAAM,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,MAAsB,CAAC;QACjC,2EAA2E;QAC3E,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,IAAI,CAAC;QACvC,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;QACvD,MAAM,mBAAmB,GAAG,KAAK,IAAI,aAAa,CAAC;QACnD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,mBAAmB,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;QACvG,IAAI,mBAAmB,IAAI,UAAU,EAAE,CAAC;YACpC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACX,MAAM,eAAe,GAAG,KAAK,IAAI,CAAC,UAAU,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,eAAe;gBAC1B,CAAC,CAAC,gBAAgB,OAAO,MAAM,CAAC,4DAA4D;gBAC5F,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,sBAAsB,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE;gBAC1B,OAAO;gBACP,MAAM,EAAE,CAAC;gBACT,KAAK;gBACL,aAAa;gBACb,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;aAClC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACZ,QAAQ,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACtC,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,SAAS,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACJ,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACZ,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,OAAO,GAAG,WAAW,EAAE,IAAI;oBAC3B,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,KAAc,EAAE;oBAC5C,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,KAAc,EAAE,CAAC;gBAE9K,sDAAsD;gBACtD,IAAI,OAAO,KAAK,GAAG,IAAI,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBAC3D,MAAM,IAAI,GAAG,qBAAqB,CAC9B,WAAW,CAAC,SAAS,CAAC,OAAO,EAC7B,WAAW,CAAC,SAAS,CAAC,KAAK,EAC3B,WAAW,CAAC,SAAS,CAAC,KAAK,CAC9B,CAAC;oBACF,MAAM,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAoC,EAAE,EAAE;wBAC3F,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;wBACnD,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;oBACzD,CAAC,CAAC,CAAC;oBACH,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACxF,OAAO,GAAG;wBACN,GAAG,OAAO;wBACV,SAAS,EAAE,WAAW,CAAC,SAAS;wBAChC,QAAQ,EAAE,IAAI;wBACd,cAAc,EAAE,2BAA2B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,+BAA+B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,eAAe,CAAC,IAAI,CAAC,EAAE;qBAClK,CAAC;oBAEF,gDAAgD;oBAChD,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;oBACpD,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;oBAC5F,IAAI,QAAQ,EAAE,CAAC;wBACX,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAChF,SAAS,CAAC,qBAAqB,EAAE;4BAC7B,OAAO,EAAE,iCAAiC,IAAI,iCAAiC;yBAClF,CAAC,CAAC;oBACP,CAAC;gBACL,CAAC;gBACD,OAAO,GAAG,OAAO,CAAC;YACtB,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,oEAAoE;gBACpE,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClC,OAAO,GAAG,OAAO,KAAK,MAAM,IAAI,WAAW;oBACvC,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,cAAc,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,KAAc,EAAE,CAAC;YACnN,CAAC;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACnB,2CAA2C;gBAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClC,IAAI,WAAW,EAAE,CAAC;oBACd,OAAO,GAAG;wBACN,GAAG,WAAW;wBACd,WAAW,EAAE;4BACT,mBAAmB,EAAE,CAAC;4BACtB,kBAAkB,EAAE,CAAC;4BACrB,qBAAqB,EAAE,CAAC;4BACxB,KAAK,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE;yBAC5E;qBACJ,CAAC;gBACN,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,SAAS,CAAC;YACxB,CAAC;YACD,IAAI,CAAC,KAAK,GAAG;gBAAE,aAAa,EAAE,CAAC;YAC/B,QAAQ,CACJ,CAAC,EACD,OAAO,EACP,KAAK,EACL,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAChD,CAAC;QACN,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC9H,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -4,11 +4,6 @@ import { promisify } from 'node:util';
4
4
  import { stripUndefined } from '../core/strip-undefined.js';
5
5
  import { fetchGeminiUsage, readGeminiAccount } from './quota.js';
6
6
  const execFileAsync = promisify(execFile);
7
- function asRecord(value) {
8
- return value && typeof value === 'object' && !Array.isArray(value)
9
- ? value
10
- : null;
11
- }
12
7
  function usedPercentFromRemaining(remaining, exhausted) {
13
8
  if (exhausted)
14
9
  return 100;