@zythum02/fello-server 0.1.55 → 0.1.57

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 (396) hide show
  1. package/out/renderer/assets/PopoverPopup-BcHY-oda.js +591 -0
  2. package/out/renderer/assets/PopoverPopup-BcHY-oda.js.br +0 -0
  3. package/out/renderer/assets/PopoverPopup-BcHY-oda.js.gz +0 -0
  4. package/out/renderer/assets/{_baseUniq-BdLqGxOi.js → _baseUniq-KD2XGr9F.js} +1 -1
  5. package/out/renderer/assets/_baseUniq-KD2XGr9F.js.br +0 -0
  6. package/out/renderer/assets/_baseUniq-KD2XGr9F.js.gz +0 -0
  7. package/out/renderer/assets/{arc-UpL8po5R.js → arc-CR7wDdln.js} +1 -1
  8. package/out/renderer/assets/arc-CR7wDdln.js.br +0 -0
  9. package/out/renderer/assets/arc-CR7wDdln.js.gz +0 -0
  10. package/out/renderer/assets/{architectureDiagram-Q4EWVU46-ManEkEbl.js → architectureDiagram-Q4EWVU46-ob7rXg_N.js} +6 -6
  11. package/out/renderer/assets/architectureDiagram-Q4EWVU46-ob7rXg_N.js.br +0 -0
  12. package/out/renderer/assets/architectureDiagram-Q4EWVU46-ob7rXg_N.js.gz +0 -0
  13. package/out/renderer/assets/{arrow-left-BnuWerui.js → arrow-left-Ck_ZVJr5.js} +1 -1
  14. package/out/renderer/assets/{arrow-up-quD46bYg.js → arrow-up-D7cOrlYE.js} +4 -15
  15. package/out/renderer/assets/{automation-cVl19jbl.js → automation-W30eYgU8.js} +36 -13
  16. package/out/renderer/assets/automation-W30eYgU8.js.br +0 -0
  17. package/out/renderer/assets/automation-W30eYgU8.js.gz +0 -0
  18. package/out/renderer/assets/{blockDiagram-DXYQGD6D-B7n8X8F6.js → blockDiagram-DXYQGD6D-DH0dgWHF.js} +7 -7
  19. package/out/renderer/assets/blockDiagram-DXYQGD6D-DH0dgWHF.js.br +0 -0
  20. package/out/renderer/assets/blockDiagram-DXYQGD6D-DH0dgWHF.js.gz +0 -0
  21. package/out/renderer/assets/{c4Diagram-AHTNJAMY-BoP_JNY0.js → c4Diagram-AHTNJAMY--55RlH_-.js} +3 -3
  22. package/out/renderer/assets/c4Diagram-AHTNJAMY--55RlH_-.js.br +0 -0
  23. package/out/renderer/assets/c4Diagram-AHTNJAMY--55RlH_-.js.gz +0 -0
  24. package/out/renderer/assets/{channel-BTAU8ahK.js → channel-Bz679Wzq.js} +1 -1
  25. package/out/renderer/assets/{chunk-4BX2VUAB-BCKz1EgZ.js → chunk-4BX2VUAB-0jn0O1rt.js} +1 -1
  26. package/out/renderer/assets/{chunk-4TB4RGXK-B2HhnMqB.js → chunk-4TB4RGXK-BI1TetiG.js} +5 -5
  27. package/out/renderer/assets/chunk-4TB4RGXK-BI1TetiG.js.br +0 -0
  28. package/out/renderer/assets/chunk-4TB4RGXK-BI1TetiG.js.gz +0 -0
  29. package/out/renderer/assets/{chunk-55IACEB6-Drurz_4k.js → chunk-55IACEB6-9LfmpuHC.js} +1 -1
  30. package/out/renderer/assets/{chunk-EDXVE4YY-Xfghcg7b.js → chunk-EDXVE4YY-CtHVLcvG.js} +1 -1
  31. package/out/renderer/assets/chunk-EDXVE4YY-CtHVLcvG.js.br +0 -0
  32. package/out/renderer/assets/chunk-EDXVE4YY-CtHVLcvG.js.gz +0 -0
  33. package/out/renderer/assets/{chunk-FMBD7UC4-Birgz8kz.js → chunk-FMBD7UC4-eUJaG2CL.js} +1 -1
  34. package/out/renderer/assets/{chunk-OYMX7WX6-Cv4jgShd.js → chunk-OYMX7WX6-D-sPmxYW.js} +3 -3
  35. package/out/renderer/assets/chunk-OYMX7WX6-D-sPmxYW.js.br +0 -0
  36. package/out/renderer/assets/chunk-OYMX7WX6-D-sPmxYW.js.gz +0 -0
  37. package/out/renderer/assets/{chunk-QZHKN3VN-DkqKjktH.js → chunk-QZHKN3VN-Pdv-mSqK.js} +1 -1
  38. package/out/renderer/assets/{chunk-YZCP3GAM-CJK_tBTq.js → chunk-YZCP3GAM-DLpllNY2.js} +1 -1
  39. package/out/renderer/assets/chunk-YZCP3GAM-DLpllNY2.js.br +0 -0
  40. package/out/renderer/assets/chunk-YZCP3GAM-DLpllNY2.js.gz +0 -0
  41. package/out/renderer/assets/{circle-x-C9_Yp0Tg.js → circle-x-Cs_T6g0B.js} +1 -1
  42. package/out/renderer/assets/{classDiagram-v2-HSJHXN6E-Bf4To0VI.js → classDiagram-6PBFFD2Q-BQx6mUfF.js} +7 -7
  43. package/out/renderer/assets/{classDiagram-6PBFFD2Q-Bf4To0VI.js → classDiagram-v2-HSJHXN6E-BQx6mUfF.js} +7 -7
  44. package/out/renderer/assets/{clone-Ci5J50Pn.js → clone-DsYDv_WX.js} +1 -1
  45. package/out/renderer/assets/{code-editor-BwPwET3m.js → code-editor-Ce-8PAj3.js} +2 -2
  46. package/out/renderer/assets/code-editor-Ce-8PAj3.js.br +0 -0
  47. package/out/renderer/assets/code-editor-Ce-8PAj3.js.gz +0 -0
  48. package/out/renderer/assets/{collapsible-CMQ8h8ID.js → collapsible-CKgHeKAs.js} +1 -1
  49. package/out/renderer/assets/collapsible-CKgHeKAs.js.br +0 -0
  50. package/out/renderer/assets/collapsible-CKgHeKAs.js.gz +0 -0
  51. package/out/renderer/assets/{command-nKlwdb6i.js → command-Cgkdasyl.js} +1 -1
  52. package/out/renderer/assets/{cose-bilkent-S5V4N54A-BZpcn2q9.js → cose-bilkent-S5V4N54A-hNCr9Ibx.js} +2 -2
  53. package/out/renderer/assets/cose-bilkent-S5V4N54A-hNCr9Ibx.js.br +0 -0
  54. package/out/renderer/assets/cose-bilkent-S5V4N54A-hNCr9Ibx.js.gz +0 -0
  55. package/out/renderer/assets/{dagre-KV5264BT-onHZodsn.js → dagre-KV5264BT-CGyBht8M.js} +7 -7
  56. package/out/renderer/assets/dagre-KV5264BT-CGyBht8M.js.br +0 -0
  57. package/out/renderer/assets/dagre-KV5264BT-CGyBht8M.js.gz +0 -0
  58. package/out/renderer/assets/{diagram-5BDNPKRD-y3QVYwp7.js → diagram-5BDNPKRD-BiZfiCzA.js} +7 -7
  59. package/out/renderer/assets/diagram-5BDNPKRD-BiZfiCzA.js.br +0 -0
  60. package/out/renderer/assets/diagram-5BDNPKRD-BiZfiCzA.js.gz +0 -0
  61. package/out/renderer/assets/{diagram-G4DWMVQ6-LB3RUjrJ.js → diagram-G4DWMVQ6-CWj4c_xE.js} +7 -7
  62. package/out/renderer/assets/diagram-G4DWMVQ6-CWj4c_xE.js.br +0 -0
  63. package/out/renderer/assets/diagram-G4DWMVQ6-CWj4c_xE.js.gz +0 -0
  64. package/out/renderer/assets/{diagram-MMDJMWI5-7NpY26IL.js → diagram-MMDJMWI5-iBnXAZDJ.js} +6 -6
  65. package/out/renderer/assets/diagram-MMDJMWI5-iBnXAZDJ.js.br +0 -0
  66. package/out/renderer/assets/diagram-MMDJMWI5-iBnXAZDJ.js.gz +0 -0
  67. package/out/renderer/assets/{diagram-TYMM5635-DRM1RRr4.js → diagram-TYMM5635-C7IGtL42.js} +6 -6
  68. package/out/renderer/assets/diagram-TYMM5635-C7IGtL42.js.br +0 -0
  69. package/out/renderer/assets/diagram-TYMM5635-C7IGtL42.js.gz +0 -0
  70. package/out/renderer/assets/{ellipsis-D_eCkauJ.js → ellipsis-DSui0Rae.js} +1 -1
  71. package/out/renderer/assets/{erDiagram-SMLLAGMA-DNIZ639C.js → erDiagram-SMLLAGMA-ChPUl_x9.js} +5 -5
  72. package/out/renderer/assets/erDiagram-SMLLAGMA-ChPUl_x9.js.br +0 -0
  73. package/out/renderer/assets/erDiagram-SMLLAGMA-ChPUl_x9.js.gz +0 -0
  74. package/out/renderer/assets/external-link-CoW4VuI3.js +15 -0
  75. package/out/renderer/assets/{field-YZTi9Jxc.js → field-CXofwfDF.js} +1 -1
  76. package/out/renderer/assets/field-CXofwfDF.js.br +0 -0
  77. package/out/renderer/assets/field-CXofwfDF.js.gz +0 -0
  78. package/out/renderer/assets/{file-text-DDtS1g4Q.js → file-text-CwFSQGtt.js} +1 -1
  79. package/out/renderer/assets/{flowDiagram-DWJPFMVM-C0ghMibN.js → flowDiagram-DWJPFMVM-C5Zt4Sfn.js} +7 -7
  80. package/out/renderer/assets/flowDiagram-DWJPFMVM-C5Zt4Sfn.js.br +0 -0
  81. package/out/renderer/assets/flowDiagram-DWJPFMVM-C5Zt4Sfn.js.gz +0 -0
  82. package/out/renderer/assets/{ganttDiagram-T4ZO3ILL-tqeHqMu4.js → ganttDiagram-T4ZO3ILL-Cp30RG1g.js} +3 -3
  83. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-Cp30RG1g.js.br +0 -0
  84. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-Cp30RG1g.js.gz +0 -0
  85. package/out/renderer/assets/{gitGraphDiagram-UUTBAWPF-D6acFhfE.js → gitGraphDiagram-UUTBAWPF-CkfzOUvM.js} +7 -7
  86. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-CkfzOUvM.js.br +0 -0
  87. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-CkfzOUvM.js.gz +0 -0
  88. package/out/renderer/assets/{graph-DqFGMaSz.js → graph-HfEt9-p2.js} +2 -2
  89. package/out/renderer/assets/graph-HfEt9-p2.js.br +0 -0
  90. package/out/renderer/assets/graph-HfEt9-p2.js.gz +0 -0
  91. package/out/renderer/assets/{highlighted-body-KPVGNVTW-D2IZ7Enb.js → highlighted-body-KPVGNVTW-CUokS6r6.js} +2 -2
  92. package/out/renderer/assets/index-Byirxhp5.css +382 -0
  93. package/out/renderer/assets/index-Byirxhp5.css.br +0 -0
  94. package/out/renderer/assets/index-Byirxhp5.css.gz +0 -0
  95. package/out/renderer/assets/{index-BeEZXfJZ.js → index-CKDwIiIb.js} +2277 -923
  96. package/out/renderer/assets/index-CKDwIiIb.js.br +0 -0
  97. package/out/renderer/assets/index-CKDwIiIb.js.gz +0 -0
  98. package/out/renderer/assets/{infoDiagram-42DDH7IO-BJeydI3V.js → infoDiagram-42DDH7IO-DbQvToBf.js} +5 -5
  99. package/out/renderer/assets/infoDiagram-42DDH7IO-DbQvToBf.js.br +0 -0
  100. package/out/renderer/assets/infoDiagram-42DDH7IO-DbQvToBf.js.gz +0 -0
  101. package/out/renderer/assets/{ishikawaDiagram-UXIWVN3A-DPgToD8D.js → ishikawaDiagram-UXIWVN3A-Crmx2UcL.js} +2 -2
  102. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-Crmx2UcL.js.br +0 -0
  103. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-Crmx2UcL.js.gz +0 -0
  104. package/out/renderer/assets/{item-SQsw2AyN.js → item-2gdt65LZ.js} +1 -1
  105. package/out/renderer/assets/item-2gdt65LZ.js.br +0 -0
  106. package/out/renderer/assets/item-2gdt65LZ.js.gz +0 -0
  107. package/out/renderer/assets/{journeyDiagram-VCZTEJTY-CAnZXd__.js → journeyDiagram-VCZTEJTY-BD3MzoDm.js} +5 -5
  108. package/out/renderer/assets/journeyDiagram-VCZTEJTY-BD3MzoDm.js.br +0 -0
  109. package/out/renderer/assets/journeyDiagram-VCZTEJTY-BD3MzoDm.js.gz +0 -0
  110. package/out/renderer/assets/{kanban-definition-6JOO6SKY-VCfgwCTi.js → kanban-definition-6JOO6SKY-DlPWdcq8.js} +3 -3
  111. package/out/renderer/assets/kanban-definition-6JOO6SKY-DlPWdcq8.js.br +0 -0
  112. package/out/renderer/assets/kanban-definition-6JOO6SKY-DlPWdcq8.js.gz +0 -0
  113. package/out/renderer/assets/keyboard-BmncEbVT.js +21 -0
  114. package/out/renderer/assets/{layout-lw2KhCMB.js → layout-OHsAY-70.js} +4 -4
  115. package/out/renderer/assets/layout-OHsAY-70.js.br +0 -0
  116. package/out/renderer/assets/layout-OHsAY-70.js.gz +0 -0
  117. package/out/renderer/assets/{linear-DmbMR7a-.js → linear-CnBTAk2r.js} +1 -1
  118. package/out/renderer/assets/linear-CnBTAk2r.js.br +0 -0
  119. package/out/renderer/assets/linear-CnBTAk2r.js.gz +0 -0
  120. package/out/renderer/assets/{link-2-CWpGKoWR.js → link-2-CABYiITN.js} +3 -15
  121. package/out/renderer/assets/{mermaid-HWGCJPDP-BufLuIVq.js → mermaid-HWGCJPDP-OB5tfzeR.js} +58 -54
  122. package/out/renderer/assets/mermaid-HWGCJPDP-OB5tfzeR.js.br +0 -0
  123. package/out/renderer/assets/mermaid-HWGCJPDP-OB5tfzeR.js.gz +0 -0
  124. package/out/renderer/assets/{mic-UZHvCQhw.js → mic-Bu7eaTKt.js} +1 -1
  125. package/out/renderer/assets/{min-BCqStlR1.js → min-lM3sC06g.js} +2 -2
  126. package/out/renderer/assets/min-lM3sC06g.js.br +0 -0
  127. package/out/renderer/assets/min-lM3sC06g.js.gz +0 -0
  128. package/out/renderer/assets/{mindmap-definition-QFDTVHPH-C0dBO3f9.js → mindmap-definition-QFDTVHPH-2KHTVjBe.js} +4 -4
  129. package/out/renderer/assets/mindmap-definition-QFDTVHPH-2KHTVjBe.js.br +0 -0
  130. package/out/renderer/assets/mindmap-definition-QFDTVHPH-2KHTVjBe.js.gz +0 -0
  131. package/out/renderer/assets/{open-guide-CWoE2W97.js → open-guide-CKryRC5n.js} +1 -1
  132. package/out/renderer/assets/{package-search-SZPcR_1L.js → package-search-DPG91yZB.js} +1 -1
  133. package/out/renderer/assets/{pieDiagram-DEJITSTG-Dv_tH6Z_.js → pieDiagram-DEJITSTG-CWRoGvfQ.js} +7 -7
  134. package/out/renderer/assets/pieDiagram-DEJITSTG-CWRoGvfQ.js.br +0 -0
  135. package/out/renderer/assets/pieDiagram-DEJITSTG-CWRoGvfQ.js.gz +0 -0
  136. package/out/renderer/assets/{plus-BZ0wwKkh.js → plus-CFoa8VhI.js} +1 -1
  137. package/out/renderer/assets/{quadrantDiagram-34T5L4WZ-Cvsj5cyu.js → quadrantDiagram-34T5L4WZ-BJVP6FPm.js} +3 -3
  138. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-BJVP6FPm.js.br +0 -0
  139. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-BJVP6FPm.js.gz +0 -0
  140. package/out/renderer/assets/{requirementDiagram-MS252O5E-CxM7H308.js → requirementDiagram-MS252O5E-_MTj_l0V.js} +4 -4
  141. package/out/renderer/assets/requirementDiagram-MS252O5E-_MTj_l0V.js.br +0 -0
  142. package/out/renderer/assets/requirementDiagram-MS252O5E-_MTj_l0V.js.gz +0 -0
  143. package/out/renderer/assets/{resizable-DD8ADhVy.js → resizable-CcCcCDAN.js} +1 -1
  144. package/out/renderer/assets/resizable-CcCcCDAN.js.br +0 -0
  145. package/out/renderer/assets/resizable-CcCcCDAN.js.gz +0 -0
  146. package/out/renderer/assets/{sankeyDiagram-XADWPNL6-BGTOA6ee.js → sankeyDiagram-XADWPNL6-BWkr3adU.js} +2 -2
  147. package/out/renderer/assets/sankeyDiagram-XADWPNL6-BWkr3adU.js.br +0 -0
  148. package/out/renderer/assets/sankeyDiagram-XADWPNL6-BWkr3adU.js.gz +0 -0
  149. package/out/renderer/assets/{schedule-DMyyz9A1.js → schedule-H1BEvD9Q.js} +24 -11
  150. package/out/renderer/assets/schedule-H1BEvD9Q.js.br +0 -0
  151. package/out/renderer/assets/schedule-H1BEvD9Q.js.gz +0 -0
  152. package/out/renderer/assets/{search-XexOgLud.js → search-B3aFhEKs.js} +1 -1
  153. package/out/renderer/assets/{sequenceDiagram-FGHM5R23-DezlXo1X.js → sequenceDiagram-FGHM5R23-CfRs3_Dx.js} +4 -4
  154. package/out/renderer/assets/sequenceDiagram-FGHM5R23-CfRs3_Dx.js.br +0 -0
  155. package/out/renderer/assets/sequenceDiagram-FGHM5R23-CfRs3_Dx.js.gz +0 -0
  156. package/out/renderer/assets/{session-DQEqHTKb.js → session-D6NE3yNE.js} +2327 -2791
  157. package/out/renderer/assets/session-D6NE3yNE.js.br +0 -0
  158. package/out/renderer/assets/session-D6NE3yNE.js.gz +0 -0
  159. package/out/renderer/assets/setting-dialog-CANlzubW.js +5086 -0
  160. package/out/renderer/assets/setting-dialog-CANlzubW.js.br +0 -0
  161. package/out/renderer/assets/setting-dialog-CANlzubW.js.gz +0 -0
  162. package/out/renderer/assets/{settings-agents-f3HkdiTw.js → settings-agents-DxIwcY7M.js} +12 -12
  163. package/out/renderer/assets/settings-agents-DxIwcY7M.js.br +0 -0
  164. package/out/renderer/assets/settings-agents-DxIwcY7M.js.gz +0 -0
  165. package/out/renderer/assets/settings-general-B85uTAij.js +624 -0
  166. package/out/renderer/assets/settings-general-B85uTAij.js.br +0 -0
  167. package/out/renderer/assets/settings-general-B85uTAij.js.gz +0 -0
  168. package/out/renderer/assets/{settings-ilink-Da336Koc.js → settings-ilink-BgeA04Nv.js} +51 -20
  169. package/out/renderer/assets/settings-ilink-BgeA04Nv.js.br +0 -0
  170. package/out/renderer/assets/settings-ilink-BgeA04Nv.js.gz +0 -0
  171. package/out/renderer/assets/{settings-image-generation-RmWs73ZG.js → settings-image-generation-CsWv4wXY.js} +6 -6
  172. package/out/renderer/assets/settings-image-generation-CsWv4wXY.js.br +0 -0
  173. package/out/renderer/assets/settings-image-generation-CsWv4wXY.js.gz +0 -0
  174. package/out/renderer/assets/{settings-layout-DL6ZEzgP.js → settings-layout-DJbT4rIH.js} +32 -7
  175. package/out/renderer/assets/settings-layout-DJbT4rIH.js.br +0 -0
  176. package/out/renderer/assets/settings-layout-DJbT4rIH.js.gz +0 -0
  177. package/out/renderer/assets/{settings-mcp-BKW8JKtO.js → settings-mcp-Cz6GMogp.js} +97 -29
  178. package/out/renderer/assets/settings-mcp-Cz6GMogp.js.br +0 -0
  179. package/out/renderer/assets/settings-mcp-Cz6GMogp.js.gz +0 -0
  180. package/out/renderer/assets/{settings-memory-o4r-_vob.js → settings-memory-Cidr_Ghw.js} +2 -2
  181. package/out/renderer/assets/settings-memory-Cidr_Ghw.js.br +0 -0
  182. package/out/renderer/assets/settings-memory-Cidr_Ghw.js.gz +0 -0
  183. package/out/renderer/assets/settings-peripherals-DilwOpyO.js +269 -0
  184. package/out/renderer/assets/settings-peripherals-DilwOpyO.js.br +0 -0
  185. package/out/renderer/assets/settings-peripherals-DilwOpyO.js.gz +0 -0
  186. package/out/renderer/assets/{settings-shortcuts-BmUGS1q_.js → settings-shortcuts-dWdRCFxB.js} +16 -6
  187. package/out/renderer/assets/settings-shortcuts-dWdRCFxB.js.br +0 -0
  188. package/out/renderer/assets/settings-shortcuts-dWdRCFxB.js.gz +0 -0
  189. package/out/renderer/assets/{settings-snippets-CpAOJmDF.js → settings-snippets-CrtJYwLV.js} +9 -9
  190. package/out/renderer/assets/settings-snippets-CrtJYwLV.js.br +0 -0
  191. package/out/renderer/assets/settings-snippets-CrtJYwLV.js.gz +0 -0
  192. package/out/renderer/assets/settings-speech-CteE8F4J.js +1369 -0
  193. package/out/renderer/assets/settings-speech-CteE8F4J.js.br +0 -0
  194. package/out/renderer/assets/settings-speech-CteE8F4J.js.gz +0 -0
  195. package/out/renderer/assets/{settings-webui-DIEKvTrI.js → settings-webui-DKiOzDSD.js} +3 -3
  196. package/out/renderer/assets/settings-webui-DKiOzDSD.js.br +0 -0
  197. package/out/renderer/assets/settings-webui-DKiOzDSD.js.gz +0 -0
  198. package/out/renderer/assets/{skills-installed-BuWBDk6r.js → skills-installed-Beqe9G7p.js} +4 -4
  199. package/out/renderer/assets/skills-installed-Beqe9G7p.js.br +0 -0
  200. package/out/renderer/assets/skills-installed-Beqe9G7p.js.gz +0 -0
  201. package/out/renderer/assets/{skills-layout-ByPhfHG6.js → skills-layout-BAzfcnkT.js} +2 -2
  202. package/out/renderer/assets/skills-layout-BAzfcnkT.js.br +0 -0
  203. package/out/renderer/assets/skills-layout-BAzfcnkT.js.gz +0 -0
  204. package/out/renderer/assets/{skills-skills-sh-wR7YNmAJ.js → skills-skills-sh-Dzocqfu4.js} +4 -4
  205. package/out/renderer/assets/skills-skills-sh-Dzocqfu4.js.br +0 -0
  206. package/out/renderer/assets/skills-skills-sh-Dzocqfu4.js.gz +0 -0
  207. package/out/renderer/assets/{settings-general-BcCOVmx3.js → slider-DEK94SlL.js} +4 -623
  208. package/out/renderer/assets/slider-DEK94SlL.js.br +0 -0
  209. package/out/renderer/assets/slider-DEK94SlL.js.gz +0 -0
  210. package/out/renderer/assets/{sortable.esm-BWvT9HIK.js → sortable.esm-Cm4rqFU7.js} +1 -1
  211. package/out/renderer/assets/sortable.esm-Cm4rqFU7.js.br +0 -0
  212. package/out/renderer/assets/sortable.esm-Cm4rqFU7.js.gz +0 -0
  213. package/out/renderer/assets/{standard-schema-BkTVIf7N.js → standard-schema-B43ZsT5c.js} +52 -1
  214. package/out/renderer/assets/standard-schema-B43ZsT5c.js.br +0 -0
  215. package/out/renderer/assets/standard-schema-B43ZsT5c.js.gz +0 -0
  216. package/out/renderer/assets/{stateDiagram-FHFEXIEX-xdKKCs-p.js → stateDiagram-FHFEXIEX-CaiRC_NA.js} +9 -9
  217. package/out/renderer/assets/stateDiagram-FHFEXIEX-CaiRC_NA.js.br +0 -0
  218. package/out/renderer/assets/stateDiagram-FHFEXIEX-CaiRC_NA.js.gz +0 -0
  219. package/out/renderer/assets/{stateDiagram-v2-QKLJ7IA2-BaaiQ6Kr.js → stateDiagram-v2-QKLJ7IA2-EA3ViVW-.js} +5 -5
  220. package/out/renderer/assets/{task-PHAOSE-W.js → task-DM-bWOFz.js} +13 -11
  221. package/out/renderer/assets/task-DM-bWOFz.js.br +0 -0
  222. package/out/renderer/assets/task-DM-bWOFz.js.gz +0 -0
  223. package/out/renderer/assets/{textarea-1ZWl3C-x.js → textarea-B0OAhnF7.js} +1 -1
  224. package/out/renderer/assets/{timeline-definition-GMOUNBTQ-DFLeLybV.js → timeline-definition-GMOUNBTQ-D-M9BAZz.js} +3 -3
  225. package/out/renderer/assets/timeline-definition-GMOUNBTQ-D-M9BAZz.js.br +0 -0
  226. package/out/renderer/assets/timeline-definition-GMOUNBTQ-D-M9BAZz.js.gz +0 -0
  227. package/out/renderer/assets/{vennDiagram-DHZGUBPP-PKmZLY7H.js → vennDiagram-DHZGUBPP-B_yjg_0U.js} +2 -2
  228. package/out/renderer/assets/vennDiagram-DHZGUBPP-B_yjg_0U.js.br +0 -0
  229. package/out/renderer/assets/vennDiagram-DHZGUBPP-B_yjg_0U.js.gz +0 -0
  230. package/out/renderer/assets/{wardley-RL74JXVD-BCH2vKnv.js → wardley-RL74JXVD-2Xd7XlwA.js} +4 -4
  231. package/out/renderer/assets/wardley-RL74JXVD-2Xd7XlwA.js.br +0 -0
  232. package/out/renderer/assets/wardley-RL74JXVD-2Xd7XlwA.js.gz +0 -0
  233. package/out/renderer/assets/{wardleyDiagram-NUSXRM2D-Bkd3xMno.js → wardleyDiagram-NUSXRM2D-BA9tzMk-.js} +6 -6
  234. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-BA9tzMk-.js.br +0 -0
  235. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-BA9tzMk-.js.gz +0 -0
  236. package/out/renderer/assets/{wrench-8H0LZ83G.js → wrench-QfEqqx9F.js} +1 -1
  237. package/out/renderer/assets/wrench-QfEqqx9F.js.br +0 -0
  238. package/out/renderer/assets/wrench-QfEqqx9F.js.gz +0 -0
  239. package/out/renderer/assets/{xlsx-view-BYx5Ha2P.js → xlsx-view-Bov2NXsI.js} +141 -79
  240. package/out/renderer/assets/xlsx-view-Bov2NXsI.js.br +0 -0
  241. package/out/renderer/assets/xlsx-view-Bov2NXsI.js.gz +0 -0
  242. package/out/renderer/assets/{xychartDiagram-5P7HB3ND-DCOm4uPr.js → xychartDiagram-5P7HB3ND-svs-11is.js} +3 -3
  243. package/out/renderer/assets/xychartDiagram-5P7HB3ND-svs-11is.js.br +0 -0
  244. package/out/renderer/assets/xychartDiagram-5P7HB3ND-svs-11is.js.gz +0 -0
  245. package/out/renderer/index.html +2 -2
  246. package/out/renderer/index.html.br +0 -0
  247. package/out/renderer/index.html.gz +0 -0
  248. package/out/scripts/mcp-toolbox/server.mjs +80 -1
  249. package/out/server/main.js +1576 -353
  250. package/package.json +3 -2
  251. package/out/renderer/assets/_baseUniq-BdLqGxOi.js.br +0 -0
  252. package/out/renderer/assets/_baseUniq-BdLqGxOi.js.gz +0 -0
  253. package/out/renderer/assets/arc-UpL8po5R.js.br +0 -0
  254. package/out/renderer/assets/arc-UpL8po5R.js.gz +0 -0
  255. package/out/renderer/assets/architectureDiagram-Q4EWVU46-ManEkEbl.js.br +0 -0
  256. package/out/renderer/assets/architectureDiagram-Q4EWVU46-ManEkEbl.js.gz +0 -0
  257. package/out/renderer/assets/automation-cVl19jbl.js.br +0 -0
  258. package/out/renderer/assets/automation-cVl19jbl.js.gz +0 -0
  259. package/out/renderer/assets/blockDiagram-DXYQGD6D-B7n8X8F6.js.br +0 -0
  260. package/out/renderer/assets/blockDiagram-DXYQGD6D-B7n8X8F6.js.gz +0 -0
  261. package/out/renderer/assets/c4Diagram-AHTNJAMY-BoP_JNY0.js.br +0 -0
  262. package/out/renderer/assets/c4Diagram-AHTNJAMY-BoP_JNY0.js.gz +0 -0
  263. package/out/renderer/assets/chunk-4TB4RGXK-B2HhnMqB.js.br +0 -0
  264. package/out/renderer/assets/chunk-4TB4RGXK-B2HhnMqB.js.gz +0 -0
  265. package/out/renderer/assets/chunk-EDXVE4YY-Xfghcg7b.js.br +0 -0
  266. package/out/renderer/assets/chunk-EDXVE4YY-Xfghcg7b.js.gz +0 -0
  267. package/out/renderer/assets/chunk-OYMX7WX6-Cv4jgShd.js.br +0 -0
  268. package/out/renderer/assets/chunk-OYMX7WX6-Cv4jgShd.js.gz +0 -0
  269. package/out/renderer/assets/chunk-YZCP3GAM-CJK_tBTq.js.br +0 -0
  270. package/out/renderer/assets/chunk-YZCP3GAM-CJK_tBTq.js.gz +0 -0
  271. package/out/renderer/assets/code-editor-BwPwET3m.js.br +0 -0
  272. package/out/renderer/assets/code-editor-BwPwET3m.js.gz +0 -0
  273. package/out/renderer/assets/collapsible-CMQ8h8ID.js.br +0 -0
  274. package/out/renderer/assets/collapsible-CMQ8h8ID.js.gz +0 -0
  275. package/out/renderer/assets/cose-bilkent-S5V4N54A-BZpcn2q9.js.br +0 -0
  276. package/out/renderer/assets/cose-bilkent-S5V4N54A-BZpcn2q9.js.gz +0 -0
  277. package/out/renderer/assets/dagre-KV5264BT-onHZodsn.js.br +0 -0
  278. package/out/renderer/assets/dagre-KV5264BT-onHZodsn.js.gz +0 -0
  279. package/out/renderer/assets/diagram-5BDNPKRD-y3QVYwp7.js.br +0 -0
  280. package/out/renderer/assets/diagram-5BDNPKRD-y3QVYwp7.js.gz +0 -0
  281. package/out/renderer/assets/diagram-G4DWMVQ6-LB3RUjrJ.js.br +0 -0
  282. package/out/renderer/assets/diagram-G4DWMVQ6-LB3RUjrJ.js.gz +0 -0
  283. package/out/renderer/assets/diagram-MMDJMWI5-7NpY26IL.js.br +0 -0
  284. package/out/renderer/assets/diagram-MMDJMWI5-7NpY26IL.js.gz +0 -0
  285. package/out/renderer/assets/diagram-TYMM5635-DRM1RRr4.js.br +0 -0
  286. package/out/renderer/assets/diagram-TYMM5635-DRM1RRr4.js.gz +0 -0
  287. package/out/renderer/assets/erDiagram-SMLLAGMA-DNIZ639C.js.br +0 -0
  288. package/out/renderer/assets/erDiagram-SMLLAGMA-DNIZ639C.js.gz +0 -0
  289. package/out/renderer/assets/field-YZTi9Jxc.js.br +0 -0
  290. package/out/renderer/assets/field-YZTi9Jxc.js.gz +0 -0
  291. package/out/renderer/assets/flowDiagram-DWJPFMVM-C0ghMibN.js.br +0 -0
  292. package/out/renderer/assets/flowDiagram-DWJPFMVM-C0ghMibN.js.gz +0 -0
  293. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-tqeHqMu4.js.br +0 -0
  294. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-tqeHqMu4.js.gz +0 -0
  295. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-D6acFhfE.js.br +0 -0
  296. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-D6acFhfE.js.gz +0 -0
  297. package/out/renderer/assets/graph-DqFGMaSz.js.br +0 -0
  298. package/out/renderer/assets/graph-DqFGMaSz.js.gz +0 -0
  299. package/out/renderer/assets/index-BZTYKZe8.css +0 -382
  300. package/out/renderer/assets/index-BZTYKZe8.css.br +0 -0
  301. package/out/renderer/assets/index-BZTYKZe8.css.gz +0 -0
  302. package/out/renderer/assets/index-BeEZXfJZ.js.br +0 -0
  303. package/out/renderer/assets/index-BeEZXfJZ.js.gz +0 -0
  304. package/out/renderer/assets/infoDiagram-42DDH7IO-BJeydI3V.js.br +0 -0
  305. package/out/renderer/assets/infoDiagram-42DDH7IO-BJeydI3V.js.gz +0 -0
  306. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-DPgToD8D.js.br +0 -0
  307. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-DPgToD8D.js.gz +0 -0
  308. package/out/renderer/assets/item-SQsw2AyN.js.br +0 -0
  309. package/out/renderer/assets/item-SQsw2AyN.js.gz +0 -0
  310. package/out/renderer/assets/journeyDiagram-VCZTEJTY-CAnZXd__.js.br +0 -0
  311. package/out/renderer/assets/journeyDiagram-VCZTEJTY-CAnZXd__.js.gz +0 -0
  312. package/out/renderer/assets/kanban-definition-6JOO6SKY-VCfgwCTi.js.br +0 -0
  313. package/out/renderer/assets/kanban-definition-6JOO6SKY-VCfgwCTi.js.gz +0 -0
  314. package/out/renderer/assets/layout-lw2KhCMB.js.br +0 -0
  315. package/out/renderer/assets/layout-lw2KhCMB.js.gz +0 -0
  316. package/out/renderer/assets/linear-DmbMR7a-.js.br +0 -0
  317. package/out/renderer/assets/linear-DmbMR7a-.js.gz +0 -0
  318. package/out/renderer/assets/link-2-CWpGKoWR.js.br +0 -0
  319. package/out/renderer/assets/link-2-CWpGKoWR.js.gz +0 -0
  320. package/out/renderer/assets/mermaid-HWGCJPDP-BufLuIVq.js.br +0 -0
  321. package/out/renderer/assets/mermaid-HWGCJPDP-BufLuIVq.js.gz +0 -0
  322. package/out/renderer/assets/min-BCqStlR1.js.br +0 -0
  323. package/out/renderer/assets/min-BCqStlR1.js.gz +0 -0
  324. package/out/renderer/assets/mindmap-definition-QFDTVHPH-C0dBO3f9.js.br +0 -0
  325. package/out/renderer/assets/mindmap-definition-QFDTVHPH-C0dBO3f9.js.gz +0 -0
  326. package/out/renderer/assets/pieDiagram-DEJITSTG-Dv_tH6Z_.js.br +0 -0
  327. package/out/renderer/assets/pieDiagram-DEJITSTG-Dv_tH6Z_.js.gz +0 -0
  328. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-Cvsj5cyu.js.br +0 -0
  329. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-Cvsj5cyu.js.gz +0 -0
  330. package/out/renderer/assets/requirementDiagram-MS252O5E-CxM7H308.js.br +0 -0
  331. package/out/renderer/assets/requirementDiagram-MS252O5E-CxM7H308.js.gz +0 -0
  332. package/out/renderer/assets/resizable-DD8ADhVy.js.br +0 -0
  333. package/out/renderer/assets/resizable-DD8ADhVy.js.gz +0 -0
  334. package/out/renderer/assets/sankeyDiagram-XADWPNL6-BGTOA6ee.js.br +0 -0
  335. package/out/renderer/assets/sankeyDiagram-XADWPNL6-BGTOA6ee.js.gz +0 -0
  336. package/out/renderer/assets/schedule-DMyyz9A1.js.br +0 -0
  337. package/out/renderer/assets/schedule-DMyyz9A1.js.gz +0 -0
  338. package/out/renderer/assets/sequenceDiagram-FGHM5R23-DezlXo1X.js.br +0 -0
  339. package/out/renderer/assets/sequenceDiagram-FGHM5R23-DezlXo1X.js.gz +0 -0
  340. package/out/renderer/assets/session-DQEqHTKb.js.br +0 -0
  341. package/out/renderer/assets/session-DQEqHTKb.js.gz +0 -0
  342. package/out/renderer/assets/setting-dialog-BdiZbd8J.js +0 -642
  343. package/out/renderer/assets/setting-dialog-BdiZbd8J.js.br +0 -0
  344. package/out/renderer/assets/setting-dialog-BdiZbd8J.js.gz +0 -0
  345. package/out/renderer/assets/settings-2-q22Cv4G7.js +0 -16
  346. package/out/renderer/assets/settings-agents-f3HkdiTw.js.br +0 -0
  347. package/out/renderer/assets/settings-agents-f3HkdiTw.js.gz +0 -0
  348. package/out/renderer/assets/settings-general-BcCOVmx3.js.br +0 -0
  349. package/out/renderer/assets/settings-general-BcCOVmx3.js.gz +0 -0
  350. package/out/renderer/assets/settings-ilink-Da336Koc.js.br +0 -0
  351. package/out/renderer/assets/settings-ilink-Da336Koc.js.gz +0 -0
  352. package/out/renderer/assets/settings-image-generation-RmWs73ZG.js.br +0 -0
  353. package/out/renderer/assets/settings-image-generation-RmWs73ZG.js.gz +0 -0
  354. package/out/renderer/assets/settings-layout-DL6ZEzgP.js.br +0 -0
  355. package/out/renderer/assets/settings-layout-DL6ZEzgP.js.gz +0 -0
  356. package/out/renderer/assets/settings-mcp-BKW8JKtO.js.br +0 -0
  357. package/out/renderer/assets/settings-mcp-BKW8JKtO.js.gz +0 -0
  358. package/out/renderer/assets/settings-memory-o4r-_vob.js.br +0 -0
  359. package/out/renderer/assets/settings-memory-o4r-_vob.js.gz +0 -0
  360. package/out/renderer/assets/settings-shortcuts-BmUGS1q_.js.br +0 -0
  361. package/out/renderer/assets/settings-shortcuts-BmUGS1q_.js.gz +0 -0
  362. package/out/renderer/assets/settings-snippets-CpAOJmDF.js.br +0 -0
  363. package/out/renderer/assets/settings-snippets-CpAOJmDF.js.gz +0 -0
  364. package/out/renderer/assets/settings-speech-to-text-C8KHNGE4.js +0 -1054
  365. package/out/renderer/assets/settings-speech-to-text-C8KHNGE4.js.br +0 -0
  366. package/out/renderer/assets/settings-speech-to-text-C8KHNGE4.js.gz +0 -0
  367. package/out/renderer/assets/settings-webui-DIEKvTrI.js.br +0 -0
  368. package/out/renderer/assets/settings-webui-DIEKvTrI.js.gz +0 -0
  369. package/out/renderer/assets/skills-installed-BuWBDk6r.js.br +0 -0
  370. package/out/renderer/assets/skills-installed-BuWBDk6r.js.gz +0 -0
  371. package/out/renderer/assets/skills-layout-ByPhfHG6.js.br +0 -0
  372. package/out/renderer/assets/skills-layout-ByPhfHG6.js.gz +0 -0
  373. package/out/renderer/assets/skills-skills-sh-wR7YNmAJ.js.br +0 -0
  374. package/out/renderer/assets/skills-skills-sh-wR7YNmAJ.js.gz +0 -0
  375. package/out/renderer/assets/sortable.esm-BWvT9HIK.js.br +0 -0
  376. package/out/renderer/assets/sortable.esm-BWvT9HIK.js.gz +0 -0
  377. package/out/renderer/assets/standard-schema-BkTVIf7N.js.br +0 -0
  378. package/out/renderer/assets/standard-schema-BkTVIf7N.js.gz +0 -0
  379. package/out/renderer/assets/stateDiagram-FHFEXIEX-xdKKCs-p.js.br +0 -0
  380. package/out/renderer/assets/stateDiagram-FHFEXIEX-xdKKCs-p.js.gz +0 -0
  381. package/out/renderer/assets/task-PHAOSE-W.js.br +0 -0
  382. package/out/renderer/assets/task-PHAOSE-W.js.gz +0 -0
  383. package/out/renderer/assets/timeline-definition-GMOUNBTQ-DFLeLybV.js.br +0 -0
  384. package/out/renderer/assets/timeline-definition-GMOUNBTQ-DFLeLybV.js.gz +0 -0
  385. package/out/renderer/assets/vennDiagram-DHZGUBPP-PKmZLY7H.js.br +0 -0
  386. package/out/renderer/assets/vennDiagram-DHZGUBPP-PKmZLY7H.js.gz +0 -0
  387. package/out/renderer/assets/wardley-RL74JXVD-BCH2vKnv.js.br +0 -0
  388. package/out/renderer/assets/wardley-RL74JXVD-BCH2vKnv.js.gz +0 -0
  389. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-Bkd3xMno.js.br +0 -0
  390. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-Bkd3xMno.js.gz +0 -0
  391. package/out/renderer/assets/wrench-8H0LZ83G.js.br +0 -0
  392. package/out/renderer/assets/wrench-8H0LZ83G.js.gz +0 -0
  393. package/out/renderer/assets/xlsx-view-BYx5Ha2P.js.br +0 -0
  394. package/out/renderer/assets/xlsx-view-BYx5Ha2P.js.gz +0 -0
  395. package/out/renderer/assets/xychartDiagram-5P7HB3ND-DCOm4uPr.js.br +0 -0
  396. package/out/renderer/assets/xychartDiagram-5P7HB3ND-DCOm4uPr.js.gz +0 -0
