@bitseek/claw 1.3.8-beta.2 → 1.3.8-beta.3
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-B6Jw9LUM.js → audio-preflight-Pdv9uiw6.js} +36 -36
- 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/{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/{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-B9MybN-E.js → command-registry-Ciq2wbUi.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-DDcNIc1r.js → completion-cli-BtWS51xD.js} +13 -13
- package/dist/{completion-cli-6l712NPl.js → completion-cli-JABAzgO6.js} +1 -1
- 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-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-B19Hs3xo.js → doctor-completion-BEtcv-8P.js} +1 -1
- package/dist/{doctor-completion-B6jYyC1T.js → doctor-completion-YtQqTVcr.js} +2 -2
- 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-Cqe5_9XJ.js → gateway-cli-D1e4MuAA.js} +1 -1
- package/dist/{gateway-cli-D4xVKSbv.js → gateway-cli-hP7_aftQ.js} +161 -161
- 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/{plugin-sdk/image-ops-CfQjZch5.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/{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-BhUYz4pd.js → onboard-Ch8Y1L6r.js} +1 -1
- package/dist/{onboard-CHHfB91Q.js → onboard-CqSuI-jq.js} +6 -6
- 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-BFylLQTs.js → onboarding-BM2AMtOF.js} +1 -1
- package/dist/{onboarding-Byioq4gT.js → onboarding-Dp4X7ISI.js} +13 -13
- package/dist/{onboarding.finalize-CWPqHkqC.js → onboarding.finalize-8dcfbjPv.js} +3 -3
- package/dist/{onboarding.finalize-CnVCE1gR.js → onboarding.finalize-DyQnfLTz.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-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-CqgyHS8h.js → accounts-BME088co.js} +1 -1
- package/dist/plugin-sdk/{accounts-kIersDAH.js → accounts-CxgIc7BC.js} +1 -1
- package/dist/plugin-sdk/{accounts-B_Sil4df.js → accounts-DFIfXHdI.js} +3 -3
- package/dist/plugin-sdk/{active-listener-B1c6rQRy.js → active-listener-Dx4YdW0B.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-DS0HILk_.js → agent-scope-BL5NPpGJ.js} +3 -3
- package/dist/plugin-sdk/{api-key-rotation-C2Z5xB6w.js → api-key-rotation-DZ1mvKN0.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-Byc0yvPV.js → audio-preflight-B8r8qUhZ.js} +33 -33
- package/dist/plugin-sdk/{audio-transcription-runner-DHcTy4Wb.js → audio-transcription-runner-B8gQ16hV.js} +10 -10
- package/dist/plugin-sdk/{bindings-D8UvbNti.js → bindings-YKerL1Tc.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-CMtaqeTg.js → channel-activity-Dzyx86FD.js} +3 -3
- package/dist/plugin-sdk/{channel-web-D3N-Ttls.js → channel-web-dQSyVWDp.js} +23 -23
- package/dist/plugin-sdk/{chrome-DoDlUT7F.js → chrome-Hte84S6l.js} +7 -7
- package/dist/plugin-sdk/{chunk-BuHZrtLn.js → chunk-4pLJcTE-.js} +1 -1
- package/dist/plugin-sdk/{command-format-9ttCUvaP.js → command-format-TmcJI6nP.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-ydkoxruZ.js → commands-registry-D1UwEKAH.js} +5 -5
- package/dist/plugin-sdk/{config-BkeO1N4t.js → config-kqUrcUGI.js} +10 -10
- package/dist/plugin-sdk/{deliver-BcAT1l6Y.js → deliver-DymnzypV.js} +11 -11
- package/dist/plugin-sdk/{diagnostic-BefhWusS.js → diagnostic-1MgpiorV.js} +2 -2
- package/dist/plugin-sdk/{dock-yYEdNzbx.js → dock-Csf-65jq.js} +6 -6
- package/dist/plugin-sdk/{errors-D2KyTKs6.js → errors-BRahpZsP.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-BC92RxgN.js → fetch-guard-cD2GBmNp.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-CC4mG_Hc.js → fs-safe-DgdRzasF.js} +3 -3
- package/dist/plugin-sdk/{image-Cjm_y1ht.js → image-m9sEMr_K.js} +6 -6
- package/dist/{image-ops-HxQLrFqd.js → plugin-sdk/image-ops-DhVTERkS.js} +11 -11
- package/dist/plugin-sdk/index.js +64 -64
- package/dist/plugin-sdk/{ir-CLKvSg7X.js → ir-DyMWDxUp.js} +6 -6
- package/dist/plugin-sdk/{local-roots-DYmtEf6P.js → local-roots-ChmGReXd.js} +4 -4
- package/dist/plugin-sdk/{logger-Dqmpx59X.js → logger-BwzMchOl.js} +1 -1
- package/dist/plugin-sdk/{login-DYEbRdfH.js → login-DIgrxuIQ.js} +6 -6
- package/dist/plugin-sdk/{login-qr-0YUEfC35.js → login-qr-DeAbaqfx.js} +9 -9
- package/dist/plugin-sdk/{manager-J_9hr0Yu.js → manager-Bic1h3Nu.js} +10 -10
- package/dist/plugin-sdk/{markdown-tables-BA_MdGIq.js → markdown-tables-BEWLluuz.js} +1 -1
- package/dist/plugin-sdk/{message-channel-CeYrurhu.js → message-channel-Be6xIObc.js} +1 -1
- package/dist/plugin-sdk/{outbound-B386FQiU.js → outbound-D7OdBk5M.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-DgC7KgEZ.js → outbound-attachment-Y-wO2Csk.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-KB1li1UU.js → path-alias-guards-CsekuFRi.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-CbevdnHV.js → pi-embedded-helpers-BWFPgWTA.js} +17 -17
- package/dist/plugin-sdk/{pi-model-discovery-Blr1NdM4.js → pi-model-discovery-DRomJojM.js} +1 -1
- package/dist/plugin-sdk/{plugins-Dupyelyu.js → plugins-DKZ5hSLA.js} +6 -6
- package/dist/plugin-sdk/{proxy-CnPaiSZ0.js → proxy-DIYzaAvh.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-BY4mmpys.js → proxy-fetch-X6Ja_eZx.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-C1rLCgeF.js → pw-ai-MuLgIL01.js} +13 -13
- package/dist/plugin-sdk/{qmd-manager-BtfjLkaZ.js → qmd-manager-D3p7PB5n.js} +8 -8
- package/dist/plugin-sdk/{query-expansion-DgHoeKXG.js → query-expansion-C90Jc5uo.js} +2 -2
- package/dist/plugin-sdk/{redact-Civ2olvH.js → redact-DEfi9F2o.js} +1 -1
- package/dist/plugin-sdk/{registry-Cq-TQPU8.js → registry-BfD4IdFK.js} +2 -2
- package/dist/plugin-sdk/{replies-a2WeMkU6.js → replies-GRjUBMUL.js} +3 -3
- package/dist/plugin-sdk/{reply-C2XVty9G.js → reply-BlPlf4OC.js} +93 -93
- package/dist/plugin-sdk/{reply-prefix-BRomwQau.js → reply-prefix-CobEDhG_.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-B_xKgqWe.js → resolve-outbound-target-DkNri48r.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-yLtq9xkG.js → resolve-route-fu19EHnm.js} +4 -4
- package/dist/plugin-sdk/{retry-D9aKv766.js → retry-Agt7ZiSn.js} +1 -1
- package/dist/plugin-sdk/{send-Ct2mLh8U.js → send-BB06ROuk.js} +15 -15
- package/dist/plugin-sdk/{send-Bs-YbYdN.js → send-BUpepCol.js} +6 -6
- package/dist/plugin-sdk/{send-WwwzoTNW.js → send-C5ymrC3h.js} +7 -7
- package/dist/plugin-sdk/{send-kJXSgFcu.js → send-CvC0d45Z.js} +10 -10
- package/dist/plugin-sdk/{send-_MTxUi5p.js → send-DwXcBQYC.js} +8 -8
- package/dist/plugin-sdk/{session-Bfpm71Tg.js → session-D8BNggg2.js} +5 -5
- package/dist/plugin-sdk/{session-meta-CM4K7B00.js → session-meta-DYb6KCvG.js} +1 -1
- package/dist/plugin-sdk/{sessions-DFx8MKSO.js → sessions-BtJmhzev.js} +6 -6
- package/dist/plugin-sdk/{skill-commands-CakvOluN.js → skill-commands-C3OZ4W61.js} +5 -5
- package/dist/plugin-sdk/{skills-CZFBOkwT.js → skills-CIvz2coj.js} +8 -8
- package/dist/plugin-sdk/{ssrf-BjVCUeM7.js → ssrf-EGzUkeVq.js} +1 -1
- package/dist/plugin-sdk/{store-DALs5PIC.js → store-Dij_2k2X.js} +2 -2
- package/dist/plugin-sdk/{subsystem-DQdKZm8Z.js → subsystem-C84uWxqx.js} +2 -2
- package/dist/plugin-sdk/{tables-BQwHnOX0.js → tables-CTWsNiUf.js} +1 -1
- package/dist/plugin-sdk/{target-errors-DqlHqAmV.js → target-errors-Bgd_Uo0g.js} +2 -2
- package/dist/plugin-sdk/{tokens-C_Ieeb03.js → tokens-B9E-mnf_.js} +1 -1
- package/dist/plugin-sdk/{tool-images-RhD8geto.js → tool-images-0gnewwTL.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-CKnmaEeR.js → tool-loop-detection-Bsh07kcw.js} +2 -2
- package/dist/plugin-sdk/{utils-hxOwZduA.js → utils-BA7Xm0uM.js} +1 -1
- package/dist/plugin-sdk/web-D48I7g5u.js +72 -0
- package/dist/plugin-sdk/{whatsapp-actions-CudQXAzF.js → whatsapp-actions-BLoPRR5B.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-Be2ymElx.js → program-5vm1a5f-.js} +84 -84
- package/dist/{program-context-VmNKrCEz.js → program-context-uwFKpk8g.js} +7 -7
- package/dist/{prompt-select-styled-y3MS0Ion.js → prompt-select-styled-ByCoxIUa.js} +1 -1
- package/dist/{prompt-select-styled-VDz-k6PU.js → prompt-select-styled-D5N-DZSk.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-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-BG8FagAY.js → register.init-B26Ry-q0.js} +29 -20
- package/dist/{register.init-kK0U4c1X.js → register.init-BzRts3RZ.js} +14 -5
- package/dist/{register.maintenance-DXzqBj6G.js → register.maintenance-BTwdTZnP.js} +4 -4
- package/dist/{register.maintenance-JgN7l-Nt.js → register.maintenance-DZZc7WGW.js} +99 -99
- package/dist/{register.message-6kMQG_ny.js → register.message-DW2G2t5n.js} +77 -77
- package/dist/{register.onboard-8ktAun-c.js → register.onboard-kzLJdF35.js} +18 -18
- package/dist/{register.onboard-Cx_a7wmX.js → register.onboard-ps-7r0Bx.js} +2 -2
- package/dist/{register.setup-ByRV6Cja.js → register.setup-C5qExQuD.js} +21 -21
- package/dist/{register.setup-DwSY2woO.js → register.setup-DFniVrQp.js} +2 -2
- 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-BL5uM8m-.js → register.subclis-o8k-y9CC.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-CTvTsMR8.js → run-main-CEEV_P4Y.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-DzGTmqj1.js → update-cli-CO3mOkqg.js} +4 -4
- package/dist/{update-cli-D11Y1iYl.js → update-cli-D2pd7IJi.js} +107 -107
- package/dist/{update-runner-BjX-ARIw.js → update-runner-j5RoheCK.js} +16 -16
- 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-DLrSMEN4.js +0 -72
- package/dist/register.configure-BWunAqlW.js +0 -175
- package/dist/web-CqfFsaTH.js +0 -127
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-bQJz_2wn.js";
|
|
2
|
-
import { n as callGateway } from "./call-
|
|
2
|
+
import { n as callGateway } from "./call-CBH5yDff.js";
|
|
3
3
|
import { n as withProgress } from "./progress-B-CzNZ2g.js";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/gateway-rpc.ts
|
|
@@ -2,26 +2,26 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { f as isRich, n as info, p as theme } from "./globals-BSCHJiM2.js";
|
|
3
3
|
import { d as defaultRuntime, t as createSubsystemLogger } from "./subsystem-CD-_2ECk.js";
|
|
4
4
|
import { r as isTruthyEnvValue } from "./entry.js";
|
|
5
|
-
import { M as loadConfig, at as parseDurationMs } from "./auth-profiles-
|
|
6
|
-
import { d as resolveDefaultAgentId, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
5
|
+
import { M as loadConfig, at as parseDurationMs } from "./auth-profiles-k09E8RLJ.js";
|
|
6
|
+
import { d as resolveDefaultAgentId, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-BrbgAMci.js";
|
|
7
7
|
import { c as normalizeAgentId, m as toAgentStoreSessionKey, u as resolveAgentIdFromSessionKey } from "./session-key-BLprDJYq.js";
|
|
8
8
|
import { c as escapeRegExp } from "./utils-BHAtQ0dM.js";
|
|
9
|
-
import { i as DEFAULT_HEARTBEAT_FILENAME } from "./workspace-
|
|
10
|
-
import { $ as resolveAgentMainSessionKey, Q as canonicalizeMainSessionAlias, d as updateSessionStore, l as saveSessionStore, o as loadSessionStore } from "./sessions-
|
|
11
|
-
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins
|
|
12
|
-
import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-
|
|
13
|
-
import { Bn as resolveHeartbeatReasonKind, Fr as resolveHeartbeatPrompt$1, In as peekSystemEventEntries, Ir as stripHeartbeatToken, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Nr as DEFAULT_HEARTBEAT_EVERY, Pr as isHeartbeatContentEffectivelyEmpty, Rn as requestHeartbeatNow, Tr as getQueueSize, at as getReplyFromConfig, jr as CommandLane, ln as buildOutboundSessionContext, lr as resolveUserTimezone, st as appendCronStyleCurrentTimeLine, vt as resolveHeartbeatDeliveryTarget, yt as resolveHeartbeatSenderContext, zn as setHeartbeatWakeHandler } from "./subagent-registry-
|
|
9
|
+
import { i as DEFAULT_HEARTBEAT_FILENAME } from "./workspace-DkRZH7vl.js";
|
|
10
|
+
import { $ as resolveAgentMainSessionKey, Q as canonicalizeMainSessionAlias, d as updateSessionStore, l as saveSessionStore, o as loadSessionStore } from "./sessions-i5lEEEca.js";
|
|
11
|
+
import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CO6qDFdk.js";
|
|
12
|
+
import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-C9vpkXej.js";
|
|
13
|
+
import { Bn as resolveHeartbeatReasonKind, Fr as resolveHeartbeatPrompt$1, In as peekSystemEventEntries, Ir as stripHeartbeatToken, Mr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Nr as DEFAULT_HEARTBEAT_EVERY, Pr as isHeartbeatContentEffectivelyEmpty, Rn as requestHeartbeatNow, Tr as getQueueSize, at as getReplyFromConfig, jr as CommandLane, ln as buildOutboundSessionContext, lr as resolveUserTimezone, st as appendCronStyleCurrentTimeLine, vt as resolveHeartbeatDeliveryTarget, yt as resolveHeartbeatSenderContext, zn as setHeartbeatWakeHandler } from "./subagent-registry-eE5PhOhY.js";
|
|
14
14
|
import { c as resolveStorePath, n as resolveSessionFilePath } from "./paths-Be1MArvM.js";
|
|
15
|
-
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-
|
|
15
|
+
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-CBH5yDff.js";
|
|
16
16
|
import { t as HEARTBEAT_TOKEN } from "./tokens-C5eaMCmn.js";
|
|
17
|
-
import { t as deliverOutboundPayloads } from "./deliver-
|
|
17
|
+
import { t as deliverOutboundPayloads } from "./deliver-Bm4UojU1.js";
|
|
18
18
|
import { a as hasErrnoCode, r as formatErrorMessage } from "./errors-BkARgYnD.js";
|
|
19
|
-
import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-
|
|
19
|
+
import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-CS57j6KU.js";
|
|
20
20
|
import { n as withProgress } from "./progress-B-CzNZ2g.js";
|
|
21
21
|
import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-IKnrpY6x.js";
|
|
22
22
|
import { t as resolveChannelDefaultAccountId } from "./helpers-D6BlzJnx.js";
|
|
23
23
|
import path from "node:path";
|
|
24
|
-
import
|
|
24
|
+
import fs from "node:fs/promises";
|
|
25
25
|
|
|
26
26
|
//#region src/infra/heartbeat-active-hours.ts
|
|
27
27
|
const ACTIVE_HOURS_TIME_PATTERN = /^(?:([01]\d|2[0-3]):([0-5]\d)|24:00)$/;
|
|
@@ -315,7 +315,7 @@ async function pruneHeartbeatTranscript(params) {
|
|
|
315
315
|
const { transcriptPath, preHeartbeatSize } = params;
|
|
316
316
|
if (!transcriptPath || typeof preHeartbeatSize !== "number" || preHeartbeatSize < 0) return;
|
|
317
317
|
try {
|
|
318
|
-
if ((await
|
|
318
|
+
if ((await fs.stat(transcriptPath)).size > preHeartbeatSize) await fs.truncate(transcriptPath, preHeartbeatSize);
|
|
319
319
|
} catch {}
|
|
320
320
|
}
|
|
321
321
|
/**
|
|
@@ -333,7 +333,7 @@ async function captureTranscriptState(params) {
|
|
|
333
333
|
});
|
|
334
334
|
return {
|
|
335
335
|
transcriptPath,
|
|
336
|
-
preHeartbeatSize: (await
|
|
336
|
+
preHeartbeatSize: (await fs.stat(transcriptPath)).size
|
|
337
337
|
};
|
|
338
338
|
} catch {
|
|
339
339
|
return {};
|
|
@@ -390,7 +390,7 @@ async function resolveHeartbeatPreflight(params) {
|
|
|
390
390
|
const workspaceDir = resolveAgentWorkspaceDir(params.cfg, params.agentId);
|
|
391
391
|
const heartbeatFilePath = path.join(workspaceDir, DEFAULT_HEARTBEAT_FILENAME);
|
|
392
392
|
try {
|
|
393
|
-
if (isHeartbeatContentEffectivelyEmpty(await
|
|
393
|
+
if (isHeartbeatContentEffectivelyEmpty(await fs.readFile(heartbeatFilePath, "utf-8"))) return {
|
|
394
394
|
...basePreflight,
|
|
395
395
|
skipReason: "empty-heartbeat-file"
|
|
396
396
|
};
|
|
@@ -2,11 +2,11 @@ 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, R as writeConfigFile } from "./auth-profiles-
|
|
5
|
+
import { M as loadConfig, R as writeConfigFile } from "./auth-profiles-k09E8RLJ.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-DmULG-oQ.js";
|
|
7
|
-
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
7
|
+
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-BrbgAMci.js";
|
|
8
8
|
import { t as CONFIG_DIR, v as resolveUserPath, x as shortenHomePath } from "./utils-BHAtQ0dM.js";
|
|
9
|
-
import "./workspace-
|
|
9
|
+
import "./workspace-DkRZH7vl.js";
|
|
10
10
|
import "./logger-rnlD7CTs.js";
|
|
11
11
|
import "./exec-lwQ7X6bf.js";
|
|
12
12
|
import "./github-copilot-token-b8zw2qi2.js";
|
|
@@ -15,121 +15,121 @@ import "./version-CGDNfh5C.js";
|
|
|
15
15
|
import "./env-vars-Dw0EwyGP.js";
|
|
16
16
|
import { a as isPathInsideWithRealpath, i as isPathInside, n as MANIFEST_KEY } from "./legacy-names-D3aIn6ij.js";
|
|
17
17
|
import "./registry-eN0IzwTo.js";
|
|
18
|
-
import "./manifest-registry-
|
|
19
|
-
import "./dock-
|
|
20
|
-
import "./model-
|
|
21
|
-
import "./pi-model-discovery-
|
|
18
|
+
import "./manifest-registry-hRB5Jb3F.js";
|
|
19
|
+
import "./dock-CcEfMX5D.js";
|
|
20
|
+
import "./model-Cd4C4aY1.js";
|
|
21
|
+
import "./pi-model-discovery-COnY_kTM.js";
|
|
22
22
|
import "./frontmatter-I4t5UjzX.js";
|
|
23
|
-
import { S as validateRegistryNpmSpec } from "./skills-
|
|
24
|
-
import "./path-alias-guards-
|
|
23
|
+
import { S as validateRegistryNpmSpec } from "./skills-B18XPCNc.js";
|
|
24
|
+
import "./path-alias-guards-DdR4BKPM.js";
|
|
25
25
|
import "./message-channel-bQJz_2wn.js";
|
|
26
|
-
import "./sessions-
|
|
27
|
-
import "./plugins
|
|
28
|
-
import "./accounts-
|
|
29
|
-
import "./accounts-
|
|
26
|
+
import "./sessions-i5lEEEca.js";
|
|
27
|
+
import "./plugins-CO6qDFdk.js";
|
|
28
|
+
import "./accounts-CTKra7aS.js";
|
|
29
|
+
import "./accounts-B4wV9IFm.js";
|
|
30
30
|
import "./logging-CcxUDNcI.js";
|
|
31
|
-
import "./accounts-
|
|
32
|
-
import "./bindings-
|
|
33
|
-
import "./send-
|
|
34
|
-
import "./send-
|
|
35
|
-
import "./subagent-registry-
|
|
31
|
+
import "./accounts-DtaSiAum.js";
|
|
32
|
+
import "./bindings-C9vpkXej.js";
|
|
33
|
+
import "./send-BpYBrb6S.js";
|
|
34
|
+
import "./send-CUvJIfFz.js";
|
|
35
|
+
import "./subagent-registry-eE5PhOhY.js";
|
|
36
36
|
import "./paths-Be1MArvM.js";
|
|
37
37
|
import "./chat-envelope-AUuZAcrC.js";
|
|
38
|
-
import "./client-
|
|
39
|
-
import "./call-
|
|
38
|
+
import "./client-CIji7FpE.js";
|
|
39
|
+
import "./call-CBH5yDff.js";
|
|
40
40
|
import "./pairing-token-b8YwYBlW.js";
|
|
41
|
-
import "./net-
|
|
42
|
-
import "./tailnet-
|
|
41
|
+
import "./net-Bxr80JTs.js";
|
|
42
|
+
import "./tailnet-BKoOcmOa.js";
|
|
43
43
|
import "./tokens-C5eaMCmn.js";
|
|
44
|
-
import "./with-timeout-
|
|
45
|
-
import "./deliver-
|
|
46
|
-
import "./diagnostic-
|
|
44
|
+
import "./with-timeout-DvPUrPuK.js";
|
|
45
|
+
import "./deliver-Bm4UojU1.js";
|
|
46
|
+
import "./diagnostic-DOls91uN.js";
|
|
47
47
|
import "./diagnostic-session-state-B5Z0I32_.js";
|
|
48
|
-
import "./send-
|
|
49
|
-
import "./image-ops-
|
|
50
|
-
import "./pi-embedded-helpers-
|
|
51
|
-
import "./sandbox-
|
|
48
|
+
import "./send-DX2I6KZU.js";
|
|
49
|
+
import "./image-ops-B2K36FLD.js";
|
|
50
|
+
import "./pi-embedded-helpers-ET1kDdN1.js";
|
|
51
|
+
import "./sandbox-BNSLjYyu.js";
|
|
52
52
|
import "./tool-catalog-CDe8aNjS.js";
|
|
53
|
-
import "./chrome-
|
|
53
|
+
import "./chrome-BVlYi4nu.js";
|
|
54
54
|
import { l as promptYesNo } from "./tailscale-CFR4X5-p.js";
|
|
55
|
-
import "./auth-
|
|
56
|
-
import "./server-context-
|
|
57
|
-
import "./paths-
|
|
55
|
+
import "./auth-DuCrQ5K9.js";
|
|
56
|
+
import "./server-context-Dl8XC4vq.js";
|
|
57
|
+
import "./paths-BPXmr3Zn.js";
|
|
58
58
|
import "./redact-BMVmEUXt.js";
|
|
59
59
|
import "./errors-BkARgYnD.js";
|
|
60
|
-
import "./fs-safe
|
|
61
|
-
import "./proxy-env-
|
|
62
|
-
import "./store-
|
|
63
|
-
import "./ports-
|
|
60
|
+
import "./fs-safe--YXsniNZ.js";
|
|
61
|
+
import "./proxy-env-DQGTNk9X.js";
|
|
62
|
+
import "./store-D-c26kSk.js";
|
|
63
|
+
import "./ports-Dczj_PV_.js";
|
|
64
64
|
import "./trash-BgQvmW5g.js";
|
|
65
|
-
import "./server-middleware-
|
|
66
|
-
import "./tool-images-
|
|
65
|
+
import "./server-middleware-C_4mR9wU.js";
|
|
66
|
+
import "./tool-images-CXfdtMwT.js";
|
|
67
67
|
import "./thinking-BxCyPtl0.js";
|
|
68
|
-
import "./models-config-
|
|
69
|
-
import "./exec-approvals-allowlist-
|
|
70
|
-
import "./exec-safe-bin-runtime-policy-
|
|
71
|
-
import "./model-catalog-
|
|
72
|
-
import "./fetch-
|
|
73
|
-
import "./audio-transcription-runner-
|
|
74
|
-
import "./fetch-guard-
|
|
75
|
-
import "./image-
|
|
68
|
+
import "./models-config-CkOKPbk9.js";
|
|
69
|
+
import "./exec-approvals-allowlist-IOB4HV3z.js";
|
|
70
|
+
import "./exec-safe-bin-runtime-policy-CEdwujzY.js";
|
|
71
|
+
import "./model-catalog-Chb7lzRo.js";
|
|
72
|
+
import "./fetch-BAv7yBBS.js";
|
|
73
|
+
import "./audio-transcription-runner-DBPatTZv.js";
|
|
74
|
+
import "./fetch-guard-oYuVfv1t.js";
|
|
75
|
+
import "./image-BOSsTjNj.js";
|
|
76
76
|
import "./tool-display-B8GyZt-E.js";
|
|
77
|
-
import "./api-key-rotation-
|
|
77
|
+
import "./api-key-rotation-BdoPDM3X.js";
|
|
78
78
|
import "./proxy-fetch-DNS2eEZm.js";
|
|
79
|
-
import "./reply-prefix-
|
|
79
|
+
import "./reply-prefix-CS57j6KU.js";
|
|
80
80
|
import "./chunk-C0-ifupK.js";
|
|
81
|
-
import "./markdown-tables-
|
|
82
|
-
import "./ir-
|
|
81
|
+
import "./markdown-tables-Mk_tnsfY.js";
|
|
82
|
+
import "./ir-BCl0dA3G.js";
|
|
83
83
|
import "./render-Bwu_WxwA.js";
|
|
84
|
-
import "./target-errors-
|
|
85
|
-
import "./commands-
|
|
86
|
-
import "./commands-registry-
|
|
84
|
+
import "./target-errors-CL097N6P.js";
|
|
85
|
+
import "./commands-B7V-vN3N.js";
|
|
86
|
+
import "./commands-registry-B6LbRm3U.js";
|
|
87
87
|
import "./fetch-BAIuE19S.js";
|
|
88
88
|
import "./retry-CtBUwwIQ.js";
|
|
89
|
-
import "./pairing-store-
|
|
89
|
+
import "./pairing-store-WGGwqFJB.js";
|
|
90
90
|
import "./exec-approvals-CUPLFghN.js";
|
|
91
|
-
import "./nodes-screen-
|
|
92
|
-
import "./system-run-command-
|
|
93
|
-
import "./session-utils-
|
|
91
|
+
import "./nodes-screen-NjyoMja_.js";
|
|
92
|
+
import "./system-run-command-DFxer2oq.js";
|
|
93
|
+
import "./session-utils-CYaFN47T.js";
|
|
94
94
|
import "./session-cost-usage-vUeaQKAz.js";
|
|
95
|
-
import "./skill-commands-
|
|
96
|
-
import "./workspace-dirs-
|
|
95
|
+
import "./skill-commands-Cl6M7kpE.js";
|
|
96
|
+
import "./workspace-dirs-DBhaJ0y_.js";
|
|
97
97
|
import "./channel-activity-EI_tOOrC.js";
|
|
98
|
-
import "./tables-
|
|
99
|
-
import "./server-lifecycle-
|
|
98
|
+
import "./tables-FZbGazqi.js";
|
|
99
|
+
import "./server-lifecycle-BIuR7Tj0.js";
|
|
100
100
|
import "./stagger-Bi1uV655.js";
|
|
101
|
-
import "./channel-selection-
|
|
102
|
-
import "./plugin-auto-enable-
|
|
103
|
-
import "./send-
|
|
104
|
-
import "./outbound-attachment-
|
|
101
|
+
import "./channel-selection-DZrPYytY.js";
|
|
102
|
+
import "./plugin-auto-enable-Bm8hMcPA.js";
|
|
103
|
+
import "./send-C8xKNHVm.js";
|
|
104
|
+
import "./outbound-attachment-Baso-yal.js";
|
|
105
105
|
import "./delivery-queue-p3JO2jjt.js";
|
|
106
|
-
import "./send-
|
|
107
|
-
import "./resolve-route-
|
|
108
|
-
import "./pi-tools.policy-
|
|
106
|
+
import "./send-DikEpk7w.js";
|
|
107
|
+
import "./resolve-route-Bxji0kZW.js";
|
|
108
|
+
import "./pi-tools.policy-Cp3wptYh.js";
|
|
109
109
|
import "./proxy-DUWLUvch.js";
|
|
110
|
-
import "./replies-
|
|
111
|
-
import "./onboard-helpers-
|
|
110
|
+
import "./replies-Dx5zA8IX.js";
|
|
111
|
+
import "./onboard-helpers-ngPRx_6_.js";
|
|
112
112
|
import "./prompt-style-C1-jML6O.js";
|
|
113
|
-
import "./pairing-labels-
|
|
114
|
-
import "./session-meta-
|
|
115
|
-
import "./memory-cli-
|
|
116
|
-
import "./manager-
|
|
117
|
-
import "./query-expansion-
|
|
113
|
+
import "./pairing-labels-BPTURWrI.js";
|
|
114
|
+
import "./session-meta-C7WybT5h.js";
|
|
115
|
+
import "./memory-cli-BbEwsmor.js";
|
|
116
|
+
import "./manager-rK3J4Po3.js";
|
|
117
|
+
import "./query-expansion-CP4BjmxS.js";
|
|
118
118
|
import { t as formatDocsLink } from "./links-B3vCyexf.js";
|
|
119
119
|
import "./cli-utils-aSBNHQae.js";
|
|
120
120
|
import "./help-format-DXdeaYOY.js";
|
|
121
121
|
import "./progress-B-CzNZ2g.js";
|
|
122
122
|
import "./constants-D1Q8yQ1_.js";
|
|
123
123
|
import "./context-window-guard-BqrKjiIm.js";
|
|
124
|
-
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, u as resolveArchiveKind } from "./install-safe-path-
|
|
125
|
-
import { a as installPackageDir, c as resolveTimedInstallModeOptions, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, o as installPackageDirWithManifestDeps, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-
|
|
124
|
+
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, u as resolveArchiveKind } from "./install-safe-path-DXP_88Em.js";
|
|
125
|
+
import { a as installPackageDir, c as resolveTimedInstallModeOptions, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, o as installPackageDirWithManifestDeps, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-B5tn-EtA.js";
|
|
126
126
|
import { t as renderTable } from "./table-CFrE3ObJ.js";
|
|
127
|
-
import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-
|
|
128
|
-
import { t as buildWorkspaceHookStatus } from "./hooks-status-
|
|
129
|
-
import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec, t as buildNpmInstallRecordFields } from "./npm-resolution-
|
|
127
|
+
import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-Cuq5sS-4.js";
|
|
128
|
+
import { t as buildWorkspaceHookStatus } from "./hooks-status-qBCorl-z.js";
|
|
129
|
+
import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec, t as buildNpmInstallRecordFields } from "./npm-resolution-Brdkv6mO.js";
|
|
130
130
|
import path from "node:path";
|
|
131
131
|
import fs from "node:fs";
|
|
132
|
-
import
|
|
132
|
+
import fs$1 from "node:fs/promises";
|
|
133
133
|
|
|
134
134
|
//#region src/infra/install-from-npm-spec.ts
|
|
135
135
|
async function installFromValidatedNpmSpecArchive(params) {
|
|
@@ -234,7 +234,7 @@ async function installFromResolvedHookDir(resolvedDir, params) {
|
|
|
234
234
|
async function resolveHookNameFromDir(hookDir) {
|
|
235
235
|
const hookMdPath = path.join(hookDir, "HOOK.md");
|
|
236
236
|
if (!await fileExists(hookMdPath)) throw new Error(`HOOK.md missing in ${hookDir}`);
|
|
237
|
-
return parseFrontmatter(await
|
|
237
|
+
return parseFrontmatter(await fs$1.readFile(hookMdPath, "utf-8")).name || path.basename(hookDir);
|
|
238
238
|
}
|
|
239
239
|
async function validateHookDir(hookDir) {
|
|
240
240
|
if (!await fileExists(path.join(hookDir, "HOOK.md"))) throw new Error(`HOOK.md missing in ${hookDir}`);
|
|
@@ -563,7 +563,7 @@ function logIntegrityDriftWarning(hookId, drift) {
|
|
|
563
563
|
}
|
|
564
564
|
async function readInstalledPackageVersion(dir) {
|
|
565
565
|
try {
|
|
566
|
-
const raw = await
|
|
566
|
+
const raw = await fs$1.readFile(path.join(dir, "package.json"), "utf-8");
|
|
567
567
|
const parsed = JSON.parse(raw);
|
|
568
568
|
return typeof parsed.version === "string" ? parsed.version : void 0;
|
|
569
569
|
} catch {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as CONFIG_DIR } from "./utils-BHAtQ0dM.js";
|
|
2
2
|
import { t as evaluateEntryRequirementsForCurrentPlatform } from "./entry-status-CfZupbHn.js";
|
|
3
3
|
import { d as hasBinary } from "./frontmatter-I4t5UjzX.js";
|
|
4
|
-
import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-
|
|
4
|
+
import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-Cuq5sS-4.js";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
|
|
7
7
|
//#region src/hooks/hooks-status.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { Si as normalizeSecretInput, ii as requireApiKey, ni as getApiKeyForModel } from "./auth-profiles-
|
|
3
|
-
import { _ as resolveAgentModelPrimaryValue, g as resolveAgentModelFallbackValues } from "./agent-scope-
|
|
2
|
+
import { Si as normalizeSecretInput, ii as requireApiKey, ni as getApiKeyForModel } from "./auth-profiles-k09E8RLJ.js";
|
|
3
|
+
import { _ as resolveAgentModelPrimaryValue, g as resolveAgentModelFallbackValues } from "./agent-scope-BrbgAMci.js";
|
|
4
4
|
import { u as isRecord } from "./utils-BHAtQ0dM.js";
|
|
5
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
6
|
-
import { F as sanitizeUserFacingText } from "./pi-embedded-helpers-
|
|
7
|
-
import { t as ensureOpenClawModelsJson } from "./models-config-
|
|
5
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-COnY_kTM.js";
|
|
6
|
+
import { F as sanitizeUserFacingText } from "./pi-embedded-helpers-ET1kDdN1.js";
|
|
7
|
+
import { t as ensureOpenClawModelsJson } from "./models-config-CkOKPbk9.js";
|
|
8
8
|
import { r as resolveToolDisplay, t as formatToolDetail } from "./tool-display-B8GyZt-E.js";
|
|
9
9
|
import { complete } from "@mariozechner/pi-ai";
|
|
10
10
|
|
package/dist/index.js
CHANGED
|
@@ -127,7 +127,7 @@ import { t as isMainModule } from "./is-main-DMW049m8.js";
|
|
|
127
127
|
import { t as ensureOpenClawCliOnPath } from "./path-env-4brjEuTA.js";
|
|
128
128
|
import { t as assertSupportedRuntime } from "./runtime-guard-CdjBXad1.js";
|
|
129
129
|
import "./ports-CPWVNSPC.js";
|
|
130
|
-
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-
|
|
130
|
+
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-uwFKpk8g.js";
|
|
131
131
|
import "./plugin-registry-BaDFrxdr.js";
|
|
132
132
|
import { n as resolveCliChannelOptions } from "./channel-options-CGVF-HMA.js";
|
|
133
133
|
import process$1 from "node:process";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, n as GATEWAY_SERVICE_KIND, p as resolveGatewayWindowsTaskName, r as GATEWAY_SERVICE_MARKER } from "./constants-CVdMnAs9.js";
|
|
2
|
-
import { n as execSchtasks } from "./service-
|
|
2
|
+
import { n as execSchtasks } from "./service-BcyKtT1n.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fs from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/daemon/inspect.ts
|
|
7
7
|
const EXTRA_MARKERS = [
|
|
@@ -76,14 +76,14 @@ function isLegacyLabel(label) {
|
|
|
76
76
|
}
|
|
77
77
|
async function readDirEntries(dir) {
|
|
78
78
|
try {
|
|
79
|
-
return await
|
|
79
|
+
return await fs.readdir(dir);
|
|
80
80
|
} catch {
|
|
81
81
|
return [];
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
async function readUtf8File(filePath) {
|
|
85
85
|
try {
|
|
86
|
-
return await
|
|
86
|
+
return await fs.readFile(filePath, "utf8");
|
|
87
87
|
} catch {
|
|
88
88
|
return null;
|
|
89
89
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { A as isNotFoundPathError, j as isPathInside } from "./workspace-
|
|
2
|
-
import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe
|
|
3
|
-
import { n as resolveSafeBaseDir } from "./path-safety-
|
|
1
|
+
import { A as isNotFoundPathError, j as isPathInside } from "./workspace-DkRZH7vl.js";
|
|
2
|
+
import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe--YXsniNZ.js";
|
|
3
|
+
import { n as resolveSafeBaseDir } from "./path-safety-DiJhMaUA.js";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fs from "node:fs/promises";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
import { pipeline } from "node:stream/promises";
|
|
8
8
|
import { Readable, Transform } from "node:stream";
|
|
@@ -78,9 +78,9 @@ function resolveArchiveKind(filePath) {
|
|
|
78
78
|
async function resolvePackedRootDir(extractDir) {
|
|
79
79
|
const direct = path.join(extractDir, "package");
|
|
80
80
|
try {
|
|
81
|
-
if ((await
|
|
81
|
+
if ((await fs.stat(direct)).isDirectory()) return direct;
|
|
82
82
|
} catch {}
|
|
83
|
-
const dirs = (await
|
|
83
|
+
const dirs = (await fs.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
|
|
84
84
|
if (dirs.length !== 1) throw new Error(`unexpected archive layout (dirs: ${dirs.join(", ")})`);
|
|
85
85
|
const onlyDir = dirs[0];
|
|
86
86
|
if (!onlyDir) throw new Error("unexpected archive layout (no package dir found)");
|
|
@@ -150,10 +150,10 @@ function symlinkTraversalError(originalPath) {
|
|
|
150
150
|
return new ArchiveSecurityError("destination-symlink-traversal", `${ERROR_ARCHIVE_ENTRY_TRAVERSES_SYMLINK}: ${originalPath}`);
|
|
151
151
|
}
|
|
152
152
|
async function assertDestinationDirReady(destDir) {
|
|
153
|
-
const stat = await
|
|
153
|
+
const stat = await fs.lstat(destDir);
|
|
154
154
|
if (stat.isSymbolicLink()) throw new ArchiveSecurityError("destination-symlink", "archive destination is a symlink");
|
|
155
155
|
if (!stat.isDirectory()) throw new ArchiveSecurityError("destination-not-directory", "archive destination is not a directory");
|
|
156
|
-
return await
|
|
156
|
+
return await fs.realpath(destDir);
|
|
157
157
|
}
|
|
158
158
|
async function assertNoSymlinkTraversal(params) {
|
|
159
159
|
const parts = params.relPath.split("/").filter(Boolean);
|
|
@@ -162,7 +162,7 @@ async function assertNoSymlinkTraversal(params) {
|
|
|
162
162
|
current = path.join(current, part);
|
|
163
163
|
let stat;
|
|
164
164
|
try {
|
|
165
|
-
stat = await
|
|
165
|
+
stat = await fs.lstat(current);
|
|
166
166
|
} catch (err) {
|
|
167
167
|
if (isNotFoundPathError(err)) continue;
|
|
168
168
|
throw err;
|
|
@@ -173,7 +173,7 @@ async function assertNoSymlinkTraversal(params) {
|
|
|
173
173
|
async function assertResolvedInsideDestination(params) {
|
|
174
174
|
let resolved;
|
|
175
175
|
try {
|
|
176
|
-
resolved = await
|
|
176
|
+
resolved = await fs.realpath(params.targetPath);
|
|
177
177
|
} catch (err) {
|
|
178
178
|
if (isNotFoundPathError(err)) return;
|
|
179
179
|
throw err;
|
|
@@ -196,12 +196,12 @@ async function openZipOutputFile(params) {
|
|
|
196
196
|
async function cleanupPartialRegularFile(filePath) {
|
|
197
197
|
let stat;
|
|
198
198
|
try {
|
|
199
|
-
stat = await
|
|
199
|
+
stat = await fs.lstat(filePath);
|
|
200
200
|
} catch (err) {
|
|
201
201
|
if (isNotFoundPathError(err)) return;
|
|
202
202
|
throw err;
|
|
203
203
|
}
|
|
204
|
-
if (stat.isFile()) await
|
|
204
|
+
if (stat.isFile()) await fs.unlink(filePath).catch(() => void 0);
|
|
205
205
|
}
|
|
206
206
|
async function readZipEntryStream(entry) {
|
|
207
207
|
if (typeof entry.nodeStream === "function") return entry.nodeStream();
|
|
@@ -229,7 +229,7 @@ async function prepareZipOutputPath(params) {
|
|
|
229
229
|
originalPath: params.originalPath
|
|
230
230
|
});
|
|
231
231
|
if (params.isDirectory) {
|
|
232
|
-
await
|
|
232
|
+
await fs.mkdir(params.outPath, { recursive: true });
|
|
233
233
|
await assertResolvedInsideDestination({
|
|
234
234
|
destinationRealDir: params.destinationRealDir,
|
|
235
235
|
targetPath: params.outPath,
|
|
@@ -238,7 +238,7 @@ async function prepareZipOutputPath(params) {
|
|
|
238
238
|
return;
|
|
239
239
|
}
|
|
240
240
|
const parentDir = path.dirname(params.outPath);
|
|
241
|
-
await
|
|
241
|
+
await fs.mkdir(parentDir, { recursive: true });
|
|
242
242
|
await assertResolvedInsideDestination({
|
|
243
243
|
destinationRealDir: params.destinationRealDir,
|
|
244
244
|
targetPath: parentDir,
|
|
@@ -261,7 +261,7 @@ async function writeZipFileEntry(params) {
|
|
|
261
261
|
try {
|
|
262
262
|
await pipeline(readable, createExtractBudgetTransform({ onChunkBytes: params.budget.addBytes }), writable);
|
|
263
263
|
} catch (err) {
|
|
264
|
-
if (opened.createdForWrite) await
|
|
264
|
+
if (opened.createdForWrite) await fs.rm(opened.openedRealPath, { force: true }).catch(() => void 0);
|
|
265
265
|
else await cleanupPartialRegularFile(opened.openedRealPath).catch(() => void 0);
|
|
266
266
|
throw err;
|
|
267
267
|
} finally {
|
|
@@ -269,14 +269,14 @@ async function writeZipFileEntry(params) {
|
|
|
269
269
|
}
|
|
270
270
|
if (typeof params.entry.unixPermissions === "number") {
|
|
271
271
|
const mode = params.entry.unixPermissions & 511;
|
|
272
|
-
if (mode !== 0) await
|
|
272
|
+
if (mode !== 0) await fs.chmod(opened.openedRealPath, mode).catch(() => void 0);
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
async function extractZip(params) {
|
|
276
276
|
const limits = resolveExtractLimits(params.limits);
|
|
277
277
|
const destinationRealDir = await assertDestinationDirReady(params.destDir);
|
|
278
|
-
if ((await
|
|
279
|
-
const buffer = await
|
|
278
|
+
if ((await fs.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
|
|
279
|
+
const buffer = await fs.readFile(params.archivePath);
|
|
280
280
|
const zip = await JSZip.loadAsync(buffer);
|
|
281
281
|
const entries = Object.values(zip.files);
|
|
282
282
|
const strip = Math.max(0, Math.floor(params.stripComponents ?? 0));
|
|
@@ -349,7 +349,7 @@ async function extractArchive(params) {
|
|
|
349
349
|
const label = kind === "zip" ? "extract zip" : "extract tar";
|
|
350
350
|
if (kind === "tar") {
|
|
351
351
|
const limits = resolveExtractLimits(params.limits);
|
|
352
|
-
if ((await
|
|
352
|
+
if ((await fs.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
|
|
353
353
|
const checkTarEntrySafety = createTarEntrySafetyChecker({
|
|
354
354
|
rootDir: params.destDir,
|
|
355
355
|
stripComponents: params.stripComponents,
|
|
@@ -382,14 +382,14 @@ async function extractArchive(params) {
|
|
|
382
382
|
}
|
|
383
383
|
async function fileExists(filePath) {
|
|
384
384
|
try {
|
|
385
|
-
await
|
|
385
|
+
await fs.stat(filePath);
|
|
386
386
|
return true;
|
|
387
387
|
} catch {
|
|
388
388
|
return false;
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
391
|
async function readJsonFile(filePath) {
|
|
392
|
-
const raw = await
|
|
392
|
+
const raw = await fs.readFile(filePath, "utf-8");
|
|
393
393
|
return JSON.parse(raw);
|
|
394
394
|
}
|
|
395
395
|
|
|
@@ -433,13 +433,13 @@ async function assertCanonicalPathWithinBase(params) {
|
|
|
433
433
|
const baseDir = path.resolve(params.baseDir);
|
|
434
434
|
const candidatePath = path.resolve(params.candidatePath);
|
|
435
435
|
if (!isPathInside(baseDir, candidatePath)) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
|
|
436
|
-
const baseLstat = await
|
|
436
|
+
const baseLstat = await fs.lstat(baseDir);
|
|
437
437
|
if (!baseLstat.isDirectory() || baseLstat.isSymbolicLink()) throw new Error(`Invalid ${params.boundaryLabel}: base directory must be a real directory`);
|
|
438
|
-
const baseRealPath = await
|
|
438
|
+
const baseRealPath = await fs.realpath(baseDir);
|
|
439
439
|
const validateDirectory = async (dirPath) => {
|
|
440
|
-
const dirLstat = await
|
|
440
|
+
const dirLstat = await fs.lstat(dirPath);
|
|
441
441
|
if (!dirLstat.isDirectory() || dirLstat.isSymbolicLink()) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
|
|
442
|
-
if (!isPathInside(baseRealPath, await
|
|
442
|
+
if (!isPathInside(baseRealPath, await fs.realpath(dirPath))) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
|
|
443
443
|
};
|
|
444
444
|
try {
|
|
445
445
|
await validateDirectory(candidatePath);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as CONFIG_DIR, v as resolveUserPath } from "./utils-BHAtQ0dM.js";
|
|
2
2
|
import { i as isPathInside, r as extensionUsesSkippedScannerPath } from "./legacy-names-D3aIn6ij.js";
|
|
3
|
-
import { o as loadPluginManifest, s as resolvePackageExtensionEntries } from "./manifest-registry-
|
|
4
|
-
import { S as validateRegistryNpmSpec } from "./skills-
|
|
5
|
-
import { c as writeFileFromPathWithinRoot } from "./fs-safe
|
|
6
|
-
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-
|
|
7
|
-
import { a as installPackageDir, c as resolveTimedInstallModeOptions, d as buildNpmResolutionFields, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-
|
|
8
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
3
|
+
import { o as loadPluginManifest, s as resolvePackageExtensionEntries } from "./manifest-registry-hRB5Jb3F.js";
|
|
4
|
+
import { S as validateRegistryNpmSpec } from "./skills-B18XPCNc.js";
|
|
5
|
+
import { c as writeFileFromPathWithinRoot } from "./fs-safe--YXsniNZ.js";
|
|
6
|
+
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-DXP_88Em.js";
|
|
7
|
+
import { a as installPackageDir, c as resolveTimedInstallModeOptions, d as buildNpmResolutionFields, f as resolveArchiveSourcePath, i as resolveCanonicalInstallTarget, l as resolveExistingInstallPath, n as installFromNpmSpecArchiveWithInstaller, r as ensureInstallTargetAvailable, s as resolveInstallModeOptions, t as finalizeNpmSpecArchiveInstall, u as withExtractedArchiveRoot } from "./npm-pack-install-B5tn-EtA.js";
|
|
8
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-WUtERLdW.js";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import
|
|
10
|
+
import fs from "node:fs/promises";
|
|
11
11
|
|
|
12
12
|
//#region src/plugins/install.ts
|
|
13
13
|
const MISSING_EXTENSIONS_ERROR = "package.json missing openclaw.extensions; update the plugin package to include openclaw.extensions (for example [\"./dist/index.js\"]). See https://docs.openclaw.ai/help/troubleshooting#plugin-install-fails-with-missing-openclaw-extensions";
|
|
@@ -237,7 +237,7 @@ async function installPluginFromDir(params) {
|
|
|
237
237
|
ok: false,
|
|
238
238
|
error: `directory not found: ${dirPath}`
|
|
239
239
|
};
|
|
240
|
-
if (!(await
|
|
240
|
+
if (!(await fs.stat(dirPath)).isDirectory()) return {
|
|
241
241
|
ok: false,
|
|
242
242
|
error: `not a directory: ${dirPath}`
|
|
243
243
|
};
|
|
@@ -254,7 +254,7 @@ async function installPluginFromFile(params) {
|
|
|
254
254
|
error: `file not found: ${filePath}`
|
|
255
255
|
};
|
|
256
256
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
257
|
-
await
|
|
257
|
+
await fs.mkdir(extensionsDir, { recursive: true });
|
|
258
258
|
const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
|
|
259
259
|
const pluginIdError = validatePluginId(pluginId);
|
|
260
260
|
if (pluginIdError) return {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { bt as parseCanonicalIpAddress, mt as isIpv6Address, ut as isCanonicalDottedDecimalIPv4 } from "./auth-profiles-
|
|
1
|
+
import { bt as parseCanonicalIpAddress, mt as isIpv6Address, ut as isCanonicalDottedDecimalIPv4 } from "./auth-profiles-k09E8RLJ.js";
|
|
2
2
|
import { o as getTailnetHostname } from "./tailscale-CFR4X5-p.js";
|
|
3
3
|
|
|
4
4
|
//#region src/gateway/gateway-config-prompts.shared.ts
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { a as logVerbose, c as shouldLogVerbose } from "./globals-BSCHJiM2.js";
|
|
2
2
|
import { v as resolveUserPath } from "./utils-BHAtQ0dM.js";
|
|
3
|
-
import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-
|
|
4
|
-
import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe
|
|
5
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
3
|
+
import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, m as kindFromMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-B2K36FLD.js";
|
|
4
|
+
import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe--YXsniNZ.js";
|
|
5
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-BAv7yBBS.js";
|
|
6
6
|
import { a as chunkText } from "./chunk-C0-ifupK.js";
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
import path from "node:path";
|
|
9
|
-
import
|
|
9
|
+
import fs from "node:fs/promises";
|
|
10
10
|
import MarkdownIt from "markdown-it";
|
|
11
11
|
|
|
12
12
|
//#region src/web/media.ts
|
|
@@ -37,7 +37,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
37
37
|
const roots = localRoots ?? getDefaultLocalRoots();
|
|
38
38
|
let resolved;
|
|
39
39
|
try {
|
|
40
|
-
resolved = await
|
|
40
|
+
resolved = await fs.realpath(mediaPath);
|
|
41
41
|
} catch {
|
|
42
42
|
resolved = path.resolve(mediaPath);
|
|
43
43
|
}
|
|
@@ -54,7 +54,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
54
54
|
for (const root of roots) {
|
|
55
55
|
let resolvedRoot;
|
|
56
56
|
try {
|
|
57
|
-
resolvedRoot = await
|
|
57
|
+
resolvedRoot = await fs.realpath(root);
|
|
58
58
|
} catch {
|
|
59
59
|
resolvedRoot = path.resolve(root);
|
|
60
60
|
}
|