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
@@ -56,7 +56,7 @@ body[data-orc-state].orc-pulse #chatMessages {
56
56
  .pabc-roadmap {
57
57
  display: none;
58
58
  align-items: center;
59
- background: linear-gradient(135deg, var(--surface) 0%, #14141f 100%);
59
+ background: linear-gradient(135deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 90%, #000) 100%);
60
60
  border: 1px solid var(--border);
61
61
  border-radius: 10px;
62
62
  padding: 12px 22px;
@@ -89,19 +89,19 @@ body[data-orc-state].orc-pulse #chatMessages {
89
89
  letter-spacing: 0.5px;
90
90
  }
91
91
  .pabc-dot.future {
92
- background: var(--surface, #181825);
93
- color: var(--text-dim, #6e6e8a);
92
+ background: var(--surface);
93
+ color: var(--text-dim);
94
94
  border: 1px solid var(--border);
95
95
  }
96
96
  .pabc-dot.active {
97
- color: #fff;
97
+ color: var(--bg);
98
98
  border: 2px solid currentColor;
99
99
  box-shadow: 0 0 14px -3px currentColor, 0 0 4px -1px currentColor;
100
100
  transform: scale(1.1);
101
101
  }
102
102
  .pabc-dot.done {
103
- color: rgba(255,255,255,0.9);
104
- border: 1px solid rgba(255,255,255,0.1);
103
+ color: color-mix(in srgb, var(--bg) 90%, transparent);
104
+ border: 1px solid color-mix(in srgb, var(--text) 10%, transparent);
105
105
  opacity: 0.65;
106
106
  }
107
107
  .pabc-dot[data-phase="P"].active, .pabc-dot[data-phase="P"].done { background: var(--orc-glow-P); }
@@ -112,13 +112,13 @@ body[data-orc-state].orc-pulse #chatMessages {
112
112
  .pabc-connector {
113
113
  flex: 1;
114
114
  height: 2px;
115
- background: linear-gradient(90deg, var(--border) 0%, #2a2a3e 50%, var(--border) 100%);
115
+ background: linear-gradient(90deg, var(--border) 0%, color-mix(in srgb, var(--border) 60%, var(--surface)) 50%, var(--border) 100%);
116
116
  min-width: 44px;
117
117
  transition: all 0.5s ease;
118
118
  border-radius: 1px;
119
119
  }
120
120
  .pabc-connector.done {
121
- background: linear-gradient(90deg, var(--text-dim) 0%, #6e6e8a 50%, var(--text-dim) 100%);
121
+ background: linear-gradient(90deg, var(--text-dim) 0%, color-mix(in srgb, var(--text-dim) 70%, var(--surface)) 50%, var(--text-dim) 100%);
122
122
  box-shadow: 0 0 6px -2px var(--text-dim);
123
123
  }
124
124
 
@@ -143,7 +143,7 @@ body[data-orc-state].orc-pulse #chatMessages {
143
143
  .pabc-tagline {
144
144
  font-family: var(--font-mono);
145
145
  font-size: 7px;
146
- color: var(--text-dim, #6e6e8a);
146
+ color: var(--text-dim);
147
147
  letter-spacing: 2px;
148
148
  text-transform: uppercase;
149
149
  margin-top: 2px;
@@ -184,25 +184,25 @@ body[data-orc-state].orc-pulse #chatMessages {
184
184
 
185
185
  /* ─── Light Theme Overrides ─── */
186
186
  [data-theme="light"] .pabc-roadmap {
187
- background: linear-gradient(135deg, var(--surface) 0%, #f0f0f5 100%);
187
+ background: linear-gradient(135deg, var(--surface) 0%, color-mix(in srgb, var(--surface) 90%, #000) 100%);
188
188
  box-shadow: 0 2px 12px rgba(0,0,0,0.08), inset 0 1px 0 rgba(255,255,255,0.6);
189
189
  }
190
190
  [data-theme="light"] .pabc-dot.future {
191
- background: #eef0f5;
192
- color: #9a9ab0;
191
+ background: var(--surface);
192
+ color: var(--text-dim);
193
193
  }
194
194
  [data-theme="light"] .pabc-dot.active {
195
- color: #fff;
195
+ color: var(--bg);
196
196
  }
197
197
  [data-theme="light"] .pabc-dot.done {
198
- color: #fff;
198
+ color: var(--bg);
199
199
  border-color: rgba(0,0,0,0.06);
200
200
  }
201
201
  [data-theme="light"] .pabc-connector {
202
- background: linear-gradient(90deg, #d8d8e4 0%, #e4e4ef 50%, #d8d8e4 100%);
202
+ background: linear-gradient(90deg, var(--border) 0%, color-mix(in srgb, var(--border) 60%, var(--surface)) 50%, var(--border) 100%);
203
203
  }
204
204
  [data-theme="light"] .pabc-connector.done {
205
- background: linear-gradient(90deg, #b0b0c0 0%, #c0c0d0 50%, #b0b0c0 100%);
205
+ background: linear-gradient(90deg, var(--text-dim) 0%, color-mix(in srgb, var(--text-dim) 70%, var(--surface)) 50%, var(--text-dim) 100%);
206
206
  box-shadow: none;
207
207
  }
208
208
  [data-theme="light"] .shark-runner {
@@ -19,7 +19,7 @@
19
19
  }
20
20
 
21
21
  .cli-dot.warn {
22
- background: #fbbf24;
22
+ background: var(--warning);
23
23
  animation: pulse-warn 2s ease-in-out infinite;
24
24
  }
25
25
 
@@ -36,7 +36,7 @@
36
36
  }
37
37
 
38
38
  .cli-dot.missing {
39
- background: #ef4444;
39
+ background: var(--error);
40
40
  }
41
41
 
42
42
  .cli-name {
@@ -176,9 +176,9 @@ textarea.prompt-editor {
176
176
  }
177
177
 
178
178
  .skill-toggle {
179
- width: 36px;
180
- height: 20px;
181
- border-radius: 10px;
179
+ width: var(--toggle-w);
180
+ height: var(--toggle-h);
181
+ border-radius: calc(var(--toggle-h) / 2);
182
182
  border: none;
183
183
  cursor: pointer;
184
184
  position: relative;
@@ -196,20 +196,20 @@ textarea.prompt-editor {
196
196
  .skill-toggle::after {
197
197
  content: '';
198
198
  position: absolute;
199
- top: 3px;
200
- width: 14px;
201
- height: 14px;
199
+ top: calc((var(--toggle-h) - var(--toggle-knob)) / 2);
200
+ width: var(--toggle-knob);
201
+ height: var(--toggle-knob);
202
202
  border-radius: 50%;
203
203
  background: var(--toggle-on);
204
204
  transition: left .2s;
205
205
  }
206
206
 
207
207
  .skill-toggle.on::after {
208
- left: 19px;
208
+ left: calc(var(--toggle-w) - var(--toggle-knob) - (var(--toggle-h) - var(--toggle-knob)) / 2);
209
209
  }
210
210
 
211
211
  .skill-toggle.off::after {
212
- left: 3px;
212
+ left: calc((var(--toggle-h) - var(--toggle-knob)) / 2);
213
213
  }
214
214
 
215
215
  .skill-desc {
@@ -233,7 +233,7 @@ textarea.prompt-editor {
233
233
  color: var(--text);
234
234
  border: 1px solid var(--accent);
235
235
  border-radius: 4px;
236
- font-family: monospace;
236
+ font-family: var(--font-mono);
237
237
  }
238
238
 
239
239
  .custom-model-input:focus {
@@ -243,7 +243,7 @@ textarea.prompt-editor {
243
243
 
244
244
  .cwd-display {
245
245
  display: block;
246
- font-family: monospace;
246
+ font-family: var(--font-mono);
247
247
  font-size: 11px;
248
248
  color: var(--text-dim);
249
249
  padding: 6px 8px;
@@ -0,0 +1,483 @@
1
+ /* ── Tool Use UI ─────────────────────────────────────
2
+ Collapsible tool call groups within agent messages.
3
+ Phase 4 of frontend modernization.
4
+ ───────────────────────────────────────────────────── */
5
+
6
+ /* ── Tool Group Container ── */
7
+ .tool-group {
8
+ margin: 0 0 var(--space-3);
9
+ font-size: var(--text-sm);
10
+ }
11
+
12
+ /* ── Summary Button ── */
13
+ .tool-group-summary {
14
+ display: flex;
15
+ align-items: center;
16
+ gap: var(--space-2);
17
+ background: none;
18
+ border: 1px dashed var(--border);
19
+ border-radius: var(--radius-md);
20
+ color: var(--text-dim);
21
+ cursor: pointer;
22
+ padding: var(--space-1) var(--space-3);
23
+ font-family: var(--font-ui);
24
+ font-size: var(--text-xs);
25
+ transition: color var(--duration-fast), border-color var(--duration-fast);
26
+ width: 100%;
27
+ text-align: left;
28
+ }
29
+
30
+ .tool-group-summary:hover {
31
+ color: var(--text);
32
+ border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
33
+ }
34
+
35
+ .tool-group-summary-text { flex: 1; }
36
+
37
+ .tool-group-duration {
38
+ font-family: var(--font-mono);
39
+ font-size: var(--text-xs);
40
+ color: var(--text-dim);
41
+ }
42
+
43
+ .tool-group-chevron {
44
+ font-size: var(--text-xs);
45
+ transition: transform var(--duration-fast);
46
+ display: inline-block;
47
+ }
48
+
49
+ .tool-group.expanded .tool-group-chevron {
50
+ transform: rotate(180deg);
51
+ }
52
+
53
+ /* ── Status Dots ── */
54
+ .tool-status-dot,
55
+ .tool-dot {
56
+ width: 8px;
57
+ height: 8px;
58
+ border-radius: 50%;
59
+ flex-shrink: 0;
60
+ display: inline-block;
61
+ }
62
+
63
+ .tool-status-dot.running,
64
+ .tool-dot.running {
65
+ background: var(--warning);
66
+ animation: toolDotPulse 1.5s ease-in-out infinite;
67
+ }
68
+
69
+ .tool-status-dot.done,
70
+ .tool-dot.done {
71
+ background: var(--success);
72
+ }
73
+
74
+ .tool-dot.pending {
75
+ background: var(--text-dim);
76
+ opacity: 0.5;
77
+ }
78
+
79
+ .tool-status-dot.error,
80
+ .tool-dot.error {
81
+ background: var(--error);
82
+ }
83
+
84
+ @keyframes toolDotPulse {
85
+ 0%, 100% { opacity: 1; }
86
+ 50% { opacity: 0.4; }
87
+ }
88
+
89
+ /* ── Collapsible Details ── */
90
+ .tool-details {
91
+ overflow: hidden;
92
+ max-height: 2000px;
93
+ transition: max-height var(--duration-slow) ease-out, opacity var(--duration-base);
94
+ padding-left: var(--space-4);
95
+ border-left: 1px solid var(--border);
96
+ margin-left: var(--space-1);
97
+ margin-top: var(--space-1);
98
+ }
99
+
100
+ .tool-details.collapsed {
101
+ max-height: 0;
102
+ opacity: 0;
103
+ pointer-events: none;
104
+ margin-top: 0;
105
+ }
106
+
107
+ /* ── Individual Tool Items ── */
108
+ .tool-item {
109
+ padding: var(--space-1) 0;
110
+ }
111
+
112
+ .tool-item + .tool-item {
113
+ border-top: 1px solid color-mix(in srgb, var(--border) 50%, transparent);
114
+ }
115
+
116
+ .tool-item-header {
117
+ display: flex;
118
+ align-items: center;
119
+ gap: var(--space-2);
120
+ font-size: var(--text-xs);
121
+ }
122
+
123
+ .tool-item-icon {
124
+ flex-shrink: 0;
125
+ }
126
+
127
+ .tool-item-label {
128
+ font-family: var(--font-mono);
129
+ font-size: var(--text-xs);
130
+ color: var(--text);
131
+ flex: 1;
132
+ overflow: hidden;
133
+ text-overflow: ellipsis;
134
+ white-space: nowrap;
135
+ }
136
+
137
+ /* ── Expandable Tool Items ── */
138
+ .tool-item-toggle {
139
+ display: grid;
140
+ grid-template-columns: auto minmax(0, 1fr) auto;
141
+ align-items: start;
142
+ gap: var(--space-2);
143
+ width: 100%;
144
+ padding: 0;
145
+ background: none;
146
+ border: 0;
147
+ color: inherit;
148
+ text-align: left;
149
+ cursor: pointer;
150
+ font-size: var(--text-xs);
151
+ }
152
+
153
+ .tool-item-main {
154
+ display: grid;
155
+ gap: 2px;
156
+ min-width: 0;
157
+ }
158
+
159
+ .tool-item-expandable .tool-item-label {
160
+ white-space: normal;
161
+ word-break: break-word;
162
+ }
163
+
164
+ .tool-item-snippet {
165
+ font-family: var(--font-mono);
166
+ font-size: var(--text-xs);
167
+ color: var(--text-dim);
168
+ word-break: break-word;
169
+ display: -webkit-box;
170
+ -webkit-line-clamp: 2;
171
+ -webkit-box-orient: vertical;
172
+ overflow: hidden;
173
+ }
174
+
175
+ .tool-item-chevron {
176
+ color: var(--text-dim);
177
+ transition: transform var(--duration-fast);
178
+ font-size: 10px;
179
+ }
180
+
181
+ .tool-item.expanded .tool-item-chevron {
182
+ transform: rotate(90deg);
183
+ }
184
+
185
+ .tool-item-details {
186
+ margin-left: 22px;
187
+ padding: 8px 10px;
188
+ border-left: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
189
+ background: color-mix(in srgb, var(--surface) 70%, transparent);
190
+ border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
191
+ }
192
+
193
+ .tool-item-details.collapsed {
194
+ display: none;
195
+ }
196
+
197
+ .tool-item-full {
198
+ margin: 0;
199
+ font-family: var(--font-mono);
200
+ font-size: var(--text-xs);
201
+ color: var(--text-dim);
202
+ white-space: pre-wrap;
203
+ word-break: break-word;
204
+ overflow-x: auto;
205
+ max-height: 260px;
206
+ }
207
+
208
+ .tool-item-time {
209
+ font-family: var(--font-mono);
210
+ font-size: var(--text-xs);
211
+ color: var(--text-dim);
212
+ flex-shrink: 0;
213
+ }
214
+
215
+ /* ── Live Tool Activity ── */
216
+ .tool-activity-live {
217
+ display: flex;
218
+ align-items: center;
219
+ gap: var(--space-2);
220
+ padding: var(--space-1) var(--space-3);
221
+ font-size: var(--text-xs);
222
+ color: var(--text-dim);
223
+ border: 1px dashed var(--border);
224
+ border-radius: var(--radius-md);
225
+ margin-bottom: var(--space-2);
226
+ animation: msgEnterAgent 0.2s ease-out;
227
+ }
228
+
229
+ .tool-activity-live .tool-status-dot {
230
+ animation: toolDotPulse 1.5s ease-in-out infinite;
231
+ background: var(--warning);
232
+ }
233
+
234
+ /* ── Legacy .tool-summary compat (Phase 2 <details>) ── */
235
+ .tool-summary {
236
+ font-size: var(--text-xs);
237
+ color: var(--text-dim);
238
+ margin-bottom: var(--space-2);
239
+ border: 1px dashed var(--border);
240
+ border-radius: var(--radius-md);
241
+ padding: var(--space-1) var(--space-3);
242
+ }
243
+
244
+ .tool-summary summary {
245
+ cursor: pointer;
246
+ user-select: none;
247
+ display: flex;
248
+ align-items: center;
249
+ gap: var(--space-1);
250
+ }
251
+
252
+ .tool-summary summary::before {
253
+ content: '';
254
+ display: inline-block;
255
+ width: 8px;
256
+ height: 8px;
257
+ border-radius: 50%;
258
+ background: var(--success);
259
+ flex-shrink: 0;
260
+ }
261
+
262
+ .tool-summary .tool-log {
263
+ margin-top: var(--space-1);
264
+ padding-top: var(--space-1);
265
+ border-top: 1px dashed var(--border);
266
+ white-space: pre-wrap;
267
+ line-height: 1.6;
268
+ font-family: var(--font-mono);
269
+ }
270
+
271
+ /* ── Reduced Motion ── */
272
+ @media (prefers-reduced-motion: reduce) {
273
+ .tool-status-dot.running,
274
+ .tool-dot.running,
275
+ .tool-activity-live .tool-status-dot {
276
+ animation: none;
277
+ }
278
+ }
279
+
280
+ /* ── Process Block ── */
281
+ .process-block {
282
+ margin: 0 0 var(--space-1);
283
+ font-size: var(--text-sm);
284
+ white-space: normal;
285
+ line-height: 1.3;
286
+ }
287
+
288
+ /* Hide dispatching placeholder when process block is showing */
289
+ .process-block + .msg-content .orchestrate-placeholder {
290
+ display: none;
291
+ }
292
+
293
+ .orchestrate-placeholder {
294
+ font-size: var(--text-xs);
295
+ opacity: 0.6;
296
+ }
297
+
298
+ .process-summary {
299
+ display: flex;
300
+ align-items: center;
301
+ gap: var(--space-2);
302
+ width: 100%;
303
+ background: color-mix(in srgb, var(--surface) 50%, transparent);
304
+ border: 1px solid var(--border);
305
+ border-radius: var(--radius-md);
306
+ color: var(--text-dim);
307
+ cursor: pointer;
308
+ padding: var(--space-1) var(--space-3);
309
+ font-size: var(--text-xs);
310
+ transition: border-color var(--duration-fast);
311
+ }
312
+
313
+ .process-summary:hover {
314
+ border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
315
+ }
316
+
317
+ .process-dot {
318
+ width: 6px;
319
+ height: 6px;
320
+ border-radius: 50%;
321
+ flex-shrink: 0;
322
+ }
323
+
324
+ .process-dot.running {
325
+ background: var(--warning);
326
+ animation: processDotPulse 1.5s ease-in-out infinite;
327
+ will-change: opacity;
328
+ }
329
+
330
+ .process-dot.done { background: var(--success); }
331
+
332
+ @keyframes processDotPulse {
333
+ 0%, 100% { opacity: 1; }
334
+ 50% { opacity: 0.4; }
335
+ }
336
+
337
+ .process-summary-text { flex: 1; text-align: left; }
338
+ .process-duration { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-dim); }
339
+ .process-chevron { font-size: 10px; color: var(--text-dim); transition: transform var(--duration-fast); }
340
+
341
+ .process-details {
342
+ display: grid;
343
+ grid-template-rows: 1fr;
344
+ padding-left: var(--space-3);
345
+ border-left: 1px solid var(--border);
346
+ margin-left: 3px;
347
+ margin-top: 2px;
348
+ transition: grid-template-rows var(--duration-slow);
349
+ }
350
+
351
+ .process-block.collapsed .process-details {
352
+ grid-template-rows: 0fr;
353
+ }
354
+
355
+ .process-details > .process-steps-inner {
356
+ overflow: hidden;
357
+ }
358
+
359
+ .process-step {
360
+ display: grid;
361
+ gap: 4px;
362
+ padding: 2px 0;
363
+ font-size: var(--text-xs);
364
+ }
365
+
366
+ .process-step-toggle {
367
+ display: grid;
368
+ grid-template-columns: auto auto minmax(0, 1fr) auto;
369
+ align-items: start;
370
+ gap: var(--space-2);
371
+ width: 100%;
372
+ padding: 0;
373
+ background: none;
374
+ border: 0;
375
+ color: inherit;
376
+ text-align: left;
377
+ cursor: pointer;
378
+ }
379
+
380
+ .process-step-dot {
381
+ width: 5px;
382
+ height: 5px;
383
+ border-radius: 50%;
384
+ flex-shrink: 0;
385
+ }
386
+
387
+ .process-step-dot.running {
388
+ background: var(--warning);
389
+ animation: processDotPulse 1.5s ease-in-out infinite;
390
+ }
391
+
392
+ .process-step-dot.done { background: var(--success); }
393
+ .process-step-dot.error { background: var(--error); }
394
+
395
+ .process-step-badge {
396
+ font-size: 9px;
397
+ font-weight: 700;
398
+ letter-spacing: 0.5px;
399
+ padding: 1px 5px;
400
+ border-radius: 3px;
401
+ text-transform: uppercase;
402
+ font-family: var(--font-mono);
403
+ }
404
+
405
+ .process-step-badge.thinking {
406
+ background: color-mix(in srgb, var(--accent) 15%, transparent);
407
+ color: var(--accent);
408
+ }
409
+
410
+ .process-step-badge.tool {
411
+ background: color-mix(in srgb, var(--warning) 15%, transparent);
412
+ color: var(--warning);
413
+ }
414
+
415
+ .process-step-badge.search {
416
+ background: color-mix(in srgb, var(--success) 15%, transparent);
417
+ color: var(--success);
418
+ }
419
+
420
+ .process-step-main {
421
+ display: grid;
422
+ gap: 2px;
423
+ min-width: 0;
424
+ }
425
+
426
+ .process-step-label {
427
+ color: var(--text);
428
+ word-break: break-word;
429
+ }
430
+
431
+ .process-step-snippet {
432
+ color: var(--text-dim);
433
+ word-break: break-word;
434
+ display: -webkit-box;
435
+ -webkit-line-clamp: 1;
436
+ -webkit-box-orient: vertical;
437
+ overflow: hidden;
438
+ }
439
+
440
+ .process-step-chevron {
441
+ color: var(--text-dim);
442
+ transition: transform var(--duration-fast);
443
+ }
444
+
445
+ .process-step.expanded .process-step-chevron {
446
+ transform: rotate(90deg);
447
+ }
448
+
449
+ .process-step-details {
450
+ margin-left: 22px;
451
+ padding: 8px 10px;
452
+ border-left: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
453
+ background: color-mix(in srgb, var(--surface) 70%, transparent);
454
+ border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
455
+ }
456
+
457
+ .process-step-details.collapsed {
458
+ display: none;
459
+ }
460
+
461
+ .process-step-full {
462
+ margin: 0;
463
+ font-family: var(--font-mono);
464
+ font-size: var(--text-xs);
465
+ color: var(--text-dim);
466
+ white-space: pre-wrap;
467
+ word-break: break-word;
468
+ overflow-x: auto;
469
+ max-height: 600px;
470
+ }
471
+
472
+ .process-step-label {
473
+ word-break: break-word;
474
+ overflow-wrap: break-word;
475
+ white-space: normal;
476
+ }
477
+
478
+ @media (prefers-reduced-motion: reduce) {
479
+ .process-dot.running,
480
+ .process-step-dot.running {
481
+ animation: none;
482
+ }
483
+ }