@bitseek/claw 1.3.8-beta.4 → 1.3.8
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/{accounts-YtMo-RPC.js → accounts-B4wV9IFm.js} +1 -1
- package/dist/{accounts-CzfKkJDx.js → accounts-CTKra7aS.js} +7 -7
- package/dist/{accounts-CQrvvU8V.js → accounts-DtaSiAum.js} +1 -1
- package/dist/{acp-cli-C0Oz6RFa.js → acp-cli-CSRDFixR.js} +8 -8
- package/dist/{agent-scope-qYbUVCHn.js → agent-scope-BrbgAMci.js} +1 -1
- package/dist/{agents-Co_-XzRP.js → agents-B3roVbYI.js} +15 -15
- package/dist/{agents.config-EnxTBynI.js → agents.config-BLKDc8io.js} +2 -2
- package/dist/{api-key-rotation-XTdz_cvI.js → api-key-rotation-BdoPDM3X.js} +1 -1
- package/dist/{audio-preflight-DWC4cRxQ.js → audio-preflight-D-sfV0QK.js} +4 -4
- package/dist/{audio-preflight-B6Jw9LUM.js → audio-preflight-Pdv9uiw6.js} +36 -36
- package/dist/{audio-transcription-runner-BC2TeD8r.js → audio-transcription-runner-BVp79Ioa.js} +1 -1
- package/dist/{audio-transcription-runner-CF3DjqKy.js → audio-transcription-runner-DBPatTZv.js} +22 -22
- package/dist/{audit-pIY_GfjC.js → audit-p4lBCTPz.js} +29 -29
- package/dist/{auth-DhaM6Od5.js → auth-DuCrQ5K9.js} +1 -1
- package/dist/{auth-choice-CfoGAmJm.js → auth-choice-BogBxPQ0.js} +14 -14
- package/dist/{auth-choice-r5CXFvMV.js → auth-choice-CWhbVAmr.js} +12 -12
- package/dist/{auth-choice.apply-helpers-DI1qnxc_.js → auth-choice.apply-helpers-CtAelPdF.js} +1 -1
- package/dist/{auth-profiles-CDN1QqUB.js → auth-profiles-k09E8RLJ.js} +16 -16
- package/dist/{auth-token-BtyMfDQt.js → auth-token-CWb4NQTJ.js} +1 -1
- package/dist/{banner-CDZD_rv-.js → banner-DyZFjt3Q.js} +2 -2
- package/dist/{bindings-D9ZiGe2K.js → bindings-C9vpkXej.js} +1 -1
- package/dist/{bonjour-discovery-CBcz-0Ts.js → bonjour-discovery-DyLRXLw1.js} +1 -1
- package/dist/{browser-cli-CTcWXrJp.js → browser-cli-CDsv9Dvw.js} +12 -12
- package/dist/build-info.json +2 -2
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-BSBuLNiX.js → call-CBH5yDff.js} +10 -10
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-Cc-TbAKt.js → channel-account-context-C3TU0o4T.js} +5 -5
- package/dist/{channel-options-BfDmqXBz.js → channel-options-9r0jhaF7.js} +3 -3
- package/dist/{channel-selection-BKyzCX35.js → channel-selection-DZrPYytY.js} +1 -1
- package/dist/{channel-web-DJtTLglg.js → channel-web-Df9c4iPg.js} +18 -18
- package/dist/{channels-cli-BdbCWhq7.js → channels-cli-Bi5IcGws.js} +95 -95
- package/dist/{channels-status-issues-Cn340Vbe.js → channels-status-issues-Bb3ugkRr.js} +1 -1
- package/dist/{chrome-zP7qr3zd.js → chrome-BVlYi4nu.js} +4 -4
- package/dist/{chrome-CGMBwBlZ.js → chrome-D8KosHAE.js} +8 -8
- package/dist/{clawbot-cli-Nk_oXaxe.js → clawbot-cli-CkZGXd20.js} +5 -5
- package/dist/{cli-BAFODF--.js → cli-2CbkQG_y.js} +76 -76
- package/dist/{client-Swf30UOh.js → client-CIji7FpE.js} +2 -2
- package/dist/{command-registry-RTq7TBkJ.js → command-registry-C96NPlx4.js} +13 -13
- package/dist/{commands-B8w5Izi1.js → commands-B7V-vN3N.js} +1 -1
- package/dist/{commands-registry-Ctux_Nq3.js → commands-registry-B6LbRm3U.js} +3 -3
- package/dist/{completion-cli-JABAzgO6.js → completion-cli-Die9PKu8.js} +1 -1
- package/dist/{completion-cli-Cp4gleu_.js → completion-cli-DujZccrD.js} +13 -13
- package/dist/{config-cli-BNaHtYNZ.js → config-cli-DgKjaGSi.js} +7 -7
- package/dist/{config-guard-CSxpqsBG.js → config-guard-D5XZLbXA.js} +3 -3
- package/dist/{config-validation-Tf6YL4jH.js → config-validation-DT8qQYoa.js} +3 -3
- package/dist/{configure-Dwelp0U_.js → configure-D51Hau9O.js} +17 -17
- package/dist/{control-ui-assets-BxJ3OmP_.js → control-ui-assets-Bn4e_1By.js} +1 -1
- package/dist/{cron-cli-BrpTLnwT.js → cron-cli-D6OHJFdO.js} +12 -12
- package/dist/{daemon-cli-S2o4Kcwu.js → daemon-cli-BxFuWNM-.js} +15 -15
- package/dist/{daemon-install-C0YHpEQQ.js → daemon-install-BjgH7Ld5.js} +4 -4
- package/dist/{daemon-install-helpers-DLIsWH31.js → daemon-install-helpers-Crntu4pF.js} +11 -11
- package/dist/{dashboard-B_7Hjxc6.js → dashboard-B0FYUw0G.js} +2 -2
- package/dist/{deliver-CPCEIyDG.js → deliver-3f8JxB_A.js} +1 -1
- package/dist/{deliver-CQmmhMaR.js → deliver-Bm4UojU1.js} +7 -7
- package/dist/{devices-cli-CXtMoEZv.js → devices-cli-D2qzgS6n.js} +8 -8
- package/dist/{diagnostic-C5Por-ID.js → diagnostic-DOls91uN.js} +1 -1
- package/dist/{diagnostics-0PFoNolS.js → diagnostics-D4xhje-h.js} +5 -5
- package/dist/{directory-cli-NpBfkxfT.js → directory-cli-BDxc1M2a.js} +8 -8
- package/dist/{dns-cli-CNYoy9mq.js → dns-cli-DImurxu6.js} +5 -5
- package/dist/{dock-CHDx-TGb.js → dock-CcEfMX5D.js} +4 -4
- package/dist/{docs-cli-CLZqiB15.js → docs-cli-Cp25W8Hv.js} +4 -4
- package/dist/{doctor-completion-CpA-KQ0h.js → doctor-completion-DvD6Gxce.js} +2 -2
- package/dist/{doctor-completion-BEtcv-8P.js → doctor-completion-lIcN0oMj.js} +1 -1
- package/dist/{doctor-config-flow-m-m_m5Ot.js → doctor-config-flow-DtaIUiEk.js} +15 -15
- package/dist/{enable-yaF2vNOj.js → enable-Dfmg2SV3.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-Cw4xMxbI.js → exec-approvals-allowlist-IOB4HV3z.js} +1 -1
- package/dist/{exec-approvals-cli-BffaLELS.js → exec-approvals-cli-B6X8jOx7.js} +16 -16
- package/dist/{exec-safe-bin-runtime-policy-Bu0TwxE1.js → exec-safe-bin-runtime-policy-CEdwujzY.js} +2 -2
- package/dist/{fetch-lTdl-0IY.js → fetch-BAv7yBBS.js} +3 -3
- package/dist/{fetch-guard-CQZ5FOwI.js → fetch-guard-oYuVfv1t.js} +1 -1
- package/dist/{fs-safe-BQS_SZ0h.js → fs-safe--YXsniNZ.js} +24 -24
- package/dist/{gateway-cli-C44pKHoa.js → gateway-cli-DY5myR89.js} +162 -162
- package/dist/{gateway-cli-D1e4MuAA.js → gateway-cli-DdxZ9xQz.js} +2 -2
- package/dist/{gateway-rpc-qWYRLZ-Z.js → gateway-rpc-C6F7QPVq.js} +1 -1
- package/dist/{health-DIS2FlPd.js → health-DOIxOlnm.js} +14 -14
- package/dist/{hooks-cli-C4Wqknt2.js → hooks-cli-B3VUhq72.js} +84 -84
- package/dist/{hooks-status-BE0dSQIW.js → hooks-status-qBCorl-z.js} +1 -1
- package/dist/{image-BgCM5v5-.js → image-BOSsTjNj.js} +5 -5
- package/dist/{image-RroCfqy3.js → image-XbGdWslx.js} +1 -1
- package/dist/{plugin-sdk/image-ops-DhVTERkS.js → image-ops-B2K36FLD.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{inspect-DY_qpyux.js → inspect-DkrsY9Gy.js} +4 -4
- package/dist/{install-safe-path-K9dhxxcy.js → install-safe-path-DXP_88Em.js} +25 -25
- package/dist/{installs-BYz0q4kc.js → installs-DgI58LlC.js} +9 -9
- package/dist/{ipv4-Bj71-jpu.js → ipv4-BuO7nxQZ.js} +1 -1
- package/dist/{ir-C_-vG6Lv.js → ir-BCl0dA3G.js} +6 -6
- package/dist/{issue-format-1i6b6tFd.js → issue-format-Cat2txpr.js} +1 -1
- package/dist/{json-files-1hhV5hS6.js → json-files-DrZ4qfxw.js} +8 -8
- package/dist/{lifecycle-core-BZVbJEGI.js → lifecycle-core-CliTbXyj.js} +5 -5
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{login-KG5TFHFb.js → login-_s-srXtA.js} +3 -3
- package/dist/{login-qr-D4L1NDeu.js → login-qr-BNBXsYor.js} +6 -6
- package/dist/{logs-cli-D2lMkM4P.js → logs-cli-B4Nwp099.js} +9 -9
- package/dist/{manager-C0nx9SKi.js → manager-rK3J4Po3.js} +14 -14
- package/dist/{manifest-registry-Co__Fy6F.js → manifest-registry-hRB5Jb3F.js} +1 -1
- package/dist/{markdown-tables-D47ZANhY.js → markdown-tables-Mk_tnsfY.js} +1 -1
- package/dist/{memory-cli-BwxTb296.js → memory-cli-BbEwsmor.js} +12 -12
- package/dist/{model-C30BtXEI.js → model-Cd4C4aY1.js} +2 -2
- package/dist/{model-catalog-C0pv85X0.js → model-catalog-Chb7lzRo.js} +3 -3
- package/dist/{model-picker-Dediiqpo.js → model-picker-CdgwJ2MU.js} +4 -4
- package/dist/{models-Dy35lY8K.js → models-CL1jaXSC.js} +18 -18
- package/dist/{models-cli-DBsERrAX.js → models-cli-BeARCGBj.js} +81 -81
- package/dist/{models-config-NbV2Gu7N.js → models-config-CkOKPbk9.js} +6 -6
- package/dist/{net-DrfP4uzJ.js → net-Bxr80JTs.js} +2 -2
- package/dist/{node-cli-CnKN38mM.js → node-cli-DelBH0Tb.js} +33 -33
- package/dist/{node-command-policy-xyqdwsT9.js → node-command-policy-DKPye8Fx.js} +1 -1
- package/dist/{node-service-DEfPXKwF.js → node-service-Cei5AkFg.js} +1 -1
- package/dist/{nodes-cli-CFaqvZCM.js → nodes-cli-CLNRURvx.js} +16 -16
- package/dist/{nodes-screen-DNzr75bx.js → nodes-screen-NjyoMja_.js} +7 -7
- package/dist/{npm-pack-install-U_Bbmdqc.js → npm-pack-install-B5tn-EtA.js} +18 -18
- package/dist/{npm-resolution-BzCW7TCH.js → npm-resolution-Brdkv6mO.js} +5 -5
- package/dist/{onboard-F7n3_iVh.js → onboard-Bh-I_8wZ.js} +6 -6
- package/dist/{onboard-Ch8Y1L6r.js → onboard-HvQow36S.js} +1 -1
- package/dist/{onboard-channels-CXnqSbh7.js → onboard-channels-gTeBkpnk.js} +20 -20
- package/dist/{onboard-custom-xXrb_3q4.js → onboard-custom-DhEI_A-m.js} +3 -3
- package/dist/{onboard-custom.shared-fTdY9R_i.js → onboard-custom.shared-DoXUpHZV.js} +2 -2
- package/dist/{onboard-helpers-DX8Hw_zc.js → onboard-helpers-ngPRx_6_.js} +11 -11
- package/dist/{onboard-hooks-DCPdhrCK.js → onboard-hooks-CJvqjkid.js} +4 -4
- package/dist/{onboard-remote-aF3GW6mE.js → onboard-remote-DRt29Vs4.js} +3 -3
- package/dist/{onboard-skills-CzFxXcom.js → onboard-skills-CoWAaHHg.js} +4 -4
- package/dist/{onboarding-BM2AMtOF.js → onboarding-COYDqpHi.js} +1 -1
- package/dist/{onboarding-C3pHfO7a.js → onboarding-DeqWu7mq.js} +13 -13
- package/dist/{onboarding.finalize-8dcfbjPv.js → onboarding.finalize-BAWi9byG.js} +3 -3
- package/dist/{onboarding.finalize-Ca_Zcpts.js → onboarding.finalize-DsXoykZY.js} +89 -89
- package/dist/{onboarding.gateway-config-B5jnM62F.js → onboarding.gateway-config-B1orRdI7.js} +18 -18
- package/dist/{openai-model-default-eaULYpD0.js → openai-model-default-DRYz3m4d.js} +2 -2
- package/dist/{outbound-CF1Hd23W.js → outbound-BGJh4s6Y.js} +4 -4
- package/dist/{outbound-attachment-BMlPpVOn.js → outbound-attachment-Baso-yal.js} +2 -2
- package/dist/{pairing-cli-DkVLCjGa.js → pairing-cli-DgUIYETM.js} +9 -9
- package/dist/{pairing-labels-CesrJlbr.js → pairing-labels-BPTURWrI.js} +1 -1
- package/dist/{pairing-store-BcJH8WDh.js → pairing-store-WGGwqFJB.js} +3 -3
- package/dist/{path-alias-guards-C_j0uB0Y.js → path-alias-guards-DdR4BKPM.js} +3 -3
- package/dist/{path-safety-BHBxNYfO.js → path-safety-DiJhMaUA.js} +1 -1
- package/dist/{paths-Bj8pNglF.js → paths-BPXmr3Zn.js} +9 -9
- package/dist/{pi-embedded-DbU5C8eR.js → pi-embedded-BJ2D2U7f.js} +22 -22
- package/dist/{pi-embedded-helpers-DAITpRHR.js → pi-embedded-helpers-BL7vjkKS.js} +3 -3
- package/dist/{pi-embedded-helpers-Cc4tC0fE.js → pi-embedded-helpers-ET1kDdN1.js} +6 -6
- package/dist/{pi-model-discovery-ItDCP5Ab.js → pi-model-discovery-COnY_kTM.js} +1 -1
- package/dist/{pi-tools.policy-BbLCMNCc.js → pi-tools.policy-Cp3wptYh.js} +5 -5
- package/dist/{plugin-auto-enable-BxiIEIvc.js → plugin-auto-enable-Bm8hMcPA.js} +3 -3
- package/dist/{plugin-registry-DT2OvA5Z.js → plugin-registry-DWd-znRA.js} +3 -3
- package/dist/plugin-sdk/{accounts-DFIfXHdI.js → accounts-B_Sil4df.js} +3 -3
- package/dist/plugin-sdk/{accounts-BME088co.js → accounts-CqgyHS8h.js} +1 -1
- package/dist/plugin-sdk/{accounts-CxgIc7BC.js → accounts-kIersDAH.js} +1 -1
- package/dist/plugin-sdk/{active-listener-Dx4YdW0B.js → active-listener-B1c6rQRy.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-BL5NPpGJ.js → agent-scope-DS0HILk_.js} +3 -3
- package/dist/plugin-sdk/{api-key-rotation-DZ1mvKN0.js → api-key-rotation-C2Z5xB6w.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-B8r8qUhZ.js → audio-preflight-Byc0yvPV.js} +33 -33
- package/dist/plugin-sdk/{audio-transcription-runner-B8gQ16hV.js → audio-transcription-runner-DHcTy4Wb.js} +10 -10
- package/dist/plugin-sdk/{bindings-YKerL1Tc.js → bindings-D8UvbNti.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-Dzyx86FD.js → channel-activity-CMtaqeTg.js} +3 -3
- package/dist/plugin-sdk/{channel-web-dQSyVWDp.js → channel-web-D3N-Ttls.js} +23 -23
- package/dist/plugin-sdk/{chrome-Hte84S6l.js → chrome-DoDlUT7F.js} +7 -7
- package/dist/plugin-sdk/{chunk-4pLJcTE-.js → chunk-BuHZrtLn.js} +1 -1
- package/dist/plugin-sdk/{command-format-TmcJI6nP.js → command-format-9ttCUvaP.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-D1UwEKAH.js → commands-registry-ydkoxruZ.js} +5 -5
- package/dist/plugin-sdk/{config-kqUrcUGI.js → config-BkeO1N4t.js} +10 -10
- package/dist/plugin-sdk/{deliver-DymnzypV.js → deliver-BcAT1l6Y.js} +11 -11
- package/dist/plugin-sdk/{diagnostic-1MgpiorV.js → diagnostic-BefhWusS.js} +2 -2
- package/dist/plugin-sdk/{dock-Csf-65jq.js → dock-yYEdNzbx.js} +6 -6
- package/dist/plugin-sdk/{errors-BRahpZsP.js → errors-D2KyTKs6.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-cD2GBmNp.js → fetch-guard-BC92RxgN.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DgdRzasF.js → fs-safe-CC4mG_Hc.js} +3 -3
- package/dist/plugin-sdk/{image-m9sEMr_K.js → image-Cjm_y1ht.js} +6 -6
- package/dist/{image-ops-HxQLrFqd.js → plugin-sdk/image-ops-CfQjZch5.js} +11 -11
- package/dist/plugin-sdk/index.js +64 -64
- package/dist/plugin-sdk/{ir-DyMWDxUp.js → ir-CLKvSg7X.js} +6 -6
- package/dist/plugin-sdk/{local-roots-ChmGReXd.js → local-roots-DYmtEf6P.js} +4 -4
- package/dist/plugin-sdk/{logger-BwzMchOl.js → logger-Dqmpx59X.js} +1 -1
- package/dist/plugin-sdk/{login-DIgrxuIQ.js → login-DYEbRdfH.js} +6 -6
- package/dist/plugin-sdk/{login-qr-DeAbaqfx.js → login-qr-0YUEfC35.js} +9 -9
- package/dist/plugin-sdk/{manager-Bic1h3Nu.js → manager-J_9hr0Yu.js} +10 -10
- package/dist/plugin-sdk/{markdown-tables-BEWLluuz.js → markdown-tables-BA_MdGIq.js} +1 -1
- package/dist/plugin-sdk/{message-channel-Be6xIObc.js → message-channel-CeYrurhu.js} +1 -1
- package/dist/plugin-sdk/{outbound-D7OdBk5M.js → outbound-B386FQiU.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-Y-wO2Csk.js → outbound-attachment-DgC7KgEZ.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-CsekuFRi.js → path-alias-guards-KB1li1UU.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-BWFPgWTA.js → pi-embedded-helpers-CbevdnHV.js} +17 -17
- package/dist/plugin-sdk/{pi-model-discovery-DRomJojM.js → pi-model-discovery-Blr1NdM4.js} +1 -1
- package/dist/plugin-sdk/{plugins-DKZ5hSLA.js → plugins-Dupyelyu.js} +6 -6
- package/dist/plugin-sdk/{proxy-DIYzaAvh.js → proxy-CnPaiSZ0.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-X6Ja_eZx.js → proxy-fetch-BY4mmpys.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-MuLgIL01.js → pw-ai-C1rLCgeF.js} +13 -13
- package/dist/plugin-sdk/{qmd-manager-D3p7PB5n.js → qmd-manager-BtfjLkaZ.js} +8 -8
- package/dist/plugin-sdk/{query-expansion-C90Jc5uo.js → query-expansion-DgHoeKXG.js} +2 -2
- package/dist/plugin-sdk/{redact-DEfi9F2o.js → redact-Civ2olvH.js} +1 -1
- package/dist/plugin-sdk/{registry-BfD4IdFK.js → registry-Cq-TQPU8.js} +2 -2
- package/dist/plugin-sdk/{replies-GRjUBMUL.js → replies-a2WeMkU6.js} +3 -3
- package/dist/plugin-sdk/{reply-BlPlf4OC.js → reply-C2XVty9G.js} +93 -93
- package/dist/plugin-sdk/{reply-prefix-CobEDhG_.js → reply-prefix-BRomwQau.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-DkNri48r.js → resolve-outbound-target-B_xKgqWe.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-fu19EHnm.js → resolve-route-yLtq9xkG.js} +4 -4
- package/dist/plugin-sdk/{retry-Agt7ZiSn.js → retry-D9aKv766.js} +1 -1
- package/dist/plugin-sdk/{send-BUpepCol.js → send-Bs-YbYdN.js} +6 -6
- package/dist/plugin-sdk/{send-BB06ROuk.js → send-Ct2mLh8U.js} +15 -15
- package/dist/plugin-sdk/{send-C5ymrC3h.js → send-WwwzoTNW.js} +7 -7
- package/dist/plugin-sdk/{send-DwXcBQYC.js → send-_MTxUi5p.js} +8 -8
- package/dist/plugin-sdk/{send-CvC0d45Z.js → send-kJXSgFcu.js} +10 -10
- package/dist/plugin-sdk/{session-D8BNggg2.js → session-Bfpm71Tg.js} +5 -5
- package/dist/plugin-sdk/{session-meta-DYb6KCvG.js → session-meta-CM4K7B00.js} +1 -1
- package/dist/plugin-sdk/{sessions-BtJmhzev.js → sessions-DFx8MKSO.js} +6 -6
- package/dist/plugin-sdk/{skill-commands-C3OZ4W61.js → skill-commands-CakvOluN.js} +5 -5
- package/dist/plugin-sdk/{skills-CIvz2coj.js → skills-CZFBOkwT.js} +8 -8
- package/dist/plugin-sdk/{ssrf-EGzUkeVq.js → ssrf-BjVCUeM7.js} +1 -1
- package/dist/plugin-sdk/{store-Dij_2k2X.js → store-DALs5PIC.js} +2 -2
- package/dist/plugin-sdk/{subsystem-C84uWxqx.js → subsystem-DQdKZm8Z.js} +2 -2
- package/dist/plugin-sdk/{tables-CTWsNiUf.js → tables-BQwHnOX0.js} +1 -1
- package/dist/plugin-sdk/{target-errors-Bgd_Uo0g.js → target-errors-DqlHqAmV.js} +2 -2
- package/dist/plugin-sdk/{tokens-B9E-mnf_.js → tokens-C_Ieeb03.js} +1 -1
- package/dist/plugin-sdk/{tool-images-0gnewwTL.js → tool-images-RhD8geto.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-Bsh07kcw.js → tool-loop-detection-CKnmaEeR.js} +2 -2
- package/dist/plugin-sdk/{utils-BA7Xm0uM.js → utils-hxOwZduA.js} +1 -1
- package/dist/plugin-sdk/web-DLrSMEN4.js +72 -0
- package/dist/plugin-sdk/{whatsapp-actions-BLoPRR5B.js → whatsapp-actions-CudQXAzF.js} +25 -25
- package/dist/{plugins--_65-dc5.js → plugins-CO6qDFdk.js} +2 -2
- package/dist/{plugins-cli-BmJ7h0-l.js → plugins-cli-B90nR_VK.js} +86 -86
- package/dist/{ports-Cw4Nwv2D.js → ports-CUjMnvTs.js} +1 -1
- package/dist/{ports-DgCQT1oY.js → ports-Dczj_PV_.js} +2 -2
- package/dist/{program-CStT3Tdz.js → program-CoUWrOuU.js} +84 -84
- package/dist/{program-context-uwFKpk8g.js → program-context-BW36TXnn.js} +7 -7
- package/dist/{prompt-select-styled-ByCoxIUa.js → prompt-select-styled-BY0UebAF.js} +1 -1
- package/dist/{prompt-select-styled-BOM_B36f.js → prompt-select-styled-CCeKGXxa.js} +39 -39
- package/dist/{provider-auth-helpers-BubJ5s-y.js → provider-auth-helpers-Btf9aI1h.js} +5 -5
- package/dist/{proxy-env-DHBs_DSq.js → proxy-env-DQGTNk9X.js} +1 -1
- package/dist/{push-apns-Ck9shhvZ.js → push-apns-CzIypSJf.js} +5 -5
- package/dist/{pw-ai-BlcIl51R.js → pw-ai-B5Q17lfW.js} +1 -1
- package/dist/{pw-ai-DYEHR6w8.js → pw-ai-D1Ry3gcn.js} +15 -15
- package/dist/{qmd-manager-BHSD3_rI.js → qmd-manager-BNFUTVvk.js} +20 -20
- package/dist/{qr-cli-CKOGSVK_.js → qr-cli-BTrl8Tw4.js} +1 -1
- package/dist/{query-expansion-BkWbp0bs.js → query-expansion-CP4BjmxS.js} +12 -12
- package/dist/{redact-snapshot-BzZpHz-O.js → redact-snapshot-QpVJSBBX.js} +1 -1
- package/dist/{register.agent-DT71MEX9.js → register.agent-BksD8xqL.js} +97 -97
- package/dist/register.configure-CJVJLDtX.js +175 -0
- package/dist/{register.init-CIS-LY0i.js → register.init-ChyHcEAX.js} +24 -34
- package/dist/{register.init-BzRts3RZ.js → register.init-EOlDrQTS.js} +9 -19
- package/dist/{register.maintenance-BTwdTZnP.js → register.maintenance-BiWaNm96.js} +4 -4
- package/dist/{register.maintenance-DWo73fOE.js → register.maintenance-C0zxZg0K.js} +99 -99
- package/dist/{register.message-6kMQG_ny.js → register.message-DW2G2t5n.js} +77 -77
- package/dist/{register.onboard-ps-7r0Bx.js → register.onboard-CBbSomv2.js} +2 -2
- package/dist/{register.onboard-Cu-xLkmj.js → register.onboard-DeZ6BYWf.js} +18 -18
- package/dist/{register.setup-DFniVrQp.js → register.setup-DFYvGlPy.js} +2 -2
- package/dist/{register.setup-DOgl3Biv.js → register.setup-DWdi6O74.js} +21 -21
- package/dist/{register.start-D0pe3Bgs.js → register.start-CbfmMKWY.js} +17 -17
- package/dist/{register.status-health-sessions-tMSX9Z5o.js → register.status-health-sessions-CMZuvcON.js} +91 -91
- package/dist/{register.subclis-BMjHVUZN.js → register.subclis-CS79-xpm.js} +31 -31
- package/dist/{replies-uQ56Hw52.js → replies-Dx5zA8IX.js} +1 -1
- package/dist/{reply-prefix-XmrGZdy_.js → reply-prefix-CS57j6KU.js} +1 -1
- package/dist/{resolve-route-Ukn_7wVk.js → resolve-route-Bxji0kZW.js} +2 -2
- package/dist/{rpc-3QEhCMY4.js → rpc-cRmU1tSk.js} +1 -1
- package/dist/{run-main-DoPcdD6j.js → run-main-BH5kmZli.js} +95 -95
- package/dist/{runtime-B4lkRQQD.js → runtime-COI_IE2j.js} +2 -2
- package/dist/{sandbox-CEIoYXZN.js → sandbox-BNSLjYyu.js} +18 -18
- package/dist/{sandbox-cli-BrTy3weD.js → sandbox-cli-C1OPjNfD.js} +26 -26
- package/dist/{secrets-cli-DeFPoA0b.js → secrets-cli-7Md_QcpC.js} +10 -10
- package/dist/{security-cli-CpDjK_Rg.js → security-cli-D68NIF3V.js} +43 -43
- package/dist/{send-CtAy9-2u.js → send-BpYBrb6S.js} +5 -5
- package/dist/{send-6U8MorA7.js → send-C8xKNHVm.js} +6 -6
- package/dist/{send-CVDGeH7A.js → send-CUvJIfFz.js} +11 -11
- package/dist/{send-BY8NE-y9.js → send-DX2I6KZU.js} +8 -8
- package/dist/{send-BdKdRPi6.js → send-DikEpk7w.js} +6 -6
- package/dist/{server-C9XFPL3c.js → server-D_wuOlkf.js} +19 -19
- package/dist/{server-context-DtOlWY9P.js → server-context-Dl8XC4vq.js} +12 -12
- package/dist/{server-lifecycle-CXzU2NM3.js → server-lifecycle-BIuR7Tj0.js} +2 -2
- package/dist/{server-middleware-Bp3DeSvQ.js → server-middleware-C_4mR9wU.js} +1 -1
- package/dist/{server-node-events-BcOJ7KmG.js → server-node-events-B-IAFJfU.js} +77 -77
- package/dist/{service-DPP3q6R4.js → service-BcyKtT1n.js} +15 -15
- package/dist/{session-6uNAHyWp.js → session-DyGs2JIG.js} +1 -1
- package/dist/{session-meta-DGKTOhxQ.js → session-meta-C7WybT5h.js} +1 -1
- package/dist/{session-utils-hbZzVDyj.js → session-utils-CYaFN47T.js} +6 -6
- package/dist/{sessions-CbWqJtkx.js → sessions-Cd7cVPC-.js} +4 -4
- package/dist/{sessions-DB4MRK6L.js → sessions-i5lEEEca.js} +15 -15
- package/dist/{shared-yo9kxQZW.js → shared-BKC5qsuY.js} +3 -3
- package/dist/{shared-D6mi8wP1.js → shared-CL0m0H8G.js} +1 -1
- package/dist/{skill-commands-Duha9iIC.js → skill-commands-Cl6M7kpE.js} +5 -5
- package/dist/{skill-scanner-Di-O2Hg-.js → skill-scanner-WUtERLdW.js} +6 -6
- package/dist/{skills-dNa7QxCF.js → skills-B18XPCNc.js} +3 -3
- package/dist/{skills-cli-Dkjzn2SU.js → skills-cli-C0gXv9PH.js} +5 -5
- package/dist/{skills-install-ARBA7lP0.js → skills-install-DYR6yH15.js} +6 -6
- package/dist/{skills-status-B4yuFDEj.js → skills-status-D9Rnj4xI.js} +1 -1
- package/dist/{status-CfL923KW.js → status-Dwe_iuCP.js} +26 -26
- package/dist/{status.update-aARe-MF6.js → status.update-C0psHodW.js} +2 -2
- package/dist/{store-BpvlJ70I.js → store-D-c26kSk.js} +5 -5
- package/dist/{subagent-registry-DEFti4F9.js → subagent-registry-eE5PhOhY.js} +157 -157
- package/dist/{system-cli-CYspMbRb.js → system-cli-kpN0Gb37.js} +9 -9
- package/dist/{system-run-command-BJQ7Q63p.js → system-run-command-DFxer2oq.js} +1 -1
- package/dist/{systemd-BtVy3Rbo.js → systemd-ebIdQGFn.js} +9 -9
- package/dist/{systemd-hints-BetNJuAX.js → systemd-hints-tCX_kug7.js} +6 -6
- package/dist/{systemd-linger-CWPZsER4.js → systemd-linger-IFrOwkb9.js} +1 -1
- package/dist/{tables-Bv2Hq-F0.js → tables-FZbGazqi.js} +1 -1
- package/dist/{tailnet-Dynp_Pgs.js → tailnet-BKoOcmOa.js} +1 -1
- package/dist/{target-errors-Bwi1jTIf.js → target-errors-CL097N6P.js} +4 -4
- package/dist/{tool-images-D7dXfsZW.js → tool-images-CXfdtMwT.js} +1 -1
- package/dist/{tui-CYj3VX-Y.js → tui-D3HyXPhF.js} +6 -6
- package/dist/{tui-cli-g7SERHtf.js → tui-cli-BYXDIVRr.js} +33 -33
- package/dist/{update-DbGfT3_u.js → update-D372fHKr.js} +3 -3
- package/dist/{update-cli-CO3mOkqg.js → update-cli-D2hEVao1.js} +4 -4
- package/dist/{update-cli-ny6m1bJQ.js → update-cli-DZeEWYpT.js} +107 -107
- package/dist/{update-runner-BjX-ARIw.js → update-runner-j5RoheCK.js} +16 -16
- package/dist/{web-DoyNp6wO.js → web-DcyT3FlY.js} +6 -6
- package/dist/web-Kse4dEsw.js +127 -0
- package/dist/{webhooks-cli-CoxuOMZ6.js → webhooks-cli-DgLGWDer.js} +6 -6
- package/dist/{whatsapp-actions-0CZKI1og.js → whatsapp-actions-BC00XF83.js} +19 -19
- package/dist/{with-timeout-cpgy0l-9.js → with-timeout-DvPUrPuK.js} +3 -3
- package/dist/{workspace-DYiAh9n2.js → workspace-Cuq5sS-4.js} +1 -1
- package/dist/{workspace-DtFDeYRa.js → workspace-DkRZH7vl.js} +23 -23
- package/dist/{workspace-dirs-BAyX7JI2.js → workspace-dirs-DBhaJ0y_.js} +1 -1
- package/dist/{wsl-CiVud8tt.js → wsl-KDz114y6.js} +2 -2
- package/package.json +1 -1
- package/dist/plugin-sdk/web-D48I7g5u.js +0 -72
- package/dist/register.configure-BWunAqlW.js +0 -175
- package/dist/web-CqfFsaTH.js +0 -127
|
@@ -2,10 +2,10 @@ import { p as theme } from "./globals-BSCHJiM2.js";
|
|
|
2
2
|
import "./paths-nt7fRu1x.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-CD-_2ECk.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import "./auth-profiles-
|
|
6
|
-
import "./agent-scope-
|
|
5
|
+
import "./auth-profiles-k09E8RLJ.js";
|
|
6
|
+
import "./agent-scope-BrbgAMci.js";
|
|
7
7
|
import "./utils-BHAtQ0dM.js";
|
|
8
|
-
import "./workspace-
|
|
8
|
+
import "./workspace-DkRZH7vl.js";
|
|
9
9
|
import "./logger-rnlD7CTs.js";
|
|
10
10
|
import "./exec-lwQ7X6bf.js";
|
|
11
11
|
import "./github-copilot-token-b8zw2qi2.js";
|
|
@@ -13,13 +13,13 @@ import "./host-env-security-CJMD0__Z.js";
|
|
|
13
13
|
import "./version-CGDNfh5C.js";
|
|
14
14
|
import "./env-vars-Dw0EwyGP.js";
|
|
15
15
|
import "./registry-eN0IzwTo.js";
|
|
16
|
-
import "./manifest-registry-
|
|
16
|
+
import "./manifest-registry-hRB5Jb3F.js";
|
|
17
17
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-bQJz_2wn.js";
|
|
18
|
-
import { Vt as approveDevicePairing, Wt as listDevicePairing, Xt as summarizeDeviceTokens } from "./client-
|
|
19
|
-
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-
|
|
18
|
+
import { Vt as approveDevicePairing, Wt as listDevicePairing, Xt as summarizeDeviceTokens } from "./client-CIji7FpE.js";
|
|
19
|
+
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CBH5yDff.js";
|
|
20
20
|
import "./pairing-token-b8YwYBlW.js";
|
|
21
|
-
import { r as isLoopbackHost } from "./net-
|
|
22
|
-
import "./tailnet-
|
|
21
|
+
import { r as isLoopbackHost } from "./net-Bxr80JTs.js";
|
|
22
|
+
import "./tailnet-BKoOcmOa.js";
|
|
23
23
|
import { n as formatTimeAgo } from "./format-relative-DdvuDKIv.js";
|
|
24
24
|
import { n as withProgress } from "./progress-B-CzNZ2g.js";
|
|
25
25
|
import { t as renderTable } from "./table-CFrE3ObJ.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-CD-_2ECk.js";
|
|
3
|
-
import { M as loadConfig } from "./auth-profiles-
|
|
3
|
+
import { M as loadConfig } from "./auth-profiles-k09E8RLJ.js";
|
|
4
4
|
import { n as getDiagnosticSessionState, r as pruneDiagnosticSessionStates, t as diagnosticSessionStates } from "./diagnostic-session-state-B5Z0I32_.js";
|
|
5
5
|
|
|
6
6
|
//#region src/infra/diagnostic-events.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { s as resolveGatewayLogPaths } from "./service-
|
|
2
|
-
import
|
|
1
|
+
import { s as resolveGatewayLogPaths } from "./service-BcyKtT1n.js";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
3
|
|
|
4
4
|
//#region src/daemon/diagnostics.ts
|
|
5
5
|
const GATEWAY_LOG_ERROR_PATTERNS = [
|
|
@@ -11,7 +11,7 @@ const GATEWAY_LOG_ERROR_PATTERNS = [
|
|
|
11
11
|
];
|
|
12
12
|
async function readLastLogLine(filePath) {
|
|
13
13
|
try {
|
|
14
|
-
const lines = (await
|
|
14
|
+
const lines = (await fs.readFile(filePath, "utf8")).split(/\r?\n/).map((line) => line.trim());
|
|
15
15
|
for (let i = lines.length - 1; i >= 0; i -= 1) if (lines[i]) return lines[i];
|
|
16
16
|
return null;
|
|
17
17
|
} catch {
|
|
@@ -20,8 +20,8 @@ async function readLastLogLine(filePath) {
|
|
|
20
20
|
}
|
|
21
21
|
async function readLastGatewayErrorLine(env) {
|
|
22
22
|
const { stdoutPath, stderrPath } = resolveGatewayLogPaths(env);
|
|
23
|
-
const stderrRaw = await
|
|
24
|
-
const stdoutRaw = await
|
|
23
|
+
const stderrRaw = await fs.readFile(stderrPath, "utf8").catch(() => "");
|
|
24
|
+
const stdoutRaw = await fs.readFile(stdoutPath, "utf8").catch(() => "");
|
|
25
25
|
const lines = [...stderrRaw.split(/\r?\n/), ...stdoutRaw.split(/\r?\n/)].map((line) => line.trim());
|
|
26
26
|
for (let i = lines.length - 1; i >= 0; i -= 1) {
|
|
27
27
|
const line = lines[i];
|
|
@@ -2,10 +2,10 @@ import { p as theme, t as danger } from "./globals-BSCHJiM2.js";
|
|
|
2
2
|
import "./paths-nt7fRu1x.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-CD-_2ECk.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import { M as loadConfig } from "./auth-profiles-
|
|
6
|
-
import "./agent-scope-
|
|
5
|
+
import { M as loadConfig } from "./auth-profiles-k09E8RLJ.js";
|
|
6
|
+
import "./agent-scope-BrbgAMci.js";
|
|
7
7
|
import "./utils-BHAtQ0dM.js";
|
|
8
|
-
import "./workspace-
|
|
8
|
+
import "./workspace-DkRZH7vl.js";
|
|
9
9
|
import "./logger-rnlD7CTs.js";
|
|
10
10
|
import "./exec-lwQ7X6bf.js";
|
|
11
11
|
import "./github-copilot-token-b8zw2qi2.js";
|
|
@@ -13,13 +13,13 @@ import "./host-env-security-CJMD0__Z.js";
|
|
|
13
13
|
import "./version-CGDNfh5C.js";
|
|
14
14
|
import "./env-vars-Dw0EwyGP.js";
|
|
15
15
|
import "./registry-eN0IzwTo.js";
|
|
16
|
-
import "./manifest-registry-
|
|
16
|
+
import "./manifest-registry-hRB5Jb3F.js";
|
|
17
17
|
import "./message-channel-bQJz_2wn.js";
|
|
18
|
-
import { t as getChannelPlugin } from "./plugins
|
|
19
|
-
import "./accounts-
|
|
18
|
+
import { t as getChannelPlugin } from "./plugins-CO6qDFdk.js";
|
|
19
|
+
import "./accounts-CTKra7aS.js";
|
|
20
20
|
import "./logging-CcxUDNcI.js";
|
|
21
|
-
import "./bindings-
|
|
22
|
-
import { n as resolveMessageChannelSelection } from "./channel-selection-
|
|
21
|
+
import "./bindings-C9vpkXej.js";
|
|
22
|
+
import { n as resolveMessageChannelSelection } from "./channel-selection-DZrPYytY.js";
|
|
23
23
|
import { t as formatDocsLink } from "./links-B3vCyexf.js";
|
|
24
24
|
import { t as formatHelpExamples } from "./help-format-DXdeaYOY.js";
|
|
25
25
|
import { t as resolveChannelDefaultAccountId } from "./helpers-D6BlzJnx.js";
|
|
@@ -2,10 +2,10 @@ import { p as theme } from "./globals-BSCHJiM2.js";
|
|
|
2
2
|
import "./paths-nt7fRu1x.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-CD-_2ECk.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import { M as loadConfig } from "./auth-profiles-
|
|
6
|
-
import "./agent-scope-
|
|
5
|
+
import { M as loadConfig } from "./auth-profiles-k09E8RLJ.js";
|
|
6
|
+
import "./agent-scope-BrbgAMci.js";
|
|
7
7
|
import "./utils-BHAtQ0dM.js";
|
|
8
|
-
import "./workspace-
|
|
8
|
+
import "./workspace-DkRZH7vl.js";
|
|
9
9
|
import "./logger-rnlD7CTs.js";
|
|
10
10
|
import "./exec-lwQ7X6bf.js";
|
|
11
11
|
import "./github-copilot-token-b8zw2qi2.js";
|
|
@@ -13,8 +13,8 @@ import "./host-env-security-CJMD0__Z.js";
|
|
|
13
13
|
import "./version-CGDNfh5C.js";
|
|
14
14
|
import "./env-vars-Dw0EwyGP.js";
|
|
15
15
|
import "./registry-eN0IzwTo.js";
|
|
16
|
-
import "./manifest-registry-
|
|
17
|
-
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-
|
|
16
|
+
import "./manifest-registry-hRB5Jb3F.js";
|
|
17
|
+
import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-BKoOcmOa.js";
|
|
18
18
|
import { t as formatDocsLink } from "./links-B3vCyexf.js";
|
|
19
19
|
import { t as renderTable } from "./table-CFrE3ObJ.js";
|
|
20
20
|
import { n as resolveWideAreaDiscoveryDomain, t as getWideAreaZonePath } from "./widearea-dns-DW5c74bk.js";
|
|
@@ -2,10 +2,10 @@ import { g as normalizeAccountId } from "./session-key-BLprDJYq.js";
|
|
|
2
2
|
import { c as escapeRegExp, p as normalizeE164 } from "./utils-BHAtQ0dM.js";
|
|
3
3
|
import { a as getChatChannelMeta, n as CHAT_CHANNEL_ORDER, p as requireActivePluginRegistry } from "./registry-eN0IzwTo.js";
|
|
4
4
|
import { t as resolveAccountEntry } from "./account-lookup-9wuXWwa_.js";
|
|
5
|
-
import { C as resolveDiscordAccount, l as resolveTelegramAccount, m as resolveSlackReplyToMode, p as resolveSlackAccount, v as normalizeWhatsAppTarget } from "./plugins
|
|
6
|
-
import { i as resolveWhatsAppAccount } from "./accounts-
|
|
7
|
-
import { r as resolveIMessageAccount } from "./accounts-
|
|
8
|
-
import { i as resolveSignalAccount } from "./accounts-
|
|
5
|
+
import { C as resolveDiscordAccount, l as resolveTelegramAccount, m as resolveSlackReplyToMode, p as resolveSlackAccount, v as normalizeWhatsAppTarget } from "./plugins-CO6qDFdk.js";
|
|
6
|
+
import { i as resolveWhatsAppAccount } from "./accounts-CTKra7aS.js";
|
|
7
|
+
import { r as resolveIMessageAccount } from "./accounts-B4wV9IFm.js";
|
|
8
|
+
import { i as resolveSignalAccount } from "./accounts-DtaSiAum.js";
|
|
9
9
|
|
|
10
10
|
//#region src/config/types.tools.ts
|
|
11
11
|
const TOOLS_BY_SENDER_KEY_TYPES = [
|
|
@@ -4,15 +4,15 @@ import { d as defaultRuntime } from "./subsystem-CD-_2ECk.js";
|
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-DmULG-oQ.js";
|
|
6
6
|
import "./utils-BHAtQ0dM.js";
|
|
7
|
-
import "./workspace-
|
|
7
|
+
import "./workspace-DkRZH7vl.js";
|
|
8
8
|
import "./logger-rnlD7CTs.js";
|
|
9
9
|
import { t as runCommandWithTimeout } from "./exec-lwQ7X6bf.js";
|
|
10
10
|
import "./host-env-security-CJMD0__Z.js";
|
|
11
11
|
import "./registry-eN0IzwTo.js";
|
|
12
|
-
import "./manifest-registry-
|
|
12
|
+
import "./manifest-registry-hRB5Jb3F.js";
|
|
13
13
|
import { d as hasBinary } from "./frontmatter-I4t5UjzX.js";
|
|
14
|
-
import "./skills-
|
|
15
|
-
import "./path-alias-guards-
|
|
14
|
+
import "./skills-B18XPCNc.js";
|
|
15
|
+
import "./path-alias-guards-DdR4BKPM.js";
|
|
16
16
|
import "./redact-BMVmEUXt.js";
|
|
17
17
|
import "./errors-BkARgYnD.js";
|
|
18
18
|
import { t as formatDocsLink } from "./links-B3vCyexf.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { S as resolveCliName } from "./paths-nt7fRu1x.js";
|
|
2
|
-
import { y as resolveOpenClawPackageRoot } from "./workspace-
|
|
2
|
+
import { y as resolveOpenClawPackageRoot } from "./workspace-DkRZH7vl.js";
|
|
3
3
|
import { t as note } from "./note-sNSXqQi8.js";
|
|
4
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-DujZccrD.js";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { S as resolveCliName } from "./paths-BIap53ff.js";
|
|
2
2
|
import { y as resolveOpenClawPackageRoot } from "./workspace-BZfvMhTj.js";
|
|
3
3
|
import { t as note } from "./note-B7qsNRoz.js";
|
|
4
|
-
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-
|
|
4
|
+
import { a as resolveCompletionCachePath, i as isCompletionInstalled, o as resolveShellFromEnv, r as installCompletion, s as usesSlowDynamicCompletion, t as completionCacheExists } from "./completion-cli-Die9PKu8.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { spawnSync } from "node:child_process";
|
|
7
7
|
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, s as resolveConfigPathCandidate, t as CONFIG_PATH } from "./paths-nt7fRu1x.js";
|
|
2
|
-
import { B as OpenClawSchema, Cn as formatSlackStreamModeMigrationMessage, Dn as resolveSlackNativeStreaming, En as resolveDiscordPreviewStreamMode, Ht as isTrustedSafeBinPath, On as resolveSlackStreamingMode, P as readConfigFileSnapshot, Vt as getTrustedSafeBinDirs, Wt as normalizeTrustedSafeBinDirs, k as migrateLegacyConfig, kn as resolveTelegramPreviewStreamMode, tn as resolveCommandResolutionFromArgv, wn as formatSlackStreamingBooleanMigrationMessage } from "./auth-profiles-
|
|
2
|
+
import { B as OpenClawSchema, Cn as formatSlackStreamModeMigrationMessage, Dn as resolveSlackNativeStreaming, En as resolveDiscordPreviewStreamMode, Ht as isTrustedSafeBinPath, On as resolveSlackStreamingMode, P as readConfigFileSnapshot, Vt as getTrustedSafeBinDirs, Wt as normalizeTrustedSafeBinDirs, k as migrateLegacyConfig, kn as resolveTelegramPreviewStreamMode, tn as resolveCommandResolutionFromArgv, wn as formatSlackStreamingBooleanMigrationMessage } from "./auth-profiles-k09E8RLJ.js";
|
|
3
3
|
import { t as formatCliCommand } from "./command-format-DmULG-oQ.js";
|
|
4
|
-
import { d as resolveDefaultAgentId } from "./agent-scope-
|
|
4
|
+
import { d as resolveDefaultAgentId } from "./agent-scope-BrbgAMci.js";
|
|
5
5
|
import { c as normalizeAgentId, g as normalizeAccountId, h as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey } from "./session-key-BLprDJYq.js";
|
|
6
6
|
import { g as resolveHomeDir, u as isRecord } from "./utils-BHAtQ0dM.js";
|
|
7
7
|
import { l as normalizeChatChannelId } from "./registry-eN0IzwTo.js";
|
|
8
|
-
import { f as parseToolsBySenderTypedKey } from "./dock-
|
|
9
|
-
import { Q as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-
|
|
10
|
-
import { l as resolveTelegramAccount, s as listTelegramAccountIds } from "./plugins
|
|
11
|
-
import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-
|
|
12
|
-
import { i as readChannelAllowFromStore } from "./pairing-store-
|
|
13
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
8
|
+
import { f as parseToolsBySenderTypedKey } from "./dock-CcEfMX5D.js";
|
|
9
|
+
import { Q as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-i5lEEEca.js";
|
|
10
|
+
import { l as resolveTelegramAccount, s as listTelegramAccountIds } from "./plugins-CO6qDFdk.js";
|
|
11
|
+
import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-CEdwujzY.js";
|
|
12
|
+
import { i as readChannelAllowFromStore } from "./pairing-store-WGGwqFJB.js";
|
|
13
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-Bm8hMcPA.js";
|
|
14
14
|
import { t as collectProviderDangerousNameMatchingScopes } from "./dangerous-name-matching-CAHqhE34.js";
|
|
15
15
|
import { r as shouldMoveSingleAccountChannelKey, t as fetchTelegramChatId } from "./api-gakS-kfC.js";
|
|
16
16
|
import { t as note } from "./note-sNSXqQi8.js";
|
|
17
|
-
import { t as isWithinDir } from "./path-safety-
|
|
18
|
-
import { n as formatConfigIssueLines } from "./issue-format-
|
|
17
|
+
import { t as isWithinDir } from "./path-safety-DiJhMaUA.js";
|
|
18
|
+
import { n as formatConfigIssueLines } from "./issue-format-Cat2txpr.js";
|
|
19
19
|
import { a as isMattermostMutableAllowEntry, c as normalizeTelegramAllowFromEntry, i as isMSTeamsMutableAllowEntry, n as isGoogleChatMutableAllowEntry, o as isSlackMutableAllowEntry, r as isIrcMutableAllowEntry, s as isNumericTelegramUserId, t as isDiscordMutableAllowEntry } from "./mutable-allowlist-detectors-DiZDtmlZ.js";
|
|
20
20
|
import path from "node:path";
|
|
21
21
|
import os from "node:os";
|
|
22
22
|
import fs from "node:fs";
|
|
23
23
|
import JSON5 from "json5";
|
|
24
|
-
import
|
|
24
|
+
import fs$1 from "node:fs/promises";
|
|
25
25
|
|
|
26
26
|
//#region src/commands/doctor-legacy-config.ts
|
|
27
27
|
function normalizeCompatibilityConfigValues(cfg) {
|
|
@@ -2109,7 +2109,7 @@ async function maybeMigrateLegacyConfig() {
|
|
|
2109
2109
|
const targetPath = resolveConfigPathCandidate(process.env, () => home);
|
|
2110
2110
|
const targetDir = path.dirname(targetPath);
|
|
2111
2111
|
try {
|
|
2112
|
-
await
|
|
2112
|
+
await fs$1.access(targetPath);
|
|
2113
2113
|
return changes;
|
|
2114
2114
|
} catch {}
|
|
2115
2115
|
const legacyCandidates = [
|
|
@@ -2119,14 +2119,14 @@ async function maybeMigrateLegacyConfig() {
|
|
|
2119
2119
|
];
|
|
2120
2120
|
let legacyPath = null;
|
|
2121
2121
|
for (const candidate of legacyCandidates) try {
|
|
2122
|
-
await
|
|
2122
|
+
await fs$1.access(candidate);
|
|
2123
2123
|
legacyPath = candidate;
|
|
2124
2124
|
break;
|
|
2125
2125
|
} catch {}
|
|
2126
2126
|
if (!legacyPath) return changes;
|
|
2127
|
-
await
|
|
2127
|
+
await fs$1.mkdir(targetDir, { recursive: true });
|
|
2128
2128
|
try {
|
|
2129
|
-
await
|
|
2129
|
+
await fs$1.copyFile(legacyPath, targetPath, fs$1.constants.COPYFILE_EXCL);
|
|
2130
2130
|
changes.push(`Migrated legacy config: ${legacyPath} -> ${targetPath}`);
|
|
2131
2131
|
} catch {}
|
|
2132
2132
|
return changes;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { l as normalizeChatChannelId } from "./registry-eN0IzwTo.js";
|
|
2
|
-
import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-
|
|
2
|
+
import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-Bm8hMcPA.js";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/toggle-config.ts
|
|
5
5
|
function setPluginEnabledInConfig(config, pluginId, enabled) {
|
package/dist/entry.js
CHANGED
|
@@ -384,7 +384,7 @@ if (!isMainModule({
|
|
|
384
384
|
}
|
|
385
385
|
function tryHandleRootHelpFastPath(argv) {
|
|
386
386
|
if (!isRootHelpInvocation(argv)) return false;
|
|
387
|
-
import("./program-
|
|
387
|
+
import("./program-CoUWrOuU.js").then(({ buildProgram }) => {
|
|
388
388
|
buildProgram().outputHelp();
|
|
389
389
|
}).catch((error) => {
|
|
390
390
|
console.error("[openclaw] Failed to display help:", error instanceof Error ? error.stack ?? error.message : error);
|
|
@@ -403,7 +403,7 @@ if (!isMainModule({
|
|
|
403
403
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
404
404
|
process$1.argv = parsed.argv;
|
|
405
405
|
}
|
|
406
|
-
if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-
|
|
406
|
+
if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-BH5kmZli.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
407
407
|
console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
408
408
|
process$1.exitCode = 1;
|
|
409
409
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $t as matchAllowlist, Gt as validateSafeBinArgv, Ht as isTrustedSafeBinPath, Qt as DEFAULT_SAFE_BINS, Yt as isWindowsPlatform, Zt as splitCommandChain, dn as unwrapKnownShellMultiplexerInvocation, en as resolveAllowlistCandidatePath, gn as SAFE_BIN_PROFILES, in as extractShellWrapperInlineCommand, on as isDispatchWrapperExecutable, qt as analyzeShellCommand, sn as isShellWrapperExecutable, tn as resolveCommandResolutionFromArgv, un as unwrapKnownDispatchWrapperInvocation } from "./auth-profiles-
|
|
1
|
+
import { $t as matchAllowlist, Gt as validateSafeBinArgv, Ht as isTrustedSafeBinPath, Qt as DEFAULT_SAFE_BINS, Yt as isWindowsPlatform, Zt as splitCommandChain, dn as unwrapKnownShellMultiplexerInvocation, en as resolveAllowlistCandidatePath, gn as SAFE_BIN_PROFILES, in as extractShellWrapperInlineCommand, on as isDispatchWrapperExecutable, qt as analyzeShellCommand, sn as isShellWrapperExecutable, tn as resolveCommandResolutionFromArgv, un as unwrapKnownDispatchWrapperInvocation } from "./auth-profiles-k09E8RLJ.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-approvals-allowlist.ts
|
|
@@ -2,10 +2,10 @@ import { f as isRich, p as theme } from "./globals-BSCHJiM2.js";
|
|
|
2
2
|
import "./paths-nt7fRu1x.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-CD-_2ECk.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import "./auth-profiles-
|
|
6
|
-
import "./agent-scope-
|
|
5
|
+
import "./auth-profiles-k09E8RLJ.js";
|
|
6
|
+
import "./agent-scope-BrbgAMci.js";
|
|
7
7
|
import "./utils-BHAtQ0dM.js";
|
|
8
|
-
import "./workspace-
|
|
8
|
+
import "./workspace-DkRZH7vl.js";
|
|
9
9
|
import "./logger-rnlD7CTs.js";
|
|
10
10
|
import "./exec-lwQ7X6bf.js";
|
|
11
11
|
import "./github-copilot-token-b8zw2qi2.js";
|
|
@@ -13,26 +13,26 @@ import "./host-env-security-CJMD0__Z.js";
|
|
|
13
13
|
import "./version-CGDNfh5C.js";
|
|
14
14
|
import "./env-vars-Dw0EwyGP.js";
|
|
15
15
|
import "./registry-eN0IzwTo.js";
|
|
16
|
-
import "./manifest-registry-
|
|
16
|
+
import "./manifest-registry-hRB5Jb3F.js";
|
|
17
17
|
import "./message-channel-bQJz_2wn.js";
|
|
18
|
-
import "./client-
|
|
19
|
-
import "./call-
|
|
18
|
+
import "./client-CIji7FpE.js";
|
|
19
|
+
import "./call-CBH5yDff.js";
|
|
20
20
|
import "./pairing-token-b8YwYBlW.js";
|
|
21
|
-
import "./net-
|
|
22
|
-
import "./tailnet-
|
|
23
|
-
import "./exec-approvals-allowlist-
|
|
21
|
+
import "./net-Bxr80JTs.js";
|
|
22
|
+
import "./tailnet-BKoOcmOa.js";
|
|
23
|
+
import "./exec-approvals-allowlist-IOB4HV3z.js";
|
|
24
24
|
import { n as formatTimeAgo } from "./format-relative-DdvuDKIv.js";
|
|
25
25
|
import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-CUPLFghN.js";
|
|
26
26
|
import { t as formatDocsLink } from "./links-B3vCyexf.js";
|
|
27
27
|
import "./progress-B-CzNZ2g.js";
|
|
28
|
-
import { n as callGatewayFromCli } from "./gateway-rpc-
|
|
29
|
-
import "./systemd-
|
|
30
|
-
import "./service-
|
|
28
|
+
import { n as callGatewayFromCli } from "./gateway-rpc-C6F7QPVq.js";
|
|
29
|
+
import "./systemd-ebIdQGFn.js";
|
|
30
|
+
import "./service-BcyKtT1n.js";
|
|
31
31
|
import { t as renderTable } from "./table-CFrE3ObJ.js";
|
|
32
|
-
import { t as describeUnknownError } from "./shared-
|
|
33
|
-
import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-
|
|
32
|
+
import { t as describeUnknownError } from "./shared-CL0m0H8G.js";
|
|
33
|
+
import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-cRmU1tSk.js";
|
|
34
34
|
import JSON5 from "json5";
|
|
35
|
-
import
|
|
35
|
+
import fs from "node:fs/promises";
|
|
36
36
|
|
|
37
37
|
//#region src/cli/exec-approvals-cli.ts
|
|
38
38
|
async function readStdin() {
|
|
@@ -329,7 +329,7 @@ function registerExecApprovalsCli(program) {
|
|
|
329
329
|
if (!opts.file && !opts.stdin) exitWithError("Provide --file or --stdin.");
|
|
330
330
|
if (opts.file && opts.stdin) exitWithError("Use either --file or --stdin (not both).");
|
|
331
331
|
const { source, nodeId, targetLabel, baseHash } = await loadWritableSnapshotTarget(opts);
|
|
332
|
-
const raw = opts.stdin ? await readStdin() : await
|
|
332
|
+
const raw = opts.stdin ? await readStdin() : await fs.readFile(String(opts.file), "utf8");
|
|
333
333
|
let file;
|
|
334
334
|
try {
|
|
335
335
|
file = JSON5.parse(raw);
|
package/dist/{exec-safe-bin-runtime-policy-Bu0TwxE1.js → exec-safe-bin-runtime-policy-CEdwujzY.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Ut as listWritableExplicitTrustedSafeBinDirs, Vt as getTrustedSafeBinDirs, Wt as normalizeTrustedSafeBinDirs, _n as normalizeSafeBinProfileFixtures, vn as resolveSafeBinProfiles } from "./auth-profiles-
|
|
2
|
-
import { i as resolveSafeBins } from "./exec-approvals-allowlist-
|
|
1
|
+
import { Ut as listWritableExplicitTrustedSafeBinDirs, Vt as getTrustedSafeBinDirs, Wt as normalizeTrustedSafeBinDirs, _n as normalizeSafeBinProfileFixtures, vn as resolveSafeBinProfiles } from "./auth-profiles-k09E8RLJ.js";
|
|
2
|
+
import { i as resolveSafeBins } from "./exec-approvals-allowlist-IOB4HV3z.js";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-safe-bin-runtime-policy.ts
|
|
5
5
|
const INTERPRETER_LIKE_SAFE_BINS = new Set([
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { k as resolvePreferredOpenClawTmpDir } from "./globals-BSCHJiM2.js";
|
|
2
2
|
import { g as resolveStateDir } from "./paths-nt7fRu1x.js";
|
|
3
|
-
import { u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
4
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
5
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
3
|
+
import { u as resolveAgentWorkspaceDir } from "./agent-scope-BrbgAMci.js";
|
|
4
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-B2K36FLD.js";
|
|
5
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-oYuVfv1t.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
8
8
|
//#region src/media/local-roots.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as logWarn } from "./logger-rnlD7CTs.js";
|
|
2
|
-
import { i as createPinnedDispatcher, n as SsrFBlockedError, r as closeDispatcher, s as resolvePinnedHostnameWithPolicy, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
2
|
+
import { i as createPinnedDispatcher, n as SsrFBlockedError, r as closeDispatcher, s as resolvePinnedHostnameWithPolicy, t as hasProxyEnvConfigured } from "./proxy-env-DQGTNk9X.js";
|
|
3
3
|
import { t as bindAbortRelay } from "./fetch-timeout-COrrU_w2.js";
|
|
4
4
|
import { EnvHttpProxyAgent } from "undici";
|
|
5
5
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { _ as expandHomePrefix } from "./paths-nt7fRu1x.js";
|
|
2
|
-
import { A as isNotFoundPathError, M as isSymlinkOpenError, T as sameFileIdentity, j as isPathInside, k as hasNodeErrorCode } from "./workspace-
|
|
2
|
+
import { A as isNotFoundPathError, M as isSymlinkOpenError, T as sameFileIdentity, j as isPathInside, k as hasNodeErrorCode } from "./workspace-DkRZH7vl.js";
|
|
3
3
|
import { i as logWarn } from "./logger-rnlD7CTs.js";
|
|
4
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
4
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-DdR4BKPM.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import { constants } from "node:fs";
|
|
8
|
-
import
|
|
8
|
+
import fs$1 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
|
|
28
|
+
home = await fs$1.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
|
|
34
|
+
if ((await fs$1.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
|
|
40
|
+
handle = await fs$1.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(),
|
|
48
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fs$1.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
|
|
54
|
-
const realStat = await
|
|
53
|
+
const realPath = await fs$1.realpath(filePath);
|
|
54
|
+
const realStat = await fs$1.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
|
|
72
|
+
rootReal = await fs$1.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
|
|
173
|
+
const tempHandle = await fs$1.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
|
|
183
|
+
const rootWithSep = ensureTrailingSep(await fs$1.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
|
|
194
|
+
return await fs$1.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
|
|
200
|
+
return await fs$1.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
|
|
215
|
+
if (params.mkdir !== false) await fs$1.mkdir(path.dirname(resolved), { recursive: true });
|
|
216
216
|
let ioPath = resolved;
|
|
217
217
|
try {
|
|
218
|
-
const resolvedRealPath = await
|
|
218
|
+
const resolvedRealPath = await fs$1.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
|
|
230
|
+
handle = await fs$1.open(ioPath, OPEN_WRITE_EXISTING_FLAGS, fileMode);
|
|
231
231
|
} catch (err) {
|
|
232
232
|
if (!isNotFoundPathError(err)) throw err;
|
|
233
|
-
handle = await
|
|
233
|
+
handle = await fs$1.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
|
|
247
|
+
const lstat = await fs$1.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
|
|
255
|
+
const realStat = await fs$1.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
|
|
270
|
+
if (cleanupCreatedPath) await fs$1.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
|
|
293
|
+
await fs$1.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
|
|
306
|
+
if (tempPath) await fs$1.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
|
|
334
|
+
if (target?.createdForWrite) await fs$1.rm(target.openedRealPath, { force: true }).catch(() => {});
|
|
335
335
|
throw err;
|
|
336
336
|
} finally {
|
|
337
337
|
if (!sourceClosedByStream) await source.handle.close().catch(() => {});
|