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.
Files changed (559) hide show
  1. package/README.ko.md +56 -26
  2. package/README.md +30 -24
  3. package/README.zh-CN.md +56 -26
  4. package/dist/bin/commands/browser.js +3 -1
  5. package/dist/bin/commands/browser.js.map +1 -1
  6. package/dist/bin/commands/chat.js +358 -9
  7. package/dist/bin/commands/chat.js.map +1 -1
  8. package/dist/bin/commands/doctor.js +80 -2
  9. package/dist/bin/commands/doctor.js.map +1 -1
  10. package/dist/bin/commands/init.js +88 -6
  11. package/dist/bin/commands/init.js.map +1 -1
  12. package/dist/bin/commands/serve.js +1 -0
  13. package/dist/bin/commands/serve.js.map +1 -1
  14. package/dist/lib/mcp-sync.js +101 -51
  15. package/dist/lib/mcp-sync.js.map +1 -1
  16. package/dist/lib/quota-copilot.js +4 -0
  17. package/dist/lib/quota-copilot.js.map +1 -1
  18. package/dist/server.js +131 -35
  19. package/dist/server.js.map +1 -1
  20. package/dist/src/agent/events.js +198 -29
  21. package/dist/src/agent/events.js.map +1 -1
  22. package/dist/src/agent/smoke-detector.js +111 -0
  23. package/dist/src/agent/smoke-detector.js.map +1 -0
  24. package/dist/src/agent/spawn.js +157 -26
  25. package/dist/src/agent/spawn.js.map +1 -1
  26. package/dist/src/browser/connection.js +9 -1
  27. package/dist/src/browser/connection.js.map +1 -1
  28. package/dist/src/browser/launch-policy.js +32 -0
  29. package/dist/src/browser/launch-policy.js.map +1 -0
  30. package/dist/src/cli/claude-models.js +46 -0
  31. package/dist/src/cli/claude-models.js.map +1 -0
  32. package/dist/src/cli/command-context.js +19 -8
  33. package/dist/src/cli/command-context.js.map +1 -1
  34. package/dist/src/cli/commands.js +16 -13
  35. package/dist/src/cli/commands.js.map +1 -1
  36. package/dist/src/cli/compact.js +93 -0
  37. package/dist/src/cli/compact.js.map +1 -0
  38. package/dist/src/cli/handlers.js +94 -32
  39. package/dist/src/cli/handlers.js.map +1 -1
  40. package/dist/src/cli/readiness.js +69 -0
  41. package/dist/src/cli/readiness.js.map +1 -0
  42. package/dist/src/cli/registry.js +3 -2
  43. package/dist/src/cli/registry.js.map +1 -1
  44. package/dist/src/cli/tui/composer.js +6 -4
  45. package/dist/src/cli/tui/composer.js.map +1 -1
  46. package/dist/src/cli/tui/keymap.js +2 -0
  47. package/dist/src/cli/tui/keymap.js.map +1 -1
  48. package/dist/src/cli/tui/overlay.js +170 -0
  49. package/dist/src/cli/tui/overlay.js.map +1 -1
  50. package/dist/src/cli/tui/store.js +25 -0
  51. package/dist/src/cli/tui/store.js.map +1 -1
  52. package/dist/src/cli/tui/transcript.js +46 -0
  53. package/dist/src/cli/tui/transcript.js.map +1 -0
  54. package/dist/src/command-contract/catalog.js +8 -4
  55. package/dist/src/command-contract/catalog.js.map +1 -1
  56. package/dist/src/core/bus.js +1 -0
  57. package/dist/src/core/bus.js.map +1 -1
  58. package/dist/src/core/compact.js +70 -0
  59. package/dist/src/core/compact.js.map +1 -0
  60. package/dist/src/core/config.js +109 -3
  61. package/dist/src/core/config.js.map +1 -1
  62. package/dist/src/core/db.js +13 -4
  63. package/dist/src/core/db.js.map +1 -1
  64. package/dist/src/core/main-session.js +15 -0
  65. package/dist/src/core/main-session.js.map +1 -1
  66. package/dist/src/core/runtime-settings.js +19 -4
  67. package/dist/src/core/runtime-settings.js.map +1 -1
  68. package/dist/src/core/settings-merge.js +1 -1
  69. package/dist/src/core/settings-merge.js.map +1 -1
  70. package/dist/src/discord/bot.js +274 -0
  71. package/dist/src/discord/bot.js.map +1 -0
  72. package/dist/src/discord/commands.js +103 -0
  73. package/dist/src/discord/commands.js.map +1 -0
  74. package/dist/src/discord/discord-file.js +43 -0
  75. package/dist/src/discord/discord-file.js.map +1 -0
  76. package/dist/src/discord/forwarder.js +45 -0
  77. package/dist/src/discord/forwarder.js.map +1 -0
  78. package/dist/src/memory/bootstrap.js +341 -0
  79. package/dist/src/memory/bootstrap.js.map +1 -0
  80. package/dist/src/memory/heartbeat.js +11 -22
  81. package/dist/src/memory/heartbeat.js.map +1 -1
  82. package/dist/src/memory/indexing.js +329 -0
  83. package/dist/src/memory/indexing.js.map +1 -0
  84. package/dist/src/memory/keyword-expand.js +247 -0
  85. package/dist/src/memory/keyword-expand.js.map +1 -0
  86. package/dist/src/memory/runtime.js +56 -1090
  87. package/dist/src/memory/runtime.js.map +1 -1
  88. package/dist/src/memory/shared.js +167 -0
  89. package/dist/src/memory/shared.js.map +1 -0
  90. package/dist/src/messaging/runtime.js +122 -0
  91. package/dist/src/messaging/runtime.js.map +1 -0
  92. package/dist/src/messaging/send.js +120 -0
  93. package/dist/src/messaging/send.js.map +1 -0
  94. package/dist/src/messaging/session-key.js +25 -0
  95. package/dist/src/messaging/session-key.js.map +1 -0
  96. package/dist/src/messaging/types.js +6 -0
  97. package/dist/src/messaging/types.js.map +1 -0
  98. package/dist/src/orchestrator/collect.js +5 -0
  99. package/dist/src/orchestrator/collect.js.map +1 -1
  100. package/dist/src/orchestrator/distribute.js +34 -8
  101. package/dist/src/orchestrator/distribute.js.map +1 -1
  102. package/dist/src/orchestrator/gateway.js +18 -12
  103. package/dist/src/orchestrator/gateway.js.map +1 -1
  104. package/dist/src/orchestrator/parser.js +0 -28
  105. package/dist/src/orchestrator/parser.js.map +1 -1
  106. package/dist/src/orchestrator/pipeline.js +94 -75
  107. package/dist/src/orchestrator/pipeline.js.map +1 -1
  108. package/dist/src/orchestrator/state-machine.js +23 -20
  109. package/dist/src/orchestrator/state-machine.js.map +1 -1
  110. package/dist/src/orchestrator/worker-monitor.js +50 -0
  111. package/dist/src/orchestrator/worker-monitor.js.map +1 -0
  112. package/dist/src/orchestrator/worker-registry.js +107 -0
  113. package/dist/src/orchestrator/worker-registry.js.map +1 -0
  114. package/dist/src/prompt/builder.js +78 -6
  115. package/dist/src/prompt/builder.js.map +1 -1
  116. package/dist/src/prompt/templates/a1-system.md +52 -10
  117. package/dist/src/prompt/templates/employee.md +17 -5
  118. package/dist/src/prompt/templates/orchestration.md +11 -10
  119. package/dist/src/prompt/templates/research-worker.md +1 -1
  120. package/dist/src/prompt/templates/worker-context.md +4 -4
  121. package/dist/src/routes/browser.js +14 -3
  122. package/dist/src/routes/browser.js.map +1 -1
  123. package/dist/src/telegram/bot.js +92 -8
  124. package/dist/src/telegram/bot.js.map +1 -1
  125. package/dist/src/types/agent.js +4 -0
  126. package/dist/src/types/agent.js.map +1 -0
  127. package/package.json +27 -15
  128. package/public/css/chat.css +365 -127
  129. package/public/css/layout.css +67 -10
  130. package/public/css/markdown.css +219 -54
  131. package/public/css/modals.css +35 -15
  132. package/public/css/orc-state.css +16 -16
  133. package/public/css/sidebar.css +12 -12
  134. package/public/css/tool-ui.css +483 -0
  135. package/public/css/variables.css +334 -6
  136. package/public/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  137. package/public/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  138. package/public/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  139. package/public/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  140. package/public/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  141. package/public/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  142. package/public/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  143. package/public/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  144. package/public/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  145. package/public/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  146. package/public/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  147. package/public/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  148. package/public/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  149. package/public/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  150. package/public/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  151. package/public/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  152. package/public/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  153. package/public/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  154. package/public/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  155. package/public/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  156. package/public/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  157. package/public/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  158. package/public/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  159. package/public/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  160. package/public/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  161. package/public/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  162. package/public/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  163. package/public/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  164. package/public/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  165. package/public/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  166. package/public/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  167. package/public/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  168. package/public/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  169. package/public/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  170. package/public/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  171. package/public/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  172. package/public/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  173. package/public/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  174. package/public/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  175. package/public/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  176. package/public/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  177. package/public/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  178. package/public/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  179. package/public/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  180. package/public/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  181. package/public/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  182. package/public/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  183. package/public/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  184. package/public/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  185. package/public/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  186. package/public/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  187. package/public/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  188. package/public/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  189. package/public/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  190. package/public/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  191. package/public/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  192. package/public/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  193. package/public/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  194. package/public/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  195. package/public/dist/assets/api-B8XKQ4OT.js +1 -0
  196. package/public/dist/assets/api-BlPw3bUI.js +1 -0
  197. package/public/dist/assets/architecture-YZFGNWBL-BkS7SZQi.js +1 -0
  198. package/public/dist/assets/architectureDiagram-Q4EWVU46-Dl3iBKeR.js +1 -0
  199. package/public/dist/assets/blockDiagram-DXYQGD6D-DPr4D17p.js +1 -0
  200. package/public/dist/assets/c4Diagram-AHTNJAMY-CfoxJtDk.js +1 -0
  201. package/public/dist/assets/classDiagram-6PBFFD2Q-BOAdHnnB.js +1 -0
  202. package/public/dist/assets/classDiagram-v2-HSJHXN6E-B2QCJXWC.js +1 -0
  203. package/public/dist/assets/constants-DshMUJbo.js +1 -0
  204. package/public/dist/assets/cose-bilkent-S5V4N54A-CA14jk7w.js +1 -0
  205. package/public/dist/assets/dagre-KV5264BT-BVwNaSwC.js +1 -0
  206. package/public/dist/assets/diagram-5BDNPKRD-CHqIAvdc.js +1 -0
  207. package/public/dist/assets/diagram-G4DWMVQ6-DxvsCvTP.js +1 -0
  208. package/public/dist/assets/diagram-MMDJMWI5-DqOPO7dl.js +1 -0
  209. package/public/dist/assets/diagram-TYMM5635-C9xMWPQn.js +1 -0
  210. package/public/dist/assets/employees-CFRlsbHm.js +39 -0
  211. package/public/dist/assets/erDiagram-SMLLAGMA-BTmpfRkm.js +1 -0
  212. package/public/dist/assets/flowDiagram-DWJPFMVM-DZBSQAKA.js +1 -0
  213. package/public/dist/assets/ganttDiagram-T4ZO3ILL-TAEMCRbT.js +1 -0
  214. package/public/dist/assets/gitGraph-7Q5UKJZL-bbxndRNA.js +1 -0
  215. package/public/dist/assets/gitGraphDiagram-UUTBAWPF-CBxtx0MB.js +1 -0
  216. package/public/dist/assets/icon-192-CwXPIYF5.png +0 -0
  217. package/public/dist/assets/index-1Gg-6jeC.css +1 -0
  218. package/public/dist/assets/index-CQHqXjrK.js +49 -0
  219. package/public/dist/assets/info-OMHHGYJF-DRXq_Ywr.js +1 -0
  220. package/public/dist/assets/infoDiagram-42DDH7IO-C7FFwX4m.js +1 -0
  221. package/public/dist/assets/ishikawaDiagram-UXIWVN3A-DEZJE79j.js +1 -0
  222. package/public/dist/assets/journeyDiagram-VCZTEJTY-ZHLiY6GV.js +1 -0
  223. package/public/dist/assets/kanban-definition-6JOO6SKY-NP7pY7ML.js +1 -0
  224. package/public/dist/assets/katex-DZLS_HFU.js +1 -0
  225. package/public/dist/assets/locale-BjoAcbis.js +1 -0
  226. package/public/dist/assets/manifest-Bw-LRm-c.json +20 -0
  227. package/public/dist/assets/mermaid.core-CHuluSlD.js +1 -0
  228. package/public/dist/assets/mindmap-definition-QFDTVHPH-Bd1OgfN_.js +1 -0
  229. package/public/dist/assets/packet-4T2RLAQJ-CGu8ST97.js +1 -0
  230. package/public/dist/assets/pie-ZZUOXDRM-CDG65mhS.js +1 -0
  231. package/public/dist/assets/pieDiagram-DEJITSTG-BbMBHLDM.js +1 -0
  232. package/public/dist/assets/quadrantDiagram-34T5L4WZ-CDCDgI1e.js +1 -0
  233. package/public/dist/assets/radar-PYXPWWZC-1gS-6ylu.js +1 -0
  234. package/public/dist/assets/render-YHvL5VM_.js +6 -0
  235. package/public/dist/assets/requirementDiagram-MS252O5E-DkmvOtYz.js +1 -0
  236. package/public/dist/assets/rolldown-runtime-FhOqtrmT.js +1 -0
  237. package/public/dist/assets/sankeyDiagram-XADWPNL6-GNcXIYsL.js +1 -0
  238. package/public/dist/assets/sequenceDiagram-FGHM5R23-BFrw2n6x.js +1 -0
  239. package/public/dist/assets/settings-BQF_u5px.js +37 -0
  240. package/public/dist/assets/settings-C5Q9IPjJ.js +1 -0
  241. package/public/dist/assets/shark-sprite-B3AAuERd.png +0 -0
  242. package/public/dist/assets/skills-9Pd2rOw-.js +1 -0
  243. package/public/dist/assets/skills-BI7sQAdk.js +12 -0
  244. package/public/dist/assets/slash-commands-DMsE88bu.js +14 -0
  245. package/public/dist/assets/slash-commands-FMpJzlDB.js +1 -0
  246. package/public/dist/assets/state-O6NVkWcL.js +1 -0
  247. package/public/dist/assets/stateDiagram-FHFEXIEX-BLgKnllT.js +1 -0
  248. package/public/dist/assets/stateDiagram-v2-QKLJ7IA2-CbzuWsSa.js +1 -0
  249. package/public/dist/assets/timeline-definition-GMOUNBTQ-CcZTJ3gL.js +1 -0
  250. package/public/dist/assets/treeView-SZITEDCU-BDqBsaH1.js +1 -0
  251. package/public/dist/assets/treemap-W4RFUUIX-BaWHA3Di.js +1 -0
  252. package/public/dist/assets/ui-BukgLHuh.js +29 -0
  253. package/public/dist/assets/ui-Bvz1JfTE.js +1 -0
  254. package/public/dist/assets/vendor-mermaid-COidH9HB.js +2934 -0
  255. package/public/dist/assets/vendor-render-Bjnw0wQ6.css +1 -0
  256. package/public/dist/assets/vendor-render-D2YP6GiF.js +322 -0
  257. package/public/dist/assets/vennDiagram-DHZGUBPP-BWV_j1bh.js +1 -0
  258. package/public/dist/assets/wardley-RL74JXVD-C7gKA3d7.js +1 -0
  259. package/public/dist/assets/wardleyDiagram-NUSXRM2D-BUoq_wug.js +1 -0
  260. package/public/dist/assets/ws-S_AZgx7L.js +2 -0
  261. package/public/dist/assets/xychartDiagram-5P7HB3ND-PvT5Ec82.js +1 -0
  262. package/public/dist/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  263. package/public/dist/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  264. package/public/dist/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  265. package/public/dist/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  266. package/public/dist/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  267. package/public/dist/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  268. package/public/dist/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  269. package/public/dist/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  270. package/public/dist/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  271. package/public/dist/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  272. package/public/dist/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  273. package/public/dist/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  274. package/public/dist/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  275. package/public/dist/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  276. package/public/dist/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  277. package/public/dist/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  278. package/public/dist/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  279. package/public/dist/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  280. package/public/dist/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  281. package/public/dist/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  282. package/public/dist/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  283. package/public/dist/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  284. package/public/dist/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  285. package/public/dist/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  286. package/public/dist/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  287. package/public/dist/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  288. package/public/dist/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  289. package/public/dist/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  290. package/public/dist/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  291. package/public/dist/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  292. package/public/dist/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  293. package/public/dist/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  294. package/public/dist/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  295. package/public/dist/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  296. package/public/dist/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  297. package/public/dist/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  298. package/public/dist/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  299. package/public/dist/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  300. package/public/dist/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  301. package/public/dist/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  302. package/public/dist/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  303. package/public/dist/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  304. package/public/dist/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  305. package/public/dist/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  306. package/public/dist/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  307. package/public/dist/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  308. package/public/dist/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  309. package/public/dist/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  310. package/public/dist/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  311. package/public/dist/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  312. package/public/dist/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  313. package/public/dist/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  314. package/public/dist/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  315. package/public/dist/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  316. package/public/dist/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  317. package/public/dist/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  318. package/public/dist/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  319. package/public/dist/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  320. package/public/dist/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  321. package/public/dist/dist/assets/api-B8XKQ4OT.js +1 -0
  322. package/public/dist/dist/assets/api-BlPw3bUI.js +1 -0
  323. package/public/dist/dist/assets/architecture-YZFGNWBL-BkS7SZQi.js +1 -0
  324. package/public/dist/dist/assets/architectureDiagram-Q4EWVU46-Dl3iBKeR.js +1 -0
  325. package/public/dist/dist/assets/blockDiagram-DXYQGD6D-DPr4D17p.js +1 -0
  326. package/public/dist/dist/assets/c4Diagram-AHTNJAMY-CfoxJtDk.js +1 -0
  327. package/public/dist/dist/assets/classDiagram-6PBFFD2Q-BOAdHnnB.js +1 -0
  328. package/public/dist/dist/assets/classDiagram-v2-HSJHXN6E-B2QCJXWC.js +1 -0
  329. package/public/dist/dist/assets/constants-DshMUJbo.js +1 -0
  330. package/public/dist/dist/assets/cose-bilkent-S5V4N54A-CA14jk7w.js +1 -0
  331. package/public/dist/dist/assets/dagre-KV5264BT-BVwNaSwC.js +1 -0
  332. package/public/dist/dist/assets/diagram-5BDNPKRD-CHqIAvdc.js +1 -0
  333. package/public/dist/dist/assets/diagram-G4DWMVQ6-DxvsCvTP.js +1 -0
  334. package/public/dist/dist/assets/diagram-MMDJMWI5-DqOPO7dl.js +1 -0
  335. package/public/dist/dist/assets/diagram-TYMM5635-C9xMWPQn.js +1 -0
  336. package/public/dist/dist/assets/employees-CFRlsbHm.js +39 -0
  337. package/public/dist/dist/assets/erDiagram-SMLLAGMA-BTmpfRkm.js +1 -0
  338. package/public/dist/dist/assets/flowDiagram-DWJPFMVM-DZBSQAKA.js +1 -0
  339. package/public/dist/dist/assets/ganttDiagram-T4ZO3ILL-TAEMCRbT.js +1 -0
  340. package/public/dist/dist/assets/gitGraph-7Q5UKJZL-bbxndRNA.js +1 -0
  341. package/public/dist/dist/assets/gitGraphDiagram-UUTBAWPF-CBxtx0MB.js +1 -0
  342. package/public/dist/dist/assets/icon-192-CwXPIYF5.png +0 -0
  343. package/public/dist/dist/assets/index-1Gg-6jeC.css +1 -0
  344. package/public/dist/dist/assets/index-CQHqXjrK.js +49 -0
  345. package/public/dist/dist/assets/info-OMHHGYJF-DRXq_Ywr.js +1 -0
  346. package/public/dist/dist/assets/infoDiagram-42DDH7IO-C7FFwX4m.js +1 -0
  347. package/public/dist/dist/assets/ishikawaDiagram-UXIWVN3A-DEZJE79j.js +1 -0
  348. package/public/dist/dist/assets/journeyDiagram-VCZTEJTY-ZHLiY6GV.js +1 -0
  349. package/public/dist/dist/assets/kanban-definition-6JOO6SKY-NP7pY7ML.js +1 -0
  350. package/public/dist/dist/assets/katex-DZLS_HFU.js +1 -0
  351. package/public/dist/dist/assets/locale-BjoAcbis.js +1 -0
  352. package/public/dist/dist/assets/manifest-Bw-LRm-c.json +20 -0
  353. package/public/dist/dist/assets/mermaid.core-CHuluSlD.js +1 -0
  354. package/public/dist/dist/assets/mindmap-definition-QFDTVHPH-Bd1OgfN_.js +1 -0
  355. package/public/dist/dist/assets/packet-4T2RLAQJ-CGu8ST97.js +1 -0
  356. package/public/dist/dist/assets/pie-ZZUOXDRM-CDG65mhS.js +1 -0
  357. package/public/dist/dist/assets/pieDiagram-DEJITSTG-BbMBHLDM.js +1 -0
  358. package/public/dist/dist/assets/quadrantDiagram-34T5L4WZ-CDCDgI1e.js +1 -0
  359. package/public/dist/dist/assets/radar-PYXPWWZC-1gS-6ylu.js +1 -0
  360. package/public/dist/dist/assets/render-YHvL5VM_.js +6 -0
  361. package/public/dist/dist/assets/requirementDiagram-MS252O5E-DkmvOtYz.js +1 -0
  362. package/public/dist/dist/assets/rolldown-runtime-FhOqtrmT.js +1 -0
  363. package/public/dist/dist/assets/sankeyDiagram-XADWPNL6-GNcXIYsL.js +1 -0
  364. package/public/dist/dist/assets/sequenceDiagram-FGHM5R23-BFrw2n6x.js +1 -0
  365. package/public/dist/dist/assets/settings-BQF_u5px.js +37 -0
  366. package/public/dist/dist/assets/settings-C5Q9IPjJ.js +1 -0
  367. package/public/dist/dist/assets/shark-sprite-B3AAuERd.png +0 -0
  368. package/public/dist/dist/assets/skills-9Pd2rOw-.js +1 -0
  369. package/public/dist/dist/assets/skills-BI7sQAdk.js +12 -0
  370. package/public/dist/dist/assets/slash-commands-DMsE88bu.js +14 -0
  371. package/public/dist/dist/assets/slash-commands-FMpJzlDB.js +1 -0
  372. package/public/dist/dist/assets/state-O6NVkWcL.js +1 -0
  373. package/public/dist/dist/assets/stateDiagram-FHFEXIEX-BLgKnllT.js +1 -0
  374. package/public/dist/dist/assets/stateDiagram-v2-QKLJ7IA2-CbzuWsSa.js +1 -0
  375. package/public/dist/dist/assets/timeline-definition-GMOUNBTQ-CcZTJ3gL.js +1 -0
  376. package/public/dist/dist/assets/treeView-SZITEDCU-BDqBsaH1.js +1 -0
  377. package/public/dist/dist/assets/treemap-W4RFUUIX-BaWHA3Di.js +1 -0
  378. package/public/dist/dist/assets/ui-BukgLHuh.js +29 -0
  379. package/public/dist/dist/assets/ui-Bvz1JfTE.js +1 -0
  380. package/public/dist/dist/assets/vendor-mermaid-COidH9HB.js +2934 -0
  381. package/public/dist/dist/assets/vendor-render-Bjnw0wQ6.css +1 -0
  382. package/public/dist/dist/assets/vendor-render-D2YP6GiF.js +322 -0
  383. package/public/dist/dist/assets/vennDiagram-DHZGUBPP-BWV_j1bh.js +1 -0
  384. package/public/dist/dist/assets/wardley-RL74JXVD-C7gKA3d7.js +1 -0
  385. package/public/dist/dist/assets/wardleyDiagram-NUSXRM2D-BUoq_wug.js +1 -0
  386. package/public/dist/dist/assets/ws-S_AZgx7L.js +2 -0
  387. package/public/dist/dist/assets/xychartDiagram-5P7HB3ND-PvT5Ec82.js +1 -0
  388. package/public/dist/dist/index.html +708 -0
  389. package/public/dist/index.html +708 -0
  390. package/public/icons/icon-192.png +0 -0
  391. package/public/icons/icon-512-maskable.png +0 -0
  392. package/public/icons/icon-512.png +0 -0
  393. package/public/index.html +178 -125
  394. package/public/js/constants.ts +6 -6
  395. package/public/js/features/chat.ts +23 -3
  396. package/public/js/features/employees.ts +12 -12
  397. package/public/js/features/gesture.ts +61 -0
  398. package/public/js/features/heartbeat.ts +1 -1
  399. package/public/js/features/idb-cache.ts +89 -0
  400. package/public/js/features/memory.ts +4 -1
  401. package/public/js/features/process-block.ts +236 -0
  402. package/public/js/features/settings-channel.ts +53 -0
  403. package/public/js/features/settings-cli-status.ts +164 -0
  404. package/public/js/features/settings-core.ts +357 -0
  405. package/public/js/features/settings-discord.ts +52 -0
  406. package/public/js/features/settings-mcp.ts +54 -0
  407. package/public/js/features/settings-stt.ts +78 -0
  408. package/public/js/features/settings-telegram.ts +40 -0
  409. package/public/js/features/settings-templates.ts +129 -0
  410. package/public/js/features/settings-types.ts +24 -0
  411. package/public/js/features/settings.ts +9 -815
  412. package/public/js/features/sidebar.ts +4 -2
  413. package/public/js/features/skills.ts +5 -4
  414. package/public/js/features/slash-commands.ts +1 -8
  415. package/public/js/features/theme.ts +16 -10
  416. package/public/js/features/tool-ui.ts +113 -0
  417. package/public/js/main.ts +67 -8
  418. package/public/js/render.ts +128 -90
  419. package/public/js/state.ts +4 -0
  420. package/public/js/streaming-render.ts +55 -0
  421. package/public/js/ui.ts +289 -46
  422. package/public/js/virtual-scroll.ts +189 -0
  423. package/public/js/ws.ts +175 -112
  424. package/public/locales/en.json +6 -1
  425. package/public/locales/ko.json +6 -1
  426. package/public/manifest.json +20 -0
  427. package/public/public/dist/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  428. package/public/public/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  429. package/public/public/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  430. package/public/public/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  431. package/public/public/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  432. package/public/public/dist/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  433. package/public/public/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  434. package/public/public/dist/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  435. package/public/public/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  436. package/public/public/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  437. package/public/public/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  438. package/public/public/dist/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  439. package/public/public/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  440. package/public/public/dist/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  441. package/public/public/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  442. package/public/public/dist/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  443. package/public/public/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  444. package/public/public/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  445. package/public/public/dist/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  446. package/public/public/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  447. package/public/public/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  448. package/public/public/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  449. package/public/public/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  450. package/public/public/dist/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  451. package/public/public/dist/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  452. package/public/public/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  453. package/public/public/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  454. package/public/public/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  455. package/public/public/dist/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  456. package/public/public/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  457. package/public/public/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  458. package/public/public/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  459. package/public/public/dist/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  460. package/public/public/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  461. package/public/public/dist/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  462. package/public/public/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  463. package/public/public/dist/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  464. package/public/public/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  465. package/public/public/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  466. package/public/public/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  467. package/public/public/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  468. package/public/public/dist/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  469. package/public/public/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  470. package/public/public/dist/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  471. package/public/public/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  472. package/public/public/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  473. package/public/public/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  474. package/public/public/dist/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  475. package/public/public/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  476. package/public/public/dist/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  477. package/public/public/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  478. package/public/public/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  479. package/public/public/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  480. package/public/public/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  481. package/public/public/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  482. package/public/public/dist/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  483. package/public/public/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  484. package/public/public/dist/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  485. package/public/public/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  486. package/public/public/dist/assets/api-B8XKQ4OT.js +1 -0
  487. package/public/public/dist/assets/api-BlPw3bUI.js +1 -0
  488. package/public/public/dist/assets/architecture-YZFGNWBL-BkS7SZQi.js +1 -0
  489. package/public/public/dist/assets/architectureDiagram-Q4EWVU46-Dl3iBKeR.js +1 -0
  490. package/public/public/dist/assets/blockDiagram-DXYQGD6D-DPr4D17p.js +1 -0
  491. package/public/public/dist/assets/c4Diagram-AHTNJAMY-CfoxJtDk.js +1 -0
  492. package/public/public/dist/assets/classDiagram-6PBFFD2Q-BOAdHnnB.js +1 -0
  493. package/public/public/dist/assets/classDiagram-v2-HSJHXN6E-B2QCJXWC.js +1 -0
  494. package/public/public/dist/assets/constants-DshMUJbo.js +1 -0
  495. package/public/public/dist/assets/cose-bilkent-S5V4N54A-CA14jk7w.js +1 -0
  496. package/public/public/dist/assets/dagre-KV5264BT-BVwNaSwC.js +1 -0
  497. package/public/public/dist/assets/diagram-5BDNPKRD-CHqIAvdc.js +1 -0
  498. package/public/public/dist/assets/diagram-G4DWMVQ6-DxvsCvTP.js +1 -0
  499. package/public/public/dist/assets/diagram-MMDJMWI5-DqOPO7dl.js +1 -0
  500. package/public/public/dist/assets/diagram-TYMM5635-C9xMWPQn.js +1 -0
  501. package/public/public/dist/assets/employees-CFRlsbHm.js +39 -0
  502. package/public/public/dist/assets/erDiagram-SMLLAGMA-BTmpfRkm.js +1 -0
  503. package/public/public/dist/assets/flowDiagram-DWJPFMVM-DZBSQAKA.js +1 -0
  504. package/public/public/dist/assets/ganttDiagram-T4ZO3ILL-TAEMCRbT.js +1 -0
  505. package/public/public/dist/assets/gitGraph-7Q5UKJZL-bbxndRNA.js +1 -0
  506. package/public/public/dist/assets/gitGraphDiagram-UUTBAWPF-CBxtx0MB.js +1 -0
  507. package/public/public/dist/assets/icon-192-CwXPIYF5.png +0 -0
  508. package/public/public/dist/assets/index-1Gg-6jeC.css +1 -0
  509. package/public/public/dist/assets/index-CQHqXjrK.js +49 -0
  510. package/public/public/dist/assets/info-OMHHGYJF-DRXq_Ywr.js +1 -0
  511. package/public/public/dist/assets/infoDiagram-42DDH7IO-C7FFwX4m.js +1 -0
  512. package/public/public/dist/assets/ishikawaDiagram-UXIWVN3A-DEZJE79j.js +1 -0
  513. package/public/public/dist/assets/journeyDiagram-VCZTEJTY-ZHLiY6GV.js +1 -0
  514. package/public/public/dist/assets/kanban-definition-6JOO6SKY-NP7pY7ML.js +1 -0
  515. package/public/public/dist/assets/katex-DZLS_HFU.js +1 -0
  516. package/public/public/dist/assets/locale-BjoAcbis.js +1 -0
  517. package/public/public/dist/assets/manifest-Bw-LRm-c.json +20 -0
  518. package/public/public/dist/assets/mermaid.core-CHuluSlD.js +1 -0
  519. package/public/public/dist/assets/mindmap-definition-QFDTVHPH-Bd1OgfN_.js +1 -0
  520. package/public/public/dist/assets/packet-4T2RLAQJ-CGu8ST97.js +1 -0
  521. package/public/public/dist/assets/pie-ZZUOXDRM-CDG65mhS.js +1 -0
  522. package/public/public/dist/assets/pieDiagram-DEJITSTG-BbMBHLDM.js +1 -0
  523. package/public/public/dist/assets/quadrantDiagram-34T5L4WZ-CDCDgI1e.js +1 -0
  524. package/public/public/dist/assets/radar-PYXPWWZC-1gS-6ylu.js +1 -0
  525. package/public/public/dist/assets/render-YHvL5VM_.js +6 -0
  526. package/public/public/dist/assets/requirementDiagram-MS252O5E-DkmvOtYz.js +1 -0
  527. package/public/public/dist/assets/rolldown-runtime-FhOqtrmT.js +1 -0
  528. package/public/public/dist/assets/sankeyDiagram-XADWPNL6-GNcXIYsL.js +1 -0
  529. package/public/public/dist/assets/sequenceDiagram-FGHM5R23-BFrw2n6x.js +1 -0
  530. package/public/public/dist/assets/settings-BQF_u5px.js +37 -0
  531. package/public/public/dist/assets/settings-C5Q9IPjJ.js +1 -0
  532. package/public/public/dist/assets/shark-sprite-B3AAuERd.png +0 -0
  533. package/public/public/dist/assets/skills-9Pd2rOw-.js +1 -0
  534. package/public/public/dist/assets/skills-BI7sQAdk.js +12 -0
  535. package/public/public/dist/assets/slash-commands-DMsE88bu.js +14 -0
  536. package/public/public/dist/assets/slash-commands-FMpJzlDB.js +1 -0
  537. package/public/public/dist/assets/state-O6NVkWcL.js +1 -0
  538. package/public/public/dist/assets/stateDiagram-FHFEXIEX-BLgKnllT.js +1 -0
  539. package/public/public/dist/assets/stateDiagram-v2-QKLJ7IA2-CbzuWsSa.js +1 -0
  540. package/public/public/dist/assets/timeline-definition-GMOUNBTQ-CcZTJ3gL.js +1 -0
  541. package/public/public/dist/assets/treeView-SZITEDCU-BDqBsaH1.js +1 -0
  542. package/public/public/dist/assets/treemap-W4RFUUIX-BaWHA3Di.js +1 -0
  543. package/public/public/dist/assets/ui-BukgLHuh.js +29 -0
  544. package/public/public/dist/assets/ui-Bvz1JfTE.js +1 -0
  545. package/public/public/dist/assets/vendor-mermaid-COidH9HB.js +2934 -0
  546. package/public/public/dist/assets/vendor-render-Bjnw0wQ6.css +1 -0
  547. package/public/public/dist/assets/vendor-render-D2YP6GiF.js +322 -0
  548. package/public/public/dist/assets/vennDiagram-DHZGUBPP-BWV_j1bh.js +1 -0
  549. package/public/public/dist/assets/wardley-RL74JXVD-C7gKA3d7.js +1 -0
  550. package/public/public/dist/assets/wardleyDiagram-NUSXRM2D-BUoq_wug.js +1 -0
  551. package/public/public/dist/assets/ws-S_AZgx7L.js +2 -0
  552. package/public/public/dist/assets/xychartDiagram-5P7HB3ND-PvT5Ec82.js +1 -0
  553. package/public/public/dist/index.html +708 -0
  554. package/public/sw.js +104 -0
  555. package/scripts/install-officecli.sh +145 -0
  556. package/scripts/release-preview.sh +18 -10
  557. package/scripts/release.sh +3 -3
  558. package/public/dist/bundle.js +0 -151
  559. 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
- state.ws = new WebSocket(`ws://${location.host}?lang=${getLang()}`);
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
- const msg: WsMessage = JSON.parse(e.data as string);
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
- addSystemMsg(`${msg.icon || ''} ${msg.label || ''}`, 'tool-activity');
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
- const allowed = new Set<OrcStateName>(['IDLE', 'P', 'A', 'B', 'C', 'D']);
117
- const rawState = typeof msg.state === 'string' ? msg.state : 'IDLE';
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
- // Restore state: reload messages to stay in sync after reconnect
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
- const el = document.getElementById('chatMessages');
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
  }
@@ -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": "🎯 Dispatching tasks...",
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",
@@ -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
+ }
@@ -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};