@@ -1,5 +1,4 @@
1
- import { aS as shimExports, aT as NOOP, aU as useCSPContext, j as jsxRuntimeExports, u as useTranslation, a as useAppStore, b as useMessage, r as reactExports, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, v as Select, w as SelectTrigger, x as SelectValue, y as SelectContent, z as SelectItem, I as Input, H as DialogFooter, B as Button, f as request, i as isWebUI, V as electron, g as extractErrorMessage, aV as clamp, aW as fieldValidityMapping, ay as formatErrorMessage, au as useBaseUiId, av as useStableCallback, aX as useFormContext, aY as useFieldRootContext, aZ as useLabelableContext, as as useControlled, aL as none, a_ as useRegisterFieldControl, a$ as useValueChanged, b0 as areArraysEqual, aw as createChangeEventDetails, b1 as keyboard, b2 as inputChange, b3 as createGenericEventDetails, aG as useIsoLayoutEffect, b4 as activeElement, b5 as ownerDocument, b6 as contains, aB as useRenderElement, b7 as CompositeList, b8 as getDefaultLabelId, b9 as resolveAriaLabelledBy, ba as useDirection, aK as getWindow, aE as useValueAsRef, bb as getTarget, bc as useAnimationFrame, aJ as addEventListener, bd as isElement, be as drag, bf as trackPress, bg as useLabelableId, bh as useCompositeListItem, ab as mergeProps, bi as visuallyHidden, aD as useMergedRefs, bj as COMPOSITE_KEYS, bk as PAGE_UP, bl as PAGE_DOWN, bm as HOME, bn as END, bo as ARROW_LEFT, bp as ARROW_DOWN, bq as ARROW_RIGHT, br as ARROW_UP, bs as matchesFocusVisible, M as cn, S as ScrollArea, d as Switch, a7 as ChevronRight, bt as EDITOR_LABELS, bu as L, bv as N, bw as _, bx as D, by as w } from "./index-BeEZXfJZ.js";
2
- import { a as Field, b as FieldLabel } from "./field-YZTi9Jxc.js";
1
+ import { bP as shimExports, bQ as NOOP, bR as useCSPContext, j as jsxRuntimeExports, bS as clamp, bT as fieldValidityMapping, r as reactExports, ay as formatErrorMessage, aZ as useBaseUiId, bl as useStableCallback, bU as useFormContext, bV as useFieldRootContext, bW as useLabelableContext, bw as useControlled, bF as none, bX as useRegisterFieldControl, bY as useValueChanged, bZ as areArraysEqual, aR as createChangeEventDetails, b_ as keyboard, b$ as inputChange, c0 as createGenericEventDetails, bf as useIsoLayoutEffect, c1 as activeElement, c2 as ownerDocument, c3 as contains, b5 as useRenderElement, c4 as CompositeList, c5 as getDefaultLabelId, c6 as resolveAriaLabelledBy, c7 as useDirection, bE as getWindow, bB as useValueAsRef, c8 as getTarget, c9 as useAnimationFrame, bD as addEventListener, ca as isElement, cb as drag, cc as trackPress, cd as useLabelableId, ce as useCompositeListItem, ae as mergeProps, cf as visuallyHidden, bA as useMergedRefs, br as COMPOSITE_KEYS, cg as PAGE_UP, ch as PAGE_DOWN, ci as HOME, cj as END, ck as ARROW_LEFT, cl as ARROW_DOWN, cm as ARROW_RIGHT, cn as ARROW_UP, co as matchesFocusVisible, M as cn } from "./index-CKDwIiIb.js";
3
2
  const script = "";
