wednesdayai 0.5.1-dev.39 → 0.5.1-dev.40
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-FvVddEAm.js → acp-cli-aZDU1frr.js} +11 -11
- package/dist/{agent-scope-Daay3L1Q.js → agent-scope-m37qEcFM.js} +21 -21
- package/dist/{agent-turn-enqueue-BZJZetmF.js → agent-turn-enqueue-DICnRqYY.js} +6 -6
- package/dist/{agent-turn-execute-YF3BodXZ.js → agent-turn-execute-idltAVtu.js} +153 -153
- package/dist/{agent-turn-recovery-adapter-DpTeUI2V.js → agent-turn-recovery-adapter-fTCIh1kZ.js} +3 -3
- package/dist/{agent-turn-runner-IggLai-e.js → agent-turn-runner-C2jDvczc.js} +4 -4
- package/dist/{agent-turn-runner-BkWusthz.js → agent-turn-runner-y0WL6xuI.js} +3 -3
- package/dist/{agents-CM1pS2Gw.js → agents-CM1SDvAA.js} +21 -21
- package/dist/{agents.config-DPUNT-LY.js → agents.config-CNN6GFa9.js} +3 -3
- package/dist/{api-key-rotation-1GnreUfv.js → api-key-rotation-DAI1NT_a.js} +1 -1
- package/dist/{api-key-rotation-DBvdlVZw.js → api-key-rotation-JDh9X_oP.js} +1 -1
- package/dist/{audio-preflight-cWE_jPq7.js → audio-preflight-Bdn8EyXv.js} +14 -14
- package/dist/{audio-preflight-Dla8ErAP.js → audio-preflight-DcoXRAvR.js} +37 -37
- package/dist/{audio-transcription-runner-D-jGvvSi.js → audio-transcription-runner-BQbTpN83.js} +27 -27
- package/dist/{audio-transcription-runner-Bk1wu6OC.js → audio-transcription-runner-MJ65xlDX.js} +8 -8
- package/dist/{audit-B-WWadhu.js → audit-DsSNKdtK.js} +31 -31
- package/dist/{auth-BqrOQ_rt.js → auth-BCzU-mkD.js} +4 -4
- package/dist/{auth-choice-C7C2BFeF.js → auth-choice-BR3YA6Mc.js} +15 -15
- package/dist/{auth-choice-D4Z3C7W8.js → auth-choice-kNhTqhAF.js} +13 -13
- package/dist/{auth-choice.apply-helpers-CtM1Z7Em.js → auth-choice.apply-helpers-BEawC8Rx.js} +1 -1
- package/dist/{auth-token-BmZQfp0T.js → auth-token-QyM5OJpI.js} +2 -2
- package/dist/{banner-CDY_Ds3F.js → banner-DmQcTDRN.js} +4 -4
- package/dist/{bonjour-discovery-C-DjmVp8.js → bonjour-discovery-DPLZj45w.js} +3 -3
- package/dist/{browser-cli-C_ysZk2K.js → browser-cli-D_sIwOM-.js} +19 -19
- package/dist/build-info.json +3 -3
- package/dist/{call-BoiZy1oh.js → call-BltQb5p8.js} +12 -12
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-D16G9MZx.js → channel-account-context-DjoVP8k0.js} +7 -7
- package/dist/{channel-options-C8_k7q2k.js → channel-options-C9RuntH_.js} +3 -3
- package/dist/{channel-selection-CA6-fSME.js → channel-selection-BdOi2As8.js} +1 -1
- package/dist/{channels-cli-BgcxCCUW.js → channels-cli-B1ZhJIfE.js} +120 -120
- package/dist/{channels-status-issues-DaVFqfbT.js → channels-status-issues-CW2LsBxa.js} +1 -1
- package/dist/{chat-content-B7yKTLAY.js → chat-content-DtaSiJ_7.js} +9 -9
- package/dist/{chrome-DQ2kyZpc.js → chrome-BRVJGvQa.js} +11 -11
- package/dist/{chrome-CCOk3IVv.js → chrome-DJfXPpfx.js} +6 -6
- package/dist/{chunk-BBj2TedD.js → chunk-CGvXEMAJ.js} +1 -1
- package/dist/{chunk-5HmJ90W0.js → chunk-CIpxqo8a.js} +3 -3
- package/dist/{clack-prompter-DFrQWP5u.js → clack-prompter-6u8Btte5.js} +5 -5
- package/dist/{clawbot-cli-BTRGXKZN.js → clawbot-cli-DjesCpeb.js} +15 -15
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/cli-BNVYrkVg.js +166 -0
- package/dist/{client-D7BnGRYO.js → client-BMDbXMKo.js} +4 -4
- package/dist/{client-profiles-By5MHi9v.js → client-profiles-D9p55R2E.js} +4 -4
- package/dist/{clipboard-B_ObYCKi.js → clipboard-Dd6cdwPv.js} +1 -1
- package/dist/{command-queue-B7AMiRYq.js → command-queue-C17N9gab.js} +1 -1
- package/dist/{command-registry-CqEc_uI9.js → command-registry-xYf1aBOy.js} +14 -14
- package/dist/{command-secret-targets-a_Y_ddO2.js → command-secret-targets-BZ1SboqY.js} +4 -4
- package/dist/{commands-DntOebNQ.js → commands-SeKi2OWl.js} +1 -1
- package/dist/{commands-registry-b4F_78R4.js → commands-registry-BO2o7Un9.js} +1 -1
- package/dist/{commands-registry-9P9_RD2k.js → commands-registry-uKHucCpf.js} +3 -3
- package/dist/{completion-cli-7QKrFXPK.js → completion-cli-od6mAB_x.js} +16 -16
- package/dist/{config-cli-zzSy_DYX.js → config-cli-L7VXG9dV.js} +10 -10
- package/dist/{config-guard-I78sPe0z.js → config-guard-Bd7KfAne.js} +4 -4
- package/dist/{config-validation-B2xjdpzg.js → config-validation-cJ4tgFlH.js} +4 -4
- package/dist/{configure-BstDEG38.js → configure-BFB-zOMn.js} +25 -25
- package/dist/{control-ui-assets-BqcYXNl2.js → control-ui-assets-B9zlkA6l.js} +3 -3
- package/dist/{controller-Bgcz2hp7.js → controller--hEOQw7y.js} +1 -1
- package/dist/{credentials-CGW31DO4.js → credentials-DtepevRH.js} +1 -1
- package/dist/{credentials-U5jLZxJ-.js → credentials-GPboJeMC.js} +1 -1
- package/dist/{cron-cli-yj7QGj7J.js → cron-cli-DhhEvg8T.js} +14 -14
- package/dist/{daemon-cli-CFnbJrol.js → daemon-cli-BFqtJkJL.js} +19 -19
- package/dist/{daemon-install-BeS6QtA5.js → daemon-install-1kaH7Ifb.js} +10 -10
- package/dist/{daemon-install-helpers-CLiiJ-d1.js → daemon-install-helpers-B1yjUwDb.js} +13 -13
- package/dist/{delete-agent-sessions-LydtqnI4.js → delete-agent-sessions-aupo65L2.js} +1 -1
- package/dist/{deliver-3GS-gU8r.js → deliver-BPWNdSsP.js} +12 -12
- package/dist/{deliver-BQSIZZRd.js → deliver-x1MM90HA.js} +11 -11
- package/dist/{devices-cli-CZA7ZWS3.js → devices-cli-Bx2srMmX.js} +13 -13
- package/dist/{diagnostic-Dm2wAiB0.js → diagnostic-C0AOXO65.js} +4 -4
- package/dist/{diagnostics-CZjOjqpi.js → diagnostics-B5xln2o0.js} +5 -5
- package/dist/{directory-cli-DR0IqfE5.js → directory-cli-TI0sLZsH.js} +11 -11
- package/dist/{dm-policy-shared-C5ZRDHnc.js → dm-policy-shared-5u9bRZcn.js} +5 -5
- package/dist/{dns-cli-B5CpAvKH.js → dns-cli-BlPAMRTw.js} +10 -10
- package/dist/{docs-cli-B_D5SYd9.js → docs-cli-CoU4kznK.js} +9 -9
- package/dist/{doctor-completion-BMLEMc2J.js → doctor-completion-xR-LI2Kc.js} +3 -3
- package/dist/{doctor-config-flow-0PWt4HFH.js → doctor-config-flow-DKprHJgK.js} +17 -17
- package/dist/{enable-DckLGORZ.js → enable-WclAjZTI.js} +2 -2
- package/dist/entry.js +4 -4
- package/dist/{exec-DgfbhlVq.js → exec-BadOxgw_.js} +2 -2
- package/dist/{exec-approvals-allowlist-2Cys5vGY.js → exec-approvals-allowlist-B9t8qYRi.js} +1 -1
- package/dist/{exec-approvals-BauC8NzH.js → exec-approvals-bsuh4PHE.js} +2 -2
- package/dist/{exec-approvals-cli-DfFiniWb.js → exec-approvals-cli-BKUHTsDE.js} +22 -22
- package/dist/{exec-safe-bin-runtime-policy-SvaIPWXZ.js → exec-safe-bin-runtime-policy-DLnEvKn8.js} +2 -2
- package/dist/{extension-relay-auth-D_MKrcDE.js → extension-relay-auth-DPPoRrd5.js} +10 -10
- package/dist/extensionAPI.js +40 -40
- package/dist/{fetch-JiVpsY-F.js → fetch-BzeUsif1.js} +2 -2
- package/dist/{fetch-DQjTi7nc.js → fetch-Cpgrvssj.js} +1 -1
- package/dist/{fetch-D-b-uXX7.js → fetch-KUu9BT-y.js} +5 -5
- package/dist/{fetch-guard-BbFS87gt.js → fetch-guard-Bn23GnZQ.js} +2 -2
- package/dist/{fetch-guard-Dn6Z6n6a.js → fetch-guard-D49piGJ5.js} +1 -1
- package/dist/{fs-safe-lC1ILeyM.js → fs-safe-BqogKG9V.js} +25 -25
- package/dist/{gateway-cli-BAEQ_NGs.js → gateway-cli-BRUhDHZW.js} +198 -198
- package/dist/{gateway-rpc-CQq2vr6O.js → gateway-rpc-C7kAjboF.js} +3 -3
- package/dist/{globals-BRyHSrWD.js → globals-3lUHnZas.js} +7 -7
- package/dist/{gmail-setup-utils-SXyKBvLp.js → gmail-setup-utils-GO9rZVbj.js} +2 -2
- package/dist/{health-225PH5Li.js → health-C8v6lJQm.js} +11 -11
- package/dist/{health-format-BJNDw72X.js → health-format-CLs9zsB3.js} +1 -1
- package/dist/{heartbeat-tick-CA6ounlL.js → heartbeat-tick-Cn6Mm71L.js} +1 -1
- package/dist/{help-format-CYvwXoTF.js → help-format-DszGjSGq.js} +1 -1
- package/dist/{helpers-DGzbDtFa.js → helpers-BXVreVqM.js} +1 -1
- package/dist/{hooks-cli-x_66pIcE.js → hooks-cli-CVOiI_Gk.js} +108 -108
- package/dist/{hooks-status-B09UI8cu.js → hooks-status-DVlBWsZg.js} +2 -2
- package/dist/{plugin-sdk/image-ops-1WkFRYfC.js → image-ops-BiZX2JoM.js} +12 -12
- package/dist/{inspect-BYjJ-TxP.js → inspect-CQp_st3r.js} +4 -4
- package/dist/{install-safe-path-Bg4S4UtE.js → install-safe-path-CpaP5QP8.js} +25 -25
- package/dist/{installs-DauOPt1U.js → installs-iBWWAsyM.js} +10 -10
- package/dist/{ipv4-CDDNg0CB.js → ipv4-DVlWqpAi.js} +2 -2
- package/dist/{ir-YVBetd9e.js → ir-DBTx0EHu.js} +8 -8
- package/dist/{ir-Bra81NIe.js → ir-vVwcX8JG.js} +2 -2
- package/dist/{issue-format-DSEmDva0.js → issue-format-Dsb7vnfa.js} +1 -1
- package/dist/{jobs-B8LHXwxB.js → jobs-CHw5Ov3b.js} +3 -3
- package/dist/{json-files-XjEDt0Xv.js → json-files-oQZMk9pX.js} +7 -7
- package/dist/{lifecycle-core-DHrEntr4.js → lifecycle-core-CjLnS05H.js} +9 -9
- package/dist/{links-PUWFmh-v.js → links-CuEUTasJ.js} +1 -1
- package/dist/{log-tail-hSKJOSyz.js → log-tail-C_ThPK9g.js} +7 -7
- package/dist/{logging-B9NMVHxl.js → logging-D0Hd8mDh.js} +1 -1
- package/dist/{logs-cli-DUbebsRd.js → logs-cli-CEophOLi.js} +18 -18
- package/dist/{manager-DIIInXxQ.js → manager-DRfrqzWR.js} +4 -4
- package/dist/{manager-BfbMJ-zg.js → manager-D_fFKFjl.js} +14 -14
- package/dist/{manager-BVdZypmH.js → manager-LeFDfER8.js} +9 -9
- package/dist/{markdown-tables-C6xdzDiz.js → markdown-tables-BmOshwHx.js} +2 -2
- package/dist/{markdown-tables-7TebvIj0.js → markdown-tables-CzhZ9VCB.js} +1 -1
- package/dist/{memory-cli-BFmPf1vX.js → memory-cli-Di1UAOeP.js} +19 -19
- package/dist/{model-BdtGsU0w.js → model-LUi1O3vn.js} +2 -2
- package/dist/{model-catalog-BFpUFk9P.js → model-catalog-CILu9Z2R.js} +4 -4
- package/dist/{model-picker-DfPEPmyG.js → model-picker-DEtgkAeg.js} +4 -4
- package/dist/{model-selection-DFW5CGMj.js → model-selection-DkRYDpst.js} +1 -1
- package/dist/{models-BFA4HNWZ.js → models-DNB4wkv9.js} +22 -22
- package/dist/{models-cli-Dr6xsf9u.js → models-cli-3UYYFe4J.js} +108 -108
- package/dist/{models-config-tNRAxYqz.js → models-config-BaSANr-E.js} +1 -1
- package/dist/{models-config-DeFWUZZ4.js → models-config-CpqLFZ0C.js} +7 -7
- package/dist/{node-cli-CwZAQhJF.js → node-cli-C5EoWnG2.js} +43 -43
- package/dist/{node-command-policy-DI3ORiR8.js → node-command-policy-Du4mYUDU.js} +1 -1
- package/dist/{node-service-BzjqnGwX.js → node-service-1KIfvVTH.js} +1 -1
- package/dist/{nodes-cli-B8IwLLk_.js → nodes-cli-iZMsO1rK.js} +23 -23
- package/dist/{nodes-screen-_oGcI1Qk.js → nodes-screen-Bt0pPjvM.js} +8 -8
- package/dist/{note-Cx7zfzxq.js → note-D_lQmF8n.js} +2 -2
- package/dist/{npm-pack-install-DGHHbtvq.js → npm-pack-install-H0t8obmJ.js} +23 -23
- package/dist/{npm-resolution-Bs1-SlpJ.js → npm-resolution-BsmgpsD3.js} +5 -5
- package/dist/{nudge-BM2vjxIV.js → nudge-Ba6E2hnD.js} +9 -9
- package/dist/{nudge-DklIe0bB.js → nudge-Chvj0Rw2.js} +10 -10
- package/dist/{oauth-tls-preflight-XZUNc0t9.js → oauth-tls-preflight-Bz0HopcL.js} +1 -1
- package/dist/{onboard-DqzWdVBc.js → onboard-CYQVIEKp.js} +11 -11
- package/dist/{onboard-channels-BPG2HZnB.js → onboard-channels-8Z1BL5sc.js} +24 -24
- package/dist/{onboard-custom-C3M6Ycoy.js → onboard-custom-D8bIuPDq.js} +4 -4
- package/dist/{onboard-helpers-fXPeNVOY.js → onboard-helpers-BK8DRSuP.js} +13 -13
- package/dist/{onboard-hooks-BK716f_m.js → onboard-hooks-DEfvWRZ_.js} +6 -6
- package/dist/{onboard-remote-CHQaWjXK.js → onboard-remote-DUj7hiE1.js} +5 -5
- package/dist/{onboard-skills-UwDpxppX.js → onboard-skills-B3GstrRp.js} +4 -4
- package/dist/{onboarding-Bzi7Xv7r.js → onboarding-CDHMZKiy.js} +18 -18
- package/dist/{onboarding.finalize-SNascoiv.js → onboarding.finalize-D3hX9K5R.js} +116 -116
- package/dist/{onboarding.gateway-config-CAJLJZuY.js → onboarding.gateway-config-By-4hBj8.js} +21 -21
- package/dist/{onboarding.secret-input-BdYZJX40.js → onboarding.secret-input-CGZRLs69.js} +1 -1
- package/dist/{openai-model-default-CKLjgg0u.js → openai-model-default-CDCQe0bT.js} +2 -2
- package/dist/{openclaw-root-C3plUO0H.js → openclaw-root-Bh3xNyXD.js} +2 -2
- package/dist/{operator-commands-Dk778q2i.js → operator-commands-DdzvHG_L.js} +6 -6
- package/dist/{outbound-attachment-CPlIqfXt.js → outbound-attachment-CM00ZAId.js} +2 -2
- package/dist/{outbound-attachment-BeSAM8qU.js → outbound-attachment-DegoJUYB.js} +1 -1
- package/dist/{outbound-message-hooks-C1IptFSi.js → outbound-message-hooks-ClMNzy21.js} +5 -5
- package/dist/{outbound-message-hooks-CrrbzX7U.js → outbound-message-hooks-bMw-LLuz.js} +2 -2
- package/dist/{pairing-cli-44MnMOK-.js → pairing-cli-ZEOWHCym.js} +10 -10
- package/dist/{pairing-labels-BUXv00_M.js → pairing-labels-DGG9rR88.js} +1 -1
- package/dist/{pairing-store-Bt8dPEgN.js → pairing-store-3I6u3yrD.js} +4 -4
- package/dist/{path-alias-guards-DKZW3qVC.js → path-alias-guards-tEWiWfoS.js} +3 -3
- package/dist/{path-safety-CDLqkmsu.js → path-safety-DPn_Xy80.js} +1 -1
- package/dist/{pi-embedded-CL5jkXds.js → pi-embedded-BSVP6xD2.js} +64 -64
- package/dist/{pi-embedded-helpers-CsBOkBvA.js → pi-embedded-helpers-DJo9j-U6.js} +6 -6
- package/dist/{pi-embedded-recovery-adapter-DTp5q5z6.js → pi-embedded-recovery-adapter-lqZa1SR7.js} +37 -37
- package/dist/{pi-embedded-utils-D9zLeiKy.js → pi-embedded-utils-BF4B99Db.js} +1 -1
- package/dist/{pi-embedded-utils-D2xq0Dlg.js → pi-embedded-utils-BOUhZp06.js} +2 -2
- package/dist/{pi-model-discovery-DiGB5xAq.js → pi-model-discovery-B5oKc4R3.js} +1 -1
- package/dist/{pi-model-discovery-CmI-ZSqs.js → pi-model-discovery-CigFHOOz.js} +1 -1
- package/dist/{pid-alive-SdfUhiUL.js → pid-alive-dd2LsB9B.js} +1 -1
- package/dist/{plugin-auto-enable-Di22jxHz.js → plugin-auto-enable-DWc-XmZz.js} +2 -2
- package/dist/{plugin-owned-work-recovery-adapter-CcRAG_7s.js → plugin-owned-work-recovery-adapter-DGWAcSir.js} +7 -7
- package/dist/{plugin-registry-m6okOYJK.js → plugin-registry-Cb2wBZSl.js} +4 -4
- package/dist/plugin-sdk/{agent-scope-BnbrZIzh.js → agent-scope-Cy5bPtkD.js} +1 -1
- package/dist/plugin-sdk/{agent-turn-execute-Bj1_MqWi.js → agent-turn-execute-Cr_GYkDb.js} +79 -79
- package/dist/plugin-sdk/{agent-turn-runner-zbex5xar.js → agent-turn-runner-CBR6kAt-.js} +6 -6
- package/dist/plugin-sdk/{api-key-rotation-Dpyf5O6z.js → api-key-rotation-BKcVxTy8.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-DlNHpUpW.js → audio-preflight-BVKGoA22.js} +23 -23
- package/dist/plugin-sdk/{audio-transcription-runner-BNWmQAJ3.js → audio-transcription-runner-Cvfignlt.js} +10 -10
- package/dist/plugin-sdk/{chrome-DwoV5WFU.js → chrome-Djvom4Ij.js} +6 -6
- package/dist/plugin-sdk/{chunk-CBTJQenE.js → chunk-Bh4ffo9K.js} +3 -3
- package/dist/plugin-sdk/{command-queue-hSL_BIod.js → command-queue-DxcAKezg.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-vhM5U22x.js → commands-registry-CCiWhIrU.js} +2 -2
- package/dist/plugin-sdk/{credentials-oF38Hm9r.js → credentials-BFdx8hCQ.js} +1 -1
- package/dist/plugin-sdk/{deliver-CkQB8s_s.js → deliver-Cf-VdZA7.js} +14 -14
- package/dist/plugin-sdk/{diagnostic-nUTVaBEe.js → diagnostic-BpXW-Rhw.js} +3 -3
- package/dist/plugin-sdk/{errors-BcCM5PTR.js → errors-BH3DYZVB.js} +1 -1
- package/dist/plugin-sdk/{fetch-DV_cKD5m.js → fetch-B9WuvLLv.js} +7 -7
- package/dist/plugin-sdk/{fetch-BNHoA66Z.js → fetch-BxGJD3sH.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-Dpd7hJ0h.js → fetch-guard-CJhIVznN.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-CnAPtYPG.js → fs-safe-BQ8e0fFk.js} +3 -3
- package/dist/{image-ops-BKyJ_gQP.js → plugin-sdk/image-ops-CqatVl0e.js} +2 -2
- package/dist/plugin-sdk/{ir-BnNIPrDz.js → ir-C1cLQG0N.js} +5 -5
- package/dist/plugin-sdk/{manager-uIw894nB.js → manager-xGWNrW5i.js} +7 -7
- package/dist/plugin-sdk/{markdown-tables-D6Jl1s9s.js → markdown-tables-DnMUQn1V.js} +2 -2
- package/dist/plugin-sdk/{model-auth-Beiv1ujI.js → model-auth-pNsZhRxq.js} +7 -7
- package/dist/plugin-sdk/{models-config-DrzOHxl5.js → models-config-d-LFEKVs.js} +2 -2
- package/dist/plugin-sdk/{nudge-czM3OOTT.js → nudge-BvirROp6.js} +8 -8
- package/dist/plugin-sdk/{openai-compatible-video-Dy57wpNv.js → openai-compatible-video-BxPbkLMy.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment-BoSR20RK.js → outbound-attachment-DkIWM5yK.js} +2 -2
- package/dist/plugin-sdk/{outbound-message-hooks-eUNVCJ0m.js → outbound-message-hooks-DsAvrOUy.js} +4 -4
- package/dist/plugin-sdk/{path-alias-guards-D1I2TIj4.js → path-alias-guards-CF0cvXKB.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-BRSkUtFR.js → pi-embedded-helpers-Ctve63Vr.js} +15 -15
- package/dist/plugin-sdk/{pi-embedded-utils-DcsHTJ1m.js → pi-embedded-utils-cecBA96E.js} +3 -3
- package/dist/plugin-sdk/{pi-model-discovery-HVno_0HD.js → pi-model-discovery-CMOEq078.js} +1 -1
- package/dist/plugin-sdk/provider-media-understanding.js +20 -20
- package/dist/plugin-sdk/{pw-ai-B1OqkFDb.js → pw-ai-Bl2Z9GYg.js} +10 -10
- package/dist/plugin-sdk/{qmd-manager-Ip6QnhA7.js → qmd-manager-DY9c1S_2.js} +8 -8
- package/dist/plugin-sdk/{qmd-scope-DMNjwnEQ.js → qmd-scope-C3rw3Qjd.js} +1 -1
- package/dist/plugin-sdk/{query-expansion-DV-ECmRb.js → query-expansion-BhXha2GI.js} +2 -2
- package/dist/plugin-sdk/{recorder-XQ8ZjG7j.js → recorder-DccHbgBz.js} +2 -2
- package/dist/plugin-sdk/{redact-C3T6IWmQ.js → redact-CXDVzhSq.js} +1 -1
- package/dist/{replies-BV9swQ1C.js → plugin-sdk/replies-CyyZdjYH.js} +5 -5
- package/dist/plugin-sdk/{reply-directives-Bn4oBJnk.js → reply-directives-CXKYiQC1.js} +2 -2
- package/dist/{reply-prefix-dFOjKRtQ.js → plugin-sdk/reply-prefix-DL3DiQEo.js} +1 -1
- package/dist/plugin-sdk/{resolve-route-Djrs4IWv.js → resolve-route-CsiTWvoi.js} +3 -3
- package/dist/plugin-sdk/{runs-DN-UxJ44.js → runs-ByM3uA8B.js} +8 -8
- package/dist/plugin-sdk/{send-DnJb7LiP.js → send-BwuMsQ_p.js} +8 -8
- package/dist/plugin-sdk/{send-AstP-BDn.js → send-D0UAWWai.js} +8 -8
- package/dist/plugin-sdk/{send-D3hVSNy0.js → send-Dgf6n9kX.js} +6 -6
- package/dist/plugin-sdk/{send-D5C72eu6.js → send-qUR5w2lM.js} +7 -7
- package/dist/plugin-sdk/{session-meta-pKpwf1nQ.js → session-meta-B_alDqcD.js} +1 -1
- package/dist/plugin-sdk/{sessions-BfBjVuaP.js → sessions-CkJfRajZ.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-Bk_STwKa.js → skill-commands-D5O0FXiW.js} +4 -4
- package/dist/plugin-sdk/{skills-BArFQgKX.js → skills-ByCpoIW7.js} +6 -6
- package/dist/plugin-sdk/{ssrf-B2UnPTf3.js → ssrf-aLKAjCHj.js} +1 -1
- package/dist/plugin-sdk/{store-D8eITlWs.js → store-KaVQ5gHj.js} +2 -2
- package/dist/plugin-sdk/{subsystem-Btq0amiz.js → subsystem-DGPv0F8I.js} +4 -4
- package/dist/plugin-sdk/{tables-Bj_zeTwr.js → tables-CONj5xDV.js} +1 -1
- package/dist/plugin-sdk/{tokens-mfZMXas7.js → tokens-DUGBy1gM.js} +1 -1
- package/dist/plugin-sdk/{tool-loop-detection-CnFqoQKh.js → tool-loop-detection-Cl4-Vsd_.js} +1 -1
- package/dist/plugin-sdk/{user-run-recording-DQBPNzif.js → user-run-recording--8aaZMPs.js} +2 -2
- package/dist/plugin-sdk/{ws-DN6RmfyQ.js → ws-C7BGsi5P.js} +1 -1
- package/dist/{plugins-cli-DbSExy8A.js → plugins-cli-DtiaGIyb.js} +111 -111
- package/dist/{plugins-hJwhsniN.js → plugins-jkI2QMUK.js} +32 -32
- package/dist/{ports-X8s27uv3.js → ports-B4L6rn9E.js} +2 -2
- package/dist/{ports-CTICGXug.js → ports-BtguoLP4.js} +3 -3
- package/dist/{program-CksGKwx_.js → program-CcLb8Psv.js} +107 -107
- package/dist/{progress-BjZYY1Uu.js → progress-FkWSD-ms.js} +2 -2
- package/dist/{prompt-select-styled-Ba2czW3-.js → prompt-select-styled-DUTH4ST5.js} +48 -48
- package/dist/{prompt-style-cCsJsI34.js → prompt-style-CKvOU02-.js} +1 -1
- package/dist/{provider-auth-helpers-Cco1DT9-.js → provider-auth-helpers-BIoESstO.js} +6 -6
- package/dist/{proxy-env-D1_K1XbP.js → proxy-env-BjF-dsmA.js} +1 -1
- package/dist/{proxy-env-RzbogHFe.js → proxy-env-C0UK-5dm.js} +1 -1
- package/dist/{push-apns-BgM09-fX.js → push-apns-BnRCjqCx.js} +10 -10
- package/dist/{pw-ai-D55f0Pr9.js → pw-ai-8QlHyDLL.js} +4 -4
- package/dist/{pw-ai-BRt2VuwS.js → pw-ai-loi9x_qC.js} +17 -17
- package/dist/{qmd-manager-C4rOtrQS.js → qmd-manager-B_ED_NmL.js} +2 -2
- package/dist/{qmd-manager-BE2jOEtY.js → qmd-manager-DE17I-GG.js} +25 -25
- package/dist/{qmd-scope-CCUmVM52.js → qmd-scope-C7RZSmjF.js} +1 -1
- package/dist/{qr-cli-DWJQyq6f.js → qr-cli-C21aeT7a.js} +9 -9
- package/dist/{query-expansion-Dm_RIg6M.js → query-expansion-BVj0lCGG.js} +1 -1
- package/dist/{query-expansion-DiS55fL8.js → query-expansion-Bt2T2t1J.js} +10 -10
- package/dist/{reconcile-bundled-CS-YCQMj.js → reconcile-bundled-C2O6l6xl.js} +3 -3
- package/dist/{recorder-DRV1SIKe.js → recorder-BowlGHGe.js} +1 -1
- package/dist/{recorder-sONRpmXO.js → recorder-MkhBoIQ8.js} +2 -2
- package/dist/{recovery-adapter-QihxBJX1.js → recovery-adapter-DFSy8tM2.js} +3 -3
- package/dist/{recovery-adapter-CE-CS8gT.js → recovery-adapter-DLmjnZui.js} +7 -7
- package/dist/{recovery-adapter-hQc2OlhS.js → recovery-adapter-LXEXe9qT.js} +2 -2
- package/dist/{recovery-prompt-DOrSuDNr.js → recovery-prompt-BZciroCj.js} +1 -1
- package/dist/{redact-snapshot-ZwtXuqkJ.js → redact-snapshot-DrvZI2y8.js} +2 -2
- package/dist/{register.agent-Ryj1Y3cF.js → register.agent-C9Q4TbJV.js} +122 -122
- package/dist/register.configure-BjZmfKDU.js +170 -0
- package/dist/{register.maintenance-ADp9HkB5.js → register.maintenance-CFd160fT.js} +130 -130
- package/dist/{register.message-CJJI5stq.js → register.message-3kx8P86J.js} +101 -101
- package/dist/{register.onboard-CgC5-Vgb.js → register.onboard-C-lkIY7d.js} +26 -26
- package/dist/{register.setup-DOXh2Bsp.js → register.setup-BAiTfEey.js} +29 -29
- package/dist/{register.status-health-sessions-Gb6bT4z7.js → register.status-health-sessions-DOrDm-yG.js} +120 -120
- package/dist/{register.subclis-B1TmGIjo.js → register.subclis-3YVvoBSB.js} +34 -34
- package/dist/{replies-BL7cHT2h.js → replies-7qxW8HcU.js} +4 -4
- package/dist/{plugin-sdk/replies-HCqRS_IF.js → replies-v8JTcIK3.js} +5 -5
- package/dist/{reply-directives-AfKRCqZx.js → reply-directives-BSDOTSgY.js} +2 -2
- package/dist/{reply-directives-D4Hftiqp.js → reply-directives-DarQZxqY.js} +1 -1
- package/dist/{plugin-sdk/reply-prefix-CCyygbH2.js → reply-prefix-CJ_JdsYa.js} +1 -1
- package/dist/{reset-DVYPRsdq.js → reset-Dnw4nNtL.js} +1 -1
- package/dist/{resolve-route-D96zWGGF.js → resolve-route-B15qdahX.js} +1 -1
- package/dist/{resolve-route-jsfvjnjM.js → resolve-route-ChrD30tC.js} +5 -5
- package/dist/{rpc-B-JqtZFU.js → rpc-CZkdcSAv.js} +3 -3
- package/dist/{run-main-BiXsCL7k.js → run-main-BBLzm5df.js} +120 -120
- package/dist/{runs-CAO_rrxJ.js → runs-5zWtWfx5.js} +5 -5
- package/dist/{runs-D3pvYlI5.js → runs-lJqVvQpF.js} +7 -7
- package/dist/{runtime-CX9Ouo4d.js → runtime-C6jPY8mC.js} +4 -4
- package/dist/{runtime-config-BlJKzsfR.js → runtime-config-C3elfZ8o.js} +1 -1
- package/dist/{runtime-config-collectors-L3B3v-vc.js → runtime-config-collectors-CpQCtgl-.js} +1 -1
- package/dist/{runtime-guard-BqXbX2C8.js → runtime-guard-9X-WolTn.js} +1 -1
- package/dist/{sandbox-pDe2U_mh.js → sandbox-B1zZvKcw.js} +21 -21
- package/dist/{sandbox-cli-30QRIK2J.js → sandbox-cli-DzmoYlMv.js} +33 -33
- package/dist/{secrets-cli-DqMBExeW.js → secrets-cli-DfVOcY7E.js} +16 -16
- package/dist/{security-cli-Bggbv_hS.js → security-cli-DEsAfTtt.js} +47 -47
- package/dist/{send-DHil3Tj6.js → send-C8YuqL0X.js} +6 -6
- package/dist/{send-Dv__vEQx.js → send-Cl-ugSMv.js} +5 -5
- package/dist/{send-Co8hK60n.js → send-D1F9bQCi.js} +13 -13
- package/dist/{send-FQrlCKRx.js → send-DJypuRge.js} +6 -6
- package/dist/{send-T9aTnSyS.js → send-DdyIJ_uy.js} +4 -4
- package/dist/{send-CS1yI0B4.js → send-Dy4zxtn3.js} +6 -6
- package/dist/{send-BCxn7V3E.js → send-THRoEbTj.js} +7 -7
- package/dist/{send-SCUE8Q1y.js → send-hay_ikCy.js} +6 -6
- package/dist/{server-NcbcM2wV.js → server-CyC0JY7y.js} +23 -23
- package/dist/{server-context-Dbo6G7sv.js → server-context-BHTq-BWT.js} +12 -12
- package/dist/{server-lifecycle-B_stkYoe.js → server-lifecycle-yrYTmjE-.js} +3 -3
- package/dist/{server-middleware-B_2l7R1r.js → server-middleware-ZUs-xzRz.js} +1 -1
- package/dist/{server-node-events-B6FtiNSg.js → server-node-events-CkTQV9Az.js} +101 -101
- package/dist/{service-Dqk7p14H.js → service-Zezrymwp.js} +15 -15
- package/dist/{session-consumer-agents-CvPuQmfS.js → session-consumer-agents-BRMrM2o-.js} +1 -1
- package/dist/{session-consumer-claim-sweep-DhVmxqQy.js → session-consumer-claim-sweep-_oL2rxfz.js} +9 -9
- package/dist/{session-key-DCnSJLJC.js → session-key-D0gYNgj1.js} +1 -1
- package/dist/{session-meta-dUXgzHbR.js → session-meta-DaUsOxk7.js} +1 -1
- package/dist/{session-meta-CyokAxEY.js → session-meta-DgpwY0ah.js} +1 -1
- package/dist/{session-storage-CjIKP2NZ.js → session-storage-BfU-kuLQ.js} +22 -22
- package/dist/{session-storage-owner-CO5jNlHE.js → session-storage-owner-D_Fi2Wk6.js} +53 -53
- package/dist/{session-store-targets-BGJ8yVsf.js → session-store-targets-hkH2SdUu.js} +3 -3
- package/dist/{session-utils-c3U4yjnJ.js → session-utils-Cdb2eB8x.js} +9 -9
- package/dist/{sessions-A1wDmvXO.js → sessions-B-dL4q0P.js} +1 -1
- package/dist/{sessions-BvaQTQmu.js → sessions-BM-Q49zJ.js} +5 -5
- package/dist/{sessions-BiELuq5_.js → sessions-C2ZQ1A-F.js} +17 -17
- package/dist/{sessions-DnaVJUbG.js → sessions-CvMRmh8w.js} +6 -6
- package/dist/{sessions-claims-status-qsIZrqkF.js → sessions-claims-status-Dfbt3tnB.js} +11 -11
- package/dist/{sessions-maintenance-core-DEdXmfR_.js → sessions-maintenance-core-BW8CjGZC.js} +8 -8
- package/dist/{setup-helpers-Diezeqg_.js → setup-helpers-pNb4G258.js} +1 -1
- package/dist/{shared-B3ocxh66.js → shared-BP-zD7jL.js} +4 -4
- package/dist/{shared-B6U3uuAo.js → shared-CAhli5Ov.js} +2 -2
- package/dist/{skill-commands-CZ8IAEbM.js → skill-commands-1Axnvvz6.js} +2 -2
- package/dist/{skill-commands-BETnQ4BY.js → skill-commands-BkpzU1Pe.js} +7 -7
- package/dist/{skill-scanner-DXsZ33dg.js → skill-scanner-CfYJtlhU.js} +7 -7
- package/dist/{skills-D7jLGkoP.js → skills-CMwL1GBr.js} +1 -1
- package/dist/{skills-B5z9ZsEq.js → skills-DL1ojgrn.js} +6 -6
- package/dist/{skills-cli-HYs8JFCk.js → skills-cli-CIpQS5R0.js} +9 -9
- package/dist/{skills-install-87RyWiU6.js → skills-install-CVPzCve4.js} +9 -9
- package/dist/{skills-status-VTzFS62-.js → skills-status-yGkSyL5Y.js} +3 -3
- package/dist/{status-6Pto7ZBs.js → status-5ghaY4vw.js} +49 -49
- package/dist/{status.update-8Y1m_3ee.js → status.update-CP6-2fA7.js} +2 -2
- package/dist/{storage-config-0A4GJ9dw.js → storage-config-Bnq9G52N.js} +4 -4
- package/dist/{store-fP8MzUS1.js → store-cV4bbDty.js} +7 -7
- package/dist/{subsystem-BNf8H-Zm.js → subsystem-xTuYkxuQ.js} +1 -1
- package/dist/{supervisor-CCaYPH_3.js → supervisor-RSmYlWKn.js} +2 -2
- package/dist/{system-cli-DHhkZXhu.js → system-cli-Ba8Cksuh.js} +13 -13
- package/dist/{system-run-command-BOMgaFVw.js → system-run-command-B6oEb0S7.js} +2 -2
- package/dist/{systemd-z2RhFRaN.js → systemd-BVSb7hmO.js} +11 -11
- package/dist/{systemd-hints-BZZDCrDu.js → systemd-hints-QF9bOgxF.js} +9 -9
- package/dist/{systemd-linger-wlGX54dO.js → systemd-linger-C3vWGByc.js} +2 -2
- package/dist/{table-B9NKM7QS.js → table-BlAgr2Pf.js} +2 -2
- package/dist/{tables-DIX5n_bD.js → tables-BRQFx6QN.js} +1 -1
- package/dist/{tables-BFlTcF5k.js → tables-rCzAF-en.js} +1 -1
- package/dist/{tailnet-jp0meR1r.js → tailnet-BrtA9p9W.js} +1 -1
- package/dist/{tailscale-C8Mp_8WD.js → tailscale-N0qH8IeI.js} +2 -2
- package/dist/{task-pipeline-boot-BECY3KSk.js → task-pipeline-boot-Bhs2KtgV.js} +101 -101
- package/dist/{task-runlog-retention-PxLOGqDm.js → task-runlog-retention-BbfPrVTF.js} +5 -5
- package/dist/{tasks-CTVdDpmg.js → tasks-B4ZWGApJ.js} +11 -11
- package/dist/{tokens-DN7qBY5z.js → tokens-DB7GfarG.js} +1 -1
- package/dist/{tool-display-CiO2G0my.js → tool-display-geiQFcY0.js} +1 -1
- package/dist/{tool-loop-detection-DQjVlWYY.js → tool-loop-detection-FPHHn6dc.js} +2 -2
- package/dist/{trash-LrcyZ91F.js → trash-DdUKVsNs.js} +3 -3
- package/dist/{tui-xf8IgnqM.js → tui-BOtfvVU1.js} +9 -9
- package/dist/{tui-cli-DHuAZ4Tn.js → tui-cli-BimiaKdT.js} +35 -35
- package/dist/{update-D7SZ97V0.js → update-DtLchPKN.js} +3 -3
- package/dist/{update-cli-DCOpiuuc.js → update-cli-D4CRTu-Y.js} +140 -140
- package/dist/{update-runner-CAqinp0p.js → update-runner-RF2NcyRl.js} +18 -18
- package/dist/{user-run-recording-CTOXtrSm.js → user-run-recording-Bax2KSZY.js} +1 -1
- package/dist/{user-run-recording-Dyk-akZz.js → user-run-recording-D5nQiSUv.js} +2 -2
- package/dist/{validation-cli-BfqKMFuW.js → validation-cli-cKBnF9Ls.js} +100 -100
- package/dist/{web-cli-DjtxcVT4.js → web-cli-BZ0Zc6-w.js} +3 -3
- package/dist/{webhooks-cli-DyJgkjfJ.js → webhooks-cli-D4_kaUZ9.js} +10 -10
- package/dist/{widearea-dns-DVcwi8Gl.js → widearea-dns-yEJeCMxo.js} +1 -1
- package/dist/{with-timeout-FupCoEUw.js → with-timeout-DsMQOfWA.js} +6 -6
- package/dist/{workspace-CW_EbF1c.js → workspace-YBHCWOnL.js} +2 -2
- package/dist/{workspace-dirs-BBODHFtF.js → workspace-dirs-fmaX57pQ.js} +1 -1
- package/dist/{ws-CQigqc-W.js → ws-CWxX8WDm.js} +1 -1
- package/dist/{ws-XBuRX9zR.js → ws-DL02xZ7p.js} +2 -2
- package/dist/{wsl-BUAmcNIB.js → wsl-DCCrtVjw.js} +2 -2
- package/extensions/acpx/package.json +1 -1
- package/extensions/anthropic/package.json +1 -1
- package/extensions/bifrost/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/deepgram/package.json +1 -1
- package/extensions/deepinfra/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/diffs/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/dream-cycle/package.json +1 -1
- package/extensions/elevenlabs/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/gemini-search/package.json +1 -1
- package/extensions/google/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/grok-search/package.json +1 -1
- package/extensions/groq/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/kimi-search/package.json +1 -1
- package/extensions/kokoro/package.json +1 -1
- package/extensions/learning-core/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/lobster/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +1 -1
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/mistral/package.json +1 -1
- package/extensions/moonshot/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +1 -1
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +1 -1
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/openai/package.json +1 -1
- package/extensions/openai-realtime/package.json +1 -1
- package/extensions/openrouter/package.json +1 -1
- package/extensions/perplexity-search/package.json +1 -1
- package/extensions/searxng-search/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +1 -1
- package/extensions/twitch/package.json +1 -1
- package/extensions/ui-surfaces/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +1 -1
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zai/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +1 -1
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +1 -1
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/cli-BLM45Ywj.js +0 -166
- package/dist/register.configure-CTCrUI3p.js +0 -170
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { X as isPathInside, Y as isNotFoundPathError } from "./globals-
|
|
2
|
-
import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-
|
|
3
|
-
import { n as resolveSafeBaseDir } from "./path-safety-
|
|
1
|
+
import { X as isPathInside, Y as isNotFoundPathError } from "./globals-3lUHnZas.js";
|
|
2
|
+
import { a as openWritableFileWithinRoot, t as SafeOpenError } from "./fs-safe-BqogKG9V.js";
|
|
3
|
+
import { n as resolveSafeBaseDir } from "./path-safety-DPn_Xy80.js";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fsPromises 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 fsPromises.stat(direct)).isDirectory()) return direct;
|
|
82
82
|
} catch {}
|
|
83
|
-
const dirs = (await
|
|
83
|
+
const dirs = (await fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
|
|
279
|
+
const buffer = await fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.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 fsPromises.realpath(baseDir);
|
|
439
439
|
const validateDirectory = async (dirPath) => {
|
|
440
|
-
const dirLstat = await
|
|
440
|
+
const dirLstat = await fsPromises.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 fsPromises.realpath(dirPath))) throw new Error(`Invalid path: must stay within ${params.boundaryLabel}`);
|
|
443
443
|
};
|
|
444
444
|
try {
|
|
445
445
|
await validateDirectory(candidatePath);
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { R as extensionUsesSkippedScannerPath, St as resolveUserPath, ct as CONFIG_DIR, z as isPathInside } from "./globals-
|
|
2
|
-
import { Cs as loadPluginManifest, os as checkPluginVersionCompat, ws as resolvePackageExtensionEntries } from "./plugins-
|
|
1
|
+
import { R as extensionUsesSkippedScannerPath, St as resolveUserPath, ct as CONFIG_DIR, z as isPathInside } from "./globals-3lUHnZas.js";
|
|
2
|
+
import { Cs as loadPluginManifest, os as checkPluginVersionCompat, ws as resolvePackageExtensionEntries } from "./plugins-jkI2QMUK.js";
|
|
3
3
|
import { n as resolveHostVersionInfo } from "./version-BdUvZ8Ep.js";
|
|
4
|
-
import { C as validateRegistryNpmSpec } from "./skills-
|
|
5
|
-
import { c as writeFileFromPathWithinRoot } from "./fs-safe-
|
|
4
|
+
import { C as validateRegistryNpmSpec } from "./skills-DL1ojgrn.js";
|
|
5
|
+
import { c as writeFileFromPathWithinRoot } from "./fs-safe-BqogKG9V.js";
|
|
6
6
|
import { n as docsSiteUrl } from "./docs-site-Bx-VRaE-.js";
|
|
7
|
-
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-
|
|
8
|
-
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-
|
|
9
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
7
|
+
import { a as unscopedPackageName, c as fileExists, l as readJsonFile, n as resolveSafeInstallDir, r as safeDirName, u as resolveArchiveKind } from "./install-safe-path-CpaP5QP8.js";
|
|
8
|
+
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-H0t8obmJ.js";
|
|
9
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-CfYJtlhU.js";
|
|
10
10
|
import path from "node:path";
|
|
11
|
-
import
|
|
11
|
+
import fsPromises from "node:fs/promises";
|
|
12
12
|
|
|
13
13
|
//#region src/plugins/install.ts
|
|
14
14
|
const MISSING_EXTENSIONS_ERROR = "package.json missing openclaw.extensions; update the plugin package to include openclaw.extensions (for example [\"./dist/index.js\"]). See " + docsSiteUrl("users/help/troubleshooting#plugin-install-fails-with-missing-openclaw-extensions");
|
|
@@ -254,7 +254,7 @@ async function installPluginFromDir(params) {
|
|
|
254
254
|
ok: false,
|
|
255
255
|
error: `directory not found: ${dirPath}`
|
|
256
256
|
};
|
|
257
|
-
if (!(await
|
|
257
|
+
if (!(await fsPromises.stat(dirPath)).isDirectory()) return {
|
|
258
258
|
ok: false,
|
|
259
259
|
error: `not a directory: ${dirPath}`
|
|
260
260
|
};
|
|
@@ -271,7 +271,7 @@ async function installPluginFromFile(params) {
|
|
|
271
271
|
error: `file not found: ${filePath}`
|
|
272
272
|
};
|
|
273
273
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
274
|
-
await
|
|
274
|
+
await fsPromises.mkdir(extensionsDir, { recursive: true });
|
|
275
275
|
const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
|
|
276
276
|
const pluginIdError = validatePluginId(pluginId);
|
|
277
277
|
if (pluginIdError) return {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Fo as isIpv6Address, Vo as parseCanonicalIpAddress, jo as isCanonicalDottedDecimalIPv4 } from "./plugins-
|
|
2
|
-
import { o as getTailnetHostname } from "./tailscale-
|
|
1
|
+
import { Fo as isIpv6Address, Vo as parseCanonicalIpAddress, jo as isCanonicalDottedDecimalIPv4 } from "./plugins-jkI2QMUK.js";
|
|
2
|
+
import { o as getTailnetHostname } from "./tailscale-N0qH8IeI.js";
|
|
3
3
|
import { n as docsSiteUrl } from "./docs-site-Bx-VRaE-.js";
|
|
4
4
|
|
|
5
5
|
//#region src/gateway/gateway-config-prompts.shared.ts
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { St as resolveUserPath, a as logVerbose, c as shouldLogVerbose } from "./globals-
|
|
2
|
-
import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-
|
|
3
|
-
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-
|
|
4
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
5
|
-
import { a as chunkText } from "./chunk-
|
|
1
|
+
import { St as resolveUserPath, a as logVerbose, c as shouldLogVerbose } from "./globals-3lUHnZas.js";
|
|
2
|
+
import { s as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BqogKG9V.js";
|
|
3
|
+
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-BiZX2JoM.js";
|
|
4
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-KUu9BT-y.js";
|
|
5
|
+
import { a as chunkText } from "./chunk-CIpxqo8a.js";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import path from "node:path";
|
|
8
|
-
import
|
|
8
|
+
import fsPromises from "node:fs/promises";
|
|
9
9
|
import MarkdownIt from "markdown-it";
|
|
10
10
|
|
|
11
11
|
//#region src/media/web-media.ts
|
|
@@ -36,7 +36,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
36
36
|
const roots = localRoots ?? getDefaultLocalRoots();
|
|
37
37
|
let resolved;
|
|
38
38
|
try {
|
|
39
|
-
resolved = await
|
|
39
|
+
resolved = await fsPromises.realpath(mediaPath);
|
|
40
40
|
} catch {
|
|
41
41
|
resolved = path.resolve(mediaPath);
|
|
42
42
|
}
|
|
@@ -53,7 +53,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
53
53
|
for (const root of roots) {
|
|
54
54
|
let resolvedRoot;
|
|
55
55
|
try {
|
|
56
|
-
resolvedRoot = await
|
|
56
|
+
resolvedRoot = await fsPromises.realpath(root);
|
|
57
57
|
} catch {
|
|
58
58
|
resolvedRoot = path.resolve(root);
|
|
59
59
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { f as logVerbose, h as shouldLogVerbose, st as resolveUserPath } from "./subsystem-DynBFcQj.js";
|
|
2
2
|
import { a as hasAlphaChannel, c as detectMime, g as maxBytesForKind, l as extensionForMime, o as optimizeImageToPng, p as kindFromMime, r as convertHeicToJpeg, s as resizeToJpeg } from "./image-ops-Dk3eDp_u.js";
|
|
3
3
|
import { o as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CFEZK0gv.js";
|
|
4
|
-
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-
|
|
5
|
-
import { a as chunkText } from "./chunk-
|
|
4
|
+
import { a as getDefaultMediaLocalRoots, n as fetchRemoteMedia } from "./fetch-BzeUsif1.js";
|
|
5
|
+
import { a as chunkText } from "./chunk-CGvXEMAJ.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import fs from "node:fs/promises";
|
|
8
8
|
import { fileURLToPath } from "node:url";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Ot as truncateUtf16Safe } from "./globals-
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
3
|
-
import { p as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-
|
|
1
|
+
import { Ot as truncateUtf16Safe } from "./globals-3lUHnZas.js";
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
|
|
3
|
+
import { p as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-D0gYNgj1.js";
|
|
4
4
|
import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-DeKW3Z4c.js";
|
|
5
5
|
import crypto, { randomUUID } from "node:crypto";
|
|
6
6
|
import { Cron } from "croner";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
-
import
|
|
2
|
+
import fsPromises from "node:fs/promises";
|
|
3
3
|
import { randomUUID } from "node:crypto";
|
|
4
4
|
|
|
5
5
|
//#region src/infra/json-files.ts
|
|
6
6
|
async function readJsonFile(filePath) {
|
|
7
7
|
try {
|
|
8
|
-
const raw = await
|
|
8
|
+
const raw = await fsPromises.readFile(filePath, "utf8");
|
|
9
9
|
return JSON.parse(raw);
|
|
10
10
|
} catch {
|
|
11
11
|
return null;
|
|
@@ -20,7 +20,7 @@ async function writeJsonAtomic(filePath, value, options) {
|
|
|
20
20
|
}
|
|
21
21
|
async function chmodIfSupported(filePath, mode) {
|
|
22
22
|
try {
|
|
23
|
-
await
|
|
23
|
+
await fsPromises.chmod(filePath, mode);
|
|
24
24
|
} catch (err) {
|
|
25
25
|
if (process.platform === "win32") return;
|
|
26
26
|
throw err;
|
|
@@ -31,18 +31,18 @@ async function writeTextAtomic(filePath, content, options) {
|
|
|
31
31
|
const payload = options?.appendTrailingNewline && !content.endsWith("\n") ? `${content}\n` : content;
|
|
32
32
|
const mkdirOptions = { recursive: true };
|
|
33
33
|
if (typeof options?.ensureDirMode === "number") mkdirOptions.mode = options.ensureDirMode;
|
|
34
|
-
await
|
|
34
|
+
await fsPromises.mkdir(path.dirname(filePath), mkdirOptions);
|
|
35
35
|
const tmp = `${filePath}.${randomUUID()}.tmp`;
|
|
36
36
|
try {
|
|
37
|
-
await
|
|
37
|
+
await fsPromises.writeFile(tmp, payload, {
|
|
38
38
|
encoding: "utf8",
|
|
39
39
|
mode
|
|
40
40
|
});
|
|
41
41
|
await chmodIfSupported(tmp, mode);
|
|
42
|
-
await
|
|
42
|
+
await fsPromises.rename(tmp, filePath);
|
|
43
43
|
await chmodIfSupported(filePath, mode);
|
|
44
44
|
} finally {
|
|
45
|
-
await
|
|
45
|
+
await fsPromises.rm(tmp, { force: true }).catch(() => void 0);
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
function createAsyncLock() {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { Tt as shortenHomePath, d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme } from "./globals-
|
|
1
|
+
import { Tt as shortenHomePath, d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme } from "./globals-3lUHnZas.js";
|
|
2
2
|
import { d as resolveIsNixMode } from "./paths-BMo6kTge.js";
|
|
3
|
-
import { m as defaultRuntime } from "./subsystem-
|
|
4
|
-
import { ar as readConfigFileSnapshot, rr as loadConfig } from "./plugins-
|
|
3
|
+
import { m as defaultRuntime } from "./subsystem-xTuYkxuQ.js";
|
|
4
|
+
import { ar as readConfigFileSnapshot, rr as loadConfig } from "./plugins-jkI2QMUK.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-C8lewPDO.js";
|
|
6
|
-
import { t as resolveGatewayCredentialsFromConfig } from "./credentials-
|
|
6
|
+
import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DtepevRH.js";
|
|
7
7
|
import { m as resolveGatewayWindowsTaskName, p as resolveGatewaySystemdServiceName, u as resolveGatewayLaunchAgentLabel } from "./constants-DUAhnQFX.js";
|
|
8
|
-
import { t as isWSL } from "./wsl-
|
|
9
|
-
import { n as formatConfigIssueLines } from "./issue-format-
|
|
10
|
-
import { s as resolveGatewayLogPaths } from "./service-
|
|
11
|
-
import { r as isSystemdUserServiceAvailable } from "./systemd-
|
|
12
|
-
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-
|
|
8
|
+
import { t as isWSL } from "./wsl-DCCrtVjw.js";
|
|
9
|
+
import { n as formatConfigIssueLines } from "./issue-format-Dsb7vnfa.js";
|
|
10
|
+
import { s as resolveGatewayLogPaths } from "./service-Zezrymwp.js";
|
|
11
|
+
import { r as isSystemdUserServiceAvailable } from "./systemd-BVSb7hmO.js";
|
|
12
|
+
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-QF9bOgxF.js";
|
|
13
13
|
import { t as parsePort } from "./parse-port-DSdUR1RE.js";
|
|
14
14
|
import { Writable } from "node:stream";
|
|
15
15
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { b as formatLocalDate, lt as clamp } from "./globals-
|
|
1
|
+
import { b as formatLocalDate, lt as clamp } from "./globals-3lUHnZas.js";
|
|
2
2
|
import path from "node:path";
|
|
3
|
-
import
|
|
3
|
+
import fsPromises from "node:fs/promises";
|
|
4
4
|
|
|
5
5
|
//#region src/logging/log-tail.ts
|
|
6
6
|
const MAX_LIMIT = 5e3;
|
|
@@ -10,14 +10,14 @@ function isRollingLogFile(file) {
|
|
|
10
10
|
return ROLLING_LOG_RE.test(path.basename(file));
|
|
11
11
|
}
|
|
12
12
|
async function resolveActiveLogFile(file) {
|
|
13
|
-
if (await
|
|
13
|
+
if (await fsPromises.stat(file).catch(() => null)) return file;
|
|
14
14
|
if (!isRollingLogFile(file)) return file;
|
|
15
15
|
const dir = path.dirname(file);
|
|
16
|
-
const entries = await
|
|
16
|
+
const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
|
|
17
17
|
if (!entries) return file;
|
|
18
18
|
return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
|
|
19
19
|
const fullPath = path.join(dir, entry.name);
|
|
20
|
-
const fileStat = await
|
|
20
|
+
const fileStat = await fsPromises.stat(fullPath).catch(() => null);
|
|
21
21
|
return fileStat ? {
|
|
22
22
|
path: fullPath,
|
|
23
23
|
mtimeMs: fileStat.mtimeMs
|
|
@@ -25,7 +25,7 @@ async function resolveActiveLogFile(file) {
|
|
|
25
25
|
}))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
|
|
26
26
|
}
|
|
27
27
|
async function readLogSlice(params) {
|
|
28
|
-
const stat = await
|
|
28
|
+
const stat = await fsPromises.stat(params.file).catch(() => null);
|
|
29
29
|
if (!stat) return {
|
|
30
30
|
cursor: 0,
|
|
31
31
|
size: 0,
|
|
@@ -33,7 +33,7 @@ async function readLogSlice(params) {
|
|
|
33
33
|
truncated: false,
|
|
34
34
|
reset: false
|
|
35
35
|
};
|
|
36
|
-
const handle = await
|
|
36
|
+
const handle = await fsPromises.open(params.file, "r");
|
|
37
37
|
try {
|
|
38
38
|
return await readLogSliceFromHandle(handle, stat.size, params);
|
|
39
39
|
} finally {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { ft as displayPath } from "./globals-
|
|
2
|
+
import { ft as displayPath } from "./globals-3lUHnZas.js";
|
|
3
3
|
import { t as CONFIG_PATH } from "./paths-BMo6kTge.js";
|
|
4
4
|
|
|
5
5
|
//#region src/config/logging.ts
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme, v as formatLocalIsoWithOffset, y as isValidTimeZone } from "./globals-
|
|
1
|
+
import { d as colorize, f as isRich, g as getResolvedLoggerSettings, p as theme, v as formatLocalIsoWithOffset, y as isValidTimeZone } from "./globals-3lUHnZas.js";
|
|
2
2
|
import "./paths-BMo6kTge.js";
|
|
3
|
-
import { g as clearActiveProgressLine } from "./subsystem-
|
|
3
|
+
import { g as clearActiveProgressLine } from "./subsystem-xTuYkxuQ.js";
|
|
4
4
|
import "./boolean-C71HJEcH.js";
|
|
5
|
-
import { rr as loadConfig } from "./plugins-
|
|
5
|
+
import { rr as loadConfig } from "./plugins-jkI2QMUK.js";
|
|
6
6
|
import "./retry-policy-By-oqFVH.js";
|
|
7
7
|
import "./version-BdUvZ8Ep.js";
|
|
8
|
-
import "./agent-scope-
|
|
9
|
-
import "./exec-
|
|
8
|
+
import "./agent-scope-m37qEcFM.js";
|
|
9
|
+
import "./exec-BadOxgw_.js";
|
|
10
10
|
import "./github-copilot-token-CmScvpk-.js";
|
|
11
|
-
import "./pid-alive-
|
|
11
|
+
import "./pid-alive-dd2LsB9B.js";
|
|
12
12
|
import "./static-app-y2aJYHKZ.js";
|
|
13
13
|
import { t as formatCliCommand } from "./command-format-C8lewPDO.js";
|
|
14
|
-
import "./tailnet-
|
|
15
|
-
import "./ws-
|
|
14
|
+
import "./tailnet-BrtA9p9W.js";
|
|
15
|
+
import "./ws-DL02xZ7p.js";
|
|
16
16
|
import "./task-run-types-Bt-7ZJU6.js";
|
|
17
|
-
import "./client-
|
|
18
|
-
import { b as resolveLeastPrivilegeOperatorScopesForMethod, t as buildGatewayConnectionDetails } from "./call-
|
|
17
|
+
import "./client-BMDbXMKo.js";
|
|
18
|
+
import { b as resolveLeastPrivilegeOperatorScopesForMethod, t as buildGatewayConnectionDetails } from "./call-BltQb5p8.js";
|
|
19
19
|
import "./pairing-token-C8aCkuns.js";
|
|
20
|
-
import { t as formatDocsLink } from "./links-
|
|
21
|
-
import "./progress-
|
|
22
|
-
import { n as callGatewayFromCli, r as openGatewayCliSessionFromCli, t as addGatewayClientOptions } from "./gateway-rpc-
|
|
20
|
+
import { t as formatDocsLink } from "./links-CuEUTasJ.js";
|
|
21
|
+
import "./progress-FkWSD-ms.js";
|
|
22
|
+
import { n as callGatewayFromCli, r as openGatewayCliSessionFromCli, t as addGatewayClientOptions } from "./gateway-rpc-C7kAjboF.js";
|
|
23
23
|
import { t as parseLogLine } from "./parse-log-line-BY9Vz72K.js";
|
|
24
|
-
import { i as resolveActiveLogFile, r as readLogSliceFromHandle, t as createLogFileResolver } from "./log-tail-
|
|
25
|
-
import
|
|
24
|
+
import { i as resolveActiveLogFile, r as readLogSliceFromHandle, t as createLogFileResolver } from "./log-tail-C_ThPK9g.js";
|
|
25
|
+
import fsPromises from "node:fs/promises";
|
|
26
26
|
import { setTimeout } from "node:timers/promises";
|
|
27
27
|
import { StringDecoder } from "node:string_decoder";
|
|
28
28
|
|
|
@@ -33,7 +33,7 @@ const MAX_PARTIAL_BYTES = 1048576;
|
|
|
33
33
|
async function tryOpen(file) {
|
|
34
34
|
let handle;
|
|
35
35
|
try {
|
|
36
|
-
handle = await
|
|
36
|
+
handle = await fsPromises.open(file, "r");
|
|
37
37
|
} catch {
|
|
38
38
|
return null;
|
|
39
39
|
}
|
|
@@ -159,7 +159,7 @@ async function followLogFile(opts, emit) {
|
|
|
159
159
|
break;
|
|
160
160
|
}
|
|
161
161
|
const target = await opts.resolveFile();
|
|
162
|
-
const st = await
|
|
162
|
+
const st = await fsPromises.stat(target).catch(() => null);
|
|
163
163
|
if (!state.handle) {
|
|
164
164
|
if (st) {
|
|
165
165
|
const opened = await tryOpen(target);
|
|
@@ -407,7 +407,7 @@ async function resolveFollowSource(opts) {
|
|
|
407
407
|
const configuredFile = getResolvedLoggerSettings().file;
|
|
408
408
|
try {
|
|
409
409
|
const resolved = await resolveActiveLogFile(configuredFile);
|
|
410
|
-
await
|
|
410
|
+
await fsPromises.access(resolved, fsPromises.constants.R_OK);
|
|
411
411
|
return {
|
|
412
412
|
kind: "file",
|
|
413
413
|
configuredFile
|
|
@@ -2,13 +2,13 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { i as resolveAgentDir, r as resolveAgentConfig, s as resolveAgentWorkspaceDir } from "./agent-scope-Js3kUihf.js";
|
|
3
3
|
import { l as resolveStateDir } from "./paths-B_gs59ga.js";
|
|
4
4
|
import { $ as clampNumber, Q as clampInt, pt as truncateUtf16Safe, st as resolveUserPath, t as createSubsystemLogger } from "./subsystem-DynBFcQj.js";
|
|
5
|
-
import { A as requireApiKey, Ca as normalizeOptionalSecretInput, Da as normalizeResolvedSecretInputString, M as resolveEnvApiKey, U as loadConfig, Yn as resolveSessionTranscriptsDirForAgent, j as resolveApiKeyForProvider, ua as isTruthyEnvValue, x as retryAsync } from "./model-selection-
|
|
5
|
+
import { A as requireApiKey, Ca as normalizeOptionalSecretInput, Da as normalizeResolvedSecretInputString, M as resolveEnvApiKey, U as loadConfig, Yn as resolveSessionTranscriptsDirForAgent, j as resolveApiKeyForProvider, ua as isTruthyEnvValue, x as retryAsync } from "./model-selection-DkRYDpst.js";
|
|
6
6
|
import { n as onSessionTranscriptUpdate } from "./transcript-events-Cg5s4YcQ.js";
|
|
7
7
|
import { r as formatErrorMessage } from "./errors-B_bbUZmd.js";
|
|
8
8
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-CWMxbvLB.js";
|
|
9
|
-
import { t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
10
|
-
import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-
|
|
11
|
-
import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-
|
|
9
|
+
import { t as fetchWithSsrFGuard } from "./fetch-guard-D49piGJ5.js";
|
|
10
|
+
import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-DAI1NT_a.js";
|
|
11
|
+
import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-BVj0lCGG.js";
|
|
12
12
|
import path from "node:path";
|
|
13
13
|
import syncFs from "node:fs";
|
|
14
14
|
import os from "node:os";
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { Ot as truncateUtf16Safe, St as resolveUserPath, dt as clampNumber, ut as clampInt } from "./globals-
|
|
2
|
+
import { Ot as truncateUtf16Safe, St as resolveUserPath, dt as clampNumber, ut as clampInt } from "./globals-3lUHnZas.js";
|
|
3
3
|
import { g as resolveStateDir } from "./paths-BMo6kTge.js";
|
|
4
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
4
|
+
import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
|
|
5
5
|
import { r as isTruthyEnvValue } from "./entry.js";
|
|
6
|
-
import { Mc as normalizeResolvedSecretInputString, Pt as resolveSessionTranscriptsDirForAgent, Ri as requireApiKey, Si as retryAsync, Vi as resolveEnvApiKey, rr as loadConfig, wc as normalizeOptionalSecretInput, zi as resolveApiKeyForProvider } from "./plugins-
|
|
7
|
-
import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
6
|
+
import { Mc as normalizeResolvedSecretInputString, Pt as resolveSessionTranscriptsDirForAgent, Ri as requireApiKey, Si as retryAsync, Vi as resolveEnvApiKey, rr as loadConfig, wc as normalizeOptionalSecretInput, zi as resolveApiKeyForProvider } from "./plugins-jkI2QMUK.js";
|
|
7
|
+
import { a as resolveAgentDir, i as resolveAgentConfig, u as resolveAgentWorkspaceDir } from "./agent-scope-m37qEcFM.js";
|
|
8
8
|
import { i as formatErrorMessage } from "./errors-DvKWUPmm.js";
|
|
9
9
|
import { t as resolveNetworkSsrFPolicy } from "./ssrf-config-DXdQgrgM.js";
|
|
10
10
|
import { n as onSessionTranscriptUpdate } from "./transcript-events-CQg2xO7E.js";
|
|
11
|
-
import { t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
12
|
-
import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-
|
|
13
|
-
import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-
|
|
11
|
+
import { t as fetchWithSsrFGuard } from "./fetch-guard-Bn23GnZQ.js";
|
|
12
|
+
import { n as executeWithApiKeyRotation, t as collectProviderApiKeysForExecution } from "./api-key-rotation-JDh9X_oP.js";
|
|
13
|
+
import { _ as runWithConcurrency, a as resolveSessionMemoryStores, c as chunkMarkdown, d as hashText, f as isMemoryPath, g as remapChunkLines, h as parseEmbedding, i as listSessionMemoryRows, l as cosineSimilarity, m as normalizeExtraMemoryPaths, n as requireNodeSqlite, o as sessionMemorySourceId, p as listMemoryFiles, r as buildSessionMemoryEntry, s as buildFileEntry, t as extractKeywords, u as ensureDir, v as isFileMissingError, y as statRegularFile } from "./query-expansion-Bt2T2t1J.js";
|
|
14
14
|
import os from "node:os";
|
|
15
15
|
import path from "node:path";
|
|
16
16
|
import fs from "node:fs";
|
|
17
|
-
import
|
|
17
|
+
import fsPromises from "node:fs/promises";
|
|
18
18
|
import { randomUUID } from "node:crypto";
|
|
19
19
|
import chokidar from "chokidar";
|
|
20
20
|
import { createInterface } from "node:readline";
|
|
@@ -1078,7 +1078,7 @@ async function extractTimestamp(params) {
|
|
|
1078
1078
|
if (!params.workspaceDir) return null;
|
|
1079
1079
|
const absolutePath = path.isAbsolute(params.filePath) ? params.filePath : path.resolve(params.workspaceDir, params.filePath);
|
|
1080
1080
|
try {
|
|
1081
|
-
const stat = await
|
|
1081
|
+
const stat = await fsPromises.stat(absolutePath);
|
|
1082
1082
|
if (!Number.isFinite(stat.mtimeMs)) return null;
|
|
1083
1083
|
return new Date(stat.mtimeMs);
|
|
1084
1084
|
} catch {
|
|
@@ -2249,7 +2249,7 @@ var MemoryManagerSyncOps = class {
|
|
|
2249
2249
|
const source = `${sourceBase}${suffix}`;
|
|
2250
2250
|
const target = `${targetBase}${suffix}`;
|
|
2251
2251
|
try {
|
|
2252
|
-
await
|
|
2252
|
+
await fsPromises.rename(source, target);
|
|
2253
2253
|
} catch (err) {
|
|
2254
2254
|
if (err.code !== "ENOENT") throw err;
|
|
2255
2255
|
}
|
|
@@ -2260,7 +2260,7 @@ var MemoryManagerSyncOps = class {
|
|
|
2260
2260
|
"",
|
|
2261
2261
|
"-wal",
|
|
2262
2262
|
"-shm"
|
|
2263
|
-
].map((suffix) =>
|
|
2263
|
+
].map((suffix) => fsPromises.rm(`${basePath}${suffix}`, { force: true })));
|
|
2264
2264
|
}
|
|
2265
2265
|
ensureSchema() {
|
|
2266
2266
|
const result = ensureMemoryIndexSchema({
|
|
@@ -3307,7 +3307,7 @@ var MemoryManagerEmbeddingOps = class extends MemoryManagerSyncOps {
|
|
|
3307
3307
|
});
|
|
3308
3308
|
return;
|
|
3309
3309
|
}
|
|
3310
|
-
const content = options.content ?? ("absPath" in entry ? await
|
|
3310
|
+
const content = options.content ?? ("absPath" in entry ? await fsPromises.readFile(entry.absPath, "utf-8") : void 0);
|
|
3311
3311
|
if (content === void 0) throw new Error(`memory index: session source ${entry.path} produced no content`);
|
|
3312
3312
|
const chunks = enforceEmbeddingMaxInputTokens(this.provider, chunkMarkdown(content, this.settings.chunking).filter((chunk) => chunk.text.trim().length > 0), EMBEDDING_BATCH_MAX_TOKENS);
|
|
3313
3313
|
if (options.source === "sessions" && "lineMap" in entry) remapChunkLines(chunks, entry.lineMap);
|
|
@@ -3747,7 +3747,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
|
|
|
3747
3747
|
if (!allowedWorkspace && this.settings.extraPaths.length > 0) {
|
|
3748
3748
|
const additionalPaths = normalizeExtraMemoryPaths(this.workspaceDir, this.settings.extraPaths);
|
|
3749
3749
|
for (const additionalPath of additionalPaths) try {
|
|
3750
|
-
const stat = await
|
|
3750
|
+
const stat = await fsPromises.lstat(additionalPath);
|
|
3751
3751
|
if (stat.isSymbolicLink()) continue;
|
|
3752
3752
|
if (stat.isDirectory()) {
|
|
3753
3753
|
if (absPath === additionalPath || absPath.startsWith(`${additionalPath}${path.sep}`)) {
|
|
@@ -3772,7 +3772,7 @@ var MemoryIndexManager = class MemoryIndexManager extends MemoryManagerEmbedding
|
|
|
3772
3772
|
};
|
|
3773
3773
|
let content;
|
|
3774
3774
|
try {
|
|
3775
|
-
content = await
|
|
3775
|
+
content = await fsPromises.readFile(absPath, "utf-8");
|
|
3776
3776
|
} catch (err) {
|
|
3777
3777
|
if (isFileMissingError(err)) return {
|
|
3778
3778
|
text: "",
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { a as logVerbose } from "./globals-
|
|
2
|
+
import { a as logVerbose } from "./globals-3lUHnZas.js";
|
|
3
3
|
import { g as resolveStateDir } from "./paths-BMo6kTge.js";
|
|
4
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
5
|
-
import { Ct as parseSessionIndexRecordKey, Ft as resolveStorePath, ft as updateSessionStore, gt as mergeSessionEntry, it as loadSessionStore, nt as getConfiguredSessionStorageRuntime, rr as loadConfig } from "./plugins-
|
|
6
|
-
import { F as isAcpSessionKey, V as parseAgentSessionKey, p as normalizeAgentId } from "./session-key-
|
|
7
|
-
import { m as resolveSessionAgentId, r as listAgentIds } from "./agent-scope-
|
|
4
|
+
import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
|
|
5
|
+
import { Ct as parseSessionIndexRecordKey, Ft as resolveStorePath, ft as updateSessionStore, gt as mergeSessionEntry, it as loadSessionStore, nt as getConfiguredSessionStorageRuntime, rr as loadConfig } from "./plugins-jkI2QMUK.js";
|
|
6
|
+
import { F as isAcpSessionKey, V as parseAgentSessionKey, p as normalizeAgentId } from "./session-key-D0gYNgj1.js";
|
|
7
|
+
import { m as resolveSessionAgentId, r as listAgentIds } from "./agent-scope-m37qEcFM.js";
|
|
8
8
|
import { t as redactIdentifier } from "./redact-identifier-BZPmEwN1.js";
|
|
9
9
|
import { t as KeyedAsyncQueue } from "./keyed-async-queue-C3QwnlR9.js";
|
|
10
|
-
import { d as isGatewayDraining } from "./command-queue-
|
|
11
|
-
import { t as startUserSessionRun } from "./user-run-recording-
|
|
10
|
+
import { d as isGatewayDraining } from "./command-queue-C17N9gab.js";
|
|
11
|
+
import { t as startUserSessionRun } from "./user-run-recording-D5nQiSUv.js";
|
|
12
12
|
import { t as withTimeout } from "./with-timeout-DSF2eoCh.js";
|
|
13
13
|
import path, { isAbsolute } from "node:path";
|
|
14
|
-
import
|
|
14
|
+
import fsPromises from "node:fs/promises";
|
|
15
15
|
|
|
16
16
|
//#region src/acp/runtime/errors.ts
|
|
17
17
|
const ACP_ERROR_CODES = [
|
|
@@ -634,7 +634,7 @@ async function resolveAgentSessionDirs(stateDir) {
|
|
|
634
634
|
const agentsDir = path.join(stateDir, "agents");
|
|
635
635
|
let entries = [];
|
|
636
636
|
try {
|
|
637
|
-
entries = await
|
|
637
|
+
entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
|
|
638
638
|
} catch (err) {
|
|
639
639
|
if (err.code === "ENOENT") return [];
|
|
640
640
|
throw err;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { Sn as resolveAccountEntry, r as normalizeChannelId } from "./plugins-
|
|
3
|
-
import { k as normalizeAccountId } from "./session-key-
|
|
2
|
+
import { Sn as resolveAccountEntry, r as normalizeChannelId } from "./plugins-jkI2QMUK.js";
|
|
3
|
+
import { k as normalizeAccountId } from "./session-key-D0gYNgj1.js";
|
|
4
4
|
|
|
5
5
|
//#region src/config/markdown-tables.ts
|
|
6
6
|
var markdown_tables_exports = /* @__PURE__ */ __exportAll({ resolveMarkdownTableMode: () => resolveMarkdownTableMode });
|