@zythum02/fello-server 0.1.53 → 0.1.55

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 (443) hide show
  1. package/out/renderer/assets/{_baseUniq-CJr3HkLS.js → _baseUniq-BdLqGxOi.js} +1 -1
  2. package/out/renderer/assets/_baseUniq-BdLqGxOi.js.br +0 -0
  3. package/out/renderer/assets/_baseUniq-BdLqGxOi.js.gz +0 -0
  4. package/out/renderer/assets/{arc-POsBroTF.js → arc-UpL8po5R.js} +1 -1
  5. package/out/renderer/assets/arc-UpL8po5R.js.br +0 -0
  6. package/out/renderer/assets/arc-UpL8po5R.js.gz +0 -0
  7. package/out/renderer/assets/{architectureDiagram-Q4EWVU46-CmToUhDb.js → architectureDiagram-Q4EWVU46-ManEkEbl.js} +6 -6
  8. package/out/renderer/assets/architectureDiagram-Q4EWVU46-ManEkEbl.js.br +0 -0
  9. package/out/renderer/assets/architectureDiagram-Q4EWVU46-ManEkEbl.js.gz +0 -0
  10. package/out/renderer/assets/arrow-left-BnuWerui.js +14 -0
  11. package/out/renderer/assets/arrow-up-quD46bYg.js +36 -0
  12. package/out/renderer/assets/{automation-Cyz3eLWp.js → automation-cVl19jbl.js} +22 -9
  13. package/out/renderer/assets/automation-cVl19jbl.js.br +0 -0
  14. package/out/renderer/assets/automation-cVl19jbl.js.gz +0 -0
  15. package/out/renderer/assets/{blockDiagram-DXYQGD6D-M2nnTg9f.js → blockDiagram-DXYQGD6D-B7n8X8F6.js} +7 -7
  16. package/out/renderer/assets/blockDiagram-DXYQGD6D-B7n8X8F6.js.br +0 -0
  17. package/out/renderer/assets/blockDiagram-DXYQGD6D-B7n8X8F6.js.gz +0 -0
  18. package/out/renderer/assets/{c4Diagram-AHTNJAMY-CwLtsy_0.js → c4Diagram-AHTNJAMY-BoP_JNY0.js} +3 -3
  19. package/out/renderer/assets/c4Diagram-AHTNJAMY-BoP_JNY0.js.br +0 -0
  20. package/out/renderer/assets/c4Diagram-AHTNJAMY-BoP_JNY0.js.gz +0 -0
  21. package/out/renderer/assets/{channel-BUNDMqpH.js → channel-BTAU8ahK.js} +1 -1
  22. package/out/renderer/assets/{chunk-4BX2VUAB-B2qXmkDT.js → chunk-4BX2VUAB-BCKz1EgZ.js} +1 -1
  23. package/out/renderer/assets/{chunk-4TB4RGXK-DXLZpPY5.js → chunk-4TB4RGXK-B2HhnMqB.js} +5 -5
  24. package/out/renderer/assets/chunk-4TB4RGXK-B2HhnMqB.js.br +0 -0
  25. package/out/renderer/assets/chunk-4TB4RGXK-B2HhnMqB.js.gz +0 -0
  26. package/out/renderer/assets/{chunk-55IACEB6-CJeyefxI.js → chunk-55IACEB6-Drurz_4k.js} +1 -1
  27. package/out/renderer/assets/{chunk-EDXVE4YY-CNjJEQfY.js → chunk-EDXVE4YY-Xfghcg7b.js} +1 -1
  28. package/out/renderer/assets/chunk-EDXVE4YY-Xfghcg7b.js.br +0 -0
  29. package/out/renderer/assets/chunk-EDXVE4YY-Xfghcg7b.js.gz +0 -0
  30. package/out/renderer/assets/{chunk-FMBD7UC4-DOAOsjRu.js → chunk-FMBD7UC4-Birgz8kz.js} +1 -1
  31. package/out/renderer/assets/{chunk-OYMX7WX6-BG4B1VQ7.js → chunk-OYMX7WX6-Cv4jgShd.js} +3 -3
  32. package/out/renderer/assets/chunk-OYMX7WX6-Cv4jgShd.js.br +0 -0
  33. package/out/renderer/assets/chunk-OYMX7WX6-Cv4jgShd.js.gz +0 -0
  34. package/out/renderer/assets/{chunk-QZHKN3VN-B9zfXYIQ.js → chunk-QZHKN3VN-DkqKjktH.js} +1 -1
  35. package/out/renderer/assets/{chunk-YZCP3GAM-jeoI2tsD.js → chunk-YZCP3GAM-CJK_tBTq.js} +1 -1
  36. package/out/renderer/assets/chunk-YZCP3GAM-CJK_tBTq.js.br +0 -0
  37. package/out/renderer/assets/chunk-YZCP3GAM-CJK_tBTq.js.gz +0 -0
  38. package/out/renderer/assets/circle-x-C9_Yp0Tg.js +16 -0
  39. package/out/renderer/assets/{classDiagram-v2-HSJHXN6E-DWPFF3Yt.js → classDiagram-6PBFFD2Q-Bf4To0VI.js} +7 -7
  40. package/out/renderer/assets/{classDiagram-6PBFFD2Q-DWPFF3Yt.js → classDiagram-v2-HSJHXN6E-Bf4To0VI.js} +7 -7
  41. package/out/renderer/assets/{clone-Dcvr9oKv.js → clone-Ci5J50Pn.js} +1 -1
  42. package/out/renderer/assets/{code-editor-CEXlC4aV.js → code-editor-BwPwET3m.js} +2 -2
  43. package/out/renderer/assets/code-editor-BwPwET3m.js.br +0 -0
  44. package/out/renderer/assets/code-editor-BwPwET3m.js.gz +0 -0
  45. package/out/renderer/assets/{collapsible-CMuCJUWG.js → collapsible-CMQ8h8ID.js} +43 -53
  46. package/out/renderer/assets/collapsible-CMQ8h8ID.js.br +0 -0
  47. package/out/renderer/assets/collapsible-CMQ8h8ID.js.gz +0 -0
  48. package/out/renderer/assets/command-nKlwdb6i.js +19 -0
  49. package/out/renderer/assets/comment-ui-runtime-BsK8pmUT-C8f5Wrup.js +53 -0
  50. package/out/renderer/assets/comment-ui-runtime-BsK8pmUT-C8f5Wrup.js.br +0 -0
  51. package/out/renderer/assets/comment-ui-runtime-BsK8pmUT-C8f5Wrup.js.gz +0 -0
  52. package/out/renderer/assets/{cose-bilkent-S5V4N54A-B3bgImVS.js → cose-bilkent-S5V4N54A-BZpcn2q9.js} +2 -2
  53. package/out/renderer/assets/cose-bilkent-S5V4N54A-BZpcn2q9.js.br +0 -0
  54. package/out/renderer/assets/cose-bilkent-S5V4N54A-BZpcn2q9.js.gz +0 -0
  55. package/out/renderer/assets/{dagre-KV5264BT-DTbumBA_.js → dagre-KV5264BT-onHZodsn.js} +7 -7
  56. package/out/renderer/assets/dagre-KV5264BT-onHZodsn.js.br +0 -0
  57. package/out/renderer/assets/dagre-KV5264BT-onHZodsn.js.gz +0 -0
  58. package/out/renderer/assets/delimited-text-worker-host-BVY-Ecni-D1eBZLWW.js +25 -0
  59. package/out/renderer/assets/delimited-text-worker-host-BVY-Ecni-D1eBZLWW.js.br +0 -0
  60. package/out/renderer/assets/delimited-text-worker-host-BVY-Ecni-D1eBZLWW.js.gz +0 -0
  61. package/out/renderer/assets/{diagram-5BDNPKRD-B34Y6e8q.js → diagram-5BDNPKRD-y3QVYwp7.js} +7 -7
  62. package/out/renderer/assets/diagram-5BDNPKRD-y3QVYwp7.js.br +0 -0
  63. package/out/renderer/assets/diagram-5BDNPKRD-y3QVYwp7.js.gz +0 -0
  64. package/out/renderer/assets/{diagram-G4DWMVQ6-BBiBmFR4.js → diagram-G4DWMVQ6-LB3RUjrJ.js} +7 -7
  65. package/out/renderer/assets/diagram-G4DWMVQ6-LB3RUjrJ.js.br +0 -0
  66. package/out/renderer/assets/diagram-G4DWMVQ6-LB3RUjrJ.js.gz +0 -0
  67. package/out/renderer/assets/{diagram-MMDJMWI5-P-YslDjG.js → diagram-MMDJMWI5-7NpY26IL.js} +6 -6
  68. package/out/renderer/assets/diagram-MMDJMWI5-7NpY26IL.js.br +0 -0
  69. package/out/renderer/assets/diagram-MMDJMWI5-7NpY26IL.js.gz +0 -0
  70. package/out/renderer/assets/{diagram-TYMM5635-D_cLard_.js → diagram-TYMM5635-DRM1RRr4.js} +6 -6
  71. package/out/renderer/assets/diagram-TYMM5635-DRM1RRr4.js.br +0 -0
  72. package/out/renderer/assets/diagram-TYMM5635-DRM1RRr4.js.gz +0 -0
  73. package/out/renderer/assets/docx_parser_bg-C1Wf3n7F.wasm +0 -0
  74. package/out/renderer/assets/ellipsis-D_eCkauJ.js +16 -0
  75. package/out/renderer/assets/{erDiagram-SMLLAGMA-C1MHqKvC.js → erDiagram-SMLLAGMA-DNIZ639C.js} +5 -5
  76. package/out/renderer/assets/erDiagram-SMLLAGMA-DNIZ639C.js.br +0 -0
  77. package/out/renderer/assets/erDiagram-SMLLAGMA-DNIZ639C.js.gz +0 -0
  78. package/out/renderer/assets/{field-DR3J0r9e.js → field-YZTi9Jxc.js} +1 -1
  79. package/out/renderer/assets/field-YZTi9Jxc.js.br +0 -0
  80. package/out/renderer/assets/field-YZTi9Jxc.js.gz +0 -0
  81. package/out/renderer/assets/file-text-DDtS1g4Q.js +23 -0
  82. package/out/renderer/assets/{flowDiagram-DWJPFMVM-DprlEc3Z.js → flowDiagram-DWJPFMVM-C0ghMibN.js} +7 -7
  83. package/out/renderer/assets/flowDiagram-DWJPFMVM-C0ghMibN.js.br +0 -0
  84. package/out/renderer/assets/flowDiagram-DWJPFMVM-C0ghMibN.js.gz +0 -0
  85. package/out/renderer/assets/{ganttDiagram-T4ZO3ILL-CbTdumBm.js → ganttDiagram-T4ZO3ILL-tqeHqMu4.js} +3 -3
  86. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-tqeHqMu4.js.br +0 -0
  87. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-tqeHqMu4.js.gz +0 -0
  88. package/out/renderer/assets/{gitGraphDiagram-UUTBAWPF-06bme-w8.js → gitGraphDiagram-UUTBAWPF-D6acFhfE.js} +7 -7
  89. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-D6acFhfE.js.br +0 -0
  90. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-D6acFhfE.js.gz +0 -0
  91. package/out/renderer/assets/{graph-BZhxluo9.js → graph-DqFGMaSz.js} +2 -2
  92. package/out/renderer/assets/graph-DqFGMaSz.js.br +0 -0
  93. package/out/renderer/assets/graph-DqFGMaSz.js.gz +0 -0
  94. package/out/renderer/assets/highlighted-body-KPVGNVTW-D2IZ7Enb.js +18 -0
  95. package/out/renderer/assets/index-BZTYKZe8.css +382 -0
  96. package/out/renderer/assets/index-BZTYKZe8.css.br +0 -0
  97. package/out/renderer/assets/index-BZTYKZe8.css.gz +0 -0
  98. package/out/renderer/assets/{index-LmYTNvdF.js → index-BeEZXfJZ.js} +6397 -3000
  99. package/out/renderer/assets/index-BeEZXfJZ.js.br +0 -0
  100. package/out/renderer/assets/index-BeEZXfJZ.js.gz +0 -0
  101. package/out/renderer/assets/{infoDiagram-42DDH7IO-DqivEzWL.js → infoDiagram-42DDH7IO-BJeydI3V.js} +5 -5
  102. package/out/renderer/assets/infoDiagram-42DDH7IO-BJeydI3V.js.br +0 -0
  103. package/out/renderer/assets/infoDiagram-42DDH7IO-BJeydI3V.js.gz +0 -0
  104. package/out/renderer/assets/{ishikawaDiagram-UXIWVN3A-BKcg_z4w.js → ishikawaDiagram-UXIWVN3A-DPgToD8D.js} +2 -2
  105. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-DPgToD8D.js.br +0 -0
  106. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-DPgToD8D.js.gz +0 -0
  107. package/out/renderer/assets/{item-BHEUMM9H.js → item-SQsw2AyN.js} +20 -2
  108. package/out/renderer/assets/item-SQsw2AyN.js.br +0 -0
  109. package/out/renderer/assets/item-SQsw2AyN.js.gz +0 -0
  110. package/out/renderer/assets/{journeyDiagram-VCZTEJTY-Bvv8xuxQ.js → journeyDiagram-VCZTEJTY-CAnZXd__.js} +5 -5
  111. package/out/renderer/assets/journeyDiagram-VCZTEJTY-CAnZXd__.js.br +0 -0
  112. package/out/renderer/assets/journeyDiagram-VCZTEJTY-CAnZXd__.js.gz +0 -0
  113. package/out/renderer/assets/{kanban-definition-6JOO6SKY-C-gRMpeM.js → kanban-definition-6JOO6SKY-VCfgwCTi.js} +3 -3
  114. package/out/renderer/assets/kanban-definition-6JOO6SKY-VCfgwCTi.js.br +0 -0
  115. package/out/renderer/assets/kanban-definition-6JOO6SKY-VCfgwCTi.js.gz +0 -0
  116. package/out/renderer/assets/{layout-B4dSyItA.js → layout-lw2KhCMB.js} +4 -4
  117. package/out/renderer/assets/layout-lw2KhCMB.js.br +0 -0
  118. package/out/renderer/assets/layout-lw2KhCMB.js.gz +0 -0
  119. package/out/renderer/assets/{linear-CoVhuer7.js → linear-DmbMR7a-.js} +1 -1
  120. package/out/renderer/assets/linear-DmbMR7a-.js.br +0 -0
  121. package/out/renderer/assets/linear-DmbMR7a-.js.gz +0 -0
  122. package/out/renderer/assets/link-2-CWpGKoWR.js +40 -0
  123. package/out/renderer/assets/link-2-CWpGKoWR.js.br +0 -0
  124. package/out/renderer/assets/link-2-CWpGKoWR.js.gz +0 -0
  125. package/out/renderer/assets/{mermaid-GHXKKRXX-CZqkhGx7.js → mermaid-HWGCJPDP-BufLuIVq.js} +2175 -1421
  126. package/out/renderer/assets/mermaid-HWGCJPDP-BufLuIVq.js.br +0 -0
  127. package/out/renderer/assets/mermaid-HWGCJPDP-BufLuIVq.js.gz +0 -0
  128. package/out/renderer/assets/mic-UZHvCQhw.js +32 -0
  129. package/out/renderer/assets/{min-emzuJjmk.js → min-BCqStlR1.js} +2 -2
  130. package/out/renderer/assets/min-BCqStlR1.js.br +0 -0
  131. package/out/renderer/assets/min-BCqStlR1.js.gz +0 -0
  132. package/out/renderer/assets/{mindmap-definition-QFDTVHPH-DQ4JNECm.js → mindmap-definition-QFDTVHPH-C0dBO3f9.js} +4 -4
  133. package/out/renderer/assets/mindmap-definition-QFDTVHPH-C0dBO3f9.js.br +0 -0
  134. package/out/renderer/assets/mindmap-definition-QFDTVHPH-C0dBO3f9.js.gz +0 -0
  135. package/out/renderer/assets/open-guide-CWoE2W97.js +25 -0
  136. package/out/renderer/assets/package-search-SZPcR_1L.js +24 -0
  137. package/out/renderer/assets/{pdf-worker-wrapper-D6dv_dnM.js → pdf-worker-wrapper-BhxTGpd_.js} +4272 -4031
  138. package/out/renderer/assets/pdf-worker-wrapper-BhxTGpd_.js.br +0 -0
  139. package/out/renderer/assets/pdf-worker-wrapper-BhxTGpd_.js.gz +0 -0
  140. package/out/renderer/assets/{pieDiagram-DEJITSTG-0H6CGQQt.js → pieDiagram-DEJITSTG-Dv_tH6Z_.js} +7 -7
  141. package/out/renderer/assets/pieDiagram-DEJITSTG-Dv_tH6Z_.js.br +0 -0
  142. package/out/renderer/assets/pieDiagram-DEJITSTG-Dv_tH6Z_.js.gz +0 -0
  143. package/out/renderer/assets/plus-BZ0wwKkh.js +14 -0
  144. package/out/renderer/assets/pptx_parser_bg-DWVXsmNT.wasm +0 -0
  145. package/out/renderer/assets/{quadrantDiagram-34T5L4WZ-D0aPKp5z.js → quadrantDiagram-34T5L4WZ-Cvsj5cyu.js} +3 -3
  146. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-Cvsj5cyu.js.br +0 -0
  147. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-Cvsj5cyu.js.gz +0 -0
  148. package/out/renderer/assets/render-worker-CeK_iqK3-CEdVqR_f.js +10 -0
  149. package/out/renderer/assets/render-worker-CeK_iqK3-CEdVqR_f.js.br +0 -0
  150. package/out/renderer/assets/render-worker-CeK_iqK3-CEdVqR_f.js.gz +0 -0
  151. package/out/renderer/assets/render-worker-DusrDhPk-5_1DCyiC.js +11 -0
  152. package/out/renderer/assets/render-worker-DusrDhPk-5_1DCyiC.js.br +0 -0
  153. package/out/renderer/assets/render-worker-DusrDhPk-5_1DCyiC.js.gz +0 -0
  154. package/out/renderer/assets/render-worker-host-BfbnEChF-eMcx2LD6.js +7 -0
  155. package/out/renderer/assets/render-worker-host-DNL9dWRh-0PvDWYen.js +7 -0
  156. package/out/renderer/assets/render-worker-host-IkHrYOci-Bq59hMNS.js +7 -0
  157. package/out/renderer/assets/render-worker-n2ZG0lrQ-wiQeYL70.js +31 -0
  158. package/out/renderer/assets/render-worker-n2ZG0lrQ-wiQeYL70.js.br +0 -0
  159. package/out/renderer/assets/render-worker-n2ZG0lrQ-wiQeYL70.js.gz +0 -0
  160. package/out/renderer/assets/{requirementDiagram-MS252O5E-BkzwapW_.js → requirementDiagram-MS252O5E-CxM7H308.js} +4 -4
  161. package/out/renderer/assets/requirementDiagram-MS252O5E-CxM7H308.js.br +0 -0
  162. package/out/renderer/assets/requirementDiagram-MS252O5E-CxM7H308.js.gz +0 -0
  163. package/out/renderer/assets/{resizable-cStzNJ8V.js → resizable-DD8ADhVy.js} +216 -207
  164. package/out/renderer/assets/resizable-DD8ADhVy.js.br +0 -0
  165. package/out/renderer/assets/resizable-DD8ADhVy.js.gz +0 -0
  166. package/out/renderer/assets/{sankeyDiagram-XADWPNL6-Dbde7usj.js → sankeyDiagram-XADWPNL6-BGTOA6ee.js} +2 -2
  167. package/out/renderer/assets/sankeyDiagram-XADWPNL6-BGTOA6ee.js.br +0 -0
  168. package/out/renderer/assets/sankeyDiagram-XADWPNL6-BGTOA6ee.js.gz +0 -0
  169. package/out/renderer/assets/{schedule-DNMCsk-G.js → schedule-DMyyz9A1.js} +24 -13
  170. package/out/renderer/assets/schedule-DMyyz9A1.js.br +0 -0
  171. package/out/renderer/assets/schedule-DMyyz9A1.js.gz +0 -0
  172. package/out/renderer/assets/{schemas-c0X-G5_P.js → schemas-BL-_QQNp.js} +2248 -1112
  173. package/out/renderer/assets/schemas-BL-_QQNp.js.br +0 -0
  174. package/out/renderer/assets/schemas-BL-_QQNp.js.gz +0 -0
  175. package/out/renderer/assets/search-XexOgLud.js +26 -0
  176. package/out/renderer/assets/{sequenceDiagram-FGHM5R23-DI8l1pSL.js → sequenceDiagram-FGHM5R23-DezlXo1X.js} +4 -4
  177. package/out/renderer/assets/sequenceDiagram-FGHM5R23-DezlXo1X.js.br +0 -0
  178. package/out/renderer/assets/sequenceDiagram-FGHM5R23-DezlXo1X.js.gz +0 -0
  179. package/out/renderer/assets/{session-Bn5k9ScR.js → session-DQEqHTKb.js} +1238 -451
  180. package/out/renderer/assets/session-DQEqHTKb.js.br +0 -0
  181. package/out/renderer/assets/session-DQEqHTKb.js.gz +0 -0
  182. package/out/renderer/assets/{setting-dialog-sqfPfGsy.js → setting-dialog-BdiZbd8J.js} +79 -25
  183. package/out/renderer/assets/setting-dialog-BdiZbd8J.js.br +0 -0
  184. package/out/renderer/assets/setting-dialog-BdiZbd8J.js.gz +0 -0
  185. package/out/renderer/assets/settings-2-q22Cv4G7.js +16 -0
  186. package/out/renderer/assets/{settings-agents-Bntc31Nn.js → settings-agents-f3HkdiTw.js} +28 -16
  187. package/out/renderer/assets/settings-agents-f3HkdiTw.js.br +0 -0
  188. package/out/renderer/assets/settings-agents-f3HkdiTw.js.gz +0 -0
  189. package/out/renderer/assets/{settings-general-DhbLb9cP.js → settings-general-BcCOVmx3.js} +75 -41
  190. package/out/renderer/assets/settings-general-BcCOVmx3.js.br +0 -0
  191. package/out/renderer/assets/settings-general-BcCOVmx3.js.gz +0 -0
  192. package/out/renderer/assets/{settings-ilink-C7nGGjwT.js → settings-ilink-Da336Koc.js} +15 -10
  193. package/out/renderer/assets/settings-ilink-Da336Koc.js.br +0 -0
  194. package/out/renderer/assets/settings-ilink-Da336Koc.js.gz +0 -0
  195. package/out/renderer/assets/{settings-image-generation-H2dgqG7Y.js → settings-image-generation-RmWs73ZG.js} +8 -8
  196. package/out/renderer/assets/settings-image-generation-RmWs73ZG.js.br +0 -0
  197. package/out/renderer/assets/settings-image-generation-RmWs73ZG.js.gz +0 -0
  198. package/out/renderer/assets/{settings-layout-ATto1xpJ.js → settings-layout-DL6ZEzgP.js} +27 -15
  199. package/out/renderer/assets/settings-layout-DL6ZEzgP.js.br +0 -0
  200. package/out/renderer/assets/settings-layout-DL6ZEzgP.js.gz +0 -0
  201. package/out/renderer/assets/{settings-mcp-DUdMuoJ-.js → settings-mcp-BKW8JKtO.js} +26 -21
  202. package/out/renderer/assets/settings-mcp-BKW8JKtO.js.br +0 -0
  203. package/out/renderer/assets/settings-mcp-BKW8JKtO.js.gz +0 -0
  204. package/out/renderer/assets/{settings-memory-CJLG4aHW.js → settings-memory-o4r-_vob.js} +13 -9
  205. package/out/renderer/assets/settings-memory-o4r-_vob.js.br +0 -0
  206. package/out/renderer/assets/settings-memory-o4r-_vob.js.gz +0 -0
  207. package/out/renderer/assets/settings-shortcuts-BmUGS1q_.js +280 -0
  208. package/out/renderer/assets/settings-shortcuts-BmUGS1q_.js.br +0 -0
  209. package/out/renderer/assets/settings-shortcuts-BmUGS1q_.js.gz +0 -0
  210. package/out/renderer/assets/{settings-snippets-B4VcnD5Z.js → settings-snippets-CpAOJmDF.js} +9 -9
  211. package/out/renderer/assets/settings-snippets-CpAOJmDF.js.br +0 -0
  212. package/out/renderer/assets/settings-snippets-CpAOJmDF.js.gz +0 -0
  213. package/out/renderer/assets/{settings-speech-to-text-DQ7lfkTu.js → settings-speech-to-text-C8KHNGE4.js} +7 -7
  214. package/out/renderer/assets/settings-speech-to-text-C8KHNGE4.js.br +0 -0
  215. package/out/renderer/assets/settings-speech-to-text-C8KHNGE4.js.gz +0 -0
  216. package/out/renderer/assets/{settings-webui-DZf9O-6j.js → settings-webui-DIEKvTrI.js} +2 -2
  217. package/out/renderer/assets/settings-webui-DIEKvTrI.js.br +0 -0
  218. package/out/renderer/assets/settings-webui-DIEKvTrI.js.gz +0 -0
  219. package/out/renderer/assets/{skills-installed-Dp0r_4I-.js → skills-installed-BuWBDk6r.js} +5 -5
  220. package/out/renderer/assets/skills-installed-BuWBDk6r.js.br +0 -0
  221. package/out/renderer/assets/skills-installed-BuWBDk6r.js.gz +0 -0
  222. package/out/renderer/assets/{skills-layout-D-5rlY38.js → skills-layout-ByPhfHG6.js} +2 -2
  223. package/out/renderer/assets/skills-layout-ByPhfHG6.js.br +0 -0
  224. package/out/renderer/assets/skills-layout-ByPhfHG6.js.gz +0 -0
  225. package/out/renderer/assets/{skills-skills-sh-CcLoIrSw.js → skills-skills-sh-wR7YNmAJ.js} +4 -4
  226. package/out/renderer/assets/skills-skills-sh-wR7YNmAJ.js.br +0 -0
  227. package/out/renderer/assets/skills-skills-sh-wR7YNmAJ.js.gz +0 -0
  228. package/out/renderer/assets/{sortable.esm-knFxDx0Y.js → sortable.esm-BWvT9HIK.js} +15 -10
  229. package/out/renderer/assets/sortable.esm-BWvT9HIK.js.br +0 -0
  230. package/out/renderer/assets/sortable.esm-BWvT9HIK.js.gz +0 -0
  231. package/out/renderer/assets/{standard-schema-dKXoCekr.js → standard-schema-BkTVIf7N.js} +376 -170
  232. package/out/renderer/assets/standard-schema-BkTVIf7N.js.br +0 -0
  233. package/out/renderer/assets/standard-schema-BkTVIf7N.js.gz +0 -0
  234. package/out/renderer/assets/{stateDiagram-FHFEXIEX-DWWz4PMv.js → stateDiagram-FHFEXIEX-xdKKCs-p.js} +9 -9
  235. package/out/renderer/assets/stateDiagram-FHFEXIEX-xdKKCs-p.js.br +0 -0
  236. package/out/renderer/assets/stateDiagram-FHFEXIEX-xdKKCs-p.js.gz +0 -0
  237. package/out/renderer/assets/{stateDiagram-v2-QKLJ7IA2-Dm2qD5bg.js → stateDiagram-v2-QKLJ7IA2-BaaiQ6Kr.js} +5 -5
  238. package/out/renderer/assets/{task-C5dyYbfn.js → task-PHAOSE-W.js} +12 -12
  239. package/out/renderer/assets/task-PHAOSE-W.js.br +0 -0
  240. package/out/renderer/assets/task-PHAOSE-W.js.gz +0 -0
  241. package/out/renderer/assets/{textarea-DTqKlQbL.js → textarea-1ZWl3C-x.js} +2 -2
  242. package/out/renderer/assets/{timeline-definition-GMOUNBTQ-A1tEoL9d.js → timeline-definition-GMOUNBTQ-DFLeLybV.js} +3 -3
  243. package/out/renderer/assets/timeline-definition-GMOUNBTQ-DFLeLybV.js.br +0 -0
  244. package/out/renderer/assets/timeline-definition-GMOUNBTQ-DFLeLybV.js.gz +0 -0
  245. package/out/renderer/assets/{vennDiagram-DHZGUBPP-tNdYrJi_.js → vennDiagram-DHZGUBPP-PKmZLY7H.js} +2 -2
  246. package/out/renderer/assets/vennDiagram-DHZGUBPP-PKmZLY7H.js.br +0 -0
  247. package/out/renderer/assets/vennDiagram-DHZGUBPP-PKmZLY7H.js.gz +0 -0
  248. package/out/renderer/assets/{wardley-RL74JXVD-BxN5_Sp6.js → wardley-RL74JXVD-BCH2vKnv.js} +4 -4
  249. package/out/renderer/assets/wardley-RL74JXVD-BCH2vKnv.js.br +0 -0
  250. package/out/renderer/assets/wardley-RL74JXVD-BCH2vKnv.js.gz +0 -0
  251. package/out/renderer/assets/{wardleyDiagram-NUSXRM2D-B_3jA8zU.js → wardleyDiagram-NUSXRM2D-Bkd3xMno.js} +6 -6
  252. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-Bkd3xMno.js.br +0 -0
  253. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-Bkd3xMno.js.gz +0 -0
  254. package/out/renderer/assets/wrench-8H0LZ83G.js +48 -0
  255. package/out/renderer/assets/wrench-8H0LZ83G.js.br +0 -0
  256. package/out/renderer/assets/wrench-8H0LZ83G.js.gz +0 -0
  257. package/out/renderer/assets/{xlsx-view-Bv0YhA5m.js → xlsx-view-BYx5Ha2P.js} +49972 -32651
  258. package/out/renderer/assets/xlsx-view-BYx5Ha2P.js.br +0 -0
  259. package/out/renderer/assets/xlsx-view-BYx5Ha2P.js.gz +0 -0
  260. package/out/renderer/assets/{xlsx-view-Chm2gOCI.css → xlsx-view-CylPXjk8.css} +592 -530
  261. package/out/renderer/assets/xlsx-view-CylPXjk8.css.br +0 -0
  262. package/out/renderer/assets/xlsx-view-CylPXjk8.css.gz +0 -0
  263. package/out/renderer/assets/xlsx_parser_bg-B1AkeRhV.wasm +0 -0
  264. package/out/renderer/assets/{xychartDiagram-5P7HB3ND-NNVuzC4j.js → xychartDiagram-5P7HB3ND-DCOm4uPr.js} +3 -3
  265. package/out/renderer/assets/xychartDiagram-5P7HB3ND-DCOm4uPr.js.br +0 -0
  266. package/out/renderer/assets/xychartDiagram-5P7HB3ND-DCOm4uPr.js.gz +0 -0
  267. package/out/renderer/index.html +2 -2
  268. package/out/renderer/index.html.br +0 -0
  269. package/out/renderer/index.html.gz +0 -0
  270. package/out/scripts/mcp-skills/server.mjs +1 -1
  271. package/out/server/main.js +87 -5
  272. package/package.json +16 -16
  273. package/out/renderer/assets/_baseUniq-CJr3HkLS.js.br +0 -0
  274. package/out/renderer/assets/_baseUniq-CJr3HkLS.js.gz +0 -0
  275. package/out/renderer/assets/arc-POsBroTF.js.br +0 -0
  276. package/out/renderer/assets/arc-POsBroTF.js.gz +0 -0
  277. package/out/renderer/assets/architectureDiagram-Q4EWVU46-CmToUhDb.js.br +0 -0
  278. package/out/renderer/assets/architectureDiagram-Q4EWVU46-CmToUhDb.js.gz +0 -0
  279. package/out/renderer/assets/arrow-left-CxS1t3f7.js +0 -9
  280. package/out/renderer/assets/automation-Cyz3eLWp.js.br +0 -0
  281. package/out/renderer/assets/automation-Cyz3eLWp.js.gz +0 -0
  282. package/out/renderer/assets/blockDiagram-DXYQGD6D-M2nnTg9f.js.br +0 -0
  283. package/out/renderer/assets/blockDiagram-DXYQGD6D-M2nnTg9f.js.gz +0 -0
  284. package/out/renderer/assets/c4Diagram-AHTNJAMY-CwLtsy_0.js.br +0 -0
  285. package/out/renderer/assets/c4Diagram-AHTNJAMY-CwLtsy_0.js.gz +0 -0
  286. package/out/renderer/assets/chunk-4TB4RGXK-DXLZpPY5.js.br +0 -0
  287. package/out/renderer/assets/chunk-4TB4RGXK-DXLZpPY5.js.gz +0 -0
  288. package/out/renderer/assets/chunk-EDXVE4YY-CNjJEQfY.js.br +0 -0
  289. package/out/renderer/assets/chunk-EDXVE4YY-CNjJEQfY.js.gz +0 -0
  290. package/out/renderer/assets/chunk-OYMX7WX6-BG4B1VQ7.js.br +0 -0
  291. package/out/renderer/assets/chunk-OYMX7WX6-BG4B1VQ7.js.gz +0 -0
  292. package/out/renderer/assets/chunk-YZCP3GAM-jeoI2tsD.js.br +0 -0
  293. package/out/renderer/assets/chunk-YZCP3GAM-jeoI2tsD.js.gz +0 -0
  294. package/out/renderer/assets/circle-x-B1kBsMlS.js +0 -10
  295. package/out/renderer/assets/code-editor-CEXlC4aV.js.br +0 -0
  296. package/out/renderer/assets/code-editor-CEXlC4aV.js.gz +0 -0
  297. package/out/renderer/assets/collapsible-CMuCJUWG.js.br +0 -0
  298. package/out/renderer/assets/collapsible-CMuCJUWG.js.gz +0 -0
  299. package/out/renderer/assets/cose-bilkent-S5V4N54A-B3bgImVS.js.br +0 -0
  300. package/out/renderer/assets/cose-bilkent-S5V4N54A-B3bgImVS.js.gz +0 -0
  301. package/out/renderer/assets/dagre-KV5264BT-DTbumBA_.js.br +0 -0
  302. package/out/renderer/assets/dagre-KV5264BT-DTbumBA_.js.gz +0 -0
  303. package/out/renderer/assets/diagram-5BDNPKRD-B34Y6e8q.js.br +0 -0
  304. package/out/renderer/assets/diagram-5BDNPKRD-B34Y6e8q.js.gz +0 -0
  305. package/out/renderer/assets/diagram-G4DWMVQ6-BBiBmFR4.js.br +0 -0
  306. package/out/renderer/assets/diagram-G4DWMVQ6-BBiBmFR4.js.gz +0 -0
  307. package/out/renderer/assets/diagram-MMDJMWI5-P-YslDjG.js.br +0 -0
  308. package/out/renderer/assets/diagram-MMDJMWI5-P-YslDjG.js.gz +0 -0
  309. package/out/renderer/assets/diagram-TYMM5635-D_cLard_.js.br +0 -0
  310. package/out/renderer/assets/diagram-TYMM5635-D_cLard_.js.gz +0 -0
  311. package/out/renderer/assets/docx_parser_bg-CIRepKGp.wasm +0 -0
  312. package/out/renderer/assets/ellipsis-D1agTYu1.js +0 -10
  313. package/out/renderer/assets/erDiagram-SMLLAGMA-C1MHqKvC.js.br +0 -0
  314. package/out/renderer/assets/erDiagram-SMLLAGMA-C1MHqKvC.js.gz +0 -0
  315. package/out/renderer/assets/field-DR3J0r9e.js.br +0 -0
  316. package/out/renderer/assets/field-DR3J0r9e.js.gz +0 -0
  317. package/out/renderer/assets/file-text-nGCW6zu1.js +0 -18
  318. package/out/renderer/assets/flowDiagram-DWJPFMVM-DprlEc3Z.js.br +0 -0
  319. package/out/renderer/assets/flowDiagram-DWJPFMVM-DprlEc3Z.js.gz +0 -0
  320. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-CbTdumBm.js.br +0 -0
  321. package/out/renderer/assets/ganttDiagram-T4ZO3ILL-CbTdumBm.js.gz +0 -0
  322. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-06bme-w8.js.br +0 -0
  323. package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-06bme-w8.js.gz +0 -0
  324. package/out/renderer/assets/graph-BZhxluo9.js.br +0 -0
  325. package/out/renderer/assets/graph-BZhxluo9.js.gz +0 -0
  326. package/out/renderer/assets/highlighted-body-OFNGDK62-CvDMJtXf.js +0 -18
  327. package/out/renderer/assets/index-LmYTNvdF.js.br +0 -0
  328. package/out/renderer/assets/index-LmYTNvdF.js.gz +0 -0
  329. package/out/renderer/assets/index-aGJ_yZib.css +0 -382
  330. package/out/renderer/assets/index-aGJ_yZib.css.br +0 -0
  331. package/out/renderer/assets/index-aGJ_yZib.css.gz +0 -0
  332. package/out/renderer/assets/infoDiagram-42DDH7IO-DqivEzWL.js.br +0 -0
  333. package/out/renderer/assets/infoDiagram-42DDH7IO-DqivEzWL.js.gz +0 -0
  334. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-BKcg_z4w.js.br +0 -0
  335. package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-BKcg_z4w.js.gz +0 -0
  336. package/out/renderer/assets/item-BHEUMM9H.js.br +0 -0
  337. package/out/renderer/assets/item-BHEUMM9H.js.gz +0 -0
  338. package/out/renderer/assets/journeyDiagram-VCZTEJTY-Bvv8xuxQ.js.br +0 -0
  339. package/out/renderer/assets/journeyDiagram-VCZTEJTY-Bvv8xuxQ.js.gz +0 -0
  340. package/out/renderer/assets/kanban-definition-6JOO6SKY-C-gRMpeM.js.br +0 -0
  341. package/out/renderer/assets/kanban-definition-6JOO6SKY-C-gRMpeM.js.gz +0 -0
  342. package/out/renderer/assets/layout-B4dSyItA.js.br +0 -0
  343. package/out/renderer/assets/layout-B4dSyItA.js.gz +0 -0
  344. package/out/renderer/assets/linear-CoVhuer7.js.br +0 -0
  345. package/out/renderer/assets/linear-CoVhuer7.js.gz +0 -0
  346. package/out/renderer/assets/link-2-DHUPzNSt.js +0 -24
  347. package/out/renderer/assets/mermaid-GHXKKRXX-CZqkhGx7.js.br +0 -0
  348. package/out/renderer/assets/mermaid-GHXKKRXX-CZqkhGx7.js.gz +0 -0
  349. package/out/renderer/assets/mic-BgSvicCB.js +0 -22
  350. package/out/renderer/assets/min-emzuJjmk.js.br +0 -0
  351. package/out/renderer/assets/min-emzuJjmk.js.gz +0 -0
  352. package/out/renderer/assets/mindmap-definition-QFDTVHPH-DQ4JNECm.js.br +0 -0
  353. package/out/renderer/assets/mindmap-definition-QFDTVHPH-DQ4JNECm.js.gz +0 -0
  354. package/out/renderer/assets/open-guide-CfLO-Sdk.js +0 -20
  355. package/out/renderer/assets/package-search-CrF2Iegl.js +0 -19
  356. package/out/renderer/assets/pdf-worker-wrapper-D6dv_dnM.js.br +0 -0
  357. package/out/renderer/assets/pdf-worker-wrapper-D6dv_dnM.js.gz +0 -0
  358. package/out/renderer/assets/pieDiagram-DEJITSTG-0H6CGQQt.js.br +0 -0
  359. package/out/renderer/assets/pieDiagram-DEJITSTG-0H6CGQQt.js.gz +0 -0
  360. package/out/renderer/assets/plus-YNCXW-GD.js +0 -9
  361. package/out/renderer/assets/pptx_parser_bg-Dnsy0qwf.wasm +0 -0
  362. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-D0aPKp5z.js.br +0 -0
  363. package/out/renderer/assets/quadrantDiagram-34T5L4WZ-D0aPKp5z.js.gz +0 -0
  364. package/out/renderer/assets/refresh-cw-Bvm578nW.js +0 -11
  365. package/out/renderer/assets/render-worker-host-BG3a7brz-Q7Y2znhP.js +0 -25
  366. package/out/renderer/assets/render-worker-host-BG3a7brz-Q7Y2znhP.js.br +0 -0
  367. package/out/renderer/assets/render-worker-host-BG3a7brz-Q7Y2znhP.js.gz +0 -0
  368. package/out/renderer/assets/render-worker-host-CsB-dPJv-gJhIrzf_.js +0 -25
  369. package/out/renderer/assets/render-worker-host-CsB-dPJv-gJhIrzf_.js.br +0 -0
  370. package/out/renderer/assets/render-worker-host-CsB-dPJv-gJhIrzf_.js.gz +0 -0
  371. package/out/renderer/assets/render-worker-host-Cyv5Hkbh-BAiWfcv_.js +0 -25
  372. package/out/renderer/assets/render-worker-host-Cyv5Hkbh-BAiWfcv_.js.br +0 -0
  373. package/out/renderer/assets/render-worker-host-Cyv5Hkbh-BAiWfcv_.js.gz +0 -0
  374. package/out/renderer/assets/requirementDiagram-MS252O5E-BkzwapW_.js.br +0 -0
  375. package/out/renderer/assets/requirementDiagram-MS252O5E-BkzwapW_.js.gz +0 -0
  376. package/out/renderer/assets/resizable-cStzNJ8V.js.br +0 -0
  377. package/out/renderer/assets/resizable-cStzNJ8V.js.gz +0 -0
  378. package/out/renderer/assets/sankeyDiagram-XADWPNL6-Dbde7usj.js.br +0 -0
  379. package/out/renderer/assets/sankeyDiagram-XADWPNL6-Dbde7usj.js.gz +0 -0
  380. package/out/renderer/assets/schedule-DNMCsk-G.js.br +0 -0
  381. package/out/renderer/assets/schedule-DNMCsk-G.js.gz +0 -0
  382. package/out/renderer/assets/schemas-c0X-G5_P.js.br +0 -0
  383. package/out/renderer/assets/schemas-c0X-G5_P.js.gz +0 -0
  384. package/out/renderer/assets/search-BEY9yGF_.js +0 -16
  385. package/out/renderer/assets/sequenceDiagram-FGHM5R23-DI8l1pSL.js.br +0 -0
  386. package/out/renderer/assets/sequenceDiagram-FGHM5R23-DI8l1pSL.js.gz +0 -0
  387. package/out/renderer/assets/session-Bn5k9ScR.js.br +0 -0
  388. package/out/renderer/assets/session-Bn5k9ScR.js.gz +0 -0
  389. package/out/renderer/assets/setting-dialog-sqfPfGsy.js.br +0 -0
  390. package/out/renderer/assets/setting-dialog-sqfPfGsy.js.gz +0 -0
  391. package/out/renderer/assets/settings-2-DRhoXOO8.js +0 -11
  392. package/out/renderer/assets/settings-agents-Bntc31Nn.js.br +0 -0
  393. package/out/renderer/assets/settings-agents-Bntc31Nn.js.gz +0 -0
  394. package/out/renderer/assets/settings-general-DhbLb9cP.js.br +0 -0
  395. package/out/renderer/assets/settings-general-DhbLb9cP.js.gz +0 -0
  396. package/out/renderer/assets/settings-ilink-C7nGGjwT.js.br +0 -0
  397. package/out/renderer/assets/settings-ilink-C7nGGjwT.js.gz +0 -0
  398. package/out/renderer/assets/settings-image-generation-H2dgqG7Y.js.br +0 -0
  399. package/out/renderer/assets/settings-image-generation-H2dgqG7Y.js.gz +0 -0
  400. package/out/renderer/assets/settings-layout-ATto1xpJ.js.br +0 -0
  401. package/out/renderer/assets/settings-layout-ATto1xpJ.js.gz +0 -0
  402. package/out/renderer/assets/settings-mcp-DUdMuoJ-.js.br +0 -0
  403. package/out/renderer/assets/settings-mcp-DUdMuoJ-.js.gz +0 -0
  404. package/out/renderer/assets/settings-memory-CJLG4aHW.js.br +0 -0
  405. package/out/renderer/assets/settings-memory-CJLG4aHW.js.gz +0 -0
  406. package/out/renderer/assets/settings-snippets-B4VcnD5Z.js.br +0 -0
  407. package/out/renderer/assets/settings-snippets-B4VcnD5Z.js.gz +0 -0
  408. package/out/renderer/assets/settings-speech-to-text-DQ7lfkTu.js.br +0 -0
  409. package/out/renderer/assets/settings-speech-to-text-DQ7lfkTu.js.gz +0 -0
  410. package/out/renderer/assets/settings-webui-DZf9O-6j.js.br +0 -0
  411. package/out/renderer/assets/settings-webui-DZf9O-6j.js.gz +0 -0
  412. package/out/renderer/assets/skills-installed-Dp0r_4I-.js.br +0 -0
  413. package/out/renderer/assets/skills-installed-Dp0r_4I-.js.gz +0 -0
  414. package/out/renderer/assets/skills-layout-D-5rlY38.js.br +0 -0
  415. package/out/renderer/assets/skills-layout-D-5rlY38.js.gz +0 -0
  416. package/out/renderer/assets/skills-skills-sh-CcLoIrSw.js.br +0 -0
  417. package/out/renderer/assets/skills-skills-sh-CcLoIrSw.js.gz +0 -0
  418. package/out/renderer/assets/sortable.esm-knFxDx0Y.js.br +0 -0
  419. package/out/renderer/assets/sortable.esm-knFxDx0Y.js.gz +0 -0
  420. package/out/renderer/assets/standard-schema-dKXoCekr.js.br +0 -0
  421. package/out/renderer/assets/standard-schema-dKXoCekr.js.gz +0 -0
  422. package/out/renderer/assets/stateDiagram-FHFEXIEX-DWWz4PMv.js.br +0 -0
  423. package/out/renderer/assets/stateDiagram-FHFEXIEX-DWWz4PMv.js.gz +0 -0
  424. package/out/renderer/assets/task-C5dyYbfn.js.br +0 -0
  425. package/out/renderer/assets/task-C5dyYbfn.js.gz +0 -0
  426. package/out/renderer/assets/timeline-definition-GMOUNBTQ-A1tEoL9d.js.br +0 -0
  427. package/out/renderer/assets/timeline-definition-GMOUNBTQ-A1tEoL9d.js.gz +0 -0
  428. package/out/renderer/assets/vennDiagram-DHZGUBPP-tNdYrJi_.js.br +0 -0
  429. package/out/renderer/assets/vennDiagram-DHZGUBPP-tNdYrJi_.js.gz +0 -0
  430. package/out/renderer/assets/wardley-RL74JXVD-BxN5_Sp6.js.br +0 -0
  431. package/out/renderer/assets/wardley-RL74JXVD-BxN5_Sp6.js.gz +0 -0
  432. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-B_3jA8zU.js.br +0 -0
  433. package/out/renderer/assets/wardleyDiagram-NUSXRM2D-B_3jA8zU.js.gz +0 -0
  434. package/out/renderer/assets/wrench-7r-g9MUq.js +0 -33
  435. package/out/renderer/assets/wrench-7r-g9MUq.js.br +0 -0
  436. package/out/renderer/assets/wrench-7r-g9MUq.js.gz +0 -0
  437. package/out/renderer/assets/xlsx-view-Bv0YhA5m.js.br +0 -0
  438. package/out/renderer/assets/xlsx-view-Bv0YhA5m.js.gz +0 -0
  439. package/out/renderer/assets/xlsx-view-Chm2gOCI.css.br +0 -0
  440. package/out/renderer/assets/xlsx-view-Chm2gOCI.css.gz +0 -0
  441. package/out/renderer/assets/xlsx_parser_bg-BM7cLtfq.wasm +0 -0
  442. package/out/renderer/assets/xychartDiagram-5P7HB3ND-NNVuzC4j.js.br +0 -0
  443. package/out/renderer/assets/xychartDiagram-5P7HB3ND-NNVuzC4j.js.gz +0 -0
