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,22 +1,22 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { g as resolveStateDir } from "./paths-BMo6kTge.js";
|
|
3
|
-
import { m as defaultRuntime, t as createSubsystemLogger } from "./subsystem-
|
|
4
|
-
import { rr as loadConfig } from "./plugins-
|
|
5
|
-
import { r as resolveSessionStorageConfig } from "./storage-config-
|
|
6
|
-
import { d as colonFreeIsoStamp, f as defaultBackupPath, l as backupSqliteSessionDatabase, m as runBackupWorker, n as callSessionStorageGateway, o as SessionStorageOwnedError, r as resolveSessionStorageRoute, s as acquireSessionStorageOwnership, t as MAINTENANCE_RPC_TIMEOUT_MS, u as claimExclusivePartial } from "./session-storage-owner-
|
|
3
|
+
import { m as defaultRuntime, t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
|
|
4
|
+
import { rr as loadConfig } from "./plugins-jkI2QMUK.js";
|
|
5
|
+
import { r as resolveSessionStorageConfig } from "./storage-config-Bnq9G52N.js";
|
|
6
|
+
import { d as colonFreeIsoStamp, f as defaultBackupPath, l as backupSqliteSessionDatabase, m as runBackupWorker, n as callSessionStorageGateway, o as SessionStorageOwnedError, r as resolveSessionStorageRoute, s as acquireSessionStorageOwnership, t as MAINTENANCE_RPC_TIMEOUT_MS, u as claimExclusivePartial } from "./session-storage-owner-D_Fi2Wk6.js";
|
|
7
7
|
import { n as runCommandWithRuntime } from "./cli-utils-DyGKoc5l.js";
|
|
8
|
-
import { r as withProgressTotals } from "./progress-
|
|
9
|
-
import { a as createPostgresClient, c as redactDatabaseUrl, i as POSTGRES_BACKUP_REQUIRED_MESSAGE, l as resolveInitStorageTarget, o as initSessionStorageCore, r as runSessionsMaintenance, s as validateSessionStorageCore, t as LEGACY_ARCHIVE_DROP_SQL, u as resolveValidateStorageTarget } from "./sessions-maintenance-core-
|
|
8
|
+
import { r as withProgressTotals } from "./progress-FkWSD-ms.js";
|
|
9
|
+
import { a as createPostgresClient, c as redactDatabaseUrl, i as POSTGRES_BACKUP_REQUIRED_MESSAGE, l as resolveInitStorageTarget, o as initSessionStorageCore, r as runSessionsMaintenance, s as validateSessionStorageCore, t as LEGACY_ARCHIVE_DROP_SQL, u as resolveValidateStorageTarget } from "./sessions-maintenance-core-BW8CjGZC.js";
|
|
10
10
|
import path from "node:path";
|
|
11
11
|
import { existsSync } from "node:fs";
|
|
12
|
-
import
|
|
12
|
+
import fsPromises from "node:fs/promises";
|
|
13
13
|
import { pipeline } from "node:stream/promises";
|
|
14
14
|
import { DatabaseSync } from "node:sqlite";
|
|
15
15
|
|
|
16
16
|
//#region src/config/sessions/sqlite-restore.ts
|
|
17
17
|
const log = createSubsystemLogger("sessions/sqlite-restore");
|
|
18
18
|
async function fsyncFile(filePath) {
|
|
19
|
-
const handle = await
|
|
19
|
+
const handle = await fsPromises.open(filePath, "r+");
|
|
20
20
|
try {
|
|
21
21
|
await handle.sync();
|
|
22
22
|
} finally {
|
|
@@ -26,7 +26,7 @@ async function fsyncFile(filePath) {
|
|
|
26
26
|
async function fsyncDir(dirPath) {
|
|
27
27
|
let handle;
|
|
28
28
|
try {
|
|
29
|
-
handle = await
|
|
29
|
+
handle = await fsPromises.open(dirPath, "r");
|
|
30
30
|
} catch (err) {
|
|
31
31
|
const code = err.code;
|
|
32
32
|
if (code === "EPERM" || code === "EACCES" || code === "EINVAL") return;
|
|
@@ -42,9 +42,9 @@ function errText(err) {
|
|
|
42
42
|
return err instanceof Error ? err.message : String(err);
|
|
43
43
|
}
|
|
44
44
|
async function copyIntoPrivateFile(from, to, register) {
|
|
45
|
-
const source = await
|
|
45
|
+
const source = await fsPromises.open(from, "r");
|
|
46
46
|
try {
|
|
47
|
-
const dest = await
|
|
47
|
+
const dest = await fsPromises.open(to, "wx", 384);
|
|
48
48
|
try {
|
|
49
49
|
register?.();
|
|
50
50
|
await pipeline(source.createReadStream(), dest.createWriteStream());
|
|
@@ -114,7 +114,7 @@ async function restoreSqliteSessionDatabase(params) {
|
|
|
114
114
|
const stamp = colonFreeIsoStamp(params.now ?? /* @__PURE__ */ new Date());
|
|
115
115
|
const dbDir = path.dirname(dbPath);
|
|
116
116
|
const mainArchive = `${dbPath}.pre-restore-${stamp}`;
|
|
117
|
-
const sourceDir = await
|
|
117
|
+
const sourceDir = await fsPromises.mkdtemp(path.join(dbDir, ".restore-src-"));
|
|
118
118
|
const archiveFiles = [];
|
|
119
119
|
const cleanupFailures = [];
|
|
120
120
|
const removedSidecars = [];
|
|
@@ -133,7 +133,7 @@ async function restoreSqliteSessionDatabase(params) {
|
|
|
133
133
|
gated: false,
|
|
134
134
|
writableSource: true
|
|
135
135
|
});
|
|
136
|
-
await
|
|
136
|
+
await fsPromises.chmod(stagedPath, 384);
|
|
137
137
|
await fsyncFile(stagedPath);
|
|
138
138
|
const sidecarArchives = [];
|
|
139
139
|
for (const suffix of ["-wal", "-shm"]) {
|
|
@@ -148,7 +148,7 @@ async function restoreSqliteSessionDatabase(params) {
|
|
|
148
148
|
const checkpoint = existsSync(dbPath) ? await checkpointOfflineSqlite(dbPath) : "error";
|
|
149
149
|
if (checkpoint === "busy") {
|
|
150
150
|
for (const archive of sidecarArchives) try {
|
|
151
|
-
await
|
|
151
|
+
await fsPromises.rm(archive, { force: true });
|
|
152
152
|
const index = archiveFiles.indexOf(archive);
|
|
153
153
|
if (index >= 0) archiveFiles.splice(index, 1);
|
|
154
154
|
} catch (rmErr) {
|
|
@@ -158,16 +158,16 @@ async function restoreSqliteSessionDatabase(params) {
|
|
|
158
158
|
throw new Error("the current session database checkpoint is blocked or incomplete; close readers of the session store and retry");
|
|
159
159
|
}
|
|
160
160
|
if (checkpoint === "ok") for (const archive of sidecarArchives) try {
|
|
161
|
-
await
|
|
161
|
+
await fsPromises.rm(archive, { force: true });
|
|
162
162
|
const index = archiveFiles.indexOf(archive);
|
|
163
163
|
if (index >= 0) archiveFiles.splice(index, 1);
|
|
164
164
|
} catch (rmErr) {
|
|
165
165
|
log.warn(`checkpointed session database, but the redundant sidecar archive ${archive} could not be removed: ${errText(rmErr)}`);
|
|
166
166
|
}
|
|
167
167
|
if (existsSync(dbPath)) {
|
|
168
|
-
await
|
|
168
|
+
await fsPromises.chmod(dbPath, 384);
|
|
169
169
|
try {
|
|
170
|
-
await
|
|
170
|
+
await fsPromises.link(dbPath, mainArchive);
|
|
171
171
|
} catch (err) {
|
|
172
172
|
if (!isLinkUnsupported(err)) throw err;
|
|
173
173
|
await copyIntoPrivateFile(dbPath, mainArchive, () => archiveFiles.push(mainArchive));
|
|
@@ -179,14 +179,14 @@ async function restoreSqliteSessionDatabase(params) {
|
|
|
179
179
|
for (const suffix of ["-wal", "-shm"]) {
|
|
180
180
|
const live = `${dbPath}${suffix}`;
|
|
181
181
|
if (!existsSync(live)) continue;
|
|
182
|
-
await
|
|
182
|
+
await fsPromises.unlink(live);
|
|
183
183
|
const archive = `${mainArchive}${suffix}`;
|
|
184
184
|
if (archiveFiles.includes(archive)) removedSidecars.push({
|
|
185
185
|
live,
|
|
186
186
|
archive
|
|
187
187
|
});
|
|
188
188
|
}
|
|
189
|
-
await
|
|
189
|
+
await fsPromises.rename(stagedPath, dbPath);
|
|
190
190
|
try {
|
|
191
191
|
await fsyncDir(dbDir);
|
|
192
192
|
} catch (fsyncErr) {
|
|
@@ -202,13 +202,13 @@ async function restoreSqliteSessionDatabase(params) {
|
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
if (stagedPath !== void 0) try {
|
|
205
|
-
await
|
|
205
|
+
await fsPromises.rm(stagedPath, { force: true });
|
|
206
206
|
} catch (rmErr) {
|
|
207
207
|
cleanupFailures.push(`${path.basename(stagedPath)}: ${errText(rmErr)}`);
|
|
208
208
|
}
|
|
209
209
|
await fsyncDir(dbDir).catch(() => {});
|
|
210
210
|
try {
|
|
211
|
-
await
|
|
211
|
+
await fsPromises.rm(sourceDir, {
|
|
212
212
|
recursive: true,
|
|
213
213
|
force: true
|
|
214
214
|
});
|
|
@@ -221,7 +221,7 @@ async function restoreSqliteSessionDatabase(params) {
|
|
|
221
221
|
throw parts.length === 1 ? err : new Error(parts.join("; "), { cause: err });
|
|
222
222
|
}
|
|
223
223
|
try {
|
|
224
|
-
await
|
|
224
|
+
await fsPromises.rm(sourceDir, {
|
|
225
225
|
recursive: true,
|
|
226
226
|
force: true
|
|
227
227
|
});
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { g as resolveStateDir, l as resolveGatewayLockDir, o as resolveConfigPath } from "./paths-BMo6kTge.js";
|
|
2
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
3
|
-
import { $ as closeConfiguredSessionStorageRuntime, At as resolveSessionFilePath, Ct as parseSessionIndexRecordKey, Dt as SAFE_SESSION_ID_RE, Ft as resolveStorePath, Ot as SESSION_RUN_STORE_FILE_NAME, at as loadSessionStoreFromDisk, et as closeReplacedConfiguredSessionStorageRuntime, lt as refreshConfiguredSessionBindingEntry, nt as getConfiguredSessionStorageRuntime, ot as prepareConfiguredSessionStorageRuntimeActivation, tt as commitPreparedConfiguredSessionStorageRuntimeActivation } from "./plugins-
|
|
4
|
-
import { p as normalizeAgentId, w as sessionKeyAgentMatches } from "./session-key-
|
|
5
|
-
import { d as resolveDefaultAgentId, r as listAgentIds } from "./agent-scope-
|
|
6
|
-
import { n as isPidAlive } from "./pid-alive-
|
|
7
|
-
import { K as buildEqualityProjection, Pt as CREATE_CTX_STORAGE_OWNER_SQL, Sn as isSessionArchiveArtifactName, at as deriveLegacyActorIdentity, c as validateCtxStorage, ft as sanitizeAppendEntry, ht as extractLegacyTranscriptEntryFields, n as createSessionStorageRuntimeFromConfig, r as resolveSessionStorageConfig, t as attachPgPoolErrorListeners, xn as isPrimarySessionTranscriptFileName } from "./storage-config-
|
|
8
|
-
import { r as gatewayErrorShapeOf } from "./client-
|
|
9
|
-
import { n as callGateway } from "./call-
|
|
2
|
+
import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
|
|
3
|
+
import { $ as closeConfiguredSessionStorageRuntime, At as resolveSessionFilePath, Ct as parseSessionIndexRecordKey, Dt as SAFE_SESSION_ID_RE, Ft as resolveStorePath, Ot as SESSION_RUN_STORE_FILE_NAME, at as loadSessionStoreFromDisk, et as closeReplacedConfiguredSessionStorageRuntime, lt as refreshConfiguredSessionBindingEntry, nt as getConfiguredSessionStorageRuntime, ot as prepareConfiguredSessionStorageRuntimeActivation, tt as commitPreparedConfiguredSessionStorageRuntimeActivation } from "./plugins-jkI2QMUK.js";
|
|
4
|
+
import { p as normalizeAgentId, w as sessionKeyAgentMatches } from "./session-key-D0gYNgj1.js";
|
|
5
|
+
import { d as resolveDefaultAgentId, r as listAgentIds } from "./agent-scope-m37qEcFM.js";
|
|
6
|
+
import { n as isPidAlive } from "./pid-alive-dd2LsB9B.js";
|
|
7
|
+
import { K as buildEqualityProjection, Pt as CREATE_CTX_STORAGE_OWNER_SQL, Sn as isSessionArchiveArtifactName, at as deriveLegacyActorIdentity, c as validateCtxStorage, ft as sanitizeAppendEntry, ht as extractLegacyTranscriptEntryFields, n as createSessionStorageRuntimeFromConfig, r as resolveSessionStorageConfig, t as attachPgPoolErrorListeners, xn as isPrimarySessionTranscriptFileName } from "./storage-config-Bnq9G52N.js";
|
|
8
|
+
import { r as gatewayErrorShapeOf } from "./client-BMDbXMKo.js";
|
|
9
|
+
import { n as callGateway } from "./call-BltQb5p8.js";
|
|
10
10
|
import { createRequire } from "node:module";
|
|
11
11
|
import os from "node:os";
|
|
12
12
|
import path from "node:path";
|
|
13
13
|
import fs, { lstatSync, realpathSync, statSync } from "node:fs";
|
|
14
|
-
import
|
|
14
|
+
import fsPromises, { open } from "node:fs/promises";
|
|
15
15
|
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
16
16
|
import net from "node:net";
|
|
17
17
|
import { Worker } from "node:worker_threads";
|
|
@@ -46,7 +46,7 @@ const LEGACY_ARCHIVE_DEFAULT_RETENTION_MS = 720 * 60 * 60 * 1e3;
|
|
|
46
46
|
const log$17 = createSubsystemLogger("config/sessions/legacy-import/archive");
|
|
47
47
|
/** SHA-256 over the file's bytes; null when the file is gone (ENOENT). Other errors propagate. */
|
|
48
48
|
async function sourceIdentity(filePath) {
|
|
49
|
-
const handle = await
|
|
49
|
+
const handle = await fsPromises.open(filePath, "r").catch((error) => {
|
|
50
50
|
if (error.code === "ENOENT") return null;
|
|
51
51
|
throw error;
|
|
52
52
|
});
|
|
@@ -99,9 +99,9 @@ function fallbackArchiveDest(source, archiveRoot) {
|
|
|
99
99
|
async function copyVerifiedTo(sourcePath, dest, expected) {
|
|
100
100
|
const tmp = `${dest}.tmp-${randomUUID()}`;
|
|
101
101
|
try {
|
|
102
|
-
const handle = await
|
|
102
|
+
const handle = await fsPromises.open(tmp, "wx", 384);
|
|
103
103
|
try {
|
|
104
|
-
const sourceHandle = await
|
|
104
|
+
const sourceHandle = await fsPromises.open(sourcePath, "r");
|
|
105
105
|
try {
|
|
106
106
|
const chunk = Buffer.allocUnsafe(256 * 1024);
|
|
107
107
|
let size = 0;
|
|
@@ -118,18 +118,18 @@ async function copyVerifiedTo(sourcePath, dest, expected) {
|
|
|
118
118
|
} finally {
|
|
119
119
|
await handle.close();
|
|
120
120
|
}
|
|
121
|
-
await
|
|
121
|
+
await fsPromises.chmod(tmp, 384);
|
|
122
122
|
const copied = await identityOf(tmp);
|
|
123
123
|
if (!copied || copied.fingerprint !== expected.fingerprint) throw new Error(`legacy archive cross-device copy diverged from the imported bytes: ${dest}`);
|
|
124
124
|
try {
|
|
125
|
-
await
|
|
125
|
+
await fsPromises.link(tmp, dest);
|
|
126
126
|
} catch (error) {
|
|
127
127
|
if (error.code !== "EEXIST") throw error;
|
|
128
128
|
const existing = await identityOf(dest);
|
|
129
129
|
if (!existing || existing.fingerprint !== expected.fingerprint) throw new Error(`legacy archive destination exists with different content: ${dest}`, { cause: error });
|
|
130
130
|
}
|
|
131
131
|
} finally {
|
|
132
|
-
await
|
|
132
|
+
await fsPromises.rm(tmp, { force: true });
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
/**
|
|
@@ -145,7 +145,7 @@ async function planLegacyArchiveDest(source, archiveRoot, expected) {
|
|
|
145
145
|
const resolvedRoot = path.resolve(archiveRoot);
|
|
146
146
|
const { dir, dest } = archivePathsFor(source, resolvedRoot);
|
|
147
147
|
try {
|
|
148
|
-
await
|
|
148
|
+
await fsPromises.mkdir(dir, {
|
|
149
149
|
recursive: true,
|
|
150
150
|
mode: 448
|
|
151
151
|
});
|
|
@@ -185,7 +185,7 @@ async function archiveLegacySource(source, archiveRoot, expected) {
|
|
|
185
185
|
*/
|
|
186
186
|
async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
187
187
|
const resolvedRoot = path.resolve(archiveRoot);
|
|
188
|
-
await
|
|
188
|
+
await fsPromises.mkdir(path.dirname(dest), {
|
|
189
189
|
recursive: true,
|
|
190
190
|
mode: 448
|
|
191
191
|
});
|
|
@@ -195,14 +195,14 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
195
195
|
const expectedIdentity = expected ?? sourceIdentityValue;
|
|
196
196
|
if (sourceIdentityValue.fingerprint !== expectedIdentity.fingerprint) throw new Error(`legacy source changed after import; failing closed: ${source.path}`);
|
|
197
197
|
const destInodeVerified = async (destPath) => {
|
|
198
|
-
const [sourceStat, destStat] = await Promise.all([
|
|
198
|
+
const [sourceStat, destStat] = await Promise.all([fsPromises.stat(source.path), fsPromises.stat(destPath).catch(() => void 0)]);
|
|
199
199
|
return destStat !== void 0 && destStat.dev === sourceStat.dev && destStat.ino === sourceStat.ino;
|
|
200
200
|
};
|
|
201
201
|
const moveInto = async (destPath) => {
|
|
202
202
|
let moved = false;
|
|
203
203
|
let independentArchive = false;
|
|
204
204
|
try {
|
|
205
|
-
await
|
|
205
|
+
await fsPromises.link(source.path, destPath);
|
|
206
206
|
moved = true;
|
|
207
207
|
} catch (error) {
|
|
208
208
|
const code = error.code;
|
|
@@ -210,7 +210,7 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
210
210
|
const existing = await identityOf(destPath);
|
|
211
211
|
if (existing && existing.fingerprint === expectedIdentity.fingerprint) {
|
|
212
212
|
moved = true;
|
|
213
|
-
const [sourceStat, destStat] = await Promise.all([
|
|
213
|
+
const [sourceStat, destStat] = await Promise.all([fsPromises.stat(source.path), fsPromises.stat(destPath)]);
|
|
214
214
|
independentArchive = sourceStat.dev !== destStat.dev || sourceStat.ino !== destStat.ino;
|
|
215
215
|
} else return {
|
|
216
216
|
moved: false,
|
|
@@ -231,13 +231,13 @@ async function archiveLegacySourceTo(source, dest, archiveRoot, expected) {
|
|
|
231
231
|
};
|
|
232
232
|
const outcome = await moveInto(dest);
|
|
233
233
|
if (outcome.divergent) throw new Error(`legacy archive destination exists with different content: ${dest}`);
|
|
234
|
-
await
|
|
234
|
+
await fsPromises.chmod(dest, 384);
|
|
235
235
|
if (!await destInodeVerified(dest)) {
|
|
236
236
|
const archived = await identityOf(dest);
|
|
237
237
|
if (!archived || archived.fingerprint !== expectedIdentity.fingerprint) throw new Error(`legacy archive verification failed: ${dest}`);
|
|
238
238
|
}
|
|
239
239
|
if (outcome.moved) if (outcome.independentArchive) await unlinkSourceIfUnchanged(source.path, expectedIdentity);
|
|
240
|
-
else await
|
|
240
|
+
else await fsPromises.unlink(source.path);
|
|
241
241
|
return dest;
|
|
242
242
|
}
|
|
243
243
|
/**
|
|
@@ -251,12 +251,12 @@ async function unlinkSourceIfUnchanged(sourcePath, expected) {
|
|
|
251
251
|
const current = await sourceIdentity(sourcePath);
|
|
252
252
|
if (!current) return;
|
|
253
253
|
if (current.fingerprint !== expected.fingerprint) throw new Error(`legacy source changed before removal; failing closed: ${sourcePath}`);
|
|
254
|
-
await
|
|
254
|
+
await fsPromises.unlink(sourcePath);
|
|
255
255
|
}
|
|
256
256
|
async function chmodDirs(dir, stopAt) {
|
|
257
257
|
let current = dir;
|
|
258
258
|
while (current.startsWith(stopAt) && current !== stopAt) {
|
|
259
|
-
await
|
|
259
|
+
await fsPromises.chmod(current, 448).catch(() => void 0);
|
|
260
260
|
const parent = path.dirname(current);
|
|
261
261
|
if (parent === current) return;
|
|
262
262
|
current = parent;
|
|
@@ -285,11 +285,11 @@ async function purgeExpiredLegacyArchives(runtime, opts) {
|
|
|
285
285
|
log$17.warn("skipping legacy archive outside the archive root", { sourcePath: receipt.sourcePath });
|
|
286
286
|
continue;
|
|
287
287
|
}
|
|
288
|
-
if (!await
|
|
288
|
+
if (!await fsPromises.stat(archivePath).then(() => true).catch((error) => {
|
|
289
289
|
if (error.code === "ENOENT") return false;
|
|
290
290
|
throw error;
|
|
291
291
|
})) continue;
|
|
292
|
-
await
|
|
292
|
+
await fsPromises.rm(archivePath, { force: true });
|
|
293
293
|
purged += 1;
|
|
294
294
|
await pruneEmptyArchiveDirs(path.dirname(archivePath), archiveRoot);
|
|
295
295
|
}
|
|
@@ -300,12 +300,12 @@ async function pruneEmptyArchiveDirs(dir, stopAt) {
|
|
|
300
300
|
while (current.startsWith(stopAt + path.sep)) {
|
|
301
301
|
let entries;
|
|
302
302
|
try {
|
|
303
|
-
entries = await
|
|
303
|
+
entries = await fsPromises.readdir(current);
|
|
304
304
|
} catch {
|
|
305
305
|
return;
|
|
306
306
|
}
|
|
307
307
|
if (entries.length > 0) return;
|
|
308
|
-
await
|
|
308
|
+
await fsPromises.rmdir(current).catch(() => void 0);
|
|
309
309
|
current = path.dirname(current);
|
|
310
310
|
}
|
|
311
311
|
}
|
|
@@ -881,7 +881,7 @@ async function admitDurableKeyMappings(registry, listKeys, opts) {
|
|
|
881
881
|
await opts?.clearMappingSourcePath?.(mapping.agentId, mapping.sessionId).catch(() => void 0);
|
|
882
882
|
continue;
|
|
883
883
|
}
|
|
884
|
-
const stats = await
|
|
884
|
+
const stats = await fsPromises.stat(mapping.sourcePath).catch(() => void 0);
|
|
885
885
|
if (!stats?.isFile()) continue;
|
|
886
886
|
registry.admit({
|
|
887
887
|
path: mapping.sourcePath,
|
|
@@ -1081,7 +1081,7 @@ function createLegacySourceRegistry() {
|
|
|
1081
1081
|
if (!isSettledReceipt(receipt, source.sizeBytes)) trackPendingPath(key, source);
|
|
1082
1082
|
return;
|
|
1083
1083
|
}
|
|
1084
|
-
const stats = await
|
|
1084
|
+
const stats = await fsPromises.stat(key).catch(() => void 0);
|
|
1085
1085
|
if (!stats?.isFile() && receipt.status !== "imported") return;
|
|
1086
1086
|
admit({
|
|
1087
1087
|
path: key,
|
|
@@ -1574,7 +1574,7 @@ async function claimExclusivePartial(destPath) {
|
|
|
1574
1574
|
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
1575
1575
|
const candidate = `${destPath}.${process.pid}.${randomBytes(8).toString("hex")}.partial`;
|
|
1576
1576
|
try {
|
|
1577
|
-
await (await
|
|
1577
|
+
await (await fsPromises.open(candidate, "wx", 384)).close();
|
|
1578
1578
|
return candidate;
|
|
1579
1579
|
} catch (err) {
|
|
1580
1580
|
if (err.code !== "EEXIST") throw err;
|
|
@@ -1593,7 +1593,7 @@ async function backupSqliteSessionDatabase(params) {
|
|
|
1593
1593
|
const dbPath = path.resolve(params.dbPath);
|
|
1594
1594
|
const destPath = path.resolve(params.destPath);
|
|
1595
1595
|
for (const guarded of protectedLivePaths(dbPath)) if (sameFile$1(destPath, guarded)) throw new Error("backup destination must not be the live database or its owner lock, holder sidecar, or journal files");
|
|
1596
|
-
await
|
|
1596
|
+
await fsPromises.mkdir(path.dirname(destPath), {
|
|
1597
1597
|
recursive: true,
|
|
1598
1598
|
mode: 448
|
|
1599
1599
|
});
|
|
@@ -1605,14 +1605,14 @@ async function backupSqliteSessionDatabase(params) {
|
|
|
1605
1605
|
gated: sqliteBackupTestHooks.holdWorkerAtGate === true,
|
|
1606
1606
|
writableSource: false
|
|
1607
1607
|
});
|
|
1608
|
-
await
|
|
1608
|
+
await fsPromises.rename(partialPath, destPath);
|
|
1609
1609
|
} catch (err) {
|
|
1610
|
-
await
|
|
1610
|
+
await fsPromises.rm(partialPath, { force: true }).catch(() => {});
|
|
1611
1611
|
throw err;
|
|
1612
1612
|
}
|
|
1613
1613
|
return {
|
|
1614
1614
|
path: destPath,
|
|
1615
|
-
bytes: (await
|
|
1615
|
+
bytes: (await fsPromises.stat(destPath)).size
|
|
1616
1616
|
};
|
|
1617
1617
|
}
|
|
1618
1618
|
/**
|
|
@@ -1657,7 +1657,7 @@ const INCARNATION_SELECT_SQL = "SELECT id FROM ctx_legacy_import_incarnation LIM
|
|
|
1657
1657
|
async function readDbIncarnationId(dbPath) {
|
|
1658
1658
|
let db;
|
|
1659
1659
|
try {
|
|
1660
|
-
await
|
|
1660
|
+
await fsPromises.stat(dbPath);
|
|
1661
1661
|
db = new DatabaseSync(dbPath);
|
|
1662
1662
|
const row = db.prepare(INCARNATION_SELECT_SQL).get();
|
|
1663
1663
|
return typeof row?.id === "string" ? row.id : void 0;
|
|
@@ -1709,7 +1709,7 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
1709
1709
|
const marked = await readSnapshotMarker(backupsDir, canonicalDbPath);
|
|
1710
1710
|
if (marked) return marked;
|
|
1711
1711
|
if ((await params.listReceipts()).length > 0) return;
|
|
1712
|
-
await
|
|
1712
|
+
await fsPromises.mkdir(backupsDir, {
|
|
1713
1713
|
recursive: true,
|
|
1714
1714
|
mode: 448
|
|
1715
1715
|
});
|
|
@@ -1720,7 +1720,7 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
1720
1720
|
dbPath,
|
|
1721
1721
|
destPath
|
|
1722
1722
|
});
|
|
1723
|
-
if (dbId !== void 0) await
|
|
1723
|
+
if (dbId !== void 0) await fsPromises.writeFile(path.join(backupsDir, snapshotMarkerFile(canonicalDbPath)), `${JSON.stringify({
|
|
1724
1724
|
path: backup.path,
|
|
1725
1725
|
createdAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1726
1726
|
canonicalDbPath,
|
|
@@ -1738,17 +1738,17 @@ async function takePreImportLegacySnapshot(params) {
|
|
|
1738
1738
|
*/
|
|
1739
1739
|
async function cleanupPartialLegacyBackups(stateDir) {
|
|
1740
1740
|
const backupsDir = path.join(stateDir, "backups");
|
|
1741
|
-
const names = await
|
|
1741
|
+
const names = await fsPromises.readdir(backupsDir).catch(() => []);
|
|
1742
1742
|
for (const name of names) {
|
|
1743
1743
|
if (!name.endsWith(".partial")) continue;
|
|
1744
|
-
await
|
|
1744
|
+
await fsPromises.rm(path.join(backupsDir, name), { force: true }).catch(() => void 0);
|
|
1745
1745
|
}
|
|
1746
1746
|
}
|
|
1747
1747
|
async function readSnapshotMarker(backupsDir, canonicalDbPath) {
|
|
1748
1748
|
const currentIncarnationId = await readDbIncarnationId(canonicalDbPath);
|
|
1749
1749
|
const keyed = await readMarkerFile(path.join(backupsDir, snapshotMarkerFile(canonicalDbPath)), canonicalDbPath, currentIncarnationId);
|
|
1750
1750
|
if (keyed !== void 0) return keyed;
|
|
1751
|
-
const names = await
|
|
1751
|
+
const names = await fsPromises.readdir(backupsDir).catch(() => []);
|
|
1752
1752
|
for (const name of names) {
|
|
1753
1753
|
if (!name.startsWith(SNAPSHOT_MARKER_PREFIX) || !name.endsWith(".json")) continue;
|
|
1754
1754
|
const found = await readMarkerFile(path.join(backupsDir, name), canonicalDbPath, currentIncarnationId);
|
|
@@ -1757,7 +1757,7 @@ async function readSnapshotMarker(backupsDir, canonicalDbPath) {
|
|
|
1757
1757
|
return readMarkerFile(path.join(backupsDir, SNAPSHOT_MARKER_FILE), canonicalDbPath, currentIncarnationId);
|
|
1758
1758
|
}
|
|
1759
1759
|
async function readMarkerFile(markerFile, canonicalDbPath, currentIncarnationId) {
|
|
1760
|
-
const raw = await
|
|
1760
|
+
const raw = await fsPromises.readFile(markerFile, "utf8").catch(() => void 0);
|
|
1761
1761
|
if (!raw) return;
|
|
1762
1762
|
try {
|
|
1763
1763
|
const parsed = JSON.parse(raw);
|
|
@@ -1769,7 +1769,7 @@ async function readMarkerFile(markerFile, canonicalDbPath, currentIncarnationId)
|
|
|
1769
1769
|
if (currentIncarnationId !== void 0 && currentIncarnationId === markerId) return markerPath;
|
|
1770
1770
|
return;
|
|
1771
1771
|
}
|
|
1772
|
-
const [markerStat, dbStat] = await Promise.all([
|
|
1772
|
+
const [markerStat, dbStat] = await Promise.all([fsPromises.stat(markerDbPath).catch(() => void 0), fsPromises.stat(canonicalDbPath).catch(() => void 0)]);
|
|
1773
1773
|
if (markerStat !== void 0 && dbStat !== void 0 ? markerStat.dev === dbStat.dev && markerStat.ino === dbStat.ino : markerDbPath === canonicalDbPath) return markerPath;
|
|
1774
1774
|
}
|
|
1775
1775
|
} catch {}
|
|
@@ -2035,7 +2035,7 @@ const log$9 = createSubsystemLogger("config/sessions/legacy-import/index-import"
|
|
|
2035
2035
|
async function readLegacyIndexStore(storePath) {
|
|
2036
2036
|
let raw;
|
|
2037
2037
|
try {
|
|
2038
|
-
raw = await
|
|
2038
|
+
raw = await fsPromises.readFile(storePath, "utf8");
|
|
2039
2039
|
} catch (error) {
|
|
2040
2040
|
throw new Error(`legacy index source unreadable: ${storePath}`, { cause: error });
|
|
2041
2041
|
}
|
|
@@ -2274,7 +2274,7 @@ async function importLegacyIndex(runtime, source, opts = {}) {
|
|
|
2274
2274
|
actorExplicit: entry.actor !== void 0
|
|
2275
2275
|
}), opts.signal);
|
|
2276
2276
|
if (transcriptPath && opts.discoveredTranscripts && path.resolve(transcriptPath) !== path.resolve(source.path)) try {
|
|
2277
|
-
const stats = await
|
|
2277
|
+
const stats = await fsPromises.stat(transcriptPath);
|
|
2278
2278
|
if (stats.isFile()) opts.discoveredTranscripts.push({
|
|
2279
2279
|
path: transcriptPath,
|
|
2280
2280
|
kind: "transcript",
|
|
@@ -2390,7 +2390,7 @@ async function loadSessionKeyOverrides(stateDir) {
|
|
|
2390
2390
|
const filePath = path.join(stateDir, "recovery", SESSION_KEY_OVERRIDES_FILENAME);
|
|
2391
2391
|
let raw;
|
|
2392
2392
|
try {
|
|
2393
|
-
raw = await
|
|
2393
|
+
raw = await fsPromises.readFile(filePath, "utf8");
|
|
2394
2394
|
} catch (error) {
|
|
2395
2395
|
if (error.code !== "ENOENT") log$7.warn("session key overrides unreadable; ignoring", { error });
|
|
2396
2396
|
return /* @__PURE__ */ new Map();
|
|
@@ -3937,7 +3937,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
|
|
|
3937
3937
|
}
|
|
3938
3938
|
async function readLockPayload(lockPath) {
|
|
3939
3939
|
try {
|
|
3940
|
-
const raw = await
|
|
3940
|
+
const raw = await fsPromises.readFile(lockPath, "utf8");
|
|
3941
3941
|
const parsed = JSON.parse(raw);
|
|
3942
3942
|
if (typeof parsed.pid !== "number") return null;
|
|
3943
3943
|
if (typeof parsed.createdAt !== "string") return null;
|
|
@@ -3990,11 +3990,11 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
3990
3990
|
const platform = opts.platform ?? process.platform;
|
|
3991
3991
|
const port = opts.port;
|
|
3992
3992
|
const { lockPath, configPath } = resolveGatewayLockPath(env);
|
|
3993
|
-
await
|
|
3993
|
+
await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
|
|
3994
3994
|
const startedAt = Date.now();
|
|
3995
3995
|
let lastPayload = null;
|
|
3996
3996
|
while (Date.now() - startedAt < timeoutMs) try {
|
|
3997
|
-
const handle = await
|
|
3997
|
+
const handle = await fsPromises.open(lockPath, "wx");
|
|
3998
3998
|
const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
|
|
3999
3999
|
const payload = {
|
|
4000
4000
|
pid: process.pid,
|
|
@@ -4008,7 +4008,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
4008
4008
|
configPath,
|
|
4009
4009
|
release: async () => {
|
|
4010
4010
|
await handle.close().catch(() => void 0);
|
|
4011
|
-
await
|
|
4011
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
4012
4012
|
}
|
|
4013
4013
|
};
|
|
4014
4014
|
} catch (err) {
|
|
@@ -4017,7 +4017,7 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
4017
4017
|
const ownerPid = lastPayload?.pid;
|
|
4018
4018
|
const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
|
|
4019
4019
|
if (ownerStatus === "dead" && ownerPid) {
|
|
4020
|
-
await
|
|
4020
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
4021
4021
|
continue;
|
|
4022
4022
|
}
|
|
4023
4023
|
if (ownerStatus !== "alive") {
|
|
@@ -4027,13 +4027,13 @@ async function acquireGatewayLock(opts = {}) {
|
|
|
4027
4027
|
stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
|
|
4028
4028
|
}
|
|
4029
4029
|
if (!stale) try {
|
|
4030
|
-
const st = await
|
|
4030
|
+
const st = await fsPromises.stat(lockPath);
|
|
4031
4031
|
stale = Date.now() - st.mtimeMs > staleMs;
|
|
4032
4032
|
} catch {
|
|
4033
4033
|
stale = false;
|
|
4034
4034
|
}
|
|
4035
4035
|
if (stale) {
|
|
4036
|
-
await
|
|
4036
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
4037
4037
|
continue;
|
|
4038
4038
|
}
|
|
4039
4039
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Ft as resolveStorePath } from "./plugins-
|
|
2
|
-
import { p as normalizeAgentId } from "./session-key-
|
|
3
|
-
import { d as resolveDefaultAgentId, r as listAgentIds } from "./agent-scope-
|
|
1
|
+
import { Ft as resolveStorePath } from "./plugins-jkI2QMUK.js";
|
|
2
|
+
import { p as normalizeAgentId } from "./session-key-D0gYNgj1.js";
|
|
3
|
+
import { d as resolveDefaultAgentId, r as listAgentIds } from "./agent-scope-m37qEcFM.js";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
|
|
6
6
|
//#region src/commands/session-store-targets.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { H as openBoundaryFileSync } from "./globals-
|
|
1
|
+
import { H as openBoundaryFileSync } from "./globals-3lUHnZas.js";
|
|
2
2
|
import { g as resolveStateDir } from "./paths-BMo6kTge.js";
|
|
3
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
4
|
-
import { $r as resolveDefaultModelForAgent, Dn as normalizeSessionDeliveryFields, Ft as resolveStorePath, Go as isAvatarHttpUrl, Hr as inferUniqueProviderFromConfiguredModels, Ht as resolveSessionEntryGroupId, Ic as DEFAULT_CONTEXT_TOKENS, J as StorageReadAccessError, Lc as DEFAULT_MODEL, Qr as resolveConfiguredModelRef, Rc as DEFAULT_PROVIDER, Rt as buildGroupDisplayName, Uo as AVATAR_MAX_BYTES, Wo as isAvatarDataUrl, X as getConversationReadQuery, Yo as isWorkspaceRelativeAvatarPath, Yr as parseModelRef, Zo as resolveAvatarMime, _c as resolveOpenClawAgentDir, _t as resolveFreshSessionTotalTokens, it as loadSessionStore, qo as isPathWithinRoot, rr as loadConfig, rt as listConfiguredSessionStorageAgentIds } from "./plugins-
|
|
5
|
-
import { I as isCronRunSessionKey, V as parseAgentSessionKey, m as normalizeMainKey, p as normalizeAgentId } from "./session-key-
|
|
6
|
-
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
7
|
-
import { Dt as getMessageIngress } from "./storage-config-
|
|
8
|
-
import { J as stripInlineDirectiveTagsForDisplay, Q as resolveAgentMainSessionKey, Z as canonicalizeMainSessionAlias, et as resolveMainSessionKey, j as eventOrder, k as isUserFacingSessionKey } from "./sessions-
|
|
3
|
+
import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
|
|
4
|
+
import { $r as resolveDefaultModelForAgent, Dn as normalizeSessionDeliveryFields, Ft as resolveStorePath, Go as isAvatarHttpUrl, Hr as inferUniqueProviderFromConfiguredModels, Ht as resolveSessionEntryGroupId, Ic as DEFAULT_CONTEXT_TOKENS, J as StorageReadAccessError, Lc as DEFAULT_MODEL, Qr as resolveConfiguredModelRef, Rc as DEFAULT_PROVIDER, Rt as buildGroupDisplayName, Uo as AVATAR_MAX_BYTES, Wo as isAvatarDataUrl, X as getConversationReadQuery, Yo as isWorkspaceRelativeAvatarPath, Yr as parseModelRef, Zo as resolveAvatarMime, _c as resolveOpenClawAgentDir, _t as resolveFreshSessionTotalTokens, it as loadSessionStore, qo as isPathWithinRoot, rr as loadConfig, rt as listConfiguredSessionStorageAgentIds } from "./plugins-jkI2QMUK.js";
|
|
5
|
+
import { I as isCronRunSessionKey, V as parseAgentSessionKey, m as normalizeMainKey, p as normalizeAgentId } from "./session-key-D0gYNgj1.js";
|
|
6
|
+
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-m37qEcFM.js";
|
|
7
|
+
import { Dt as getMessageIngress } from "./storage-config-Bnq9G52N.js";
|
|
8
|
+
import { J as stripInlineDirectiveTagsForDisplay, Q as resolveAgentMainSessionKey, Z as canonicalizeMainSessionAlias, et as resolveMainSessionKey, j as eventOrder, k as isUserFacingSessionKey } from "./sessions-BM-Q49zJ.js";
|
|
9
9
|
import { r as hasInterSessionUserProvenance } from "./input-provenance-Bj7EXxBY.js";
|
|
10
|
-
import { t as ensureOpenClawModelsJson } from "./models-config-
|
|
10
|
+
import { t as ensureOpenClawModelsJson } from "./models-config-CpqLFZ0C.js";
|
|
11
11
|
import { t as stripInboundMetadata } from "./strip-inbound-meta-BxBcN1Ax.js";
|
|
12
12
|
import path from "node:path";
|
|
13
13
|
import fs from "node:fs";
|
|
@@ -192,7 +192,7 @@ function ensureContextWindowCacheLoaded() {
|
|
|
192
192
|
await ensureOpenClawModelsJson(cfg);
|
|
193
193
|
} catch {}
|
|
194
194
|
try {
|
|
195
|
-
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-
|
|
195
|
+
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-CigFHOOz.js").then((n) => n.r);
|
|
196
196
|
const agentDir = resolveOpenClawAgentDir();
|
|
197
197
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
198
198
|
applyDiscoveredContextWindows({
|
|
@@ -2,7 +2,7 @@ import { H as computeIdentityLinkScopedMatchKey, K as normalizeAgentId, L as RAW
|
|
|
2
2
|
import { l as resolveStateDir } from "./paths-B_gs59ga.js";
|
|
3
3
|
import { ft as sliceUtf16Safe, it as normalizeE164, pt as truncateUtf16Safe, t as createSubsystemLogger } from "./subsystem-DynBFcQj.js";
|
|
4
4
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
5
|
-
import { $r as CtxProjectionCorruptionError, Bn as serializeSessionIndexRecordKey, Cn as loadSessionStore, Gn as resolveDefaultSessionStorePath, Hn as resolveUpdatedAfterPageSize, Kn as resolveSessionFilePath, Nn as DEFAULT_IDLE_MINUTES, Qn as resolveGroupSessionKey, U as loadConfig, Wn as SESSION_RUN_STORE_FILE_NAME, Wr as normalizeMessageChannel, Xn as resolveStorePath, _n as requireSessionStorageRuntime, hn as getConversationReadQuery, ii as serializeRetryPolicy, jn as updateSessionStore, ni as isRetryExhausted, ri as parseRetryPolicy, ti as computeNextAvailableAtMs, xn as getConfiguredSessionStorageRuntime } from "./model-selection-
|
|
5
|
+
import { $r as CtxProjectionCorruptionError, Bn as serializeSessionIndexRecordKey, Cn as loadSessionStore, Gn as resolveDefaultSessionStorePath, Hn as resolveUpdatedAfterPageSize, Kn as resolveSessionFilePath, Nn as DEFAULT_IDLE_MINUTES, Qn as resolveGroupSessionKey, U as loadConfig, Wn as SESSION_RUN_STORE_FILE_NAME, Wr as normalizeMessageChannel, Xn as resolveStorePath, _n as requireSessionStorageRuntime, hn as getConversationReadQuery, ii as serializeRetryPolicy, jn as updateSessionStore, ni as isRetryExhausted, ri as parseRetryPolicy, ti as computeNextAvailableAtMs, xn as getConfiguredSessionStorageRuntime } from "./model-selection-DkRYDpst.js";
|
|
6
6
|
import { r as normalizeChatType } from "./conversation-label-BYREw_Ba.js";
|
|
7
7
|
import { t as emitDiagnosticEvent } from "./diagnostic-events-DMwgeRgr.js";
|
|
8
8
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-Cg5s4YcQ.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Dt as sliceUtf16Safe, vt as normalizeE164 } from "./globals-
|
|
1
|
+
import { Dt as sliceUtf16Safe, vt as normalizeE164 } from "./globals-3lUHnZas.js";
|
|
2
2
|
import { n as resolveProcessScopedMap } from "./plain-object-Doc_YkH1.js";
|
|
3
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
4
|
-
import { At as resolveSessionFilePath, Ft as resolveStorePath, Q as requireSessionStorageRuntime, X as getConversationReadQuery, ft as updateSessionStore, it as loadSessionStore, kt as resolveDefaultSessionStorePath, nt as getConfiguredSessionStorageRuntime, rr as loadConfig, zt as resolveGroupSessionKey } from "./plugins-
|
|
5
|
-
import { V as parseAgentSessionKey, a as buildAgentMainSessionKey, m as normalizeMainKey, p as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-
|
|
6
|
-
import { St as toStoredAgentMessage, an as HIDDEN_HEARTBEAT_CUSTOM_TYPE, bt as mergePromptContributions, gt as normalizeSessionEntryForStorage, on as hiddenHeartbeatRunsForEntries, sn as isHiddenHeartbeatMessage, vt as sha256 } from "./storage-config-
|
|
3
|
+
import { t as createSubsystemLogger } from "./subsystem-xTuYkxuQ.js";
|
|
4
|
+
import { At as resolveSessionFilePath, Ft as resolveStorePath, Q as requireSessionStorageRuntime, X as getConversationReadQuery, ft as updateSessionStore, it as loadSessionStore, kt as resolveDefaultSessionStorePath, nt as getConfiguredSessionStorageRuntime, rr as loadConfig, zt as resolveGroupSessionKey } from "./plugins-jkI2QMUK.js";
|
|
5
|
+
import { V as parseAgentSessionKey, a as buildAgentMainSessionKey, m as normalizeMainKey, p as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-D0gYNgj1.js";
|
|
6
|
+
import { St as toStoredAgentMessage, an as HIDDEN_HEARTBEAT_CUSTOM_TYPE, bt as mergePromptContributions, gt as normalizeSessionEntryForStorage, on as hiddenHeartbeatRunsForEntries, sn as isHiddenHeartbeatMessage, vt as sha256 } from "./storage-config-Bnq9G52N.js";
|
|
7
7
|
import { t as emitDiagnosticEvent } from "./diagnostic-events-Bar3Iz3R.js";
|
|
8
8
|
import { n as applyInputProvenanceToUserMessage } from "./input-provenance-Bj7EXxBY.js";
|
|
9
9
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-CQg2xO7E.js";
|