cli-jaw 1.4.11 → 1.5.0
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.
- package/README.ko.md +56 -26
- package/README.md +30 -24
- package/README.zh-CN.md +56 -26
- package/dist/bin/commands/browser.js +3 -1
- package/dist/bin/commands/browser.js.map +1 -1
- package/dist/bin/commands/chat.js +358 -9
- package/dist/bin/commands/chat.js.map +1 -1
- package/dist/bin/commands/doctor.js +80 -2
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/init.js +88 -6
- package/dist/bin/commands/init.js.map +1 -1
- package/dist/bin/commands/serve.js +1 -0
- package/dist/bin/commands/serve.js.map +1 -1
- package/dist/lib/mcp-sync.js +101 -51
- package/dist/lib/mcp-sync.js.map +1 -1
- package/dist/lib/quota-copilot.js +4 -0
- package/dist/lib/quota-copilot.js.map +1 -1
- package/dist/server.js +131 -35
- package/dist/server.js.map +1 -1
- package/dist/src/agent/events.js +198 -29
- package/dist/src/agent/events.js.map +1 -1
- package/dist/src/agent/smoke-detector.js +111 -0
- package/dist/src/agent/smoke-detector.js.map +1 -0
- package/dist/src/agent/spawn.js +157 -26
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/browser/connection.js +9 -1
- package/dist/src/browser/connection.js.map +1 -1
- package/dist/src/browser/launch-policy.js +32 -0
- package/dist/src/browser/launch-policy.js.map +1 -0
- package/dist/src/cli/claude-models.js +46 -0
- package/dist/src/cli/claude-models.js.map +1 -0
- package/dist/src/cli/command-context.js +19 -8
- package/dist/src/cli/command-context.js.map +1 -1
- package/dist/src/cli/commands.js +16 -13
- package/dist/src/cli/commands.js.map +1 -1
- package/dist/src/cli/compact.js +93 -0
- package/dist/src/cli/compact.js.map +1 -0
- package/dist/src/cli/handlers.js +94 -32
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/readiness.js +69 -0
- package/dist/src/cli/readiness.js.map +1 -0
- package/dist/src/cli/registry.js +3 -2
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/cli/tui/composer.js +6 -4
- package/dist/src/cli/tui/composer.js.map +1 -1
- package/dist/src/cli/tui/keymap.js +2 -0
- package/dist/src/cli/tui/keymap.js.map +1 -1
- package/dist/src/cli/tui/overlay.js +170 -0
- package/dist/src/cli/tui/overlay.js.map +1 -1
- package/dist/src/cli/tui/store.js +25 -0
- package/dist/src/cli/tui/store.js.map +1 -1
- package/dist/src/cli/tui/transcript.js +46 -0
- package/dist/src/cli/tui/transcript.js.map +1 -0
- package/dist/src/command-contract/catalog.js +8 -4
- package/dist/src/command-contract/catalog.js.map +1 -1
- package/dist/src/core/bus.js +1 -0
- package/dist/src/core/bus.js.map +1 -1
- package/dist/src/core/compact.js +70 -0
- package/dist/src/core/compact.js.map +1 -0
- package/dist/src/core/config.js +109 -3
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/db.js +13 -4
- package/dist/src/core/db.js.map +1 -1
- package/dist/src/core/main-session.js +15 -0
- package/dist/src/core/main-session.js.map +1 -1
- package/dist/src/core/runtime-settings.js +19 -4
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/core/settings-merge.js +1 -1
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/discord/bot.js +274 -0
- package/dist/src/discord/bot.js.map +1 -0
- package/dist/src/discord/commands.js +103 -0
- package/dist/src/discord/commands.js.map +1 -0
- package/dist/src/discord/discord-file.js +43 -0
- package/dist/src/discord/discord-file.js.map +1 -0
- package/dist/src/discord/forwarder.js +45 -0
- package/dist/src/discord/forwarder.js.map +1 -0
- package/dist/src/memory/bootstrap.js +341 -0
- package/dist/src/memory/bootstrap.js.map +1 -0
- package/dist/src/memory/heartbeat.js +11 -22
- package/dist/src/memory/heartbeat.js.map +1 -1
- package/dist/src/memory/indexing.js +329 -0
- package/dist/src/memory/indexing.js.map +1 -0
- package/dist/src/memory/keyword-expand.js +247 -0
- package/dist/src/memory/keyword-expand.js.map +1 -0
- package/dist/src/memory/runtime.js +56 -1090
- package/dist/src/memory/runtime.js.map +1 -1
- package/dist/src/memory/shared.js +167 -0
- package/dist/src/memory/shared.js.map +1 -0
- package/dist/src/messaging/runtime.js +122 -0
- package/dist/src/messaging/runtime.js.map +1 -0
- package/dist/src/messaging/send.js +120 -0
- package/dist/src/messaging/send.js.map +1 -0
- package/dist/src/messaging/session-key.js +25 -0
- package/dist/src/messaging/session-key.js.map +1 -0
- package/dist/src/messaging/types.js +6 -0
- package/dist/src/messaging/types.js.map +1 -0
- package/dist/src/orchestrator/collect.js +5 -0
- package/dist/src/orchestrator/collect.js.map +1 -1
- package/dist/src/orchestrator/distribute.js +34 -8
- package/dist/src/orchestrator/distribute.js.map +1 -1
- package/dist/src/orchestrator/gateway.js +18 -12
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/parser.js +0 -28
- package/dist/src/orchestrator/parser.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +94 -75
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +23 -20
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/dist/src/orchestrator/worker-monitor.js +50 -0
- package/dist/src/orchestrator/worker-monitor.js.map +1 -0
- package/dist/src/orchestrator/worker-registry.js +107 -0
- package/dist/src/orchestrator/worker-registry.js.map +1 -0
- package/dist/src/prompt/builder.js +78 -6
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/a1-system.md +52 -10
- package/dist/src/prompt/templates/employee.md +17 -5
- package/dist/src/prompt/templates/orchestration.md +11 -10
- package/dist/src/prompt/templates/research-worker.md +1 -1
- package/dist/src/prompt/templates/worker-context.md +4 -4
- package/dist/src/routes/browser.js +14 -3
- package/dist/src/routes/browser.js.map +1 -1
- package/dist/src/telegram/bot.js +92 -8
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/types/agent.js +4 -0
- package/dist/src/types/agent.js.map +1 -0
- package/package.json +27 -15
- package/public/css/chat.css +365 -127
- package/public/css/layout.css +67 -10
- package/public/css/markdown.css +219 -54
- package/public/css/modals.css +35 -15
- package/public/css/orc-state.css +16 -16
- package/public/css/sidebar.css +12 -12
- package/public/css/tool-ui.css +483 -0
- package/public/css/variables.css +334 -6
- package/public/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/public/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/public/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/public/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/public/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/public/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/public/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/public/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/public/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/public/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/public/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/public/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/public/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/public/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/public/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/public/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/public/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/public/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/public/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/public/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/public/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/public/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/public/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/public/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/public/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/public/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/public/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/public/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/public/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/public/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/public/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/public/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/public/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/public/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/public/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/public/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/public/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/public/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/public/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/public/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/public/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/public/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/public/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/public/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/public/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/public/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/public/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/public/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/public/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/public/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/public/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/public/dist/assets/api-B8XKQ4OT.js +1 -0
- package/public/dist/assets/api-BlPw3bUI.js +1 -0
- package/public/dist/assets/architecture-YZFGNWBL-BkS7SZQi.js +1 -0
- package/public/dist/assets/architectureDiagram-Q4EWVU46-Dl3iBKeR.js +1 -0
- package/public/dist/assets/blockDiagram-DXYQGD6D-DPr4D17p.js +1 -0
- package/public/dist/assets/c4Diagram-AHTNJAMY-CfoxJtDk.js +1 -0
- package/public/dist/assets/classDiagram-6PBFFD2Q-BOAdHnnB.js +1 -0
- package/public/dist/assets/classDiagram-v2-HSJHXN6E-B2QCJXWC.js +1 -0
- package/public/dist/assets/constants-DshMUJbo.js +1 -0
- package/public/dist/assets/cose-bilkent-S5V4N54A-CA14jk7w.js +1 -0
- package/public/dist/assets/dagre-KV5264BT-BVwNaSwC.js +1 -0
- package/public/dist/assets/diagram-5BDNPKRD-CHqIAvdc.js +1 -0
- package/public/dist/assets/diagram-G4DWMVQ6-DxvsCvTP.js +1 -0
- package/public/dist/assets/diagram-MMDJMWI5-DqOPO7dl.js +1 -0
- package/public/dist/assets/diagram-TYMM5635-C9xMWPQn.js +1 -0
- package/public/dist/assets/employees-CFRlsbHm.js +39 -0
- package/public/dist/assets/erDiagram-SMLLAGMA-BTmpfRkm.js +1 -0
- package/public/dist/assets/flowDiagram-DWJPFMVM-DZBSQAKA.js +1 -0
- package/public/dist/assets/ganttDiagram-T4ZO3ILL-TAEMCRbT.js +1 -0
- package/public/dist/assets/gitGraph-7Q5UKJZL-bbxndRNA.js +1 -0
- package/public/dist/assets/gitGraphDiagram-UUTBAWPF-CBxtx0MB.js +1 -0
- package/public/dist/assets/icon-192-CwXPIYF5.png +0 -0
- package/public/dist/assets/index-1Gg-6jeC.css +1 -0
- package/public/dist/assets/index-CQHqXjrK.js +49 -0
- package/public/dist/assets/info-OMHHGYJF-DRXq_Ywr.js +1 -0
- package/public/dist/assets/infoDiagram-42DDH7IO-C7FFwX4m.js +1 -0
- package/public/dist/assets/ishikawaDiagram-UXIWVN3A-DEZJE79j.js +1 -0
- package/public/dist/assets/journeyDiagram-VCZTEJTY-ZHLiY6GV.js +1 -0
- package/public/dist/assets/kanban-definition-6JOO6SKY-NP7pY7ML.js +1 -0
- package/public/dist/assets/katex-DZLS_HFU.js +1 -0
- package/public/dist/assets/locale-BjoAcbis.js +1 -0
- package/public/dist/assets/manifest-Bw-LRm-c.json +20 -0
- package/public/dist/assets/mermaid.core-CHuluSlD.js +1 -0
- package/public/dist/assets/mindmap-definition-QFDTVHPH-Bd1OgfN_.js +1 -0
- package/public/dist/assets/packet-4T2RLAQJ-CGu8ST97.js +1 -0
- package/public/dist/assets/pie-ZZUOXDRM-CDG65mhS.js +1 -0
- package/public/dist/assets/pieDiagram-DEJITSTG-BbMBHLDM.js +1 -0
- package/public/dist/assets/quadrantDiagram-34T5L4WZ-CDCDgI1e.js +1 -0
- package/public/dist/assets/radar-PYXPWWZC-1gS-6ylu.js +1 -0
- package/public/dist/assets/render-YHvL5VM_.js +6 -0
- package/public/dist/assets/requirementDiagram-MS252O5E-DkmvOtYz.js +1 -0
- package/public/dist/assets/rolldown-runtime-FhOqtrmT.js +1 -0
- package/public/dist/assets/sankeyDiagram-XADWPNL6-GNcXIYsL.js +1 -0
- package/public/dist/assets/sequenceDiagram-FGHM5R23-BFrw2n6x.js +1 -0
- package/public/dist/assets/settings-BQF_u5px.js +37 -0
- package/public/dist/assets/settings-C5Q9IPjJ.js +1 -0
- package/public/dist/assets/shark-sprite-B3AAuERd.png +0 -0
- package/public/dist/assets/skills-9Pd2rOw-.js +1 -0
- package/public/dist/assets/skills-BI7sQAdk.js +12 -0
- package/public/dist/assets/slash-commands-DMsE88bu.js +14 -0
- package/public/dist/assets/slash-commands-FMpJzlDB.js +1 -0
- package/public/dist/assets/state-O6NVkWcL.js +1 -0
- package/public/dist/assets/stateDiagram-FHFEXIEX-BLgKnllT.js +1 -0
- package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-CbzuWsSa.js +1 -0
- package/public/dist/assets/timeline-definition-GMOUNBTQ-CcZTJ3gL.js +1 -0
- package/public/dist/assets/treeView-SZITEDCU-BDqBsaH1.js +1 -0
- package/public/dist/assets/treemap-W4RFUUIX-BaWHA3Di.js +1 -0
- package/public/dist/assets/ui-BukgLHuh.js +29 -0
- package/public/dist/assets/ui-Bvz1JfTE.js +1 -0
- package/public/dist/assets/vendor-mermaid-COidH9HB.js +2934 -0
- package/public/dist/assets/vendor-render-Bjnw0wQ6.css +1 -0
- package/public/dist/assets/vendor-render-D2YP6GiF.js +322 -0
- package/public/dist/assets/vennDiagram-DHZGUBPP-BWV_j1bh.js +1 -0
- package/public/dist/assets/wardley-RL74JXVD-C7gKA3d7.js +1 -0
- package/public/dist/assets/wardleyDiagram-NUSXRM2D-BUoq_wug.js +1 -0
- package/public/dist/assets/ws-S_AZgx7L.js +2 -0
- package/public/dist/assets/xychartDiagram-5P7HB3ND-PvT5Ec82.js +1 -0
- package/public/dist/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/public/dist/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/public/dist/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/public/dist/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/public/dist/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/public/dist/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/public/dist/dist/assets/api-B8XKQ4OT.js +1 -0
- package/public/dist/dist/assets/api-BlPw3bUI.js +1 -0
- package/public/dist/dist/assets/architecture-YZFGNWBL-BkS7SZQi.js +1 -0
- package/public/dist/dist/assets/architectureDiagram-Q4EWVU46-Dl3iBKeR.js +1 -0
- package/public/dist/dist/assets/blockDiagram-DXYQGD6D-DPr4D17p.js +1 -0
- package/public/dist/dist/assets/c4Diagram-AHTNJAMY-CfoxJtDk.js +1 -0
- package/public/dist/dist/assets/classDiagram-6PBFFD2Q-BOAdHnnB.js +1 -0
- package/public/dist/dist/assets/classDiagram-v2-HSJHXN6E-B2QCJXWC.js +1 -0
- package/public/dist/dist/assets/constants-DshMUJbo.js +1 -0
- package/public/dist/dist/assets/cose-bilkent-S5V4N54A-CA14jk7w.js +1 -0
- package/public/dist/dist/assets/dagre-KV5264BT-BVwNaSwC.js +1 -0
- package/public/dist/dist/assets/diagram-5BDNPKRD-CHqIAvdc.js +1 -0
- package/public/dist/dist/assets/diagram-G4DWMVQ6-DxvsCvTP.js +1 -0
- package/public/dist/dist/assets/diagram-MMDJMWI5-DqOPO7dl.js +1 -0
- package/public/dist/dist/assets/diagram-TYMM5635-C9xMWPQn.js +1 -0
- package/public/dist/dist/assets/employees-CFRlsbHm.js +39 -0
- package/public/dist/dist/assets/erDiagram-SMLLAGMA-BTmpfRkm.js +1 -0
- package/public/dist/dist/assets/flowDiagram-DWJPFMVM-DZBSQAKA.js +1 -0
- package/public/dist/dist/assets/ganttDiagram-T4ZO3ILL-TAEMCRbT.js +1 -0
- package/public/dist/dist/assets/gitGraph-7Q5UKJZL-bbxndRNA.js +1 -0
- package/public/dist/dist/assets/gitGraphDiagram-UUTBAWPF-CBxtx0MB.js +1 -0
- package/public/dist/dist/assets/icon-192-CwXPIYF5.png +0 -0
- package/public/dist/dist/assets/index-1Gg-6jeC.css +1 -0
- package/public/dist/dist/assets/index-CQHqXjrK.js +49 -0
- package/public/dist/dist/assets/info-OMHHGYJF-DRXq_Ywr.js +1 -0
- package/public/dist/dist/assets/infoDiagram-42DDH7IO-C7FFwX4m.js +1 -0
- package/public/dist/dist/assets/ishikawaDiagram-UXIWVN3A-DEZJE79j.js +1 -0
- package/public/dist/dist/assets/journeyDiagram-VCZTEJTY-ZHLiY6GV.js +1 -0
- package/public/dist/dist/assets/kanban-definition-6JOO6SKY-NP7pY7ML.js +1 -0
- package/public/dist/dist/assets/katex-DZLS_HFU.js +1 -0
- package/public/dist/dist/assets/locale-BjoAcbis.js +1 -0
- package/public/dist/dist/assets/manifest-Bw-LRm-c.json +20 -0
- package/public/dist/dist/assets/mermaid.core-CHuluSlD.js +1 -0
- package/public/dist/dist/assets/mindmap-definition-QFDTVHPH-Bd1OgfN_.js +1 -0
- package/public/dist/dist/assets/packet-4T2RLAQJ-CGu8ST97.js +1 -0
- package/public/dist/dist/assets/pie-ZZUOXDRM-CDG65mhS.js +1 -0
- package/public/dist/dist/assets/pieDiagram-DEJITSTG-BbMBHLDM.js +1 -0
- package/public/dist/dist/assets/quadrantDiagram-34T5L4WZ-CDCDgI1e.js +1 -0
- package/public/dist/dist/assets/radar-PYXPWWZC-1gS-6ylu.js +1 -0
- package/public/dist/dist/assets/render-YHvL5VM_.js +6 -0
- package/public/dist/dist/assets/requirementDiagram-MS252O5E-DkmvOtYz.js +1 -0
- package/public/dist/dist/assets/rolldown-runtime-FhOqtrmT.js +1 -0
- package/public/dist/dist/assets/sankeyDiagram-XADWPNL6-GNcXIYsL.js +1 -0
- package/public/dist/dist/assets/sequenceDiagram-FGHM5R23-BFrw2n6x.js +1 -0
- package/public/dist/dist/assets/settings-BQF_u5px.js +37 -0
- package/public/dist/dist/assets/settings-C5Q9IPjJ.js +1 -0
- package/public/dist/dist/assets/shark-sprite-B3AAuERd.png +0 -0
- package/public/dist/dist/assets/skills-9Pd2rOw-.js +1 -0
- package/public/dist/dist/assets/skills-BI7sQAdk.js +12 -0
- package/public/dist/dist/assets/slash-commands-DMsE88bu.js +14 -0
- package/public/dist/dist/assets/slash-commands-FMpJzlDB.js +1 -0
- package/public/dist/dist/assets/state-O6NVkWcL.js +1 -0
- package/public/dist/dist/assets/stateDiagram-FHFEXIEX-BLgKnllT.js +1 -0
- package/public/dist/dist/assets/stateDiagram-v2-QKLJ7IA2-CbzuWsSa.js +1 -0
- package/public/dist/dist/assets/timeline-definition-GMOUNBTQ-CcZTJ3gL.js +1 -0
- package/public/dist/dist/assets/treeView-SZITEDCU-BDqBsaH1.js +1 -0
- package/public/dist/dist/assets/treemap-W4RFUUIX-BaWHA3Di.js +1 -0
- package/public/dist/dist/assets/ui-BukgLHuh.js +29 -0
- package/public/dist/dist/assets/ui-Bvz1JfTE.js +1 -0
- package/public/dist/dist/assets/vendor-mermaid-COidH9HB.js +2934 -0
- package/public/dist/dist/assets/vendor-render-Bjnw0wQ6.css +1 -0
- package/public/dist/dist/assets/vendor-render-D2YP6GiF.js +322 -0
- package/public/dist/dist/assets/vennDiagram-DHZGUBPP-BWV_j1bh.js +1 -0
- package/public/dist/dist/assets/wardley-RL74JXVD-C7gKA3d7.js +1 -0
- package/public/dist/dist/assets/wardleyDiagram-NUSXRM2D-BUoq_wug.js +1 -0
- package/public/dist/dist/assets/ws-S_AZgx7L.js +2 -0
- package/public/dist/dist/assets/xychartDiagram-5P7HB3ND-PvT5Ec82.js +1 -0
- package/public/dist/dist/index.html +708 -0
- package/public/dist/index.html +708 -0
- package/public/icons/icon-192.png +0 -0
- package/public/icons/icon-512-maskable.png +0 -0
- package/public/icons/icon-512.png +0 -0
- package/public/index.html +178 -125
- package/public/js/constants.ts +6 -6
- package/public/js/features/chat.ts +23 -3
- package/public/js/features/employees.ts +12 -12
- package/public/js/features/gesture.ts +61 -0
- package/public/js/features/heartbeat.ts +1 -1
- package/public/js/features/idb-cache.ts +89 -0
- package/public/js/features/memory.ts +4 -1
- package/public/js/features/process-block.ts +236 -0
- package/public/js/features/settings-channel.ts +53 -0
- package/public/js/features/settings-cli-status.ts +164 -0
- package/public/js/features/settings-core.ts +357 -0
- package/public/js/features/settings-discord.ts +52 -0
- package/public/js/features/settings-mcp.ts +54 -0
- package/public/js/features/settings-stt.ts +78 -0
- package/public/js/features/settings-telegram.ts +40 -0
- package/public/js/features/settings-templates.ts +129 -0
- package/public/js/features/settings-types.ts +24 -0
- package/public/js/features/settings.ts +9 -815
- package/public/js/features/sidebar.ts +4 -2
- package/public/js/features/skills.ts +5 -4
- package/public/js/features/slash-commands.ts +1 -8
- package/public/js/features/theme.ts +16 -10
- package/public/js/features/tool-ui.ts +113 -0
- package/public/js/main.ts +67 -8
- package/public/js/render.ts +128 -90
- package/public/js/state.ts +4 -0
- package/public/js/streaming-render.ts +55 -0
- package/public/js/ui.ts +289 -46
- package/public/js/virtual-scroll.ts +189 -0
- package/public/js/ws.ts +175 -112
- package/public/locales/en.json +6 -1
- package/public/locales/ko.json +6 -1
- package/public/manifest.json +20 -0
- package/public/public/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
- package/public/public/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
- package/public/public/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
- package/public/public/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
- package/public/public/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
- package/public/public/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
- package/public/public/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
- package/public/public/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
- package/public/public/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
- package/public/public/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
- package/public/public/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
- package/public/public/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
- package/public/public/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
- package/public/public/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
- package/public/public/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
- package/public/public/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
- package/public/public/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
- package/public/public/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
- package/public/public/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
- package/public/public/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
- package/public/public/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
- package/public/public/dist/assets/api-B8XKQ4OT.js +1 -0
- package/public/public/dist/assets/api-BlPw3bUI.js +1 -0
- package/public/public/dist/assets/architecture-YZFGNWBL-BkS7SZQi.js +1 -0
- package/public/public/dist/assets/architectureDiagram-Q4EWVU46-Dl3iBKeR.js +1 -0
- package/public/public/dist/assets/blockDiagram-DXYQGD6D-DPr4D17p.js +1 -0
- package/public/public/dist/assets/c4Diagram-AHTNJAMY-CfoxJtDk.js +1 -0
- package/public/public/dist/assets/classDiagram-6PBFFD2Q-BOAdHnnB.js +1 -0
- package/public/public/dist/assets/classDiagram-v2-HSJHXN6E-B2QCJXWC.js +1 -0
- package/public/public/dist/assets/constants-DshMUJbo.js +1 -0
- package/public/public/dist/assets/cose-bilkent-S5V4N54A-CA14jk7w.js +1 -0
- package/public/public/dist/assets/dagre-KV5264BT-BVwNaSwC.js +1 -0
- package/public/public/dist/assets/diagram-5BDNPKRD-CHqIAvdc.js +1 -0
- package/public/public/dist/assets/diagram-G4DWMVQ6-DxvsCvTP.js +1 -0
- package/public/public/dist/assets/diagram-MMDJMWI5-DqOPO7dl.js +1 -0
- package/public/public/dist/assets/diagram-TYMM5635-C9xMWPQn.js +1 -0
- package/public/public/dist/assets/employees-CFRlsbHm.js +39 -0
- package/public/public/dist/assets/erDiagram-SMLLAGMA-BTmpfRkm.js +1 -0
- package/public/public/dist/assets/flowDiagram-DWJPFMVM-DZBSQAKA.js +1 -0
- package/public/public/dist/assets/ganttDiagram-T4ZO3ILL-TAEMCRbT.js +1 -0
- package/public/public/dist/assets/gitGraph-7Q5UKJZL-bbxndRNA.js +1 -0
- package/public/public/dist/assets/gitGraphDiagram-UUTBAWPF-CBxtx0MB.js +1 -0
- package/public/public/dist/assets/icon-192-CwXPIYF5.png +0 -0
- package/public/public/dist/assets/index-1Gg-6jeC.css +1 -0
- package/public/public/dist/assets/index-CQHqXjrK.js +49 -0
- package/public/public/dist/assets/info-OMHHGYJF-DRXq_Ywr.js +1 -0
- package/public/public/dist/assets/infoDiagram-42DDH7IO-C7FFwX4m.js +1 -0
- package/public/public/dist/assets/ishikawaDiagram-UXIWVN3A-DEZJE79j.js +1 -0
- package/public/public/dist/assets/journeyDiagram-VCZTEJTY-ZHLiY6GV.js +1 -0
- package/public/public/dist/assets/kanban-definition-6JOO6SKY-NP7pY7ML.js +1 -0
- package/public/public/dist/assets/katex-DZLS_HFU.js +1 -0
- package/public/public/dist/assets/locale-BjoAcbis.js +1 -0
- package/public/public/dist/assets/manifest-Bw-LRm-c.json +20 -0
- package/public/public/dist/assets/mermaid.core-CHuluSlD.js +1 -0
- package/public/public/dist/assets/mindmap-definition-QFDTVHPH-Bd1OgfN_.js +1 -0
- package/public/public/dist/assets/packet-4T2RLAQJ-CGu8ST97.js +1 -0
- package/public/public/dist/assets/pie-ZZUOXDRM-CDG65mhS.js +1 -0
- package/public/public/dist/assets/pieDiagram-DEJITSTG-BbMBHLDM.js +1 -0
- package/public/public/dist/assets/quadrantDiagram-34T5L4WZ-CDCDgI1e.js +1 -0
- package/public/public/dist/assets/radar-PYXPWWZC-1gS-6ylu.js +1 -0
- package/public/public/dist/assets/render-YHvL5VM_.js +6 -0
- package/public/public/dist/assets/requirementDiagram-MS252O5E-DkmvOtYz.js +1 -0
- package/public/public/dist/assets/rolldown-runtime-FhOqtrmT.js +1 -0
- package/public/public/dist/assets/sankeyDiagram-XADWPNL6-GNcXIYsL.js +1 -0
- package/public/public/dist/assets/sequenceDiagram-FGHM5R23-BFrw2n6x.js +1 -0
- package/public/public/dist/assets/settings-BQF_u5px.js +37 -0
- package/public/public/dist/assets/settings-C5Q9IPjJ.js +1 -0
- package/public/public/dist/assets/shark-sprite-B3AAuERd.png +0 -0
- package/public/public/dist/assets/skills-9Pd2rOw-.js +1 -0
- package/public/public/dist/assets/skills-BI7sQAdk.js +12 -0
- package/public/public/dist/assets/slash-commands-DMsE88bu.js +14 -0
- package/public/public/dist/assets/slash-commands-FMpJzlDB.js +1 -0
- package/public/public/dist/assets/state-O6NVkWcL.js +1 -0
- package/public/public/dist/assets/stateDiagram-FHFEXIEX-BLgKnllT.js +1 -0
- package/public/public/dist/assets/stateDiagram-v2-QKLJ7IA2-CbzuWsSa.js +1 -0
- package/public/public/dist/assets/timeline-definition-GMOUNBTQ-CcZTJ3gL.js +1 -0
- package/public/public/dist/assets/treeView-SZITEDCU-BDqBsaH1.js +1 -0
- package/public/public/dist/assets/treemap-W4RFUUIX-BaWHA3Di.js +1 -0
- package/public/public/dist/assets/ui-BukgLHuh.js +29 -0
- package/public/public/dist/assets/ui-Bvz1JfTE.js +1 -0
- package/public/public/dist/assets/vendor-mermaid-COidH9HB.js +2934 -0
- package/public/public/dist/assets/vendor-render-Bjnw0wQ6.css +1 -0
- package/public/public/dist/assets/vendor-render-D2YP6GiF.js +322 -0
- package/public/public/dist/assets/vennDiagram-DHZGUBPP-BWV_j1bh.js +1 -0
- package/public/public/dist/assets/wardley-RL74JXVD-C7gKA3d7.js +1 -0
- package/public/public/dist/assets/wardleyDiagram-NUSXRM2D-BUoq_wug.js +1 -0
- package/public/public/dist/assets/ws-S_AZgx7L.js +2 -0
- package/public/public/dist/assets/xychartDiagram-5P7HB3ND-PvT5Ec82.js +1 -0
- package/public/public/dist/index.html +708 -0
- package/public/sw.js +104 -0
- package/scripts/install-officecli.sh +145 -0
- package/scripts/release-preview.sh +18 -10
- package/scripts/release.sh +3 -3
- package/public/dist/bundle.js +0 -151
- package/public/dist/bundle.js.map +0 -7
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
import { broadcast } from '../core/bus.js';
|
|
4
4
|
import { getEmployeeSession, upsertEmployeeSession } from '../core/db.js';
|
|
5
5
|
import { getEmployeePromptV2 } from '../prompt/builder.js';
|
|
6
|
-
import { spawnAgent } from '../agent/spawn.js';
|
|
6
|
+
import { spawnAgent, killAgentById } from '../agent/spawn.js';
|
|
7
7
|
import { appendToWorklog } from '../memory/worklog.js';
|
|
8
|
+
import { startWorkerMonitor } from './worker-monitor.js';
|
|
9
|
+
import { updateWorkerPhase } from './worker-registry.js';
|
|
8
10
|
// ─── Phase Constants (shared with pipeline.ts) ───────
|
|
9
11
|
export const PHASES = { 1: 'Planning', 2: 'Plan Audit', 3: 'Development', 4: 'Debug/Check', 5: 'Integration' };
|
|
10
12
|
export const PHASE_INSTRUCTIONS = {
|
|
@@ -296,16 +298,40 @@ After completing your task, record results in the Execution Log section.`;
|
|
|
296
298
|
agentId: emp.id, agentName: emp.name,
|
|
297
299
|
status: 'running', phase: ap.currentPhase, phaseLabel,
|
|
298
300
|
});
|
|
301
|
+
updateWorkerPhase(emp.id, String(ap.currentPhase), phaseLabel ?? '');
|
|
299
302
|
const empSession = getEmployeeSession.get(emp.id);
|
|
300
303
|
const canResume = !!(empSession?.session_id && empSession?.cli === emp.cli);
|
|
301
|
-
const
|
|
302
|
-
agentId: emp.id,
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
304
|
+
const monitor = startWorkerMonitor({
|
|
305
|
+
agentId: emp.id,
|
|
306
|
+
stallThresholdMs: 120_000,
|
|
307
|
+
maxDurationMs: 600_000,
|
|
308
|
+
onStall: (id) => broadcast('worker_stalled', { agentId: id, employeeName: emp.name }),
|
|
309
|
+
onDisconnect: (id, code) => broadcast('worker_disconnected', { agentId: id, exitCode: code }),
|
|
310
|
+
onTimeout: (id) => {
|
|
311
|
+
broadcast('worker_timeout', { agentId: id, employeeName: emp.name });
|
|
312
|
+
killAgentById(id);
|
|
313
|
+
},
|
|
307
314
|
});
|
|
308
|
-
|
|
315
|
+
let r;
|
|
316
|
+
try {
|
|
317
|
+
const { promise } = spawnAgent(taskPrompt, {
|
|
318
|
+
agentId: emp.id, cli: emp.cli, model: emp.model,
|
|
319
|
+
forceNew: !canResume,
|
|
320
|
+
employeeSessionId: canResume ? empSession.session_id : undefined,
|
|
321
|
+
sysPrompt: canResume ? undefined : sysPrompt,
|
|
322
|
+
origin: meta.origin || 'web',
|
|
323
|
+
lifecycle: {
|
|
324
|
+
onActivity: (source) => monitor.touch(source),
|
|
325
|
+
onExit: (code) => monitor.exit(code),
|
|
326
|
+
},
|
|
327
|
+
});
|
|
328
|
+
r = await promise;
|
|
329
|
+
monitor.stop();
|
|
330
|
+
}
|
|
331
|
+
catch (err) {
|
|
332
|
+
monitor.stop();
|
|
333
|
+
throw err;
|
|
334
|
+
}
|
|
309
335
|
if (r.code === 0 && r.sessionId) {
|
|
310
336
|
upsertEmployeeSession.run(emp.id, r.sessionId, emp.cli);
|
|
311
337
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"distribute.js","sourceRoot":"","sources":["../../../src/orchestrator/distribute.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,sDAAsD;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"distribute.js","sourceRoot":"","sources":["../../../src/orchestrator/distribute.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,sDAAsD;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,wDAAwD;AAExD,MAAM,CAAC,MAAM,MAAM,GAA2B,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;AAEvI,MAAM,CAAC,MAAM,kBAAkB,GAA2B;IACtD,CAAC,EAAE;;;;+CAIwC;IAC3C,CAAC,EAAE;;;;;;;;;4CASqC;IACxC,CAAC,EAAE;;;;mDAI4C;IAC/C,CAAC,EAAE;;;;wCAIiC;IACpC,CAAC,EAAE;;;;yDAIkD;CACxD,CAAC;AAEF,wDAAwD;AAExD,MAAM,UAAU,oBAAoB,CAAC,EAAuB,EAAE,KAA4B;IACtF,MAAM,OAAO,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC;IAC1H,MAAM,QAAQ,GAAG,KAAK;SACjB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,EAAE,CAAC;SAC3G,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;IAE5B,OAAO;;6BAEkB,EAAE,CAAC,IAAI;;;;;EAKlC,OAAO;;;EAGP,QAAQ,EAAE,CAAC;AACb,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAuB,EAAE,YAAmC;IAC/F,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;QACxC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACrG,CAAC,CAAC,2BAA2B,CAAC;IAElC,OAAO;;6BAEkB,EAAE,CAAC,IAAI;;;EAGlC,YAAY,EAAE,CAAC;AACjB,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,YAAY,CAAC,IAA2B,EAAE,EAAuB;IAC7E,kEAAkE;IAClE,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO,CAAC,IAAI,CAAC,sCAAsC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,4BAA4B;IAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;IAClD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,oCAAoC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC5E,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAClB,+CAA+C;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrH,IAAI,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,KAAK,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACvF,OAAO,KAAK,IAAI,IAAI,CAAC;AACzB,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,sBAAsB,CAAC,WAAkC;IACrE,MAAM,cAAc,GAAG,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO;IAEtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAa,EAAE,CAAC,YAAY,EAAE,cAAc,IAAI,EAAE,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,QAAQ,IAAI,QAAQ,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;gBACpC,OAAO,CAAC,IAAI,CACR,iDAAiD,IAAI,MAAM;oBAC3D,IAAI,QAAQ,UAAU,EAAE,CAAC,KAAK,0BAA0B;oBACxD,gBAAgB,EAAE,CAAC,KAAK,kBAAkB,CAC7C,CAAC;gBACF,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACpB,MAAM;YACV,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;AACL,CAAC;AAED,wDAAwD;AAExD,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,WAAmB,EAAE,IAA2B;IAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,IAAI,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAElH,OAAO;EACT,MAAM;;;EAGN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAoIO,WAAW;+BACI,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAChC,EAAuB,EACvB,GAAwB,EACxB,OAA4B,EAC5B,KAAa,EACb,IAAyB,EACzB,YAAmC,EACnC,gBAAuC,EAAE;IAEzC,MAAM,WAAW,GAAG,kBAAkB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;IAErE,MAAM,gBAAgB,GAAG,EAAE,CAAC,QAAQ;QAChC,CAAC,CAAC,oBAAoB,CAAC,EAAE,EAAE,aAAa,CAAC;QACzC,CAAC,CAAC,sBAAsB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IAE/C,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY;SAClC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC;SACzB,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;SACxC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEf,MAAM,UAAU,GAAG,wBAAwB,UAAU;EACvD,EAAE,CAAC,IAAI;;oBAEW,EAAE,CAAC,YAAY,KAAK,UAAU;EAChD,WAAW;;uBAEU,eAAe;;;;;;;;;;;;yBAYb,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;EAK3E,gBAAgB;;;wBAGM,OAAO,CAAC,IAAI;yEACqC,CAAC;IAEtE,SAAS,CAAC,cAAc,EAAE;QACtB,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI;QACpC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,EAAE,UAAU;KACxD,CAAC,CAAC;IACH,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAoC,CAAC;IACrF,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,UAAU,IAAI,UAAU,EAAE,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,kBAAkB,CAAC;QAC/B,OAAO,EAAE,GAAG,CAAC,EAAE;QACf,gBAAgB,EAAE,OAAO;QACzB,aAAa,EAAE,OAAO;QACtB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACrF,YAAY,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC7F,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;YACd,SAAS,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACrE,aAAa,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;KACJ,CAAC,CAAC;IAEH,IAAI,CAAsB,CAAC;IAC3B,IAAI,CAAC;QACD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE;YACvC,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK;YAC/C,QAAQ,EAAE,CAAC,SAAS;YACpB,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAC,UAAW,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;YACjE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAC5C,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK;YAC5B,SAAS,EAAE;gBACP,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAmD,CAAC;gBAC1F,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aACvC;SACJ,CAAC,CAAC;QACH,CAAC,GAAG,MAAM,OAA8B,CAAC;QACzC,OAAO,CAAC,IAAI,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,GAAG,CAAC;IACd,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;QAC9B,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG;QACX,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE;QAC1C,KAAK,EAAE,EAAE,CAAC,YAAY,EAAE,UAAU;QAClC,MAAM,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;QACvC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE;KACrB,CAAC;IAEF,2CAA2C;IAC3C,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAChG,IAAI,OAAO,EAAE,CAAC;QACV,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;gBAC1E,IAAI,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;oBAChB,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,mCAAmC,CAAC,CAAC;gBAClF,CAAC;qBAAM,IAAI,MAAM,GAAG,EAAE,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;oBACzC,EAAE,CAAC,eAAe,GAAG,MAAM,CAAC;oBAC5B,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,oBAAoB,EAAE,CAAC,YAAY,gBAAgB,EAAE,CAAC,gBAAgB,GAAG,CAAC,CAAC;gBACxH,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAAC,CAAC;IAC7E,CAAC;IAED,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAEnH,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,eAAe,EACzC,aAAa,KAAK,MAAM,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,gBAAgB,MAAM,CAAC,MAAM,eAAe,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CACpJ,CAAC;IAEF,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
// ─── submitMessage gateway ──────────────────────────
|
|
2
2
|
// Unified message submission for all interfaces (WebUI, REST, Telegram).
|
|
3
3
|
// Replaces duplicated intent/queue/orchestrate logic in server.ts + bot.ts.
|
|
4
|
+
import { randomUUID } from 'node:crypto';
|
|
4
5
|
import { isAgentBusy, enqueueMessage, messageQueue } from '../agent/spawn.js';
|
|
6
|
+
import { hasBlockingWorkers, hasPendingWorkerReplays } from './worker-registry.js';
|
|
5
7
|
import { insertMessage } from '../core/db.js';
|
|
8
|
+
import { settings } from '../core/config.js';
|
|
6
9
|
import { broadcast } from '../core/bus.js';
|
|
7
10
|
import { orchestrate, orchestrateContinue, orchestrateReset, isContinueIntent, isResetIntent, } from './pipeline.js';
|
|
8
11
|
import { getState } from './state-machine.js';
|
|
@@ -13,7 +16,9 @@ function runDetached(task, label, meta) {
|
|
|
13
16
|
broadcast('orchestrate_done', {
|
|
14
17
|
text: `[orchestrate error] ${msg}`,
|
|
15
18
|
origin: meta.origin,
|
|
19
|
+
target: meta.target,
|
|
16
20
|
chatId: meta.chatId,
|
|
21
|
+
requestId: meta.requestId,
|
|
17
22
|
error: true,
|
|
18
23
|
});
|
|
19
24
|
});
|
|
@@ -23,40 +28,41 @@ export function submitMessage(text, meta) {
|
|
|
23
28
|
if (!trimmed)
|
|
24
29
|
return { action: 'rejected', reason: 'empty' };
|
|
25
30
|
const display = meta.displayText || trimmed;
|
|
31
|
+
const requestId = randomUUID();
|
|
26
32
|
// ── continue intent (only when IDLE) ──
|
|
27
33
|
if (getState() === 'IDLE' && isContinueIntent(trimmed)) {
|
|
28
34
|
if (isAgentBusy())
|
|
29
35
|
return { action: 'rejected', reason: 'busy' };
|
|
30
|
-
insertMessage.run('user', display, meta.origin, '');
|
|
36
|
+
insertMessage.run('user', display, meta.origin, '', settings.workingDir || null);
|
|
31
37
|
broadcast('new_message', { role: 'user', content: display, source: meta.origin });
|
|
32
38
|
if (!meta.skipOrchestrate) {
|
|
33
|
-
runDetached(orchestrateContinue({ origin: meta.origin, chatId: meta.chatId, _skipInsert: true }), 'continue', meta);
|
|
39
|
+
runDetached(orchestrateContinue({ origin: meta.origin, target: meta.target, chatId: meta.chatId, requestId, _skipInsert: true }), 'continue', { ...meta, requestId });
|
|
34
40
|
}
|
|
35
|
-
return { action: 'started', continued: true };
|
|
41
|
+
return { action: 'started', continued: true, requestId };
|
|
36
42
|
}
|
|
37
43
|
// ── reset intent ──
|
|
38
44
|
if (isResetIntent(trimmed)) {
|
|
39
|
-
insertMessage.run('user', display, meta.origin, '');
|
|
45
|
+
insertMessage.run('user', display, meta.origin, '', settings.workingDir || null);
|
|
40
46
|
broadcast('new_message', { role: 'user', content: display, source: meta.origin });
|
|
41
47
|
if (!meta.skipOrchestrate) {
|
|
42
|
-
runDetached(orchestrateReset({ origin: meta.origin, chatId: meta.chatId, _skipInsert: true }), 'reset', meta);
|
|
48
|
+
runDetached(orchestrateReset({ origin: meta.origin, target: meta.target, chatId: meta.chatId, requestId, _skipInsert: true }), 'reset', { ...meta, requestId });
|
|
43
49
|
}
|
|
44
|
-
return { action: 'started' };
|
|
50
|
+
return { action: 'started', requestId };
|
|
45
51
|
}
|
|
46
52
|
// ── busy → enqueue only ──
|
|
47
53
|
// NOTE: insertMessage is NOT called here — processQueue() handles it.
|
|
48
54
|
// This fixes the dual-insert bug where bot.ts called both enqueue + insert.
|
|
49
|
-
if (isAgentBusy()) {
|
|
50
|
-
enqueueMessage(trimmed, meta.origin, { chatId: meta.chatId });
|
|
55
|
+
if (isAgentBusy() || hasBlockingWorkers() || hasPendingWorkerReplays()) {
|
|
56
|
+
enqueueMessage(trimmed, meta.origin, { target: meta.target, chatId: meta.chatId, requestId });
|
|
51
57
|
broadcast('new_message', { role: 'user', content: display, source: meta.origin });
|
|
52
|
-
return { action: 'queued', pending: messageQueue.length, queued: true };
|
|
58
|
+
return { action: 'queued', pending: messageQueue.length, queued: true, requestId };
|
|
53
59
|
}
|
|
54
60
|
// ── idle → start immediately ──
|
|
55
|
-
insertMessage.run('user', display, meta.origin, '');
|
|
61
|
+
insertMessage.run('user', display, meta.origin, '', settings.workingDir || null);
|
|
56
62
|
broadcast('new_message', { role: 'user', content: display, source: meta.origin });
|
|
57
63
|
if (!meta.skipOrchestrate) {
|
|
58
|
-
runDetached(orchestrate(trimmed, { origin: meta.origin, chatId: meta.chatId, _skipInsert: true }), 'orchestrate', meta);
|
|
64
|
+
runDetached(orchestrate(trimmed, { origin: meta.origin, target: meta.target, chatId: meta.chatId, requestId, _skipInsert: true }), 'orchestrate', { ...meta, requestId });
|
|
59
65
|
}
|
|
60
|
-
return { action: 'started' };
|
|
66
|
+
return { action: 'started', requestId };
|
|
61
67
|
}
|
|
62
68
|
//# sourceMappingURL=gateway.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/orchestrator/gateway.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,yEAAyE;AACzE,4EAA4E;AAE5E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACH,WAAW,EAAE,mBAAmB,EAAE,gBAAgB,EAClD,gBAAgB,EAAE,aAAa,GAClC,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../../src/orchestrator/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,34 +41,6 @@ export function isApproveIntent(text) {
|
|
|
41
41
|
return false;
|
|
42
42
|
return APPROVE_PATTERNS.some(re => re.test(t));
|
|
43
43
|
}
|
|
44
|
-
// ─── Message Triage: 복잡한 작업만 orchestrate ───────
|
|
45
|
-
const CODE_KEYWORDS = /\.(js|ts|jsx|tsx|py|md|json|css|html|sql|yml|yaml|sh|go|rs|swift)|구현|작성|만들어|수정|코딩|리팩|버그|에러|디버그|테스트|빌드|설치|배포|삭제|추가|변경|생성|개발|엔드포인트|서버|라우트|스키마|컴포넌트|모듈|함수|클래스|\bAPI\b|\bDB\b/i;
|
|
46
|
-
const FILE_PATH_PATTERN = /(?:src|bin|public|lib|devlog|config|components?|pages?|api)\//i;
|
|
47
|
-
const MULTI_TASK_PATTERN = /(?:그리고|다음에|먼저|또한|추가로|\n\n|\d+\.\s)/;
|
|
48
|
-
export function needsOrchestration(text) {
|
|
49
|
-
const t = String(text || '').trim();
|
|
50
|
-
if (!t)
|
|
51
|
-
return false;
|
|
52
|
-
let signals = 0;
|
|
53
|
-
// Signal 1: 길이 (80자 이상)
|
|
54
|
-
if (t.length >= 80)
|
|
55
|
-
signals++;
|
|
56
|
-
// Signal 2: 코드 키워드 카운트
|
|
57
|
-
const codeMatches = t.match(CODE_KEYWORDS);
|
|
58
|
-
if (codeMatches)
|
|
59
|
-
signals++;
|
|
60
|
-
// 2개 이상의 서로 다른 코드 키워드 → 추가 signal
|
|
61
|
-
const allCodeMatches = [...new Set((t.match(new RegExp(CODE_KEYWORDS.source, 'gi')) || []))];
|
|
62
|
-
if (allCodeMatches.length >= 2)
|
|
63
|
-
signals++;
|
|
64
|
-
// Signal 3: 파일 경로 패턴
|
|
65
|
-
if (FILE_PATH_PATTERN.test(t))
|
|
66
|
-
signals++;
|
|
67
|
-
// Signal 4: 멀티 태스크 신호
|
|
68
|
-
if (MULTI_TASK_PATTERN.test(t))
|
|
69
|
-
signals++;
|
|
70
|
-
return signals >= 2;
|
|
71
|
-
}
|
|
72
44
|
// ─── JSON Parsing (export 유지 — agent.js가 import) ──
|
|
73
45
|
export function parseSubtasks(text) {
|
|
74
46
|
if (!text)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/orchestrator/parser.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,0DAA0D;AAE1D,+CAA+C;AAC/C,MAAM,iBAAiB,GAAG;IACtB,gBAAgB;IAChB,UAAU;IACV,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;CACpB,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,wDAAwD;AAExD,MAAM,cAAc,GAAG;IACnB,SAAS;IACT,UAAU;IACV,gBAAgB;IAChB,kBAAkB;IAClB,UAAU;CACb,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,IAAY;IACtC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,wDAAwD;AAExD,MAAM,gBAAgB,GAAG;IACrB,oDAAoD;IACpD,8BAA8B;CACjC,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAY;IACxC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/orchestrator/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,58 +2,53 @@
|
|
|
2
2
|
// Old round-loop pipeline fully removed.
|
|
3
3
|
// PABCD state machine is the sole orchestration system.
|
|
4
4
|
import { broadcast } from '../core/bus.js';
|
|
5
|
+
import { settings } from '../core/config.js';
|
|
5
6
|
import { getEmployees, clearAllEmployeeSessions, upsertEmployeeSession, } from '../core/db.js';
|
|
7
|
+
import { clearBossSessionOnly } from '../core/main-session.js';
|
|
6
8
|
import { clearPromptCache } from '../prompt/builder.js';
|
|
7
9
|
import { spawnAgent } from '../agent/spawn.js';
|
|
8
10
|
import { readLatestWorklog, appendToWorklog, updateWorklogStatus, } from '../memory/worklog.js';
|
|
9
11
|
import { findEmployee, runSingleAgent } from './distribute.js';
|
|
12
|
+
import { claimWorker, finishWorker, failWorker, listPendingWorkerResults, claimWorkerReplay, markWorkerReplayed, releaseWorkerReplay, getActiveWorkers, cancelWorker, clearAllWorkers, } from './worker-registry.js';
|
|
13
|
+
import { messageQueue } from '../agent/spawn.js';
|
|
10
14
|
import { getState, getPrefix, resetState, setState, getStatePrompt, getCtx, } from './state-machine.js';
|
|
11
15
|
import { dispatchResearchTask, injectResearchIntoPlanningPrompt, shouldRunResearch, } from './research.js';
|
|
12
16
|
import { buildTaskSnapshot, getMemoryStatus } from '../memory/runtime.js';
|
|
13
17
|
// ─── Parser re-exports ─────────────────────────────
|
|
14
|
-
import { isContinueIntent, isResetIntent, isApproveIntent,
|
|
15
|
-
export { isContinueIntent, isResetIntent, isApproveIntent,
|
|
16
|
-
const PABCD_ACTIVATE_PATTERNS = [
|
|
17
|
-
/^\/?orchestrate$/i,
|
|
18
|
-
/^\/?pabcd$/i,
|
|
19
|
-
/^지휘\s*모드$/i,
|
|
20
|
-
/^오케스트레이션(?:\s*모드)?$/i,
|
|
21
|
-
/^orchestration(?:\s*mode)?$/i,
|
|
22
|
-
];
|
|
23
|
-
const AUTO_APPROVE_NEXT = {
|
|
24
|
-
P: 'A',
|
|
25
|
-
A: 'B',
|
|
26
|
-
B: 'C',
|
|
27
|
-
};
|
|
28
|
-
function isPabcdActivationPrompt(text) {
|
|
29
|
-
const t = String(text || '').trim();
|
|
30
|
-
if (!t)
|
|
31
|
-
return false;
|
|
32
|
-
return PABCD_ACTIVATE_PATTERNS.some(re => re.test(t));
|
|
33
|
-
}
|
|
18
|
+
import { isContinueIntent, isResetIntent, isApproveIntent, parseSubtasks, parseDirectAnswer, stripSubtaskJSON, } from './parser.js';
|
|
19
|
+
export { isContinueIntent, isResetIntent, isApproveIntent, parseSubtasks, parseDirectAnswer, stripSubtaskJSON, };
|
|
34
20
|
function pickPlanningTask(userText, _prompt, ctx) {
|
|
35
21
|
const ctxPrompt = String(ctx?.originalPrompt || '').trim();
|
|
36
|
-
if (ctxPrompt
|
|
22
|
+
if (ctxPrompt)
|
|
37
23
|
return ctxPrompt;
|
|
38
24
|
const userPrompt = String(userText || '').trim();
|
|
39
|
-
if (userPrompt
|
|
25
|
+
if (userPrompt)
|
|
40
26
|
return userPrompt;
|
|
41
27
|
return '';
|
|
42
28
|
}
|
|
43
|
-
function shouldAutoActivatePABCD(prompt, meta) {
|
|
44
|
-
const t = String(prompt || '').trim();
|
|
45
|
-
if (!t)
|
|
46
|
-
return false;
|
|
47
|
-
if (meta._workerResult || meta._skipAutoP)
|
|
48
|
-
return false;
|
|
49
|
-
// Only activate via explicit trigger words — NOT auto for every complex message.
|
|
50
|
-
return PABCD_ACTIVATE_PATTERNS.some(re => re.test(t));
|
|
51
|
-
}
|
|
52
29
|
// ─── orchestrate (PABCD sole entry point) ───────────
|
|
53
30
|
export async function orchestrate(prompt, meta = {}) {
|
|
54
31
|
const origin = meta.origin || 'web';
|
|
55
32
|
const chatId = meta.chatId;
|
|
33
|
+
const target = meta.target;
|
|
34
|
+
const requestId = meta.requestId;
|
|
56
35
|
const userText = String(prompt || '').trim();
|
|
36
|
+
// --- drain pending worker results before normal processing ---
|
|
37
|
+
if (!meta._skipReplayDrain) {
|
|
38
|
+
const pendingResults = listPendingWorkerResults();
|
|
39
|
+
for (const pr of pendingResults) {
|
|
40
|
+
if (!claimWorkerReplay(pr.agentId))
|
|
41
|
+
continue;
|
|
42
|
+
try {
|
|
43
|
+
await orchestrate(pr.text, { ...meta, _workerResult: true, _skipInsert: true, _skipReplayDrain: true });
|
|
44
|
+
markWorkerReplayed(pr.agentId);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
releaseWorkerReplay(pr.agentId);
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
57
52
|
const runSpawnAgent = typeof meta._spawnAgent === 'function'
|
|
58
53
|
? meta._spawnAgent
|
|
59
54
|
: spawnAgent;
|
|
@@ -66,37 +61,14 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
66
61
|
if (!meta._skipClear && state === 'IDLE') {
|
|
67
62
|
clearAllEmployeeSessions.run();
|
|
68
63
|
}
|
|
69
|
-
//
|
|
70
|
-
|
|
71
|
-
setState('P', {
|
|
72
|
-
originalPrompt: userText || prompt,
|
|
73
|
-
plan: null,
|
|
74
|
-
workerResults: [],
|
|
75
|
-
origin,
|
|
76
|
-
chatId,
|
|
77
|
-
});
|
|
78
|
-
state = 'P';
|
|
79
|
-
prompt = `${getStatePrompt('P')}\n\nUser request:\n${userText || prompt}`;
|
|
80
|
-
skipPrefix = true;
|
|
81
|
-
console.log('[jaw:pabcd] auto-transition IDLE -> P');
|
|
82
|
-
}
|
|
83
|
-
// Auto-advance by explicit approval intent (no shell command dependency).
|
|
84
|
-
if (state !== 'IDLE' && !meta._workerResult && isApproveIntent(userText)) {
|
|
85
|
-
const next = AUTO_APPROVE_NEXT[state];
|
|
86
|
-
if (next) {
|
|
87
|
-
const prev = state;
|
|
88
|
-
setState(next);
|
|
89
|
-
state = next;
|
|
90
|
-
prompt = `${getStatePrompt(next)}\n\nUser approval:\n${userText}`;
|
|
91
|
-
skipPrefix = true;
|
|
92
|
-
console.log(`[jaw:pabcd] auto-transition ${prev} -> ${next} (approve intent)`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
64
|
+
// PABCD entry is explicit only — via `/orchestrate`, `/pabcd`, or LLM tool call.
|
|
65
|
+
// Auto-entry and auto-advance removed per user request.
|
|
95
66
|
clearPromptCache();
|
|
96
67
|
let ctx = getCtx();
|
|
97
68
|
const planningTask = pickPlanningTask(userText, prompt, ctx);
|
|
98
69
|
const isInitialPlanningTurn = state === 'P'
|
|
99
70
|
&& !meta._workerResult
|
|
71
|
+
&& !meta._skipPrefix
|
|
100
72
|
&& !ctx?.plan
|
|
101
73
|
&& !!planningTask;
|
|
102
74
|
if (isInitialPlanningTurn) {
|
|
@@ -105,12 +77,14 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
105
77
|
const nextCtx = {
|
|
106
78
|
...(ctx || {
|
|
107
79
|
originalPrompt: '',
|
|
80
|
+
workingDir: settings.workingDir || null,
|
|
108
81
|
plan: null,
|
|
109
82
|
workerResults: [],
|
|
110
83
|
origin,
|
|
111
84
|
chatId,
|
|
112
85
|
}),
|
|
113
86
|
originalPrompt: planningTask,
|
|
87
|
+
workingDir: settings.workingDir || null,
|
|
114
88
|
origin,
|
|
115
89
|
chatId,
|
|
116
90
|
};
|
|
@@ -155,10 +129,13 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
155
129
|
if (state === 'P' && !meta._workerResult) {
|
|
156
130
|
const savedCtx = getCtx();
|
|
157
131
|
if (savedCtx) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
132
|
+
const newPlan = stripSubtaskJSON(result.text) || result.text || savedCtx.plan;
|
|
133
|
+
if (newPlan) {
|
|
134
|
+
setState('P', {
|
|
135
|
+
...savedCtx,
|
|
136
|
+
plan: newPlan,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
162
139
|
}
|
|
163
140
|
}
|
|
164
141
|
// Worker JSON detected → spawn workers → feed results back
|
|
@@ -182,21 +159,41 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
182
159
|
const workerPhase = /^research$/i.test(wt.agent || '') ? 1 : defaultPhase;
|
|
183
160
|
// Force fresh session for PABCD workers (prevent context contamination)
|
|
184
161
|
upsertEmployeeSession.run(emp.id, null, emp.cli);
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
162
|
+
claimWorker(emp, wt.task);
|
|
163
|
+
let wResult;
|
|
164
|
+
try {
|
|
165
|
+
wResult = await runSingleAgent({
|
|
166
|
+
...wt,
|
|
167
|
+
phaseProfile: [workerPhase],
|
|
168
|
+
currentPhaseIdx: 0,
|
|
169
|
+
currentPhase: workerPhase,
|
|
170
|
+
completed: false,
|
|
171
|
+
history: [],
|
|
172
|
+
}, emp, { path: '' }, 1, { origin }, []);
|
|
173
|
+
finishWorker(emp.id, wResult.text || '');
|
|
174
|
+
}
|
|
175
|
+
catch (err) {
|
|
176
|
+
failWorker(emp.id, err.message || String(err));
|
|
177
|
+
throw err;
|
|
178
|
+
}
|
|
193
179
|
anyWorkerRan = true;
|
|
194
|
-
//
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
180
|
+
// Inject the worker result exactly once through the replay contract.
|
|
181
|
+
// This keeps durable handoff semantics while avoiding duplicate boss processing.
|
|
182
|
+
if (claimWorkerReplay(emp.id)) {
|
|
183
|
+
try {
|
|
184
|
+
await orchestrate(wResult.text, {
|
|
185
|
+
...meta,
|
|
186
|
+
_skipClear: true,
|
|
187
|
+
_workerResult: true,
|
|
188
|
+
_skipReplayDrain: true,
|
|
189
|
+
});
|
|
190
|
+
markWorkerReplayed(emp.id);
|
|
191
|
+
}
|
|
192
|
+
catch (err) {
|
|
193
|
+
releaseWorkerReplay(emp.id);
|
|
194
|
+
throw err;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
200
197
|
}
|
|
201
198
|
// If no workers could be found, broadcast the original response
|
|
202
199
|
if (!anyWorkerRan) {
|
|
@@ -205,6 +202,8 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
205
202
|
text: `[Worker dispatch failed — no matching employees]\n${stripped || result.text || ''}`,
|
|
206
203
|
origin,
|
|
207
204
|
chatId,
|
|
205
|
+
target,
|
|
206
|
+
requestId,
|
|
208
207
|
});
|
|
209
208
|
}
|
|
210
209
|
return;
|
|
@@ -215,12 +214,16 @@ export async function orchestrate(prompt, meta = {}) {
|
|
|
215
214
|
text: stripped || result.text || '',
|
|
216
215
|
origin,
|
|
217
216
|
chatId,
|
|
217
|
+
target,
|
|
218
|
+
requestId,
|
|
218
219
|
});
|
|
219
220
|
}
|
|
220
221
|
// ─── Continue ───────────────────────────────────────
|
|
221
222
|
export async function orchestrateContinue(meta = {}) {
|
|
222
223
|
const origin = meta.origin || 'web';
|
|
223
224
|
const chatId = meta.chatId;
|
|
225
|
+
const target = meta.target;
|
|
226
|
+
const requestId = meta.requestId;
|
|
224
227
|
const state = getState();
|
|
225
228
|
// Active PABCD → resume from current state
|
|
226
229
|
if (state !== 'IDLE') {
|
|
@@ -239,6 +242,8 @@ export async function orchestrateContinue(meta = {}) {
|
|
|
239
242
|
text: 'No pending work to continue.',
|
|
240
243
|
origin,
|
|
241
244
|
chatId,
|
|
245
|
+
target,
|
|
246
|
+
requestId,
|
|
242
247
|
});
|
|
243
248
|
return;
|
|
244
249
|
}
|
|
@@ -248,7 +253,17 @@ export async function orchestrateContinue(meta = {}) {
|
|
|
248
253
|
export async function orchestrateReset(meta = {}) {
|
|
249
254
|
const origin = meta.origin || 'web';
|
|
250
255
|
const chatId = meta.chatId;
|
|
256
|
+
const target = meta.target;
|
|
257
|
+
const requestId = meta.requestId;
|
|
258
|
+
// --- cancel running workers and clear replay state on reset ---
|
|
259
|
+
for (const w of getActiveWorkers()) {
|
|
260
|
+
cancelWorker(w.agentId);
|
|
261
|
+
}
|
|
262
|
+
clearAllWorkers();
|
|
263
|
+
messageQueue.length = 0;
|
|
251
264
|
clearAllEmployeeSessions.run();
|
|
265
|
+
// Reset boss session ID (prevents stale --resume) but keep message history
|
|
266
|
+
clearBossSessionOnly();
|
|
252
267
|
resetState();
|
|
253
268
|
const latest = readLatestWorklog();
|
|
254
269
|
if (!latest) {
|
|
@@ -256,6 +271,8 @@ export async function orchestrateReset(meta = {}) {
|
|
|
256
271
|
text: 'Reset complete.',
|
|
257
272
|
origin,
|
|
258
273
|
chatId,
|
|
274
|
+
target,
|
|
275
|
+
requestId,
|
|
259
276
|
});
|
|
260
277
|
return;
|
|
261
278
|
}
|
|
@@ -265,6 +282,8 @@ export async function orchestrateReset(meta = {}) {
|
|
|
265
282
|
text: 'Reset complete.',
|
|
266
283
|
origin,
|
|
267
284
|
chatId,
|
|
285
|
+
target,
|
|
286
|
+
requestId,
|
|
268
287
|
});
|
|
269
288
|
}
|
|
270
289
|
//# sourceMappingURL=pipeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/orchestrator/pipeline.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,yCAAyC;AACzC,wDAAwD;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACY,YAAY,EAC3B,wBAAwB,EACxB,qBAAqB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACH,iBAAiB,EACjB,eAAe,EAAE,mBAAmB,GACvC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACH,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EACzD,MAAM,GAGT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,oBAAoB,EACpB,gCAAgC,EAChC,iBAAiB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1E,sDAAsD;AACtD,OAAO,EACH,gBAAgB,EAAE,aAAa,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../../../src/orchestrator/pipeline.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,yCAAyC;AACzC,wDAAwD;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EACY,YAAY,EAC3B,wBAAwB,EACxB,qBAAqB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAyB,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACH,iBAAiB,EACjB,eAAe,EAAE,mBAAmB,GACvC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACH,WAAW,EAAE,YAAY,EAAE,UAAU,EACrC,wBAAwB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,mBAAmB,EACpF,gBAAgB,EAAE,YAAY,EAAE,eAAe,GAClD,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACH,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EACzD,MAAM,GAGT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACH,oBAAoB,EACpB,gCAAgC,EAChC,iBAAiB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE1E,sDAAsD;AACtD,OAAO,EACH,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAChD,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,GACrD,MAAM,aAAa,CAAC;AACrB,OAAO,EACH,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAChD,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,GACrD,CAAC;AAIF,SAAS,gBAAgB,CAAC,QAAgB,EAAE,OAAe,EAAE,GAA+B;IACxF,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,OAAO,EAAE,CAAC;AACd,CAAC;AAED,uDAAuD;AAEvD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,MAAc,EACd,OAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAE7C,gEAAgE;IAChE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,wBAAwB,EAAE,CAAC;QAClD,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;YAC9B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC7C,IAAI,CAAC;gBACD,MAAM,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACxG,kBAAkB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACnC,CAAC;YAAC,MAAM,CAAC;gBACL,mBAAmB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;YACV,CAAC;QACL,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAmB,OAAO,IAAI,CAAC,WAAW,KAAK,UAAU;QACxE,CAAC,CAAC,IAAI,CAAC,WAAW;QAClB,CAAC,CAAC,UAAU,CAAC;IACjB,MAAM,mBAAmB,GAAG,OAAO,IAAI,CAAC,qBAAqB,KAAK,UAAU;QACxE,CAAC,CAAC,IAAI,CAAC,qBAAqB;QAC5B,CAAC,CAAC,oBAAoB,CAAC;IAC3B,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;IACvB,IAAI,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;IAEpC,2DAA2D;IAC3D,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACvC,wBAAwB,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,iFAAiF;IACjF,wDAAwD;IAExD,gBAAgB,EAAE,CAAC;IAEnB,IAAI,GAAG,GAAG,MAAM,EAAE,CAAC;IACnB,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7D,MAAM,qBAAqB,GAAG,KAAK,KAAK,GAAG;WACpC,CAAC,IAAI,CAAC,aAAa;WACnB,CAAC,IAAI,CAAC,WAAW;WACjB,CAAC,GAAG,EAAE,IAAI;WACV,CAAC,CAAC,YAAY,CAAC;IAEtB,IAAI,qBAAqB,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,sBAAsB,YAAY,EAAE,CAAC;QACpE,UAAU,GAAG,IAAI,CAAC;QAElB,MAAM,OAAO,GAAe;YACxB,GAAG,CAAC,GAAG,IAAI;gBACP,cAAc,EAAE,EAAE;gBAClB,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI;gBACvC,IAAI,EAAE,IAAI;gBACV,aAAa,EAAE,EAAE;gBACjB,MAAM;gBACN,MAAM;aACT,CAAC;YACF,cAAc,EAAE,YAAY;YAC5B,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,IAAI;YACvC,MAAM;YACN,MAAM;SACT,CAAC;QAEF,IAAI,iBAAiB,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,YAAY,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;YACrG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,GAAG,gCAAgC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;YAC9B,OAAO,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;QACpD,CAAC;QAED,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACvB,GAAG,GAAG,OAAO,CAAC;IAClB,CAAC;IAED,mBAAmB;IACnB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;IACtD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,MAA2B,CAAC,CAAC;IAC7D,IAAI,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACpC,CAAC;IAED,qBAAqB;IACrB,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,2BAA2B,CAAC,CAAC;IACnE,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAChE,cAAc,GAAG,iBAAiB,CAAC,QAAQ,IAAI,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,uBAAuB,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE;QACtC,MAAM;QACN,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;QAC/B,cAAc;KACjB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,OAA8B,CAAC;IAEpD,qEAAqE;IACrE,yDAAyD;IACzD,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEnB,IAAI,KAAK,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;QAC1B,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;YAC9E,IAAI,OAAO,EAAE,CAAC;gBACV,QAAQ,CAAC,GAAG,EAAE;oBACV,GAAG,QAAQ;oBACX,IAAI,EAAE,OAAO;iBAChB,CAAC,CAAC;YACP,CAAC;QACL,CAAC;IACL,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,cAAc,GAAG,WAAW,EAAE,MAAM,IAAI,WAAW,CAAC,KAAK,CAC3D,CAAC,EAAuB,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAClE,CAAC;IACF,IAAI,WAAW,EAAE,MAAM,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,cAAc,CAAC,EAAE,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,qCAAqC,WAAW,CAAC,MAAM,oBAAoB,CAAC,CAAC,cAAc,GAAG,CAAC,CAAC;QAE5G,yCAAyC;QACzC,MAAM,eAAe,GAA2B,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,YAAY,CACpB,YAAY,CAAC,GAAG,EAA2B,EAC3C,EAAE,CACL,CAAC;YACF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1D,SAAS;YACb,CAAC;YACD,gDAAgD;YAChD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YAE1E,wEAAwE;YACxE,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YAEjD,WAAW,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACD,OAAO,GAAG,MAAM,cAAc,CAC1B;oBACI,GAAG,EAAE;oBACL,YAAY,EAAE,CAAC,WAAW,CAAC;oBAC3B,eAAe,EAAE,CAAC;oBAClB,YAAY,EAAE,WAAW;oBACzB,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,EAAE;iBACd,EACD,GAAG,EACH,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,CAAC,EACD,EAAE,MAAM,EAAE,EACV,EAAE,CACL,CAAC;gBACF,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,UAAU,CAAC,GAAG,CAAC,EAAE,EAAG,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,MAAM,GAAG,CAAC;YACd,CAAC;YACD,YAAY,GAAG,IAAI,CAAC;YACpB,qEAAqE;YACrE,iFAAiF;YACjF,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC;oBACD,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE;wBAC5B,GAAG,IAAI;wBACP,UAAU,EAAE,IAAI;wBAChB,aAAa,EAAE,IAAI;wBACnB,gBAAgB,EAAE,IAAI;qBACzB,CAAC,CAAC;oBACH,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC5B,MAAM,GAAG,CAAC;gBACd,CAAC;YACL,CAAC;QACL,CAAC;QACD,gEAAgE;QAChE,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,SAAS,CAAC,kBAAkB,EAAE;gBAC1B,IAAI,EAAE,qDAAqD,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;gBAC1F,MAAM;gBACN,MAAM;gBACN,MAAM;gBACN,SAAS;aACZ,CAAC,CAAC;QACP,CAAC;QACD,OAAO;IACX,CAAC;IAED,8BAA8B;IAC9B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,SAAS,CAAC,kBAAkB,EAAE;QAC1B,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE;QACnC,MAAM;QACN,MAAM;QACN,MAAM;QACN,SAAS;KACZ,CAAC,CAAC;AACP,CAAC;AAED,uDAAuD;AAEvD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,OAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,2CAA2C;IAC3C,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QACtD,OAAO,WAAW,CAAC,0CAA0C,EAAE;YAC3D,GAAG,IAAI;YACP,UAAU,EAAE,IAAI;SACnB,CAAC,CAAC;IACP,CAAC;IAED,mDAAmD;IACnD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IACI,CAAC,MAAM;QACP,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,EAC1C,CAAC;QACC,SAAS,CAAC,kBAAkB,EAAE;YAC1B,IAAI,EAAE,8BAA8B;YACpC,MAAM;YACN,MAAM;YACN,MAAM;YACN,SAAS;SACZ,CAAC,CAAC;QACH,OAAO;IACX,CAAC;IAED,OAAO,WAAW,CACd,0EAA0E,MAAM,CAAC,IAAI,EAAE,EACvF,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAChC,CAAC;AACN,CAAC;AAED,uDAAuD;AAEvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,OAA4B,EAAE;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,iEAAiE;IACjE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACjC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IACD,eAAe,EAAE,CAAC;IAClB,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAExB,wBAAwB,CAAC,GAAG,EAAE,CAAC;IAC/B,2EAA2E;IAC3E,oBAAoB,EAAE,CAAC;IACvB,UAAU,EAAE,CAAC;IACb,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,SAAS,CAAC,kBAAkB,EAAE;YAC1B,IAAI,EAAE,iBAAiB;YACvB,MAAM;YACN,MAAM;YACN,MAAM;YACN,SAAS;SACZ,CAAC,CAAC;QACH,OAAO;IACX,CAAC;IACD,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAC7C,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;IACxE,SAAS,CAAC,kBAAkB,EAAE;QAC1B,IAAI,EAAE,iBAAiB;QACvB,MAAM;QACN,MAAM;QACN,MAAM;QACN,SAAS;KACZ,CAAC,CAAC;AACP,CAAC"}
|