@@ -1,13 +1,18 @@
1
- import { h as createLucideIcon, u as useTranslation, a as useAppStore, r as reactExports, Y as subscribe, e as request, j as jsxRuntimeExports, S as ScrollArea, a0 as CircleCheck, R as LoaderCircle, v as Select, w as SelectTrigger, x as SelectValue, y as SelectContent, a8 as SelectGroup, z as SelectItem, a9 as SelectLabel, c as Switch, V as electron } from "./index-LmYTNvdF.js";
2
- import { B as BookOpen, o as openGuide } from "./open-guide-CfLO-Sdk.js";
3
- import { L as Link2, E as ExternalLink, C as CircleAlert } from "./link-2-DHUPzNSt.js";
4
- const __iconNode = [
5
- ["path", { d: "M9 17H7A5 5 0 0 1 7 7", key: "10o201" }],
6
- ["path", { d: "M15 7h2a5 5 0 0 1 4 8", key: "1d3206" }],
7
- ["line", { x1: "8", x2: "12", y1: "12", y2: "12", key: "rvw6j4" }],
8
- ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }]
9
- ];
10
- const Link2Off = createLucideIcon("link-2-off", __iconNode);
1
+ import { c as createLucideIcon, u as useTranslation, a as useAppStore, r as reactExports, Y as subscribe, f as request, j as jsxRuntimeExports, S as ScrollArea, a0 as CircleCheck, R as LoaderCircle, v as Select, w as SelectTrigger, x as SelectValue, y as SelectContent, a4 as SelectGroup, z as SelectItem, a5 as SelectLabel, d as Switch, V as electron } from "./index-BeEZXfJZ.js";
2
+ import { B as BookOpen, o as openGuide } from "./open-guide-CWoE2W97.js";
3
+ import { L as Link2, E as ExternalLink, C as CircleAlert } from "./link-2-CWpGKoWR.js";
4
+ const __iconData = {
5
+ name: "link-2-off",
6
+ size: 24,
7
+ node: [
8
+ ["path", { d: "M9 17H7A5 5 0 0 1 7 7", key: "10o201" }],
9
+ ["path", { d: "M15 7h2a5 5 0 0 1 4 8", key: "1d3206" }],
10
+ ["line", { x1: "8", x2: "12", y1: "12", y2: "12", key: "rvw6j4" }],
11
+ ["line", { x1: "2", x2: "22", y1: "2", y2: "22", key: "a6p6uj" }]
12
+ ]
13
+ };
14
+ __iconData.node;
15
+ const Link2Off = createLucideIcon(__iconData);
11
16
  function SettingsILink() {
12
17
  const { t, i18n } = useTranslation();
13
18
  const ilinkStatus = useAppStore((s) => s.ilinkStatus);
@@ -1,10 +1,10 @@
1
- import { u as useTranslation, a as useAppStore, b as useMessage, r as reactExports, j as jsxRuntimeExports, B as Button, S as ScrollArea, k as ContextMenu, l as ContextMenuTrigger, c as Switch, m as ContextMenuContent, n as ContextMenuItem, P as Pencil, o as ContextMenuSeparator, T as Trash2, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, t as DialogDescription, I as Input, v as Select, w as SelectTrigger, x as SelectValue, y as SelectContent, z as SelectItem, A as DropdownMenu, E as DropdownMenuTrigger, F as DropdownMenuContent, G as DropdownMenuItem, H as DialogFooter, e as request, f as extractErrorMessage, J as generateUUID } from "./index-LmYTNvdF.js";
2
- import { u as useForm, C as Controller, i } from "./standard-schema-dKXoCekr.js";
3
- import { T as Textarea } from "./textarea-DTqKlQbL.js";
4
- import { F as FieldGroup, a as Field, b as FieldLabel, c as FieldError } from "./field-DR3J0r9e.js";
5
- import { P as Plus } from "./plus-YNCXW-GD.js";
6
- import { E as Ellipsis } from "./ellipsis-D1agTYu1.js";
7
- import { o as object, s as string } from "./schemas-c0X-G5_P.js";
1
+ import { u as useTranslation, a as useAppStore, b as useMessage, r as reactExports, j as jsxRuntimeExports, B as Button, S as ScrollArea, k as ContextMenu, l as ContextMenuTrigger, d as Switch, m as ContextMenuContent, n as ContextMenuItem, P as Pencil, o as ContextMenuSeparator, T as Trash, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, t as DialogDescription, I as Input, v as Select, w as SelectTrigger, x as SelectValue, y as SelectContent, z as SelectItem, A as DropdownMenu, E as DropdownMenuTrigger, F as DropdownMenuContent, G as DropdownMenuItem, H as DialogFooter, f as request, g as extractErrorMessage, J as generateUUID } from "./index-BeEZXfJZ.js";
2
+ import { u as useForm, C as Controller, i } from "./standard-schema-BkTVIf7N.js";
3
+ import { T as Textarea } from "./textarea-1ZWl3C-x.js";
4
+ import { F as FieldGroup, a as Field, b as FieldLabel, c as FieldError } from "./field-YZTi9Jxc.js";
5
+ import { P as Plus } from "./plus-BZ0wwKkh.js";
6
+ import { E as Ellipsis } from "./ellipsis-D_eCkauJ.js";
7
+ import { o as object, s as string } from "./schemas-BL-_QQNp.js";
8
8
  function isValidStringMap(raw) {
9
9
  const trimmed = raw.trim();
10
10
  if (!trimmed) return true;
@@ -537,7 +537,7 @@ function SettingsImageGeneration() {
537
537
  ] }),
