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
package/public/js/ws.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
// ── WebSocket Connection ──
|
|
2
2
|
import { state } from './state.js';
|
|
3
|
-
import { setStatus, updateQueueBadge, addSystemMsg, appendAgentText, finalizeAgent, addMessage } from './ui.js';
|
|
3
|
+
import { setStatus, updateQueueBadge, addSystemMsg, appendAgentText, finalizeAgent, addMessage, showProcessStep, cleanupToolActivity } from './ui.js';
|
|
4
4
|
import { t, getLang } from './features/i18n.js';
|
|
5
|
+
import { getVirtualScroll } from './virtual-scroll.js';
|
|
5
6
|
import type { OrcStateName } from './state.js';
|
|
6
7
|
|
|
7
8
|
const ROADMAP_PHASES = ['P', 'A', 'B', 'C'] as const;
|
|
@@ -48,8 +49,11 @@ interface WsMessage {
|
|
|
48
49
|
action?: string;
|
|
49
50
|
icon?: string;
|
|
50
51
|
label?: string;
|
|
52
|
+
toolType?: string;
|
|
53
|
+
detail?: string;
|
|
54
|
+
stepRef?: string;
|
|
51
55
|
text?: string;
|
|
52
|
-
toolLog?: { icon: string; label: string }[];
|
|
56
|
+
toolLog?: { icon: string; label: string; detail?: string; toolType?: string; stepRef?: string }[];
|
|
53
57
|
from?: string;
|
|
54
58
|
to?: string;
|
|
55
59
|
source?: string;
|
|
@@ -64,10 +68,138 @@ interface WsMessage {
|
|
|
64
68
|
// Agent phase state (populated by agent_status events from orchestrator)
|
|
65
69
|
const agentPhaseState: Record<string, { phase: string; phaseLabel: string }> = {};
|
|
66
70
|
|
|
71
|
+
/** Hydrate agent phase cache from snapshot (used after reconnect) */
|
|
72
|
+
export function hydrateAgentPhases(workers: Array<{
|
|
73
|
+
agentId: string;
|
|
74
|
+
state: string;
|
|
75
|
+
phase?: string;
|
|
76
|
+
phaseLabel?: string;
|
|
77
|
+
}>) {
|
|
78
|
+
for (const key of Object.keys(agentPhaseState)) {
|
|
79
|
+
delete agentPhaseState[key];
|
|
80
|
+
}
|
|
81
|
+
for (const w of workers) {
|
|
82
|
+
if (w.state === 'running' && w.phase) {
|
|
83
|
+
agentPhaseState[w.agentId] = {
|
|
84
|
+
phase: w.phase,
|
|
85
|
+
phaseLabel: w.phaseLabel || '',
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** Apply orchestration state to UI (shared by WS events and reconnect snapshot) */
|
|
92
|
+
function applyOrcState(orcState: string, title?: string) {
|
|
93
|
+
const allowed = new Set<OrcStateName>(['IDLE', 'P', 'A', 'B', 'C', 'D']);
|
|
94
|
+
const nextState = allowed.has(orcState as OrcStateName) ? (orcState as OrcStateName) : 'IDLE';
|
|
95
|
+
state.orcState = nextState;
|
|
96
|
+
|
|
97
|
+
if (nextState === 'IDLE' || nextState === 'D') {
|
|
98
|
+
document.body.removeAttribute('data-orc-state');
|
|
99
|
+
document.body.style.removeProperty('--orc-glow');
|
|
100
|
+
} else {
|
|
101
|
+
document.body.setAttribute('data-orc-state', nextState);
|
|
102
|
+
const glowVar = `--orc-glow-${nextState}`;
|
|
103
|
+
const glow = getComputedStyle(document.documentElement).getPropertyValue(glowVar).trim();
|
|
104
|
+
document.body.style.setProperty('--orc-glow', glow);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
document.body.classList.add('orc-pulse');
|
|
108
|
+
setTimeout(() => document.body.classList.remove('orc-pulse'), 700);
|
|
109
|
+
|
|
110
|
+
const badge = document.getElementById('orcStateBadge');
|
|
111
|
+
if (badge) {
|
|
112
|
+
const labels: Record<OrcStateName, string> = {
|
|
113
|
+
IDLE: '', P: 'PLAN', A: 'AUDIT', B: 'BUILD', C: 'CHECK', D: 'DONE',
|
|
114
|
+
};
|
|
115
|
+
badge.textContent = labels[nextState];
|
|
116
|
+
badge.style.display = nextState === 'IDLE' ? 'none' : 'inline-block';
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
// ─── Roadmap Bar ───
|
|
120
|
+
const roadmap = document.getElementById('pabcRoadmap');
|
|
121
|
+
const shark = document.getElementById('sharkRunner');
|
|
122
|
+
const brand = document.getElementById('pabcBrand');
|
|
123
|
+
|
|
124
|
+
if (roadmap && shark) {
|
|
125
|
+
if (!roadmap.dataset.resizeObserved) {
|
|
126
|
+
roadmap.dataset.resizeObserved = '1';
|
|
127
|
+
new ResizeObserver(() => {
|
|
128
|
+
if (currentSharkPhase && shark.classList.contains('running')) {
|
|
129
|
+
positionShark(roadmap, shark, currentSharkPhase);
|
|
130
|
+
}
|
|
131
|
+
}).observe(roadmap);
|
|
132
|
+
let rafId = 0;
|
|
133
|
+
window.addEventListener('resize', () => {
|
|
134
|
+
cancelAnimationFrame(rafId);
|
|
135
|
+
rafId = requestAnimationFrame(() => {
|
|
136
|
+
if (currentSharkPhase && shark.classList.contains('running')) {
|
|
137
|
+
positionShark(roadmap, shark, currentSharkPhase);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if (nextState === 'IDLE') {
|
|
144
|
+
roadmap.classList.remove('visible', 'shimmer-out');
|
|
145
|
+
shark.classList.remove('running');
|
|
146
|
+
currentSharkPhase = null;
|
|
147
|
+
} else if (nextState === 'D') {
|
|
148
|
+
ROADMAP_PHASES.forEach(p => {
|
|
149
|
+
const dot = document.getElementById(`dot-${p}`);
|
|
150
|
+
if (dot) { dot.className = 'pabc-dot done'; dot.setAttribute('data-phase', p); }
|
|
151
|
+
});
|
|
152
|
+
for (let i = 0; i < 4; i++) {
|
|
153
|
+
const c = document.getElementById(`pabc-conn-${i}`);
|
|
154
|
+
if (c) c.className = 'pabc-connector done';
|
|
155
|
+
}
|
|
156
|
+
shark.classList.remove('running');
|
|
157
|
+
currentSharkPhase = null;
|
|
158
|
+
roadmap.classList.add('shimmer-out');
|
|
159
|
+
setTimeout(() => roadmap.classList.remove('visible', 'shimmer-out'), 1000);
|
|
160
|
+
} else {
|
|
161
|
+
roadmap.classList.remove('shimmer-out');
|
|
162
|
+
roadmap.classList.add('visible');
|
|
163
|
+
shark.classList.add('running');
|
|
164
|
+
|
|
165
|
+
const idx = ROADMAP_PHASES.indexOf(nextState as typeof ROADMAP_PHASES[number]);
|
|
166
|
+
ROADMAP_PHASES.forEach((p, pi) => {
|
|
167
|
+
const dot = document.getElementById(`dot-${p}`);
|
|
168
|
+
if (dot) {
|
|
169
|
+
dot.className = `pabc-dot ${pi < idx ? 'done' : pi === idx ? 'active' : 'future'}`;
|
|
170
|
+
dot.setAttribute('data-phase', p);
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
for (let i = 0; i < 4; i++) {
|
|
174
|
+
const c = document.getElementById(`pabc-conn-${i}`);
|
|
175
|
+
if (c) c.className = `pabc-connector ${i < idx ? 'done' : ''}`;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
currentSharkPhase = nextState;
|
|
179
|
+
requestAnimationFrame(() => positionShark(roadmap, shark, nextState));
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
if (brand && title) {
|
|
183
|
+
brand.textContent = title;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
|
|
67
188
|
export function connect(): void {
|
|
68
|
-
|
|
189
|
+
const wsBase = import.meta.env?.DEV ? 'ws://localhost:3458' : `ws://${location.host}`;
|
|
190
|
+
state.ws = new WebSocket(`${wsBase}?lang=${getLang()}`);
|
|
69
191
|
state.ws.onmessage = (e: MessageEvent) => {
|
|
70
|
-
|
|
192
|
+
let msg: WsMessage;
|
|
193
|
+
try {
|
|
194
|
+
msg = JSON.parse(e.data as string);
|
|
195
|
+
} catch {
|
|
196
|
+
console.warn('[ws] malformed message:', e.data);
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
if (!msg || typeof msg !== 'object' || typeof msg.type !== 'string') {
|
|
200
|
+
console.warn('[ws] invalid message shape:', msg);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
71
203
|
if (msg.type === 'agent_status') {
|
|
72
204
|
if (msg.running !== undefined) {
|
|
73
205
|
setStatus(msg.running ? 'running' : 'idle');
|
|
@@ -96,143 +228,74 @@ export function connect(): void {
|
|
|
96
228
|
addSystemMsg(t('ws.roundRetry', { round: msg.round || 0 }));
|
|
97
229
|
}
|
|
98
230
|
} else if (msg.type === 'agent_tool') {
|
|
99
|
-
|
|
231
|
+
const stepType = msg.toolType === 'thinking' ? 'thinking'
|
|
232
|
+
: msg.toolType === 'search' ? 'search' : 'tool';
|
|
233
|
+
showProcessStep({
|
|
234
|
+
id: `step-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`,
|
|
235
|
+
type: stepType,
|
|
236
|
+
icon: msg.icon || '🔧',
|
|
237
|
+
label: msg.label || '',
|
|
238
|
+
detail: msg.detail || '',
|
|
239
|
+
stepRef: msg.stepRef || '',
|
|
240
|
+
status: 'running',
|
|
241
|
+
startTime: Date.now(),
|
|
242
|
+
});
|
|
100
243
|
} else if (msg.type === 'agent_output') {
|
|
101
244
|
appendAgentText(msg.text || '');
|
|
102
245
|
} else if (msg.type === 'agent_retry') {
|
|
103
246
|
addSystemMsg(t('ws.retry', { cli: msg.cli || '', delay: msg.delay || 10 }), 'tool-activity');
|
|
104
247
|
} else if (msg.type === 'agent_fallback') {
|
|
105
248
|
addSystemMsg(t('ws.fallback', { from: msg.from || '', to: msg.to || '' }), 'tool-activity');
|
|
249
|
+
} else if (msg.type === 'agent_smoke') {
|
|
250
|
+
addSystemMsg(`⚠️ ${msg.cli || 'agent'}: smoke response detected — auto-continuing`, 'tool-activity');
|
|
106
251
|
} else if (msg.type === 'agent_done') {
|
|
107
252
|
finalizeAgent(msg.text || '', msg.toolLog);
|
|
108
253
|
} else if (msg.type === 'orchestrate_done') {
|
|
109
254
|
finalizeAgent(msg.text || '');
|
|
110
255
|
} else if (msg.type === 'clear') {
|
|
256
|
+
cleanupToolActivity();
|
|
257
|
+
getVirtualScroll().clear();
|
|
111
258
|
const el = document.getElementById('chatMessages');
|
|
112
259
|
if (el) el.innerHTML = '';
|
|
260
|
+
} else if (msg.type === 'session_reset') {
|
|
261
|
+
addSystemMsg('🔄 Session reset — history preserved', 'tool-activity');
|
|
113
262
|
} else if (msg.type === 'agent_added' || msg.type === 'agent_updated' || msg.type === 'agent_deleted') {
|
|
114
263
|
import('./features/employees.js').then(m => m.loadEmployees());
|
|
115
264
|
} else if (msg.type === 'orc_state') {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
const nextState = allowed.has(rawState as OrcStateName) ? (rawState as OrcStateName) : 'IDLE';
|
|
119
|
-
state.orcState = nextState;
|
|
120
|
-
|
|
121
|
-
if (nextState === 'IDLE' || nextState === 'D') {
|
|
122
|
-
document.body.removeAttribute('data-orc-state');
|
|
123
|
-
document.body.style.removeProperty('--orc-glow');
|
|
124
|
-
} else {
|
|
125
|
-
document.body.setAttribute('data-orc-state', nextState);
|
|
126
|
-
const glowVar = `--orc-glow-${nextState}`;
|
|
127
|
-
const glow = getComputedStyle(document.documentElement).getPropertyValue(glowVar).trim();
|
|
128
|
-
document.body.style.setProperty('--orc-glow', glow);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
document.body.classList.add('orc-pulse');
|
|
132
|
-
setTimeout(() => document.body.classList.remove('orc-pulse'), 700);
|
|
133
|
-
|
|
134
|
-
const badge = document.getElementById('orcStateBadge');
|
|
135
|
-
if (badge) {
|
|
136
|
-
const labels: Record<OrcStateName, string> = {
|
|
137
|
-
IDLE: '',
|
|
138
|
-
P: 'PLAN',
|
|
139
|
-
A: 'AUDIT',
|
|
140
|
-
B: 'BUILD',
|
|
141
|
-
C: 'CHECK',
|
|
142
|
-
D: 'DONE',
|
|
143
|
-
};
|
|
144
|
-
badge.textContent = labels[nextState];
|
|
145
|
-
badge.style.display = nextState === 'IDLE' ? 'none' : 'inline-block';
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// ─── Roadmap Bar ───
|
|
149
|
-
const roadmap = document.getElementById('pabcRoadmap');
|
|
150
|
-
const shark = document.getElementById('sharkRunner');
|
|
151
|
-
const brand = document.getElementById('pabcBrand');
|
|
152
|
-
|
|
153
|
-
if (roadmap && shark) {
|
|
154
|
-
// ResizeObserver: reposition shark when bar width changes
|
|
155
|
-
if (!roadmap.dataset.resizeObserved) {
|
|
156
|
-
roadmap.dataset.resizeObserved = '1';
|
|
157
|
-
new ResizeObserver(() => {
|
|
158
|
-
if (currentSharkPhase && shark.classList.contains('running')) {
|
|
159
|
-
positionShark(roadmap, shark, currentSharkPhase);
|
|
160
|
-
}
|
|
161
|
-
}).observe(roadmap);
|
|
162
|
-
let rafId = 0;
|
|
163
|
-
window.addEventListener('resize', () => {
|
|
164
|
-
cancelAnimationFrame(rafId);
|
|
165
|
-
rafId = requestAnimationFrame(() => {
|
|
166
|
-
if (currentSharkPhase && shark.classList.contains('running')) {
|
|
167
|
-
positionShark(roadmap, shark, currentSharkPhase);
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
if (nextState === 'IDLE') {
|
|
174
|
-
roadmap.classList.remove('visible', 'shimmer-out');
|
|
175
|
-
shark.classList.remove('running');
|
|
176
|
-
currentSharkPhase = null;
|
|
177
|
-
} else if (nextState === 'D') {
|
|
178
|
-
// All dots done + shimmer out
|
|
179
|
-
ROADMAP_PHASES.forEach(p => {
|
|
180
|
-
const dot = document.getElementById(`dot-${p}`);
|
|
181
|
-
if (dot) { dot.className = 'pabc-dot done'; dot.setAttribute('data-phase', p); }
|
|
182
|
-
});
|
|
183
|
-
for (let i = 0; i < 4; i++) {
|
|
184
|
-
const c = document.getElementById(`pabc-conn-${i}`);
|
|
185
|
-
if (c) c.className = 'pabc-connector done';
|
|
186
|
-
}
|
|
187
|
-
shark.classList.remove('running');
|
|
188
|
-
currentSharkPhase = null;
|
|
189
|
-
roadmap.classList.add('shimmer-out');
|
|
190
|
-
setTimeout(() => roadmap.classList.remove('visible', 'shimmer-out'), 1000);
|
|
191
|
-
} else {
|
|
192
|
-
roadmap.classList.remove('shimmer-out');
|
|
193
|
-
roadmap.classList.add('visible');
|
|
194
|
-
shark.classList.add('running');
|
|
195
|
-
|
|
196
|
-
// Update dots & connectors
|
|
197
|
-
const idx = ROADMAP_PHASES.indexOf(nextState as typeof ROADMAP_PHASES[number]);
|
|
198
|
-
ROADMAP_PHASES.forEach((p, pi) => {
|
|
199
|
-
const dot = document.getElementById(`dot-${p}`);
|
|
200
|
-
if (dot) {
|
|
201
|
-
dot.className = `pabc-dot ${pi < idx ? 'done' : pi === idx ? 'active' : 'future'}`;
|
|
202
|
-
dot.setAttribute('data-phase', p);
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
for (let i = 0; i < 4; i++) {
|
|
206
|
-
const c = document.getElementById(`pabc-conn-${i}`);
|
|
207
|
-
if (c) c.className = `pabc-connector ${i < idx ? 'done' : ''}`;
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
currentSharkPhase = nextState;
|
|
211
|
-
requestAnimationFrame(() => positionShark(roadmap, shark, nextState));
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
// Update brand text with worklog title
|
|
215
|
-
if (brand && msg.title) {
|
|
216
|
-
brand.textContent = msg.title;
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
} else if (msg.type === 'new_message' && msg.source === 'telegram') {
|
|
265
|
+
applyOrcState(typeof msg.state === 'string' ? msg.state : 'IDLE', msg.title);
|
|
266
|
+
} else if (msg.type === 'new_message' && (msg.source === 'telegram' || msg.source === 'discord')) {
|
|
220
267
|
addMessage(msg.role === 'assistant' ? 'agent' : (msg.role || 'user'), msg.content || '');
|
|
221
268
|
}
|
|
222
269
|
};
|
|
223
270
|
state.ws.onopen = () => {
|
|
224
271
|
console.log('[ws] connected');
|
|
225
|
-
//
|
|
272
|
+
// Reload messages — loadMessages() handles DOM clearing internally
|
|
273
|
+
// (only clears after successful fetch to prevent blank screen)
|
|
226
274
|
import('./ui.js').then(m => {
|
|
227
|
-
|
|
228
|
-
if (el) el.innerHTML = '';
|
|
275
|
+
m.cleanupToolActivity();
|
|
229
276
|
m.loadMessages();
|
|
230
277
|
m.setStatus('idle');
|
|
231
278
|
});
|
|
279
|
+
|
|
280
|
+
// Reconnect: restore orchestration state
|
|
281
|
+
fetch('/api/orchestrate/snapshot')
|
|
282
|
+
.then(r => r.json())
|
|
283
|
+
.then((snap: any) => {
|
|
284
|
+
applyOrcState(snap.orc.state);
|
|
285
|
+
hydrateAgentPhases(snap.workers);
|
|
286
|
+
updateQueueBadge(snap.runtime.queuePending);
|
|
287
|
+
setStatus(snap.runtime.busy ? 'running' : 'idle');
|
|
288
|
+
import('./features/employees.js').then(m => {
|
|
289
|
+
if (typeof m.renderEmployees === 'function') m.renderEmployees();
|
|
290
|
+
});
|
|
291
|
+
})
|
|
292
|
+
.catch(() => { /* snapshot not critical — UI recovers on next WS event */ });
|
|
232
293
|
};
|
|
233
294
|
state.ws.onclose = () => {
|
|
234
295
|
console.log('[ws] disconnected, reconnecting in 2s...');
|
|
296
|
+
import('./ui.js').then(m => m.cleanupToolActivity());
|
|
235
297
|
setStatus('idle');
|
|
298
|
+
addSystemMsg('⚡ 연결 끊김 — 재연결 중...', 'tool-activity');
|
|
236
299
|
setTimeout(connect, 2000);
|
|
237
300
|
};
|
|
238
301
|
}
|
package/public/locales/en.json
CHANGED
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"cmd.quit.desc": "Quit process",
|
|
19
19
|
"cmd.file.desc": "Attach file",
|
|
20
20
|
"cmd.steer.desc": "Interrupt agent and redirect",
|
|
21
|
+
"cmd.compact.desc": "Compact conversation context",
|
|
22
|
+
"cmd.compact.tg_desc": "Compact conversation context",
|
|
21
23
|
"cmd.help.tg_desc": "Show available commands",
|
|
22
24
|
"cmd.status.tg_desc": "Check model, CLI & session status",
|
|
23
25
|
"cmd.clear.tg_desc": "Reset conversation (keep data)",
|
|
@@ -52,6 +54,7 @@
|
|
|
52
54
|
"cmd.employee.resetUnavailable": "❌ /employee reset is not available in this environment.",
|
|
53
55
|
"cmd.employee.resetDone": "✅ Employees reset to defaults ({count} agents)",
|
|
54
56
|
"cmd.clear.telegram": "ℹ️ /clear only shows a notice on Telegram (no screen clearing).",
|
|
57
|
+
"cmd.clear.discord": "ℹ️ /clear only shows a notice on Discord (no screen clearing).",
|
|
55
58
|
"cmd.clear.done": "✅ Screen cleared. (Chat history preserved)",
|
|
56
59
|
"cmd.reset.confirm": "⚠️ Full reset: MCP, skills, employees, and session will be reset to defaults.\nType /reset confirm to proceed.",
|
|
57
60
|
"cmd.reset.unavailable": "❌ Reset is not supported in this environment.",
|
|
@@ -89,6 +92,7 @@
|
|
|
89
92
|
"ws.fallback": "⚡ {from} failed → retrying with {to}",
|
|
90
93
|
"ws.retry": "⏳ {cli} 429 → retrying in {delay}s",
|
|
91
94
|
"tg.settingsUnsupported": "❌ Settings changes are not supported on Telegram.",
|
|
95
|
+
"dc.settingsUnsupported": "❌ Settings changes are not supported on Discord.",
|
|
92
96
|
"tg.promptUnsupported": "(Not supported on Telegram)",
|
|
93
97
|
"tg.queued": "📥 Added to queue (#{count})",
|
|
94
98
|
"tg.imageCaption": "[📷 Image] {caption}",
|
|
@@ -130,6 +134,7 @@
|
|
|
130
134
|
"cli.fileSentPrompt": "[User sent a file: {path}]\nPlease read and analyze this file.",
|
|
131
135
|
"cli.fileSentWithMsg": "\n\nUser message: {text}",
|
|
132
136
|
"cli.fallbackRetry": "{from} failed → retrying with {to}",
|
|
137
|
+
"cli.noReadyCli": "No authenticated CLI available — install and authenticate at least one CLI above to get started.",
|
|
133
138
|
"chat.cmd.fail": "❌ Command execution failed: {msg}",
|
|
134
139
|
"chat.file.sent": "[User sent a file: {path}]\nPlease read and analyze this file.",
|
|
135
140
|
"chat.file.sentWithMsg": "\n\nUser message: {text}",
|
|
@@ -245,7 +250,7 @@
|
|
|
245
250
|
"code.copied": "Copied ✓",
|
|
246
251
|
"mcp.noServers": "(no servers configured)",
|
|
247
252
|
"mermaid.renderFail": "Mermaid render failed",
|
|
248
|
-
"orchestrator.dispatching": "
|
|
253
|
+
"orchestrator.dispatching": "Processing…",
|
|
249
254
|
"cmd.ide.desc": "IDE diff view",
|
|
250
255
|
"cmd.ide.toggled": "IDE diff mode toggled",
|
|
251
256
|
"cmd.ide.popToggled": "IDE popup toggled",
|
package/public/locales/ko.json
CHANGED
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
"cmd.quit.desc": "프로세스 종료",
|
|
19
19
|
"cmd.file.desc": "파일 첨부",
|
|
20
20
|
"cmd.steer.desc": "에이전트를 중단하고 새 지시로 전환",
|
|
21
|
+
"cmd.compact.desc": "대화 컨텍스트 압축",
|
|
22
|
+
"cmd.compact.tg_desc": "대화 컨텍스트 압축",
|
|
21
23
|
"cmd.help.tg_desc": "사용 가능한 명령어 보기",
|
|
22
24
|
"cmd.status.tg_desc": "모델·CLI·세션 상태 확인",
|
|
23
25
|
"cmd.clear.tg_desc": "대화 초기화 (데이터 유지)",
|
|
@@ -52,6 +54,7 @@
|
|
|
52
54
|
"cmd.employee.resetUnavailable": "❌ 이 환경에서는 /employee reset을 사용할 수 없습니다.",
|
|
53
55
|
"cmd.employee.resetDone": "✅ 직원 기본값으로 재설정 완료 ({count}명)",
|
|
54
56
|
"cmd.clear.telegram": "ℹ️ Telegram에서는 /clear가 화면 정리 없이 안내만 합니다.",
|
|
57
|
+
"cmd.clear.discord": "ℹ️ Discord에서는 /clear가 화면 정리 없이 안내만 합니다.",
|
|
55
58
|
"cmd.clear.done": "✅ 화면을 정리했습니다. (대화 기록은 유지됨)",
|
|
56
59
|
"cmd.reset.confirm": "⚠️ 전체 초기화: MCP, 스킬, 직원, 세션을 기본값으로 재설정합니다.\n실행하려면 /reset confirm 을 입력하세요.",
|
|
57
60
|
"cmd.reset.unavailable": "❌ 이 환경에서는 초기화가 지원되지 않습니다.",
|
|
@@ -89,6 +92,7 @@
|
|
|
89
92
|
"ws.fallback": "⚡ {from} 실패 → {to}로 재시도",
|
|
90
93
|
"ws.retry": "⏳ {cli} 429 → {delay}s 후 재시도",
|
|
91
94
|
"tg.settingsUnsupported": "❌ Telegram에서 설정 변경은 지원하지 않습니다.",
|
|
95
|
+
"dc.settingsUnsupported": "❌ Discord에서 설정 변경은 지원하지 않습니다.",
|
|
92
96
|
"tg.promptUnsupported": "(Telegram에서 미지원)",
|
|
93
97
|
"tg.queued": "📥 대기열에 추가됨 ({count}번째)",
|
|
94
98
|
"tg.imageCaption": "[📷 이미지] {caption}",
|
|
@@ -130,6 +134,7 @@
|
|
|
130
134
|
"cli.fileSentPrompt": "[사용자가 파일을 보냈습니다: {path}]\n이 파일을 Read 도구로 읽고 분석해주세요.",
|
|
131
135
|
"cli.fileSentWithMsg": "\n\n사용자 메시지: {text}",
|
|
132
136
|
"cli.fallbackRetry": "{from} 실패 → {to}로 재시도",
|
|
137
|
+
"cli.noReadyCli": "인증된 CLI가 없습니다 — 위에서 하나 이상의 CLI를 설치하고 인증해 주세요.",
|
|
133
138
|
"chat.cmd.fail": "❌ 커맨드 실행 실패: {msg}",
|
|
134
139
|
"chat.file.sent": "[사용자가 파일을 보냈습니다: {path}]\n이 파일을 Read 도구로 읽고 분석해주세요.",
|
|
135
140
|
"chat.file.sentWithMsg": "\n\n사용자 메시지: {text}",
|
|
@@ -245,7 +250,7 @@
|
|
|
245
250
|
"code.copied": "복사됨 ✓",
|
|
246
251
|
"mcp.noServers": "(서버 미설정)",
|
|
247
252
|
"mermaid.renderFail": "Mermaid 렌더링 실패",
|
|
248
|
-
"orchestrator.dispatching": "
|
|
253
|
+
"orchestrator.dispatching": "처리 중…",
|
|
249
254
|
"cmd.ide.desc": "IDE diff 보기",
|
|
250
255
|
"cmd.ide.toggled": "IDE diff 모드를 전환했습니다",
|
|
251
256
|
"cmd.ide.popToggled": "IDE 팝업을 전환했습니다",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "CLI-JAW",
|
|
3
|
+
"short_name": "JAW",
|
|
4
|
+
"description": "AI Assistant — Multi-Engine Orchestrator",
|
|
5
|
+
"start_url": "/",
|
|
6
|
+
"display": "standalone",
|
|
7
|
+
"background_color": "#0a0a0f",
|
|
8
|
+
"theme_color": "#22d3ee",
|
|
9
|
+
"orientation": "any",
|
|
10
|
+
"icons": [
|
|
11
|
+
{ "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png" },
|
|
12
|
+
{ "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png" },
|
|
13
|
+
{
|
|
14
|
+
"src": "/icons/icon-512-maskable.png",
|
|
15
|
+
"sizes": "512x512",
|
|
16
|
+
"type": "image/png",
|
|
17
|
+
"purpose": "maskable"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
async function e(e,t={}){try{let n=await fetch(e,t);if(!n.ok)return console.warn(`[api] ${t.method||`GET`} ${e} → ${n.status}`),null;if(!(n.headers.get(`content-type`)||``).includes(`json`))return null;let r=await n.json();return r&&typeof r==`object`&&`ok`in r&&`data`in r?r.ok?r.data:(console.warn(`[api] ${e} → ok:false`,r.error||``),null):r}catch(t){return console.warn(`[api] ${e} failed:`,t.message),null}}async function t(t,n,r){return e(t,{method:n,headers:{"Content-Type":`application/json`},body:JSON.stringify(r)})}function n(e,t=`POST`,n){let r={method:t};n&&(r.headers={"Content-Type":`application/json`},r.body=JSON.stringify(n)),fetch(e,r).catch(()=>{})}export{n,t as r,e as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./api-B8XKQ4OT.js";export{e as api};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{X as e}from"./vendor-mermaid-COidH9HB.js";export{e as createArchitectureServices};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{M as e}from"./vendor-mermaid-COidH9HB.js";export{e as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./vendor-mermaid-COidH9HB.js";export{e as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e}from"./vendor-mermaid-COidH9HB.js";export{e as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as e}from"./vendor-mermaid-COidH9HB.js";export{e as diagram};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{O as e}from"./vendor-mermaid-COidH9HB.js";export{e as diagram};
|