@openav/cli 1.0.40 → 1.0.41

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 (597) hide show
  1. package/README.md +621 -38
  2. package/bin/stt/requirements.txt +7 -19
  3. package/bin/stt/stt_server.py +18 -93
  4. package/install.cjs +156 -2
  5. package/llms.txt +34 -7
  6. package/package.json +9 -9
  7. package/web/dist/assets/AssistantsView-dhdYVIy0.js +1 -0
  8. package/web/dist/assets/AutomationView-D1dU5ZV7.js +1 -0
  9. package/web/dist/assets/ChannelConfigView-CEPVZntU.js +8 -0
  10. package/web/dist/assets/ChartsView-DdN-beHW.js +1 -0
  11. package/web/dist/assets/ConnectorsView-CseCss9C.js +1 -0
  12. package/web/dist/assets/FileTreeView-Dnc3-gRF.js +1 -0
  13. package/web/dist/assets/HookConfigView-DA2h4HdJ.js +1 -0
  14. package/web/dist/assets/InputArea-DAgOOjOc.js +14 -0
  15. package/web/dist/assets/MemoryView-D6OUBi4-.js +1 -0
  16. package/web/dist/assets/MessageBubble-CCTRbIMZ.css +1 -0
  17. package/web/dist/assets/MessageBubble-CV16DZMG.js +453 -0
  18. package/web/dist/assets/ModelsView-BuqD9vWl.js +1 -0
  19. package/web/dist/assets/PluginsView-CIziDHFJ.js +2 -0
  20. package/web/dist/assets/ProjectsView-c6faWy32.js +1 -0
  21. package/web/dist/assets/SessionGrid-BZJHcklh.js +4 -0
  22. package/web/dist/assets/SessionGrid-Bk5CAXEn.css +1 -0
  23. package/web/dist/assets/SettingsModal-BqdGEGW-.js +4 -0
  24. package/web/dist/assets/SkillsView-CB6CKkmb.js +1 -0
  25. package/web/dist/assets/TemplatesTab-B8efVwVZ.js +1 -0
  26. package/web/dist/assets/ThreadsView-CDoM0aNb.js +2 -0
  27. package/web/dist/assets/ToolsView-BG-xsWsO.js +1 -0
  28. package/web/dist/assets/abnfDiagram-WEYOIA3C-DGUPHfRO.js +1 -0
  29. package/web/dist/assets/agentIconSet-Btsb_SC4.js +1 -0
  30. package/web/dist/assets/api-CCt9DRQm.js +1 -0
  31. package/web/dist/assets/arc-Y1ARJVZ4.js +1 -0
  32. package/web/dist/assets/architecture-WOLXFQ4H-BUERx_-B.js +1 -0
  33. package/web/dist/assets/architectureDiagram-ZHVYKT53-BPsQL7O5.js +36 -0
  34. package/web/dist/assets/array-BifhSqXX.js +1 -0
  35. package/web/dist/assets/blockDiagram-RJAE7QA3-pB7EXp6p.js +140 -0
  36. package/web/dist/assets/c4Diagram-XDPPPE54-BnPeCq_L.js +38 -0
  37. package/web/dist/assets/channel-CSrLW66f.js +1 -0
  38. package/web/dist/assets/channelMeta-BGQXQxgj.js +1 -0
  39. package/web/dist/assets/chunk-2E7WHVMD-xX282MrC.js +88 -0
  40. package/web/dist/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  41. package/web/dist/assets/chunk-4EMNKR2T-BAQDLVqt.js +1 -0
  42. package/web/dist/assets/chunk-55XCU76K-BwAE3Eqq.js +1 -0
  43. package/web/dist/assets/{chunk-5VM5RSS4-CYl9mwa-.js → chunk-5VM5RSS4-ZNzvKenW.js} +2 -2
  44. package/web/dist/assets/chunk-7S6XSTFO-DwwaClMo.js +2 -0
  45. package/web/dist/assets/chunk-AQDTSKZB-DHG5Km_p.js +72 -0
  46. package/web/dist/assets/chunk-DSNLSHJZ-a6-B52h-.js +129 -0
  47. package/web/dist/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  48. package/web/dist/assets/chunk-HAGFOTED-DZMcAj3o.js +62 -0
  49. package/web/dist/assets/chunk-HNE4Q36P-gl_4xI6B.js +1 -0
  50. package/web/dist/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  51. package/web/dist/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  52. package/web/dist/assets/chunk-NGNAAXSQ-Bw6tHVuc.js +136 -0
  53. package/web/dist/assets/chunk-NQOKRVIF-B8Q-YmhL.js +213 -0
  54. package/web/dist/assets/chunk-UHW7PFBP-isP5lYMB.js +1 -0
  55. package/web/dist/assets/chunk-VQ5W62QI-Bn68syIc.js +1 -0
  56. package/web/dist/assets/chunk-WQQL4CDK-CdZpmEYA.js +10 -0
  57. package/web/dist/assets/chunk-XXDRQBXY-CnbRkih_.js +1 -0
  58. package/web/dist/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  59. package/web/dist/assets/chunk-YZO67HFG-DX9GhJkR.js +1 -0
  60. package/web/dist/assets/chunk-ZAUX2LTX-Ki22UlYp.js +1 -0
  61. package/web/dist/assets/chunk-ZCHMQSOR-BVj0Zx6L.js +2 -0
  62. package/web/dist/assets/classDiagram-v2-4MYWR3UA-C7PV1veb.js +217 -0
  63. package/web/dist/assets/cn-rx4uumOJ.js +1 -0
  64. package/web/dist/assets/common-BHXgEvgk.js +192 -0
  65. package/web/dist/assets/cose-bilkent-JH36ORCC-DHFtpmij.js +1 -0
  66. package/web/dist/assets/cynefin-EF2NZ3EQ-1rI2T0cc.js +1 -0
  67. package/web/dist/assets/cynefinDiagram-WF24UDRP-C8O_v8xU.js +62 -0
  68. package/web/dist/assets/cytoscape.esm-BY277UBX.js +321 -0
  69. package/web/dist/assets/dagre-NK4GIZVX-BWGoHIUd.js +4 -0
  70. package/web/dist/assets/defaultLocale-BFoDCU3G.js +1 -0
  71. package/web/dist/assets/diagram-CBK3MWTC-kf9v35RN.js +24 -0
  72. package/web/dist/assets/diagram-I5XIIV2D-Ro-ig56_.js +24 -0
  73. package/web/dist/assets/diagram-ODIL2UCW-CtGga01G.js +30 -0
  74. package/web/dist/assets/diagram-PFBEJUXE-C14lcR-6.js +3 -0
  75. package/web/dist/assets/diagram-RJA3I4VV-BBbqaSKU.js +41 -0
  76. package/web/dist/assets/diagram-TYUNFSNR-BynvjQsr.js +200 -0
  77. package/web/dist/assets/dist-CumnGVmJ.js +1 -0
  78. package/web/dist/assets/ebnfDiagram-V4P3TTPT-BdqUCZnk.js +1 -0
  79. package/web/dist/assets/elk-QONTBCTQ-CYCP_9Jy.js +27 -0
  80. package/web/dist/assets/erDiagram-KYQIGQAA-C3L55l_F.js +99 -0
  81. package/web/dist/assets/eventmodeling-K75KTNOO-CTQdA_1v.js +1 -0
  82. package/web/dist/assets/flowDiagram-IUGLLWBU-COLKOzBg.js +1 -0
  83. package/web/dist/assets/ganttDiagram-R7GPNTJY-Be4Qk8Hx.js +292 -0
  84. package/web/dist/assets/gitGraph-VSP46ZUC-B59HXvj1.js +1 -0
  85. package/web/dist/assets/gitGraphDiagram-PDYL7XHY-C2A0VA6q.js +106 -0
  86. package/web/dist/assets/graphlib-DS17s2tU.js +1 -0
  87. package/web/dist/assets/icons-BvYhTENi.js +1 -0
  88. package/web/dist/assets/index-BNI6CNsY.css +1 -0
  89. package/web/dist/assets/index-BX-d2OBW.js +130 -0
  90. package/web/dist/assets/info-OHQRW6UA-DWlkKvmi.js +1 -0
  91. package/web/dist/assets/infoDiagram-MVDRKAX5-B8e6dTjN.js +2 -0
  92. package/web/dist/assets/init-C-OQMol4.js +1 -0
  93. package/web/dist/assets/ishikawaDiagram-HPEHV2GE-udXPYi9H.js +70 -0
  94. package/web/dist/assets/journeyDiagram-BOSHW7O7-DTyDkf5d.js +139 -0
  95. package/web/dist/assets/kanban-definition-FNSA4HC5-BXgV20qe.js +89 -0
  96. package/web/dist/assets/katex-B940_AAO.js +257 -0
  97. package/web/dist/assets/line-DVabuQAu.js +1 -0
  98. package/web/dist/assets/linear-gLkGxN9m.js +1 -0
  99. package/web/dist/assets/markdown-DAQZeY5V.js +14 -0
  100. package/web/dist/assets/mermaid-parser.core-BrXnuEs7.js +7 -0
  101. package/web/dist/assets/mermaid.core-BGbz3k1k.js +44 -0
  102. package/web/dist/assets/mindmap-definition-6OY57UG3-DbtP-bmk.js +98 -0
  103. package/web/dist/assets/ordinal-BDEzSJ7C.js +1 -0
  104. package/web/dist/assets/packet-JDAUHWVQ-iW8w3JF5.js +1 -0
  105. package/web/dist/assets/panels-DYiQiVWh.js +1 -0
  106. package/web/dist/assets/path-fybaL0A-.js +1 -0
  107. package/web/dist/assets/pegDiagram-ECIUJNBX-rBWJbaq4.js +1 -0
  108. package/web/dist/assets/pie-XZMESJXO-KHXEq-Yx.js +1 -0
  109. package/web/dist/assets/pieDiagram-GNMPY74T-DsW7yHm0.js +39 -0
  110. package/web/dist/assets/preload-helper-BLdHbfdN.js +1 -0
  111. package/web/dist/assets/profileChange-xrd7jkii.js +1 -0
  112. package/web/dist/assets/quadrantDiagram-D57K4MC3-DF_pwNhM.js +7 -0
  113. package/web/dist/assets/radar-ABXABTNO-BkAUJ_Zd.js +1 -0
  114. package/web/dist/assets/railroad-I3PHUGI6-BdnWRdGt.js +1 -0
  115. package/web/dist/assets/railroad-abnf-LNEFI6M7-C8K36-8b.js +1 -0
  116. package/web/dist/assets/railroad-ebnf-DWYD2UWJ-BlS25T3f.js +1 -0
  117. package/web/dist/assets/railroad-peg-JR7BVNR7-CBKGDi75.js +1 -0
  118. package/web/dist/assets/railroadDiagram-Y72NRBL7-DmrlMIvv.js +1 -0
  119. package/web/dist/assets/react-vendor-BlngCquv.js +19 -0
  120. package/web/dist/assets/requirementDiagram-EQYSW5RA-cvUq9H3I.js +84 -0
  121. package/web/dist/assets/rolldown-runtime-COiEfhsA.js +1 -0
  122. package/web/dist/assets/rough.esm-Dy-Kn_BL.js +1 -0
  123. package/web/dist/assets/sankeyDiagram-SY24JHO5-BdxXAbER.js +40 -0
  124. package/web/dist/assets/sequenceDiagram-BLEHNHQU-Druumi0k.js +169 -0
  125. package/web/dist/assets/settingsStore-RLUAWgIk.js +1 -0
  126. package/web/dist/assets/sizeCapture-INFHLROL-3uHXrFqA.js +1 -0
  127. package/web/dist/assets/src-49LUQhkG.js +1 -0
  128. package/web/dist/assets/src-BWF7jMDv.js +1 -0
  129. package/web/dist/assets/state-_ZfNVAsd.js +1 -0
  130. package/web/dist/assets/stateDiagram-v2-A6IESKWZ-Jgh6qlrr.js +291 -0
  131. package/web/dist/assets/sttLanguages-aqoVC79g.js +2 -0
  132. package/web/dist/assets/swimlanes-B3ENRKFQ-4xKumvXQ.js +1 -0
  133. package/web/dist/assets/swimlanesDiagram-AYQRV4AK-bHcLKL3d.js +8 -0
  134. package/web/dist/assets/timeline-definition-JXYKGLGB-BYKhga9x.js +120 -0
  135. package/web/dist/assets/treeView-D4JQ5SDB-6-eTVUuH.js +1 -0
  136. package/web/dist/assets/treemap-SAJKECNS-Dxl8yCLE.js +1 -0
  137. package/web/dist/assets/ttsSettings-DHo3OsOq.js +15 -0
  138. package/web/dist/assets/types-JssxRFJn.js +1 -0
  139. package/web/dist/assets/useTranslation-BGmCDuQI.js +1 -0
  140. package/web/dist/assets/usecaseDiagram-WPOLBNNX-BaQ8nAv9.js +328 -0
  141. package/web/dist/assets/vennDiagram-Q3Y3IDCW-DkPvfmfT.js +34 -0
  142. package/web/dist/assets/wardley-7MLQ67FV-CZtI22aa.js +1 -0
  143. package/web/dist/assets/wardleyDiagram-IVAIDKWA-Dgi2OWQ4.js +78 -0
  144. package/web/dist/assets/websocket-C9e3h7VU.js +1 -0
  145. package/web/dist/assets/whatsNewStore-Bf_7lW8o.js +1 -0
  146. package/web/dist/assets/workspaceSemantics-RaIRer76.js +3 -0
  147. package/web/dist/assets/xychartDiagram-4URNHDU4-Ch96dep-.js +7 -0
  148. package/web/dist/favicon.svg +18 -39
  149. package/web/dist/icons/icon-1024.png +0 -0
  150. package/web/dist/icons/icon-180.png +0 -0
  151. package/web/dist/icons/icon-192.png +0 -0
  152. package/web/dist/icons/icon-512.png +0 -0
  153. package/web/dist/icons/icon-maskable-512.png +0 -0
  154. package/web/dist/index.html +46 -12
  155. package/web/dist/logo.svg +25 -39
  156. package/web/dist/manifest.webmanifest +2 -2
  157. package/web/dist/assets/AssistantsView-BiUiWjhF.js +0 -1
  158. package/web/dist/assets/AutomationView-Dcf_yNaI.js +0 -1
  159. package/web/dist/assets/ChannelConfigView-BLnxsMGm.js +0 -8
  160. package/web/dist/assets/ConnectorsView-CX3E6X6c.js +0 -1
  161. package/web/dist/assets/DesignSystemView--x-P-lpD.js +0 -1
  162. package/web/dist/assets/Drawer-CjAgqH3B.js +0 -1
  163. package/web/dist/assets/FileTreeView-Chb_fzTK.js +0 -11
  164. package/web/dist/assets/HookConfigView-EafYlWdN.js +0 -1
  165. package/web/dist/assets/InputArea-BbHslX7b.js +0 -50
  166. package/web/dist/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  167. package/web/dist/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  168. package/web/dist/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  169. package/web/dist/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  170. package/web/dist/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  171. package/web/dist/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  172. package/web/dist/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  173. package/web/dist/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  174. package/web/dist/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  175. package/web/dist/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  176. package/web/dist/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  177. package/web/dist/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  178. package/web/dist/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  179. package/web/dist/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  180. package/web/dist/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  181. package/web/dist/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  182. package/web/dist/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  183. package/web/dist/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  184. package/web/dist/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  185. package/web/dist/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  186. package/web/dist/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  187. package/web/dist/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  188. package/web/dist/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  189. package/web/dist/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  190. package/web/dist/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  191. package/web/dist/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  192. package/web/dist/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  193. package/web/dist/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  194. package/web/dist/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  195. package/web/dist/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  196. package/web/dist/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  197. package/web/dist/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  198. package/web/dist/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  199. package/web/dist/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  200. package/web/dist/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  201. package/web/dist/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  202. package/web/dist/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  203. package/web/dist/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  204. package/web/dist/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  205. package/web/dist/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  206. package/web/dist/assets/ModelsView-CGN5Nljr.js +0 -1
  207. package/web/dist/assets/PluginsView-CDiJgvI8.js +0 -2
  208. package/web/dist/assets/ProjectsView-C5Usmwqy.js +0 -1
  209. package/web/dist/assets/SessionGrid-BGpz0-op.css +0 -1
  210. package/web/dist/assets/SessionGrid-Drxg0r_u.js +0 -4
  211. package/web/dist/assets/SettingsModal-Cmts6aBG.js +0 -10
  212. package/web/dist/assets/Skeleton-Dsk6B0U3.js +0 -1
  213. package/web/dist/assets/SkillsView-TEDR_3XX.js +0 -1
  214. package/web/dist/assets/TemplatesTab-DtN5Kdgh.js +0 -1
  215. package/web/dist/assets/ToolsView-VukZnIt1.js +0 -1
  216. package/web/dist/assets/VizCardsSkeleton-C_GaEfXd.js +0 -1
  217. package/web/dist/assets/abap-BdImnpbu.js +0 -1
  218. package/web/dist/assets/abnfDiagram-YUKMZFIV-BIFw6B_N.js +0 -1
  219. package/web/dist/assets/actionscript-3-B3316cI-.js +0 -1
  220. package/web/dist/assets/ada-bCR0ucgS.js +0 -1
  221. package/web/dist/assets/ahk-CsyLZFj1.js +0 -1
  222. package/web/dist/assets/ahk2-8Zs4aa1G.js +0 -1
  223. package/web/dist/assets/andromeeda-C4gqWexZ.js +0 -1
  224. package/web/dist/assets/angular-html-DA-rfuFy.js +0 -1
  225. package/web/dist/assets/angular-ts-BrjP3tb8.js +0 -1
  226. package/web/dist/assets/apache-Pmp26Uib.js +0 -1
  227. package/web/dist/assets/apex-DhZFqWV2.js +0 -1
  228. package/web/dist/assets/apl-CORt7UWP.js +0 -1
  229. package/web/dist/assets/applescript-Co6uUVPk.js +0 -1
  230. package/web/dist/assets/ara-BRHolxvo.js +0 -1
  231. package/web/dist/assets/arc-BZQ951h9.js +0 -1
  232. package/web/dist/assets/architectureDiagram-47P4ROYG-BP5qiXzf.js +0 -36
  233. package/web/dist/assets/asciidoc-CSVQ5wI8.js +0 -1
  234. package/web/dist/assets/asm-D_Q5rh1f.js +0 -1
  235. package/web/dist/assets/astro-HNnZUWAn.js +0 -1
  236. package/web/dist/assets/aurora-x-D-2ljcwZ.js +0 -1
  237. package/web/dist/assets/awk-DMzUqQB5.js +0 -1
  238. package/web/dist/assets/ayu-dark-DYE7WIF3.js +0 -1
  239. package/web/dist/assets/ayu-light-BA47KaF1.js +0 -1
  240. package/web/dist/assets/ayu-mirage-32ctXXKs.js +0 -1
  241. package/web/dist/assets/ballerina-BFfxhgS-.js +0 -1
  242. package/web/dist/assets/bat-CickPsom.js +0 -1
  243. package/web/dist/assets/beancount-k_qm7-4y.js +0 -1
  244. package/web/dist/assets/berry-uYugtg8r.js +0 -1
  245. package/web/dist/assets/bibtex-CHM0blh-.js +0 -1
  246. package/web/dist/assets/bicep-Bmn6On1c.js +0 -1
  247. package/web/dist/assets/bird2-Bx8U0n9b.js +0 -1
  248. package/web/dist/assets/blade-2xfisSek.js +0 -1
  249. package/web/dist/assets/blockDiagram-E7TT5TSB-DtRpcE7F.js +0 -140
  250. package/web/dist/assets/bsl-DlhNcFeZ.js +0 -1
  251. package/web/dist/assets/c-BIGW1oBm.js +0 -1
  252. package/web/dist/assets/c3-Dp5svz6Z.js +0 -1
  253. package/web/dist/assets/c4Diagram-CRA5TL53-Gdzn8UBh.js +0 -38
  254. package/web/dist/assets/cadence-Bv_4Rxtq.js +0 -1
  255. package/web/dist/assets/cairo-KRGpt6FW.js +0 -1
  256. package/web/dist/assets/catppuccin-frappe-CZL1YF0i.js +0 -1
  257. package/web/dist/assets/catppuccin-latte-DH-8KZSZ.js +0 -1
  258. package/web/dist/assets/catppuccin-macchiato-B7yYVSCf.js +0 -1
  259. package/web/dist/assets/catppuccin-mocha-Ct7hS0mc.js +0 -1
  260. package/web/dist/assets/channel-BND6_KSH.js +0 -1
  261. package/web/dist/assets/chapel-DTp_pixX.js +0 -1
  262. package/web/dist/assets/chunk-2Q5K7J3B-3U6HMlsm.js +0 -1
  263. package/web/dist/assets/chunk-7TKQ45FW-Dn6ktcY5.js +0 -1
  264. package/web/dist/assets/chunk-AW2ZBBNX-De0QX6p1.js +0 -88
  265. package/web/dist/assets/chunk-FVRAUYC3-CpXDfvz4.js +0 -2
  266. package/web/dist/assets/chunk-HTAEGDNF-D1KDvcDd.js +0 -1
  267. package/web/dist/assets/chunk-JWPE2WC7-umm4A-fq.js +0 -1
  268. package/web/dist/assets/chunk-KQW6MTUR-JYH94hpE.js +0 -1
  269. package/web/dist/assets/chunk-XXDRQBXY-CSlCFByc.js +0 -1
  270. package/web/dist/assets/clarity-Dn5IMItf.js +0 -1
  271. package/web/dist/assets/classDiagram-v2-K4WV4PDN-DnFwS0qN.js +0 -217
  272. package/web/dist/assets/clojure-P80f7IUj.js +0 -1
  273. package/web/dist/assets/cmake-D1j8_8rp.js +0 -1
  274. package/web/dist/assets/cobol-nBiQ_Alo.js +0 -1
  275. package/web/dist/assets/codeowners-Bp6g37R7.js +0 -1
  276. package/web/dist/assets/codeql-DsOJ9woJ.js +0 -1
  277. package/web/dist/assets/coffee-Ch7k5sss.js +0 -1
  278. package/web/dist/assets/common-lisp-Cg-RD9OK.js +0 -1
  279. package/web/dist/assets/coq-C7JzOVbR.js +0 -1
  280. package/web/dist/assets/cose-bilkent-JH36ORCC-BxUTUyep.js +0 -1
  281. package/web/dist/assets/cpp-BMRokrvK.js +0 -1
  282. package/web/dist/assets/crystal-DGywbUpC.js +0 -1
  283. package/web/dist/assets/csharp-DSvCPggb.js +0 -1
  284. package/web/dist/assets/css-CLj8gQPS.js +0 -1
  285. package/web/dist/assets/csv-fuZLfV_i.js +0 -1
  286. package/web/dist/assets/cue-D82EKSYY.js +0 -1
  287. package/web/dist/assets/cynefin-EF2NZ3EQ-CiMvulJr.js +0 -141
  288. package/web/dist/assets/cynefinDiagram-3GCD6N5R-DuXFORdW.js +0 -62
  289. package/web/dist/assets/cypher-COkxafJQ.js +0 -1
  290. package/web/dist/assets/cytoscape.esm-Ix0LnXOy.js +0 -331
  291. package/web/dist/assets/d-85-TOEBH.js +0 -1
  292. package/web/dist/assets/dagre-W4DXFKR2-DzMZHXci.js +0 -4
  293. package/web/dist/assets/dark-plus-C3mMm8J8.js +0 -1
  294. package/web/dist/assets/dart-bE4Kk8sk.js +0 -1
  295. package/web/dist/assets/dax-CEL-wOlO.js +0 -1
  296. package/web/dist/assets/defaultLocale-DX6XiGOO.js +0 -1
  297. package/web/dist/assets/desktop-BmXAJ9_W.js +0 -1
  298. package/web/dist/assets/diagram-2UJZ2QOL-B6tO5G1v.js +0 -200
  299. package/web/dist/assets/diagram-OVF4WLC6-DRZt8tGc.js +0 -24
  300. package/web/dist/assets/diagram-PFPMY2P6-DGh6IecR.js +0 -30
  301. package/web/dist/assets/diagram-UMYRVEAY-BLbnt0yT.js +0 -24
  302. package/web/dist/assets/diagram-YEKJPTXX-C-S5DVhj.js +0 -41
  303. package/web/dist/assets/diagram-ZIFT7M5P-JrGHTWbo.js +0 -3
  304. package/web/dist/assets/diff-D97Zzqfu.js +0 -1
  305. package/web/dist/assets/docker-BcOcwvcX.js +0 -1
  306. package/web/dist/assets/dotenv-Da5cRb03.js +0 -1
  307. package/web/dist/assets/dracula-BzJJZx-M.js +0 -1
  308. package/web/dist/assets/dracula-soft-BXkSAIEj.js +0 -1
  309. package/web/dist/assets/dream-maker-BtqSS_iP.js +0 -1
  310. package/web/dist/assets/ebnfDiagram-VR2GEFS7-DPXA-YOi.js +0 -1
  311. package/web/dist/assets/edge-FbVlp4U3.js +0 -1
  312. package/web/dist/assets/elixir-CkH2-t6x.js +0 -1
  313. package/web/dist/assets/elk-IJKZMXRS-CINeWt2W.js +0 -27
  314. package/web/dist/assets/elm-DbKCFpqz.js +0 -1
  315. package/web/dist/assets/emacs-lisp-C_m_b--Z.js +0 -1
  316. package/web/dist/assets/erDiagram-O2IAPWRE-PPaHmqA1.js +0 -99
  317. package/web/dist/assets/erb-DXfck5VN.js +0 -1
  318. package/web/dist/assets/erlang-DsQrWhSR.js +0 -1
  319. package/web/dist/assets/everforest-dark-BgDCqdQA.js +0 -1
  320. package/web/dist/assets/everforest-light-C8M2exoo.js +0 -1
  321. package/web/dist/assets/fennel-BYunw83y.js +0 -1
  322. package/web/dist/assets/fish-BvzEVeQv.js +0 -1
  323. package/web/dist/assets/flowDiagram-OXPTDLAJ-t-u0QXEA.js +0 -213
  324. package/web/dist/assets/fluent-C4IJs8-o.js +0 -1
  325. package/web/dist/assets/fortran-fixed-form-CkoXwp7k.js +0 -1
  326. package/web/dist/assets/fortran-free-form-BxgE0vQu.js +0 -1
  327. package/web/dist/assets/fsharp-CXgrBDvD.js +0 -1
  328. package/web/dist/assets/ganttDiagram-R7TSEDQI-Bw49ZD_b.js +0 -292
  329. package/web/dist/assets/gdresource-TyuKm33G.js +0 -1
  330. package/web/dist/assets/gdscript-DqcFQ5yU.js +0 -1
  331. package/web/dist/assets/gdshader-DkwncUOv.js +0 -1
  332. package/web/dist/assets/genie-D0YGMca9.js +0 -1
  333. package/web/dist/assets/gherkin-DyxjwDmM.js +0 -1
  334. package/web/dist/assets/git-commit-F4YmCXRG.js +0 -1
  335. package/web/dist/assets/git-rebase-r7XF79zn.js +0 -1
  336. package/web/dist/assets/gitGraphDiagram-XJZIOB7I-BAfOqeeg.js +0 -106
  337. package/web/dist/assets/github-dark-DHJKELXO.js +0 -1
  338. package/web/dist/assets/github-dark-default-Cuk6v7N8.js +0 -1
  339. package/web/dist/assets/github-dark-dimmed-DH5Ifo-i.js +0 -1
  340. package/web/dist/assets/github-dark-high-contrast-E3gJ1_iC.js +0 -1
  341. package/web/dist/assets/github-light-DAi9KRSo.js +0 -1
  342. package/web/dist/assets/github-light-default-D7oLnXFd.js +0 -1
  343. package/web/dist/assets/github-light-high-contrast-BfjtVDDH.js +0 -1
  344. package/web/dist/assets/gleam-BspZqrRM.js +0 -1
  345. package/web/dist/assets/glimmer-js-ByusRIyA.js +0 -1
  346. package/web/dist/assets/glimmer-ts-BfAWNZQY.js +0 -1
  347. package/web/dist/assets/glsl-DplSGwfg.js +0 -1
  348. package/web/dist/assets/gn-n2N0HUVH.js +0 -1
  349. package/web/dist/assets/gnuplot-DdkO51Og.js +0 -1
  350. package/web/dist/assets/go-C27-OAKa.js +0 -1
  351. package/web/dist/assets/graph-Bn3Yngep.js +0 -1
  352. package/web/dist/assets/graphql-ChdNCCLP.js +0 -1
  353. package/web/dist/assets/groovy-gcz8RCvz.js +0 -1
  354. package/web/dist/assets/gruvbox-dark-hard-CFHQjOhq.js +0 -1
  355. package/web/dist/assets/gruvbox-dark-medium-GsRaNv29.js +0 -1
  356. package/web/dist/assets/gruvbox-dark-soft-CVdnzihN.js +0 -1
  357. package/web/dist/assets/gruvbox-light-hard-CH1njM8p.js +0 -1
  358. package/web/dist/assets/gruvbox-light-medium-DRw_LuNl.js +0 -1
  359. package/web/dist/assets/gruvbox-light-soft-hJgmCMqR.js +0 -1
  360. package/web/dist/assets/hack-BWmVpMyf.js +0 -1
  361. package/web/dist/assets/haml-D5jkg6IW.js +0 -1
  362. package/web/dist/assets/handlebars-BpdQsYii.js +0 -1
  363. package/web/dist/assets/haskell-Df6bDoY_.js +0 -1
  364. package/web/dist/assets/haxe-CfZj7gIn.js +0 -1
  365. package/web/dist/assets/hcl-BWvSN4gD.js +0 -1
  366. package/web/dist/assets/hjson-D5-asLiD.js +0 -1
  367. package/web/dist/assets/hlsl-D3lLCCz7.js +0 -1
  368. package/web/dist/assets/horizon-BUw7H-hv.js +0 -1
  369. package/web/dist/assets/horizon-bright-CUuTKBJd.js +0 -1
  370. package/web/dist/assets/houston-DnULxvSX.js +0 -1
  371. package/web/dist/assets/html-derivative-DlHx6ybY.js +0 -1
  372. package/web/dist/assets/html-pp8916En.js +0 -1
  373. package/web/dist/assets/http-jrhK8wxY.js +0 -1
  374. package/web/dist/assets/hurl-irOxFIW8.js +0 -1
  375. package/web/dist/assets/hxml-2-FPmUDs.js +0 -1
  376. package/web/dist/assets/hy-DFXneXwc.js +0 -1
  377. package/web/dist/assets/icons-Bm_ZzSAy.js +0 -964
  378. package/web/dist/assets/imba-DGztddWO.js +0 -1
  379. package/web/dist/assets/index-CeeLdENM.js +0 -677
  380. package/web/dist/assets/index-Ceez9lYk.css +0 -1
  381. package/web/dist/assets/infoDiagram-5W2HQ5XZ-Bv4RBxYW.js +0 -2
  382. package/web/dist/assets/ini-BEwlwnbL.js +0 -1
  383. package/web/dist/assets/init-Gi6I4Gst.js +0 -1
  384. package/web/dist/assets/ishikawaDiagram-K3B6WC7H-DEpj0bRp.js +0 -70
  385. package/web/dist/assets/java-CylS5w8V.js +0 -1
  386. package/web/dist/assets/javascript-wDzz0qaB.js +0 -1
  387. package/web/dist/assets/jinja-f2NsQr07.js +0 -1
  388. package/web/dist/assets/jison-wvAkD_A8.js +0 -1
  389. package/web/dist/assets/journeyDiagram-COXZFDF6-MJu84Iiz.js +0 -139
  390. package/web/dist/assets/json-Cp-IABpG.js +0 -1
  391. package/web/dist/assets/json5-C9tS-k6U.js +0 -1
  392. package/web/dist/assets/jsonc-Des-eS-w.js +0 -1
  393. package/web/dist/assets/jsonl-DcaNXYhu.js +0 -1
  394. package/web/dist/assets/jsonnet-DFQXde-d.js +0 -1
  395. package/web/dist/assets/jssm-C2t-YnRu.js +0 -1
  396. package/web/dist/assets/jsx-g9-lgVsj.js +0 -1
  397. package/web/dist/assets/julia-5Bft2YPA.js +0 -1
  398. package/web/dist/assets/just-Cwhn7H3k.js +0 -1
  399. package/web/dist/assets/kanagawa-dragon-BuwD2xS4.js +0 -1
  400. package/web/dist/assets/kanagawa-lotus-C3DzagqV.js +0 -1
  401. package/web/dist/assets/kanagawa-wave-DFGoQZhC.js +0 -1
  402. package/web/dist/assets/kanban-definition-P3RFRI5V-mlYSRALK.js +0 -89
  403. package/web/dist/assets/kdl-DV7GczEv.js +0 -1
  404. package/web/dist/assets/kotlin-BdnUsdx6.js +0 -1
  405. package/web/dist/assets/kusto-wEQ09or8.js +0 -1
  406. package/web/dist/assets/laserwave-DUszq2jm.js +0 -1
  407. package/web/dist/assets/latex-D5pSuvFb.js +0 -1
  408. package/web/dist/assets/lean-BZvkOJ9d.js +0 -1
  409. package/web/dist/assets/less-B1dDrJ26.js +0 -1
  410. package/web/dist/assets/light-plus-B7mTdjB0.js +0 -1
  411. package/web/dist/assets/linear-5j9gt8MV.js +0 -1
  412. package/web/dist/assets/liquid-C0sCDyMI.js +0 -1
  413. package/web/dist/assets/llvm-BZoOZj88.js +0 -1
  414. package/web/dist/assets/log-2UxHyX5q.js +0 -1
  415. package/web/dist/assets/logo-BtOb2qkB.js +0 -1
  416. package/web/dist/assets/lua-BaeVxFsk.js +0 -1
  417. package/web/dist/assets/luau-BnpPk5vE.js +0 -1
  418. package/web/dist/assets/make-CHLpvVh8.js +0 -1
  419. package/web/dist/assets/markdown-BWXjRrSw.js +0 -30
  420. package/web/dist/assets/markdown-Cvjx9yec.js +0 -1
  421. package/web/dist/assets/marko-DjSrsDqO.js +0 -1
  422. package/web/dist/assets/material-theme-D5KoaKCx.js +0 -1
  423. package/web/dist/assets/material-theme-darker-BfHTSMKl.js +0 -1
  424. package/web/dist/assets/material-theme-lighter-B0m2ddpp.js +0 -1
  425. package/web/dist/assets/material-theme-ocean-CyktbL80.js +0 -1
  426. package/web/dist/assets/material-theme-palenight-Csfq5Kiy.js +0 -1
  427. package/web/dist/assets/matlab-D7o27uSR.js +0 -1
  428. package/web/dist/assets/mdc-D1_yUvq7.js +0 -1
  429. package/web/dist/assets/mdx-Cmh6b_Ma.js +0 -1
  430. package/web/dist/assets/mermaid-CQcHuHx7.js +0 -1
  431. package/web/dist/assets/mermaid.core-DLb6eAON.js +0 -314
  432. package/web/dist/assets/min-dark-CafNBF8u.js +0 -1
  433. package/web/dist/assets/min-light-CTRr51gU.js +0 -1
  434. package/web/dist/assets/mindmap-definition-LZFPQGKD-C9v_57Ex.js +0 -96
  435. package/web/dist/assets/mipsasm-CKIfxQSi.js +0 -1
  436. package/web/dist/assets/mojo-DJz3ZmWd.js +0 -1
  437. package/web/dist/assets/monokai-BRVnQi9A.js +0 -1
  438. package/web/dist/assets/moonbit-CHtswR0a.js +0 -1
  439. package/web/dist/assets/move-el3G9tDJ.js +0 -1
  440. package/web/dist/assets/narrat-DRg8JJMk.js +0 -1
  441. package/web/dist/assets/nextflow-C-mBbutL.js +0 -1
  442. package/web/dist/assets/nextflow-groovy-vE_lwT2v.js +0 -1
  443. package/web/dist/assets/nginx-BpAMiNFr.js +0 -1
  444. package/web/dist/assets/night-owl-C39BiMTA.js +0 -1
  445. package/web/dist/assets/night-owl-light-CMTm3GFP.js +0 -1
  446. package/web/dist/assets/nim-BIad80T-.js +0 -1
  447. package/web/dist/assets/nix-CwoSXNpI.js +0 -1
  448. package/web/dist/assets/nord-Ddv68eIx.js +0 -1
  449. package/web/dist/assets/nsis-BlV79W_Q.js +0 -1
  450. package/web/dist/assets/nushell-D3jzshHO.js +0 -1
  451. package/web/dist/assets/objective-c-DXmwc3jG.js +0 -1
  452. package/web/dist/assets/objective-cpp-CLxacb5B.js +0 -1
  453. package/web/dist/assets/ocaml-C0hk2d4L.js +0 -1
  454. package/web/dist/assets/odin-BBf5iR-q.js +0 -1
  455. package/web/dist/assets/one-dark-pro-DVMEJ2y_.js +0 -1
  456. package/web/dist/assets/one-light-C3Wv6jpd.js +0 -1
  457. package/web/dist/assets/openscad-C4EeE6gA.js +0 -1
  458. package/web/dist/assets/ordinal-Cboi1Yqb.js +0 -1
  459. package/web/dist/assets/org-DM6o9KBp.js +0 -1
  460. package/web/dist/assets/panels-BQOvnbWH.js +0 -1
  461. package/web/dist/assets/pascal-D93ZcfNL.js +0 -1
  462. package/web/dist/assets/pegDiagram-BGZESJAR-KQP26s3-.js +0 -1
  463. package/web/dist/assets/perl-B9cMNwum.js +0 -1
  464. package/web/dist/assets/php-Csjmro_R.js +0 -1
  465. package/web/dist/assets/pieDiagram-CAPJLFHJ-DN3RQ_ih.js +0 -39
  466. package/web/dist/assets/pkl-u5AG7uiY.js +0 -1
  467. package/web/dist/assets/plastic-3e1v2bzS.js +0 -1
  468. package/web/dist/assets/plsql-ChMvpjG-.js +0 -1
  469. package/web/dist/assets/po-BTJTHyun.js +0 -1
  470. package/web/dist/assets/poimandres-CS3Unz2-.js +0 -1
  471. package/web/dist/assets/polar-C0HS_06l.js +0 -1
  472. package/web/dist/assets/postcss-CXtECtnM.js +0 -1
  473. package/web/dist/assets/powerquery-CEu0bR-o.js +0 -1
  474. package/web/dist/assets/powershell-BmBUJMz7.js +0 -1
  475. package/web/dist/assets/prisma-Vru482bI.js +0 -1
  476. package/web/dist/assets/profileChange-B7TaQ18u.js +0 -1
  477. package/web/dist/assets/prolog-CbFg5uaA.js +0 -1
  478. package/web/dist/assets/proto-C7zT0LnQ.js +0 -1
  479. package/web/dist/assets/pug-DKIMFp6K.js +0 -1
  480. package/web/dist/assets/puppet-BMWR74SV.js +0 -1
  481. package/web/dist/assets/purescript-CklMAg4u.js +0 -1
  482. package/web/dist/assets/python-B6aJPvgy.js +0 -1
  483. package/web/dist/assets/qml-3beO22l8.js +0 -1
  484. package/web/dist/assets/qmldir-C8lEn-DE.js +0 -1
  485. package/web/dist/assets/qss-IeuSbFQv.js +0 -1
  486. package/web/dist/assets/quadrantDiagram-GDMTTRAM-BpL_ZL76.js +0 -7
  487. package/web/dist/assets/r-Cf5RLm7j.js +0 -1
  488. package/web/dist/assets/racket-BqYA7rlc.js +0 -1
  489. package/web/dist/assets/railroadDiagram-SM67HX2B-DZ-fPU85.js +0 -1
  490. package/web/dist/assets/raku-DXvB9xmW.js +0 -1
  491. package/web/dist/assets/razor-BjBPvh-w.js +0 -1
  492. package/web/dist/assets/rbs-CpoqiR4B.js +0 -1
  493. package/web/dist/assets/react-vendor-C0HIWSpf.js +0 -9
  494. package/web/dist/assets/red-hvxz__6c.js +0 -1
  495. package/web/dist/assets/reg-C-SQnVFl.js +0 -1
  496. package/web/dist/assets/regexp-CDVJQ6XC.js +0 -1
  497. package/web/dist/assets/rel-C3B-1QV4.js +0 -1
  498. package/web/dist/assets/requirementDiagram-X7JNWC4A-mKPGj64L.js +0 -84
  499. package/web/dist/assets/riscv-BM1_JUlF.js +0 -1
  500. package/web/dist/assets/ron-D8l8udqQ.js +0 -1
  501. package/web/dist/assets/rose-pine-5qJOZa0Y.js +0 -1
  502. package/web/dist/assets/rose-pine-dawn-zx0QlTCp.js +0 -1
  503. package/web/dist/assets/rose-pine-moon-C9pEdX9L.js +0 -1
  504. package/web/dist/assets/rosmsg-BJDFO7_C.js +0 -1
  505. package/web/dist/assets/rst-bs7f0vWN.js +0 -1
  506. package/web/dist/assets/ruby-C0TQ7zu5.js +0 -1
  507. package/web/dist/assets/rust-B1yitclQ.js +0 -1
  508. package/web/dist/assets/sankeyDiagram-UM26HJRW-Bs4xfjQP.js +0 -40
  509. package/web/dist/assets/sas-DEy46yEz.js +0 -1
  510. package/web/dist/assets/sass-Cj5Yp3dK.js +0 -1
  511. package/web/dist/assets/scala-CqE71os6.js +0 -1
  512. package/web/dist/assets/scheme-C98Dy4si.js +0 -1
  513. package/web/dist/assets/scss-D5BDwBP9.js +0 -1
  514. package/web/dist/assets/sdbl-DVxCFoDh.js +0 -1
  515. package/web/dist/assets/sequenceDiagram-ZO4K6R2Y-BjUmzZaO.js +0 -169
  516. package/web/dist/assets/shaderlab-Dg9Lc6iA.js +0 -1
  517. package/web/dist/assets/shellscript-Yzrsuije.js +0 -1
  518. package/web/dist/assets/shellsession-BADoaaVG.js +0 -1
  519. package/web/dist/assets/sizeCapture-INFHLROL-BXBM3j_Q.js +0 -1
  520. package/web/dist/assets/slack-dark-BthQWCQV.js +0 -1
  521. package/web/dist/assets/slack-ochin-DqwNpetd.js +0 -1
  522. package/web/dist/assets/smalltalk-BOQMe2GC.js +0 -1
  523. package/web/dist/assets/smithy-cds9vsN8.js +0 -1
  524. package/web/dist/assets/snazzy-light-Bw305WKR.js +0 -1
  525. package/web/dist/assets/solarized-dark-CpvCGNkr.js +0 -1
  526. package/web/dist/assets/solarized-light-Dlz6yCKv.js +0 -1
  527. package/web/dist/assets/solidity-DijEV5ha.js +0 -1
  528. package/web/dist/assets/soy-8wufbnw4.js +0 -1
  529. package/web/dist/assets/sparql-rVzFXLq3.js +0 -1
  530. package/web/dist/assets/splunk-BtCnVYZw.js +0 -1
  531. package/web/dist/assets/sql-CRqJ_cUM.js +0 -1
  532. package/web/dist/assets/ssh-config-_ykCGR6B.js +0 -1
  533. package/web/dist/assets/stata-DI20mbqo.js +0 -1
  534. package/web/dist/assets/state-Kfon1nTr.js +0 -17
  535. package/web/dist/assets/stateDiagram-v2-TBUQTH76-FGgFDGUU.js +0 -291
  536. package/web/dist/assets/sttLanguages-C7kVulzY.js +0 -1
  537. package/web/dist/assets/stylus-BEDo0Tqx.js +0 -1
  538. package/web/dist/assets/surrealql-Cjom0U5J.js +0 -1
  539. package/web/dist/assets/svelte-Cy7k_4gC.js +0 -1
  540. package/web/dist/assets/swift-C2oV4EkX.js +0 -1
  541. package/web/dist/assets/swimlanes-N4OXWK64-wkd_n4HU.js +0 -1
  542. package/web/dist/assets/swimlanesDiagram-K3J5GTZL-CKnwEuq_.js +0 -8
  543. package/web/dist/assets/synthwave-84-CbfX1IO0.js +0 -1
  544. package/web/dist/assets/system-verilog-0hqHdDBg.js +0 -1
  545. package/web/dist/assets/systemd-4A_iFExJ.js +0 -1
  546. package/web/dist/assets/talonscript-CkByrt1z.js +0 -1
  547. package/web/dist/assets/tasl-QIJgUcNo.js +0 -1
  548. package/web/dist/assets/tcl-dwOrl1Do.js +0 -1
  549. package/web/dist/assets/templ-DhtptRzy.js +0 -1
  550. package/web/dist/assets/terraform-BETggiCN.js +0 -1
  551. package/web/dist/assets/tex-D96PA37w.js +0 -1
  552. package/web/dist/assets/timeline-definition-YOQAKGHF-DyBln1jw.js +0 -120
  553. package/web/dist/assets/tokyo-night-hegEt444.js +0 -1
  554. package/web/dist/assets/toml-vGWfd6FD.js +0 -1
  555. package/web/dist/assets/ts-tags-D351s5mN.js +0 -1
  556. package/web/dist/assets/tsv-B_m7g4N7.js +0 -1
  557. package/web/dist/assets/tsx-COt5Ahok.js +0 -1
  558. package/web/dist/assets/turtle-BsS91CYL.js +0 -1
  559. package/web/dist/assets/twig-27uCiNez.js +0 -1
  560. package/web/dist/assets/typescript-BPQ3VLAy.js +0 -1
  561. package/web/dist/assets/typespec-CAFt9gP4.js +0 -1
  562. package/web/dist/assets/typst-BUadGCkm.js +0 -1
  563. package/web/dist/assets/usecaseDiagram-VIAY4XPW-Cqis3XHX.js +0 -370
  564. package/web/dist/assets/v-BGw2Nkan.js +0 -1
  565. package/web/dist/assets/vala-CsfeWuGM.js +0 -1
  566. package/web/dist/assets/vb-Cu-pLBUe.js +0 -1
  567. package/web/dist/assets/vennDiagram-BLWOH2XV-BaiFLOVS.js +0 -34
  568. package/web/dist/assets/verilog-nZwndyjY.js +0 -1
  569. package/web/dist/assets/vesper-DRje8inN.js +0 -1
  570. package/web/dist/assets/vhdl-CeAyd5Ju.js +0 -1
  571. package/web/dist/assets/viml-CJc9bBzg.js +0 -1
  572. package/web/dist/assets/vitesse-black-Bkuqu6BP.js +0 -1
  573. package/web/dist/assets/vitesse-dark-D0r3Knsf.js +0 -1
  574. package/web/dist/assets/vitesse-light-CVO1_9PV.js +0 -1
  575. package/web/dist/assets/vue-BqiEGhQt.js +0 -1
  576. package/web/dist/assets/vue-html-AaS7Mt5G.js +0 -1
  577. package/web/dist/assets/vue-vine-BoDAl6tE.js +0 -1
  578. package/web/dist/assets/vyper-CDx5xZoG.js +0 -1
  579. package/web/dist/assets/wardleyDiagram-YMQ3BMBF-C4CzpJto.js +0 -78
  580. package/web/dist/assets/wasm-CG6Dc4jp.js +0 -1
  581. package/web/dist/assets/wasm-MzD3tlZU.js +0 -1
  582. package/web/dist/assets/wenyan-BV7otONQ.js +0 -1
  583. package/web/dist/assets/wgsl-Dx-B1_4e.js +0 -1
  584. package/web/dist/assets/wikitext-BhOHFoWU.js +0 -1
  585. package/web/dist/assets/wit-5i3qLPDT.js +0 -1
  586. package/web/dist/assets/wolfram-lXgVvXCa.js +0 -1
  587. package/web/dist/assets/xml-sdJ4AIDG.js +0 -1
  588. package/web/dist/assets/xsl-CtQFsRM5.js +0 -1
  589. package/web/dist/assets/xychartDiagram-TAQBALBS-Dp1hfe3-.js +0 -7
  590. package/web/dist/assets/yaml-Buea-lGh.js +0 -1
  591. package/web/dist/assets/zenscript-DVFEvuxE.js +0 -1
  592. package/web/dist/assets/zig-VOosw3JB.js +0 -1
  593. package/web/dist/figma-demo/product-1.jpg +0 -0
  594. package/web/dist/figma-demo/product-2.jpg +0 -0
  595. package/web/dist/figma-demo/trail-1.jpg +0 -0
  596. package/web/dist/figma-demo/trail-2.jpg +0 -0
  597. package/web/dist/figma-demo/trail-3.jpg +0 -0
