wednesdayai 0.5.1-dev.40 → 0.5.1-dev.42
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/dist/{agent-scope-BudmZlc1.js → agent-scope-CoIdVzmg.js} +3 -3
- package/dist/{agent-turn-runner-y0WL6xuI.js → agent-turn-runner-BkWusthz.js} +3 -3
- package/dist/{agent-turn-runner-C5FiRTJg.js → agent-turn-runner-FwkD42Me.js} +6 -6
- package/dist/{api-key-rotation-DAI1NT_a.js → api-key-rotation-1GnreUfv.js} +1 -1
- package/dist/{api-key-rotation-DzXkIU1m.js → api-key-rotation-1bTDnvBU.js} +2 -2
- package/dist/{audio-preflight-E-nHdi7I.js → audio-preflight-CCjuApbs.js} +27 -27
- package/dist/{audio-preflight-Bdn8EyXv.js → audio-preflight-cWE_jPq7.js} +14 -14
- package/dist/{audio-transcription-runner-MJ65xlDX.js → audio-transcription-runner-Bk1wu6OC.js} +8 -8
- package/dist/{audio-transcription-runner-Cc-hAbE1.js → audio-transcription-runner-DgFYIaIw.js} +26 -26
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +58 -58
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-journal/handler.js +58 -58
- package/dist/bundled/session-memory/handler.js +58 -58
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{chat-content-DtaSiJ_7.js → chat-content-B7yKTLAY.js} +9 -9
- package/dist/{chat-content-CL44f6Ub.js → chat-content-BdADRLL0.js} +36 -36
- package/dist/{plugin-sdk/chrome-DML7V0HT.js → chrome-DQ2kyZpc.js} +34 -34
- package/dist/{chrome-BRVJGvQa.js → chrome-W4kkryVf.js} +5 -5
- package/dist/{chunk-BHQuzJtJ.js → chunk-BAxcOCcV.js} +3 -3
- package/dist/{chunk-CGvXEMAJ.js → chunk-BBj2TedD.js} +1 -1
- package/dist/{command-queue-CyJUnsMn.js → command-queue-CRm1AADE.js} +1 -1
- package/dist/{command-registry-xYf1aBOy.js → command-registry-Ip0F63vx.js} +4 -4
- package/dist/{commands-registry-CNVoO37I.js → commands-registry-CtR9mXss.js} +2 -2
- package/dist/{commands-registry-BO2o7Un9.js → commands-registry-b4F_78R4.js} +1 -1
- package/dist/{completion-cli-od6mAB_x.js → completion-cli-BFHL_SSq.js} +2 -2
- package/dist/{completion-cli-BIuMSnSA.js → completion-cli-EqOcxJpx.js} +1 -1
- package/dist/{credentials-DnIj4HtR.js → credentials-BhiiI_Nr.js} +1 -1
- package/dist/{credentials-GPboJeMC.js → credentials-U5jLZxJ-.js} +1 -1
- package/dist/{deliver-x1MM90HA.js → deliver-BQSIZZRd.js} +11 -11
- package/dist/{deliver-DUUEMT-w.js → deliver-BufoibUD.js} +29 -29
- package/dist/{diagnostic-YRGuisNG.js → diagnostic-BSnQ1U_E.js} +3 -3
- package/dist/{doctor-completion-xR-LI2Kc.js → doctor-completion-CNBGQIUD.js} +1 -1
- package/dist/{doctor-completion-B3oIZ4R2.js → doctor-completion-W6Xmw25w.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{errors-DnS9ngr1.js → errors-BzL6hu4G.js} +1 -1
- package/dist/extensionAPI.js +40 -40
- package/dist/{fetch-Cpgrvssj.js → fetch-DQjTi7nc.js} +1 -1
- package/dist/{fetch-ChtdmCYU.js → fetch-DUVm-Rj1.js} +8 -8
- package/dist/{plugin-sdk/fetch-BqFNIJpI.js → fetch-DmpLwwor.js} +1 -1
- package/dist/{fetch-BzeUsif1.js → fetch-JiVpsY-F.js} +2 -2
- package/dist/{fetch-guard-BnKTeFyb.js → fetch-guard-BySb6coS.js} +2 -2
- package/dist/{fetch-guard-D49piGJ5.js → fetch-guard-Dn6Z6n6a.js} +1 -1
- package/dist/{frontmatter-CqznVm7P.js → frontmatter-NYeLKFIP.js} +3 -3
- package/dist/{fs-safe-D96d8swI.js → fs-safe-DOdeIkaS.js} +26 -26
- package/dist/{gateway-cli-B0WWrjnY.js → gateway-cli-D17zAbrY.js} +20 -10
- package/dist/{gateway-cli-BRUhDHZW.js → gateway-cli-DktZhN9y.js} +20 -10
- package/dist/{image-ops-BiBI-uAf.js → image-ops-DEUr_rAC.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{ir-Drj2D5Gr.js → ir-B0rUqFWs.js} +5 -5
- package/dist/{ir-vVwcX8JG.js → ir-Bra81NIe.js} +2 -2
- package/dist/{legacy-names-Bx5L8LWT.js → legacy-names-D7ywm6_7.js} +1 -1
- package/dist/llm-slug-generator.js +58 -58
- package/dist/{manager-C9H5Oflk.js → manager-3Exjl08V.js} +18 -18
- package/dist/{manager-DRfrqzWR.js → manager-DIIInXxQ.js} +4 -4
- package/dist/{markdown-tables-CzhZ9VCB.js → markdown-tables-7TebvIj0.js} +1 -1
- package/dist/{markdown-tables-BvoP0b-H.js → markdown-tables-lzV8Hoxc.js} +2 -2
- package/dist/{model-selection-DkRYDpst.js → model-selection-DFW5CGMj.js} +1 -1
- package/dist/{model-selection-2-pBJbaC.js → model-selection-_StPBPAp.js} +80 -80
- package/dist/{models-config-7yfOGOZY.js → models-config-D3M9er_C.js} +2 -2
- package/dist/{models-config-BaSANr-E.js → models-config-tNRAxYqz.js} +1 -1
- package/dist/{nudge-CcGwhSSL.js → nudge-B06CLLon.js} +35 -35
- package/dist/{nudge-Chvj0Rw2.js → nudge-DklIe0bB.js} +10 -10
- package/dist/{onboard-CRHyyv-F.js → onboard-D2AmYbm8.js} +1 -1
- package/dist/{onboard-CYQVIEKp.js → onboard-PJee12bv.js} +1 -1
- package/dist/{onboarding-CDHMZKiy.js → onboarding-C1f94rh1.js} +1 -1
- package/dist/{onboarding-vLVDuEr7.js → onboarding-DXRhSAcO.js} +1 -1
- package/dist/{onboarding.finalize-D3hX9K5R.js → onboarding.finalize-C0RUJoiz.js} +4 -4
- package/dist/{onboarding.finalize-BDJnDt6t.js → onboarding.finalize-Calv0MIe.js} +3 -3
- package/dist/{outbound-attachment-DegoJUYB.js → outbound-attachment-BeSAM8qU.js} +1 -1
- package/dist/{outbound-attachment-CxvBVgcJ.js → outbound-attachment-CCQDMmDH.js} +2 -2
- package/dist/{outbound-message-hooks-DfRORyCc.js → outbound-message-hooks-Bn5_bObR.js} +5 -5
- package/dist/{outbound-message-hooks-bMw-LLuz.js → outbound-message-hooks-CrrbzX7U.js} +2 -2
- package/dist/{pairing-files-ByediFgs.js → pairing-files-B1ukutA_.js} +1 -1
- package/dist/{path-alias-guards-BXXI1YTn.js → path-alias-guards-aXY57qPv.js} +1 -1
- package/dist/{pi-embedded-BSVP6xD2.js → pi-embedded-CL5jkXds.js} +64 -64
- package/dist/{pi-embedded-Dp5uUcq6.js → pi-embedded-DGpkqagr.js} +251 -251
- package/dist/{pi-embedded-utils-BF4B99Db.js → pi-embedded-utils-D9zLeiKy.js} +1 -1
- package/dist/{pi-embedded-utils-Dc-LEWCI.js → pi-embedded-utils-DD7HmeWR.js} +3 -3
- package/dist/{pi-model-discovery-B44lshxv.js → pi-model-discovery-BTuzuVh1.js} +7 -7
- package/dist/{pi-model-discovery-B5oKc4R3.js → pi-model-discovery-DiGB5xAq.js} +1 -1
- package/dist/plugin-sdk/agent-turn-execute-D0szeKs8.js +61 -0
- package/dist/plugin-sdk/{agent-turn-runner-D3tAlzpP.js → agent-turn-runner-fV3h6ELM.js} +6 -6
- package/dist/plugin-sdk/{api-key-rotation-Dmd_whf1.js → api-key-rotation-DbJkvwYN.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-2XKqIXAx.js → audio-preflight-DhIYyWh0.js} +14 -14
- package/dist/plugin-sdk/{audio-transcription-runner-2ziIuais.js → audio-transcription-runner-DbjdWQRu.js} +8 -8
- package/dist/plugin-sdk/{auth-profiles-BxDhfCHT.js → auth-profiles-DPd1Ol-P.js} +1 -1
- package/dist/plugin-sdk/{chat-content-DWJ_WMLQ.js → chat-content-CEMoDe5q.js} +9 -9
- package/dist/{chrome-D1006Mu2.js → plugin-sdk/chrome-CobI3ImG.js} +8 -8
- package/dist/plugin-sdk/{chunk-SR4Ydfza.js → chunk-C3M1IW7W.js} +2 -2
- package/dist/plugin-sdk/{command-queue-DUO9-NRr.js → command-queue-DUuIiwvi.js} +2 -2
- package/dist/plugin-sdk/{commands-registry-DnePgYTq.js → commands-registry-DPCcTIwi.js} +2 -2
- package/dist/plugin-sdk/{credentials-DJMyq23O.js → credentials-BgX_xjTe.js} +1 -1
- package/dist/plugin-sdk/deliver-DTstMBfw.js +34 -0
- package/dist/plugin-sdk/{deliver-D3LWZpv1.js → deliver-lkeqXp0v.js} +11 -11
- package/dist/plugin-sdk/{diagnostic-BXgGsRnq.js → diagnostic-TucKQ5Fk.js} +2 -2
- package/dist/plugin-sdk/{diagnostic-session-state-Y-_mHHE2.js → diagnostic-session-state-C74O1QW2.js} +1 -1
- package/dist/{fetch-CrTLz8wd.js → plugin-sdk/fetch-BEOHdT2e.js} +1 -1
- package/dist/plugin-sdk/{fetch-CpY6mDmQ.js → fetch-D7rvWjfk.js} +2 -2
- package/dist/plugin-sdk/{fetch-guard-BEue3kvx.js → fetch-guard-CQIsGUgZ.js} +1 -1
- package/dist/plugin-sdk/{inbound-context-CKtZsNVT.js → inbound-context-BdGImnhD.js} +1 -1
- package/dist/plugin-sdk/{ir-Ep5lw12h.js → ir-D-nyt7yZ.js} +2 -2
- package/dist/plugin-sdk/{manager-DyYd10T2.js → manager-3Bw8zhA3.js} +4 -4
- package/dist/plugin-sdk/manager-BexdJt3o.js +14 -0
- package/dist/plugin-sdk/{markdown-tables-B4G-uOPz.js → markdown-tables-DczIA0hC.js} +2 -2
- package/dist/plugin-sdk/{models-config-DsHaLeW3.js → models-config-DPG3UP6h.js} +1 -1
- package/dist/plugin-sdk/{monitor-CbKokdL4.js → monitor-BQWiYAwC.js} +77 -77
- package/dist/plugin-sdk/{nudge-z8ozyWd6.js → nudge-Cp00v46W.js} +11 -11
- package/dist/plugin-sdk/{outbound-attachment-BrHUWeqB.js → outbound-attachment-JHREBMfy.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-utils-6FFFlkbd.js → pi-embedded-utils-JXHsJfhx.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-BnsoI-E6.js → pi-model-discovery-CKGA60jT.js} +2 -2
- package/dist/plugin-sdk/provider-dispatcher-Cq6Acy3h.js +61 -0
- package/dist/plugin-sdk/{proxy-env-jBCtIiJH.js → proxy-env-D9QKz5Mq.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-IAdR6aX7.js → pw-ai-B_6I8TGZ.js} +4 -4
- package/dist/plugin-sdk/{qmd-manager-DERrmogO.js → qmd-manager-CIgxgs0D.js} +2 -2
- package/dist/plugin-sdk/{query-expansion-CWCvbGoy.js → query-expansion-CECAX0Pe.js} +1 -1
- package/dist/plugin-sdk/{recorder-xWMrt--U.js → recorder-C6OpZN3o.js} +1 -1
- package/dist/plugin-sdk/{registry-B-9fRLtl.js → registry-D9-EsIYH.js} +1 -1
- package/dist/plugin-sdk/{replies-BNtRlug2.js → replies-BhuMuYfa.js} +11 -11
- package/dist/plugin-sdk/{replies-CbnkLeUl.js → replies-ClN-Aak4.js} +4 -4
- package/dist/plugin-sdk/{reply-directives-CKNwlk_8.js → reply-directives-C69Fd8zO.js} +1 -1
- package/dist/plugin-sdk/{reply-prefix-DCeyas-6.js → reply-prefix-BQ-rDIAU.js} +1 -1
- package/dist/plugin-sdk/{resolve-route-t2HJkuDx.js → resolve-route-N9oe4tGM.js} +2 -2
- package/dist/plugin-sdk/{runs-B0mmuxPP.js → runs-0OTO0OVX.js} +12 -12
- package/dist/plugin-sdk/{runs-CSaP-UMd.js → runs-DK85oFoq.js} +7 -7
- package/dist/plugin-sdk/{send-BToCKtul.js → send-C8OYq5CD.js} +10 -10
- package/dist/plugin-sdk/send-CMAU8Lg8.js +23 -0
- package/dist/plugin-sdk/{send-CbbM7dcD.js → send-CVYVctJr.js} +6 -6
- package/dist/plugin-sdk/{send-hdgQBd4P.js → send-CciBIiE2.js} +4 -4
- package/dist/plugin-sdk/{send-rQhDBwIJ.js → send-CilPGWoe.js} +8 -8
- package/dist/plugin-sdk/{send-CTefF3Iw.js → send-CyKQnkbd.js} +6 -6
- package/dist/plugin-sdk/{send-CY2iq9C4.js → send-DFpY65tA.js} +10 -10
- package/dist/plugin-sdk/{send-BQYyBicH.js → send-dNeIyZEN.js} +5 -5
- package/dist/plugin-sdk/{session-context-E8Vv0lBU.js → session-context-4IeKkzGJ.js} +2 -2
- package/dist/plugin-sdk/{session-meta-_XFpsAgw.js → session-meta-BlMS0pts.js} +2 -2
- package/dist/plugin-sdk/{sessions-DGyoDRbg.js → sessions-BUjbH5K1.js} +1 -1
- package/dist/plugin-sdk/{skill-commands-DJ9gv-vK.js → skill-commands-J-ZcPvqF.js} +3 -3
- package/dist/plugin-sdk/{skills-mfK8NK3f.js → skills-W6RHTFue.js} +1 -1
- package/dist/plugin-sdk/{subagent-registry-DyI22dHA.js → subagent-registry-Bek3q0nu.js} +44 -44
- package/dist/plugin-sdk/{tables-Dt2IrV1k.js → tables-ohryoECJ.js} +1 -1
- package/dist/plugin-sdk/testing.js +44 -44
- package/dist/plugin-sdk/{user-run-recording-C05KbS-o.js → user-run-recording-CAAdiBWD.js} +2 -2
- package/dist/plugin-sdk/{ws-BzjQAveZ.js → ws-zaFiZiYP.js} +1 -1
- package/dist/{program-CcLb8Psv.js → program-DYZ4XAFZ.js} +2 -2
- package/dist/{program-context-X8qIC1Px.js → program-context-BM_flY1J.js} +6 -6
- package/dist/{prompt-select-styled-NrfLylYh.js → prompt-select-styled-BFW0tf77.js} +1 -1
- package/dist/{prompt-select-styled-DUTH4ST5.js → prompt-select-styled-Eb9ltCzM.js} +1 -1
- package/dist/{proxy-env-C0UK-5dm.js → proxy-env-RzbogHFe.js} +1 -1
- package/dist/{proxy-env-DdoaBr4H.js → proxy-env-dFmQfhFb.js} +1 -1
- package/dist/{pw-ai-CV5A9Kt_.js → pw-ai-B2n3DHPt.js} +14 -14
- package/dist/{pw-ai-8QlHyDLL.js → pw-ai-D55f0Pr9.js} +4 -4
- package/dist/{qmd-manager-B_ED_NmL.js → qmd-manager-C4rOtrQS.js} +2 -2
- package/dist/{qmd-manager-Bw5dnMTy.js → qmd-manager-jLSZ3VID.js} +12 -12
- package/dist/{qmd-scope-0dG63o_w.js → qmd-scope-BN4oVeLu.js} +1 -1
- package/dist/{query-expansion-BVj0lCGG.js → query-expansion-Dm_RIg6M.js} +1 -1
- package/dist/{query-expansion-gzgHhq68.js → query-expansion-UPsVmvEm.js} +13 -13
- package/dist/{recorder-BowlGHGe.js → recorder-DRV1SIKe.js} +1 -1
- package/dist/{recorder-ciGDu2oO.js → recorder-DvYXNusz.js} +2 -2
- package/dist/{redact-Cp-v7ZNA.js → redact-CysJDryP.js} +1 -1
- package/dist/{register.maintenance-CFd160fT.js → register.maintenance-CNiAi_Bg.js} +5 -5
- package/dist/{register.maintenance-Dc0j0tvi.js → register.maintenance-Dq3k6jFc.js} +4 -4
- package/dist/{register.onboard-u0pMgMv4.js → register.onboard-DGBJtyFX.js} +2 -2
- package/dist/{register.onboard-C-lkIY7d.js → register.onboard-DqGIfQsO.js} +2 -2
- package/dist/{register.setup-BAiTfEey.js → register.setup-BdAQ_7gM.js} +2 -2
- package/dist/{register.setup-D6hviI6L.js → register.setup-Ckb9Hpks.js} +2 -2
- package/dist/{register.subclis-3YVvoBSB.js → register.subclis-Cn5DS2Th.js} +3 -3
- package/dist/{replies-7qxW8HcU.js → replies-BL7cHT2h.js} +4 -4
- package/dist/{replies-EZyamg1p.js → replies-DfoUf3N4.js} +5 -5
- package/dist/{reply-directives-DarQZxqY.js → reply-directives-D4Hftiqp.js} +1 -1
- package/dist/{reply-directives-DMPiBIx3.js → reply-directives-DsGD4aw1.js} +2 -2
- package/dist/{reply-prefix-DLf0nmds.js → reply-prefix-gWrzAQtZ.js} +1 -1
- package/dist/{resolve-route-B15qdahX.js → resolve-route-D96zWGGF.js} +1 -1
- package/dist/{resolve-route-GBqD8iPk.js → resolve-route-RQpYXVl1.js} +4 -4
- package/dist/{run-main-BBLzm5df.js → run-main-BYnz7Ou5.js} +3 -3
- package/dist/{runs-5zWtWfx5.js → runs-CAO_rrxJ.js} +5 -5
- package/dist/{runs-EvR8ugp4.js → runs-DGr28sFu.js} +9 -9
- package/dist/{send-BVfxa93K.js → send-C-m_74Nc.js} +8 -8
- package/dist/{send-Dy4zxtn3.js → send-CS1yI0B4.js} +6 -6
- package/dist/{send-B5XVAKWg.js → send-DFsyNWFI.js} +7 -7
- package/dist/{send-BCEsHNBh.js → send-DYRbKT7y.js} +6 -6
- package/dist/{send-12uxFQQR.js → send-DkJqx60r.js} +8 -8
- package/dist/{send-Cl-ugSMv.js → send-Dv__vEQx.js} +5 -5
- package/dist/{send-DJypuRge.js → send-FQrlCKRx.js} +6 -6
- package/dist/{send-DdyIJ_uy.js → send-T9aTnSyS.js} +4 -4
- package/dist/{session-meta-DgpwY0ah.js → session-meta-CyokAxEY.js} +1 -1
- package/dist/{session-meta-C_fW_AWG.js → session-meta-DVKEsZNl.js} +1 -1
- package/dist/{sessions-B-dL4q0P.js → sessions-A1wDmvXO.js} +1 -1
- package/dist/{sessions-DODCZ4JK.js → sessions-CzjW7wiR.js} +5 -5
- package/dist/{skill-commands-5VtV6o_q.js → skill-commands-BfK22Jmi.js} +7 -7
- package/dist/{skill-commands-1Axnvvz6.js → skill-commands-CZ8IAEbM.js} +2 -2
- package/dist/{skills-B3DYwqF5.js → skills-D6riKXOf.js} +21 -21
- package/dist/{skills-CMwL1GBr.js → skills-D7jLGkoP.js} +1 -1
- package/dist/{store-DnvoAjAE.js → store-Bt16sey6.js} +7 -7
- package/dist/{tables-rCzAF-en.js → tables-BFlTcF5k.js} +1 -1
- package/dist/{tables-CuZTAY1e.js → tables-tChtQWdX.js} +1 -1
- package/dist/{tokens-C8E7C2l5.js → tokens-C2ll8wSq.js} +1 -1
- package/dist/{tool-loop-detection-4AIUOil2.js → tool-loop-detection-D0CRFNOH.js} +2 -2
- package/dist/{update-cli-D4CRTu-Y.js → update-cli-BFg_CRum.js} +5 -5
- package/dist/{update-cli-q45uqAKK.js → update-cli-BfwXa0Uk.js} +4 -4
- package/dist/{user-run-recording-Bax2KSZY.js → user-run-recording-CTOXtrSm.js} +1 -1
- package/dist/{user-run-recording-4Dhev2ED.js → user-run-recording-DJedyUge.js} +2 -2
- package/dist/{workspace-DOy2M7yN.js → workspace-xnzx7wEV.js} +26 -26
- package/dist/{ws-CWxX8WDm.js → ws-CQigqc-W.js} +1 -1
- package/dist/{ws-D916JacH.js → ws-DLbfGWAn.js} +1 -1
- package/extensions/acpx/package.json +1 -1
- package/extensions/anthropic/package.json +1 -1
- package/extensions/bifrost/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/deepgram/package.json +1 -1
- package/extensions/deepinfra/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/diffs/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/dream-cycle/package.json +1 -1
- package/extensions/elevenlabs/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/gemini-search/package.json +1 -1
- package/extensions/google/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/grok-search/package.json +1 -1
- package/extensions/groq/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/kimi-search/package.json +1 -1
- package/extensions/kokoro/package.json +1 -1
- package/extensions/learning-core/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +1 -1
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/mistral/package.json +1 -1
- package/extensions/moonshot/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +1 -1
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +1 -1
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/openai/package.json +1 -1
- package/extensions/openai-realtime/package.json +1 -1
- package/extensions/openrouter/package.json +1 -1
- package/extensions/perplexity-search/package.json +1 -1
- package/extensions/searxng-search/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +1 -1
- package/extensions/twitch/package.json +1 -1
- package/extensions/ui-surfaces/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +1 -1
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zai/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +1 -1
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +1 -1
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/github-copilot-token-DrVydgnY.js +0 -106
- package/dist/paths-BIDPYPVC.js +0 -233
- package/dist/plugin-sdk/agent-turn-execute-Co_96UFp.js +0 -61
- package/dist/plugin-sdk/deliver-5MyFMK8o.js +0 -34
- package/dist/plugin-sdk/manager-B9WMktLu.js +0 -14
- package/dist/plugin-sdk/provider-dispatcher-uLJ5yzx1.js +0 -61
- package/dist/plugin-sdk/send-vp7qbuoy.js +0 -23
- package/dist/subsystem-DoQFckDJ.js +0 -2777
package/dist/extensionAPI.js
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
1
|
import { i as resolveAgentDir, s as resolveAgentWorkspaceDir, x as ensureAgentWorkspace } from "./agent-scope-Js3kUihf.js";
|
|
2
2
|
import "./paths-B_gs59ga.js";
|
|
3
3
|
import "./subsystem-DynBFcQj.js";
|
|
4
|
-
import { Cn as loadSessionStore, Kn as resolveSessionFilePath, Ma as DEFAULT_PROVIDER, Xn as resolveStorePath, h as resolveThinkingDefault, ja as DEFAULT_MODEL, kn as saveSessionStore } from "./model-selection-
|
|
4
|
+
import { Cn as loadSessionStore, Kn as resolveSessionFilePath, Ma as DEFAULT_PROVIDER, Xn as resolveStorePath, h as resolveThinkingDefault, ja as DEFAULT_MODEL, kn as saveSessionStore } from "./model-selection-DFW5CGMj.js";
|
|
5
5
|
import { a as resolveAgentIdentity } from "./reply-prefix-4eNR7tt6.js";
|
|
6
6
|
import "./github-copilot-token-BJeEWDJb.js";
|
|
7
|
-
import "./send-
|
|
8
|
-
import "./send-
|
|
7
|
+
import "./send-Dv__vEQx.js";
|
|
8
|
+
import "./send-CS1yI0B4.js";
|
|
9
9
|
import "./tokens-D81t1pbF.js";
|
|
10
|
-
import { a as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-
|
|
11
|
-
import "./sessions-
|
|
10
|
+
import { a as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-CL5jkXds.js";
|
|
11
|
+
import "./sessions-A1wDmvXO.js";
|
|
12
12
|
import "./diagnostic-events-DMwgeRgr.js";
|
|
13
13
|
import "./diagnostic-XckGznW_.js";
|
|
14
14
|
import "./diagnostic-session-state-CkpWUesj.js";
|
|
15
15
|
import "./redact-DsVjtfGq.js";
|
|
16
16
|
import "./command-queue-K_AfPnin.js";
|
|
17
17
|
import "./image-ops-Dk3eDp_u.js";
|
|
18
|
-
import "./pi-model-discovery-
|
|
19
|
-
import "./chat-content-
|
|
20
|
-
import "./chrome-
|
|
21
|
-
import "./ws-
|
|
22
|
-
import "./skills-
|
|
18
|
+
import "./pi-model-discovery-DiGB5xAq.js";
|
|
19
|
+
import "./chat-content-B7yKTLAY.js";
|
|
20
|
+
import "./chrome-DQ2kyZpc.js";
|
|
21
|
+
import "./ws-CQigqc-W.js";
|
|
22
|
+
import "./skills-D7jLGkoP.js";
|
|
23
23
|
import "./path-alias-guards-nWrE5acE.js";
|
|
24
24
|
import "./errors-B_bbUZmd.js";
|
|
25
25
|
import "./fs-safe-CFEZK0gv.js";
|
|
26
|
-
import "./proxy-env-
|
|
26
|
+
import "./proxy-env-RzbogHFe.js";
|
|
27
27
|
import "./store-CMoTRwPk.js";
|
|
28
28
|
import "./thinking-D6R5MauW.js";
|
|
29
|
-
import "./nudge-
|
|
30
|
-
import "./models-config-
|
|
31
|
-
import "./audio-transcription-runner-
|
|
32
|
-
import "./pi-embedded-utils-
|
|
33
|
-
import "./fetch-
|
|
34
|
-
import "./fetch-guard-
|
|
35
|
-
import "./api-key-rotation-
|
|
36
|
-
import "./chunk-
|
|
37
|
-
import "./markdown-tables-
|
|
38
|
-
import "./ir-
|
|
29
|
+
import "./nudge-DklIe0bB.js";
|
|
30
|
+
import "./models-config-tNRAxYqz.js";
|
|
31
|
+
import "./audio-transcription-runner-Bk1wu6OC.js";
|
|
32
|
+
import "./pi-embedded-utils-D9zLeiKy.js";
|
|
33
|
+
import "./fetch-JiVpsY-F.js";
|
|
34
|
+
import "./fetch-guard-Dn6Z6n6a.js";
|
|
35
|
+
import "./api-key-rotation-1GnreUfv.js";
|
|
36
|
+
import "./chunk-BBj2TedD.js";
|
|
37
|
+
import "./markdown-tables-7TebvIj0.js";
|
|
38
|
+
import "./ir-Bra81NIe.js";
|
|
39
39
|
import "./render-95l30zcf.js";
|
|
40
|
-
import "./commands-registry-
|
|
41
|
-
import "./user-run-recording-
|
|
42
|
-
import "./recorder-
|
|
43
|
-
import "./agent-turn-runner-
|
|
40
|
+
import "./commands-registry-b4F_78R4.js";
|
|
41
|
+
import "./user-run-recording-CTOXtrSm.js";
|
|
42
|
+
import "./recorder-DRV1SIKe.js";
|
|
43
|
+
import "./agent-turn-runner-BkWusthz.js";
|
|
44
44
|
import "./pairing-files-IkbpvWkm.js";
|
|
45
|
-
import "./runs-
|
|
46
|
-
import "./outbound-message-hooks-
|
|
47
|
-
import "./deliver-
|
|
48
|
-
import "./fetch-
|
|
49
|
-
import "./skill-commands-
|
|
50
|
-
import "./tables-
|
|
51
|
-
import "./reply-directives-
|
|
52
|
-
import "./send-
|
|
53
|
-
import "./outbound-attachment-
|
|
54
|
-
import "./send-
|
|
55
|
-
import "./resolve-route-
|
|
56
|
-
import "./session-meta-
|
|
57
|
-
import "./replies-
|
|
58
|
-
import "./manager-
|
|
59
|
-
import "./query-expansion-
|
|
45
|
+
import "./runs-CAO_rrxJ.js";
|
|
46
|
+
import "./outbound-message-hooks-CrrbzX7U.js";
|
|
47
|
+
import "./deliver-BQSIZZRd.js";
|
|
48
|
+
import "./fetch-DQjTi7nc.js";
|
|
49
|
+
import "./skill-commands-CZ8IAEbM.js";
|
|
50
|
+
import "./tables-BFlTcF5k.js";
|
|
51
|
+
import "./reply-directives-D4Hftiqp.js";
|
|
52
|
+
import "./send-FQrlCKRx.js";
|
|
53
|
+
import "./outbound-attachment-BeSAM8qU.js";
|
|
54
|
+
import "./send-T9aTnSyS.js";
|
|
55
|
+
import "./resolve-route-D96zWGGF.js";
|
|
56
|
+
import "./session-meta-CyokAxEY.js";
|
|
57
|
+
import "./replies-BL7cHT2h.js";
|
|
58
|
+
import "./manager-DIIInXxQ.js";
|
|
59
|
+
import "./query-expansion-Dm_RIg6M.js";
|
|
60
60
|
|
|
61
61
|
export { DEFAULT_MODEL, DEFAULT_PROVIDER, ensureAgentWorkspace, loadSessionStore, resolveAgentDir, resolveAgentIdentity, resolveAgentTimeoutMs, resolveAgentWorkspaceDir, resolveSessionFilePath, resolveStorePath, resolveThinkingDefault, runEmbeddedPiAgent, saveSessionStore };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { c as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
2
|
-
import { l as resolveStateDir } from "./paths-
|
|
3
|
-
import { mt as resolvePreferredOpenClawTmpDir } from "./subsystem-
|
|
1
|
+
import { c as resolveAgentWorkspaceDir } from "./agent-scope-CoIdVzmg.js";
|
|
2
|
+
import { l as resolveStateDir } from "./paths-B_gs59ga.js";
|
|
3
|
+
import { mt as resolvePreferredOpenClawTmpDir } from "./subsystem-DynBFcQj.js";
|
|
4
4
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
5
|
-
import { U as loadConfig } from "./model-selection-
|
|
6
|
-
import { t as redactSensitiveText } from "./redact-
|
|
7
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
8
|
-
import { n as formatErrorChainMessage } from "./errors-
|
|
5
|
+
import { U as loadConfig } from "./model-selection-_StPBPAp.js";
|
|
6
|
+
import { t as redactSensitiveText } from "./redact-CysJDryP.js";
|
|
7
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-DEUr_rAC.js";
|
|
8
|
+
import { n as formatErrorChainMessage } from "./errors-BzL6hu4G.js";
|
|
9
9
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-Cj-XaaTu.js";
|
|
10
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
10
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-BySb6coS.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
|
|
13
13
|
//#region src/media/local-roots.ts
|
|
@@ -2,12 +2,12 @@ import { s as resolveAgentWorkspaceDir } from "./agent-scope-Js3kUihf.js";
|
|
|
2
2
|
import { l as resolveStateDir } from "./paths-B_gs59ga.js";
|
|
3
3
|
import { mt as resolvePreferredOpenClawTmpDir } from "./subsystem-DynBFcQj.js";
|
|
4
4
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
5
|
-
import { U as loadConfig } from "./model-selection-
|
|
5
|
+
import { U as loadConfig } from "./model-selection-DFW5CGMj.js";
|
|
6
6
|
import { t as redactSensitiveText } from "./redact-DsVjtfGq.js";
|
|
7
7
|
import { c as detectMime, l as extensionForMime } from "./image-ops-Dk3eDp_u.js";
|
|
8
8
|
import { n as formatErrorChainMessage } from "./errors-B_bbUZmd.js";
|
|
9
9
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CWMxbvLB.js";
|
|
10
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
10
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-Dn6Z6n6a.js";
|
|
11
11
|
import path from "node:path";
|
|
12
12
|
|
|
13
13
|
//#region src/media/local-roots.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as logWarn, x as logInfo } from "./workspace-
|
|
2
|
-
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
1
|
+
import { S as logWarn, x as logInfo } from "./workspace-xnzx7wEV.js";
|
|
2
|
+
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-dFmQfhFb.js";
|
|
3
3
|
import { EnvHttpProxyAgent, FormData, ProxyAgent, fetch as fetch$1 } from "undici";
|
|
4
4
|
|
|
5
5
|
//#region src/utils/fetch-timeout.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { M as logWarn, j as logInfo } from "./agent-scope-Js3kUihf.js";
|
|
2
|
-
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
2
|
+
import { c as resolvePinnedHostnameWithPolicy, i as createPinnedDispatcher, n as SsrFBlockedError, o as isPrivateIpAddress, r as closeDispatcher, t as hasProxyEnvConfigured } from "./proxy-env-RzbogHFe.js";
|
|
3
3
|
import { EnvHttpProxyAgent, FormData, ProxyAgent, fetch as fetch$1 } from "undici";
|
|
4
4
|
|
|
5
5
|
//#region src/utils/fetch-timeout.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { s as parseBooleanValue, t as readManifestNamespace } from "./legacy-names-
|
|
1
|
+
import { s as parseBooleanValue, t as readManifestNamespace } from "./legacy-names-D7ywm6_7.js";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import
|
|
3
|
+
import syncFs from "node:fs";
|
|
4
4
|
import JSON5 from "json5";
|
|
5
5
|
import YAML from "yaml";
|
|
6
6
|
|
|
@@ -92,7 +92,7 @@ function hasBinary(bin) {
|
|
|
92
92
|
for (const part of parts) for (const ext of extensions) {
|
|
93
93
|
const candidate = path.join(part, bin + ext);
|
|
94
94
|
try {
|
|
95
|
-
|
|
95
|
+
syncFs.accessSync(candidate, syncFs.constants.X_OK);
|
|
96
96
|
hasBinaryCache.set(bin, true);
|
|
97
97
|
return true;
|
|
98
98
|
} catch {}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { u as expandHomePrefix } from "./paths-
|
|
2
|
-
import { B as hasNodeErrorCode, H as isPathInside, I as sameFileIdentity, U as isSymlinkOpenError, V as isNotFoundPathError } from "./subsystem-
|
|
3
|
-
import { S as logWarn } from "./workspace-
|
|
4
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
1
|
+
import { u as expandHomePrefix } from "./paths-B_gs59ga.js";
|
|
2
|
+
import { B as hasNodeErrorCode, H as isPathInside, I as sameFileIdentity, U as isSymlinkOpenError, V as isNotFoundPathError } from "./subsystem-DynBFcQj.js";
|
|
3
|
+
import { S as logWarn } from "./workspace-xnzx7wEV.js";
|
|
4
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-aXY57qPv.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { constants } from "node:fs";
|
|
7
7
|
import os from "node:os";
|
|
8
|
-
import fs
|
|
8
|
+
import fs from "node:fs/promises";
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
10
10
|
import { pipeline } from "node:stream/promises";
|
|
11
11
|
|
|
@@ -25,19 +25,19 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
|
|
|
25
25
|
async function expandRelativePathWithHome(relativePath) {
|
|
26
26
|
let home = process.env.HOME || process.env.USERPROFILE || os.homedir();
|
|
27
27
|
try {
|
|
28
|
-
home = await fs
|
|
28
|
+
home = await fs.realpath(home);
|
|
29
29
|
} catch {}
|
|
30
30
|
return expandHomePrefix(relativePath, { home });
|
|
31
31
|
}
|
|
32
32
|
async function openVerifiedLocalFile(filePath, options) {
|
|
33
33
|
try {
|
|
34
|
-
if ((await fs
|
|
34
|
+
if ((await fs.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
|
|
35
35
|
} catch (err) {
|
|
36
36
|
if (err instanceof SafeOpenError) throw err;
|
|
37
37
|
}
|
|
38
38
|
let handle;
|
|
39
39
|
try {
|
|
40
|
-
handle = await fs
|
|
40
|
+
handle = await fs.open(filePath, OPEN_READ_FLAGS);
|
|
41
41
|
} catch (err) {
|
|
42
42
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
|
|
43
43
|
if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
|
|
@@ -45,13 +45,13 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
45
45
|
throw err;
|
|
46
46
|
}
|
|
47
47
|
try {
|
|
48
|
-
const [stat, lstat] = await Promise.all([handle.stat(), fs
|
|
48
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fs.lstat(filePath)]);
|
|
49
49
|
if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
|
|
50
50
|
if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
|
|
51
51
|
if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
52
52
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
|
|
53
|
-
const realPath = await fs
|
|
54
|
-
const realStat = await fs
|
|
53
|
+
const realPath = await fs.realpath(filePath);
|
|
54
|
+
const realStat = await fs.stat(realPath);
|
|
55
55
|
if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
56
56
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
57
57
|
return {
|
|
@@ -69,7 +69,7 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
69
69
|
async function resolvePathWithinRoot(params) {
|
|
70
70
|
let rootReal;
|
|
71
71
|
try {
|
|
72
|
-
rootReal = await fs
|
|
72
|
+
rootReal = await fs.realpath(params.rootDir);
|
|
73
73
|
} catch (err) {
|
|
74
74
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
|
|
75
75
|
throw err;
|
|
@@ -170,7 +170,7 @@ function buildAtomicWriteTempPath(targetPath) {
|
|
|
170
170
|
return path.join(dir, `.${base}.${process.pid}.${randomUUID()}.tmp`);
|
|
171
171
|
}
|
|
172
172
|
async function writeTempFileForAtomicReplace(params) {
|
|
173
|
-
const tempHandle = await fs
|
|
173
|
+
const tempHandle = await fs.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
|
|
174
174
|
try {
|
|
175
175
|
if (typeof params.data === "string") await tempHandle.writeFile(params.data, params.encoding ?? "utf8");
|
|
176
176
|
else await tempHandle.writeFile(params.data);
|
|
@@ -180,7 +180,7 @@ async function writeTempFileForAtomicReplace(params) {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
async function verifyAtomicWriteResult(params) {
|
|
183
|
-
const rootWithSep = ensureTrailingSep(await fs
|
|
183
|
+
const rootWithSep = ensureTrailingSep(await fs.realpath(params.rootDir));
|
|
184
184
|
const opened = await openVerifiedLocalFile(params.targetPath, { rejectHardlinks: true });
|
|
185
185
|
try {
|
|
186
186
|
if (!sameFileIdentity(opened.stat, params.expectedStat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
@@ -191,13 +191,13 @@ async function verifyAtomicWriteResult(params) {
|
|
|
191
191
|
}
|
|
192
192
|
async function resolveOpenedFileRealPathForHandle(handle, ioPath) {
|
|
193
193
|
try {
|
|
194
|
-
return await fs
|
|
194
|
+
return await fs.realpath(ioPath);
|
|
195
195
|
} catch (err) {
|
|
196
196
|
if (!isNotFoundPathError(err)) throw err;
|
|
197
197
|
}
|
|
198
198
|
const fdCandidates = process.platform === "linux" ? [`/proc/self/fd/${handle.fd}`, `/dev/fd/${handle.fd}`] : process.platform === "win32" ? [] : [`/dev/fd/${handle.fd}`];
|
|
199
199
|
for (const fdPath of fdCandidates) try {
|
|
200
|
-
return await fs
|
|
200
|
+
return await fs.realpath(fdPath);
|
|
201
201
|
} catch {}
|
|
202
202
|
throw new SafeOpenError("path-mismatch", "unable to resolve opened file path");
|
|
203
203
|
}
|
|
@@ -212,10 +212,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
212
212
|
} catch (err) {
|
|
213
213
|
throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
|
|
214
214
|
}
|
|
215
|
-
if (params.mkdir !== false) await fs
|
|
215
|
+
if (params.mkdir !== false) await fs.mkdir(path.dirname(resolved), { recursive: true });
|
|
216
216
|
let ioPath = resolved;
|
|
217
217
|
try {
|
|
218
|
-
const resolvedRealPath = await fs
|
|
218
|
+
const resolvedRealPath = await fs.realpath(resolved);
|
|
219
219
|
if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
220
220
|
ioPath = resolvedRealPath;
|
|
221
221
|
} catch (err) {
|
|
@@ -227,10 +227,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
227
227
|
let createdForWrite = false;
|
|
228
228
|
try {
|
|
229
229
|
try {
|
|
230
|
-
handle = await fs
|
|
230
|
+
handle = await fs.open(ioPath, OPEN_WRITE_EXISTING_FLAGS, fileMode);
|
|
231
231
|
} catch (err) {
|
|
232
232
|
if (!isNotFoundPathError(err)) throw err;
|
|
233
|
-
handle = await fs
|
|
233
|
+
handle = await fs.open(ioPath, OPEN_WRITE_CREATE_FLAGS, fileMode);
|
|
234
234
|
createdForWrite = true;
|
|
235
235
|
}
|
|
236
236
|
} catch (err) {
|
|
@@ -244,7 +244,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
244
244
|
if (!stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
245
245
|
if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
246
246
|
try {
|
|
247
|
-
const lstat = await fs
|
|
247
|
+
const lstat = await fs.lstat(ioPath);
|
|
248
248
|
if (lstat.isSymbolicLink() || !lstat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
249
249
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
250
250
|
} catch (err) {
|
|
@@ -252,7 +252,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
252
252
|
}
|
|
253
253
|
const realPath = await resolveOpenedFileRealPathForHandle(handle, ioPath);
|
|
254
254
|
openedRealPath = realPath;
|
|
255
|
-
const realStat = await fs
|
|
255
|
+
const realStat = await fs.stat(realPath);
|
|
256
256
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
257
257
|
if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
258
258
|
if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
@@ -267,7 +267,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
267
267
|
const cleanupCreatedPath = createdForWrite && err instanceof SafeOpenError;
|
|
268
268
|
const cleanupPath = openedRealPath ?? ioPath;
|
|
269
269
|
await handle.close().catch(() => {});
|
|
270
|
-
if (cleanupCreatedPath) await fs
|
|
270
|
+
if (cleanupCreatedPath) await fs.rm(cleanupPath, { force: true }).catch(() => {});
|
|
271
271
|
throw err;
|
|
272
272
|
}
|
|
273
273
|
}
|
|
@@ -290,7 +290,7 @@ async function writeFileWithinRoot(params) {
|
|
|
290
290
|
encoding: params.encoding,
|
|
291
291
|
mode: targetMode || 384
|
|
292
292
|
});
|
|
293
|
-
await fs
|
|
293
|
+
await fs.rename(tempPath, destinationPath);
|
|
294
294
|
tempPath = null;
|
|
295
295
|
try {
|
|
296
296
|
await verifyAtomicWriteResult({
|
|
@@ -303,7 +303,7 @@ async function writeFileWithinRoot(params) {
|
|
|
303
303
|
throw err;
|
|
304
304
|
}
|
|
305
305
|
} finally {
|
|
306
|
-
if (tempPath) await fs
|
|
306
|
+
if (tempPath) await fs.rm(tempPath, { force: true }).catch(() => {});
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
async function copyFileWithinRoot(params) {
|
|
@@ -331,7 +331,7 @@ async function copyFileWithinRoot(params) {
|
|
|
331
331
|
});
|
|
332
332
|
await pipeline(sourceStream, targetStream);
|
|
333
333
|
} catch (err) {
|
|
334
|
-
if (target?.createdForWrite) await fs
|
|
334
|
+
if (target?.createdForWrite) await fs.rm(target.openedRealPath, { force: true }).catch(() => {});
|
|
335
335
|
throw err;
|
|
336
336
|
} finally {
|
|
337
337
|
if (!sourceClosedByStream) await source.handle.close().catch(() => {});
|
|
@@ -175,7 +175,7 @@ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUp
|
|
|
175
175
|
import { t as reconcileBundledInstalls } from "./reconcile-bundled-DVtY46J8.js";
|
|
176
176
|
import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-FLRpN4Mm.js";
|
|
177
177
|
import "./onboarding.secret-input-DHve3Wa-.js";
|
|
178
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
178
|
+
import { t as runOnboardingWizard } from "./onboarding-DXRhSAcO.js";
|
|
179
179
|
import { a as CONTROL_UI_V2_SERVICE_NAME, i as webBundleMissingMessage, n as buildUserClientRuntimeConfig, o as buildControlUiV2RuntimeConfig, r as resolvePackagedWebBundleRootSync, t as USER_CLIENT_ID } from "./runtime-config-60rqOPs5.js";
|
|
180
180
|
import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-D1g_JEFQ.js";
|
|
181
181
|
import { a as readChatHistoryPage, c as REPLY_CONTEXT_CUSTOM_TYPE, d as admitUiActionHead, f as bindUiActionTurn, g as UiSurfaceRefSchema, h as assertValidParams, i as decodeHistoryCursor, l as buildReplyContextPayload, m as unsubscribeSessionChanges, o as resolveDbLeafEntryId, p as reserveUiActionAdmission, r as InvalidHistoryCursorError, s as resolveDbMessageEntryById, t as sessionsHandlers, u as UI_ACTION_CUSTOM_TYPE } from "./sessions-CqTY6R_o.js";
|
|
@@ -9688,6 +9688,7 @@ function isGatewayErrorShape(value) {
|
|
|
9688
9688
|
function stripUndefinedEntryFields(patch) {
|
|
9689
9689
|
return Object.fromEntries(Object.entries(patch).filter(([, value]) => value !== void 0));
|
|
9690
9690
|
}
|
|
9691
|
+
var SessionSendPolicyDenied = class extends Error {};
|
|
9691
9692
|
async function runSessionResetFromAgent(params) {
|
|
9692
9693
|
return await new Promise((resolve) => {
|
|
9693
9694
|
let settled = false;
|
|
@@ -9976,7 +9977,7 @@ const agentHandlers = {
|
|
|
9976
9977
|
});
|
|
9977
9978
|
}
|
|
9978
9979
|
}
|
|
9979
|
-
if (resolveSendPolicy({
|
|
9980
|
+
if (!(storePath && !oneShotPlan.internalSessionEffects) && resolveSendPolicy({
|
|
9980
9981
|
cfg,
|
|
9981
9982
|
entry: entry ? {
|
|
9982
9983
|
...entry,
|
|
@@ -9992,7 +9993,7 @@ const agentHandlers = {
|
|
|
9992
9993
|
}
|
|
9993
9994
|
if (storePath && !oneShotPlan.internalSessionEffects) {
|
|
9994
9995
|
let admissionCollision = false;
|
|
9995
|
-
let
|
|
9996
|
+
let policyDenied = false;
|
|
9996
9997
|
const persisted = await updateSessionStore(storePath, (store) => {
|
|
9997
9998
|
const held = store[canonicalSessionKey]?.sessionId;
|
|
9998
9999
|
if (admittedNewSessionId && held && held !== admittedNewSessionId) {
|
|
@@ -10015,7 +10016,7 @@ const agentHandlers = {
|
|
|
10015
10016
|
}
|
|
10016
10017
|
}
|
|
10017
10018
|
const effectiveEntry = source ? mergeSessionEntry(source, stripUndefinedEntryFields({
|
|
10018
|
-
sessionId: nextEntryPatch.sessionId,
|
|
10019
|
+
sessionId: admittedNewSessionId ?? (source.sessionId ? void 0 : nextEntryPatch.sessionId),
|
|
10019
10020
|
updatedAt: nextEntryPatch.updatedAt,
|
|
10020
10021
|
spawnedBy: nextEntryPatch.spawnedBy,
|
|
10021
10022
|
channel: source.channel ? void 0 : request.channel?.trim() || void 0,
|
|
@@ -10030,12 +10031,17 @@ const agentHandlers = {
|
|
|
10030
10031
|
}));
|
|
10031
10032
|
if (resolveSendPolicy({
|
|
10032
10033
|
cfg,
|
|
10033
|
-
entry:
|
|
10034
|
+
entry: source ? {
|
|
10035
|
+
...source,
|
|
10036
|
+
actor: source.actor ?? routeStampCandidate
|
|
10037
|
+
} : {
|
|
10038
|
+
...effectiveEntry,
|
|
10039
|
+
channel: entry?.channel,
|
|
10040
|
+
chatType: entry?.chatType,
|
|
10041
|
+
actor: entry?.actor ?? routeStampCandidate
|
|
10042
|
+
},
|
|
10034
10043
|
sessionKey: canonicalKey
|
|
10035
|
-
}) === "deny")
|
|
10036
|
-
policyRecheckDenied = true;
|
|
10037
|
-
return;
|
|
10038
|
-
}
|
|
10044
|
+
}) === "deny") throw new SessionSendPolicyDenied();
|
|
10039
10045
|
pruneLegacyStoreKeys({
|
|
10040
10046
|
store,
|
|
10041
10047
|
canonicalKey: target.canonicalKey,
|
|
@@ -10043,8 +10049,11 @@ const agentHandlers = {
|
|
|
10043
10049
|
});
|
|
10044
10050
|
store[canonicalSessionKey] = effectiveEntry;
|
|
10045
10051
|
return effectiveEntry;
|
|
10052
|
+
}).catch((err) => {
|
|
10053
|
+
if (!(err instanceof SessionSendPolicyDenied)) throw err;
|
|
10054
|
+
policyDenied = true;
|
|
10046
10055
|
});
|
|
10047
|
-
if (
|
|
10056
|
+
if (policyDenied) {
|
|
10048
10057
|
respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "send blocked by session policy"));
|
|
10049
10058
|
return;
|
|
10050
10059
|
}
|
|
@@ -10053,6 +10062,7 @@ const agentHandlers = {
|
|
|
10053
10062
|
return;
|
|
10054
10063
|
}
|
|
10055
10064
|
sessionEntry = persisted;
|
|
10065
|
+
resolvedSessionId = persisted?.sessionId ?? resolvedSessionId;
|
|
10056
10066
|
}
|
|
10057
10067
|
if (!oneShotPlan.internalSessionEffects && (canonicalSessionKey === mainSessionKey || canonicalSessionKey === "global")) {
|
|
10058
10068
|
context.addChatRun(idem, {
|
|
@@ -175,7 +175,7 @@ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUp
|
|
|
175
175
|
import { t as reconcileBundledInstalls } from "./reconcile-bundled-C2O6l6xl.js";
|
|
176
176
|
import { a as resolveCommandSecretsFromActiveRuntimeSnapshot, i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-C6jPY8mC.js";
|
|
177
177
|
import "./onboarding.secret-input-CGZRLs69.js";
|
|
178
|
-
import { t as runOnboardingWizard } from "./onboarding-
|
|
178
|
+
import { t as runOnboardingWizard } from "./onboarding-C1f94rh1.js";
|
|
179
179
|
import { a as CONTROL_UI_V2_SERVICE_NAME, i as webBundleMissingMessage, n as buildUserClientRuntimeConfig, o as buildControlUiV2RuntimeConfig, r as resolvePackagedWebBundleRootSync, t as USER_CLIENT_ID } from "./runtime-config-C3elfZ8o.js";
|
|
180
180
|
import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-BnRCjqCx.js";
|
|
181
181
|
import { a as readChatHistoryPage, c as REPLY_CONTEXT_CUSTOM_TYPE, d as admitUiActionHead, f as bindUiActionTurn, g as UiSurfaceRefSchema, h as assertValidParams, i as decodeHistoryCursor, l as buildReplyContextPayload, m as unsubscribeSessionChanges, o as resolveDbLeafEntryId, p as reserveUiActionAdmission, r as InvalidHistoryCursorError, s as resolveDbMessageEntryById, t as sessionsHandlers, u as UI_ACTION_CUSTOM_TYPE } from "./sessions-C2ZQ1A-F.js";
|
|
@@ -9690,6 +9690,7 @@ function isGatewayErrorShape(value) {
|
|
|
9690
9690
|
function stripUndefinedEntryFields(patch) {
|
|
9691
9691
|
return Object.fromEntries(Object.entries(patch).filter(([, value]) => value !== void 0));
|
|
9692
9692
|
}
|
|
9693
|
+
var SessionSendPolicyDenied = class extends Error {};
|
|
9693
9694
|
async function runSessionResetFromAgent(params) {
|
|
9694
9695
|
return await new Promise((resolve) => {
|
|
9695
9696
|
let settled = false;
|
|
@@ -9978,7 +9979,7 @@ const agentHandlers = {
|
|
|
9978
9979
|
});
|
|
9979
9980
|
}
|
|
9980
9981
|
}
|
|
9981
|
-
if (resolveSendPolicy({
|
|
9982
|
+
if (!(storePath && !oneShotPlan.internalSessionEffects) && resolveSendPolicy({
|
|
9982
9983
|
cfg,
|
|
9983
9984
|
entry: entry ? {
|
|
9984
9985
|
...entry,
|
|
@@ -9994,7 +9995,7 @@ const agentHandlers = {
|
|
|
9994
9995
|
}
|
|
9995
9996
|
if (storePath && !oneShotPlan.internalSessionEffects) {
|
|
9996
9997
|
let admissionCollision = false;
|
|
9997
|
-
let
|
|
9998
|
+
let policyDenied = false;
|
|
9998
9999
|
const persisted = await updateSessionStore(storePath, (store) => {
|
|
9999
10000
|
const held = store[canonicalSessionKey]?.sessionId;
|
|
10000
10001
|
if (admittedNewSessionId && held && held !== admittedNewSessionId) {
|
|
@@ -10017,7 +10018,7 @@ const agentHandlers = {
|
|
|
10017
10018
|
}
|
|
10018
10019
|
}
|
|
10019
10020
|
const effectiveEntry = source ? mergeSessionEntry(source, stripUndefinedEntryFields({
|
|
10020
|
-
sessionId: nextEntryPatch.sessionId,
|
|
10021
|
+
sessionId: admittedNewSessionId ?? (source.sessionId ? void 0 : nextEntryPatch.sessionId),
|
|
10021
10022
|
updatedAt: nextEntryPatch.updatedAt,
|
|
10022
10023
|
spawnedBy: nextEntryPatch.spawnedBy,
|
|
10023
10024
|
channel: source.channel ? void 0 : request.channel?.trim() || void 0,
|
|
@@ -10032,12 +10033,17 @@ const agentHandlers = {
|
|
|
10032
10033
|
}));
|
|
10033
10034
|
if (resolveSendPolicy({
|
|
10034
10035
|
cfg,
|
|
10035
|
-
entry:
|
|
10036
|
+
entry: source ? {
|
|
10037
|
+
...source,
|
|
10038
|
+
actor: source.actor ?? routeStampCandidate
|
|
10039
|
+
} : {
|
|
10040
|
+
...effectiveEntry,
|
|
10041
|
+
channel: entry?.channel,
|
|
10042
|
+
chatType: entry?.chatType,
|
|
10043
|
+
actor: entry?.actor ?? routeStampCandidate
|
|
10044
|
+
},
|
|
10036
10045
|
sessionKey: canonicalKey
|
|
10037
|
-
}) === "deny")
|
|
10038
|
-
policyRecheckDenied = true;
|
|
10039
|
-
return;
|
|
10040
|
-
}
|
|
10046
|
+
}) === "deny") throw new SessionSendPolicyDenied();
|
|
10041
10047
|
pruneLegacyStoreKeys({
|
|
10042
10048
|
store,
|
|
10043
10049
|
canonicalKey: target.canonicalKey,
|
|
@@ -10045,8 +10051,11 @@ const agentHandlers = {
|
|
|
10045
10051
|
});
|
|
10046
10052
|
store[canonicalSessionKey] = effectiveEntry;
|
|
10047
10053
|
return effectiveEntry;
|
|
10054
|
+
}).catch((err) => {
|
|
10055
|
+
if (!(err instanceof SessionSendPolicyDenied)) throw err;
|
|
10056
|
+
policyDenied = true;
|
|
10048
10057
|
});
|
|
10049
|
-
if (
|
|
10058
|
+
if (policyDenied) {
|
|
10050
10059
|
respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, "send blocked by session policy"));
|
|
10051
10060
|
return;
|
|
10052
10061
|
}
|
|
@@ -10055,6 +10064,7 @@ const agentHandlers = {
|
|
|
10055
10064
|
return;
|
|
10056
10065
|
}
|
|
10057
10066
|
sessionEntry = persisted;
|
|
10067
|
+
resolvedSessionId = persisted?.sessionId ?? resolvedSessionId;
|
|
10058
10068
|
}
|
|
10059
10069
|
if (!oneShotPlan.internalSessionEffects && (canonicalSessionKey === mainSessionKey || canonicalSessionKey === "global")) {
|
|
10060
10070
|
context.addChatRun(idem, {
|
package/dist/index.js
CHANGED
|
@@ -125,7 +125,7 @@ import { t as isMainModule } from "./is-main-B3FbWStI.js";
|
|
|
125
125
|
import { t as ensureOpenClawCliOnPath } from "./path-env-DnW5y1gm.js";
|
|
126
126
|
import { t as assertSupportedRuntime } from "./runtime-guard-BSmtNHNu.js";
|
|
127
127
|
import "./ports-BP-0f1b5.js";
|
|
128
|
-
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-
|
|
128
|
+
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-BM_flY1J.js";
|
|
129
129
|
import "./plugin-registry-CJ-2Wr1t.js";
|
|
130
130
|
import { n as resolveCliChannelOptions } from "./channel-options-Bx_pFXKx.js";
|
|
131
131
|
import process$1 from "node:process";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { f as logVerbose, h as shouldLogVerbose, st as resolveUserPath } from "./subsystem-
|
|
2
|
-
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-
|
|
3
|
-
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-
|
|
4
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
5
|
-
import { a as chunkText } from "./chunk-
|
|
1
|
+
import { f as logVerbose, h as shouldLogVerbose, st as resolveUserPath } from "./subsystem-DynBFcQj.js";
|
|
2
|
+
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-DEUr_rAC.js";
|
|
3
|
+
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DOdeIkaS.js";
|
|
4
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-DUVm-Rj1.js";
|
|
5
|
+
import { a as chunkText } from "./chunk-BAxcOCcV.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import fs from "node:fs/promises";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { f as logVerbose, h as shouldLogVerbose, st as resolveUserPath } from "./subsystem-DynBFcQj.js";
|
|
2
2
|
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-Dk3eDp_u.js";
|
|
3
3
|
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CFEZK0gv.js";
|
|
4
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
5
|
-
import { a as chunkText } from "./chunk-
|
|
4
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-JiVpsY-F.js";
|
|
5
|
+
import { a as chunkText } from "./chunk-BBj2TedD.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import fs from "node:fs/promises";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|