@opencue/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
@@ -0,0 +1,4 @@
1
+ import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{At as t,Bt as n,In as r,K as i,L as a,Ln as o,Q as s,Rn as c,Rr as l,Rt as u,U as d,Ur as f,W as p,Wt as m,Y as h,_r as g,br as _,er as v,f as y,gr as b,in as x,m as S,n as C,or as w,ot as T,pr as E,u as D,ur as O,vr as k,w as A,xr as j,y as M,yr as N,z as P}from"./icons-BvYhTENi.js";import{r as F}from"./react-vendor-BlngCquv.js";import{t as I}from"./useTranslation-BGmCDuQI.js";import{C as L,S as R,f as ee,i as z,l as B,m as V,p as H,r as U}from"./ttsSettings-DHo3OsOq.js";import{n as W,t as G}from"./state-_ZfNVAsd.js";import{t as K}from"./cn-rx4uumOJ.js";import"./src-49LUQhkG.js";import{f as q,i as te,t as ne}from"./workspaceSemantics-RaIRer76.js";import{S as re,a as J,c as ie,d as ae,f as oe,ft as se,h as ce,i as le,l as ue,m as de,o as fe,p as pe,pt as me,s as he,u as ge}from"./MessageBubble-CV16DZMG.js";import{r as _e,t as ve}from"./InputArea-DAgOOjOc.js";import{D as ye}from"./settingsStore-RLUAWgIk.js";import{t as be}from"./api-CCt9DRQm.js";import{I as xe}from"./markdown-DAQZeY5V.js";import{n as Y}from"./websocket-C9e3h7VU.js";import{A as X}from"./common-BHXgEvgk.js";import{E as Se,U as Ce,h as we,t as Te}from"./index-BX-d2OBW.js";import{t as Ee}from"./profileChange-xrd7jkii.js";var Z=e(f(),1);function De(e){return e.recordId===void 0?e.callId===void 0?e.sourceSeq===void 0?`${e.kind}\u0000index\u0000${e.index}`:`${e.kind}\u0000seq\u0000${e.sourceSeq}`:`${e.kind}\u0000call\u0000${e.callId}`:e.recordId}function Oe(e){return re(e===null?null:e*1e3)}var ke=2048,Ae=512;function je(e){return e.replace(/```[^\n]*\n([\s\S]*?)```/g,`$1`).replace(/`([^`]+)`/g,`$1`).replace(/!\[([^\]]*)\]\([^)]*\)/g,`$1`).replace(/\[([^\]]+)\]\([^)]*\)/g,`$1`).replace(/^#{1,6}\s+/gm,``).replace(/^[ \t]*[-*+]\s+/gm,``).replace(/^[ \t]*>\s?/gm,``).replace(/(\*\*|__)(.*?)\1/g,`$2`).replace(/(\*|_)(.*?)\1/g,`$2`).replace(/~~(.*?)~~/g,`$1`)}function Me(e){let t=e.slice(0,ke),n=je(t).replace(/\s+/g,` `).trim(),r=n.slice(0,Ae).trimEnd();return t.length<e.length||r.length<n.length?`${r}…`:r}function Ne(e){if(Number.isFinite(e))return Oe(e)}function Pe(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Fe(e){if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return``}}function Ie(e){if(typeof e==`string`)return e;if(e==null)return``;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function Le(e){if(e.status===`error`)return{result:e.result===void 0?`error`:Ie(e.result)};let t=Ie(e.result);return t===``?{result:`No output`}:{result:``,resultPreviewMarkdown:t}}function Re(e,t){let n=t?.get(e.id)??null,r=e.summary?.durationMs===void 0?null:(n??e.timestamp)+e.summary.durationMs,i=n!==null||r!==null;if(i)return{timingRecorded:i,stepStartTime:e.timestamp,firstTokenTime:n,completedTime:r,usageProvided:!1,outputTokens:null}}function ze(e,t,n){let r=e.thinkingBlocks?e.thinkingBlocks.map(e=>e.text).join(`
2
+ `):e.thinking??``,i=Re(e,n),a=e.summary?.durationMs;return{index:t,kind:`message`,text:``,...e.content===``?{}:{previewMarkdown:e.content},sourceSeq:t,inputDetail:e.content,...r===``?{}:{thinkingDetail:r},...i===void 0?{}:{assistantMetrics:i},timeSeconds:a===void 0?null:a/1e3,startedAt:e.timestamp}}function Be(e,t){let n=Fe(e.args),r=Ie(e.result),i=Le(e);return{index:t,kind:`tool`,text:e.name,...n===``?{}:{previewMarkdown:n},sourceSeq:t,callId:e.id,...n===``?{}:{inputDetail:n},...r===``?{}:{outputDetail:r},...i,isError:e.status===`error`,timeSeconds:e.duration===void 0?null:e.duration/1e3,startedAt:e.timestamp}}function Ve(e,t){return{index:t,kind:`user`,text:``,...e.content===``?{}:{previewMarkdown:e.content},sourceSeq:t,inputDetail:e.content,opensTurn:!0,timeSeconds:0,startedAt:e.timestamp}}function He(e,t){let n=[e.originalCount===void 0?``:`original ${e.originalCount} msgs`,e.compressedCount===void 0?``:`compressed ${e.compressedCount} msgs`,e.tokensSaved===void 0?``:`freed ${e.tokensSaved} tokens`].filter(Boolean).join(`, `);return{index:t,kind:`compacted`,text:`Context compressed`,sourceSeq:e.seq,...n===``?{}:{outputDetail:n},timeSeconds:0,startedAt:e.timestamp}}function Ue(e){let t=[],n=[];for(let t of e)t.absTime!==null&&Number.isFinite(t.absTime)&&(n.push(t.absTime),t.cell.kind===`tool`&&t.cell.timeSeconds!==null&&Number.isFinite(t.cell.timeSeconds)&&n.push(t.absTime+t.cell.timeSeconds*1e3));if(n.length>=2){let e=Ne((Math.max(...n)-Math.min(...n))/1e3);e!==void 0&&t.push(e)}else if(n.length===1){let r=e.find(e=>e.absTime===n[0])?.cell.timeSeconds,i=r==null?void 0:Ne(r);i!==void 0&&t.push(i)}let r=new Map;for(let t of e)t.toolName!==void 0&&t.cell.kind===`tool`&&r.set(t.toolName,(r.get(t.toolName)??0)+1);for(let[e,n]of r)t.push(n>1?`${e}×${n}`:e);return t.length===0?void 0:t.join(` `)}function We(e,t){return{turn:e,groups:t.groups.map(({title:e,laid:t})=>{let n=Ue(t);return{title:e,...n===void 0?{}:{description:n},cells:t.map(e=>e.cell)}})}}function Ge(e){return Math.min(...e.groups.flatMap(e=>e.cells.map(e=>e.index)),1/0)}function Ke(e){let{messages:t,compacted:n=[],ttft:r}=e,i=new Map,a=[],o=0,s=0,c=null,l=e=>{let t=i.get(e);return t===void 0&&(t={groups:[]},i.set(e,t)),t},u=(e,t)=>{let n=l(e).groups,r=n[n.length-1];r?.title===`Message`?r.laid.push(t):n.push({title:`Message`,laid:[t]})},d=(e,t,n)=>{if(n.length===0)return;let r=l(e).groups,i=`Step ${t}`,a=r.find(e=>e.title===i);a===void 0?r.push({title:i,laid:[...n]}):a.laid.push(...n)},f=[...t.map(e=>({kind:`message`,message:e})),...n.map(e=>({kind:`compacted`,record:e}))].sort((e,t)=>(e.kind===`message`?e.message.timestamp:e.record.timestamp)-(t.kind===`message`?t.message.timestamp:t.record.timestamp));for(let e of f){if(e.kind===`compacted`){let t=He(e.record,++o);a.push({groups:[{title:`Compaction ${e.record.seq}`,laid:[{absTime:Pe(e.record.timestamp),cell:t}]}]});continue}let t=e.message;if(R(t)){s+=1;let e=Ve(t,++o);u(s,{absTime:Pe(t.timestamp),cell:e});continue}let n=s>0?s:c??1,i=L(t)?Ve(t,++o):ze(t,++o,r);u(n,{absTime:Pe(t.timestamp),cell:i}),c=n;for(let e of t.toolCalls??[]){let t=Be(e,++o);u(n,{absTime:Pe(e.timestamp),toolName:e.name,callId:e.id,cell:t})}for(let[e,r]of(t.steps??[]).entries()){let t=(r.toolCalls??[]).map(e=>{let t=Be(e,++o);return{absTime:Pe(e.timestamp),toolName:e.name,callId:e.id,cell:t}});d(n,e+1,t)}}return[...[...i.entries()].map(([e,t])=>We(e,t)),...a.map(e=>We(null,e))].sort((e,t)=>Ge(e)-Ge(t))}function qe(e){if(e.text!==``)return e.text;if(e.previewMarkdown!==void 0){let t=Me(e.previewMarkdown);if(t!==``)return t}if(e.result!==void 0&&e.result!==``)return e.result;if(e.resultPreviewMarkdown!==void 0){let t=Me(e.resultPreviewMarkdown);if(t!==``)return t}return e.kind}function Je(e){return re(e)}function Ye(e){return e===`tool`||e===`subtool`?2:+(e===`message`||e===`compacted`)}function Xe(e){return e!=null&&Number.isFinite(e)}function Ze(e){if(!Xe(e.startedAt))return null;let t=Xe(e.timeSeconds)?Math.max(0,e.timeSeconds*1e3):0;return{start:e.startedAt,end:e.startedAt+t}}function Qe(e,t=`sequence`){if(t!==`sequence`)return $e(e,t===`duration`);let n=[],r=[];for(let t of e){let e=t.groups.flatMap(e=>e.cells.filter(e=>e.requestOnly!==!0));e.length!==0&&(t.turn!==null&&r.push({turn:t.turn,time:n.length}),n.push(...e.map((e,t)=>({start:n.length+t,end:n.length+t+1,index:e.index,isError:e.isError===!0,kind:e.kind,label:e.text,lane:Ye(e.kind)}))))}return n.length===0?null:{start:0,end:n.length,spans:n,turnBoundaries:r}}function $e(e,t){let n=e.flatMap(e=>{let t=e.groups.flatMap(e=>e.cells.flatMap(e=>{if(e.requestOnly===!0)return[];let t=Ze(e);return t===null?[]:[{...t,index:e.index,isError:e.isError===!0,kind:e.kind,label:e.text,lane:Ye(e.kind)}]}));return t.length===0?[]:[{turn:e.turn,rawSpans:t}]}),r=n.flatMap(e=>e.rawSpans);if(r.length===0)return null;let i=new Map,a=0,o=null;for(let e of[...r].sort((e,t)=>e.start-t.start||e.end-t.end))t&&o!==null&&e.start>o&&(a+=e.start-o),i.set(e,a),o=o===null?e.end:Math.max(o,e.end);let s=[],c=[];for(let e of n){let t=e.rawSpans.map(e=>{let t=i.get(e)??0;return{...e,start:e.start-t,end:e.end-t}});s.push(...t),e.turn!==null&&c.push({turn:e.turn,time:Math.min(...t.map(e=>e.start))})}return{start:Math.min(...s.map(e=>e.start)),end:Math.max(...s.map(e=>e.end)),spans:s,turnBoundaries:c}}function et(e,t,n=`sequence`){let r=Qe(e,n);return new Set(r?.spans.filter(e=>e.start<=t.end&&e.end>=t.start).map(e=>e.index))}function tt(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function nt(e){if(e.previewMarkdown===void 0)return``;let t=Me(e.previewMarkdown);return e.text===``?t:t===``?e.text:`${e.text} · ${t}`}function rt(e){return e.resultPreviewMarkdown===void 0?e.result??``:Me(e.resultPreviewMarkdown)}function it(e,t,n){let r=[...n.sourceBlocks??[],...n.outputBlocks??[]];return[e===null?`between turns`:`turn ${e}`,t,n.kind,n.kind===`message`?`assistant`:``,n.text,n.previewMarkdown??``,n.inputDetail??``,n.outputDetail??``,n.thinkingDetail??``,n.schemaDetail??``,n.result??``,n.resultPreviewMarkdown??``,n.callId??``,...r.flatMap(e=>[e.type,e.content,e.callId??``,e.toolName??``,e.imageAlt??``])]}var at=class{entries=new Map;layouts;update(e){if(this.layouts===e)return!1;this.layouts=e;let t=new Set;for(let n of e)for(let e of n)for(let n of e.groups)for(let r of n.cells){if(r.requestOnly===!0)continue;let i=De(r),a=it(e.turn,n.title,r),o=this.entries.get(i),s=o!==void 0&&tt(o.sources,a)?o:{sources:a,text:[...a,nt(r),rt(r)].join(`
3
+ `).toLocaleLowerCase()};this.entries.set(i,s),t.add(i)}for(let e of this.entries.keys())t.has(e)||this.entries.delete(e);return!0}search(e){let t=e.trim().toLocaleLowerCase().split(/\s+/).filter(Boolean);if(t.length===0)return null;let n=new Set;for(let[e,r]of this.entries)t.every(e=>r.text.includes(e))&&n.add(e);return n}},Q=xe(),ot=(0,Z.memo)(function({actualDuration:e,onActualDurationChange:t,allTurnsCollapsed:n,onToggleAllTurns:r,allAssistantsCollapsed:i,onToggleAllAssistants:a,searchQuery:o,onSearchQueryChange:s}){let{t:c}=I();return(0,Q.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center gap-1 border-b border-dark-border/40 px-2`,role:`toolbar`,children:[(0,Q.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 rounded px-2 py-1 text-xs text-dark-muted hover:bg-dark-surface/60`,"aria-pressed":e,title:c(e?`trajectory.toolbar.equalWidth`:`trajectory.toolbar.actualDuration`),onClick:()=>t(!e),children:[(0,Q.jsx)(M,{size:13}),c(`trajectory.toolbar.duration`)]}),(0,Q.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 rounded px-2 py-1 text-xs text-dark-muted hover:bg-dark-surface/60`,"aria-pressed":n,title:c(n?`trajectory.toolbar.expandTurns`:`trajectory.toolbar.collapseTurns`),onClick:r,children:[n?(0,Q.jsx)(b,{size:13}):(0,Q.jsx)(E,{size:13}),c(`trajectory.toolbar.turns`)]}),(0,Q.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1.5 rounded px-2 py-1 text-xs text-dark-muted hover:bg-dark-surface/60`,"aria-pressed":i,title:c(i?`trajectory.toolbar.expandCalls`:`trajectory.toolbar.collapseCalls`),onClick:a,children:[(0,Q.jsx)(m,{size:13}),c(`trajectory.toolbar.calls`)]}),(0,Q.jsx)(`div`,{className:`ms-auto flex min-w-0 flex-1 items-center justify-end`,children:(0,Q.jsxs)(`div`,{className:`relative flex w-56 items-center`,children:[(0,Q.jsx)(p,{size:12,className:`pointer-events-none absolute start-2 text-dark-muted/50`}),(0,Q.jsx)(`input`,{type:`search`,className:`h-7 w-full rounded border border-dark-border/40 bg-dark-surface/60 ps-7 pe-2 text-xs text-dark-text outline-none placeholder:text-dark-muted/40 focus:border-accent-blue/50`,"aria-label":c(`trajectory.toolbar.search`),placeholder:c(`trajectory.toolbar.searchPlaceholder`),value:o,onChange:e=>s(e.currentTarget.value)})]})})]})}),st=3,ct=500,lt=8,ut=8;function dt(e){let t=e?.stepStartTime,n=e?.firstTokenTime,r=e?.completedTime;return e?.timingRecorded!==!0||typeof t!=`number`||typeof n!=`number`||typeof r!=`number`||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||n<t||r<n?{}:{ttftMs:n-t,decodingMs:r-n}}function ft(e){let t=e.timeSeconds===null||!Number.isFinite(e.timeSeconds)?void 0:Math.max(0,e.timeSeconds*1e3),n=e.startedAt===null||!Number.isFinite(e.startedAt)?void 0:e.startedAt;return{...t===void 0?{}:{durationMs:t},...n===void 0?{}:{startedAt:n},...dt(e.assistantMetrics)}}function pt(e){switch(e){case`system`:return`SYSTEM`;case`user`:return`USER`;case`context`:return`CONTEXT`;case`compacted`:return`COMPACTED`;case`message`:return`ASSISTANT`;case`tool`:return`TOOL`;case`subtool`:return`SUBTOOL`}}function mt(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}.${(e=>String(e).padStart(3,`0`))(t.getMilliseconds())}`}function ht(e,t){let n=pt(e);if(t===void 0)return n;let r=t.durationMs===void 0?null:`Total ${Je(t.durationMs)}`;return[n,t.startedAt===void 0?null:t.durationMs===void 0?`Started ${mt(t.startedAt)}`:`${mt(t.startedAt)} → ${mt(t.startedAt+t.durationMs)}`,[r,t.ttftMs===void 0||t.decodingMs===void 0?null:`TTFT ${Je(t.ttftMs)} · Decoding ${Je(t.decodingMs)}`].filter(e=>e!==null).join(` · `)].filter(e=>e!==null&&e!==``).join(`
4
+ `)}function gt(e,t){return e<=t?{start:e,end:t}:{start:t,end:e}}function _t(e){return Math.min(1,Math.max(0,e))}var vt=(0,Z.memo)(function({turns:e,mode:t,range:n,selectedIndex:r=null,searchMatchIndexes:i=null,onRangeChange:a,onRecordSelect:o}){let s=(0,Z.useMemo)(()=>Qe(e,t),[t,e]),c=(0,Z.useMemo)(()=>new Map(e.flatMap(e=>e.groups.flatMap(e=>e.cells.map(e=>[e.index,ft(e)])))),[e]),l=(0,Z.useMemo)(()=>new Map(e.flatMap(e=>e.groups.flatMap(e=>e.cells.map(e=>[e.index,qe(e)])))),[e]),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),[f,p]=(0,Z.useState)(null),[m,h]=(0,Z.useState)(null),g=(0,Z.useRef)(null),_=(0,Z.useRef)(null),[v,y]=(0,Z.useState)(1),b=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{s!==null&&n!==null&&(n.end<s.start||n.start>s.end)&&a(null)},[s,a,n]),(0,Z.useLayoutEffect)(()=>{let e=b.current,t=_.current;b.current=null,e!==null&&t!==null&&(t.scrollLeft=e.fraction*t.scrollWidth-e.contentOffsetPx)},[v]);let x=(0,Z.useRef)(()=>{});if((0,Z.useEffect)(()=>{let e=u.current;if(!e)return;let t=e=>{e.preventDefault(),x.current(e)};return e.addEventListener(`wheel`,t,{passive:!1}),()=>e.removeEventListener(`wheel`,t)},[s]),s===null)return(0,Q.jsxs)(`div`,{className:`traj-root`,"data-empty":``,children:[(0,Q.jsxs)(`div`,{className:`traj-labels`,"aria-hidden":`true`,children:[(0,Q.jsx)(`span`,{children:`Input`}),(0,Q.jsx)(`span`,{children:`Model`}),(0,Q.jsx)(`span`,{children:`Tools`})]}),(0,Q.jsx)(`div`,{className:`traj-track`})]});let S=Math.max(1,s.end-s.start),C=Math.max(1,s.spans.length)*lt*v,w=e=>{let t=u.current;if(!t)return 0;let n=t.getBoundingClientRect();return _t((e-n.left)/Math.max(1,n.width))},T=e=>s.start+e*S,E=e=>{if(e.button===2){a(null);return}let t=e.target.closest(`[data-timeline-record-index]`),n=t===null?null:Number(t.dataset.timelineRecordIndex);n!==null&&Number.isFinite(n)?o?.(n):(d.current={pointerId:e.pointerId,anchorFraction:w(e.clientX),anchorClientX:e.clientX,recordIndex:null},e.currentTarget.setPointerCapture(e.pointerId))},D=e=>{let t=d.current;if(t!==null&&e.pointerId===t.pointerId){let n=w(e.clientX);if(Math.abs(e.clientX-t.anchorClientX)>=st){let e=T(t.anchorFraction),r=T(n);p(gt(e,r))}return}let n=w(e.clientX),r=e.target.closest(`[data-timeline-record-index]`),i=r===null?null:Number(r.dataset.timelineRecordIndex);g.current&&clearTimeout(g.current),g.current=setTimeout(()=>{h({fraction:n,recordIndex:Number.isFinite(i)?i:null})},ct)},O=e=>{let t=d.current;t!==null&&e.pointerId===t.pointerId&&(d.current=null,f!==null&&(a(f),p(null)))},k=e=>{d.current?.pointerId===e.pointerId&&(d.current=null,p(null))};x.current=e=>{if(s===null)return;let t=_.current;if(t===null)return;if(e.ctrlKey||e.metaKey||e.altKey){let n=Math.min(ut,Math.max(1,v*(e.deltaY<0?1.25:.8)));if(n===v)return;let r=u.current;if(r!==null){let n=r.getBoundingClientRect();b.current={fraction:_t((e.clientX-n.left)/Math.max(1,n.width)),contentOffsetPx:e.clientX-t.getBoundingClientRect().left}}y(n);return}let n=e.deltaX===0?e.deltaY:e.deltaX;n!==0&&(t.scrollLeft+=n)};let A=f??n,j=m?.recordIndex;return(0,Q.jsxs)(`div`,{ref:_,className:`traj-root`,children:[(0,Q.jsxs)(`div`,{className:`traj-labels`,"aria-hidden":`true`,children:[(0,Q.jsx)(`span`,{children:`Input`}),(0,Q.jsx)(`span`,{children:`Model`}),(0,Q.jsx)(`span`,{children:`Tools`})]}),(0,Q.jsxs)(`div`,{ref:u,className:`traj-track`,style:{width:`max(100%, ${C}px)`},role:`slider`,"aria-label":`Trajectory timeline`,tabIndex:0,onKeyDown:e=>{e.key===`Escape`&&a(null)},onPointerDown:E,onPointerMove:D,onPointerUp:O,onPointerCancel:k,onPointerLeave:()=>{g.current&&clearTimeout(g.current),g.current=null,d.current===null&&h(null)},onDoubleClick:e=>{e.preventDefault(),a(null)},onContextMenu:e=>{e.preventDefault(),a(null)},children:[m!==null&&m.recordIndex===null&&f===null&&(0,Q.jsx)(`div`,{className:`traj-hoverLine`,"aria-hidden":`true`,style:{"--trajectory-hover-left":`${m.fraction*100}%`}}),A!==null&&(0,Q.jsx)(`div`,{className:`traj-selection`,"data-dragging":f===null?void 0:`true`,"aria-hidden":`true`,style:{"--trajectory-selection-left":`${(A.start-s.start)/S*100}%`,"--trajectory-selection-width":`${(A.end-A.start)/S*100}%`}}),(0,Q.jsx)(`div`,{className:`traj-turnBoundaries`,"aria-hidden":`true`,children:s.turnBoundaries.filter(e=>e.time>s.start).map(e=>(0,Q.jsx)(`span`,{className:`traj-turnBoundary`,"data-turn":e.turn,style:{"--trajectory-turn-left":`${(e.time-s.start)/S*100}%`}},e.turn))}),(0,Q.jsx)(`div`,{className:`traj-lanes`,"data-timeline-domain":``,children:s.spans.map(e=>{let t=(e.start-s.start)/S,n=(e.end-e.start)/S*100,a=c.get(e.index),o=a?.ttftMs,u=a?.decodingMs,d=o===void 0||u===void 0||o+u<=0?null:o/(o+u),f=l.get(e.index)??e.label;return(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`traj-span`,"data-timeline-span":e.kind,"data-timeline-record-index":e.index,"data-assistant-timing":d===null?void 0:`true`,"data-error":e.isError||void 0,"data-current":e.index===r||void 0,"data-hovered":j===e.index||void 0,"data-search-match":i===null?void 0:i.has(e.index)?`true`:`false`,"data-selected":A===null?void 0:e.start<=A.end&&e.end>=A.start?`true`:`false`,title:ht(e.kind,a),style:{"--trajectory-span-left":`${t*100}%`,"--trajectory-span-width":`${n}%`,"--trajectory-span-lane":e.lane,...d===null?{}:{"--trajectory-assistant-ttft":`${d*100}%`}},children:(0,Q.jsx)(`span`,{className:`traj-spanLabel`,children:f})},e.index)})})]})]})}),yt=F();function bt(e){return typeof e==`object`?e.key:e}function xt(e,t){let n=e.length;return new Proxy(e,{get(e,r,i){if(typeof r==`string`){let i=r.charCodeAt(0);if(i>=48&&i<=57){let i=+r;if(Number.isInteger(i)&&i>=0&&i<n){let n=e[i];if(typeof n!=`object`){let r=t[i*2];n=e[i]={index:i,key:n,start:r,size:t[i*2+1],end:r+t[i*2+1],lane:0}}return n}}if(r===`length`)return n}return Reflect.get(e,r,i)}})}function St(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return(o.length!==r.length||o.some((e,t)=>r[t]!==e))&&(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1),i}return o.updateDeps=e=>{r=e},o}function Ct(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var wt=(e,t)=>Math.abs(e-t)<1.01,Tt=(e,t,n)=>{let r;return Object.assign(function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)},{cancel:()=>{e.clearTimeout(r)}})};function Et({offset:e,isScrolling:t,elementMax:n,holdOffset:r,scrollOffset:i,pendingWrite:a,clampedMaxAtWrite:o}){return t&&a===null&&e===i?`spurious`:a!==null&&Math.abs(e-a.target)<1.5?`readBack`:a!==null&&!a.smooth&&n!==null&&a.target>n+r+.5&&Math.abs(e-(n+r))<1.5||a!==null&&!a.smooth&&a.lowMaxes?.some(t=>Math.abs(e-t)<1.5)?`clampedReadBack`:o!==null&&Math.abs(e-o)<1.5?`clampedEcho`:`external`}var Dt=e=>e===`smooth`||e===`smoothFinishing`;function Ot({kind:e,offset:t,command:n,target:r}){return e!==`spurious`&&e!==`readBack`&&e!==`clampedReadBack`&&n?.index!=null&&n.phase!==`queued`&&!Dt(n.phase)&&!wt(t,n.lastTargetOffset)&&!wt(t,r())&&e!==`clampedEcho`}var kt=40;function At(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<kt;)n--;if(n<0)return!1;let r=e[n],i=n-1;for(;i>=0&&r.t-e[i].t<kt;)i--;if(i<0)return!1;let a=e[i],o=(t.offset-r.offset)/(t.t-r.t),s=(r.offset-a.offset)/(r.t-a.t);return o*s>=0&&Math.abs(o)>=2*Math.abs(s)&&Math.abs(o)-Math.abs(s)>=.8}function jt(e){let t=e[e.length-1];if(t===void 0)return!1;let n=e.length-2;for(;n>=0&&t.t-e[n].t<kt;)n--;if(n<0)return!1;let r=e[n];return Math.abs(t.offset-r.offset)/(t.t-r.t)>=.05}var Mt,Nt=()=>{if(Mt!==void 0)return Mt;if(typeof navigator>`u`)return Mt=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Mt=!0;let e=navigator.maxTouchPoints;return Mt=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Pt,Ft=()=>Pt===void 0?Pt=Nt()&&typeof CSS<`u`&&typeof CSS.supports==`function`&&CSS.supports(`overflow-anchor: auto`):Pt,It={capture:!0,passive:!0},Lt=class{constructor(e){this.host=e,this._touch=null,this.inMotion=()=>this._touch!==null&&this._touch.phase!==`lateFling`,this.dragging=()=>this._touch?.phase===`down`&&this._touch.moved,this.tail=()=>this._touch?.phase===`tail`?this._touch.moved?`fling`:`tap`:null,this.onScroll=({isScrolling:e,ownReadBack:t,moved:n,external:r})=>(e&&this._touch?.phase===`tail`?this._openTail(this._touch.moved||!t,!1):this._touch?.phase===`lateFling`&&(this.host.now()>this._touch.until?this._touch=null:r&&e&&n&&this._openTail(!0,!1)),!t&&e&&n&&this._touch?.phase===`down`?(this._touch.moved=!0,!0):!1),this.touchStart=()=>{this.end(),this._touch={phase:`down`,moved:!1}},this.touchEnd=()=>{let e=this._touch?.phase===`down`&&this._touch.moved;this.end(),this._openTail(e,e)},this.end=()=>{let e=this.host.getWindow();this._touch?.phase===`tail`&&e!=null&&e.clearTimeout(this._touch.timerId),this._touch=null},this.listen=e=>{let t=()=>this.touchStart(),n=()=>this.touchEnd();return e.addEventListener(`touchstart`,t,It),e.addEventListener(`touchend`,n,It),e.addEventListener(`touchcancel`,n,It),()=>{e.removeEventListener(`touchstart`,t,It),e.removeEventListener(`touchend`,n,It),e.removeEventListener(`touchcancel`,n,It),this.end()}},this._openTail=(e,t)=>{let n=this.host.getWindow();if(!Nt()||n==null)return;this.end();let r={phase:`tail`,moved:e,awaitingFling:t,timerId:n.setTimeout(()=>{this.host.tailStillMoving()?this._openTail(r.moved,r.awaitingFling):(this._touch=r.awaitingFling?{phase:`lateFling`,until:this.host.now()+1e3}:null,this.host.onTailClosed())},150)};this._touch=r}}get touch(){return this._touch}},Rt=e=>{let{clientWidth:t,clientHeight:n}=e;return{width:t,height:n}},zt=e=>{let t=new Set;return{schedule:n=>{let r=e.requestAnimationFrame(()=>{t.delete(r),n()});t.add(r)},cancel:()=>{t.forEach(t=>e.cancelAnimationFrame(t)),t.clear()}}},Bt=e=>e,Vt=e=>{let t=e.overscan*Math.max(e.lanes??1,1),n=Math.max(e.startIndex-t,0),r=Math.min(e.endIndex+t,e.count-1)-n+1,i=Array(r);for(let e=0;e<r;e++)i[e]=n+e;return i},Ht=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Rt(n)),!r.ResizeObserver)return()=>{};let a=zt(r),o=new r.ResizeObserver(()=>{let t=()=>{i(Rt(n))};e.options.useAnimationFrameWithResizeObserver?a.schedule(t):t()});return o.observe(n,{box:`content-box`}),()=>{o.unobserve(n),a.cancel()}},Ut={passive:!0},Wt=typeof window>`u`||`onscrollend`in window,Gt=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Wt,o=0,s=a?null:Tt(i,()=>t(n(r),!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Ut),a&&r.addEventListener(`scrollend`,u,Ut),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u),s?.cancel()}},Kt=(e,t)=>Gt(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),qt=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Jt=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},Yt=(e,t)=>e===`smooth`?t?`smoothLanded`:`smooth`:`instant`,Xt=e=>e?.phase===`smooth`||e?.phase===`smoothLanded`;function Zt(e,t,n,r){if(t===0)return!1;let i=r(0),a=new Set,o=0;for(;o<e;){let e=n(o);if(e===i)break;a.add(e),o++}let s=e-o;if(s===0||s>=t)return!1;for(let e=0;e<s;e++)if(r(e)!==n(o+e))return!1;for(let e=s;e<t;e++)if(a.has(r(e)))return!1;return!0}var Qt=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._iosGesture=new Lt({getWindow:()=>this.targetWindow,now:()=>this.now(),tailStillMoving:()=>{let e=this.scrollState;if(e?.phase!==`queued`||this.pendingWrite!==null)return!1;let t=this._readElementOffset();return t===null||this._lastElementOffset===null||Math.abs(t-this._lastElementOffset)<1?!1:(this._lastElementOffset=t,e.samples=[...e.samples??[],{t:this.now(),offset:t}],!0)},onTailClosed:()=>{let e=this.scrollState;e?.phase===`queued`&&jt(e.samples??[])&&(this.scrollState=null),this._flushHoldIfReady(!0),this._writeAwaitingCommand()}}),this._lastElementOffset=null,this.pendingWrite=null,this._clampedAdjustment=null,this.elementsCache=new Map,this._resizeBatch=null,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=null,n=()=>{if(e)return e;let n=this.targetWindow;if(!n||!n.ResizeObserver)return null;let i=t=zt(n);return e=new n.ResizeObserver(e=>{let t=()=>{let t={sync:!1};this._resizeBatch=t;try{e.forEach(r)}finally{this._resizeBatch=null,t.notify&&(this.notify(t.sync),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment())}};this.options.useAnimationFrameWithResizeObserver?i.schedule(t):t()})},r=e=>{let t=e.target,n=this.indexFromElement(t);if(t.isConnected)this.isIndexInRange(n)&&this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this));else{this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}}};return{disconnect:()=>{var r;(r=n())==null||r.disconnect(),t?.cancel(),e=null,t=null},observe:e=>n()?.observe(e,{box:`border-box`}),unobserve:e=>n()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Bt,rangeExtractor:Vt,onChange:()=>{},measureElement:qt,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=this._singleLaneMeasurements?.items??s,l=e=>bt(c[e]),u=e>0?l(0):null,d=e>0?l(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==u||t.getItemKey(o-1)!==d)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>0&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==d)&&(o>e||Zt(e,o,l,t.getItemKey))&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=null;if(r&&this.scrollOffset!==null&&!this._awaitingCommandReadBack()){let[e,t]=r,n=this.getMeasurements(),{count:a,getItemKey:s}=this.options,c=0;for(;c<a&&s(c)!==e;)c++;if(c<a){let e=n[c];if(e){let n=Math.max(0,e.start+t);!i&&n!==this.scrollOffset&&(o=n-this.scrollOffset,this.scrollOffset=n)}}}i?this.pendingScrollAnchor={kind:`follow`,behavior:i}:o!==null&&(this._canWriteScroll()?this.pendingScrollAnchor={kind:`anchor`,delta:o}:(this._holdOffset+=o,this._followOffsetTarget(o)))},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=St(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{var e;this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,(e=this._momentumStop)==null||e.restore(),this._momentumStop=null,this.isScrolling=!1,this.scrollDirection=null,this._holdOffset=0,this._reportedOverscroll=!1,this._clampedAdjustment=null,this.pendingWrite=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}this.scrollElement=e,this.targetWindow=this.scrollElement&&`ownerDocument`in this.scrollElement?this.scrollElement.ownerDocument.defaultView:this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{let n=t?this._elementMaxScrollOffset():null,r=this._reportedOverscroll;this._reportedOverscroll=e<0||n!==null&&e>n+1;let i=e;this._lastElementOffset=i,e=this._toLayoutOffset(e);let a=this._classifyScrollEvent(e,t,n);if(a===`spurious`)return;a===`readBack`?e=this.pendingWrite.target:a===`clampedReadBack`&&this.scrollState?.index!=null&&e<this.getMaxScrollOffset()-1.5?this.scrollState.lastTargetOffset=e:Ot({kind:a,offset:e,command:this.scrollState,target:()=>this.getScrollStateTarget(this.scrollState)})&&(this.scrollState=null),this.pendingWrite=null,this._clampedAdjustment!==null&&Math.abs(e-this._clampedAdjustment.maxAtWrite)>=1.5&&(this._clampedAdjustment=null);let o=this.getScrollOffset(),s=this.scrollDirection;this.scrollDirection=t?o===e?this.scrollDirection:o<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t;let c=this.scrollState;if(c?.phase===`queued`&&a===`external`&&t){if(r||this._reportedOverscroll)c.samples=[];else{let e=this.now();c.samples=[...(c.samples??[]).filter(t=>e-t.t<=200),{t:e,offset:i}],(s!==null&&this.scrollDirection!==s||At(c.samples))&&(this.scrollState=null)}}this._iosGesture.onScroll({isScrolling:t,ownReadBack:a===`readBack`,moved:e!==o,external:a===`external`&&this.scrollState?.phase!==`smooth`&&this.scrollState?.phase!==`smoothFinishing`})&&this.scrollState?.phase===`queued`&&(this.scrollState=null),this._flushHoldIfReady(!0),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement&&this.unsubs.push(this._iosGesture.listen(this.scrollElement)),this._scrollToOffset(this.getScrollOffset())}this._noteClampMax();let t=this.pendingScrollAnchor;this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled&&(t.kind===`anchor`?this._canWriteScroll()?Xt(this.scrollState)&&!wt(this.getScrollOffset()-t.delta,this.scrollState.lastTargetOffset)||(this._followOffsetTarget(t.delta),this._scrollToOffset(this.getScrollOffset())):(this._holdOffset+=t.delta,this._followOffsetTarget(t.delta),this.notify(!1)):this.scrollToEnd({behavior:t.behavior})),this._flushHoldIfReady(!1),this._retryClampedAdjustment()},this._classifyScrollEvent=(e,t,n)=>Et({offset:e,isScrolling:t,elementMax:n,holdOffset:this._holdOffset,scrollOffset:this.scrollOffset,pendingWrite:this.pendingWrite,clampedMaxAtWrite:this._clampedAdjustment?.maxAtWrite??null}),this._retryClampedAdjustment=()=>{if(this._clampedAdjustment===null||!this.scrollElement||!this.options.enabled)return;let{target:e,maxAtWrite:t}=this._clampedAdjustment,n=this.getMaxScrollOffset();n>t+.5&&(this._clampedAdjustment=e>n+.5?{target:e,maxAtWrite:n}:null,this._scrollToOffset(e))},this._writeAwaitingCommand=()=>{let e=this.scrollState;if(e===null||e.phase!==`queued`)return;let{behavior:t}=e;this.getMeasurements();let n=this.getScrollStateTarget(e);e.lastTargetOffset=n,this._clampedAdjustment=null,e.phase=Yt(t,e.index!=null&&wt(n,this.getScrollOffset())),this._scrollToOffset(n,{behavior:t}),this.scheduleScrollReconcile()},this._readElementOffset=()=>{let e=this.scrollElement;if(e==null)return null;let{horizontal:t,isRtl:n}=this.options;return typeof e.scrollTop==`number`?t?e.scrollLeft*(n&&-1||1):e.scrollTop:typeof e.scrollY==`number`?t?e.scrollX:e.scrollY:null},this._canWriteScroll=()=>!(Nt()&&this._iosGesture.inMotion())&&!this._reportedOverscroll,this._flushHoldIfReady=e=>{if(this._holdOffset===0||!this.scrollElement||!this.options.enabled||!this._canWriteScroll()||this.scrollState?.phase===`smooth`)return;this._holdOffset=0,this.scrollOffset!==null&&this.scrollOffset<0&&(this.scrollOffset=0),this.notify(e);let t=this.getCommandWrittenOffset()??this.getScrollOffset();this._clampedAdjustment=this._clampedBy(t),this._scrollToOffset(t)},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=St(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(e,t,n,r,i,a,o,s)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s}),{key:!1}),this.isIndexInRange=e=>e>=0&&e<this.options.count,this.getMeasurements=St(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o,gap:s},c)=>{let l=this.itemSizeCache;if(!i)return this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this._singleLaneMeasurements=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let u=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=e*2,a=this._singleLaneMeasurements?.flat;if(!a||a.length<i){let e=new Float64Array(i);a&&u>0&&e.set(a.subarray(0,u*2)),a=e}let o=u===0?Array(e):this._singleLaneMeasurements.items.slice(),c;if(u===0)c=t+n;else{let e=u-1;c=a[e*2]+a[e*2+1]+s}for(let t=u;t<e;t++){let e=r(t);o[t]=e;let n=l.get(e),i=typeof n==`number`?n:this.options.estimateSize(t);a[t*2]=c,a[t*2+1]=i,c+=i+s}this._singleLaneMeasurements={flat:a,items:o};let d=xt(o,a);return this.measurementsCache=d,d}let d=this.measurementsCache.slice(0,u),f=Array(a).fill(void 0),p=new Float64Array(a),m=0;for(let e=0;e<u;e++){let t=d[e];t&&(f[t.lane]===void 0&&m++,f[t.lane]=e,p[t.lane]=t.end)}for(let i=u;i<e;i++){let e=r(i),c=this.laneAssignments.get(i),u,h,g=o===`estimate`||l.has(e);if(c!==void 0&&this.options.lanes>1){u=c;let e=f[u],r=e===void 0?void 0:d[e];h=r?r.end+s:t+n}else if(m===a){let e=0,t=p[0],n=f[0];for(let r=1;r<a;r++){let i=p[r];(i<t||i===t&&f[r]<n)&&(e=r,t=i,n=f[r])}u=e,h=t+s,g&&this.laneAssignments.set(i,u)}else u=i%this.options.lanes,h=t+n,g&&this.laneAssignments.set(i,u);let _=l.get(e),v=typeof _==`number`?_:this.options.estimateSize(i),y=h+v;d[i]={index:i,start:h,size:v,end:y,key:e,lane:u},f[u]===void 0&&m++,f[u]=i,p[u]=y}return this.measurementsCache=d,d},{key:!1,debug:()=>this.options.debug}),this.calculateRange=St(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=tn(e,t,n,r,r===1&&this._singleLaneMeasurements!==null?this._singleLaneMeasurements.flat:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=St(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t,this.options.lanes]},(e,t,n,r,i,a)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n,lanes:a}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!Xt(this.scrollState))return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e);if(!this.isIndexInRange(t))return;let n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),e.isConnected&&(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{var n;if(!this.isIndexInRange(e))return;this._resizeBatch?.sync&&this.getMeasurements();let r,i,a,o=this._singleLaneMeasurements?.flat;if(this.options.lanes===1&&o!=null)a=this.options.getItemKey(e),i=o[e*2],r=o[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;a=t.key,i=t.start,r=t.size}let s=this.itemSizeCache.get(a)??r,c=t-s;if(c!==0){let o=this.options.anchorTo===`end`&&!Xt(this.scrollState)&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,l=o?this._getLayoutTotalSize():0,u=this.getScrollOffset(),d=this.itemSizeCache.has(a)?i+s<=u&&this.scrollDirection!==`backward`:i<u,f=!Xt(this.scrollState)&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?d:this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:a,start:i,size:r,end:i+r,lane:0},c,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(a,t),this.itemSizeCacheVersion++;let p=!1;if(this._awaitingCommandReadBack()||(o?p=this.applyScrollAdjustment(this._getLayoutTotalSize()-l):f&&(p=this.applyScrollAdjustment(c))),this._resizeBatch){this._resizeBatch.notify=!0,(n=this._resizeBatch).sync||(n.sync=p);return}this.notify(p),this._noteClampMax(),this._flushHoldIfReady(!0),this._retryClampedAdjustment()}},this.getVirtualItems=St(()=>[this.getVirtualIndexes(),this.getMeasurements(),this._holdOffset],(e,t,n)=>{let r=[];for(let i=0,a=e.length;i<a;i++){let a=t[e[i]];r.push(n===0?a:{...a,start:a.start-n,end:a.end-n})}return r},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._singleLaneMeasurements?.flat,r=this.options.lanes===1&&n!=null;return Ct(t[$t(0,t.length-1,r?e=>n[e*2]:e=>Ct(t[e]).start,e)])},this._noteClampMax=()=>{if(!this._awaitingCommandReadBack())return;let e=this._elementMaxScrollOffset();if(e===null)return;let t=this.pendingWrite,n=Math.max(e,0)+this._holdOffset;if(n>=t.target)return;let r=t.lowMaxes??=[];r[r.length-1]!==n&&r.push(n)},this.getMaxScrollOffset=()=>(this._elementMaxScrollOffset()??0)+this._holdOffset,this._toLayoutOffset=e=>{let t=e+this._holdOffset;return this.pendingScrollAnchor?.kind===`anchor`&&(t+=this.pendingScrollAnchor.delta),t},this._elementMaxScrollOffset=()=>{let e=this.scrollElement;if(e===null)return null;if(`scrollHeight`in e)return this.options.horizontal?e.scrollWidth-e.clientWidth:e.scrollHeight-e.clientHeight;if(`document`in e){let t=e.document.documentElement;return this.options.horizontal?t.scrollWidth-e.innerWidth:t.scrollHeight-e.innerHeight}return null},this._momentumStop=null,this._stopMomentum=e=>{let t=this.scrollElement,n=this.targetWindow;if(t===null||n===null)return;let r=`document`in t?t.document.scrollingElement:t;if(!r?.style)return;if(this._momentumStop){this._momentumStop.done=e;return}let{style:i}=r,a=this.options.horizontal?`overflow-x`:`overflow-y`,o=i.getPropertyValue(a),s=i.getPropertyPriority(a);i.setProperty(a,`hidden`,`important`);let c={restore:()=>i.getPropertyValue(a)!==`hidden`||i.getPropertyPriority(a)!==`important`?!1:(i.setProperty(a,o,s),!0),done:e};this._momentumStop=c,n.requestAnimationFrame(()=>n.requestAnimationFrame(()=>{this._momentumStop===c&&(this._momentumStop=null,c.restore()&&c.done())}))},this._clampedBy=e=>{let t=this._elementMaxScrollOffset();if(t===null)return null;let n=t+this._holdOffset;return e>n+.5?{target:e,maxAtWrite:n}:null},this.getVirtualDistanceFromEnd=()=>Math.max(this._getLayoutTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`){if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t]}if(t===`end`&&e===this.options.count-1){let e=this.getMaxScrollOffset(),n=e-this.options.paddingEnd+this.options.scrollPaddingEnd;return[Math.max(Math.min(n,e),0),t]}let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{this._startScroll({index:null,align:t},this.getOffsetForAlignment(e,t),n,`absolute`)},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r;this._startScroll({index:e,align:a},i,n,`absolute`)},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getOffsetForAlignment((this.getCommandWrittenOffset()??this.getScrollOffset())+e,`start`);this._startScroll({index:null,align:`start`},n,t,`relative`)},this.scrollToEnd=({behavior:e=`auto`}={})=>{this.options.count>0?this._startScroll({index:this.options.count-1,align:`end`,toEnd:!0},Math.max(this.getMaxScrollOffset(),0),e,`absolute`):this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.cancelScroll=()=>{this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null},this.getTotalSize=()=>Math.max(this._getLayoutTotalSize()-this._holdOffset,0),this._getLayoutTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._singleLaneMeasurements?.flat;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n}={})=>{let r={target:e+(t??0),smooth:n===`smooth`};return this.pendingWrite=r,this.options.scrollToFn(e-this._holdOffset,{behavior:n,adjustments:t},this),r},this.getCommandWrittenOffset=()=>this.scrollState!==null&&this.pendingWrite!==null&&!this.pendingWrite.smooth?this.pendingWrite.target:null,this._awaitingCommandReadBack=()=>{let e=this.getCommandWrittenOffset();return!(Nt()&&this._iosGesture.dragging())&&e!==null&&!wt(e,this.getScrollOffset())},this._followOffsetTarget=e=>{this.scrollState!==null&&this.scrollState.index==null&&(this.scrollState.lastTargetOffset+=e)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}get scrollAdjustments(){return 0}applyScrollAdjustment(e,t){if(e===0)return!1;if(this._followOffsetTarget(e),this._canWriteScroll()){let n=this.getScrollOffset();this._clampedAdjustment=this._clampedBy(n+e);let r=this._scrollToOffset(n,{adjustments:e,behavior:t});return this.scrollOffset!==null&&(this.pendingWrite===r&&(this.scrollOffset+=e),this.scrollOffset<0&&(this.scrollOffset=0)),!0}return this._holdOffset+=e,this.scrollOffset!==null&&(this.scrollOffset+=e),!0}scheduleScrollReconcile(){this.targetWindow?this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}):this.scrollState=null}getScrollStateTarget(e){let t=e.toEnd?[Math.max(this.getMaxScrollOffset(),0)]:e.index==null?void 0:this.getOffsetForIndex(e.index,e.align);return t?t[0]:e.lastTargetOffset}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}if(this.scrollState.phase===`queued`){this.scheduleScrollReconcile();return}this.getMeasurements();let e=this.getScrollStateTarget(this.scrollState),t=this.scrollState.index==null?1:this.options.useAnimationFrameWithResizeObserver?3:2,n=e!==this.scrollState.lastTargetOffset;if(!n&&wt(e,this.getScrollOffset())){if(this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothLanded`:this.scrollState.phase===`smoothFinishing`&&(this.scrollState.phase=`instant`),this.scrollState.stableFrames++,this.scrollState.stableFrames>=t){this.getScrollOffset()!==e&&this._scrollToOffset(e,{behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let t=this.getSize()||600,n=Math.abs(e-this.getScrollOffset()),r=Xt(this.scrollState)&&n>t;this.scrollState.lastTargetOffset=e,r?this.scrollState.phase=`smooth`:this.scrollState.phase===`smooth`?this.scrollState.phase=`smoothFinishing`:this.scrollState.phase===`smoothLanded`&&(this.scrollState.phase=`instant`),this._scrollToOffset(e,{behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}_startScroll(e,t,n,r){let i=this._iosGesture.tail();if(r===`absolute`&&i!==null){if(i===`fling`&&Ft()){this._stopMomentum(()=>{this.scrollState?.phase!==`queued`||this._iosGesture.tail()!==`fling`||this._reportedOverscroll||(this._iosGesture.end(),this._flushHoldIfReady(!0),this._writeAwaitingCommand())}),this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,phase:`queued`,behavior:n,samples:[]},this.scheduleScrollReconcile();return}this._iosGesture.end()}this.scrollState={...e,startedAt:this.now(),lastTargetOffset:t,stableFrames:0,behavior:n,phase:Yt(n,e.index!=null&&wt(t,this.getScrollOffset()))},this._scrollToOffset(t,{behavior:n}),this.scheduleScrollReconcile()}},$t=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function en(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function tn(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=en(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=$t(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var nn=typeof document<`u`?Z.useLayoutEffect:Z.useEffect;function rn({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=Z.useReducer(e=>e+1,0)[1],a=Z.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=Z.useRef(!1),s=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}},c=(e,t,n)=>{let r=a.current,i=!!e.options.horizontal,o=t.start-e.options.scrollMargin;r.lastPositions.get(n)!==o&&(r.lastPositions.set(n,o),r.mode===`transform`?n.style.transform=i?`translate3d(${o}px, 0, 0)`:`translate3d(0, ${o}px, 0)`:n.style[i?`left`:`top`]=`${o}px`)},l=e=>{let t=a.current;if(t.enabled&&t.container){s(e);for(let t of e.getVirtualItems()){let n=e.elementsCache.get(t.key);n&&c(e,t,n)}}},u={...r,onChange:(t,n)=>{var s;let c=a.current,u=!0;if(c.enabled){l(t);let e=t.range,n=c.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n&&!o.current?(0,yt.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[d]=Z.useState(()=>{let e=new Qt(u),t=e.measureElement;return e.measureElement=n=>{o.current=!0;try{t(n)}finally{o.current=!1}let r=a.current;if(n!==null&&r.enabled&&r.container){let t=e.measurementsCache[e.indexFromElement(n)];t&&c(e,t,n)}},Object.assign(e,{containerRef:t=>{let n=a.current;n.container=t,n.lastSize=null,t!==null&&l(e)}})});return d.setOptions(u),nn(()=>d._didMount(),[]),nn(()=>(s(d),d._willUpdate())),nn(()=>{l(d)}),d}function an(e){return rn({observeElementRect:Ht,observeElementOffset:Kt,scrollToFn:Jt,...e})}var on=30,sn=20,cn=9;function ln(e){let t=encodeURIComponent(De(e.cell));return e.collapsedSummaryKind===void 0?t:`${t}\u0000summary\u0000${e.collapsedSummaryKind}`}function un(e){let t=[],n=[];for(let[r,i]of e.entries()){let e={logicalIndex:r,record:i};if(i.cell.requestOnly===!0){n.push(e);continue}let a=[...n,e];n=[],t.push({entries:a,height:i.collapsedSummaryKind===void 0?on:sn,key:ln(i)})}return n.length>0&&t.push({entries:n,height:cn,key:n.map(e=>ln(e.record)).join(`|`)}),t}var dn=[`Input`,`Output`,`Think`,`Time`],fn=(0,Z.memo)(function({turn:e}){return(0,Q.jsxs)(`div`,{className:`sticky top-0 z-10 flex h-[26px] items-center border-b border-dark-border/40 bg-dark-surface/95 px-2 backdrop-blur`,children:[(0,Q.jsxs)(`span`,{className:`text-meta font-semibold text-dark-text`,children:[`Turn `,e]}),(0,Q.jsx)(`div`,{className:`ms-auto flex items-center gap-3 pe-1 text-badge text-dark-muted/50`,"aria-hidden":`true`,children:dn.map(e=>(0,Q.jsx)(`span`,{className:`w-12 text-end`,children:e},e))})]})}),pn=(0,Z.memo)(function({title:e,description:t}){return(0,Q.jsxs)(`div`,{className:`flex h-[22px] items-center gap-2 px-2 text-meta`,children:[(0,Q.jsx)(`span`,{className:`font-medium text-dark-muted`,children:e}),t!==void 0&&t!==``&&(0,Q.jsx)(`span`,{className:`truncate text-dark-muted/50`,children:t})]})}),mn={system:`System`,user:`User`,context:`Context`,compacted:`Compacted`,message:`Message`,tool:`Tool`,subtool:`Sub`},hn={system:`bg-dark-surface text-dark-muted border-dark-border/40`,user:`bg-accent-blue/10 text-accent-blue border-accent-blue/30`,context:`bg-dark-surface text-dark-muted border-dark-border/40`,compacted:`bg-accent-yellow/15 text-accent-yellow border-accent-yellow`,message:`bg-accent-green/10 text-accent-green border-accent-green/30`,tool:`bg-accent-purple/10 text-accent-purple border-accent-purple/30`,subtool:`bg-dark-surface text-dark-muted border-dark-border/40`},gn=(0,Z.memo)(function({cell:e,selected:t=!1,onClick:n}){let{index:r,kind:i,timeSeconds:a,input:o,output:s,think:c}=e,l=qe(e),u=i===`message`;return(0,Q.jsxs)(`div`,{className:[`flex h-[30px] items-center gap-2 border-b border-dark-border/20 px-2 text-xs cursor-pointer select-none`,t?`bg-accent-blue/10`:`hover:bg-dark-surface/40`].join(` `),"data-kind":i,"data-selected":t||void 0,onClick:()=>n?.(r),children:[(0,Q.jsxs)(`span`,{className:`w-10 shrink-0 text-end tabular-nums text-dark-muted/50`,children:[`#`,r]}),(0,Q.jsx)(`span`,{className:`w-[74px] shrink-0`,children:(0,Q.jsx)(`span`,{className:[`inline-block rounded border px-1 py-px text-badge leading-none`,hn[i]].join(` `),children:mn[i]})}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-dark-text`,title:l,children:l}),(0,Q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-2 tabular-nums text-dark-muted/60`,children:[u&&(0,Q.jsxs)(Q.Fragment,{children:[o!==void 0&&(0,Q.jsx)(`span`,{title:`Input tokens`,children:o}),s!==void 0&&(0,Q.jsx)(`span`,{title:`Output tokens`,children:s}),c!==void 0&&(0,Q.jsx)(`span`,{title:`Reasoning tokens`,children:c})]}),(0,Q.jsx)(`span`,{className:`w-16 text-end`,children:Oe(a)})]})]})}),_n=100,vn=12,yn=600,bn=2;function xn(e){let t=(0,Z.useRef)({rows:[],structure:[]});if(t.current.rows===e)return t.current.structure;let n=t.current.structure.length===e.length&&e.every((e,n)=>{let r=t.current.structure[n];return r?.key===e.key&&r.height===e.height})?t.current.structure:e.map(e=>({key:e.key,height:e.height}));return t.current={rows:e,structure:n},n}function Sn(e){let t=[];for(let n of e){let e=[];for(let t of n.groups)t.cells.forEach((r,i)=>{e.push({turn:n.turn,group:t.title,groupDescription:t.description,groupStart:i===0,turnStart:e.length===0,cell:r,turnEnd:!1})});if(e.length>0){let t=e[e.length-1];t&&(t.turnEnd=!0)}t.push(...e)}return t}function Cn(e,t){let n=[],r=[],i=null,a=()=>{if(r.length!==0){if(i!==null&&t.has(i)){let e=r.filter(e=>e.cell.requestOnly!==!0&&e.cell.kind!==`system`),t=r[0];n.push({...t,groupStart:!0,turnStart:!0,turnEnd:!0,collapsedSummary:`Turn ${i} · ${e.length} records`,collapsedSummaryKind:`turn`,cell:{...t.cell,index:t.cell.index}})}else n.push(...r);r=[],i=null}};for(let t of e)t.turnStart&&a(),i=t.turn,r.push(t);return a(),n}function wn(e,t){let n=[],r=0;for(;r<e.length;){let i=e[r],a=e[r+1];if(i.cell.kind===`message`&&a!==void 0&&(a.cell.kind===`tool`||a.cell.kind===`subtool`)&&t.has(De(i.cell))){let t=r+1;for(;t<e.length&&(e[t].cell.kind===`tool`||e[t].cell.kind===`subtool`);)t+=1;let a=t-r-1;n.push({...i,groupStart:!0,turnEnd:e[t-1]?.turnEnd??i.turnEnd,collapsedSummary:`${qe(i.cell)||`Message`} · ${a} tool call${a>1?`s`:``}`,collapsedSummaryKind:`assistant`}),r=t}else n.push(i),r+=1}return n}function Tn(e,t){let n=[],r=null,i=null;for(let a of e)a.turnStart&&(r=a),a.groupStart&&(i=a),t.has(a.cell.index)&&(r!==null&&n.length===0&&(n.push({...r,groupStart:!0,turnStart:!0}),r=null),i!==null&&n.length>0&&n[n.length-1].group!==a.group&&(n.push({...i,groupStart:!0,turnStart:!1}),i=null),n.push(a));return n}function En(e){if(e===null||!Number.isFinite(e))return`Not available`;let t=new Date(e),n=e=>String(e).padStart(2,`0`),r=`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}.${(e=>String(e).padStart(3,`0`))(t.getMilliseconds())}`;return`${`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())}`} ${r}`}function Dn(e){let t=[{id:`overview`,label:`Summary`}];return e.inputDetail!==void 0&&e.inputDetail!==``&&t.push({id:`input`,label:`Input`}),e.outputDetail!==void 0&&e.outputDetail!==``&&t.push({id:`output`,label:`Output`}),e.thinkingDetail!==void 0&&e.thinkingDetail!==``&&t.push({id:`thinking`,label:`Thinking`}),e.assistantMetrics!==void 0&&t.push({id:`timing`,label:`Timing`}),(e.input!==void 0||e.output!==void 0||e.think!==void 0)&&t.push({id:`usage`,label:`Usage`}),t}function On({cell:e,onClose:t}){let n=Dn(e),[r,i]=(0,Z.useState)(n[0]?.id??`overview`),a=qe(e);return(0,Q.jsxs)(`div`,{className:`flex h-full w-[360px] shrink-0 flex-col border-s border-dark-border/40 bg-dark-surface/40`,children:[(0,Q.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center justify-between border-b border-dark-border/40 px-3`,children:[(0,Q.jsxs)(`span`,{className:`text-xs font-medium text-dark-text`,children:[`Record #`,e.index]}),(0,Q.jsx)(`button`,{type:`button`,className:`rounded p-1 text-dark-muted hover:bg-dark-surface/60`,onClick:t,"aria-label":`Close details`,children:(0,Q.jsx)(C,{size:14})})]}),(0,Q.jsx)(`div`,{className:`flex shrink-0 flex-wrap gap-1 border-b border-dark-border/40 px-2 py-1.5`,children:n.map(e=>(0,Q.jsx)(`button`,{type:`button`,className:`traj-detailTab`,"data-active":r===e.id||void 0,onClick:()=>i(e.id),children:e.label},e.id))}),(0,Q.jsx)(`div`,{className:`min-h-0 flex-1 overflow-auto p-3`,children:(()=>{switch(r){case`overview`:return(0,Q.jsxs)(`dl`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-20 shrink-0`,children:`Kind`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:e.kind})]}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-20 shrink-0`,children:`Index`}),(0,Q.jsxs)(`dd`,{className:`traj-detailValue`,children:[`#`,e.index]})]}),e.callId!==void 0&&(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-20 shrink-0`,children:`Call ID`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue break-all`,children:e.callId})]}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-20 shrink-0`,children:`Duration`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:Oe(e.timeSeconds)})]}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-20 shrink-0`,children:`Started`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:En(e.startedAt??null)})]}),e.isError===!0&&(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-20 shrink-0`,children:`Status`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue text-accent-red`,children:`error`})]}),a!==``&&(0,Q.jsxs)(`div`,{className:`pt-1`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey mb-1`,children:`Summary`}),(0,Q.jsx)(`dd`,{className:`traj-detailBody`,children:a})]})]});case`input`:return(0,Q.jsx)(`div`,{className:`traj-detailBody`,children:e.inputDetail});case`output`:return(0,Q.jsx)(`div`,{className:`traj-detailBody`,children:e.outputDetail});case`thinking`:return(0,Q.jsx)(`div`,{className:`traj-detailBody`,children:e.thinkingDetail});case`timing`:{let t=e.assistantMetrics;if(!t)return null;let n=t.firstTokenTime!==null&&t.stepStartTime!==null?t.firstTokenTime-t.stepStartTime:null,r=t.completedTime!==null&&t.firstTokenTime!==null?t.completedTime-t.firstTokenTime:null;return(0,Q.jsxs)(`dl`,{className:`space-y-1.5`,children:[(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-24 shrink-0`,children:`Step start`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:En(t.stepStartTime)})]}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-24 shrink-0`,children:`First token`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:En(t.firstTokenTime)})]}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-24 shrink-0`,children:`TTFT`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:n===null?`—`:`${n} ms`})]}),(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-24 shrink-0`,children:`Decoding`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:r===null?`—`:`${r} ms`})]})]})}case`usage`:return(0,Q.jsxs)(`dl`,{className:`space-y-1.5`,children:[e.input!==void 0&&(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-24 shrink-0`,children:`Input`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:e.input})]}),e.output!==void 0&&(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-24 shrink-0`,children:`Output`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:e.output})]}),e.think!==void 0&&(0,Q.jsxs)(`div`,{className:`flex gap-2`,children:[(0,Q.jsx)(`dt`,{className:`traj-detailKey w-24 shrink-0`,children:`Reasoning`}),(0,Q.jsx)(`dd`,{className:`traj-detailValue`,children:e.think})]}),e.input===void 0&&e.output===void 0&&e.think===void 0&&(0,Q.jsx)(`div`,{className:`traj-detailValue`,children:`Token usage not reported by provider yet.`})]});default:return null}})()})]})}function kn({turns:e,searchMatchIndexes:t=null,selectedIndex:n,onSelectIndex:r,onDeselect:i,onClearSelection:a,collapsedTurns:o,onToggleTurn:s,collapsedAssistants:c,onToggleAssistant:l}){let u=(0,Z.useRef)(null),d=(0,Z.useMemo)(()=>Sn(e),[e]),f=(0,Z.useMemo)(()=>n===null?void 0:d.find(e=>e.cell.index===n),[d,n]),p=(0,Z.useMemo)(()=>{if(t!==null)return Tn(d,t);let e=o.size===0?d:Cn(d,o);return c.size===0?e:wn(e,c)},[d,c,o,t]),m=(0,Z.useMemo)(()=>un(p),[p]),h=xn(m),g=p.length>_n,_=(0,Z.useCallback)(e=>h[e]?.height??30,[h]),v=(0,Z.useCallback)(e=>h[e]?.key??e,[h]),y=(0,Z.useCallback)(()=>u.current,[]),b=an({count:g?h.length:0,enabled:g,estimateSize:_,getItemKey:v,getScrollElement:y,initialRect:{width:0,height:yn},anchorTo:`end`,overscan:vn,scrollEndThreshold:bn}),x=g?b.getVirtualItems():[],S=x[0]?.start??0,C=g?b.getTotalSize():0,w=e=>{r(e)},T=e=>e.collapsedSummary===void 0?(0,Q.jsxs)(Q.Fragment,{children:[e.turnStart&&e.turn!==null&&(0,Q.jsx)(fn,{turn:e.turn}),e.groupStart&&(0,Q.jsx)(pn,{title:e.group,description:e.groupDescription}),(0,Q.jsx)(gn,{cell:e.cell,selected:n===e.cell.index,onClick:w})]}):(0,Q.jsxs)(`div`,{className:`flex h-[20px] cursor-pointer items-center gap-2 px-2 text-xs text-dark-muted hover:bg-dark-surface/40`,onClick:()=>{e.collapsedSummaryKind===`turn`&&e.turn!==null?s(e.turn):e.collapsedSummaryKind===`assistant`&&l(De(e.cell))},children:[(0,Q.jsx)(`span`,{className:`text-dark-muted/50`,children:`▸`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.collapsedSummary})]});return(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[(0,Q.jsx)(`div`,{ref:u,className:`min-w-0 flex-1 overflow-auto`,onClick:e=>{e.target===e.currentTarget&&a?.()},children:g?(0,Q.jsx)(`div`,{style:{height:C,position:`relative`},children:x.map(e=>{let t=m[e.index];return t?(0,Q.jsx)(`div`,{"data-virtual-row-key":t.key,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${e.start-S}px)`,height:t.height},children:t.entries.map(e=>(0,Q.jsx)(`div`,{children:T(e.record)},ln(e.record)))},t.key):null})}):p.map(e=>(0,Q.jsx)(`div`,{children:T(e)},ln(e)))}),f!==void 0&&(0,Q.jsx)(On,{cell:f.cell,onClose:i},f.cell.index)]})}function An(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}var jn=(0,Z.memo)(function({errors:e,onOpenLogs:t}){let{t:n}=I(),[r,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null),c=(0,Z.useMemo)(()=>e.filter(e=>e.level===`error`),[e]);if((0,Z.useEffect)(()=>{s(e=>e!==null&&c.length>e?null:e)},[c.length]),c.length===0||o!==null)return null;let l=c[c.length-1];if(l===void 0)return null;let u=c.slice(-20).reverse();return(0,Q.jsxs)(`div`,{"data-trajectory-error-banner":``,className:`mx-2 mt-1 shrink-0 rounded-md border border-accent-red/50 bg-accent-red/10 text-xs`,role:`alert`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 px-2 py-1.5 text-accent-red`,children:[(0,Q.jsx)(S,{size:14,className:`shrink-0`,"aria-hidden":`true`}),(0,Q.jsxs)(`button`,{type:`button`,className:`flex min-w-0 flex-1 items-center gap-2 text-start`,onClick:()=>a(e=>!e),title:n(r?`trajectory.errorBanner.collapse`:`trajectory.errorBanner.expand`),children:[(0,Q.jsxs)(`span`,{className:`shrink-0 font-semibold`,children:[n(`trajectory.errorBanner.title`),c.length>1&&(0,Q.jsxs)(`span`,{className:`ms-1.5 rounded bg-accent-red px-1.5 py-0.5 text-badge font-semibold text-accent-fg`,children:[`×`,c.length]})]}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1 truncate text-dark-text`,children:[An(l.timestamp),` · `,l.message]}),r?(0,Q.jsx)(g,{size:14,className:`shrink-0`,"aria-hidden":`true`}):(0,Q.jsx)(_,{size:14,className:`shrink-0`,"aria-hidden":`true`})]}),t&&(0,Q.jsxs)(`button`,{type:`button`,className:`flex shrink-0 items-center gap-1 rounded px-1.5 py-0.5 text-accent-red hover:bg-accent-red/15`,onClick:t,title:n(`trajectory.errorBanner.viewLogs`),children:[(0,Q.jsx)(i,{size:12,"aria-hidden":`true`}),n(`trajectory.errorBanner.viewLogs`)]}),(0,Q.jsx)(`button`,{type:`button`,className:`shrink-0 rounded p-0.5 text-dark-muted hover:bg-accent-red/15 hover:text-accent-red`,onClick:()=>{s(c.length),a(!1)},title:n(`trajectory.errorBanner.dismiss`),children:(0,Q.jsx)(C,{size:14,"aria-hidden":`true`})})]}),r&&(0,Q.jsx)(`div`,{className:`max-h-40 overflow-y-auto border-t border-accent-red/30 px-2 py-1.5 font-mono text-meta custom-scrollbar`,children:u.map(e=>(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 py-0.5`,children:[(0,Q.jsx)(`span`,{className:`shrink-0 text-dark-muted`,children:An(e.timestamp)}),(0,Q.jsx)(`span`,{className:`shrink-0 rounded bg-accent-red px-1 py-0.5 text-avatar font-semibold uppercase leading-none text-accent-fg`,children:e.source}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 whitespace-pre-wrap break-all text-dark-text`,children:e.message})]},e.id))})]})}),Mn=new Set,Nn=new Set,Pn=[],Fn=3e3;function In({sessionId:e,messages:t,errorLogs:n,onOpenLogs:r}){let[i,a]=(0,Z.useState)(Mn),[o,s]=(0,Z.useState)(Nn),[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(!1),[f,p]=(0,Z.useState)(``),[m]=(0,Z.useState)(()=>new at),[h,g]=(0,Z.useState)(0),_=(0,Z.useRef)(null),v=(0,Z.useRef)(!1),[y,b]=(0,Z.useState)(null),x=we(t=>t.compactedBySession[e]??Ln),S=we(t=>t.ttftBySession[e]),C=(0,Z.useMemo)(()=>{if(S!==void 0)return new Map(Object.entries(S))},[S]),w=(0,Z.useMemo)(()=>Ke({messages:t,compacted:x,ttft:C}),[t,x,C]),T=u?`duration`:`sequence`;(0,Z.useEffect)(()=>(_.current&&clearTimeout(_.current),_.current=setTimeout(()=>{m.update([w]),g(e=>e+1),v.current=!0},v.current?Fn:0),()=>{_.current&&clearTimeout(_.current)}),[w,m]);let E=(0,Z.useMemo)(()=>f.trim()===``?null:m.search(f),[f,h]),D=(0,Z.useMemo)(()=>{if(E===null)return null;let e=new Set;for(let t of w)for(let n of t.groups)for(let t of n.cells)E.has(De(t))&&e.add(t.index);return e},[w,E]),O=(0,Z.useMemo)(()=>c===null?null:et(w,c,T),[w,T,c]),k=(0,Z.useMemo)(()=>(n??Pn).filter(t=>t.sessionId===e),[n,e]),A=(0,Z.useMemo)(()=>r?()=>r(e):void 0,[r,e]),j=(0,Z.useMemo)(()=>w.filter(e=>e.turn!==null&&e.groups.reduce((e,t)=>e+t.cells.filter(e=>e.requestOnly!==!0&&e.kind!==`system`).length,0)>1).flatMap(e=>e.turn===null?[]:[e.turn]),[w]),M=j.length>0&&j.every(e=>i.has(e)),N=(0,Z.useMemo)(()=>{let e=[];for(let t of w){let n=t.groups.flatMap(e=>e.cells);for(let t=0;t<n.length;t++){let r=n[t];if(r?.kind!==`message`)continue;let i=n[t+1];(i?.kind===`tool`||i?.kind===`subtool`)&&e.push(De(r))}}return e},[w]),P=N.length>0&&N.every(e=>o.has(e)),F=(0,Z.useCallback)(e=>{a(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),I=(0,Z.useCallback)(()=>{a(e=>{let t=new Set(e);if(M)for(let e of j)t.delete(e);else for(let e of j)t.add(e);return t})},[M,j]),L=(0,Z.useCallback)(e=>{s(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[]),R=(0,Z.useCallback)(()=>{s(e=>{let t=new Set(e);if(P)for(let e of N)t.delete(e);else for(let e of N)t.add(e);return t})},[P,N]),ee=(0,Z.useCallback)(e=>{l(e)},[]),z=(0,Z.useCallback)(e=>{O!==null&&!O.has(e)&&l(null),b(t=>t===e?null:e)},[O]),B=(0,Z.useCallback)(()=>{b(null)},[]),V=(0,Z.useCallback)(()=>{l(null),b(null)},[]);return(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,"data-conversation-composer-overlay":``,children:[(0,Q.jsx)(ot,{actualDuration:u,onActualDurationChange:e=>{d(e),l(null)},allTurnsCollapsed:M,onToggleAllTurns:I,allAssistantsCollapsed:P,onToggleAllAssistants:R,searchQuery:f,onSearchQueryChange:p}),(0,Q.jsx)(jn,{errors:k,onOpenLogs:A}),(0,Q.jsx)(vt,{turns:w,mode:T,range:c,selectedIndex:y,searchMatchIndexes:D,onRangeChange:ee,onRecordSelect:z}),(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 flex-col`,children:(0,Q.jsx)(kn,{turns:w,searchMatchIndexes:D,selectedIndex:y,onSelectIndex:z,onDeselect:B,onClearSelection:V,collapsedTurns:i,onToggleTurn:F,collapsedAssistants:o,onToggleAssistant:L})})]})}var Ln=[],Rn=(0,Z.memo)(function({activeSessionId:e}){let{t}=I(),n=Ce(e=>e.observed).filter(t=>t.id!==e);return n.length===0?null:(0,Q.jsxs)(`div`,{className:`mb-2 flex flex-col gap-1.5`,children:[n.map(e=>(0,Q.jsx)(zn,{id:e.id,title:e.title},e.id)),(0,Q.jsx)(`span`,{className:`sr-only`,children:t(`chat.observedTitle`)})]})});function zn({id:e,title:t}){let{t:r}=I(),i=B(t=>t.generatingSessions?.includes(e)??!1),a=B(t=>{let n=t.messagesBySession[e];return!!(n&&n.length>0?n[n.length-1]:void 0)?.errorCard}),o=B(t=>{let n=t.messagesBySession[e];if(!n||n.length===0)return``;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t.type===`user`)continue;let r=t.content||``;if(r.trim())return r.trim().slice(-160)}return``}),s=r(i?`chat.observedRunning`:a?`chat.observedFailed`:`chat.observedDone`);return(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 rounded-lg border border-dark-border bg-dark-surface px-2.5 py-1.5 text-xs`,children:[(0,Q.jsx)(D,{size:13,className:`shrink-0 text-accent-blue`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`max-w-[180px] truncate font-medium text-dark-text`,title:t,children:t}),(0,Q.jsx)(`span`,{className:`shrink-0 text-badge text-dark-muted`,children:e.slice(0,8)}),i?(0,Q.jsx)(n,{size:12,className:`shrink-0 animate-spin text-accent-yellow`,"aria-hidden":`true`}):a?(0,Q.jsx)(w,{size:12,className:`shrink-0 text-accent-red`,"aria-hidden":`true`}):(0,Q.jsx)(O,{size:12,className:`shrink-0 text-accent-green`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`shrink-0 text-badge ${a?`text-accent-red`:i?`text-accent-yellow`:`text-accent-green`}`,children:s}),o&&(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-dark-muted/80`,title:o,children:o})]})}function Bn(e,t){if(!e||!t||t.length===0)return;let n=e.find(e=>e.switchMode&&t.includes(e.label));n?.switchMode&&se.getState().setBaseMode(n.switchMode)}var Vn=15e3,Hn=300,Un=4,Wn=8388608;function Gn(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=()=>t(typeof r.result==`string`?r.result:``),r.onerror=()=>n(r.error instanceof Error?r.error:Error(`image read failed`)),r.readAsDataURL(e)})}function Kn(e){let t=[];for(let n of Array.from(e.items??[])){if(n.kind!==`file`||!n.type.startsWith(`image/`))continue;let e=n.getAsFile();e&&t.push(e)}if(t.length===0)for(let n of Array.from(e.files??[]))n.type.startsWith(`image/`)&&t.push(n);return t}function qn(e){let{t}=I();return(0,Z.useMemo)(()=>{if(e.secret)return{allItems:[],otherIdx:-1,proceedIdx:-1,displayItems:[]};let n=t(`chat.askOtherLabel`),r=t(`chat.askProceedLabel`),i=e.options||[],a=i.some(e=>e.label===n),o=i.some(e=>e.label===r),s=[...i];return o||s.push({label:r,description:t(`chat.askProceedDesc`)}),a||s.push({label:n,description:t(`chat.askCustomDesc`)}),{allItems:s,otherIdx:a?s.findIndex(e=>e.label===n):s.length-1,proceedIdx:o?s.findIndex(e=>e.label===r):s.length-(a?1:2),displayItems:s}},[e,t])}function Jn(e){let t=(0,Z.useRef)(null),[n,r]=(0,Z.useState)({top:!1,bottom:!1}),i=(0,Z.useCallback)(()=>{let e=t.current;if(!e)return;let n=e.scrollHeight-e.clientHeight,i=n>2&&e.scrollTop>2,a=n>2&&e.scrollTop<n-2;r(e=>e.top===i&&e.bottom===a?e:{top:i,bottom:a})},[]);return(0,Z.useEffect)(()=>{i();let e=t.current;if(!e)return;e.addEventListener(`scroll`,i,{passive:!0});let n=typeof ResizeObserver<`u`?new ResizeObserver(i):null;return n?.observe(e),()=>{e.removeEventListener(`scroll`,i),n?.disconnect()}},[i,e]),{ref:t,style:{"--ui-fade-top":n.top?`14px`:`0px`,"--ui-fade-bottom":n.bottom?`14px`:`0px`}}}function Yn({ms:e}){let{t}=I();return(0,Q.jsx)(`span`,{className:`inline-flex items-center self-start text-xs leading-relaxed tabular-nums text-accent-yellow`,children:t(`chat.askAutoContinue`,{seconds:Math.max(1,Math.round(e/1e3))})})}function Xn({children:e,tone:t}){return(0,Q.jsx)(`span`,{className:K(`shrink-0 rounded-full px-1.5 py-0.5 text-meta leading-none`,t===`green`?`bg-accent-green/10 text-accent-green`:`bg-dark-hover text-dark-muted`),children:e})}function Zn({label:e,description:t,index:n,multi:r,active:i,checked:a,tag:o,onSelect:s}){let c=r?a:i;return(0,Q.jsxs)(`button`,{type:`button`,role:r?`checkbox`:`radio`,"aria-checked":c,onClick:s,className:K(`w-full min-h-11 flex items-start gap-3 rounded-lg border px-3 py-2.5 text-start`,`transition duration-snap ease-expo`,c?`border-accent-blue/40 bg-accent-blue/10`:`border-dark-border/60 bg-transparent hover:border-dark-border hover:bg-dark-hover`),children:[(0,Q.jsx)(`span`,{className:K(`shrink-0 w-5 h-5 inline-flex items-center justify-center text-meta font-medium tabular-nums`,`transition duration-snap ease-expo`,r?`rounded-md`:`rounded-full`,c?`border border-accent-blue bg-accent-blue text-accent-fg`:r?`border border-dark-border text-transparent`:`border border-dark-border text-dark-muted`),children:r?(0,Q.jsx)(j,{size:12}):n}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-1.5 gap-y-1`,children:[(0,Q.jsx)(`span`,{className:`text-sm font-medium text-dark-text`,children:e}),o]}),t&&(0,Q.jsx)(`span`,{className:`block mt-0.5 text-xs leading-snug text-dark-muted`,children:t})]}),!r&&(0,Q.jsx)(j,{size:15,"aria-hidden":`true`,className:K(`shrink-0 mt-0.5 transition-opacity duration-snap ease-expo`,c?`text-accent-blue opacity-100`:`opacity-0`)})]})}function Qn({value:e,onChange:t,onSubmit:n}){let{t:i}=I(),[a,s]=(0,Z.useState)(!1);return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`relative`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute start-3 top-1/2 -translate-y-1/2 text-dark-muted`,children:(0,Q.jsx)(u,{size:14})}),(0,Q.jsx)(`input`,{type:a?`text`:`password`,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,className:`input ps-9 pe-11 font-mono`,value:e,onChange:e=>t(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),n())},placeholder:i(`chat.askSecretPlaceholder`),autoFocus:!0}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>s(e=>!e),"aria-label":i(a?`chat.askSecretHide`:`chat.askSecretReveal`),"aria-pressed":a,className:K(`absolute end-1 top-1/2 -translate-y-1/2 inline-flex h-8 w-8 items-center justify-center`,`rounded-md text-dark-muted transition-colors duration-snap ease-expo`,`hover:bg-dark-hover hover:text-dark-text`),children:a?(0,Q.jsx)(o,{size:14,"aria-hidden":`true`}):(0,Q.jsx)(r,{size:14,"aria-hidden":`true`})})]}),(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-dark-muted`,children:i(`chat.askSecretHint`)}),(0,Q.jsx)(X,{variant:`primary`,shape:`pill`,leftIcon:(0,Q.jsx)(d,{size:15}),onClick:n,disabled:!e,className:`w-full min-h-11 sm:w-auto sm:self-start`,children:i(`chat.askSubmit`)})]})}function $n({item:e,answered:t,selectedIdx:n,multiSelected:r,customInput:i,showCustomInput:a,onSelect:o,onToggleMulti:s,onProceed:c,onEnterCustom:l,onCancelCustom:u,onSubmitCustom:f,onCustomChange:p,inputRef:m}){let{t:h}=I(),{otherIdx:g,proceedIdx:_,displayItems:v}=qn(e),y=!!e.multiSelect,{ref:b,style:x}=Jn(v.length);if(e.secret)return(0,Q.jsx)(Qn,{value:i,onChange:p,onSubmit:f});let S=e=>{e===_?c():e===g?l():y?s(e):o(e)};return(0,Q.jsxs)(`div`,{ref:b,style:x,role:y?`group`:`radiogroup`,"aria-label":e.question,className:`fade-mask-y flex flex-col gap-2 pe-1 overflow-y-auto custom-scrollbar sm:max-h-72`,children:[v.map((e,t)=>{let o=n===t,s=t===g;return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(Zn,{label:e.label,description:e.description,index:t+1,multi:y,active:o,checked:r.has(t),tag:t===_?(0,Q.jsx)(Xn,{tone:`green`,children:h(`chat.askDirectTag`)}):s?(0,Q.jsx)(Xn,{tone:`muted`,children:h(`chat.askCustomTag`)}):null,onSelect:()=>S(t)}),s&&o&&a&&(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 ps-8`,children:[(0,Q.jsx)(`textarea`,{ref:m,className:`input resize-none`,rows:3,value:i,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),f()),e.key===`Escape`&&u()},placeholder:h(`chat.askAnswerPlaceholder`),autoFocus:!0}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(X,{variant:`primary`,size:`sm`,shape:`pill`,leftIcon:(0,Q.jsx)(d,{size:13}),onClick:f,children:h(`chat.askSubmit`)}),(0,Q.jsx)(X,{variant:`ghost`,size:`sm`,shape:`pill`,leftIcon:(0,Q.jsx)(C,{size:13}),onClick:u,children:h(`common.cancel`)})]})]})]},`opt-${t}`)}),t&&(0,Q.jsx)(`div`,{className:`text-xs font-medium text-accent-green`,children:h(`chat.askAnswered`)})]})}var er=(e,t)=>e?.secret===!0||t?.secret===!0;function tr({images:e,notice:t,onRemove:n}){let{t:r}=I();return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[e.length>0&&(0,Q.jsx)(`div`,{className:`flex flex-wrap items-center gap-2`,children:e.map((e,t)=>(0,Q.jsxs)(`div`,{className:`relative overflow-hidden rounded-lg border border-dark-border bg-dark-surface`,children:[(0,Q.jsx)(`img`,{src:e,alt:r(`chat.askImageAlt`,{index:t+1}),className:`h-14 w-14 object-cover`}),(0,Q.jsx)(`button`,{type:`button`,"aria-label":r(`chat.askImageRemove`),onClick:()=>n(t),className:`absolute end-0.5 top-0.5 inline-flex h-5 w-5 items-center justify-center rounded-full bg-dark-bg/80 text-dark-muted transition-colors hover:bg-accent-red/80 hover:text-dark-bg`,children:(0,Q.jsx)(C,{size:11})})]},`ask-img-${t}`))}),t?(0,Q.jsxs)(`p`,{className:`flex items-center gap-1.5 text-meta text-accent-yellow`,children:[(0,Q.jsx)(S,{size:11,className:`shrink-0`}),(0,Q.jsx)(`span`,{children:t})]}):(0,Q.jsxs)(`p`,{className:`flex items-center gap-1.5 text-meta text-dark-muted`,children:[(0,Q.jsx)(x,{size:11,className:`shrink-0`}),(0,Q.jsx)(`span`,{children:r(`chat.askImagePasteHint`)})]})]})}function nr({isOpen:e,onClose:t}){let{t:n}=I(),[r,i]=(0,Z.useState)(null),[a,o]=(0,Z.useState)(-1),[s,c]=(0,Z.useState)(new Set),[l,u]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(!1),[m,h]=(0,Z.useState)(!1),[g,_]=(0,Z.useState)(!1),[v,y]=(0,Z.useState)(!1),[b,C]=(0,Z.useState)(0),[w,T]=(0,Z.useState)([]),[E,D]=(0,Z.useState)(!1),[O,A]=(0,Z.useState)([]),[M,P]=(0,Z.useState)(null),F=(0,Z.useRef)(null),L=(0,Z.useRef)(null),R=(0,Z.useMemo)(()=>r?r.questions&&r.questions.length>0?r.questions:[{question:r.question,header:r.header,options:r.options,multiSelect:r.multiSelect,secret:r.secret}]:[],[r]),z=R.length>1,B=(0,Z.useCallback)(e=>{i(e),o(e.multiSelect?-1:0),c(new Set),u(``);let t=e.questions&&e.questions.length>0?e.questions:[e];p(er(t[0],e)),h(!1),_(!1),y(!1),C(0),D(!1),T(t.map(()=>null)),A([]),P(null)},[]);(0,Z.useEffect)(()=>{L.current=r}),(0,Z.useEffect)(()=>{if(e){let e=window.__pendingQuestion;e&&B(e)}},[e,B]),(0,Z.useEffect)(()=>{let e=e=>{let n=e.detail,r=L.current?.questionId??null;if(n&&r&&n!==r)return;let a=r;h(!0),setTimeout(()=>{let e=L.current?.questionId??null;a&&e&&e!==a||(t(),i(null),h(!1))},Hn)};return window.addEventListener(`ask-question-dismiss`,e),()=>window.removeEventListener(`ask-question-dismiss`,e)},[t]),(0,Z.useEffect)(()=>{if(!m)return;let e=setTimeout(()=>{h(!1),_(!0)},Vn);return()=>clearTimeout(e)},[m]),(0,Z.useEffect)(()=>{let e=()=>{_(!1),y(!1)};return window.addEventListener(`ask-question-dismiss`,e),()=>window.removeEventListener(`ask-question-dismiss`,e)},[]),(0,Z.useEffect)(()=>{let e=e=>{let t=e.detail,n=L.current?.questionId??null;t&&n&&t!==n||(h(!1),_(!0),y(!0))};return window.addEventListener(`ask-question-ack-failed`,e),()=>window.removeEventListener(`ask-question-ack-failed`,e)},[]),(0,Z.useEffect)(()=>{let e=e=>{let t=e.detail,n=ee.getState().activeSessionId;if(t&&n&&t!==n)return;let r=window.__pendingQuestion;r&&B(r)};return window.addEventListener(`ask-question-required`,e),()=>window.removeEventListener(`ask-question-required`,e)},[B]),(0,Z.useEffect)(()=>{o(0),c(new Set),u(``),p(er(R[b],r))},[b,E,r,R]);let V=R[b]||null,{allItems:H,otherIdx:U}=qn(V||{question:``}),W=er(V,r),G=O[b]??[],q=(0,Z.useCallback)((e,t)=>{!m&&r&&(_(!1),h(!0),Bn(r.options,t),Y.send({type:`question_answer`,sessionId:r.sessionId||Y.getSessionId()||void 0,data:JSON.stringify({questionId:r.questionId,answer:e,selectedOptions:t,...G.length>0?{images:G}:{}})}))},[m,r,G]),te=(0,Z.useCallback)(()=>{!m&&r&&(_(!1),h(!0),Y.send({type:`question_answer`,sessionId:r.sessionId||Y.getSessionId()||void 0,data:JSON.stringify({questionId:r.questionId,answers:R.map((e,t)=>{let r=w[t]||{answer:n(`chat.askUnansweredValue`)},i=O[t]??[];return i.length>0?{...r,images:i}:r})})}))},[m,r,R,w,O,n]),ne=(0,Z.useCallback)(e=>{A(t=>{let n=t.slice();return n[b]=(n[b]??[]).filter((t,n)=>n!==e),n}),P(null)},[b]),re=(0,Z.useCallback)(e=>{if(m||W||E)return;let t=e.clipboardData;if(!t)return;let r=Kn(t);if(r.length===0)return;e.preventDefault();let i=b,a=O[i]?.length??0;(async()=>{let e=[],t=0,o=0;for(let n of r)if(n.size>Wn)t++;else if(a+e.length>=Un)o++;else try{let t=await Gn(n);t.startsWith(`data:image/`)&&e.push(t)}catch{}e.length>0&&A(t=>{let n=t.slice();return n[i]=[...n[i]??[],...e].slice(0,Un),n}),t>0?P(n(`chat.askImageTooLarge`)):o>0?P(n(`chat.askImageTooMany`,{count:Un})):e.length>0&&P(null)})()},[m,W,E,b,O,n]),J=(0,Z.useCallback)((e,t,n)=>{Bn(R[e]?.options,n),T(r=>{let i=r.slice();return i[e]={answer:t,selectedOptions:n},i}),e<R.length-1?C(e+1):D(!0)},[R]),ie=(0,Z.useCallback)(e=>{if(m||!r)return;let t=H[e];t&&(o(e),q(t.label,[t.label]))},[m,r,H,q]),ae=(0,Z.useCallback)(()=>{if(m||!r||a<0)return;let e=H[a];e&&q(e.label,[e.label])},[m,r,a,H,q]),oe=(0,Z.useCallback)(()=>{if(m||a<0)return;let e=H[a];e&&J(b,e.label,[e.label])},[m,a,H,J,b]),se=(0,Z.useCallback)(e=>{if(m)return;let t=H[e];t&&J(b,t.label,[t.label])},[m,H,J,b]),ce=(0,Z.useCallback)(e=>{m||c(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},[m]),le=(0,Z.useCallback)(()=>{if(m)return;let e=[...s].map(e=>H[e]?.label||``);z?J(b,e.join(`, `),e):q(e.join(`, `),e)},[m,s,H,z,J,b,q]),ue=(0,Z.useCallback)(()=>{if(m)return;let e=n(`chat.askProceedLabel`);z?J(b,e,[e]):q(e,[e])},[m,z,J,b,q,n]),de=(0,Z.useCallback)(()=>{m||(o(U),p(!0),setTimeout(()=>F.current?.focus(),100))},[m,U]),fe=(0,Z.useCallback)(()=>{p(!1),u(``)},[]),pe=(0,Z.useCallback)(()=>{if(m)return;let e=l||n(`chat.askEmptyInputValue`);z?J(b,e):q(e)},[m,l,z,J,b,q,n]),me=(0,Z.useCallback)(()=>{!m&&r&&(_(!1),h(!0),Y.send({type:`question_answer`,sessionId:r.sessionId||Y.getSessionId()||void 0,data:JSON.stringify({questionId:r.questionId,answers:R.map(()=>({answer:`(cancelled)`}))})}))},[m,r,R]),he=(0,Z.useCallback)(()=>{if(!m){if(v)t();else if(z){if(f&&!W){p(!1),u(``);return}if(E){D(!1),C(R.length-1);return}me()}else f&&!W?(p(!1),u(``)):q(`(cancelled)`)}},[m,z,f,E,R.length,me,q,v,t,W]);if(!e||!r)return null;let ge=w.filter(e=>!e).length,_e=w.filter(Boolean).length,ve=m||g||f,ye=m?(0,Q.jsx)(`span`,{children:n(`chat.askSubmitting`)}):g?(0,Q.jsxs)(`span`,{className:`flex items-center gap-1.5 text-accent-yellow`,children:[(0,Q.jsx)(S,{size:12}),n(`chat.askSubmitRetry`)]}):f?W?null:(0,Q.jsx)(`span`,{children:n(`chat.askEnterHint`)}):r.multiSelect?(0,Q.jsx)(`span`,{children:n(`chat.askMultiHintSingle`)}):(0,Q.jsx)(`span`,{children:n(`chat.askSingleHintSingle`)});return(0,Q.jsx)(Te,{isOpen:e,onClose:he,title:r.header||n(z?`chat.askBatchTitle`:`chat.askSingleTitle`),badge:z?(0,Q.jsxs)(`span`,{className:`shrink-0 inline-flex items-center rounded-full bg-dark-hover px-2 py-0.5 text-meta font-medium tabular-nums text-dark-muted`,children:[_e,`/`,R.length]}):void 0,collapsedSummary:(0,Q.jsx)(`span`,{className:`truncate`,children:V?.question||r.question}),maxHeight:`min(85dvh, 40rem)`,alignToComposer:!0,children:z?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,onPaste:re,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5 flex-wrap`,children:[R.map((e,t)=>{let n=!!w[t],r=!E&&b===t;return(0,Q.jsxs)(`button`,{type:`button`,"aria-current":r?`step`:void 0,onClick:()=>{C(t),D(!1)},className:K(`inline-flex items-center gap-1 rounded-full px-3 min-h-9 text-xs font-medium tabular-nums`,`transition duration-snap ease-expo`,r?`bg-dark-text text-dark-bg`:n?`border border-accent-green/40 bg-accent-green/10 text-accent-green`:`border border-dark-border bg-dark-surface text-dark-muted hover:bg-dark-hover`),children:[`Q`,t+1,n&&(0,Q.jsx)(j,{size:11})]},`nav-${t}`)}),(0,Q.jsx)(`button`,{type:`button`,"aria-current":E?`step`:void 0,onClick:()=>D(!0),className:K(`inline-flex items-center rounded-full px-3 min-h-9 text-xs font-medium`,`transition duration-snap ease-expo`,E?`bg-dark-text text-dark-bg`:`border border-dark-border bg-dark-surface text-dark-muted hover:bg-dark-hover`),children:n(`chat.askSubmit`)})]}),r.autoResolutionMs&&r.autoResolutionMs>0&&(0,Q.jsx)(Yn,{ms:r.autoResolutionMs}),E?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,Q.jsx)(`div`,{className:`text-sm font-medium text-dark-text`,children:n(`chat.askReviewTitle`)}),(0,Q.jsx)(`div`,{className:`overflow-hidden rounded-lg border border-dark-border`,children:R.map((e,t)=>{let r=w[t];return(0,Q.jsxs)(`div`,{className:K(`flex items-start gap-3 px-3 py-2.5`,t>0&&`border-t border-dark-border`),children:[(0,Q.jsx)(`span`,{className:`shrink-0 w-5 h-5 rounded-full border border-dark-border text-meta font-medium tabular-nums text-dark-muted inline-flex items-center justify-center`,children:t+1}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`div`,{className:`text-sm leading-snug text-dark-text`,children:e.question}),(0,Q.jsxs)(`div`,{className:K(`mt-1 text-xs break-words`,r?`text-accent-green`:`text-accent-yellow`),children:[r?r.answer:n(`chat.askNotAnswered`),(O[t]??[]).length>0&&(0,Q.jsxs)(`span`,{className:`ms-2 inline-flex items-center gap-0.5 text-meta text-dark-muted`,children:[(0,Q.jsx)(x,{size:11}),`${(O[t]??[]).length}`]})]})]})]},`rev-${t}`)})}),ge>0&&(0,Q.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-accent-yellow/30 bg-accent-yellow/10 px-3 py-2 text-xs leading-relaxed text-accent-yellow`,children:[(0,Q.jsx)(S,{size:14,className:`shrink-0 mt-0.5`}),(0,Q.jsx)(`span`,{children:n(`chat.askUnansweredWarning`,{count:ge})})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-center`,children:[(0,Q.jsx)(X,{variant:`primary`,shape:`pill`,leftIcon:(0,Q.jsx)(d,{size:15}),onClick:te,disabled:m,className:`w-full min-h-11 sm:w-auto`,children:n(`chat.askSubmitAll`)}),(0,Q.jsx)(X,{variant:`secondary`,shape:`pill`,leftIcon:(0,Q.jsx)(N,{size:14}),onClick:()=>{D(!1),C(R.length-1)},disabled:m,className:`w-full min-h-11 sm:w-auto`,children:n(`chat.askBackToEdit`)})]})]}):V?(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2 sm:flex-row sm:items-start sm:justify-between sm:gap-3`,children:[(0,Q.jsx)(`p`,{className:`min-w-0 text-base leading-relaxed text-dark-text text-pretty`,children:V.question}),(0,Q.jsxs)(`div`,{className:`hidden sm:flex items-center gap-1.5 shrink-0`,children:[(0,Q.jsx)(X,{variant:`secondary`,size:`sm`,shape:`pill`,leftIcon:(0,Q.jsx)(N,{size:13}),onClick:()=>{C(e=>Math.max(0,e-1)),D(!1)},disabled:b===0,children:n(`chat.askPrevQuestion`)}),b<R.length-1?(0,Q.jsx)(X,{variant:`secondary`,size:`sm`,shape:`pill`,rightIcon:(0,Q.jsx)(k,{size:13}),onClick:()=>{C(e=>Math.min(R.length-1,e+1)),D(!1)},children:n(`chat.askNextQuestion`)}):(0,Q.jsx)(X,{variant:`secondary`,size:`sm`,shape:`pill`,rightIcon:(0,Q.jsx)(k,{size:13}),onClick:()=>D(!0),children:n(`chat.askViewSubmit`)})]})]}),(0,Q.jsx)($n,{item:V,answered:!!w[b],selectedIdx:a,multiSelected:s,customInput:l,showCustomInput:f,onSelect:se,onToggleMulti:ce,onProceed:ue,onEnterCustom:de,onCancelCustom:fe,onSubmitCustom:pe,onCustomChange:u,inputRef:F}),!W&&(G.length>0||f)&&(0,Q.jsx)(tr,{images:G,notice:M,onRemove:ne}),(0,Q.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[(0,Q.jsx)(`p`,{className:K(`text-xs leading-relaxed text-dark-muted`,!ve&&`hidden sm:block`),children:f?(0,Q.jsx)(`span`,{children:n(`chat.askEnterHint`)}):V.multiSelect?(0,Q.jsx)(`span`,{children:n(`chat.askMultiHintBatch`)}):(0,Q.jsx)(`span`,{children:n(`chat.askSingleHintBatch`)})}),!f&&(0,Q.jsx)(X,{variant:V.multiSelect?`primary`:`secondary`,shape:`pill`,leftIcon:(0,Q.jsx)(j,{size:15}),onClick:V.multiSelect?le:oe,disabled:m||(V.multiSelect?s.size===0:a<0),className:`w-full min-h-11 sm:w-auto sm:shrink-0`,children:V.multiSelect?n(`chat.askFinishQuestion`,{count:s.size}):n(`chat.askConfirmQuestion`)})]})]}):null]}):(0,Q.jsxs)(`div`,{className:`flex flex-col gap-4`,onPaste:re,children:[(0,Q.jsx)(`p`,{className:`text-base leading-relaxed text-dark-text text-pretty`,children:r.question}),r.autoResolutionMs&&r.autoResolutionMs>0&&(0,Q.jsx)(Yn,{ms:r.autoResolutionMs}),(0,Q.jsx)($n,{item:R[0],answered:!1,selectedIdx:a,multiSelected:s,customInput:l,showCustomInput:f,onSelect:ie,onToggleMulti:ce,onProceed:ue,onEnterCustom:de,onCancelCustom:fe,onSubmitCustom:pe,onCustomChange:u,inputRef:F}),!W&&(G.length>0||f)&&(0,Q.jsx)(tr,{images:G,notice:M,onRemove:ne}),(0,Q.jsxs)(`div`,{className:`flex flex-col-reverse gap-2 sm:flex-row sm:items-center sm:justify-between`,children:[ye?(0,Q.jsx)(`p`,{className:K(`text-xs leading-relaxed text-dark-muted`,!ve&&`hidden sm:block`),children:ye}):(0,Q.jsx)(`span`,{className:`hidden sm:block`}),!f&&(0,Q.jsx)(X,{variant:r.multiSelect?`primary`:`secondary`,shape:`pill`,leftIcon:(0,Q.jsx)(j,{size:15}),onClick:r.multiSelect?le:ae,disabled:m||(r.multiSelect?s.size===0:a<0),className:`w-full min-h-11 sm:w-auto sm:shrink-0`,children:r.multiSelect?n(`chat.askSubmitSelected`,{count:s.size}):n(`chat.askSubmit`)})]})]})})}var rr=15;function ir({isOpen:e,onCloseModal:t}){let{t:n}=I(`hook`),r=me(),i=r.pendingApprovals,o=r.autoMode,s=r.setAutoMode,[l,u]=(0,Z.useState)(0),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(rr),[h,g]=(0,Z.useState)(!0),_=(0,Z.useRef)(null),y=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{i.length!==0&&(o?(i.forEach(e=>{Y.send({type:`hook_allow`,data:JSON.stringify({approvalId:e.approvalId})})}),r.clearApprovals()):u(e=>Math.min(e,i.length-1)))},[i.length,o]);let b=i[l]??null,x=i.length>0&&b!==null,C=i.length,w=x?C-l-1:0;(0,Z.useEffect)(()=>{if(x&&!d&&e&&b)return m(rr),_.current=setInterval(()=>{m(e=>e<=1?(_.current&&clearInterval(_.current),0):e-1)},1e3),()=>{_.current&&clearInterval(_.current)}},[x,d,e,b?.approvalId]);let T=b?ae(b.toolName,b.askPayload):{level:`MEDIUM`,reasonKey:`risk_default`},E=ge[T.level],D=te[T.level===`CRITICAL`?`critical`:T.level===`HIGH`?`high`:T.level===`LOW`?`low`:`medium`],O=b?fe(b.toolName,b.askPayload):null,k=b?pe(b.toolName,b.askPayload):null,A=b?{verb:ue(b.toolName),target:ie(b.toolName,b.askPayload)}:null,j=b?oe(b.askPayload)!==null:!1,M=b?he(b.toolName,b.askPayload):null,N=p/rr*100,P=p<=5,F=re((rr-p)*1e3),L=(0,Z.useCallback)((e,t)=>{let n=ee.getState().activeSessionId;n&&B.getState().updateHookApprovalStatus(n,e,t)},[]),R=(0,Z.useCallback)(e=>{b&&(e&&L(b.approvalId,e),f(!0),setTimeout(()=>{r.removeApproval(b.approvalId),u(0),f(!1),y.current=!1,m(rr)},200))},[b?.approvalId,r,L]),z=(0,Z.useCallback)(()=>{!b||d||y.current||(y.current=!0,_.current&&clearInterval(_.current),Y.send({type:`hook_allow`,data:JSON.stringify({approvalId:b.approvalId})}),R(`approved`))},[b,R,d]),V=(0,Z.useCallback)(()=>{!b||d||y.current||(y.current=!0,_.current&&clearInterval(_.current),Y.send({type:`hook_deny`,data:JSON.stringify({approvalId:b.approvalId})}),R(`denied`))},[b,R,d]),H=(0,Z.useCallback)(()=>{if(!b||d||y.current)return;y.current=!0,_.current&&clearInterval(_.current);let e=oe(b.askPayload);e?(r.addToSessionAllowList(b.toolName,e),Y.send({type:`hook_allow`,data:JSON.stringify({approvalId:b.approvalId,sessionAllow:!0})})):(r.addToSessionAllowList(b.toolName),Y.send({type:`hook_allow`,data:JSON.stringify({approvalId:b.approvalId})})),R(`approved`)},[b,R,r,d]),U=(0,Z.useCallback)(()=>{!b||d||y.current||(y.current=!0,_.current&&clearInterval(_.current),s(!0),se.getState().setAuto(!0),Y.send({type:`hook_allow`,data:JSON.stringify({approvalId:b.approvalId})}),R(`approved`))},[b,R,d,s]),W=(b?.timeoutMs??15e3)>0,G=b?.timeoutAction===`deny`?V:z;if((0,Z.useEffect)(()=>{p===0&&e&&!d&&b&&W&&G()},[p,e,d,b,G,W]),(0,Z.useEffect)(()=>{if(!e||!h)return;let t=e=>{let t=e.target;t&&typeof t.closest==`function`&&t.closest(`input, textarea, select, [contenteditable="true"]`)||(e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),V()):e.key===`Enter`?(e.preventDefault(),z()):e.key===`1`?z():e.key===`2`?V():e.key===`3`?H():e.key===`4`&&U())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,h,z,V,H,U]),!x||!b)return null;let K=n(`optionAllowHint`),q=n(`optionDenyHint`),ce=j?n(`optionAllowPathHint`):n(`optionAllowAlwaysHint`,{tool:b.toolName}),de=n(`optionAutoModeHint`),_e=O?.text??k??null,ve=_e?(0,Q.jsxs)(`span`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,Q.jsx)(`code`,{className:`font-mono text-meta bg-dark-surface text-accent-blue px-1 py-0.5 rounded shrink-0`,children:b.toolName}),(0,Q.jsx)(`span`,{className:`truncate`,children:_e})]}):null;return(0,Q.jsx)(Te,{isOpen:e,onClose:()=>t?.(),title:(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(a,{className:`w-4 h-4 text-accent-yellow`}),(0,Q.jsx)(`span`,{children:n(`hookApproval`)}),(0,Q.jsxs)(`span`,{className:`text-xs text-dark-muted`,children:[`(`,l+1,`/`,C,`)`]})]}),badge:(0,Q.jsxs)(`span`,{className:`px-1.5 py-0.5 rounded text-badge font-bold border shrink-0 ${E.badge}`,children:[E.icon,` `,T.level]}),collapsedSummary:ve,onExpandedChange:g,maxHeight:`50vh`,alignToComposer:!0,children:(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 rounded-lg ${E.bg} border ${E.border}`,children:[(0,Q.jsxs)(`span`,{className:`px-1.5 py-0.5 rounded text-xs font-bold border ${E.badge}`,children:[E.icon,` `,T.level]}),(0,Q.jsx)(`span`,{className:`text-xs text-dark-muted truncate`,children:n(T.reasonKey)}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5 ms-auto shrink-0`,children:[(0,Q.jsx)(v,{size:12,className:P?`text-accent-red`:`text-dark-muted`}),(0,Q.jsx)(`span`,{className:`text-xs font-mono ${P?`text-accent-red animate-pulse`:`text-dark-muted`}`,children:W?`${p}s`:`∞`}),(0,Q.jsx)(`div`,{className:`w-12 h-1.5 bg-dark-border rounded-full overflow-hidden`,children:(0,Q.jsx)(`div`,{className:`h-full rounded-full transition-all duration-700 ${P?`bg-accent-red`:p<=8?`bg-accent-yellow`:`bg-accent-green`}`,style:{width:`${N}%`}})})]})]}),(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2.5 min-w-0`,children:[(0,Q.jsx)(`span`,{className:`flex-none w-7 h-7 rounded-lg bg-accent-blue/10 text-accent-blue inline-flex items-center justify-center`,children:(0,Q.jsx)(a,{size:15})}),A&&(0,Q.jsx)(J,{pre:n(A.verb),obj:A.target})]}),M&&(M.external&&M.path?(0,Q.jsxs)(`span`,{className:`flex items-center gap-1 text-meta px-1.5 py-0.5 rounded bg-accent-yellow/15 text-accent-yellow border border-accent-yellow shrink-0`,title:M.path,children:[(0,Q.jsx)(c,{size:10}),n(`scopeExternal`),`: `,M.path.length>48?`${M.path.slice(0,47)}…`:M.path]}):(0,Q.jsx)(`span`,{className:`text-meta text-dark-muted/60 shrink-0`,children:n(`scopeLocal`)}))]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 text-xs`,children:[(0,Q.jsx)(`span`,{className:`text-dark-muted shrink-0`,children:n(`tool`)}),(0,Q.jsx)(`code`,{className:`text-accent-blue font-mono text-xs bg-dark-surface px-1.5 py-0.5 rounded truncate`,children:b.toolName}),(0,Q.jsx)(`span`,{className:`text-dark-muted/50`,children:F}),(0,Q.jsx)(`span`,{className:`text-dark-muted/50`,children:D.label}),b.timeoutAction&&(0,Q.jsxs)(`span`,{className:`text-xs ${b.timeoutAction===`deny`?`text-accent-red`:`text-accent-green`}`,children:[`timeout: `,W?`${b.timeoutAction===`allow`?`auto-allow`:`auto-deny`}${b.timeoutMs?` (${(b.timeoutMs/1e3).toFixed(0)}s)`:``}`:n(`timeoutWaitUser`)]})]}),O?(0,Q.jsx)(le,{text:O.text,mono:O.mono}):k?(0,Q.jsx)(le,{text:k}):null,(T.level===`CRITICAL`||T.level===`HIGH`)&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs px-2 py-1.5 rounded ${E.bg} ${E.text}`,children:[(0,Q.jsx)(S,{size:13}),(0,Q.jsx)(`span`,{children:T.level===`CRITICAL`?n(`highRiskWarning`):n(`mediumRiskConfirm`)})]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(X,{variant:`accent`,onClick:z,disabled:d,children:[(0,Q.jsx)(`span`,{className:`text-badge font-mono bg-accent-fg/20 rounded px-1`,children:`1`}),(0,Q.jsx)(`span`,{children:ne.allow.label}),(0,Q.jsx)(`span`,{className:`text-meta text-accent-fg/70 hidden sm:inline`,children:K})]}),(0,Q.jsxs)(`button`,{onClick:H,disabled:d,className:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg border border-dark-border bg-dark-bg text-dark-text hover:bg-dark-hover text-sm transition-colors disabled:opacity-50`,children:[(0,Q.jsx)(`span`,{className:`text-badge font-mono text-dark-muted bg-dark-surface rounded px-1`,children:`3`}),(0,Q.jsx)(`span`,{children:ne.allow_session.label}),(0,Q.jsx)(`span`,{className:`text-meta text-dark-muted/60 hidden sm:inline`,children:ce})]}),(0,Q.jsxs)(`button`,{onClick:U,disabled:d,className:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg border border-dark-border bg-dark-bg text-dark-text hover:bg-dark-hover text-sm transition-colors disabled:opacity-50`,children:[(0,Q.jsx)(`span`,{className:`text-badge font-mono text-dark-muted bg-dark-surface rounded px-1`,children:`4`}),(0,Q.jsx)(`span`,{children:ne.auto.label}),(0,Q.jsx)(`span`,{className:`text-meta text-dark-muted/60 hidden sm:inline`,children:de})]}),(0,Q.jsx)(`span`,{className:`flex-1`}),(0,Q.jsxs)(`button`,{onClick:V,disabled:d,className:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-dark-muted hover:bg-accent-red/15 hover:text-accent-red text-sm transition-colors disabled:opacity-50`,children:[(0,Q.jsx)(`span`,{className:`text-badge font-mono text-dark-muted/60 rounded px-1`,children:`2`}),(0,Q.jsx)(`span`,{children:ne.deny.label}),(0,Q.jsx)(`span`,{className:`text-meta text-dark-muted/60 hidden sm:inline`,children:q})]})]}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-between text-xs text-dark-muted/60`,children:[(0,Q.jsx)(`span`,{children:n(`shortcutHint`)}),(0,Q.jsx)(`span`,{children:w>0?n(`morePending`,{n:w}):n(`lastItem`)})]})]})})}var ar=`dsc-auto-access-banner-dismissed`,or=(0,Z.memo)(function(){let{t:e}=I(),t=se(e=>e.mode),[n,r]=(0,Z.useState)(()=>localStorage.getItem(ar)===`1`);(0,Z.useEffect)(()=>{q(t===`normal`?`act`:t)||localStorage.getItem(ar)===`1`&&r(!1)},[t]);let i=(0,Z.useCallback)(e=>{e&&localStorage.setItem(ar,`1`),r(!0)},[]);return!(t!==`normal`&&q(t))||n?null:(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5 px-4 py-1 text-meta leading-snug text-accent-yellow/75 bg-accent-yellow/[0.05] border-b border-accent-yellow/10 select-none`,role:`note`,title:e(`autoAccess.desc`),children:[(0,Q.jsx)(P,{size:11,className:`shrink-0 text-accent-yellow/70`}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1 truncate`,children:[(0,Q.jsx)(`span`,{className:`font-medium`,children:e(`autoAccess.title`)}),(0,Q.jsxs)(`span`,{className:`text-accent-yellow/60`,children:[` · `,e(`autoAccess.desc`)]})]}),(0,Q.jsx)(`button`,{onClick:()=>i(!1),className:`shrink-0 rounded p-0.5 text-accent-yellow/50 hover:text-accent-yellow hover:bg-accent-yellow/10 transition-colors`,title:e(`autoAccess.dismiss`),"aria-label":e(`autoAccess.dismiss`),children:(0,Q.jsx)(C,{size:11})}),(0,Q.jsx)(`button`,{onClick:()=>i(!0),className:`shrink-0 rounded px-1 py-px text-badge text-accent-yellow/50 hover:text-accent-yellow hover:bg-accent-yellow/10 transition-colors whitespace-nowrap`,children:e(`autoAccess.neverShow`)})]})});function sr(e,t){let n=e.replace(/\s+/g,` `).trim();return n.length>t?`${n.slice(0,t)}…`:n}function cr(e){return sr(e,12)}function lr(){return`custom-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function ur(e,t){return e.some(e=>e.kind===`scenario`&&e.id===t)}function dr(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id!=`string`||t.id===``||typeof t.label!=`string`||t.label===``||typeof t.hint!=`string`?!1:t.kind===`template`?typeof t.templateId==`string`&&t.templateId!==``:t.kind!==void 0&&t.kind!==`prompt`?!1:typeof t.prompt==`string`&&t.prompt!==``}function fr(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&t.id!==``&&typeof t.label==`string`&&t.label!==``&&Array.isArray(t.scenarios)&&t.scenarios.length>0&&t.scenarios.every(dr)}function pr(e){let t=e(`chat.start.categories`,{returnObjects:!0,defaultValue:[]});return Array.isArray(t)?t.filter(fr):[]}var mr=`tpl:`,hr=`tpl-`;function gr(e){return e.trim().toLowerCase()}function _r(e){let t=new Map;for(let n of e){let e=(n.category??``).trim();if(!e)continue;let r=(n.name??``).trim();if(!r)continue;let i={id:`${hr}${n.id}`,label:r,hint:n.description??``,prompt:``,kind:`template`,templateId:n.id},a=t.get(e);a?a.push(i):t.set(e,[i])}return[...t].map(([e,t])=>({id:`${mr}${e}`,label:e,scenarios:t}))}function vr(e,t){if(t.length===0)return e;let n=e.map(e=>({...e})),r=new Set(n.map(e=>e.id)),i=new Map(n.map((e,t)=>[gr(e.label),t]));for(let e of t){let t=gr(e.label),a=i.get(t);if(a!==void 0){let t=n[a];n[a]={...t,scenarios:[...t.scenarios,...e.scenarios]}}else r.has(e.id)||(r.add(e.id),i.set(t,n.length),n.push(e))}return n}function yr(e,t,n){let r=new Map;for(let t of e)for(let e of t.scenarios)r.set(e.id,e);let i=new Set,a=[];for(let e of t){if(i.has(e.id))continue;if(i.add(e.id),e.kind===`custom`){a.push({id:e.id,label:e.label,hint:sr(e.prompt,56),prompt:e.prompt});continue}let t=r.get(e.id);t&&a.push(t)}return Sr(a,n).slice(0,6)}function br(e){return e<5?`chat.start.greetingDawn`:e<11?`chat.start.greetingMorning`:e<13?`chat.start.greetingNoon`:e<18?`chat.start.greetingAfternoon`:`chat.start.greetingEvening`}function xr(e,t,n){let r=e(br(t)),i=(n??``).trim();return i?e(`chat.start.withName`,{greeting:r,name:i}):r}function Sr(e,t){return e.map((e,n)=>({scenario:e,index:n,count:t[e.id]??0})).sort((e,t)=>t.count-e.count||e.index-t.index).map(e=>e.scenario)}function Cr(e,t){return e.length===0||!t?null:e.find(e=>e.id===t)??null}var $=W()(G((e,t)=>({categoryId:null,clickCounts:{},favorites:[],suggestionsHidden:!0,prefillNonce:0,setCategoryId:t=>e({categoryId:t,suggestionsHidden:!1}),recordUse:t=>e(e=>({clickCounts:{...e.clickCounts,[t]:(e.clickCounts[t]??0)+1},favorites:e.favorites.some(e=>e.id===t)?e.favorites:[{kind:`scenario`,id:t},...e.favorites]})),toggleFavorite:t=>e(e=>({favorites:e.favorites.some(e=>e.kind===`scenario`&&e.id===t)?e.favorites.filter(e=>e.kind!==`scenario`||e.id!==t):[{kind:`scenario`,id:t},...e.favorites]})),removeFavorite:t=>e(e=>({favorites:e.favorites.filter(e=>e.id!==t)})),addCustomFavorite:(n,r)=>{let i=r.trim();if(!i)return null;let a=lr(),o=new Set(t().favorites.map(e=>e.id));for(;o.has(a);)a=lr();let s={kind:`custom`,id:a,label:n.trim()||cr(i),prompt:i};return e(e=>({favorites:[s,...e.favorites]})),s},toggleSuggestions:()=>e(e=>({suggestionsHidden:!e.suggestionsHidden})),requestFocus:()=>e(e=>({prefillNonce:e.prefillNonce+1})),reset:()=>e({categoryId:null,clickCounts:{},favorites:[],suggestionsHidden:!0,prefillNonce:0})}),{name:`deepseekcode-start-page-storage`,partialize:e=>({categoryId:e.categoryId,clickCounts:e.clickCounts,favorites:e.favorites,suggestionsHidden:e.suggestionsHidden}),version:2,migrate:(e,t)=>{let n=t??0;if(n>=2||!e||typeof e!=`object`)return e;let r=e,i=n<1||r.suggestionsHidden,a=n<1?Object.entries(r.clickCounts??{}).sort((e,t)=>t[1]-e[1]).slice(0,6).map(([e])=>e):r.favoriteIds??[];return{categoryId:r.categoryId??null,clickCounts:r.clickCounts??{},suggestionsHidden:i,favorites:a.map(e=>({kind:`scenario`,id:e}))}}}));function wr(e){return typeof e!=`string`||!e?null:e.split(/[\\/]+/).pop()||null}var Tr={enabled:!0,exists:!1,name:null,file:null};function Er(){let[e,t]=(0,Z.useState)(Tr);return(0,Z.useEffect)(()=>{let e=!1,n=()=>{be.profile.get().then(n=>{if(e||!n.success||!n.data)return;let r=n.data,i=r.enabled!==!1,a=r.exists===!0,o={enabled:i,exists:a,name:i&&r.name?r.name:null,file:i&&a?wr(r.path):null};t(e=>e.enabled===o.enabled&&e.exists===o.exists&&e.name===o.name&&e.file===o.file?e:o)}).catch(()=>{})};return n(),window.addEventListener(Ee,n),()=>{e=!0,window.removeEventListener(Ee,n)}},[]),e}var Dr=(0,Z.memo)(function(){return(0,Q.jsxs)(`div`,{className:`relative isolate flex min-h-[8.5rem] w-full flex-col justify-end pb-1`,children:[(0,Q.jsx)(Or,{}),(0,Q.jsx)(jr,{})]})}),Or=(0,Z.memo)(function(){let{t:e}=I(),{enabled:t,exists:n,name:r,file:i}=Er(),a=(0,Z.useMemo)(()=>xr(e,new Date().getHours(),r),[e,r]);return(0,Q.jsxs)(`div`,{className:`chat-col px-4 pt-2 sm:px-6`,children:[(0,Q.jsxs)(`h1`,{className:`text-2xl font-semibold leading-snug tracking-tight text-dark-text`,children:[(0,Q.jsx)(`span`,{className:`block`,children:a}),(0,Q.jsx)(`span`,{className:`block`,children:e(`chat.start.question`)})]}),(0,Q.jsx)(kr,{enabled:t,exists:n,name:r,file:i})]})});function kr({enabled:e,exists:t,name:n,file:r}){let{t:i}=I(),a=e?n?i(`chat.start.profileOn`,{name:n}):t?r?i(`chat.start.profileFile`,{file:r}):i(`chat.start.profileSet`):i(`chat.start.profileAnonymous`):i(`chat.start.profileDisabled`),o=(0,Z.useCallback)(()=>{typeof window<`u`&&window.dispatchEvent(new CustomEvent(`switch-tab`,{detail:{tab:`settings`,section:`profile`}}))},[]);return(0,Q.jsx)(`div`,{className:`mt-3 flex flex-wrap items-center gap-2`,children:(0,Q.jsxs)(`button`,{type:`button`,onClick:o,title:i(`chat.start.profileHint`),className:`inline-flex min-w-0 items-center gap-1.5 rounded-full border border-dark-border/70 bg-dark-surface/50 px-2.5 py-1 text-meta text-dark-muted transition-colors hover:border-accent-blue/40 hover:text-dark-text`,children:[(0,Q.jsx)(y,{size:11,"aria-hidden":`true`,className:`shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:a}),(0,Q.jsxs)(`span`,{className:`shrink-0 text-dark-muted/70`,children:[`· `,i(`chat.start.profileEdit`)]})]})})}var Ar=[{glyph:`/`,labelKey:`shortcuts.slashCommand`},{glyph:`@`,labelKey:`shortcuts.fileRef`},{glyph:`!`,labelKey:`shortcuts.shellCommand`},{glyph:`$`,labelKey:`shortcuts.skillRef`}],jr=(0,Z.memo)(function(){let{t:e}=I();return(0,Q.jsx)(`ul`,{"data-testid":`start-tips`,"aria-label":e(`shortcuts.title`),className:`chat-col mt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 px-4 sm:px-6`,children:Ar.map(t=>(0,Q.jsxs)(`li`,{className:`inline-flex items-center gap-1.5 text-badge text-dark-muted/60`,children:[(0,Q.jsx)(`kbd`,{className:`rounded border border-dark-border bg-dark-bg px-1.5 py-0.5 font-mono text-badge leading-none text-dark-muted`,children:t.glyph}),(0,Q.jsx)(`span`,{children:e(t.labelKey)})]},t.glyph))})}),Mr=(0,Z.memo)(function({sessionId:e,onStartTemplate:t}){let{t:n}=I(),[i,a]=(0,Z.useState)([]);(0,Z.useEffect)(()=>{if(!t)return;let e=!1;return be.templates.list().then(t=>{!e&&t.success&&t.data&&a(t.data)}).catch(()=>{}),()=>{e=!0}},[t]);let s=(0,Z.useMemo)(()=>vr(pr(n),_r(i)),[n,i]),c=$(e=>e.categoryId),u=$(e=>e.setCategoryId),d=$(e=>e.clickCounts),f=$(e=>e.favorites),p=$(e=>e.recordUse),m=$(e=>e.toggleFavorite),h=$(e=>e.removeFavorite),g=$(e=>e.addCustomFavorite),_=$(e=>e.suggestionsHidden),v=$(e=>e.toggleSuggestions),y=$(e=>e.requestFocus),b=(0,Z.useMemo)(()=>Cr(s,c),[s,c]),x=(0,Z.useCallback)(()=>u(null),[u]),S=(0,Z.useMemo)(()=>b?Sr(b.scenarios,d):yr(s,f,d),[b,s,f,d]),[w,E]=(0,Z.useState)(!1),[D,O]=(0,Z.useState)(``),[j,M]=(0,Z.useState)(``),N=(0,Z.useCallback)(()=>{E(!1),O(``),M(``)},[]),P=(0,Z.useCallback)(()=>{E(!0),_&&v()},[_,v]),F=(0,Z.useCallback)(e=>{e.preventDefault(),g(D,j)&&N()},[g,N,D,j]),L=(0,Z.useCallback)(t=>{e&&(B.getState().setSessionInput(e,t.prompt),p(t.id),y())},[e,p,y]),[R,ee]=(0,Z.useState)(null),[z,V]=(0,Z.useState)(``),H=(0,Z.useCallback)(async e=>{V(``);let t=await be.templates.get(e);!t.success||!t.data?V(n(`templates.loadFailed`)):(ee(t.data),_&&v())},[n,_,v]),U=(0,Z.useCallback)(e=>{e.kind===`template`&&e.templateId?t&&H(e.templateId):L(e)},[t,H,L]),W=(0,Z.useRef)([]),[G,K]=(0,Z.useState)(0),q=(0,Z.useCallback)((e,t,n)=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let n=e.key===`ArrowDown`?Math.min(t+1,S.length-1):Math.max(t-1,0);K(n),W.current[n]?.focus()}else e.key===`Tab`&&(e.preventDefault(),U(n))},[U,S.length]);return s.length===0?null:(0,Q.jsxs)(`div`,{className:`start-col max-md:order-3 px-4 pb-4 sm:px-6`,children:[(0,Q.jsxs)(`div`,{role:`tablist`,"aria-label":n(`chat.start.categoriesLabel`),onKeyDown:e=>{e.key===`Escape`&&c&&(e.preventDefault(),x())},className:`snap-row mt-5 flex items-center gap-2 overflow-x-auto pb-1`,children:[s.map(e=>{let t=e.id===c;return(0,Q.jsxs)(`span`,{"data-testid":`start-chip`,"data-category-id":e.id,"data-selected":t?`true`:void 0,className:`inline-flex shrink-0 items-center overflow-hidden rounded-full border transition-colors focus-within:ring-1 focus-within:ring-accent-blue/60 ${t?`border-transparent bg-gradient-to-r rtl:bg-gradient-to-l from-accent-blue to-accent-purple text-accent-fg shadow-sm`:`border-dark-border/70 text-dark-muted hover:border-accent-blue/40 hover:text-dark-text`}`,children:[(0,Q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t,"data-testid":`start-chip-label`,onClick:()=>u(t?null:e.id),className:`py-1 text-meta transition-colors focus-visible:outline-none ${t?`ps-3 pe-1.5`:`px-3`}`,children:e.label}),t&&(0,Q.jsx)(`button`,{type:`button`,"data-testid":`start-chip-clear`,"aria-label":n(`chat.start.clearCategory`,{label:e.label}),title:n(`chat.start.clearCategory`,{label:e.label}),onClick:x,className:`py-1 pl-0 pe-2 text-accent-fg/75 transition-colors hover:text-accent-fg focus-visible:outline-none`,children:(0,Q.jsx)(C,{size:12,"aria-hidden":`true`})})]},e.id)}),(0,Q.jsx)(k,{size:13,"aria-hidden":`true`,className:`shrink-0 text-dark-muted/50`})]}),(0,Q.jsxs)(`div`,{className:`mt-2.5`,children:[(0,Q.jsxs)(`div`,{className:`mb-1 flex items-center justify-between gap-3`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0 truncate text-meta text-dark-muted/60`,children:[b?n(`chat.start.categoryTitle`,{label:b.label}):n(`chat.start.frequentTitle`),(0,Q.jsx)(`span`,{className:`ms-2 text-dark-muted/40`,children:n(b?`chat.start.selectedHint`:`chat.start.frequentHint`)})]}),(0,Q.jsxs)(`span`,{className:`flex shrink-0 items-center gap-3`,children:[!b&&!w&&(0,Q.jsxs)(`button`,{type:`button`,"data-testid":`start-custom-add`,onClick:P,className:`inline-flex items-center gap-1 text-meta text-dark-muted/60 transition-colors hover:text-dark-text`,children:[(0,Q.jsx)(T,{size:11,"aria-hidden":`true`}),n(`chat.start.customAdd`)]}),(0,Q.jsx)(`button`,{type:`button`,onClick:v,className:`inline-flex items-center gap-1 text-meta text-dark-muted/60 transition-colors hover:text-dark-text`,children:_?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(r,{size:11,"aria-hidden":`true`}),n(`chat.start.show`)]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(o,{size:11,"aria-hidden":`true`}),n(`chat.start.hide`)]})})]})]}),z&&(0,Q.jsx)(`div`,{"data-testid":`start-template-error`,className:`mb-2 text-meta text-accent-red`,children:z}),R&&(0,Q.jsxs)(`div`,{"data-testid":`start-template-form`,className:`mb-2 rounded-xl border border-dark-border/60 bg-dark-surface/40 p-3`,children:[(0,Q.jsx)(`div`,{className:`mb-2 text-xs font-medium text-dark-text`,children:R.name}),(0,Q.jsx)(Se,{template:R,onCancel:()=>ee(null),onSubmit:e=>{let n=R;ee(null),t?.(n,e)},submitLabel:n(`templates.launch`)})]}),w&&!b&&(0,Q.jsxs)(`form`,{"data-testid":`start-custom-form`,onSubmit:F,className:`mb-2 flex flex-col gap-2 rounded-xl border border-dark-border/60 bg-dark-surface/40 p-3`,children:[(0,Q.jsx)(`input`,{"data-testid":`start-custom-label`,value:D,onChange:e=>O(e.target.value),placeholder:n(`chat.start.customLabelPlaceholder`),maxLength:40,className:`w-full rounded-md border border-dark-border/60 bg-dark-bg/60 px-2.5 py-1.5 text-xs text-dark-text placeholder:text-dark-muted/50 focus:border-accent-blue/50 focus-visible:outline-none`}),(0,Q.jsx)(`textarea`,{"data-testid":`start-custom-prompt`,value:j,onChange:e=>M(e.target.value),placeholder:n(`chat.start.customPromptPlaceholder`),rows:2,autoFocus:!0,className:`w-full resize-none rounded-md border border-dark-border/60 bg-dark-bg/60 px-2.5 py-1.5 text-xs leading-snug text-dark-text placeholder:text-dark-muted/50 focus:border-accent-blue/50 focus-visible:outline-none`}),(0,Q.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[(0,Q.jsx)(`button`,{type:`button`,"data-testid":`start-custom-cancel`,onClick:N,className:`rounded-md px-2.5 py-1 text-meta text-dark-muted transition-colors hover:text-dark-text`,children:n(`chat.start.customCancel`)}),(0,Q.jsx)(`button`,{type:`submit`,"data-testid":`start-custom-save`,disabled:!j.trim(),className:`rounded-md border border-accent-blue/40 bg-accent-blue/10 px-2.5 py-1 text-meta font-medium text-accent-blue transition-colors hover:bg-accent-blue/20 disabled:cursor-not-allowed disabled:border-dark-border/60 disabled:bg-transparent disabled:text-dark-muted/40`,children:n(`chat.start.customSave`)})]})]}),!_&&!R&&(S.length===0?w?null:(0,Q.jsx)(`p`,{"data-testid":`start-frequent-empty`,className:`rounded-xl border border-dashed border-dark-border/60 px-4 py-3 text-xs leading-relaxed text-dark-muted/70`,children:n(`chat.start.frequentEmpty`)}):(0,Q.jsx)(`div`,{className:`overflow-hidden rounded-xl border border-dark-border/60 bg-dark-surface/40`,children:S.map((e,t)=>{let r=ur(f,e.id);return(0,Q.jsxs)(`div`,{"data-testid":`start-row-shell`,className:`group flex items-center transition-colors hover:bg-dark-hover/40 focus-within:bg-dark-hover/40 ${t>0?`border-t border-dark-border/40`:``}`,children:[(0,Q.jsxs)(`button`,{ref:e=>{W.current[t]=e},type:`button`,"data-testid":`start-row`,"data-scenario-id":e.id,tabIndex:t===G?0:-1,onClick:()=>U(e),onKeyDown:n=>q(n,t,e),className:`flex min-w-0 flex-1 items-baseline gap-3 py-2.5 ps-4 pe-2 text-start transition-colors focus-visible:outline-none`,children:[(0,Q.jsx)(`span`,{className:`w-[84px] shrink-0 text-compact font-medium leading-snug text-dark-text`,children:e.label}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 border-s border-dark-border/50 ps-3 text-compact leading-snug text-dark-muted`,children:e.hint}),(0,Q.jsx)(l,{size:12,"aria-hidden":`true`,className:`mt-0.5 shrink-0 text-dark-muted/40`})]}),b?(0,Q.jsx)(`button`,{type:`button`,"data-testid":`start-row-favorite`,"aria-pressed":r,"aria-label":n(r?`chat.start.removeFavorite`:`chat.start.addFavorite`,{label:e.label}),title:n(r?`chat.start.removeFavorite`:`chat.start.addFavorite`,{label:e.label}),onClick:()=>m(e.id),className:`me-2 shrink-0 rounded-md p-1.5 transition-colors focus-visible:outline-none ${r?`text-accent-yellow`:`text-dark-muted/40 hover:text-dark-text`}`,children:(0,Q.jsx)(A,{size:13,"aria-hidden":`true`,className:r?`fill-current`:``})}):(0,Q.jsx)(`button`,{type:`button`,"data-testid":`start-row-remove`,"aria-label":n(`chat.start.removeFavorite`,{label:e.label}),title:n(`chat.start.removeFavorite`,{label:e.label}),onClick:()=>h(e.id),className:`me-2 shrink-0 rounded-md p-1.5 text-dark-muted/40 transition-colors hover:text-dark-text focus-visible:outline-none`,children:(0,Q.jsx)(C,{size:13,"aria-hidden":`true`})})]},e.id)})}))]})]})}),Nr=(0,Z.memo)(function({currentSessionId:e}){let{t}=I(),[n]=(0,Z.useState)(H),r=(0,Z.useCallback)(()=>{if(!n)return;let e=ee.getState();e.sessionTabs.some(e=>e.id===n.id)?e.setActiveSession(n.id):e.historySessions.some(e=>e.id===n.id)?e.restoreHistorySession(n.id):e.addSessionTab(n.title||void 0,n.dir||void 0,n.id),Y.setSessionId(n.id)},[n]);if(!n||n.id===e)return null;let i=n.title.trim();return i?(0,Q.jsx)(`div`,{className:`mb-1 flex shrink-0 justify-center px-4 max-md:justify-start`,children:(0,Q.jsxs)(`button`,{type:`button`,onClick:r,title:t(`chat.resumeLastTitle`),"data-testid":`resume-last-session`,className:`group flex max-w-full items-center gap-1.5 rounded-full border border-dark-border/70 bg-dark-surface/50 px-2.5 py-1 text-meta leading-none text-dark-muted transition-colors hover:border-accent-blue/40 hover:bg-accent-blue/10 hover:text-dark-text focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent-blue/60`,children:[(0,Q.jsx)(s,{size:11,className:`shrink-0 text-dark-muted/70 group-hover:text-accent-blue`}),(0,Q.jsx)(`span`,{className:`truncate`,children:t(`chat.resumeLast`,{title:i})})]})}):null});function Pr(e){let{sessionId:t,isGenerating:n,messages:r}=e,{i18n:i}=I(),a=(0,Z.useRef)(n),o=(0,Z.useRef)(t);(0,Z.useEffect)(()=>{let e=a.current,s=o.current!==t;if(a.current=n,o.current=t,s||!e||n)return;let c=z();if(c.enabled&&c.autoPlay)for(let e=r.length-1;e>=0;e--){let t=r[e];if(!t||t.type!==`assistant`)continue;let n=(t.content||``).trim();if(n){if(!U(n))return;de(n,ye(i.language));return}}},[n,t,r,i.language]),(0,Z.useEffect)(()=>()=>ce(),[t])}var Fr=[{mode:`chat`,Icon:t,labelKey:`trajectory.viewChat`},{mode:`trajectory`,Icon:h,labelKey:`trajectory.viewTrajectory`}],Ir=[],Lr=(0,Z.memo)(function({tabs:e,activeSessionId:t,onSend:n,onStop:r,onPause:i,onResume:a,activeTab:o,setActiveTab:s,createNewSession:c,clearMessages:l,setTheme:u,setThemePreset:d,setLogs:f,setUnreadLogs:p,onRegenerate:m,onRetryTurn:h,onDeleteMessage:g,onOpenSidebarView:_,hookDrawerOpen:v,onCloseHookDrawer:y,questionDrawerOpen:b,onCloseQuestionDrawer:x,workspaceDir:S,onWorkspaceSelect:C,onNewSessionInDir:w,errorLogs:T,onOpenLogs:E,onStartTemplate:D}){let O=(0,Z.useMemo)(()=>({setActiveTab:s,createNewSession:c,clearMessages:l,setTheme:u,setThemePreset:d,setLogs:f,setUnreadLogs:p}),[s,c,l,u,d,f,p]),[k,A]=(0,Z.useState)(`chat`),{t:j}=I(),M=B(e=>t?e.messagesBySession[t]??Ir:Ir),N=B(e=>t?e.generatingSessions.includes(t):!1),P=B(e=>t?e.pausedSessions.includes(t):!1);Pr({sessionId:t,isGenerating:N,messages:M});let F=e.find(e=>e.id===t)||null,L=(0,Z.useMemo)(()=>M.filter(e=>!e.deleted).length===0,[M]);(0,Z.useEffect)(()=>{F&&!L&&V({id:F.id,title:F.title,dir:S})},[F,L,S]);let R=$(e=>e.prefillNonce),ee=(0,Z.useCallback)((e,r,i,a,o,s)=>{t&&n(t,e,r,i,a||s?{...a?{mentions:a,mentionDeliveryMode:o}:{},...s?{display:s}:{}}:void 0)},[n,t]),z=(0,Z.useCallback)(async e=>{let n=t;if(!n)return;let r=`shell_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,i=Date.now();B.getState().addMessage(n,{id:r,type:`user`,content:`!${e}`,timestamp:i,noTruncate:!0,shellRun:{command:e,stdout:``,stderr:``,exitCode:null,durationMs:0,running:!0}});let a=await be.shell.exec(e,S),o=a.success&&a.data?{...a.data,running:!1}:{command:e,stdout:``,stderr:``,exitCode:null,durationMs:Date.now()-i,running:!1,error:a.error||j(`chat.shellRequestFailedGeneric`)};B.getState().updateMessage(n,r,{shellRun:o})},[t,S,j]),H=(0,Z.useCallback)(e=>{t&&m&&m(t,e)},[m,t]),U=(0,Z.useCallback)(e=>{t&&g&&g(t,e)},[g,t]);return(0,Q.jsx)(`div`,{className:`flex-1 flex min-h-0`,children:(0,Q.jsxs)(`div`,{className:`flex-1 flex flex-col min-w-0 min-h-0`,children:[(0,Q.jsx)(or,{}),F&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex h-7 shrink-0 items-center justify-end px-3`,children:(0,Q.jsxs)(`div`,{role:`radiogroup`,"aria-label":j(`trajectory.viewToggleTitle`),className:`relative inline-grid grid-cols-2 items-center rounded-full border border-dark-border bg-dark-surface/60 p-0.5 text-meta leading-none`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-y-0.5 left-0.5 w-[calc(50%-2px)] rounded-full ring-1 transition-transform duration-200 ease-out motion-reduce:transition-none ${k===`trajectory`?`translate-x-full bg-accent-blue/20 ring-accent-blue/40`:`translate-x-0 bg-dark-hover ring-dark-border`}`}),Fr.map(({mode:e,Icon:t,labelKey:n})=>{let r=k===e;return(0,Q.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":r,title:j(`trajectory.viewToggleTitle`),onClick:()=>A(e),className:`relative z-10 flex items-center justify-center gap-1 whitespace-nowrap rounded-full px-2.5 py-1 transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent-blue/60 ${r?`text-dark-text`:`text-dark-muted hover:text-dark-text`}`,children:[(0,Q.jsx)(t,{size:11}),j(n)]},e)})]})}),(0,Q.jsxs)(`div`,{className:`relative flex min-h-0 flex-1 flex-col ${L&&k===`chat`?`justify-center overflow-y-auto custom-scrollbar py-2 max-md:justify-start`:``}`,children:[k===`chat`?(0,Q.jsx)(Q.Fragment,{children:L?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Nr,{currentSessionId:F.id}),(0,Q.jsx)(Dr,{})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(_e,{messages:M,isGenerating:N,isPaused:P,sessionId:F.id,onRegenerate:m?H:void 0,onRetryTurn:h,onDeleteMessage:g?U:void 0,onOpenSidebarView:_}),(0,Q.jsx)(ir,{isOpen:!!v,onCloseModal:y}),(0,Q.jsx)(nr,{isOpen:!!b,onClose:x??(()=>{})})]})}):(0,Q.jsx)(In,{sessionId:F.id,messages:M,errorLogs:T,onOpenLogs:E}),(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsx)(Rn,{activeSessionId:F.id})}),(0,Q.jsx)(ve,{sessionId:F.id,onSend:ee,onRunShell:z,onStop:()=>r(F.id),onPause:()=>i(F.id),onResume:()=>a(F.id),slashOptions:O,workspaceDir:S,onWorkspaceSelect:C?e=>C(e,F.id):void 0,onNewSessionInDir:w,focusRequest:R}),k===`chat`&&L&&(0,Q.jsx)(Mr,{sessionId:F.id,onStartTemplate:D})]})]})]})})});export{Lr as SessionGrid};
@@ -0,0 +1 @@
1
+ .traj-root{border-bottom:1px solid var(--color-border,#80808040);background:var(--color-surface,#14161c99);-webkit-user-select:none;user-select:none;scrollbar-width:thin;flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:auto hidden}.traj-root::-webkit-scrollbar{height:8px}.traj-root::-webkit-scrollbar-thumb{background:#80808059;border-radius:4px}.traj-labels{z-index:1;height:16px;color:var(--color-muted,#969ba599);align-items:center;gap:8px;padding:0 8px;font-size:10px;display:flex;position:sticky;left:0}.traj-track{cursor:crosshair;touch-action:none;height:52px;position:relative;overflow:hidden}.traj-hoverLine{background:var(--color-accent,#5a8cff80);pointer-events:none;width:1px;top:0;bottom:0;left:var(--trajectory-hover-left);position:absolute}.traj-selection{pointer-events:none;top:0;bottom:0;left:var(--trajectory-selection-left);width:var(--trajectory-selection-width);background:#5a8cff24;border:1px solid #5a8cff66;position:absolute}.traj-selection[data-dragging]{background:#5a8cff38}.traj-turnBoundaries{pointer-events:none;position:absolute;inset:0}.traj-turnBoundary{width:1px;top:0;bottom:0;left:var(--trajectory-turn-left);background:#ffffff1f;position:absolute}.traj-lanes{position:absolute;inset:0}.traj-span{top:calc(var(--trajectory-span-lane) * 17px + 2px);white-space:nowrap;color:#ffffffbf;height:13px;left:var(--trajectory-span-left);width:var(--trajectory-span-width);cursor:pointer;background:#6e788c8c;border-radius:2px;padding:0 3px;font-size:9px;line-height:13px;position:absolute;overflow:hidden;container-type:inline-size}@container (width<=26px){.traj-spanLabel{display:none}}.traj-spanLabel{text-overflow:ellipsis;display:block;overflow:hidden}.traj-span[data-timeline-span=user]{background:#5a8cff8c}.traj-span[data-timeline-span=message]{background:#46be828c}.traj-span[data-timeline-span=tool],.traj-span[data-timeline-span=subtool]{background:#aa78f08c}.traj-span[data-timeline-span=compacted]{background:#e6aa3c8c}.traj-span[data-error]{background:#e65050a6}.traj-span[data-current]{outline:1px solid #ffffffb3}.traj-span[data-hovered]{filter:brightness(1.25)}.traj-span[data-search-match=true]{outline:1px solid #5ac8ffcc}.traj-span[data-search-match=false]{opacity:.35}.traj-span[data-selected=true]{outline:1px solid #5a8cffe6}.traj-span[data-assistant-timing]{background:linear-gradient(to right, #46be82d9 0%, #46be82d9 var(--trajectory-assistant-ttft), #46be8266 var(--trajectory-assistant-ttft), #46be8266 100%)}.traj-detailTab{color:var(--color-muted,#969ba5cc);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.traj-detailTab:hover{background:#8080801f}.traj-detailTab[data-active=true]{color:var(--color-text,#e6e8eef2);background:#5a8cff29}.traj-detailBody{white-space:pre-wrap;word-break:break-word;color:var(--color-text,#e6e8eee6);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1.5}.traj-detailKey{color:var(--color-muted,#969ba5b3)}.traj-detailValue{color:var(--color-text,#e6e8eee6)}
@@ -0,0 +1,4 @@
1
+ import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{$ as t,Bt as n,Ct as r,En as i,Gn as a,H as o,In as s,J as c,L as l,Nn as u,O as d,Ot as f,Pr as p,Rn as m,Un as h,Ur as g,V as _,Vn as v,W as y,Yn as b,Z as x,Zt as S,ar as C,b as w,br as T,bt as E,c as D,dn as O,ft as k,i as A,it as j,j as ee,k as M,m as N,mn as P,n as te,or as F,st as ne,tn as I,ur as L,vr as re,xr as ie,xt as ae,zn as oe}from"./icons-BvYhTENi.js";import{t as R}from"./useTranslation-BGmCDuQI.js";import{a as se,i as ce,n as le,o as z,t as ue}from"./ttsSettings-DHo3OsOq.js";import{n as B,t as V}from"./cn-rx4uumOJ.js";import{D as de,O as fe}from"./src-49LUQhkG.js";import{a as pe,i as me,o as he,r as ge,t as _e}from"./sttLanguages-aqoVC79g.js";import{C as ve,E as ye,O as be,h as xe,m as H,r as U,v as Se,w as Ce,x as we,y as Te}from"./settingsStore-RLUAWgIk.js";import{r as W,t as G}from"./api-CCt9DRQm.js";import{I as Ee}from"./markdown-DAQZeY5V.js";import{A as K,g as De,j as Oe}from"./common-BHXgEvgk.js";import{t as ke}from"./whatsNewStore-Bf_7lW8o.js";import{T as Ae}from"./index-BX-d2OBW.js";import{n as q}from"./profileChange-xrd7jkii.js";var J=e(g(),1),Y=Ee();function je(e){return e<1024?`${e} B`:e<1048576?`${(e/1024).toFixed(1)} KB`:`${(e/1048576).toFixed(1)} MB`}function Me(e){return new Date(e).toLocaleString()}function Ne(){let[e,n]=(0,J.useState)([]),[r,a]=(0,J.useState)(null),[o,s]=(0,J.useState)(``),[l,u]=(0,J.useState)(``),[d,f]=(0,J.useState)(!1),[p,m]=(0,J.useState)(!1),h=(0,J.useCallback)(async()=>{f(!0);try{let e=await G.config.files.list();e.success&&Array.isArray(e.data)&&n(e.data)}catch{B.error(`Failed to load config files`)}finally{f(!1)}},[]),g=(0,J.useCallback)(async e=>{try{let t=await G.config.files.read(e);if(t.success&&t.data){let e=t.data;a(e.name),s(e.content),u(e.content)}}catch{B.error(`Failed to read ${e}`)}},[]);(0,J.useEffect)(()=>{h()},[h]);let _=(0,J.useCallback)(async()=>{if(r){m(!0);try{let e=await G.config.files.write(r,o);e.success?(u(o),B.success(`${r} saved`),h()):B.error(e.error||`Failed to save`)}catch{B.error(`Failed to save file`)}finally{m(!1)}}},[r,o,h]),v=o!==l,y=r?.endsWith(`.yaml`)||r?.endsWith(`.yml`),b=r?.endsWith(`.json`);return(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,Y.jsx)(`h4`,{className:`text-sm font-medium text-dark-text`,children:`Config Files`}),(0,Y.jsx)(`button`,{onClick:h,disabled:d,className:`p-1.5 rounded hover:bg-dark-hover transition-colors text-dark-muted`,title:`Refresh file list`,children:(0,Y.jsx)(t,{size:14,className:d?`animate-spin`:``})})]}),e.length===0&&!d&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted`,children:`No config files found in ~/.agent/`}),e.length>0&&(0,Y.jsxs)(`div`,{className:`flex gap-3`,children:[(0,Y.jsx)(`div`,{className:`w-48 shrink-0 space-y-0.5 max-h-[300px] overflow-y-auto custom-scrollbar`,children:e.map(e=>(0,Y.jsxs)(`button`,{onClick:()=>g(e.name),className:`w-full text-start px-2.5 py-1.5 rounded text-xs flex items-center gap-2 transition-colors ${r===e.name?`bg-accent-blue/10 text-accent-blue`:`text-dark-text hover:bg-dark-hover`}`,children:[(0,Y.jsx)(i,{size:12,className:`shrink-0`}),(0,Y.jsx)(`span`,{className:`truncate flex-1`,children:e.name}),!e.editable&&(0,Y.jsx)(`span`,{className:`text-badge text-dark-muted shrink-0`,title:`Read-only`,children:`read`})]},e.name))}),r?(0,Y.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between mb-1.5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-dark-muted`,children:[(0,Y.jsx)(`span`,{className:`text-dark-text font-medium`,children:r}),e.find(e=>e.name===r)&&(0,Y.jsxs)(`span`,{children:[je(e.find(e=>e.name===r).size),` · `,Me(e.find(e=>e.name===r).modified)]}),v&&(0,Y.jsxs)(`span`,{className:`text-accent-yellow flex items-center gap-1`,children:[(0,Y.jsx)(N,{size:10}),`unsaved changes`]})]}),(0,Y.jsx)(K,{variant:`accent`,size:`sm`,leftIcon:(0,Y.jsx)(c,{size:12}),loading:p,disabled:!v,onClick:_,children:`Save`})]}),(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(`pre`,{className:`w-full h-[260px] p-3 rounded-lg bg-dark-bg border border-dark-border font-mono text-xs leading-relaxed overflow-auto custom-scrollbar pointer-events-none`,dangerouslySetInnerHTML:{__html:o.split(`
2
+ `).map(e=>y?e.replace(/(#.*)$/,`<span class="text-dark-muted">$1</span>`).replace(/^(\s*)([\w-]+)(:)/,`$1<span class="text-accent-blue">$2</span>$3`).replace(/:\s+(true|false|null|~)(\s*)$/,`: <span class="text-accent-purple">$1</span>$2`).replace(/:\s+(\d+\.?\d*)(\s*)$/,`: <span class="text-accent-green">$1</span>$2`).replace(/:\s+"([^"]*)"(\s*)$/,`: <span class="text-accent-yellow">"$1"</span>$2`):b?e.replace(/(\s*"[^"]*")(\s*:)/g,`<span class="text-accent-blue">$1</span>$2`).replace(/:\s+(true|false|null)/g,`: <span class="text-accent-purple">$1</span>`).replace(/:\s+(\d+\.?\d*)/g,`: <span class="text-accent-green">$1</span>`).replace(/:\s+"([^"]*)"/g,`: <span class="text-accent-yellow">"$1"</span>`):e).join(`
3
+ `)||`&nbsp;`}}),(0,Y.jsx)(`textarea`,{value:o,onChange:e=>s(e.target.value),className:`absolute inset-0 w-full h-full p-3 rounded-lg bg-transparent border border-dark-border font-mono text-xs leading-relaxed resize-none overflow-auto custom-scrollbar text-transparent caret-dark-text focus:outline-none focus:border-accent-blue/50`,style:{color:`transparent`},spellCheck:!1})]})]}):(0,Y.jsx)(`div`,{className:`flex-1 flex items-center justify-center text-xs text-dark-muted`,children:`Select a file to edit`})]})]})}var Pe=[{key:`pipIndexUrl`,labelKey:`stt.sources.pipIndexUrl`,placeholderKey:`stt.sources.phPipIndex`,preset:`pipIndexUrl`},{key:`pipExtraIndexUrl`,labelKey:`stt.sources.pipExtraIndexUrl`,placeholderKey:`stt.sources.phPipExtra`},{key:`proxy`,labelKey:`stt.sources.proxy`,placeholderKey:`stt.sources.phProxy`},{key:`hfEndpoint`,labelKey:`stt.sources.hfEndpoint`,placeholderKey:`stt.sources.phHub`,preset:`hfEndpoint`}],Fe=`w-full bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text font-mono focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all disabled:opacity-50`;function Ie(){let{t:e}=R(),[t,r]=(0,J.useState)(!1),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(!1),[l,u]=(0,J.useState)(!1),[d,f]=(0,J.useState)(null),[p,m]=(0,J.useState)({pipIndexUrl:``,pipExtraIndexUrl:``,proxy:``,hfEndpoint:``}),h=(0,J.useCallback)(e=>{f(e),m({pipIndexUrl:e.settings.pipIndexUrl??``,pipExtraIndexUrl:e.settings.pipExtraIndexUrl??``,proxy:e.settings.proxy??``,hfEndpoint:e.settings.hfEndpoint??``})},[]),g=(0,J.useCallback)(async()=>{s(!0);try{let e=await G.stt.getConfig();e.success&&e.data?h(e.data):e.error&&B.error(e.error)}catch{}s(!1),a(!0)},[h]);(0,J.useEffect)(()=>{t&&!i&&g()},[t,i,g]);let _=d?.envKeys,v=d?.resolved.fromEnv??[],y=e=>v.includes(e),b=Object.keys(p).filter(e=>{let t=p[e].trim();return!t||y(e)?!1:e===`pipExtraIndexUrl`||e===`proxy`||t!==d?.official[e]}),S=Object.keys(p).some(e=>!y(e)&&p[e].trim()!==(d?.settings[e]??``)),C=(0,J.useCallback)(async()=>{u(!0);try{let t={};for(let{key:e}of Pe)y(e)||(t[e]=p[e].trim()||null);let n=await G.stt.setConfig(t);n.success&&n.data?(B.success(e(`stt.sources.saved`)),await g()):B.error(n.error||e(`stt.sources.saveFailed`))}catch(e){B.error(e instanceof Error?e.message:String(e))}u(!1)},[p,y,g,e]),w=(0,J.useCallback)(async()=>{u(!0);try{let t=await G.stt.setConfig({pipIndexUrl:null,pipExtraIndexUrl:null,proxy:null,hfEndpoint:null});t.success&&t.data?(B.success(e(`stt.sources.resetDone`)),await g()):B.error(t.error||e(`stt.sources.saveFailed`))}catch(e){B.error(e instanceof Error?e.message:String(e))}u(!1)},[g,e]);return(0,Y.jsxs)(`div`,{className:`rounded-lg border border-dark-border bg-dark-surface overflow-hidden`,children:[(0,Y.jsxs)(`button`,{type:`button`,className:`w-full flex items-center gap-2 px-3 py-2.5 text-start hover:bg-dark-hover transition-colors`,onClick:()=>r(e=>!e),children:[t?(0,Y.jsx)(T,{size:14,className:`text-dark-muted`}):(0,Y.jsx)(re,{size:14,className:`text-dark-muted`}),(0,Y.jsx)(O,{size:14,className:`text-accent-blue`}),(0,Y.jsx)(`span`,{className:`text-sm font-medium text-dark-text flex-1`,children:e(`stt.sources.title`)}),b.length>0&&!t&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-accent-orange/15 text-accent-orange`,children:[(0,Y.jsx)(N,{size:11}),e(`stt.sources.badgeCustom`,{count:b.length})]})]}),t&&(0,Y.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t border-dark-border pt-3`,children:[(0,Y.jsx)(`p`,{className:`text-meta text-dark-muted`,children:e(`stt.sources.hint`)}),o&&!d?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-dark-muted py-2`,children:[(0,Y.jsx)(n,{size:13,className:`animate-spin`}),e(`stt.sources.loading`)]}):(0,Y.jsxs)(Y.Fragment,{children:[Pe.map(({key:t,labelKey:n,placeholderKey:r,preset:i})=>{let a=y(t),o=(_?.[t]??[]).join(` / `)||`ENV`,s=i?d?.presets?.[i]??[]:[];return(0,Y.jsxs)(`div`,{children:[(0,Y.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-dark-muted mb-1`,children:[e(n),a&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-badge text-accent-yellow`,title:e(`stt.sources.envTitle`,{name:o}),children:[(0,Y.jsx)(N,{size:11}),`env: `,o]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`input`,{type:`text`,value:a?d?.resolved[t]??``:p[t],disabled:a,spellCheck:!1,placeholder:e(r),onChange:e=>m(n=>({...n,[t]:e.target.value})),className:Fe}),s.length>0&&(0,Y.jsxs)(`select`,{value:``,disabled:a,title:e(`stt.sources.preset`),onChange:e=>{let n=s.find(t=>t.id===e.target.value);n&&m(e=>({...e,[t]:n.url}))},className:`shrink-0 bg-dark-bg border border-dark-border rounded-lg px-2 py-1.5 text-xs text-dark-text focus:border-accent-blue/60 outline-none transition-all disabled:opacity-50`,children:[(0,Y.jsx)(`option`,{value:``,children:e(`stt.sources.preset`)}),s.map(e=>(0,Y.jsx)(`option`,{value:e.id,children:e.label},e.id))]})]})]},t)}),b.length>0&&(0,Y.jsxs)(`div`,{className:`rounded-md border border-accent-orange/30 bg-accent-orange/5 px-2.5 py-2 text-meta text-accent-orange flex items-start gap-1.5`,children:[(0,Y.jsx)(N,{size:12,className:`mt-0.5 shrink-0`}),(0,Y.jsx)(`span`,{children:e(`stt.sources.warning`)})]}),d&&!d.allowPrivateHosts&&(0,Y.jsx)(`p`,{className:`text-badge text-dark-muted`,children:e(`stt.sources.privateBlocked`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 pt-0.5`,children:[(0,Y.jsx)(K,{variant:`accent`,size:`sm`,leftIcon:(0,Y.jsx)(c,{size:13}),loading:l,disabled:!S,onClick:()=>void C(),children:e(`stt.sources.save`)}),(0,Y.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm border border-dark-border text-dark-muted hover:border-dark-hover hover:text-dark-text transition-colors disabled:opacity-50`,disabled:l,onClick:()=>void w(),children:[(0,Y.jsx)(x,{size:13}),e(`stt.sources.reset`)]}),(0,Y.jsx)(`span`,{className:`text-badge text-dark-muted`,children:e(`stt.sources.httpsOnly`)})]})]})]})]})}function Le(){let{t:e}=R(),[r,i]=(0,J.useState)(null),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)({running:!1,logs:[]}),[u,d]=(0,J.useState)(!1),f=(0,J.useRef)(null),p=(0,J.useRef)(c),m=(0,J.useRef)(null),[h,g]=(0,J.useState)(me),_=(0,J.useCallback)(e=>{g(e),ge(e),window.dispatchEvent(new CustomEvent(`stt-lang-changed`,{detail:{lang:e}}))},[]);(0,J.useEffect)(()=>{p.current=c},[c]);let y=(0,J.useCallback)(async()=>{d(!0);let e=await G.stt.status();e.success&&e.data?(i(e.data),e.data.env&&s(e.data.env)):e.error&&B.error(e.error),d(!1)},[]);(0,J.useEffect)(()=>{y()},[y]);let x=(0,J.useCallback)(async()=>{let e=await G.stt.installStatus();if(e.success&&e.data){let t=p.current.running;l(e.data),e.data.running?f.current=window.setTimeout(()=>void x(),1e3):(y(),t&&e.data.status===`done`&&window.dispatchEvent(new CustomEvent(`stt-backends-changed`)))}},[y]);(0,J.useEffect)(()=>()=>{f.current&&window.clearTimeout(f.current)},[]),(0,J.useEffect)(()=>{m.current&&(m.current.scrollTop=m.current.scrollHeight)},[c.logs]);let C=(0,J.useCallback)(async()=>{let t=await G.stt.install();t.success&&t.data?.started?(l({running:!0,logs:[],status:`running`}),x()):t.data?.alreadyRunning?(B.info(e(`stt.setup.jobInProgress`)),x()):l({running:!1,logs:[],status:`error`,error:t.error||t.data?.error||`install failed`,manualCommand:t.data?.manualCommand})},[x,e]),T=(0,J.useCallback)(async()=>{await G.stt.cancelInstall(),x()},[x]),E=(0,J.useCallback)(t=>{navigator.clipboard.writeText(t).then(()=>B.success(e(`stt.setup.copySuccess`)),()=>B.error(e(`stt.setup.copyFailed`)))},[e]),D=c.running,O=!D&&c.status===`done`?r?.backends?.en:void 0,k=O?!O.installed:!1,A=t=>t?(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-accent-green/15 text-accent-green`,children:[(0,Y.jsx)(L,{size:12}),e(`stt.setup.installed`)]}):(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-dark-hover text-dark-muted`,children:[(0,Y.jsx)(F,{size:12}),e(`stt.setup.notInstalled`)]}),j=h===`en`?`base.en`:`base`,ee=pe(h),M=()=>{let i=r?.backends?.en??{installed:!1,loaded:!1,model:`base.en`};return(0,Y.jsxs)(`div`,{className:`rounded-lg border border-dark-border bg-dark-bg p-3 flex items-start justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-start gap-3 min-w-0`,children:[(0,Y.jsx)(`div`,{className:`w-9 h-9 shrink-0 rounded-lg flex items-center justify-center text-sm font-semibold bg-accent-blue/15 text-accent-blue`,children:`W`}),(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium text-dark-text`,children:e(`stt.setup.whisperTitle`)}),A(i.installed),(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium bg-accent-blue/15 text-accent-blue`,children:[(0,Y.jsx)(S,{size:12}),e(`stt.setup.inUse`)]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 mt-1 text-meta text-dark-muted`,children:[(0,Y.jsx)(`code`,{className:`text-badge bg-dark-hover px-1.5 py-0.5 rounded`,children:`base.en / base`}),(0,Y.jsx)(`span`,{children:e(`stt.setup.whisperDesc`)})]}),!i.installed&&(0,Y.jsxs)(`p`,{className:`mt-1 text-meta text-accent-orange flex items-center gap-1`,children:[(0,Y.jsx)(N,{size:11}),e(`stt.setup.engineNotInstalledHint`)]}),!i.installed&&i.error&&(0,Y.jsxs)(`p`,{className:`mt-1 text-meta text-accent-orange break-all`,title:i.error,children:[(0,Y.jsx)(N,{size:11}),e(`stt.setup.probeError`),i.error]})]})]}),(0,Y.jsx)(`div`,{className:`shrink-0`,onClick:e=>e.stopPropagation(),children:D?(0,Y.jsxs)(`button`,{className:`btn btn-secondary cursor-not-allowed opacity-70`,disabled:!0,children:[(0,Y.jsx)(n,{size:14,className:`animate-spin`}),e(`stt.setup.installing`)]}):i.installed?(0,Y.jsxs)(`button`,{className:`btn btn-ghost`,onClick:()=>void y(),title:e(`stt.setup.recheck`),children:[(0,Y.jsx)(t,{size:14}),e(`stt.setup.recheck`)]}):(0,Y.jsxs)(`button`,{className:`btn btn-accent`,onClick:()=>void C(),children:[(0,Y.jsx)(v,{size:14}),e(`stt.setup.install`)]})})]})},P=o?.pythonAvailable&&o?.pipAvailable;return(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`rounded-lg border border-dark-border bg-dark-bg p-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-dark-text`,children:[(0,Y.jsx)(w,{size:14,className:`text-accent-blue`}),e(`stt.setup.envCard`)]}),(0,Y.jsxs)(`button`,{className:`btn btn-ghost`,onClick:()=>void y(),disabled:u,children:[(0,Y.jsx)(t,{size:13,className:u?`animate-spin`:``}),e(`stt.setup.recheck`)]})]}),(0,Y.jsxs)(`div`,{className:`mt-2.5 space-y-2`,children:[o?o.pythonAvailable?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-dark-text`,children:[(0,Y.jsx)(L,{size:13,className:`text-accent-green`}),e(`stt.setup.pythonOk`,{version:(o.pythonVersion||``).replace(/^Python\s*/i,``)||o.pythonPath||`Python`}),o.pythonPath?(0,Y.jsx)(`code`,{className:`text-badge text-dark-muted`,children:o.pythonPath}):null]}):(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-2 rounded-md border border-accent-red/30 bg-accent-red/5 px-2.5 py-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-accent-red`,children:[(0,Y.jsx)(N,{size:13}),e(`stt.setup.pythonMissing`)]}),(0,Y.jsx)(`a`,{className:`btn btn-secondary !py-1 !px-2 text-xs`,href:`https://www.python.org/downloads/`,target:`_blank`,rel:`noreferrer`,children:e(`stt.setup.pythonGuide`)})]}):(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-dark-muted`,children:[(0,Y.jsx)(n,{size:13,className:`animate-spin`}),e(`stt.setup.envChecking`)]}),o&&!o.pipAvailable&&(0,Y.jsxs)(`div`,{className:`rounded-md border border-accent-red/30 bg-accent-red/5 px-2.5 py-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-accent-red`,children:[(0,Y.jsx)(N,{size:13}),e(`stt.setup.pipMissing`)]}),(0,Y.jsxs)(`div`,{className:`mt-1.5`,children:[(0,Y.jsx)(`div`,{className:`text-badge text-dark-muted mb-1`,children:e(`stt.setup.pipGuide`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`code`,{className:`flex-1 rounded bg-dark-bg border border-dark-border px-2 py-1 font-mono text-badge text-dark-text break-all select-all`,children:[o.pythonPath||`python`,` -m ensurepip --upgrade`]}),(0,Y.jsx)(`button`,{className:`btn btn-ghost !py-1 !px-2 text-xs`,onClick:()=>E(`${o.pythonPath||`python`} -m ensurepip --upgrade`),children:(0,Y.jsx)(b,{size:12})})]})]})]})]})]}),(0,Y.jsxs)(`div`,{className:`rounded-lg border border-dark-border bg-dark-surface p-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium text-dark-text`,children:[(0,Y.jsx)(S,{size:14,className:`text-accent-blue`}),e(`stt.setup.defaultLang`)]}),(0,Y.jsx)(`p`,{className:`mt-1 text-meta text-dark-muted`,children:e(`stt.setup.defaultLangHint`)}),(0,Y.jsxs)(`div`,{className:`mt-2 flex items-center gap-2`,children:[(0,Y.jsx)(`select`,{value:h,onChange:e=>_(e.target.value),className:`bg-dark-bg border border-dark-border rounded-lg px-2 py-1.5 text-xs text-dark-text focus:border-accent-blue/60 outline-none transition-all`,"aria-label":e(`stt.setup.defaultLang`),children:_e.map(e=>(0,Y.jsx)(`option`,{value:e.code,children:e.label},e.code))}),(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-meta text-dark-muted`,children:[(0,Y.jsx)(a,{size:11}),e(`stt.setup.modelForLang`,{lang:ee.label,model:j})]})]})]}),M(),(0,Y.jsx)(Ie,{}),D&&(0,Y.jsxs)(`div`,{className:`rounded-lg border border-dark-border bg-dark-bg p-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-2 mb-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-accent-blue font-medium`,children:[(0,Y.jsx)(n,{size:13,className:`animate-spin`}),e(`stt.setup.installing`),(0,Y.jsx)(`span`,{className:`text-dark-muted font-normal`,children:`(faster-whisper)`})]}),(0,Y.jsx)(`button`,{className:`btn btn-danger !py-1 !px-2 text-xs`,onClick:()=>void T(),children:e(`stt.setup.cancel`)})]}),(0,Y.jsx)(`div`,{ref:m,className:`rounded-md border border-dark-border bg-dark-bg p-2.5 font-mono text-meta text-dark-muted overflow-auto max-h-48 whitespace-pre-wrap custom-scrollbar`,children:c.logs.length===0?(0,Y.jsx)(`span`,{className:`text-dark-muted/70`,children:e(`stt.setup.logWaiting`)}):c.logs.join(`
4
+ `)})]}),!D&&c.status&&c.status!==`done`&&(0,Y.jsxs)(`div`,{className:`rounded-lg border border-accent-red/30 bg-accent-red/5 p-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-accent-red font-medium`,children:[(0,Y.jsx)(N,{size:13}),c.status===`timeout`?e(`stt.setup.installTimeout`):c.status===`cancelled`?e(`stt.setup.installCancelled`):e(`stt.setup.installFailed`)]}),c.error?(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-accent-red/90 break-all`,children:c.error}):null,c.manualCommand&&(0,Y.jsxs)(`div`,{className:`mt-2`,children:[(0,Y.jsxs)(`div`,{className:`text-badge text-dark-muted mb-1 flex items-center gap-1`,children:[(0,Y.jsx)(ae,{size:11}),e(`stt.setup.manualCommand`)]}),(0,Y.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Y.jsx)(`code`,{className:`flex-1 rounded bg-dark-bg border border-dark-border px-2 py-1.5 font-mono text-badge text-dark-text break-all whitespace-pre-wrap select-all`,children:c.manualCommand}),(0,Y.jsxs)(`button`,{className:`btn btn-ghost !py-1 !px-2 text-xs shrink-0`,onClick:()=>E(c.manualCommand),children:[(0,Y.jsx)(b,{size:12}),e(`stt.setup.copyCommand`)]})]})]})]}),!D&&c.status===`done`&&!k&&(0,Y.jsxs)(`div`,{className:`rounded-lg border border-accent-green/30 bg-accent-green/5 px-3 py-2.5 flex items-center gap-2 text-xs text-accent-green`,children:[(0,Y.jsx)(L,{size:14}),e(`stt.setup.installDone`)]}),!D&&c.status===`done`&&k&&(0,Y.jsxs)(`div`,{className:`rounded-lg border border-accent-orange/30 bg-accent-orange/5 p-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-accent-orange font-medium`,children:[(0,Y.jsx)(N,{size:13}),e(`stt.setup.installDoneButMissing`)]}),O?.error&&(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-accent-orange/90 break-all`,children:O.error}),(0,Y.jsx)(`p`,{className:`mt-1 text-meta text-dark-muted`,children:e(`stt.setup.installDoneButMissingHint`)})]}),!D&&P&&r&&!r.backends.en?.installed&&(0,Y.jsx)(`p`,{className:`text-meta text-dark-muted px-1`,children:e(`stt.setup.chooseHint`)})]})}function Re(){let{t:e}=R(),[r,i]=(0,J.useState)(null),[a,o]=(0,J.useState)({running:!1,logs:[]}),[s,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)(ue),d=(0,J.useRef)(null),f=(0,J.useRef)(a),p=(0,J.useRef)(null);(0,J.useEffect)(()=>{f.current=a},[a]),(0,J.useEffect)(()=>{u(ce())},[]),(0,J.useEffect)(()=>()=>{d.current&&window.clearTimeout(d.current)},[]),(0,J.useEffect)(()=>{p.current&&(p.current.scrollTop=p.current.scrollHeight)},[a.logs]);let m=(0,J.useCallback)(async()=>{c(!0);let e=await G.tts.status();e.success&&e.data?i(e.data):e.error&&B.error(e.error),c(!1)},[]);(0,J.useEffect)(()=>{m()},[m]);let h=(0,J.useCallback)(async()=>{let e=await G.tts.installStatus();if(!e.success||!e.data)return;let t=f.current.running;o(e.data),e.data.running?d.current=window.setTimeout(()=>void h(),1e3):t&&m()},[m]),g=(0,J.useCallback)(async()=>{let t=await G.tts.install();t.success&&t.data?.started?(o({running:!0,logs:[],status:`running`}),h()):t.data?.alreadyRunning?(B.info(e(`tts.setup.jobInProgress`)),h()):o({running:!1,logs:[],status:`error`,error:t.error||t.data?.error||`install failed`,manualCommand:t.data?.manualCommand})},[h,e]),_=(0,J.useCallback)(async()=>{await G.tts.cancelInstall(),h()},[h]),y=(0,J.useCallback)(t=>{navigator.clipboard.writeText(t).then(()=>B.success(e(`tts.setup.copySuccess`)),()=>B.error(e(`tts.setup.copyFailed`)))},[e]),x=(0,J.useCallback)(e=>{u(se(e))},[]),S=r?.engine,C=r?.service===`ok`,T=S?.voiceNames??[],E=r?.env,O=E?!E.pythonAvailable:!1,k=r?.missingWeights??S?.missingWeights??[];return(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`rounded-lg border border-dark-border p-3 space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(0,Y.jsx)(`span`,{className:`text-sm font-medium`,children:e(`tts.setup.engine`)}),((e,t)=>(0,Y.jsxs)(`span`,{className:V(`inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-xs font-medium`,e?`bg-accent-green/15 text-accent-green`:`bg-dark-hover text-dark-muted`),children:[e?(0,Y.jsx)(L,{size:12}):(0,Y.jsx)(F,{size:12}),t]}))(C,e(C?`tts.setup.ready`:`tts.setup.notReady`))]}),(0,Y.jsx)(`button`,{type:`button`,className:`p-1.5 rounded-md hover:bg-dark-hover text-dark-muted`,onClick:()=>void m(),disabled:s,title:e(`tts.setup.refresh`),children:(0,Y.jsx)(t,{size:14,className:V(s&&`animate-spin`)})})]}),r?.error&&(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 text-xs text-accent-red`,children:[(0,Y.jsx)(N,{size:12,className:`mt-0.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`break-all`,children:r.error})]}),k.length>0&&(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted`,children:e(`tts.setup.missingWeights`,{files:k.join(`、`)})}),O&&(0,Y.jsx)(`div`,{className:`text-xs text-accent-yellow`,children:e(`tts.setup.envMissing`)}),S?.model&&(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted`,children:e(`tts.setup.model`,{model:S.model})}),a.running?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(n,{size:14,className:`animate-spin text-accent-blue`}),(0,Y.jsxs)(`span`,{className:`text-xs text-dark-muted`,children:[e(`tts.setup.installing`),a.phase?` · ${a.phase}`:``]}),(0,Y.jsx)(`button`,{type:`button`,className:`ms-auto text-xs text-accent-red hover:underline`,onClick:()=>void _(),children:e(`tts.setup.cancel`)})]}):(0,Y.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-2 px-3 py-1.5 rounded-md text-xs bg-accent-blue/15 text-accent-blue hover:bg-accent-blue/25 disabled:opacity-50`,onClick:()=>void g(),disabled:C,children:[(0,Y.jsx)(v,{size:14}),e(C?`tts.setup.installed`:`tts.setup.install`)]}),a.status===`error`&&a.error&&!a.running&&(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 text-xs text-accent-red`,children:[(0,Y.jsx)(N,{size:12,className:`mt-0.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`break-all`,children:a.error})]}),a.manualCommand&&!a.running&&(0,Y.jsxs)(`div`,{className:`rounded-md bg-dark-bg border border-dark-border p-2 space-y-1`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs text-dark-muted`,children:[(0,Y.jsx)(w,{size:12}),e(`tts.setup.manualCommand`)]}),(0,Y.jsxs)(`button`,{type:`button`,className:`inline-flex items-center gap-1 text-xs text-accent-blue hover:underline`,onClick:()=>y(a.manualCommand),children:[(0,Y.jsx)(b,{size:12}),e(`tts.setup.copy`)]})]}),(0,Y.jsx)(`code`,{className:`block text-xs break-all text-dark-text`,children:a.manualCommand})]}),a.logs.length>0&&(0,Y.jsx)(`div`,{ref:p,className:`max-h-40 overflow-auto rounded-md bg-dark-bg border border-dark-border p-2`,children:a.logs.map((e,t)=>(0,Y.jsx)(`div`,{className:`text-xs font-mono text-dark-muted whitespace-pre-wrap break-all`,children:e},t))})]}),(0,Y.jsxs)(`div`,{className:`rounded-lg border border-dark-border p-3 space-y-3`,children:[(0,Y.jsxs)(`label`,{className:`flex items-center justify-between gap-3 cursor-pointer`,children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-sm`,children:[(0,Y.jsx)(D,{size:14,className:`text-accent-blue`}),e(`tts.setup.enabled`)]}),(0,Y.jsx)(`input`,{type:`checkbox`,className:`accent-accent-blue`,checked:l.enabled,onChange:e=>x({enabled:e.target.checked})})]}),(0,Y.jsxs)(`label`,{className:V(`flex items-center justify-between gap-3 cursor-pointer`,!l.enabled&&`opacity-50`),children:[(0,Y.jsxs)(`span`,{className:`text-sm`,children:[e(`tts.setup.autoPlay`),(0,Y.jsx)(`span`,{className:`block text-xs text-dark-muted`,children:e(`tts.setup.autoPlayHint`)})]}),(0,Y.jsx)(`input`,{type:`checkbox`,className:`accent-accent-blue`,checked:l.autoPlay,disabled:!l.enabled,onChange:e=>x({autoPlay:e.target.checked})})]}),(0,Y.jsxs)(`div`,{className:V(`flex items-center justify-between gap-3`,!l.enabled&&`opacity-50`),children:[(0,Y.jsx)(`span`,{className:`text-sm`,children:e(`tts.setup.voice`)}),(0,Y.jsxs)(`select`,{className:`bg-dark-bg border border-dark-border rounded-md px-2 py-1 text-xs max-w-[60%]`,value:l.voice??``,disabled:!l.enabled||T.length===0,onChange:e=>x({voice:e.target.value||null}),children:[(0,Y.jsx)(`option`,{value:``,children:e(`tts.setup.voiceAuto`)}),T.map(e=>(0,Y.jsx)(`option`,{value:e,children:e},e))]})]}),(0,Y.jsxs)(`label`,{className:V(`flex items-center justify-between gap-3`,!l.enabled&&`opacity-50`),children:[(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-2 text-sm`,children:[(0,Y.jsx)(P,{size:14,className:`text-accent-blue`}),e(`tts.setup.speed`)]}),(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,Y.jsx)(`input`,{type:`range`,min:le,max:2,step:.1,value:l.speed,disabled:!l.enabled,onChange:e=>x({speed:Number(e.target.value)})}),(0,Y.jsx)(`span`,{className:`text-xs text-dark-muted w-8 text-end`,children:l.speed.toFixed(1)})]})]})]})]})}function X({label:e,value:t,onChange:n,min:r,max:i,disabled:a,envOverridden:o,hint:s}){return(0,Y.jsxs)(`div`,{className:`mb-3`,children:[(0,Y.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-dark-muted mb-1`,children:[e,o&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs text-accent-yellow`,title:s,children:[(0,Y.jsx)(N,{size:12}),` env`]})]}),(0,Y.jsx)(`input`,{type:`number`,value:t,onChange:e=>n(e.target.value),min:r,max:i,disabled:a||o,className:`w-40 bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text font-mono focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all disabled:opacity-50`})]})}function ze(){let{t:e}=R(),[t,r]=(0,J.useState)(!0),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)({}),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(null),[m,h]=(0,J.useState)(!1),[g,_]=(0,J.useState)(``),[v,y]=(0,J.useState)(``),[b,x]=(0,J.useState)(``),[S,C]=(0,J.useState)(``),[w,T]=(0,J.useState)(``),E=(0,J.useCallback)(async()=>{r(!0);try{let e=await G.config.context.get();if(e.success&&e.data){let t=e.data.values??{};s(e.data.envOverridden??{}),l(e.data.effective.offload),d(e.data.defaultArtifactRoot??``),p(e.data.stats??null),h(typeof t.artifactOffload==`boolean`?t.artifactOffload:e.data.effective.offload),_(typeof t.artifactDir==`string`?t.artifactDir:``),y(t.artifactMaxTotalMb==null?``:String(t.artifactMaxTotalMb)),x(t.artifactTtlDays==null?``:String(t.artifactTtlDays)),C(t.outboundToolBytes==null?``:String(t.outboundToolBytes)),T(t.turnBudgetTokens==null?``:String(t.turnBudgetTokens))}}catch{}r(!1)},[]);return(0,J.useEffect)(()=>{E()},[E]),t?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-dark-muted py-2`,children:[(0,Y.jsx)(n,{size:14,className:`animate-spin`}),e(`common.loading`)]}):(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-sm text-dark-muted mb-3`,children:e(`settings.contextOffload.desc`)}),(0,Y.jsxs)(`label`,{className:`flex items-center justify-between mb-4 cursor-pointer`,children:[(0,Y.jsxs)(`span`,{className:`text-sm`,children:[e(`settings.contextOffload.enableLabel`),(0,Y.jsxs)(`span`,{className:`ms-2 text-xs ${c?`text-accent-green`:`text-dark-muted`}`,children:[`(`,e(`settings.contextOffload.currently`),`: `,c?`ON`:`OFF`,`)`]})]}),(0,Y.jsx)(`button`,{role:`switch`,"aria-checked":m,onClick:()=>h(!m),className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${m?`bg-accent-green`:`bg-dark-border`}`,children:(0,Y.jsx)(`span`,{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${m?`translate-x-6`:`translate-x-1`}`})})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-x-6`,children:[(0,Y.jsx)(X,{label:e(`settings.contextOffload.maxTotalMb`),value:v,onChange:y,min:1,envOverridden:o.artifactMaxTotalMb}),(0,Y.jsx)(X,{label:e(`settings.contextOffload.ttlDays`),value:b,onChange:x,min:1,max:365,envOverridden:o.artifactTtlDays}),(0,Y.jsx)(X,{label:`${e(`settings.contextOffload.outboundBytes`)} (${e(`settings.contextOffload.optional`)})`,value:S,onChange:C,min:1024,envOverridden:o.outboundToolBytes}),(0,Y.jsx)(X,{label:e(`settings.contextOffload.turnBudget`),value:w,onChange:T,min:1e3,envOverridden:o.turnBudgetTokens})]}),(0,Y.jsxs)(`div`,{className:`mb-3`,children:[(0,Y.jsxs)(`label`,{className:`flex items-center gap-2 text-sm text-dark-muted mb-1`,children:[e(`settings.contextOffload.dir`),` (`,e(`settings.contextOffload.optional`),`)`,o.artifactDir&&(0,Y.jsxs)(`span`,{className:`inline-flex items-center gap-1 text-xs text-accent-yellow`,children:[(0,Y.jsx)(N,{size:12}),` env`]})]}),(0,Y.jsx)(`input`,{type:`text`,value:g,onChange:e=>_(e.target.value),disabled:o.artifactDir,placeholder:u,className:`w-full bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text font-mono focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all disabled:opacity-50`})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(K,{variant:`accent`,size:`sm`,onClick:async()=>{a(!0);try{let t={artifactOffload:m};o.artifactDir||(t.artifactDir=g.trim()||null),!o.artifactMaxTotalMb&&v.trim()&&(t.artifactMaxTotalMb=parseInt(v,10)),!o.artifactTtlDays&&b.trim()&&(t.artifactTtlDays=parseInt(b,10)),!o.outboundToolBytes&&S.trim()&&(t.outboundToolBytes=parseInt(S,10)),!o.turnBudgetTokens&&w.trim()&&(t.turnBudgetTokens=parseInt(w,10));for(let n of[`artifactMaxTotalMb`,`artifactTtlDays`,`outboundToolBytes`,`turnBudgetTokens`])if(n in t&&(isNaN(t[n])||t[n]<=0)){B.error(e(`settings.contextOffload.invalidNumber`)),a(!1);return}let n=await G.config.context.save(t);n.success?(B.success(e(`settings.contextOffload.saved`)),await E()):B.error(n.error||e(`settings.contextOffload.saveFailed`))}catch(e){B.error(e instanceof Error?e.message:String(e))}a(!1)},loading:i,disabled:t,children:e(`common.save`)}),(0,Y.jsx)(`span`,{className:`text-xs text-dark-muted`,children:e(`settings.contextOffload.envHint`)})]}),f&&f.count>0&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-2`,children:e(`settings.contextOffload.stats`,{count:f.count,size:(f.totalBytes/1024/1024).toFixed(1)})})]})}var Be=[32e3,64e3,128e3,256e3,512e3,1e6,2e6],Ve=1e3;function He(){let{t:e}=R(),t=z(e=>e.maxContextTokens),r=z(e=>e.setMaxContextTokens),[i,a]=(0,J.useState)(String(t)),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(!0),[u,d]=(0,J.useState)(!1),f=(0,J.useCallback)(async()=>{l(!0);try{let e=await G.config.provider.get();if(e.success&&e.data){s(e.data.defaultProvider??null);let t=e.data.active?.contextWindow;typeof t==`number`&&t>0&&(r(t),a(String(t)))}}catch{}l(!1)},[r]);(0,J.useEffect)(()=>{f()},[f]);let p=(0,J.useCallback)(async t=>{let n=Number.parseInt(t,10);if(!Number.isFinite(n)||n<Ve)B.error(e(`settings.contextWindow.invalid`));else if(!o)B.error(e(`settings.contextWindow.noProvider`));else{d(!0);try{let t=await G.config.provider.save({provider:o,contextWindow:n});t.success?(B.success(e(`settings.contextWindow.saved`)),await f()):B.error(t.error||e(`settings.contextWindow.saveFailed`))}catch(e){B.error(e instanceof Error?e.message:String(e))}d(!1)}},[o,f,e]),m=e=>e>=1e6?`${(e/1e6).toFixed(0)}M`:`${(e/1e3).toFixed(0)}K`;return c?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-dark-muted py-2`,children:[(0,Y.jsx)(n,{size:14,className:`animate-spin`}),e(`common.loading`)]}):(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-sm text-dark-muted mb-3`,children:e(`settings.contextWindow.desc`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3 mb-3`,children:[(0,Y.jsx)(`input`,{type:`number`,"aria-label":e(`settings.contextWindow.label`),"data-testid":`context-window-input`,value:i,onChange:e=>a(e.target.value),min:Ve,max:1e7,step:1e3,className:`w-32 bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text font-mono focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all`}),(0,Y.jsx)(`span`,{className:`text-sm text-dark-muted`,children:e(`settings.contextWindow.tokens`)}),(0,Y.jsx)(K,{variant:`accent`,size:`sm`,onClick:()=>void p(i),loading:u,"data-testid":`context-window-apply`,children:e(`settings.contextWindow.apply`)})]}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:Be.map(e=>(0,Y.jsx)(`button`,{type:`button`,"data-testid":`context-window-preset-${e}`,onClick:()=>{a(String(e)),p(String(e))},className:`px-3 py-1 rounded-lg text-xs border border-dark-border text-dark-muted hover:bg-dark-hover hover:text-dark-text transition-colors`,children:m(e)},e))}),(0,Y.jsxs)(`p`,{className:`text-xs text-dark-muted mt-2`,children:[e(`settings.contextWindow.current`),`:`,` `,(0,Y.jsx)(`span`,{className:`font-mono text-dark-text tabular-nums`,"data-testid":`context-window-current`,children:Number.parseInt(i,10).toLocaleString()}),` `,e(`settings.contextWindow.tokens`),o?` · ${e(`settings.contextWindow.provider`,{provider:o})}`:``]}),(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:e(`settings.contextWindow.catalogHint`)})]})}var Ue=`bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all disabled:opacity-50`;function Z({checked:e,onChange:t,disabled:n}){return(0,Y.jsx)(`button`,{role:`switch`,"aria-checked":e,disabled:n,onClick:()=>t(!e),className:`relative inline-flex h-6 w-11 shrink-0 items-center rounded-full transition-colors disabled:opacity-40 ${e?`bg-accent-green`:`bg-dark-border`}`,children:(0,Y.jsx)(`span`,{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${e?`translate-x-6`:`translate-x-1`}`})})}function We(){let{t:e}=R(),[t,r]=(0,J.useState)(!0),[i,a]=(0,J.useState)(!1),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(`none`),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(!0),[m,h]=(0,J.useState)(!1),[g,_]=(0,J.useState)(!1),v=(0,J.useCallback)(async()=>{r(!0);try{let e=await G.config.sandbox.get();if(e.success&&e.data){let t=e.data;s(t);let n=t.values??{};l(n.backend??`none`),d(n.policy??``),p(n.networkAccess!==!1),h(n.excludeTmpdirEnvVar===!0),_(n.excludeSlashTmp===!0)}}catch{}r(!1)},[]);(0,J.useEffect)(()=>{v()},[v]);let y=u===`danger-full-access`,b=c!==`none`&&u!==``&&!y,x=b&&u===`workspace-write`,S=e=>{e?(l(`auto`),d(u===`read-only`||u===`workspace-write`?u:`workspace-write`)):(l(`none`),d(``))},C=e=>{d(e),e===`danger-full-access`&&l(`none`)},w=async()=>{if(c!==`none`&&u===``)B.error(e(`settings.sandbox.needPolicy`));else{a(!0);try{let t=await G.config.sandbox.save({backend:c,policy:c===`none`?null:u,networkAccess:f,excludeTmpdirEnvVar:m,excludeSlashTmp:g});t.success?(B.success(e(`settings.sandbox.saved`)),await v()):B.error(t.error||e(`settings.sandbox.saveFailed`))}catch(e){B.error(e instanceof Error?e.message:String(e))}a(!1)}};if(t)return(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm text-dark-muted py-2`,children:[(0,Y.jsx)(n,{size:14,className:`animate-spin`}),e(`common.loading`)]});let T=o?.status,E=T?.backendId===`docker`,D=T!==void 0&&T.status===`enabled`&&T.backendId===null,O=T!==void 0&&T.status===`enabled`&&T.backendId!==null||E,k=O?L:T?.status===`invalid`?F:N,A=O?`text-accent-green`:T?.status===`invalid`?`text-accent-red`:D?`text-accent-yellow`:`text-dark-muted`,j=E?e(`settings.sandbox.statusDocker`):D?e(`settings.sandbox.statusNoBackend`):T?.status===`enabled`?e(`settings.sandbox.statusOn`,{backend:T.backendId??`—`}):T?.status===`invalid`?e(`settings.sandbox.statusInvalid`):e(`settings.sandbox.statusOff`);return(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`p`,{className:`text-sm text-dark-muted mb-3`,children:e(`settings.sandbox.desc`)}),(0,Y.jsxs)(`div`,{className:`mb-4 rounded-lg border border-dark-border bg-dark-bg/40 px-3 py-2.5`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 text-sm ${A}`,children:[(0,Y.jsx)(k,{size:14}),(0,Y.jsx)(`span`,{children:j}),(0,Y.jsxs)(`span`,{className:`text-xs text-dark-muted`,children:[`(`,e(`settings.sandbox.restartNotice`),`)`]})]}),T?.policyDescription&&(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-dark-muted`,children:T.policyDescription}),T?.reason&&(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-dark-muted`,children:T.reason}),T?.error&&(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-accent-red whitespace-pre-wrap`,children:T.error}),T&&T.capabilityGaps.length>0&&(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-accent-yellow`,children:e(`settings.sandbox.gaps`,{fields:T.capabilityGaps.join(`, `)})})]}),o?.envOverride.active&&(0,Y.jsxs)(`p`,{className:`mb-3 flex items-start gap-1.5 text-xs text-accent-yellow`,children:[(0,Y.jsx)(N,{size:12,className:`mt-0.5 shrink-0`}),o.envOverride.note||e(`settings.sandbox.envOverride`,{value:o.envOverride.value})]}),o?.status.platform===`win32`&&(0,Y.jsxs)(`p`,{className:`mb-3 flex items-start gap-1.5 text-xs text-accent-yellow`,children:[(0,Y.jsx)(N,{size:12,className:`mt-0.5 shrink-0`}),e(`settings.sandbox.win32Warn`)]}),o?.status.legacySource&&(0,Y.jsx)(`p`,{className:`mb-3 text-xs text-accent-blue`,children:e(`settings.sandbox.legacySource`)}),o?.status.bothPresent&&(0,Y.jsxs)(`p`,{className:`mb-3 flex items-start gap-1.5 text-xs text-accent-yellow`,children:[(0,Y.jsx)(N,{size:12,className:`mt-0.5 shrink-0`}),e(`settings.sandbox.bothPresent`)]}),(0,Y.jsxs)(`label`,{className:`flex items-center justify-between mb-4 cursor-pointer`,children:[(0,Y.jsxs)(`span`,{className:`text-sm`,children:[e(`settings.sandbox.enableLabel`),(0,Y.jsxs)(`span`,{className:`ms-2 text-xs ${b?`text-accent-green`:`text-dark-muted`}`,children:[`(`,e(`settings.sandbox.currently`),`: `,b?`ON`:`OFF`,`)`]})]}),(0,Y.jsx)(Z,{checked:b,onChange:S})]}),(0,Y.jsxs)(`div`,{className:`grid grid-cols-1 md:grid-cols-2 gap-x-6`,children:[(0,Y.jsxs)(`div`,{className:`mb-3`,children:[(0,Y.jsx)(`label`,{className:`block text-sm text-dark-muted mb-1`,children:e(`settings.sandbox.backend`)}),(0,Y.jsxs)(`select`,{value:c,onChange:e=>l(e.target.value),className:`w-full ${Ue}`,children:[(0,Y.jsx)(`option`,{value:`auto`,children:e(`settings.sandbox.backendAuto`)}),(0,Y.jsx)(`option`,{value:`bubblewrap`,children:e(`settings.sandbox.backendBubblewrap`)}),(0,Y.jsx)(`option`,{value:`macos-sandbox`,children:e(`settings.sandbox.backendMacos`)}),(0,Y.jsx)(`option`,{value:`windows-mxc`,children:e(`settings.sandbox.backendWindows`)}),(0,Y.jsx)(`option`,{value:`none`,children:e(`settings.sandbox.backendNone`)})]})]}),(0,Y.jsxs)(`div`,{className:`mb-3`,children:[(0,Y.jsx)(`label`,{className:`block text-sm text-dark-muted mb-1`,children:e(`settings.sandbox.policy`)}),(0,Y.jsxs)(`select`,{value:u,onChange:e=>C(e.target.value),disabled:c===`none`,className:`w-full ${Ue}`,children:[(0,Y.jsx)(`option`,{value:``,children:e(`settings.sandbox.policyEmpty`)}),(0,Y.jsx)(`option`,{value:`read-only`,children:e(`settings.sandbox.policyReadOnly`)}),(0,Y.jsx)(`option`,{value:`workspace-write`,children:e(`settings.sandbox.policyWorkspaceWrite`)}),(0,Y.jsx)(`option`,{value:`danger-full-access`,children:e(`settings.sandbox.policyDanger`)})]}),y&&(0,Y.jsx)(`p`,{className:`mt-1 text-xs text-accent-yellow`,children:e(`settings.sandbox.policyDangerHint`)})]})]}),(0,Y.jsxs)(`label`,{className:`flex items-center justify-between mb-4 cursor-pointer`,children:[(0,Y.jsxs)(`span`,{className:`text-sm`,children:[e(`settings.sandbox.networkAccess`),(0,Y.jsx)(`span`,{className:`block text-xs text-dark-muted mt-0.5`,children:e(`settings.sandbox.networkAccessHint`)})]}),(0,Y.jsx)(Z,{checked:f,onChange:p,disabled:!b})]}),x&&(0,Y.jsxs)(`div`,{className:`mb-4 rounded-lg border border-dark-border px-3 py-2.5`,children:[(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mb-2`,children:e(`settings.sandbox.advancedHint`)}),(0,Y.jsxs)(`label`,{className:`flex items-center justify-between mb-2 cursor-pointer`,children:[(0,Y.jsx)(`span`,{className:`text-sm`,children:e(`settings.sandbox.excludeTmpdir`)}),(0,Y.jsx)(Z,{checked:m,onChange:h})]}),(0,Y.jsxs)(`label`,{className:`flex items-center justify-between cursor-pointer`,children:[(0,Y.jsx)(`span`,{className:`text-sm`,children:e(`settings.sandbox.excludeSlashTmp`)}),(0,Y.jsx)(Z,{checked:g,onChange:_})]})]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Y.jsx)(K,{variant:`accent`,size:`sm`,onClick:w,loading:i,children:e(`common.save`)}),(0,Y.jsx)(`span`,{className:`text-xs text-dark-muted`,children:e(`settings.sandbox.restartHint`)})]})]})}function Q({icon:e,iconColor:t,title:n,children:r}){return(0,Y.jsxs)(`div`,{className:`rounded-xl border border-dark-border bg-dark-bg/40 p-4 mb-4`,children:[(0,Y.jsxs)(`h3`,{className:`font-medium mb-3 flex items-center gap-2`,children:[(0,Y.jsx)(e,{size:16,className:t}),n]}),r]})}var Ge=8e3,Ke=[`assistant`,`pet`,`lover`];function qe(){let{t:e}=R(),[t,n]=(0,J.useState)(void 0),[r,a]=(0,J.useState)(!0),[o,s]=(0,J.useState)(!1),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(``),[m,h]=(0,J.useState)(!1),g=(0,J.useCallback)(async()=>{a(!0);try{let t=await G.profile.get();t.success&&t.data?n(t.data):B.error(t.error||e(`settings.profile.loadFailed`))}catch(t){B.error(`${e(`settings.profile.loadFailed`)}: ${t instanceof Error?t.message:String(t)}`)}a(!1)},[e]);(0,J.useEffect)(()=>{g()},[g]);let _=t?.maxBytes??Ge,v=(0,J.useMemo)(()=>{let e=u.trim(),t=f.trim(),n=e?`---\nname: ${e}\n---\n\n${t}\n`:t?`${t}\n`:``;return new TextEncoder().encode(n).length},[u,f]),y=async()=>{if(!t||o)return;let r=!t.enabled;s(!0),n({...t,enabled:r});try{let t=await G.config.profile.set({enabled:r});t.success?q():(n(e=>e&&{...e,enabled:!r}),B.error(t.error||e(`settings.profile.saveFailed`)))}catch(t){n(e=>e&&{...e,enabled:!r}),B.error(`${e(`settings.profile.saveFailed`)}: ${t instanceof Error?t.message:String(t)}`)}s(!1)},b=async()=>{if(!m){h(!0);try{let t=await G.profile.raw();t.success&&t.data?(d(t.data.name??``),p(t.data.content),l(!0)):B.error(t.error||e(`settings.profile.loadFailed`))}catch(t){B.error(`${e(`settings.profile.loadFailed`)}: ${t instanceof Error?t.message:String(t)}`)}h(!1)}},x=()=>{l(!1),d(``),p(``)},S=t=>{let n=e(`settings.profile.templates.${t}Body`),r=f.trim();(!r||r===n.trim()||window.confirm(e(`settings.profile.templates.overwriteConfirm`)))&&p(n)},w=async()=>{if(!o){if(!u.trim()&&!f.trim())B.error(e(`settings.profile.empty`));else{s(!0);try{let t=await G.profile.set({name:u.trim()?u.trim():null,body:f});t.success?(B.success(e(`settings.profile.saveOk`)),l(!1),d(``),p(``),q(),await g()):B.error(t.error||e(`settings.profile.saveFailed`))}catch(t){B.error(`${e(`settings.profile.saveFailed`)}: ${t instanceof Error?t.message:String(t)}`)}s(!1)}}},T=async()=>{if(!o&&window.confirm(e(`settings.profile.clearConfirm`))){s(!0);try{let t=await G.profile.clear();t.success?(B.success(e(`settings.profile.clearOk`)),x(),q(),await g()):B.error(t.error||e(`settings.profile.clearFailed`))}catch(t){B.error(`${e(`settings.profile.clearFailed`)}: ${t instanceof Error?t.message:String(t)}`)}s(!1)}};return r?(0,Y.jsx)(`div`,{className:`text-sm text-dark-muted`,children:e(`settings.profile.loading`)}):t?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`div`,{className:`flex items-start justify-between gap-3 py-1 mb-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsxs)(`div`,{className:`text-sm text-dark-text font-medium flex items-center gap-2`,children:[(0,Y.jsx)(C,{size:15,className:`text-accent-purple shrink-0`}),e(`settings.profile.enabled`)]}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-1`,children:e(`settings.profile.enabledHint`)})]}),(0,Y.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":t.enabled,"aria-label":e(`settings.profile.enabled`),disabled:o,onClick:()=>void y(),className:`relative w-9 h-5 rounded-full transition-colors shrink-0 mt-0.5 ${t.enabled?`bg-accent-blue`:`bg-dark-border`} ${o?`opacity-60`:``}`,children:(0,Y.jsx)(`span`,{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${t.enabled?`translate-x-[18px]`:`translate-x-0.5`}`})})]}),(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mb-4 leading-relaxed`,children:e(`settings.profile.hint`)}),(0,Y.jsxs)(`div`,{className:`mb-4`,children:[(0,Y.jsxs)(`div`,{className:`text-xs font-medium text-dark-text mb-1.5 flex items-center gap-1.5`,children:[(0,Y.jsx)(i,{size:13,className:`text-dark-muted`}),e(`settings.profile.path`)]}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,Y.jsx)(`code`,{className:`flex-1 min-w-0 truncate bg-dark-bg border border-dark-border rounded px-2 py-1 text-meta font-mono text-dark-text`,title:t.path,children:t.path}),(0,Y.jsx)(`span`,{className:`shrink-0 px-1.5 py-0.5 rounded text-badge border ${t.exists?`bg-accent-green/10 text-accent-green border-accent-green/30`:`bg-dark-hover text-dark-muted border-dark-border`}`,children:t.exists?e(`settings.profile.exists`):e(`settings.profile.missing`)})]}),(0,Y.jsx)(`div`,{className:`mt-1.5 text-meta text-dark-muted font-mono`,children:e(`settings.profile.size`,{used:t.bytes,max:t.maxBytes})}),t.truncated&&(0,Y.jsxs)(`div`,{className:`mt-1.5 flex items-start gap-1.5 text-meta text-accent-yellow`,children:[(0,Y.jsx)(N,{size:12,className:`mt-[1px] shrink-0`}),(0,Y.jsx)(`span`,{children:e(`settings.profile.truncated`)})]})]}),c?(0,Y.jsxs)(`div`,{className:`border-t border-dark-border pt-3`,children:[(0,Y.jsxs)(`div`,{className:`mb-4`,children:[(0,Y.jsx)(`div`,{className:`text-xs font-medium text-dark-text mb-1.5`,children:e(`settings.profile.templates.title`)}),(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:Ke.map(t=>(0,Y.jsx)(`button`,{type:`button`,onClick:()=>S(t),className:`px-2.5 py-1 rounded-lg text-xs text-dark-muted bg-dark-hover border border-dark-border hover:text-dark-text hover:bg-accent-blue/10 hover:border-accent-blue/40 transition-colors`,children:e(`settings.profile.templates.${t}`)},t))}),(0,Y.jsx)(`div`,{className:`text-meta text-dark-muted mt-1.5 leading-relaxed`,children:e(`settings.profile.templates.hint`)})]}),(0,Y.jsxs)(`label`,{className:`block mb-3`,children:[(0,Y.jsx)(`div`,{className:`text-xs font-medium text-dark-text mb-1`,children:e(`settings.profile.name`)}),(0,Y.jsx)(`input`,{type:`text`,value:u,onChange:e=>d(e.target.value),placeholder:e(`settings.profile.namePlaceholder`),maxLength:200,className:`w-full bg-dark-bg border border-dark-border rounded-lg px-3 py-1.5 text-sm text-dark-text placeholder-dark-muted focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all`})]}),(0,Y.jsx)(`div`,{className:`text-xs font-medium text-dark-text mb-1`,children:e(`settings.profile.body`)}),(0,Y.jsx)(`textarea`,{value:f,onChange:e=>p(e.target.value),placeholder:e(`settings.profile.bodyPlaceholder`),rows:10,className:`w-full bg-dark-bg border border-dark-border rounded-lg px-3 py-2 text-sm text-dark-text placeholder-dark-muted focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all resize-y font-mono leading-relaxed`}),(0,Y.jsx)(`div`,{className:`mt-1 text-meta font-mono ${v>_?`text-accent-yellow`:`text-dark-muted`}`,children:e(`settings.profile.size`,{used:v,max:_})}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 mt-3`,children:[(0,Y.jsx)(K,{variant:`accent`,size:`sm`,onClick:()=>void w(),loading:o,children:e(`settings.profile.save`)}),(0,Y.jsx)(`button`,{onClick:x,disabled:o,className:`px-3 py-1.5 rounded-lg text-sm text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors disabled:opacity-50`,children:e(`settings.profile.cancel`)})]})]}):(0,Y.jsxs)(`div`,{className:`border-t border-dark-border pt-3`,children:[t.preview?(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted whitespace-pre-wrap break-words mb-3 leading-relaxed max-h-40 overflow-y-auto custom-scrollbar`,children:t.preview}):(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mb-3`,children:e(`settings.profile.empty`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsxs)(`button`,{onClick:()=>void b(),disabled:m||o,className:`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm bg-accent-blue/10 text-accent-blue hover:bg-accent-blue/20 border border-accent-blue/30 transition-colors disabled:opacity-50`,children:[(0,Y.jsx)(k,{size:13}),e(`settings.profile.edit`)]}),t.exists&&(0,Y.jsxs)(`button`,{onClick:()=>void T(),disabled:o,className:`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm bg-accent-red/10 text-accent-red hover:bg-accent-red/20 border border-accent-red/30 transition-colors disabled:opacity-50`,children:[(0,Y.jsx)(oe,{size:13}),e(`settings.profile.clear`)]})]})]})]}):(0,Y.jsxs)(`button`,{onClick:()=>void g(),className:`text-sm text-accent-blue hover:underline`,children:[e(`settings.profile.loadFailed`),` — `,e(`common.retry`)]})}async function Je(e){try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}try{let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.position=`fixed`,t.style.top=`-1000px`,t.style.opacity=`0`,document.body.appendChild(t),t.select();let n=document.execCommand(`copy`);return document.body.removeChild(t),n}catch{return!1}}var Ye=e=>new Promise(t=>setTimeout(t,e));function Xe(){let{t:e}=R(),[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(null),l=(0,J.useCallback)(async()=>{let t=await G.system.network();return t.success&&t.data?(n(t.data),o(t.data.lastError)):o(t.error||e(`settings.network.loadFailed`)),t},[e]);(0,J.useEffect)(()=>{l()},[l]);let u=t?!t.loopbackOnly:!1,d=(0,J.useCallback)(async()=>{if(!t||r)return;let a=!u;if(!window.confirm(e(a?`settings.network.confirmEnable`:`settings.network.confirmDisable`)))return;i(!0),o(null);let s=await G.system.setNetwork(a);if(!s.success)o(s.error||e(`settings.network.applyFailed`)),i(!1);else{B.info(e(a?`settings.network.enabledToast`:`settings.network.disabledToast`)),await Ye(900);for(let e=0;e<8;e++){let e=await G.system.network();if(e.success&&e.data&&(n(e.data),o(e.data.lastError),e.data.loopbackOnly===!a&&!e.data.lastError)){i(!1);return}await Ye(600)}o(e(`settings.network.applyFailed`)),i(!1)}},[r,u,t,e]),f=(0,J.useCallback)(async e=>{await Je(e)&&(c(e),setTimeout(()=>c(t=>t===e?null:t),1800))},[]),p=t?.lockedByHostOverride?e(`settings.network.lockedByHost`,{host:t.hostOverride||``}):t?.fromEnv?e(`settings.network.lockedByEnv`,{env:t.envKey}):null;return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{className:`text-sm text-dark-muted mb-3`,children:e(`settings.network.description`)}),a&&(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-accent-red/40 bg-accent-red/10 px-3 py-2 mb-3`,children:[(0,Y.jsx)(N,{size:14,className:`text-accent-red mt-0.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`text-xs text-accent-red break-all`,children:a})]}),(0,Y.jsxs)(`label`,{className:`flex items-center justify-between gap-3 py-1 ${p?`cursor-not-allowed opacity-60`:`cursor-pointer`}`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-dark-text`,children:e(`settings.network.toggleLabel`)}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-0.5`,children:e(`settings.network.toggleHint`)})]}),(0,Y.jsx)(Ze,{checked:u,disabled:r||!t||!!p,onToggle:()=>void d(),label:e(`settings.network.toggleLabel`)})]}),r&&(0,Y.jsx)(`p`,{className:`text-xs text-accent-blue mt-2`,children:e(`settings.network.pendingHint`)}),p&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-2`,children:p}),t&&(0,Y.jsxs)(`div`,{className:`mt-3 pt-3 border-t border-dark-border space-y-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,Y.jsx)(`span`,{className:`text-dark-muted`,children:e(u?`settings.network.stateLan`:`settings.network.stateLocal`)}),(0,Y.jsxs)(`span`,{className:`text-dark-text font-mono`,children:[t.bindHost,`:`,t.httpPort]})]}),(0,Y.jsxs)(`div`,{children:[(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mb-1`,children:e(`settings.network.addresses`)}),(0,Y.jsx)(`div`,{className:`space-y-1`,children:(u&&t.lanUrls.length?t.lanUrls:[t.loopbackUrl]).map(t=>(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`code`,{className:`flex-1 min-w-0 break-all text-xs text-dark-text bg-dark-surface border border-dark-border rounded px-2 py-1 font-mono`,children:t}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>void f(t),title:e(`settings.network.copy`),className:`shrink-0 flex items-center gap-1 px-2 py-1 rounded text-xs text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors`,children:[s===t?(0,Y.jsx)(ie,{size:13,className:`text-accent-green`}):(0,Y.jsx)(b,{size:13}),e(s===t?`settings.network.copied`:`settings.network.copy`)]})]},t))}),u&&t.lanUrls.length===0&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:e(`settings.network.noLanAddress`)})]})]}),u&&(0,Y.jsxs)(`div`,{className:`mt-3 rounded-lg border border-accent-yellow/40 bg-accent-yellow/10 px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium text-accent-yellow`,children:[(0,Y.jsx)(N,{size:13}),e(`settings.network.warningTitle`)]}),(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:e(`settings.network.warning`)}),(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:t?.authTokenRequired?e(`settings.network.tokenHint`):e(`settings.network.noTokenHint`)})]}),(0,Y.jsx)(Qe,{state:t,onState:n})]})}function Ze({checked:e,disabled:t,onToggle:n,label:r}){return(0,Y.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":r,disabled:t,onClick:n,className:`relative w-9 h-5 rounded-full transition-colors shrink-0 disabled:cursor-not-allowed ${e?`bg-accent-green`:`bg-dark-border`}`,children:(0,Y.jsx)(`span`,{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${e?`translate-x-[18px]`:`translate-x-0.5`}`})})}function Qe({state:e,onState:t}){let{t:n}=R(),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(null),l=e?.tailscale,u=(0,J.useCallback)(async()=>{if(!l||r)return;let e=!l.serving;if(!window.confirm(n(e?`settings.network.tailscale.confirmEnable`:`settings.network.tailscale.confirmDisable`)))return;i(!0),o(null);let a=await G.system.setTailscale(e);i(!1),!a.success||!a.data?o(a.error||n(`settings.network.tailscale.applyFailed`)):(t(a.data),B.info(a.data.message))},[r,t,n,l]),d=(0,J.useCallback)(async e=>{await Je(e)&&(c(e),setTimeout(()=>c(t=>t===e?null:t),1800))},[]);if(!l)return null;let f=l.installed&&l.running,p=l.fromEnv?n(`settings.network.tailscale.lockedByEnv`,{env:l.envKey}):null,m=a||l.lastError||l.probeError;return(0,Y.jsxs)(`div`,{className:`mt-4 pt-4 border-t border-dark-border`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-dark-text`,children:n(`settings.network.tailscale.title`)}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-0.5`,children:n(`settings.network.tailscale.hint`)})]}),(0,Y.jsx)(Ze,{checked:l.serving,disabled:r||!f||!!p,onToggle:()=>void u(),label:n(`settings.network.tailscale.title`)})]}),!l.installed&&(0,Y.jsxs)(`p`,{className:`text-xs text-accent-yellow mt-2`,children:[n(`settings.network.tailscale.notInstalled`),` `,(0,Y.jsx)(`a`,{href:`https://tailscale.com/download`,target:`_blank`,rel:`noreferrer`,className:`underline hover:text-accent-blue`,children:`tailscale.com/download`})]}),l.installed&&!l.running&&(0,Y.jsx)(`p`,{className:`text-xs text-accent-yellow mt-2`,children:n(`settings.network.tailscale.notRunning`,{state:l.backendState||`unknown`})}),r&&(0,Y.jsx)(`p`,{className:`text-xs text-accent-blue mt-2`,children:n(`settings.network.tailscale.pendingHint`)}),m&&(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-accent-red/40 bg-accent-red/10 px-3 py-2 mt-2`,children:[(0,Y.jsx)(N,{size:14,className:`text-accent-red mt-0.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`text-xs text-accent-red break-all`,children:m})]}),p&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-2`,children:p}),l.serving&&l.url&&(0,Y.jsxs)(`div`,{className:`mt-2`,children:[(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mb-1`,children:n(`settings.network.tailscale.address`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`code`,{className:`flex-1 min-w-0 break-all text-xs text-dark-text bg-dark-surface border border-dark-border rounded px-2 py-1 font-mono`,children:l.url}),(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>void d(l.url),title:n(`settings.network.copy`),className:`shrink-0 flex items-center gap-1 px-2 py-1 rounded text-xs text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors`,children:[s===l.url?(0,Y.jsx)(ie,{size:13,className:`text-accent-green`}):(0,Y.jsx)(b,{size:13}),s===l.url?n(`settings.network.copied`):n(`settings.network.copy`)]})]}),l.allServeUrls.length>1&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:n(`settings.network.tailscale.otherEntries`,{n:l.allServeUrls.length-1})})]}),l.serving&&(0,Y.jsxs)(`div`,{className:`mt-2 rounded-lg border border-accent-yellow/40 bg-accent-yellow/10 px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium text-accent-yellow`,children:[(0,Y.jsx)(N,{size:13}),n(`settings.network.tailscale.warningTitle`)]}),(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:n(`settings.network.tailscale.warning`)})]})]})}function $e(){let{t:e}=R(),[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(null),s=(0,J.useCallback)(async()=>{let t=await G.system.daemon();return t.success&&t.data?n(t.data):o(t.error||e(`settings.daemon.loadFailed`)),t},[e]);(0,J.useEffect)(()=>{s()},[s]);let c=t?.daemonEnabled??!1,l=t?.fromEnv?e(`settings.daemon.lockedByEnv`,{env:t.envKey}):null,u=(0,J.useCallback)(async()=>{if(!t||r)return;let a=!c;if(!window.confirm(e(a?`settings.daemon.confirmEnable`:`settings.daemon.confirmDisable`)))return;i(!0),o(null);let s=await G.system.setDaemon(a);i(!1),s.success?(s.data&&n(s.data),B.info(e(a?`settings.daemon.enabledToast`:`settings.daemon.disabledToast`))):o(s.error||e(`settings.daemon.applyFailed`))},[r,c,t,e]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{className:`text-sm text-dark-muted mb-3`,children:e(`settings.daemon.description`)}),a&&(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-accent-red/40 bg-accent-red/10 px-3 py-2 mb-3`,children:[(0,Y.jsx)(N,{size:14,className:`text-accent-red mt-0.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`text-xs text-accent-red break-all`,children:a})]}),(0,Y.jsxs)(`label`,{className:`flex items-center justify-between gap-3 py-1 ${l?`cursor-not-allowed opacity-60`:`cursor-pointer`}`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-dark-text`,children:e(`settings.daemon.toggleLabel`)}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-0.5`,children:e(`settings.daemon.toggleHint`)})]}),(0,Y.jsx)(et,{checked:c,disabled:r||!t||!!l,onToggle:()=>void u(),label:e(`settings.daemon.toggleLabel`)})]}),l&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-2`,children:l})]})}function et({checked:e,disabled:t,onToggle:n,label:r}){return(0,Y.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":r,disabled:t,onClick:n,className:`relative w-9 h-5 rounded-full transition-colors shrink-0 disabled:cursor-not-allowed ${e?`bg-accent-green`:`bg-dark-border`}`,children:(0,Y.jsx)(`span`,{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${e?`translate-x-[18px]`:`translate-x-0.5`}`})})}function tt(){let{t:e}=R(),[t,r]=(0,J.useState)(null),[i,a]=(0,J.useState)(!0),[o,s]=(0,J.useState)(null),[c,l]=(0,J.useState)(!1),[u,d]=(0,J.useState)(``),[f,p]=(0,J.useState)(!1),m=(0,J.useCallback)(async()=>{let t=await G.config.desktop();t.success&&t.data?(r(t.data),s(null),d(t.data.values.port===null?``:String(t.data.values.port)),p(!1)):s(t.error||e(`settings.desktop.loadFailed`))},[e]);(0,J.useEffect)(()=>{(async()=>{await m(),a(!1)})()},[m]);let h=!!t?.envOverridden.autoLaunch,g=!!t?.envOverridden.port,_=(0,J.useCallback)(async t=>{if(c)return;l(!0),s(null);let n=await G.config.setDesktop(t);l(!1),n.success?(n.data&&(r(n.data),d(n.data.values.port===null?``:String(n.data.values.port)),p(!1)),B.info(e(`settings.desktop.savedRestartHint`))):s(n.error||e(`settings.desktop.applyFailed`))},[c,e]),v=(0,J.useCallback)(()=>{t&&!h&&_({autoLaunch:!t.values.autoLaunch})},[h,_,t]),y=(0,J.useCallback)(()=>{let e=u.trim();if(!e)return{ok:!0,value:null};if(!/^\d+$/.test(e))return{ok:!1};let t=Number(e);return t<1||t>65534?{ok:!1}:{ok:!0,value:t}},[u]),b=f&&!y().ok,x=t?.values.port??null,S=y(),C=!f||S.ok&&S.value===x,w=(0,J.useCallback)(()=>{let e=y();e.ok&&_({port:e.value})},[y,_]),T=(0,J.useCallback)(()=>{d(``),p(!1),x!==null&&_({port:null})},[x,_]);return i?(0,Y.jsxs)(`div`,{className:`flex items-center gap-2 py-4 text-sm text-dark-muted`,children:[(0,Y.jsx)(n,{size:14,className:`animate-spin`}),e(`settings.desktop.loading`)]}):(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(`p`,{className:`text-sm text-dark-muted mb-3`,children:e(`settings.desktop.description`)}),o&&(0,Y.jsxs)(`div`,{className:`flex items-start gap-2 rounded-lg border border-accent-red/40 bg-accent-red/10 px-3 py-2 mb-3`,children:[(0,Y.jsx)(N,{size:14,className:`text-accent-red mt-0.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`text-xs text-accent-red break-all`,children:o})]}),(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-3 py-1`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-dark-text`,children:e(`settings.desktop.autoLaunchLabel`)}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-0.5`,children:e(`settings.desktop.autoLaunchHint`)})]}),(0,Y.jsx)(nt,{checked:!!t?.values.autoLaunch,disabled:c||h,onToggle:v,label:e(`settings.desktop.autoLaunchLabel`)})]}),h&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:e(`settings.desktop.lockedByEnv`,{env:t?.envKeys.autoLaunch||``})}),(0,Y.jsxs)(`div`,{className:`mt-4 pt-4 border-t border-dark-border`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-dark-text`,children:e(`settings.desktop.portLabel`)}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-0.5 mb-2`,children:e(`settings.desktop.portHint`)}),(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`input`,{type:`number`,inputMode:`numeric`,min:1,max:65534,value:u,disabled:c||g,placeholder:e(`settings.desktop.portAuto`),onChange:e=>{d(e.target.value),p(!0)},onKeyDown:e=>{e.key===`Enter`&&!b&&!C&&w()},className:`flex-1 min-w-0 rounded-lg bg-dark-surface border px-3 py-2 text-sm text-dark-text font-mono focus:outline-none disabled:opacity-60 ${b?`border-accent-red`:`border-dark-border focus:border-accent-blue`}`}),(0,Y.jsx)(`button`,{type:`button`,onClick:w,disabled:c||g||b||C,className:`shrink-0 px-3 py-2 rounded-lg text-sm bg-accent-blue/10 text-accent-blue hover:bg-accent-blue/20 border border-accent-blue/30 disabled:opacity-40 disabled:cursor-not-allowed`,children:e(`settings.desktop.save`)}),x!==null&&(0,Y.jsx)(`button`,{type:`button`,onClick:T,disabled:c||g,className:`shrink-0 px-3 py-2 rounded-lg text-sm text-dark-muted hover:text-dark-text hover:bg-dark-hover border border-dark-border disabled:opacity-40`,children:e(`settings.desktop.portAuto`)})]}),b&&(0,Y.jsx)(`p`,{className:`text-xs text-accent-red mt-1`,children:e(`settings.desktop.portInvalid`)}),g&&(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:e(`settings.desktop.lockedByEnv`,{env:t?.envKeys.port||``})}),x!==null&&!b&&(0,Y.jsxs)(`div`,{className:`mt-2 rounded-lg border border-accent-yellow/40 bg-accent-yellow/10 px-3 py-2`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-xs font-medium text-accent-yellow`,children:[(0,Y.jsx)(N,{size:13}),e(`settings.desktop.pinnedWarningTitle`)]}),(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-1`,children:e(`settings.desktop.pinnedWarning`,{port:x})})]})]}),(0,Y.jsxs)(`div`,{className:`mt-4 pt-3 border-t border-dark-border flex items-start gap-2`,children:[(0,Y.jsx)(I,{size:13,className:`text-dark-muted mt-0.5 shrink-0`}),(0,Y.jsxs)(`p`,{className:`text-xs text-dark-muted`,children:[e(`settings.desktop.restartHint`),t?.configPath&&(0,Y.jsx)(`span`,{className:`block mt-1 font-mono break-all`,children:t.configPath})]})]})]})}function nt({checked:e,disabled:t,onToggle:n,label:r}){return(0,Y.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":r,disabled:t,onClick:n,className:`relative w-9 h-5 rounded-full transition-colors shrink-0 disabled:cursor-not-allowed ${e?`bg-accent-green`:`bg-dark-border`}`,children:(0,Y.jsx)(`span`,{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${e?`translate-x-[18px]`:`translate-x-0.5`}`})})}var rt={get:()=>W.get(`/api/config/attention`),set:e=>W.post(`/api/config/attention`,{sound:e})};function it(){let{t:e}=R(),[t,n]=(0,J.useState)(!0),[r,i]=(0,J.useState)(!1),[a,o]=(0,J.useState)(null),s=(0,J.useCallback)(async()=>{try{let t=await rt.get();t.success&&t.data?(n(t.data.sound),o(null)):o(t.error||e(`settings.notifications.loadFailed`))}catch{o(e(`settings.notifications.loadFailed`))}},[e]);(0,J.useEffect)(()=>{s()},[s]);let c=(0,J.useCallback)(async()=>{if(r)return;let a=!t;i(!0),o(null),n(a);try{let t=await rt.set(a);!t.success||!t.data?(n(!a),o(t.error||e(`settings.notifications.saveFailed`))):n(t.data.sound)}catch{n(!a),o(e(`settings.notifications.saveFailed`))}finally{i(!1)}},[r,t,e]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(`label`,{className:`flex items-center justify-between gap-3 py-1 cursor-pointer`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-dark-text`,children:e(`settings.notifications.soundLabel`)}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-0.5`,children:e(`settings.notifications.soundHint`)})]}),(0,Y.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":t,disabled:r,onClick:c,className:`relative w-9 h-5 rounded-full transition-colors shrink-0 disabled:cursor-not-allowed ${t?`bg-accent-blue`:`bg-dark-border`}`,children:(0,Y.jsx)(`span`,{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${t?`translate-x-[18px]`:`translate-x-0.5`}`})})]}),a&&(0,Y.jsxs)(`div`,{className:`mt-2 flex items-start gap-2 text-xs text-accent-red`,children:[(0,Y.jsx)(N,{size:13,className:`mt-0.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`break-all`,children:a})]})]})}var at=(0,J.memo)(function({label:e,description:t,colors:n,pattern:r,isSelected:i,onClick:a}){return(0,Y.jsxs)(`button`,{onClick:a,className:`relative flex w-full flex-col items-center rounded-xl p-2 transition-all focus:outline-none focus:ring-2 focus:ring-accent-blue/50 ${i?`ring-2 ring-accent-blue/60 bg-dark-bg border border-accent-blue/40 shadow-sm`:`border border-dark-border hover:border-accent-blue/30 bg-dark-bg hover:shadow-sm`}`,title:t||e,"aria-pressed":i,"aria-label":e,children:[(0,Y.jsxs)(`div`,{className:`relative flex gap-0.5 rounded-md overflow-hidden w-full h-8 mb-1.5 border border-dark-border/40`,children:[[`bg`,`surface`,`border`,`text`,`muted`,`accentBlue`,`accentGreen`,`accentRed`,`accentYellow`,`accentPurple`].map(e=>(0,Y.jsx)(`div`,{className:`flex-1`,style:{backgroundColor:n[e]},title:e},e)),r===`grid`&&(0,Y.jsx)(`div`,{"aria-hidden":`true`,className:`pointer-events-none absolute inset-0`,style:{backgroundImage:`linear-gradient(${n.border} 1px, transparent 1px), linear-gradient(90deg, ${n.border} 1px, transparent 1px)`,backgroundSize:`7px 7px`}})]}),(0,Y.jsx)(`span`,{className:`text-meta font-medium truncate w-full text-center ${i?`text-accent-blue`:`text-dark-text`}`,children:e}),i&&(0,Y.jsx)(`span`,{className:`absolute top-1 end-1 w-4 h-4 bg-accent-blue rounded-full flex items-center justify-center shadow-sm`,children:(0,Y.jsx)(`svg`,{width:`8`,height:`8`,viewBox:`0 0 8 8`,fill:`none`,children:(0,Y.jsx)(`path`,{d:`M1.5 4L3.5 6L6.5 2`,stroke:`white`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]})}),ot={name:`deepseekcode-web`,private:!0,version:`1.0.0`,type:`module`,scripts:{dev:`vite`,build:`tsc && vite build`,typecheck:`tsc -p tsconfig.json --noEmit`,preview:`vite preview`,icons:`node scripts/generate-pwa-icons.mjs`,test:`vitest run`,"test:watch":`vitest`},dependencies:{"@deepseekcode/protocol":`*`,"@deepseekcode/shared":`*`,"@milkdown/core":`7.22.3`,"@milkdown/preset-commonmark":`7.22.3`,"@milkdown/preset-gfm":`7.22.3`,"@milkdown/utils":`7.22.3`,"@monaco-editor/react":`4.7.0`,"@tanstack/react-virtual":`3.14.21`,clsx:`2.1.1`,"date-fns":`4.4.0`,diff:`9.0.0`,i18next:`26.5.4`,katex:`0.19.0`,"lucide-react":`1.61.0`,mermaid:`12.2.0`,prismjs:`1.30.0`,qrcode:`1.5.4`,react:`19.3.1`,"react-dom":`19.3.1`,"react-i18next":`17.1.0`,"react-markdown":`10.1.0`,"react-resizable-panels":`4.14.8`,"rehype-katex":`7.0.1`,"rehype-remark":`10.0.1`,"remark-math":`6.0.0`,shiki:`4.5.0`,zustand:`5.0.15`},devDependencies:{"@testing-library/jest-dom":`7.0.1`,"@testing-library/react":`16.3.3`,"@types/prismjs":`1.26.6`,"@types/qrcode":`1.5.6`,"@types/react":`19.3.0`,"@types/react-dom":`19.3.0`,"@vitejs/plugin-react":`6.1.2`,autoprefixer:`10.6.1`,jsdom:`30.1.3`,postcss:`8.5.31`,tailwindcss:`3.4.19`,typescript:`5.9.3`,vite:`8.3.5`,vitest:`5.0.5`}},st=[{labelKey:`settings.groups.general`,items:[{id:`general`,icon:_,labelKey:`settings.nav.general`,searchKeys:[`language`,`display`,`developer`,`general`,`语言`,`界面`,`开发者`,`通用`]},{id:`appearance`,icon:E,labelKey:`settings.nav.appearance`,searchKeys:[`theme`,`color`,`palette`,`custom`,`ripple`,`effect`,`icon`,`blob`,`brand`,`主题`,`颜色`,`波纹`,`动效`,`背景`,`图标`,`品牌`,`团子`]},{id:`profile`,icon:C,labelKey:`settings.nav.profile`,searchKeys:[`profile`,`soul`,`persona`,`identity`,`name`,`画像`,`个性化`,`身份`,`称呼`,`soul.md`]},{id:`voice`,icon:f,labelKey:`settings.nav.voice`,searchKeys:[`voice`,`stt`,`whisper`,`speech`,`语音`,`安装`]}]},{labelKey:`settings.groups.features`,items:[{id:`models`,icon:a,labelKey:`settings.nav.models`,searchKeys:[`provider`,`model`,`api`,`key`,`openai`,`anthropic`,`deepseek`,`模型`]},{id:`connectors`,icon:ne,labelKey:`settings.nav.connectors`,searchKeys:[`connector`,`capabilities`,`computer use`,`gmail`,`grok`,`连接器`,`能力`]},{id:`context`,icon:h,labelKey:`settings.nav.context`,searchKeys:[`context`,`token`,`offload`,`artifact`,`上下文`,`外置`]},{id:`configFiles`,icon:u,labelKey:`settings.nav.configFiles`,searchKeys:[`config`,`file`,`yaml`,`json`,`editor`,`配置文件`]}]},{labelKey:`settings.groups.system`,items:[{id:`sandbox`,icon:l,labelKey:`settings.nav.sandbox`,searchKeys:[`sandbox`,`sandbox-exec`,`bwrap`,`bubblewrap`,`isolation`,`seccomp`,`permission`,`沙箱`,`隔离`,`命令`,`权限`]},{id:`network`,icon:A,labelKey:`settings.nav.network`,searchKeys:[`network`,`lan`,`wifi`,`port`,`share`,`access`,`server`,`bind`,`网络`,`局域网`,`内网`,`多人`,`共享`,`访问`,`端口`]},{id:`daemon`,icon:o,labelKey:`settings.nav.daemon`,searchKeys:[`daemon`,`background`,`persistent`,`server`,`backend`,`service`,`常驻`,`后台`,`守护`,`进程`,`服务`]},{id:`desktop`,icon:r,labelKey:`settings.nav.desktop`,searchKeys:[`desktop`,`autolaunch`,`autostart`,`startup`,`boot`,`launch`,`port`,`backend`,`桌面`,`客户端`,`开机`,`自启`,`启动`,`端口`,`后台`]},{id:`system`,icon:o,labelKey:`settings.nav.system`,searchKeys:[`system`,`server`,`uptime`,`restart`,`reboot`,`系统`,`重启`]},{id:`about`,icon:I,labelKey:`settings.nav.about`,searchKeys:[`about`,`version`,`info`,`关于`,`版本`]}]}],$=[{key:`bg`,labelKey:`settings.colorBg`},{key:`surface`,labelKey:`settings.colorSurface`},{key:`border`,labelKey:`settings.colorBorder`},{key:`text`,labelKey:`settings.colorText`},{key:`muted`,labelKey:`settings.colorMuted`},{key:`accentBlue`,labelKey:`settings.colorAccentBlue`},{key:`accentGreen`,labelKey:`settings.colorAccentGreen`},{key:`accentRed`,labelKey:`settings.colorAccentRed`},{key:`accentYellow`,labelKey:`settings.colorAccentYellow`},{key:`accentPurple`,labelKey:`settings.colorAccentPurple`}],ct=(0,J.memo)(function({isOpen:e,onClose:t,onNavigate:n,focusSection:i}){let{t:a}=R(),[s,c]=(0,J.useState)(`general`),[l,u]=(0,J.useState)(``);De({isOpen:e,onClose:t});let f=(0,J.useRef)(null);(0,J.useEffect)(()=>{e&&i?.section===`stt`&&(c(`voice`),requestAnimationFrame(()=>{f.current?.scrollIntoView({behavior:`smooth`,block:`start`})}))},[i?.nonce,e]);let p=(0,J.useRef)(null);(0,J.useEffect)(()=>{e&&i?.section===`profile`&&(c(`profile`),requestAnimationFrame(()=>{p.current?.scrollIntoView({behavior:`smooth`,block:`start`})}))},[i?.nonce,e]),(0,J.useEffect)(()=>{e&&u(``)},[e]);let m=(0,J.useMemo)(()=>{if(!l.trim())return st;let e=l.toLowerCase().trim();return st.map(t=>({...t,items:t.items.filter(t=>a(t.labelKey).toLowerCase().includes(e)||t.searchKeys.some(t=>t.toLowerCase().includes(e)))})).filter(e=>e.items.length>0)},[l,a]),{visible:h,phase:g}=Oe(e);return h?(0,Y.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-center justify-center overflow-hidden p-4`,role:`dialog`,"aria-modal":`true`,"aria-label":a(`settings.title`),children:[(0,Y.jsx)(`div`,{className:`absolute inset-0 ui-scrim ui-overlay-backdrop`,"data-phase":g,onClick:t}),(0,Y.jsxs)(`div`,{className:`relative w-full max-w-4xl h-[80vh] bg-dark-overlay ui-surface-overlay border border-dark-border rounded-2xl shadow-pop flex flex-col overflow-hidden ui-overlay-panel`,"data-phase":g,children:[(0,Y.jsxs)(`div`,{className:`flex shrink-0 items-center justify-between ps-5 pe-3 py-3 border-b border-dark-border`,children:[(0,Y.jsx)(`h2`,{className:`text-base font-semibold text-dark-text`,children:a(`settings.title`)}),(0,Y.jsx)(`button`,{onClick:t,"aria-label":`Close`,className:`p-1.5 rounded-lg text-dark-muted hover:text-dark-text hover:bg-dark-hover transition-colors`,children:(0,Y.jsx)(te,{size:18,"aria-hidden":`true`})})]}),(0,Y.jsxs)(`div`,{className:`flex flex-1 min-h-0`,children:[(0,Y.jsxs)(`nav`,{className:`w-52 shrink-0 border-e border-dark-border bg-dark-surface/40 flex flex-col min-h-0`,children:[(0,Y.jsx)(`div`,{className:`p-3 pb-1`,children:(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(y,{size:13,className:`absolute start-2.5 top-1/2 -translate-y-1/2 text-dark-muted pointer-events-none`}),(0,Y.jsx)(`input`,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:a(`settings.searchPlaceholder`),className:`w-full bg-dark-surface border border-dark-border rounded-lg ps-8 pe-2 py-1.5 text-xs text-dark-text placeholder-dark-muted focus:border-accent-blue/60 focus:ring-2 focus:ring-accent-blue/15 outline-none transition-all`})]})}),(0,Y.jsxs)(`div`,{className:`flex-1 min-h-0 overflow-y-auto custom-scrollbar px-3 pb-3`,children:[m.map(e=>(0,Y.jsxs)(`div`,{className:`mt-3 first:mt-1`,children:[(0,Y.jsx)(`div`,{className:`px-2 mb-1 text-badge font-medium uppercase tracking-wide text-dark-muted/80`,children:a(e.labelKey)}),(0,Y.jsx)(`div`,{className:`space-y-0.5`,children:e.items.map(e=>{let t=e.icon,n=s===e.id;return(0,Y.jsxs)(`button`,{onClick:()=>c(e.id),"aria-current":n?`page`:void 0,className:`w-full flex items-center gap-2.5 px-2.5 py-1.5 rounded-lg text-sm transition-colors ${n?`bg-accent-blue/10 text-accent-blue font-medium`:`text-dark-text/90 hover:bg-dark-hover`}`,children:[(0,Y.jsx)(t,{size:15,className:n?`text-accent-blue`:`text-dark-muted`}),(0,Y.jsx)(`span`,{className:`truncate`,children:a(e.labelKey)})]},e.id)})})]},e.labelKey)),m.length===0&&(0,Y.jsx)(`div`,{className:`mt-6 text-center text-xs text-dark-muted`,children:a(`settings.noResults`)})]})]}),(0,Y.jsx)(`div`,{className:`flex-1 min-w-0 min-h-0 overflow-y-auto custom-scrollbar`,children:(0,Y.jsxs)(`div`,{className:`max-w-2xl px-6 py-5`,children:[s===`general`&&(0,Y.jsx)(lt,{}),s===`appearance`&&(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(ut,{}),(0,Y.jsx)(Q,{icon:d,iconColor:`text-accent-purple`,title:a(`brand.title`),children:(0,Y.jsx)(Ae,{dense:!0})})]}),s===`profile`&&(0,Y.jsx)(`div`,{ref:p,id:`settings-section-profile`,className:`scroll-mt-5`,children:(0,Y.jsx)(ft,{})}),s===`voice`&&(0,Y.jsx)(`div`,{ref:f,id:`settings-section-stt`,className:`scroll-mt-5`,children:(0,Y.jsx)(dt,{})}),s===`models`&&(0,Y.jsx)(pt,{onNavigate:n}),s===`connectors`&&(0,Y.jsx)(mt,{onNavigate:n}),s===`context`&&(0,Y.jsx)(ht,{}),s===`configFiles`&&(0,Y.jsx)(gt,{}),s===`sandbox`&&(0,Y.jsx)(_t,{}),s===`network`&&(0,Y.jsx)(Q,{icon:A,iconColor:`text-accent-green`,title:a(`settings.nav.network`),children:(0,Y.jsx)(Xe,{})}),s===`daemon`&&(0,Y.jsx)(Q,{icon:o,iconColor:`text-accent-green`,title:a(`settings.daemon.title`),children:(0,Y.jsx)($e,{})}),s===`desktop`&&(0,Y.jsx)(Q,{icon:r,iconColor:`text-accent-blue`,title:a(`settings.nav.desktop`),children:(0,Y.jsx)(tt,{})}),s===`system`&&(0,Y.jsx)(vt,{}),s===`about`&&(0,Y.jsx)(yt,{})]})})]})]})]}):null});function lt(){let{t:e}=R(),{language:t,setLanguage:n,developerView:r,setDeveloperView:i,effort:a}=U(),o=de[fe(a)],c=Ce(t),l=[{code:we,label:e(`settings.languageAuto`)},...ve.map(e=>({code:e.code,label:e.label}))];return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)(Q,{icon:O,iconColor:`text-accent-blue`,title:e(`settings.language`),children:[(0,Y.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:l.map(({code:e,label:t})=>(0,Y.jsx)(`button`,{lang:e===`auto`?void 0:e,onClick:()=>{n(e),e!==c&&G.config.language.set(be(ye(e))).catch(()=>{})},className:`px-4 py-2 rounded-lg transition-all ${c===e?`bg-accent-blue text-accent-fg`:`bg-dark-hover text-dark-text hover:bg-dark-border`}`,children:t},e))}),(0,Y.jsx)(`p`,{className:`text-xs text-dark-muted mt-2`,children:e(`settings.languageHint`)})]}),(0,Y.jsx)(Q,{icon:s,iconColor:`text-accent-blue`,title:e(`settings.display`),children:(0,Y.jsxs)(`label`,{className:`flex items-center justify-between gap-3 py-1 cursor-pointer`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-sm text-dark-text`,children:e(`settings.developerView`)}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-0.5`,children:e(`settings.developerViewHint`)})]}),(0,Y.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":r,onClick:()=>i(!r),className:`relative w-9 h-5 rounded-full transition-colors shrink-0 ${r?`bg-accent-blue`:`bg-dark-border`}`,children:(0,Y.jsx)(`span`,{className:`absolute top-0.5 left-0 w-4 h-4 rounded-full bg-white shadow transition-transform ${r?`translate-x-[18px]`:`translate-x-0.5`}`})})]})}),(0,Y.jsx)(Q,{icon:P,iconColor:`text-accent-yellow`,title:e(`settings.effort`),children:(0,Y.jsxs)(`div`,{className:`flex items-center justify-between gap-4 py-1`,children:[(0,Y.jsxs)(`div`,{className:`min-w-0`,children:[(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted`,children:e(`settings.effortHint`)}),(0,Y.jsx)(`div`,{className:`text-xs text-dark-muted mt-1`,children:o.hint})]}),(0,Y.jsx)(he,{syncSession:!1})]})}),(0,Y.jsx)(Q,{icon:p,iconColor:`text-accent-yellow`,title:e(`settings.notifications.title`),children:(0,Y.jsx)(it,{})})]})}function ut(){let{t:e}=R(),{theme:n,setTheme:r,themePresetId:i,setThemePreset:a,customTheme:o,customThemeEnabled:s,setCustomTheme:c,setCustomThemeEnabled:l,resetCustomTheme:u}=U(),d=H(e=>e.customThemes),f=H(e=>e.rejected),p=H(e=>e.error),m=H(e=>e.loading),h=H(e=>e.load),g=H(e=>e.removeCustomTheme),[_,v]=(0,J.useState)(s),y=(0,J.useMemo)(()=>n===`dark`?`dark`:n===`light`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`,[n]),b=(0,J.useMemo)(()=>xe(d),[d]);return(0,Y.jsxs)(Q,{icon:E,iconColor:`text-accent-purple`,title:e(`settings.theme`),children:[(0,Y.jsx)(`div`,{className:`flex gap-2 mb-4`,children:[`dark`,`light`,`auto`].map(t=>(0,Y.jsx)(`button`,{onClick:()=>r(t),className:`px-4 py-2 rounded-lg transition-all ${n===t?`bg-accent-blue text-accent-fg`:`bg-dark-hover text-dark-text hover:bg-dark-border`}`,children:e(t===`dark`?`settings.themeDark`:t===`light`?`settings.themeLight`:`settings.themeAuto`)},t))}),(0,Y.jsxs)(`div`,{className:`mb-4`,children:[(0,Y.jsx)(`h4`,{className:`text-xs font-semibold text-dark-text mb-2`,children:e(`settings.themePresets`)}),(0,Y.jsx)(`div`,{className:`grid grid-cols-2 sm:grid-cols-3 gap-2`,children:b.map(t=>{let n=(i||`graph`)===t.id,r=y===`dark`?t.dark:t.light,o=Te(t,e);return(0,Y.jsxs)(`div`,{className:`relative`,children:[(0,Y.jsx)(at,{id:t.id,label:o,description:Se(t,e),colors:r,pattern:t.pattern,isSelected:n,onClick:()=>a(t.id)}),t.custom&&(0,Y.jsx)(`button`,{type:`button`,title:e(`settings.themeCustomDelete`,{name:o}),"aria-label":e(`settings.themeCustomDelete`,{name:o}),onClick:()=>{g(t.id)},className:`absolute top-1 start-1 flex h-4 w-4 items-center justify-center rounded-full border border-dark-border bg-dark-surface/90 text-[10px] leading-none text-dark-muted transition-colors hover:border-accent-red/50 hover:text-accent-red`,children:`×`})]},t.id)})}),(0,Y.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-meta text-dark-muted`,children:[(0,Y.jsxs)(`button`,{type:`button`,onClick:()=>{h(!0)},disabled:m,className:`inline-flex items-center gap-1 transition-colors hover:text-dark-text disabled:opacity-50`,children:[(0,Y.jsx)(t,{size:12,className:m?`animate-spin`:void 0}),e(`settings.themeCustomReload`)]}),(0,Y.jsx)(`span`,{children:e(`settings.themeCustomHint`)})]}),p&&(0,Y.jsx)(`p`,{className:`mt-1 text-meta text-accent-red`,children:e(`settings.themeCustomError`,{error:p})}),f.length>0&&(0,Y.jsx)(`ul`,{className:`mt-1 space-y-0.5 text-meta text-accent-yellow`,children:f.map((t,n)=>(0,Y.jsx)(`li`,{children:e(`settings.themeCustomRejected`,{index:t.index>=0?t.index+1:`-`,reason:t.reason})},`${t.index}-${n}`))})]}),(0,Y.jsxs)(`div`,{className:`pt-4 border-t border-dark-border`,children:[(0,Y.jsxs)(`button`,{onClick:()=>{let e=!_;v(e),l(e)},className:`flex items-center gap-2 text-sm text-dark-muted hover:text-dark-text transition-colors`,children:[(0,Y.jsx)(E,{size:14}),(0,Y.jsx)(`span`,{children:e(`settings.customOverrides`)}),(0,Y.jsx)(`span`,{className:`w-8 h-4 rounded-full transition-colors ${_?`bg-accent-blue`:`bg-dark-border`}`,children:(0,Y.jsx)(`span`,{className:`block w-3 h-3 rounded-full bg-white transition-transform mt-0.5 ${_?`ms-4`:`ms-0.5`}`})})]}),_&&(0,Y.jsx)(`p`,{className:`text-badge text-dark-muted mt-1 mb-2`,children:e(`settings.customOverridesHint`)}),_&&(0,Y.jsxs)(`div`,{className:`mt-3`,children:[(0,Y.jsx)(`div`,{className:`flex gap-1 mb-3 rounded-lg overflow-hidden h-6`,children:$.map(({key:e})=>(0,Y.jsx)(`div`,{className:`flex-1`,style:{backgroundColor:o[e]},title:e},e))}),(0,Y.jsx)(`div`,{className:`grid grid-cols-2 gap-x-4 gap-y-2`,children:$.map(({key:t,labelKey:n})=>(0,Y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Y.jsx)(`input`,{type:`color`,value:o[t],onChange:e=>c({[t]:e.target.value}),className:`w-8 h-8 rounded border border-dark-border cursor-pointer bg-transparent p-0.5 shrink-0`}),(0,Y.jsx)(`span`,{className:`text-xs text-dark-muted flex-1 truncate`,children:e(n)}),(0,Y.jsx)(`input`,{type:`text`,value:o[t],onChange:e=>{let n=e.target.value;/^#[0-9a-fA-F]{0,6}$/.test(n)&&c({[t]:n})},className:`w-16 bg-dark-bg border border-dark-border rounded px-1 py-0.5 text-xs text-dark-text font-mono text-center`,maxLength:7})]},t))}),(0,Y.jsx)(`button`,{onClick:u,className:`mt-2 text-xs text-dark-muted hover:text-accent-red transition-colors`,children:e(`settings.resetColors`)})]})]})]})}function dt(){let{t:e}=R();return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Q,{icon:f,iconColor:`text-accent-blue`,title:e(`stt.setup.title`),children:(0,Y.jsx)(Le,{})}),(0,Y.jsx)(Q,{icon:M,iconColor:`text-accent-purple`,title:e(`tts.setup.title`),children:(0,Y.jsx)(Re,{})})]})}function ft(){let{t:e}=R();return(0,Y.jsx)(Q,{icon:C,iconColor:`text-accent-purple`,title:e(`settings.profile.title`),children:(0,Y.jsx)(qe,{})})}function pt({onNavigate:e}){return(0,Y.jsxs)(Q,{icon:a,iconColor:`text-accent-yellow`,title:`Provider & Models`,children:[(0,Y.jsx)(`p`,{className:`text-sm text-dark-muted mb-3`,children:`Configure AI providers, API keys, and model settings. Add or remove providers like OpenAI, Anthropic, DeepSeek, and more.`}),(0,Y.jsx)(K,{variant:`accent`,leftIcon:(0,Y.jsx)(m,{size:14}),onClick:()=>e?.(`models`),className:`w-fit`,children:`Manage Providers & Models`})]})}function mt({onNavigate:e}){let{t}=R();return(0,Y.jsxs)(Q,{icon:r,iconColor:`text-accent-green`,title:t(`settings.capabilities.title`),children:[(0,Y.jsx)(`p`,{className:`text-sm text-dark-muted mb-3`,children:`Computer Use、外部服务连接器(X/Twitter、Gmail、Google Workspace、Microsoft 365 等)与 xAI (Grok) 统一在连接器页集中管理。`}),(0,Y.jsx)(K,{variant:`accent`,leftIcon:(0,Y.jsx)(m,{size:14}),onClick:()=>e?.(`connectors`),className:`w-fit`,children:`Manage Connectors & Capabilities`})]})}function ht(){let{t:e}=R();return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)(Q,{icon:ee,iconColor:`text-accent-blue`,title:e(`settings.contextWindow.title`),children:(0,Y.jsx)(He,{})}),(0,Y.jsx)(Q,{icon:s,iconColor:`text-accent-purple`,title:e(`settings.contextOffload.title`),children:(0,Y.jsx)(ze,{})})]})}function gt(){return(0,Y.jsx)(Q,{icon:u,iconColor:`text-accent-green`,title:`Config Files (~/.agent/)`,children:(0,Y.jsx)(Ne,{})})}function _t(){let{t:e}=R();return(0,Y.jsx)(Q,{icon:l,iconColor:`text-accent-green`,title:e(`settings.sandbox.title`),children:(0,Y.jsx)(We,{})})}function vt(){let[e,n]=(0,J.useState)(0),[r,i]=(0,J.useState)(!1),[a,s]=(0,J.useState)(!1);(0,J.useEffect)(()=>{let e=!0,t=async()=>{try{let t=await G.system.status();e&&t.success&&t.data&&n(t.data.uptime)}catch{}};t();let i=setInterval(t,r?2e3:1e4);return()=>{e=!1,clearInterval(i)}},[r]);let c=(0,J.useCallback)(async()=>{if(window.confirm(`Restart the server? All active sessions will be disconnected.`)){i(!0);try{let e=await G.system.restart();e.success?B.info(`Server restarting...`):(B.error(e.error||`Restart failed`),i(!1))}catch{B.error(`Failed to send restart request`),i(!1)}}},[]),l=(0,J.useCallback)(async()=>{if(window.confirm(`Shut down the server? This will stop the entire backend process.`)&&window.confirm(`Are you sure? All active sessions and unsaved work will be lost.`)){s(!0);try{let e=await G.system.shutdown();e.success?B.info(`Server shutting down...`):(B.error(e.error||`Shutdown failed`),s(!1))}catch{B.error(`Failed to send shutdown request`),s(!1)}}},[]);return(0,J.useEffect)(()=>{r&&e<1e4&&(i(!1),B.success(`Server restarted`))},[e,r]),(0,Y.jsx)(Q,{icon:o,iconColor:`text-dark-muted`,title:`System`,children:(0,Y.jsxs)(`div`,{className:`space-y-3`,children:[(0,Y.jsxs)(`div`,{className:`flex items-center justify-between text-sm`,children:[(0,Y.jsx)(`span`,{className:`text-dark-muted`,children:`Server Uptime`}),(0,Y.jsx)(`span`,{className:`text-dark-text font-mono`,children:(e=>{let t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60);return r>0?`${r}h ${n%60}m`:n>0?`${n}m ${t%60}s`:`${t}s`})(e)})]}),(0,Y.jsxs)(`button`,{onClick:c,disabled:r,className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm transition-all ${r?`bg-dark-hover text-dark-muted cursor-wait`:`bg-accent-red/10 text-accent-red hover:bg-accent-red/20 border border-accent-red/30`}`,children:[(0,Y.jsx)(t,{size:14,className:r?`animate-spin`:``}),r?`Restarting...`:`Restart Server`]}),(0,Y.jsxs)(`button`,{onClick:l,disabled:a,className:`flex items-center gap-2 px-4 py-2 rounded-lg text-sm transition-all ${a?`bg-dark-hover text-dark-muted cursor-wait`:`bg-accent-red/10 text-accent-red hover:bg-accent-red/20 border border-accent-red/30`}`,children:[(0,Y.jsx)(j,{size:14,className:a?`animate-pulse`:``}),a?`Shutting Down...`:`Shutdown Server`]})]})})}function yt(){let{t:e}=R();return(0,Y.jsx)(Q,{icon:I,iconColor:`text-accent-blue`,title:e(`settings.about`),children:(0,Y.jsxs)(`div`,{className:`text-sm text-dark-muted space-y-2`,children:[(0,Y.jsxs)(`p`,{children:[(0,Y.jsx)(`span`,{className:`text-dark-text`,children:`DeepSeekCode Web`}),` v`,ot.version]}),(0,Y.jsx)(`p`,{children:e(`settings.aboutDesc`)}),(0,Y.jsx)(`p`,{className:`text-xs`,children:`Powered by React + TypeScript + TailwindCSS`}),(0,Y.jsx)(`p`,{className:`text-xs`,children:`联系:ngwlh2026@gmail.com`}),(0,Y.jsxs)(`button`,{onClick:()=>ke.getState().openWhatsNew(),className:`mt-2 flex items-center gap-2 px-4 py-2 rounded-lg text-sm transition-all bg-accent-blue/10 text-accent-blue hover:bg-accent-blue/20 border border-accent-blue/30`,children:[(0,Y.jsx)(d,{size:14}),e(`settings.whatsNew`)]})]})})}export{ct as SettingsModal};