538
538
  /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuSeparator, {}),
539
539
  /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { variant: "destructive", onClick: () => handleDelete(provider.id), children: [
540
- /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-3" }),
540
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Trash, { className: "size-3" }),
541
541
  t("settings.imageGeneration.delete", "Delete")
542
542
  ] })
543
543
  ] })
@@ -1,18 +1,24 @@
1
- import { h as createLucideIcon, u as useTranslation, K as useLocation, a as useAppStore, j as jsxRuntimeExports, N as Navigate, a5 as Bot, a6 as Globe, a7 as MessageCircle, M as cn, O as NavLink, Q as Outlet } from "./index-LmYTNvdF.js";
2
- import { W as Wrench, I as Image, B as Brain } from "./wrench-7r-g9MUq.js";
3
- import { M as Mic, C as Clipboard } from "./mic-BgSvicCB.js";
4
- const __iconNode = [
5
- ["path", { d: "M10 5H3", key: "1qgfaw" }],
6
- ["path", { d: "M12 19H3", key: "yhmn1j" }],
7
- ["path", { d: "M14 3v4", key: "1sua03" }],
8
- ["path", { d: "M16 17v4", key: "1q0r14" }],
9
- ["path", { d: "M21 12h-9", key: "1o4lsq" }],
10
- ["path", { d: "M21 19h-5", key: "1rlt1p" }],
11
- ["path", { d: "M21 5h-7", key: "1oszz2" }],
12
- ["path", { d: "M8 10v4", key: "tgpxqk" }],
13
- ["path", { d: "M8 12H3", key: "a7s4jb" }]
14
- ];
15
- const SlidersHorizontal = createLucideIcon("sliders-horizontal", __iconNode);
1
+ import { c as createLucideIcon, u as useTranslation, K as useLocation, a as useAppStore, j as jsxRuntimeExports, N as Navigate, a1 as Bot, a2 as Globe, a3 as MessageCircle, M as cn, O as NavLink, Q as Outlet } from "./index-BeEZXfJZ.js";
2
+ import { C as Command } from "./command-nKlwdb6i.js";
3
+ import { W as Wrench, I as Image, B as Brain } from "./wrench-8H0LZ83G.js";
4
+ import { M as Mic, C as Clipboard } from "./mic-UZHvCQhw.js";
5
+ const __iconData = {
6
+ name: "sliders-horizontal",
7
+ size: 24,
8
+ node: [
9
+ ["path", { d: "M10 5H3", key: "1qgfaw" }],
10
+ ["path", { d: "M12 19H3", key: "yhmn1j" }],
11
+ ["path", { d: "M14 3v4", key: "1sua03" }],
12
+ ["path", { d: "M16 17v4", key: "1q0r14" }],
13
+ ["path", { d: "M21 12h-9", key: "1o4lsq" }],
14
+ ["path", { d: "M21 19h-5", key: "1rlt1p" }],
15
+ ["path", { d: "M21 5h-7", key: "1oszz2" }],
16
+ ["path", { d: "M8 10v4", key: "tgpxqk" }],
17
+ ["path", { d: "M8 12H3", key: "a7s4jb" }]
18
+ ]
19
+ };
20
+ __iconData.node;
21
+ const SlidersHorizontal = createLucideIcon(__iconData);
16
22
  function SettingsLayout() {
17
23
  const { t } = useTranslation();
18
24
  const location = useLocation();
@@ -30,6 +36,12 @@ function SettingsLayout() {
30
36
  icon: /* @__PURE__ */ jsxRuntimeExports.jsx(SlidersHorizontal, { className: "size-4" }),
31
37
  label: t("settings.general.title", "General")
32
38
  },
39
+ {
40
+ id: "shortcuts",
41
+ href: "/settings/shortcuts",
42
+ icon: /* @__PURE__ */ jsxRuntimeExports.jsx(Command, { className: "size-4" }),
43
+ label: t("settings.shortcuts.title", "Shortcuts")
44
+ },
33
45
  {
34
46
  id: "agents",
35
47
  href: "/settings/agents",
@@ -1,23 +1,28 @@
1
- import { h as createLucideIcon, u as useTranslation, r as reactExports, j as jsxRuntimeExports, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, t as DialogDescription, I as Input, H as DialogFooter, B as Button, a as useAppStore, b as useMessage, A as DropdownMenu, E as DropdownMenuTrigger, F as DropdownMenuContent, G as DropdownMenuItem, S as ScrollArea, k as ContextMenu, l as ContextMenuTrigger, c as Switch, m as ContextMenuContent, n as ContextMenuItem, P as Pencil, o as ContextMenuSeparator, T as Trash2, e as request, f as extractErrorMessage } from "./index-LmYTNvdF.js";
2
- import { B as BookOpen, o as openGuide } from "./open-guide-CfLO-Sdk.js";
3
- import { u as useSensors, a as useSensor, D as DndContext, c as closestCenter, S as SortableContext, v as verticalListSortingStrategy, s as sortableKeyboardCoordinates, K as KeyboardSensor, P as PointerSensor, b as useSortable, C as CSS, G as GripVertical } from "./sortable.esm-knFxDx0Y.js";
4
- import { u as useForm, C as Controller, i } from "./standard-schema-dKXoCekr.js";
5
- import { T as Textarea } from "./textarea-DTqKlQbL.js";
6
- import { F as FieldGroup, a as Field, b as FieldLabel, c as FieldError } from "./field-DR3J0r9e.js";
7
- import { o as object, s as string } from "./schemas-c0X-G5_P.js";
8
- import { P as Plus } from "./plus-YNCXW-GD.js";
9
- const __iconNode = [
10
- ["path", { d: "M12 7v6", key: "lw1j43" }],
11
- ["path", { d: "M15 10H9", key: "o6yqo3" }],
12
- [
13
- "path",
14
- {
15
- d: "M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",
16
- key: "oz39mx"
17
- }
1
+ import { c as createLucideIcon, u as useTranslation, r as reactExports, j as jsxRuntimeExports, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, t as DialogDescription, I as Input, H as DialogFooter, B as Button, a as useAppStore, b as useMessage, A as DropdownMenu, E as DropdownMenuTrigger, F as DropdownMenuContent, G as DropdownMenuItem, S as ScrollArea, k as ContextMenu, l as ContextMenuTrigger, d as Switch, m as ContextMenuContent, n as ContextMenuItem, P as Pencil, o as ContextMenuSeparator, T as Trash, f as request, g as extractErrorMessage } from "./index-BeEZXfJZ.js";
2
+ import { B as BookOpen, o as openGuide } from "./open-guide-CWoE2W97.js";
3
+ import { u as useSensors, a as useSensor, D as DndContext, c as closestCenter, S as SortableContext, v as verticalListSortingStrategy, s as sortableKeyboardCoordinates, K as KeyboardSensor, P as PointerSensor, b as useSortable, C as CSS, G as GripVertical } from "./sortable.esm-BWvT9HIK.js";
4
+ import { u as useForm, C as Controller, i } from "./standard-schema-BkTVIf7N.js";
5
+ import { T as Textarea } from "./textarea-1ZWl3C-x.js";
6
+ import { F as FieldGroup, a as Field, b as FieldLabel, c as FieldError } from "./field-YZTi9Jxc.js";
7
+ import { o as object, s as string } from "./schemas-BL-_QQNp.js";
8
+ import { P as Plus } from "./plus-BZ0wwKkh.js";
9
+ const __iconData = {
10
+ name: "bookmark-plus",
11
+ size: 24,
12
+ node: [
13
+ ["path", { d: "M12 7v6", key: "lw1j43" }],
14
+ ["path", { d: "M15 10H9", key: "o6yqo3" }],
15
+ [
16
+ "path",
17
+ {
18
+ d: "M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",
19
+ key: "oz39mx"
20
+ }
21
+ ]
18
22
  ]
19
- ];
20
- const BookmarkPlus = createLucideIcon("bookmark-plus", __iconNode);
23
+ };
24
+ __iconData.node;
25
+ const BookmarkPlus = createLucideIcon(__iconData);
21
26
  function isValidStringMap$2(raw) {
22
27
  const trimmed = raw.trim();
23
28
  if (!trimmed) return true;
@@ -621,7 +626,7 @@ function McpSortableItem({ id, children }) {
621
626
  type: "button",
622
627
  ...attributes,
623
628
  ...listeners,
624
- className: "cursor-grab active:cursor-grabbing p-0.5 rounded hover:bg-accent/50 text-muted-foreground shrink-0",
629
+ className: "-ml-4.5 cursor-grab active:cursor-grabbing p-0.5 rounded hover:bg-accent/50 text-muted-foreground shrink-0",
625
630
  title: t("settings.mcp.dragToReorder", "Drag to reorder"),
626
631
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(GripVertical, { className: "size-3.5 -ml-1" })
627
632
  }
@@ -940,7 +945,7 @@ function SettingsMcp() {
940
945
  ] }),
941
946
  /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuSeparator, {}),
942
947
  /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { variant: "destructive", onClick: () => handleDelete(mcp.id), children: [
943
- /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-3" }),
948
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Trash, { className: "size-3" }),
944
949
  t("settings.mcp.delete", "Delete")
945
950
  ] })
