@runfusion/fusion 0.43.1 → 0.45.0
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 +2 -1
- package/dist/automation-store-EKXXEE2S.js +10 -0
- package/dist/automation-store-PLNG3X72.js +10 -0
- package/dist/automation-store-RDDYZFUJ.js +10 -0
- package/dist/bin.js +14420 -3360
- package/dist/chunk-2JI3F6MG.js +948 -0
- package/dist/chunk-4L6CLWJC.js +8345 -0
- package/dist/chunk-4VNS5WPM.js +42 -0
- package/dist/chunk-5RGECGQL.js +1139 -0
- package/dist/chunk-6JDLN7IL.js +409 -0
- package/dist/chunk-AICJATVW.js +948 -0
- package/dist/chunk-AWKNRUOR.js +1148 -0
- package/dist/chunk-BHM3UYWS.js +4651 -0
- package/dist/chunk-BMUXDSBF.js +4647 -0
- package/dist/chunk-GETECT6V.js +353 -0
- package/dist/chunk-GUV4QQT3.js +1143 -0
- package/dist/chunk-JKQO7YYZ.js +8369 -0
- package/dist/chunk-LYZVU6UV.js +409 -0
- package/dist/chunk-MAN4WYHO.js +353 -0
- package/dist/chunk-MCUG2Z7M.js +4651 -0
- package/dist/chunk-PSDYB45U.js +948 -0
- package/dist/chunk-RR2HM46R.js +8345 -0
- package/dist/chunk-RXMQ5OMY.js +9226 -0
- package/dist/chunk-S2EVJUY3.js +353 -0
- package/dist/chunk-UXR5XZFZ.js +409 -0
- package/dist/client/.vite/manifest.json +1138 -340
- package/dist/client/assets/AgentDetailView-CgbB51Iw.css +1 -0
- package/dist/client/assets/AgentDetailView-DJTi6hKC.js +18 -0
- package/dist/client/assets/{AgentPermissionPolicyEditor-BiY1a4KR.js → AgentPermissionPolicyEditor-C5DR9dUS.js} +2 -2
- package/dist/client/assets/AgentsView-BNd90PSx.js +29 -0
- package/dist/client/assets/AgentsView-CzMa5Olf.css +1 -0
- package/dist/client/assets/ChatView-B7JaZCL_.js +19 -0
- package/dist/client/assets/ChatView-BtjkE0V7.css +1 -0
- package/dist/client/assets/CommandCenter-CHO21xEW.js +74 -0
- package/dist/client/assets/CommandCenter-Xs5Ftv8s.css +1 -0
- package/dist/client/assets/DevServerView-B_p91Mj_.css +1 -0
- package/dist/client/assets/DevServerView-H9OkT1ld.js +1 -0
- package/dist/client/assets/{DirectoryPicker-DTKtd8L2.css → DirectoryPicker-0rspvcMz.css} +1 -1
- package/dist/client/assets/DirectoryPicker-DegxT8ia.js +1 -0
- package/dist/client/assets/DocumentsView-kVVQYISc.js +1 -0
- package/dist/client/assets/EvalsView-C9-iTSat.js +1 -0
- package/dist/client/assets/EvalsView-CTbgPUne.css +1 -0
- package/dist/client/assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css +1 -0
- package/dist/client/assets/ExperimentalAgentOnboardingModal-DjP_xNkc.js +1 -0
- package/dist/client/assets/GoalsView-CUh8JBnJ.css +1 -0
- package/dist/client/assets/GoalsView-VoIHJJ5l.js +2 -0
- package/dist/client/assets/InsightsView-BIZaUcpd.js +11 -0
- package/dist/client/assets/InsightsView-C7yRTMPn.css +1 -0
- package/dist/client/assets/MemoryView-7v7rv6ns.js +2 -0
- package/dist/client/assets/MemoryView-CBDUr2Jy.css +1 -0
- package/dist/client/assets/PiExtensionsManager-CB89rV4U.js +11 -0
- package/dist/client/assets/PluginManager-BNSuW_R4.js +1 -0
- package/dist/client/assets/PluginManager-DSiHizRD.css +1 -0
- package/dist/client/assets/PullRequestView-CI5jdKBL.js +6 -0
- package/dist/client/assets/PullRequestView-CpdE3Yo_.css +1 -0
- package/dist/client/assets/ResearchView-BT5dR_m8.js +1 -0
- package/dist/client/assets/ResearchView-DIVNQF4_.css +1 -0
- package/dist/client/assets/SecretsView-CvFioX7R.css +1 -0
- package/dist/client/assets/SecretsView-WPYI58Uo.js +1 -0
- package/dist/client/assets/SessionTerminal-C6gyOWLt.js +2 -0
- package/dist/client/assets/SessionTerminal-D4R3ScvQ.css +1 -0
- package/dist/client/assets/SettingsModal-BESN59Ao.css +1 -0
- package/dist/client/assets/SettingsModal-BZokaNyx.css +1 -0
- package/dist/client/assets/SettingsModal-Bq_3AbaB.js +1 -0
- package/dist/client/assets/SettingsModal-JHACoQJe.js +21 -0
- package/dist/client/assets/SetupWizardModal-CrgbnR_d.js +2 -0
- package/dist/client/assets/ShadcnColorPicker-1icHuwhC.js +11 -0
- package/dist/client/assets/ShadcnColorPicker-pqVWCC5-.css +1 -0
- package/dist/client/assets/SkillsView-CJ8snrma.css +1 -0
- package/dist/client/assets/SkillsView-byuSe3e0.js +1 -0
- package/dist/client/assets/TodoView-CIsL_uvQ.css +1 -0
- package/dist/client/assets/TodoView-CQ9GjYBg.js +6 -0
- package/dist/client/assets/WorkflowNodeEditor-DW7sJZUX.js +8 -0
- package/dist/client/assets/WorkflowNodeEditor-f_XPV5Jd.css +1 -0
- package/dist/client/assets/{addon-fit-B4jkcKk4.js → addon-fit-C1WQXRvu.js} +1 -1
- package/dist/client/assets/{addon-unicode11-Cdne2Sj4.js → addon-unicode11-BVmNDUBM.js} +1 -1
- package/dist/client/assets/{addon-web-links-CRNLzj7m.js → addon-web-links-CkVew5xs.js} +1 -1
- package/dist/client/assets/{addon-webgl-CeCSULF1.js → addon-webgl-uLc0RKcC.js} +1 -1
- package/dist/client/assets/agentSkills-CeytXLHF.js +1 -0
- package/dist/client/assets/agentSkills-bQJ4X1gH.css +1 -0
- package/dist/client/assets/agentsOrgChartLayout-BMvyuaLA.js +1 -0
- package/dist/client/assets/app-3wbZ08YC.js +13 -0
- package/dist/client/assets/app-7-5DWLtg.js +13 -0
- package/dist/client/assets/app-CSvE5Noc.js +13 -0
- package/dist/client/assets/app-CZ2LTFce.js +13 -0
- package/dist/client/assets/app-Cv9xEnll.js +13 -0
- package/dist/client/assets/app-x_yPcO5Y.js +13 -0
- package/dist/client/assets/arc-cxkkNsnK.js +1 -0
- package/dist/client/assets/architectureDiagram-3BPJPVTR-BRI0QwDf.js +36 -0
- package/dist/client/assets/band-CquvqAHh.js +1 -0
- package/dist/client/assets/blockDiagram-GPEHLZMM-BXkN8Hv_.js +132 -0
- package/dist/client/assets/c4Diagram-AAUBKEIU-C_Kcokep.js +10 -0
- package/dist/client/assets/channel-Clzpzu32.js +1 -0
- package/dist/client/assets/chunk-2J33WTMH-BGeuCz9C.js +1 -0
- package/dist/client/assets/chunk-4BX2VUAB-DcVdctr0.js +1 -0
- package/dist/client/assets/chunk-55IACEB6-Dg6gDigQ.js +1 -0
- package/dist/client/assets/chunk-727SXJPM-B9B-vlEb.js +206 -0
- package/dist/client/assets/chunk-AQP2D5EJ-LrWQ-2yi.js +231 -0
- package/dist/client/assets/chunk-FMBD7UC4-Bnd6hAED.js +15 -0
- package/dist/client/assets/chunk-ND2GUHAM-nAw93UB5.js +1 -0
- package/dist/client/assets/chunk-QZHKN3VN-CgprKcZo.js +1 -0
- package/dist/client/assets/classDiagram-4FO5ZUOK-CzYHP-af.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CzYHP-af.js +1 -0
- package/dist/client/assets/common-BDp2y6CF.js +1 -0
- package/dist/client/assets/common-BnEo5fLN.js +1 -0
- package/dist/client/assets/common-Bzr_Y8h4.js +1 -0
- package/dist/client/assets/common-CvwyFzfv.js +1 -0
- package/dist/client/assets/common-CztCXRkz.js +1 -0
- package/dist/client/assets/common-DPe2mbb7.js +1 -0
- package/dist/client/assets/cose-bilkent-S5V4N54A-Bhn0g_iK.js +1 -0
- package/dist/client/assets/cytoscape.esm-OyMbaexL.js +331 -0
- package/dist/client/assets/dagre-BM42HDAG-CP4kfwqd.js +4 -0
- package/dist/client/assets/{dashboard-view-C3SsjXo1.js → dashboard-view-CM6Xin_H.js} +1680 -1620
- package/dist/client/assets/dashboard-view-DV1nEhh9.js +1 -0
- package/dist/client/assets/dashboard-view-D_zsA-kz.css +1 -0
- package/dist/client/assets/defaultLocale-DX6XiGOO.js +1 -0
- package/dist/client/assets/diagram-2AECGRRQ-DPhzVEUf.js +43 -0
- package/dist/client/assets/diagram-5GNKFQAL-8QOC3K_L.js +10 -0
- package/dist/client/assets/diagram-KO2AKTUF-C1twgEch.js +3 -0
- package/dist/client/assets/diagram-LMA3HP47-3bEegSuf.js +24 -0
- package/dist/client/assets/diagram-OG6HWLK6-BJ_x0rm6.js +24 -0
- package/dist/client/assets/erDiagram-TEJ5UH35-DNiiS5q6.js +85 -0
- package/dist/client/assets/flowDiagram-I6XJVG4X-DoouPklt.js +162 -0
- package/dist/client/assets/{folder-open-Bw1mxVfa.js → folder-open-CuUs2W7f.js} +1 -1
- package/dist/client/assets/ganttDiagram-6RSMTGT7-BrR6VnP5.js +292 -0
- package/dist/client/assets/gitGraphDiagram-PVQCEYII-BV8_J6Ee.js +106 -0
- package/dist/client/assets/graph--OzhPTMs.js +1 -0
- package/dist/client/assets/index-BZBQ_KsL.css +1 -0
- package/dist/client/assets/index-CZcWjLAb.js +1459 -0
- package/dist/client/assets/infoDiagram-5YYISTIA-DGwIIFkR.js +2 -0
- package/dist/client/assets/init-Dmth1JHB.js +1 -0
- package/dist/client/assets/ishikawaDiagram-YF4QCWOH-D5dEH4RE.js +70 -0
- package/dist/client/assets/journeyDiagram-JHISSGLW-BuuSWPw5.js +139 -0
- package/dist/client/assets/kanban-definition-UN3LZRKU-DA34uUla.js +89 -0
- package/dist/client/assets/katex-HP8lGamR.js +257 -0
- package/dist/client/assets/layout-SsrduOYp.js +1 -0
- package/dist/client/assets/linear-dXivciGL.js +1 -0
- package/dist/client/assets/mermaid.core-Ch4HatqA.js +309 -0
- package/dist/client/assets/mindmap-definition-RKZ34NQL-DUCG-qD3.js +96 -0
- package/dist/client/assets/ordinal-DILIJJjt.js +1 -0
- package/dist/client/assets/pieDiagram-4H26LBE5-DWvFGiLa.js +30 -0
- package/dist/client/assets/quadrantDiagram-W4KKPZXB-OPTVW3WT.js +7 -0
- package/dist/client/assets/requirementDiagram-4Y6WPE33-D7feZvlU.js +84 -0
- package/dist/client/assets/sankeyDiagram-5OEKKPKP-AtnSsEX1.js +40 -0
- package/dist/client/assets/sequenceDiagram-3UESZ5HK-BZjHUeI5.js +162 -0
- package/dist/client/assets/shield-alert-CzaF9ROV.js +6 -0
- package/dist/client/assets/stateDiagram-AJRCARHV-C8j23Pvn.js +1 -0
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CiZR_S5-.js +1 -0
- package/dist/client/assets/step-yuy0qJer.js +1 -0
- package/dist/client/assets/time-DoDTxsna.js +1 -0
- package/dist/client/assets/timeline-definition-PNZ67QCA-DvfNz25n.js +120 -0
- package/dist/client/assets/{upload-BCmd-1I0.js → upload-DTsYywhN.js} +1 -1
- package/dist/client/assets/{users-DO_t3V1p.js → users-yAd09tKP.js} +1 -1
- package/dist/client/assets/{vendor-i18n-CV0mwX_-.js → vendor-i18n-GF3RlKbq.js} +2 -2
- package/dist/client/assets/vendor-react-SZ_qB27O.js +49 -0
- package/dist/client/assets/vendor-reactflow-Bg-Qjzh8.js +15 -0
- package/dist/client/assets/{vendor-xterm-tcedd2Jt.js → vendor-xterm-BNq00GSj.js} +1 -1
- package/dist/client/assets/vennDiagram-CIIHVFJN-CG2aMt3v.js +34 -0
- package/dist/client/assets/wardley-L42UT6IY-BnhBteen.js +173 -0
- package/dist/client/assets/wardleyDiagram-YWT4CUSO-DwqTzM3T.js +78 -0
- package/dist/client/assets/xychartDiagram-2RQKCTM6-5Cv2ZKMV.js +7 -0
- package/dist/client/assets/zoom-out-NWbVkreR.js +41 -0
- package/dist/client/icons/icon-192.png +0 -0
- package/dist/client/icons/icon-512.png +0 -0
- package/dist/client/index.html +30 -10
- package/dist/client/sw.js +1 -1
- package/dist/client/theme-data.css +3348 -469
- package/dist/client/version.json +1 -1
- package/dist/droid-cli/index.ts +56 -40
- package/dist/droid-cli/package.json +1 -1
- package/dist/droid-cli/src/__tests__/execsync-guard.test.ts +17 -0
- package/dist/droid-cli/src/__tests__/index.test.ts +47 -21
- package/dist/droid-cli/src/__tests__/process-manager.test.ts +51 -78
- package/dist/extension.js +9651 -1556
- package/dist/extract-zip-WL55Z3AU.js +2497 -0
- package/dist/index.min-CHQ3ABYJ.js +2926 -0
- package/dist/memory-dreams-7USISKVE.js +32 -0
- package/dist/memory-dreams-PBPISUDD.js +32 -0
- package/dist/memory-dreams-XNO2B2QF.js +32 -0
- package/dist/migration-EH2YOCYQ.js +15 -0
- package/dist/migration-PLGTTKL5.js +15 -0
- package/dist/migration-WZEZK22R.js +15 -0
- package/dist/pi-claude-cli/index.ts +47 -8
- package/dist/pi-claude-cli/package.json +4 -1
- package/dist/pi-claude-cli/src/__tests__/acp-dispatch.test.ts +80 -0
- package/dist/pi-claude-cli/src/__tests__/acp-driver.test.ts +423 -0
- package/dist/pi-claude-cli/src/__tests__/execsync-guard.test.ts +14 -0
- package/dist/pi-claude-cli/src/__tests__/process-manager.test.ts +26 -45
- package/dist/pi-claude-cli/src/__tests__/provider.test.ts +0 -1
- package/dist/pi-claude-cli/src/acp-driver.ts +585 -0
- package/dist/pi-claude-cli/src/event-bridge.ts +7 -0
- package/dist/pi-claude-cli/src/mcp-config.ts +29 -0
- package/dist/pi-claude-cli/src/process-manager.ts +17 -39
- package/dist/plugin-sdk/index.d.ts +5305 -5148
- package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +263 -19
- package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
- package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +37 -7
- package/dist/plugins/fusion-plugin-compound-engineering/manifest.json +4 -4
- package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
- package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
- package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +69 -45
- package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
- package/dist/plugins/fusion-plugin-reports/package.json +1 -1
- package/dist/plugins/fusion-plugin-roadmap/bundled.js +5 -11
- package/dist/plugins/fusion-plugin-roadmap/manifest.json +1 -11
- package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
- package/dist/plugins/fusion-plugin-whatsapp-chat/src/__tests__/index.test.ts +5 -1
- package/dist/routine-store-GIJ6MXWY.js +10 -0
- package/dist/routine-store-HTVC2PUQ.js +10 -0
- package/dist/routine-store-KGHZBPDF.js +10 -0
- package/package.json +3 -3
- package/skill/fusion/SKILL.md +1 -1
- package/skill/fusion/references/cli-commands.md +2 -1
- package/skill/fusion/references/engine-tools.md +6 -4
- package/skill/fusion/references/extension-tools.md +10 -0
- package/skill/fusion/references/fusion-capabilities.md +3 -1
- package/dist/client/assets/AgentDetailView-BGN03dyz.css +0 -1
- package/dist/client/assets/AgentDetailView-DKMz3r04.js +0 -18
- package/dist/client/assets/AgentsView-Co-k4vjh.js +0 -29
- package/dist/client/assets/AgentsView-DfznJDek.css +0 -1
- package/dist/client/assets/ChatView-BkAG99bj.js +0 -6
- package/dist/client/assets/ChatView-DwJAd5G1.css +0 -1
- package/dist/client/assets/DevServerView-C6DC0URX.js +0 -1
- package/dist/client/assets/DevServerView-VTQY28P7.css +0 -1
- package/dist/client/assets/DirectoryPicker-CkcGjyv0.js +0 -1
- package/dist/client/assets/DocumentsView-OCK1Vsw_.js +0 -1
- package/dist/client/assets/DocumentsView-WfVoTZt8.css +0 -1
- package/dist/client/assets/EvalsView-CUNJ1TLc.css +0 -1
- package/dist/client/assets/EvalsView-CUfyj5GW.js +0 -1
- package/dist/client/assets/ExperimentalAgentOnboardingModal-BNpveCEk.css +0 -1
- package/dist/client/assets/ExperimentalAgentOnboardingModal-Dau9RTU_.js +0 -499
- package/dist/client/assets/GoalsView-CNLTn0rX.js +0 -2
- package/dist/client/assets/GoalsView-DI66UsjT.css +0 -1
- package/dist/client/assets/InsightsView-BQPxHxKI.js +0 -11
- package/dist/client/assets/InsightsView-C9-mqVvf.css +0 -1
- package/dist/client/assets/MemoryView-D3xQIFjj.js +0 -2
- package/dist/client/assets/MemoryView-zaXewZzi.css +0 -1
- package/dist/client/assets/NodesView-7VInxyf_.css +0 -1
- package/dist/client/assets/NodesView-CSMvGwDU.js +0 -14
- package/dist/client/assets/PiExtensionsManager-BtqXF3fl.js +0 -11
- package/dist/client/assets/PluginManager-CSSDb3VO.js +0 -1
- package/dist/client/assets/PluginManager-UHVLvWWl.css +0 -1
- package/dist/client/assets/PullRequestView-Bjyfffdu.js +0 -6
- package/dist/client/assets/PullRequestView-WQIS0zUC.css +0 -1
- package/dist/client/assets/ReliabilityView-QKMUDebT.js +0 -1
- package/dist/client/assets/ReliabilityView-eoKBhBc4.css +0 -1
- package/dist/client/assets/ResearchView-CRU_NPho.js +0 -1
- package/dist/client/assets/ResearchView-DTh8FLUm.css +0 -1
- package/dist/client/assets/SecretsView-Bs8ySyC5.js +0 -1
- package/dist/client/assets/SecretsView-Djo1rahi.css +0 -1
- package/dist/client/assets/SessionTerminal-BiigPP2l.css +0 -1
- package/dist/client/assets/SessionTerminal-Dk1NgmN2.js +0 -2
- package/dist/client/assets/SettingsModal-DpAxDq6M.css +0 -1
- package/dist/client/assets/SettingsModal-JCaNvdAb.js +0 -31
- package/dist/client/assets/SettingsModal-Nw5cTKAK.js +0 -1
- package/dist/client/assets/SettingsModal-nF_GaeeK.css +0 -1
- package/dist/client/assets/SetupWizardModal-CE79myEy.js +0 -1
- package/dist/client/assets/SetupWizardModal-CIqFbkrD.css +0 -1
- package/dist/client/assets/SkillsView-3bhGyWs1.css +0 -1
- package/dist/client/assets/SkillsView-Dc8YskAX.js +0 -1
- package/dist/client/assets/StashRecoveryView-B_8WIQEo.css +0 -1
- package/dist/client/assets/StashRecoveryView-CqKOFiXT.js +0 -1
- package/dist/client/assets/TodoView-7xIh-Fmi.css +0 -1
- package/dist/client/assets/TodoView-BqIRwcZw.js +0 -6
- package/dist/client/assets/WorkflowNodeEditor-2jDuk2FR.js +0 -8
- package/dist/client/assets/WorkflowNodeEditor-BokhW3de.css +0 -1
- package/dist/client/assets/app-B2ZxMfJT.js +0 -13
- package/dist/client/assets/app-BffGU_HQ.js +0 -13
- package/dist/client/assets/app-C8AHhs5N.js +0 -13
- package/dist/client/assets/app-CUu1sm3x.js +0 -13
- package/dist/client/assets/app-Ri9Te2Dv.js +0 -13
- package/dist/client/assets/app-sEkTyT-w.js +0 -13
- package/dist/client/assets/common-BRyX4VxB.js +0 -1
- package/dist/client/assets/common-CN9QPI2d.js +0 -1
- package/dist/client/assets/common-CNbjPELi.js +0 -1
- package/dist/client/assets/common-DFDqu_n0.js +0 -1
- package/dist/client/assets/common-DgWWKG8Z.js +0 -1
- package/dist/client/assets/common-X6PzBnVA.js +0 -1
- package/dist/client/assets/createLucideIcon-BYvOGRiO.js +0 -21
- package/dist/client/assets/dashboard-view-BhbN8LPh.js +0 -1
- package/dist/client/assets/dashboard-view-DdGlfuu-.css +0 -1
- package/dist/client/assets/dashboard-view-DlKsVySD.js +0 -3
- package/dist/client/assets/dashboard-view-Du53JbmQ.css +0 -1
- package/dist/client/assets/index-CpTBp1RG.js +0 -793
- package/dist/client/assets/index-DqhCiU35.css +0 -1
- package/dist/client/assets/vendor-react-D37HfzIf.js +0 -49
- package/dist/client/assets/vendor-reactflow-CRZcPCXF.js +0 -15
- package/dist/client/assets/x-CqNX_9E2.js +0 -61
- package/dist/client/assets/zoom-out-CSTHbJgD.js +0 -21
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_MEMORY_DREAMS_SCHEDULE,
|
|
3
|
+
MEMORY_DREAMS_SCHEDULE_NAME,
|
|
4
|
+
agentDailyMemoryPath,
|
|
5
|
+
agentMemoryDreamsPath,
|
|
6
|
+
agentMemoryLongTermPath,
|
|
7
|
+
agentMemoryWorkspacePath,
|
|
8
|
+
buildDreamProcessingPrompt,
|
|
9
|
+
createMemoryDreamsAutomation,
|
|
10
|
+
ensureAgentMemoryFiles,
|
|
11
|
+
extractDreamProcessorResult,
|
|
12
|
+
processAgentMemoryDreams,
|
|
13
|
+
processMemoryDreams,
|
|
14
|
+
syncMemoryDreamsAutomation
|
|
15
|
+
} from "./chunk-PSDYB45U.js";
|
|
16
|
+
import "./chunk-5RGECGQL.js";
|
|
17
|
+
import "./chunk-4VNS5WPM.js";
|
|
18
|
+
export {
|
|
19
|
+
DEFAULT_MEMORY_DREAMS_SCHEDULE,
|
|
20
|
+
MEMORY_DREAMS_SCHEDULE_NAME,
|
|
21
|
+
agentDailyMemoryPath,
|
|
22
|
+
agentMemoryDreamsPath,
|
|
23
|
+
agentMemoryLongTermPath,
|
|
24
|
+
agentMemoryWorkspacePath,
|
|
25
|
+
buildDreamProcessingPrompt,
|
|
26
|
+
createMemoryDreamsAutomation,
|
|
27
|
+
ensureAgentMemoryFiles,
|
|
28
|
+
extractDreamProcessorResult,
|
|
29
|
+
processAgentMemoryDreams,
|
|
30
|
+
processMemoryDreams,
|
|
31
|
+
syncMemoryDreamsAutomation
|
|
32
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_MEMORY_DREAMS_SCHEDULE,
|
|
3
|
+
MEMORY_DREAMS_SCHEDULE_NAME,
|
|
4
|
+
agentDailyMemoryPath,
|
|
5
|
+
agentMemoryDreamsPath,
|
|
6
|
+
agentMemoryLongTermPath,
|
|
7
|
+
agentMemoryWorkspacePath,
|
|
8
|
+
buildDreamProcessingPrompt,
|
|
9
|
+
createMemoryDreamsAutomation,
|
|
10
|
+
ensureAgentMemoryFiles,
|
|
11
|
+
extractDreamProcessorResult,
|
|
12
|
+
processAgentMemoryDreams,
|
|
13
|
+
processMemoryDreams,
|
|
14
|
+
syncMemoryDreamsAutomation
|
|
15
|
+
} from "./chunk-2JI3F6MG.js";
|
|
16
|
+
import "./chunk-AWKNRUOR.js";
|
|
17
|
+
import "./chunk-4VNS5WPM.js";
|
|
18
|
+
export {
|
|
19
|
+
DEFAULT_MEMORY_DREAMS_SCHEDULE,
|
|
20
|
+
MEMORY_DREAMS_SCHEDULE_NAME,
|
|
21
|
+
agentDailyMemoryPath,
|
|
22
|
+
agentMemoryDreamsPath,
|
|
23
|
+
agentMemoryLongTermPath,
|
|
24
|
+
agentMemoryWorkspacePath,
|
|
25
|
+
buildDreamProcessingPrompt,
|
|
26
|
+
createMemoryDreamsAutomation,
|
|
27
|
+
ensureAgentMemoryFiles,
|
|
28
|
+
extractDreamProcessorResult,
|
|
29
|
+
processAgentMemoryDreams,
|
|
30
|
+
processMemoryDreams,
|
|
31
|
+
syncMemoryDreamsAutomation
|
|
32
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_MEMORY_DREAMS_SCHEDULE,
|
|
3
|
+
MEMORY_DREAMS_SCHEDULE_NAME,
|
|
4
|
+
agentDailyMemoryPath,
|
|
5
|
+
agentMemoryDreamsPath,
|
|
6
|
+
agentMemoryLongTermPath,
|
|
7
|
+
agentMemoryWorkspacePath,
|
|
8
|
+
buildDreamProcessingPrompt,
|
|
9
|
+
createMemoryDreamsAutomation,
|
|
10
|
+
ensureAgentMemoryFiles,
|
|
11
|
+
extractDreamProcessorResult,
|
|
12
|
+
processAgentMemoryDreams,
|
|
13
|
+
processMemoryDreams,
|
|
14
|
+
syncMemoryDreamsAutomation
|
|
15
|
+
} from "./chunk-AICJATVW.js";
|
|
16
|
+
import "./chunk-GUV4QQT3.js";
|
|
17
|
+
import "./chunk-4VNS5WPM.js";
|
|
18
|
+
export {
|
|
19
|
+
DEFAULT_MEMORY_DREAMS_SCHEDULE,
|
|
20
|
+
MEMORY_DREAMS_SCHEDULE_NAME,
|
|
21
|
+
agentDailyMemoryPath,
|
|
22
|
+
agentMemoryDreamsPath,
|
|
23
|
+
agentMemoryLongTermPath,
|
|
24
|
+
agentMemoryWorkspacePath,
|
|
25
|
+
buildDreamProcessingPrompt,
|
|
26
|
+
createMemoryDreamsAutomation,
|
|
27
|
+
ensureAgentMemoryFiles,
|
|
28
|
+
extractDreamProcessorResult,
|
|
29
|
+
processAgentMemoryDreams,
|
|
30
|
+
processMemoryDreams,
|
|
31
|
+
syncMemoryDreamsAutomation
|
|
32
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BackwardCompat,
|
|
3
|
+
FirstRunDetector,
|
|
4
|
+
MigrationCoordinator,
|
|
5
|
+
ProjectRequiredError
|
|
6
|
+
} from "./chunk-4L6CLWJC.js";
|
|
7
|
+
import "./chunk-BHM3UYWS.js";
|
|
8
|
+
import "./chunk-AWKNRUOR.js";
|
|
9
|
+
import "./chunk-4VNS5WPM.js";
|
|
10
|
+
export {
|
|
11
|
+
BackwardCompat,
|
|
12
|
+
FirstRunDetector,
|
|
13
|
+
MigrationCoordinator,
|
|
14
|
+
ProjectRequiredError
|
|
15
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BackwardCompat,
|
|
3
|
+
FirstRunDetector,
|
|
4
|
+
MigrationCoordinator,
|
|
5
|
+
ProjectRequiredError
|
|
6
|
+
} from "./chunk-JKQO7YYZ.js";
|
|
7
|
+
import "./chunk-BMUXDSBF.js";
|
|
8
|
+
import "./chunk-5RGECGQL.js";
|
|
9
|
+
import "./chunk-4VNS5WPM.js";
|
|
10
|
+
export {
|
|
11
|
+
BackwardCompat,
|
|
12
|
+
FirstRunDetector,
|
|
13
|
+
MigrationCoordinator,
|
|
14
|
+
ProjectRequiredError
|
|
15
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BackwardCompat,
|
|
3
|
+
FirstRunDetector,
|
|
4
|
+
MigrationCoordinator,
|
|
5
|
+
ProjectRequiredError
|
|
6
|
+
} from "./chunk-RR2HM46R.js";
|
|
7
|
+
import "./chunk-MCUG2Z7M.js";
|
|
8
|
+
import "./chunk-GUV4QQT3.js";
|
|
9
|
+
import "./chunk-4VNS5WPM.js";
|
|
10
|
+
export {
|
|
11
|
+
BackwardCompat,
|
|
12
|
+
FirstRunDetector,
|
|
13
|
+
MigrationCoordinator,
|
|
14
|
+
ProjectRequiredError
|
|
15
|
+
};
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { getModels } from "@earendil-works/pi-ai";
|
|
9
9
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
10
10
|
import { streamViaCli } from "./src/provider.js";
|
|
11
|
+
import { streamViaAcp } from "./src/acp-driver.js";
|
|
11
12
|
import {
|
|
12
13
|
validateCliPresenceAsync,
|
|
13
14
|
validateCliAuthAsync,
|
|
@@ -18,9 +19,32 @@ import {
|
|
|
18
19
|
getCustomToolDefs,
|
|
19
20
|
toolsFromContext,
|
|
20
21
|
writeMcpConfig,
|
|
22
|
+
buildAcpMcpServers,
|
|
21
23
|
type McpToolDef,
|
|
22
24
|
} from "./src/mcp-config.js";
|
|
23
25
|
|
|
26
|
+
/**
|
|
27
|
+
* Route A kill-switch (U11). When `FUSION_CLAUDE_ACP=1` AND a bridge binary path
|
|
28
|
+
* is available (`FUSION_CLAUDE_ACP_BRIDGE`, injected by the engine seam per
|
|
29
|
+
* KTD10), the provider drives Claude through the ACP bridge instead of
|
|
30
|
+
* `claude -p`. OFF by default: the live `-p` path is untouched until soak.
|
|
31
|
+
*/
|
|
32
|
+
function resolveAcpBridgePath(): string | undefined {
|
|
33
|
+
if (process.env.FUSION_CLAUDE_ACP !== "1") return undefined;
|
|
34
|
+
const p = process.env.FUSION_CLAUDE_ACP_BRIDGE;
|
|
35
|
+
return typeof p === "string" && p.length > 0 ? p : undefined;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/** Resolve custom tool defs the same way ensureMcpConfig does (context → registry). */
|
|
39
|
+
function resolveToolDefs(
|
|
40
|
+
pi: ExtensionAPI,
|
|
41
|
+
contextTools?: ReadonlyArray<{ name: string; description: string; parameters: Record<string, unknown> }>,
|
|
42
|
+
): McpToolDef[] {
|
|
43
|
+
let toolDefs = toolsFromContext(contextTools);
|
|
44
|
+
if (toolDefs.length === 0 && Array.isArray(pi.getAllTools())) toolDefs = getCustomToolDefs(pi);
|
|
45
|
+
return toolDefs;
|
|
46
|
+
}
|
|
47
|
+
|
|
24
48
|
// Kill all active Claude subprocesses on process exit to prevent orphans
|
|
25
49
|
process.on("exit", killAllProcesses);
|
|
26
50
|
|
|
@@ -220,14 +244,29 @@ export default function (pi: ExtensionAPI) {
|
|
|
220
244
|
api: "pi-claude-cli",
|
|
221
245
|
models,
|
|
222
246
|
streamSimple: (model, context, options) => {
|
|
223
|
-
const
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
247
|
+
const contextTools = (context as { tools?: ReadonlyArray<{
|
|
248
|
+
name: string;
|
|
249
|
+
description: string;
|
|
250
|
+
parameters: Record<string, unknown>;
|
|
251
|
+
}> }).tools;
|
|
252
|
+
|
|
253
|
+
// Route A (U11): drive Claude through the ACP bridge when the kill-switch
|
|
254
|
+
// is on AND a bridge path is injected. OFF by default → `-p` path below.
|
|
255
|
+
const bridgePath = resolveAcpBridgePath();
|
|
256
|
+
if (bridgePath) {
|
|
257
|
+
const toolDefs = resolveToolDefs(pi, contextTools);
|
|
258
|
+
const hash = createHash("sha1").update(JSON.stringify(toolDefs)).digest("hex").slice(0, 12);
|
|
259
|
+
return streamViaAcp(model, context, {
|
|
260
|
+
...options,
|
|
261
|
+
bridgePath,
|
|
262
|
+
mcpServers: buildAcpMcpServers(toolDefs, hash),
|
|
263
|
+
// Forward only HOME/PATH so the bridged `claude` authenticates from the
|
|
264
|
+
// login/keychain session (R17); never inherited process.env or API keys.
|
|
265
|
+
bridgeEnv: { HOME: process.env.HOME, PATH: process.env.PATH },
|
|
266
|
+
});
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
const configPath = ensureMcpConfig(pi, contextTools);
|
|
231
270
|
return streamViaCli(model, context, {
|
|
232
271
|
...options,
|
|
233
272
|
mcpConfigPath: configPath,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusion/pi-claude-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"description": "Fusion vendored fork: pi coding-agent extension that routes LLM calls through the Claude Code CLI. Forked from rchern/pi-claude-cli (MIT). See UPSTREAM.md.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": true,
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"url": "https://github.com/Runfusion/Fusion",
|
|
20
20
|
"directory": "packages/pi-claude-cli"
|
|
21
21
|
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@agentclientprotocol/sdk": "0.24.0"
|
|
24
|
+
},
|
|
22
25
|
"peerDependencies": {
|
|
23
26
|
"@earendil-works/pi-ai": "*",
|
|
24
27
|
"@earendil-works/pi-coding-agent": "*"
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
2
|
+
|
|
3
|
+
// Spy on both transports so we can assert which one streamSimple dispatches to.
|
|
4
|
+
const { streamViaCli, streamViaAcp } = vi.hoisted(() => ({
|
|
5
|
+
streamViaCli: vi.fn(() => ({ kind: "cli" })),
|
|
6
|
+
streamViaAcp: vi.fn(() => ({ kind: "acp" })),
|
|
7
|
+
}));
|
|
8
|
+
vi.mock("../provider.js", () => ({ streamViaCli }));
|
|
9
|
+
vi.mock("../acp-driver.js", () => ({ streamViaAcp }));
|
|
10
|
+
// Registering the provider kicks off async CLI presence/auth probes; stub them
|
|
11
|
+
// so the test doesn't trip the "real CLI launch blocked" guard.
|
|
12
|
+
vi.mock("../process-manager.js", () => ({
|
|
13
|
+
validateCliPresenceAsync: vi.fn(async () => ({ ok: true })),
|
|
14
|
+
validateCliAuthAsync: vi.fn(async () => ({ ok: true })),
|
|
15
|
+
killAllProcesses: vi.fn(),
|
|
16
|
+
}));
|
|
17
|
+
// Belt-and-suspenders: no real CLI spawn even if a probe slips through.
|
|
18
|
+
vi.mock("node:child_process", () => ({ spawn: vi.fn(() => ({ on: vi.fn(), stdout: { on: vi.fn() }, stderr: { on: vi.fn() }, stdin: { write: vi.fn(), end: vi.fn() }, kill: vi.fn() })), execSync: vi.fn(() => Buffer.from("")) }));
|
|
19
|
+
|
|
20
|
+
vi.mock("@earendil-works/pi-ai", () => ({
|
|
21
|
+
getModels: vi.fn(() => []),
|
|
22
|
+
AssistantMessageEventStream: vi.fn(),
|
|
23
|
+
calculateCost: vi.fn(),
|
|
24
|
+
}));
|
|
25
|
+
|
|
26
|
+
import register from "../../index.js";
|
|
27
|
+
|
|
28
|
+
function registerAndGetStreamSimple() {
|
|
29
|
+
const calls: Array<[string, { streamSimple: (...a: unknown[]) => unknown }]> = [];
|
|
30
|
+
const pi = {
|
|
31
|
+
registerProvider: (name: string, cfg: { streamSimple: (...a: unknown[]) => unknown }) => calls.push([name, cfg]),
|
|
32
|
+
on: vi.fn(),
|
|
33
|
+
getAllTools: () => [],
|
|
34
|
+
setActiveTools: vi.fn(),
|
|
35
|
+
} as never;
|
|
36
|
+
register(pi);
|
|
37
|
+
return calls[0][1].streamSimple;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const MODEL = { id: "claude-sonnet-4-5" } as never;
|
|
41
|
+
const CTX = { messages: [{ role: "user", content: "hi" }], tools: [] } as never;
|
|
42
|
+
|
|
43
|
+
describe("streamSimple kill-switch dispatch (U11/R9/R14)", () => {
|
|
44
|
+
const saved = { flag: process.env.FUSION_CLAUDE_ACP, bridge: process.env.FUSION_CLAUDE_ACP_BRIDGE };
|
|
45
|
+
beforeEach(() => { streamViaCli.mockClear(); streamViaAcp.mockClear(); });
|
|
46
|
+
afterEach(() => {
|
|
47
|
+
process.env.FUSION_CLAUDE_ACP = saved.flag;
|
|
48
|
+
process.env.FUSION_CLAUDE_ACP_BRIDGE = saved.bridge;
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it("defaults to the -p path (streamViaCli) when the kill-switch is OFF", () => {
|
|
52
|
+
delete process.env.FUSION_CLAUDE_ACP;
|
|
53
|
+
const streamSimple = registerAndGetStreamSimple();
|
|
54
|
+
streamSimple(MODEL, CTX, {});
|
|
55
|
+
expect(streamViaCli).toHaveBeenCalledTimes(1);
|
|
56
|
+
expect(streamViaAcp).not.toHaveBeenCalled();
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
it("stays on -p when the flag is set but NO bridge path is provided", () => {
|
|
60
|
+
process.env.FUSION_CLAUDE_ACP = "1";
|
|
61
|
+
delete process.env.FUSION_CLAUDE_ACP_BRIDGE;
|
|
62
|
+
const streamSimple = registerAndGetStreamSimple();
|
|
63
|
+
streamSimple(MODEL, CTX, {});
|
|
64
|
+
expect(streamViaCli).toHaveBeenCalledTimes(1);
|
|
65
|
+
expect(streamViaAcp).not.toHaveBeenCalled();
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("dispatches to the ACP bridge when the flag AND a bridge path are set", () => {
|
|
69
|
+
process.env.FUSION_CLAUDE_ACP = "1";
|
|
70
|
+
process.env.FUSION_CLAUDE_ACP_BRIDGE = "/abs/claude-code-cli-acp";
|
|
71
|
+
const streamSimple = registerAndGetStreamSimple();
|
|
72
|
+
streamSimple(MODEL, CTX, {});
|
|
73
|
+
expect(streamViaAcp).toHaveBeenCalledTimes(1);
|
|
74
|
+
expect(streamViaCli).not.toHaveBeenCalled();
|
|
75
|
+
// bridgePath forwarded; env restricted to the allow-list at spawn (driver).
|
|
76
|
+
const opts = (streamViaAcp.mock.calls[0] as unknown[])[2] as { bridgePath?: string; bridgeEnv?: Record<string, unknown> };
|
|
77
|
+
expect(opts.bridgePath).toBe("/abs/claude-code-cli-acp");
|
|
78
|
+
expect(opts.bridgeEnv).toBeDefined();
|
|
79
|
+
});
|
|
80
|
+
});
|