@@ -1,32 +1,20 @@
1
- # DeepSeekCode 语音转文字(STT)依赖 — 英语 whisper / 中文 FunASR
1
+ # DeepSeekCode 语音转文字(STT)依赖 — faster-whisper(唯一引擎)
2
2
  #
3
3
  # 安装(任选其一):
4
4
  # pip install -r packages/stt/requirements.txt
5
- # 或分别安装:pip install faster-whisper (英语)
6
- # pip install -U "funasr>=1.1.0,<1.5" modelscope torch (中文)
5
+ # 或:pip install faster-whisper
7
6
  #
8
7
  # 说明:
9
- # - torch 体积较大(CPU 版约 200MB+,CUDA 版数 GB)。只有中文后端需要;
10
- # 如果只使用英语,可以只装 faster-whisper。
11
- # - funasr 会顺带安装 modelscope(模型下载);但**不会**装 torchaudio
12
- # (1.4.x 的 Requires-Dist 里没有它,1.4.3 的 wav_frontend 却无条件 import,
13
- # 1.4.16 起改用内置 funasr.utils.fbank,装了 torchaudio 时仍转发给它)。
14
- # 所以别指望 pip 帮你补 torchaudio。
8
+ # - 不需要 torch / funasr / modelscope:识别引擎只有 faster-whisper
9
+ # (ctranslate2 后端,CPU int8 即可用),中文与英语走同一套依赖,
10
+ # 区别只在模型档位(en → base.en,其余 → 多语言 base)。
15
11
  # - Python 3.10+(stt_server.py 用了 PEP 604 的 `X | None` 注解),推荐 3.10~3.12。