946
951
  ] })
@@ -1,11 +1,15 @@
1
- import { h as createLucideIcon, u as useTranslation, a as useAppStore, b as useMessage, r as reactExports, e as request, j as jsxRuntimeExports, B as Button, S as ScrollArea, U as FolderOpen, T as Trash2, aa as ChevronRight, V as electron, f as extractErrorMessage } from "./index-LmYTNvdF.js";
2
- import { C as Collapsible, a as CollapsibleTrigger, b as CollapsibleContent } from "./collapsible-CMuCJUWG.js";
3
- import { R as RefreshCw } from "./refresh-cw-Bvm578nW.js";
4
- const __iconNode = [
5
- ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
6
- ["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }]
7
- ];
8
- const Ban = createLucideIcon("ban", __iconNode);
1
+ import { c as createLucideIcon, u as useTranslation, a as useAppStore, b as useMessage, r as reactExports, f as request, j as jsxRuntimeExports, B as Button, a6 as RefreshCw, S as ScrollArea, U as FolderOpen, T as Trash, a7 as ChevronRight, V as electron, g as extractErrorMessage } from "./index-BeEZXfJZ.js";
2
+ import { C as Collapsible, a as CollapsibleTrigger, b as CollapsibleContent } from "./collapsible-CMQ8h8ID.js";
3
+ const __iconData = {
4
+ name: "ban",
5
+ size: 24,
6
+ node: [
7
+ ["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
8
+ ["path", { d: "M4.929 4.929 19.07 19.071", key: "196cmz" }]
9
+ ]
10
+ };
11
+ __iconData.node;
12
+ const Ban = createLucideIcon(__iconData);
9
13
  function SettingsMemory() {
10
14
  const { t } = useTranslation();
11
15
  const projects = useAppStore((s) => s.projects);
@@ -162,7 +166,7 @@ function SettingsMemory() {
162
166
  className: "h-6 w-6 p-0 text-destructive hover:text-destructive",
163
167
  onClick: () => handleClear(pm.projectId, pm.projectTitle),
164
168
  title: t("settings.memory.clear", "Clear"),
165
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-3.5" })
169
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Trash, { className: "size-3.5" })
166
170
  }
167
171
  )
168
172
  ] })