4
3
  function subscribe() {
5
4
  return NOOP;
@@ -32,256 +31,6 @@ function PrehydrationScript(props) {
32
31
  suppressHydrationWarning: true
33
32
  });
34
33
  }
35
- function SettingsProxyDialog({ open, onOpenChange }) {
36
- const { t } = useTranslation();
37
- const proxy = useAppStore((s) => s.proxy);
38
- const setProxy = useAppStore((s) => s.setProxy);
39
- const { toast, alert, confirm } = useMessage();
40
- const [draft, setDraft] = reactExports.useState(() => ({
41
- mode: proxy.mode ?? "off",
42
- httpProxy: proxy.httpProxy ?? "",
43
- httpsProxy: proxy.httpsProxy ?? "",
44
- noProxy: proxy.noProxy ?? "",
45
- username: proxy.username ?? "",
46
- password: proxy.password ?? ""
47
- }));
48
- reactExports.useEffect(() => {
49
- if (!open) return;
50
- setDraft({
51
- mode: proxy.mode ?? "off",
52
- httpProxy: proxy.httpProxy ?? "",
53
- httpsProxy: proxy.httpsProxy ?? "",
54
- noProxy: proxy.noProxy ?? "",
55
- username: proxy.username ?? "",
56
- password: proxy.password ?? ""
57
- });
58
- }, [open, proxy]);
59
- const updateDraft = (patch) => {
60
- setDraft((prev) => ({ ...prev, ...patch }));
61
- };
62
- const handleModeChange = (mode) => {
63
- if (!mode) return;
64
- updateDraft({ mode });
65
- };
66
- const handleSave = async () => {
67
- const trimStr = (value) => {
68
- const trimmed = value?.trim();
69
- return trimmed ? trimmed : void 0;
70
- };
71
- const next = {
72
- mode: draft.mode,
73
- httpProxy: trimStr(draft.httpProxy),
74
- httpsProxy: trimStr(draft.httpsProxy),
75
- noProxy: trimStr(draft.noProxy),
76
- username: trimStr(draft.username),
77
- password: trimStr(draft.password)
78
- };
79
- if (next.mode === "manual") {
80
- if (!next.httpProxy) {
81
- toast.error(
82
- t(
83
- "settings.proxy.validation.httpProxyRequired",
84
- "HTTP proxy URL is required in manual mode."
85
- )
86
- );
87
- return;
88
- }
89
- for (const [field, value] of [
90
- [t("settings.proxy.httpProxy", "HTTP Proxy"), next.httpProxy],
91
- [t("settings.proxy.httpsProxy", "HTTPS proxy"), next.httpsProxy]
92
- ]) {
93
- const v = value?.trim();
94
- if (v && !/^https?:\/\//i.test(v) && !/^[^/]+:\d+$/i.test(v)) {
95
- toast.error(
96
- t(
97
- "settings.proxy.validation.invalidProxyUrl",
98
- "{{field}} should start with http:// or https://, or use a host:port address (e.g. http://127.0.0.1:7890).",
99
- { field }
100
- )
101
- );
102
- return;
103
- }
104
- }
105
- }
106
- try {
107
- await request.updateSettings({ proxy: next });
108
- setProxy(next);
109
- onOpenChange(false);
110
- if (isWebUI) {
111
- await alert({
112
- title: t("settings.proxy.restartTitle", "Restart Required"),
113
- content: t(
114
- "settings.proxy.restartManualDesc",
115
- "Proxy settings saved. Please manually restart the Fello server process to apply the new configuration."
116
- )
117
- });
118
- return;
119
- }
120
- const result = await confirm({
121
- title: t("settings.proxy.restartTitle", "Restart Required"),
122
- content: t(
123
- "settings.proxy.restartDesc",
124
- "Proxy settings saved. Restart Fello to apply the new proxy configuration."
125
- ),
126
- buttons: [
127
- { text: t("settings.proxy.later", "Later"), value: null, variant: "outline" },
128
- {
129
- text: t("settings.proxy.restartNow", "Restart Now"),
130
- value: "confirm",
131
- variant: "default"
132
- }
133
- ]
134
- });
135
- if (result) {
136
- await electron.restartApp();
137
- }
138
- } catch (err) {
139
- toast.error(
140
- extractErrorMessage(err) || t("settings.proxy.saveFailed", "Failed to save proxy settings.")
141
- );
142
- }
143
- };
144
- const modeItems = [
145
- { value: "off", label: t("settings.proxy.off", "Direct") },
146
- { value: "manual", label: t("settings.proxy.manual", "Manual") },
147
- { value: "system", label: t("settings.proxy.system", "System") }
148
- ];
149
- return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open, onOpenChange, disablePointerDismissal: true, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "sm:max-w-lg", children: [
150
- /* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: t("settings.proxy.title", "Network Proxy") }) }),
151
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4 mt-2", children: [
152
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between gap-4", children: [
153
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Field, { className: "gap-1", children: [
154
- /* @__PURE__ */ jsxRuntimeExports.jsx(FieldLabel, { className: "text-xs text-muted-foreground", children: t("settings.proxy.mode", "Proxy Mode") }),
155
- /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[10px] text-muted-foreground/70", children: [
156
- draft.mode === "off" && t("settings.proxy.offDesc", "Connect directly without a proxy"),
157
- draft.mode === "manual" && t(
158
- "settings.proxy.manualDesc",
159
- "Specify a proxy server manually for all network requests"
160
- ),
161
- draft.mode === "system" && t(
162
- "settings.proxy.systemDesc",
163
- "Use the system proxy settings (macOS/Windows or environment variables)"
164
- )
165
- ] })
166
- ] }),
167
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Select, { items: modeItems, value: draft.mode, onValueChange: handleModeChange, children: [
168
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { size: "sm", className: "w-35 text-[11px]!", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "Mode" }) }),
169
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: modeItems.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: item.value, children: item.label }, item.value)) })
170
- ] })
171
- ] }),
172
- draft.mode === "manual" && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
173
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Field, { children: [
174
- /* @__PURE__ */ jsxRuntimeExports.jsx(FieldLabel, { htmlFor: "proxy-http", className: "text-[11px] text-muted-foreground", children: t("settings.proxy.httpProxy", "HTTP Proxy") }),
175
- /* @__PURE__ */ jsxRuntimeExports.jsx(
176
- Input,
177
- {
178
- id: "proxy-http",
179
- type: "text",
180
- value: draft.httpProxy ?? "",
181
- onChange: (e) => updateDraft({ httpProxy: e.target.value }),
182
- placeholder: t(
183
- "settings.proxy.httpProxyPlaceholder",
184
- "e.g. http://127.0.0.1:7890"
185
- ),
186
- className: "h-8 text-[11px]! font-mono text-foreground/70 focus-visible:ring-0.5"
187
- }
188
- )
189
- ] }),
190
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Field, { children: [
191
- /* @__PURE__ */ jsxRuntimeExports.jsx(FieldLabel, { htmlFor: "proxy-https", className: "text-[11px] text-muted-foreground", children: t("settings.proxy.httpsProxy", "HTTPS Proxy (optional)") }),
192
- /* @__PURE__ */ jsxRuntimeExports.jsx(
193
- Input,
194
- {
195
- id: "proxy-https",
196
- type: "text",
197
- value: draft.httpsProxy ?? "",
198
- onChange: (e) => updateDraft({ httpsProxy: e.target.value }),
199
- placeholder: t(
200
- "settings.proxy.httpProxyPlaceholder",
201
- "e.g. http://127.0.0.1:7890"
202
- ),
203
- className: "h-8 text-[11px]! font-mono text-foreground/70 focus-visible:ring-0.5"
204
- }
205
- ),
206
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[10px] text-muted-foreground/70", children: t("settings.proxy.httpsProxyHint", "Falls back to the HTTP proxy when empty.") })
207
- ] }),
208
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Field, { children: [
209
- /* @__PURE__ */ jsxRuntimeExports.jsx(FieldLabel, { htmlFor: "proxy-no-proxy", className: "text-[11px] text-muted-foreground", children: t("settings.proxy.noProxy", "No Proxy (optional)") }),
210
- /* @__PURE__ */ jsxRuntimeExports.jsx(
211
- Input,
212
- {
213
- id: "proxy-no-proxy",
214
- type: "text",
215
- value: draft.noProxy ?? "",
216
- onChange: (e) => updateDraft({ noProxy: e.target.value }),
217
- placeholder: t(
218
- "settings.proxy.noProxyPlaceholder",
219
- "e.g. localhost,127.0.0.1,*.internal"
220
- ),
221
- className: "h-8 text-[11px]! font-mono text-foreground/70 focus-visible:ring-0.5"
222
- }
223
- )
224
- ] }),
225
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
226
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Field, { children: [
227
- /* @__PURE__ */ jsxRuntimeExports.jsx(
228
- FieldLabel,
229
- {
230
- htmlFor: "proxy-username",
231
- className: "text-[11px] text-muted-foreground",
232
- children: t("settings.proxy.username", "Username (optional)")
233
- }
234
- ),
235
- /* @__PURE__ */ jsxRuntimeExports.jsx(
236
- Input,
237
- {
238
- id: "proxy-username",
239
- type: "text",
240
- value: draft.username ?? "",
241
- onChange: (e) => updateDraft({ username: e.target.value }),
242
- className: "h-8 text-[11px]! text-foreground/70 focus-visible:ring-0.5"
243
- }
244
- )
245
- ] }),
246
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Field, { children: [
247
- /* @__PURE__ */ jsxRuntimeExports.jsx(
248
- FieldLabel,
249
- {
250
- htmlFor: "proxy-password",
251
- className: "text-[11px] text-muted-foreground",
252
- children: t("settings.proxy.password", "Password (optional)")
253
- }
254
- ),
255
- /* @__PURE__ */ jsxRuntimeExports.jsx(
256
- Input,
257
- {
258
- id: "proxy-password",
259
- type: "password",
260
- value: draft.password ?? "",
261
- onChange: (e) => updateDraft({ password: e.target.value }),
262
- className: "h-8 text-[11px]! text-foreground/70 focus-visible:ring-0.5"
263
- }
264
- )
265
- ] })
266
- ] })
267
- ] })
268
- ] }),
269
- /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogFooter, { children: [
270
- /* @__PURE__ */ jsxRuntimeExports.jsx(
271
- Button,
272
- {
273
- type: "button",
274
- variant: "outline",
275
- size: "sm",
276
- onClick: () => onOpenChange(false),
277
- className: "h-7 text-xs",
278
- children: t("settings.proxy.cancel", "Cancel")
279
- }
280
- ),
281
- /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "button", size: "sm", className: "h-7 text-xs", onClick: handleSave, children: t("settings.proxy.save", "Save") })
282
- ] })
283
- ] }) });
284
- }
285
34
  function asc(a, b) {
286
35
  return a - b;
287
36
  }