16
12
 
17
- # 音频容器解码(两个后端共用):PyAV —— OGG/Opus、MP3、M4A 等平台原生格式
13
+ # 音频容器解码:PyAV —— OGG/Opus、MP3、M4A 等平台原生格式
18
14
  # 给 stt_server.decode_with_av 用;WAV / 裸 f32 走标准库,不需要它。
19
15
  # **不需要系统 ffmpeg**:PyAV 的 wheel 自带 FFmpeg 库(av.library_versions 可验),
20
16
  # 这正是选 PyAV 而不是 subprocess 调 ffmpeg 的全部理由。
21
17
  av>=11
22
18
 
23
- # 英语后端:faster-whisper(whisper.cpp 的 Python 绑定,CPU 上快且省内存)
19
+ # 识别引擎:faster-whisper(whisper.cpp 的 Python 绑定,CPU 上快且省内存)
24
20
  faster-whisper>=1.0.0
25
-
26
- # 中文后端:FunASR(阿里达摩院,paraformer-zh 模型)
27
- # 上限 <1.5 是为了挡住 funasr 大版本的行为漂移:AutoModel 的参数契约
28
- # (model 只收字符串、标点模型走 punc_model)与 fbank 实现都在小版本间变过。
29
- # 同时与 sttDownload.ts#sttPackagesFor 保持一致(那份清单是「一键安装」真正执行的东西)。
30
- funasr>=1.1.0,<1.5
31
- modelscope>=1.15.0
32
- torch>=2.0.0
@@ -1,12 +1,11 @@
1
1
  #!/usr/bin/env python3
