@visorcraft/idlehands 4.1.0 → 4.2.0
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/CHANGELOG.md +6 -0
- package/dist/{accounts-DsVN0UNw.js → accounts-3HS_UAhJ.js} +1 -1
- package/dist/{accounts-B8cGzkjD.js → accounts-BDVs8LTu.js} +1 -1
- package/dist/{accounts-D5tB_lO0.js → accounts-CIvVRRHb.js} +1 -1
- package/dist/{accounts-D-hQsUw-.js → accounts-DLTODa_Z.js} +1 -1
- package/dist/{accounts-D87a1Y_K.js → accounts-DgbTKQoW.js} +1 -1
- package/dist/{accounts-BQC_GRUB.js → accounts-Dk8mJIrQ.js} +6 -6
- package/dist/{acp-cli-BEHYc8ty.js → acp-cli-BEpWQbqb.js} +7 -7
- package/dist/{agent-scope-Bxq1eWbA.js → agent-scope-DyP_tr7s.js} +4 -4
- package/dist/{agent-scope-Bn39ugK4.js → agent-scope-RA0zXRpu.js} +18 -18
- package/dist/{agent-via-gateway-igDg7ko6.js → agent-via-gateway-C42kkKZI.js} +2 -2
- package/dist/{agent-via-gateway-CM7X6sKJ.js → agent-via-gateway-CUtzJXBE.js} +60 -60
- package/dist/{agent-via-gateway-B03q92bw.js → agent-via-gateway-CldlRczJ.js} +1 -1
- package/dist/{agent-via-gateway-bS6seBwg.js → agent-via-gateway-oMn0WfUq.js} +4 -4
- package/dist/{agents-DdTECKDf.js → agents-BfnnMO1i.js} +4 -4
- package/dist/{agents.config-D2EbQiOx.js → agents.config-BFfVBZMA.js} +1 -1
- package/dist/{agents.config-CPUPtcKt.js → agents.config-bWtpv0jP.js} +2 -2
- package/dist/{anton-ONYQUE8F.js → anton-CgpWkf5P.js} +32 -17
- package/dist/{anton-C7-Qxyij.js → anton-CoGaJdTU.js} +36 -21
- package/dist/{anton-D4vpCj_q.js → anton-DSS3RNo7.js} +32 -17
- package/dist/anton-DXL8jrY_.js +792 -0
- package/dist/{api-key-rotation-nXQVJErE.js → api-key-rotation-B-FTJm5p.js} +1 -1
- package/dist/{audio-preflight-qkU2lsDn.js → audio-preflight-CW8IH1lU.js} +35 -35
- package/dist/{audio-preflight-DzjXupNO.js → audio-preflight-Dl1TO10w.js} +31 -31
- package/dist/{audit-C5VPFgbJ.js → audit-CKeZnjft.js} +22 -22
- package/dist/{auth-choice-DVoPuwEs.js → auth-choice-BNofPyTK.js} +1 -1
- package/dist/{auth-choice-BDndThZZ.js → auth-choice-D12Wsf7w.js} +12 -12
- package/dist/{auth-choice-CQqV1VIf.js → auth-choice-Z7nPFxhP.js} +10 -10
- package/dist/{auth-choice.apply-helpers-pTqMTYmi.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
- package/dist/{auth-store-CMyrmmSF.js → auth-store-DDzIMy8_.js} +7 -7
- package/dist/{auth-store-Bb4aajHu.js → auth-store-DXT-l7fO.js} +12 -12
- package/dist/{auth-token-fKt_cHOj.js → auth-token-BJq87X3o.js} +1 -1
- package/dist/{banner-CFKoGAzN.js → banner-B1-kj-GW.js} +1 -1
- package/dist/{bindings-DZjkLUU_.js → bindings-B59Q7nsk.js} +1 -1
- package/dist/{bindings-CLZIJ0Eo.js → bindings-D3b5Fmc9.js} +2 -2
- package/dist/{browser-cli-qU0I-Gla.js → browser-cli-Ci6DpTnS.js} +11 -11
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +60 -60
- package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
- package/dist/bundled/command-logger/handler.js +3 -3
- package/dist/bundled/session-memory/handler.js +60 -60
- package/dist/{call-Du-oBD99.js → call-BpWhjuOg.js} +9 -9
- package/dist/{channel-account-context-B4nJPU2N.js → channel-account-context-CDbY5AIr.js} +5 -5
- package/dist/{channel-activity-DdL3RAv_.js → channel-activity-D_TMOGQ0.js} +3 -3
- package/dist/{channel-options-BU0E7BdU.js → channel-options-C5Iz9bes.js} +1 -1
- package/dist/{channel-options-B1cfZ5uQ.js → channel-options-CUP3A4VX.js} +3 -3
- package/dist/{channel-selection-3jUl-PyW.js → channel-selection-ZxRkxpuF.js} +1 -1
- package/dist/{channel-web-BDytDCrG.js → channel-web-CGXl1PnB.js} +2 -2
- package/dist/{channel-web-CzrJ-6X4.js → channel-web-CsUiKxQo.js} +22 -22
- package/dist/{channels-cli-DWaQsKP8.js → channels-cli-DK7TRLqX.js} +7 -7
- package/dist/{channels-cli-B4o-qohk.js → channels-cli-DmHSajZy.js} +88 -88
- package/dist/{channels-status-issues-hgASw9UA.js → channels-status-issues-CDpWjdI3.js} +1 -1
- package/dist/{chrome-CT_a9OgI.js → chrome-BcJB6PcM.js} +17 -17
- package/dist/{chrome-YguTEaLx.js → chrome-VBsQfIrt.js} +2 -2
- package/dist/{chunk-Djk-9JeT.js → chunk-CMpX7Jaz.js} +1 -1
- package/dist/{clawbot-cli-C5cDal-5.js → clawbot-cli-uFgYrysW.js} +5 -5
- package/dist/{cli-Hplv9sD1.js → cli-6eMKeewY.js} +2 -2
- package/dist/{cli-DXyOlvH2.js → cli-DEE_ketW.js} +70 -70
- package/dist/{client-Dl5EAvfO.js → client-DtnD-ee9.js} +1 -1
- package/dist/{command-registry-esizscE2.js → command-registry-BFTlzx6d.js} +10 -10
- package/dist/{commands-D3BU_t7G.js → commands-Dj5LalLo.js} +1 -1
- package/dist/{commands-registry-Cj4D_1tw.js → commands-registry-CURlRZQJ.js} +3 -3
- package/dist/{commands-registry-_TBHHpvt.js → commands-registry-j4vAzcF2.js} +5 -5
- package/dist/{completion-cli-c4blaZPQ.js → completion-cli-BbXgtvGY.js} +2 -2
- package/dist/{completion-cli-CXDILt8-.js → completion-cli-PBfCNWhv.js} +12 -12
- package/dist/{config-cli-D_mH5-FH.js → config-cli-BVJRkNhX.js} +6 -6
- package/dist/{config-cli-98ASrAou.js → config-cli-Q934shK6.js} +1 -1
- package/dist/{config-guard-DnAyuF6T.js → config-guard-BdsOumqh.js} +17 -17
- package/dist/{config-validation-DIomLMwH.js → config-validation-BvKX6fPw.js} +2 -2
- package/dist/{configure-PKG58EzI.js → configure-85ttW_lD.js} +16 -16
- package/dist/{configure-CKspMrI1.js → configure-BGAvA5a4.js} +3 -3
- package/dist/{control-ui-assets-CiaCDBvZ.js → control-ui-assets-C7ZpN9hN.js} +1 -1
- package/dist/{cron-cli-BIfVPc5K.js → cron-cli-DQsnGQKs.js} +12 -12
- package/dist/{daemon-cli-DpyQu0Dp.js → daemon-cli-DUg-s4LG.js} +11 -11
- package/dist/{daemon-install-DeqQiAad.js → daemon-install-CYPo4M1M.js} +4 -4
- package/dist/{daemon-install-helpers-Bug_GYuy.js → daemon-install-helpers-BZY9-jNW.js} +9 -9
- package/dist/{deliver-yTpXc5sv.js → deliver--kttnrER.js} +7 -7
- package/dist/{deliver-Db2xqgLg.js → deliver-BUiQ-9fE.js} +20 -20
- package/dist/{deps-CjWcQwlX.js → deps-AEDT3iDX.js} +1 -1
- package/dist/{deps-CC5E5LXB.js → deps-B4J8H6nI.js} +6 -6
- package/dist/{deps-BotXja4Z.js → deps-Bq7jJLyN.js} +6 -6
- package/dist/{deps-DR1eh_L_.js → deps-Ch6bZ8PI.js} +1 -1
- package/dist/{devices-cli-B7fkQKei.js → devices-cli-DKK65S9Z.js} +7 -7
- package/dist/{diagnostic-BvlZ0Sot.js → diagnostic-4owMk4vH.js} +1 -1
- package/dist/{diagnostics-CdUgLS0N.js → diagnostics-DmZbQ8Nc.js} +5 -5
- package/dist/{directory-cli-BAMS8f9U.js → directory-cli-Dz9iXeut.js} +9 -9
- package/dist/{dns-cli-BdxBk-k_.js → dns-cli-DD6hWsdc.js} +4 -4
- package/dist/{dock-ejUetwTC.js → dock-BgOmHcbh.js} +6 -6
- package/dist/{dock-CzF5XYGd.js → dock-Y96MzKuM.js} +4 -4
- package/dist/{docs-cli-SF7es4Zs.js → docs-cli-cHkrTB2e.js} +4 -4
- package/dist/{doctor-completion-Co_xszXC.js → doctor-completion-CN5Zujsa.js} +2 -2
- package/dist/{doctor-completion-DFr8_h-z.js → doctor-completion-Clh5CNUd.js} +1 -1
- package/dist/{doctor-config-flow-8qXzBx09.js → doctor-config-flow-Ck4oCjfl.js} +14 -14
- package/dist/{emergency-stop-ChBe32HN.js → emergency-stop-2v4bhRCE.js} +2 -2
- package/dist/{emergency-stop-DtVFxCO1.js → emergency-stop-BtasjDnU.js} +70 -70
- package/dist/emergency-stop-CVO75pTD.js +113 -0
- package/dist/{emergency-stop-CDozqde9.js → emergency-stop-D_bTOufu.js} +2 -2
- package/dist/{enable-DaA_orGN.js → enable-o_s6PBsC.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{env-q-PhWbb_.js → env-B5G1qwGc.js} +1 -1
- package/dist/{errors-C4SHjIZK.js → errors-C_0nm4TJ.js} +1 -1
- package/dist/{exec-approvals-allowlist-8AkOwwIr.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
- package/dist/{exec-approvals-cli-CbcJzCt0.js → exec-approvals-cli-D6XUzs4j.js} +15 -15
- package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
- package/dist/extensionAPI.js +2 -2
- package/dist/{fetch-guard-CcfDZXe9.js → fetch-guard-iuQsIjqN.js} +1 -1
- package/dist/{frontmatter-pTUG4Sx_.js → frontmatter-BOudmHMS.js} +2 -2
- package/dist/{fs-safe-2l05hI1Y.js → fs-safe-CYUaAFO9.js} +2 -2
- package/dist/{fs-safe-DNFrxDS-.js → fs-safe-_JQUGpZf.js} +15 -15
- package/dist/{gateway-cli-DjCBMnUT.js → gateway-cli-Cl7cEsHE.js} +9 -9
- package/dist/{gateway-cli-poVGdgAz.js → gateway-cli-DJm73Wou.js} +148 -148
- package/dist/{gateway-rpc-IpZymG6F.js → gateway-rpc-BBFG1T-M.js} +1 -1
- package/dist/{gemini-auth-DLSGffQK.js → gemini-auth-CIyaa44H.js} +2 -2
- package/dist/{github-copilot-token-BjmEQcmi.js → github-copilot-token-Dgt6cnsM.js} +7 -7
- package/dist/{health-lZsCLX6p.js → health-C6_Sa_ef.js} +13 -13
- package/dist/{health-HEN6Wk9G.js → health-D-b3jdnU.js} +1 -1
- package/dist/{hooks-cli-DFrttZGb.js → hooks-cli-BB25FyuN.js} +3 -3
- package/dist/{hooks-cli-EbzkZ1Xh.js → hooks-cli-BC3n8UYQ.js} +84 -84
- package/dist/{hooks-status-CPIWc_bx.js → hooks-status-DNGo2G8Q.js} +1 -1
- package/dist/{idlehands-root-DFL2GrNW.js → idlehands-root-B8cUs-5M.js} +8 -8
- package/dist/{image-Dlu13Ebx.js → image-D8b_rlQC.js} +6 -6
- package/dist/{image-C2JZiK-6.js → image-DSDEbSiO.js} +5 -5
- package/dist/{image-ops-J8P5zOFm.js → image-ops-BU-VdLZu.js} +2 -2
- package/dist/{image-ops-BkoEFRYH.js → image-ops-D1KtygWz.js} +11 -11
- package/dist/index.js +80 -80
- package/dist/{inspect-Dg16DMLn.js → inspect-ISQZuNM5.js} +4 -4
- package/dist/{install-safe-path-CNNMzJl9.js → install-safe-path-ChNR9pl6.js} +19 -19
- package/dist/{installs-ST3UaUVJ.js → installs-CNubze2L.js} +9 -9
- package/dist/{ir-BT5aAdU9.js → ir-B7IBoKLy.js} +5 -5
- package/dist/{ir-DV0Hszc8.js → ir-VncGpwA1.js} +6 -6
- package/dist/{lifecycle-core-DOScNyOv.js → lifecycle-core-B6UoqYTJ.js} +5 -5
- package/dist/llm-slug-generator.js +60 -60
- package/dist/{local-roots-d4y0lvs2.js → local-roots-KN4Hp1yZ.js} +5 -5
- package/dist/{local-roots-Cco87A2_.js → local-roots-q0xbefkf.js} +2 -2
- package/dist/{login-C2X0In6m.js → login-CFr5vJmR.js} +6 -6
- package/dist/{login-Dl_lsEHS.js → login-CfUhrgWT.js} +4 -4
- package/dist/{login-qr-C17PY0rr.js → login-qr-CFFFOjOl.js} +11 -11
- package/dist/{login-qr-B68cBRH0.js → login-qr-DBMsUxgL.js} +7 -7
- package/dist/{logs-cli-DHCG25JA.js → logs-cli-4VQ9Iwiw.js} +8 -8
- package/dist/{manager-CgzA1hKo.js → manager-BE_76jWB.js} +15 -15
- package/dist/{manager-BBeTPO2h.js → manager-BMAFgXyU.js} +13 -13
- package/dist/{manifest-registry-RfRn8HJx.js → manifest-registry-Bak1x76G.js} +1 -1
- package/dist/{markdown-tables-R8VTpfE9.js → markdown-tables-CzsockiZ.js} +1 -1
- package/dist/{markdown-tables-C5hTDqNm.js → markdown-tables-DZClqsNo.js} +1 -1
- package/dist/{memory-cli-4wfelGdK.js → memory-cli-CUGwnVIY.js} +12 -12
- package/dist/{message-channel-ZdI1-uUh.js → message-channel-C8QtrwEU.js} +1 -1
- package/dist/{model-Bd-05WpB.js → model-C-icShH2.js} +2 -2
- package/dist/{model-catalog-BCsDrrvq.js → model-catalog-D9no0CH2.js} +3 -3
- package/dist/{model-picker-D3U0wJCO.js → model-picker-BkXoTOiA.js} +4 -4
- package/dist/{model-selection-CSn9tUuH.js → model-selection-0dGxYGp8.js} +16 -16
- package/dist/{model-selection-C5hI1dum.js → model-selection-1MMYqY6M.js} +41 -41
- package/dist/{models-tZYpgts_.js → models-C1_Tdc1Q.js} +2 -2
- package/dist/{models-cli-umEUn4Xu.js → models-cli-B9yw60gV.js} +79 -79
- package/dist/{models-cli-DVAyIZ63.js → models-cli-Bs5ZNSbk.js} +4 -4
- package/dist/{models-config-lQpqp472.js → models-config-C5A1wDWh.js} +6 -6
- package/dist/{node-cli-7gQ7xfOh.js → node-cli-BYzjxmUY.js} +32 -32
- package/dist/{node-service-GpI0jzKr.js → node-service-C3vyxHLA.js} +1 -1
- package/dist/{nodes-cli-CDXLGCox.js → nodes-cli-kNOtp0U0.js} +14 -14
- package/dist/{nodes-screen-CIAn0wXq.js → nodes-screen-CcpPaFxa.js} +4 -4
- package/dist/{npm-registry-spec-BfeHLbIQ.js → npm-registry-spec-BCbbfIhX.js} +16 -16
- package/dist/{npm-resolution-By6en78P.js → npm-resolution-BMDipaRX.js} +3 -3
- package/dist/{npm-resolution-By6bZkA-.js → npm-resolution-yXJbqHHn.js} +1 -1
- package/dist/{onboard-Dw-URWpt.js → onboard-CYRoDnOI.js} +2 -2
- package/dist/{onboard-BmDmDXYf.js → onboard-DjbHK18p.js} +6 -6
- package/dist/{onboard-channels-DCDhpz9s.js → onboard-channels-CNQt2jFU.js} +20 -20
- package/dist/{onboard-channels-JPltbNGL.js → onboard-channels-CkxvodmR.js} +1 -1
- package/dist/{onboard-custom-D2sCP3_S.js → onboard-custom-DUbzMMu7.js} +4 -4
- package/dist/{onboard-helpers-CdzbIhrm.js → onboard-helpers-mzy38DiC.js} +8 -8
- package/dist/{onboard-hooks-_1Jgimeu.js → onboard-hooks-D9teGxfH.js} +4 -4
- package/dist/{onboard-remote-pCRaL_Ey.js → onboard-remote-LCBHijVE.js} +1 -1
- package/dist/{onboard-skills-DvwRvBvj.js → onboard-skills-jFY9gaOu.js} +4 -4
- package/dist/{onboarding-DIorhVOJ.js → onboarding-BEDOWI9h.js} +3 -3
- package/dist/{onboarding-Cf3JxJxY.js → onboarding-D9AZJlDK.js} +13 -13
- package/dist/{onboarding.finalize-BCmAqhLV.js → onboarding.finalize-D4hW1yTd.js} +7 -7
- package/dist/{onboarding.finalize-BH4WHo75.js → onboarding.finalize-DJxMkD2g.js} +82 -82
- package/dist/{onboarding.gateway-config-Sj7zQKsE.js → onboarding.gateway-config-Btu2gzgr.js} +16 -16
- package/dist/{openai-model-default-OPCCNNS0.js → openai-model-default-7J6cw1rA.js} +2 -2
- package/dist/{outbound-CdY_AskB.js → outbound-BNh6PpQb.js} +6 -6
- package/dist/{outbound-CG19kl0w.js → outbound-DPTxwchq.js} +4 -4
- package/dist/{outbound-attachment-jYdMgCml.js → outbound-attachment-3I6GzwDe.js} +2 -2
- package/dist/{outbound-attachment-IfeZJAKk.js → outbound-attachment-Bot3bRnK.js} +2 -2
- package/dist/{pairing-cli-QJYYDcIK.js → pairing-cli-jwx6hMsM.js} +10 -10
- package/dist/{pairing-labels-DuZ7ih-T.js → pairing-labels-ChQJzbS9.js} +1 -1
- package/dist/{pairing-store-qvpPoWL_.js → pairing-store-CPpEEQJO.js} +2 -2
- package/dist/{pairing-token-3hoCgQqp.js → pairing-token-lKXTMQ_M.js} +7 -7
- package/dist/{path-alias-guards-BZmt6hFb.js → path-alias-guards-Cu1nXNMM.js} +1 -1
- package/dist/{path-alias-guards-BCskHdfJ.js → path-alias-guards-FXBVVTLw.js} +3 -3
- package/dist/{path-safety-C1Y004P_.js → path-safety-DwibX65n.js} +1 -1
- package/dist/{paths-Bt0fZexW.js → paths-B-CLQ5RT.js} +9 -9
- package/dist/{paths-DQpv9a3Q.js → paths-BYNVLNi_.js} +5 -5
- package/dist/{paths-D3p7ZvM6.js → paths-D_qUel1T.js} +3 -3
- package/dist/{pi-embedded-mKozULng.js → pi-embedded-C6RDRgJM.js} +179 -179
- package/dist/{pi-embedded-helpers-BkzrQ5bZ.js → pi-embedded-helpers-BCsfqpDt.js} +6 -6
- package/dist/{pi-embedded-helpers-B3ceCcxm.js → pi-embedded-helpers-CghCLoPo.js} +24 -24
- package/dist/{pi-embedded-DMx6rHVL.js → pi-embedded-o6Xj8V4C.js} +11 -11
- package/dist/{pi-model-discovery-Bt79ifyi.js → pi-model-discovery-BIP3RjXl.js} +1 -1
- package/dist/{pi-model-discovery-Dlx4RLWo.js → pi-model-discovery-Bb__OY-j.js} +7 -7
- package/dist/{pi-tools.policy-B_ME3yF6.js → pi-tools.policy-DfITIKZj.js} +5 -5
- package/dist/{plugin-auto-enable-BMuSi4aV.js → plugin-auto-enable-7DUxMy6A.js} +3 -3
- package/dist/{plugin-registry-BY85d-vE.js → plugin-registry-6C1sgAm1.js} +1 -1
- package/dist/{plugin-registry-BIoGoN5y.js → plugin-registry-DIK-5KI9.js} +3 -3
- package/dist/plugin-sdk/{agent-via-gateway-CXtWg-qx.js → agent-via-gateway-DmQMFWNE.js} +2 -2
- package/dist/plugin-sdk/{anton-CGYTy9vy.js → anton-CrjFisFZ.js} +32 -17
- package/dist/plugin-sdk/{channel-web-EFRSObCG.js → channel-web-vQgHbtCG.js} +2 -2
- package/dist/plugin-sdk/{deps-qZxPlSgp.js → deps-DfyALwFG.js} +1 -1
- package/dist/plugin-sdk/{emergency-stop-CxcBz-aQ.js → emergency-stop-0ZrbH3D4.js} +2 -2
- package/dist/plugin-sdk/index.js +3 -3
- package/dist/plugin-sdk/{reply-nUO1aM3T.js → reply-BfdVf3fw.js} +11 -11
- package/dist/plugin-sdk/{web-CEtAvhaI.js → web-DwDLI7GP.js} +3 -3
- package/dist/{plugins-DYr-HHj0.js → plugins-CRB60mCJ.js} +10 -10
- package/dist/{plugins-B4hASNc2.js → plugins-D46VZh7u.js} +2 -2
- package/dist/{plugins-cli-Dlb8QO-K.js → plugins-cli-B1kN2Xze.js} +80 -80
- package/dist/{plugins-cli-RFXGkaxP.js → plugins-cli-DFUxLQbB.js} +3 -3
- package/dist/{ports-B07M55Gr.js → ports-B2o0FSFD.js} +1 -1
- package/dist/{ports-DWJO5S52.js → ports-SQy1d-RL.js} +2 -2
- package/dist/{program-context-B_byBfwR.js → program-context-CjyGlgVG.js} +43 -43
- package/dist/{program-Do2-I4y3.js → program-mmjp27H4.js} +8 -8
- package/dist/{prompt-select-styled-VWGHu3e1.js → prompt-select-styled-04TKk_r3.js} +4 -4
- package/dist/{prompt-select-styled-CBF_I30O.js → prompt-select-styled-FskTiqWw.js} +37 -37
- package/dist/{provider-auth-helpers-BCc5UtUa.js → provider-auth-helpers-9IcvdTst.js} +1 -1
- package/dist/{provider-auth-helpers-BGGSUXOH.js → provider-auth-helpers-BI7MVWjD.js} +5 -5
- package/dist/{push-apns-CHmvuoMu.js → push-apns-Bh0u21Bh.js} +1 -1
- package/dist/{push-apns-CuwLAoXk.js → push-apns-DvSYSWvk.js} +5 -5
- package/dist/{pw-ai-BGALvhDi.js → pw-ai-7i9eGnLh.js} +11 -11
- package/dist/{pw-ai-DIV4PcIo.js → pw-ai-CfYaR1K2.js} +13 -13
- package/dist/{qmd-manager-CVcPfkhL.js → qmd-manager-B-qeywfQ.js} +19 -19
- package/dist/{qmd-manager-BRvg3Rx2.js → qmd-manager-B_GgyQQ0.js} +8 -8
- package/dist/{qr-cli-D2Oh8f0U.js → qr-cli-CSt5ihwG.js} +1 -1
- package/dist/{query-expansion-i5I3yavb.js → query-expansion-Clts_AGz.js} +12 -12
- package/dist/{query-expansion-DHuNyU-_.js → query-expansion-DEq020GG.js} +5 -5
- package/dist/{redact-1Y0KPNtr.js → redact-Bvpf-ATQ.js} +1 -1
- package/dist/{redact-snapshot-KMo22a85.js → redact-snapshot-BbEVKv0k.js} +1 -1
- package/dist/{register.agent-Dx7ULz49.js → register.agent-B3zUfhl9.js} +9 -9
- package/dist/{register.agent-CDcuj79y.js → register.agent-BSe92Zxh.js} +95 -95
- package/dist/register.configure-DZ9OCp0V.js +168 -0
- package/dist/{register.configure-BctHAiWh.js → register.configure-N4JG5hVe.js} +8 -8
- package/dist/{register.maintenance-BcFR1fGQ.js → register.maintenance-BjhkxF3o.js} +9 -9
- package/dist/{register.maintenance-wv8PzmVy.js → register.maintenance-DxauQqK_.js} +90 -90
- package/dist/{register.message-DUAiI9J7.js → register.message-BsMpRFVr.js} +71 -71
- package/dist/{register.message-BLScF2fV.js → register.message-DoZ5i1Pn.js} +3 -3
- package/dist/{register.onboard-BMNBXD29.js → register.onboard-Cw3wNQRm.js} +2 -2
- package/dist/{register.onboard-F09brfSb.js → register.onboard-Hxi3l9IA.js} +18 -18
- package/dist/{register.orchestrator-anton-CGhKIDjJ.js → register.orchestrator-anton-BqQfw2JX.js} +14 -14
- package/dist/{register.orchestrator-anton-Tn_RaMLq.js → register.orchestrator-anton-DOByOKzU.js} +2 -2
- package/dist/{register.setup-jzek547p.js → register.setup-dazD7bl3.js} +21 -21
- package/dist/{register.setup-DqbGSLoJ.js → register.setup-r5Xy4nv4.js} +2 -2
- package/dist/{register.status-health-sessions-ByfydR_f.js → register.status-health-sessions-3zjBM0m6.js} +82 -82
- package/dist/{register.status-health-sessions-wbopjGL-.js → register.status-health-sessions-DobZ2G2u.js} +4 -4
- package/dist/{register.subclis-CuNL7Zgu.js → register.subclis-CGJxYP3h.js} +9 -9
- package/dist/{replies-2C16fnBP.js → replies-6_GxvQYe.js} +3 -3
- package/dist/{replies-Czp4hvpS.js → replies-hSFVxL4h.js} +1 -1
- package/dist/{reply-CdFdL9nL.js → reply-BDr-UY9O.js} +153 -153
- package/dist/{reply-prefix-DCljZiIB.js → reply-prefix-BUgeSN2R.js} +1 -1
- package/dist/{reply-prefix-BMEdvSpA.js → reply-prefix-C3y4zpTl.js} +1 -1
- package/dist/{resolve-route-Ef_Yt2Dw.js → resolve-route-D_AbcmD6.js} +2 -2
- package/dist/{resolve-route-ClcifpKn.js → resolve-route-DuttYY7A.js} +4 -4
- package/dist/{retry-CG6cMRDQ.js → retry-BeB9WenR.js} +1 -1
- package/dist/{rpc-CNqnw2FL.js → rpc-Cf9OK5Yk.js} +1 -1
- package/dist/{run-main-9A7FdIR1.js → run-main-BDEztzfx.js} +15 -15
- package/dist/{runner-BFG54hnb.js → runner-DzszLzI4.js} +20 -20
- package/dist/{runner-BkCU-kqs.js → runner-PgRFPYUj.js} +11 -11
- package/dist/{runtime-DEmy759r.js → runtime-XmXLaHNk.js} +2 -2
- package/dist/{sandbox-CfPbhDY_.js → sandbox-DcUw5h3p.js} +20 -20
- package/dist/{sandbox-cli-B4wLJr21.js → sandbox-cli-DGvJ7Eeq.js} +22 -22
- package/dist/{secrets-cli-DP718vNZ.js → secrets-cli-CR3h2TBy.js} +9 -9
- package/dist/{security-cli-CG2_SV7b.js → security-cli-B9_LV2po.js} +39 -39
- package/dist/{send-DDMaLJAQ.js → send--lzpNy4f.js} +7 -7
- package/dist/{send-DZa8fWSm.js → send-BeIZJuy4.js} +7 -7
- package/dist/{send-Y1hD4tQ1.js → send-C1hvd3bt.js} +6 -6
- package/dist/{send-BCPkAE2k.js → send-C4v0Leny.js} +6 -6
- package/dist/{send-BOxJ4QXF.js → send-D4bMycQu.js} +7 -7
- package/dist/{send-CEavqqEz.js → send-DQiw_nGD.js} +6 -6
- package/dist/{send-FLdrx-oF.js → send-Dfa3sn6r.js} +24 -24
- package/dist/{send-IlPMLAH-.js → send-DmLC7aEF.js} +10 -10
- package/dist/{send-BPwTl4-K.js → send-DuwdEkLw.js} +4 -4
- package/dist/{send-CVIXqubC.js → send-DwdHiC7_.js} +13 -13
- package/dist/{server-BpSbZAwg.js → server-D6MltJIF.js} +14 -14
- package/dist/{server-context-BxNSTpH6.js → server-context-DI0W_H7R.js} +10 -10
- package/dist/{server-lifecycle-CGKrGrhM.js → server-lifecycle-B5PlrlbG.js} +2 -2
- package/dist/{server-node-events-CbVkqOtV.js → server-node-events-BL1dTBEr.js} +3 -3
- package/dist/{server-node-events-BSPxvn7O.js → server-node-events-C69TPlKW.js} +71 -71
- package/dist/{service-Bj2oSfpw.js → service-C8NMS3m_.js} +15 -15
- package/dist/{session-BKVySI8q.js → session-CdnrRhb4.js} +1 -1
- package/dist/{session-nUPBXeEa.js → session-F_YDS_1V.js} +7 -7
- package/dist/{sessions-DRA4oaxz.js → sessions-3ioSeOA1.js} +41 -41
- package/dist/{sessions-BqWocozB.js → sessions-BtPXimXQ.js} +14 -14
- package/dist/{shared-DnQ4iyXk.js → shared-CpDPo3hJ.js} +2 -2
- package/dist/{shared-Jzrx8DfN.js → shared-DpLSpJIl.js} +1 -1
- package/dist/{skill-commands-BwIRWSCI.js → skill-commands-BFzmZAfo.js} +5 -5
- package/dist/{skill-commands-BHTBXXVn.js → skill-commands-Ck3flWX7.js} +9 -9
- package/dist/{skill-scanner-B4Ftsbd2.js → skill-scanner-D7mzXRXd.js} +5 -5
- package/dist/{skills-umlGvChF.js → skills-CnAPWfca.js} +22 -22
- package/dist/{skills-TIyQDZx7.js → skills-DlvDyK8L.js} +3 -3
- package/dist/{skills-cli-5lbXi4Lh.js → skills-cli-BhKGhjbO.js} +5 -5
- package/dist/{skills-install-D0JHP5uM.js → skills-install-tr6wRWZj.js} +4 -4
- package/dist/{skills-status-Q9skQExW.js → skills-status-qjQ8XP0h.js} +1 -1
- package/dist/{status-ClMOrHdT.js → status-AEwcpHsu.js} +2 -2
- package/dist/{status-YWasgjym.js → status-B8z0RCPf.js} +24 -24
- package/dist/{status.update-C3uRz7W6.js → status.update-CTi6vuWj.js} +2 -2
- package/dist/{store-D-ZicQeo.js → store-CvMgrKWx.js} +2 -2
- package/dist/{store-CLNuI8-G.js → store-kH9wHHbO.js} +5 -5
- package/dist/{subagent-registry-BH5O1rxK.js → subagent-registry-Dclk-Ews.js} +11 -11
- package/dist/{subsystem-D7ZepYT1.js → subsystem-tzu-rIAJ.js} +1 -1
- package/dist/{system-cli-BfjZ6QvH.js → system-cli-DyVZ5udc.js} +8 -8
- package/dist/{system-run-approval-context-xZVoE4nS.js → system-run-approval-context-CISBXlNw.js} +1 -1
- package/dist/{system-run-command-BIhrK3OI.js → system-run-command-qJdgzxLp.js} +1 -1
- package/dist/{systemd-DyrVLTI0.js → systemd-CaCR5CyM.js} +9 -9
- package/dist/{systemd-hints-BoKKzRI_.js → systemd-hints-DHu-HVFx.js} +6 -6
- package/dist/{systemd-linger-DrhGd61G.js → systemd-linger-B7XlUHk_.js} +1 -1
- package/dist/{tables-Co_R_WKs.js → tables-5k-zOZ-s.js} +1 -1
- package/dist/{tables-CZSD889r.js → tables-g9xkflht.js} +1 -1
- package/dist/{target-errors-B1mcM4WR.js → target-errors-BPfQrPim.js} +2 -2
- package/dist/{target-errors-BYuWhuLU.js → target-errors-bLIVFsbF.js} +4 -4
- package/dist/{tokens-DGajj8M9.js → tokens-BRLyURxW.js} +1 -1
- package/dist/{tool-images-DZHrc4pq.js → tool-images-CHqepyF_.js} +1 -1
- package/dist/{tool-images-Duuqr4bN.js → tool-images-CcGZpzmq.js} +2 -2
- package/dist/{tool-loop-detection-CjWRg_4q.js → tool-loop-detection-BNGetx3Z.js} +3 -3
- package/dist/{tui-B2bAseIB.js → tui-Bne3YNiw.js} +6 -6
- package/dist/{tui-cli-cewAjqAk.js → tui-cli-D0Z-rcUe.js} +30 -30
- package/dist/{update-la2AdLf3.js → update-D79ppbMQ.js} +3 -3
- package/dist/{update-cli-D7gDHoEE.js → update-cli-8Tk6PCmD.js} +99 -99
- package/dist/{update-cli-Cxp_mYOH.js → update-cli-Bobm67f-.js} +9 -9
- package/dist/{update-runner-DRglQgXe.js → update-runner-B4xzPa4-.js} +15 -15
- package/dist/{update-runner-tu2Aiphu.js → update-runner-C4NjVy9-.js} +1 -1
- package/dist/{upgrade-command-28wRHZZ2.js → upgrade-command-909a7QUc.js} +3 -3
- package/dist/{utils-D9wGoiU9.js → utils-CTFLl_ji.js} +18 -18
- package/dist/{web-aRaB-CvF.js → web-9J12F46d.js} +3 -3
- package/dist/{web-BxegDO-S.js → web-DPSpgc_K.js} +3 -3
- package/dist/web-Dqy4kqC9.js +123 -0
- package/dist/{web-BuIXrrsp.js → web-NzOJcvWO.js} +66 -66
- package/dist/{webhooks-cli-BnmVPYkU.js → webhooks-cli-2N03q0iY.js} +6 -6
- package/dist/{whatsapp-actions-D2mBFzmK.js → whatsapp-actions-Cms8wQM1.js} +18 -18
- package/dist/{whatsapp-actions-BJ6kVDXi.js → whatsapp-actions-DbPcN6JQ.js} +25 -25
- package/dist/{with-timeout-BodPmGCY.js → with-timeout-DEdycYxq.js} +3 -3
- package/dist/{workspace-CDw87aZG.js → workspace-D3pARwoB.js} +1 -1
- package/dist/{workspace-tAtkoD_r.js → workspace-DBFSzT6O.js} +18 -18
- package/dist/{workspace-dirs-D3bousoX.js → workspace-dirs-SsExQ3Bz.js} +1 -1
- package/dist/{wsl-CgXDjE09.js → wsl-BJW8nTyL.js} +2 -2
- package/extensions/acpx/package.json +1 -1
- package/extensions/bluebubbles/package.json +1 -1
- package/extensions/copilot-proxy/package.json +1 -1
- package/extensions/diagnostics-otel/package.json +1 -1
- package/extensions/discord/package.json +1 -1
- package/extensions/feishu/package.json +1 -1
- package/extensions/google-gemini-cli-auth/package.json +1 -1
- package/extensions/googlechat/package.json +1 -1
- package/extensions/hand/package.json +1 -1
- package/extensions/imessage/package.json +1 -1
- package/extensions/irc/package.json +1 -1
- package/extensions/line/package.json +1 -1
- package/extensions/llm-task/package.json +1 -1
- package/extensions/matrix/CHANGELOG.md +6 -0
- package/extensions/matrix/package.json +1 -1
- package/extensions/mattermost/package.json +1 -1
- package/extensions/memory-core/package.json +1 -1
- package/extensions/memory-lancedb/package.json +1 -1
- package/extensions/minimax-portal-auth/package.json +1 -1
- package/extensions/msteams/CHANGELOG.md +6 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +6 -0
- package/extensions/nostr/package.json +1 -1
- package/extensions/open-prose/package.json +1 -1
- package/extensions/signal/package.json +1 -1
- package/extensions/slack/package.json +1 -1
- package/extensions/synology-chat/package.json +1 -1
- package/extensions/telegram/package.json +1 -1
- package/extensions/tlon/package.json +1 -1
- package/extensions/twitch/CHANGELOG.md +6 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +6 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +6 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +6 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/anton-D9tZAGaj.js +0 -777
- package/dist/emergency-stop-DyQna_P0.js +0 -113
- package/dist/register.configure-CxwdWRSG.js +0 -168
- package/dist/web-DESq0zCM.js +0 -123
|
@@ -1,120 +1,120 @@
|
|
|
1
1
|
import "./paths-Cn44w-EB.js";
|
|
2
2
|
import { M as logVerbose } from "./utils-CXzXXV2o.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { An as formatAbortReplyText, Mn as stopSubagentsForRequester, Vn as clearSessionQueues, f as abortEmbeddedPiRun, jn as isAbortRequestText } from "./reply-
|
|
5
|
-
import "./agent-scope-
|
|
4
|
+
import { An as formatAbortReplyText, Mn as stopSubagentsForRequester, Vn as clearSessionQueues, f as abortEmbeddedPiRun, jn as isAbortRequestText } from "./reply-BDr-UY9O.js";
|
|
5
|
+
import "./agent-scope-RA0zXRpu.js";
|
|
6
6
|
import "./subsystem-CGZX2PBV.js";
|
|
7
7
|
import "./runtime-44j_X4Y6.js";
|
|
8
|
-
import "./idlehands-root-
|
|
8
|
+
import "./idlehands-root-B8cUs-5M.js";
|
|
9
9
|
import "./exec-CKHMT0tZ.js";
|
|
10
|
-
import "./model-selection-
|
|
10
|
+
import "./model-selection-0dGxYGp8.js";
|
|
11
11
|
import "./github-copilot-token-D7lpquOO.js";
|
|
12
12
|
import "./boolean-BsqeuxE6.js";
|
|
13
13
|
import "./env-Bx-F45X5.js";
|
|
14
14
|
import "./host-env-security-DkAVVuaw.js";
|
|
15
15
|
import "./env-vars-sTMVGyld.js";
|
|
16
|
-
import "./manifest-registry-
|
|
17
|
-
import "./dock-
|
|
16
|
+
import "./manifest-registry-Bak1x76G.js";
|
|
17
|
+
import "./dock-Y96MzKuM.js";
|
|
18
18
|
import "./message-channel-DVauVtrg.js";
|
|
19
|
-
import "./send-
|
|
20
|
-
import "./runner-
|
|
21
|
-
import "./image-
|
|
22
|
-
import "./models-config-
|
|
23
|
-
import "./pi-model-discovery-
|
|
24
|
-
import "./pi-embedded-helpers-
|
|
25
|
-
import "./sandbox-
|
|
19
|
+
import "./send-DwdHiC7_.js";
|
|
20
|
+
import "./runner-DzszLzI4.js";
|
|
21
|
+
import "./image-DSDEbSiO.js";
|
|
22
|
+
import "./models-config-C5A1wDWh.js";
|
|
23
|
+
import "./pi-model-discovery-BIP3RjXl.js";
|
|
24
|
+
import "./pi-embedded-helpers-BCsfqpDt.js";
|
|
25
|
+
import "./sandbox-DcUw5h3p.js";
|
|
26
26
|
import "./tool-catalog-4_Wxc542.js";
|
|
27
|
-
import "./chrome-
|
|
27
|
+
import "./chrome-VBsQfIrt.js";
|
|
28
28
|
import "./tailscale-B5Irc_Bi.js";
|
|
29
29
|
import "./ip-DJ5wsTQn.js";
|
|
30
30
|
import "./tailnet-C9lH_YnG.js";
|
|
31
31
|
import "./ws-XBTtYpJc.js";
|
|
32
32
|
import "./auth-heRVBxh2.js";
|
|
33
|
-
import "./server-context-
|
|
33
|
+
import "./server-context-DI0W_H7R.js";
|
|
34
34
|
import "./frontmatter-D-sQ_Hqk.js";
|
|
35
|
-
import "./skills-
|
|
36
|
-
import "./path-alias-guards-
|
|
37
|
-
import "./paths-
|
|
35
|
+
import "./skills-DlvDyK8L.js";
|
|
36
|
+
import "./path-alias-guards-FXBVVTLw.js";
|
|
37
|
+
import "./paths-B-CLQ5RT.js";
|
|
38
38
|
import "./redact-B_4KNlXs.js";
|
|
39
39
|
import "./errors-DZDuPc3M.js";
|
|
40
|
-
import "./fs-safe-
|
|
40
|
+
import "./fs-safe-_JQUGpZf.js";
|
|
41
41
|
import "./ssrf-Dw9zzKSM.js";
|
|
42
|
-
import "./image-ops-
|
|
43
|
-
import "./store-
|
|
44
|
-
import "./ports-
|
|
42
|
+
import "./image-ops-BU-VdLZu.js";
|
|
43
|
+
import "./store-kH9wHHbO.js";
|
|
44
|
+
import "./ports-SQy1d-RL.js";
|
|
45
45
|
import "./trash-CUFiyQN5.js";
|
|
46
46
|
import "./server-middleware-BC21xYvr.js";
|
|
47
|
-
import { c as loadSessionStore } from "./sessions-
|
|
48
|
-
import "./plugins-
|
|
49
|
-
import "./accounts-
|
|
50
|
-
import "./accounts-
|
|
51
|
-
import "./accounts-
|
|
52
|
-
import "./bindings-
|
|
47
|
+
import { c as loadSessionStore } from "./sessions-BtPXimXQ.js";
|
|
48
|
+
import "./plugins-D46VZh7u.js";
|
|
49
|
+
import "./accounts-DLTODa_Z.js";
|
|
50
|
+
import "./accounts-3HS_UAhJ.js";
|
|
51
|
+
import "./accounts-DgbTKQoW.js";
|
|
52
|
+
import "./bindings-B59Q7nsk.js";
|
|
53
53
|
import "./logging-q4KyMmY-.js";
|
|
54
|
-
import "./auth-store-
|
|
55
|
-
import "./send-
|
|
54
|
+
import "./auth-store-DDzIMy8_.js";
|
|
55
|
+
import "./send-DuwdEkLw.js";
|
|
56
56
|
import { r as resolveDefaultSessionStorePath } from "./paths-DRz46q00.js";
|
|
57
57
|
import "./chat-envelope-Bebo3vwl.js";
|
|
58
|
-
import "./tool-images-
|
|
58
|
+
import "./tool-images-CHqepyF_.js";
|
|
59
59
|
import "./tool-display-Dac7lHGW.js";
|
|
60
60
|
import "./fetch-guard-yUZu1Vzc.js";
|
|
61
|
-
import "./api-key-rotation-
|
|
62
|
-
import "./local-roots-
|
|
63
|
-
import "./model-catalog-
|
|
61
|
+
import "./api-key-rotation-B-FTJm5p.js";
|
|
62
|
+
import "./local-roots-q0xbefkf.js";
|
|
63
|
+
import "./model-catalog-D9no0CH2.js";
|
|
64
64
|
import "./tokens-Dg-QZ_pN.js";
|
|
65
|
-
import "./deliver
|
|
66
|
-
import "./commands-
|
|
67
|
-
import "./commands-registry-
|
|
68
|
-
import "./client-
|
|
69
|
-
import "./call-
|
|
70
|
-
import "./pairing-token-
|
|
65
|
+
import "./deliver--kttnrER.js";
|
|
66
|
+
import "./commands-Dj5LalLo.js";
|
|
67
|
+
import "./commands-registry-CURlRZQJ.js";
|
|
68
|
+
import "./client-DtnD-ee9.js";
|
|
69
|
+
import "./call-BpWhjuOg.js";
|
|
70
|
+
import "./pairing-token-lKXTMQ_M.js";
|
|
71
71
|
import "./fetch-CYe1ekSh.js";
|
|
72
72
|
import "./retry-Db05aSB8.js";
|
|
73
|
-
import "./pairing-store-
|
|
73
|
+
import "./pairing-store-CPpEEQJO.js";
|
|
74
74
|
import "./exec-approvals-C2s2dPha.js";
|
|
75
|
-
import "./exec-approvals-allowlist-
|
|
76
|
-
import "./exec-safe-bin-runtime-policy-
|
|
77
|
-
import "./nodes-screen-
|
|
78
|
-
import "./target-errors-
|
|
75
|
+
import "./exec-approvals-allowlist-Co2tJSEo.js";
|
|
76
|
+
import "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
|
|
77
|
+
import "./nodes-screen-CcpPaFxa.js";
|
|
78
|
+
import "./target-errors-bLIVFsbF.js";
|
|
79
79
|
import "./diagnostic-session-state-CJHdRyOy.js";
|
|
80
|
-
import "./with-timeout-
|
|
80
|
+
import "./with-timeout-DEdycYxq.js";
|
|
81
81
|
import "./diagnostic-ByHpt6q8.js";
|
|
82
|
-
import "./send
|
|
83
|
-
import "./model-
|
|
84
|
-
import "./reply-prefix-
|
|
85
|
-
import "./memory-cli-
|
|
86
|
-
import "./manager-
|
|
87
|
-
import "./query-expansion-
|
|
82
|
+
import "./send--lzpNy4f.js";
|
|
83
|
+
import "./model-C-icShH2.js";
|
|
84
|
+
import "./reply-prefix-C3y4zpTl.js";
|
|
85
|
+
import "./memory-cli-CUGwnVIY.js";
|
|
86
|
+
import "./manager-BMAFgXyU.js";
|
|
87
|
+
import "./query-expansion-Clts_AGz.js";
|
|
88
88
|
import "./chunk-ClMFHJu-.js";
|
|
89
|
-
import "./markdown-tables-
|
|
90
|
-
import "./ir-
|
|
89
|
+
import "./markdown-tables-DZClqsNo.js";
|
|
90
|
+
import "./ir-VncGpwA1.js";
|
|
91
91
|
import "./render-DC4qnRqG.js";
|
|
92
|
-
import "./pi-tools.policy-
|
|
92
|
+
import "./pi-tools.policy-DfITIKZj.js";
|
|
93
93
|
import "./channel-activity-DaCsrdWK.js";
|
|
94
|
-
import "./tables-
|
|
95
|
-
import "./send-
|
|
94
|
+
import "./tables-g9xkflht.js";
|
|
95
|
+
import "./send-C4v0Leny.js";
|
|
96
96
|
import "./proxy-yk1Oqe9p.js";
|
|
97
97
|
import "./links-15764jZB.js";
|
|
98
98
|
import "./cli-utils-CH2y4E2f.js";
|
|
99
99
|
import "./help-format-CMAqOikG.js";
|
|
100
100
|
import "./progress-BQLz1r3L.js";
|
|
101
|
-
import "./resolve-route-
|
|
102
|
-
import "./replies-
|
|
103
|
-
import "./skill-commands-
|
|
104
|
-
import "./workspace-dirs-
|
|
105
|
-
import "./deps-
|
|
106
|
-
import "./plugin-auto-enable-
|
|
107
|
-
import "./channel-selection-
|
|
108
|
-
import "./outbound-attachment-
|
|
101
|
+
import "./resolve-route-D_AbcmD6.js";
|
|
102
|
+
import "./replies-hSFVxL4h.js";
|
|
103
|
+
import "./skill-commands-BFzmZAfo.js";
|
|
104
|
+
import "./workspace-dirs-SsExQ3Bz.js";
|
|
105
|
+
import "./deps-Bq7jJLyN.js";
|
|
106
|
+
import "./plugin-auto-enable-7DUxMy6A.js";
|
|
107
|
+
import "./channel-selection-ZxRkxpuF.js";
|
|
108
|
+
import "./outbound-attachment-Bot3bRnK.js";
|
|
109
109
|
import "./delivery-queue-BvDRo8CK.js";
|
|
110
110
|
import "./session-cost-usage-DS1rjzML.js";
|
|
111
|
-
import "./send-
|
|
112
|
-
import "./onboard-helpers-
|
|
111
|
+
import "./send-DQiw_nGD.js";
|
|
112
|
+
import "./onboard-helpers-mzy38DiC.js";
|
|
113
113
|
import "./prompt-style-kmKiCZnm.js";
|
|
114
|
-
import "./pairing-labels-
|
|
115
|
-
import "./server-lifecycle-
|
|
114
|
+
import "./pairing-labels-ChQJzbS9.js";
|
|
115
|
+
import "./server-lifecycle-B5PlrlbG.js";
|
|
116
116
|
import "./stagger-rQoQSWkz.js";
|
|
117
|
-
import "./system-run-command-
|
|
117
|
+
import "./system-run-command-qJdgzxLp.js";
|
|
118
118
|
|
|
119
119
|
//#region src/auto-reply/reply/emergency-stop.ts
|
|
120
120
|
/**
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import "./agent-scope-DyP_tr7s.js";
|
|
2
|
+
import "./paths-BYNVLNi_.js";
|
|
3
|
+
import "./subsystem-tzu-rIAJ.js";
|
|
4
|
+
import { D as logVerbose } from "./utils-CTFLl_ji.js";
|
|
5
|
+
import "./runtime-8mi3mpYB.js";
|
|
6
|
+
import "./workspace-DBFSzT6O.js";
|
|
7
|
+
import "./model-selection-1MMYqY6M.js";
|
|
8
|
+
import "./github-copilot-token-Dgt6cnsM.js";
|
|
9
|
+
import "./boolean-CE7i9tBR.js";
|
|
10
|
+
import "./env-B5G1qwGc.js";
|
|
11
|
+
import "./dock-BgOmHcbh.js";
|
|
12
|
+
import "./tokens-BRLyURxW.js";
|
|
13
|
+
import { B as clearSessionQueues, F as isAbortRequestText, I as stopSubagentsForRequester, P as formatAbortReplyText, n as abortEmbeddedPiRun } from "./pi-embedded-C6RDRgJM.js";
|
|
14
|
+
import "./plugins-CRB60mCJ.js";
|
|
15
|
+
import "./accounts-Dk8mJIrQ.js";
|
|
16
|
+
import "./bindings-D3b5Fmc9.js";
|
|
17
|
+
import "./auth-store-DXT-l7fO.js";
|
|
18
|
+
import "./send-BeIZJuy4.js";
|
|
19
|
+
import "./send-DmLC7aEF.js";
|
|
20
|
+
import "./deliver-BUiQ-9fE.js";
|
|
21
|
+
import "./diagnostic-4owMk4vH.js";
|
|
22
|
+
import "./diagnostic-session-state-BGF2r-kt.js";
|
|
23
|
+
import "./accounts-BDVs8LTu.js";
|
|
24
|
+
import "./send-Dfa3sn6r.js";
|
|
25
|
+
import "./image-ops-D1KtygWz.js";
|
|
26
|
+
import "./pi-model-discovery-Bb__OY-j.js";
|
|
27
|
+
import "./message-channel-C8QtrwEU.js";
|
|
28
|
+
import "./pi-embedded-helpers-CghCLoPo.js";
|
|
29
|
+
import "./chrome-BcJB6PcM.js";
|
|
30
|
+
import "./ssrf-CZeHDwVZ.js";
|
|
31
|
+
import "./frontmatter-BOudmHMS.js";
|
|
32
|
+
import "./skills-CnAPWfca.js";
|
|
33
|
+
import "./path-alias-guards-Cu1nXNMM.js";
|
|
34
|
+
import "./redact-Bvpf-ATQ.js";
|
|
35
|
+
import "./errors-C_0nm4TJ.js";
|
|
36
|
+
import "./fs-safe-CYUaAFO9.js";
|
|
37
|
+
import "./store-CvMgrKWx.js";
|
|
38
|
+
import { s as loadSessionStore } from "./sessions-3ioSeOA1.js";
|
|
39
|
+
import "./accounts-CIvVRRHb.js";
|
|
40
|
+
import { r as resolveDefaultSessionStorePath } from "./paths-D_qUel1T.js";
|
|
41
|
+
import "./tool-images-CcGZpzmq.js";
|
|
42
|
+
import "./thinking-z4_linel.js";
|
|
43
|
+
import "./image-D8b_rlQC.js";
|
|
44
|
+
import "./reply-prefix-BUgeSN2R.js";
|
|
45
|
+
import "./manager-BE_76jWB.js";
|
|
46
|
+
import "./gemini-auth-CIyaa44H.js";
|
|
47
|
+
import "./fetch-guard-iuQsIjqN.js";
|
|
48
|
+
import "./query-expansion-DEq020GG.js";
|
|
49
|
+
import "./retry-BeB9WenR.js";
|
|
50
|
+
import "./target-errors-BPfQrPim.js";
|
|
51
|
+
import "./chunk-CMpX7Jaz.js";
|
|
52
|
+
import "./markdown-tables-CzsockiZ.js";
|
|
53
|
+
import "./local-roots-KN4Hp1yZ.js";
|
|
54
|
+
import "./ir-B7IBoKLy.js";
|
|
55
|
+
import "./render-MTSxc7LK.js";
|
|
56
|
+
import "./commands-registry-j4vAzcF2.js";
|
|
57
|
+
import "./skill-commands-Ck3flWX7.js";
|
|
58
|
+
import "./runner-PgRFPYUj.js";
|
|
59
|
+
import "./fetch-CsfR_943.js";
|
|
60
|
+
import "./channel-activity-D_TMOGQ0.js";
|
|
61
|
+
import "./tables-5k-zOZ-s.js";
|
|
62
|
+
import "./send-C1hvd3bt.js";
|
|
63
|
+
import "./outbound-attachment-3I6GzwDe.js";
|
|
64
|
+
import "./send-D4bMycQu.js";
|
|
65
|
+
import "./resolve-route-DuttYY7A.js";
|
|
66
|
+
import "./proxy-CRB9oCP5.js";
|
|
67
|
+
import "./replies-6_GxvQYe.js";
|
|
68
|
+
import "./deps-B4J8H6nI.js";
|
|
69
|
+
|
|
70
|
+
//#region src/auto-reply/reply/emergency-stop.ts
|
|
71
|
+
/**
|
|
72
|
+
* Emergency stop — bypass all queues and debouncing.
|
|
73
|
+
* Called at the earliest ingress point (before debouncer) to guarantee immediate execution.
|
|
74
|
+
*/
|
|
75
|
+
/**
|
|
76
|
+
* Execute an emergency stop for a session.
|
|
77
|
+
* Clears all queues, aborts embedded runs, and stops subagents.
|
|
78
|
+
* Returns the reply text to send to the user.
|
|
79
|
+
*/
|
|
80
|
+
function emergencyStop(params) {
|
|
81
|
+
const { cfg, sessionKey, sessionId } = params;
|
|
82
|
+
const cleared = clearSessionQueues([sessionKey, sessionId]);
|
|
83
|
+
if (cleared.followupCleared > 0 || cleared.laneCleared > 0) logVerbose(`emergency-stop: cleared followups=${cleared.followupCleared} lane=${cleared.laneCleared} keys=${cleared.keys.join(",")}`);
|
|
84
|
+
if (sessionId) abortEmbeddedPiRun(sessionId);
|
|
85
|
+
const { stopped } = stopSubagentsForRequester({
|
|
86
|
+
cfg,
|
|
87
|
+
requesterSessionKey: sessionKey
|
|
88
|
+
});
|
|
89
|
+
logVerbose(`emergency-stop: sessionKey=${sessionKey} sessionId=${sessionId} stoppedSubagents=${stopped}`);
|
|
90
|
+
return {
|
|
91
|
+
aborted: true,
|
|
92
|
+
replyText: formatAbortReplyText(stopped),
|
|
93
|
+
sessionKey
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Resolve session info from the session store for emergency stop.
|
|
98
|
+
* Lightweight — just reads the store, no locks.
|
|
99
|
+
*/
|
|
100
|
+
function resolveSessionForEmergencyStop(sessionKey) {
|
|
101
|
+
try {
|
|
102
|
+
const store = loadSessionStore(resolveDefaultSessionStorePath());
|
|
103
|
+
return {
|
|
104
|
+
sessionId: store[sessionKey]?.sessionId,
|
|
105
|
+
store
|
|
106
|
+
};
|
|
107
|
+
} catch {
|
|
108
|
+
return {};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
//#endregion
|
|
113
|
+
export { emergencyStop, isAbortRequestText, resolveSessionForEmergencyStop };
|
|
@@ -25,7 +25,7 @@ import "./logging-Bgrm4o7g.js";
|
|
|
25
25
|
import "./auth-store-D9BmR4S6.js";
|
|
26
26
|
import "./send-m4lQkQcY.js";
|
|
27
27
|
import "./send-CCiDIuX4.js";
|
|
28
|
-
import { $n as stopSubagentsForRequester, Qn as isAbortRequestText, Zn as formatAbortReplyText, c as abortEmbeddedPiRun, o as clearSessionQueues } from "./subagent-registry-
|
|
28
|
+
import { $n as stopSubagentsForRequester, Qn as isAbortRequestText, Zn as formatAbortReplyText, c as abortEmbeddedPiRun, o as clearSessionQueues } from "./subagent-registry-Dclk-Ews.js";
|
|
29
29
|
import { r as resolveDefaultSessionStorePath } from "./paths-CC17i2eK.js";
|
|
30
30
|
import "./chat-envelope-Dedaetiq.js";
|
|
31
31
|
import "./client-udFMSDes.js";
|
|
@@ -108,7 +108,7 @@ import "./cli-utils-BfsDuRZS.js";
|
|
|
108
108
|
import "./help-format-CldHB7lS.js";
|
|
109
109
|
import "./progress-B76RkFx7.js";
|
|
110
110
|
import "./replies-DSfpze17.js";
|
|
111
|
-
import "./deps-
|
|
111
|
+
import "./deps-AEDT3iDX.js";
|
|
112
112
|
import "./onboard-helpers-DWivfzcc.js";
|
|
113
113
|
import "./prompt-style-XmK49QYK.js";
|
|
114
114
|
import "./pairing-labels-D7xcHkxi.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { y as normalizeChatChannelId } from "./subsystem-CGZX2PBV.js";
|
|
2
|
-
import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-
|
|
2
|
+
import { r as ensurePluginAllowlisted } from "./plugin-auto-enable-7DUxMy6A.js";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/toggle-config.ts
|
|
5
5
|
function setPluginEnabledInConfig(config, pluginId, enabled) {
|
package/dist/entry.js
CHANGED
|
@@ -2566,7 +2566,7 @@ if (!isMainModule({
|
|
|
2566
2566
|
applyCliProfileEnv({ profile: parsed.profile });
|
|
2567
2567
|
process$1.argv = parsed.argv;
|
|
2568
2568
|
}
|
|
2569
|
-
import("./run-main-
|
|
2569
|
+
import("./run-main-BDEztzfx.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
|
|
2570
2570
|
console.error("[idlehands] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
|
|
2571
2571
|
process$1.exitCode = 1;
|
|
2572
2572
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bn as resolveAllowlistCandidatePath, Gn as isDispatchWrapperExecutable, In as isWindowsPlatform, Kn as isShellWrapperExecutable, Ln as splitCommandChain, Mn as validateSafeBinArgv, Pn as analyzeShellCommand, Qn as SAFE_BIN_PROFILES, Rn as DEFAULT_SAFE_BINS, Un as extractShellWrapperInlineCommand, Vn as resolveCommandResolutionFromArgv, Xn as unwrapKnownShellMultiplexerInvocation, Yn as unwrapKnownDispatchWrapperInvocation, kn as isTrustedSafeBinPath, zn as matchAllowlist } from "./model-selection-
|
|
1
|
+
import { Bn as resolveAllowlistCandidatePath, Gn as isDispatchWrapperExecutable, In as isWindowsPlatform, Kn as isShellWrapperExecutable, Ln as splitCommandChain, Mn as validateSafeBinArgv, Pn as analyzeShellCommand, Qn as SAFE_BIN_PROFILES, Rn as DEFAULT_SAFE_BINS, Un as extractShellWrapperInlineCommand, Vn as resolveCommandResolutionFromArgv, Xn as unwrapKnownShellMultiplexerInvocation, Yn as unwrapKnownDispatchWrapperInvocation, kn as isTrustedSafeBinPath, zn as matchAllowlist } from "./model-selection-0dGxYGp8.js";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-approvals-allowlist.ts
|
|
@@ -1,37 +1,37 @@
|
|
|
1
1
|
import "./paths-Cn44w-EB.js";
|
|
2
2
|
import { B as theme, z as isRich } from "./utils-CXzXXV2o.js";
|
|
3
|
-
import "./agent-scope-
|
|
3
|
+
import "./agent-scope-RA0zXRpu.js";
|
|
4
4
|
import "./subsystem-CGZX2PBV.js";
|
|
5
5
|
import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
|
|
6
|
-
import "./idlehands-root-
|
|
6
|
+
import "./idlehands-root-B8cUs-5M.js";
|
|
7
7
|
import "./exec-CKHMT0tZ.js";
|
|
8
|
-
import "./model-selection-
|
|
8
|
+
import "./model-selection-0dGxYGp8.js";
|
|
9
9
|
import "./github-copilot-token-D7lpquOO.js";
|
|
10
10
|
import "./boolean-BsqeuxE6.js";
|
|
11
11
|
import "./env-Bx-F45X5.js";
|
|
12
12
|
import "./host-env-security-DkAVVuaw.js";
|
|
13
13
|
import "./env-vars-sTMVGyld.js";
|
|
14
|
-
import "./manifest-registry-
|
|
14
|
+
import "./manifest-registry-Bak1x76G.js";
|
|
15
15
|
import "./message-channel-DVauVtrg.js";
|
|
16
16
|
import "./ip-DJ5wsTQn.js";
|
|
17
17
|
import "./tailnet-C9lH_YnG.js";
|
|
18
18
|
import "./ws-XBTtYpJc.js";
|
|
19
|
-
import "./client-
|
|
20
|
-
import "./call-
|
|
21
|
-
import "./pairing-token-
|
|
19
|
+
import "./client-DtnD-ee9.js";
|
|
20
|
+
import "./call-BpWhjuOg.js";
|
|
21
|
+
import "./pairing-token-lKXTMQ_M.js";
|
|
22
22
|
import { n as formatTimeAgo } from "./format-relative-DcQZUAYl.js";
|
|
23
23
|
import { c as readExecApprovalsSnapshot, p as saveExecApprovals } from "./exec-approvals-C2s2dPha.js";
|
|
24
|
-
import "./exec-approvals-allowlist-
|
|
24
|
+
import "./exec-approvals-allowlist-Co2tJSEo.js";
|
|
25
25
|
import { t as formatDocsLink } from "./links-15764jZB.js";
|
|
26
26
|
import "./progress-BQLz1r3L.js";
|
|
27
|
-
import { n as callGatewayFromCli } from "./gateway-rpc-
|
|
28
|
-
import "./systemd-
|
|
29
|
-
import "./service-
|
|
27
|
+
import { n as callGatewayFromCli } from "./gateway-rpc-BBFG1T-M.js";
|
|
28
|
+
import "./systemd-CaCR5CyM.js";
|
|
29
|
+
import "./service-C8NMS3m_.js";
|
|
30
30
|
import { t as renderTable } from "./table-B9AmL3M1.js";
|
|
31
|
-
import { t as describeUnknownError } from "./shared-
|
|
32
|
-
import { i as resolveNodeId, r as nodesCallOpts } from "./rpc-
|
|
31
|
+
import { t as describeUnknownError } from "./shared-DpLSpJIl.js";
|
|
32
|
+
import { i as resolveNodeId, r as nodesCallOpts } from "./rpc-Cf9OK5Yk.js";
|
|
33
33
|
import JSON5 from "json5";
|
|
34
|
-
import
|
|
34
|
+
import fs from "node:fs/promises";
|
|
35
35
|
|
|
36
36
|
//#region src/cli/exec-approvals-cli.ts
|
|
37
37
|
async function readStdin() {
|
|
@@ -328,7 +328,7 @@ function registerExecApprovalsCli(program) {
|
|
|
328
328
|
if (!opts.file && !opts.stdin) exitWithError("Provide --file or --stdin.");
|
|
329
329
|
if (opts.file && opts.stdin) exitWithError("Use either --file or --stdin (not both).");
|
|
330
330
|
const { source, nodeId, targetLabel, baseHash } = await loadWritableSnapshotTarget(opts);
|
|
331
|
-
const raw = opts.stdin ? await readStdin() : await
|
|
331
|
+
const raw = opts.stdin ? await readStdin() : await fs.readFile(String(opts.file), "utf8");
|
|
332
332
|
let file;
|
|
333
333
|
try {
|
|
334
334
|
file = JSON5.parse(raw);
|
package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $n as normalizeSafeBinProfileFixtures, An as listWritableExplicitTrustedSafeBinDirs, On as getTrustedSafeBinDirs, er as resolveSafeBinProfiles, jn as normalizeTrustedSafeBinDirs } from "./model-selection-
|
|
2
|
-
import { i as resolveSafeBins } from "./exec-approvals-allowlist-
|
|
1
|
+
import { $n as normalizeSafeBinProfileFixtures, An as listWritableExplicitTrustedSafeBinDirs, On as getTrustedSafeBinDirs, er as resolveSafeBinProfiles, jn as normalizeTrustedSafeBinDirs } from "./model-selection-0dGxYGp8.js";
|
|
2
|
+
import { i as resolveSafeBins } from "./exec-approvals-allowlist-Co2tJSEo.js";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/exec-safe-bin-runtime-policy.ts
|
|
5
5
|
const INTERPRETER_LIKE_SAFE_BINS = new Set([
|
package/dist/extensionAPI.js
CHANGED
|
@@ -9,7 +9,7 @@ import "./github-copilot-token-D50c466d.js";
|
|
|
9
9
|
import "./env-BpvqFD5n.js";
|
|
10
10
|
import "./dock-QcCdS4qA.js";
|
|
11
11
|
import "./tokens-Cg4XNE3H.js";
|
|
12
|
-
import { B as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-
|
|
12
|
+
import { B as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-o6Xj8V4C.js";
|
|
13
13
|
import "./plugins-D-_jp4FO.js";
|
|
14
14
|
import "./accounts-BwrguHMw.js";
|
|
15
15
|
import "./bindings-hT7SPhiA.js";
|
|
@@ -62,6 +62,6 @@ import "./send-Cn2wvd3W.js";
|
|
|
62
62
|
import "./resolve-route-BI3VjtwE.js";
|
|
63
63
|
import "./proxy-CNZpb4NE.js";
|
|
64
64
|
import "./replies-CqYEEgmA.js";
|
|
65
|
-
import "./deps-
|
|
65
|
+
import "./deps-Ch6bZ8PI.js";
|
|
66
66
|
|
|
67
67
|
export { DEFAULT_MODEL, DEFAULT_PROVIDER, ensureAgentWorkspace, loadSessionStore, resolveAgentDir, resolveAgentIdentity, resolveAgentTimeoutMs, resolveAgentWorkspaceDir, resolveSessionFilePath, resolveStorePath, resolveThinkingDefault, runEmbeddedPiAgent, saveSessionStore };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { S as logWarn } from "./workspace-
|
|
1
|
+
import { S as logWarn } from "./workspace-DBFSzT6O.js";
|
|
2
2
|
import { a as resolvePinnedHostnameWithPolicy, n as closeDispatcher, r as createPinnedDispatcher, t as SsrFBlockedError } from "./ssrf-CZeHDwVZ.js";
|
|
3
3
|
import { t as bindAbortRelay } from "./fetch-timeout-3YYM8QuM.js";
|
|
4
4
|
import { EnvHttpProxyAgent } from "undici";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
|
|
2
2
|
import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-B4ZvHEmO.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import syncFs from "node:fs";
|
|
5
5
|
import JSON5 from "json5";
|
|
6
6
|
import YAML from "yaml";
|
|
7
7
|
|
|
@@ -93,7 +93,7 @@ function hasBinary(bin) {
|
|
|
93
93
|
for (const part of parts) for (const ext of extensions) {
|
|
94
94
|
const candidate = path.join(part, bin + ext);
|
|
95
95
|
try {
|
|
96
|
-
|
|
96
|
+
syncFs.accessSync(candidate, syncFs.constants.X_OK);
|
|
97
97
|
hasBinaryCache.set(bin, true);
|
|
98
98
|
return true;
|
|
99
99
|
} catch {}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { A as isNotFoundPathError, E as sameFileIdentity, M as isSymlinkOpenError, j as isPathInside } from "./workspace-
|
|
2
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
1
|
+
import { A as isNotFoundPathError, E as sameFileIdentity, M as isSymlinkOpenError, j as isPathInside } from "./workspace-DBFSzT6O.js";
|
|
2
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-Cu1nXNMM.js";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { constants } from "node:fs";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as isNotFoundPathError, f as isPathInside, p as isSymlinkOpenError, s as sameFileIdentity } from "./idlehands-root-
|
|
2
|
-
import { n as assertNoPathAliasEscape } from "./path-alias-guards-
|
|
1
|
+
import { d as isNotFoundPathError, f as isPathInside, p as isSymlinkOpenError, s as sameFileIdentity } from "./idlehands-root-B8cUs-5M.js";
|
|
2
|
+
import { n as assertNoPathAliasEscape } from "./path-alias-guards-FXBVVTLw.js";
|
|
3
3
|
import { constants } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fs$1 from "node:fs/promises";
|
|
6
6
|
|
|
7
7
|
//#region src/infra/fs-safe.ts
|
|
8
8
|
var SafeOpenError = class extends Error {
|
|
@@ -19,20 +19,20 @@ const ensureTrailingSep = (value) => value.endsWith(path.sep) ? value : value +
|
|
|
19
19
|
async function openVerifiedLocalFile(filePath, options) {
|
|
20
20
|
let handle;
|
|
21
21
|
try {
|
|
22
|
-
handle = await
|
|
22
|
+
handle = await fs$1.open(filePath, OPEN_READ_FLAGS);
|
|
23
23
|
} catch (err) {
|
|
24
24
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
|
|
25
25
|
if (isSymlinkOpenError(err)) throw new SafeOpenError("symlink", "symlink open blocked", { cause: err });
|
|
26
26
|
throw err;
|
|
27
27
|
}
|
|
28
28
|
try {
|
|
29
|
-
const [stat, lstat] = await Promise.all([handle.stat(),
|
|
29
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(filePath)]);
|
|
30
30
|
if (lstat.isSymbolicLink()) throw new SafeOpenError("symlink", "symlink not allowed");
|
|
31
31
|
if (!stat.isFile()) throw new SafeOpenError("not-file", "not a file");
|
|
32
32
|
if (options?.rejectHardlinks && stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
33
33
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during read");
|
|
34
|
-
const realPath = await
|
|
35
|
-
const realStat = await
|
|
34
|
+
const realPath = await fs$1.realpath(filePath);
|
|
35
|
+
const realStat = await fs$1.stat(realPath);
|
|
36
36
|
if (options?.rejectHardlinks && realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
37
37
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
38
38
|
return {
|
|
@@ -50,7 +50,7 @@ async function openVerifiedLocalFile(filePath, options) {
|
|
|
50
50
|
async function openFileWithinRoot(params) {
|
|
51
51
|
let rootReal;
|
|
52
52
|
try {
|
|
53
|
-
rootReal = await
|
|
53
|
+
rootReal = await fs$1.realpath(params.rootDir);
|
|
54
54
|
} catch (err) {
|
|
55
55
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
|
|
56
56
|
throw err;
|
|
@@ -94,7 +94,7 @@ async function readLocalFileSafely(params) {
|
|
|
94
94
|
async function writeFileWithinRoot(params) {
|
|
95
95
|
let rootReal;
|
|
96
96
|
try {
|
|
97
|
-
rootReal = await
|
|
97
|
+
rootReal = await fs$1.realpath(params.rootDir);
|
|
98
98
|
} catch (err) {
|
|
99
99
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "root dir not found");
|
|
100
100
|
throw err;
|
|
@@ -111,10 +111,10 @@ async function writeFileWithinRoot(params) {
|
|
|
111
111
|
} catch (err) {
|
|
112
112
|
throw new SafeOpenError("invalid-path", "path alias escape blocked", { cause: err });
|
|
113
113
|
}
|
|
114
|
-
if (params.mkdir !== false) await
|
|
114
|
+
if (params.mkdir !== false) await fs$1.mkdir(path.dirname(resolved), { recursive: true });
|
|
115
115
|
let ioPath = resolved;
|
|
116
116
|
try {
|
|
117
|
-
const resolvedRealPath = await
|
|
117
|
+
const resolvedRealPath = await fs$1.realpath(resolved);
|
|
118
118
|
if (!isPathInside(rootWithSep, resolvedRealPath)) throw new SafeOpenError("invalid-path", "path escapes root");
|
|
119
119
|
ioPath = resolvedRealPath;
|
|
120
120
|
} catch (err) {
|
|
@@ -123,19 +123,19 @@ async function writeFileWithinRoot(params) {
|
|
|
123
123
|
}
|
|
124
124
|
let handle;
|
|
125
125
|
try {
|
|
126
|
-
handle = await
|
|
126
|
+
handle = await fs$1.open(ioPath, OPEN_WRITE_FLAGS, 384);
|
|
127
127
|
} catch (err) {
|
|
128
128
|
if (isNotFoundPathError(err)) throw new SafeOpenError("not-found", "file not found");
|
|
129
129
|
if (isSymlinkOpenError(err)) throw new SafeOpenError("invalid-path", "symlink open blocked", { cause: err });
|
|
130
130
|
throw err;
|
|
131
131
|
}
|
|
132
132
|
try {
|
|
133
|
-
const [stat, lstat] = await Promise.all([handle.stat(),
|
|
133
|
+
const [stat, lstat] = await Promise.all([handle.stat(), fs$1.lstat(ioPath)]);
|
|
134
134
|
if (lstat.isSymbolicLink() || !stat.isFile()) throw new SafeOpenError("invalid-path", "path is not a regular file under root");
|
|
135
135
|
if (stat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
136
136
|
if (!sameFileIdentity(stat, lstat)) throw new SafeOpenError("path-mismatch", "path changed during write");
|
|
137
|
-
const realPath = await
|
|
138
|
-
const realStat = await
|
|
137
|
+
const realPath = await fs$1.realpath(ioPath);
|
|
138
|
+
const realStat = await fs$1.stat(realPath);
|
|
139
139
|
if (!sameFileIdentity(stat, realStat)) throw new SafeOpenError("path-mismatch", "path mismatch");
|
|
140
140
|
if (realStat.nlink > 1) throw new SafeOpenError("invalid-path", "hardlinked path not allowed");
|
|
141
141
|
if (!isPathInside(rootWithSep, realPath)) throw new SafeOpenError("invalid-path", "path escapes root");
|