@zythum02/fello-server 0.1.52 → 0.1.54
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.
- package/out/renderer/assets/{_baseUniq-C0L-SxO8.js → _baseUniq-DYINnBRJ.js} +1 -1
- package/out/renderer/assets/_baseUniq-DYINnBRJ.js.br +0 -0
- package/out/renderer/assets/_baseUniq-DYINnBRJ.js.gz +0 -0
- package/out/renderer/assets/{arc-bnlMIyYF.js → arc-BSUyw88k.js} +1 -1
- package/out/renderer/assets/arc-BSUyw88k.js.br +0 -0
- package/out/renderer/assets/arc-BSUyw88k.js.gz +0 -0
- package/out/renderer/assets/{architectureDiagram-Q4EWVU46-Cr0249Lu.js → architectureDiagram-Q4EWVU46-Cxb8DhYZ.js} +6 -6
- package/out/renderer/assets/architectureDiagram-Q4EWVU46-Cxb8DhYZ.js.br +0 -0
- package/out/renderer/assets/architectureDiagram-Q4EWVU46-Cxb8DhYZ.js.gz +0 -0
- package/out/renderer/assets/{arrow-left-D589pHHA.js → arrow-left-CQqe9rrj.js} +1 -1
- package/out/renderer/assets/arrow-up-1eI4tva4.js +21 -0
- package/out/renderer/assets/{automation-CvjrkE9z.js → automation-CQAOpWYp.js} +7 -8
- package/out/renderer/assets/automation-CQAOpWYp.js.br +0 -0
- package/out/renderer/assets/automation-CQAOpWYp.js.gz +0 -0
- package/out/renderer/assets/{blockDiagram-DXYQGD6D-Cw6vh5dx.js → blockDiagram-DXYQGD6D-CFozis-v.js} +7 -7
- package/out/renderer/assets/blockDiagram-DXYQGD6D-CFozis-v.js.br +0 -0
- package/out/renderer/assets/blockDiagram-DXYQGD6D-CFozis-v.js.gz +0 -0
- package/out/renderer/assets/{c4Diagram-AHTNJAMY-BUrvcyv2.js → c4Diagram-AHTNJAMY-CcDDkZUp.js} +3 -3
- package/out/renderer/assets/c4Diagram-AHTNJAMY-CcDDkZUp.js.br +0 -0
- package/out/renderer/assets/c4Diagram-AHTNJAMY-CcDDkZUp.js.gz +0 -0
- package/out/renderer/assets/{channel-DQr36qW5.js → channel-B-VC_ZcK.js} +1 -1
- package/out/renderer/assets/{chunk-4BX2VUAB-DOsXCDD7.js → chunk-4BX2VUAB-ClHmnOTC.js} +1 -1
- package/out/renderer/assets/{chunk-4TB4RGXK-D_fBnf0p.js → chunk-4TB4RGXK-mwOvn19G.js} +5 -5
- package/out/renderer/assets/chunk-4TB4RGXK-mwOvn19G.js.br +0 -0
- package/out/renderer/assets/chunk-4TB4RGXK-mwOvn19G.js.gz +0 -0
- package/out/renderer/assets/{chunk-55IACEB6-3ETNuedT.js → chunk-55IACEB6-CE8f6iip.js} +1 -1
- package/out/renderer/assets/{chunk-EDXVE4YY-BJLqHaER.js → chunk-EDXVE4YY-CU7aY96h.js} +1 -1
- package/out/renderer/assets/chunk-EDXVE4YY-CU7aY96h.js.br +0 -0
- package/out/renderer/assets/chunk-EDXVE4YY-CU7aY96h.js.gz +0 -0
- package/out/renderer/assets/{chunk-FMBD7UC4-DP-WGTNG.js → chunk-FMBD7UC4-B38kFkjv.js} +1 -1
- package/out/renderer/assets/{chunk-OYMX7WX6-CrS7loi7.js → chunk-OYMX7WX6-BriTCtaz.js} +3 -3
- package/out/renderer/assets/chunk-OYMX7WX6-BriTCtaz.js.br +0 -0
- package/out/renderer/assets/{chunk-OYMX7WX6-CrS7loi7.js.gz → chunk-OYMX7WX6-BriTCtaz.js.gz} +0 -0
- package/out/renderer/assets/{chunk-QZHKN3VN-C53USs5W.js → chunk-QZHKN3VN-BwJ37p5G.js} +1 -1
- package/out/renderer/assets/{chunk-YZCP3GAM-CMgdytZR.js → chunk-YZCP3GAM-BlHAYoQe.js} +1 -1
- package/out/renderer/assets/chunk-YZCP3GAM-BlHAYoQe.js.br +0 -0
- package/out/renderer/assets/chunk-YZCP3GAM-BlHAYoQe.js.gz +0 -0
- package/out/renderer/assets/{circle-x-OvXymUrf.js → circle-x-D_gJIgxf.js} +1 -1
- package/out/renderer/assets/{classDiagram-v2-HSJHXN6E-DIYtEiO5.js → classDiagram-6PBFFD2Q-D01ZMeaj.js} +7 -7
- package/out/renderer/assets/{classDiagram-6PBFFD2Q-DIYtEiO5.js → classDiagram-v2-HSJHXN6E-D01ZMeaj.js} +7 -7
- package/out/renderer/assets/{clone-D45P7Iqc.js → clone-qctAbdCx.js} +1 -1
- package/out/renderer/assets/{code-editor-SuOcN-5B.js → code-editor-tm0AYOLz.js} +2 -2
- package/out/renderer/assets/code-editor-tm0AYOLz.js.br +0 -0
- package/out/renderer/assets/code-editor-tm0AYOLz.js.gz +0 -0
- package/out/renderer/assets/{collapsible-Bd85ZCyx.js → collapsible-DD6NlDid.js} +1 -1
- package/out/renderer/assets/collapsible-DD6NlDid.js.br +0 -0
- package/out/renderer/assets/collapsible-DD6NlDid.js.gz +0 -0
- package/out/renderer/assets/command-BF4jOeoL.js +11 -0
- package/out/renderer/assets/{cose-bilkent-S5V4N54A-Dq8VllNT.js → cose-bilkent-S5V4N54A-CF4brbsf.js} +2 -2
- package/out/renderer/assets/cose-bilkent-S5V4N54A-CF4brbsf.js.br +0 -0
- package/out/renderer/assets/cose-bilkent-S5V4N54A-CF4brbsf.js.gz +0 -0
- package/out/renderer/assets/{dagre-KV5264BT-Dec8q4UT.js → dagre-KV5264BT-C6I5VgRp.js} +7 -7
- package/out/renderer/assets/dagre-KV5264BT-C6I5VgRp.js.br +0 -0
- package/out/renderer/assets/dagre-KV5264BT-C6I5VgRp.js.gz +0 -0
- package/out/renderer/assets/{diagram-5BDNPKRD-CzA2u_EN.js → diagram-5BDNPKRD-BAO72D5R.js} +7 -7
- package/out/renderer/assets/diagram-5BDNPKRD-BAO72D5R.js.br +0 -0
- package/out/renderer/assets/diagram-5BDNPKRD-BAO72D5R.js.gz +0 -0
- package/out/renderer/assets/{diagram-G4DWMVQ6-C8h3R7jD.js → diagram-G4DWMVQ6-BmpkrtJs.js} +7 -7
- package/out/renderer/assets/diagram-G4DWMVQ6-BmpkrtJs.js.br +0 -0
- package/out/renderer/assets/diagram-G4DWMVQ6-BmpkrtJs.js.gz +0 -0
- package/out/renderer/assets/{diagram-MMDJMWI5-9tiXSF90.js → diagram-MMDJMWI5-8keZZjgB.js} +6 -6
- package/out/renderer/assets/diagram-MMDJMWI5-8keZZjgB.js.br +0 -0
- package/out/renderer/assets/diagram-MMDJMWI5-8keZZjgB.js.gz +0 -0
- package/out/renderer/assets/{diagram-TYMM5635-BrarGJNf.js → diagram-TYMM5635-Be4uDvHI.js} +6 -6
- package/out/renderer/assets/diagram-TYMM5635-Be4uDvHI.js.br +0 -0
- package/out/renderer/assets/diagram-TYMM5635-Be4uDvHI.js.gz +0 -0
- package/out/renderer/assets/{ellipsis-BafkhboM.js → ellipsis-92s4sSUO.js} +1 -1
- package/out/renderer/assets/{erDiagram-SMLLAGMA-1Q9StK7L.js → erDiagram-SMLLAGMA-C6IgAbhi.js} +5 -5
- package/out/renderer/assets/erDiagram-SMLLAGMA-C6IgAbhi.js.br +0 -0
- package/out/renderer/assets/erDiagram-SMLLAGMA-C6IgAbhi.js.gz +0 -0
- package/out/renderer/assets/{field-ohYLdnJa.js → field-BPsDfe4e.js} +1 -1
- package/out/renderer/assets/field-BPsDfe4e.js.br +0 -0
- package/out/renderer/assets/field-BPsDfe4e.js.gz +0 -0
- package/out/renderer/assets/{file-text-CshHuHgW.js → file-text-ITbWr8iW.js} +1 -1
- package/out/renderer/assets/{flowDiagram-DWJPFMVM-CpcXVOmj.js → flowDiagram-DWJPFMVM-vbYKBn4t.js} +7 -7
- package/out/renderer/assets/flowDiagram-DWJPFMVM-vbYKBn4t.js.br +0 -0
- package/out/renderer/assets/flowDiagram-DWJPFMVM-vbYKBn4t.js.gz +0 -0
- package/out/renderer/assets/{ganttDiagram-T4ZO3ILL-C7Da4JBG.js → ganttDiagram-T4ZO3ILL-AxXIe9I4.js} +3 -3
- package/out/renderer/assets/ganttDiagram-T4ZO3ILL-AxXIe9I4.js.br +0 -0
- package/out/renderer/assets/ganttDiagram-T4ZO3ILL-AxXIe9I4.js.gz +0 -0
- package/out/renderer/assets/{gitGraphDiagram-UUTBAWPF-COBL52q_.js → gitGraphDiagram-UUTBAWPF-DSipARMB.js} +7 -7
- package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-DSipARMB.js.br +0 -0
- package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-DSipARMB.js.gz +0 -0
- package/out/renderer/assets/{graph-vKaAs6sc.js → graph-mNaHfg3r.js} +2 -2
- package/out/renderer/assets/graph-mNaHfg3r.js.br +0 -0
- package/out/renderer/assets/graph-mNaHfg3r.js.gz +0 -0
- package/out/renderer/assets/{highlighted-body-OFNGDK62-BGNnB1Ll.js → highlighted-body-OFNGDK62-8846XFj-.js} +2 -2
- package/out/renderer/assets/{index-BJPggXxf.js → index-BUwXrbHW.js} +1979 -663
- package/out/renderer/assets/index-BUwXrbHW.js.br +0 -0
- package/out/renderer/assets/index-BUwXrbHW.js.gz +0 -0
- package/out/renderer/assets/index-DOIzYXAl.css +382 -0
- package/out/renderer/assets/index-DOIzYXAl.css.br +0 -0
- package/out/renderer/assets/index-DOIzYXAl.css.gz +0 -0
- package/out/renderer/assets/{infoDiagram-42DDH7IO-z37e1cYq.js → infoDiagram-42DDH7IO-ThYxaM6U.js} +5 -5
- package/out/renderer/assets/infoDiagram-42DDH7IO-ThYxaM6U.js.br +0 -0
- package/out/renderer/assets/infoDiagram-42DDH7IO-ThYxaM6U.js.gz +0 -0
- package/out/renderer/assets/{ishikawaDiagram-UXIWVN3A-D0QTo3NZ.js → ishikawaDiagram-UXIWVN3A-EcWEDDQ3.js} +2 -2
- package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-EcWEDDQ3.js.br +0 -0
- package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-EcWEDDQ3.js.gz +0 -0
- package/out/renderer/assets/{item-Cv-tnX8b.js → item-Dph2aCdz.js} +20 -2
- package/out/renderer/assets/item-Dph2aCdz.js.br +0 -0
- package/out/renderer/assets/item-Dph2aCdz.js.gz +0 -0
- package/out/renderer/assets/{journeyDiagram-VCZTEJTY-CQV0gdjM.js → journeyDiagram-VCZTEJTY-Ct6VLkXK.js} +5 -5
- package/out/renderer/assets/journeyDiagram-VCZTEJTY-Ct6VLkXK.js.br +0 -0
- package/out/renderer/assets/journeyDiagram-VCZTEJTY-Ct6VLkXK.js.gz +0 -0
- package/out/renderer/assets/{kanban-definition-6JOO6SKY-DouRT6vc.js → kanban-definition-6JOO6SKY-DHWulQen.js} +3 -3
- package/out/renderer/assets/kanban-definition-6JOO6SKY-DHWulQen.js.br +0 -0
- package/out/renderer/assets/kanban-definition-6JOO6SKY-DHWulQen.js.gz +0 -0
- package/out/renderer/assets/{layout-BhbUjpvY.js → layout-pfquJ3N_.js} +4 -4
- package/out/renderer/assets/layout-pfquJ3N_.js.br +0 -0
- package/out/renderer/assets/layout-pfquJ3N_.js.gz +0 -0
- package/out/renderer/assets/{linear-D1WO10JK.js → linear-CdfVBcAB.js} +1 -1
- package/out/renderer/assets/linear-CdfVBcAB.js.br +0 -0
- package/out/renderer/assets/linear-CdfVBcAB.js.gz +0 -0
- package/out/renderer/assets/{link-2-C5KPDK2L.js → link-2-DpdZfD3m.js} +1 -1
- package/out/renderer/assets/{mermaid-GHXKKRXX-KwA2c0l5.js → mermaid-GHXKKRXX-CqMNodCp.js} +54 -54
- package/out/renderer/assets/mermaid-GHXKKRXX-CqMNodCp.js.br +0 -0
- package/out/renderer/assets/mermaid-GHXKKRXX-CqMNodCp.js.gz +0 -0
- package/out/renderer/assets/mic-CT1bYBEV.js +22 -0
- package/out/renderer/assets/{min-BP2C7bzG.js → min-CiK16GFr.js} +2 -2
- package/out/renderer/assets/min-CiK16GFr.js.br +0 -0
- package/out/renderer/assets/min-CiK16GFr.js.gz +0 -0
- package/out/renderer/assets/{mindmap-definition-QFDTVHPH-CxLYrjVp.js → mindmap-definition-QFDTVHPH-BvmM-Xdx.js} +4 -4
- package/out/renderer/assets/mindmap-definition-QFDTVHPH-BvmM-Xdx.js.br +0 -0
- package/out/renderer/assets/mindmap-definition-QFDTVHPH-BvmM-Xdx.js.gz +0 -0
- package/out/renderer/assets/{open-guide-UhaRhiI6.js → open-guide-BqiUQfrM.js} +1 -1
- package/out/renderer/assets/{package-search-DpyeQ5Lx.js → package-search-BxIuIl9F.js} +1 -1
- package/out/renderer/assets/{pieDiagram-DEJITSTG-D1LBRn_k.js → pieDiagram-DEJITSTG-CQY4NZ_4.js} +7 -7
- package/out/renderer/assets/pieDiagram-DEJITSTG-CQY4NZ_4.js.br +0 -0
- package/out/renderer/assets/pieDiagram-DEJITSTG-CQY4NZ_4.js.gz +0 -0
- package/out/renderer/assets/{plus-CsV_3veW.js → plus-C5XdFVFm.js} +1 -1
- package/out/renderer/assets/{quadrantDiagram-34T5L4WZ-89cdKeKP.js → quadrantDiagram-34T5L4WZ-BiDWKNht.js} +3 -3
- package/out/renderer/assets/quadrantDiagram-34T5L4WZ-BiDWKNht.js.br +0 -0
- package/out/renderer/assets/quadrantDiagram-34T5L4WZ-BiDWKNht.js.gz +0 -0
- package/out/renderer/assets/{requirementDiagram-MS252O5E-BPmX5cbr.js → requirementDiagram-MS252O5E-D-KxL9Tf.js} +4 -4
- package/out/renderer/assets/requirementDiagram-MS252O5E-D-KxL9Tf.js.br +0 -0
- package/out/renderer/assets/requirementDiagram-MS252O5E-D-KxL9Tf.js.gz +0 -0
- package/out/renderer/assets/{resizable-C_plViAK.js → resizable-ObbINbIB.js} +1 -1
- package/out/renderer/assets/resizable-ObbINbIB.js.br +0 -0
- package/out/renderer/assets/resizable-ObbINbIB.js.gz +0 -0
- package/out/renderer/assets/{sankeyDiagram-XADWPNL6-Cy6CP9QU.js → sankeyDiagram-XADWPNL6-BIFbqkzs.js} +2 -2
- package/out/renderer/assets/sankeyDiagram-XADWPNL6-BIFbqkzs.js.br +0 -0
- package/out/renderer/assets/sankeyDiagram-XADWPNL6-BIFbqkzs.js.gz +0 -0
- package/out/renderer/assets/{schedule-BRGzJU8Q.js → schedule-BtuArq_x.js} +9 -10
- package/out/renderer/assets/schedule-BtuArq_x.js.br +0 -0
- package/out/renderer/assets/schedule-BtuArq_x.js.gz +0 -0
- package/out/renderer/assets/{search-BHyqy--Q.js → search-TCnuQyCi.js} +1 -1
- package/out/renderer/assets/{sequenceDiagram-FGHM5R23-B3c7Za1w.js → sequenceDiagram-FGHM5R23-DQX-_zuj.js} +4 -4
- package/out/renderer/assets/sequenceDiagram-FGHM5R23-DQX-_zuj.js.br +0 -0
- package/out/renderer/assets/sequenceDiagram-FGHM5R23-DQX-_zuj.js.gz +0 -0
- package/out/renderer/assets/{session-DAyi31xW.js → session-C_1BpGhU.js} +1511 -263
- package/out/renderer/assets/session-C_1BpGhU.js.br +0 -0
- package/out/renderer/assets/session-C_1BpGhU.js.gz +0 -0
- package/out/renderer/assets/{setting-dialog-B9QpnCSy.js → setting-dialog-D1_-4H95.js} +3 -3
- package/out/renderer/assets/setting-dialog-D1_-4H95.js.br +0 -0
- package/out/renderer/assets/setting-dialog-D1_-4H95.js.gz +0 -0
- package/out/renderer/assets/{settings-2-DTnwbGMG.js → settings-2-BwfZrIw6.js} +1 -1
- package/out/renderer/assets/{settings-agents-BrAPSjkm.js → settings-agents-BtuYXQ1V.js} +26 -15
- package/out/renderer/assets/settings-agents-BtuYXQ1V.js.br +0 -0
- package/out/renderer/assets/settings-agents-BtuYXQ1V.js.gz +0 -0
- package/out/renderer/assets/{settings-general-Ck2OiZjy.js → settings-general-cHqsKFFa.js} +36 -3
- package/out/renderer/assets/settings-general-cHqsKFFa.js.br +0 -0
- package/out/renderer/assets/settings-general-cHqsKFFa.js.gz +0 -0
- package/out/renderer/assets/{settings-ilink-D0Br74W_.js → settings-ilink-BR1Vd9t9.js} +3 -3
- package/out/renderer/assets/settings-ilink-BR1Vd9t9.js.br +0 -0
- package/out/renderer/assets/settings-ilink-BR1Vd9t9.js.gz +0 -0
- package/out/renderer/assets/{settings-image-generation-BdyKoUUZ.js → settings-image-generation-MUHYnpbm.js} +6 -7
- package/out/renderer/assets/settings-image-generation-MUHYnpbm.js.br +0 -0
- package/out/renderer/assets/settings-image-generation-MUHYnpbm.js.gz +0 -0
- package/out/renderer/assets/{settings-layout-B7d1oQnz.js → settings-layout-SBihzFfb.js} +16 -3
- package/out/renderer/assets/settings-layout-SBihzFfb.js.br +0 -0
- package/out/renderer/assets/settings-layout-SBihzFfb.js.gz +0 -0
- package/out/renderer/assets/{settings-mcp-DtnVGpCh.js → settings-mcp-Co88s-0y.js} +8 -9
- package/out/renderer/assets/settings-mcp-Co88s-0y.js.br +0 -0
- package/out/renderer/assets/settings-mcp-Co88s-0y.js.gz +0 -0
- package/out/renderer/assets/{settings-memory-Bff_D3Id.js → settings-memory-CNH9gHYC.js} +2 -3
- package/out/renderer/assets/settings-memory-CNH9gHYC.js.br +0 -0
- package/out/renderer/assets/settings-memory-CNH9gHYC.js.gz +0 -0
- package/out/renderer/assets/settings-shortcuts-C1s7YIMj.js +267 -0
- package/out/renderer/assets/settings-shortcuts-C1s7YIMj.js.br +0 -0
- package/out/renderer/assets/settings-shortcuts-C1s7YIMj.js.gz +0 -0
- package/out/renderer/assets/{settings-snippets-CuwNZ684.js → settings-snippets-DGgI6mxm.js} +7 -8
- package/out/renderer/assets/settings-snippets-DGgI6mxm.js.br +0 -0
- package/out/renderer/assets/settings-snippets-DGgI6mxm.js.gz +0 -0
- package/out/renderer/assets/settings-speech-to-text-CV0xM7yz.js +1054 -0
- package/out/renderer/assets/settings-speech-to-text-CV0xM7yz.js.br +0 -0
- package/out/renderer/assets/settings-speech-to-text-CV0xM7yz.js.gz +0 -0
- package/out/renderer/assets/{settings-webui-CcjZQw6G.js → settings-webui-Bj9dJDcm.js} +2 -2
- package/out/renderer/assets/settings-webui-Bj9dJDcm.js.br +0 -0
- package/out/renderer/assets/settings-webui-Bj9dJDcm.js.gz +0 -0
- package/out/renderer/assets/{skills-installed-BR3EmTKD.js → skills-installed-Bhd5a33I.js} +4 -4
- package/out/renderer/assets/skills-installed-Bhd5a33I.js.br +0 -0
- package/out/renderer/assets/skills-installed-Bhd5a33I.js.gz +0 -0
- package/out/renderer/assets/{skills-layout-Cgy95TdD.js → skills-layout-DZFDa1cw.js} +2 -2
- package/out/renderer/assets/skills-layout-DZFDa1cw.js.br +0 -0
- package/out/renderer/assets/skills-layout-DZFDa1cw.js.gz +0 -0
- package/out/renderer/assets/{skills-skills-sh-7eO0Llg2.js → skills-skills-sh-DF59nekm.js} +4 -4
- package/out/renderer/assets/skills-skills-sh-DF59nekm.js.br +0 -0
- package/out/renderer/assets/skills-skills-sh-DF59nekm.js.gz +0 -0
- package/out/renderer/assets/{sortable.esm-BTWJnVbf.js → sortable.esm-BlhN8Kkg.js} +1 -1
- package/out/renderer/assets/sortable.esm-BlhN8Kkg.js.br +0 -0
- package/out/renderer/assets/sortable.esm-BlhN8Kkg.js.gz +0 -0
- package/out/renderer/assets/{standard-schema-Dk273X__.js → standard-schema-CGAs4bGi.js} +1 -1
- package/out/renderer/assets/standard-schema-CGAs4bGi.js.br +0 -0
- package/out/renderer/assets/standard-schema-CGAs4bGi.js.gz +0 -0
- package/out/renderer/assets/{stateDiagram-FHFEXIEX-C-7WuE0a.js → stateDiagram-FHFEXIEX-DappRrGm.js} +9 -9
- package/out/renderer/assets/stateDiagram-FHFEXIEX-DappRrGm.js.br +0 -0
- package/out/renderer/assets/stateDiagram-FHFEXIEX-DappRrGm.js.gz +0 -0
- package/out/renderer/assets/{stateDiagram-v2-QKLJ7IA2-IZRTgRo8.js → stateDiagram-v2-QKLJ7IA2-mbgJN2Ya.js} +5 -5
- package/out/renderer/assets/{task-Bd1x6VfK.js → task-C7tCZ6e3.js} +11 -12
- package/out/renderer/assets/task-C7tCZ6e3.js.br +0 -0
- package/out/renderer/assets/task-C7tCZ6e3.js.gz +0 -0
- package/out/renderer/assets/{textarea-CcqU8Ki7.js → textarea-DNSPhqFr.js} +2 -2
- package/out/renderer/assets/{timeline-definition-GMOUNBTQ-DVUMAatS.js → timeline-definition-GMOUNBTQ-o8XIUDyn.js} +3 -3
- package/out/renderer/assets/timeline-definition-GMOUNBTQ-o8XIUDyn.js.br +0 -0
- package/out/renderer/assets/timeline-definition-GMOUNBTQ-o8XIUDyn.js.gz +0 -0
- package/out/renderer/assets/{vennDiagram-DHZGUBPP-BtKdpgmE.js → vennDiagram-DHZGUBPP-mnc6bpmR.js} +2 -2
- package/out/renderer/assets/vennDiagram-DHZGUBPP-mnc6bpmR.js.br +0 -0
- package/out/renderer/assets/vennDiagram-DHZGUBPP-mnc6bpmR.js.gz +0 -0
- package/out/renderer/assets/{wardley-RL74JXVD-DRlpukah.js → wardley-RL74JXVD-wdJYeEiD.js} +4 -4
- package/out/renderer/assets/wardley-RL74JXVD-wdJYeEiD.js.br +0 -0
- package/out/renderer/assets/wardley-RL74JXVD-wdJYeEiD.js.gz +0 -0
- package/out/renderer/assets/{wardleyDiagram-NUSXRM2D-c_iDOO-3.js → wardleyDiagram-NUSXRM2D-Ddx6k7tJ.js} +6 -6
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-Ddx6k7tJ.js.br +0 -0
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-Ddx6k7tJ.js.gz +0 -0
- package/out/renderer/assets/{wrench-C-pOIUrz.js → wrench-BsjH8RPm.js} +1 -1
- package/out/renderer/assets/wrench-BsjH8RPm.js.br +0 -0
- package/out/renderer/assets/wrench-BsjH8RPm.js.gz +0 -0
- package/out/renderer/assets/{xlsx-view-Ca3bToM7.js → xlsx-view-CQd4jbk-.js} +21 -13
- package/out/renderer/assets/xlsx-view-CQd4jbk-.js.br +0 -0
- package/out/renderer/assets/xlsx-view-CQd4jbk-.js.gz +0 -0
- package/out/renderer/assets/{xychartDiagram-5P7HB3ND-D65drBbj.js → xychartDiagram-5P7HB3ND-VIQ9wuz0.js} +3 -3
- package/out/renderer/assets/xychartDiagram-5P7HB3ND-VIQ9wuz0.js.br +0 -0
- package/out/renderer/assets/xychartDiagram-5P7HB3ND-VIQ9wuz0.js.gz +0 -0
- package/out/renderer/index.html +2 -2
- package/out/renderer/index.html.br +0 -0
- package/out/renderer/index.html.gz +0 -0
- package/out/scripts/mcp-skills/server.mjs +1 -1
- package/out/server/main.js +290 -11
- package/package.json +2 -1
- package/resources/tree-sitter-wasm/tree-sitter-dart.wasm +0 -0
- package/out/renderer/assets/_baseUniq-C0L-SxO8.js.br +0 -0
- package/out/renderer/assets/_baseUniq-C0L-SxO8.js.gz +0 -0
- package/out/renderer/assets/arc-bnlMIyYF.js.br +0 -0
- package/out/renderer/assets/arc-bnlMIyYF.js.gz +0 -0
- package/out/renderer/assets/architectureDiagram-Q4EWVU46-Cr0249Lu.js.br +0 -0
- package/out/renderer/assets/architectureDiagram-Q4EWVU46-Cr0249Lu.js.gz +0 -0
- package/out/renderer/assets/automation-CvjrkE9z.js.br +0 -0
- package/out/renderer/assets/automation-CvjrkE9z.js.gz +0 -0
- package/out/renderer/assets/blockDiagram-DXYQGD6D-Cw6vh5dx.js.br +0 -0
- package/out/renderer/assets/blockDiagram-DXYQGD6D-Cw6vh5dx.js.gz +0 -0
- package/out/renderer/assets/c4Diagram-AHTNJAMY-BUrvcyv2.js.br +0 -0
- package/out/renderer/assets/c4Diagram-AHTNJAMY-BUrvcyv2.js.gz +0 -0
- package/out/renderer/assets/chunk-4TB4RGXK-D_fBnf0p.js.br +0 -0
- package/out/renderer/assets/chunk-4TB4RGXK-D_fBnf0p.js.gz +0 -0
- package/out/renderer/assets/chunk-EDXVE4YY-BJLqHaER.js.br +0 -0
- package/out/renderer/assets/chunk-EDXVE4YY-BJLqHaER.js.gz +0 -0
- package/out/renderer/assets/chunk-OYMX7WX6-CrS7loi7.js.br +0 -0
- package/out/renderer/assets/chunk-YZCP3GAM-CMgdytZR.js.br +0 -0
- package/out/renderer/assets/chunk-YZCP3GAM-CMgdytZR.js.gz +0 -0
- package/out/renderer/assets/clipboard-xI9lExaB.js +0 -15
- package/out/renderer/assets/code-editor-SuOcN-5B.js.br +0 -0
- package/out/renderer/assets/code-editor-SuOcN-5B.js.gz +0 -0
- package/out/renderer/assets/collapsible-Bd85ZCyx.js.br +0 -0
- package/out/renderer/assets/collapsible-Bd85ZCyx.js.gz +0 -0
- package/out/renderer/assets/context-menu-BO9-4FYd.js +0 -282
- package/out/renderer/assets/context-menu-BO9-4FYd.js.br +0 -0
- package/out/renderer/assets/context-menu-BO9-4FYd.js.gz +0 -0
- package/out/renderer/assets/cose-bilkent-S5V4N54A-Dq8VllNT.js.br +0 -0
- package/out/renderer/assets/cose-bilkent-S5V4N54A-Dq8VllNT.js.gz +0 -0
- package/out/renderer/assets/dagre-KV5264BT-Dec8q4UT.js.br +0 -0
- package/out/renderer/assets/dagre-KV5264BT-Dec8q4UT.js.gz +0 -0
- package/out/renderer/assets/diagram-5BDNPKRD-CzA2u_EN.js.br +0 -0
- package/out/renderer/assets/diagram-5BDNPKRD-CzA2u_EN.js.gz +0 -0
- package/out/renderer/assets/diagram-G4DWMVQ6-C8h3R7jD.js.br +0 -0
- package/out/renderer/assets/diagram-G4DWMVQ6-C8h3R7jD.js.gz +0 -0
- package/out/renderer/assets/diagram-MMDJMWI5-9tiXSF90.js.br +0 -0
- package/out/renderer/assets/diagram-MMDJMWI5-9tiXSF90.js.gz +0 -0
- package/out/renderer/assets/diagram-TYMM5635-BrarGJNf.js.br +0 -0
- package/out/renderer/assets/diagram-TYMM5635-BrarGJNf.js.gz +0 -0
- package/out/renderer/assets/erDiagram-SMLLAGMA-1Q9StK7L.js.br +0 -0
- package/out/renderer/assets/erDiagram-SMLLAGMA-1Q9StK7L.js.gz +0 -0
- package/out/renderer/assets/field-ohYLdnJa.js.br +0 -0
- package/out/renderer/assets/field-ohYLdnJa.js.gz +0 -0
- package/out/renderer/assets/flowDiagram-DWJPFMVM-CpcXVOmj.js.br +0 -0
- package/out/renderer/assets/flowDiagram-DWJPFMVM-CpcXVOmj.js.gz +0 -0
- package/out/renderer/assets/ganttDiagram-T4ZO3ILL-C7Da4JBG.js.br +0 -0
- package/out/renderer/assets/ganttDiagram-T4ZO3ILL-C7Da4JBG.js.gz +0 -0
- package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-COBL52q_.js.br +0 -0
- package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-COBL52q_.js.gz +0 -0
- package/out/renderer/assets/graph-vKaAs6sc.js.br +0 -0
- package/out/renderer/assets/graph-vKaAs6sc.js.gz +0 -0
- package/out/renderer/assets/index-BJPggXxf.js.br +0 -0
- package/out/renderer/assets/index-BJPggXxf.js.gz +0 -0
- package/out/renderer/assets/index-DGML4zYf.css +0 -382
- package/out/renderer/assets/index-DGML4zYf.css.br +0 -0
- package/out/renderer/assets/index-DGML4zYf.css.gz +0 -0
- package/out/renderer/assets/infoDiagram-42DDH7IO-z37e1cYq.js.br +0 -0
- package/out/renderer/assets/infoDiagram-42DDH7IO-z37e1cYq.js.gz +0 -0
- package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-D0QTo3NZ.js.br +0 -0
- package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-D0QTo3NZ.js.gz +0 -0
- package/out/renderer/assets/item-Cv-tnX8b.js.br +0 -0
- package/out/renderer/assets/item-Cv-tnX8b.js.gz +0 -0
- package/out/renderer/assets/journeyDiagram-VCZTEJTY-CQV0gdjM.js.br +0 -0
- package/out/renderer/assets/journeyDiagram-VCZTEJTY-CQV0gdjM.js.gz +0 -0
- package/out/renderer/assets/kanban-definition-6JOO6SKY-DouRT6vc.js.br +0 -0
- package/out/renderer/assets/kanban-definition-6JOO6SKY-DouRT6vc.js.gz +0 -0
- package/out/renderer/assets/layout-BhbUjpvY.js.br +0 -0
- package/out/renderer/assets/layout-BhbUjpvY.js.gz +0 -0
- package/out/renderer/assets/linear-D1WO10JK.js.br +0 -0
- package/out/renderer/assets/linear-D1WO10JK.js.gz +0 -0
- package/out/renderer/assets/mermaid-GHXKKRXX-KwA2c0l5.js.br +0 -0
- package/out/renderer/assets/mermaid-GHXKKRXX-KwA2c0l5.js.gz +0 -0
- package/out/renderer/assets/min-BP2C7bzG.js.br +0 -0
- package/out/renderer/assets/min-BP2C7bzG.js.gz +0 -0
- package/out/renderer/assets/mindmap-definition-QFDTVHPH-CxLYrjVp.js.br +0 -0
- package/out/renderer/assets/mindmap-definition-QFDTVHPH-CxLYrjVp.js.gz +0 -0
- package/out/renderer/assets/pieDiagram-DEJITSTG-D1LBRn_k.js.br +0 -0
- package/out/renderer/assets/pieDiagram-DEJITSTG-D1LBRn_k.js.gz +0 -0
- package/out/renderer/assets/quadrantDiagram-34T5L4WZ-89cdKeKP.js.br +0 -0
- package/out/renderer/assets/quadrantDiagram-34T5L4WZ-89cdKeKP.js.gz +0 -0
- package/out/renderer/assets/refresh-cw-CYW3HR-E.js +0 -11
- package/out/renderer/assets/requirementDiagram-MS252O5E-BPmX5cbr.js.br +0 -0
- package/out/renderer/assets/requirementDiagram-MS252O5E-BPmX5cbr.js.gz +0 -0
- package/out/renderer/assets/resizable-C_plViAK.js.br +0 -0
- package/out/renderer/assets/resizable-C_plViAK.js.gz +0 -0
- package/out/renderer/assets/sankeyDiagram-XADWPNL6-Cy6CP9QU.js.br +0 -0
- package/out/renderer/assets/sankeyDiagram-XADWPNL6-Cy6CP9QU.js.gz +0 -0
- package/out/renderer/assets/schedule-BRGzJU8Q.js.br +0 -0
- package/out/renderer/assets/schedule-BRGzJU8Q.js.gz +0 -0
- package/out/renderer/assets/sequenceDiagram-FGHM5R23-B3c7Za1w.js.br +0 -0
- package/out/renderer/assets/sequenceDiagram-FGHM5R23-B3c7Za1w.js.gz +0 -0
- package/out/renderer/assets/session-DAyi31xW.js.br +0 -0
- package/out/renderer/assets/session-DAyi31xW.js.gz +0 -0
- package/out/renderer/assets/setting-dialog-B9QpnCSy.js.br +0 -0
- package/out/renderer/assets/setting-dialog-B9QpnCSy.js.gz +0 -0
- package/out/renderer/assets/settings-agents-BrAPSjkm.js.br +0 -0
- package/out/renderer/assets/settings-agents-BrAPSjkm.js.gz +0 -0
- package/out/renderer/assets/settings-general-Ck2OiZjy.js.br +0 -0
- package/out/renderer/assets/settings-general-Ck2OiZjy.js.gz +0 -0
- package/out/renderer/assets/settings-ilink-D0Br74W_.js.br +0 -0
- package/out/renderer/assets/settings-ilink-D0Br74W_.js.gz +0 -0
- package/out/renderer/assets/settings-image-generation-BdyKoUUZ.js.br +0 -0
- package/out/renderer/assets/settings-image-generation-BdyKoUUZ.js.gz +0 -0
- package/out/renderer/assets/settings-layout-B7d1oQnz.js.br +0 -0
- package/out/renderer/assets/settings-layout-B7d1oQnz.js.gz +0 -0
- package/out/renderer/assets/settings-mcp-DtnVGpCh.js.br +0 -0
- package/out/renderer/assets/settings-mcp-DtnVGpCh.js.gz +0 -0
- package/out/renderer/assets/settings-memory-Bff_D3Id.js.br +0 -0
- package/out/renderer/assets/settings-memory-Bff_D3Id.js.gz +0 -0
- package/out/renderer/assets/settings-snippets-CuwNZ684.js.br +0 -0
- package/out/renderer/assets/settings-snippets-CuwNZ684.js.gz +0 -0
- package/out/renderer/assets/settings-webui-CcjZQw6G.js.br +0 -0
- package/out/renderer/assets/settings-webui-CcjZQw6G.js.gz +0 -0
- package/out/renderer/assets/skills-installed-BR3EmTKD.js.br +0 -0
- package/out/renderer/assets/skills-installed-BR3EmTKD.js.gz +0 -0
- package/out/renderer/assets/skills-layout-Cgy95TdD.js.br +0 -0
- package/out/renderer/assets/skills-layout-Cgy95TdD.js.gz +0 -0
- package/out/renderer/assets/skills-skills-sh-7eO0Llg2.js.br +0 -0
- package/out/renderer/assets/skills-skills-sh-7eO0Llg2.js.gz +0 -0
- package/out/renderer/assets/sortable.esm-BTWJnVbf.js.br +0 -0
- package/out/renderer/assets/sortable.esm-BTWJnVbf.js.gz +0 -0
- package/out/renderer/assets/standard-schema-Dk273X__.js.br +0 -0
- package/out/renderer/assets/standard-schema-Dk273X__.js.gz +0 -0
- package/out/renderer/assets/stateDiagram-FHFEXIEX-C-7WuE0a.js.br +0 -0
- package/out/renderer/assets/stateDiagram-FHFEXIEX-C-7WuE0a.js.gz +0 -0
- package/out/renderer/assets/task-Bd1x6VfK.js.br +0 -0
- package/out/renderer/assets/task-Bd1x6VfK.js.gz +0 -0
- package/out/renderer/assets/timeline-definition-GMOUNBTQ-DVUMAatS.js.br +0 -0
- package/out/renderer/assets/timeline-definition-GMOUNBTQ-DVUMAatS.js.gz +0 -0
- package/out/renderer/assets/vennDiagram-DHZGUBPP-BtKdpgmE.js.br +0 -0
- package/out/renderer/assets/vennDiagram-DHZGUBPP-BtKdpgmE.js.gz +0 -0
- package/out/renderer/assets/wardley-RL74JXVD-DRlpukah.js.br +0 -0
- package/out/renderer/assets/wardley-RL74JXVD-DRlpukah.js.gz +0 -0
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-c_iDOO-3.js.br +0 -0
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-c_iDOO-3.js.gz +0 -0
- package/out/renderer/assets/wrench-C-pOIUrz.js.br +0 -0
- package/out/renderer/assets/wrench-C-pOIUrz.js.gz +0 -0
- package/out/renderer/assets/xlsx-view-Ca3bToM7.js.br +0 -0
- package/out/renderer/assets/xlsx-view-Ca3bToM7.js.gz +0 -0
- package/out/renderer/assets/xychartDiagram-5P7HB3ND-D65drBbj.js.br +0 -0
- package/out/renderer/assets/xychartDiagram-5P7HB3ND-D65drBbj.js.gz +0 -0
package/out/server/main.js
CHANGED
|
@@ -58,6 +58,10 @@ var DEFAULT_SETTINGS = {
|
|
|
58
58
|
muted: false,
|
|
59
59
|
theme: "soft"
|
|
60
60
|
},
|
|
61
|
+
voiceInput: {
|
|
62
|
+
altDoublePress: true
|
|
63
|
+
},
|
|
64
|
+
shortcuts: {},
|
|
61
65
|
proxy: {
|
|
62
66
|
mode: "off"
|
|
63
67
|
}
|
|
@@ -71,6 +75,17 @@ function readSettings() {
|
|
|
71
75
|
const raw = JSON.parse(readFileSync(settingsPath(), "utf-8"));
|
|
72
76
|
const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
73
77
|
const rawObj = isObject(raw) ? raw : null;
|
|
78
|
+
const shortcuts = (() => {
|
|
79
|
+
const rawShortcuts = rawObj && isObject(rawObj.shortcuts) ? rawObj.shortcuts : null;
|
|
80
|
+
if (!rawShortcuts) return {};
|
|
81
|
+
const next = {};
|
|
82
|
+
for (const [commandId, value] of Object.entries(rawShortcuts)) {
|
|
83
|
+
if (Array.isArray(value)) {
|
|
84
|
+
next[commandId] = value.filter((shortcut) => typeof shortcut === "string").map((shortcut) => shortcut.trim()).filter(Boolean);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return next;
|
|
88
|
+
})();
|
|
74
89
|
const rawAgents = rawObj && isObject(rawObj.agents) ? rawObj.agents : null;
|
|
75
90
|
const agents = (() => {
|
|
76
91
|
if (!rawAgents) return DEFAULT_SETTINGS.agents;
|
|
@@ -191,6 +206,12 @@ function readSettings() {
|
|
|
191
206
|
theme: raw2.theme === "soft" || raw2.theme === "crisp" ? raw2.theme : DEFAULT_SETTINGS.sound.theme
|
|
192
207
|
};
|
|
193
208
|
})();
|
|
209
|
+
const voiceInput = (() => {
|
|
210
|
+
const raw2 = rawObj && isObject(rawObj.voiceInput) ? rawObj.voiceInput : null;
|
|
211
|
+
return {
|
|
212
|
+
altDoublePress: typeof raw2?.altDoublePress === "boolean" ? raw2.altDoublePress : DEFAULT_SETTINGS.voiceInput.altDoublePress
|
|
213
|
+
};
|
|
214
|
+
})();
|
|
194
215
|
const proxy = (() => {
|
|
195
216
|
const raw2 = rawObj && isObject(rawObj.proxy) ? rawObj.proxy : null;
|
|
196
217
|
if (!raw2) return DEFAULT_SETTINGS.proxy;
|
|
@@ -231,6 +252,25 @@ function readSettings() {
|
|
|
231
252
|
model: p.model,
|
|
232
253
|
active: typeof p.active === "boolean" ? p.active : false
|
|
233
254
|
})) : [];
|
|
255
|
+
const speechToText = Array.isArray(rawObj?.speechToText) ? rawObj.speechToText.filter((value) => isObject(value)).filter((value) => {
|
|
256
|
+
const provider = value.provider;
|
|
257
|
+
return typeof value.id === "string" && typeof value.name === "string" && typeof value.apiKey === "string" && (provider === "volcengine" || provider === "dashscope" || provider === "openai" || provider === "iflytek");
|
|
258
|
+
}).map((value) => ({
|
|
259
|
+
id: value.id,
|
|
260
|
+
name: value.name,
|
|
261
|
+
provider: value.provider,
|
|
262
|
+
apiKey: value.apiKey,
|
|
263
|
+
appId: typeof value.appId === "string" ? value.appId : void 0,
|
|
264
|
+
apiSecret: typeof value.apiSecret === "string" ? value.apiSecret : void 0,
|
|
265
|
+
resourceId: typeof value.resourceId === "string" ? value.resourceId : void 0,
|
|
266
|
+
model: typeof value.model === "string" ? value.model : void 0,
|
|
267
|
+
baseUrl: typeof value.baseUrl === "string" ? value.baseUrl : void 0,
|
|
268
|
+
workspaceId: typeof value.workspaceId === "string" ? value.workspaceId : void 0,
|
|
269
|
+
region: value.region === "cn-beijing" || value.region === "ap-southeast-1" ? value.region : void 0,
|
|
270
|
+
workspace: typeof value.workspace === "string" ? value.workspace : void 0,
|
|
271
|
+
language: typeof value.language === "string" ? value.language : void 0,
|
|
272
|
+
active: typeof value.active === "boolean" ? value.active : false
|
|
273
|
+
})) : [];
|
|
234
274
|
const editor = (() => {
|
|
235
275
|
const raw2 = rawObj && isObject(rawObj.editor) ? rawObj.editor : null;
|
|
236
276
|
if (raw2 && typeof raw2.name === "string" && raw2.name.trim()) {
|
|
@@ -247,9 +287,12 @@ function readSettings() {
|
|
|
247
287
|
ilink,
|
|
248
288
|
editor,
|
|
249
289
|
sound,
|
|
290
|
+
voiceInput,
|
|
291
|
+
shortcuts,
|
|
250
292
|
proxy,
|
|
251
293
|
snippets,
|
|
252
|
-
imageGeneration
|
|
294
|
+
imageGeneration,
|
|
295
|
+
speechToText
|
|
253
296
|
};
|
|
254
297
|
} catch {
|
|
255
298
|
return DEFAULT_SETTINGS;
|
|
@@ -339,6 +382,12 @@ function getSettings() {
|
|
|
339
382
|
muted: meta.sound.muted,
|
|
340
383
|
theme: meta.sound.theme
|
|
341
384
|
},
|
|
385
|
+
voiceInput: {
|
|
386
|
+
altDoublePress: meta.voiceInput.altDoublePress
|
|
387
|
+
},
|
|
388
|
+
shortcuts: Object.fromEntries(
|
|
389
|
+
Object.entries(meta.shortcuts).map(([commandId, shortcuts]) => [commandId, shortcuts.slice()])
|
|
390
|
+
),
|
|
342
391
|
proxy: meta.proxy ?? DEFAULT_SETTINGS.proxy,
|
|
343
392
|
snippets: meta.snippets ?? [],
|
|
344
393
|
imageGeneration: (meta.imageGeneration ?? []).map((p) => ({
|
|
@@ -351,6 +400,22 @@ function getSettings() {
|
|
|
351
400
|
extraBody: p.extraBody ?? void 0,
|
|
352
401
|
model: p.model,
|
|
353
402
|
active: p.active
|
|
403
|
+
})),
|
|
404
|
+
speechToText: (meta.speechToText ?? []).map((p) => ({
|
|
405
|
+
id: p.id,
|
|
406
|
+
name: p.name,
|
|
407
|
+
provider: p.provider,
|
|
408
|
+
apiKey: p.apiKey,
|
|
409
|
+
appId: p.appId,
|
|
410
|
+
apiSecret: p.apiSecret,
|
|
411
|
+
resourceId: p.resourceId,
|
|
412
|
+
model: p.model,
|
|
413
|
+
baseUrl: p.baseUrl,
|
|
414
|
+
workspaceId: p.workspaceId,
|
|
415
|
+
region: p.region,
|
|
416
|
+
workspace: p.workspace,
|
|
417
|
+
language: p.language,
|
|
418
|
+
active: p.active
|
|
354
419
|
}))
|
|
355
420
|
};
|
|
356
421
|
}
|
|
@@ -480,6 +545,20 @@ function updateSettings(settings) {
|
|
|
480
545
|
theme: settings.sound.theme === "soft" || settings.sound.theme === "crisp" ? settings.sound.theme : prevMeta.sound.theme
|
|
481
546
|
};
|
|
482
547
|
})(),
|
|
548
|
+
voiceInput: (() => {
|
|
549
|
+
if (!settings.voiceInput) {
|
|
550
|
+
return prevMeta.voiceInput;
|
|
551
|
+
}
|
|
552
|
+
return {
|
|
553
|
+
altDoublePress: typeof settings.voiceInput.altDoublePress === "boolean" ? settings.voiceInput.altDoublePress : prevMeta.voiceInput.altDoublePress
|
|
554
|
+
};
|
|
555
|
+
})(),
|
|
556
|
+
shortcuts: settings.shortcuts ? Object.fromEntries(
|
|
557
|
+
Object.entries(settings.shortcuts).map(([commandId, shortcuts]) => [
|
|
558
|
+
commandId,
|
|
559
|
+
shortcuts.map((shortcut) => shortcut.trim()).filter(Boolean)
|
|
560
|
+
])
|
|
561
|
+
) : prevMeta.shortcuts,
|
|
483
562
|
proxy: (() => {
|
|
484
563
|
if (!settings.proxy) {
|
|
485
564
|
return prevMeta.proxy;
|
|
@@ -506,7 +585,23 @@ function updateSettings(settings) {
|
|
|
506
585
|
extraBody: p.extraBody ?? void 0,
|
|
507
586
|
model: p.model,
|
|
508
587
|
active: p.active
|
|
509
|
-
})) : prevMeta.imageGeneration
|
|
588
|
+
})) : prevMeta.imageGeneration,
|
|
589
|
+
speechToText: settings.speechToText ? settings.speechToText.map((p) => ({
|
|
590
|
+
id: p.id,
|
|
591
|
+
name: p.name,
|
|
592
|
+
provider: p.provider,
|
|
593
|
+
apiKey: p.apiKey,
|
|
594
|
+
appId: p.appId?.trim() || void 0,
|
|
595
|
+
apiSecret: p.apiSecret?.trim() || void 0,
|
|
596
|
+
resourceId: p.resourceId?.trim() || void 0,
|
|
597
|
+
model: p.model?.trim() || void 0,
|
|
598
|
+
baseUrl: p.baseUrl?.trim() || void 0,
|
|
599
|
+
workspaceId: p.workspaceId?.trim() || void 0,
|
|
600
|
+
region: p.region,
|
|
601
|
+
workspace: p.workspace?.trim() || void 0,
|
|
602
|
+
language: p.language?.trim() || void 0,
|
|
603
|
+
active: p.active
|
|
604
|
+
})) : prevMeta.speechToText
|
|
510
605
|
};
|
|
511
606
|
writeSettings(meta);
|
|
512
607
|
}
|
|
@@ -4949,7 +5044,7 @@ async function executeSubagent(params, subSessionId, taskName, taskPrompt, signa
|
|
|
4949
5044
|
}
|
|
4950
5045
|
return accumulatedText || "[No output produced]";
|
|
4951
5046
|
} catch (error) {
|
|
4952
|
-
const
|
|
5047
|
+
const errorMessage2 = error instanceof Error ? error.message : String(error);
|
|
4953
5048
|
const conn3 = params.getConnection();
|
|
4954
5049
|
if (conn3) {
|
|
4955
5050
|
await sendSubagentStatusUpdate(
|
|
@@ -4967,7 +5062,7 @@ async function executeSubagent(params, subSessionId, taskName, taskPrompt, signa
|
|
|
4967
5062
|
sessionUpdate: "agent_message_chunk",
|
|
4968
5063
|
content: { type: "text", text: `
|
|
4969
5064
|
|
|
4970
|
-
**Error:** ${
|
|
5065
|
+
**Error:** ${errorMessage2}` }
|
|
4971
5066
|
}
|
|
4972
5067
|
});
|
|
4973
5068
|
}
|
|
@@ -4975,7 +5070,7 @@ async function executeSubagent(params, subSessionId, taskName, taskPrompt, signa
|
|
|
4975
5070
|
if (signal.aborted) {
|
|
4976
5071
|
return accumulatedText || "[Cancelled]";
|
|
4977
5072
|
}
|
|
4978
|
-
return accumulatedText || `[Error: ${
|
|
5073
|
+
return accumulatedText || `[Error: ${errorMessage2}]`;
|
|
4979
5074
|
} finally {
|
|
4980
5075
|
await closeACPClientTools(subAcp);
|
|
4981
5076
|
}
|
|
@@ -10716,13 +10811,13 @@ function createAutomationModule(ctx, deps) {
|
|
|
10716
10811
|
sendEvent("task-update", { scheduleId, task });
|
|
10717
10812
|
return task;
|
|
10718
10813
|
} catch (err) {
|
|
10719
|
-
const
|
|
10814
|
+
const errorMessage2 = err instanceof Error ? err.message : String(err);
|
|
10720
10815
|
task.completedAt = Date.now();
|
|
10721
10816
|
task.status = "error";
|
|
10722
|
-
task.error =
|
|
10817
|
+
task.error = errorMessage2;
|
|
10723
10818
|
store.saveTask(scheduleId, task);
|
|
10724
10819
|
sendEvent("task-update", { scheduleId, task });
|
|
10725
|
-
console.error(`[Automation] Task failed:`,
|
|
10820
|
+
console.error(`[Automation] Task failed:`, errorMessage2);
|
|
10726
10821
|
return task;
|
|
10727
10822
|
} finally {
|
|
10728
10823
|
runningTasks.delete(scheduleId);
|
|
@@ -11369,7 +11464,7 @@ async function callOpenAICompatibleApi(provider, request) {
|
|
|
11369
11464
|
}
|
|
11370
11465
|
function createImageGenerationModule(ctx, deps) {
|
|
11371
11466
|
const { storage } = ctx;
|
|
11372
|
-
function
|
|
11467
|
+
function getActiveProvider2() {
|
|
11373
11468
|
const settings = storage.getSettings();
|
|
11374
11469
|
const provider = settings.imageGeneration?.find((p) => p.active);
|
|
11375
11470
|
if (!provider) {
|
|
@@ -11380,7 +11475,7 @@ function createImageGenerationModule(ctx, deps) {
|
|
|
11380
11475
|
return provider;
|
|
11381
11476
|
}
|
|
11382
11477
|
async function generateImage(sessionId, request) {
|
|
11383
|
-
const provider =
|
|
11478
|
+
const provider = getActiveProvider2();
|
|
11384
11479
|
const apiResult = await callOpenAICompatibleApi(provider, request);
|
|
11385
11480
|
const shareDir = storage.sessionShareDir(sessionId);
|
|
11386
11481
|
if (!shareDir) throw new Error(`Session not found: ${sessionId}`);
|
|
@@ -11778,6 +11873,178 @@ function createToolboxModule(_ctx) {
|
|
|
11778
11873
|
};
|
|
11779
11874
|
}
|
|
11780
11875
|
|
|
11876
|
+
// src/backend/speech/manager.ts
|
|
11877
|
+
import { Buffer as Buffer2 } from "node:buffer";
|
|
11878
|
+
import {
|
|
11879
|
+
createASRClient
|
|
11880
|
+
} from "unified-realtime-asr";
|
|
11881
|
+
var DEFAULT_DASHSCOPE_MODEL = "fun-asr-flash-8k-realtime";
|
|
11882
|
+
var DEFAULT_OPENAI_MODEL = "gpt-4o-transcribe";
|
|
11883
|
+
function optionalString(value) {
|
|
11884
|
+
const trimmed = value?.trim();
|
|
11885
|
+
return trimmed || void 0;
|
|
11886
|
+
}
|
|
11887
|
+
function required(value, name) {
|
|
11888
|
+
const result = optionalString(value);
|
|
11889
|
+
if (!result) throw new Error(`\u5B9E\u65F6\u8BED\u97F3\u8BC6\u522B\u914D\u7F6E\u7F3A\u5C11 ${name}\u3002`);
|
|
11890
|
+
return result;
|
|
11891
|
+
}
|
|
11892
|
+
function buildOptions(provider) {
|
|
11893
|
+
return {
|
|
11894
|
+
language: optionalString(provider.language) ?? "zh-CN",
|
|
11895
|
+
sampleRate: 16e3,
|
|
11896
|
+
channels: 1,
|
|
11897
|
+
format: "pcm",
|
|
11898
|
+
interimResults: true,
|
|
11899
|
+
punctuation: true,
|
|
11900
|
+
autoReconnect: false,
|
|
11901
|
+
transcriptionModel: provider.provider === "openai" ? optionalString(provider.model) ?? DEFAULT_OPENAI_MODEL : void 0
|
|
11902
|
+
};
|
|
11903
|
+
}
|
|
11904
|
+
function buildConfig(provider) {
|
|
11905
|
+
const options = buildOptions(provider);
|
|
11906
|
+
const url = optionalString(provider.baseUrl);
|
|
11907
|
+
switch (provider.provider) {
|
|
11908
|
+
case "volcengine":
|
|
11909
|
+
return {
|
|
11910
|
+
provider: "volcengine",
|
|
11911
|
+
apiKey: required(provider.apiKey, "API Key"),
|
|
11912
|
+
resourceId: optionalString(provider.resourceId),
|
|
11913
|
+
appId: optionalString(provider.appId),
|
|
11914
|
+
url,
|
|
11915
|
+
options
|
|
11916
|
+
};
|
|
11917
|
+
case "dashscope":
|
|
11918
|
+
return {
|
|
11919
|
+
provider: "dashscope",
|
|
11920
|
+
apiKey: required(provider.apiKey, "API Key"),
|
|
11921
|
+
model: optionalString(provider.model) ?? DEFAULT_DASHSCOPE_MODEL,
|
|
11922
|
+
workspaceId: optionalString(provider.workspaceId),
|
|
11923
|
+
region: provider.region,
|
|
11924
|
+
workspace: optionalString(provider.workspace),
|
|
11925
|
+
url,
|
|
11926
|
+
options
|
|
11927
|
+
};
|
|
11928
|
+
case "openai":
|
|
11929
|
+
return {
|
|
11930
|
+
provider: "openai",
|
|
11931
|
+
apiKey: required(provider.apiKey, "API Key"),
|
|
11932
|
+
url,
|
|
11933
|
+
options
|
|
11934
|
+
};
|
|
11935
|
+
case "iflytek":
|
|
11936
|
+
return {
|
|
11937
|
+
provider: "iflytek",
|
|
11938
|
+
appId: required(provider.appId, "App ID"),
|
|
11939
|
+
apiKey: required(provider.apiKey, "API Key"),
|
|
11940
|
+
apiSecret: required(provider.apiSecret, "API Secret"),
|
|
11941
|
+
url,
|
|
11942
|
+
options
|
|
11943
|
+
};
|
|
11944
|
+
}
|
|
11945
|
+
}
|
|
11946
|
+
function getActiveProvider(ctx) {
|
|
11947
|
+
const provider = ctx.storage.getSettings().speechToText.find((item) => item.active);
|
|
11948
|
+
if (!provider) {
|
|
11949
|
+
throw new Error("\u8BF7\u5148\u5728\u8BBE\u7F6E \u2192 \u8BED\u97F3\u8BC6\u522B\u4E2D\u914D\u7F6E\u5E76\u542F\u7528\u4E00\u4E2A Provider\u3002");
|
|
11950
|
+
}
|
|
11951
|
+
return provider;
|
|
11952
|
+
}
|
|
11953
|
+
function errorMessage(error) {
|
|
11954
|
+
return error instanceof Error ? error.message : String(error);
|
|
11955
|
+
}
|
|
11956
|
+
function createAsrManager(ctx) {
|
|
11957
|
+
const sessions = /* @__PURE__ */ new Map();
|
|
11958
|
+
const keyOf2 = (clientId, asrSessionId) => `${clientId}:${asrSessionId}`;
|
|
11959
|
+
const emitError = (session, error) => {
|
|
11960
|
+
ctx.sendEvent("asr-error", {
|
|
11961
|
+
clientId: session.clientId,
|
|
11962
|
+
asrSessionId: session.asrSessionId,
|
|
11963
|
+
message: errorMessage(error)
|
|
11964
|
+
});
|
|
11965
|
+
};
|
|
11966
|
+
const emitTranscript = (session, transcript) => {
|
|
11967
|
+
ctx.sendEvent("asr-transcript", {
|
|
11968
|
+
clientId: session.clientId,
|
|
11969
|
+
asrSessionId: session.asrSessionId,
|
|
11970
|
+
text: transcript.text,
|
|
11971
|
+
isFinal: transcript.isFinal,
|
|
11972
|
+
id: transcript.id,
|
|
11973
|
+
index: transcript.index,
|
|
11974
|
+
speaker: transcript.speaker
|
|
11975
|
+
});
|
|
11976
|
+
};
|
|
11977
|
+
return {
|
|
11978
|
+
async start(clientId, asrSessionId) {
|
|
11979
|
+
const key = keyOf2(clientId, asrSessionId);
|
|
11980
|
+
if (sessions.has(key)) return { ok: true };
|
|
11981
|
+
const provider = getActiveProvider(ctx);
|
|
11982
|
+
const client2 = createASRClient(buildConfig(provider));
|
|
11983
|
+
const active = { clientId, asrSessionId, client: client2 };
|
|
11984
|
+
sessions.set(key, active);
|
|
11985
|
+
client2.on("transcript", (transcript) => {
|
|
11986
|
+
if (sessions.get(key) === active) emitTranscript(active, transcript);
|
|
11987
|
+
});
|
|
11988
|
+
client2.on("error", (error) => {
|
|
11989
|
+
if (sessions.get(key) === active) emitError(active, error);
|
|
11990
|
+
});
|
|
11991
|
+
client2.on("close", (info) => {
|
|
11992
|
+
if (sessions.get(key) !== active) return;
|
|
11993
|
+
sessions.delete(key);
|
|
11994
|
+
ctx.sendEvent("asr-closed", {
|
|
11995
|
+
clientId,
|
|
11996
|
+
asrSessionId,
|
|
11997
|
+
code: info?.code,
|
|
11998
|
+
reason: info?.reason
|
|
11999
|
+
});
|
|
12000
|
+
});
|
|
12001
|
+
try {
|
|
12002
|
+
await client2.connect();
|
|
12003
|
+
return { ok: true };
|
|
12004
|
+
} catch (error) {
|
|
12005
|
+
sessions.delete(key);
|
|
12006
|
+
client2.removeAllListeners();
|
|
12007
|
+
throw new Error(errorMessage(error));
|
|
12008
|
+
}
|
|
12009
|
+
},
|
|
12010
|
+
frame(clientId, asrSessionId, audioB64) {
|
|
12011
|
+
const active = sessions.get(keyOf2(clientId, asrSessionId));
|
|
12012
|
+
if (!active) return;
|
|
12013
|
+
try {
|
|
12014
|
+
active.client.sendAudio(Buffer2.from(audioB64, "base64"));
|
|
12015
|
+
} catch (error) {
|
|
12016
|
+
emitError(active, error);
|
|
12017
|
+
}
|
|
12018
|
+
},
|
|
12019
|
+
async stop(clientId, asrSessionId) {
|
|
12020
|
+
const key = keyOf2(clientId, asrSessionId);
|
|
12021
|
+
const active = sessions.get(key);
|
|
12022
|
+
if (!active) return;
|
|
12023
|
+
try {
|
|
12024
|
+
await active.client.close();
|
|
12025
|
+
} catch (error) {
|
|
12026
|
+
emitError(active, error);
|
|
12027
|
+
} finally {
|
|
12028
|
+
if (sessions.get(key) === active) sessions.delete(key);
|
|
12029
|
+
active.client.removeAllListeners();
|
|
12030
|
+
}
|
|
12031
|
+
},
|
|
12032
|
+
async closeAll() {
|
|
12033
|
+
await Promise.all(
|
|
12034
|
+
Array.from(sessions.values(), async (active) => {
|
|
12035
|
+
try {
|
|
12036
|
+
await active.client.close();
|
|
12037
|
+
} catch {
|
|
12038
|
+
} finally {
|
|
12039
|
+
active.client.removeAllListeners();
|
|
12040
|
+
}
|
|
12041
|
+
})
|
|
12042
|
+
);
|
|
12043
|
+
sessions.clear();
|
|
12044
|
+
}
|
|
12045
|
+
};
|
|
12046
|
+
}
|
|
12047
|
+
|
|
11781
12048
|
// src/backend/backend.ts
|
|
11782
12049
|
function initBackend(emitter) {
|
|
11783
12050
|
const listeners = [];
|
|
@@ -11803,6 +12070,7 @@ function initBackend(emitter) {
|
|
|
11803
12070
|
const _inference = createInferenceModule(ctx, { skills, search, toolbox });
|
|
11804
12071
|
const memory = createMemoryModule(ctx, { inference: _inference });
|
|
11805
12072
|
const imageGeneration = createImageGenerationModule(ctx, { ilink: ilink.state });
|
|
12073
|
+
const asr = createAsrManager(ctx);
|
|
11806
12074
|
const session = createSessionModule(ctx, {
|
|
11807
12075
|
bridgeConnect,
|
|
11808
12076
|
askUser,
|
|
@@ -12190,11 +12458,22 @@ function initBackend(emitter) {
|
|
|
12190
12458
|
},
|
|
12191
12459
|
async getMemorySystemFilePath({ projectId }) {
|
|
12192
12460
|
return memory.getFilePath(projectId);
|
|
12461
|
+
},
|
|
12462
|
+
// Realtime ASR
|
|
12463
|
+
async startRealtimeAsr({ clientId, asrSessionId }) {
|
|
12464
|
+
return asr.start(clientId, asrSessionId);
|
|
12465
|
+
},
|
|
12466
|
+
async sendRealtimeAsrFrame({ clientId, asrSessionId, audioB64 }) {
|
|
12467
|
+
asr.frame(clientId, asrSessionId, audioB64);
|
|
12468
|
+
},
|
|
12469
|
+
async stopRealtimeAsr({ clientId, asrSessionId }) {
|
|
12470
|
+
await asr.stop(clientId, asrSessionId);
|
|
12193
12471
|
}
|
|
12194
12472
|
};
|
|
12195
12473
|
webui.setHandlers(backendHandlers2);
|
|
12196
12474
|
async function closeBackend2() {
|
|
12197
12475
|
automation.stopAllCrons();
|
|
12476
|
+
await asr.closeAll();
|
|
12198
12477
|
webui.stop();
|
|
12199
12478
|
await ilink.stopIlink({ logout: false });
|
|
12200
12479
|
session.clearSession();
|
|
@@ -12210,7 +12489,7 @@ function initBackend(emitter) {
|
|
|
12210
12489
|
}
|
|
12211
12490
|
|
|
12212
12491
|
// package.json
|
|
12213
|
-
var version = "0.1.
|
|
12492
|
+
var version = "0.1.54";
|
|
12214
12493
|
|
|
12215
12494
|
// src/server/main.ts
|
|
12216
12495
|
var port;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zythum02/fello-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.54",
|
|
4
4
|
"description": "Fello Server — standalone headless AI agent server",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
"ripgrep": "^0.3.1",
|
|
37
37
|
"sharp": "^0.35.3",
|
|
38
38
|
"undici": "^6.28.0",
|
|
39
|
+
"unified-realtime-asr": "0.2.1",
|
|
39
40
|
"web-tree-sitter": "^0.26.11",
|
|
40
41
|
"ws": "^8.21.2",
|
|
41
42
|
"yaml": "^2.9.0",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { c as createLucideIcon } from "./index-BJPggXxf.js";
|
|
2
|
-
const __iconNode = [
|
|
3
|
-
["rect", { width: "8", height: "4", x: "8", y: "2", rx: "1", ry: "1", key: "tgr4d6" }],
|
|
4
|
-
[
|
|
5
|
-
"path",
|
|
6
|
-
{
|
|
7
|
-
d: "M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2",
|
|
8
|
-
key: "116196"
|
|
9
|
-
}
|
|
10
|
-
]
|
|
11
|
-
];
|
|
12
|
-
const Clipboard = createLucideIcon("clipboard", __iconNode);
|
|
13
|
-
export {
|
|
14
|
-
Clipboard as C
|
|
15
|
-
};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|