2
2
  """DeepSeekCode 本地语音转文字(STT)服务。
3
3
 
4
- 参考 OpenWorker 的 stt/ 侧车设计(Rust + whisper.cpp),但改为 Python 实现,
5
- 因为中文引擎 FunASR 只有 Python 生态:
4
+ 参考 OpenWorker 的 stt/ 侧车设计(Rust + whisper.cpp),改为 Python 实现。
5
+ **唯一的识别引擎是 faster-whisper**,按语言选两个模型档位:
6
6
 
7
- - 中文(zh)→ FunASR(阿里达摩院,paraformer-zh 模型,中文识别效果优于 whisper)
8
7
  - 英语(en)→ faster-whisper 英语专用模型(base.en,CPU 上快且省内存)
9
- - 其他语言(ja/ko/fr/de/es/ru/pt/it…)→ faster-whisper 多语言模型
8
+ - 其他语言(zh/ja/ko/fr/de/es/ru/pt/it…)→ faster-whisper 多语言模型
10
9
  (默认 base,可用 DSC_STT_WHISPER_MULTI_MODEL 调整,如 small)
11
10
 
12
11
  多语言档的语言码「未命中」时改由模型自动识别(详见 transcribe_whisper 的说明):
@@ -18,7 +17,7 @@ WAV / 裸 f32 用标准库自己解(http.server / json / base64 / wave / struc
18
17
  选 PyAV 而不是调 `ffmpeg` 可执行文件:PyAV 的 wheel 里自带 FFmpeg 库,
19
18
  所以「本机有没有 ffmpeg」不再是这条链路的先决条件(Windows 上尤其关键)。
20
19
  后端包同样按需懒加载:`/status` 不触发任何模型下载;`/transcribe` 首次调用时会
21
- 自动下载模型(faster-whisper 走 HuggingFace,FunASR 走 ModelScope),耗时取决于网络。
20
+ 自动下载模型(faster-whisper 走 HuggingFace),耗时取决于网络。
22
21
 
23
22
  接口(仅监听 127.0.0.1):
24
23
  GET /health → {"status": "ok"}
@@ -37,17 +36,13 @@ WAV / 裸 f32 用标准库自己解(http.server / json / base64 / wave / struc
37
36
  DSC_STT_PORT 监听端口(默认 0 = 系统分配;父进程通常指定 --port)
38
37
  DSC_STT_WHISPER_MODEL faster-whisper 英语模型名(默认 base.en)
39
38
  DSC_STT_WHISPER_MULTI_MODEL faster-whisper 多语言模型名(默认 base)
40
- DSC_STT_FUNASR_MODEL FunASR 模型名(默认 paraformer-zh)
41
- DSC_STT_FUNASR_PUNC 1 = 启用中文标点模型 ct-punc(额外下载,默认关)
42
39
  DSC_STT_DEVICE auto|cuda|cpu(默认 auto)
43
40
 
44
41
  模型下载源(由 Node 侧按 config.yaml settings.stt.* 注入;本文件不读它们,
45
- 而是 huggingface_hub / modelscope 在 **import 期**自行读取 —— 因此改端点
42
+ 而是 huggingface_hub 在 **import 期**自行读取 —— 因此改端点
46
43
  必须重启本进程才生效,Node 侧 restartService() 负责这件事):
47
44
  HF_ENDPOINT HuggingFace 端点(默认 https://huggingface.co,国内可设
48
45
  https://hf-mirror.com)—— faster-whisper 的模型权重走这里
49
- MODELSCOPE_ENDPOINT ModelScope 端点(默认 https://modelscope.cn)——
50
- FunASR 的 paraformer-zh 等权重走这里
51
46
  """
