openclaw-multi-auto 1.7.6 → 1.7.7
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/{acp-cli-DMujSgSt.js → acp-cli-D2FsuxI4.js} +11 -11
- package/dist/{agent-CaQagdQ7.js → agent-B8D73rdQ.js} +8 -8
- package/dist/{agent-QkWi9ww5.js → agent-BomWJjOy.js} +7 -7
- package/dist/{agent-scope-sd1-3XH0.js → agent-scope-DmTcOjk4.js} +16 -16
- package/dist/{agents.config-DpC62EoF.js → agents.config-Crwrvv0Y.js} +3 -3
- package/dist/{audio-preflight-ByLQ-O2o.js → audio-preflight-CUgcQtbA.js} +1 -1
- package/dist/{audio-preflight-CKN-13f6.js → audio-preflight-CZHCr2-5.js} +1 -1
- package/dist/{audio-preflight-CxMkqmsz.js → audio-preflight-DUZyiet9.js} +10 -10
- package/dist/{audit-COOnp_TQ.js → audit-CX3KlHoS.js} +18 -18
- package/dist/{audit-membership-runtime-o16tAd90.js → audit-membership-runtime-DOqwbA7L.js} +1 -1
- package/dist/{auth-choice-CgIbQGAr.js → auth-choice-CuOI0DLZ.js} +8 -8
- package/dist/{auth-choice-B7hFRxC4.js → auth-choice-DZC8_SXk.js} +19 -19
- package/dist/{auth-choice-options-CaiEtgdy.js → auth-choice-options-C_poWj2I.js} +1 -1
- package/dist/{auth-choice-prompt-CyE2_iHL.js → auth-choice-prompt-Bjt463U7.js} +1 -1
- package/dist/{auth-choice.apply-helpers-BwI7_FDv.js → auth-choice.apply-helpers-BFZ8hPRq.js} +2 -2
- package/dist/{auth-choice.preferred-provider-BJFK05is.js → auth-choice.preferred-provider-CzDq9Lvp.js} +5 -5
- package/dist/{auth-profiles.runtime-Bp6HfAW4.js → auth-profiles.runtime-BEes_Rco.js} +1 -1
- package/dist/{auth-profiles.runtime-firEabaJ.js → auth-profiles.runtime-BWD0iDWZ.js} +10 -10
- package/dist/{auth-profiles.runtime-DHFZjArZ.js → auth-profiles.runtime-DNqCx0L5.js} +1 -1
- package/dist/{auth-token-Ca2ISBq6.js → auth-token-CnWG4-cB.js} +1 -1
- package/dist/{bonjour-discovery-CgQeXj94.js → bonjour-discovery-Cnl-PHZ4.js} +1 -1
- package/dist/{browser-cli-DfrP5czU.js → browser-cli-DLSYDvK2.js} +11 -11
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-F18H2wEh.js → channel-account-context-DMK0G0sK.js} +7 -7
- package/dist/{channel-options-DR0IjcQw.js → channel-options-CsQMEhUD.js} +3 -3
- package/dist/{channel-web-B3yCvpab.js → channel-web-D7txUcfH.js} +4 -4
- package/dist/channels/plugins/actions/discord.js +1 -1
- package/dist/channels/plugins/actions/signal.js +1 -1
- package/dist/channels/plugins/actions/telegram.js +1 -1
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -1
- package/dist/{channels-cli-C9jvVDlM.js → channels-cli-DK-EFHka.js} +33 -33
- package/dist/{channels-status-issues-C6mRI9nP.js → channels-status-issues-B-PoQaOZ.js} +1 -1
- package/dist/{clack-prompter-CakorHf3.js → clack-prompter-COY2Efgu.js} +1 -1
- package/dist/{clawbot-cli-De1V5wKt.js → clawbot-cli-CYVkuLnO.js} +12 -12
- package/dist/{cleanup-utils-DZ-HVi66.js → cleanup-utils-DksMdp7C.js} +4 -4
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-5Ap2oull.js → cli-BXEJJp6e.js} +10 -10
- package/dist/{cmd-argv-Dz5qUtqp.js → cmd-argv-BdNFwuhe.js} +1 -1
- package/dist/{compact.runtime-Dy7P2p35.js → compact.runtime-D9Tmp5YS.js} +1 -1
- package/dist/{compact.runtime-Bi0KAZxx.js → compact.runtime-Do9SwMzP.js} +10 -10
- package/dist/{compact.runtime-DoEYdXjJ.js → compact.runtime-pgjSlzSY.js} +1 -1
- package/dist/{completion-cli-DetW6vGx.js → completion-cli-BnHZnvaD.js} +12 -12
- package/dist/{config-cli-JmabBPbR.js → config-cli-BTyfFTwL.js} +13 -13
- package/dist/{config-guard-D0ly1tu3.js → config-guard-DXvConn_.js} +12 -12
- package/dist/{config-validation-DtOoaTl7.js → config-validation-ZC7mw4HJ.js} +3 -3
- package/dist/{configure-DNZVKth2.js → configure--3s3LTcF.js} +52 -52
- package/dist/{control-ui-assets-B9I2TpME.js → control-ui-assets-D5CuaZfV.js} +1 -1
- package/dist/{cron-cli-hA-3anvP.js → cron-cli-BTeTdxk8.js} +11 -11
- package/dist/{daemon-cli-CgEObThe.js → daemon-cli-TvT5eeIP.js} +13 -13
- package/dist/{daemon-install-e324s4no.js → daemon-install-CUvnebOQ.js} +16 -16
- package/dist/{daemon-install-plan.shared-g5FPfccc.js → daemon-install-plan.shared-BfFSRwqA.js} +12 -12
- package/dist/{deliver-runtime-CI-THBhi.js → deliver-runtime-CRO5x8jL.js} +10 -10
- package/dist/{deliver-runtime-DLAZp9H3.js → deliver-runtime-CjrGc3oj.js} +1 -1
- package/dist/{deliver-runtime-CqyJiuFQ.js → deliver-runtime-D4aWAXZ9.js} +1 -1
- package/dist/{deps-B6HgPp5e.js → deps-Cgw7M-k3.js} +6 -6
- package/dist/{device-bootstrap-oW1bwgs7.js → device-bootstrap-DSXbseT6.js} +1 -1
- package/dist/{device-pairing-CMxl0D-M.js → device-pairing-RZV6Mnep.js} +1 -1
- package/dist/{devices-cli-BPpKKc7g.js → devices-cli-DnvmJ-Sg.js} +11 -11
- package/dist/{diagnostics-iZHasrpQ.js → diagnostics-1AwcyuKi.js} +5 -5
- package/dist/{directory-cli-BP8WHXBG.js → directory-cli-CO5of3mT.js} +10 -10
- package/dist/{discord-C5GTGVrg.js → discord-DKZdsbTR.js} +42 -42
- package/dist/{dns-cli-CQl7AkL3.js → dns-cli-s2wuP3H0.js} +10 -10
- package/dist/{docs-cli-BWb05s-1.js → docs-cli-CZA-gAQf.js} +3 -3
- package/dist/{doctor-completion-CA3Zcz0O.js → doctor-completion-DvnTlsPK.js} +2 -2
- package/dist/{doctor-config-flow-C53lW8fK.js → doctor-config-flow-DOEjAAYV.js} +10 -10
- package/dist/{enable-CmddFDJP.js → enable-BSbXEyXD.js} +1 -1
- package/dist/{exec-approvals-cli-Cyhhh2cy.js → exec-approvals-cli-CsNqvj8p.js} +18 -18
- package/dist/{fetch-ggeyBJ4j.js → fetch-CGW2R_wh.js} +2 -2
- package/dist/{gateway-cli-vQfsLSPv.js → gateway-cli-Bq7xXLEB.js} +101 -101
- package/dist/{gateway-install-token-CQHd6wSt.js → gateway-install-token-C40ge2lh.js} +3 -3
- package/dist/{gateway-rpc-DrDqntyT.js → gateway-rpc-DUJcLoxb.js} +1 -1
- package/dist/{health-CTOG7Tdy.js → health-D_dD9-ET.js} +7 -7
- package/dist/{hooks-cli-CvrIbP3A.js → hooks-cli-YvIgaujr.js} +18 -18
- package/dist/{hooks-status-BiuMKGQP.js → hooks-status-C3wWva3H.js} +1 -1
- package/dist/{image-runtime-DuwNoMsX.js → image-runtime-Brryt_BU.js} +1 -1
- package/dist/{image-runtime-CidKJsqA.js → image-runtime-Cr6qZmyh.js} +1 -1
- package/dist/{image-runtime-Cen4jnt5.js → image-runtime-Cx4HaqrI.js} +10 -10
- package/dist/index.js +21 -21
- package/dist/{inspect-C0iPD7zZ.js → inspect-D3lV5ful.js} +4 -4
- package/dist/{install-safe-path-CnIWvuEU.js → install-safe-path-BvwKN_9n.js} +33 -33
- package/dist/{installs-BcQMkw3V.js → installs-BC5ieRDB.js} +8 -8
- package/dist/{ipv4-DHZnIX-K.js → ipv4-CwqOzc5W.js} +1 -1
- package/dist/{issue-format-CtBob7pd.js → issue-format-34LidjQQ.js} +1 -1
- package/dist/{launchd-D7vxtTg7.js → launchd-BLFV2ME0.js} +13 -13
- package/dist/{lifecycle-core-CKec6MyM.js → lifecycle-core-C07n1IOr.js} +6 -6
- package/dist/line/send.js +1 -1
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{logging-B7i4YBpx.js → logging-DPEdtuNl.js} +1 -1
- package/dist/{login-CQ5pGFeF.js → login-BLC4Op_m.js} +3 -3
- package/dist/{login-rVmwSeBs.js → login-CIjIxi5t.js} +2 -2
- package/dist/{login-DC00cCmn.js → login-CKmmxErc.js} +2 -2
- package/dist/{login-qr-D3WKyrcm.js → login-qr-Djgtmdpd.js} +2 -2
- package/dist/{login-qr-C8iDYxXx.js → login-qr-DpxxtTBd.js} +11 -11
- package/dist/{login-qr-DB7lXNdD.js → login-qr-KVA4wuh0.js} +2 -2
- package/dist/{logs-cli-B8u30MKC.js → logs-cli-BKhTgUSN.js} +11 -11
- package/dist/{manager-runtime-DDc_xR6t.js → manager-runtime-B4ZbE6hq.js} +10 -10
- package/dist/{manager-runtime-DON5nkey.js → manager-runtime-CvM8JTRt.js} +1 -1
- package/dist/{manager-runtime-C04JB-55.js → manager-runtime-D9AEoM1M.js} +1 -1
- package/dist/{manager.runtime-y1RqEqxK.js → manager.runtime-BV-CBNb2.js} +2 -2
- package/dist/{manager.runtime-B8hc-v_R.js → manager.runtime-DbQBNTV4.js} +7 -7
- package/dist/{manager.runtime-sDKQexj4.js → manager.runtime-lHLhN5ro.js} +16 -16
- package/dist/{model-picker-iMZicrZb.js → model-picker-C5sQCeTo.js} +5 -5
- package/dist/{model-selection-Coo7zMJO.js → model-selection-CNRMBWfR.js} +43 -43
- package/dist/{models-cli-CHWqnmnX.js → models-cli-B7OdTj93.js} +21 -21
- package/dist/{node-cli-D2EGwHd2.js → node-cli-ArOhWB3h.js} +22 -22
- package/dist/{node-command-policy-C9YoIlNR.js → node-command-policy-BVIbeciX.js} +1 -1
- package/dist/{node-service-D7xRD6Op.js → node-service-ESc5ToCS.js} +1 -1
- package/dist/{nodes-cli-BaWA_a27.js → nodes-cli-BLneGv8c.js} +13 -13
- package/dist/{npm-pack-install-C7ntuYO8.js → npm-pack-install-DI_0G-Ju.js} +23 -23
- package/dist/{npm-resolution-BL-LzQ8q.js → npm-resolution-DowD_x7i.js} +3 -3
- package/dist/{onboard-1Vbkq-0q.js → onboard-Da0Gqg8E.js} +10 -10
- package/dist/{onboard-channels-C_RZQliP.js → onboard-channels-Dub92d1X.js} +16 -16
- package/dist/{onboard-custom-CyUm7NIR.js → onboard-custom-iC39HaRY.js} +5 -5
- package/dist/{onboard-hooks-Bx20a5uy.js → onboard-hooks-DUll1iq8.js} +4 -4
- package/dist/{onboard-remote-Dtm07eUX.js → onboard-remote-Cyc407f2.js} +3 -3
- package/dist/{onboard-skills-BOBtFqTc.js → onboard-skills-BqnqjDI3.js} +3 -3
- package/dist/{onboarding-CAQDdLGu.js → onboarding-BgeTWLi_.js} +17 -17
- package/dist/{onboarding.finalize-BAUMJZlu.js → onboarding.finalize-C4jEsWtC.js} +25 -25
- package/dist/{onboarding.gateway-config-BRSWuajr.js → onboarding.gateway-config-C2XdEUF3.js} +14 -14
- package/dist/{onboarding.secret-input-D75Xjj5j.js → onboarding.secret-input-OwIXA7An.js} +1 -1
- package/dist/{openai-codex-oauth-BjOz2DJZ.js → openai-codex-oauth-BUnBFHjs.js} +3 -3
- package/dist/{openclaw-root-dlCz9toZ.js → openclaw-root-B5jXk2td.js} +8 -8
- package/dist/{outbound-send-deps-Bid3Xegx.js → outbound-send-deps-dRaNZNE7.js} +1 -1
- package/dist/{pairing-cli-Dm_fH3zm.js → pairing-cli-pEJPQw6E.js} +10 -10
- package/dist/{path-alias-guards-B6owPyQX.js → path-alias-guards-BEqdGdn9.js} +3 -3
- package/dist/{path-safety-DN7L46Yk.js → path-safety-TRhr8lhQ.js} +1 -1
- package/dist/{pi-model-discovery-runtime-BRs3OnbK.js → pi-model-discovery-runtime-BkRq7f9h.js} +10 -10
- package/dist/{pi-model-discovery-runtime-Do-8n2s8.js → pi-model-discovery-runtime-BujN_d1_.js} +1 -1
- package/dist/{pi-model-discovery-runtime-DsZRIFOj.js → pi-model-discovery-runtime-CDKkuBYh.js} +1 -1
- package/dist/{pi-tools.before-tool-call.runtime-DpSw9nu5.js → pi-tools.before-tool-call.runtime-BYooFUjV.js} +1 -1
- package/dist/{pi-tools.before-tool-call.runtime-l0nSxXys.js → pi-tools.before-tool-call.runtime-DgAiY2la.js} +1 -1
- package/dist/{pi-tools.before-tool-call.runtime-Cz99nK1_.js → pi-tools.before-tool-call.runtime-Dt7ZWya_.js} +10 -10
- package/dist/{plugin-install-plan-tegfcs_j.js → plugin-install-plan-q0pKUAmp.js} +1 -1
- package/dist/{plugin-registry-D1UVdXNl.js → plugin-registry-DrrKSvdi.js} +2 -2
- package/dist/{plugins-cli-DMTK-3PI.js → plugins-cli-BWuwmlNA.js} +21 -21
- package/dist/{plugins-BVbKGpQJ.js → plugins-om7vnHk0.js} +9 -9
- package/dist/{ports-CrZzXxTl.js → ports-CVD9jTxH.js} +2 -2
- package/dist/{probe-auth-H1_HjX3c.js → probe-auth-CRm2yob0.js} +1 -1
- package/dist/{program-context--XQiK-Vv.js → program-context-BnNrq2_o.js} +42 -42
- package/dist/{prompt-select-styled-BzWw9bIh.js → prompt-select-styled-FpCuoi_9.js} +32 -32
- package/dist/{provider-auth-helpers-B5U-h2Ob.js → provider-auth-helpers-Dzq3SbTh.js} +4 -4
- package/dist/{provider-wizard-BgHYhBzK.js → provider-wizard-CRYUkbUG.js} +1 -1
- package/dist/{push-apns-DQdHdrq8.js → push-apns-6Yefl4vF.js} +3 -3
- package/dist/{pw-ai-R41XeePP.js → pw-ai-3ual6adI.js} +1 -1
- package/dist/{pw-ai-8OpaEmr4.js → pw-ai-Brk_ehKR.js} +15 -15
- package/dist/{pw-ai-B9F20k6L.js → pw-ai-C_IaVhUm.js} +1 -1
- package/dist/{qmd-manager-BMkECKpc.js → qmd-manager-Clny9vcj.js} +19 -19
- package/dist/{qr-cli-CZy0bldy.js → qr-cli-TsbdBlkh.js} +11 -11
- package/dist/{query-expansion-AnOnkIqf.js → query-expansion-BNb6Vys6.js} +48 -48
- package/dist/{redact-snapshot-lCMXNHo3.js → redact-snapshot-sudZsVoX.js} +1 -1
- package/dist/{register.agent-2yZ4uAHT.js → register.agent-BcYbZ3eF.js} +43 -43
- package/dist/{register.backup-Byyque4N.js → register.backup-DbtBtW_J.js} +26 -26
- package/dist/register.configure-CPWCrXrC.js +87 -0
- package/dist/{register.maintenance-BZ_V3Ubt.js → register.maintenance-Cdn2TwrI.js} +33 -33
- package/dist/{register.message-CJwTd37H.js → register.message-cHCXxeA6.js} +13 -13
- package/dist/{register.onboard-BY0T1WHb.js → register.onboard-Dbig7G2G.js} +17 -17
- package/dist/{register.setup-CA3ZUrN-.js → register.setup-DjHUcAcm.js} +18 -18
- package/dist/{register.status-health-sessions-PN0jxAPA.js → register.status-health-sessions-BMxJK45p.js} +26 -26
- package/dist/{reply-gX1XTS9Y.js → reply-Cf5Mm7vB.js} +226 -226
- package/dist/{restart-stale-pids-B6E7QavX.js → restart-stale-pids-ZfbSMILU.js} +2 -2
- package/dist/{rpc-B2PO3N0W.js → rpc-8YrBMBoD.js} +1 -1
- package/dist/{runtime-whatsapp-login.runtime-BAgknLYS.js → runtime-whatsapp-login.runtime-6yfwX0nq.js} +3 -3
- package/dist/{runtime-whatsapp-login.runtime-DKMtq6l9.js → runtime-whatsapp-login.runtime-Bo1HalYB.js} +12 -12
- package/dist/{runtime-whatsapp-login.runtime-C_E260pb.js → runtime-whatsapp-login.runtime-Br3SxDXL.js} +3 -3
- package/dist/{runtime-whatsapp-outbound.runtime-3elssz_a.js → runtime-whatsapp-outbound.runtime-BKesQQli.js} +2 -2
- package/dist/{runtime-whatsapp-outbound.runtime-Dv1HN4ha.js → runtime-whatsapp-outbound.runtime-Ch2o56Ey.js} +11 -11
- package/dist/{runtime-whatsapp-outbound.runtime-BdHcgl-R.js → runtime-whatsapp-outbound.runtime-L3Qkst0n.js} +2 -2
- package/dist/{sandbox-cli-SCYkP_qN.js → sandbox-cli-CoRe21Si.js} +10 -10
- package/dist/{secret-file-CuiwToxK.js → secret-file-7smmAVRV.js} +1 -1
- package/dist/{secrets-cli-C5O6Jw_4.js → secrets-cli-CHT1AjCX.js} +11 -11
- package/dist/{security-cli-CL4qtb9H.js → security-cli-DRqdmCtr.js} +20 -20
- package/dist/{send-hZxe8sP9.js → send-CHZ7WuOb.js} +2 -2
- package/dist/{send-BvAlpSvh.js → send-CXnKWzde.js} +1 -1
- package/dist/{send-t1epz3bc.js → send-pxKoZnv6.js} +1 -1
- package/dist/{server-Cnc4lO11.js → server-DiTziwvC.js} +10 -10
- package/dist/{server-node-events-aTSoNGTe.js → server-node-events-p5ykMQz-.js} +14 -14
- package/dist/{service-LNrViUVb.js → service-RXVSlLiU.js} +13 -13
- package/dist/{session-CndmPe2D.js → session-CXOhppV3.js} +2 -2
- package/dist/{session-BUpAKttt.js → session-D0j0Q_PW.js} +1 -1
- package/dist/{session-D7nweu0t.js → session-kt-bqE_z.js} +1 -1
- package/dist/{shared-c6JUv5At.js → shared-CoL161wD.js} +1 -1
- package/dist/{skill-scanner-DaUNX-tW.js → skill-scanner-BzjuMMKN.js} +6 -6
- package/dist/{skills-vhlUaliH.js → skills-Jz-BSwRd.js} +2 -2
- package/dist/{skills-cli-YqsScIM5.js → skills-cli-YajvWbjO.js} +11 -11
- package/dist/{skills-install-BnRu7wO4.js → skills-install-DFkV3GsC.js} +6 -6
- package/dist/{skills-status-DHMQ6A2H.js → skills-status-PMeXzDbC.js} +1 -1
- package/dist/{slash-commands.runtime-AZCJXo7S.js → slash-commands.runtime-BYfxn_xu.js} +1 -1
- package/dist/{slash-commands.runtime-D9GHahMO.js → slash-commands.runtime-_LrsMaI1.js} +10 -10
- package/dist/{slash-commands.runtime-YWtbFO1w.js → slash-commands.runtime-eZUYakkd.js} +1 -1
- package/dist/{slash-dispatch.runtime-DyUU1AG5.js → slash-dispatch.runtime-Cu8ghe1h.js} +1 -1
- package/dist/{slash-dispatch.runtime-QxpHMagD.js → slash-dispatch.runtime-D7ogJeRu.js} +1 -1
- package/dist/{slash-dispatch.runtime-DcISuJb0.js → slash-dispatch.runtime-neG4499W.js} +10 -10
- package/dist/{slash-skill-commands.runtime-Cv1NPjj6.js → slash-skill-commands.runtime-8dS5PTaH.js} +1 -1
- package/dist/{slash-skill-commands.runtime-Dt6QQJcX.js → slash-skill-commands.runtime-D0ohJN-V.js} +10 -10
- package/dist/{slash-skill-commands.runtime-Cgu35QuS.js → slash-skill-commands.runtime-iwoxGLKu.js} +1 -1
- package/dist/{status-D9mVTxuB.js → status-1patzIRq.js} +1 -1
- package/dist/{status-QQiIsfFq.js → status-BaLZ1uQV.js} +21 -21
- package/dist/{status.update-DY13od-q.js → status.update-DrzJ1YWu.js} +3 -3
- package/dist/{subagent-registry-runtime-CNgez4Yd.js → subagent-registry-runtime-BPxjP8o9.js} +1 -1
- package/dist/{subagent-registry-runtime-CoeW8s2P.js → subagent-registry-runtime-BTW1zlrG.js} +10 -10
- package/dist/{subagent-registry-runtime-N50VG-ay.js → subagent-registry-runtime-Z0fdsGSq.js} +1 -1
- package/dist/{system-cli-DMu6SZhn.js → system-cli-CndWL3sF.js} +11 -11
- package/dist/{systemd-DSK6B3bg.js → systemd-D47rkLi7.js} +11 -11
- package/dist/{systemd-hints-DsQTPBGt.js → systemd-hints-DHfXVo8k.js} +6 -6
- package/dist/{systemd-linger-BPISBIWJ.js → systemd-linger-DwmFZpci.js} +1 -1
- package/dist/{tui-DzNNH2rc.js → tui-CzYnfJxE.js} +2 -2
- package/dist/{tui-cli-D5JgcWb9.js → tui-cli-D47N0Kfm.js} +11 -11
- package/dist/{update-DL_359AR.js → update-BiUnc38r.js} +2 -2
- package/dist/{update-cli-BfjWjK3A.js → update-cli-CeqH2oQ-.js} +45 -45
- package/dist/{update-runner-CfkBU1BA.js → update-runner-oqYBjs5t.js} +16 -16
- package/dist/{web-BHO-XtPY.js → web-BRvkjVpk.js} +14 -14
- package/dist/{web-rZyV5Fxs.js → web-Bl0ih6N1.js} +4 -4
- package/dist/{web-B4n02Xhe.js → web-CXyjF_si.js} +4 -4
- package/dist/{webhooks-cli-C0kgprJJ.js → webhooks-cli-CnTKcfvh.js} +10 -10
- package/dist/{whatsapp-actions-JJEG8eF3.js → whatsapp-actions-BUvGEDSk.js} +2 -2
- package/dist/{whatsapp-actions-BC06Ug_d.js → whatsapp-actions-BXO9Bi7a.js} +11 -11
- package/dist/{whatsapp-actions-De9-kJMP.js → whatsapp-actions-Cpf6YROk.js} +2 -2
- package/dist/{workspace-BTsqd19h.js → workspace-CWne7yqK.js} +1 -1
- package/package.json +1 -1
- package/scripts/create-instance.sh +5 -9
- package/dist/register.configure-CrATD0tr.js +0 -87
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-tuenh9TL.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-G54saDcg.js";
|
|
3
3
|
import "./utils-B8zCe27d.js";
|
|
4
|
-
import { d as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
4
|
+
import { d as resolveAgentWorkspaceDir } from "./agent-scope-DmTcOjk4.js";
|
|
5
5
|
import { E as parseAgentSessionKey } from "./session-key-DjKQluAa.js";
|
|
6
|
-
import "./openclaw-root-
|
|
6
|
+
import "./openclaw-root-B5jXk2td.js";
|
|
7
7
|
import "./logger-BohkHL0S.js";
|
|
8
8
|
import "./exec-CNtAq7Md.js";
|
|
9
|
-
import { $ as writeFileWithinRoot, C as isFileMissingError, M as resolveWindowsSpawnProgram, a as listSessionFilesForAgent, i as buildSessionEntry, j as materializeWindowsSpawnProgram, r as requireNodeSqlite, t as extractKeywords, w as statRegularFile } from "./query-expansion-
|
|
9
|
+
import { $ as writeFileWithinRoot, C as isFileMissingError, M as resolveWindowsSpawnProgram, a as listSessionFilesForAgent, i as buildSessionEntry, j as materializeWindowsSpawnProgram, r as requireNodeSqlite, t as extractKeywords, w as statRegularFile } from "./query-expansion-BNb6Vys6.js";
|
|
10
10
|
import "./redact-owRpqMhM.js";
|
|
11
|
-
import "./path-alias-guards-
|
|
11
|
+
import "./path-alias-guards-BEqdGdn9.js";
|
|
12
12
|
import "./paths-CfmKJcO5.js";
|
|
13
13
|
import os from "node:os";
|
|
14
14
|
import path from "node:path";
|
|
15
|
-
import
|
|
15
|
+
import fs from "node:fs/promises";
|
|
16
16
|
import { spawn } from "node:child_process";
|
|
17
17
|
import readline from "node:readline";
|
|
18
18
|
//#region src/memory/qmd-process.ts
|
|
@@ -336,10 +336,10 @@ var QmdMemoryManager = class QmdMemoryManager {
|
|
|
336
336
|
async initialize(mode) {
|
|
337
337
|
this.bootstrapCollections();
|
|
338
338
|
if (mode === "status") return;
|
|
339
|
-
await
|
|
340
|
-
await
|
|
341
|
-
await
|
|
342
|
-
if (this.sessionExporter) await
|
|
339
|
+
await fs.mkdir(this.xdgConfigHome, { recursive: true });
|
|
340
|
+
await fs.mkdir(this.xdgCacheHome, { recursive: true });
|
|
341
|
+
await fs.mkdir(path.dirname(this.indexPath), { recursive: true });
|
|
342
|
+
if (this.sessionExporter) await fs.mkdir(this.sessionExporter.dir, { recursive: true });
|
|
343
343
|
await this.symlinkSharedModels();
|
|
344
344
|
await this.ensureCollections();
|
|
345
345
|
if (this.qmd.update.onBoot) {
|
|
@@ -495,7 +495,7 @@ var QmdMemoryManager = class QmdMemoryManager {
|
|
|
495
495
|
}
|
|
496
496
|
async ensureCollectionPath(collection) {
|
|
497
497
|
if (!this.isDirectoryGlobPattern(collection.pattern)) return;
|
|
498
|
-
await
|
|
498
|
+
await fs.mkdir(collection.path, { recursive: true });
|
|
499
499
|
}
|
|
500
500
|
isDirectoryGlobPattern(pattern) {
|
|
501
501
|
return pattern.includes("*") || pattern.includes("?") || pattern.includes("[");
|
|
@@ -957,19 +957,19 @@ var QmdMemoryManager = class QmdMemoryManager {
|
|
|
957
957
|
const defaultModelsDir = path.join(defaultCacheHome, "qmd", "models");
|
|
958
958
|
const targetModelsDir = path.join(this.xdgCacheHome, "qmd", "models");
|
|
959
959
|
try {
|
|
960
|
-
if (!(await
|
|
960
|
+
if (!(await fs.stat(defaultModelsDir).catch((err) => {
|
|
961
961
|
if (err.code === "ENOENT") return null;
|
|
962
962
|
throw err;
|
|
963
963
|
}))?.isDirectory()) return;
|
|
964
964
|
try {
|
|
965
|
-
await
|
|
965
|
+
await fs.lstat(targetModelsDir);
|
|
966
966
|
return;
|
|
967
967
|
} catch {}
|
|
968
968
|
try {
|
|
969
|
-
await
|
|
969
|
+
await fs.symlink(defaultModelsDir, targetModelsDir, "dir");
|
|
970
970
|
} catch (symlinkErr) {
|
|
971
971
|
const code = symlinkErr.code;
|
|
972
|
-
if (process.platform === "win32" && (code === "EPERM" || code === "ENOTSUP")) await
|
|
972
|
+
if (process.platform === "win32" && (code === "EPERM" || code === "ENOTSUP")) await fs.symlink(defaultModelsDir, targetModelsDir, "junction");
|
|
973
973
|
else throw symlinkErr;
|
|
974
974
|
}
|
|
975
975
|
log.debug(`symlinked qmd models: ${defaultModelsDir} → ${targetModelsDir}`);
|
|
@@ -1075,7 +1075,7 @@ var QmdMemoryManager = class QmdMemoryManager {
|
|
|
1075
1075
|
const count = Math.max(1, lines ?? Number.POSITIVE_INFINITY);
|
|
1076
1076
|
let handle;
|
|
1077
1077
|
try {
|
|
1078
|
-
handle = await
|
|
1078
|
+
handle = await fs.open(absPath);
|
|
1079
1079
|
} catch (err) {
|
|
1080
1080
|
if (isFileMissingError(err)) return { missing: true };
|
|
1081
1081
|
throw err;
|
|
@@ -1107,7 +1107,7 @@ var QmdMemoryManager = class QmdMemoryManager {
|
|
|
1107
1107
|
try {
|
|
1108
1108
|
return {
|
|
1109
1109
|
missing: false,
|
|
1110
|
-
text: await
|
|
1110
|
+
text: await fs.readFile(absPath, "utf-8")
|
|
1111
1111
|
};
|
|
1112
1112
|
} catch (err) {
|
|
1113
1113
|
if (isFileMissingError(err)) return { missing: true };
|
|
@@ -1124,7 +1124,7 @@ var QmdMemoryManager = class QmdMemoryManager {
|
|
|
1124
1124
|
async exportSessions() {
|
|
1125
1125
|
if (!this.sessionExporter) return;
|
|
1126
1126
|
const exportDir = this.sessionExporter.dir;
|
|
1127
|
-
await
|
|
1127
|
+
await fs.mkdir(exportDir, { recursive: true });
|
|
1128
1128
|
const files = await listSessionFilesForAgent(this.agentId);
|
|
1129
1129
|
const keep = /* @__PURE__ */ new Set();
|
|
1130
1130
|
const tracked = /* @__PURE__ */ new Set();
|
|
@@ -1150,11 +1150,11 @@ var QmdMemoryManager = class QmdMemoryManager {
|
|
|
1150
1150
|
});
|
|
1151
1151
|
keep.add(target);
|
|
1152
1152
|
}
|
|
1153
|
-
const exported = await
|
|
1153
|
+
const exported = await fs.readdir(exportDir).catch(() => []);
|
|
1154
1154
|
for (const name of exported) {
|
|
1155
1155
|
if (!name.endsWith(".md")) continue;
|
|
1156
1156
|
const full = path.join(exportDir, name);
|
|
1157
|
-
if (!keep.has(full)) await
|
|
1157
|
+
if (!keep.has(full)) await fs.rm(full, { force: true });
|
|
1158
1158
|
}
|
|
1159
1159
|
for (const [sessionFile, state] of this.exportedSessionState) if (!tracked.has(sessionFile) || !state.target.startsWith(exportDir + path.sep)) this.exportedSessionState.delete(sessionFile);
|
|
1160
1160
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { u as resolveGatewayPort } from "./paths-tuenh9TL.js";
|
|
2
2
|
import { A as theme, p as defaultRuntime } from "./subsystem-G54saDcg.js";
|
|
3
3
|
import "./utils-B8zCe27d.js";
|
|
4
|
-
import { $ as resolveCommandSecretRefsViaGateway, A_ as isRfc1918Ipv4Address, Ah as resolveRequiredConfiguredSecretRefInputString, Hh as readGatewayTokenEnv, O_ as isCarrierGradeNatIpv4Address, Vh as readGatewayPasswordEnv, Z as getQrRemoteCommandSecretTargetIds, d_ as loadConfig, jh as assertExplicitGatewayAuthModeWhenBothConfigured } from "./reply-
|
|
5
|
-
import "./agent-scope-
|
|
6
|
-
import "./openclaw-root-
|
|
4
|
+
import { $ as resolveCommandSecretRefsViaGateway, A_ as isRfc1918Ipv4Address, Ah as resolveRequiredConfiguredSecretRefInputString, Hh as readGatewayTokenEnv, O_ as isCarrierGradeNatIpv4Address, Vh as readGatewayPasswordEnv, Z as getQrRemoteCommandSecretTargetIds, d_ as loadConfig, jh as assertExplicitGatewayAuthModeWhenBothConfigured } from "./reply-Cf5Mm7vB.js";
|
|
5
|
+
import "./agent-scope-DmTcOjk4.js";
|
|
6
|
+
import "./openclaw-root-B5jXk2td.js";
|
|
7
7
|
import "./logger-BohkHL0S.js";
|
|
8
8
|
import { t as runCommandWithTimeout } from "./exec-CNtAq7Md.js";
|
|
9
9
|
import { a as hasConfiguredSecretInput, d as resolveSecretInputRef, l as normalizeSecretInputString } from "./types.secrets-d7ZFrG7U.js";
|
|
@@ -12,23 +12,23 @@ import "./boolean-B938tROv.js";
|
|
|
12
12
|
import "./env-CQxWwTMn.js";
|
|
13
13
|
import "./env-overrides-BYyMsIvB.js";
|
|
14
14
|
import "./registry-aHEgjCIQ.js";
|
|
15
|
-
import "./skills-
|
|
15
|
+
import "./skills-Jz-BSwRd.js";
|
|
16
16
|
import "./frontmatter-BngyYhS0.js";
|
|
17
|
-
import "./plugins-
|
|
18
|
-
import "./query-expansion-
|
|
17
|
+
import "./plugins-om7vnHk0.js";
|
|
18
|
+
import "./query-expansion-BNb6Vys6.js";
|
|
19
19
|
import "./redact-owRpqMhM.js";
|
|
20
|
-
import "./path-alias-guards-
|
|
21
|
-
import "./fetch-
|
|
20
|
+
import "./path-alias-guards-BEqdGdn9.js";
|
|
21
|
+
import "./fetch-CGW2R_wh.js";
|
|
22
22
|
import "./errors-DNKaAVHN.js";
|
|
23
|
-
import "./cmd-argv-
|
|
24
|
-
import "./restart-stale-pids-
|
|
23
|
+
import "./cmd-argv-BdNFwuhe.js";
|
|
24
|
+
import "./restart-stale-pids-ZfbSMILU.js";
|
|
25
25
|
import "./delivery-queue-B7zSt4zY.js";
|
|
26
26
|
import "./paths-CfmKJcO5.js";
|
|
27
27
|
import "./session-cost-usage-C2jrTKxW.js";
|
|
28
28
|
import "./prompt-style-DlcWUCNR.js";
|
|
29
29
|
import { t as formatDocsLink } from "./links-BpKafJs4.js";
|
|
30
30
|
import "./cli-utils-BSURvrmb.js";
|
|
31
|
-
import { t as issueDeviceBootstrapToken } from "./device-bootstrap-
|
|
31
|
+
import { t as issueDeviceBootstrapToken } from "./device-bootstrap-DSXbseT6.js";
|
|
32
32
|
import os from "node:os";
|
|
33
33
|
import qrcode from "qrcode-terminal";
|
|
34
34
|
//#region src/shared/gateway-bind-url.ts
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { _ as expandHomePrefix } from "./paths-tuenh9TL.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-G54saDcg.js";
|
|
3
|
-
import { d as hasNodeErrorCode, f as isNotFoundPathError, m as isSymlinkOpenError, p as isPathInside, s as sameFileIdentity } from "./openclaw-root-
|
|
3
|
+
import { d as hasNodeErrorCode, f as isNotFoundPathError, m as isSymlinkOpenError, p as isPathInside, s as sameFileIdentity } from "./openclaw-root-B5jXk2td.js";
|
|
4
4
|
import { i as logWarn } from "./logger-BohkHL0S.js";
|
|
5
5
|
import { n as redactSensitiveText } from "./redact-owRpqMhM.js";
|
|
6
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
6
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-BEqdGdn9.js";
|
|
7
7
|
import { c as resolveSessionTranscriptsDirForAgent } from "./paths-CfmKJcO5.js";
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import fs, { constants, readFileSync, statSync } from "node:fs";
|
|
10
10
|
import os from "node:os";
|
|
11
11
|
import path from "node:path";
|
|
12
|
-
import
|
|
12
|
+
import fs$1 from "node:fs/promises";
|
|
13
13
|
import { spawn } from "node:child_process";
|
|
14
14
|
import crypto, { randomUUID } from "node:crypto";
|
|
15
15
|
import { once } from "node:events";
|
|
@@ -210,24 +210,24 @@ async function runPinnedWriteHelper(params) {
|
|
|
210
210
|
}
|
|
211
211
|
async function runPinnedWriteFallback(params) {
|
|
212
212
|
const parentPath = params.relativeParentPath ? path.join(params.rootPath, ...params.relativeParentPath.split("/")) : params.rootPath;
|
|
213
|
-
if (params.mkdir) await
|
|
213
|
+
if (params.mkdir) await fs$1.mkdir(parentPath, { recursive: true });
|
|
214
214
|
const targetPath = path.join(parentPath, params.basename);
|
|
215
215
|
const tempPath = path.join(parentPath, `.${params.basename}.fallback.tmp`);
|
|
216
|
-
if (params.input.kind === "buffer") if (typeof params.input.data === "string") await
|
|
216
|
+
if (params.input.kind === "buffer") if (typeof params.input.data === "string") await fs$1.writeFile(tempPath, params.input.data, {
|
|
217
217
|
encoding: params.input.encoding ?? "utf8",
|
|
218
218
|
mode: params.mode
|
|
219
219
|
});
|
|
220
|
-
else await
|
|
220
|
+
else await fs$1.writeFile(tempPath, params.input.data, { mode: params.mode });
|
|
221
221
|
else {
|
|
222
|
-
const handle = await
|
|
222
|
+
const handle = await fs$1.open(tempPath, "w", params.mode);
|
|
223
223
|
try {
|
|
224
224
|
await pipeline(params.input.stream, handle.createWriteStream());
|
|
225
225
|
} finally {
|
|
226
226
|
await handle.close().catch(() => {});
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
await
|
|
230
|
-
const stat = await
|
|
229
|
+
await fs$1.rename(tempPath, targetPath);
|
|
230
|
+
const stat = await fs$1.stat(targetPath);
|
|
231
231
|
return {
|
|
232
232
|
dev: stat.dev,
|
|
233
233
|
ino: stat.ino
|
|
@@ -252,19 +252,19 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
|
|
|
252
252
|
async function expandRelativePathWithHome(relativePath) {
|
|
253
253
|
let home = process.env.HOME || process.env.USERPROFILE || os.homedir();
|
|
254
254
|
try {
|
|
255
|
-
home = await
|
|
255
|
+
home = await fs$1.realpath(home);
|
|
256
256
|
} catch {}
|
|
257
257
|
return expandHomePrefix(relativePath, { home });
|
|
258
258
|
}
|
|
259
259
|
async function openVerifiedLocalFile(filePath, options) {
|
|
260
260
|
try {
|
|
261
|
-
if ((await
|
|
261
|
+
if ((await fs$1.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
|
|
262
262
|
} catch (err) {
|
|
263
263
|
if (err instanceof SafeOpenError) throw err;
|
|
264
264
|
}
|
|
265
265
|
let handle;
|
|
266
266
|
try {
|
|
267
|
-
handle = await
|
|
267
|
+
handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
|
|
268
268
|
} catch (err) {
|
|
269
269
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
|
|
270
270
|
if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
|
|
@@ -272,13 +272,13 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
272
272
|
throw err;
|
|
273
273
|
}
|
|
274
274
|
try {
|
|
275
|
-
const [stat, lstat] = await Promise.all([handle.stat(),
|
|
275
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
|
|
276
276
|
if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
|
|
277
277
|
if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
|
|
278
278
|
if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
279
279
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
|
|
280
|
-
const realPath = await
|
|
281
|
-
const realStat = await
|
|
280
|
+
const realPath = await fs$1.realpath(filePath);
|
|
281
|
+
const realStat = await fs$1.stat(realPath);
|
|
282
282
|
if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
283
283
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
284
284
|
return {
|
|
@@ -296,7 +296,7 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
296
296
|
async function resolvePathWithinRoot(params) {
|
|
297
297
|
let rootReal;
|
|
298
298
|
try {
|
|
299
|
-
rootReal = await
|
|
299
|
+
rootReal = await fs$1.realpath(params.rootDir);
|
|
300
300
|
} catch (err) {
|
|
301
301
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
|
|
302
302
|
throw err;
|
|
@@ -397,7 +397,7 @@ function buildAtomicWriteTempPath(targetPath) {
|
|
|
397
397
|
return path.join(dir, `.${base}.${process.pid}.${randomUUID()}.tmp`);
|
|
398
398
|
}
|
|
399
399
|
async function writeTempFileForAtomicReplace(params) {
|
|
400
|
-
const tempHandle = await
|
|
400
|
+
const tempHandle = await fs$1.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
|
|
401
401
|
try {
|
|
402
402
|
if (typeof params.data === "string") await tempHandle.writeFile(params.data, params.encoding ?? "utf8");
|
|
403
403
|
else await tempHandle.writeFile(params.data);
|
|
@@ -407,7 +407,7 @@ async function writeTempFileForAtomicReplace(params) {
|
|
|
407
407
|
}
|
|
408
408
|
}
|
|
409
409
|
async function verifyAtomicWriteResult(params) {
|
|
410
|
-
const rootWithSep = ensureTrailingSep(await
|
|
410
|
+
const rootWithSep = ensureTrailingSep(await fs$1.realpath(params.rootDir));
|
|
411
411
|
const opened = await openVerifiedLocalFile(params.targetPath, { rejectHardlinks: true });
|
|
412
412
|
try {
|
|
413
413
|
if (!sameFileIdentity(opened.stat, params.expectedIdentity)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
@@ -418,13 +418,13 @@ async function verifyAtomicWriteResult(params) {
|
|
|
418
418
|
}
|
|
419
419
|
async function resolveOpenedFileRealPathForHandle(handle, ioPath) {
|
|
420
420
|
try {
|
|
421
|
-
return await
|
|
421
|
+
return await fs$1.realpath(ioPath);
|
|
422
422
|
} catch (err) {
|
|
423
423
|
if (!isNotFoundPathError(err)) throw err;
|
|
424
424
|
}
|
|
425
425
|
const fdCandidates = process.platform === "linux" ? [`/proc/self/fd/${handle.fd}`, `/dev/fd/${handle.fd}`] : process.platform === "win32" ? [] : [`/dev/fd/${handle.fd}`];
|
|
426
426
|
for (const fdPath of fdCandidates) try {
|
|
427
|
-
return await
|
|
427
|
+
return await fs$1.realpath(fdPath);
|
|
428
428
|
} catch {}
|
|
429
429
|
throw new SafeOpenError("path-mismatch", "unable to resolve opened file path");
|
|
430
430
|
}
|
|
@@ -439,10 +439,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
439
439
|
} catch (err) {
|
|
440
440
|
throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
|
|
441
441
|
}
|
|
442
|
-
if (params.mkdir !== false) await
|
|
442
|
+
if (params.mkdir !== false) await fs$1.mkdir(path.dirname(resolved), { recursive: true });
|
|
443
443
|
let ioPath = resolved;
|
|
444
444
|
try {
|
|
445
|
-
const resolvedRealPath = await
|
|
445
|
+
const resolvedRealPath = await fs$1.realpath(resolved);
|
|
446
446
|
if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
447
447
|
ioPath = resolvedRealPath;
|
|
448
448
|
} catch (err) {
|
|
@@ -456,10 +456,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
456
456
|
const createFlags = params.append ? OPEN_APPEND_CREATE_FLAGS : OPEN_WRITE_CREATE_FLAGS;
|
|
457
457
|
try {
|
|
458
458
|
try {
|
|
459
|
-
handle = await
|
|
459
|
+
handle = await fs$1.open(ioPath, existingFlags, fileMode);
|
|
460
460
|
} catch (err) {
|
|
461
461
|
if (!isNotFoundPathError(err)) throw err;
|
|
462
|
-
handle = await
|
|
462
|
+
handle = await fs$1.open(ioPath, createFlags, fileMode);
|
|
463
463
|
createdForWrite = true;
|
|
464
464
|
}
|
|
465
465
|
} catch (err) {
|
|
@@ -473,7 +473,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
473
473
|
if (!stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
474
474
|
if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
475
475
|
try {
|
|
476
|
-
const lstat = await
|
|
476
|
+
const lstat = await fs$1.lstat(ioPath);
|
|
477
477
|
if (lstat.isSymbolicLink() || !lstat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
478
478
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
479
479
|
} catch (err) {
|
|
@@ -481,7 +481,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
481
481
|
}
|
|
482
482
|
const realPath = await resolveOpenedFileRealPathForHandle(handle, ioPath);
|
|
483
483
|
openedRealPath = realPath;
|
|
484
|
-
const realStat = await
|
|
484
|
+
const realStat = await fs$1.stat(realPath);
|
|
485
485
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
486
486
|
if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
487
487
|
if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
@@ -496,7 +496,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
496
496
|
const cleanupCreatedPath = createdForWrite && err instanceof SafeOpenError;
|
|
497
497
|
const cleanupPath = openedRealPath ?? ioPath;
|
|
498
498
|
await handle.close().catch(() => {});
|
|
499
|
-
if (cleanupCreatedPath) await
|
|
499
|
+
if (cleanupCreatedPath) await fs$1.rm(cleanupPath, { force: true }).catch(() => {});
|
|
500
500
|
throw err;
|
|
501
501
|
}
|
|
502
502
|
}
|
|
@@ -674,7 +674,7 @@ async function writeFileWithinRootLegacy(params) {
|
|
|
674
674
|
encoding: params.encoding,
|
|
675
675
|
mode: targetMode || 384
|
|
676
676
|
});
|
|
677
|
-
await
|
|
677
|
+
await fs$1.rename(tempPath, destinationPath);
|
|
678
678
|
tempPath = null;
|
|
679
679
|
try {
|
|
680
680
|
await verifyAtomicWriteResult({
|
|
@@ -687,7 +687,7 @@ async function writeFileWithinRootLegacy(params) {
|
|
|
687
687
|
throw err;
|
|
688
688
|
}
|
|
689
689
|
} finally {
|
|
690
|
-
if (tempPath) await
|
|
690
|
+
if (tempPath) await fs$1.rm(tempPath, { force: true }).catch(() => {});
|
|
691
691
|
}
|
|
692
692
|
}
|
|
693
693
|
async function copyFileWithinRootLegacy(params, source) {
|
|
@@ -709,7 +709,7 @@ async function copyFileWithinRootLegacy(params, source) {
|
|
|
709
709
|
await target.handle.close().catch(() => {});
|
|
710
710
|
targetClosedByUs = true;
|
|
711
711
|
tempPath = buildAtomicWriteTempPath(destinationPath);
|
|
712
|
-
tempHandle = await
|
|
712
|
+
tempHandle = await fs$1.open(tempPath, OPEN_WRITE_CREATE_FLAGS, targetMode || 384);
|
|
713
713
|
const sourceStream = source.handle.createReadStream();
|
|
714
714
|
const targetStream = tempHandle.createWriteStream();
|
|
715
715
|
sourceStream.once("close", () => {
|
|
@@ -719,13 +719,13 @@ async function copyFileWithinRootLegacy(params, source) {
|
|
|
719
719
|
tempClosedByStream = true;
|
|
720
720
|
});
|
|
721
721
|
await import("node:stream/promises").then(({ pipeline }) => pipeline(sourceStream, targetStream));
|
|
722
|
-
const writtenStat = await
|
|
722
|
+
const writtenStat = await fs$1.stat(tempPath);
|
|
723
723
|
if (!tempClosedByStream) {
|
|
724
724
|
await tempHandle.close().catch(() => {});
|
|
725
725
|
tempClosedByStream = true;
|
|
726
726
|
}
|
|
727
727
|
tempHandle = null;
|
|
728
|
-
await
|
|
728
|
+
await fs$1.rename(tempPath, destinationPath);
|
|
729
729
|
tempPath = null;
|
|
730
730
|
try {
|
|
731
731
|
await verifyAtomicWriteResult({
|
|
@@ -738,10 +738,10 @@ async function copyFileWithinRootLegacy(params, source) {
|
|
|
738
738
|
throw err;
|
|
739
739
|
}
|
|
740
740
|
} catch (err) {
|
|
741
|
-
if (target?.createdForWrite) await
|
|
741
|
+
if (target?.createdForWrite) await fs$1.rm(target.openedRealPath, { force: true }).catch(() => {});
|
|
742
742
|
throw err;
|
|
743
743
|
} finally {
|
|
744
|
-
if (tempPath) await
|
|
744
|
+
if (tempPath) await fs$1.rm(tempPath, { force: true }).catch(() => {});
|
|
745
745
|
if (!sourceClosedByStream) await source.handle.close().catch(() => {});
|
|
746
746
|
if (tempHandle && !tempClosedByStream) await tempHandle.close().catch(() => {});
|
|
747
747
|
if (target && !targetClosedByUs) await target.handle.close().catch(() => {});
|
|
@@ -1122,7 +1122,7 @@ function isFileMissingError(err) {
|
|
|
1122
1122
|
async function statRegularFile(absPath) {
|
|
1123
1123
|
let stat;
|
|
1124
1124
|
try {
|
|
1125
|
-
stat = await
|
|
1125
|
+
stat = await fs$1.lstat(absPath);
|
|
1126
1126
|
} catch (err) {
|
|
1127
1127
|
if (isFileMissingError(err)) return { missing: true };
|
|
1128
1128
|
throw err;
|
|
@@ -1221,7 +1221,7 @@ function isAllowedMemoryFilePath(filePath, multimodal) {
|
|
|
1221
1221
|
return classifyMemoryMultimodalPath(filePath, multimodal ?? DISABLED_MULTIMODAL_SETTINGS) !== null;
|
|
1222
1222
|
}
|
|
1223
1223
|
async function walkDir(dir, files, multimodal) {
|
|
1224
|
-
const entries = await
|
|
1224
|
+
const entries = await fs$1.readdir(dir, { withFileTypes: true });
|
|
1225
1225
|
for (const entry of entries) {
|
|
1226
1226
|
const full = path.join(dir, entry.name);
|
|
1227
1227
|
if (entry.isSymbolicLink()) continue;
|
|
@@ -1241,7 +1241,7 @@ async function listMemoryFiles(workspaceDir, extraPaths, multimodal) {
|
|
|
1241
1241
|
const memoryDir = path.join(workspaceDir, "memory");
|
|
1242
1242
|
const addMarkdownFile = async (absPath) => {
|
|
1243
1243
|
try {
|
|
1244
|
-
const stat = await
|
|
1244
|
+
const stat = await fs$1.lstat(absPath);
|
|
1245
1245
|
if (stat.isSymbolicLink() || !stat.isFile()) return;
|
|
1246
1246
|
if (!absPath.endsWith(".md")) return;
|
|
1247
1247
|
result.push(absPath);
|
|
@@ -1250,12 +1250,12 @@ async function listMemoryFiles(workspaceDir, extraPaths, multimodal) {
|
|
|
1250
1250
|
await addMarkdownFile(memoryFile);
|
|
1251
1251
|
await addMarkdownFile(altMemoryFile);
|
|
1252
1252
|
try {
|
|
1253
|
-
const dirStat = await
|
|
1253
|
+
const dirStat = await fs$1.lstat(memoryDir);
|
|
1254
1254
|
if (!dirStat.isSymbolicLink() && dirStat.isDirectory()) await walkDir(memoryDir, result);
|
|
1255
1255
|
} catch {}
|
|
1256
1256
|
const normalizedExtraPaths = normalizeExtraMemoryPaths(workspaceDir, extraPaths);
|
|
1257
1257
|
if (normalizedExtraPaths.length > 0) for (const inputPath of normalizedExtraPaths) try {
|
|
1258
|
-
const stat = await
|
|
1258
|
+
const stat = await fs$1.lstat(inputPath);
|
|
1259
1259
|
if (stat.isSymbolicLink()) continue;
|
|
1260
1260
|
if (stat.isDirectory()) {
|
|
1261
1261
|
await walkDir(inputPath, result, multimodal);
|
|
@@ -1269,7 +1269,7 @@ async function listMemoryFiles(workspaceDir, extraPaths, multimodal) {
|
|
|
1269
1269
|
for (const entry of result) {
|
|
1270
1270
|
let key = entry;
|
|
1271
1271
|
try {
|
|
1272
|
-
key = await
|
|
1272
|
+
key = await fs$1.realpath(entry);
|
|
1273
1273
|
} catch {}
|
|
1274
1274
|
if (seen.has(key)) continue;
|
|
1275
1275
|
seen.add(key);
|
|
@@ -1283,7 +1283,7 @@ function hashText(value) {
|
|
|
1283
1283
|
async function buildFileEntry(absPath, workspaceDir, multimodal) {
|
|
1284
1284
|
let stat;
|
|
1285
1285
|
try {
|
|
1286
|
-
stat = await
|
|
1286
|
+
stat = await fs$1.stat(absPath);
|
|
1287
1287
|
} catch (err) {
|
|
1288
1288
|
if (isFileMissingError(err)) return null;
|
|
1289
1289
|
throw err;
|
|
@@ -1295,7 +1295,7 @@ async function buildFileEntry(absPath, workspaceDir, multimodal) {
|
|
|
1295
1295
|
if (stat.size > multimodalSettings.maxFileBytes) return null;
|
|
1296
1296
|
let buffer;
|
|
1297
1297
|
try {
|
|
1298
|
-
buffer = await
|
|
1298
|
+
buffer = await fs$1.readFile(absPath);
|
|
1299
1299
|
} catch (err) {
|
|
1300
1300
|
if (isFileMissingError(err)) return null;
|
|
1301
1301
|
throw err;
|
|
@@ -1328,7 +1328,7 @@ async function buildFileEntry(absPath, workspaceDir, multimodal) {
|
|
|
1328
1328
|
}
|
|
1329
1329
|
let content;
|
|
1330
1330
|
try {
|
|
1331
|
-
content = await
|
|
1331
|
+
content = await fs$1.readFile(absPath, "utf-8");
|
|
1332
1332
|
} catch (err) {
|
|
1333
1333
|
if (isFileMissingError(err)) return null;
|
|
1334
1334
|
throw err;
|
|
@@ -1347,7 +1347,7 @@ async function loadMultimodalEmbeddingInput(entry) {
|
|
|
1347
1347
|
if (entry.kind !== "multimodal" || !entry.contentText || !entry.mimeType) return null;
|
|
1348
1348
|
let stat;
|
|
1349
1349
|
try {
|
|
1350
|
-
stat = await
|
|
1350
|
+
stat = await fs$1.stat(entry.absPath);
|
|
1351
1351
|
} catch (err) {
|
|
1352
1352
|
if (isFileMissingError(err)) return null;
|
|
1353
1353
|
throw err;
|
|
@@ -1355,7 +1355,7 @@ async function loadMultimodalEmbeddingInput(entry) {
|
|
|
1355
1355
|
if (stat.size !== entry.size) return null;
|
|
1356
1356
|
let buffer;
|
|
1357
1357
|
try {
|
|
1358
|
-
buffer = await
|
|
1358
|
+
buffer = await fs$1.readFile(entry.absPath);
|
|
1359
1359
|
} catch (err) {
|
|
1360
1360
|
if (isFileMissingError(err)) return null;
|
|
1361
1361
|
throw err;
|
|
@@ -1508,7 +1508,7 @@ const log = createSubsystemLogger("memory");
|
|
|
1508
1508
|
async function listSessionFilesForAgent(agentId) {
|
|
1509
1509
|
const dir = resolveSessionTranscriptsDirForAgent(agentId);
|
|
1510
1510
|
try {
|
|
1511
|
-
return (await
|
|
1511
|
+
return (await fs$1.readdir(dir, { withFileTypes: true })).filter((entry) => entry.isFile()).map((entry) => entry.name).filter((name) => name.endsWith(".jsonl")).map((name) => path.join(dir, name));
|
|
1512
1512
|
} catch {
|
|
1513
1513
|
return [];
|
|
1514
1514
|
}
|
|
@@ -1538,8 +1538,8 @@ function extractSessionText(content) {
|
|
|
1538
1538
|
}
|
|
1539
1539
|
async function buildSessionEntry(absPath) {
|
|
1540
1540
|
try {
|
|
1541
|
-
const stat = await
|
|
1542
|
-
const lines = (await
|
|
1541
|
+
const stat = await fs$1.stat(absPath);
|
|
1542
|
+
const lines = (await fs$1.readFile(absPath, "utf-8")).split("\n");
|
|
1543
1543
|
const collected = [];
|
|
1544
1544
|
const lineMap = [];
|
|
1545
1545
|
for (let jsonlIdx = 0; jsonlIdx < lines.length; jsonlIdx++) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as createSubsystemLogger } from "./subsystem-G54saDcg.js";
|
|
2
|
-
import { Bu as DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, S_ as sensitive, Vu as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS } from "./reply-
|
|
2
|
+
import { Bu as DISCORD_DEFAULT_INBOUND_WORKER_TIMEOUT_MS, S_ as sensitive, Vu as DISCORD_DEFAULT_LISTENER_TIMEOUT_MS } from "./reply-Cf5Mm7vB.js";
|
|
3
3
|
import JSON5 from "json5";
|
|
4
4
|
import { isDeepStrictEqual } from "node:util";
|
|
5
5
|
import { z } from "zod";
|