@@ -0,0 +1,280 @@
1
+ import { c as createLucideIcon, j as jsxRuntimeExports, M as cn, u as useTranslation, b as useMessage, a as useAppStore, r as reactExports, ak as COMMAND_DEFINITIONS, S as ScrollArea, al as getCommandShortcuts, B as Button, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, H as DialogFooter, f as request, g as extractErrorMessage, am as shortcutPreviewFromKeyboardEvent, an as shortcutFromKeyboardEvent, ao as findShortcutConflicts } from "./index-BeEZXfJZ.js";
2
+ import { C as Command } from "./command-nKlwdb6i.js";
3
+ import { A as ArrowUp, a as ArrowDown, b as ArrowRight } from "./arrow-up-quD46bYg.js";
4
+ import { A as ArrowLeft } from "./arrow-left-BnuWerui.js";
5
+ const __iconData$1 = {
6
+ name: "arrow-big-up",
7
+ size: 24,
8
+ node: [
9
+ [
10
+ "path",
11
+ {
12
+ d: "M9 19a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-6a1 1 0 0 1 1-1h3.293a.707.707 0 0 0 .5-1.207l-7.086-7.086a1 1 0 0 0-1.414 0l-7.086 7.086a.707.707 0 0 0 .5 1.207H8a1 1 0 0 1 1 1z",
13
+ key: "106j91"
14
+ }
15
+ ]
16
+ ]
17
+ };
18
+ __iconData$1.node;
19
+ const ArrowBigUp = createLucideIcon(__iconData$1);
20
+ const __iconData = {
21
+ name: "option",
22
+ size: 24,
23
+ node: [
24
+ ["path", { d: "M14 3h7", key: "16f0ms" }],
25
+ [
26
+ "path",
27
+ { d: "M3 3h5.28a1 1 0 0 1 .948.684l5.544 16.632a1 1 0 0 0 .949.684H21", key: "1qf1im" }
28
+ ]
29
+ ]
30
+ };
31
+ __iconData.node;
32
+ const Option = createLucideIcon(__iconData);
33
+ function ShortcutPart({ part, isMac }) {
34
+ if (part === "Mod") {
35
+ return isMac ? /* @__PURE__ */ jsxRuntimeExports.jsx(Command, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Ctrl" });
36
+ }
37
+ if (part === "Ctrl") return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Ctrl" });
38
+ if (part === "Alt") return isMac ? /* @__PURE__ */ jsxRuntimeExports.jsx(Option, { className: "size-3.5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: "Alt" });
39
+ if (part === "Shift") return /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowBigUp, { className: "size-3.5" });
40
+ if (part === "ArrowUp") return /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowUp, { className: "size-3.5" });
41
+ if (part === "ArrowDown") return /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowDown, { className: "size-3.5" });
42
+ if (part === "ArrowLeft") return /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowLeft, { className: "size-3.5" });
43
+ if (part === "ArrowRight") return /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { className: "size-3.5" });
44
+ const symbolLabels = {
45
+ Plus: "+",
46
+ Minus: "-"
47
+ };
48
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: symbolLabels[part] ?? part });
49
+ }
50
+ function ShortcutKeys({ shortcut, isMac, className }) {
51
+ const parts = shortcut.split("+").filter(Boolean);
52
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: cn("inline-flex items-center gap-1.5", className), "aria-label": shortcut, children: parts.map((part, index) => /* @__PURE__ */ jsxRuntimeExports.jsx(
53
+ "kbd",
54
+ {
55
+ className: "inline-flex h-6 min-w-6 items-center justify-center rounded-md border border-border bg-muted/60 px-1.5 text-[11px] font-medium text-foreground/80 shadow-xs",
56
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(ShortcutPart, { part, isMac })
57
+ },
58
+ `${part}-${index}`
59
+ )) });
60
+ }
61
+ function ShortcutCapture({ shortcut, isMac, onCancel, onChange }) {
62
+ const { t } = useTranslation();
63
+ const captureRef = reactExports.useRef(null);
64
+ const [previewShortcut, setPreviewShortcut] = reactExports.useState(shortcut);
65
+ reactExports.useEffect(() => {
66
+ setPreviewShortcut(shortcut);
67
+ window.requestAnimationFrame(() => captureRef.current?.focus());
68
+ }, [shortcut]);
69
+ const handleKeyDown = (event) => {
70
+ event.preventDefault();
71
+ event.stopPropagation();
72
+ if (event.key === "Escape") {
73
+ onCancel();
74
+ return;
75
+ }
76
+ const preview = shortcutPreviewFromKeyboardEvent(event.nativeEvent, isMac);
77
+ if (preview) setPreviewShortcut(preview);
78
+ const nextShortcut = shortcutFromKeyboardEvent(event.nativeEvent, isMac);
79
+ if (nextShortcut) onChange(nextShortcut);
80
+ };
81
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
82
+ "button",
83
+ {
84
+ ref: captureRef,
85
+ type: "button",
86
+ className: "flex min-h-16 w-full items-center justify-center rounded-lg border border-dashed border-ring bg-background px-4 py-3 text-xs transition-colors focus-visible:ring-1 focus-visible:ring-ring/50",
87
+ onKeyDown: handleKeyDown,
88
+ "aria-label": t("settings.shortcuts.recording", "Press a shortcut"),
89
+ children: previewShortcut ? /* @__PURE__ */ jsxRuntimeExports.jsx(ShortcutKeys, { shortcut: previewShortcut, isMac }) : /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-muted-foreground", children: t("settings.shortcuts.recording", "Press a shortcut") })
90
+ }
91
+ );
92
+ }
93
+ function sameShortcuts(left, right) {
94
+ return left.length === right.length && left.every((shortcut, index) => shortcut === right[index]);
95
+ }
96
+ function SettingsShortcuts() {
97
+ const { t } = useTranslation();
98
+ const { toast } = useMessage();
99
+ const shortcuts = useAppStore((state) => state.shortcuts);
100
+ const setShortcuts = useAppStore((state) => state.setShortcuts);
101
+ const isMacApp = useAppStore((state) => state.isMacApp);
102
+ const [dialogCommandId, setDialogCommandId] = reactExports.useState(null);
103
+ const [dialogShortcut, setDialogShortcut] = reactExports.useState(null);
104
+ const [conflict, setConflict] = reactExports.useState(null);
105
+ const isMac = reactExports.useMemo(
106
+ () => isMacApp || typeof navigator !== "undefined" && /mac|iphone|ipad|ipod/i.test(navigator.platform),
107
+ [isMacApp]
108
+ );
109
+ const categoryCommands = reactExports.useMemo(
110
+ () => COMMAND_DEFINITIONS.filter((command) => command.category === "navigation"),
111
+ []
112
+ );
113
+ const persistShortcuts = async (nextShortcuts) => {
114
+ const previousShortcuts = shortcuts;
115
+ setShortcuts(nextShortcuts);
116
+ try {
117
+ await request.updateSettings({ shortcuts: nextShortcuts });
118
+ return true;
119
+ } catch (error) {
120
+ setShortcuts(previousShortcuts);
121
+ toast.error(
122
+ extractErrorMessage(error) || t("settings.shortcuts.saveFailed", "Failed to save shortcuts.")
123
+ );
124
+ return false;
125
+ }
126
+ };
127
+ const updateShortcut = async (command, shortcut) => {
128
+ const nextShortcuts = { ...shortcuts };
129
+ const nextValue = [shortcut];
130
+ if (sameShortcuts(nextValue, command.defaultShortcuts)) {
131
+ delete nextShortcuts[command.id];
132
+ } else {
133
+ nextShortcuts[command.id] = nextValue;
134
+ }
135
+ const nextConflict = findShortcutConflicts(COMMAND_DEFINITIONS, nextShortcuts).find(
136
+ (item) => item.commandIds.includes(command.id)
137
+ );
138
+ if (nextConflict) {
139
+ const conflictingCommandId = nextConflict.commandIds.find((id) => id !== command.id);
140
+ if (conflictingCommandId) {
141
+ setConflict({
142
+ commandId: command.id,
143
+ shortcut: nextConflict.shortcut,
144
+ conflictingCommandId
145
+ });
146
+ }
147
+ return false;
148
+ }
149
+ setConflict(null);
150
+ return persistShortcuts(nextShortcuts);
151
+ };
152
+ const clearShortcut = async (command) => {
153
+ const nextShortcuts = { ...shortcuts, [command.id]: [] };
154
+ setConflict(null);
155
+ await persistShortcuts(nextShortcuts);
156
+ };
157
+ const resetShortcut = async (command) => {
158
+ const nextShortcuts = { ...shortcuts };
159
+ delete nextShortcuts[command.id];
160
+ setConflict(null);
161
+ await persistShortcuts(nextShortcuts);
162
+ };
163
+ const dialogCommand = dialogCommandId ? COMMAND_DEFINITIONS.find((command) => command.id === dialogCommandId) : void 0;
164
+ const openShortcutDialog = (command) => {
165
+ setConflict(null);
166
+ setDialogCommandId(command.id);
167
+ setDialogShortcut(getCommandShortcuts(command, shortcuts)[0] ?? null);
168
+ };
169
+ const closeShortcutDialog = () => {
170
+ setDialogCommandId(null);
171
+ setDialogShortcut(null);
172
+ setConflict(null);
173
+ };
174
+ const confirmShortcutDialog = async () => {
175
+ if (!dialogCommand || !dialogShortcut) return;
176
+ const saved = await updateShortcut(dialogCommand, dialogShortcut);
177
+ if (saved) closeShortcutDialog();
178
+ };
179
+ const dialogConflict = dialogCommandId && conflict?.commandId === dialogCommandId ? conflict : null;
180
+ const dialogConflictingCommand = dialogConflict ? COMMAND_DEFINITIONS.find((command) => command.id === dialogConflict.conflictingCommandId) : void 0;
181
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-full flex-1 flex-col", children: [
182
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "flex-1 overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "w-full max-w-4xl space-y-6 px-5 py-4 mx-auto", children: [
183
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
184
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "text-lg font-medium", children: t("settings.shortcuts.title", "Shortcuts") }),
185
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-muted-foreground", children: t("settings.shortcuts.desc", "Customize keyboard shortcuts for common actions.") })
186
+ ] }),
187
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
188
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h4", { className: "mb-3 text-xs font-semibold uppercase tracking-wider text-muted-foreground/60", children: t("settings.shortcuts.navigation", "Navigation") }),
189
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "divide-y divide-border border-y border-border", children: categoryCommands.map((command) => {
190
+ const shortcut = getCommandShortcuts(command, shortcuts)[0] ?? null;
191
+ const hasOverride = Object.prototype.hasOwnProperty.call(shortcuts, command.id);
192
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between gap-6 py-3", children: [
193
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "min-w-0 flex-4", children: [
194
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-sm font-medium", children: t(command.titleKey, command.id) }),
195
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-1 text-xs text-muted-foreground/90", children: t(command.descriptionKey, "Focus this area") })
196
+ ] }),
197
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-1 shrink-0 items-center gap-1.5", children: shortcut ? /* @__PURE__ */ jsxRuntimeExports.jsx(ShortcutKeys, { shortcut, isMac }) : /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "min-w-24 text-center text-xs text-muted-foreground", children: t("settings.shortcuts.unassigned", "Unassigned") }) }),
198
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex shrink-0 items-center", children: [
199
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
200
+ Button,
201
+ {
202
+ type: "button",
203
+ variant: "ghost",
204
+ size: "xs",
205
+ className: "text-xs text-muted-foreground hover:text-foreground",
206
+ onClick: () => openShortcutDialog(command),
207
+ children: t("settings.shortcuts.set", "Set")
208
+ }
209
+ ),
210
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
211
+ Button,
212
+ {
213
+ type: "button",
214
+ variant: "ghost",
215
+ size: "xs",
216
+ className: "text-xs text-muted-foreground hover:text-foreground",
217
+ disabled: !shortcut,
218
+ onClick: () => void clearShortcut(command),
219
+ children: t("settings.shortcuts.delete", "Delete")
220
+ }
221
+ ),
222
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
223
+ Button,
224
+ {
225
+ type: "button",
226
+ variant: "ghost",
227
+ size: "xs",
228
+ className: "text-xs text-muted-foreground hover:text-foreground",
229
+ disabled: !hasOverride,
230
+ onClick: () => void resetShortcut(command),
231
+ children: t("settings.shortcuts.restore", "Restore")
232
+ }
233
+ )
234
+ ] })
235
+ ] }, command.id);
236
+ }) })
237
+ ] })
238
+ ] }) }),
239
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
240
+ Dialog,
241
+ {
242
+ open: Boolean(dialogCommandId),
243
+ onOpenChange: (open) => {
244
+ if (!open) closeShortcutDialog();
245
+ },
246
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { showCloseButton: false, "data-shortcut-capture": "true", children: [
247
+ /* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(DialogTitle, { children: t("settings.shortcuts.setTitle", "Set shortcut") }) }),
248
+ /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "-mb-2 text-xs text-muted-foreground", children: dialogCommand ? t(dialogCommand.titleKey, dialogCommand.id) : t("settings.shortcuts.setDesc", "Press the shortcut you want to use.") }),
249
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
250
+ ShortcutCapture,
251
+ {
252
+ shortcut: dialogShortcut,
253
+ isMac,
254
+ onCancel: closeShortcutDialog,
255
+ onChange: setDialogShortcut
256
+ }
257
+ ),
258
+ dialogConflict && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-destructive -my-2", children: t("settings.shortcuts.conflict", "Already used by {{command}}.", {
259
+ command: dialogConflictingCommand ? t(dialogConflictingCommand.titleKey, dialogConflictingCommand.id) : dialogConflict.conflictingCommandId
260
+ }) }),
261
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogFooter, { children: [
262
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Button, { type: "button", variant: "outline", onClick: closeShortcutDialog, children: t("settings.shortcuts.cancel", "Cancel") }),
263
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
264
+ Button,
265
+ {
266
+ type: "button",
267
+ onClick: () => void confirmShortcutDialog(),
268
+ disabled: !dialogShortcut,
269
+ children: t("settings.shortcuts.confirm", "Confirm")
270
+ }
271
+ )
272
+ ] })
273
+ ] })
274
+ }
275
+ )
276
+ ] });
277
+ }
278
+ export {
279
+ SettingsShortcuts
280
+ };
@@ -1,10 +1,10 @@
1
- import { u as useTranslation, r as reactExports, j as jsxRuntimeExports, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, t as DialogDescription, I as Input, H as DialogFooter, B as Button, a as useAppStore, b as useMessage, S as ScrollArea, k as ContextMenu, l as ContextMenuTrigger, m as ContextMenuContent, n as ContextMenuItem, P as Pencil, o as ContextMenuSeparator, T as Trash2, J as generateUUID, e as request, f as extractErrorMessage } from "./index-LmYTNvdF.js";
2
- import { u as useForm, C as Controller, i } from "./standard-schema-dKXoCekr.js";
3
- import { T as Textarea } from "./textarea-DTqKlQbL.js";
4
- import { F as FieldGroup, a as Field, b as FieldLabel, c as FieldError } from "./field-DR3J0r9e.js";
5
- import { o as object, s as string } from "./schemas-c0X-G5_P.js";
6
- import { u as useSensors, a as useSensor, D as DndContext, c as closestCenter, S as SortableContext, v as verticalListSortingStrategy, s as sortableKeyboardCoordinates, K as KeyboardSensor, P as PointerSensor, b as useSortable, C as CSS, G as GripVertical } from "./sortable.esm-knFxDx0Y.js";
7
- import { P as Plus } from "./plus-YNCXW-GD.js";
1
+ import { u as useTranslation, r as reactExports, j as jsxRuntimeExports, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, t as DialogDescription, I as Input, H as DialogFooter, B as Button, a as useAppStore, b as useMessage, S as ScrollArea, k as ContextMenu, l as ContextMenuTrigger, m as ContextMenuContent, n as ContextMenuItem, P as Pencil, o as ContextMenuSeparator, T as Trash, J as generateUUID, f as request, g as extractErrorMessage } from "./index-BeEZXfJZ.js";
2
+ import { u as useForm, C as Controller, i } from "./standard-schema-BkTVIf7N.js";
3
+ import { T as Textarea } from "./textarea-1ZWl3C-x.js";
4
+ import { F as FieldGroup, a as Field, b as FieldLabel, c as FieldError } from "./field-YZTi9Jxc.js";
5
+ import { o as object, s as string } from "./schemas-BL-_QQNp.js";
6
+ import { u as useSensors, a as useSensor, D as DndContext, c as closestCenter, S as SortableContext, v as verticalListSortingStrategy, s as sortableKeyboardCoordinates, K as KeyboardSensor, P as PointerSensor, b as useSortable, C as CSS, G as GripVertical } from "./sortable.esm-BWvT9HIK.js";
7
+ import { P as Plus } from "./plus-BZ0wwKkh.js";
8
8
  const schema = object({
9
9
  title: string().trim().min(1, "settings.snippets.validation.enterTitle"),
10
10
  content: string().min(1, "settings.snippets.validation.enterContent")
@@ -150,7 +150,7 @@ function SnippetSortableItem({ id, children }) {
150
150
  type: "button",
151
151
  ...attributes,
152
152
  ...listeners,
153
- className: "cursor-grab active:cursor-grabbing p-0.5 rounded hover:bg-accent/50 text-muted-foreground shrink-0",
153
+ className: "-ml-4.5 cursor-grab active:cursor-grabbing p-0.5 rounded hover:bg-accent/50 text-muted-foreground shrink-0",
154
154
  title: t("settings.snippets.dragToReorder", "Drag to reorder"),
155
155
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(GripVertical, { className: "size-3.5 -ml-1" })
156
156
  }
@@ -286,7 +286,7 @@ function SettingsSnippets() {
286
286
  ] }),
287
287
  /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuSeparator, {}),
288
288
  /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { variant: "destructive", onClick: () => handleDelete(s.id), children: [
289
- /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-3" }),
289
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Trash, { className: "size-3" }),
290
290
  t("settings.snippets.delete", "Delete")
291
291
  ] })
292
292
  ] })
@@ -1,9 +1,9 @@
1
- import { u as useTranslation, r as reactExports, j as jsxRuntimeExports, I as Input, a as useAppStore, b as useMessage, B as Button, S as ScrollArea, k as ContextMenu, l as ContextMenuTrigger, c as Switch, m as ContextMenuContent, n as ContextMenuItem, P as Pencil, o as ContextMenuSeparator, T as Trash2, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, t as DialogDescription, v as Select, w as SelectTrigger, x as SelectValue, y as SelectContent, z as SelectItem, H as DialogFooter, e as request, f as extractErrorMessage, J as generateUUID } from "./index-LmYTNvdF.js";
2
- import { u as useForm, i, C as Controller } from "./standard-schema-dKXoCekr.js";
3
- import { F as FieldGroup, a as Field, b as FieldLabel, c as FieldError } from "./field-DR3J0r9e.js";
4
- import { B as BookOpen, o as openGuide } from "./open-guide-CfLO-Sdk.js";
5
- import { o as object, _ as _enum, s as string } from "./schemas-c0X-G5_P.js";
6
- import { P as Plus } from "./plus-YNCXW-GD.js";
1
+ import { u as useTranslation, r as reactExports, j as jsxRuntimeExports, I as Input, a as useAppStore, b as useMessage, B as Button, S as ScrollArea, k as ContextMenu, l as ContextMenuTrigger, d as Switch, m as ContextMenuContent, n as ContextMenuItem, P as Pencil, o as ContextMenuSeparator, T as Trash, D as Dialog, p as DialogContent, q as DialogHeader, s as DialogTitle, t as DialogDescription, v as Select, w as SelectTrigger, x as SelectValue, y as SelectContent, z as SelectItem, H as DialogFooter, f as request, g as extractErrorMessage, J as generateUUID } from "./index-BeEZXfJZ.js";
2
+ import { u as useForm, i, C as Controller } from "./standard-schema-BkTVIf7N.js";
3
+ import { F as FieldGroup, a as Field, b as FieldLabel, c as FieldError } from "./field-YZTi9Jxc.js";
4
+ import { B as BookOpen, o as openGuide } from "./open-guide-CWoE2W97.js";
5
+ import { o as object, _ as _enum, s as string } from "./schemas-BL-_QQNp.js";
6
+ import { P as Plus } from "./plus-BZ0wwKkh.js";
7
7
  const speechToTextProviderValues = ["dashscope", "volcengine", "openai", "iflytek"];
8
8
  const speechToTextRegionValues = ["", "cn-beijing", "ap-southeast-1"];
9
9
  const speechToTextCommonSchema = object({
@@ -1025,7 +1025,7 @@ function SettingsSpeechToText() {
1025
1025
  ] }),
1026
1026
  /* @__PURE__ */ jsxRuntimeExports.jsx(ContextMenuSeparator, {}),
1027
1027
  /* @__PURE__ */ jsxRuntimeExports.jsxs(ContextMenuItem, { variant: "destructive", onClick: () => handleDelete(provider.id), children: [
1028
- /* @__PURE__ */ jsxRuntimeExports.jsx(Trash2, { className: "size-3" }),
1028
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Trash, { className: "size-3" }),
1029
1029
  t("settings.speechToText.delete", "Delete")
1030
1030
  ] })
1031
1031
  ] })
@@ -1,5 +1,5 @@
1
- import { u as useTranslation, a as useAppStore, b as useMessage, r as reactExports, i as isWebUI, j as jsxRuntimeExports, S as ScrollArea, c as Switch, I as Input, B as Button, C as Check, d as Copy, e as request, f as extractErrorMessage, g as copyText } from "./index-LmYTNvdF.js";
2
- import { B as BookOpen, o as openGuide } from "./open-guide-CfLO-Sdk.js";
1
+ import { u as useTranslation, a as useAppStore, b as useMessage, r as reactExports, i as isWebUI, j as jsxRuntimeExports, S as ScrollArea, d as Switch, I as Input, B as Button, C as Check, e as Copy, f as request, g as extractErrorMessage, h as copyText } from "./index-BeEZXfJZ.js";
2
+ import { B as BookOpen, o as openGuide } from "./open-guide-CWoE2W97.js";
3
3
  function SettingsWebUI() {
4
4
  const { t, i18n } = useTranslation();
5
5
  const { webUIStatus } = useAppStore();