52
47
 
53
48
  import base64
@@ -63,10 +58,10 @@ from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
63
58
  from pathlib import Path
64
59
 
65
60
  DEFAULT_MODELS_DIR = str(Path.home() / ".agent" / "stt-models")
66
- TARGET_RATE = 16_000 # whisper / paraformer 均要求 16k 采样率
61
+ TARGET_RATE = 16_000 # whisper 要求 16k 采样率
67
62
 
68
63
  _backends_lock = threading.Lock()
69
- _loaded = {"en": None, "zh": None, "multi": None} # 缓存已加载的模型对象
64
+ _loaded = {"en": None, "multi": None} # 缓存已加载的模型对象
70
65
 
71
66
 
72
67
  def log(msg: str) -> None:
@@ -352,66 +347,6 @@ def transcribe_whisper(samples_f32: list[float], language: str, kind: str) -> tu
352
347
  return text, (str(detected) if detected else None)
353
348
 
354
349
 
355
-
356
- # ─────────────────────────── 后端:中文 FunASR ───────────────────────────
357
-
358
- def _funasr_loaded() -> object | None:
359
- with _backends_lock:
360
- return _loaded["zh"]
361
-
362
-
363
- def _funasr_load() -> object:
364
- with _backends_lock:
365
- if _loaded["zh"] is not None:
366
- return _loaded["zh"]
367
- try:
368
- from funasr import AutoModel # noqa: PLC0415
369
- except ImportError as exc:
370
- raise RuntimeError(
371
- "Chinese STT backend (FunASR) is not installed. Run:\n"
372
- ' pip install -U "funasr>=1.1.0,<1.5" modelscope torch\n'
373
- "The DeepSeekCode server needs it for Chinese voice input."
374
- ) from exc
375
- # model 必须传**字符串**:funasr 的 build_model 里有
376
- # `if kwargs["model"] in {"silero-vad", "silero_vad"}`,传 list 不可哈希,
377
- # 1.4.x 上直接 `TypeError: unhashable type: 'list'`。
378
- # 标点模型是**独立参数** punc_model(官方用法
379
- # `AutoModel(model="paraformer-zh", punc_model="ct-punc")`),不能再拼进 model。
380
- kwargs: dict[str, object] = {
381
- "model": os.environ.get("DSC_STT_FUNASR_MODEL", "paraformer-zh"),
382
- }
383
- if os.environ.get("DSC_STT_FUNASR_PUNC", "0") == "1":
384
- kwargs["punc_model"] = "ct-punc"
385
- device = "cuda:0" if detect_device() == "cuda" else "cpu"
386
- kwargs["device"] = device
387
- log(
388
- f"loading FunASR model {kwargs['model']} "
389
- f"(device={device}, punc={'ct-punc' if 'punc_model' in kwargs else 'off'})…"
390
- )
391
- model = AutoModel(**kwargs)
392
- _loaded["zh"] = model
393
- log("FunASR model ready")
394
- return model
395
-
396
-
397
- def transcribe_zh(samples_f32: list[float]) -> str:
398
- model = _funasr_load()
399
- import numpy as np # noqa: PLC0415
400
-
401
- # 直接喂 float32([-1, 1]):funasr 的 load_utils.extract_fbank 对 numpy 输入只做
402
- # torch.from_numpy、**不转 dtype**,喂 int16 会在下游 torchaudio 的 kaldi.fbank 里
403
- # `RuntimeError: mean(): could not infer output dtype ... Got: Short`。
404
- # 与 transcribe_whisper 的 np.asarray(samples_f32, dtype=np.float32) 同形。
405
- audio = np.asarray(samples_f32, dtype=np.float32)
406
- res = model.generate(input=audio, cache={})
407
- text = ""
408
- if isinstance(res, list) and res:
409
- text = str(res[0].get("text", "") or "")
410
- elif isinstance(res, dict):
411
- text = str(res.get("text", "") or "")
412
- return text.strip()
413
-
414
-
415
350
  # ─────────────────────────── 设备检测 / 状态 ───────────────────────────
