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,17 +1,17 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-DUslC3ob.js";
|
|
2
|
-
import { A as resolveDefaultAgentId, B as resolveAgentModelPrimaryValue, E as resolveAgentEffectiveModelPrimary, F as normalizeSkillFilter, L as normalizeHyphenSlug, N as resolveSessionAgentId, R as normalizeStringEntries, V as toAgentModelListLike, _ as redactSensitiveText, a as resolveSessionTranscriptPathInDir, c as formatSessionArchiveTimestamp, d as parseSessionArchiveTimestamp, f as materializeWindowsSpawnProgram, g as getDefaultRedactPatterns, h as assertNoPathAliasEscape, i as resolveSessionTranscriptPath, k as resolveAgentWorkspaceDir, l as isPrimarySessionTranscriptFileName, m as PATH_ALIAS_POLICIES, n as resolveSessionFilePath, p as resolveWindowsSpawnProgram, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath, u as isSessionArchiveArtifactName, w as resolveAgentConfig, x as runTasksWithConcurrency } from "./paths-
|
|
3
|
-
import { c as expandHomePrefix, n as resolveConfigPath, o as resolveOAuthPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-
|
|
4
|
-
import { C as readLoggingConfig, a as defaultRuntime, d as logVerbose, n as sanitizeForLog, r as stripAnsi, t as createSubsystemLogger, w as resolvePreferredOpenClawTmpDir } from "./subsystem-
|
|
5
|
-
import { A as isPathInside$2, B as normalizeMainKey, C as openVerifiedFileSync, D as resolvePathViaExistingAncestorSync, F as buildAgentMainSessionKey, J as normalizeOptionalAccountId, K as DEFAULT_ACCOUNT_ID, N as DEFAULT_AGENT_ID, S as openBoundaryFileSync, V as resolveAgentIdFromSessionKey, Y as isBlockedObjectKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as canUseBoundaryFileOpen, c as DEFAULT_USER_FILENAME, h as resolveOpenClawPackageRootSync, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, q as normalizeAccountId$1, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, x as openBoundaryFile, y as markOpenClawExecEnv, z as normalizeAgentId } from "./workspace-
|
|
6
|
-
import { S as isPlainObject$2, a as CONFIG_DIR, d as isRecord$4, f as normalizeE164, h as resolveUserPath, m as resolveConfigDir, o as clampInt, x as truncateUtf16Safe, y as sleep } from "./logger-
|
|
7
|
-
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-
|
|
8
|
-
import { t as isTruthyEnvValue } from "./env-
|
|
9
|
-
import { a as parseOpenClawManifestInstallBase, c as resolveOpenClawManifestOs, d as evaluateRuntimeEligibility, f as hasBinary, i as parseFrontmatterBool, l as resolveOpenClawManifestRequires, m as MANIFEST_KEY, n as getFrontmatterString, o as resolveOpenClawManifestBlock, p as isConfigPathTruthyWithDefaults, r as normalizeStringList$1, s as resolveOpenClawManifestInstall, t as applyOpenClawManifestInstallCommonFields, u as parseFrontmatterBlock, v as registerInternalHook } from "./frontmatter-
|
|
2
|
+
import { A as resolveDefaultAgentId, B as resolveAgentModelPrimaryValue, E as resolveAgentEffectiveModelPrimary, F as normalizeSkillFilter, L as normalizeHyphenSlug, N as resolveSessionAgentId, R as normalizeStringEntries, V as toAgentModelListLike, _ as redactSensitiveText, a as resolveSessionTranscriptPathInDir, c as formatSessionArchiveTimestamp, d as parseSessionArchiveTimestamp, f as materializeWindowsSpawnProgram, g as getDefaultRedactPatterns, h as assertNoPathAliasEscape, i as resolveSessionTranscriptPath, k as resolveAgentWorkspaceDir, l as isPrimarySessionTranscriptFileName, m as PATH_ALIAS_POLICIES, n as resolveSessionFilePath, p as resolveWindowsSpawnProgram, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath, u as isSessionArchiveArtifactName, w as resolveAgentConfig, x as runTasksWithConcurrency } from "./paths-Bg_l6kdG.js";
|
|
3
|
+
import { c as expandHomePrefix, n as resolveConfigPath, o as resolveOAuthPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-L_hqOE5A.js";
|
|
4
|
+
import { C as readLoggingConfig, a as defaultRuntime, d as logVerbose, n as sanitizeForLog, r as stripAnsi, t as createSubsystemLogger, w as resolvePreferredOpenClawTmpDir } from "./subsystem-CDH9S_yW.js";
|
|
5
|
+
import { A as isPathInside$2, B as normalizeMainKey, C as openVerifiedFileSync, D as resolvePathViaExistingAncestorSync, F as buildAgentMainSessionKey, J as normalizeOptionalAccountId, K as DEFAULT_ACCOUNT_ID, N as DEFAULT_AGENT_ID, S as openBoundaryFileSync, V as resolveAgentIdFromSessionKey, Y as isBlockedObjectKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as canUseBoundaryFileOpen, c as DEFAULT_USER_FILENAME, h as resolveOpenClawPackageRootSync, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, q as normalizeAccountId$1, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME, x as openBoundaryFile, y as markOpenClawExecEnv, z as normalizeAgentId } from "./workspace-DiYGwuGk.js";
|
|
6
|
+
import { S as isPlainObject$2, a as CONFIG_DIR, d as isRecord$4, f as normalizeE164, h as resolveUserPath, m as resolveConfigDir, o as clampInt, x as truncateUtf16Safe, y as sleep } from "./logger-BA9koAaC.js";
|
|
7
|
+
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-CLlAnyEf.js";
|
|
8
|
+
import { t as isTruthyEnvValue } from "./env-Bhn5CLil.js";
|
|
9
|
+
import { a as parseOpenClawManifestInstallBase, c as resolveOpenClawManifestOs, d as evaluateRuntimeEligibility, f as hasBinary, i as parseFrontmatterBool, l as resolveOpenClawManifestRequires, m as MANIFEST_KEY, n as getFrontmatterString, o as resolveOpenClawManifestBlock, p as isConfigPathTruthyWithDefaults, r as normalizeStringList$1, s as resolveOpenClawManifestInstall, t as applyOpenClawManifestInstallCommonFields, u as parseFrontmatterBlock, v as registerInternalHook } from "./frontmatter-CC95HXlE.js";
|
|
10
10
|
import { createRequire } from "node:module";
|
|
11
11
|
import fs from "node:fs/promises";
|
|
12
12
|
import os from "node:os";
|
|
13
13
|
import path, { posix } from "node:path";
|
|
14
|
-
import
|
|
14
|
+
import fs$1 from "node:fs";
|
|
15
15
|
import JSON5 from "json5";
|
|
16
16
|
import util, { isDeepStrictEqual } from "node:util";
|
|
17
17
|
import { execFileSync, spawn } from "node:child_process";
|
|
@@ -236,7 +236,7 @@ function isValidPid(pid) {
|
|
|
236
236
|
function isZombieProcess(pid) {
|
|
237
237
|
if (process.platform !== "linux") return false;
|
|
238
238
|
try {
|
|
239
|
-
return
|
|
239
|
+
return fs$1.readFileSync(`/proc/${pid}/status`, "utf8").match(/^State:\s+(\S)/m)?.[1] === "Z";
|
|
240
240
|
} catch {
|
|
241
241
|
return false;
|
|
242
242
|
}
|
|
@@ -263,7 +263,7 @@ function getProcessStartTime(pid) {
|
|
|
263
263
|
if (process.platform !== "linux") return null;
|
|
264
264
|
if (!isValidPid(pid)) return null;
|
|
265
265
|
try {
|
|
266
|
-
const stat =
|
|
266
|
+
const stat = fs$1.readFileSync(`/proc/${pid}/stat`, "utf8");
|
|
267
267
|
const commEndIndex = stat.lastIndexOf(")");
|
|
268
268
|
if (commEndIndex < 0) return null;
|
|
269
269
|
const fields = stat.slice(commEndIndex + 1).trimStart().split(/\s+/);
|
|
@@ -524,7 +524,7 @@ function resolveAuthStorePathForDisplay(agentDir) {
|
|
|
524
524
|
return pathname.startsWith("~") ? pathname : resolveUserPath(pathname);
|
|
525
525
|
}
|
|
526
526
|
function ensureAuthStoreFile(pathname) {
|
|
527
|
-
if (
|
|
527
|
+
if (fs$1.existsSync(pathname)) return;
|
|
528
528
|
saveJsonFile(pathname, {
|
|
529
529
|
version: 1,
|
|
530
530
|
profiles: {}
|
|
@@ -785,7 +785,7 @@ function loadAuthProfileStoreForAgent(agentDir, options) {
|
|
|
785
785
|
if (shouldWrite && legacy !== null) {
|
|
786
786
|
const legacyPath = resolveLegacyAuthStorePath(agentDir);
|
|
787
787
|
try {
|
|
788
|
-
|
|
788
|
+
fs$1.unlinkSync(legacyPath);
|
|
789
789
|
} catch (err) {
|
|
790
790
|
if (err?.code !== "ENOENT") log$18.warn("failed to delete legacy auth.json after migration", {
|
|
791
791
|
err,
|
|
@@ -968,7 +968,7 @@ function loadDotEnv(opts) {
|
|
|
968
968
|
const quiet = opts?.quiet ?? true;
|
|
969
969
|
dotenv.config({ quiet });
|
|
970
970
|
const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
|
|
971
|
-
if (!
|
|
971
|
+
if (!fs$1.existsSync(globalEnvPath)) return;
|
|
972
972
|
dotenv.config({
|
|
973
973
|
quiet,
|
|
974
974
|
path: globalEnvPath,
|
|
@@ -1117,7 +1117,7 @@ function resolveTimeoutMs(timeoutMs) {
|
|
|
1117
1117
|
function readEtcShells() {
|
|
1118
1118
|
if (cachedEtcShells !== void 0) return cachedEtcShells;
|
|
1119
1119
|
try {
|
|
1120
|
-
const entries =
|
|
1120
|
+
const entries = fs$1.readFileSync("/etc/shells", "utf8").split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0 && !line.startsWith("#") && path.isAbsolute(line));
|
|
1121
1121
|
cachedEtcShells = new Set(entries);
|
|
1122
1122
|
} catch {
|
|
1123
1123
|
cachedEtcShells = null;
|
|
@@ -1604,7 +1604,7 @@ function resolveActiveTalkProviderConfig(talk) {
|
|
|
1604
1604
|
};
|
|
1605
1605
|
}
|
|
1606
1606
|
function readTalkApiKeyFromProfile(deps = {}) {
|
|
1607
|
-
const fsImpl = deps.fs ??
|
|
1607
|
+
const fsImpl = deps.fs ?? fs$1;
|
|
1608
1608
|
const osImpl = deps.os ?? os;
|
|
1609
1609
|
const pathImpl = deps.path ?? path;
|
|
1610
1610
|
const home = osImpl.homedir();
|
|
@@ -2254,7 +2254,7 @@ function isPathInside$1(basePath, candidatePath) {
|
|
|
2254
2254
|
}
|
|
2255
2255
|
function safeRealpathSync$1(filePath) {
|
|
2256
2256
|
try {
|
|
2257
|
-
return
|
|
2257
|
+
return fs$1.realpathSync(filePath);
|
|
2258
2258
|
} catch {
|
|
2259
2259
|
return null;
|
|
2260
2260
|
}
|
|
@@ -2361,7 +2361,7 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
2361
2361
|
const normalized = path.normalize(resolved);
|
|
2362
2362
|
if (!isPathInside$1(this.rootDir, normalized)) throw new ConfigIncludeError(`Include path escapes config directory: ${includePath} (root: ${this.rootDir})`, includePath);
|
|
2363
2363
|
try {
|
|
2364
|
-
const real =
|
|
2364
|
+
const real = fs$1.realpathSync(normalized);
|
|
2365
2365
|
if (!isPathInside$1(this.rootRealDir, real)) throw new ConfigIncludeError(`Include path resolves outside config directory (symlink): ${includePath} (root: ${this.rootDir})`, includePath);
|
|
2366
2366
|
} catch (err) {
|
|
2367
2367
|
if (err instanceof ConfigIncludeError) throw err;
|
|
@@ -2403,13 +2403,13 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
2403
2403
|
};
|
|
2404
2404
|
function safeRealpath(target) {
|
|
2405
2405
|
try {
|
|
2406
|
-
return
|
|
2406
|
+
return fs$1.realpathSync(target);
|
|
2407
2407
|
} catch {
|
|
2408
2408
|
return target;
|
|
2409
2409
|
}
|
|
2410
2410
|
}
|
|
2411
2411
|
function readConfigIncludeFileWithGuards(params) {
|
|
2412
|
-
const ioFs = params.ioFs ??
|
|
2412
|
+
const ioFs = params.ioFs ?? fs$1;
|
|
2413
2413
|
const maxBytes = params.maxBytes ?? 2097152;
|
|
2414
2414
|
if (!canUseBoundaryFileOpen(ioFs)) return ioFs.readFileSync(params.resolvedPath, "utf-8");
|
|
2415
2415
|
const opened = openBoundaryFileSync({
|
|
@@ -2432,7 +2432,7 @@ function readConfigIncludeFileWithGuards(params) {
|
|
|
2432
2432
|
}
|
|
2433
2433
|
}
|
|
2434
2434
|
const defaultResolver = {
|
|
2435
|
-
readFile: (p) =>
|
|
2435
|
+
readFile: (p) => fs$1.readFileSync(p, "utf-8"),
|
|
2436
2436
|
readFileWithGuards: ({ includePath, resolvedPath, rootRealDir }) => readConfigIncludeFileWithGuards({
|
|
2437
2437
|
includePath,
|
|
2438
2438
|
resolvedPath,
|
|
@@ -4020,7 +4020,7 @@ function normalizeMatchTarget(value) {
|
|
|
4020
4020
|
}
|
|
4021
4021
|
function tryRealpath$1(value) {
|
|
4022
4022
|
try {
|
|
4023
|
-
return
|
|
4023
|
+
return fs$1.realpathSync(value);
|
|
4024
4024
|
} catch {
|
|
4025
4025
|
return null;
|
|
4026
4026
|
}
|
|
@@ -4578,8 +4578,8 @@ function resolveWindowsExecutableExtensions(executable, env) {
|
|
|
4578
4578
|
}
|
|
4579
4579
|
function isExecutableFile(filePath) {
|
|
4580
4580
|
try {
|
|
4581
|
-
if (!
|
|
4582
|
-
if (process.platform !== "win32")
|
|
4581
|
+
if (!fs$1.statSync(filePath).isFile()) return false;
|
|
4582
|
+
if (process.platform !== "win32") fs$1.accessSync(filePath, fs$1.constants.X_OK);
|
|
4583
4583
|
return true;
|
|
4584
4584
|
} catch {
|
|
4585
4585
|
return false;
|
|
@@ -4617,7 +4617,7 @@ const DEFAULT_SAFE_BINS = [
|
|
|
4617
4617
|
function tryResolveRealpath(filePath) {
|
|
4618
4618
|
if (!filePath) return;
|
|
4619
4619
|
try {
|
|
4620
|
-
return
|
|
4620
|
+
return fs$1.realpathSync(filePath);
|
|
4621
4621
|
} catch {
|
|
4622
4622
|
return;
|
|
4623
4623
|
}
|
|
@@ -5497,7 +5497,7 @@ function listWritableExplicitTrustedSafeBinDirs(entries) {
|
|
|
5497
5497
|
for (const dir of resolved) {
|
|
5498
5498
|
let stat;
|
|
5499
5499
|
try {
|
|
5500
|
-
stat =
|
|
5500
|
+
stat = fs$1.statSync(dir);
|
|
5501
5501
|
} catch {
|
|
5502
5502
|
continue;
|
|
5503
5503
|
}
|
|
@@ -6698,13 +6698,13 @@ function resolveBundledPluginsDir() {
|
|
|
6698
6698
|
try {
|
|
6699
6699
|
const execDir = path.dirname(process.execPath);
|
|
6700
6700
|
const sibling = path.join(execDir, "extensions");
|
|
6701
|
-
if (
|
|
6701
|
+
if (fs$1.existsSync(sibling)) return sibling;
|
|
6702
6702
|
} catch {}
|
|
6703
6703
|
try {
|
|
6704
6704
|
let cursor = path.dirname(fileURLToPath(import.meta.url));
|
|
6705
6705
|
for (let i = 0; i < 6; i += 1) {
|
|
6706
6706
|
const candidate = path.join(cursor, "extensions");
|
|
6707
|
-
if (
|
|
6707
|
+
if (fs$1.existsSync(candidate)) return candidate;
|
|
6708
6708
|
const parent = path.dirname(cursor);
|
|
6709
6709
|
if (parent === cursor) break;
|
|
6710
6710
|
cursor = parent;
|
|
@@ -6722,7 +6722,7 @@ function normalizeStringList(value) {
|
|
|
6722
6722
|
function resolvePluginManifestPath(rootDir) {
|
|
6723
6723
|
for (const filename of PLUGIN_MANIFEST_FILENAMES) {
|
|
6724
6724
|
const candidate = path.join(rootDir, filename);
|
|
6725
|
-
if (
|
|
6725
|
+
if (fs$1.existsSync(candidate)) return candidate;
|
|
6726
6726
|
}
|
|
6727
6727
|
return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
|
|
6728
6728
|
}
|
|
@@ -6748,7 +6748,7 @@ function loadPluginManifest(rootDir, rejectHardlinks = true) {
|
|
|
6748
6748
|
}
|
|
6749
6749
|
let raw;
|
|
6750
6750
|
try {
|
|
6751
|
-
raw = JSON.parse(
|
|
6751
|
+
raw = JSON.parse(fs$1.readFileSync(opened.fd, "utf-8"));
|
|
6752
6752
|
} catch (err) {
|
|
6753
6753
|
return {
|
|
6754
6754
|
ok: false,
|
|
@@ -6756,7 +6756,7 @@ function loadPluginManifest(rootDir, rejectHardlinks = true) {
|
|
|
6756
6756
|
manifestPath
|
|
6757
6757
|
};
|
|
6758
6758
|
} finally {
|
|
6759
|
-
|
|
6759
|
+
fs$1.closeSync(opened.fd);
|
|
6760
6760
|
}
|
|
6761
6761
|
if (!isRecord$4(raw)) return {
|
|
6762
6762
|
ok: false,
|
|
@@ -6836,7 +6836,7 @@ function safeRealpathSync(targetPath, cache) {
|
|
|
6836
6836
|
const cached = cache?.get(targetPath);
|
|
6837
6837
|
if (cached) return cached;
|
|
6838
6838
|
try {
|
|
6839
|
-
const resolved =
|
|
6839
|
+
const resolved = fs$1.realpathSync(targetPath);
|
|
6840
6840
|
cache?.set(targetPath, resolved);
|
|
6841
6841
|
return resolved;
|
|
6842
6842
|
} catch {
|
|
@@ -6845,7 +6845,7 @@ function safeRealpathSync(targetPath, cache) {
|
|
|
6845
6845
|
}
|
|
6846
6846
|
function safeStatSync(targetPath) {
|
|
6847
6847
|
try {
|
|
6848
|
-
return
|
|
6848
|
+
return fs$1.statSync(targetPath);
|
|
6849
6849
|
} catch {
|
|
6850
6850
|
return null;
|
|
6851
6851
|
}
|
|
@@ -6994,12 +6994,12 @@ function readPackageManifest(dir, rejectHardlinks = true) {
|
|
|
6994
6994
|
});
|
|
6995
6995
|
if (!opened.ok) return null;
|
|
6996
6996
|
try {
|
|
6997
|
-
const raw =
|
|
6997
|
+
const raw = fs$1.readFileSync(opened.fd, "utf-8");
|
|
6998
6998
|
return JSON.parse(raw);
|
|
6999
6999
|
} catch {
|
|
7000
7000
|
return null;
|
|
7001
7001
|
} finally {
|
|
7002
|
-
|
|
7002
|
+
fs$1.closeSync(opened.fd);
|
|
7003
7003
|
}
|
|
7004
7004
|
}
|
|
7005
7005
|
function deriveIdHint(params) {
|
|
@@ -7052,14 +7052,14 @@ function resolvePackageEntrySource(params) {
|
|
|
7052
7052
|
return null;
|
|
7053
7053
|
}
|
|
7054
7054
|
const safeSource = opened.path;
|
|
7055
|
-
|
|
7055
|
+
fs$1.closeSync(opened.fd);
|
|
7056
7056
|
return safeSource;
|
|
7057
7057
|
}
|
|
7058
7058
|
function discoverInDirectory(params) {
|
|
7059
|
-
if (!
|
|
7059
|
+
if (!fs$1.existsSync(params.dir)) return;
|
|
7060
7060
|
let entries = [];
|
|
7061
7061
|
try {
|
|
7062
|
-
entries =
|
|
7062
|
+
entries = fs$1.readdirSync(params.dir, { withFileTypes: true });
|
|
7063
7063
|
} catch (err) {
|
|
7064
7064
|
params.diagnostics.push({
|
|
7065
7065
|
level: "warn",
|
|
@@ -7120,7 +7120,7 @@ function discoverInDirectory(params) {
|
|
|
7120
7120
|
}
|
|
7121
7121
|
continue;
|
|
7122
7122
|
}
|
|
7123
|
-
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(fullPath, candidate)).find((candidate) =>
|
|
7123
|
+
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fs$1.existsSync(candidate));
|
|
7124
7124
|
if (indexFile && isExtensionFile(indexFile)) addCandidate({
|
|
7125
7125
|
candidates: params.candidates,
|
|
7126
7126
|
diagnostics: params.diagnostics,
|
|
@@ -7138,7 +7138,7 @@ function discoverInDirectory(params) {
|
|
|
7138
7138
|
}
|
|
7139
7139
|
function discoverFromPath(params) {
|
|
7140
7140
|
const resolved = resolveUserPath(params.rawPath);
|
|
7141
|
-
if (!
|
|
7141
|
+
if (!fs$1.existsSync(resolved)) {
|
|
7142
7142
|
params.diagnostics.push({
|
|
7143
7143
|
level: "error",
|
|
7144
7144
|
message: `plugin path not found: ${resolved}`,
|
|
@@ -7146,7 +7146,7 @@ function discoverFromPath(params) {
|
|
|
7146
7146
|
});
|
|
7147
7147
|
return;
|
|
7148
7148
|
}
|
|
7149
|
-
const stat =
|
|
7149
|
+
const stat = fs$1.statSync(resolved);
|
|
7150
7150
|
if (stat.isFile()) {
|
|
7151
7151
|
if (!isExtensionFile(resolved)) {
|
|
7152
7152
|
params.diagnostics.push({
|
|
@@ -7204,7 +7204,7 @@ function discoverFromPath(params) {
|
|
|
7204
7204
|
}
|
|
7205
7205
|
return;
|
|
7206
7206
|
}
|
|
7207
|
-
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(resolved, candidate)).find((candidate) =>
|
|
7207
|
+
const indexFile = [...DEFAULT_PLUGIN_ENTRY_CANDIDATES].map((candidate) => path.join(resolved, candidate)).find((candidate) => fs$1.existsSync(candidate));
|
|
7208
7208
|
if (indexFile && isExtensionFile(indexFile)) {
|
|
7209
7209
|
addCandidate({
|
|
7210
7210
|
candidates: params.candidates,
|
|
@@ -7336,7 +7336,7 @@ function buildCacheKey$1(params) {
|
|
|
7336
7336
|
}
|
|
7337
7337
|
function safeStatMtimeMs(filePath) {
|
|
7338
7338
|
try {
|
|
7339
|
-
return
|
|
7339
|
+
return fs$1.statSync(filePath).mtimeMs;
|
|
7340
7340
|
} catch {
|
|
7341
7341
|
return null;
|
|
7342
7342
|
}
|
|
@@ -9135,6 +9135,18 @@ const AgentDefaultsSchema = z.object({
|
|
|
9135
9135
|
contextTokens: z.number().int().positive().optional(),
|
|
9136
9136
|
cliBackends: z.record(z.string(), CliBackendSchema).optional(),
|
|
9137
9137
|
memorySearch: MemorySearchSchema,
|
|
9138
|
+
memoryRecall: z.object({
|
|
9139
|
+
enabled: z.boolean().optional(),
|
|
9140
|
+
minMessageLength: z.number().int().nonnegative().optional(),
|
|
9141
|
+
maxResults: z.number().int().positive().optional(),
|
|
9142
|
+
minScore: z.number().min(0).max(1).optional(),
|
|
9143
|
+
maxTokens: z.number().int().positive().optional(),
|
|
9144
|
+
skipHeartbeats: z.boolean().optional(),
|
|
9145
|
+
skipCron: z.boolean().optional(),
|
|
9146
|
+
excludeBootstrapped: z.boolean().optional(),
|
|
9147
|
+
randomSlot: z.boolean().optional(),
|
|
9148
|
+
respectTemporalDecay: z.boolean().optional()
|
|
9149
|
+
}).strict().optional(),
|
|
9138
9150
|
history: HistorySchema,
|
|
9139
9151
|
contextPruning: z.object({
|
|
9140
9152
|
mode: z.union([z.literal("off"), z.literal("cache-ttl")]).optional(),
|
|
@@ -12655,7 +12667,7 @@ function resolveConfigPathForDeps(deps) {
|
|
|
12655
12667
|
}
|
|
12656
12668
|
function normalizeDeps(overrides = {}) {
|
|
12657
12669
|
return {
|
|
12658
|
-
fs: overrides.fs ??
|
|
12670
|
+
fs: overrides.fs ?? fs$1,
|
|
12659
12671
|
json5: overrides.json5 ?? JSON5,
|
|
12660
12672
|
env: overrides.env ?? process.env,
|
|
12661
12673
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
|
@@ -15858,13 +15870,13 @@ function shortPath(value) {
|
|
|
15858
15870
|
//#region src/agents/skills/bundled-dir.ts
|
|
15859
15871
|
function looksLikeSkillsDir(dir) {
|
|
15860
15872
|
try {
|
|
15861
|
-
const entries =
|
|
15873
|
+
const entries = fs$1.readdirSync(dir, { withFileTypes: true });
|
|
15862
15874
|
for (const entry of entries) {
|
|
15863
15875
|
if (entry.name.startsWith(".")) continue;
|
|
15864
15876
|
const fullPath = path.join(dir, entry.name);
|
|
15865
15877
|
if (entry.isFile() && entry.name.endsWith(".md")) return true;
|
|
15866
15878
|
if (entry.isDirectory()) {
|
|
15867
|
-
if (
|
|
15879
|
+
if (fs$1.existsSync(path.join(fullPath, "SKILL.md"))) return true;
|
|
15868
15880
|
}
|
|
15869
15881
|
}
|
|
15870
15882
|
} catch {
|
|
@@ -15879,7 +15891,7 @@ function resolveBundledSkillsDir(opts = {}) {
|
|
|
15879
15891
|
const execPath = opts.execPath ?? process.execPath;
|
|
15880
15892
|
const execDir = path.dirname(execPath);
|
|
15881
15893
|
const sibling = path.join(execDir, "skills");
|
|
15882
|
-
if (
|
|
15894
|
+
if (fs$1.existsSync(sibling)) return sibling;
|
|
15883
15895
|
} catch {}
|
|
15884
15896
|
try {
|
|
15885
15897
|
const moduleUrl = opts.moduleUrl ?? import.meta.url;
|
|
@@ -15941,7 +15953,7 @@ function resolvePluginSkillDirs(params) {
|
|
|
15941
15953
|
const trimmed = raw.trim();
|
|
15942
15954
|
if (!trimmed) continue;
|
|
15943
15955
|
const candidate = path.resolve(record.rootDir, trimmed);
|
|
15944
|
-
if (!
|
|
15956
|
+
if (!fs$1.existsSync(candidate)) {
|
|
15945
15957
|
log$15.warn(`plugin skill path not found (${record.id}): ${candidate}`);
|
|
15946
15958
|
continue;
|
|
15947
15959
|
}
|
|
@@ -15970,7 +15982,7 @@ async function serializeByKey(key, task) {
|
|
|
15970
15982
|
}
|
|
15971
15983
|
//#endregion
|
|
15972
15984
|
//#region src/agents/skills/workspace.ts
|
|
15973
|
-
const fsp =
|
|
15985
|
+
const fsp = fs$1.promises;
|
|
15974
15986
|
const skillsLogger = createSubsystemLogger("skills");
|
|
15975
15987
|
const skillCommandDebugOnce = /* @__PURE__ */ new Set();
|
|
15976
15988
|
function debugSkillCommandOnce(messageKey, message, meta) {
|
|
@@ -16028,7 +16040,7 @@ function resolveSkillsLimits(config) {
|
|
|
16028
16040
|
}
|
|
16029
16041
|
function listChildDirectories(dir) {
|
|
16030
16042
|
try {
|
|
16031
|
-
const entries =
|
|
16043
|
+
const entries = fs$1.readdirSync(dir, { withFileTypes: true });
|
|
16032
16044
|
const dirs = [];
|
|
16033
16045
|
for (const entry of entries) {
|
|
16034
16046
|
if (entry.name.startsWith(".")) continue;
|
|
@@ -16039,7 +16051,7 @@ function listChildDirectories(dir) {
|
|
|
16039
16051
|
continue;
|
|
16040
16052
|
}
|
|
16041
16053
|
if (entry.isSymbolicLink()) try {
|
|
16042
|
-
if (
|
|
16054
|
+
if (fs$1.statSync(fullPath).isDirectory()) dirs.push(entry.name);
|
|
16043
16055
|
} catch {}
|
|
16044
16056
|
}
|
|
16045
16057
|
return dirs;
|
|
@@ -16049,7 +16061,7 @@ function listChildDirectories(dir) {
|
|
|
16049
16061
|
}
|
|
16050
16062
|
function tryRealpath(filePath) {
|
|
16051
16063
|
try {
|
|
16052
|
-
return
|
|
16064
|
+
return fs$1.realpathSync(filePath);
|
|
16053
16065
|
} catch {
|
|
16054
16066
|
return null;
|
|
16055
16067
|
}
|
|
@@ -16094,7 +16106,7 @@ function filterLoadedSkillsInsideRoot(params) {
|
|
|
16094
16106
|
function resolveNestedSkillsRoot(dir, opts) {
|
|
16095
16107
|
const nested = path.join(dir, "skills");
|
|
16096
16108
|
try {
|
|
16097
|
-
if (!
|
|
16109
|
+
if (!fs$1.existsSync(nested) || !fs$1.statSync(nested).isDirectory()) return { baseDir: dir };
|
|
16098
16110
|
} catch {
|
|
16099
16111
|
return { baseDir: dir };
|
|
16100
16112
|
}
|
|
@@ -16103,7 +16115,7 @@ function resolveNestedSkillsRoot(dir, opts) {
|
|
|
16103
16115
|
const toScan = scanLimit === 0 ? [] : nestedDirs.slice(0, Math.min(nestedDirs.length, scanLimit));
|
|
16104
16116
|
for (const name of toScan) {
|
|
16105
16117
|
const skillMd = path.join(nested, name, "SKILL.md");
|
|
16106
|
-
if (
|
|
16118
|
+
if (fs$1.existsSync(skillMd)) return {
|
|
16107
16119
|
baseDir: nested,
|
|
16108
16120
|
note: `Detected nested skills root at ${nested}`
|
|
16109
16121
|
};
|
|
@@ -16132,7 +16144,7 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
16132
16144
|
});
|
|
16133
16145
|
if (!baseDirRealPath) return [];
|
|
16134
16146
|
const rootSkillMd = path.join(baseDir, "SKILL.md");
|
|
16135
|
-
if (
|
|
16147
|
+
if (fs$1.existsSync(rootSkillMd)) {
|
|
16136
16148
|
const rootSkillRealPath = resolveContainedSkillPath({
|
|
16137
16149
|
source: params.source,
|
|
16138
16150
|
rootDir,
|
|
@@ -16141,7 +16153,7 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
16141
16153
|
});
|
|
16142
16154
|
if (!rootSkillRealPath) return [];
|
|
16143
16155
|
try {
|
|
16144
|
-
const size =
|
|
16156
|
+
const size = fs$1.statSync(rootSkillRealPath).size;
|
|
16145
16157
|
if (size > limits.maxSkillFileBytes) {
|
|
16146
16158
|
skillsLogger.warn("Skipping skills root due to oversized SKILL.md.", {
|
|
16147
16159
|
dir: baseDir,
|
|
@@ -16191,7 +16203,7 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
16191
16203
|
candidatePath: skillDir
|
|
16192
16204
|
})) continue;
|
|
16193
16205
|
const skillMd = path.join(skillDir, "SKILL.md");
|
|
16194
|
-
if (!
|
|
16206
|
+
if (!fs$1.existsSync(skillMd)) continue;
|
|
16195
16207
|
const skillMdRealPath = resolveContainedSkillPath({
|
|
16196
16208
|
source: params.source,
|
|
16197
16209
|
rootDir,
|
|
@@ -16200,7 +16212,7 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
16200
16212
|
});
|
|
16201
16213
|
if (!skillMdRealPath) continue;
|
|
16202
16214
|
try {
|
|
16203
|
-
const size =
|
|
16215
|
+
const size = fs$1.statSync(skillMdRealPath).size;
|
|
16204
16216
|
if (size > limits.maxSkillFileBytes) {
|
|
16205
16217
|
skillsLogger.warn("Skipping skill due to oversized SKILL.md.", {
|
|
16206
16218
|
skill: name,
|
|
@@ -16273,7 +16285,7 @@ function loadSkillEntries(workspaceDir, opts) {
|
|
|
16273
16285
|
return Array.from(merged.values()).map((skill) => {
|
|
16274
16286
|
let frontmatter = {};
|
|
16275
16287
|
try {
|
|
16276
|
-
frontmatter = parseFrontmatter(
|
|
16288
|
+
frontmatter = parseFrontmatter(fs$1.readFileSync(skill.filePath, "utf-8"));
|
|
16277
16289
|
} catch {}
|
|
16278
16290
|
return {
|
|
16279
16291
|
skill,
|
|
@@ -16558,7 +16570,7 @@ function releaseAllLocksSync() {
|
|
|
16558
16570
|
if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
|
|
16559
16571
|
} catch {}
|
|
16560
16572
|
try {
|
|
16561
|
-
|
|
16573
|
+
fs$1.rmSync(held.lockPath, { force: true });
|
|
16562
16574
|
} catch {}
|
|
16563
16575
|
HELD_LOCKS.delete(sessionFile);
|
|
16564
16576
|
}
|
|
@@ -17807,7 +17819,7 @@ var SandboxFsPathGuard = class {
|
|
|
17807
17819
|
if (guarded.reason !== "path") {
|
|
17808
17820
|
if (!(options.allowedType === "directory" && this.pathIsExistingDirectory(target.hostPath))) throw guarded.error instanceof Error ? guarded.error : /* @__PURE__ */ new Error(`Sandbox boundary checks failed; cannot ${options.action}: ${target.containerPath}`);
|
|
17809
17821
|
}
|
|
17810
|
-
} else
|
|
17822
|
+
} else fs$1.closeSync(guarded.fd);
|
|
17811
17823
|
const canonicalContainerPath = await this.resolveCanonicalContainerPath({
|
|
17812
17824
|
containerPath: target.containerPath,
|
|
17813
17825
|
allowFinalSymlinkForUnlink: options.aliasPolicy?.allowFinalSymlinkForUnlink === true
|
|
@@ -17849,7 +17861,7 @@ var SandboxFsPathGuard = class {
|
|
|
17849
17861
|
}
|
|
17850
17862
|
pathIsExistingDirectory(hostPath) {
|
|
17851
17863
|
try {
|
|
17852
|
-
return
|
|
17864
|
+
return fs$1.statSync(hostPath).isDirectory();
|
|
17853
17865
|
} catch {
|
|
17854
17866
|
return false;
|
|
17855
17867
|
}
|
|
@@ -18198,9 +18210,9 @@ var SandboxFsBridgeImpl = class {
|
|
|
18198
18210
|
async readPinnedFile(target) {
|
|
18199
18211
|
const opened = await this.pathGuard.openReadableFile(target);
|
|
18200
18212
|
try {
|
|
18201
|
-
return
|
|
18213
|
+
return fs$1.readFileSync(opened.fd);
|
|
18202
18214
|
} finally {
|
|
18203
|
-
|
|
18215
|
+
fs$1.closeSync(opened.fd);
|
|
18204
18216
|
}
|
|
18205
18217
|
}
|
|
18206
18218
|
async runCheckedCommand(plan) {
|
|
@@ -18476,7 +18488,7 @@ function loadSecretFileSync(filePath, label, options = {}) {
|
|
|
18476
18488
|
const maxBytes = options.maxBytes ?? 16384;
|
|
18477
18489
|
let previewStat;
|
|
18478
18490
|
try {
|
|
18479
|
-
previewStat =
|
|
18491
|
+
previewStat = fs$1.lstatSync(resolvedPath);
|
|
18480
18492
|
} catch (error) {
|
|
18481
18493
|
return {
|
|
18482
18494
|
ok: false,
|
|
@@ -18515,7 +18527,7 @@ function loadSecretFileSync(filePath, label, options = {}) {
|
|
|
18515
18527
|
};
|
|
18516
18528
|
}
|
|
18517
18529
|
try {
|
|
18518
|
-
const secret =
|
|
18530
|
+
const secret = fs$1.readFileSync(opened.fd, "utf8").trim();
|
|
18519
18531
|
if (!secret) return {
|
|
18520
18532
|
ok: false,
|
|
18521
18533
|
resolvedPath,
|
|
@@ -18534,7 +18546,7 @@ function loadSecretFileSync(filePath, label, options = {}) {
|
|
|
18534
18546
|
message: `Failed to read ${label} file at ${resolvedPath}: ${String(error)}`
|
|
18535
18547
|
};
|
|
18536
18548
|
} finally {
|
|
18537
|
-
|
|
18549
|
+
fs$1.closeSync(opened.fd);
|
|
18538
18550
|
}
|
|
18539
18551
|
}
|
|
18540
18552
|
function tryReadSecretFileSync(filePath, label, options = {}) {
|
|
@@ -19941,14 +19953,14 @@ function resolveSessionTranscriptCandidates(sessionId, storePath, sessionFile, a
|
|
|
19941
19953
|
function canonicalizePathForComparison$1(filePath) {
|
|
19942
19954
|
const resolved = path.resolve(filePath);
|
|
19943
19955
|
try {
|
|
19944
|
-
return
|
|
19956
|
+
return fs$1.realpathSync(resolved);
|
|
19945
19957
|
} catch {
|
|
19946
19958
|
return resolved;
|
|
19947
19959
|
}
|
|
19948
19960
|
}
|
|
19949
19961
|
function archiveFileOnDisk(filePath, reason) {
|
|
19950
19962
|
const archived = `${filePath}.${reason}.${formatSessionArchiveTimestamp()}`;
|
|
19951
|
-
|
|
19963
|
+
fs$1.renameSync(filePath, archived);
|
|
19952
19964
|
return archived;
|
|
19953
19965
|
}
|
|
19954
19966
|
/**
|
|
@@ -19964,7 +19976,7 @@ function archiveSessionTranscripts(opts) {
|
|
|
19964
19976
|
const relative = path.relative(storeDir, candidatePath);
|
|
19965
19977
|
if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) continue;
|
|
19966
19978
|
}
|
|
19967
|
-
if (!
|
|
19979
|
+
if (!fs$1.existsSync(candidatePath)) continue;
|
|
19968
19980
|
try {
|
|
19969
19981
|
archived.push(archiveFileOnDisk(candidatePath, opts.reason));
|
|
19970
19982
|
} catch {}
|
|
@@ -19982,15 +19994,15 @@ async function cleanupArchivedSessionTranscripts(opts) {
|
|
|
19982
19994
|
let removed = 0;
|
|
19983
19995
|
let scanned = 0;
|
|
19984
19996
|
for (const dir of directories) {
|
|
19985
|
-
const entries = await
|
|
19997
|
+
const entries = await fs$1.promises.readdir(dir).catch(() => []);
|
|
19986
19998
|
for (const entry of entries) {
|
|
19987
19999
|
const timestamp = parseSessionArchiveTimestamp(entry, reason);
|
|
19988
20000
|
if (timestamp == null) continue;
|
|
19989
20001
|
scanned += 1;
|
|
19990
20002
|
if (now - timestamp <= opts.olderThanMs) continue;
|
|
19991
20003
|
const fullPath = path.join(dir, entry);
|
|
19992
|
-
if (!(await
|
|
19993
|
-
await
|
|
20004
|
+
if (!(await fs$1.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
|
|
20005
|
+
await fs$1.promises.rm(fullPath).catch(() => void 0);
|
|
19994
20006
|
removed += 1;
|
|
19995
20007
|
}
|
|
19996
20008
|
}
|
|
@@ -20137,7 +20149,7 @@ function isCacheEnabled(ttlMs) {
|
|
|
20137
20149
|
}
|
|
20138
20150
|
function getFileStatSnapshot(filePath) {
|
|
20139
20151
|
try {
|
|
20140
|
-
const stats =
|
|
20152
|
+
const stats = fs$1.statSync(filePath);
|
|
20141
20153
|
return {
|
|
20142
20154
|
mtimeMs: stats.mtimeMs,
|
|
20143
20155
|
sizeBytes: stats.size
|
|
@@ -20155,7 +20167,7 @@ const NOOP_LOGGER = {
|
|
|
20155
20167
|
function canonicalizePathForComparison(filePath) {
|
|
20156
20168
|
const resolved = path.resolve(filePath);
|
|
20157
20169
|
try {
|
|
20158
|
-
return
|
|
20170
|
+
return fs$1.realpathSync(resolved);
|
|
20159
20171
|
} catch {
|
|
20160
20172
|
return resolved;
|
|
20161
20173
|
}
|
|
@@ -20213,12 +20225,12 @@ function resolveReferencedSessionTranscriptPaths(params) {
|
|
|
20213
20225
|
return referenced;
|
|
20214
20226
|
}
|
|
20215
20227
|
async function readSessionsDirFiles(sessionsDir) {
|
|
20216
|
-
const dirEntries = await
|
|
20228
|
+
const dirEntries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
|
|
20217
20229
|
const files = [];
|
|
20218
20230
|
for (const dirent of dirEntries) {
|
|
20219
20231
|
if (!dirent.isFile()) continue;
|
|
20220
20232
|
const filePath = path.join(sessionsDir, dirent.name);
|
|
20221
|
-
const stat = await
|
|
20233
|
+
const stat = await fs$1.promises.stat(filePath).catch(() => null);
|
|
20222
20234
|
if (!stat?.isFile()) continue;
|
|
20223
20235
|
files.push({
|
|
20224
20236
|
path: filePath,
|
|
@@ -20231,9 +20243,9 @@ async function readSessionsDirFiles(sessionsDir) {
|
|
|
20231
20243
|
return files;
|
|
20232
20244
|
}
|
|
20233
20245
|
async function removeFileIfExists(filePath) {
|
|
20234
|
-
const stat = await
|
|
20246
|
+
const stat = await fs$1.promises.stat(filePath).catch(() => null);
|
|
20235
20247
|
if (!stat?.isFile()) return 0;
|
|
20236
|
-
await
|
|
20248
|
+
await fs$1.promises.rm(filePath, { force: true }).catch(() => void 0);
|
|
20237
20249
|
return stat.size;
|
|
20238
20250
|
}
|
|
20239
20251
|
async function removeFileForBudget(params) {
|
|
@@ -20590,7 +20602,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
|
|
|
20590
20602
|
}
|
|
20591
20603
|
async function getSessionFileSize(storePath) {
|
|
20592
20604
|
try {
|
|
20593
|
-
return (await
|
|
20605
|
+
return (await fs$1.promises.stat(storePath)).size;
|
|
20594
20606
|
} catch {
|
|
20595
20607
|
return null;
|
|
20596
20608
|
}
|
|
@@ -20607,7 +20619,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
|
|
|
20607
20619
|
if (fileSize <= maxBytes) return false;
|
|
20608
20620
|
const backupPath = `${storePath}.bak.${Date.now()}`;
|
|
20609
20621
|
try {
|
|
20610
|
-
await
|
|
20622
|
+
await fs$1.promises.rename(storePath, backupPath);
|
|
20611
20623
|
log$12.info("rotated session store file", {
|
|
20612
20624
|
backupPath: path.basename(backupPath),
|
|
20613
20625
|
sizeBytes: fileSize
|
|
@@ -20618,11 +20630,11 @@ async function rotateSessionFile(storePath, overrideBytes) {
|
|
|
20618
20630
|
try {
|
|
20619
20631
|
const dir = path.dirname(storePath);
|
|
20620
20632
|
const baseName = path.basename(storePath);
|
|
20621
|
-
const backups = (await
|
|
20633
|
+
const backups = (await fs$1.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
|
|
20622
20634
|
const maxBackups = 3;
|
|
20623
20635
|
if (backups.length > maxBackups) {
|
|
20624
20636
|
const toDelete = backups.slice(maxBackups);
|
|
20625
|
-
for (const old of toDelete) await
|
|
20637
|
+
for (const old of toDelete) await fs$1.promises.unlink(path.join(dir, old)).catch(() => void 0);
|
|
20626
20638
|
log$12.info("cleaned up old session store backups", { deleted: toDelete.length });
|
|
20627
20639
|
}
|
|
20628
20640
|
} catch {}
|
|
@@ -20743,7 +20755,7 @@ function loadSessionStore(storePath, opts = {}) {
|
|
|
20743
20755
|
const maxReadAttempts = process.platform === "win32" ? 3 : 1;
|
|
20744
20756
|
const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : void 0;
|
|
20745
20757
|
for (let attempt = 0; attempt < maxReadAttempts; attempt++) try {
|
|
20746
|
-
const raw =
|
|
20758
|
+
const raw = fs$1.readFileSync(storePath, "utf-8");
|
|
20747
20759
|
if (raw.length === 0 && attempt < maxReadAttempts - 1) {
|
|
20748
20760
|
Atomics.wait(retryBuf, 0, 0, 50);
|
|
20749
20761
|
continue;
|
|
@@ -20893,7 +20905,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
|
|
|
20893
20905
|
});
|
|
20894
20906
|
}
|
|
20895
20907
|
}
|
|
20896
|
-
await
|
|
20908
|
+
await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
|
|
20897
20909
|
const json = JSON.stringify(store, null, 2);
|
|
20898
20910
|
if (getSerializedSessionStore(storePath) === json) {
|
|
20899
20911
|
updateSessionStoreWriteCaches({
|
|
@@ -21302,8 +21314,8 @@ function resolveMirroredTranscriptText(params) {
|
|
|
21302
21314
|
return trimmed ? trimmed : null;
|
|
21303
21315
|
}
|
|
21304
21316
|
async function ensureSessionHeader(params) {
|
|
21305
|
-
if (
|
|
21306
|
-
await
|
|
21317
|
+
if (fs$1.existsSync(params.sessionFile)) return;
|
|
21318
|
+
await fs$1.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
|
|
21307
21319
|
const header = {
|
|
21308
21320
|
type: "session",
|
|
21309
21321
|
version: CURRENT_SESSION_VERSION,
|
|
@@ -21311,7 +21323,7 @@ async function ensureSessionHeader(params) {
|
|
|
21311
21323
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
21312
21324
|
cwd: process.cwd()
|
|
21313
21325
|
};
|
|
21314
|
-
await
|
|
21326
|
+
await fs$1.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
|
|
21315
21327
|
encoding: "utf-8",
|
|
21316
21328
|
mode: 384
|
|
21317
21329
|
});
|
|
@@ -21529,13 +21541,13 @@ async function ensureSandboxWorkspace(workspaceDir, seedFrom, skipBootstrap) {
|
|
|
21529
21541
|
});
|
|
21530
21542
|
if (!opened.ok) continue;
|
|
21531
21543
|
try {
|
|
21532
|
-
const content =
|
|
21544
|
+
const content = fs$1.readFileSync(opened.fd, "utf-8");
|
|
21533
21545
|
await fs.writeFile(dest, content, {
|
|
21534
21546
|
encoding: "utf-8",
|
|
21535
21547
|
flag: "wx"
|
|
21536
21548
|
});
|
|
21537
21549
|
} finally {
|
|
21538
|
-
|
|
21550
|
+
fs$1.closeSync(opened.fd);
|
|
21539
21551
|
}
|
|
21540
21552
|
} catch {}
|
|
21541
21553
|
}
|