@@ -668,7 +417,7 @@ function resolveThumbCollision(behavior, values, currentValues, initialValues, p
668
417
  };
669
418
  }
670
419
  const targetIndex = shouldSwapForward ? pressedIndex + 1 : pressedIndex - 1;
671
- const initialValuesForPush = candidateValues.map((_2, index2) => {
420
+ const initialValuesForPush = candidateValues.map((_, index2) => {
672
421
  if (index2 === pressedIndex) {
673
422
  return pressedValueAfterClamp;
674
423
  }
@@ -1535,7 +1284,7 @@ function Slider({
1535
1284
  )
1536
1285
  }
1537
1286
  ),
1538
- Array.from({ length: _values.length }, (_2, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1287
+ Array.from({ length: _values.length }, (_, index2) => /* @__PURE__ */ jsxRuntimeExports.jsx(
1539
1288
  SliderThumb,
1540
1289
  {
1541
1290
  "data-slot": "slider-thumb",
@@ -1547,374 +1296,6 @@ function Slider({
1547
1296
  }
1548
1297
  );
1549
1298
  }
1550
- function SettingsGeneral() {
1551
- const { t, i18n: _i18n } = useTranslation();
1552
- const {
1553
- theme,
1554
- setTheme,
1555
- i18n,
1556
- setI18n,
1557
- fileWatcher,
1558
- setFileWatcher,
1559
- editor,
1560
- setEditor,
1561
- sound,
1562
- setSound,
1563
- voiceInput,
1564
- setVoiceInput,
1565
- proxy
1566
- } = useAppStore();
1567
- const { toast } = useMessage();
1568
- const [proxyDialogOpen, setProxyDialogOpen] = reactExports.useState(false);
1569
- const proxySummary = (() => {
1570
- const mode = proxy.mode ?? "off";
1571
- if (mode === "off") return t("settings.general.proxyOff", "Direct");
1572
- if (mode === "system") return t("settings.general.proxySystem", "System");
1573
- const url = proxy.httpProxy || proxy.httpsProxy || "";
1574
- return url ? url : t("settings.proxy.manual", "Manual");
1575
- })();
1576
- const handleThemeChange = async (mode) => {
1577
- if (!mode) return;
1578
- const newTheme = { themeMode: mode };
1579
- setTheme(newTheme);
1580
- try {
1581
- await request.updateSettings({
1582
- theme: newTheme
1583
- });
1584
- } catch {
1585
- toast.error(t("settings.general.saveThemeFailed", "Failed to save theme setting."));
1586
- }
1587
- };
1588
- const handleLanguageChange = async (lang) => {
1589
- if (!lang) return;
1590
- setI18n({ language: lang });
1591
- _i18n.changeLanguage(lang);
1592
- try {
1593
- await request.updateSettings({
1594
- i18n: {
1595
- language: lang
1596
- }
1597
- });
1598
- } catch {
1599
- toast.error(t("settings.general.saveLanguageFailed", "Failed to save language setting."));
1600
- }
1601
- };
1602
- const handleFileWatcherChange = async (checked) => {
1603
- const newFileWatcher = { enabled: checked };
1604
- setFileWatcher(newFileWatcher);
1605
- try {
1606
- await request.updateSettings({
1607
- fileWatcher: newFileWatcher
1608
- });
1609
- } catch {
1610
- toast.error(
1611
- t("settings.general.saveFileWatcherFailed", "Failed to save file watcher setting.")
1612
- );
1613
- }
1614
- };
1615
- const handleVoiceInputShortcutChange = async (checked) => {
1616
- const newVoiceInput = { ...voiceInput, altDoublePress: checked };
1617
- setVoiceInput(newVoiceInput);
1618
- try {
1619
- await request.updateSettings({ voiceInput: newVoiceInput });
1620
- } catch {
1621
- toast.error(
1622
- t("settings.general.saveVoiceInputFailed", "Failed to save voice input setting.")
1623
- );
1624
- }
1625
- };
1626
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 flex flex-col h-full", children: [
1627
- /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6 px-5 py-4 w-full max-w-4xl mx-auto", children: [
1628
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1629
- /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-lg font-medium", children: t("settings.general.title", "General") }),
1630
- /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: t("settings.general.desc", "Manage your application settings.") })
1631
- ] }),
1632
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-6", children: [
1633
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1634
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-xs font-semibold text-muted-foreground/60 uppercase tracking-wider mb-3", children: t("settings.general.groupAppearance", "Appearance") }),
1635
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
1636
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1637
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1638
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.theme") }),
1639
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t("settings.themeDesc", "Customize the appearance of the application") })
1640
- ] }),
1641
- (() => {
1642
- const themeItems = [
1643
- { value: "light", label: t("settings.general.light") },
1644
- { value: "dark", label: t("settings.general.dark") },
1645
- { value: "system", label: t("settings.general.system") }
1646
- ];
1647
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1648
- Select,
1649
- {
1650
- items: themeItems,
1651
- value: theme.themeMode,
1652
- onValueChange: handleThemeChange,
1653
- children: [
1654
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { size: "sm", className: "w-35", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "Theme" }) }),
1655
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: themeItems.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: item.value, children: item.label }, item.value)) })
1656
- ]
1657
- }
1658
- );
1659
- })()
1660
- ] }),
1661
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1662
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1663
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.language") }),
1664
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t("settings.languageDesc", "Select the display language") })
1665
- ] }),
1666
- (() => {
1667
- const languageItems = [
1668
- { value: "en", label: t("settings.general.english") },
1669
- { value: "zh-CN", label: t("settings.general.chinese") }
1670
- ];
1671
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1672
- Select,
1673
- {
1674
- items: languageItems,
1675
- value: i18n.language,
1676
- onValueChange: handleLanguageChange,
1677
- children: [
1678
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { size: "sm", className: "w-35", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "Language" }) }),
1679
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: languageItems.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: item.value, children: item.label }, item.value)) })
1680
- ]
1681
- }
1682
- );
1683
- })()
1684
- ] })
1685
- ] })
1686
- ] }),
1687
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "border-t border-border" }),
1688
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1689
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-xs font-semibold text-muted-foreground/60 uppercase tracking-wider mb-3", children: t("settings.general.groupProject", "Project") }),
1690
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1691
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1692
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.autoWatchFiles") }),
1693
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t(
1694
- "settings.general.autoWatchFilesDesc",
1695
- "Automatically watch project file changes"
1696
- ) })
1697
- ] }),
1698
- /* @__PURE__ */ jsxRuntimeExports.jsx(Switch, { checked: fileWatcher.enabled, onCheckedChange: handleFileWatcherChange })
1699
- ] }) })
1700
- ] }),
1701
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "border-t border-border" }),
1702
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1703
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-xs font-semibold text-muted-foreground/60 uppercase tracking-wider mb-3", children: t("settings.general.groupVoiceInput", "Voice Input") }),
1704
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1705
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1706
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.altDoublePress", "Double-press Alt") }),
1707
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t(
1708
- "settings.general.altDoublePressDesc",
1709
- "Double-press Alt quickly while an input is focused to start or stop voice input."
1710
- ) })
1711
- ] }),
1712
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1713
- Switch,
1714
- {
1715
- checked: voiceInput.altDoublePress,
1716
- onCheckedChange: handleVoiceInputShortcutChange
1717
- }
1718
- )
1719
- ] }) })
1720
- ] }),
1721
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "border-t border-border" }),
1722
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1723
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-xs font-semibold text-muted-foreground/60 uppercase tracking-wider mb-3", children: t("settings.general.groupNetwork", "Network") }),
1724
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1725
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1726
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.proxy", "Network Proxy") }),
1727
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t(
1728
- "settings.general.proxyDesc",
1729
- "Configure the network proxy used by Fello for Node requests, subprocesses and the UI."
1730
- ) })
1731
- ] }),
1732
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
1733
- Button,
1734
- {
1735
- type: "button",
1736
- variant: "outline",
1737
- size: "sm",
1738
- className: "h-7 w-35 shrink-0 text-xs text-muted-foreground hover:text-foreground",
1739
- onClick: () => setProxyDialogOpen(true),
1740
- title: t("settings.general.proxyEdit", "Edit proxy settings"),
1741
- children: [
1742
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "min-w-0 flex-1 truncate text-left", children: proxySummary }),
1743
- /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-3 shrink-0" })
1744
- ]
1745
- }
1746
- )
1747
- ] })
1748
- ] }),
1749
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "border-t border-border" }),
1750
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1751
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-xs font-semibold text-muted-foreground/60 uppercase tracking-wider mb-3", children: t("settings.general.groupEditor", "Editor") }),
1752
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1753
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1754
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.editor", "Open in Editor") }),
1755
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t("settings.general.editorDesc", "Choose the editor to open files") })
1756
- ] }),
1757
- (() => {
1758
- const editorItems = Object.keys(EDITOR_LABELS).sort((a, b) => EDITOR_LABELS[a].localeCompare(EDITOR_LABELS[b])).map((value) => ({ value, label: EDITOR_LABELS[value] }));
1759
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1760
- Select,
1761
- {
1762
- items: editorItems,
1763
- value: editor.name,
1764
- onValueChange: async (val) => {
1765
- if (!val) return;
1766
- const newEditor = { name: val };
1767
- setEditor(newEditor);
1768
- try {
1769
- await request.updateSettings({ editor: newEditor });
1770
- } catch {
1771
- toast.error(
1772
- t(
1773
- "settings.general.saveEditorFailed",
1774
- "Failed to save editor setting."
1775
- )
1776
- );
1777
- }
1778
- },
1779
- children: [
1780
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { size: "sm", className: "w-44", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1781
- SelectValue,
1782
- {
1783
- placeholder: t("settings.general.selectEditor", "Select editor")
1784
- }
1785
- ) }),
1786
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: editorItems.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: item.value, children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex items-center gap-2", children: item.label }) }, item.value)) })
1787
- ]
1788
- }
1789
- );
1790
- })()
1791
- ] }) })
1792
- ] }),
1793
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "border-t border-border" }),
1794
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
1795
- /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "text-xs font-semibold text-muted-foreground/60 uppercase tracking-wider mb-3", children: t("settings.general.groupSound", "Sound") }),
1796
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
1797
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1798
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1799
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.soundEnabled", "Sound Effects") }),
1800
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t(
1801
- "settings.general.soundEnabledDesc",
1802
- "Play sound effects for notifications"
1803
- ) })
1804
- ] }),
1805
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1806
- Switch,
1807
- {
1808
- checked: !sound.muted,
1809
- onCheckedChange: async (checked) => {
1810
- const newSound = { ...sound, muted: !checked };
1811
- setSound(newSound);
1812
- if (newSound.muted) {
1813
- L();
1814
- } else {
1815
- N();
1816
- }
1817
- try {
1818
- await request.updateSettings({ sound: newSound });
1819
- } catch {
1820
- toast.error(
1821
- t("settings.general.saveSoundFailed", "Failed to save sound setting.")
1822
- );
1823
- }
1824
- }
1825
- }
1826
- )
1827
- ] }),
1828
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1829
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1830
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.soundVolume", "Volume") }),
1831
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t("settings.general.soundVolumeDesc", "Adjust notification volume") })
1832
- ] }),
1833
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-35", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1834
- Slider,
1835
- {
1836
- value: [sound.volume],
1837
- min: 0,
1838
- max: 100,
1839
- step: 1,
1840
- onValueChange: async (val) => {
1841
- const vol = Array.isArray(val) ? val[0] : val;
1842
- const newSound = { ...sound, volume: vol };
1843
- setSound(newSound);
1844
- _(vol / 100);
1845
- try {
1846
- await request.updateSettings({ sound: newSound });
1847
- } catch {
1848
- toast.error(
1849
- t("settings.general.saveSoundFailed", "Failed to save sound setting.")
1850
- );
1851
- }
1852
- }
1853
- }
1854
- ) })
1855
- ] }),
1856
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1857
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1858
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.soundTheme", "Sound Style") }),
1859
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t("settings.general.soundThemeDesc", "Select the sound effect style") })
1860
- ] }),
1861
- (() => {
1862
- const themeItems = [
1863
- { value: "soft", label: t("settings.general.soundSoft", "Soft") },
1864
- { value: "crisp", label: t("settings.general.soundCrisp", "Crisp") }
1865
- ];
1866
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1867
- Select,
1868
- {
1869
- items: themeItems,
1870
- value: sound.theme,
1871
- onValueChange: async (val) => {
1872
- if (!val) return;
1873
- const newSound = { ...sound, theme: val };
1874
- setSound(newSound);
1875
- D(newSound.theme);
1876
- try {
1877
- await request.updateSettings({ sound: newSound });
1878
- } catch {
1879
- toast.error(
1880
- t(
1881
- "settings.general.saveSoundFailed",
1882
- "Failed to save sound setting."
1883
- )
1884
- );
1885
- }
1886
- },
1887
- children: [
1888
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectTrigger, { size: "sm", className: "w-35", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SelectValue, { placeholder: "Theme" }) }),
1889
- /* @__PURE__ */ jsxRuntimeExports.jsx(SelectContent, { children: themeItems.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsx(SelectItem, { value: item.value, children: item.label }, item.value)) })
1890
- ]
1891
- }
1892
- );
1893
- })()
1894
- ] }),
1895
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
1896
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col gap-1.5", children: [
1897
- /* @__PURE__ */ jsxRuntimeExports.jsx("label", { className: "text-sm font-medium leading-none", children: t("settings.general.soundTest", "Test") }),
1898
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground/90", children: t("settings.general.soundTestDesc", "Preview the current sound effect") })
1899
- ] }),
1900
- /* @__PURE__ */ jsxRuntimeExports.jsx(
1901
- Button,
1902
- {
1903
- variant: "outline",
1904
- size: "sm",
1905
- className: "h-7 text-xs w-35 text-muted-foreground hover:text-foreground",
1906
- onClick: () => w(),
1907
- children: t("settings.general.soundTestPlay", "Play")
1908
- }
1909
- )
1910
- ] })
1911
- ] })
1912
- ] })
1913
- ] })
1914
- ] }) }),
1915
- /* @__PURE__ */ jsxRuntimeExports.jsx(SettingsProxyDialog, { open: proxyDialogOpen, onOpenChange: setProxyDialogOpen })
1916
- ] });
1917
- }
1918
1299
  export {
1919
- SettingsGeneral
1300
+ Slider as S
1920
1301
  };