416
351
 
417
352
  def detect_device() -> str:
@@ -420,6 +355,8 @@ def detect_device() -> str:
420
355
  return "cuda"
421
356
  if env == "cpu":
422
357
  return "cpu"
358
+ # torch 不是本服务的依赖(faster-whisper 走 ctranslate2);装了就用它探 CUDA,
359
+ # 没装一律 cpu。想显式用 GPU 请设 DSC_STT_DEVICE=cuda。
423
360
  try:
424
361
  import torch # noqa: PLC0415
425
362
 
@@ -431,25 +368,17 @@ def detect_device() -> str:
431
368
  def _backend_status() -> dict:
432
369
  def probe(name: str) -> dict:
433
370
  loaded = _loaded.get(name) is not None
434
- # 捕获所有异常而非仅 ImportError:Windows 上 torch DLL 加载失败等
371
+ # 捕获所有异常而非仅 ImportError:Windows 上 ctranslate2 DLL 加载失败等
435
372
  # 场景需要把具体原因带给前端,否则"pip 装完了却仍显示未安装"无从排查。
436
373
  error = None
437
374
  try:
438
- if name in ("en", "multi"):
439
- import faster_whisper # noqa: PLC0415, F401
375
+ import faster_whisper # noqa: PLC0415, F401
440
376
 
441
- installed = True
442
- else:
443
- import funasr # noqa: PLC0415, F401
444
-
445
- installed = True
377
+ installed = True
446
378
  except Exception as exc: # noqa: BLE001 — 探测需吞掉一切导入期异常
447
379
  installed = False
448
380
  error = f"{type(exc).__name__}: {exc}"
449
- if name == "zh":
450
- model = os.environ.get("DSC_STT_FUNASR_MODEL", "paraformer-zh")
451
- else:
452
- model = os.environ.get(_WHISPER_MODEL_ENV[name], _WHISPER_MODEL_DEFAULT[name])
381
+ model = os.environ.get(_WHISPER_MODEL_ENV[name], _WHISPER_MODEL_DEFAULT[name])
453
382
  return {
454
383
  "installed": installed,
455
384
  "loaded": loaded,
@@ -457,7 +386,7 @@ def _backend_status() -> dict:
457
386
  "model": model,
458
387
  }
459
388
 
460
- return {"en": probe("en"), "multi": probe("multi"), "zh": probe("zh")}
389
+ return {"en": probe("en"), "multi": probe("multi")}
461
390
 
462
391
 
463
392
  # ─────────────────────────── HTTP 服务 ───────────────────────────
@@ -500,8 +429,8 @@ class SttHandler(BaseHTTPRequestHandler):
500
429
  except Exception as exc: # noqa: BLE001
501
430
  return self._send(400, {"error": f"Bad request body: {exc}"})
502
431
  lang = str(body.get("language") or "en").lower()
503
- # 接受任意 ISO-639-1 两位小写码:zh→FunASR,en→英语专用 whisper,
504
- # 其余→多语言 whisper(模型支持约 99 种语言)。非两位字母码才拒绝。
432
+ # 接受任意 ISO-639-1 两位小写码:en→英语专用 whisper,
433
+ # 其余(含 zh)→多语言 whisper(模型支持约 99 种语言)。非两位字母码才拒绝。
505
434
  if not (len(lang) == 2 and lang.isalpha() and lang.isascii()):
506
435
  return self._send(400, {"error": f"Unsupported language: {lang} (use an ISO-639-1 code like 'en' / 'zh' / 'ja')"})
507
436
  if not body.get("audio"):
@@ -519,10 +448,7 @@ class SttHandler(BaseHTTPRequestHandler):
519
448
 
520
449
  effective_lang = lang
521
450
  try:
522
- if lang == "zh":
523
- text = transcribe_zh(samples)
524
- backend = "funasr"
525
- elif lang == "en":
451
+ if lang == "en":
526
452
  text, auto_lang = transcribe_whisper(samples, "en", "en")
527
453
  backend = "faster-whisper"
528
454
  effective_lang = auto_lang or lang
@@ -584,9 +510,8 @@ def parent_alive(pid: int) -> bool:
584
510
 
585
511
  def main() -> None:
586
512
  models_dir = os.environ.get("DSC_STT_MODELS_DIR", DEFAULT_MODELS_DIR)
587
- # 模型缓存集中到 models_dir(与 Node 侧 spawn 时注入的 HF_HOME / MODELSCOPE_CACHE 一致)
513
+ # 模型缓存集中到 models_dir(与 Node 侧 spawn 时注入的 HF_HOME 一致)
588
514
  os.environ.setdefault("HF_HOME", str(Path(models_dir) / "huggingface"))
589
- os.environ.setdefault("MODELSCOPE_CACHE", str(Path(models_dir) / "modelscope"))
590
515
  Path(models_dir).mkdir(parents=True, exist_ok=True)
591
516
 
592
517
  port = int(_arg_value("--port") or os.environ.get("DSC_STT_PORT") or "0")
package/install.cjs CHANGED
@@ -15,6 +15,23 @@
15
15
  // application" error, so its message is best-effort; install.cjs failure output
16
16
  // above is the primary guidance when postinstall does run.
17
17
  //
18
+ // WHY repairWindowsShims() EXISTS
19
+ //
20
+ // npm reads bin/dscode.exe's shebang while generating the `dscode` /
21
+ // `deepseekcode` shims. The placeholder has to start with `#!/bin/sh` (that is
22
+ // the runnable "not installed yet" message on Unix before this script replaces
23
+ // it), so on Windows cmd-shim copies that interpreter verbatim:
24
+ //
25
+ // & "/bin/sh" "$basedir/node_modules/@deepseekcode/cli/bin/dscode.exe" $args
26
+ //
27
+ // /bin/sh does not exist there, so every fresh `npm i -g` on Windows lands a
28
+ // `dscode` that dies with `/bin/sh.exe is not recognized` — while the real
29
+ // 100MB PE binary sits right next to it. The shims are written BEFORE this
30
+ // script runs, so they cannot be avoided; repairWindowsShims() rewrites them to
31
+ // exec the binary that is on disk by now. (`npm rebuild -g <pkg>` also repairs
32
+ // them: re-linking reads the shebang of the then-real PE binary, which has
33
+ // none.)
34
+ //
18
35
  // Platform detection + PLATFORMS map is duplicated in cli-wrapper.cjs — keep in sync.
19
36
 
20
37
  const { spawnSync } = require('child_process')
@@ -37,6 +54,14 @@ const WRAPPER_NAME = require('./package.json').name
37
54
  const PACKAGE_PREFIX = WRAPPER_NAME
38
55
  const BINARY_NAME = 'dscode'
39
56
 
57
+ // The command names npm creates shims for (dscode + deepseekcode). Taken from
58
+ // the published bin map so a rename never leaves a stale shim behind.
59
+ const BIN_MAP = require('./package.json').bin || {}
60
+ const SHIM_NAMES = Object.keys(BIN_MAP)
61
+ // Where the native binary lands, and therefore what every shim must exec: the
62
+ // published wrapper's bin field points at this path.
63
+ const BIN_TARGET = path.join(__dirname, 'bin', 'dscode.exe')
64
+
40
65
 
41
66
  const PLATFORMS = {
42
67
  'darwin-arm64': { pkg: PACKAGE_PREFIX + '-darwin-arm64', bin: BINARY_NAME },
@@ -118,6 +143,121 @@ function placeBinary(src, dest) {
118
143
  }
119
144
  }
120
145
 
