@zythum02/fello-server 0.1.39 → 0.1.45
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/README.md +10 -2
- package/out/renderer/assets/{_baseUniq-BonfEMiF.js → _baseUniq-B2L-gQdU.js} +1 -1
- package/out/renderer/assets/_baseUniq-B2L-gQdU.js.br +0 -0
- package/out/renderer/assets/_baseUniq-B2L-gQdU.js.gz +0 -0
- package/out/renderer/assets/{arc-Do8LbeMR.js → arc-Dh0s2UpX.js} +1 -1
- package/out/renderer/assets/arc-Dh0s2UpX.js.br +0 -0
- package/out/renderer/assets/arc-Dh0s2UpX.js.gz +0 -0
- package/out/renderer/assets/{architectureDiagram-Q4EWVU46-B8pyh3AH.js → architectureDiagram-Q4EWVU46-CQ2ioqAL.js} +5 -5
- package/out/renderer/assets/architectureDiagram-Q4EWVU46-CQ2ioqAL.js.br +0 -0
- package/out/renderer/assets/architectureDiagram-Q4EWVU46-CQ2ioqAL.js.gz +0 -0
- package/out/renderer/assets/{blockDiagram-DXYQGD6D-DxehDaBQ.js → blockDiagram-DXYQGD6D-Wh0G1xzO.js} +6 -6
- package/out/renderer/assets/blockDiagram-DXYQGD6D-Wh0G1xzO.js.br +0 -0
- package/out/renderer/assets/blockDiagram-DXYQGD6D-Wh0G1xzO.js.gz +0 -0
- package/out/renderer/assets/{c4Diagram-AHTNJAMY-BwVB2HtH.js → c4Diagram-AHTNJAMY-BYn4M8r3.js} +2 -2
- package/out/renderer/assets/c4Diagram-AHTNJAMY-BYn4M8r3.js.br +0 -0
- package/out/renderer/assets/{c4Diagram-AHTNJAMY-BwVB2HtH.js.gz → c4Diagram-AHTNJAMY-BYn4M8r3.js.gz} +0 -0
- package/out/renderer/assets/{channel-DoK5PQCo.js → channel-BbsS770v.js} +1 -1
- package/out/renderer/assets/{chunk-4BX2VUAB-B5UbKm2i.js → chunk-4BX2VUAB-BqmuvYx4.js} +1 -1
- package/out/renderer/assets/{chunk-4TB4RGXK-Mp3JyPop.js → chunk-4TB4RGXK-CGWvo0MB.js} +5 -5
- package/out/renderer/assets/chunk-4TB4RGXK-CGWvo0MB.js.br +0 -0
- package/out/renderer/assets/chunk-4TB4RGXK-CGWvo0MB.js.gz +0 -0
- package/out/renderer/assets/{chunk-55IACEB6-BpQS-lsN.js → chunk-55IACEB6-B2F_rVhp.js} +1 -1
- package/out/renderer/assets/{chunk-EDXVE4YY-BQEQxqzJ.js → chunk-EDXVE4YY-rv_Sxmdr.js} +1 -1
- package/out/renderer/assets/chunk-EDXVE4YY-rv_Sxmdr.js.br +0 -0
- package/out/renderer/assets/chunk-EDXVE4YY-rv_Sxmdr.js.gz +0 -0
- package/out/renderer/assets/{chunk-FMBD7UC4-dCqprN1e.js → chunk-FMBD7UC4-B5pWdaON.js} +1 -1
- package/out/renderer/assets/{chunk-OYMX7WX6-D19mZGkc.js → chunk-OYMX7WX6-CK7U7B55.js} +3 -3
- package/out/renderer/assets/chunk-OYMX7WX6-CK7U7B55.js.br +0 -0
- package/out/renderer/assets/chunk-OYMX7WX6-CK7U7B55.js.gz +0 -0
- package/out/renderer/assets/{chunk-QZHKN3VN-DzWTtEnO.js → chunk-QZHKN3VN-CEGxn157.js} +1 -1
- package/out/renderer/assets/{chunk-YZCP3GAM-BEBfdXkA.js → chunk-YZCP3GAM-CP9VxQ_4.js} +1 -1
- package/out/renderer/assets/chunk-YZCP3GAM-CP9VxQ_4.js.br +0 -0
- package/out/renderer/assets/chunk-YZCP3GAM-CP9VxQ_4.js.gz +0 -0
- package/out/renderer/assets/{classDiagram-6PBFFD2Q-BosKSo4l.js → classDiagram-6PBFFD2Q-DDq47uie.js} +6 -6
- package/out/renderer/assets/{classDiagram-v2-HSJHXN6E-BosKSo4l.js → classDiagram-v2-HSJHXN6E-DDq47uie.js} +6 -6
- package/out/renderer/assets/{clone-C281XDWZ.js → clone-D_yz9tHs.js} +1 -1
- package/out/renderer/assets/{cose-bilkent-S5V4N54A-6SeriN8Z.js → cose-bilkent-S5V4N54A-4f3CSmy0.js} +1 -1
- package/out/renderer/assets/cose-bilkent-S5V4N54A-4f3CSmy0.js.br +0 -0
- package/out/renderer/assets/cose-bilkent-S5V4N54A-4f3CSmy0.js.gz +0 -0
- package/out/renderer/assets/{dagre-KV5264BT-gXq994RD.js → dagre-KV5264BT-CUE2rJbD.js} +6 -6
- package/out/renderer/assets/dagre-KV5264BT-CUE2rJbD.js.br +0 -0
- package/out/renderer/assets/dagre-KV5264BT-CUE2rJbD.js.gz +0 -0
- package/out/renderer/assets/{diagram-5BDNPKRD-GOebOMWt.js → diagram-5BDNPKRD-pp0PcxKz.js} +6 -6
- package/out/renderer/assets/diagram-5BDNPKRD-pp0PcxKz.js.br +0 -0
- package/out/renderer/assets/diagram-5BDNPKRD-pp0PcxKz.js.gz +0 -0
- package/out/renderer/assets/{diagram-G4DWMVQ6-BkQmAuCz.js → diagram-G4DWMVQ6-C-riu5J4.js} +6 -6
- package/out/renderer/assets/diagram-G4DWMVQ6-C-riu5J4.js.br +0 -0
- package/out/renderer/assets/diagram-G4DWMVQ6-C-riu5J4.js.gz +0 -0
- package/out/renderer/assets/{diagram-MMDJMWI5-Q9B0Tkq3.js → diagram-MMDJMWI5-qa5mZzds.js} +5 -5
- package/out/renderer/assets/diagram-MMDJMWI5-qa5mZzds.js.br +0 -0
- package/out/renderer/assets/diagram-MMDJMWI5-qa5mZzds.js.gz +0 -0
- package/out/renderer/assets/{diagram-TYMM5635-5wNVFKxe.js → diagram-TYMM5635-BJb8gvcB.js} +5 -5
- package/out/renderer/assets/diagram-TYMM5635-BJb8gvcB.js.br +0 -0
- package/out/renderer/assets/diagram-TYMM5635-BJb8gvcB.js.gz +0 -0
- package/out/renderer/assets/docx_parser_bg-B5rV91hd.wasm +0 -0
- package/out/renderer/assets/{erDiagram-SMLLAGMA-DRxQnVgW.js → erDiagram-SMLLAGMA-BImpezHs.js} +4 -4
- package/out/renderer/assets/erDiagram-SMLLAGMA-BImpezHs.js.br +0 -0
- package/out/renderer/assets/erDiagram-SMLLAGMA-BImpezHs.js.gz +0 -0
- package/out/renderer/assets/{flowDiagram-DWJPFMVM-3uIpRmli.js → flowDiagram-DWJPFMVM-BGPw25aw.js} +6 -6
- package/out/renderer/assets/flowDiagram-DWJPFMVM-BGPw25aw.js.br +0 -0
- package/out/renderer/assets/flowDiagram-DWJPFMVM-BGPw25aw.js.gz +0 -0
- package/out/renderer/assets/{ganttDiagram-T4ZO3ILL-CFxauQFp.js → ganttDiagram-T4ZO3ILL-DcKLeP7M.js} +2 -2
- package/out/renderer/assets/ganttDiagram-T4ZO3ILL-DcKLeP7M.js.br +0 -0
- package/out/renderer/assets/ganttDiagram-T4ZO3ILL-DcKLeP7M.js.gz +0 -0
- package/out/renderer/assets/{gitGraphDiagram-UUTBAWPF-CDBCF75U.js → gitGraphDiagram-UUTBAWPF-BQE3VROE.js} +6 -6
- package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-BQE3VROE.js.br +0 -0
- package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-BQE3VROE.js.gz +0 -0
- package/out/renderer/assets/{graph-B77t0Iut.js → graph-BpsL6VlK.js} +2 -2
- package/out/renderer/assets/graph-BpsL6VlK.js.br +0 -0
- package/out/renderer/assets/graph-BpsL6VlK.js.gz +0 -0
- package/out/renderer/assets/{highlighted-body-OFNGDK62-BOhs9DFu.js → highlighted-body-OFNGDK62-BKJZddky.js} +1 -1
- package/out/renderer/assets/index-C-1Mla-o.css +6729 -0
- package/out/renderer/assets/index-C-1Mla-o.css.br +0 -0
- package/out/renderer/assets/index-C-1Mla-o.css.gz +0 -0
- package/out/renderer/assets/{index-l_WeGi7a.js → index-Dd5g6jOl.js} +67828 -26949
- package/out/renderer/assets/index-Dd5g6jOl.js.br +0 -0
- package/out/renderer/assets/index-Dd5g6jOl.js.gz +0 -0
- package/out/renderer/assets/{infoDiagram-42DDH7IO-C3TJqapp.js → infoDiagram-42DDH7IO-BfDiSuRt.js} +4 -4
- package/out/renderer/assets/{ishikawaDiagram-UXIWVN3A-C59I-VqG.js → ishikawaDiagram-UXIWVN3A-D3NlGVXH.js} +1 -1
- package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-D3NlGVXH.js.br +0 -0
- package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-D3NlGVXH.js.gz +0 -0
- package/out/renderer/assets/{journeyDiagram-VCZTEJTY-B6jawzfM.js → journeyDiagram-VCZTEJTY-DqeLAWW-.js} +4 -4
- package/out/renderer/assets/journeyDiagram-VCZTEJTY-DqeLAWW-.js.br +0 -0
- package/out/renderer/assets/journeyDiagram-VCZTEJTY-DqeLAWW-.js.gz +0 -0
- package/out/renderer/assets/{kanban-definition-6JOO6SKY-BCXhVxbs.js → kanban-definition-6JOO6SKY-C25BBRvk.js} +2 -2
- package/out/renderer/assets/kanban-definition-6JOO6SKY-C25BBRvk.js.br +0 -0
- package/out/renderer/assets/{kanban-definition-6JOO6SKY-BCXhVxbs.js.gz → kanban-definition-6JOO6SKY-C25BBRvk.js.gz} +0 -0
- package/out/renderer/assets/{layout-zx9noErc.js → layout-DtW-aq94.js} +4 -4
- package/out/renderer/assets/layout-DtW-aq94.js.br +0 -0
- package/out/renderer/assets/layout-DtW-aq94.js.gz +0 -0
- package/out/renderer/assets/{linear-Bo25ELwI.js → linear-rNBYTEYz.js} +1 -1
- package/out/renderer/assets/linear-rNBYTEYz.js.br +0 -0
- package/out/renderer/assets/linear-rNBYTEYz.js.gz +0 -0
- package/out/renderer/assets/mathjax-stix2-M8xawHNZ.js +15 -0
- package/out/renderer/assets/mathjax-stix2-M8xawHNZ.js.br +0 -0
- package/out/renderer/assets/mathjax-stix2-M8xawHNZ.js.gz +0 -0
- package/out/renderer/assets/{min-eGRLXD6u.js → min-MG_Ci7_B.js} +2 -2
- package/out/renderer/assets/min-MG_Ci7_B.js.br +0 -0
- package/out/renderer/assets/min-MG_Ci7_B.js.gz +0 -0
- package/out/renderer/assets/{mindmap-definition-QFDTVHPH-PUpW_gKO.js → mindmap-definition-QFDTVHPH-C67ROQav.js} +3 -3
- package/out/renderer/assets/mindmap-definition-QFDTVHPH-C67ROQav.js.br +0 -0
- package/out/renderer/assets/mindmap-definition-QFDTVHPH-C67ROQav.js.gz +0 -0
- package/out/renderer/assets/{pdf-worker-wrapper-Do-ikGHl.js → pdf-worker-wrapper-D9W0fDhT.js} +6514 -5934
- package/out/renderer/assets/pdf-worker-wrapper-D9W0fDhT.js.br +0 -0
- package/out/renderer/assets/pdf-worker-wrapper-D9W0fDhT.js.gz +0 -0
- package/out/renderer/assets/{pieDiagram-DEJITSTG-BrSaX9YD.js → pieDiagram-DEJITSTG-DE1aBCQW.js} +6 -6
- package/out/renderer/assets/pieDiagram-DEJITSTG-DE1aBCQW.js.br +0 -0
- package/out/renderer/assets/pieDiagram-DEJITSTG-DE1aBCQW.js.gz +0 -0
- package/out/renderer/assets/pierre-dark-BL-l9r39.js +4 -0
- package/out/renderer/assets/pierre-dark-BL-l9r39.js.br +0 -0
- package/out/renderer/assets/pierre-dark-BL-l9r39.js.gz +0 -0
- package/out/renderer/assets/pierre-dark-protanopia-deuteranopia-BBjGuJQU.js +4 -0
- package/out/renderer/assets/pierre-dark-protanopia-deuteranopia-BBjGuJQU.js.br +0 -0
- package/out/renderer/assets/pierre-dark-protanopia-deuteranopia-BBjGuJQU.js.gz +0 -0
- package/out/renderer/assets/pierre-dark-soft-B6TBhICr.js +4 -0
- package/out/renderer/assets/pierre-dark-soft-B6TBhICr.js.br +0 -0
- package/out/renderer/assets/pierre-dark-soft-B6TBhICr.js.gz +0 -0
- package/out/renderer/assets/pierre-dark-tritanopia-f-j_EX9A.js +4 -0
- package/out/renderer/assets/pierre-dark-tritanopia-f-j_EX9A.js.br +0 -0
- package/out/renderer/assets/pierre-dark-tritanopia-f-j_EX9A.js.gz +0 -0
- package/out/renderer/assets/pierre-dark-vibrant-yElMGqZN.js +4 -0
- package/out/renderer/assets/pierre-dark-vibrant-yElMGqZN.js.br +0 -0
- package/out/renderer/assets/pierre-dark-vibrant-yElMGqZN.js.gz +0 -0
- package/out/renderer/assets/pierre-light-BUzWTcjO.js +4 -0
- package/out/renderer/assets/pierre-light-BUzWTcjO.js.br +0 -0
- package/out/renderer/assets/pierre-light-BUzWTcjO.js.gz +0 -0
- package/out/renderer/assets/pierre-light-protanopia-deuteranopia-DlvVSCaI.js +4 -0
- package/out/renderer/assets/pierre-light-protanopia-deuteranopia-DlvVSCaI.js.br +0 -0
- package/out/renderer/assets/pierre-light-protanopia-deuteranopia-DlvVSCaI.js.gz +0 -0
- package/out/renderer/assets/pierre-light-soft-CCMU-Zh0.js +4 -0
- package/out/renderer/assets/pierre-light-soft-CCMU-Zh0.js.br +0 -0
- package/out/renderer/assets/pierre-light-soft-CCMU-Zh0.js.gz +0 -0
- package/out/renderer/assets/pierre-light-tritanopia-v4xacE1C.js +4 -0
- package/out/renderer/assets/pierre-light-tritanopia-v4xacE1C.js.br +0 -0
- package/out/renderer/assets/pierre-light-tritanopia-v4xacE1C.js.gz +0 -0
- package/out/renderer/assets/pierre-light-vibrant-BRUbQnMc.js +4 -0
- package/out/renderer/assets/pierre-light-vibrant-BRUbQnMc.js.br +0 -0
- package/out/renderer/assets/pierre-light-vibrant-BRUbQnMc.js.gz +0 -0
- package/out/renderer/assets/pptx_parser_bg-C6x8HRdb.wasm +0 -0
- package/out/renderer/assets/{quadrantDiagram-34T5L4WZ-B_oUGzKN.js → quadrantDiagram-34T5L4WZ-B5mGDuN5.js} +2 -2
- package/out/renderer/assets/quadrantDiagram-34T5L4WZ-B5mGDuN5.js.br +0 -0
- package/out/renderer/assets/quadrantDiagram-34T5L4WZ-B5mGDuN5.js.gz +0 -0
- package/out/renderer/assets/render-worker-host-B-Y1DmN9-CMFsEp7s.js +25 -0
- package/out/renderer/assets/render-worker-host-B-Y1DmN9-CMFsEp7s.js.br +0 -0
- package/out/renderer/assets/render-worker-host-B-Y1DmN9-CMFsEp7s.js.gz +0 -0
- package/out/renderer/assets/render-worker-host-B5otq5TA-D0PN4GJN.js +25 -0
- package/out/renderer/assets/render-worker-host-B5otq5TA-D0PN4GJN.js.br +0 -0
- package/out/renderer/assets/render-worker-host-B5otq5TA-D0PN4GJN.js.gz +0 -0
- package/out/renderer/assets/render-worker-host-GGVmi0tj-BJOvCVyx.js +25 -0
- package/out/renderer/assets/render-worker-host-GGVmi0tj-BJOvCVyx.js.br +0 -0
- package/out/renderer/assets/render-worker-host-GGVmi0tj-BJOvCVyx.js.gz +0 -0
- package/out/renderer/assets/{requirementDiagram-MS252O5E-LQY3T05J.js → requirementDiagram-MS252O5E-CiGX4Xpv.js} +3 -3
- package/out/renderer/assets/requirementDiagram-MS252O5E-CiGX4Xpv.js.br +0 -0
- package/out/renderer/assets/requirementDiagram-MS252O5E-CiGX4Xpv.js.gz +0 -0
- package/out/renderer/assets/{sankeyDiagram-XADWPNL6-BZrdYvkl.js → sankeyDiagram-XADWPNL6-BPM4lpDs.js} +1 -1
- package/out/renderer/assets/sankeyDiagram-XADWPNL6-BPM4lpDs.js.br +0 -0
- package/out/renderer/assets/sankeyDiagram-XADWPNL6-BPM4lpDs.js.gz +0 -0
- package/out/renderer/assets/{sequenceDiagram-FGHM5R23-DT03DGl3.js → sequenceDiagram-FGHM5R23-D1Ok0mDp.js} +3 -3
- package/out/renderer/assets/sequenceDiagram-FGHM5R23-D1Ok0mDp.js.br +0 -0
- package/out/renderer/assets/sequenceDiagram-FGHM5R23-D1Ok0mDp.js.gz +0 -0
- package/out/renderer/assets/{stateDiagram-FHFEXIEX-XxvRQ2fw.js → stateDiagram-FHFEXIEX-C0DqB63K.js} +8 -8
- package/out/renderer/assets/stateDiagram-FHFEXIEX-C0DqB63K.js.br +0 -0
- package/out/renderer/assets/stateDiagram-FHFEXIEX-C0DqB63K.js.gz +0 -0
- package/out/renderer/assets/{stateDiagram-v2-QKLJ7IA2-C8lZQVxS.js → stateDiagram-v2-QKLJ7IA2-CcTyZcy9.js} +4 -4
- package/out/renderer/assets/{timeline-definition-GMOUNBTQ-BThN9RD2.js → timeline-definition-GMOUNBTQ-CY70j9aj.js} +2 -2
- package/out/renderer/assets/timeline-definition-GMOUNBTQ-CY70j9aj.js.br +0 -0
- package/out/renderer/assets/timeline-definition-GMOUNBTQ-CY70j9aj.js.gz +0 -0
- package/out/renderer/assets/{vennDiagram-DHZGUBPP-DvL9CApP.js → vennDiagram-DHZGUBPP-DpZP-SME.js} +1 -1
- package/out/renderer/assets/vennDiagram-DHZGUBPP-DpZP-SME.js.br +0 -0
- package/out/renderer/assets/vennDiagram-DHZGUBPP-DpZP-SME.js.gz +0 -0
- package/out/renderer/assets/{wardley-RL74JXVD-B4vPxA-A.js → wardley-RL74JXVD-DUTOcssT.js} +3 -3
- package/out/renderer/assets/wardley-RL74JXVD-DUTOcssT.js.br +0 -0
- package/out/renderer/assets/{wardley-RL74JXVD-B4vPxA-A.js.gz → wardley-RL74JXVD-DUTOcssT.js.gz} +0 -0
- package/out/renderer/assets/{wardleyDiagram-NUSXRM2D-A3F8zuNA.js → wardleyDiagram-NUSXRM2D-ZVKE_8YQ.js} +5 -5
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-ZVKE_8YQ.js.br +0 -0
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-ZVKE_8YQ.js.gz +0 -0
- package/out/renderer/assets/xlsx_parser_bg-ByWgODYl.wasm +0 -0
- package/out/renderer/assets/{xychartDiagram-5P7HB3ND-BxjT7l5Q.js → xychartDiagram-5P7HB3ND-B8kViTNI.js} +2 -2
- package/out/renderer/assets/xychartDiagram-5P7HB3ND-B8kViTNI.js.br +0 -0
- package/out/renderer/assets/xychartDiagram-5P7HB3ND-B8kViTNI.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/electron-preload/preload.mjs +21 -0
- package/out/scripts/mcp-image-generation/server.mjs +140 -0
- package/out/scripts/mcp-memo/server.mjs +268 -0
- package/out/scripts/mcp-memory/server.mjs +183 -0
- package/out/scripts/mcp-search/server.mjs +1 -1
- package/out/scripts/mcp-toolbox/server.mjs +482 -0
- package/out/scripts/worker-file-outline/worker.mjs +242 -28
- package/out/server/main.js +3548 -1332
- package/package.json +16 -13
- package/resources/tree-sitter-wasm/tree-sitter-dart.wasm +0 -0
- package/out/renderer/assets/_baseUniq-BonfEMiF.js.br +0 -0
- package/out/renderer/assets/_baseUniq-BonfEMiF.js.gz +0 -0
- package/out/renderer/assets/arc-Do8LbeMR.js.br +0 -0
- package/out/renderer/assets/arc-Do8LbeMR.js.gz +0 -0
- package/out/renderer/assets/architectureDiagram-Q4EWVU46-B8pyh3AH.js.br +0 -0
- package/out/renderer/assets/architectureDiagram-Q4EWVU46-B8pyh3AH.js.gz +0 -0
- package/out/renderer/assets/blockDiagram-DXYQGD6D-DxehDaBQ.js.br +0 -0
- package/out/renderer/assets/blockDiagram-DXYQGD6D-DxehDaBQ.js.gz +0 -0
- package/out/renderer/assets/c4Diagram-AHTNJAMY-BwVB2HtH.js.br +0 -0
- package/out/renderer/assets/chunk-4TB4RGXK-Mp3JyPop.js.br +0 -0
- package/out/renderer/assets/chunk-4TB4RGXK-Mp3JyPop.js.gz +0 -0
- package/out/renderer/assets/chunk-EDXVE4YY-BQEQxqzJ.js.br +0 -0
- package/out/renderer/assets/chunk-EDXVE4YY-BQEQxqzJ.js.gz +0 -0
- package/out/renderer/assets/chunk-OYMX7WX6-D19mZGkc.js.br +0 -0
- package/out/renderer/assets/chunk-OYMX7WX6-D19mZGkc.js.gz +0 -0
- package/out/renderer/assets/chunk-YZCP3GAM-BEBfdXkA.js.br +0 -0
- package/out/renderer/assets/chunk-YZCP3GAM-BEBfdXkA.js.gz +0 -0
- package/out/renderer/assets/cose-bilkent-S5V4N54A-6SeriN8Z.js.br +0 -0
- package/out/renderer/assets/cose-bilkent-S5V4N54A-6SeriN8Z.js.gz +0 -0
- package/out/renderer/assets/dagre-KV5264BT-gXq994RD.js.br +0 -0
- package/out/renderer/assets/dagre-KV5264BT-gXq994RD.js.gz +0 -0
- package/out/renderer/assets/diagram-5BDNPKRD-GOebOMWt.js.br +0 -0
- package/out/renderer/assets/diagram-5BDNPKRD-GOebOMWt.js.gz +0 -0
- package/out/renderer/assets/diagram-G4DWMVQ6-BkQmAuCz.js.br +0 -0
- package/out/renderer/assets/diagram-G4DWMVQ6-BkQmAuCz.js.gz +0 -0
- package/out/renderer/assets/diagram-MMDJMWI5-Q9B0Tkq3.js.br +0 -0
- package/out/renderer/assets/diagram-MMDJMWI5-Q9B0Tkq3.js.gz +0 -0
- package/out/renderer/assets/diagram-TYMM5635-5wNVFKxe.js.br +0 -0
- package/out/renderer/assets/diagram-TYMM5635-5wNVFKxe.js.gz +0 -0
- package/out/renderer/assets/erDiagram-SMLLAGMA-DRxQnVgW.js.br +0 -0
- package/out/renderer/assets/erDiagram-SMLLAGMA-DRxQnVgW.js.gz +0 -0
- package/out/renderer/assets/flowDiagram-DWJPFMVM-3uIpRmli.js.br +0 -0
- package/out/renderer/assets/flowDiagram-DWJPFMVM-3uIpRmli.js.gz +0 -0
- package/out/renderer/assets/ganttDiagram-T4ZO3ILL-CFxauQFp.js.br +0 -0
- package/out/renderer/assets/ganttDiagram-T4ZO3ILL-CFxauQFp.js.gz +0 -0
- package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-CDBCF75U.js.br +0 -0
- package/out/renderer/assets/gitGraphDiagram-UUTBAWPF-CDBCF75U.js.gz +0 -0
- package/out/renderer/assets/graph-B77t0Iut.js.br +0 -0
- package/out/renderer/assets/graph-B77t0Iut.js.gz +0 -0
- package/out/renderer/assets/index-CTSkyk5N.css +0 -7619
- package/out/renderer/assets/index-CTSkyk5N.css.br +0 -0
- package/out/renderer/assets/index-CTSkyk5N.css.gz +0 -0
- package/out/renderer/assets/index-l_WeGi7a.js.br +0 -0
- package/out/renderer/assets/index-l_WeGi7a.js.gz +0 -0
- package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-C59I-VqG.js.br +0 -0
- package/out/renderer/assets/ishikawaDiagram-UXIWVN3A-C59I-VqG.js.gz +0 -0
- package/out/renderer/assets/journeyDiagram-VCZTEJTY-B6jawzfM.js.br +0 -0
- package/out/renderer/assets/journeyDiagram-VCZTEJTY-B6jawzfM.js.gz +0 -0
- package/out/renderer/assets/kanban-definition-6JOO6SKY-BCXhVxbs.js.br +0 -0
- package/out/renderer/assets/layout-zx9noErc.js.br +0 -0
- package/out/renderer/assets/layout-zx9noErc.js.gz +0 -0
- package/out/renderer/assets/linear-Bo25ELwI.js.br +0 -0
- package/out/renderer/assets/linear-Bo25ELwI.js.gz +0 -0
- package/out/renderer/assets/min-eGRLXD6u.js.br +0 -0
- package/out/renderer/assets/min-eGRLXD6u.js.gz +0 -0
- package/out/renderer/assets/mindmap-definition-QFDTVHPH-PUpW_gKO.js.br +0 -0
- package/out/renderer/assets/mindmap-definition-QFDTVHPH-PUpW_gKO.js.gz +0 -0
- package/out/renderer/assets/pdf-worker-wrapper-Do-ikGHl.js.br +0 -0
- package/out/renderer/assets/pdf-worker-wrapper-Do-ikGHl.js.gz +0 -0
- package/out/renderer/assets/pieDiagram-DEJITSTG-BrSaX9YD.js.br +0 -0
- package/out/renderer/assets/pieDiagram-DEJITSTG-BrSaX9YD.js.gz +0 -0
- package/out/renderer/assets/pierre-dark-C-Drv5KU.js +0 -4
- package/out/renderer/assets/pierre-dark-C-Drv5KU.js.br +0 -0
- package/out/renderer/assets/pierre-dark-C-Drv5KU.js.gz +0 -0
- package/out/renderer/assets/pierre-dark-soft-Cd74uQaL.js +0 -4
- package/out/renderer/assets/pierre-dark-soft-Cd74uQaL.js.br +0 -0
- package/out/renderer/assets/pierre-dark-soft-Cd74uQaL.js.gz +0 -0
- package/out/renderer/assets/pierre-light-CfQnmt6J.js +0 -4
- package/out/renderer/assets/pierre-light-CfQnmt6J.js.br +0 -0
- package/out/renderer/assets/pierre-light-CfQnmt6J.js.gz +0 -0
- package/out/renderer/assets/pierre-light-soft-DMVdU74b.js +0 -4
- package/out/renderer/assets/pierre-light-soft-DMVdU74b.js.br +0 -0
- package/out/renderer/assets/pierre-light-soft-DMVdU74b.js.gz +0 -0
- package/out/renderer/assets/quadrantDiagram-34T5L4WZ-B_oUGzKN.js.br +0 -0
- package/out/renderer/assets/quadrantDiagram-34T5L4WZ-B_oUGzKN.js.gz +0 -0
- package/out/renderer/assets/render-worker-host-4IbvpiUo-Dc5a8nQ-.js +0 -25
- package/out/renderer/assets/render-worker-host-4IbvpiUo-Dc5a8nQ-.js.br +0 -0
- package/out/renderer/assets/render-worker-host-4IbvpiUo-Dc5a8nQ-.js.gz +0 -0
- package/out/renderer/assets/render-worker-host-BdfGz_ou-AC9asZT1.js +0 -25
- package/out/renderer/assets/render-worker-host-BdfGz_ou-AC9asZT1.js.br +0 -0
- package/out/renderer/assets/render-worker-host-BdfGz_ou-AC9asZT1.js.gz +0 -0
- package/out/renderer/assets/render-worker-host-awn_IPjt-Bowndb19.js +0 -25
- package/out/renderer/assets/render-worker-host-awn_IPjt-Bowndb19.js.br +0 -0
- package/out/renderer/assets/render-worker-host-awn_IPjt-Bowndb19.js.gz +0 -0
- package/out/renderer/assets/requirementDiagram-MS252O5E-LQY3T05J.js.br +0 -0
- package/out/renderer/assets/requirementDiagram-MS252O5E-LQY3T05J.js.gz +0 -0
- package/out/renderer/assets/sankeyDiagram-XADWPNL6-BZrdYvkl.js.br +0 -0
- package/out/renderer/assets/sankeyDiagram-XADWPNL6-BZrdYvkl.js.gz +0 -0
- package/out/renderer/assets/sequenceDiagram-FGHM5R23-DT03DGl3.js.br +0 -0
- package/out/renderer/assets/sequenceDiagram-FGHM5R23-DT03DGl3.js.gz +0 -0
- package/out/renderer/assets/stateDiagram-FHFEXIEX-XxvRQ2fw.js.br +0 -0
- package/out/renderer/assets/stateDiagram-FHFEXIEX-XxvRQ2fw.js.gz +0 -0
- package/out/renderer/assets/timeline-definition-GMOUNBTQ-BThN9RD2.js.br +0 -0
- package/out/renderer/assets/timeline-definition-GMOUNBTQ-BThN9RD2.js.gz +0 -0
- package/out/renderer/assets/vennDiagram-DHZGUBPP-DvL9CApP.js.br +0 -0
- package/out/renderer/assets/vennDiagram-DHZGUBPP-DvL9CApP.js.gz +0 -0
- package/out/renderer/assets/wardley-RL74JXVD-B4vPxA-A.js.br +0 -0
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-A3F8zuNA.js.br +0 -0
- package/out/renderer/assets/wardleyDiagram-NUSXRM2D-A3F8zuNA.js.gz +0 -0
- package/out/renderer/assets/xychartDiagram-5P7HB3ND-BxjT7l5Q.js.br +0 -0
- package/out/renderer/assets/xychartDiagram-5P7HB3ND-BxjT7l5Q.js.gz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { g as getDiagramElement } from "./chunk-55IACEB6-
|
|
2
|
-
import { s as setupViewPortForSVG } from "./chunk-EDXVE4YY-
|
|
3
|
-
import { _ as __name, G as getConfig, b as setAccTitle, a as getAccTitle, s as setAccDescription, g as getAccDescription, t as setDiagramTitle, v as getDiagramTitle, c as getConfig2, l as log, C as clear, F as __export, p as getRegisteredLayoutAlgorithm, q as render, u as utils_default } from "./index-
|
|
1
|
+
import { g as getDiagramElement } from "./chunk-55IACEB6-B2F_rVhp.js";
|
|
2
|
+
import { s as setupViewPortForSVG } from "./chunk-EDXVE4YY-rv_Sxmdr.js";
|
|
3
|
+
import { _ as __name, G as getConfig, b as setAccTitle, a as getAccTitle, s as setAccDescription, g as getAccDescription, t as setDiagramTitle, v as getDiagramTitle, c as getConfig2, l as log, C as clear, F as __export, p as getRegisteredLayoutAlgorithm, q as render, u as utils_default } from "./index-Dd5g6jOl.js";
|
|
4
4
|
var parser = (function() {
|
|
5
5
|
var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
|
|
6
6
|
for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
|
|
Binary file
|
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as setDiagramTitle, v as getDiagramTitle, s as setAccDescription, g as getAccDescription, b as setAccTitle, a as getAccTitle, _ as __name, c as getConfig2, D as defaultConfig2, d as select, a3 as setupGraphViewbox, C as clear, m as common_default } from "./index-
|
|
1
|
+
import { t as setDiagramTitle, v as getDiagramTitle, s as setAccDescription, g as getAccDescription, b as setAccTitle, a as getAccTitle, _ as __name, c as getConfig2, D as defaultConfig2, d as select, a3 as setupGraphViewbox, C as clear, m as common_default } from "./index-Dd5g6jOl.js";
|
|
2
2
|
import { o as ordinal } from "./ordinal-CxptdPJm.js";
|
|
3
3
|
import "./init-ZxktEp_H.js";
|
|
4
4
|
function colors(specifier) {
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { _ as __name, o as setConfig2, c as getConfig2, d as select, l as log, k as distExports, e as configureSvgSize, f as assignWithDepth_default, m as common_default, b as setAccTitle, s as setAccDescription, t as setDiagramTitle, a as getAccTitle, g as getAccDescription, v as getDiagramTitle, x as load, J as JSON_SCHEMA, C as clear, i as sanitizeText, u as utils_default, P as hasKatex, Q as calculateMathMLDimensions, S as parseFontSize, Z as ZERO_WIDTH_SPACE, G as getConfig, T as getUrl, U as renderKatexSanitized } from "./index-
|
|
2
|
-
import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, e as drawEmbeddedImage, f as drawImage } from "./chunk-YZCP3GAM-
|
|
3
|
-
import { I as ImperativeState } from "./chunk-QZHKN3VN-
|
|
1
|
+
import { _ as __name, o as setConfig2, c as getConfig2, d as select, l as log, k as distExports, e as configureSvgSize, f as assignWithDepth_default, m as common_default, b as setAccTitle, s as setAccDescription, t as setDiagramTitle, a as getAccTitle, g as getAccDescription, v as getDiagramTitle, x as load, J as JSON_SCHEMA, C as clear, i as sanitizeText, u as utils_default, P as hasKatex, Q as calculateMathMLDimensions, S as parseFontSize, Z as ZERO_WIDTH_SPACE, G as getConfig, T as getUrl, U as renderKatexSanitized } from "./index-Dd5g6jOl.js";
|
|
2
|
+
import { a as drawBackgroundRect, b as getTextObj, g as getNoteRect, d as drawRect, e as drawEmbeddedImage, f as drawImage } from "./chunk-YZCP3GAM-CP9VxQ_4.js";
|
|
3
|
+
import { I as ImperativeState } from "./chunk-QZHKN3VN-CEGxn157.js";
|
|
4
4
|
var parser = (function() {
|
|
5
5
|
var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
|
|
6
6
|
for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
|
|
Binary file
|
|
Binary file
|
package/out/renderer/assets/{stateDiagram-FHFEXIEX-XxvRQ2fw.js → stateDiagram-FHFEXIEX-C0DqB63K.js}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-OYMX7WX6-
|
|
2
|
-
import { _ as __name, c as getConfig2, d as select, l as log, e as configureSvgSize, m as common_default, W as line, X as curveBasis, T as getUrl, u as utils_default } from "./index-
|
|
3
|
-
import { G as Graph } from "./graph-
|
|
4
|
-
import { l as layout } from "./layout-
|
|
5
|
-
import "./chunk-55IACEB6-
|
|
6
|
-
import "./chunk-EDXVE4YY-
|
|
7
|
-
import "./_baseUniq-
|
|
8
|
-
import "./min-
|
|
1
|
+
import { s as styles_default, a as stateDiagram_default, S as StateDB } from "./chunk-OYMX7WX6-CK7U7B55.js";
|
|
2
|
+
import { _ as __name, c as getConfig2, d as select, l as log, e as configureSvgSize, m as common_default, W as line, X as curveBasis, T as getUrl, u as utils_default } from "./index-Dd5g6jOl.js";
|
|
3
|
+
import { G as Graph } from "./graph-BpsL6VlK.js";
|
|
4
|
+
import { l as layout } from "./layout-DtW-aq94.js";
|
|
5
|
+
import "./chunk-55IACEB6-B2F_rVhp.js";
|
|
6
|
+
import "./chunk-EDXVE4YY-rv_Sxmdr.js";
|
|
7
|
+
import "./_baseUniq-B2L-gQdU.js";
|
|
8
|
+
import "./min-MG_Ci7_B.js";
|
|
9
9
|
var drawStartState = /* @__PURE__ */ __name((g) => g.append("circle").attr("class", "start-state").attr("r", getConfig2().state.sizeUnit).attr("cx", getConfig2().state.padding + getConfig2().state.sizeUnit).attr("cy", getConfig2().state.padding + getConfig2().state.sizeUnit), "drawStartState");
|
|
10
10
|
var drawDivider = /* @__PURE__ */ __name((g) => g.append("line").style("stroke", "grey").style("stroke-dasharray", "3").attr("x1", getConfig2().state.textHeight).attr("class", "divider").attr("x2", getConfig2().state.textHeight * 2).attr("y1", 0).attr("y2", 0), "drawDivider");
|
|
11
11
|
var drawSimpleState = /* @__PURE__ */ __name((g, stateDef) => {
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-OYMX7WX6-
|
|
2
|
-
import { _ as __name } from "./index-
|
|
3
|
-
import "./chunk-55IACEB6-
|
|
4
|
-
import "./chunk-EDXVE4YY-
|
|
1
|
+
import { s as styles_default, b as stateRenderer_v3_unified_default, a as stateDiagram_default, S as StateDB } from "./chunk-OYMX7WX6-CK7U7B55.js";
|
|
2
|
+
import { _ as __name } from "./index-Dd5g6jOl.js";
|
|
3
|
+
import "./chunk-55IACEB6-B2F_rVhp.js";
|
|
4
|
+
import "./chunk-EDXVE4YY-rv_Sxmdr.js";
|
|
5
5
|
var diagram = {
|
|
6
6
|
parser: stateDiagram_default,
|
|
7
7
|
get db() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as __name, G as getConfig, a0 as isDark, a1 as lighten, a2 as darken, c as getConfig2, l as log, N as selectSvgElement, S as parseFontSize, a3 as setupGraphViewbox, d as select, F as __export, a4 as commonDb_exports, C as clear } from "./index-
|
|
2
|
-
import { d as d3arc } from "./arc-
|
|
1
|
+
import { _ as __name, G as getConfig, a0 as isDark, a1 as lighten, a2 as darken, c as getConfig2, l as log, N as selectSvgElement, S as parseFontSize, a3 as setupGraphViewbox, d as select, F as __export, a4 as commonDb_exports, C as clear } from "./index-Dd5g6jOl.js";
|
|
2
|
+
import { d as d3arc } from "./arc-Dh0s2UpX.js";
|
|
3
3
|
var parser = (function() {
|
|
4
4
|
var o = /* @__PURE__ */ __name(function(k, v, o2, l) {
|
|
5
5
|
for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;
|
|
Binary file
|
|
Binary file
|
package/out/renderer/assets/{vennDiagram-DHZGUBPP-DvL9CApP.js → vennDiagram-DHZGUBPP-DpZP-SME.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { aI as adjustChannel, s as setAccDescription, g as getAccDescription, v as getDiagramTitle, t as setDiagramTitle, a as getAccTitle, b as setAccTitle, _ as __name, G as getConfig, N as selectSvgElement, d as select, ax as at, a0 as isDark, a1 as lighten, a2 as darken, e as configureSvgSize, C as clear, I as cleanAndMerge, K as defaultConfig_default } from "./index-
|
|
1
|
+
import { aI as adjustChannel, s as setAccDescription, g as getAccDescription, v as getDiagramTitle, t as setDiagramTitle, a as getAccTitle, b as setAccTitle, _ as __name, G as getConfig, N as selectSvgElement, d as select, ax as at, a0 as isDark, a1 as lighten, a2 as darken, e as configureSvgSize, C as clear, I as cleanAndMerge, K as defaultConfig_default } from "./index-Dd5g6jOl.js";
|
|
2
2
|
const transparentize = (color, amount) => {
|
|
3
3
|
return adjustChannel(color, "a", -amount);
|
|
4
4
|
};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { bg as isEmpty$1, bJ as getAugmentedNamespace, bK as __vitePreload } from "./index-
|
|
2
|
-
import { m as map$2, f as flatten$1, d as min } from "./min-
|
|
3
|
-
import { b as baseFlatten$1, l as baseUniq$1, c as baseIteratee$2, m as filter$1, r as reduce$1, n as forEach$2 } from "./_baseUniq-
|
|
1
|
+
import { bg as isEmpty$1, bJ as getAugmentedNamespace, bK as __vitePreload } from "./index-Dd5g6jOl.js";
|
|
2
|
+
import { m as map$2, f as flatten$1, d as min } from "./min-MG_Ci7_B.js";
|
|
3
|
+
import { b as baseFlatten$1, l as baseUniq$1, c as baseIteratee$2, m as filter$1, r as reduce$1, n as forEach$2 } from "./_baseUniq-B2L-gQdU.js";
|
|
4
4
|
function flatMap$1(collection, iteratee) {
|
|
5
5
|
return baseFlatten$1(map$2(collection, iteratee));
|
|
6
6
|
}
|
|
Binary file
|
package/out/renderer/assets/{wardley-RL74JXVD-B4vPxA-A.js.gz → wardley-RL74JXVD-DUTOcssT.js.gz}
RENAMED
|
Binary file
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { s as setAccDescription, g as getAccDescription, v as getDiagramTitle, t as setDiagramTitle, a as getAccTitle, b as setAccTitle, _ as __name, l as log, N as selectSvgElement, e as configureSvgSize, C as clear, c as getConfig2$1, i as sanitizeText } from "./index-
|
|
2
|
-
import { p as populateCommonDb } from "./chunk-4BX2VUAB-
|
|
3
|
-
import { p as parse } from "./wardley-RL74JXVD-
|
|
4
|
-
import "./min-
|
|
5
|
-
import "./_baseUniq-
|
|
1
|
+
import { s as setAccDescription, g as getAccDescription, v as getDiagramTitle, t as setDiagramTitle, a as getAccTitle, b as setAccTitle, _ as __name, l as log, N as selectSvgElement, e as configureSvgSize, C as clear, c as getConfig2$1, i as sanitizeText } from "./index-Dd5g6jOl.js";
|
|
2
|
+
import { p as populateCommonDb } from "./chunk-4BX2VUAB-BqmuvYx4.js";
|
|
3
|
+
import { p as parse } from "./wardley-RL74JXVD-DUTOcssT.js";
|
|
4
|
+
import "./min-MG_Ci7_B.js";
|
|
5
|
+
import "./_baseUniq-B2L-gQdU.js";
|
|
6
6
|
var toPercent = /* @__PURE__ */ __name((value, context) => {
|
|
7
7
|
const normalized = value <= 1 ? value * 100 : value;
|
|
8
8
|
if (normalized < 0 || normalized > 100) {
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { s as setAccDescription, g as getAccDescription, v as getDiagramTitle, t as setDiagramTitle, a as getAccTitle, b as setAccTitle, _ as __name, l as log, N as selectSvgElement, e as configureSvgSize, C as clear, G as getConfig, i as sanitizeText, I as cleanAndMerge, K as defaultConfig_default, O as getThemeVariables3, aH as computeDimensionOfText, W as line } from "./index-
|
|
1
|
+
import { s as setAccDescription, g as getAccDescription, v as getDiagramTitle, t as setDiagramTitle, a as getAccTitle, b as setAccTitle, _ as __name, l as log, N as selectSvgElement, e as configureSvgSize, C as clear, G as getConfig, i as sanitizeText, I as cleanAndMerge, K as defaultConfig_default, O as getThemeVariables3, aH as computeDimensionOfText, W as line } from "./index-Dd5g6jOl.js";
|
|
2
2
|
import { i as initRange } from "./init-ZxktEp_H.js";
|
|
3
3
|
import { o as ordinal } from "./ordinal-CxptdPJm.js";
|
|
4
|
-
import { l as linear } from "./linear-
|
|
4
|
+
import { l as linear } from "./linear-rNBYTEYz.js";
|
|
5
5
|
import "./defaultLocale-B2RvLBDe.js";
|
|
6
6
|
function range(start, stop, step) {
|
|
7
7
|
start = +start, stop = +stop, step = (n = arguments.length) < 2 ? (stop = start, start = 0, 1) : n < 3 ? 1 : +step;
|
|
Binary file
|
|
Binary file
|
package/out/renderer/index.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<link rel="icon" href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPgoJPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMjQiIGhlaWdodD0iMTAyNCIgcng9IjIyMCIgZmlsbD0iI0ZGRkZGRiIvPgoJPHBhdGggZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiM0RDRENEQiIHN0cm9rZS13aWR0aD0iODAiIGQ9Ik03NzggNjMyLjY1OWMwIDI5LjQ4LTIzLjg2MyA1My4zOC01My4zIDUzLjM4SDM3My42NjZhNTMuMjYgNTMuMjYgMCAwIDAtMzcuNjgzIDE1LjY0TDI3Ny4zIDc2MC40NWExOC45IDE4LjkgMCAwIDEtMjAuNjIgNC4xMDdBMTguOTUgMTguOTUgMCAwIDEgMjQ1IDc0Ny4wNTJWMzEyLjM4YzAtMjkuNDgxIDIzLjg2My01My4zOCA1My4zLTUzLjM4aDQyNi40YzI5LjQzNyAwIDUzLjMgMjMuODk5IDUzLjMgNTMuMzh6Ii8+Cjwvc3ZnPg==" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Fello</title>
|
|
8
|
-
<script type="module" crossorigin src="./assets/index-
|
|
9
|
-
<link rel="stylesheet" crossorigin href="./assets/index-
|
|
8
|
+
<script type="module" crossorigin src="./assets/index-Dd5g6jOl.js"></script>
|
|
9
|
+
<link rel="stylesheet" crossorigin href="./assets/index-C-1Mla-o.css">
|
|
10
10
|
</head>
|
|
11
11
|
<body>
|
|
12
12
|
<div id="root"></div>
|
|
Binary file
|
|
Binary file
|
|
@@ -1,7 +1,28 @@
|
|
|
1
1
|
import { contextBridge, ipcRenderer, webUtils } from "electron";
|
|
2
|
+
import { createTitlebarOnDOMContentLoaded } from "custom-electron-titlebar";
|
|
2
3
|
const wrappedListeners = /* @__PURE__ */ new Map();
|
|
4
|
+
let titlebar = null;
|
|
5
|
+
if (process.platform !== "darwin") {
|
|
6
|
+
titlebar = createTitlebarOnDOMContentLoaded();
|
|
7
|
+
}
|
|
3
8
|
contextBridge.exposeInMainWorld("fello", {
|
|
4
9
|
isMacApp: process.platform === "darwin",
|
|
10
|
+
isWinApp: process.platform === "win32",
|
|
11
|
+
updateTheme: (theme) => {
|
|
12
|
+
titlebar?.then((titlebar2) => {
|
|
13
|
+
titlebar2.applyThemeConfig(
|
|
14
|
+
{
|
|
15
|
+
colors: {
|
|
16
|
+
titlebar: theme === "light" ? "#ffffff" : "#09090b",
|
|
17
|
+
titlebarForeground: theme === "light" ? "#09090b" : "#ffffff",
|
|
18
|
+
menuBar: theme === "light" ? "#ffffff" : "#09090b",
|
|
19
|
+
menuItemSelection: theme === "light" ? "#eeeeee" : "#333333"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"inline"
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
},
|
|
5
26
|
getPathForFile: (file) => webUtils.getPathForFile(file),
|
|
6
27
|
onMacFullScreen: (callback) => {
|
|
7
28
|
const handler = (_event, isFullScreen) => callback(isFullScreen);
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import * as http from "http";
|
|
5
|
+
z.object({
|
|
6
|
+
id: z.string().describe("Unique identifier for the provider"),
|
|
7
|
+
name: z.string().describe("User-defined name, e.g. 'OpenAI GPT-Image'"),
|
|
8
|
+
provider: z.enum(["openai-compatible"]).describe("Provider type. Currently only 'openai-compatible' is supported."),
|
|
9
|
+
baseUrl: z.string().describe(
|
|
10
|
+
"API base URL, e.g. 'https://api.openai.com/v1'. Request goes to {baseUrl}/images/generations"
|
|
11
|
+
),
|
|
12
|
+
apiKey: z.string().describe("API authentication key"),
|
|
13
|
+
model: z.string().describe("Model identifier, e.g. 'gpt-image-2', 'dall-e-3'"),
|
|
14
|
+
active: z.boolean().describe("Whether this provider is currently active")
|
|
15
|
+
});
|
|
16
|
+
const imageGenerationRequestSchema = z.object({
|
|
17
|
+
prompt: z.string().describe("Detailed description of the image to generate"),
|
|
18
|
+
size: z.string().describe(
|
|
19
|
+
"Image size in 'widthxheight' format. Common sizes: '1024x1024' (square), '1536x1024' (landscape), '1024x1536' (portrait), '1792x1024' (wide landscape), '1024x1792' (tall portrait)."
|
|
20
|
+
),
|
|
21
|
+
n: z.number().optional().default(1).describe("Number of images to generate (default: 1)")
|
|
22
|
+
});
|
|
23
|
+
const imageGenerationImageSchema = z.object({
|
|
24
|
+
sharePath: z.string().describe("Relative path in the session's share directory"),
|
|
25
|
+
name: z.string().describe("Generated image filename"),
|
|
26
|
+
mimeType: z.string().describe("MIME type of the generated image")
|
|
27
|
+
});
|
|
28
|
+
z.object({
|
|
29
|
+
images: z.array(imageGenerationImageSchema).describe("Generated images"),
|
|
30
|
+
model: z.string().describe("Model used for generation"),
|
|
31
|
+
size: z.string().describe("Image size that was generated"),
|
|
32
|
+
prompt: z.string().describe("The prompt used to generate the image")
|
|
33
|
+
});
|
|
34
|
+
function getArg(name) {
|
|
35
|
+
const idx = process.argv.indexOf(`--${name}`);
|
|
36
|
+
return idx !== -1 ? process.argv[idx + 1] : void 0;
|
|
37
|
+
}
|
|
38
|
+
const socketPath = getArg("socket-path");
|
|
39
|
+
const projectDir = getArg("project-dir");
|
|
40
|
+
if (!socketPath) {
|
|
41
|
+
console.error("[mcp-image-generation] Missing required argument: --socket-path");
|
|
42
|
+
process.exit(1);
|
|
43
|
+
}
|
|
44
|
+
if (!projectDir) {
|
|
45
|
+
console.error("[mcp-image-generation] Missing required argument: --project-dir");
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
const server = new McpServer({
|
|
49
|
+
name: "Image Generation",
|
|
50
|
+
version: "1.0.0",
|
|
51
|
+
description: "Generate images from text prompts using configured image generation providers."
|
|
52
|
+
});
|
|
53
|
+
server.registerTool(
|
|
54
|
+
"image_generation",
|
|
55
|
+
{
|
|
56
|
+
description: `Generate images based on a text prompt. The generated images will be displayed to the user directly.
|
|
57
|
+
Use this tool when the user asks you to create, generate, or draw an image.
|
|
58
|
+
The images will be saved and shown to the user automatically.
|
|
59
|
+
You MUST specify a size. Common sizes: '1024x1024' (square), '1536x1024' (landscape), '1024x1536' (portrait), '1792x1024' (wide), '1024x1792' (tall).`,
|
|
60
|
+
inputSchema: imageGenerationRequestSchema
|
|
61
|
+
},
|
|
62
|
+
async (input) => {
|
|
63
|
+
try {
|
|
64
|
+
const result = await postToSocket("/image-generation/generate", input);
|
|
65
|
+
const respond = result.respond;
|
|
66
|
+
const filePaths = result.filePaths;
|
|
67
|
+
return {
|
|
68
|
+
content: [
|
|
69
|
+
{
|
|
70
|
+
type: "text",
|
|
71
|
+
text: JSON.stringify(
|
|
72
|
+
{
|
|
73
|
+
ok: true,
|
|
74
|
+
fello: { "image-generation": respond },
|
|
75
|
+
filePaths,
|
|
76
|
+
model: respond.model,
|
|
77
|
+
size: respond.size,
|
|
78
|
+
imageCount: respond.images.length,
|
|
79
|
+
message: `${respond.images.length} image(s) generated and shown to user.`
|
|
80
|
+
},
|
|
81
|
+
null,
|
|
82
|
+
2
|
|
83
|
+
)
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
};
|
|
87
|
+
} catch (err) {
|
|
88
|
+
return {
|
|
89
|
+
content: [
|
|
90
|
+
{
|
|
91
|
+
type: "text",
|
|
92
|
+
text: JSON.stringify({ ok: false, error: err.message || String(err) }, null, 2)
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
isError: true
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
function postToSocket(path, body) {
|
|
101
|
+
return new Promise((resolve, reject) => {
|
|
102
|
+
const data = JSON.stringify(body);
|
|
103
|
+
const options = {
|
|
104
|
+
socketPath,
|
|
105
|
+
path,
|
|
106
|
+
method: "POST",
|
|
107
|
+
headers: {
|
|
108
|
+
"Content-Type": "application/json",
|
|
109
|
+
"Content-Length": Buffer.byteLength(data)
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
const req = http.request(options, (res) => {
|
|
113
|
+
const chunks = [];
|
|
114
|
+
res.on("data", (chunk) => chunks.push(chunk));
|
|
115
|
+
res.on("end", () => {
|
|
116
|
+
const raw = Buffer.concat(chunks).toString("utf8");
|
|
117
|
+
try {
|
|
118
|
+
const parsed = JSON.parse(raw);
|
|
119
|
+
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
|
|
120
|
+
resolve(parsed);
|
|
121
|
+
} else {
|
|
122
|
+
reject(new Error(parsed.error || `HTTP ${res.statusCode}: ${raw}`));
|
|
123
|
+
}
|
|
124
|
+
} catch {
|
|
125
|
+
reject(new Error(`Invalid response (${res.statusCode}): ${raw}`));
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
req.on("error", (err) => {
|
|
130
|
+
reject(new Error(`Socket request failed: ${err.message}`));
|
|
131
|
+
});
|
|
132
|
+
req.write(data);
|
|
133
|
+
req.end();
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
async function main() {
|
|
137
|
+
const transport = new StdioServerTransport();
|
|
138
|
+
await server.connect(transport);
|
|
139
|
+
}
|
|
140
|
+
main().catch(console.error);
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
import * as http from "http";
|
|
5
|
+
const memoryEntrySchema = z.object({
|
|
6
|
+
weight: z.number().int().min(1).max(3).describe(
|
|
7
|
+
"Future-work impact: 3=explicit must-follow constraint, 2=stable work-shaping knowledge, 1=background context"
|
|
8
|
+
),
|
|
9
|
+
text: z.string().max(512).describe("The memory fact, concise and self-contained"),
|
|
10
|
+
date: z.string().describe("Date when this fact was recorded, updated, or last marked as used (YYYY-MM-DD)"),
|
|
11
|
+
tags: z.array(z.string()).describe("Open-ended semantic keywords used for retrieval; concise and reusable")
|
|
12
|
+
});
|
|
13
|
+
z.object({
|
|
14
|
+
version: z.number().int().describe("Schema version for future migration"),
|
|
15
|
+
entries: z.array(memoryEntrySchema).describe("Persistent project memory entries")
|
|
16
|
+
});
|
|
17
|
+
const memoryEntryIdSchema = z.string().length(16).regex(/^[0-9a-f]{16}$/).describe("Read-only ID derived by the backend from the entry text");
|
|
18
|
+
const mutableWeightSchema = z.number().int().min(1).max(3).describe(
|
|
19
|
+
"New weight. Use 3 only for an explicit durable instruction or prohibition governing how the agent must act."
|
|
20
|
+
);
|
|
21
|
+
const memoGetCurrentRequestSchema = z.object({});
|
|
22
|
+
const memoGetCurrentRespondSchema = z.object({
|
|
23
|
+
content: z.string().describe("JSON text containing the current entries and their read-only IDs.")
|
|
24
|
+
});
|
|
25
|
+
const memoAddRequestSchema = z.object({
|
|
26
|
+
text: z.string().min(1).max(512).describe("New immutable memory fact"),
|
|
27
|
+
weight: mutableWeightSchema,
|
|
28
|
+
tags: z.array(z.string().min(1)).min(1).max(3).describe("Immutable open-ended semantic keywords derived from the text")
|
|
29
|
+
});
|
|
30
|
+
const memoAddRespondSchema = z.object({
|
|
31
|
+
ok: z.boolean(),
|
|
32
|
+
id: memoryEntryIdSchema,
|
|
33
|
+
error: z.literal("content_exists").optional()
|
|
34
|
+
});
|
|
35
|
+
const memoDeleteRequestSchema = z.object({
|
|
36
|
+
id: memoryEntryIdSchema
|
|
37
|
+
});
|
|
38
|
+
const memoDeleteRespondSchema = z.object({
|
|
39
|
+
ok: z.boolean(),
|
|
40
|
+
id: memoryEntryIdSchema,
|
|
41
|
+
error: z.literal("entry_not_found").optional()
|
|
42
|
+
});
|
|
43
|
+
const memoSetWeightRequestSchema = z.object({
|
|
44
|
+
id: memoryEntryIdSchema,
|
|
45
|
+
weight: mutableWeightSchema
|
|
46
|
+
});
|
|
47
|
+
const memoSetWeightRespondSchema = z.object({
|
|
48
|
+
ok: z.boolean(),
|
|
49
|
+
id: memoryEntryIdSchema,
|
|
50
|
+
error: z.literal("entry_not_found").optional()
|
|
51
|
+
});
|
|
52
|
+
const memoTouchRequestSchema = z.object({
|
|
53
|
+
ids: z.array(memoryEntryIdSchema).min(1).describe("IDs of entries represented in the final response; updates their date to today")
|
|
54
|
+
});
|
|
55
|
+
const memoTouchRespondSchema = z.object({
|
|
56
|
+
ok: z.boolean(),
|
|
57
|
+
touched: z.number().describe("Number of entries touched")
|
|
58
|
+
});
|
|
59
|
+
function getArg(name) {
|
|
60
|
+
const idx = process.argv.indexOf(`--${name}`);
|
|
61
|
+
return idx !== -1 ? process.argv[idx + 1] : void 0;
|
|
62
|
+
}
|
|
63
|
+
function getErrorMessage(error) {
|
|
64
|
+
return error instanceof Error ? error.message : String(error);
|
|
65
|
+
}
|
|
66
|
+
const socketPath = getArg("socket-path");
|
|
67
|
+
const writable = process.argv.includes("--writable");
|
|
68
|
+
if (!socketPath) {
|
|
69
|
+
console.error("[mcp-memo] Missing required argument: --socket-path");
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
const server = new McpServer({
|
|
73
|
+
name: "Memo",
|
|
74
|
+
version: "1.0.0",
|
|
75
|
+
description: writable ? "Provides transactional tools for organizing project memory entries." : "Provides tools to retrieve and mark project memory entries as used."
|
|
76
|
+
});
|
|
77
|
+
server.registerTool(
|
|
78
|
+
"memo_get_current",
|
|
79
|
+
{
|
|
80
|
+
description: "Read the current project memory entries and their backend-generated, read-only IDs. Call this exactly once before any other memo tool.",
|
|
81
|
+
inputSchema: memoGetCurrentRequestSchema
|
|
82
|
+
},
|
|
83
|
+
async () => {
|
|
84
|
+
try {
|
|
85
|
+
const result = memoGetCurrentRespondSchema.parse(await postToSocket("/memo/read", {}));
|
|
86
|
+
return {
|
|
87
|
+
content: [
|
|
88
|
+
{
|
|
89
|
+
type: "text",
|
|
90
|
+
text: result.content || '{"entries":[]}'
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
};
|
|
94
|
+
} catch (error) {
|
|
95
|
+
return {
|
|
96
|
+
content: [
|
|
97
|
+
{ type: "text", text: `Error reading memory: ${getErrorMessage(error)}` }
|
|
98
|
+
],
|
|
99
|
+
isError: true
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
);
|
|
104
|
+
if (writable) {
|
|
105
|
+
server.registerTool(
|
|
106
|
+
"memo_add",
|
|
107
|
+
{
|
|
108
|
+
description: `Add one new immutable memory entry to the current transaction draft. The backend generates its ID and date.
|
|
109
|
+
Use weight 3 only for an explicit durable instruction or prohibition governing how the agent must act. If the same text already exists, the tool reports content_exists and leaves the draft unchanged.`,
|
|
110
|
+
inputSchema: memoAddRequestSchema
|
|
111
|
+
},
|
|
112
|
+
async (input) => {
|
|
113
|
+
try {
|
|
114
|
+
const result = memoAddRespondSchema.parse(await postToSocket("/memo/add", input));
|
|
115
|
+
return {
|
|
116
|
+
content: [
|
|
117
|
+
{
|
|
118
|
+
type: "text",
|
|
119
|
+
text: result.ok ? `Added memory entry ${result.id}.` : `Content already exists as memory entry ${result.id}. Decide whether no further action is needed or whether the existing entry must first be deleted and replaced.`
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
};
|
|
123
|
+
} catch (error) {
|
|
124
|
+
return {
|
|
125
|
+
content: [
|
|
126
|
+
{ type: "text", text: `Error adding memory: ${getErrorMessage(error)}` }
|
|
127
|
+
],
|
|
128
|
+
isError: true
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
);
|
|
133
|
+
server.registerTool(
|
|
134
|
+
"memo_delete",
|
|
135
|
+
{
|
|
136
|
+
description: "Delete one entry from the current transaction draft by its read-only ID. Use delete plus add when immutable text or tags must be replaced.",
|
|
137
|
+
inputSchema: memoDeleteRequestSchema
|
|
138
|
+
},
|
|
139
|
+
async (input) => {
|
|
140
|
+
try {
|
|
141
|
+
const result = memoDeleteRespondSchema.parse(await postToSocket("/memo/delete", input));
|
|
142
|
+
return {
|
|
143
|
+
content: [
|
|
144
|
+
{
|
|
145
|
+
type: "text",
|
|
146
|
+
text: result.ok ? `Deleted memory entry ${result.id}.` : `Memory entry ${result.id} was not found; the draft was unchanged.`
|
|
147
|
+
}
|
|
148
|
+
]
|
|
149
|
+
};
|
|
150
|
+
} catch (error) {
|
|
151
|
+
return {
|
|
152
|
+
content: [
|
|
153
|
+
{ type: "text", text: `Error deleting memory: ${getErrorMessage(error)}` }
|
|
154
|
+
],
|
|
155
|
+
isError: true
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
);
|
|
160
|
+
server.registerTool(
|
|
161
|
+
"memo_set_weight",
|
|
162
|
+
{
|
|
163
|
+
description: `Set one entry's weight in the current transaction draft. This always refreshes its date.
|
|
164
|
+
Use weight 3 only for an explicit durable instruction or prohibition governing how the agent must act; repetition, correction, urgency, or technical necessity alone never justify weight 3.`,
|
|
165
|
+
inputSchema: memoSetWeightRequestSchema
|
|
166
|
+
},
|
|
167
|
+
async (input) => {
|
|
168
|
+
try {
|
|
169
|
+
const result = memoSetWeightRespondSchema.parse(
|
|
170
|
+
await postToSocket("/memo/set-weight", input)
|
|
171
|
+
);
|
|
172
|
+
return {
|
|
173
|
+
content: [
|
|
174
|
+
{
|
|
175
|
+
type: "text",
|
|
176
|
+
text: result.ok ? `Updated memory entry ${result.id} weight.` : `Memory entry ${result.id} was not found; the draft was unchanged.`
|
|
177
|
+
}
|
|
178
|
+
]
|
|
179
|
+
};
|
|
180
|
+
} catch (error) {
|
|
181
|
+
return {
|
|
182
|
+
content: [
|
|
183
|
+
{
|
|
184
|
+
type: "text",
|
|
185
|
+
text: `Error setting memory weight: ${getErrorMessage(error)}`
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
isError: true
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
);
|
|
193
|
+
} else {
|
|
194
|
+
server.registerTool(
|
|
195
|
+
"memo_touch",
|
|
196
|
+
{
|
|
197
|
+
description: "Mark only the entries represented in the final retrieval response as used by refreshing their date. Pass their read-only IDs, not array indices.",
|
|
198
|
+
inputSchema: memoTouchRequestSchema
|
|
199
|
+
},
|
|
200
|
+
async (input) => {
|
|
201
|
+
try {
|
|
202
|
+
const result = memoTouchRespondSchema.parse(
|
|
203
|
+
await postToSocket("/memo/touch", { ids: input.ids })
|
|
204
|
+
);
|
|
205
|
+
return {
|
|
206
|
+
content: [
|
|
207
|
+
{
|
|
208
|
+
type: "text",
|
|
209
|
+
text: `Touched ${result.touched} entries.`
|
|
210
|
+
}
|
|
211
|
+
]
|
|
212
|
+
};
|
|
213
|
+
} catch (error) {
|
|
214
|
+
return {
|
|
215
|
+
content: [
|
|
216
|
+
{
|
|
217
|
+
type: "text",
|
|
218
|
+
text: `Error touching entries: ${getErrorMessage(error)}`
|
|
219
|
+
}
|
|
220
|
+
],
|
|
221
|
+
isError: true
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
function postToSocket(path, body) {
|
|
228
|
+
return new Promise((resolve, reject) => {
|
|
229
|
+
const data = JSON.stringify(body);
|
|
230
|
+
const options = {
|
|
231
|
+
socketPath,
|
|
232
|
+
path,
|
|
233
|
+
method: "POST",
|
|
234
|
+
headers: {
|
|
235
|
+
"Content-Type": "application/json",
|
|
236
|
+
"Content-Length": Buffer.byteLength(data)
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
const req = http.request(options, (res) => {
|
|
240
|
+
const chunks = [];
|
|
241
|
+
res.on("data", (chunk) => chunks.push(chunk));
|
|
242
|
+
res.on("end", () => {
|
|
243
|
+
const raw = Buffer.concat(chunks).toString("utf8");
|
|
244
|
+
try {
|
|
245
|
+
const parsed = JSON.parse(raw);
|
|
246
|
+
if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
|
|
247
|
+
resolve(parsed);
|
|
248
|
+
} else {
|
|
249
|
+
const message = typeof parsed === "object" && parsed && "error" in parsed ? String(parsed.error) : `HTTP ${res.statusCode}: ${raw}`;
|
|
250
|
+
reject(new Error(message));
|
|
251
|
+
}
|
|
252
|
+
} catch {
|
|
253
|
+
reject(new Error(`Invalid response (${res.statusCode}): ${raw}`));
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
req.on("error", (error) => {
|
|
258
|
+
reject(new Error(`Socket request failed: ${error.message}`));
|
|
259
|
+
});
|
|
260
|
+
req.write(data);
|
|
261
|
+
req.end();
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
async function main() {
|
|
265
|
+
const transport = new StdioServerTransport();
|
|
266
|
+
await server.connect(transport);
|
|
267
|
+
}
|
|
268
|
+
main().catch(console.error);
|