@termix-it/cryptoclaw 1.0.5 → 1.0.6
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/README.md +269 -47
- package/dist/{accounts-DarjcXFz.js → accounts-BSIXwC37.js} +1 -1
- package/dist/{accounts-CucAhPu5.js → accounts-Bod7973i.js} +7 -7
- package/dist/{accounts-DjUjM_0M.js → accounts-D3YOECeq.js} +1 -1
- package/dist/{acp-cli-BKEdLWJH.js → acp-cli-CGC73qiP.js} +8 -8
- package/dist/{agent-scope-C5bklqr1.js → agent-scope-BGsA4zEf.js} +17 -17
- package/dist/{agents-C26D9541.js → agents-SpePW-me.js} +14 -14
- package/dist/{agents.config-BSkzwDQZ.js → agents.config-g0LyahNR.js} +2 -2
- package/dist/{api-key-rotation-DUAhkuoF.js → api-key-rotation-BoN0bfDN.js} +1 -1
- package/dist/{audio-preflight-DFpELnh5.js → audio-preflight-CN6L8zsG.js} +34 -34
- package/dist/{audio-preflight-DmX89zeN.js → audio-preflight-_6ttSHmt.js} +4 -4
- package/dist/{audio-transcription-runner-DjCJFIGl.js → audio-transcription-runner-CR_2AH5G.js} +1 -1
- package/dist/{audio-transcription-runner-C1T1UDgG.js → audio-transcription-runner-D6NSiBUN.js} +23 -23
- package/dist/{audit-BJ5b9jj6.js → audit-C3kgCKKq.js} +29 -29
- package/dist/{auth-CgV_wGar.js → auth-BQOIUcK5.js} +1 -1
- package/dist/{auth-choice-DG-39eTP.js → auth-choice-ClGYfSky.js} +13 -13
- package/dist/{auth-choice-tnRPpsDE.js → auth-choice-pU5ch2o1.js} +11 -11
- package/dist/{auth-choice.apply-helpers-DAj6Co-H.js → auth-choice.apply-helpers-BF8uDNAl.js} +1 -1
- package/dist/{auth-profiles-CtYlKXxI.js → auth-profiles-yB_p54Kf.js} +16 -16
- package/dist/{auth-token-Ijqjdh1h.js → auth-token-C_wfhGFh.js} +1 -1
- package/dist/{banner-CY1oW10M.js → banner-C01HhkYN.js} +2 -2
- package/dist/{bonjour-discovery-ttcR8uJV.js → bonjour-discovery-DRbbMuPV.js} +1 -1
- package/dist/{browser-cli-DosaTN2z.js → browser-cli-t5Ko46IP.js} +12 -12
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/{call-BHrnZxI1.js → call-CeJbHmC5.js} +10 -10
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-account-context-BjsJwBrl.js → channel-account-context-CZg6xYM_.js} +5 -5
- package/dist/{channel-activity-CudRDPXk.js → channel-activity-CtUzm0zi.js} +1 -1
- package/dist/{channel-options-DRQo8X5b.js → channel-options-DKP2et7c.js} +3 -3
- package/dist/{channel-selection-D2KncGab.js → channel-selection-BGFLNPuZ.js} +1 -1
- package/dist/{channel-web-BxqW0jAU.js → channel-web-CjBStv9j.js} +17 -17
- package/dist/{channels-cli-BgpYg0HG.js → channels-cli-B7QQDJC8.js} +93 -93
- package/dist/{channels-status-issues-JgPH8x7b.js → channels-status-issues-UpBSKB6j.js} +1 -1
- package/dist/{chrome-HNJ5Np77.js → chrome-CXIrNn6H.js} +8 -8
- package/dist/{chrome-m5f8q2YK.js → chrome-NrlBIdcn.js} +4 -4
- package/dist/{clawbot-cli-CrkYNKVe.js → clawbot-cli-fmA08wJd.js} +11 -11
- package/dist/cli/daemon-cli.js +1 -1
- package/dist/{cli-2paqSkPz.js → cli-DO7xcifm.js} +73 -73
- package/dist/{client-BqLxmdBY.js → client-Kkj2aHgb.js} +2 -2
- package/dist/{command-registry-C3IdEOLg.js → command-registry-Ckb_NblW.js} +11 -11
- package/dist/{command-secret-targets-_FGz0zdz.js → command-secret-targets-CVAt80vu.js} +4 -4
- package/dist/{commands-CP-eujrx.js → commands-BYuioJO3.js} +1 -1
- package/dist/{commands-registry-BxWE_gts.js → commands-registry-DCOqmmUF.js} +3 -3
- package/dist/{completion-cli-D_Hp6T_X.js → completion-cli-3DXayCwj.js} +13 -13
- package/dist/{config-cli-DLVXpjXN.js → config-cli-DDe7yEGq.js} +7 -7
- package/dist/{config-guard-D9yUiM86.js → config-guard-DpzGAFpd.js} +3 -3
- package/dist/{config-validation-C-plaBVT.js → config-validation-BS6k_44h.js} +3 -3
- package/dist/{configure-idrmyczj.js → configure-M4LELgRU.js} +17 -17
- package/dist/{control-ui-assets-1CYoFkJQ.js → control-ui-assets-CYQNSPY0.js} +1 -1
- package/dist/{cron-cli-CxAxkYel.js → cron-cli-C0tDGxo5.js} +11 -11
- package/dist/{daemon-cli-Bntp6emS.js → daemon-cli-D7rQUQZq.js} +15 -15
- package/dist/{daemon-install-LNixC8Pb.js → daemon-install-C_ygPena.js} +4 -4
- package/dist/{daemon-install-helpers-CyjpUUrm.js → daemon-install-helpers-so86sfkZ.js} +11 -11
- package/dist/{deliver-CExblvFE.js → deliver-BFJn3-fC.js} +1 -1
- package/dist/{deliver-HkPDAwY2.js → deliver-Bh8OdZ9H.js} +7 -7
- package/dist/{deliver-runtime-BJU4v7t5.js → deliver-runtime-Bw0VKYNI.js} +3 -3
- package/dist/deliver-runtime-DkDQPjmE.js +61 -0
- package/dist/deps-send-discord.runtime-DhhOEbEN.js +36 -0
- package/dist/deps-send-imessage.runtime-CeatZSyv.js +35 -0
- package/dist/deps-send-signal.runtime-xlqQXnR0.js +34 -0
- package/dist/deps-send-slack.runtime-m3yDRYug.js +32 -0
- package/dist/{deps-send-telegram.runtime-DUo2GPb7.js → deps-send-telegram.runtime-DhLKcoGf.js} +16 -16
- package/dist/{deps-send-whatsapp.runtime-DWsx1vI_.js → deps-send-whatsapp.runtime-ChcUz7xZ.js} +7 -7
- package/dist/deps-send-whatsapp.runtime-DZR3Tix2.js +119 -0
- package/dist/{devices-cli-DDu3iEJN.js → devices-cli-DKERiq8E.js} +8 -8
- package/dist/{diagnostic-3zN7XEY1.js → diagnostic-Dp-KkeSq.js} +1 -1
- package/dist/{diagnostics-Dys24A-s.js → diagnostics-Cuvdgf7E.js} +5 -5
- package/dist/{directory-cli-BgL_9wd5.js → directory-cli-DFN_WTag.js} +7 -7
- package/dist/{dns-cli-B0zPrZBi.js → dns-cli-DO8cd5zZ.js} +5 -5
- package/dist/{dock-BaM5oTqE.js → dock-DjC0vgOm.js} +4 -4
- package/dist/{docs-cli-4R8XltvA.js → docs-cli-GcB4tM-4.js} +4 -4
- package/dist/{doctor-completion-5TLzN3Se.js → doctor-completion-3P8WMHdK.js} +2 -2
- package/dist/{doctor-config-flow-DWHPUDqY.js → doctor-config-flow-WQpcISHd.js} +15 -15
- package/dist/{enable-BP58hyxE.js → enable-Di6fjV84.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/{exec-approvals-allowlist-CGQJSJfD.js → exec-approvals-allowlist-CSsG6lrG.js} +1 -1
- package/dist/{exec-approvals-cli-DmOSbNpe.js → exec-approvals-cli-BuZEm_3t.js} +16 -16
- package/dist/{exec-safe-bin-runtime-policy-nkIQWrRj.js → exec-safe-bin-runtime-policy-ukabtnTn.js} +2 -2
- package/dist/{fetch-qkXypRi6.js → fetch-DmaNytop.js} +3 -3
- package/dist/{fetch-guard-CS_3jTMA.js → fetch-guard-0V5i-cZz.js} +1 -1
- package/dist/{fs-safe-CYrszQI6.js → fs-safe-DTO6fZ7N.js} +24 -24
- package/dist/{gateway-cli-Ct4tgMMm.js → gateway-cli-VJJtBtt2.js} +153 -153
- package/dist/{gateway-rpc-eEkc-oSq.js → gateway-rpc-BLIo1-nR.js} +1 -1
- package/dist/{health-CWuNlSLA.js → health-Ry4jLJFh.js} +11 -11
- package/dist/{hooks-cli-DdEAtyWm.js → hooks-cli-CpYtmeh1.js} +81 -81
- package/dist/{hooks-status-NIiTaX__.js → hooks-status-C_u7irQ4.js} +1 -1
- package/dist/{image-ktIANJRi.js → image-5Dop2pwF.js} +5 -5
- package/dist/{image-XS6PINIE.js → image-BI9ZrRUQ.js} +1 -1
- package/dist/{image-ops-WJSAG5_7.js → image-ops-Ba5soKsa.js} +10 -10
- package/dist/{image-runtime-nOUladfh.js → image-runtime-CPYGXqpg.js} +3 -3
- package/dist/image-runtime-vjBJe2FQ.js +55 -0
- package/dist/{inspect-DWaajebj.js → inspect-Bnp4NJm0.js} +4 -4
- package/dist/{install-safe-path-BmAf3bF5.js → install-safe-path-DgGlNCpx.js} +25 -25
- package/dist/{installs-DMDJeMmr.js → installs-Bjh1q5wQ.js} +9 -9
- package/dist/{ipv4-DIovCoyM.js → ipv4-BsIL6DPy.js} +1 -1
- package/dist/{ir-xdB7409t.js → ir-SEi7gUP9.js} +8 -8
- package/dist/{issue-format-DaXc0Ssz.js → issue-format-DEHEwGJB.js} +1 -1
- package/dist/{json-files-CuJjdF_0.js → json-files-rR19q30D.js} +8 -8
- package/dist/{lifecycle-core-BinqEyma.js → lifecycle-core-t2Q34Tiu.js} +5 -5
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{login-62iNga_2.js → login-DKh_sv9q.js} +3 -3
- package/dist/{login-qr-DMWPhIpQ.js → login-qr-9Wvtlmqz.js} +6 -6
- package/dist/{logs-cli-BN9aRZlE.js → logs-cli-BQTvPOds.js} +9 -9
- package/dist/{manager-DstlJwRR.js → manager-DKcbmdLj.js} +14 -14
- package/dist/{manager-runtime-DktggQQ7.js → manager-runtime-CdY_4s56.js} +9 -9
- package/dist/{manifest-registry-DjbHJw7g.js → manifest-registry-CzoQ4XAn.js} +1 -1
- package/dist/{memory-cli-B4tlY2Jz.js → memory-cli-CEZedlbs.js} +12 -12
- package/dist/{model-BLdajRK2.js → model-B2Sraf73.js} +2 -2
- package/dist/{model-catalog-DorZGOmy.js → model-catalog-B9Kd_iNy.js} +3 -3
- package/dist/{model-picker-Cn-yEB3e.js → model-picker-DyLoTKdE.js} +4 -4
- package/dist/{models-B_vCWO9r.js → models-CZbq8HGI.js} +17 -17
- package/dist/{models-cli-BBMBrNuk.js → models-cli-8aPPSLLl.js} +78 -78
- package/dist/{models-config-VlzOga1W.js → models-config-C7yYEUbY.js} +6 -6
- package/dist/{net-DFijUFfS.js → net-CfwQaj6f.js} +2 -2
- package/dist/{node-cli-BfSkX-wS.js → node-cli-BRIl5jr7.js} +33 -33
- package/dist/{node-command-policy-BMgJ81FO.js → node-command-policy-yJ_VpCHq.js} +1 -1
- package/dist/{node-service-BeDB4avc.js → node-service-9R10zILv.js} +1 -1
- package/dist/{nodes-cli-D0etQIcH.js → nodes-cli-CARJm2ko.js} +16 -16
- package/dist/{nodes-screen-DWVpmvMz.js → nodes-screen-DF7EBTLu.js} +7 -7
- package/dist/{npm-pack-install-BUyXXcPz.js → npm-pack-install-DdqL1Mh1.js} +18 -18
- package/dist/{npm-resolution-DSDaOY0G.js → npm-resolution-BaKXXkK7.js} +4 -4
- package/dist/{onboard-BEv6XhMg.js → onboard-C7cwcgUt.js} +6 -6
- package/dist/{onboard-channels-DAQmVNUf.js → onboard-channels-VhiLL846.js} +21 -21
- package/dist/{onboard-custom-BIY24QCh.js → onboard-custom-2gc6FKvI.js} +4 -4
- package/dist/{onboard-helpers-CPO08jBg.js → onboard-helpers-Mort99IL.js} +10 -10
- package/dist/{onboard-hooks-CK-gx645.js → onboard-hooks-DPho1fkd.js} +4 -4
- package/dist/{onboard-remote-SQzkLmdW.js → onboard-remote-BfScc2nM.js} +4 -4
- package/dist/{onboard-skills-B2UtgSDa.js → onboard-skills-CkZeXqxE.js} +4 -4
- package/dist/{onboarding-CWdu0f2f.js → onboarding-DyjqYKzZ.js} +14 -14
- package/dist/{onboarding.finalize-BD5_L4rw.js → onboarding.finalize-Rn8lrC90.js} +87 -87
- package/dist/{onboarding.gateway-config-CBJgsZvM.js → onboarding.gateway-config-D83188RW.js} +18 -18
- package/dist/{onboarding.secret-input-B_lhRVqi.js → onboarding.secret-input-CG_ZOH5i.js} +1 -1
- package/dist/{openai-model-default-OdIXYQox.js → openai-model-default-D1kdZKT2.js} +2 -2
- package/dist/{openclaw-root-BFfBQ6FD.js → openclaw-root-BU3lu8pM.js} +8 -8
- package/dist/{outbound-m-MM0HUr.js → outbound-BrhmfCk2.js} +3 -3
- package/dist/{outbound-attachment-BewsAqvJ.js → outbound-attachment-MWhTrPYa.js} +2 -2
- package/dist/{pairing-cli-CjrZxYPI.js → pairing-cli-BLxX0PoT.js} +8 -8
- package/dist/{pairing-labels-BU1EH5qm.js → pairing-labels-C1jblVNc.js} +1 -1
- package/dist/{pairing-store-CrEzWjmd.js → pairing-store-B_UHGVGM.js} +3 -3
- package/dist/{path-alias-guards-DbNvNQar.js → path-alias-guards-DhIwq92y.js} +3 -3
- package/dist/{path-safety-ClQO4BB6.js → path-safety-BjIM4N4t.js} +1 -1
- package/dist/{paths-BaZIBy3U.js → paths-CGf7Nrz-.js} +9 -9
- package/dist/{pi-embedded-BRzys1F7.js → pi-embedded--j-vyCUK.js} +24 -24
- package/dist/{pi-embedded-helpers-Dc63NlxD.js → pi-embedded-helpers-CNzY8t5q.js} +3 -3
- package/dist/{pi-embedded-helpers-CJZP0u_Y.js → pi-embedded-helpers-D9bQLeoK.js} +6 -6
- package/dist/{pi-model-discovery-IzndsQh-.js → pi-model-discovery-BmqY0Fxk.js} +1 -1
- package/dist/{pi-model-discovery-runtime-Bc-2_ZlP.js → pi-model-discovery-runtime-Ce9Tz7Qj.js} +5 -5
- package/dist/{pi-tools.before-tool-call.runtime-D4tLWmkM.js → pi-tools.before-tool-call.runtime-B3faxm6v.js} +5 -5
- package/dist/{pi-tools.policy-B72vqcZC.js → pi-tools.policy-B1sTh_x1.js} +5 -5
- package/dist/{plugin-auto-enable-BJfAN-kO.js → plugin-auto-enable-DFhRs_Ha.js} +3 -3
- package/dist/{plugin-registry-Coex6Pjp.js → plugin-registry-34ghMzQO.js} +3 -3
- package/dist/plugin-sdk/{accounts-C1nsQfAq.js → accounts-B9LsoWRN.js} +3 -3
- package/dist/plugin-sdk/{accounts-CfCelvuS.js → accounts-CGsBZitB.js} +2 -2
- package/dist/plugin-sdk/{accounts-BO6eVvIk.js → accounts-DCJygCEu.js} +2 -2
- package/dist/plugin-sdk/{accounts-D8HzIleM.js → accounts-OQhwq095.js} +3 -3
- package/dist/plugin-sdk/{accounts-8MUKWeGv.js → accounts-UnMpt5N3.js} +2 -2
- package/dist/plugin-sdk/{accounts-CPoohfrp.js → accounts-raZ4ECkq.js} +2 -2
- package/dist/plugin-sdk/{active-listener-MfT2Dfk_.js → active-listener-B3uuO0hs.js} +2 -2
- package/dist/plugin-sdk/{active-listener-Degi0it3.js → active-listener-Eb16HTkk.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-CbsZTTUf.js → api-key-rotation-BtsbePHg.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-CGkG2TdX.js → api-key-rotation-CVee9nRS.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-C5aEkQA7.js → audio-preflight-AU7gChXe.js} +26 -26
- package/dist/plugin-sdk/{audio-preflight-De3ToOLv.js → audio-preflight-B82VQczF.js} +26 -26
- package/dist/plugin-sdk/{audio-transcription-runner-CByI6S2h.js → audio-transcription-runner-HEBuWWAy.js} +11 -11
- package/dist/plugin-sdk/{audio-transcription-runner-B99FfbzJ.js → audio-transcription-runner-qZ6rKQHs.js} +11 -11
- package/dist/plugin-sdk/{audit-membership-runtime-BpoX61hv.js → audit-membership-runtime-DvBMQsDC.js} +2 -2
- package/dist/plugin-sdk/{audit-membership-runtime-DS34hPU6.js → audit-membership-runtime-Re50ULXH.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-DdXRr2be.js → channel-activity-DhjaEnHr.js} +3 -3
- package/dist/plugin-sdk/{channel-activity-CBnzERF5.js → channel-activity-DyI7jd_J.js} +3 -3
- package/dist/plugin-sdk/{channel-web-Camrgn9Y.js → channel-web-3rQke4lb.js} +18 -18
- package/dist/plugin-sdk/{channel-web-DyO5wH-M.js → channel-web-Cd9ofl4F.js} +18 -18
- package/dist/plugin-sdk/{chrome-sBjdgZ5F.js → chrome-6Sk7pLY6.js} +6 -6
- package/dist/plugin-sdk/{chrome-D9S09VjY.js → chrome-DkRruWw9.js} +6 -6
- package/dist/plugin-sdk/{commands-registry-Ba7pk4Ta.js → commands-registry-CrUYTcEC.js} +4 -4
- package/dist/plugin-sdk/{commands-registry-7sKgV6b6.js → commands-registry-DCIdoQuk.js} +4 -4
- package/dist/plugin-sdk/{common-0gnzU6l1.js → common-DGsZt0BZ.js} +2 -2
- package/dist/plugin-sdk/{config-D5DQfSMn.js → config-Dhw5h35s.js} +7 -7
- package/dist/plugin-sdk/{config-hSLjGMqo.js → config-Dq7-4cgI.js} +7 -7
- package/dist/plugin-sdk/{deliver-CmBonhhr.js → deliver-BFO3PdBy.js} +10 -10
- package/dist/plugin-sdk/{deliver-C4PPp4UX.js → deliver-BY-NHTcM.js} +10 -10
- package/dist/plugin-sdk/deliver-runtime-3zydbKGf.js +32 -0
- package/dist/plugin-sdk/deliver-runtime-BWZ4MjCx.js +32 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-CT4Za_tX.js +23 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-DOOrRWmj.js +23 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-B5w4Zb7g.js +22 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-BGNmg99V.js +22 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-DI3j6n83.js +21 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-NUsgzgnc.js +21 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-30nkLxsY.js +19 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-Bpsc574S.js +19 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-D2BsaDBJ.js +24 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-DIXdFk2A.js +24 -0
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-DMtrDoHb.js +57 -0
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-PFhn0IIR.js +57 -0
- package/dist/plugin-sdk/{diagnostic-OpNk6rpy.js → diagnostic-CtKfuST-.js} +2 -2
- package/dist/plugin-sdk/{diagnostic-XZ76ECg1.js → diagnostic-DiXA_NOk.js} +2 -2
- package/dist/plugin-sdk/{errors-C-TFeu_U.js → errors-B2jpHiod.js} +1 -1
- package/dist/plugin-sdk/{errors-Cn3JyiMn.js → errors-x0EvNKYN.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-Djhxeh6F.js → fetch-guard-CFw9w93V.js} +2 -2
- package/dist/plugin-sdk/{fetch-guard-BNChovQk.js → fetch-guard-DHh-3Pq7.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-B1CdzxMU.js → fs-safe-D51tGdcB.js} +3 -3
- package/dist/plugin-sdk/{fs-safe-B8jm0acc.js → fs-safe-Obb1u_C-.js} +3 -3
- package/dist/plugin-sdk/{image-BzikjBti.js → image-C2hwEt8m.js} +6 -6
- package/dist/plugin-sdk/{image-CwJbQyj6.js → image-DJPbGAeM.js} +6 -6
- package/dist/plugin-sdk/{image-ops-DBR1x_FT.js → image-ops-C7Kt1ryv.js} +2 -2
- package/dist/plugin-sdk/{image-ops-C6_PnsHU.js → image-ops-CYGIIp7B.js} +2 -2
- package/dist/plugin-sdk/image-runtime-DvTR_k2A.js +25 -0
- package/dist/plugin-sdk/image-runtime-Vtwamfai.js +25 -0
- package/dist/plugin-sdk/index.js +50 -50
- package/dist/plugin-sdk/{ir-CvW_AaoY.js → ir-DEyFvrC3.js} +7 -7
- package/dist/plugin-sdk/{ir-CveiIg5T.js → ir-DUaFgyfF.js} +7 -7
- package/dist/plugin-sdk/{local-roots-CW4yjHjO.js → local-roots-BS6aNMOU.js} +4 -4
- package/dist/plugin-sdk/{local-roots-BU9pDzPT.js → local-roots-DPoYqwGy.js} +4 -4
- package/dist/plugin-sdk/{logger-Dj4IX2UB.js → logger-Bl138Nx7.js} +2 -2
- package/dist/plugin-sdk/{logger-z1vqlUc1.js → logger-COmHOvdm.js} +2 -2
- package/dist/plugin-sdk/{login-BzaOlpPR.js → login-C0QJfY7H.js} +4 -4
- package/dist/plugin-sdk/{login-CcqeqBu0.js → login-DWWzbOcy.js} +4 -4
- package/dist/plugin-sdk/{login-qr-C0z_KRnC.js → login-qr-0qmwdPb0.js} +5 -5
- package/dist/plugin-sdk/{login-qr-DA7TCczl.js → login-qr-BJzd9BYx.js} +5 -5
- package/dist/plugin-sdk/{manager-DTf6k6ib.js → manager-8RgL4Sdy.js} +8 -8
- package/dist/plugin-sdk/{manager-CJspWlod.js → manager-kvjCsbh-.js} +8 -8
- package/dist/plugin-sdk/manager-runtime-B7jfPrQb.js +15 -0
- package/dist/plugin-sdk/manager-runtime-xEKyekyY.js +15 -0
- package/dist/plugin-sdk/{outbound-attachment-BYR_GvCl.js → outbound-attachment-D2rmCK5Q.js} +2 -2
- package/dist/plugin-sdk/{outbound-attachment-BG_O2YgC.js → outbound-attachment-DQAafXn8.js} +2 -2
- package/dist/plugin-sdk/{outbound-Dfl6t4_i.js → outbound-lNvDJeBz.js} +5 -5
- package/dist/plugin-sdk/{outbound-DmES81b6.js → outbound-r2idzBjf.js} +5 -5
- package/dist/plugin-sdk/{path-alias-guards-C-nlHZJ5.js → path-alias-guards-CoYTMiOE.js} +1 -1
- package/dist/plugin-sdk/{path-alias-guards-CMpHLrQn.js → path-alias-guards-DlbgzmZl.js} +1 -1
- package/dist/plugin-sdk/{paths-NcyWgkDa.js → paths-B2ytnsaB.js} +1 -1
- package/dist/plugin-sdk/{paths-BTYNazdG.js → paths-D764z9IH.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-Jj0ybrpG.js → pi-embedded-helpers-BiF7I8hC.js} +16 -16
- package/dist/plugin-sdk/{pi-embedded-helpers-6BaZvTwA.js → pi-embedded-helpers-xCyAR479.js} +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-D_O1PWhS.js → pi-model-discovery-BZmrv91u.js} +1 -1
- package/dist/plugin-sdk/{pi-model-discovery-DYyEobhW.js → pi-model-discovery-C31bQ9NT.js} +1 -1
- package/dist/plugin-sdk/pi-model-discovery-runtime-1hhBydi5.js +8 -0
- package/dist/plugin-sdk/pi-model-discovery-runtime-C5Suk1AS.js +8 -0
- package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-ocH9ttx6.js → pi-tools.before-tool-call.runtime-BPpgalFg.js} +4 -4
- package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-BHvn7UqF.js → pi-tools.before-tool-call.runtime-DVX22Rkt.js} +4 -4
- package/dist/plugin-sdk/{plugins-DA7pP5dp.js → plugins-BQBprVuu.js} +4 -4
- package/dist/plugin-sdk/{plugins-B_UiQZHB.js → plugins-CRPN1AUk.js} +4 -4
- package/dist/plugin-sdk/{proxy-env--jKoUvSq.js → proxy-env-ClmIANMV.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-rtc8GmoB.js → proxy-fetch-BZAtM2fT.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-DxlXp4Yi.js → proxy-fetch-C-fXKPD2.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-4w6gEw9_.js → pw-ai-1li4c5a7.js} +9 -9
- package/dist/plugin-sdk/{pw-ai-B-yFpAtd.js → pw-ai-kU3tw4ws.js} +9 -9
- package/dist/plugin-sdk/{qmd-manager-CLFLkfXW.js → qmd-manager-1COW5fC7.js} +7 -7
- package/dist/plugin-sdk/{qmd-manager-uz9PCVkw.js → qmd-manager-5TI5OD4_.js} +7 -7
- package/dist/plugin-sdk/{query-expansion-D8bZEHLi.js → query-expansion-BcKMYGvP.js} +5 -5
- package/dist/plugin-sdk/{query-expansion-C7kzB0Xa.js → query-expansion-miz9J0WR.js} +5 -5
- package/dist/plugin-sdk/{redact-CBwV828t.js → redact-C3rEm8A0.js} +1 -1
- package/dist/plugin-sdk/{redact-DIGZ7dEc.js → redact-DZTeCKgA.js} +1 -1
- package/dist/plugin-sdk/{reply-DHKovUx3.js → reply-2zncCurP.js} +73 -73
- package/dist/plugin-sdk/{reply-CWB5iDDe.js → reply-BMhUA5WB.js} +73 -73
- package/dist/plugin-sdk/{resolve-outbound-target-DAomg7DR.js → resolve-outbound-target-BZynpUy7.js} +2 -2
- package/dist/plugin-sdk/{resolve-outbound-target-4FJ3k4-0.js → resolve-outbound-target-DzBSTXS5.js} +2 -2
- package/dist/plugin-sdk/{run-with-concurrency-qFOkp49n.js → run-with-concurrency-BdEQVn3N.js} +1 -1
- package/dist/plugin-sdk/{run-with-concurrency-Cq53ODkG.js → run-with-concurrency-CuSLxX3g.js} +1 -1
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-0y9M2JQr.js +10 -0
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-BhSqT2c_.js +10 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DrZrtcgL.js +19 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-G14X8iMC.js +19 -0
- package/dist/plugin-sdk/{send-DHx11WPi.js → send-BraCxR1K.js} +13 -13
- package/dist/plugin-sdk/{send-BitUV_gH.js → send-COSo_L1u.js} +13 -13
- package/dist/plugin-sdk/{send-BA1Qi3mp.js → send-CvRudyW3.js} +6 -6
- package/dist/plugin-sdk/{send-C_-TpLLe.js → send-DB-60Msd.js} +7 -7
- package/dist/plugin-sdk/{send-D7LHac9D.js → send-DDxJMLW5.js} +7 -7
- package/dist/plugin-sdk/{send-iL8NdxQL.js → send-DGJD5miT.js} +8 -8
- package/dist/plugin-sdk/{send-AAxixxac.js → send-DXAc8sNQ.js} +6 -6
- package/dist/plugin-sdk/{send-DZpoWNap.js → send-eAODLWdR.js} +5 -5
- package/dist/plugin-sdk/{send-BniZypKV.js → send-hDY3onGp.js} +8 -8
- package/dist/plugin-sdk/{send-BikqI3_Q.js → send-srOsTG5v.js} +5 -5
- package/dist/plugin-sdk/{session-CqJc4lFX.js → session-C0s_0CGs.js} +3 -3
- package/dist/plugin-sdk/{session-B8SERluE.js → session-DPtviLOH.js} +3 -3
- package/dist/plugin-sdk/signal.js +2 -2
- package/dist/plugin-sdk/{skill-commands-BBiGcASQ.js → skill-commands-9Q1xjzBv.js} +4 -4
- package/dist/plugin-sdk/{skill-commands-BgOojXk-.js → skill-commands-D9OuggWL.js} +4 -4
- package/dist/plugin-sdk/{skills-DiUnGRgw.js → skills-CV7pZMXS.js} +6 -6
- package/dist/plugin-sdk/{skills-uVCpkzHJ.js → skills-DibmdNLb.js} +6 -6
- package/dist/plugin-sdk/slack.js +2 -2
- package/dist/plugin-sdk/slash-commands.runtime-DMTbx7Tn.js +13 -0
- package/dist/plugin-sdk/slash-commands.runtime-z1q_nPnV.js +13 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-CR4I_6w5.js +52 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-D-Sbk7S8.js +52 -0
- package/dist/plugin-sdk/slash-skill-commands.runtime-BzB0BO-7.js +16 -0
- package/dist/plugin-sdk/slash-skill-commands.runtime-DXdAjUOe.js +16 -0
- package/dist/plugin-sdk/{ssrf-BvmhOmnD.js → ssrf-C6DhX4-H.js} +1 -1
- package/dist/plugin-sdk/{store-DcImhEzi.js → store-QO7iGajx.js} +2 -2
- package/dist/plugin-sdk/{store-CDD0KdbU.js → store-ZIdTTfE4.js} +2 -2
- package/dist/plugin-sdk/subagent-registry-runtime-BRsstI9w.js +52 -0
- package/dist/plugin-sdk/subagent-registry-runtime-UnNrLL2P.js +52 -0
- package/dist/plugin-sdk/{tables-DnzlEbCE.js → tables-BssKNJPW.js} +1 -1
- package/dist/plugin-sdk/{tables-injYpabh.js → tables-CfbETQOG.js} +1 -1
- package/dist/{target-errors-D0aWoxbs.js → plugin-sdk/target-errors-CXWbQSBp.js} +2 -2
- package/dist/plugin-sdk/{thinking-CLc4CsZU.js → thinking-DMfnE3HJ.js} +7 -7
- package/dist/plugin-sdk/{thinking-BD1Xt4YG.js → thinking-s9W2mlGh.js} +7 -7
- package/dist/plugin-sdk/{tokens-DuRErjk3.js → tokens-DMbd3-Ct.js} +1 -1
- package/dist/plugin-sdk/{tokens-D2fpVQt3.js → tokens-XT-8y62w.js} +1 -1
- package/dist/plugin-sdk/{tool-images-h8wHgEL8.js → tool-images-2uaYTd7D.js} +2 -2
- package/dist/plugin-sdk/{tool-images-D5NJxNog.js → tool-images-DbDPeOjK.js} +2 -2
- package/dist/plugin-sdk/web-C4htBVBv.js +56 -0
- package/dist/plugin-sdk/web-D7S-5qkT.js +56 -0
- package/dist/plugin-sdk/{whatsapp-actions-Zdo-gL1s.js → whatsapp-actions-Bw9bC72n.js} +17 -17
- package/dist/plugin-sdk/{whatsapp-actions-BBLa4ciE.js → whatsapp-actions-DKfas9MG.js} +17 -17
- package/dist/plugin-sdk/whatsapp.js +50 -50
- package/dist/{plugins-B4AetCpQ.js → plugins-DO_6iMZV.js} +2 -2
- package/dist/{plugins-cli-BC1OrfRZ.js → plugins-cli-CrVhFNFQ.js} +83 -83
- package/dist/{ports-BUQm2J6L.js → ports-D7wHAklC.js} +1 -1
- package/dist/{ports-BpZiRmiG.js → ports-jknVhOJa.js} +2 -2
- package/dist/{program-DP3cy7oT.js → program-DJShjgis.js} +81 -81
- package/dist/{prompt-select-styled-doOKqwJk.js → prompt-select-styled-BEQND6Pn.js} +40 -40
- package/dist/{provider-auth-helpers-DcmZK4IP.js → provider-auth-helpers-CHEChUx_.js} +5 -5
- package/dist/{proxy-env-BEfRNPmW.js → proxy-env-C61VbSzS.js} +1 -1
- package/dist/{push-apns-Duv_LH_E.js → push-apns-BPEC7SVy.js} +5 -5
- package/dist/{pw-ai-Ds5f7Rvv.js → pw-ai-BWsikzYD.js} +18 -18
- package/dist/{pw-ai-BYLaFCcQ.js → pw-ai-CuA0BkwK.js} +1 -1
- package/dist/{qmd-manager-4HixPUdU.js → qmd-manager-DefwbEao.js} +20 -20
- package/dist/{qr-cli-D4MiTFeD.js → qr-cli-CoXD6uPd.js} +2 -2
- package/dist/{query-expansion-DfWHFCTw.js → query-expansion-BlsKiJrV.js} +12 -12
- package/dist/{redact-snapshot-BE1hcZlN.js → redact-snapshot-M27Gs1s9.js} +1 -1
- package/dist/{register.agent-DFd8-wLc.js → register.agent-t529UsnC.js} +94 -94
- package/dist/register.configure-Dn11C-E_.js +165 -0
- package/dist/{register.maintenance-CouoMEPC.js → register.maintenance-FmxcJgcW.js} +95 -95
- package/dist/{register.message-g4CdwiKD.js → register.message-BCoDh2cF.js} +74 -74
- package/dist/{register.onboard-DlKw4xXK.js → register.onboard-DZar0J8o.js} +18 -18
- package/dist/{register.setup-kxCLJtkA.js → register.setup-D14CyWuc.js} +21 -21
- package/dist/{register.status-health-sessions-BakEjuIX.js → register.status-health-sessions-B6crPNF9.js} +88 -88
- package/dist/{register.subclis-E3VXJcR8.js → register.subclis-BAATApi1.js} +31 -31
- package/dist/{rpc-C9k7pLBW.js → rpc-CA7yGckN.js} +1 -1
- package/dist/{run-main-k4NWKRqz.js → run-main-B19t_gLX.js} +92 -92
- package/dist/{runtime-CagDsJFx.js → runtime-D_htBj_7.js} +3 -3
- package/dist/{runtime-config-collectors-D0I8Qs4G.js → runtime-config-collectors-mLMSoY2n.js} +1 -1
- package/dist/{runtime-whatsapp-login.runtime-BvfhsLJm.js → runtime-whatsapp-login.runtime-BtBGjvx6.js} +7 -7
- package/dist/{runtime-whatsapp-outbound.runtime-QL3Riu-B.js → runtime-whatsapp-outbound.runtime-D1d2rg_z.js} +15 -15
- package/dist/{sandbox-CgTcwizP.js → sandbox-C-8JxFW5.js} +18 -18
- package/dist/{sandbox-cli-56gCyo4f.js → sandbox-cli-xIBSXLbp.js} +25 -25
- package/dist/{secrets-cli-BjzX5BIS.js → secrets-cli-DwpF8ldn.js} +11 -11
- package/dist/{security-cli-C8_7pezc.js → security-cli-BjfOTh6K.js} +42 -42
- package/dist/{send-BhJJuiPi.js → send-BzRMouwD.js} +4 -4
- package/dist/{send-BCdpg1w2.js → send-Cp2_MKSV.js} +5 -5
- package/dist/{send-DDvvsvcJ.js → send-D2Kyg_GY.js} +11 -11
- package/dist/{send-CkFo9xha.js → send-DrEo-BBc.js} +6 -6
- package/dist/{send-B1C9OCt2.js → send-NBLtGiEh.js} +8 -8
- package/dist/{server-EsF-rWXM.js → server-Cz0R7Scf.js} +20 -20
- package/dist/{server-context-DAejIBKi.js → server-context-vco06zxO.js} +12 -12
- package/dist/{server-lifecycle-C0IxrwRk.js → server-lifecycle-BnUgXA5X.js} +2 -2
- package/dist/{server-middleware-B8_ZaIoM.js → server-middleware-D5lrCTcL.js} +1 -1
- package/dist/{server-node-events-1jnvsPrM.js → server-node-events-BTTa3-DI.js} +74 -74
- package/dist/{service-T5lT7h-M.js → service-B6Pm7AZA.js} +15 -15
- package/dist/{session-XvQQBDSC.js → session-CDSphrCx.js} +1 -1
- package/dist/{session-utils-CDs6jjz-.js → session-utils-LerBXiBL.js} +6 -6
- package/dist/{sessions-JCqDw8Bf.js → sessions-C7q1EhRK.js} +4 -4
- package/dist/{sessions-D4pBAOV-.js → sessions-UwbRBc7C.js} +15 -15
- package/dist/{shared-BrmHcYtZ.js → shared-BVq1q5D-.js} +1 -1
- package/dist/{shared-DaWK788E.js → shared-sIizRbI9.js} +3 -3
- package/dist/{skill-commands-DDRb6be1.js → skill-commands-CeEZlRJj.js} +5 -5
- package/dist/{skill-scanner-BdA-XFky.js → skill-scanner-DGx7tLvP.js} +6 -6
- package/dist/{skills-Dde3dh7M.js → skills-B16i2mme.js} +3 -3
- package/dist/{skills-cli-hPtKeBYo.js → skills-cli-COBPySVc.js} +5 -5
- package/dist/{skills-install-BG5c8jOQ.js → skills-install-CEgXF7D3.js} +6 -6
- package/dist/{skills-status-Cl0jR0kA.js → skills-status-BGvLXtop.js} +1 -1
- package/dist/{slash-commands.runtime-WyW5W0r3.js → slash-commands.runtime-BLl455Ha.js} +11 -11
- package/dist/slash-dispatch.runtime-BtsEX-_Q.js +114 -0
- package/dist/{slash-dispatch.runtime-BP2D7cZ8.js → slash-dispatch.runtime-DGex1-6v.js} +6 -6
- package/dist/{slash-skill-commands.runtime-DCZQC-hJ.js → slash-skill-commands.runtime-NP-EeAgb.js} +15 -15
- package/dist/{status-KrF4yDJE.js → status-4fmTPmZ8.js} +27 -27
- package/dist/{status.update-ovXdI8fy.js → status.update-BincwEhI.js} +2 -2
- package/dist/{store-OqcrqyHY.js → store-C4eyKOP_.js} +5 -5
- package/dist/{subagent-registry-CqQCPU35.js → subagent-registry-B29QoX6u.js} +149 -149
- package/dist/subagent-registry-runtime-ChT29jt0.js +114 -0
- package/dist/{subagent-registry-runtime-DDIUIA48.js → subagent-registry-runtime-DUQVA-gN.js} +6 -6
- package/dist/{system-cli-C6XjjyMr.js → system-cli-DeCdNdxg.js} +9 -9
- package/dist/{system-run-command-B1auaqvg.js → system-run-command-DVel5yZQ.js} +1 -1
- package/dist/{systemd-CvSjUuUT.js → systemd-BPu08aN2.js} +9 -9
- package/dist/{systemd-hints-DPrvbOr-.js → systemd-hints-PEGoMeNi.js} +6 -6
- package/dist/{systemd-linger-DWtUqeeE.js → systemd-linger-ckxguBpS.js} +1 -1
- package/dist/{tables-BSWzRw5b.js → tables-CM4RCywz.js} +1 -1
- package/dist/{tailnet-Bdvg29Ll.js → tailnet-D8ZmZFEq.js} +1 -1
- package/dist/{plugin-sdk/target-errors-BInUjyyh.js → target-errors-Dq-K3j_S.js} +4 -4
- package/dist/{tool-images-J7V8AfTu.js → tool-images-C96-GuZE.js} +1 -1
- package/dist/{tui-DlcwmY1x.js → tui-Cby-FNU6.js} +6 -6
- package/dist/{tui-cli-zm_Sa4E5.js → tui-cli-BpgQL5Pu.js} +32 -32
- package/dist/{update-Gbhw9u0F.js → update-DNmbn7VE.js} +3 -3
- package/dist/{update-cli-Co-CAt0w.js → update-cli-kVzXT8I-.js} +104 -104
- package/dist/{update-runner-kKiJKth8.js → update-runner-C-d9Tjog.js} +16 -16
- package/dist/{web-Drf25Yd-.js → web-BlqPhzy5.js} +6 -6
- package/dist/web-CrLnsppN.js +118 -0
- package/dist/{webhooks-cli-B-O0TVtX.js → webhooks-cli-BeC7vAYz.js} +6 -6
- package/dist/{whatsapp-actions-DaNP01Yk.js → whatsapp-actions-oSO9PcWD.js} +17 -17
- package/dist/{with-timeout-xp4bBUMy.js → with-timeout-YDfOtKvh.js} +3 -3
- package/dist/{workspace-BXI1yRZ5.js → workspace-CZkOfauh.js} +1 -1
- package/dist/{workspace-dirs-BY9k_sye.js → workspace-dirs-BSD3q0pa.js} +1 -1
- package/dist/{wsl-CvQfS6aU.js → wsl-CsGe5QCP.js} +2 -2
- package/package.json +1 -1
- package/skills/binance-address-info/SKILL.md +14 -13
- package/skills/binance-market-rank/SKILL.md +5 -1
- package/skills/binance-meme-rush/SKILL.md +3 -0
- package/skills/binance-spot/SKILL.md +17 -0
- package/skills/binance-token-audit/SKILL.md +8 -7
- package/skills/binance-token-info/SKILL.md +4 -1
- package/skills/binance-trading-signal/SKILL.md +19 -19
- package/dist/deliver-runtime-B5yIMxQR.js +0 -61
- package/dist/deps-send-discord.runtime-sLYAyx_-.js +0 -36
- package/dist/deps-send-imessage.runtime-2cWGJS5r.js +0 -35
- package/dist/deps-send-signal.runtime-kNxDQhbE.js +0 -34
- package/dist/deps-send-slack.runtime-D3QFxyKO.js +0 -32
- package/dist/deps-send-whatsapp.runtime-CHgCReeR.js +0 -119
- package/dist/image-runtime-C0VvqoAb.js +0 -55
- package/dist/plugin-sdk/deliver-runtime-BEDNR6MJ.js +0 -32
- package/dist/plugin-sdk/deliver-runtime-DzqXq4YW.js +0 -32
- package/dist/plugin-sdk/deps-send-discord.runtime-BWZWUTzd.js +0 -23
- package/dist/plugin-sdk/deps-send-discord.runtime-C1PlirFk.js +0 -23
- package/dist/plugin-sdk/deps-send-imessage.runtime-BbcpP4Hy.js +0 -22
- package/dist/plugin-sdk/deps-send-imessage.runtime-DNY09ba8.js +0 -22
- package/dist/plugin-sdk/deps-send-signal.runtime-B3BJZMQw.js +0 -21
- package/dist/plugin-sdk/deps-send-signal.runtime-DnuZ-6OX.js +0 -21
- package/dist/plugin-sdk/deps-send-slack.runtime-C-K73-e_.js +0 -19
- package/dist/plugin-sdk/deps-send-slack.runtime-DpTjKhX1.js +0 -19
- package/dist/plugin-sdk/deps-send-telegram.runtime-B47VZANU.js +0 -24
- package/dist/plugin-sdk/deps-send-telegram.runtime-Ddp3k4bN.js +0 -24
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-CbVoeht-.js +0 -57
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-UC-3al_B.js +0 -57
- package/dist/plugin-sdk/image-runtime-BfyyxB88.js +0 -25
- package/dist/plugin-sdk/image-runtime-Dduz79Jm.js +0 -25
- package/dist/plugin-sdk/manager-runtime-CcDuKcL3.js +0 -15
- package/dist/plugin-sdk/manager-runtime-PlVcxBdF.js +0 -15
- package/dist/plugin-sdk/pi-model-discovery-runtime-CF3YRFcs.js +0 -8
- package/dist/plugin-sdk/pi-model-discovery-runtime-CgCuSp4o.js +0 -8
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-CBdNprU2.js +0 -10
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-D6QQrKEg.js +0 -10
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-C9sD41-7.js +0 -19
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-DJk9RY4Z.js +0 -19
- package/dist/plugin-sdk/slash-commands.runtime-BKVp7-z6.js +0 -13
- package/dist/plugin-sdk/slash-commands.runtime-UF19zDim.js +0 -13
- package/dist/plugin-sdk/slash-dispatch.runtime-CSdhHD27.js +0 -52
- package/dist/plugin-sdk/slash-dispatch.runtime-CtUAEJtN.js +0 -52
- package/dist/plugin-sdk/slash-skill-commands.runtime-B9xCsuLJ.js +0 -16
- package/dist/plugin-sdk/slash-skill-commands.runtime-Du7AGDaV.js +0 -16
- package/dist/plugin-sdk/subagent-registry-runtime-BkYg4qeD.js +0 -52
- package/dist/plugin-sdk/subagent-registry-runtime-C4cuhBu-.js +0 -52
- package/dist/plugin-sdk/web-Btk9r9Ct.js +0 -56
- package/dist/plugin-sdk/web-a-YsDYgy.js +0 -56
- package/dist/register.configure-Cu6y9WMa.js +0 -165
- package/dist/slash-dispatch.runtime-e_hnJMYz.js +0 -114
- package/dist/subagent-registry-runtime-DZ2NcDAS.js +0 -114
- package/dist/web-Bx-fQR1C.js +0 -118
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import { f as resolveLegacyStateDirs, g as resolveStateDir, m as resolveOAuthDir, p as resolveNewStateDir, t as CONFIG_PATH } from "./paths-BMo6kTge.js";
|
|
2
|
-
import { Fn as resolveSlackNativeStreaming, I as migrateLegacyConfig, In as resolveSlackStreamingMode, Ln as resolveTelegramPreviewStreamMode, Mn as formatSlackStreamingBooleanMigrationMessage, Pn as resolveDiscordPreviewStreamMode, Qt as normalizeTrustedSafeBinDirs, V as readConfigFileSnapshot, Xt as isTrustedSafeBinPath, Yt as getTrustedSafeBinDirs, jn as formatSlackStreamModeMigrationMessage, ln as resolveCommandResolutionFromArgv, q as OpenClawSchema } from "./auth-profiles-
|
|
2
|
+
import { Fn as resolveSlackNativeStreaming, I as migrateLegacyConfig, In as resolveSlackStreamingMode, Ln as resolveTelegramPreviewStreamMode, Mn as formatSlackStreamingBooleanMigrationMessage, Pn as resolveDiscordPreviewStreamMode, Qt as normalizeTrustedSafeBinDirs, V as readConfigFileSnapshot, Xt as isTrustedSafeBinPath, Yt as getTrustedSafeBinDirs, jn as formatSlackStreamModeMigrationMessage, ln as resolveCommandResolutionFromArgv, q as OpenClawSchema } from "./auth-profiles-yB_p54Kf.js";
|
|
3
3
|
import { t as formatCliCommand } from "./command-format-CLEQe4bk.js";
|
|
4
|
-
import { d as resolveDefaultAgentId } from "./agent-scope-
|
|
4
|
+
import { d as resolveDefaultAgentId } from "./agent-scope-BGsA4zEf.js";
|
|
5
5
|
import { _ as normalizeAccountId, c as normalizeAgentId, g as DEFAULT_ACCOUNT_ID, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, v as normalizeOptionalAccountId } from "./session-key-k6urs9r-.js";
|
|
6
6
|
import { g as resolveHomeDir, u as isRecord } from "./utils-cwpAMi-t.js";
|
|
7
7
|
import { l as normalizeChatChannelId } from "./registry-BrR1Dq5T.js";
|
|
8
|
-
import { f as parseToolsBySenderTypedKey } from "./dock-
|
|
9
|
-
import { Q as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-
|
|
10
|
-
import { d as formatChannelAccountsDefaultPath, f as formatSetExplicitDefaultInstruction, l as resolveTelegramAccount, p as formatSetExplicitDefaultToConfiguredInstruction, s as listTelegramAccountIds } from "./plugins-
|
|
11
|
-
import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-
|
|
12
|
-
import { i as readChannelAllowFromStore } from "./pairing-store-
|
|
13
|
-
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-
|
|
8
|
+
import { f as parseToolsBySenderTypedKey } from "./dock-DjC0vgOm.js";
|
|
9
|
+
import { Q as canonicalizeMainSessionAlias, l as saveSessionStore } from "./sessions-UwbRBc7C.js";
|
|
10
|
+
import { d as formatChannelAccountsDefaultPath, f as formatSetExplicitDefaultInstruction, l as resolveTelegramAccount, p as formatSetExplicitDefaultToConfiguredInstruction, s as listTelegramAccountIds } from "./plugins-DO_6iMZV.js";
|
|
11
|
+
import { r as resolveMergedSafeBinProfileFixtures, t as listInterpreterLikeSafeBins } from "./exec-safe-bin-runtime-policy-ukabtnTn.js";
|
|
12
|
+
import { i as readChannelAllowFromStore } from "./pairing-store-B_UHGVGM.js";
|
|
13
|
+
import { t as applyPluginAutoEnable } from "./plugin-auto-enable-DFhRs_Ha.js";
|
|
14
14
|
import { t as collectProviderDangerousNameMatchingScopes } from "./dangerous-name-matching-CXdnb6je.js";
|
|
15
15
|
import { r as shouldMoveSingleAccountChannelKey, t as fetchTelegramChatId } from "./api-D_ieZ9ip.js";
|
|
16
16
|
import { t as note } from "./note-nDlrTKjH.js";
|
|
17
|
-
import { t as isWithinDir } from "./path-safety-
|
|
18
|
-
import { n as formatConfigIssueLines } from "./issue-format-
|
|
17
|
+
import { t as isWithinDir } from "./path-safety-BjIM4N4t.js";
|
|
18
|
+
import { n as formatConfigIssueLines } from "./issue-format-DEHEwGJB.js";
|
|
19
19
|
import { a as isMattermostMutableAllowEntry, c as normalizeTelegramAllowFromEntry, i as isMSTeamsMutableAllowEntry, n as isGoogleChatMutableAllowEntry, o as isSlackMutableAllowEntry, r as isIrcMutableAllowEntry, s as isNumericTelegramUserId, t as isDiscordMutableAllowEntry } from "./mutable-allowlist-detectors-DHXBcz_e.js";
|
|
20
20
|
import os from "node:os";
|
|
21
21
|
import path from "node:path";
|
|
22
22
|
import fs from "node:fs";
|
|
23
23
|
import JSON5 from "json5";
|
|
24
|
-
import
|
|
24
|
+
import fsPromises from "node:fs/promises";
|
|
25
25
|
|
|
26
26
|
//#region src/commands/doctor-legacy-config.ts
|
|
27
27
|
function normalizeCompatibilityConfigValues(cfg) {
|
|
@@ -2134,7 +2134,7 @@ async function maybeMigrateLegacyConfig() {
|
|
|
2134
2134
|
const targetDir = path.join(home, ".openclaw");
|
|
2135
2135
|
const targetPath = path.join(targetDir, "openclaw.json");
|
|
2136
2136
|
try {
|
|
2137
|
-
await
|
|
2137
|
+
await fsPromises.access(targetPath);
|
|
2138
2138
|
return changes;
|
|
2139
2139
|
} catch {}
|
|
2140
2140
|
const legacyCandidates = [
|
|
@@ -2144,14 +2144,14 @@ async function maybeMigrateLegacyConfig() {
|
|
|
2144
2144
|
];
|
|
2145
2145
|
let legacyPath = null;
|
|
2146
2146
|
for (const candidate of legacyCandidates) try {
|
|
2147
|
-
await
|
|
2147
|
+
await fsPromises.access(candidate);
|
|
2148
2148
|
legacyPath = candidate;
|
|
2149
2149
|
break;
|
|
2150
2150
|
} catch {}
|
|
2151
2151
|
if (!legacyPath) return changes;
|
|
2152
|
-
await
|
|
2152
|
+
await fsPromises.mkdir(targetDir, { recursive: true });
|
|
2153
2153
|
try {
|
|
2154
|
-
await
|
|
2154
|
+
await fsPromises.copyFile(legacyPath, targetPath, fsPromises.constants.COPYFILE_EXCL);
|
|
2155
2155
|
changes.push(`Migrated legacy config: ${legacyPath} -> ${targetPath}`);
|
|
2156
2156
|
} catch {}
|
|
2157
2157
|
return changes;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { l as normalizeChatChannelId } from "./registry-BrR1Dq5T.js";
|
|
2
|
-
import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-
|
|
2
|
+
import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-DFhRs_Ha.js";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/toggle-config.ts
|
|
5
5
|
function setPluginEnabledInConfig(config, pluginId, enabled) {
|
package/dist/entry.js
CHANGED
|
@@ -370,7 +370,7 @@ if (!isMainModule({
|
|
|
370
370
|
}
|
|
371
371
|
function tryHandleRootHelpFastPath(argv) {
|
|
372
372
|
if (!isRootHelpInvocation(argv)) return false;
|
|
373
|
-
import("./program-
|
|
373
|
+
import("./program-DJShjgis.js").then(({ buildProgram }) => {
|
|
374
374
|
buildProgram().outputHelp();
|
|
375
375
|
}).catch((error) => {
|
|
376
376
|
console.error("[openclaw] Failed to display help:", error instanceof Error ? error.stack ?? error.message : error);
|
|
@@ -389,7 +389,7 @@ if (!isMainModule({
|
|
|
389
389
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
390
390
|
process$1.argv = parsed.argv;
|
|
391
391
|
}
|
|
392
|
-
if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-
|
|
392
|
+
if (!tryHandleRootVersionFastPath(process$1.argv) && !tryHandleRootHelpFastPath(process$1.argv)) import("./run-main-B19t_gLX.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
393
393
|
console.error("[openclaw] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
394
394
|
process$1.exitCode = 1;
|
|
395
395
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $t as validateSafeBinArgv, Xt as isTrustedSafeBinPath, an as splitCommandChain, cn as resolveAllowlistCandidatePath, fn as extractShellWrapperInlineCommand, hn as isShellWrapperExecutable, ln as resolveCommandResolutionFromArgv, mn as isDispatchWrapperExecutable, on as DEFAULT_SAFE_BINS, rn as isWindowsPlatform, sn as matchAllowlist, tn as analyzeShellCommand, vn as unwrapKnownDispatchWrapperInvocation, wn as SAFE_BIN_PROFILES, yn as unwrapKnownShellMultiplexerInvocation } from "./auth-profiles-
|
|
1
|
+
import { $t as validateSafeBinArgv, Xt as isTrustedSafeBinPath, an as splitCommandChain, cn as resolveAllowlistCandidatePath, fn as extractShellWrapperInlineCommand, hn as isShellWrapperExecutable, ln as resolveCommandResolutionFromArgv, mn as isDispatchWrapperExecutable, on as DEFAULT_SAFE_BINS, rn as isWindowsPlatform, sn as matchAllowlist, tn as analyzeShellCommand, vn as unwrapKnownDispatchWrapperInvocation, wn as SAFE_BIN_PROFILES, yn as unwrapKnownShellMultiplexerInvocation } from "./auth-profiles-yB_p54Kf.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-approvals-allowlist.ts
|
|
@@ -2,10 +2,10 @@ import { f as isRich, p as theme } from "./globals-d3aR1MYC.js";
|
|
|
2
2
|
import "./paths-BMo6kTge.js";
|
|
3
3
|
import { d as defaultRuntime } from "./subsystem-Cfn2Pryx.js";
|
|
4
4
|
import "./boolean-DtWR5bt3.js";
|
|
5
|
-
import "./auth-profiles-
|
|
6
|
-
import "./agent-scope-
|
|
5
|
+
import "./auth-profiles-yB_p54Kf.js";
|
|
6
|
+
import "./agent-scope-BGsA4zEf.js";
|
|
7
7
|
import "./utils-cwpAMi-t.js";
|
|
8
|
-
import "./openclaw-root-
|
|
8
|
+
import "./openclaw-root-BU3lu8pM.js";
|
|
9
9
|
import "./logger-DB-PHqB2.js";
|
|
10
10
|
import "./exec-B45rafWZ.js";
|
|
11
11
|
import "./registry-BrR1Dq5T.js";
|
|
@@ -13,26 +13,26 @@ import "./github-copilot-token-Byc_YVYE.js";
|
|
|
13
13
|
import "./host-env-security-lcjXF83D.js";
|
|
14
14
|
import "./version-DdJhsIqk.js";
|
|
15
15
|
import "./env-vars-mSSOl7Rv.js";
|
|
16
|
-
import "./manifest-registry-
|
|
16
|
+
import "./manifest-registry-CzoQ4XAn.js";
|
|
17
17
|
import "./message-channel-CXgeX9no.js";
|
|
18
|
-
import "./client-
|
|
19
|
-
import "./call-
|
|
18
|
+
import "./client-Kkj2aHgb.js";
|
|
19
|
+
import "./call-CeJbHmC5.js";
|
|
20
20
|
import "./pairing-token-BXrId5bQ.js";
|
|
21
|
-
import "./net-
|
|
22
|
-
import "./tailnet-
|
|
23
|
-
import "./exec-approvals-allowlist-
|
|
21
|
+
import "./net-CfwQaj6f.js";
|
|
22
|
+
import "./tailnet-D8ZmZFEq.js";
|
|
23
|
+
import "./exec-approvals-allowlist-CSsG6lrG.js";
|
|
24
24
|
import { n as formatTimeAgo } from "./format-relative-Czf5fUjn.js";
|
|
25
25
|
import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-BXpO0clf.js";
|
|
26
26
|
import { t as formatDocsLink } from "./links-BVDZVrXu.js";
|
|
27
27
|
import "./progress-BCOseYmX.js";
|
|
28
|
-
import { n as callGatewayFromCli } from "./gateway-rpc-
|
|
29
|
-
import "./systemd-
|
|
30
|
-
import "./service-
|
|
28
|
+
import { n as callGatewayFromCli } from "./gateway-rpc-BLIo1-nR.js";
|
|
29
|
+
import "./systemd-BPu08aN2.js";
|
|
30
|
+
import "./service-B6Pm7AZA.js";
|
|
31
31
|
import { t as renderTable } from "./table-BR-agoRi.js";
|
|
32
|
-
import { t as describeUnknownError } from "./shared-
|
|
33
|
-
import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-
|
|
32
|
+
import { t as describeUnknownError } from "./shared-BVq1q5D-.js";
|
|
33
|
+
import { a as resolveNodeId, r as nodesCallOpts } from "./rpc-CA7yGckN.js";
|
|
34
34
|
import JSON5 from "json5";
|
|
35
|
-
import
|
|
35
|
+
import fsPromises from "node:fs/promises";
|
|
36
36
|
|
|
37
37
|
//#region src/cli/exec-approvals-cli.ts
|
|
38
38
|
async function readStdin() {
|
|
@@ -329,7 +329,7 @@ function registerExecApprovalsCli(program) {
|
|
|
329
329
|
if (!opts.file && !opts.stdin) exitWithError("Provide --file or --stdin.");
|
|
330
330
|
if (opts.file && opts.stdin) exitWithError("Use either --file or --stdin (not both).");
|
|
331
331
|
const { source, nodeId, targetLabel, baseHash } = await loadWritableSnapshotTarget(opts);
|
|
332
|
-
const raw = opts.stdin ? await readStdin() : await
|
|
332
|
+
const raw = opts.stdin ? await readStdin() : await fsPromises.readFile(String(opts.file), "utf8");
|
|
333
333
|
let file;
|
|
334
334
|
try {
|
|
335
335
|
file = JSON5.parse(raw);
|
package/dist/{exec-safe-bin-runtime-policy-nkIQWrRj.js → exec-safe-bin-runtime-policy-ukabtnTn.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { En as resolveSafeBinProfiles, Qt as normalizeTrustedSafeBinDirs, Tn as normalizeSafeBinProfileFixtures, Yt as getTrustedSafeBinDirs, Zt as listWritableExplicitTrustedSafeBinDirs } from "./auth-profiles-
|
|
2
|
-
import { i as resolveSafeBins } from "./exec-approvals-allowlist-
|
|
1
|
+
import { En as resolveSafeBinProfiles, Qt as normalizeTrustedSafeBinDirs, Tn as normalizeSafeBinProfileFixtures, Yt as getTrustedSafeBinDirs, Zt as listWritableExplicitTrustedSafeBinDirs } from "./auth-profiles-yB_p54Kf.js";
|
|
2
|
+
import { i as resolveSafeBins } from "./exec-approvals-allowlist-CSsG6lrG.js";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-safe-bin-runtime-policy.ts
|
|
5
5
|
const INTERPRETER_LIKE_SAFE_BINS = new Set([
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { k as resolvePreferredOpenClawTmpDir } from "./globals-d3aR1MYC.js";
|
|
2
2
|
import { g as resolveStateDir } from "./paths-BMo6kTge.js";
|
|
3
|
-
import { u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
4
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
5
|
-
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
3
|
+
import { u as resolveAgentWorkspaceDir } from "./agent-scope-BGsA4zEf.js";
|
|
4
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-Ba5soKsa.js";
|
|
5
|
+
import { n as withStrictGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-0V5i-cZz.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
8
8
|
//#region src/media/local-roots.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as logWarn } from "./logger-DB-PHqB2.js";
|
|
2
|
-
import { i as createPinnedDispatcher, n as SsrFBlockedError, r as closeDispatcher, s as resolvePinnedHostnameWithPolicy, t as hasProxyEnvConfigured } from "./proxy-env-
|
|
2
|
+
import { i as createPinnedDispatcher, n as SsrFBlockedError, r as closeDispatcher, s as resolvePinnedHostnameWithPolicy, t as hasProxyEnvConfigured } from "./proxy-env-C61VbSzS.js";
|
|
3
3
|
import { t as bindAbortRelay } from "./fetch-timeout-Mawkd1Br.js";
|
|
4
4
|
import { EnvHttpProxyAgent } from "undici";
|
|
5
5
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { _ as expandHomePrefix } from "./paths-BMo6kTge.js";
|
|
2
|
-
import { d as hasNodeErrorCode, f as isNotFoundPathError, m as isSymlinkOpenError, p as isPathInside, s as sameFileIdentity } from "./openclaw-root-
|
|
2
|
+
import { d as hasNodeErrorCode, f as isNotFoundPathError, m as isSymlinkOpenError, p as isPathInside, s as sameFileIdentity } from "./openclaw-root-BU3lu8pM.js";
|
|
3
3
|
import { i as logWarn } from "./logger-DB-PHqB2.js";
|
|
4
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
4
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-DhIwq92y.js";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import { constants } from "node:fs";
|
|
8
|
-
import
|
|
8
|
+
import fsPromises from "node:fs/promises";
|
|
9
9
|
import { randomUUID } from "node:crypto";
|
|
10
10
|
import { pipeline } from "node:stream/promises";
|
|
11
11
|
|
|
@@ -25,19 +25,19 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
|
|
|
25
25
|
async function expandRelativePathWithHome(relativePath) {
|
|
26
26
|
let home = process.env.HOME || process.env.USERPROFILE || os.homedir();
|
|
27
27
|
try {
|
|
28
|
-
home = await
|
|
28
|
+
home = await fsPromises.realpath(home);
|
|
29
29
|
} catch {}
|
|
30
30
|
return expandHomePrefix(relativePath, { home });
|
|
31
31
|
}
|
|
32
32
|
async function openVerifiedLocalFile(filePath, options) {
|
|
33
33
|
try {
|
|
34
|
-
if ((await
|
|
34
|
+
if ((await fsPromises.lstat(filePath)).isDirectory()) throw new SafeOpenError("not-file", "not a file");
|
|
35
35
|
} catch (err) {
|
|
36
36
|
if (err instanceof SafeOpenError) throw err;
|
|
37
37
|
}
|
|
38
38
|
let handle;
|
|
39
39
|
try {
|
|
40
|
-
handle = await
|
|
40
|
+
handle = await fsPromises.open(filePath, OPEN_READ_FLAGS);
|
|
41
41
|
} catch (err) {
|
|
42
42
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
|
|
43
43
|
if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
|
|
@@ -45,13 +45,13 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
45
45
|
throw err;
|
|
46
46
|
}
|
|
47
47
|
try {
|
|
48
|
-
const [stat, lstat] = await Promise.all([handle.stat(),
|
|
48
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fsPromises.lstat(filePath)]);
|
|
49
49
|
if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
|
|
50
50
|
if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
|
|
51
51
|
if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
52
52
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
|
|
53
|
-
const realPath = await
|
|
54
|
-
const realStat = await
|
|
53
|
+
const realPath = await fsPromises.realpath(filePath);
|
|
54
|
+
const realStat = await fsPromises.stat(realPath);
|
|
55
55
|
if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
56
56
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
57
57
|
return {
|
|
@@ -69,7 +69,7 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
69
69
|
async function resolvePathWithinRoot(params) {
|
|
70
70
|
let rootReal;
|
|
71
71
|
try {
|
|
72
|
-
rootReal = await
|
|
72
|
+
rootReal = await fsPromises.realpath(params.rootDir);
|
|
73
73
|
} catch (err) {
|
|
74
74
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
|
|
75
75
|
throw err;
|
|
@@ -170,7 +170,7 @@ function buildAtomicWriteTempPath(targetPath) {
|
|
|
170
170
|
return path.join(dir, `.${base}.${process.pid}.${randomUUID()}.tmp`);
|
|
171
171
|
}
|
|
172
172
|
async function writeTempFileForAtomicReplace(params) {
|
|
173
|
-
const tempHandle = await
|
|
173
|
+
const tempHandle = await fsPromises.open(params.tempPath, OPEN_WRITE_CREATE_FLAGS, params.mode);
|
|
174
174
|
try {
|
|
175
175
|
if (typeof params.data === "string") await tempHandle.writeFile(params.data, params.encoding ?? "utf8");
|
|
176
176
|
else await tempHandle.writeFile(params.data);
|
|
@@ -180,7 +180,7 @@ async function writeTempFileForAtomicReplace(params) {
|
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
182
|
async function verifyAtomicWriteResult(params) {
|
|
183
|
-
const rootWithSep = ensureTrailingSep(await
|
|
183
|
+
const rootWithSep = ensureTrailingSep(await fsPromises.realpath(params.rootDir));
|
|
184
184
|
const opened = await openVerifiedLocalFile(params.targetPath, { rejectHardlinks: true });
|
|
185
185
|
try {
|
|
186
186
|
if (!sameFileIdentity(opened.stat, params.expectedStat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
@@ -191,13 +191,13 @@ async function verifyAtomicWriteResult(params) {
|
|
|
191
191
|
}
|
|
192
192
|
async function resolveOpenedFileRealPathForHandle(handle, ioPath) {
|
|
193
193
|
try {
|
|
194
|
-
return await
|
|
194
|
+
return await fsPromises.realpath(ioPath);
|
|
195
195
|
} catch (err) {
|
|
196
196
|
if (!isNotFoundPathError(err)) throw err;
|
|
197
197
|
}
|
|
198
198
|
const fdCandidates = process.platform === "linux" ? [`/proc/self/fd/${handle.fd}`, `/dev/fd/${handle.fd}`] : process.platform === "win32" ? [] : [`/dev/fd/${handle.fd}`];
|
|
199
199
|
for (const fdPath of fdCandidates) try {
|
|
200
|
-
return await
|
|
200
|
+
return await fsPromises.realpath(fdPath);
|
|
201
201
|
} catch {}
|
|
202
202
|
throw new SafeOpenError("path-mismatch", "unable to resolve opened file path");
|
|
203
203
|
}
|
|
@@ -212,10 +212,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
212
212
|
} catch (err) {
|
|
213
213
|
throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
|
|
214
214
|
}
|
|
215
|
-
if (params.mkdir !== false) await
|
|
215
|
+
if (params.mkdir !== false) await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
|
|
216
216
|
let ioPath = resolved;
|
|
217
217
|
try {
|
|
218
|
-
const resolvedRealPath = await
|
|
218
|
+
const resolvedRealPath = await fsPromises.realpath(resolved);
|
|
219
219
|
if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
220
220
|
ioPath = resolvedRealPath;
|
|
221
221
|
} catch (err) {
|
|
@@ -227,10 +227,10 @@ async function openWritableFileWithinRoot(params) {
|
|
|
227
227
|
let createdForWrite = false;
|
|
228
228
|
try {
|
|
229
229
|
try {
|
|
230
|
-
handle = await
|
|
230
|
+
handle = await fsPromises.open(ioPath, OPEN_WRITE_EXISTING_FLAGS, fileMode);
|
|
231
231
|
} catch (err) {
|
|
232
232
|
if (!isNotFoundPathError(err)) throw err;
|
|
233
|
-
handle = await
|
|
233
|
+
handle = await fsPromises.open(ioPath, OPEN_WRITE_CREATE_FLAGS, fileMode);
|
|
234
234
|
createdForWrite = true;
|
|
235
235
|
}
|
|
236
236
|
} catch (err) {
|
|
@@ -244,7 +244,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
244
244
|
if (!stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
245
245
|
if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
246
246
|
try {
|
|
247
|
-
const lstat = await
|
|
247
|
+
const lstat = await fsPromises.lstat(ioPath);
|
|
248
248
|
if (lstat.isSymbolicLink() || !lstat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
249
249
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
250
250
|
} catch (err) {
|
|
@@ -252,7 +252,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
252
252
|
}
|
|
253
253
|
const realPath = await resolveOpenedFileRealPathForHandle(handle, ioPath);
|
|
254
254
|
openedRealPath = realPath;
|
|
255
|
-
const realStat = await
|
|
255
|
+
const realStat = await fsPromises.stat(realPath);
|
|
256
256
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
257
257
|
if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
258
258
|
if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("outside-workspace", "file is outside workspace root");
|
|
@@ -267,7 +267,7 @@ async function openWritableFileWithinRoot(params) {
|
|
|
267
267
|
const cleanupCreatedPath = createdForWrite && err instanceof SafeOpenError;
|
|
268
268
|
const cleanupPath = openedRealPath ?? ioPath;
|
|
269
269
|
await handle.close().catch(() => {});
|
|
270
|
-
if (cleanupCreatedPath) await
|
|
270
|
+
if (cleanupCreatedPath) await fsPromises.rm(cleanupPath, { force: true }).catch(() => {});
|
|
271
271
|
throw err;
|
|
272
272
|
}
|
|
273
273
|
}
|
|
@@ -290,7 +290,7 @@ async function writeFileWithinRoot(params) {
|
|
|
290
290
|
encoding: params.encoding,
|
|
291
291
|
mode: targetMode || 384
|
|
292
292
|
});
|
|
293
|
-
await
|
|
293
|
+
await fsPromises.rename(tempPath, destinationPath);
|
|
294
294
|
tempPath = null;
|
|
295
295
|
try {
|
|
296
296
|
await verifyAtomicWriteResult({
|
|
@@ -303,7 +303,7 @@ async function writeFileWithinRoot(params) {
|
|
|
303
303
|
throw err;
|
|
304
304
|
}
|
|
305
305
|
} finally {
|
|
306
|
-
if (tempPath) await
|
|
306
|
+
if (tempPath) await fsPromises.rm(tempPath, { force: true }).catch(() => {});
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
async function copyFileWithinRoot(params) {
|
|
@@ -331,7 +331,7 @@ async function copyFileWithinRoot(params) {
|
|
|
331
331
|
});
|
|
332
332
|
await pipeline(sourceStream, targetStream);
|
|
333
333
|
} catch (err) {
|
|
334
|
-
if (target?.createdForWrite) await
|
|
334
|
+
if (target?.createdForWrite) await fsPromises.rm(target.openedRealPath, { force: true }).catch(() => {});
|
|
335
335
|
throw err;
|
|
336
336
|
} finally {
|
|
337
337
|
if (!sourceClosedByStream) await source.handle.close().catch(() => {});
|