146
+ // ---- Windows shim repair -------------------------------------------------
147
+ // The three templates below mirror what npm writes for a non-JS bin target, i.e.
148
+ // the shape it produces after re-linking against the real (shebang-less) PE
149
+ // binary — a repaired shim is indistinguishable from a healthy one.
150
+
151
+ function ps1Shim(target) {
152
+ return [
153
+ '#!/usr/bin/env pwsh',
154
+ '$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent',
155
+ '',
156
+ '$ret=0',
157
+ '# Support pipeline input',
158
+ 'if ($MyInvocation.ExpectingInput) {',
159
+ ' $input | & "$basedir/' + target + '" $args',
160
+ '} else {',
161
+ ' & "$basedir/' + target + '" $args',
162
+ '}',
163
+ '$ret=$LASTEXITCODE',
164
+ 'exit $ret',
165
+ '',
166
+ ].join('\n')
167
+ }
168
+
169
+ function cmdShim(target) {
170
+ return [
171
+ '@ECHO off',
172
+ 'GOTO start',
173
+ ':find_dp0',
174
+ 'SET dp0=%~dp0',
175
+ 'EXIT /b',
176
+ ':start',
177
+ 'SETLOCAL',
178
+ 'CALL :find_dp0',
179
+ '"%dp0%\\' + target + '" %*',
180
+ '',
181
+ ].join('\n')
182
+ }
183
+
184
+ function shShim(target) {
185
+ return [
186
+ '#!/bin/sh',
187
+ "basedir=$(dirname \"$(echo \"$0\" | sed -e 's,\\\\,/,g')\")",
188
+ '',
189
+ 'case `uname` in',
190
+ ' *CYGWIN*|*MINGW*|*MSYS*)',
191
+ ' if command -v cygpath > /dev/null 2>&1; then',
192
+ ' basedir=`cygpath -w "$basedir"`',
193
+ ' fi',
194
+ ' ;;',
195
+ 'esac',
196
+ '',
197
+ 'exec "$basedir/' + target + '" "$@"',
198
+ '',
199
+ ].join('\n')
200
+ }
201
+
202
+ // Path from the shim's directory to the binary, spelled the way each shim kind
203
+ // expects: npm uses forward slashes in .ps1/.sh and backslashes in .cmd.
204
+ function shimTarget(shimDir, exeAbs, sep) {
205
+ const rel = path.relative(shimDir, exeAbs)
206
+ const picked = rel && !path.isAbsolute(rel) ? rel : exeAbs
207
+ return sep === '\\' ? picked.replace(/\//g, '\\') : picked.replace(/\\/g, '/')
208
+ }
209
+
210
+ function shimFor(ext, target) {
211
+ if (ext === '.ps1') return ps1Shim(target)
212
+ if (ext === '.cmd') return cmdShim(target)
213
+ return shShim(target)
214
+ }
215
+
216
+ // Rewrite every shim under shimDirs that still calls the POSIX interpreter, and
217
+ // return the repaired paths (empty when there was nothing to do). Inputs are
218
+ // arguments so a test can drive it with a temp dir on any platform.
219
+ function repairShims(shimDirs, exeAbs) {
220
+ const repaired = []
221
+ for (const dir of shimDirs) {
222
+ for (const name of SHIM_NAMES) {
223
+ for (const ext of ['.ps1', '.cmd', '']) {
224
+ const file = path.join(dir, name + ext)
225
+ let text
226
+ try {
227
+ text = readFileSync(file, 'utf8')
228
+ } catch {
229
+ continue
230
+ }
231
+ // Skip the shebang line: a healthy .sh shim legitimately starts with
232
+ // `#!/bin/sh`. Only /bin/sh used as an *interpreter* is the bug.
233
+ if (!text.replace(/^[^\n]*\n/, '').includes('/bin/sh')) continue
234
+ try {
235
+ const target = shimTarget(dir, exeAbs, ext === '.cmd' ? '\\' : '/')
236
+ writeFileSync(file, shimFor(ext, target), { mode: 0o755 })
237
+ repaired.push(file)
238
+ } catch {
239
+ // A read-only prefix (`sudo npm i -g`, then `dscode` as a user) must
240
+ // not fail the install — the binary itself is already in place.
241
+ }
242
+ }
243
+ }
244
+ }
245
+ return repaired
246
+ }
247
+
248
+ // Candidate shim directories: the npm prefix (global install) and
249
+ // node_modules/.bin (local install). Both derive from the package location, so
250
+ // the same code covers `npm i -g`, a project dependency and pnpm-style layouts.
251
+ function shimDirsFor(pkgDir) {
252
+ const nodeModules = path.dirname(path.dirname(pkgDir))
253
+ return [path.dirname(nodeModules), path.join(nodeModules, '.bin')]
254
+ }
255
+
256
+ function repairWindowsShims() {
257
+ if (process.platform !== 'win32') return []
258
+ return repairShims(shimDirsFor(__dirname), BIN_TARGET)
259
+ }
260
+
121
261
  function main() {
122
262
  const platformKey = getPlatformKey()
123
263
  const info = PLATFORMS[platformKey]
@@ -162,11 +302,22 @@ function main() {
162
302
  // On Unix npm links `bin/dscode` → `bin/dscode.exe` and ignores the
163
303
  // extension, so overwriting the .exe path replaces the running target on
164
304
  // every platform. Same pattern as Claude Code / Bun npm packages.
165
- const dest = path.join(__dirname, 'bin', 'dscode.exe')
305
+ const dest = BIN_TARGET
166
306
 
167
307
  try {
168
308
  placeBinary(src, dest)
169
309
  console.log(`[${WRAPPER_NAME} postinstall] Native binary placed → ${dest}`)
310
+ try {
311
+ const repaired = repairWindowsShims()
312
+ if (repaired.length > 0) {
313
+ console.log(
314
+ `[${WRAPPER_NAME} postinstall] Repaired ${repaired.length} Windows shim(s) → exec the native binary`,
315
+ )
316
+ }
317
+ } catch {
318
+ // Never fail the install over cosmetic shims: the binary is placed, and
319
+ // `npm rebuild -g ${WRAPPER_NAME}` repairs them too.
320
+ }
170
321
  } catch (err) {
171
322
  console.error(`[${WRAPPER_NAME} postinstall] Failed to place binary: ${err.message}`)
172
323
  console.error(' Fallback: node ' + path.join(__dirname, 'cli-wrapper.cjs'))
@@ -174,4 +325,7 @@ function main() {
174
325
  }
175
326
  }
176
327
 
177
- main()
328
+ if (require.main === module) main()
329
+
330
+ // Exported for the shim-repair tests; npm runs this file directly.
331
+ module.exports = { repairShims, shimFor, shimTarget }
package/llms.txt CHANGED
@@ -1,14 +1,17 @@
1
1
  # DeepSeekCode
2
2
 
3
- > DeepSeekCode is a local-first AI coding agent that runs in your terminal: one local runtime
4
- > serving an interactive TUI, a web UI and an HTTP/WebSocket API, driven by any OpenAI-compatible
5
- > model. It is built around a permission/approval layer on every tool call, a strictly read-only
6
- > plan mode, and runtime-switchable act / goal / chat modes.
3
+ > DeepSeekCode is a local-first AI coding agent: one npm package starts a runtime on your machine
4
+ > that serves a terminal UI, a web UI and an HTTP + WebSocket API, driven by any OpenAI-compatible
5
+ > model.
6
+ >
7
+ > It is built around a permission/approval layer on every tool call, a strictly read-only plan
8
+ > mode, and runtime-switchable act / goal / chat modes.
7
9
  > Official distribution: the npm package `@deepseekcode/cli` (commands `dscode` and `deepseekcode`).
8
10
  > Project page: https://deepseekcode.github.io/deepseekwork/
9
11
 
10
12
  This file follows the llms.txt convention: a short, structured, machine-readable summary for AI
11
13
  assistants and LLM crawlers. Everything below is verifiable from the deployed package.
14
+ Content reflects version 1.0.40 (2026-10-15).
12
15
 
13
16
  ## Category and identity
14
17
 
@@ -74,12 +77,36 @@ Non-interactive use (scripts, CI): `dscode exec "<task>"` emits JSONL.
74
77
  DeepSeek (深度求索) or any other model vendor; installing it does not imply any affiliation.
75
78
  - License: proprietary and closed source. It is not open source, and copying, modifying,
76
79
  distributing or selling it requires prior written permission (see `LICENSE.md`).
80
+ - It is not a hosted or managed service: there is no subscription to buy, and model usage is billed
81
+ by whichever provider the user configures, not by this project.
82
+
83
+ ## Screenshots and demo
84
+
85
+ - A 40-second demo video (1920x1080, H.264 + VP9) and the stills used in the README ship in the
86
+ repository at `docs/promo/media/` (`deepseekcode-promo.mp4`, `deepseekcode-promo.webm`,
87
+ `poster.png`, plus per-screen stills).
88
+ - The package README embeds an animated GIF of a real agent turn (`media/demo.gif` inside the
89
+ package): tool calls, a diff, and a written summary.
90
+ - The footage is recorded from the real UI with a scripted local model endpoint, so it shows real
91
+ tool execution rather than a mock-up.
77
92
 
78
93
  ## Languages
79
94
 
80
- The package README carries an English main section plus condensed sections in Simplified Chinese
81
- (简体中文), Japanese (日本語) and Spanish (Español). UI text is localized, and most interactive
82
- commands have Chinese aliases.
95
+ - The package README carries a full English main section plus condensed sections in 16 further
96
+ languages, each with a stable anchor: zh-CN (Simplified Chinese), zh-TW (Traditional Chinese),
97
+ ja (Japanese), ko (Korean), es (Spanish), pt (Portuguese), fr (French), it (Italian), de (German),
98
+ ru (Russian), tr (Turkish), ar (Arabic), hi (Hindi), id (Indonesian), vi (Vietnamese) and
99
+ th (Thai).
100
+ - Every language section repeats the same canonical definition, install line, feature list and FAQ,
101
+ so a claim about this package can be cited from the reader's own language.
102
+ - The application UI itself is localized into 13 locales: en, zh-CN, zh-TW, ja, ko, de, fr, es,
103
+ pt-BR, ru, it, ar, id. Of these, zh-CN and en are complete; the other eleven translate the
104
+ desktop-download entry, the language setting, the built-in template texts and the hook template
105
+ texts (180 keys each) and fall back to English elsewhere. Arabic is included, but whole-document
106
+ right-to-left mirroring is deliberately not switched on yet: the stylesheet still uses physical
107
+ directional utilities, so `dir=rtl` would leave spacing on the wrong side.
108
+ - Most interactive commands have Chinese aliases, and replies can be pinned to a language
109
+ independently of the UI locale.
83
110
 
84
111
  ## Release notes
85
112
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openav/cli",
3
- "version": "1.0.40",
3
+ "version": "1.0.41",
4
4
  "description": "DeepSeekCode — local-first AI coding agent for your terminal: one local runtime with a TUI, a web UI and an API, a permission/approval layer, read-only plan mode, and any OpenAI-compatible model.",
5
5
  "keywords": [
6
6
  "deepseekcode",
@@ -36,14 +36,14 @@
36
36
  "xterm": "5.3.0"
37
37
  },
38
38
  "optionalDependencies": {
39
- "@openav/cli-darwin-arm64": "1.0.40",
40
- "@openav/cli-darwin-x64": "1.0.40",
41
- "@openav/cli-linux-x64": "1.0.40",
42
- "@openav/cli-linux-arm64": "1.0.40",
43
- "@openav/cli-linux-x64-musl": "1.0.40",
44
- "@openav/cli-linux-arm64-musl": "1.0.40",
45
- "@openav/cli-win32-x64": "1.0.40",
46
- "@openav/cli-win32-arm64": "1.0.40"
39
+ "@openav/cli-darwin-arm64": "1.0.41",
40
+ "@openav/cli-darwin-x64": "1.0.41",
41
+ "@openav/cli-linux-x64": "1.0.41",
42
+ "@openav/cli-linux-arm64": "1.0.41",
43
+ "@openav/cli-linux-x64-musl": "1.0.41",
44
+ "@openav/cli-linux-arm64-musl": "1.0.41",
45
+ "@openav/cli-win32-x64": "1.0.41",
46
+ "@openav/cli-win32-arm64": "1.0.41"
47
47
  },
48
48
  "files": [
49
49
  "bin/",
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{$ as t,At as n,J as r,L as i,Ur as a,d as o,ft as s,g as c,kr as l,n as u,ot as d,u as f,xr as p,yt as m,z as h}from"./icons-BvYhTENi.js";import{t as g}from"./useTranslation-BGmCDuQI.js";import{t as _}from"./api-CCt9DRQm.js";import{I as v}from"./markdown-DAQZeY5V.js";import{A as y,f as b,r as x}from"./common-BHXgEvgk.js";import{n as S,t as C}from"./channelMeta-BGQXQxgj.js";import{i as w}from"./index-BX-d2OBW.js";var T=e(a(),1),E=v(),D=(0,T.memo)(function({selectedSessionId:e,onSelectionChange:n,onOpenSession:r,onNavigate:i,onCollapse:a,onDeleted:o}){let{t:s}=g(),[c,u]=(0,T.useState)([]),[f,p]=(0,T.useState)(!0),[h,v]=(0,T.useState)(null),[y,x]=(0,T.useState)(null),[S,C]=(0,T.useState)(null),[w,D]=(0,T.useState)(!1),[O,A]=(0,T.useState)(null),[j,M]=(0,T.useState)(null),N=(0,T.useCallback)(async()=>{try{let e=await _.assistants.list();e.success&&Array.isArray(e.data)?(u(e.data),v(null)):v(e.error||s(`assistants.loadFailed`))}catch(e){v(e instanceof Error?e.message:String(e))}finally{p(!1)}},[s]);(0,T.useEffect)(()=>{N();let e=window.setInterval(()=>{N()},8e3);return()=>window.clearInterval(e)},[N]);let P=(0,T.useCallback)(async(e,t)=>{(await _.assistants.update(e,t)).success&&N()},[N]),F=(0,T.useCallback)(async()=>{D(!0),M(null);try{let e=await _.assistants.create({title:s(`assistants.newAssistantTitle`)});e.success&&e.data?(await N(),n(e.data),C(e.data.sessionId)):M(e.error||s(`assistants.createFailed`))}catch(e){M(e instanceof Error?e.message:String(e))}finally{D(!1)}},[N,n,s]),I=(0,T.useCallback)(async(e,t)=>{M(null);try{let n=await _.assistants.rename(e,t);n.success?(C(null),await N()):M(n.error||s(`assistants.renameFailed`))}catch(e){M(e instanceof Error?e.message:String(e))}},[N,s]),L=(0,T.useCallback)(async(t,n)=>{if(typeof window>`u`||typeof window.confirm!=`function`||window.confirm(s(`assistants.deleteConfirm`,{title:n}))){M(null),A(t);try{let n=await _.assistants.remove(t);n.success?(S===t&&C(null),e===t&&o?.(t),await N()):M(n.error||s(`assistants.deleteFailed`))}catch(e){M(e instanceof Error?e.message:String(e))}finally{A(null)}}},[S,e,o,N,s]);return(0,T.useEffect)(()=>{if(!e)return;let t=c.find(t=>t.sessionId===e);t&&n(t)},[c,e,n]),(0,E.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[(0,E.jsxs)(`div`,{className:`flex items-center justify-between border-b border-dark-border px-4 py-2.5`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,E.jsx)(l,{size:16,className:`text-accent-blue`,"aria-hidden":`true`}),(0,E.jsx)(`h2`,{className:`text-sm font-semibold text-dark-text`,children:s(`assistants.title`)}),!f&&(0,E.jsx)(`span`,{className:`rounded-full bg-dark-hover px-1.5 py-0.5 text-badge text-dark-muted`,children:c.length})]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[(0,E.jsxs)(`button`,{type:`button`,onClick:()=>void F(),disabled:w,className:`flex items-center gap-1 rounded px-2 py-1 text-xs text-accent-blue hover:bg-dark-hover disabled:opacity-50`,title:s(`assistants.newAssistantHint`),"data-testid":`assistants-create`,children:[(0,E.jsx)(d,{size:12,"aria-hidden":`true`}),s(`assistants.newAssistant`)]}),(0,E.jsxs)(`button`,{type:`button`,onClick:()=>void N(),className:`flex items-center gap-1 rounded px-2 py-1 text-xs text-dark-muted hover:bg-dark-hover hover:text-dark-text`,title:s(`common.refresh`),children:[(0,E.jsx)(t,{size:12,className:f?`animate-spin`:``,"aria-hidden":`true`}),s(`common.refresh`)]}),a&&(0,E.jsx)(`button`,{type:`button`,onClick:a,className:`rounded p-1 text-dark-muted hover:bg-dark-hover hover:text-dark-text`,title:s(`assistants.collapseList`),"aria-label":s(`assistants.collapseList`),"aria-expanded":!0,"data-testid":`assistants-list-collapse`,children:(0,E.jsx)(m,{size:13,"aria-hidden":`true`})})]})]}),j&&(0,E.jsx)(`div`,{className:`border-b border-dark-border px-4 py-1.5 text-meta text-accent-red`,role:`alert`,children:j}),(0,E.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto p-2`,children:f&&c.length===0?(0,E.jsx)(`div`,{className:`py-2`,role:`status`,"aria-label":s(`assistants.loading`),children:(0,E.jsx)(b,{count:4})}):h&&c.length===0?(0,E.jsx)(`div`,{className:`py-8 text-center text-xs text-accent-red`,children:h}):c.length===0?(0,E.jsxs)(`div`,{className:`py-10 text-center text-xs text-dark-muted`,children:[(0,E.jsx)(l,{size:24,className:`mx-auto mb-2 text-dark-muted`,"aria-hidden":`true`}),(0,E.jsx)(`p`,{children:s(`assistants.empty`)}),(0,E.jsx)(`p`,{className:`mt-1 text-meta`,children:s(`assistants.emptyHint`)}),(0,E.jsx)(`button`,{type:`button`,onClick:()=>i(`channels`),className:`mt-3 rounded border border-dark-border px-2.5 py-1 text-meta text-dark-text hover:bg-dark-hover`,children:s(`assistants.goChannels`)})]}):(0,E.jsx)(`div`,{className:`flex flex-col gap-2`,children:c.map(t=>(0,E.jsx)(k,{assistant:t,selected:e===t.sessionId,onSelect:()=>n(t),expanded:y===t.sessionId,onToggleExpand:()=>x(y===t.sessionId?null:t.sessionId),onOpen:()=>r(t.sessionId,t.title),onUpdate:e=>void P(t.sessionId,e),editing:S===t.sessionId,onStartRename:()=>C(t.sessionId),onCancelRename:()=>C(null),onRename:e=>void I(t.sessionId,e),deleting:O===t.sessionId,onDelete:()=>void L(t.sessionId,t.title)},t.sessionId))})})]})});function O(e){if(e===`running`)return`running`;if(e===`paused`)return`waiting`;if(e===`error`)return`failed`}var k=(0,T.memo)(function({assistant:e,selected:t,onSelect:r,expanded:a,onToggleExpand:u,onOpen:d,onUpdate:p,editing:m,onStartRename:_,onCancelRename:v,onRename:y,deleting:b,onDelete:T}){let{t:D}=g(),k=e.channel?.peerKind===`group`,N=e.kind===`home`;return(0,E.jsxs)(`div`,{className:`rounded-lg border bg-dark-surface transition-colors ${t?`border-accent-blue/60 ring-1 ring-accent-blue/30`:`border-dark-border`}`,children:[(0,E.jsxs)(`button`,{type:`button`,onClick:r,"aria-current":t?`true`:void 0,className:`flex w-full items-center gap-2 rounded-t-lg px-3 py-2 text-start focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent-blue/60 ${t?`bg-accent-blue/5`:`hover:bg-dark-hover/40`}`,children:[(0,E.jsx)(x,{sessionId:e.sessionId,status:O(e.status),size:40}),(0,E.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,E.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[e.channel?(0,E.jsx)(`span`,{className:`text-base leading-none`,"aria-hidden":`true`,children:C(e.channel.type)}):(0,E.jsx)(l,{size:14,className:`shrink-0 text-dark-muted`,"aria-hidden":`true`}),(0,E.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium text-dark-text`,title:e.title,children:e.title}),(0,E.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full ${w(e.status)}`,title:D(`assistants.status.${e.status}`,{defaultValue:e.status})}),e.channel&&(k?(0,E.jsx)(f,{size:11,className:`shrink-0 text-dark-muted`,"aria-label":D(`assistants.group`)}):(0,E.jsx)(o,{size:11,className:`shrink-0 text-dark-muted`,"aria-label":D(`assistants.dm`)}))]}),(0,E.jsxs)(`div`,{className:`mt-0.5 flex items-center gap-1.5 text-badge text-dark-muted`,children:[(0,E.jsx)(`span`,{className:`shrink-0`,children:e.channel?S(e.channel.type):D(N?`assistants.homeLabel`:`assistants.localLabel`)}),(0,E.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.channel?.peerId,children:e.channel?e.channel.peerId:D(N?`assistants.homeHint`:`assistants.localHint`)}),e.stats.unread>0&&(0,E.jsx)(`span`,{className:`shrink-0 rounded-full bg-accent-red/15 px-1.5 text-avatar font-medium text-accent-fg`,children:e.stats.unread})]}),e.preview&&(0,E.jsx)(`p`,{className:`mt-1 line-clamp-2 text-meta leading-snug text-dark-muted`,title:e.preview,children:e.preview})]}),(0,E.jsx)(j,{mode:e.mode}),e.trust.level===`owner`?(0,E.jsx)(i,{size:12,className:`shrink-0 text-accent-green`,"aria-label":D(`assistants.trust.owner`)}):e.trust.level===`public`?(0,E.jsx)(h,{size:12,className:`shrink-0 text-accent-yellow`,"aria-label":D(`assistants.trust.public`)}):(0,E.jsx)(i,{size:12,className:`shrink-0 text-accent-blue`,"aria-label":D(`assistants.trust.team`)})]}),(0,E.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-dark-border px-3 py-1.5`,children:[(0,E.jsxs)(`button`,{type:`button`,onClick:d,className:`flex items-center gap-1 rounded px-2 py-0.5 text-meta text-accent-blue hover:bg-dark-hover`,children:[(0,E.jsx)(n,{size:11,"aria-hidden":`true`}),D(`assistants.openSession`)]}),(0,E.jsx)(`button`,{type:`button`,onClick:u,className:`flex items-center gap-1 rounded px-2 py-0.5 text-meta text-dark-muted hover:bg-dark-hover hover:text-dark-text`,children:D(`assistants.policy`)}),!N&&(0,E.jsx)(`button`,{type:`button`,onClick:m?v:_,className:`flex items-center gap-1 rounded px-2 py-0.5 text-meta text-dark-muted hover:bg-dark-hover hover:text-dark-text`,title:D(`assistants.rename`),"aria-label":D(`assistants.rename`),"aria-pressed":m,"data-testid":`assistant-rename-${e.sessionId}`,children:(0,E.jsx)(s,{size:11,"aria-hidden":`true`})}),!N&&(0,E.jsx)(`button`,{type:`button`,onClick:T,disabled:b,className:`flex items-center gap-1 rounded px-2 py-0.5 text-meta text-dark-muted hover:bg-accent-red/10 hover:text-accent-red disabled:opacity-50`,title:D(`assistants.deleteHint`),"aria-label":D(`assistants.delete`),"data-testid":`assistant-delete-${e.sessionId}`,children:(0,E.jsx)(c,{size:11,"aria-hidden":`true`})}),(0,E.jsx)(`span`,{className:`flex-1`}),(0,E.jsx)(`span`,{className:`text-badge text-dark-muted`,children:D(`assistants.groupPolicy`,{mention:String(k?e.policy.mentionRequired:!1)})})]}),a&&(0,E.jsx)(M,{assistant:e,isGroup:k,onUpdate:p}),m&&(0,E.jsx)(A,{initial:e.title,onSubmit:y,onCancel:v})]})});function A({initial:e,onSubmit:t,onCancel:n}){let{t:r}=g(),[i,a]=(0,T.useState)(e),o=()=>{let r=i.trim();!r||r===e?n():t(r)};return(0,E.jsxs)(`div`,{className:`flex items-center gap-1.5 border-t border-dark-border px-3 py-1.5`,children:[(0,E.jsx)(`input`,{autoFocus:!0,type:`text`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),o()):e.key===`Escape`&&(e.preventDefault(),n())},"aria-label":r(`assistants.renameLabel`),"data-testid":`assistant-rename-input`,className:`min-w-0 flex-1 rounded border border-dark-border bg-dark-surface px-1.5 py-0.5 text-meta text-dark-text`}),(0,E.jsx)(`button`,{type:`button`,onClick:o,className:`rounded p-1 text-accent-blue hover:bg-dark-hover`,title:r(`common.save`),"aria-label":r(`common.save`),"data-testid":`assistant-rename-save`,children:(0,E.jsx)(p,{size:12,"aria-hidden":`true`})}),(0,E.jsx)(`button`,{type:`button`,onClick:n,className:`rounded p-1 text-dark-muted hover:bg-dark-hover hover:text-dark-text`,title:r(`common.cancel`),"aria-label":r(`common.cancel`),children:(0,E.jsx)(u,{size:12,"aria-hidden":`true`})})]})}function j({mode:e}){let{t}=g();return(0,E.jsx)(`span`,{className:`shrink-0 rounded px-1.5 py-0.5 text-avatar font-medium ${e===`delegate`?`bg-accent-blue/15 text-accent-blue`:`bg-dark-hover text-dark-muted`}`,children:t(`assistants.mode.${e}`)})}function M({assistant:e,isGroup:t,onUpdate:n}){let{t:i}=g(),[a,o]=(0,T.useState)(e.mode),[s,c]=(0,T.useState)(e.policy.mentionRequired),[l,u]=(0,T.useState)(String(e.policy.cooldownSeconds)),[d,f]=(0,T.useState)((e.policy.keywords??[]).join(`, `)),[p,m]=(0,T.useState)(!1);return(0,E.jsxs)(`div`,{className:`border-t border-dark-border px-3 py-2.5 text-meta`,children:[(0,E.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-2`,children:[(0,E.jsxs)(`label`,{className:`flex items-center gap-1.5 text-dark-muted`,children:[i(`assistants.mode.label`),(0,E.jsxs)(`select`,{value:a,onChange:e=>o(e.target.value),className:`rounded border border-dark-border bg-dark-surface px-1.5 py-0.5 text-dark-text`,children:[(0,E.jsx)(`option`,{value:`delegate`,children:i(`assistants.mode.delegate`)}),(0,E.jsx)(`option`,{value:`direct`,children:i(`assistants.mode.direct`)})]})]}),t&&(0,E.jsxs)(`label`,{className:`flex items-center gap-1.5 text-dark-muted`,children:[(0,E.jsx)(`input`,{type:`checkbox`,checked:s,onChange:e=>c(e.target.checked)}),i(`assistants.mentionRequired`)]}),(0,E.jsxs)(`label`,{className:`flex items-center gap-1.5 text-dark-muted`,children:[i(`assistants.cooldown`),(0,E.jsx)(`input`,{type:`number`,min:0,value:l,onChange:e=>u(e.target.value),className:`w-14 rounded border border-dark-border bg-dark-surface px-1.5 py-0.5 text-dark-text`}),`s`]})]}),(0,E.jsxs)(`label`,{className:`mt-2 flex items-center gap-1.5 text-dark-muted`,children:[i(`assistants.keywords`),(0,E.jsx)(`input`,{type:`text`,value:d,placeholder:i(`assistants.keywordsPlaceholder`)??``,onChange:e=>f(e.target.value),className:`min-w-0 flex-1 rounded border border-dark-border bg-dark-surface px-1.5 py-0.5 text-dark-text`})]}),(0,E.jsx)(`div`,{className:`mt-2 flex justify-end`,children:(0,E.jsx)(y,{size:`sm`,variant:`accent`,onClick:()=>{m(!0),n({mode:a,policy:{mentionRequired:t?s:!1,cooldownSeconds:Math.max(0,Number(l)||0),...d.trim()?{keywords:d.split(/[,,]/).map(e=>e.trim()).filter(Boolean)}:{}}}),window.setTimeout(()=>m(!1),600)},loading:p,leftIcon:(0,E.jsx)(r,{size:11,"aria-hidden":`true`}),children:i(`common.save`)})})]})}export{D as AssistantsView};