activeclaw 2026.4.5 → 2026.4.9
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-DFNJuSr1.js → acp-cli-DAoO2PiM.js} +9 -9
- package/dist/{acp-cli-CYNmIkev.js → acp-cli-e3Nru-Yh.js} +5 -5
- package/dist/{agent-CCHm3dnF.js → agent-CMfazMZh.js} +11 -11
- package/dist/{agent-BLSLlPLk.js → agent-JPiOsp4w.js} +8 -8
- package/dist/{agent-scope-Dv5h0qQE.js → agent-scope-BrJT9Gf9.js} +17 -17
- package/dist/{agents-BxHLH0uE.js → agents-BFneTNaM.js} +7 -7
- package/dist/{agents.config-CxFlr00u.js → agents.config-63M2f6aF.js} +2 -2
- package/dist/{agents.config-BF0K3aA6.js → agents.config-CLmETqUQ.js} +1 -1
- package/dist/{api-key-rotation-cqcPDbSb.js → api-key-rotation--yH6WXh1.js} +1 -1
- package/dist/{api-key-rotation-BbIb9aas.js → api-key-rotation-BHAUzS3H.js} +2 -2
- package/dist/{api-key-rotation-Cyf-Q4MB.js → api-key-rotation-DeP9Nazr.js} +2 -2
- package/dist/{api-key-rotation-CpK2-BOi.js → api-key-rotation-ysMjkqBD.js} +1 -1
- package/dist/{audio-preflight-L-LZWSbn.js → audio-preflight-Bc4dihum.js} +16 -16
- package/dist/{audio-preflight-DRfaJpBd.js → audio-preflight-DPH8sex1.js} +8 -8
- package/dist/{audio-preflight-ugqpHAQh.js → audio-preflight-Dd3C7mtQ.js} +14 -14
- package/dist/{audio-preflight-BWsuQsJe.js → audio-preflight-DqbhN1m7.js} +4 -4
- package/dist/{audio-transcription-runner-Uz2dTIDx.js → audio-transcription-runner-B02iDYTW.js} +23 -23
- package/dist/{audio-transcription-runner-CovQeJJ8.js → audio-transcription-runner-B8jxT-MB.js} +6 -6
- package/dist/{audio-transcription-runner-BjxrFZhs.js → audio-transcription-runner-DIwGKsNI.js} +4 -4
- package/dist/{audio-transcription-runner-Bt0PplM9.js → audio-transcription-runner-TUBV75w0.js} +11 -11
- package/dist/{audit-CmbdapG_.js → audit-Cg4EdF12.js} +21 -21
- package/dist/{audit-membership-runtime-D-ZeUv63.js → audit-membership-runtime-DK2vsxHN.js} +6 -6
- package/dist/{audit-Dk_eftLe.js → audit-u873Aqoz.js} +7 -7
- package/dist/{auth-CCGOm7j4.js → auth-B7N969mv.js} +1 -1
- package/dist/{auth-Cp-1JzUb.js → auth-Bu24hYWH.js} +1 -1
- package/dist/{auth-choice-tokGZmzT.js → auth-choice-CBs23Eut.js} +13 -13
- package/dist/{auth-choice-DMcjsacO.js → auth-choice-DKqoMQkv.js} +14 -14
- package/dist/{auth-choice-CzIHMC2n.js → auth-choice-DWfkvDEv.js} +18 -18
- package/dist/{auth-choice-BOV3mxdG.js → auth-choice-LkLMeioa.js} +12 -12
- package/dist/{auth-choice.apply-helpers-alZH2ST_.js → auth-choice.apply-helpers-CJra1kZX.js} +1 -1
- package/dist/{auth-choice.apply-helpers-C0zKQkgn.js → auth-choice.apply-helpers-D_qbnasd.js} +1 -1
- package/dist/{auth-profiles-B5hyImOM.js → auth-profiles-D9Wn945p.js} +12 -0
- package/dist/{auth-token-BHnzfcUl.js → auth-token-BE6nISKT.js} +1 -1
- package/dist/{auth-token-Bzfws-T-.js → auth-token-DeLPA2C5.js} +1 -1
- package/dist/{banner-MJMqAYlg.js → banner-Ctm-KPnO.js} +1 -1
- package/dist/{bonjour-discovery-B4Fsf8u3.js → bonjour-discovery-CHN01_kY.js} +1 -1
- package/dist/{bonjour-discovery-LLqnJbvr.js → bonjour-discovery-Cak-jClv.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +27 -27
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +26 -26
- package/dist/{call-CKFLqNkw.js → call-7be5mSn_.js} +9 -9
- package/dist/{call-5htJiVxi.js → call-Ce8vjHmH.js} +2 -2
- package/dist/{channel-account-context-BI023AHZ.js → channel-account-context-D9S5HJn4.js} +6 -6
- package/dist/{channel-account-context-CZgEeotA.js → channel-account-context-XxNxKPcm.js} +1 -1
- package/dist/{channel-options-DAKPziI3.js → channel-options-DbKTl72b.js} +2 -2
- package/dist/{channel-options-DiGuGjgV.js → channel-options-a0rwBOBp.js} +2 -2
- package/dist/{channel-selection-CrnnQqyM.js → channel-selection-Cz7kZ_dd.js} +1 -1
- package/dist/{channel-selection-Dh-j4PE7.js → channel-selection-DMlnEgJc.js} +1 -1
- package/dist/channels/plugins/actions/telegram.js +12 -0
- package/dist/{channels-cli-Lcff68v5.js → channels-cli-2VIPyG8m.js} +55 -55
- package/dist/{channels-cli-DvKsiDcY.js → channels-cli-BG1xCXaW.js} +40 -40
- package/dist/{chunk-cNotV828.js → chunk-B0PHAL_m.js} +1 -1
- package/dist/{chunk-DB_LA-72.js → chunk-BSmRwqjw.js} +2 -2
- package/dist/{chunk-I6GfHIkA.js → chunk-D4AO1AEe.js} +1 -1
- package/dist/{cleanup-utils-6oONTdk-.js → cleanup-utils-DuGSE7QL.js} +4 -4
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-CX0-e1Do.js → cli-He5MwTZv.js} +31 -31
- package/dist/{cli-Nb2Rv2SE.js → cli-McCicHl-.js} +39 -39
- package/dist/{command-registry-B1NKrz1S.js → command-registry-B4XSKnqk.js} +12 -12
- package/dist/{command-secret-targets-DXU9DFeM.js → command-secret-targets-BQ5lbER9.js} +3 -3
- package/dist/{command-secret-targets-CpKxsR1T.js → command-secret-targets-lNjgc0CR.js} +3 -3
- package/dist/{compact-qJ63Ml29.js → compact-DBxHCU3Q.js} +44 -35
- package/dist/compact.runtime-D3MiFKq0.js +66 -0
- package/dist/{compact.runtime-Cl5rju7L.js → compact.runtime-DKQKkff5.js} +9 -9
- package/dist/{compact.runtime-B7P5LnIa.js → compact.runtime-DcTpLwZ5.js} +31 -31
- package/dist/compact.runtime-DvhVgC1j.js +28 -0
- package/dist/{completion-cli-BkGeOB0Y.js → completion-cli-BXlBKnlj.js} +2 -2
- package/dist/{completion-cli-DQ5HyrvM.js → completion-cli-C0IxNzBH.js} +12 -12
- package/dist/{config-cli-CiLzQLbQ.js → config-cli-C4ryG2Rf.js} +4 -4
- package/dist/{config-cli-BKXR8uQg.js → config-cli-rH6YNttY.js} +8 -8
- package/dist/{config-guard-DKS3Bjiu.js → config-guard-DpwVMnwc.js} +3 -3
- package/dist/{config-guard-C5v1W26E.js → config-guard-ahuxxM-z.js} +15 -15
- package/dist/{config-validation-DsiQ4Ig0.js → config-validation-C7b6auM4.js} +2 -2
- package/dist/{config-validation-BKR2V3xN.js → config-validation-CanHLJ8X.js} +2 -2
- package/dist/{configure-JCyEZ5Fd.js → configure-BfCm4pl9.js} +17 -17
- package/dist/{configure-B7kIEfSP.js → configure-CuFhFIhR.js} +12 -12
- package/dist/{connection-auth-DoyMyMj7.js → connection-auth-Uq6_taV8.js} +1 -1
- package/dist/{connection-auth-_DWNXAV0.js → connection-auth-tv7E7e3R.js} +1 -1
- package/dist/{cron-cli-_jyWnQpP.js → cron-cli-DeTrhoKQ.js} +4 -4
- package/dist/{cron-cli-BS6spxkO.js → cron-cli-gWy7x5uI.js} +8 -8
- package/dist/{daemon-cli-BtKr1oQT.js → daemon-cli-DhF5rs_a.js} +7 -7
- package/dist/{daemon-cli-Be1vZo5e.js → daemon-cli-qKu_98e8.js} +12 -12
- package/dist/daemon-cli.js +12 -0
- package/dist/{daemon-install-DL5tMI7L.js → daemon-install-C3mTkJtr.js} +13 -13
- package/dist/{daemon-install-CAzURxv-.js → daemon-install-DVTKAzGi.js} +6 -6
- package/dist/{deliver-kqa-lgew.js → deliver-BBYhSw-z.js} +4 -4
- package/dist/{deliver-DZveowc3.js → deliver-D2j_qrPV.js} +18 -18
- package/dist/{deliver-CODiAnbo.js → deliver-DIDeQhCe.js} +1 -1
- package/dist/{deliver-C1juSywI.js → deliver-DvOSE6dK.js} +3 -3
- package/dist/deliver-runtime-B_vg9NSW.js +14 -0
- package/dist/{deliver-runtime-C6qB5ZVb.js → deliver-runtime-C0Wbfid0.js} +4 -4
- package/dist/{deliver-runtime-BsHI7dwo.js → deliver-runtime-DT4PMHlo.js} +9 -9
- package/dist/{deliver-runtime-D7Dud7B5.js → deliver-runtime-JgwxHubA.js} +2 -2
- package/dist/{deps-CLLCZe9I.js → deps-Y7mMaM9D.js} +1 -1
- package/dist/{deps-send-telegram.runtime-JtJ6ati5.js → deps-send-telegram.runtime-BIAuW6ip.js} +6 -6
- package/dist/deps-send-telegram.runtime-BMbKZ8Sj.js +19 -0
- package/dist/{deps-send-telegram.runtime-oajdQ06q.js → deps-send-telegram.runtime-C3q7fofC.js} +13 -13
- package/dist/{diagnostic-BXoxaU4W.js → diagnostic-Bbd8nFqt.js} +1 -1
- package/dist/{diagnostic-Booor3n0.js → diagnostic-BgC5_P-R.js} +1 -1
- package/dist/{diagnostic-BpFQ24Me.js → diagnostic-DGCbVfrY.js} +1 -1
- package/dist/{diagnostic-xdfzrdaY.js → diagnostic-G-xDRRdG.js} +2 -2
- package/dist/{diagnostics-DU5X6chC.js → diagnostics-C-VDJRVJ.js} +5 -5
- package/dist/{directory-cli-BuAiyESe.js → directory-cli-C1uCNh_L.js} +2 -2
- package/dist/{directory-cli-CjmZMS9e.js → directory-cli-kNyyepbw.js} +6 -6
- package/dist/{dns-cli-VjcjpJaH.js → dns-cli-Bl34g-49.js} +6 -6
- package/dist/{dns-cli-C3NikSdN.js → dns-cli-C4NOhwp6.js} +2 -2
- package/dist/{docs-cli-Dnr7p-iL.js → docs-cli-Cg3LkXnq.js} +4 -4
- package/dist/{doctor-completion-Cd5Nl3yQ.js → doctor-completion-BMhNBLlZ.js} +2 -2
- package/dist/{doctor-completion-Cr_mm4ZQ.js → doctor-completion-Bhzly0Le.js} +1 -1
- package/dist/{doctor-config-flow-CACQt_iy.js → doctor-config-flow-BaPH3aqI.js} +6 -6
- package/dist/{doctor-config-flow-Cte0zkRl.js → doctor-config-flow-BcXzOsQs.js} +13 -13
- package/dist/{enable-Cf9rGPag.js → enable-DevEDLTp.js} +1 -1
- package/dist/{enable-DW4lKjBU.js → enable-yZG-yiAJ.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{env-DGWeP3w5.js → env-Bhn5CLil.js} +1 -1
- package/dist/{errors-B27FlGCB.js → errors-Bqf8bSUd.js} +1 -1
- package/dist/{exec-approvals-allowlist-CWZm-Xjt.js → exec-approvals-allowlist-BSEL6MhC.js} +1 -1
- package/dist/{exec-approvals-allowlist-DnjttVeB.js → exec-approvals-allowlist-Be63T3oT.js} +1 -1
- package/dist/{exec-approvals-cli-BHD1xE9Q.js → exec-approvals-cli-BXOXf0aV.js} +5 -5
- package/dist/{exec-approvals-cli-BRCUDW6B.js → exec-approvals-cli-Ckca7X8L.js} +14 -14
- package/dist/{exec-safe-bin-runtime-policy-CObmLqq8.js → exec-safe-bin-runtime-policy-BnTNRx5O.js} +2 -2
- package/dist/{exec-safe-bin-runtime-policy-CjDG3QJD.js → exec-safe-bin-runtime-policy-DbbnAmrV.js} +2 -2
- package/dist/extensionAPI.js +9 -9
- package/dist/{fetch-aXWb4Ao5.js → fetch-BWClp-zV.js} +3 -3
- package/dist/{fetch-C-yIjbz-.js → fetch-DAiV9-bR.js} +1 -1
- package/dist/{fetch-3V1gxxYH.js → fetch-LN1gb6p0.js} +1 -1
- package/dist/{fetch-guard-DDQrBzBv.js → fetch-guard-Bd5oI7xu.js} +3 -3
- package/dist/{fetch-guard-Dsd8UoGA.js → fetch-guard-DGuF8Mhb.js} +1 -1
- package/dist/{fetch-guard-DkMZHPzY.js → fetch-guard-dTCN4rW8.js} +1 -1
- package/dist/{fetch-BXs0KCX9.js → fetch-hiM4UODI.js} +1 -1
- package/dist/{frontmatter-_kVsuvOa.js → frontmatter-CC95HXlE.js} +3 -3
- package/dist/{fs-safe-BLWbfoa6.js → fs-safe-B_UpcQBp.js} +34 -34
- package/dist/{fs-safe-DqIZh4BQ.js → fs-safe-hxxMXweE.js} +4 -4
- package/dist/{gateway-cli-BOZLG619.js → gateway-cli-X1ZtTIn1.js} +55 -55
- package/dist/{gateway-cli-C88jp3Aw.js → gateway-cli-nYAUoRqi.js} +99 -99
- package/dist/{gateway-install-token-BnQ74gB8.js → gateway-install-token-B7z4nya5.js} +4 -4
- package/dist/{gateway-install-token-qIxBiiV_.js → gateway-install-token-CVO9K6d2.js} +15 -15
- package/dist/{gateway-rpc-D5FI-w_h.js → gateway-rpc-ACgYuynD.js} +2 -2
- package/dist/{gateway-rpc-DZUx1OqN.js → gateway-rpc-DX5S8s8b.js} +2 -2
- package/dist/{github-copilot-token-DJKrUYl0.js → github-copilot-token-CLlAnyEf.js} +7 -7
- package/dist/{health-DhuzyE57.js → health-D22GmS6O.js} +4 -4
- package/dist/{health-DKId61cm.js → health-I2eelBJ0.js} +10 -10
- package/dist/{history-cli-BcwU3MKy.js → history-cli-D-sy-eCF.js} +25 -25
- package/dist/{history-cli-DPC2tW70.js → history-cli-HSiD9qOC.js} +11 -11
- package/dist/{hooks-cli-K9Olbeoq.js → hooks-cli-B8yce8aT.js} +46 -46
- package/dist/{hooks-cli-D4EdsaZd.js → hooks-cli-BpGVDC8n.js} +32 -32
- package/dist/{hooks-status-DFoUaWp1.js → hooks-status-0HInFKiT.js} +1 -1
- package/dist/{image-xmUgWF9P.js → image-B4HCDVUj.js} +3 -3
- package/dist/{image-DAEA1-oq.js → image-BUEhx-b4.js} +5 -5
- package/dist/{image-B-QmrXyQ.js → image-DHFliGoO.js} +4 -4
- package/dist/{image-Hryb3xjW.js → image-kqy5P4_2.js} +2 -2
- package/dist/{image-runtime-Bq4LW7no.js → image-runtime-8ygTiDaV.js} +3 -3
- package/dist/{image-runtime-EqNC780Y.js → image-runtime-BKnEMJR7.js} +7 -7
- package/dist/{image-runtime-CqQexlZf.js → image-runtime-BtQeLPdH.js} +2 -2
- package/dist/image-runtime-DYqTmna6.js +12 -0
- package/dist/index.js +47 -47
- package/dist/{inspect-3xM6J2Z_.js → inspect-0yj9c1e2.js} +9 -9
- package/dist/{inspect-5BGzxifc.js → inspect-CmvIDefh.js} +1 -1
- package/dist/{installs-Cg8kKBcv.js → installs-DPimnX51.js} +7 -7
- package/dist/{ipv4-DZ8ZOnQk.js → ipv4-DPsEPkzz.js} +1 -1
- package/dist/{ipv4-BllQnUqi.js → ipv4-DkllL_TQ.js} +1 -1
- package/dist/{issue-format-BnnZmmHz.js → issue-format-DbKknWy1.js} +1 -1
- package/dist/{issue-format-Dbw0ZKZU.js → issue-format-hszNX8Io.js} +1 -1
- package/dist/llm-slug-generator.js +26 -26
- package/dist/{local-roots-B0MExwb7.js → local-roots-BZvUgFKO.js} +1 -1
- package/dist/{local-roots-ysSrZ6CP.js → local-roots-CyRw91V8.js} +3 -3
- package/dist/{logger-3NSI7j4D.js → logger-BA9koAaC.js} +6 -6
- package/dist/{logging-CM1xI8yT.js → logging-4UnG2dJ0.js} +1 -1
- package/dist/{logging-B9OKCko2.js → logging-59CroxmQ.js} +2 -2
- package/dist/{logging-C7WfrX3j.js → logging-BHhuGbN8.js} +1 -1
- package/dist/{logs-cli-DogTg6BW.js → logs-cli-B3BYjCxR.js} +8 -8
- package/dist/{logs-cli-DEIVxAcb.js → logs-cli-CZ-nwWSh.js} +4 -4
- package/dist/{manager-CwuAu16U.js → manager-BLYILa5H.js} +14 -14
- package/dist/{manager-D4NBKxDJ.js → manager-BaDp-h4i.js} +23 -23
- package/dist/{manager-BTf5kl5K.js → manager-DF7UBoKp.js} +3 -3
- package/dist/{manager-CxuSPBL7.js → manager-DFiUW_Ha.js} +2 -2
- package/dist/{manager-runtime-BUGnXZoY.js → manager-runtime-BCkunkcv.js} +4 -4
- package/dist/{manager-runtime-DJeYdbHj.js → manager-runtime-CPUoaf4n.js} +3 -3
- package/dist/manager-runtime-DMIUcUdt.js +15 -0
- package/dist/{manager-runtime-CirDe6Yc.js → manager-runtime-DxOKojtv.js} +10 -10
- package/dist/{memory-qo2PyyGc.js → memory-adblmZ7U.js} +5 -5
- package/dist/{memory-cli-B3Wdf8cX.js → memory-cli-BLSGcKsi.js} +3 -3
- package/dist/{memory-cli-DhQM5b25.js → memory-cli-C5dGMHKl.js} +12 -12
- package/dist/{model-catalog-C6EpVMgn.js → model-catalog-BtBiWr2U.js} +3 -3
- package/dist/{model-catalog-C8EYz2dm.js → model-catalog-DlYPcFqP.js} +3 -3
- package/dist/{model-picker-C_xmxZQw.js → model-picker-BZvJOgpa.js} +4 -4
- package/dist/{model-picker-93hk8EPQ.js → model-picker-BdabNhjk.js} +3 -3
- package/dist/{model-selection-BrTh8v9L.js → model-selection-CvKAj7nY.js} +102 -90
- package/dist/{model-selection-CftqhKNS.js → model-selection-DU-DNNW7.js} +63 -51
- package/dist/{model-selection-CS_9NrTE.js → model-selection-PlvJPOJ9.js} +12 -0
- package/dist/{models-Bol0QzVD.js → models-BouiRS5o.js} +12 -12
- package/dist/{models-cli-kMKsts8T.js → models-cli-CXzAbJ5D.js} +38 -38
- package/dist/{models-cli-DrLVOzUK.js → models-cli-KmmlfVy4.js} +50 -50
- package/dist/{models-config-B9HFg-NI.js → models-config-Cg9vUkxp.js} +1 -1
- package/dist/{models-config-yo6Auh6b.js → models-config-xqqHZFkg.js} +7 -7
- package/dist/{npm-pack-install-BNF-iM37.js → npm-pack-install-BlYIroXs.js} +54 -54
- package/dist/{npm-resolution-BO6SGdLs.js → npm-resolution-Bn1LgQFf.js} +2 -2
- package/dist/{npm-resolution-Dc-9fZOQ.js → npm-resolution-BtQxqgSa.js} +4 -4
- package/dist/{ollama-setup-Bhphyk4x.js → ollama-setup-C0EKmICU.js} +2 -2
- package/dist/{ollama-setup-DrJZug5K.js → ollama-setup-bTrV2RqI.js} +2 -2
- package/dist/{onboard-DoZZHyp1.js → onboard-Cve2lx8Q.js} +7 -7
- package/dist/{onboard-C88F-Y13.js → onboard-DUlLUrme.js} +7 -7
- package/dist/{onboard-channels-D8cEPFj3.js → onboard-channels-C3Fr6P4C.js} +9 -9
- package/dist/{onboard-channels-CKg0sLah.js → onboard-channels-D9mYZZtF.js} +5 -5
- package/dist/{onboard-custom-CaacLXtg.js → onboard-custom-C3vRGHsc.js} +4 -4
- package/dist/{onboard-custom-CIE9LcFk.js → onboard-custom-W8wE0yre.js} +4 -4
- package/dist/{onboard-helpers-xbYuvLLu.js → onboard-helpers-C-tI0ORj.js} +8 -8
- package/dist/{onboard-helpers-B1g1N_R7.js → onboard-helpers-Dt3bHndL.js} +3 -3
- package/dist/{onboard-hooks-D2rz49Q8.js → onboard-hooks-BKK6FS_-.js} +4 -4
- package/dist/{onboard-remote-irbTZQ8D.js → onboard-remote-CnGUK4s9.js} +4 -4
- package/dist/{onboard-remote-DR0hiGln.js → onboard-remote-DUkT-5yX.js} +4 -4
- package/dist/{onboarding-CuMZLiwZ.js → onboarding-B47HB8MD.js} +14 -14
- package/dist/{onboarding-CGx-wanB.js → onboarding-Dj9u7X0q.js} +15 -15
- package/dist/{onboarding.finalize-4_qfJYB5.js → onboarding.finalize-C-pR8_RE.js} +52 -52
- package/dist/{onboarding.finalize-CT3LVJ86.js → onboarding.finalize-JG_vd8zz.js} +40 -40
- package/dist/{onboarding.gateway-config-BLn29YYn.js → onboarding.gateway-config-CllJn7mn.js} +11 -11
- package/dist/{onboarding.gateway-config-DBTVHN2e.js → onboarding.gateway-config-JJXnuJ29.js} +7 -7
- package/dist/{onboarding.secret-input-DSFE38xZ.js → onboarding.secret-input-Bmjiy8T4.js} +1 -1
- package/dist/{onboarding.secret-input-BI289pRS.js → onboarding.secret-input-DkAfkFVQ.js} +1 -1
- package/dist/{openai-codex-model-default-CvwSM6Hd.js → openai-codex-model-default-5GXfiA_D.js} +3 -3
- package/dist/{openai-codex-model-default-CNxuNGcG.js → openai-codex-model-default-BYIJH6vZ.js} +2 -2
- package/dist/{openai-model-default-BJAcSXF0.js → openai-model-default-DvF5RAGp.js} +2 -2
- package/dist/{openai-model-default-CHxnrkRk.js → openai-model-default-GgDZhvmV.js} +2 -2
- package/dist/{openclaw-root-B6cGCDGF.js → openclaw-root-DbbVtnL2.js} +8 -8
- package/dist/{outbound-send-deps-BfOiemtW.js → outbound-send-deps-ClezclXA.js} +1 -1
- package/dist/{outbound-send-deps-Ds9befoI.js → outbound-send-deps-DBVk1Se1.js} +1 -1
- package/dist/{pairing-cli-KQ0Gil81.js → pairing-cli-CYBWOxx2.js} +6 -6
- package/dist/{pairing-cli-DopHOckK.js → pairing-cli-rMFQX66I.js} +2 -2
- package/dist/{pairing-store-4ajjzoih.js → pairing-store-BeeSJLPy.js} +1 -1
- package/dist/{pairing-store-CGmLbKax.js → pairing-store-Dr8a_B6n.js} +1 -1
- package/dist/{path-alias-guards-DJQOJx9a.js → path-alias-guards-DBFU_Tqb.js} +3 -3
- package/dist/{path-safety-9zsLqD77.js → path-safety-CfDs7X4h.js} +1 -1
- package/dist/{paths-E3CbCLxE.js → paths-Bg_l6kdG.js} +7 -7
- package/dist/{paths-DHNo4U8q.js → paths-L_hqOE5A.js} +5 -5
- package/dist/{pi-embedded-Lk0-wBVJ.js → pi-embedded-XOWzcU4v.js} +29 -20
- package/dist/{pi-embedded-LWGrAjSd.js → pi-embedded-cW_upWzb.js} +125 -116
- package/dist/{pi-model-discovery-CocLN2I9.js → pi-model-discovery-7pqY2wzA.js} +1 -1
- package/dist/{pi-model-discovery-BfCU9u9n.js → pi-model-discovery-BOkx-R2x.js} +7 -7
- package/dist/{pi-model-discovery-DmsAxxli.js → pi-model-discovery-DFqVpswz.js} +1 -1
- package/dist/{pi-model-discovery-BHnYQuJe.js → pi-model-discovery-DQwd8eWZ.js} +1 -1
- package/dist/{pi-model-discovery-runtime-BB9O_19w.js → pi-model-discovery-runtime-BKwEjlY0.js} +6 -6
- package/dist/{pi-model-discovery-runtime-BM8W_E1B.js → pi-model-discovery-runtime-C_LjYTlu.js} +2 -2
- package/dist/{pi-model-discovery-runtime-DlSVUM4a.js → pi-model-discovery-runtime-DkNoyqZg.js} +2 -2
- package/dist/pi-model-discovery-runtime-uYSpi8_B.js +12 -0
- package/dist/{pi-tools.before-tool-call.runtime-YTBO0yhV.js → pi-tools.before-tool-call.runtime-CXBOjjBj.js} +2 -2
- package/dist/{pi-tools.before-tool-call.runtime-CbaZrfQj.js → pi-tools.before-tool-call.runtime-DfImcnUe.js} +2 -2
- package/dist/{pi-tools.before-tool-call.runtime-CZVSauJE.js → pi-tools.before-tool-call.runtime-gCJet3xa.js} +10 -10
- package/dist/{pi-tools.before-tool-call.runtime-yg3vl2rw.js → pi-tools.before-tool-call.runtime-mhmSMpSo.js} +6 -6
- package/dist/{pi-tools.policy-B8nfuYT3.js → pi-tools.policy-D6UiE_gG.js} +2 -2
- package/dist/{plugin-auto-enable-POm3kIKs.js → plugin-auto-enable-BYUBkHiG.js} +2 -2
- package/dist/{plugin-auto-enable-DKIdWd3o.js → plugin-auto-enable-fQ-uJndS.js} +1 -1
- package/dist/{plugin-install-plan-BhKQJYE9.js → plugin-install-plan-Dc8oPEOd.js} +1 -1
- package/dist/{plugin-registry-DMXyfhbZ.js → plugin-registry-B2Xg5cIZ.js} +2 -2
- package/dist/{plugin-registry-BLdJsHwq.js → plugin-registry-Cvr7jdxU.js} +3 -3
- package/dist/plugin-sdk/compat.js +12 -0
- package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +12 -0
- package/dist/plugin-sdk/config/zod-schema.agents.d.ts +12 -0
- package/dist/plugin-sdk/config/zod-schema.d.ts +12 -0
- package/dist/plugin-sdk/index.js +12 -0
- package/dist/plugin-sdk/telegram.js +12 -0
- package/dist/{plugins-cli-Mefrnu70.js → plugins-cli-B65JT-pj.js} +33 -33
- package/dist/{plugins-cli-Ckbdtcng.js → plugins-cli-Crxf_ppT.js} +49 -49
- package/dist/{ports-DoRPPhz1.js → ports-BKzkl2Nt.js} +2 -2
- package/dist/{ports-BgVXI3Be.js → ports-C6HO6zSD.js} +2 -2
- package/dist/{probe-auth-ClUveUpg.js → probe-auth-BhN3PhE1.js} +3 -3
- package/dist/{probe-auth-Dzz0uFIe.js → probe-auth-CBWjkGhd.js} +2 -2
- package/dist/{program-D992fHH9.js → program-Da383ALS.js} +38 -38
- package/dist/{program-context-CKwgiqKA.js → program-context-BCpzWqA0.js} +35 -35
- package/dist/{prompt-select-styled-8JBrpJWx.js → prompt-select-styled-CX2-E6Ws.js} +17 -17
- package/dist/{prompt-select-styled-Dj1guzwc.js → prompt-select-styled-DJXH3Ik2.js} +28 -28
- package/dist/{provider-auth-helpers-YFTUV89g.js → provider-auth-helpers-3K1-dUeB.js} +5 -5
- package/dist/{provider-auth-helpers-Bt0HFLar.js → provider-auth-helpers-CuFWByxX.js} +5 -5
- package/dist/{proxy-fetch-CuFiQFud.js → proxy-fetch-Spr_UMJ3.js} +1 -1
- package/dist/{qmd-manager-oxRfJV8J.js → qmd-manager-D5-UET4f.js} +7 -7
- package/dist/{qmd-manager-nnyEgnFp.js → qmd-manager-ZIMvAkMU.js} +20 -20
- package/dist/{query-expansion-CcJjpvgi.js → query-expansion-Czp8kqRG.js} +4 -4
- package/dist/{read-only-account-inspect-CWAyFOOe.js → read-only-account-inspect-sMyuBIwr.js} +3 -3
- package/dist/{redact-snapshot-CHOdPFBK.js → redact-snapshot-BhnwKwS_.js} +1 -1
- package/dist/{redact-snapshot-D2yDzyhm.js → redact-snapshot-esDYkCHN.js} +1 -1
- package/dist/{register.agent-DJ14KYnV.js → register.agent-C4BazelG.js} +65 -65
- package/dist/{register.agent-CDre9OAT.js → register.agent-F4PYdKIV.js} +49 -49
- package/dist/{register.backup-D0G-W10-.js → register.backup-DQtt76Pg.js} +1 -1
- package/dist/{register.backup-BDdG0ZZu.js → register.backup-DtwFlodN.js} +22 -22
- package/dist/register.configure-DuYlUfX0.js +117 -0
- package/dist/{register.configure-MZ2oMFlt.js → register.configure-uivoHsx6.js} +53 -53
- package/dist/{register.maintenance-8vlFCAL5.js → register.maintenance-CncGXJcn.js} +46 -46
- package/dist/{register.maintenance-CB5u00DB.js → register.maintenance-D1NhSg9p.js} +59 -59
- package/dist/{register.message-LPqeYXRd.js → register.message-CkSYWM9C.js} +33 -33
- package/dist/{register.message-B3Iqneie.js → register.message-pasYrjfU.js} +42 -42
- package/dist/{register.onboard-DHr-W74h.js → register.onboard-9kXyD5aU.js} +13 -13
- package/dist/{register.onboard-CTTwVj8d.js → register.onboard-CgARW4Sc.js} +8 -8
- package/dist/{register.setup-C3kh_TbN.js → register.setup-BtmboGlC.js} +16 -16
- package/dist/{register.setup-Dqfw5uEI.js → register.setup-D5oaiM2k.js} +8 -8
- package/dist/{register.status-health-sessions-QpojEQ9d.js → register.status-health-sessions-BaiIULJw.js} +52 -52
- package/dist/{register.status-health-sessions-DRKMAlro.js → register.status-health-sessions-QJWioUTw.js} +40 -40
- package/dist/{register.subclis-iSDvGATC.js → register.subclis-BJi9Wx12.js} +23 -23
- package/dist/{reply-Bf21Hr1C.js → reply-9_WxyHfF.js} +126 -117
- package/dist/{run-log-BqSHMnAd.js → run-log-D3XR2BLm.js} +13 -13
- package/dist/{run-log-CjYAiVe8.js → run-log-Q89iJgvA.js} +1 -1
- package/dist/{run-main-qumIkFEs.js → run-main--Va-DnXT.js} +51 -51
- package/dist/{runtime-B8hPSCRB.js → runtime-DpfmBWKQ.js} +2 -2
- package/dist/{runtime-CCYCyl1P.js → runtime-hakwcpul.js} +3 -3
- package/dist/{runtime-web-tools-gpT7ZniL.js → runtime-web-tools-BZcX_oAn.js} +2 -2
- package/dist/{runtime-web-tools-CRJ-iI9c.js → runtime-web-tools-CWlvqBpH.js} +2 -2
- package/dist/{sandbox-cli-cb2ui3Pc.js → sandbox-cli-BLBFMAgV.js} +1 -1
- package/dist/{sandbox-cli-BwX10ANz.js → sandbox-cli-CWgKwadY.js} +5 -5
- package/dist/{search-manager-CjC4g5lJ.js → search-manager-Bj4BRNiF.js} +1 -1
- package/dist/{secret-file-BaxohaZh.js → secret-file-9CYwZJSc.js} +1 -1
- package/dist/{secret-file-DcuJtucq.js → secret-file-BCAZa3Jw.js} +1 -1
- package/dist/{secrets-cli-BSv3yeQa.js → secrets-cli-B-LFbTtv.js} +10 -10
- package/dist/{secrets-cli-CYAGIMSW.js → secrets-cli-DOf7NbbB.js} +6 -6
- package/dist/{security-cli-Dk67sFGR.js → security-cli-B2iw16q9.js} +21 -21
- package/dist/{security-cli-CPjzUYo3.js → security-cli-DbRGAdz_.js} +10 -10
- package/dist/{send-DAr4cmzw.js → send-BeUTtwRC.js} +11 -11
- package/dist/{send-CP84wq9N.js → send-CU6MWFln.js} +28 -28
- package/dist/{send-CeA0VP-c.js → send-TlYsQWZw.js} +4 -4
- package/dist/{service-Cfk6VWeP.js → service-kXk8K3mn.js} +13 -13
- package/dist/{session-utils-G8TPVqDh.js → session-utils-5dTolcMA.js} +3 -3
- package/dist/{sessions-DghMB51-.js → sessions-CNRe8TkE.js} +2 -2
- package/dist/{shared-C6ksnJEO.js → shared-C_hG8rgh.js} +1 -1
- package/dist/{skill-scanner-B8J7JGHG.js → skill-scanner-djTgcKux.js} +7 -7
- package/dist/{skills-Mq1GCIyL.js → skills-D7xInzjY.js} +2 -2
- package/dist/{sqlite-DMwlw8gY.js → sqlite-BXiqNpZr.js} +14 -14
- package/dist/{status-BkoerIVk.js → status-BWvpeDQr.js} +1 -1
- package/dist/{status-DN1kwt_G.js → status-CjUDl8qO.js} +22 -22
- package/dist/{status-CLNIJHL1.js → status-DdFy329n.js} +13 -13
- package/dist/{status-C2lZy-Fn.js → status-DlhZNZRA.js} +1 -1
- package/dist/{status.update-CVnOl9T7.js → status.update-BC8_WNUD.js} +1 -1
- package/dist/{status.update-B7WMKBpu.js → status.update-s77gig85.js} +3 -3
- package/dist/subagent-registry-runtime-CrS70feQ.js +28 -0
- package/dist/{subagent-registry-runtime-BejBDRIf.js → subagent-registry-runtime-D68_xG8d.js} +9 -9
- package/dist/{subagent-registry-runtime-sAeDnTD0.js → subagent-registry-runtime-D8jeUc09.js} +31 -31
- package/dist/{subagent-registry-runtime-C2amjBau.js → subagent-registry-runtime-DLTR5fch.js} +39 -39
- package/dist/{subsystem-Br253I8q.js → subsystem-CDH9S_yW.js} +14 -14
- package/dist/{system-cli-C_xi1PG1.js → system-cli-CJfVDX21.js} +4 -4
- package/dist/{system-cli-CmjCyWeV.js → system-cli-CgYFKf5C.js} +8 -8
- package/dist/{systemd-linger-8q_0YAMa.js → systemd-linger-CQCpuIm8.js} +1 -1
- package/dist/{systemd-B5QGtWUt.js → systemd-lqHMKF03.js} +11 -11
- package/dist/{tailnet-BII1rF_F.js → tailnet-Dd530XEB.js} +1 -1
- package/dist/{tailnet-GA0Saj6K.js → tailnet-lUwvztzP.js} +1 -1
- package/dist/{update-cli-Cta7h1PN.js → update-cli-CTNv6NnW.js} +69 -69
- package/dist/{update-cli-DT51qYuH.js → update-cli-Ca6a5zyc.js} +49 -49
- package/dist/{update-B16VTBdW.js → update-lBwZcNEP.js} +2 -2
- package/dist/{update-runner-D0FkcfIv.js → update-runner-CSPTpzlG.js} +4 -4
- package/dist/{update-runner-Dk9ujIjY.js → update-runner-DgI58_4p.js} +16 -16
- package/dist/{webhooks-cli-DUi__sSq.js → webhooks-cli-D5ytuSnf.js} +1 -1
- package/dist/{webhooks-cli-fEwB1QWy.js → webhooks-cli-DGY-qrop.js} +5 -5
- package/dist/{workspace-DaDGuTlc.js → workspace-DY5PSKK1.js} +1 -1
- package/dist/{workspace-DRRA3YH5.js → workspace-DiYGwuGk.js} +20 -20
- package/dist/{writer-CBLUHPFY.js → writer-ChWOWmJt.js} +1 -1
- package/dist/{writer-DW7GwLNb.js → writer-Mpvw_WMM.js} +8 -8
- package/extensions/acpx/node_modules/.bin/acpx +3 -7
- package/extensions/diagnostics-otel/node_modules/.bin/acorn +3 -7
- package/extensions/diffs/node_modules/.bin/playwright-core +3 -7
- package/extensions/googlechat/node_modules/.bin/openclaw +17 -0
- package/extensions/hub/src/inbound.ts +16 -0
- package/extensions/matrix/node_modules/.bin/markdown-it +17 -0
- package/extensions/memory-core/node_modules/.bin/openclaw +17 -0
- package/extensions/memory-core/package.json +11 -0
- package/extensions/memory-lancedb/node_modules/.bin/arrow2csv +3 -7
- package/extensions/memory-lancedb/node_modules/.bin/openai +3 -7
- package/extensions/tlon/node_modules/.bin/tlon +17 -0
- package/package.json +2 -2
- package/dist/compact.runtime-B3XexHCz.js +0 -28
- package/dist/compact.runtime-BTNt86Cy.js +0 -66
- package/dist/deliver-runtime-DP7LMYJz.js +0 -14
- package/dist/deps-send-telegram.runtime-CNQMFHHL.js +0 -19
- package/dist/image-runtime-BKlmPwGz.js +0 -12
- package/dist/manager-runtime-BIERqG19.js +0 -15
- package/dist/pi-model-discovery-runtime-BRBH9-81.js +0 -12
- package/dist/register.configure-B6etuAnH.js +0 -117
- package/dist/subagent-registry-runtime-BBvfeFxp.js +0 -28
- package/extensions/google-antigravity-auth/node_modules/.bin/openclaw +0 -21
- package/extensions/memory-core/node_modules/.bin/nlc +0 -21
- package/extensions/memory-core/node_modules/.bin/node-llama-cpp +0 -21
- package/extensions/memory-core/node_modules/.bin/tsc +0 -21
- package/extensions/memory-core/node_modules/.bin/tsserver +0 -21
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-BJV7vkaX.js";
|
|
2
2
|
import { A as theme, D as warn, R as normalizeLogLevel, S as logVerbose, T as shouldLogVerbose, V as resolvePreferredOpenClawTmpDir, X as consumeRootOptionToken, c as sanitizeForLog, f as createNonExitingRuntime, j as getChildLogger, p as defaultRuntime, t as createSubsystemLogger, v as danger } from "./subsystem-Dk5WUhC2.js";
|
|
3
3
|
import { C as truncateUtf16Safe, b as sleep, d as isRecord, g as resolveUserPath, i as clampInt, l as escapeRegExp, m as resolveConfigDir, t as CONFIG_DIR, v as shortenHomeInString, w as isPlainObject, x as sliceUtf16Safe, y as shortenHomePath } from "./utils-CGU7Q77u.js";
|
|
4
|
-
import { $a as writeConfigFile, $n as deliveryContextFromSession, $o as resetConfigOverrides, $r as resolveTelegramToken, $t as sanitizeToolCallIdsForCloudCodeAssist, A as resolveApiKeyForProvider, Ac as normalizeReasoningLevel, Ai as GATEWAY_CLIENT_IDS, An as appendAssistantMessageToSessionTranscript, Ar as DEFAULT_RESET_TRIGGERS, At as resolveProfilesUnavailableReason, Bi as writeJsonAtomic, Bn as readSessionUpdatedAt, Bt as sanitizeSessionMessagesImages, Cc as DEFAULT_CONTEXT_TOKENS, Ci as isMarkdownCapableMessageChannel, Cn as sanitizeUserFacingText, Dc as formatXHighModelHint, Di as resolveGatewayMessageChannel, Dn as ensureSandboxWorkspaceForSession, Do as parseDurationMs, Dr as resolveSessionResetPolicy, Dt as markAuthProfileFailure, E as getApiKeyForModel, Ec as formatThinkingLevels, Ei as normalizeMessageChannel, Er as resolveChannelResetConfig, Et as isProfileInCooldown, Fc as supportsXHighThinking, Fi as acquireSessionWriteLock, Fr as resolveAgentMainSessionKey, Ft as validateGeminiTurns, Gi as buildPluginToolGroups, Gn as updateSessionStore, Gt as getImageMetadata, Hn as resolveSessionStoreEntry, Ho as AVATAR_MAX_BYTES, Hr as listChannelDocks, Hs as resolveAgentMaxConcurrent, Ht as sanitizeToolResultImages, In as emitSessionTranscriptUpdate, It as pickFallbackThinkingLevel, Ja as readConfigFileSnapshot, Ji as mergeAlsoAllowPolicy, Jo as isWorkspaceRelativeAvatarPath, Jr as listEnabledTelegramAccounts, Js as getShellPathFromLoginShell, Jt as resizeToJpeg, Ki as collectExplicitAllowlist, Kn as updateSessionStoreEntry, Ko as isPathWithinRoot, Li as resolveSessionLockMaxHoldFromTimeout, Ln as onSessionTranscriptUpdate, Lr as resolveMainSessionKey, M as resolveEnvApiKey, Mc as normalizeUsageDisplay, Mi as GATEWAY_CLIENT_NAMES, Mn as resolveSessionTranscriptFile, Mr as resolveFreshSessionTotalTokens, Mt as buildTextObservationFields, N as resolveModelAuthMode, Nc as normalizeVerboseLevel, Nn as resolveAndPersistSessionFile, Nt as sanitizeForConsole, Oc as listThinkingLevels, Oi as resolveMessageChannel, On as resolveSandboxContext, Or as resolveSessionResetType, Os as applyMergePatch, Ot as markAuthProfileUsed, P as resolveUsableCustomProviderApiKey, Pc as resolveResponseUsageMode, Pn as extractDeliveryInfo, Pr as canonicalizeMainSessionAlias, Pt as validateAnthropicTurns, Qi as resolveToolProfilePolicy, Qn as resolveCacheTtlMs$1, Qo as getConfigOverrides, Qr as resolveTelegramPollActionGateState, Qs as resolveOwnerDisplaySetting, Qt as extractToolResultId, Rt as isMessagingToolDuplicateNormalized, S as resolveThinkingDefault, Sc as splitTrailingAuthProfile, Si as isInternalMessageChannel, Sn as parseImageSizeError, Sr as jsonUtf8Bytes, Tc as DEFAULT_PROVIDER, Ti as listDeliverableMessageChannels, Tr as evaluateSessionFreshness, Tt as getSoonestCooldownExpiry, Uo as isAvatarDataUrl, Ur as resolveChannelGroupPolicy, Ut as resolveImageSanitizationLimits, Vi as resolveSandboxConfigForAgent, Vn as recordSessionMetaFromInbound, Vr as getChannelDock, Vt as sanitizeImageBlocks, Wa as loadConfig, Wi as applyOwnerOnlyToolPolicy, Wn as updateLastRoute, Wo as isAvatarHttpUrl, Wr as resolveChannelGroupRequireMention, Ws as VERSION, Wt as convertHeicToJpeg, Xa as resolveConfigSnapshotHash, Xo as resolveAvatarMime, Xt as estimateBase64DecodedBytes, Yi as stripPluginOnlyAllowlist, Yr as listTelegramAccountIds, Ys as resolveShellEnvFallbackTimeoutMs, Yt as canonicalizeBase64, Zi as normalizeToolName, Zn as isCacheEnabled, Zo as validateJsonSchemaValue, Zr as resolveTelegramAccount, Zt as extractToolCallsFromAssistant, _a as resolveTokenExpiryState, _c as resolveAuthProfileDisplayLabel, _i as resolveGroupSessionKey, _n as isLikelyContextOverflowError, an as classifyFailoverReasonFromHttpStatus, as as unsetConfigValueAtPath, bn as isTransientHttpError, br as hasInterSessionUserProvenance, c as modelKey, ca as ensureSessionHeader, cn as formatRawAssistantErrorForUi, d as normalizeProviderId, da as resolveBootstrapTotalMaxChars, dn as isBillingAssistantError, do as parseNonNegativeByteSize, dr as readSessionTitleFieldsFromTranscript, dt as buildAssistantMessage, ec as dedupeProfileIds, en as downgradeOpenAIFunctionCallReasoningPairs, eo as validateConfigObjectWithPlugins, er as deliveryContextKey, es as setConfigOverride, et as retryAsync, f as parseModelRef, fa as sanitizeGoogleTurnOrdering, fi as mapAllowFromEntries, fn as isCloudCodeAssistFormatError, fs as buildEnforcedShellCommand, ft as buildAssistantMessageWithZeroUsage, g as resolveDefaultModelForAgent, ga as evaluateStoredCredentialEligibility, gi as buildGroupDisplayName, gn as isFailoverErrorMessage, gt as isSecretRefHeaderValueMarker, h as resolveConfiguredModelRef, ha as resolveApiKeyForProfile, hi as normalizeChatType, hn as isFailoverAssistantError, hr as parseInlineDirectives$1, ht as isNonSecretApiKeyMarker, i as findNormalizedProviderValue, ia as matchesAnyGlobPattern, ii as listBindings, in as classifyFailoverReason, io as resolveTelegramCustomCommands, is as setConfigValueAtPath, jc as normalizeThinkLevel, ji as GATEWAY_CLIENT_MODES, jr as mergeSessionEntry, jt as buildApiErrorObservationFields, k as requireApiKey, kc as normalizeElevatedLevel, kn as resolveSandboxRuntimeStatus, kr as resolveThreadFlag, l as normalizeModelRef$1, la as resolveBootstrapMaxChars, li as resolveAccountEntry, ln as getApiErrorPayloadFingerprint, lo as resolveIMessageRemoteAttachmentRoots, mc as resolveOpenClawAgentDir, mi as resolveConversationLabel, mn as isContextOverflowError, mt as buildUsageWithNoCost, n as buildConfiguredAllowlistKeys, nc as markAuthProfileGood, nn as isGoogleModelApi, no as TELEGRAM_COMMAND_NAME_PATTERN, nr as normalizeDeliveryContext, ns as getConfigValueAtPath, o as inferUniqueProviderFromConfiguredModels, on as formatAssistantErrorText, oo as isInboundPathAllowed, or as archiveSessionTranscripts, pa as redactIdentifier, pc as resolveAuthStorePathForDisplay, pn as isCompactionFailureError, pt as buildStreamErrorAssistantMessage, qi as expandPolicyWithPluginGroups, qr as createTelegramActionGate, r as buildModelAliasIndex, ra as compileGlobPatterns, ri as buildChannelAccountBindings, rn as BILLING_ERROR_USER_MESSAGE, ro as normalizeTelegramCommandName, rr as normalizeSessionDeliveryFields, rs as parseConfigPath, s as isCliProvider, sa as buildBootstrapContextFiles, sc as ensureAuthProfileStore, si as listAcpBindings, sn as formatBillingErrorMessage, sr as capArrayByJsonBytes, t as buildAllowedModelSet, tc as listProfilesForProvider, tn as downgradeOpenAIReasoningBlocks, tr as mergeDeliveryContext, ts as unsetConfigOverride, ua as resolveBootstrapPromptTruncationWarningMode, un as isAuthAssistantError, uo as normalizeScpRemoteHost, ut as createConfiguredOllamaStreamFn, v as resolveModelRefFromString, vi as INTERNAL_MESSAGE_CHANNEL, vn as isRateLimitAssistantError, wc as DEFAULT_MODEL, wn as isTimeoutErrorMessage, wr as resolveSessionKey, wt as resolveAuthProfileOrder, x as resolveSubagentSpawnModelSelection, xc as normalizeSecretInput, xn as parseImageDimensionError, xr as normalizeInputProvenance, y as resolveReasoningDefault, yi as isDeliverableMessageChannel, yn as isRawApiErrorPayload, yr as applyInputProvenanceToUserMessage, zn as loadSessionStore, zr as deriveSessionMetaPatch, zt as normalizeTextForComparison } from "./model-selection-
|
|
5
|
-
import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, d as resolveDefaultAgentId, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
4
|
+
import { $a as writeConfigFile, $n as deliveryContextFromSession, $o as resetConfigOverrides, $r as resolveTelegramToken, $t as sanitizeToolCallIdsForCloudCodeAssist, A as resolveApiKeyForProvider, Ac as normalizeReasoningLevel, Ai as GATEWAY_CLIENT_IDS, An as appendAssistantMessageToSessionTranscript, Ar as DEFAULT_RESET_TRIGGERS, At as resolveProfilesUnavailableReason, Bi as writeJsonAtomic, Bn as readSessionUpdatedAt, Bt as sanitizeSessionMessagesImages, Cc as DEFAULT_CONTEXT_TOKENS, Ci as isMarkdownCapableMessageChannel, Cn as sanitizeUserFacingText, Dc as formatXHighModelHint, Di as resolveGatewayMessageChannel, Dn as ensureSandboxWorkspaceForSession, Do as parseDurationMs, Dr as resolveSessionResetPolicy, Dt as markAuthProfileFailure, E as getApiKeyForModel, Ec as formatThinkingLevels, Ei as normalizeMessageChannel, Er as resolveChannelResetConfig, Et as isProfileInCooldown, Fc as supportsXHighThinking, Fi as acquireSessionWriteLock, Fr as resolveAgentMainSessionKey, Ft as validateGeminiTurns, Gi as buildPluginToolGroups, Gn as updateSessionStore, Gt as getImageMetadata, Hn as resolveSessionStoreEntry, Ho as AVATAR_MAX_BYTES, Hr as listChannelDocks, Hs as resolveAgentMaxConcurrent, Ht as sanitizeToolResultImages, In as emitSessionTranscriptUpdate, It as pickFallbackThinkingLevel, Ja as readConfigFileSnapshot, Ji as mergeAlsoAllowPolicy, Jo as isWorkspaceRelativeAvatarPath, Jr as listEnabledTelegramAccounts, Js as getShellPathFromLoginShell, Jt as resizeToJpeg, Ki as collectExplicitAllowlist, Kn as updateSessionStoreEntry, Ko as isPathWithinRoot, Li as resolveSessionLockMaxHoldFromTimeout, Ln as onSessionTranscriptUpdate, Lr as resolveMainSessionKey, M as resolveEnvApiKey, Mc as normalizeUsageDisplay, Mi as GATEWAY_CLIENT_NAMES, Mn as resolveSessionTranscriptFile, Mr as resolveFreshSessionTotalTokens, Mt as buildTextObservationFields, N as resolveModelAuthMode, Nc as normalizeVerboseLevel, Nn as resolveAndPersistSessionFile, Nt as sanitizeForConsole, Oc as listThinkingLevels, Oi as resolveMessageChannel, On as resolveSandboxContext, Or as resolveSessionResetType, Os as applyMergePatch, Ot as markAuthProfileUsed, P as resolveUsableCustomProviderApiKey, Pc as resolveResponseUsageMode, Pn as extractDeliveryInfo, Pr as canonicalizeMainSessionAlias, Pt as validateAnthropicTurns, Qi as resolveToolProfilePolicy, Qn as resolveCacheTtlMs$1, Qo as getConfigOverrides, Qr as resolveTelegramPollActionGateState, Qs as resolveOwnerDisplaySetting, Qt as extractToolResultId, Rt as isMessagingToolDuplicateNormalized, S as resolveThinkingDefault, Sc as splitTrailingAuthProfile, Si as isInternalMessageChannel, Sn as parseImageSizeError, Sr as jsonUtf8Bytes, Tc as DEFAULT_PROVIDER, Ti as listDeliverableMessageChannels, Tr as evaluateSessionFreshness, Tt as getSoonestCooldownExpiry, Uo as isAvatarDataUrl, Ur as resolveChannelGroupPolicy, Ut as resolveImageSanitizationLimits, Vi as resolveSandboxConfigForAgent, Vn as recordSessionMetaFromInbound, Vr as getChannelDock, Vt as sanitizeImageBlocks, Wa as loadConfig, Wi as applyOwnerOnlyToolPolicy, Wn as updateLastRoute, Wo as isAvatarHttpUrl, Wr as resolveChannelGroupRequireMention, Ws as VERSION, Wt as convertHeicToJpeg, Xa as resolveConfigSnapshotHash, Xo as resolveAvatarMime, Xt as estimateBase64DecodedBytes, Yi as stripPluginOnlyAllowlist, Yr as listTelegramAccountIds, Ys as resolveShellEnvFallbackTimeoutMs, Yt as canonicalizeBase64, Zi as normalizeToolName, Zn as isCacheEnabled, Zo as validateJsonSchemaValue, Zr as resolveTelegramAccount, Zt as extractToolCallsFromAssistant, _a as resolveTokenExpiryState, _c as resolveAuthProfileDisplayLabel, _i as resolveGroupSessionKey, _n as isLikelyContextOverflowError, an as classifyFailoverReasonFromHttpStatus, as as unsetConfigValueAtPath, bn as isTransientHttpError, br as hasInterSessionUserProvenance, c as modelKey, ca as ensureSessionHeader, cn as formatRawAssistantErrorForUi, d as normalizeProviderId, da as resolveBootstrapTotalMaxChars, dn as isBillingAssistantError, do as parseNonNegativeByteSize, dr as readSessionTitleFieldsFromTranscript, dt as buildAssistantMessage, ec as dedupeProfileIds, en as downgradeOpenAIFunctionCallReasoningPairs, eo as validateConfigObjectWithPlugins, er as deliveryContextKey, es as setConfigOverride, et as retryAsync, f as parseModelRef, fa as sanitizeGoogleTurnOrdering, fi as mapAllowFromEntries, fn as isCloudCodeAssistFormatError, fs as buildEnforcedShellCommand, ft as buildAssistantMessageWithZeroUsage, g as resolveDefaultModelForAgent, ga as evaluateStoredCredentialEligibility, gi as buildGroupDisplayName, gn as isFailoverErrorMessage, gt as isSecretRefHeaderValueMarker, h as resolveConfiguredModelRef, ha as resolveApiKeyForProfile, hi as normalizeChatType, hn as isFailoverAssistantError, hr as parseInlineDirectives$1, ht as isNonSecretApiKeyMarker, i as findNormalizedProviderValue, ia as matchesAnyGlobPattern, ii as listBindings, in as classifyFailoverReason, io as resolveTelegramCustomCommands, is as setConfigValueAtPath, jc as normalizeThinkLevel, ji as GATEWAY_CLIENT_MODES, jr as mergeSessionEntry, jt as buildApiErrorObservationFields, k as requireApiKey, kc as normalizeElevatedLevel, kn as resolveSandboxRuntimeStatus, kr as resolveThreadFlag, l as normalizeModelRef$1, la as resolveBootstrapMaxChars, li as resolveAccountEntry, ln as getApiErrorPayloadFingerprint, lo as resolveIMessageRemoteAttachmentRoots, mc as resolveOpenClawAgentDir, mi as resolveConversationLabel, mn as isContextOverflowError, mt as buildUsageWithNoCost, n as buildConfiguredAllowlistKeys, nc as markAuthProfileGood, nn as isGoogleModelApi, no as TELEGRAM_COMMAND_NAME_PATTERN, nr as normalizeDeliveryContext, ns as getConfigValueAtPath, o as inferUniqueProviderFromConfiguredModels, on as formatAssistantErrorText, oo as isInboundPathAllowed, or as archiveSessionTranscripts, pa as redactIdentifier, pc as resolveAuthStorePathForDisplay, pn as isCompactionFailureError, pt as buildStreamErrorAssistantMessage, qi as expandPolicyWithPluginGroups, qr as createTelegramActionGate, r as buildModelAliasIndex, ra as compileGlobPatterns, ri as buildChannelAccountBindings, rn as BILLING_ERROR_USER_MESSAGE, ro as normalizeTelegramCommandName, rr as normalizeSessionDeliveryFields, rs as parseConfigPath, s as isCliProvider, sa as buildBootstrapContextFiles, sc as ensureAuthProfileStore, si as listAcpBindings, sn as formatBillingErrorMessage, sr as capArrayByJsonBytes, t as buildAllowedModelSet, tc as listProfilesForProvider, tn as downgradeOpenAIReasoningBlocks, tr as mergeDeliveryContext, ts as unsetConfigOverride, ua as resolveBootstrapPromptTruncationWarningMode, un as isAuthAssistantError, uo as normalizeScpRemoteHost, ut as createConfiguredOllamaStreamFn, v as resolveModelRefFromString, vi as INTERNAL_MESSAGE_CHANNEL, vn as isRateLimitAssistantError, wc as DEFAULT_MODEL, wn as isTimeoutErrorMessage, wr as resolveSessionKey, wt as resolveAuthProfileOrder, x as resolveSubagentSpawnModelSelection, xc as normalizeSecretInput, xn as parseImageDimensionError, xr as normalizeInputProvenance, y as resolveReasoningDefault, yi as isDeliverableMessageChannel, yn as isRawApiErrorPayload, yr as applyInputProvenanceToUserMessage, zn as loadSessionStore, zr as deriveSessionMetaPatch, zt as normalizeTextForComparison } from "./model-selection-DU-DNNW7.js";
|
|
5
|
+
import { D as filterBootstrapFilesForSession, E as ensureAgentWorkspace, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, _ as DEFAULT_AGENT_WORKSPACE_DIR, a as resolveAgentDir, d as resolveDefaultAgentId, h as resolveSessionAgentIds, i as resolveAgentConfig, k as loadWorkspaceBootstrapFiles, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, p as resolveRunModelFallbacksOverride, r as listAgentIds, t as hasConfiguredModelFallbacks, u as resolveAgentWorkspaceDir } from "./agent-scope-BrJT9Gf9.js";
|
|
6
6
|
import { C as isCronSessionKey, E as resolveThreadParentSessionKey, S as isCronRunSessionKey, T as parseAgentSessionKey, _ as normalizeOptionalAccountId, a as classifySessionKeyShape, c as normalizeMainKey, d as sanitizeAgentId, f as scopedHeartbeatWakeOptions, g as normalizeAccountId$1, h as DEFAULT_ACCOUNT_ID, i as buildAgentPeerSessionKey, l as resolveAgentIdFromSessionKey, n as DEFAULT_MAIN_KEY, o as isValidAgentId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isBlockedObjectKey, w as isSubagentSessionKey, x as isAcpSessionKey, y as deriveSessionChatType } from "./session-key-VV3RvEri.js";
|
|
7
7
|
import { r as normalizeStringEntries, t as normalizeAtHashSlug } from "./string-normalization-B7Qb9jnK.js";
|
|
8
|
-
import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, n as resolveOpenClawPackageRootSync, t as resolveOpenClawPackageRoot } from "./openclaw-root-
|
|
8
|
+
import { a as openBoundaryFileSync, h as normalizeWindowsPathForComparison, i as openBoundaryFile, n as resolveOpenClawPackageRootSync, t as resolveOpenClawPackageRoot } from "./openclaw-root-DbbVtnL2.js";
|
|
9
9
|
import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-m0MK99MT.js";
|
|
10
10
|
import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-B8ip-O6u.js";
|
|
11
11
|
import { c as normalizeResolvedSecretInputString, i as coerceSecretRef } from "./types.secrets-ZqKzSyNC.js";
|
|
@@ -15,61 +15,61 @@ import { t as parseBooleanValue$1 } from "./boolean-CJxfhBkG.js";
|
|
|
15
15
|
import { t as isTruthyEnvValue } from "./env-6my-UEm4.js";
|
|
16
16
|
import { n as applySkillEnvOverridesFromSnapshot, t as applySkillEnvOverrides, v as isDangerousHostEnvVarName } from "./env-overrides-CSdE_DWV.js";
|
|
17
17
|
import { A as resolveContextEngine, C as listPluginCommands, E as createInternalHookEvent, N as isSupportedChannelId, O as triggerInternalHook, S as getPluginCommandSpecs, b as clearPluginCommands, c as normalizeChannelId$1, d as getActivePluginRegistryKey, g as createPluginRegistry, k as registerContextEngine, m as setActivePluginRegistry, n as CHAT_CHANNEL_ORDER, s as normalizeAnyChannelId, u as getActivePluginRegistry, w as matchPluginCommand, x as executePluginCommand } from "./registry-BKJyEPHE.js";
|
|
18
|
-
import { C as resolveEffectiveEnableState, S as normalizePluginsConfig, b as applyTestPluginDefaults, c as resolveSandboxInputPath, f as loadPluginManifestRegistry, g as safeStatSync, h as isPathInside, m as discoverOpenClawPlugins, n as buildWorkspaceSkillCommandSpecs, o as assertMediaNotDataUrl, r as loadWorkspaceSkillEntries, s as assertSandboxPath, u as resolveSandboxedMediaSource, w as resolveMemorySlotDecision } from "./skills-
|
|
18
|
+
import { C as resolveEffectiveEnableState, S as normalizePluginsConfig, b as applyTestPluginDefaults, c as resolveSandboxInputPath, f as loadPluginManifestRegistry, g as safeStatSync, h as isPathInside, m as discoverOpenClawPlugins, n as buildWorkspaceSkillCommandSpecs, o as assertMediaNotDataUrl, r as loadWorkspaceSkillEntries, s as assertSandboxPath, u as resolveSandboxedMediaSource, w as resolveMemorySlotDecision } from "./skills-D7xInzjY.js";
|
|
19
19
|
import { s as runTasksWithConcurrency } from "./artifacts-BVEmBB-K.js";
|
|
20
|
-
import { i as redactSensitiveText, o as compileSafeRegex, s as testRegexWithBoundedInput, t as PATH_ALIAS_POLICIES } from "./path-alias-guards-
|
|
20
|
+
import { i as redactSensitiveText, o as compileSafeRegex, s as testRegexWithBoundedInput, t as PATH_ALIAS_POLICIES } from "./path-alias-guards-DBFU_Tqb.js";
|
|
21
21
|
import { n as listChannelPlugins, r as normalizeChannelId$2, t as getChannelPlugin } from "./plugins-Delv1GbW.js";
|
|
22
22
|
import { c as resolveStorePath, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, r as resolveSessionFilePathOptions, t as resolveDefaultSessionStorePath } from "./paths-DHrunYJK.js";
|
|
23
23
|
import { t as parseFiniteNumber$1 } from "./parse-finite-number-Drzqkcy7.js";
|
|
24
|
-
import { _ as resolveMediaUnderstandingScope, a as resolveAutoImageModel, b as DEFAULT_IMAGE_MODELS, d as normalizeAttachmentPath, f as normalizeAttachments, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as normalizeMediaAttachments, l as registerUnhandledRejectionHandler, m as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as resolveAttachmentKind, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, v as AUTO_IMAGE_KEY_PROVIDERS, x as applyTemplate, y as CLI_OUTPUT_MAX_BUFFER } from "./audio-transcription-runner-
|
|
25
|
-
import { C as extractTextFromChatContent, E as minimaxUnderstandImage, S as isInsideCode, T as isMinimaxVlmProvider, _ as stripThinkingTagsFromText, a as resolveProviderVisionModelFromConfig, b as stripReasoningTagsFromText, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripModelSpecialTokens, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$2, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as formatToolSummary, w as isMinimaxVlmModel, x as findCodeRegions, y as resolveToolDisplay } from "./image-
|
|
26
|
-
import { t as ensureOpenClawModelsJson } from "./models-config-
|
|
24
|
+
import { _ as resolveMediaUnderstandingScope, a as resolveAutoImageModel, b as DEFAULT_IMAGE_MODELS, d as normalizeAttachmentPath, f as normalizeAttachments, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as normalizeMediaAttachments, l as registerUnhandledRejectionHandler, m as resolveConcurrency, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as resolveAttachmentKind, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, v as AUTO_IMAGE_KEY_PROVIDERS, x as applyTemplate, y as CLI_OUTPUT_MAX_BUFFER } from "./audio-transcription-runner-B02iDYTW.js";
|
|
25
|
+
import { C as extractTextFromChatContent, E as minimaxUnderstandImage, S as isInsideCode, T as isMinimaxVlmProvider, _ as stripThinkingTagsFromText, a as resolveProviderVisionModelFromConfig, b as stripReasoningTagsFromText, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripModelSpecialTokens, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$2, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as formatToolSummary, w as isMinimaxVlmModel, x as findCodeRegions, y as resolveToolDisplay } from "./image-BUEhx-b4.js";
|
|
26
|
+
import { t as ensureOpenClawModelsJson } from "./models-config-xqqHZFkg.js";
|
|
27
27
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-oCOYl-9e.js";
|
|
28
28
|
import { t as hasEnvHttpProxyConfigured } from "./proxy-env-G6JgJlRw.js";
|
|
29
|
-
import { a as isBlockedHostnameOrIp, i as SsrFBlockedError, n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
30
|
-
import { a as extensionForMime, c as isGifMedia, d as MAX_IMAGE_BYTES, i as detectMime, l as kindFromMime, n as fetchRemoteMedia, p as mediaKindFromMime, r as readResponseWithLimit, s as isAudioFileName, t as MediaFetchError } from "./fetch-
|
|
31
|
-
import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-
|
|
32
|
-
import { t as getAgentScopedMediaLocalRoots } from "./local-roots-
|
|
33
|
-
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-
|
|
29
|
+
import { a as isBlockedHostnameOrIp, i as SsrFBlockedError, n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DGuF8Mhb.js";
|
|
30
|
+
import { a as extensionForMime, c as isGifMedia, d as MAX_IMAGE_BYTES, i as detectMime, l as kindFromMime, n as fetchRemoteMedia, p as mediaKindFromMime, r as readResponseWithLimit, s as isAudioFileName, t as MediaFetchError } from "./fetch-DAiV9-bR.js";
|
|
31
|
+
import { i as formatUncaughtError, r as formatErrorMessage, s as readErrorName } from "./errors-Bqf8bSUd.js";
|
|
32
|
+
import { t as getAgentScopedMediaLocalRoots } from "./local-roots-BZvUgFKO.js";
|
|
33
|
+
import { n as loadModelCatalog, r as modelSupportsVision, t as findModelInCatalog } from "./model-catalog-BtBiWr2U.js";
|
|
34
34
|
import { n as makeProxyFetch } from "./proxy-fetch-Cbsa1-1O.js";
|
|
35
|
-
import { A as throwIfAborted, B as isSilentReplyText, C as toPluginMessageReceivedEvent, D as buildTargetResolverSignature, I as joinPresentTextSegments, L as HEARTBEAT_TOKEN, M as splitMediaFromOutput, N as getGlobalHookRunner, O as normalizeChannelTargetInput, P as initializeGlobalHookRunner, R as SILENT_REPLY_TOKEN, S as toPluginMessageContext, T as fireAndForgetHook, V as stripSilentToken, _ as deriveInboundMessageHookContext, b as toInternalMessageSentContext, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildCanonicalSentMessageHookContext, h as resolveReplyToMode, j as parseReplyDirectives, k as normalizeTargetForProvider, l as filterMessagingToolDuplicates, m as createReplyToModeFilterForChannel, o as normalizeReplyPayloadsForDelivery, p as shouldSuppressReasoningPayload, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as toInternalMessagePreprocessedContext, w as toPluginMessageSentEvent, x as toInternalMessageTranscribedContext, y as toInternalMessageReceivedContext, z as isSilentReplyPrefixText } from "./deliver-
|
|
35
|
+
import { A as throwIfAborted, B as isSilentReplyText, C as toPluginMessageReceivedEvent, D as buildTargetResolverSignature, I as joinPresentTextSegments, L as HEARTBEAT_TOKEN, M as splitMediaFromOutput, N as getGlobalHookRunner, O as normalizeChannelTargetInput, P as initializeGlobalHookRunner, R as SILENT_REPLY_TOKEN, S as toPluginMessageContext, T as fireAndForgetHook, V as stripSilentToken, _ as deriveInboundMessageHookContext, b as toInternalMessageSentContext, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as buildCanonicalSentMessageHookContext, h as resolveReplyToMode, j as parseReplyDirectives, k as normalizeTargetForProvider, l as filterMessagingToolDuplicates, m as createReplyToModeFilterForChannel, o as normalizeReplyPayloadsForDelivery, p as shouldSuppressReasoningPayload, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as toInternalMessagePreprocessedContext, w as toPluginMessageSentEvent, x as toInternalMessageTranscribedContext, y as toInternalMessageReceivedContext, z as isSilentReplyPrefixText } from "./deliver-BBYhSw-z.js";
|
|
36
36
|
import { a as resolveNativeSkillsEnabled, i as resolveNativeCommandsEnabled, n as isNativeCommandsExplicitlyDisabled, r as isRestartEnabled, t as isCommandFlagEnabled } from "./commands-CH9PY2Dm.js";
|
|
37
|
-
import { a as chunkText, c as resolveTextChunkLimit, d as parseFenceSpans, h as resolveTelegramTargetChatType, i as chunkMarkdownTextWithMode, l as findFenceSpanAt, m as parseTelegramTarget, o as chunkTextWithMode, r as chunkMarkdownText, s as resolveChunkMode, t as chunkByNewline, u as isSafeFenceBreak } from "./chunk-
|
|
38
|
-
import { T as GatewayClient, h as resolveGatewayCredentialsFromConfig, i as randomIdempotencyKey, n as callGateway, p as resolveLeastPrivilegeOperatorScopesForMethod, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails, w as trimToUndefined } from "./call-
|
|
39
|
-
import { b as getSubagentDepthFromSessionStore, c as resolveOpenProviderRuntimeGroupPolicy, d as filterToolsByPolicy, f as isToolAllowedByPolicies, g as resolveSubagentToolPolicyForSession, i as projectSafeChannelAccountSnapshotFields, l as resolveCommandAuthorizedFromAuthorizers, m as resolveGroupToolPolicy, n as hasConfiguredUnavailableCredentialStatus, o as resolvePinnedMainDmOwnerFromAllowlist, p as resolveEffectiveToolPolicy, r as hasResolvedCredentialValue, s as evaluateMatchedGroupAccessForPolicy, t as inspectReadOnlyChannelAccount, u as resolveControlCommandGate, v as resolveStoredSubagentCapabilities, y as resolveSubagentCapabilities } from "./read-only-account-inspect-
|
|
40
|
-
import { $ as formatLocationText, A as buildSenderName, B as hasBotMention, C as withTelegramApiErrorLogging, D as resolveMarkdownTableMode, E as recordChannelActivity, F as buildTypingThreadParams, G as resolveTelegramMediaPlaceholder, H as resolveTelegramDirectPeerId, I as describeReplyTarget, J as resolveTelegramThreadSpec, K as resolveTelegramReplyId, L as expandTextLinks, M as buildTelegramGroupPeerId, N as buildTelegramParentPeer, O as buildGroupLabel, P as buildTelegramThreadParams, Q as resolveSenderAllowMatch, R as extractTelegramLocation, S as splitTelegramCaption, T as getChannelActivity, U as resolveTelegramForumThreadId, V as normalizeForwardedContext, W as resolveTelegramGroupAllowFromContext, X as normalizeAllowFrom$1, Y as isSenderAllowed, Z as normalizeDmAllowFromWithStore, _ as markdownToTelegramHtml, a as editMessageTelegram, at as loadWebMediaRaw, b as renderMarkdownWithMarkers, c as sendPollTelegram, d as resolveTelegramVoiceSend, et as toLocationContext, f as wasSentByBot, g as markdownToTelegramChunks, h as isTelegramClientRejection, i as editMessageReplyMarkupTelegram, it as loadWebMedia, j as buildTelegramGroupFrom, k as buildSenderLabel, l as sendStickerTelegram, m as isSafeToRetrySendError, n as createForumTopicTelegram, nt as resolvePollMaxSelections, o as reactMessageTelegram, ot as isVoiceCompatibleAudio, p as isRecoverableTelegramNetworkError, q as resolveTelegramStreamMode, r as deleteMessageTelegram, rt as getDefaultLocalRoots, s as sendMessageTelegram, t as buildInlineKeyboard, tt as normalizePollInput, u as sendTypingTelegram, v as renderTelegramHtmlText, w as buildOutboundMediaLoadOptions, x as markdownToIRWithMeta, y as wrapFileReferencesInHtml, z as getTelegramTextParts } from "./send-
|
|
41
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
37
|
+
import { a as chunkText, c as resolveTextChunkLimit, d as parseFenceSpans, h as resolveTelegramTargetChatType, i as chunkMarkdownTextWithMode, l as findFenceSpanAt, m as parseTelegramTarget, o as chunkTextWithMode, r as chunkMarkdownText, s as resolveChunkMode, t as chunkByNewline, u as isSafeFenceBreak } from "./chunk-D4AO1AEe.js";
|
|
38
|
+
import { T as GatewayClient, h as resolveGatewayCredentialsFromConfig, i as randomIdempotencyKey, n as callGateway, p as resolveLeastPrivilegeOperatorScopesForMethod, r as callGatewayLeastPrivilege, t as buildGatewayConnectionDetails, w as trimToUndefined } from "./call-7be5mSn_.js";
|
|
39
|
+
import { b as getSubagentDepthFromSessionStore, c as resolveOpenProviderRuntimeGroupPolicy, d as filterToolsByPolicy, f as isToolAllowedByPolicies, g as resolveSubagentToolPolicyForSession, i as projectSafeChannelAccountSnapshotFields, l as resolveCommandAuthorizedFromAuthorizers, m as resolveGroupToolPolicy, n as hasConfiguredUnavailableCredentialStatus, o as resolvePinnedMainDmOwnerFromAllowlist, p as resolveEffectiveToolPolicy, r as hasResolvedCredentialValue, s as evaluateMatchedGroupAccessForPolicy, t as inspectReadOnlyChannelAccount, u as resolveControlCommandGate, v as resolveStoredSubagentCapabilities, y as resolveSubagentCapabilities } from "./read-only-account-inspect-sMyuBIwr.js";
|
|
40
|
+
import { $ as formatLocationText, A as buildSenderName, B as hasBotMention, C as withTelegramApiErrorLogging, D as resolveMarkdownTableMode, E as recordChannelActivity, F as buildTypingThreadParams, G as resolveTelegramMediaPlaceholder, H as resolveTelegramDirectPeerId, I as describeReplyTarget, J as resolveTelegramThreadSpec, K as resolveTelegramReplyId, L as expandTextLinks, M as buildTelegramGroupPeerId, N as buildTelegramParentPeer, O as buildGroupLabel, P as buildTelegramThreadParams, Q as resolveSenderAllowMatch, R as extractTelegramLocation, S as splitTelegramCaption, T as getChannelActivity, U as resolveTelegramForumThreadId, V as normalizeForwardedContext, W as resolveTelegramGroupAllowFromContext, X as normalizeAllowFrom$1, Y as isSenderAllowed, Z as normalizeDmAllowFromWithStore, _ as markdownToTelegramHtml, a as editMessageTelegram, at as loadWebMediaRaw, b as renderMarkdownWithMarkers, c as sendPollTelegram, d as resolveTelegramVoiceSend, et as toLocationContext, f as wasSentByBot, g as markdownToTelegramChunks, h as isTelegramClientRejection, i as editMessageReplyMarkupTelegram, it as loadWebMedia, j as buildTelegramGroupFrom, k as buildSenderLabel, l as sendStickerTelegram, m as isSafeToRetrySendError, n as createForumTopicTelegram, nt as resolvePollMaxSelections, o as reactMessageTelegram, ot as isVoiceCompatibleAudio, p as isRecoverableTelegramNetworkError, q as resolveTelegramStreamMode, r as deleteMessageTelegram, rt as getDefaultLocalRoots, s as sendMessageTelegram, t as buildInlineKeyboard, tt as normalizePollInput, u as sendTypingTelegram, v as renderTelegramHtmlText, w as buildOutboundMediaLoadOptions, x as markdownToIRWithMeta, y as wrapFileReferencesInHtml, z as getTelegramTextParts } from "./send-BeUTtwRC.js";
|
|
41
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-7pqY2wzA.js";
|
|
42
42
|
import { a as generateSecureToken, o as generateSecureUuid } from "./delivery-queue-BjDC-rSc.js";
|
|
43
|
-
import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-
|
|
43
|
+
import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-BgC5_P-R.js";
|
|
44
44
|
import { i as resolveContextWindowInfo, n as CONTEXT_WINDOW_WARN_BELOW_TOKENS, r as evaluateContextWindowGuard, t as CONTEXT_WINDOW_HARD_MIN_TOKENS } from "./context-window-guard-CgKnVebN.js";
|
|
45
|
-
import { n as resolveAllowAlwaysPatterns, t as evaluateShellAllowlist } from "./exec-approvals-allowlist-
|
|
46
|
-
import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-
|
|
47
|
-
import { a as openFileWithinRoot, i as createRootScopedReadFile, n as appendFileWithinRoot, r as copyFileWithinRoot, s as readFileWithinRoot, t as SafeOpenError, u as writeFileWithinRoot } from "./fs-safe-
|
|
45
|
+
import { n as resolveAllowAlwaysPatterns, t as evaluateShellAllowlist } from "./exec-approvals-allowlist-BSEL6MhC.js";
|
|
46
|
+
import { n as resolveExecSafeBinRuntimePolicy, r as resolveMergedSafeBinProfileFixtures } from "./exec-safe-bin-runtime-policy-DbbnAmrV.js";
|
|
47
|
+
import { a as openFileWithinRoot, i as createRootScopedReadFile, n as appendFileWithinRoot, r as copyFileWithinRoot, s as readFileWithinRoot, t as SafeOpenError, u as writeFileWithinRoot } from "./fs-safe-B_UpcQBp.js";
|
|
48
48
|
import { a as loadExecApprovals, c as minSecurity, d as normalizeExecHost$1, f as normalizeExecSecurity$1, g as resolveExecApprovals, h as requiresExecApproval, m as recordAllowlistUse, o as maxAsk, r as addAllowlistEntry, t as formatTimeAgo, u as normalizeExecAsk$1 } from "./format-relative-CsSUDXfJ.js";
|
|
49
|
-
import { l as triggerOpenClawRestart, m as killProcessTree$1, o as scheduleGatewaySigusr1Restart } from "./logging-
|
|
49
|
+
import { l as triggerOpenClawRestart, m as killProcessTree$1, o as scheduleGatewaySigusr1Restart } from "./logging-59CroxmQ.js";
|
|
50
50
|
import { r as formatDurationPrecise, t as formatDurationCompact$1 } from "./format-duration-B3_eTatE.js";
|
|
51
51
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-_MyzaWr5.js";
|
|
52
|
-
import { r as getActiveRuntimeWebToolsMetadata } from "./runtime-
|
|
52
|
+
import { r as getActiveRuntimeWebToolsMetadata } from "./runtime-hakwcpul.js";
|
|
53
53
|
import { i as parseAbsoluteTimeMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-BtegmH1U.js";
|
|
54
|
-
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-
|
|
55
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
56
|
-
import { a as removeChannelAllowFromStoreEntry, i as readChannelAllowFromStore, l as listPairingChannels, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-
|
|
54
|
+
import { n as resolveMessageChannelSelection, t as listConfiguredMessageChannels } from "./channel-selection-Cz7kZ_dd.js";
|
|
55
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-BYUBkHiG.js";
|
|
56
|
+
import { a as removeChannelAllowFromStoreEntry, i as readChannelAllowFromStore, l as listPairingChannels, s as upsertChannelPairingRequest, t as addChannelAllowFromStoreEntry } from "./pairing-store-Dr8a_B6n.js";
|
|
57
57
|
import { t as firstDefined } from "./allow-from-6PZpjJrk.js";
|
|
58
58
|
import { c as formatUsd, d as deriveSessionTotalTokens, f as hasNonzeroUsage, l as resolveModelCostConfig, m as normalizeUsage, n as loadCostUsageSummary, o as estimateUsageCost, p as makeZeroUsageSnapshot, r as loadSessionCostSummary, s as formatTokenCount$2, u as derivePromptTokens } from "./session-cost-usage-1EN6nQFQ.js";
|
|
59
59
|
import { n as resolveFetch, t as resolveTelegramFetch } from "./fetch-CLE5aXgx.js";
|
|
60
|
-
import { C as isQueryStopWordToken, S as extractKeywords } from "./sqlite-
|
|
60
|
+
import { C as isQueryStopWordToken, S as extractKeywords } from "./sqlite-BXiqNpZr.js";
|
|
61
61
|
import { n as resolveCronStorePath, t as loadCronStore } from "./store-BYAXpd4r.js";
|
|
62
|
-
import { t as resolveGatewayConnectionAuth } from "./connection-auth-
|
|
63
|
-
import { n as getMemorySearchManager, r as resolveMemoryBackendConfig } from "./memory-
|
|
64
|
-
import { c as isDegradedMemoryStatus, l as shortDiagnosticFingerprint, s as resolveMemorySearchConfig, u as summarizeMemoryStatus } from "./manager-
|
|
65
|
-
import { n as registerMemoryCli } from "./memory-cli-
|
|
62
|
+
import { t as resolveGatewayConnectionAuth } from "./connection-auth-tv7E7e3R.js";
|
|
63
|
+
import { n as getMemorySearchManager, r as resolveMemoryBackendConfig } from "./memory-adblmZ7U.js";
|
|
64
|
+
import { c as isDegradedMemoryStatus, l as shortDiagnosticFingerprint, s as resolveMemorySearchConfig, u as summarizeMemoryStatus } from "./manager-BaDp-h4i.js";
|
|
65
|
+
import { n as registerMemoryCli } from "./memory-cli-C5dGMHKl.js";
|
|
66
66
|
import { createRequire } from "node:module";
|
|
67
67
|
import { fileURLToPath } from "node:url";
|
|
68
68
|
import fs, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
69
69
|
import os, { homedir } from "node:os";
|
|
70
70
|
import path, { isAbsolute } from "node:path";
|
|
71
71
|
import { promisify } from "node:util";
|
|
72
|
-
import
|
|
72
|
+
import fsPromises, { appendFile, mkdir } from "node:fs/promises";
|
|
73
73
|
import { execFile, execFileSync, spawn } from "node:child_process";
|
|
74
74
|
import crypto, { createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
|
|
75
75
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
@@ -522,7 +522,16 @@ function resolveChannelModelOverride(params) {
|
|
|
522
522
|
const providerEntries = resolveProviderEntry(modelByChannel, channel);
|
|
523
523
|
if (!providerEntries) return null;
|
|
524
524
|
const candidates = buildChannelCandidates(params);
|
|
525
|
-
if (candidates.length === 0)
|
|
525
|
+
if (candidates.length === 0) {
|
|
526
|
+
const wildcardModel = typeof providerEntries["*"] === "string" ? providerEntries["*"].trim() : void 0;
|
|
527
|
+
if (!wildcardModel) return null;
|
|
528
|
+
return {
|
|
529
|
+
channel: normalizeMessageChannel(channel) ?? channel.trim().toLowerCase(),
|
|
530
|
+
model: wildcardModel,
|
|
531
|
+
matchKey: "*",
|
|
532
|
+
matchSource: "wildcard"
|
|
533
|
+
};
|
|
534
|
+
}
|
|
526
535
|
const match = resolveChannelEntryMatchWithFallback({
|
|
527
536
|
entries: providerEntries,
|
|
528
537
|
keys: candidates,
|
|
@@ -1072,7 +1081,7 @@ async function runWithConcurrency(tasks, limit) {
|
|
|
1072
1081
|
//#region src/media-understanding/echo-transcript.ts
|
|
1073
1082
|
let deliverRuntimePromise$2 = null;
|
|
1074
1083
|
function loadDeliverRuntime$2() {
|
|
1075
|
-
deliverRuntimePromise$2 ??= import("./deliver-runtime-
|
|
1084
|
+
deliverRuntimePromise$2 ??= import("./deliver-runtime-DT4PMHlo.js");
|
|
1076
1085
|
return deliverRuntimePromise$2;
|
|
1077
1086
|
}
|
|
1078
1087
|
function formatEchoTranscript(transcript, format) {
|
|
@@ -2414,7 +2423,7 @@ async function resolveAgentSessionDirs(stateDir) {
|
|
|
2414
2423
|
const agentsDir = path.join(stateDir, "agents");
|
|
2415
2424
|
let entries = [];
|
|
2416
2425
|
try {
|
|
2417
|
-
entries = await
|
|
2426
|
+
entries = await fsPromises.readdir(agentsDir, { withFileTypes: true });
|
|
2418
2427
|
} catch (err) {
|
|
2419
2428
|
if (err.code === "ENOENT") return [];
|
|
2420
2429
|
throw err;
|
|
@@ -6316,7 +6325,7 @@ var LegacyContextEngine = class {
|
|
|
6316
6325
|
}
|
|
6317
6326
|
async afterTurn(_params) {}
|
|
6318
6327
|
async compact(params) {
|
|
6319
|
-
const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-
|
|
6328
|
+
const { compactEmbeddedPiSessionDirect } = await import("./compact.runtime-D3MiFKq0.js");
|
|
6320
6329
|
const runtimeContext = params.runtimeContext ?? {};
|
|
6321
6330
|
const result = await compactEmbeddedPiSessionDirect({
|
|
6322
6331
|
...runtimeContext,
|
|
@@ -9196,7 +9205,7 @@ function resolvePluginTools(params) {
|
|
|
9196
9205
|
//#endregion
|
|
9197
9206
|
//#region src/agents/apply-patch-update.ts
|
|
9198
9207
|
async function defaultReadFile(filePath) {
|
|
9199
|
-
return
|
|
9208
|
+
return fsPromises.readFile(filePath, "utf8");
|
|
9200
9209
|
}
|
|
9201
9210
|
async function applyUpdateHunk(filePath, chunks, options) {
|
|
9202
9211
|
const originalLines = (await (options?.readFile ?? defaultReadFile)(filePath).catch((err) => {
|
|
@@ -9521,7 +9530,7 @@ function resolvePatchFileOps(options) {
|
|
|
9521
9530
|
const workspaceOnly = options.workspaceOnly !== false;
|
|
9522
9531
|
return {
|
|
9523
9532
|
readFile: async (filePath) => {
|
|
9524
|
-
if (!workspaceOnly) return await
|
|
9533
|
+
if (!workspaceOnly) return await fsPromises.readFile(filePath, "utf8");
|
|
9525
9534
|
const opened = await openBoundaryFile({
|
|
9526
9535
|
absolutePath: filePath,
|
|
9527
9536
|
rootPath: options.cwd,
|
|
@@ -9536,7 +9545,7 @@ function resolvePatchFileOps(options) {
|
|
|
9536
9545
|
},
|
|
9537
9546
|
writeFile: async (filePath, content) => {
|
|
9538
9547
|
if (!workspaceOnly) {
|
|
9539
|
-
await
|
|
9548
|
+
await fsPromises.writeFile(filePath, content, "utf8");
|
|
9540
9549
|
return;
|
|
9541
9550
|
}
|
|
9542
9551
|
const relative = toRelativeSandboxPath(options.cwd, filePath);
|
|
@@ -9547,8 +9556,8 @@ function resolvePatchFileOps(options) {
|
|
|
9547
9556
|
encoding: "utf8"
|
|
9548
9557
|
});
|
|
9549
9558
|
},
|
|
9550
|
-
remove: (filePath) =>
|
|
9551
|
-
mkdirp: (dir) =>
|
|
9559
|
+
remove: (filePath) => fsPromises.rm(filePath),
|
|
9560
|
+
mkdirp: (dir) => fsPromises.mkdir(dir, { recursive: true }).then(() => {})
|
|
9552
9561
|
};
|
|
9553
9562
|
}
|
|
9554
9563
|
async function ensureDir(filePath, ops) {
|
|
@@ -11596,7 +11605,7 @@ async function resolveSandboxWorkdir(params) {
|
|
|
11596
11605
|
cwd: process.cwd(),
|
|
11597
11606
|
root: params.sandbox.workspaceDir
|
|
11598
11607
|
});
|
|
11599
|
-
if (!(await
|
|
11608
|
+
if (!(await fsPromises.stat(resolved.resolved)).isDirectory()) throw new Error("workdir is not a directory");
|
|
11600
11609
|
const relative = resolved.relative ? resolved.relative.split(path.sep).join(path.posix.sep) : "";
|
|
11601
11610
|
const containerWorkdir = relative ? path.posix.join(params.sandbox.containerWorkdir, relative) : params.sandbox.containerWorkdir;
|
|
11602
11611
|
return {
|
|
@@ -12527,13 +12536,13 @@ async function validateScriptFileForShellBleed(params) {
|
|
|
12527
12536
|
cwd: params.workdir,
|
|
12528
12537
|
root: params.workdir
|
|
12529
12538
|
});
|
|
12530
|
-
stat = await
|
|
12539
|
+
stat = await fsPromises.stat(absPath);
|
|
12531
12540
|
} catch {
|
|
12532
12541
|
return;
|
|
12533
12542
|
}
|
|
12534
12543
|
if (!stat.isFile()) return;
|
|
12535
12544
|
if (stat.size > 512 * 1024) return;
|
|
12536
|
-
const content = await
|
|
12545
|
+
const content = await fsPromises.readFile(absPath, "utf-8");
|
|
12537
12546
|
const first = /\$[A-Z_][A-Z0-9_]{1,}/g.exec(content);
|
|
12538
12547
|
if (first) {
|
|
12539
12548
|
const idx = first.index;
|
|
@@ -14764,27 +14773,27 @@ function resolveRestartSentinelPath(env = process.env) {
|
|
|
14764
14773
|
}
|
|
14765
14774
|
async function writeRestartSentinel(payload, env = process.env) {
|
|
14766
14775
|
const filePath = resolveRestartSentinelPath(env);
|
|
14767
|
-
await
|
|
14776
|
+
await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
|
|
14768
14777
|
const data = {
|
|
14769
14778
|
version: 1,
|
|
14770
14779
|
payload
|
|
14771
14780
|
};
|
|
14772
|
-
await
|
|
14781
|
+
await fsPromises.writeFile(filePath, `${JSON.stringify(data, null, 2)}\n`, "utf-8");
|
|
14773
14782
|
return filePath;
|
|
14774
14783
|
}
|
|
14775
14784
|
async function readRestartSentinel(env = process.env) {
|
|
14776
14785
|
const filePath = resolveRestartSentinelPath(env);
|
|
14777
14786
|
try {
|
|
14778
|
-
const raw = await
|
|
14787
|
+
const raw = await fsPromises.readFile(filePath, "utf-8");
|
|
14779
14788
|
let parsed;
|
|
14780
14789
|
try {
|
|
14781
14790
|
parsed = JSON.parse(raw);
|
|
14782
14791
|
} catch {
|
|
14783
|
-
await
|
|
14792
|
+
await fsPromises.unlink(filePath).catch(() => {});
|
|
14784
14793
|
return null;
|
|
14785
14794
|
}
|
|
14786
14795
|
if (!parsed || parsed.version !== 1 || !parsed.payload) {
|
|
14787
|
-
await
|
|
14796
|
+
await fsPromises.unlink(filePath).catch(() => {});
|
|
14788
14797
|
return null;
|
|
14789
14798
|
}
|
|
14790
14799
|
return parsed;
|
|
@@ -14796,7 +14805,7 @@ async function consumeRestartSentinel(env = process.env) {
|
|
|
14796
14805
|
const filePath = resolveRestartSentinelPath(env);
|
|
14797
14806
|
const parsed = await readRestartSentinel(env);
|
|
14798
14807
|
if (!parsed) return null;
|
|
14799
|
-
await
|
|
14808
|
+
await fsPromises.unlink(filePath).catch(() => {});
|
|
14800
14809
|
return parsed;
|
|
14801
14810
|
}
|
|
14802
14811
|
function formatRestartSentinelMessage(payload) {
|
|
@@ -19671,7 +19680,7 @@ function normalizeReplyPayload(payload, opts = {}) {
|
|
|
19671
19680
|
*/
|
|
19672
19681
|
let deliverRuntimePromise$1 = null;
|
|
19673
19682
|
function loadDeliverRuntime$1() {
|
|
19674
|
-
deliverRuntimePromise$1 ??= import("./deliver-runtime-
|
|
19683
|
+
deliverRuntimePromise$1 ??= import("./deliver-runtime-DT4PMHlo.js");
|
|
19675
19684
|
return deliverRuntimePromise$1;
|
|
19676
19685
|
}
|
|
19677
19686
|
/**
|
|
@@ -20226,7 +20235,7 @@ function ensureContextWindowCacheLoaded() {
|
|
|
20226
20235
|
await ensureOpenClawModelsJson(cfg);
|
|
20227
20236
|
} catch {}
|
|
20228
20237
|
try {
|
|
20229
|
-
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-
|
|
20238
|
+
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-7pqY2wzA.js").then((n) => n.r);
|
|
20230
20239
|
const agentDir = resolveOpenClawAgentDir();
|
|
20231
20240
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
20232
20241
|
applyDiscoveredContextWindows({
|
|
@@ -25095,7 +25104,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
|
|
|
25095
25104
|
const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
|
|
25096
25105
|
let subagentRegistryRuntimePromise = null;
|
|
25097
25106
|
function loadSubagentRegistryRuntime() {
|
|
25098
|
-
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-
|
|
25107
|
+
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-DLTR5fch.js");
|
|
25099
25108
|
return subagentRegistryRuntimePromise;
|
|
25100
25109
|
}
|
|
25101
25110
|
const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
|
|
@@ -30022,7 +30031,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
|
|
|
30022
30031
|
const MAX_LOOP_WARNING_KEYS = 256;
|
|
30023
30032
|
let beforeToolCallRuntimePromise = null;
|
|
30024
30033
|
function loadBeforeToolCallRuntime() {
|
|
30025
|
-
beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-
|
|
30034
|
+
beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-mhmSMpSo.js");
|
|
30026
30035
|
return beforeToolCallRuntimePromise;
|
|
30027
30036
|
}
|
|
30028
30037
|
function buildAdjustedParamsKey(params) {
|
|
@@ -30258,7 +30267,7 @@ function wrapHostEditToolWithPostWriteRecovery(base, root) {
|
|
|
30258
30267
|
if (!pathParam || !newText) throw err;
|
|
30259
30268
|
try {
|
|
30260
30269
|
const absolutePath = resolveHostEditPath(root, pathParam);
|
|
30261
|
-
const content = await
|
|
30270
|
+
const content = await fsPromises.readFile(absolutePath, "utf-8");
|
|
30262
30271
|
const hasNew = content.includes(newText);
|
|
30263
30272
|
const stillHasOld = oldText !== void 0 && oldText.length > 0 && content.includes(oldText);
|
|
30264
30273
|
if (hasNew && !stillHasOld) return {
|
|
@@ -30639,7 +30648,7 @@ async function readOptionalUtf8File(params) {
|
|
|
30639
30648
|
signal: params.signal
|
|
30640
30649
|
})).toString("utf-8");
|
|
30641
30650
|
}
|
|
30642
|
-
return await
|
|
30651
|
+
return await fsPromises.readFile(params.absolutePath, "utf-8");
|
|
30643
30652
|
} catch (error) {
|
|
30644
30653
|
if (error?.code === "ENOENT") return "";
|
|
30645
30654
|
throw error;
|
|
@@ -30679,8 +30688,8 @@ async function appendMemoryFlushContent(params) {
|
|
|
30679
30688
|
});
|
|
30680
30689
|
return;
|
|
30681
30690
|
}
|
|
30682
|
-
await
|
|
30683
|
-
await
|
|
30691
|
+
await fsPromises.mkdir(path.dirname(params.absolutePath), { recursive: true });
|
|
30692
|
+
await fsPromises.writeFile(params.absolutePath, next, "utf-8");
|
|
30684
30693
|
}
|
|
30685
30694
|
function wrapToolMemoryFlushAppendOnlyWrite(tool, options) {
|
|
30686
30695
|
const allowedAbsolutePath = path.resolve(options.root, options.relativePath);
|
|
@@ -30838,14 +30847,14 @@ function createSandboxEditOperations(params) {
|
|
|
30838
30847
|
}
|
|
30839
30848
|
async function writeHostFile(absolutePath, content) {
|
|
30840
30849
|
const resolved = path.resolve(absolutePath);
|
|
30841
|
-
await
|
|
30842
|
-
await
|
|
30850
|
+
await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
|
|
30851
|
+
await fsPromises.writeFile(resolved, content, "utf-8");
|
|
30843
30852
|
}
|
|
30844
30853
|
function createHostWriteOperations(root, options) {
|
|
30845
30854
|
if (!(options?.workspaceOnly ?? false)) return {
|
|
30846
30855
|
mkdir: async (dir) => {
|
|
30847
30856
|
const resolved = path.resolve(dir);
|
|
30848
|
-
await
|
|
30857
|
+
await fsPromises.mkdir(resolved, { recursive: true });
|
|
30849
30858
|
},
|
|
30850
30859
|
writeFile: writeHostFile
|
|
30851
30860
|
};
|
|
@@ -30858,7 +30867,7 @@ function createHostWriteOperations(root, options) {
|
|
|
30858
30867
|
cwd: root,
|
|
30859
30868
|
root
|
|
30860
30869
|
});
|
|
30861
|
-
await
|
|
30870
|
+
await fsPromises.mkdir(resolved, { recursive: true });
|
|
30862
30871
|
},
|
|
30863
30872
|
writeFile: async (absolutePath, content) => {
|
|
30864
30873
|
await writeFileWithinRoot({
|
|
@@ -30874,12 +30883,12 @@ function createHostEditOperations(root, options) {
|
|
|
30874
30883
|
if (!(options?.workspaceOnly ?? false)) return {
|
|
30875
30884
|
readFile: async (absolutePath) => {
|
|
30876
30885
|
const resolved = path.resolve(absolutePath);
|
|
30877
|
-
return await
|
|
30886
|
+
return await fsPromises.readFile(resolved);
|
|
30878
30887
|
},
|
|
30879
30888
|
writeFile: writeHostFile,
|
|
30880
30889
|
access: async (absolutePath) => {
|
|
30881
30890
|
const resolved = path.resolve(absolutePath);
|
|
30882
|
-
await
|
|
30891
|
+
await fsPromises.access(resolved);
|
|
30883
30892
|
}
|
|
30884
30893
|
};
|
|
30885
30894
|
return {
|
|
@@ -31735,7 +31744,7 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
31735
31744
|
};
|
|
31736
31745
|
let content;
|
|
31737
31746
|
try {
|
|
31738
|
-
content = await
|
|
31747
|
+
content = await fsPromises.readFile(sessionFile, "utf-8");
|
|
31739
31748
|
} catch (err) {
|
|
31740
31749
|
if (err?.code === "ENOENT") return {
|
|
31741
31750
|
repaired: false,
|
|
@@ -31783,15 +31792,15 @@ async function repairSessionFileIfNeeded(params) {
|
|
|
31783
31792
|
const backupPath = `${sessionFile}.bak-${process.pid}-${Date.now()}`;
|
|
31784
31793
|
const tmpPath = `${sessionFile}.repair-${process.pid}-${Date.now()}.tmp`;
|
|
31785
31794
|
try {
|
|
31786
|
-
const stat = await
|
|
31787
|
-
await
|
|
31788
|
-
if (stat) await
|
|
31789
|
-
await
|
|
31790
|
-
if (stat) await
|
|
31791
|
-
await
|
|
31795
|
+
const stat = await fsPromises.stat(sessionFile).catch(() => null);
|
|
31796
|
+
await fsPromises.writeFile(backupPath, content, "utf-8");
|
|
31797
|
+
if (stat) await fsPromises.chmod(backupPath, stat.mode);
|
|
31798
|
+
await fsPromises.writeFile(tmpPath, cleaned, "utf-8");
|
|
31799
|
+
if (stat) await fsPromises.chmod(tmpPath, stat.mode);
|
|
31800
|
+
await fsPromises.rename(tmpPath, sessionFile);
|
|
31792
31801
|
} catch (err) {
|
|
31793
31802
|
try {
|
|
31794
|
-
await
|
|
31803
|
+
await fsPromises.unlink(tmpPath);
|
|
31795
31804
|
} catch (cleanupErr) {
|
|
31796
31805
|
params.warn?.(`session file repair cleanup failed: ${cleanupErr instanceof Error ? cleanupErr.message : "unknown error"} (${path.basename(tmpPath)})`);
|
|
31797
31806
|
}
|
|
@@ -34708,7 +34717,7 @@ async function prewarmSessionFile(sessionFile) {
|
|
|
34708
34717
|
if (!isSessionManagerCacheEnabled()) return;
|
|
34709
34718
|
if (isSessionManagerCached(sessionFile)) return;
|
|
34710
34719
|
try {
|
|
34711
|
-
const handle = await
|
|
34720
|
+
const handle = await fsPromises.open(sessionFile, "r");
|
|
34712
34721
|
try {
|
|
34713
34722
|
const buffer = Buffer$1.alloc(4096);
|
|
34714
34723
|
await handle.read(buffer, 0, buffer.length, 0);
|
|
@@ -35518,7 +35527,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
35518
35527
|
} catch (err) {
|
|
35519
35528
|
return fail(describeUnknownError(err));
|
|
35520
35529
|
}
|
|
35521
|
-
await
|
|
35530
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
35522
35531
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
35523
35532
|
const sandbox = await resolveSandboxContext({
|
|
35524
35533
|
config: params.config,
|
|
@@ -35526,7 +35535,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
35526
35535
|
workspaceDir: resolvedWorkspace
|
|
35527
35536
|
});
|
|
35528
35537
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
35529
|
-
await
|
|
35538
|
+
await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
|
|
35530
35539
|
await ensureSessionHeader({
|
|
35531
35540
|
sessionFile: params.sessionFile,
|
|
35532
35541
|
sessionId: params.sessionId,
|
|
@@ -37239,12 +37248,12 @@ function getQueuedFileWriter(writers, filePath) {
|
|
|
37239
37248
|
const existing = writers.get(filePath);
|
|
37240
37249
|
if (existing) return existing;
|
|
37241
37250
|
const dir = path.dirname(filePath);
|
|
37242
|
-
const ready =
|
|
37251
|
+
const ready = fsPromises.mkdir(dir, { recursive: true }).catch(() => void 0);
|
|
37243
37252
|
let queue = Promise.resolve();
|
|
37244
37253
|
const writer = {
|
|
37245
37254
|
filePath,
|
|
37246
37255
|
write: (line) => {
|
|
37247
|
-
queue = queue.then(() => ready).then(() =>
|
|
37256
|
+
queue = queue.then(() => ready).then(() => fsPromises.appendFile(filePath, line, "utf8")).catch(() => void 0);
|
|
37248
37257
|
}
|
|
37249
37258
|
};
|
|
37250
37259
|
writers.set(filePath, writer);
|
|
@@ -40861,7 +40870,7 @@ async function prepareSessionManagerForRun(params) {
|
|
|
40861
40870
|
return;
|
|
40862
40871
|
}
|
|
40863
40872
|
if (params.hadSessionFile && header && !hasAssistant) {
|
|
40864
|
-
await
|
|
40873
|
+
await fsPromises.writeFile(params.sessionFile, "", "utf-8");
|
|
40865
40874
|
sm.fileEntries = [header];
|
|
40866
40875
|
sm.byId?.clear?.();
|
|
40867
40876
|
sm.labelsById?.clear?.();
|
|
@@ -41717,7 +41726,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
41717
41726
|
ensureGlobalUndiciEnvProxyDispatcher();
|
|
41718
41727
|
ensureGlobalUndiciStreamTimeouts();
|
|
41719
41728
|
log$11.debug(`embedded run start: runId=${params.runId} sessionId=${params.sessionId} provider=${params.provider} model=${params.modelId} thinking=${params.thinkLevel} messageChannel=${params.messageChannel ?? params.messageProvider ?? "unknown"}`);
|
|
41720
|
-
await
|
|
41729
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
41721
41730
|
const sandboxSessionKey = params.sessionKey?.trim() || params.sessionId;
|
|
41722
41731
|
const sandbox = await resolveSandboxContext({
|
|
41723
41732
|
config: params.config,
|
|
@@ -41725,7 +41734,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
41725
41734
|
workspaceDir: resolvedWorkspace
|
|
41726
41735
|
});
|
|
41727
41736
|
const effectiveWorkspace = sandbox?.enabled ? sandbox.workspaceAccess === "rw" ? resolvedWorkspace : sandbox.workspaceDir : resolvedWorkspace;
|
|
41728
|
-
await
|
|
41737
|
+
await fsPromises.mkdir(effectiveWorkspace, { recursive: true });
|
|
41729
41738
|
let restoreSkillEnv;
|
|
41730
41739
|
process.chdir(effectiveWorkspace);
|
|
41731
41740
|
try {
|
|
@@ -41981,7 +41990,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
41981
41990
|
sessionFile: params.sessionFile,
|
|
41982
41991
|
warn: (message) => log$11.warn(message)
|
|
41983
41992
|
});
|
|
41984
|
-
const hadSessionFile = await
|
|
41993
|
+
const hadSessionFile = await fsPromises.stat(params.sessionFile).then(() => true).catch(() => false);
|
|
41985
41994
|
const transcriptPolicy = resolveTranscriptPolicy({
|
|
41986
41995
|
modelApi: params.model?.api,
|
|
41987
41996
|
provider: params.provider,
|
|
@@ -43371,7 +43380,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
43371
43380
|
const copilotAuthRetry = authRetryPending;
|
|
43372
43381
|
authRetryPending = false;
|
|
43373
43382
|
attemptedThinking.add(thinkLevel);
|
|
43374
|
-
await
|
|
43383
|
+
await fsPromises.mkdir(resolvedWorkspace, { recursive: true });
|
|
43375
43384
|
const prompt = provider === "anthropic" ? scrubAnthropicRefusalMagic(params.prompt) : params.prompt;
|
|
43376
43385
|
const attempt = await runEmbeddedAttempt({
|
|
43377
43386
|
sessionId: params.sessionId,
|
|
@@ -45200,12 +45209,12 @@ async function resolveAcpAttachments(ctx) {
|
|
|
45200
45209
|
const filePath = normalizeAttachmentPath(attachment.path);
|
|
45201
45210
|
if (!filePath) continue;
|
|
45202
45211
|
try {
|
|
45203
|
-
const stat = await
|
|
45212
|
+
const stat = await fsPromises.stat(filePath);
|
|
45204
45213
|
if (stat.size > ACP_ATTACHMENT_MAX_BYTES) {
|
|
45205
45214
|
logVerbose(`dispatch-acp: skipping attachment ${filePath} (${stat.size} bytes exceeds ${ACP_ATTACHMENT_MAX_BYTES} byte limit)`);
|
|
45206
45215
|
continue;
|
|
45207
45216
|
}
|
|
45208
|
-
const buf = await
|
|
45217
|
+
const buf = await fsPromises.readFile(filePath);
|
|
45209
45218
|
results.push({
|
|
45210
45219
|
mediaType,
|
|
45211
45220
|
data: buf.toString("base64")
|
|
@@ -46388,7 +46397,7 @@ function getCacheStats() {
|
|
|
46388
46397
|
const STICKER_DESCRIPTION_PROMPT = "Describe this sticker image in 1-2 sentences. Focus on what the sticker depicts (character, object, action, emotion). Be concise and objective.";
|
|
46389
46398
|
let imageRuntimePromise = null;
|
|
46390
46399
|
function loadImageRuntime() {
|
|
46391
|
-
imageRuntimePromise ??= import("./image-runtime-
|
|
46400
|
+
imageRuntimePromise ??= import("./image-runtime-BKnEMJR7.js");
|
|
46392
46401
|
return imageRuntimePromise;
|
|
46393
46402
|
}
|
|
46394
46403
|
/**
|
|
@@ -46454,7 +46463,7 @@ async function describeStickerImage(params) {
|
|
|
46454
46463
|
const { provider, model } = resolved;
|
|
46455
46464
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
46456
46465
|
try {
|
|
46457
|
-
const buffer = await
|
|
46466
|
+
const buffer = await fsPromises.readFile(imagePath);
|
|
46458
46467
|
const { describeImageWithModel } = await loadImageRuntime();
|
|
46459
46468
|
return (await describeImageWithModel({
|
|
46460
46469
|
buffer,
|
|
@@ -47110,7 +47119,7 @@ function getMediaDir() {
|
|
|
47110
47119
|
}
|
|
47111
47120
|
async function ensureMediaDir() {
|
|
47112
47121
|
const mediaDir = resolveMediaDir();
|
|
47113
|
-
await
|
|
47122
|
+
await fsPromises.mkdir(mediaDir, {
|
|
47114
47123
|
recursive: true,
|
|
47115
47124
|
mode: 448
|
|
47116
47125
|
});
|
|
@@ -47124,7 +47133,7 @@ async function retryAfterRecreatingDir(dir, run) {
|
|
|
47124
47133
|
return await run();
|
|
47125
47134
|
} catch (err) {
|
|
47126
47135
|
if (!isMissingPathError(err)) throw err;
|
|
47127
|
-
await
|
|
47136
|
+
await fsPromises.mkdir(dir, {
|
|
47128
47137
|
recursive: true,
|
|
47129
47138
|
mode: 448
|
|
47130
47139
|
});
|
|
@@ -47137,41 +47146,41 @@ async function cleanOldMedia(ttlMs = DEFAULT_TTL_MS, options = {}) {
|
|
|
47137
47146
|
const recursive = options.recursive ?? false;
|
|
47138
47147
|
const pruneEmptyDirs = recursive && (options.pruneEmptyDirs ?? false);
|
|
47139
47148
|
const removeExpiredFilesInDir = async (dir) => {
|
|
47140
|
-
const dirEntries = await
|
|
47149
|
+
const dirEntries = await fsPromises.readdir(dir).catch(() => null);
|
|
47141
47150
|
if (!dirEntries) return false;
|
|
47142
47151
|
for (const entry of dirEntries) {
|
|
47143
47152
|
const fullPath = path.join(dir, entry);
|
|
47144
|
-
const stat = await
|
|
47153
|
+
const stat = await fsPromises.lstat(fullPath).catch(() => null);
|
|
47145
47154
|
if (!stat || stat.isSymbolicLink()) continue;
|
|
47146
47155
|
if (stat.isDirectory()) {
|
|
47147
47156
|
if (recursive) {
|
|
47148
|
-
if (await removeExpiredFilesInDir(fullPath)) await
|
|
47157
|
+
if (await removeExpiredFilesInDir(fullPath)) await fsPromises.rmdir(fullPath).catch(() => {});
|
|
47149
47158
|
}
|
|
47150
47159
|
continue;
|
|
47151
47160
|
}
|
|
47152
47161
|
if (!stat.isFile()) continue;
|
|
47153
|
-
if (now - stat.mtimeMs > ttlMs) await
|
|
47162
|
+
if (now - stat.mtimeMs > ttlMs) await fsPromises.rm(fullPath, { force: true }).catch(() => {});
|
|
47154
47163
|
}
|
|
47155
47164
|
if (!pruneEmptyDirs) return false;
|
|
47156
|
-
const remainingEntries = await
|
|
47165
|
+
const remainingEntries = await fsPromises.readdir(dir).catch(() => null);
|
|
47157
47166
|
return remainingEntries !== null && remainingEntries.length === 0;
|
|
47158
47167
|
};
|
|
47159
|
-
const entries = await
|
|
47168
|
+
const entries = await fsPromises.readdir(mediaDir).catch(() => []);
|
|
47160
47169
|
for (const file of entries) {
|
|
47161
47170
|
const full = path.join(mediaDir, file);
|
|
47162
|
-
const stat = await
|
|
47171
|
+
const stat = await fsPromises.lstat(full).catch(() => null);
|
|
47163
47172
|
if (!stat || stat.isSymbolicLink()) continue;
|
|
47164
47173
|
if (stat.isDirectory()) {
|
|
47165
|
-
if (await removeExpiredFilesInDir(full)) await
|
|
47174
|
+
if (await removeExpiredFilesInDir(full)) await fsPromises.rmdir(full).catch(() => {});
|
|
47166
47175
|
continue;
|
|
47167
47176
|
}
|
|
47168
|
-
if (stat.isFile() && now - stat.mtimeMs > ttlMs) await
|
|
47177
|
+
if (stat.isFile() && now - stat.mtimeMs > ttlMs) await fsPromises.rm(full, { force: true }).catch(() => {});
|
|
47169
47178
|
}
|
|
47170
47179
|
}
|
|
47171
47180
|
async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes = MAX_BYTES, originalFilename) {
|
|
47172
47181
|
if (buffer.byteLength > maxBytes) throw new Error(`Media exceeds ${(maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
|
|
47173
47182
|
const dir = path.join(resolveMediaDir(), subdir);
|
|
47174
|
-
await
|
|
47183
|
+
await fsPromises.mkdir(dir, {
|
|
47175
47184
|
recursive: true,
|
|
47176
47185
|
mode: 448
|
|
47177
47186
|
});
|
|
@@ -47189,7 +47198,7 @@ async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes
|
|
|
47189
47198
|
id = sanitized ? `${sanitized}---${uuid}${ext}` : `${uuid}${ext}`;
|
|
47190
47199
|
} else id = ext ? `${uuid}${ext}` : uuid;
|
|
47191
47200
|
const dest = path.join(dir, id);
|
|
47192
|
-
await retryAfterRecreatingDir(dir, () =>
|
|
47201
|
+
await retryAfterRecreatingDir(dir, () => fsPromises.writeFile(dest, buffer, { mode: MEDIA_FILE_MODE }));
|
|
47193
47202
|
return {
|
|
47194
47203
|
id,
|
|
47195
47204
|
path: dest,
|
|
@@ -49206,7 +49215,7 @@ async function createModelSelectionState(params) {
|
|
|
49206
49215
|
}
|
|
49207
49216
|
}
|
|
49208
49217
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
49209
|
-
const { ensureAuthProfileStore } = await import("./model-selection-
|
|
49218
|
+
const { ensureAuthProfileStore } = await import("./model-selection-DU-DNNW7.js").then((n) => n.St);
|
|
49210
49219
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
49211
49220
|
const providerKey = normalizeProviderId(provider);
|
|
49212
49221
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -52009,7 +52018,7 @@ async function resolveTelegramInboundBody(params) {
|
|
|
52009
52018
|
const disableAudioPreflight = (topicConfig?.disableAudioPreflight ?? groupConfig?.disableAudioPreflight) === true;
|
|
52010
52019
|
let preflightTranscript;
|
|
52011
52020
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
|
|
52012
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
52021
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-Dd3C7mtQ.js");
|
|
52013
52022
|
preflightTranscript = await transcribeFirstAudio({
|
|
52014
52023
|
ctx: {
|
|
52015
52024
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -54430,7 +54439,7 @@ function resolveCommandHashPath(accountId, botIdentity) {
|
|
|
54430
54439
|
}
|
|
54431
54440
|
async function readCachedCommandHash(accountId, botIdentity) {
|
|
54432
54441
|
try {
|
|
54433
|
-
return (await
|
|
54442
|
+
return (await fsPromises.readFile(resolveCommandHashPath(accountId, botIdentity), "utf-8")).trim();
|
|
54434
54443
|
} catch {
|
|
54435
54444
|
return null;
|
|
54436
54445
|
}
|
|
@@ -54438,8 +54447,8 @@ async function readCachedCommandHash(accountId, botIdentity) {
|
|
|
54438
54447
|
async function writeCachedCommandHash(accountId, botIdentity, hash) {
|
|
54439
54448
|
const filePath = resolveCommandHashPath(accountId, botIdentity);
|
|
54440
54449
|
try {
|
|
54441
|
-
await
|
|
54442
|
-
await
|
|
54450
|
+
await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
|
|
54451
|
+
await fsPromises.writeFile(filePath, hash, "utf-8");
|
|
54443
54452
|
} catch {}
|
|
54444
54453
|
}
|
|
54445
54454
|
function syncTelegramMenuCommands(params) {
|
|
@@ -56012,7 +56021,7 @@ function safeParseState(raw) {
|
|
|
56012
56021
|
async function readTelegramUpdateOffset(params) {
|
|
56013
56022
|
const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
|
|
56014
56023
|
try {
|
|
56015
|
-
const parsed = safeParseState(await
|
|
56024
|
+
const parsed = safeParseState(await fsPromises.readFile(filePath, "utf-8"));
|
|
56016
56025
|
const expectedBotId = extractBotIdFromToken(params.botToken);
|
|
56017
56026
|
if (expectedBotId && parsed?.botId && parsed.botId !== expectedBotId) return null;
|
|
56018
56027
|
if (expectedBotId && parsed?.botId === null) return null;
|
|
@@ -56037,7 +56046,7 @@ async function writeTelegramUpdateOffset(params) {
|
|
|
56037
56046
|
async function deleteTelegramUpdateOffset(params) {
|
|
56038
56047
|
const filePath = resolveTelegramUpdateOffsetPath(params.accountId, params.env);
|
|
56039
56048
|
try {
|
|
56040
|
-
await
|
|
56049
|
+
await fsPromises.unlink(filePath);
|
|
56041
56050
|
} catch (err) {
|
|
56042
56051
|
if (err.code === "ENOENT") return;
|
|
56043
56052
|
throw err;
|
|
@@ -62575,7 +62584,7 @@ async function emitResetCommandHooks(params) {
|
|
|
62575
62584
|
try {
|
|
62576
62585
|
const messages = [];
|
|
62577
62586
|
if (sessionFile) {
|
|
62578
|
-
const content = await
|
|
62587
|
+
const content = await fsPromises.readFile(sessionFile, "utf-8");
|
|
62579
62588
|
for (const line of content.split("\n")) {
|
|
62580
62589
|
if (!line.trim()) continue;
|
|
62581
62590
|
try {
|
|
@@ -65591,18 +65600,18 @@ function appendImagePathsToPrompt(prompt, paths) {
|
|
|
65591
65600
|
return `${trimmed}${trimmed ? "\n\n" : ""}${paths.join("\n")}`;
|
|
65592
65601
|
}
|
|
65593
65602
|
async function writeCliImages(images) {
|
|
65594
|
-
const tempDir = await
|
|
65603
|
+
const tempDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-images-"));
|
|
65595
65604
|
const paths = [];
|
|
65596
65605
|
for (let i = 0; i < images.length; i += 1) {
|
|
65597
65606
|
const image = images[i];
|
|
65598
65607
|
const ext = resolveImageExtension(image.mimeType);
|
|
65599
65608
|
const filePath = path.join(tempDir, `image-${i + 1}.${ext}`);
|
|
65600
65609
|
const buffer = Buffer.from(image.data, "base64");
|
|
65601
|
-
await
|
|
65610
|
+
await fsPromises.writeFile(filePath, buffer, { mode: 384 });
|
|
65602
65611
|
paths.push(filePath);
|
|
65603
65612
|
}
|
|
65604
65613
|
const cleanup = async () => {
|
|
65605
|
-
await
|
|
65614
|
+
await fsPromises.rm(tempDir, {
|
|
65606
65615
|
recursive: true,
|
|
65607
65616
|
force: true
|
|
65608
65617
|
});
|
|
@@ -69031,7 +69040,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
|
|
|
69031
69040
|
const log$1 = createSubsystemLogger("session-maintenance-warning");
|
|
69032
69041
|
let deliverRuntimePromise = null;
|
|
69033
69042
|
function loadDeliverRuntime() {
|
|
69034
|
-
deliverRuntimePromise ??= import("./deliver-runtime-
|
|
69043
|
+
deliverRuntimePromise ??= import("./deliver-runtime-DT4PMHlo.js");
|
|
69035
69044
|
return deliverRuntimePromise;
|
|
69036
69045
|
}
|
|
69037
69046
|
function shouldSendWarning() {
|
|
@@ -69712,7 +69721,7 @@ async function stageSandboxMedia(params) {
|
|
|
69712
69721
|
const remoteMediaCacheDir = ctx.MediaRemoteHost ? path.join(CONFIG_DIR, "media", "remote-cache", sessionKey) : null;
|
|
69713
69722
|
const effectiveWorkspaceDir = sandbox?.workspaceDir ?? remoteMediaCacheDir;
|
|
69714
69723
|
if (!effectiveWorkspaceDir) return;
|
|
69715
|
-
await
|
|
69724
|
+
await fsPromises.mkdir(effectiveWorkspaceDir, { recursive: true });
|
|
69716
69725
|
const remoteAttachmentRoots = resolveIMessageRemoteAttachmentRoots({
|
|
69717
69726
|
cfg,
|
|
69718
69727
|
accountId: ctx.AccountId
|
|
@@ -69771,8 +69780,8 @@ async function stageLocalFileIntoRoot(params) {
|
|
|
69771
69780
|
}
|
|
69772
69781
|
async function stageRemoteFileIntoRoot(params) {
|
|
69773
69782
|
const tmpRoot = resolvePreferredOpenClawTmpDir();
|
|
69774
|
-
await
|
|
69775
|
-
const tmpDir = await
|
|
69783
|
+
await fsPromises.mkdir(tmpRoot, { recursive: true });
|
|
69784
|
+
const tmpDir = await fsPromises.mkdtemp(path.join(tmpRoot, "stage-sandbox-media-"));
|
|
69776
69785
|
const tmpPath = path.join(tmpDir, "download");
|
|
69777
69786
|
try {
|
|
69778
69787
|
await scpFile(params.remoteHost, params.remotePath, tmpPath);
|
|
@@ -69783,7 +69792,7 @@ async function stageRemoteFileIntoRoot(params) {
|
|
|
69783
69792
|
maxBytes: params.maxBytes
|
|
69784
69793
|
});
|
|
69785
69794
|
} finally {
|
|
69786
|
-
await
|
|
69795
|
+
await fsPromises.rm(tmpDir, {
|
|
69787
69796
|
recursive: true,
|
|
69788
69797
|
force: true
|
|
69789
69798
|
}).catch(() => {});
|