@visorcraft/idlehands 4.0.20 → 4.1.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/dist/{accounts-BDVs8LTu.js → accounts-B8cGzkjD.js} +1 -1
- package/dist/{accounts-Dk8mJIrQ.js → accounts-BQC_GRUB.js} +6 -6
- package/dist/{accounts-DLTODa_Z.js → accounts-D-hQsUw-.js} +1 -1
- package/dist/{accounts-CIvVRRHb.js → accounts-D5tB_lO0.js} +1 -1
- package/dist/{accounts-DgbTKQoW.js → accounts-D87a1Y_K.js} +1 -1
- package/dist/{accounts-3HS_UAhJ.js → accounts-DsVN0UNw.js} +1 -1
- package/dist/{acp-cli-BEpWQbqb.js → acp-cli-BEHYc8ty.js} +7 -7
- package/dist/{agent-scope-RA0zXRpu.js → agent-scope-Bn39ugK4.js} +18 -18
- package/dist/{agent-scope-DyP_tr7s.js → agent-scope-Bxq1eWbA.js} +4 -4
- package/dist/{agent-via-gateway-CqzpAXCd.js → agent-via-gateway-CM7X6sKJ.js} +60 -60
- package/dist/{agent-via-gateway-CUQG6kii.js → agent-via-gateway-bS6seBwg.js} +4 -4
- package/dist/{agents.config-CHtoYxr6.js → agents.config-CPUPtcKt.js} +2 -2
- package/dist/{anton-DLsQ7Igk.js → anton-C7-Qxyij.js} +5 -5
- package/dist/{anton-x7f6kIFP.js → anton-D9tZAGaj.js} +20 -20
- package/dist/{api-key-rotation-B-FTJm5p.js → api-key-rotation-nXQVJErE.js} +1 -1
- package/dist/{audio-preflight-Dl1TO10w.js → audio-preflight-DzjXupNO.js} +31 -31
- package/dist/{audio-preflight-CW8IH1lU.js → audio-preflight-qkU2lsDn.js} +35 -35
- package/dist/{audit-CKeZnjft.js → audit-C5VPFgbJ.js} +22 -22
- package/dist/{auth-choice-D12Wsf7w.js → auth-choice-BDndThZZ.js} +12 -12
- package/dist/{auth-choice-DRR52LJT.js → auth-choice-CQqV1VIf.js} +10 -10
- package/dist/{auth-choice.apply-helpers-CGcniL1T.js → auth-choice.apply-helpers-pTqMTYmi.js} +1 -1
- package/dist/{auth-store-DXT-l7fO.js → auth-store-Bb4aajHu.js} +12 -12
- package/dist/{auth-store-DDzIMy8_.js → auth-store-CMyrmmSF.js} +7 -7
- package/dist/{auth-token-BJq87X3o.js → auth-token-fKt_cHOj.js} +1 -1
- package/dist/{bindings-D3b5Fmc9.js → bindings-CLZIJ0Eo.js} +2 -2
- package/dist/{bindings-B59Q7nsk.js → bindings-DZjkLUU_.js} +1 -1
- package/dist/{browser-cli-Ci6DpTnS.js → browser-cli-qU0I-Gla.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-BpWhjuOg.js → call-Du-oBD99.js} +9 -9
- package/dist/{channel-account-context-CDbY5AIr.js → channel-account-context-B4nJPU2N.js} +5 -5
- package/dist/{channel-activity-D_TMOGQ0.js → channel-activity-DdL3RAv_.js} +3 -3
- package/dist/{channel-options-B4oF7_V2.js → channel-options-B1cfZ5uQ.js} +3 -3
- package/dist/{channel-selection-ZxRkxpuF.js → channel-selection-3jUl-PyW.js} +1 -1
- package/dist/{channel-web-0icuasR6.js → channel-web-CzrJ-6X4.js} +22 -22
- package/dist/{channels-cli-B2w32z11.js → channels-cli-B4o-qohk.js} +88 -88
- package/dist/{channels-status-issues-CDpWjdI3.js → channels-status-issues-hgASw9UA.js} +1 -1
- package/dist/{chrome-BcJB6PcM.js → chrome-CT_a9OgI.js} +17 -17
- package/dist/{chrome-VBsQfIrt.js → chrome-YguTEaLx.js} +2 -2
- package/dist/{chunk-CMpX7Jaz.js → chunk-Djk-9JeT.js} +1 -1
- package/dist/{clawbot-cli-uFgYrysW.js → clawbot-cli-C5cDal-5.js} +5 -5
- package/dist/{cli-BVw2ja-q.js → cli-DXyOlvH2.js} +70 -70
- package/dist/{client-DtnD-ee9.js → client-Dl5EAvfO.js} +1 -1
- package/dist/{command-registry-CWDCVzZv.js → command-registry-esizscE2.js} +5 -5
- package/dist/{commands-Dj5LalLo.js → commands-D3BU_t7G.js} +1 -1
- package/dist/{commands-registry-CURlRZQJ.js → commands-registry-Cj4D_1tw.js} +3 -3
- package/dist/{commands-registry-j4vAzcF2.js → commands-registry-_TBHHpvt.js} +5 -5
- package/dist/{completion-cli-f5M3WVf8.js → completion-cli-CXDILt8-.js} +12 -12
- package/dist/{completion-cli-CjERsZ27.js → completion-cli-c4blaZPQ.js} +2 -2
- package/dist/{config-cli-Bt7n6ZJS.js → config-cli-98ASrAou.js} +1 -1
- package/dist/{config-cli-B2gc8CV1.js → config-cli-D_mH5-FH.js} +6 -6
- package/dist/{config-guard-BdsOumqh.js → config-guard-DnAyuF6T.js} +17 -17
- package/dist/{config-validation-BvKX6fPw.js → config-validation-DIomLMwH.js} +2 -2
- package/dist/{configure-BXsptBk3.js → configure-PKG58EzI.js} +16 -16
- package/dist/{control-ui-assets-C7ZpN9hN.js → control-ui-assets-CiaCDBvZ.js} +1 -1
- package/dist/{cron-cli-DQsnGQKs.js → cron-cli-BIfVPc5K.js} +12 -12
- package/dist/{daemon-cli-DUg-s4LG.js → daemon-cli-DpyQu0Dp.js} +11 -11
- package/dist/{daemon-install-CYPo4M1M.js → daemon-install-DeqQiAad.js} +4 -4
- package/dist/{daemon-install-helpers-BZY9-jNW.js → daemon-install-helpers-Bug_GYuy.js} +9 -9
- package/dist/{deliver-BUiQ-9fE.js → deliver-Db2xqgLg.js} +20 -20
- package/dist/{deliver--kttnrER.js → deliver-yTpXc5sv.js} +7 -7
- package/dist/{deps-CwPrf7RC.js → deps-BotXja4Z.js} +6 -6
- package/dist/{deps-BhCzAj5E.js → deps-CC5E5LXB.js} +6 -6
- package/dist/{devices-cli-DKK65S9Z.js → devices-cli-B7fkQKei.js} +7 -7
- package/dist/{diagnostic-4owMk4vH.js → diagnostic-BvlZ0Sot.js} +1 -1
- package/dist/{diagnostics-DmZbQ8Nc.js → diagnostics-CdUgLS0N.js} +5 -5
- package/dist/{directory-cli-Dz9iXeut.js → directory-cli-BAMS8f9U.js} +9 -9
- package/dist/{dns-cli-DD6hWsdc.js → dns-cli-BdxBk-k_.js} +4 -4
- package/dist/{dock-Y96MzKuM.js → dock-CzF5XYGd.js} +4 -4
- package/dist/{dock-BgOmHcbh.js → dock-ejUetwTC.js} +6 -6
- package/dist/{docs-cli-cHkrTB2e.js → docs-cli-SF7es4Zs.js} +4 -4
- package/dist/{doctor-completion-C2-SDBd6.js → doctor-completion-Co_xszXC.js} +2 -2
- package/dist/{doctor-completion-DB151YdP.js → doctor-completion-DFr8_h-z.js} +1 -1
- package/dist/{doctor-config-flow-Ck4oCjfl.js → doctor-config-flow-8qXzBx09.js} +14 -14
- package/dist/{emergency-stop-DpNGtfb4.js → emergency-stop-DtVFxCO1.js} +70 -70
- package/dist/emergency-stop-DyQna_P0.js +113 -0
- package/dist/{enable-o_s6PBsC.js → enable-DaA_orGN.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{env-B5G1qwGc.js → env-q-PhWbb_.js} +1 -1
- package/dist/{errors-C_0nm4TJ.js → errors-C4SHjIZK.js} +1 -1
- package/dist/{exec-approvals-allowlist-Co2tJSEo.js → exec-approvals-allowlist-8AkOwwIr.js} +1 -1
- package/dist/{exec-approvals-cli-D6XUzs4j.js → exec-approvals-cli-CbcJzCt0.js} +15 -15
- package/dist/{exec-safe-bin-runtime-policy-DaoU9-ni.js → exec-safe-bin-runtime-policy-DYXuBKqH.js} +2 -2
- package/dist/{fetch-guard-iuQsIjqN.js → fetch-guard-CcfDZXe9.js} +1 -1
- package/dist/{frontmatter-BOudmHMS.js → frontmatter-pTUG4Sx_.js} +2 -2
- package/dist/{fs-safe-CYUaAFO9.js → fs-safe-2l05hI1Y.js} +2 -2
- package/dist/{fs-safe-_JQUGpZf.js → fs-safe-DNFrxDS-.js} +15 -15
- package/dist/{gateway-cli-Ccd1ukWq.js → gateway-cli-DjCBMnUT.js} +2 -2
- package/dist/{gateway-cli-lNUOd2_i.js → gateway-cli-poVGdgAz.js} +148 -148
- package/dist/{gateway-rpc-BBFG1T-M.js → gateway-rpc-IpZymG6F.js} +1 -1
- package/dist/{gemini-auth-CIyaa44H.js → gemini-auth-DLSGffQK.js} +2 -2
- package/dist/{github-copilot-token-Dgt6cnsM.js → github-copilot-token-BjmEQcmi.js} +7 -7
- package/dist/{health--GQAFTBr.js → health-lZsCLX6p.js} +13 -13
- package/dist/{hooks-cli-Di8qrzIB.js → hooks-cli-EbzkZ1Xh.js} +84 -84
- package/dist/{hooks-status-DNGo2G8Q.js → hooks-status-CPIWc_bx.js} +1 -1
- package/dist/{idlehands-root-B8cUs-5M.js → idlehands-root-DFL2GrNW.js} +8 -8
- package/dist/{image-DSDEbSiO.js → image-C2JZiK-6.js} +5 -5
- package/dist/{image-D8b_rlQC.js → image-Dlu13Ebx.js} +6 -6
- package/dist/{image-ops-D1KtygWz.js → image-ops-BkoEFRYH.js} +11 -11
- package/dist/{image-ops-BU-VdLZu.js → image-ops-J8P5zOFm.js} +2 -2
- package/dist/index.js +80 -80
- package/dist/{inspect-ISQZuNM5.js → inspect-Dg16DMLn.js} +4 -4
- package/dist/{install-safe-path-ChNR9pl6.js → install-safe-path-CNNMzJl9.js} +19 -19
- package/dist/{installs-CNubze2L.js → installs-ST3UaUVJ.js} +9 -9
- package/dist/{ir-B7IBoKLy.js → ir-BT5aAdU9.js} +5 -5
- package/dist/{ir-VncGpwA1.js → ir-DV0Hszc8.js} +6 -6
- package/dist/{lifecycle-core-B6UoqYTJ.js → lifecycle-core-DOScNyOv.js} +5 -5
- package/dist/llm-slug-generator.js +60 -60
- package/dist/{local-roots-q0xbefkf.js → local-roots-Cco87A2_.js} +2 -2
- package/dist/{local-roots-KN4Hp1yZ.js → local-roots-d4y0lvs2.js} +5 -5
- package/dist/{login-CFr5vJmR.js → login-C2X0In6m.js} +6 -6
- package/dist/{login-CfUhrgWT.js → login-Dl_lsEHS.js} +4 -4
- package/dist/{login-qr-DBMsUxgL.js → login-qr-B68cBRH0.js} +7 -7
- package/dist/{login-qr-CFFFOjOl.js → login-qr-C17PY0rr.js} +11 -11
- package/dist/{logs-cli-4VQ9Iwiw.js → logs-cli-DHCG25JA.js} +8 -8
- package/dist/{manager-BMAFgXyU.js → manager-BBeTPO2h.js} +13 -13
- package/dist/{manager-BE_76jWB.js → manager-CgzA1hKo.js} +15 -15
- package/dist/{manifest-registry-Bak1x76G.js → manifest-registry-RfRn8HJx.js} +1 -1
- package/dist/{markdown-tables-DZClqsNo.js → markdown-tables-C5hTDqNm.js} +1 -1
- package/dist/{markdown-tables-CzsockiZ.js → markdown-tables-R8VTpfE9.js} +1 -1
- package/dist/{memory-cli-CUGwnVIY.js → memory-cli-4wfelGdK.js} +12 -12
- package/dist/{message-channel-C8QtrwEU.js → message-channel-ZdI1-uUh.js} +1 -1
- package/dist/{model-C-icShH2.js → model-Bd-05WpB.js} +2 -2
- package/dist/{model-catalog-D9no0CH2.js → model-catalog-BCsDrrvq.js} +3 -3
- package/dist/{model-picker-BkXoTOiA.js → model-picker-D3U0wJCO.js} +4 -4
- package/dist/{model-selection-1MMYqY6M.js → model-selection-C5hI1dum.js} +41 -41
- package/dist/{model-selection-0dGxYGp8.js → model-selection-CSn9tUuH.js} +16 -16
- package/dist/{models-cli-CMwszgSD.js → models-cli-umEUn4Xu.js} +79 -79
- package/dist/{models-config-C5A1wDWh.js → models-config-lQpqp472.js} +6 -6
- package/dist/{node-cli-BYzjxmUY.js → node-cli-7gQ7xfOh.js} +32 -32
- package/dist/{node-service-C3vyxHLA.js → node-service-GpI0jzKr.js} +1 -1
- package/dist/{nodes-cli-kNOtp0U0.js → nodes-cli-CDXLGCox.js} +14 -14
- package/dist/{nodes-screen-CcpPaFxa.js → nodes-screen-CIAn0wXq.js} +4 -4
- package/dist/{npm-registry-spec-BCbbfIhX.js → npm-registry-spec-BfeHLbIQ.js} +16 -16
- package/dist/{npm-resolution-DLSA4PTO.js → npm-resolution-By6en78P.js} +3 -3
- package/dist/{onboard-CbXlbAx2.js → onboard-BmDmDXYf.js} +6 -6
- package/dist/{onboard-B6eOxpDM.js → onboard-Dw-URWpt.js} +1 -1
- package/dist/{onboard-channels-BISq46-i.js → onboard-channels-DCDhpz9s.js} +20 -20
- package/dist/{onboard-custom-DUbzMMu7.js → onboard-custom-D2sCP3_S.js} +4 -4
- package/dist/{onboard-helpers-mzy38DiC.js → onboard-helpers-CdzbIhrm.js} +8 -8
- package/dist/{onboard-hooks-D9teGxfH.js → onboard-hooks-_1Jgimeu.js} +4 -4
- package/dist/{onboard-remote-LCBHijVE.js → onboard-remote-pCRaL_Ey.js} +1 -1
- package/dist/{onboard-skills-jFY9gaOu.js → onboard-skills-DvwRvBvj.js} +4 -4
- package/dist/{onboarding-Da3n7Rvs.js → onboarding-Cf3JxJxY.js} +13 -13
- package/dist/{onboarding-DikyMlYG.js → onboarding-DIorhVOJ.js} +1 -1
- package/dist/{onboarding.finalize-CwYx5n3Z.js → onboarding.finalize-BCmAqhLV.js} +4 -4
- package/dist/{onboarding.finalize-Bp2ufMd0.js → onboarding.finalize-BH4WHo75.js} +82 -82
- package/dist/{onboarding.gateway-config-Btu2gzgr.js → onboarding.gateway-config-Sj7zQKsE.js} +16 -16
- package/dist/{openai-model-default-7J6cw1rA.js → openai-model-default-OPCCNNS0.js} +2 -2
- package/dist/{outbound-DPTxwchq.js → outbound-CG19kl0w.js} +4 -4
- package/dist/{outbound-BNh6PpQb.js → outbound-CdY_AskB.js} +6 -6
- package/dist/{outbound-attachment-Bot3bRnK.js → outbound-attachment-IfeZJAKk.js} +2 -2
- package/dist/{outbound-attachment-3I6GzwDe.js → outbound-attachment-jYdMgCml.js} +2 -2
- package/dist/{pairing-cli-jwx6hMsM.js → pairing-cli-QJYYDcIK.js} +10 -10
- package/dist/{pairing-labels-ChQJzbS9.js → pairing-labels-DuZ7ih-T.js} +1 -1
- package/dist/{pairing-store-CPpEEQJO.js → pairing-store-qvpPoWL_.js} +2 -2
- package/dist/{pairing-token-lKXTMQ_M.js → pairing-token-3hoCgQqp.js} +7 -7
- package/dist/{path-alias-guards-FXBVVTLw.js → path-alias-guards-BCskHdfJ.js} +3 -3
- package/dist/{path-alias-guards-Cu1nXNMM.js → path-alias-guards-BZmt6hFb.js} +1 -1
- package/dist/{path-safety-DwibX65n.js → path-safety-C1Y004P_.js} +1 -1
- package/dist/{paths-B-CLQ5RT.js → paths-Bt0fZexW.js} +9 -9
- package/dist/{paths-D_qUel1T.js → paths-D3p7ZvM6.js} +3 -3
- package/dist/{paths-BYNVLNi_.js → paths-DQpv9a3Q.js} +5 -5
- package/dist/{pi-embedded-helpers-CghCLoPo.js → pi-embedded-helpers-B3ceCcxm.js} +24 -24
- package/dist/{pi-embedded-helpers-BCsfqpDt.js → pi-embedded-helpers-BkzrQ5bZ.js} +6 -6
- package/dist/{pi-embedded-6dr9Wi77.js → pi-embedded-mKozULng.js} +179 -179
- package/dist/{pi-model-discovery-BIP3RjXl.js → pi-model-discovery-Bt79ifyi.js} +1 -1
- package/dist/{pi-model-discovery-Bb__OY-j.js → pi-model-discovery-Dlx4RLWo.js} +7 -7
- package/dist/{pi-tools.policy-DfITIKZj.js → pi-tools.policy-B_ME3yF6.js} +5 -5
- package/dist/{plugin-auto-enable-7DUxMy6A.js → plugin-auto-enable-BMuSi4aV.js} +3 -3
- package/dist/{plugin-registry-DROWinG6.js → plugin-registry-BIoGoN5y.js} +3 -3
- package/dist/{plugins-D46VZh7u.js → plugins-B4hASNc2.js} +2 -2
- package/dist/{plugins-CRB60mCJ.js → plugins-DYr-HHj0.js} +10 -10
- package/dist/{plugins-cli-b_o3IL7x.js → plugins-cli-Dlb8QO-K.js} +80 -80
- package/dist/{ports-B2o0FSFD.js → ports-B07M55Gr.js} +1 -1
- package/dist/{ports-SQy1d-RL.js → ports-DWJO5S52.js} +2 -2
- package/dist/{program-vH6RTUOw.js → program-Do2-I4y3.js} +2 -2
- package/dist/{program-context-D6irLwPo.js → program-context-B_byBfwR.js} +43 -43
- package/dist/{prompt-select-styled-CDoDFWo7.js → prompt-select-styled-CBF_I30O.js} +37 -37
- package/dist/{prompt-select-styled-DFVvU0TH.js → prompt-select-styled-VWGHu3e1.js} +1 -1
- package/dist/{provider-auth-helpers-CNRz0SFC.js → provider-auth-helpers-BGGSUXOH.js} +5 -5
- package/dist/{push-apns-e2xmxGGE.js → push-apns-CuwLAoXk.js} +5 -5
- package/dist/{pw-ai-7i9eGnLh.js → pw-ai-BGALvhDi.js} +11 -11
- package/dist/{pw-ai-CfYaR1K2.js → pw-ai-DIV4PcIo.js} +13 -13
- package/dist/{qmd-manager-B_GgyQQ0.js → qmd-manager-BRvg3Rx2.js} +8 -8
- package/dist/{qmd-manager-B-qeywfQ.js → qmd-manager-CVcPfkhL.js} +19 -19
- package/dist/{qr-cli-CSt5ihwG.js → qr-cli-D2Oh8f0U.js} +1 -1
- package/dist/{query-expansion-DEq020GG.js → query-expansion-DHuNyU-_.js} +5 -5
- package/dist/{query-expansion-Clts_AGz.js → query-expansion-i5I3yavb.js} +12 -12
- package/dist/{redact-Bvpf-ATQ.js → redact-1Y0KPNtr.js} +1 -1
- package/dist/{redact-snapshot-Cc8Brktr.js → redact-snapshot-K5EFkIbD.js} +14 -0
- package/dist/{redact-snapshot-BBNDQZIe.js → redact-snapshot-KMo22a85.js} +15 -1
- package/dist/{register.agent-HWcFMr6h.js → register.agent-CDcuj79y.js} +95 -95
- package/dist/register.configure-CxwdWRSG.js +168 -0
- package/dist/{register.maintenance-BYiX9iOa.js → register.maintenance-BcFR1fGQ.js} +5 -5
- package/dist/{register.maintenance-C6o2WuQx.js → register.maintenance-wv8PzmVy.js} +90 -90
- package/dist/{register.message-BewFLd-k.js → register.message-DUAiI9J7.js} +71 -71
- package/dist/{register.onboard-BVm-2XAx.js → register.onboard-BMNBXD29.js} +2 -2
- package/dist/{register.onboard-a0kqiCTa.js → register.onboard-F09brfSb.js} +18 -18
- package/dist/{register.orchestrator-anton-BYyjV8R-.js → register.orchestrator-anton-CGhKIDjJ.js} +14 -14
- package/dist/{register.setup-BJ0WBUpt.js → register.setup-DqbGSLoJ.js} +2 -2
- package/dist/{register.setup-BwPJaqpH.js → register.setup-jzek547p.js} +21 -21
- package/dist/{register.status-health-sessions-Clzt8hbv.js → register.status-health-sessions-ByfydR_f.js} +82 -82
- package/dist/{register.subclis-CrcOefJY.js → register.subclis-CuNL7Zgu.js} +3 -3
- package/dist/{replies-6_GxvQYe.js → replies-2C16fnBP.js} +3 -3
- package/dist/{replies-hSFVxL4h.js → replies-Czp4hvpS.js} +1 -1
- package/dist/{reply-D5gCiiGr.js → reply-CdFdL9nL.js} +153 -153
- package/dist/{reply-prefix-C3y4zpTl.js → reply-prefix-BMEdvSpA.js} +1 -1
- package/dist/{reply-prefix-BUgeSN2R.js → reply-prefix-DCljZiIB.js} +1 -1
- package/dist/{resolve-route-DuttYY7A.js → resolve-route-ClcifpKn.js} +4 -4
- package/dist/{resolve-route-D_AbcmD6.js → resolve-route-Ef_Yt2Dw.js} +2 -2
- package/dist/{retry-BeB9WenR.js → retry-CG6cMRDQ.js} +1 -1
- package/dist/{rpc-Cf9OK5Yk.js → rpc-CNqnw2FL.js} +1 -1
- package/dist/{run-main-BCX3UZMR.js → run-main-9A7FdIR1.js} +5 -5
- package/dist/{runner-DzszLzI4.js → runner-BFG54hnb.js} +20 -20
- package/dist/{runner-PgRFPYUj.js → runner-BkCU-kqs.js} +11 -11
- package/dist/{runtime-XmXLaHNk.js → runtime-DEmy759r.js} +2 -2
- package/dist/{sandbox-DcUw5h3p.js → sandbox-CfPbhDY_.js} +20 -20
- package/dist/{sandbox-cli-DGvJ7Eeq.js → sandbox-cli-B4wLJr21.js} +22 -22
- package/dist/{secrets-cli-CR3h2TBy.js → secrets-cli-DP718vNZ.js} +9 -9
- package/dist/{security-cli-B9_LV2po.js → security-cli-CG2_SV7b.js} +39 -39
- package/dist/{send-C4v0Leny.js → send-BCPkAE2k.js} +6 -6
- package/dist/{send-D4bMycQu.js → send-BOxJ4QXF.js} +7 -7
- package/dist/{send-DuwdEkLw.js → send-BPwTl4-K.js} +4 -4
- package/dist/{send-DQiw_nGD.js → send-CEavqqEz.js} +6 -6
- package/dist/{send-DwdHiC7_.js → send-CVIXqubC.js} +13 -13
- package/dist/{send--lzpNy4f.js → send-DDMaLJAQ.js} +7 -7
- package/dist/{send-BeIZJuy4.js → send-DZa8fWSm.js} +7 -7
- package/dist/{send-Dfa3sn6r.js → send-FLdrx-oF.js} +24 -24
- package/dist/{send-DmLC7aEF.js → send-IlPMLAH-.js} +10 -10
- package/dist/{send-C1hvd3bt.js → send-Y1hD4tQ1.js} +6 -6
- package/dist/{server-D6MltJIF.js → server-BpSbZAwg.js} +14 -14
- package/dist/{server-context-DI0W_H7R.js → server-context-BxNSTpH6.js} +10 -10
- package/dist/{server-lifecycle-B5PlrlbG.js → server-lifecycle-CGKrGrhM.js} +2 -2
- package/dist/{server-node-events-DvStFPGi.js → server-node-events-BSPxvn7O.js} +71 -71
- package/dist/{service-C8NMS3m_.js → service-Bj2oSfpw.js} +15 -15
- package/dist/{session-CdnrRhb4.js → session-BKVySI8q.js} +1 -1
- package/dist/{session-F_YDS_1V.js → session-nUPBXeEa.js} +7 -7
- package/dist/{sessions-BtPXimXQ.js → sessions-BqWocozB.js} +14 -14
- package/dist/{sessions-3ioSeOA1.js → sessions-DRA4oaxz.js} +41 -41
- package/dist/{shared-CpDPo3hJ.js → shared-DnQ4iyXk.js} +2 -2
- package/dist/{shared-DpLSpJIl.js → shared-Jzrx8DfN.js} +1 -1
- package/dist/{skill-commands-Ck3flWX7.js → skill-commands-BHTBXXVn.js} +9 -9
- package/dist/{skill-commands-BFzmZAfo.js → skill-commands-BwIRWSCI.js} +5 -5
- package/dist/{skill-scanner-D7mzXRXd.js → skill-scanner-B4Ftsbd2.js} +5 -5
- package/dist/{skills-DlvDyK8L.js → skills-TIyQDZx7.js} +3 -3
- package/dist/{skills-cli-BhKGhjbO.js → skills-cli-5lbXi4Lh.js} +5 -5
- package/dist/{skills-install-tr6wRWZj.js → skills-install-D0JHP5uM.js} +4 -4
- package/dist/{skills-status-qjQ8XP0h.js → skills-status-Q9skQExW.js} +1 -1
- package/dist/{skills-CnAPWfca.js → skills-umlGvChF.js} +22 -22
- package/dist/{status-CWnPokQF.js → status-YWasgjym.js} +24 -24
- package/dist/{status.update-CTi6vuWj.js → status.update-C3uRz7W6.js} +2 -2
- package/dist/{store-kH9wHHbO.js → store-CLNuI8-G.js} +5 -5
- package/dist/{store-CvMgrKWx.js → store-D-ZicQeo.js} +2 -2
- package/dist/{subsystem-tzu-rIAJ.js → subsystem-D7ZepYT1.js} +1 -1
- package/dist/{system-cli-DyVZ5udc.js → system-cli-BfjZ6QvH.js} +8 -8
- package/dist/{system-run-approval-context-CISBXlNw.js → system-run-approval-context-xZVoE4nS.js} +1 -1
- package/dist/{system-run-command-qJdgzxLp.js → system-run-command-BIhrK3OI.js} +1 -1
- package/dist/{systemd-CaCR5CyM.js → systemd-DyrVLTI0.js} +9 -9
- package/dist/{systemd-hints-DHu-HVFx.js → systemd-hints-BoKKzRI_.js} +6 -6
- package/dist/{systemd-linger-B7XlUHk_.js → systemd-linger-DrhGd61G.js} +1 -1
- package/dist/{tables-g9xkflht.js → tables-CZSD889r.js} +1 -1
- package/dist/{tables-5k-zOZ-s.js → tables-Co_R_WKs.js} +1 -1
- package/dist/{target-errors-BPfQrPim.js → target-errors-B1mcM4WR.js} +2 -2
- package/dist/{target-errors-bLIVFsbF.js → target-errors-BYuWhuLU.js} +4 -4
- package/dist/{tokens-BRLyURxW.js → tokens-DGajj8M9.js} +1 -1
- package/dist/{tool-images-CHqepyF_.js → tool-images-DZHrc4pq.js} +1 -1
- package/dist/{tool-images-CcGZpzmq.js → tool-images-Duuqr4bN.js} +2 -2
- package/dist/{tool-loop-detection-BNGetx3Z.js → tool-loop-detection-CjWRg_4q.js} +3 -3
- package/dist/{tui-Bne3YNiw.js → tui-B2bAseIB.js} +6 -6
- package/dist/{tui-cli-D0Z-rcUe.js → tui-cli-cewAjqAk.js} +30 -30
- package/dist/{update-cli-CxZD0ekr.js → update-cli-Cxp_mYOH.js} +5 -5
- package/dist/{update-cli-BTNcddEX.js → update-cli-D7gDHoEE.js} +99 -99
- package/dist/{update-D79ppbMQ.js → update-la2AdLf3.js} +3 -3
- package/dist/{update-runner-CN7Dm9tg.js → update-runner-DRglQgXe.js} +15 -15
- package/dist/{upgrade-command-909a7QUc.js → upgrade-command-28wRHZZ2.js} +3 -3
- package/dist/{utils-CTFLl_ji.js → utils-D9wGoiU9.js} +18 -18
- package/dist/{web-C1BMClkN.js → web-BuIXrrsp.js} +66 -66
- package/dist/web-DESq0zCM.js +123 -0
- package/dist/{webhooks-cli-2N03q0iY.js → webhooks-cli-BnmVPYkU.js} +6 -6
- package/dist/{whatsapp-actions-DbPcN6JQ.js → whatsapp-actions-BJ6kVDXi.js} +25 -25
- package/dist/{whatsapp-actions-Cms8wQM1.js → whatsapp-actions-D2mBFzmK.js} +18 -18
- package/dist/{with-timeout-DEdycYxq.js → with-timeout-BodPmGCY.js} +3 -3
- package/dist/{workspace-D3pARwoB.js → workspace-CDw87aZG.js} +1 -1
- package/dist/{workspace-dirs-SsExQ3Bz.js → workspace-dirs-D3bousoX.js} +1 -1
- package/dist/{workspace-DBFSzT6O.js → workspace-tAtkoD_r.js} +18 -18
- package/dist/{wsl-BJW8nTyL.js → wsl-CgXDjE09.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 +12 -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 +12 -0
- package/extensions/msteams/package.json +1 -1
- package/extensions/nextcloud-talk/package.json +1 -1
- package/extensions/nostr/CHANGELOG.md +12 -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 +12 -0
- package/extensions/twitch/package.json +1 -1
- package/extensions/voice-call/CHANGELOG.md +12 -0
- package/extensions/voice-call/package.json +1 -1
- package/extensions/whatsapp/package.json +1 -1
- package/extensions/zalo/CHANGELOG.md +12 -0
- package/extensions/zalo/package.json +1 -1
- package/extensions/zalouser/CHANGELOG.md +12 -0
- package/extensions/zalouser/package.json +1 -1
- package/package.json +1 -1
- package/dist/emergency-stop-8dcFF6tw.js +0 -113
- package/dist/register.configure-k8gocsJw.js +0 -168
- package/dist/web-BV-BEZj6.js +0 -123
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { a as resolveAgentEffectiveModelPrimary, c as resolveDefaultAgentId, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, r as resolveAgentConfig, s as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
3
|
-
import { a as resolveConfigPathCandidate, c as resolveIsNixMode, d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, l as resolveOAuthDir, m as resolveRequiredHomeDir, n as STATE_DIR, o as resolveDefaultConfigCandidates, r as resolveCanonicalConfigPath, s as resolveGatewayPort, t as DEFAULT_GATEWAY_PORT, u as resolveOAuthPath } from "./paths-
|
|
4
|
-
import { c as normalizeChatChannelId, n as CHANNEL_IDS, t as createSubsystemLogger } from "./subsystem-
|
|
5
|
-
import { C as isPlainObject$2, c as isRecord$3, h as resolveUserPath, p as resolveConfigDir } from "./utils-
|
|
2
|
+
import { a as resolveAgentEffectiveModelPrimary, c as resolveDefaultAgentId, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, r as resolveAgentConfig, s as resolveAgentWorkspaceDir } from "./agent-scope-Bxq1eWbA.js";
|
|
3
|
+
import { a as resolveConfigPathCandidate, c as resolveIsNixMode, d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, l as resolveOAuthDir, m as resolveRequiredHomeDir, n as STATE_DIR, o as resolveDefaultConfigCandidates, r as resolveCanonicalConfigPath, s as resolveGatewayPort, t as DEFAULT_GATEWAY_PORT, u as resolveOAuthPath } from "./paths-DQpv9a3Q.js";
|
|
4
|
+
import { c as normalizeChatChannelId, n as CHANNEL_IDS, t as createSubsystemLogger } from "./subsystem-D7ZepYT1.js";
|
|
5
|
+
import { C as isPlainObject$2, c as isRecord$3, h as resolveUserPath, p as resolveConfigDir } from "./utils-D9wGoiU9.js";
|
|
6
6
|
import { h as isBlockedObjectKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-CuLPSMu_.js";
|
|
7
|
-
import { C as canUseBoundaryFileOpen, T as openBoundaryFileSync, _ as runExec, j as isPathInside$2 } from "./workspace-
|
|
8
|
-
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-
|
|
7
|
+
import { C as canUseBoundaryFileOpen, T as openBoundaryFileSync, _ as runExec, j as isPathInside$2 } from "./workspace-tAtkoD_r.js";
|
|
8
|
+
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-BjmEQcmi.js";
|
|
9
9
|
import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
|
|
10
|
-
import { t as isTruthyEnvValue } from "./env-
|
|
10
|
+
import { t as isTruthyEnvValue } from "./env-q-PhWbb_.js";
|
|
11
11
|
import { n as MANIFEST_KEY } from "./legacy-names-B4ZvHEmO.js";
|
|
12
|
-
import { d as TOOLS_BY_SENDER_KEY_TYPES, f as parseToolsBySenderTypedKey } from "./dock-
|
|
12
|
+
import { d as TOOLS_BY_SENDER_KEY_TYPES, f as parseToolsBySenderTypedKey } from "./dock-ejUetwTC.js";
|
|
13
13
|
import { t as runTasksWithConcurrency } from "./run-with-concurrency-CEV6qf-x.js";
|
|
14
14
|
import { createRequire } from "node:module";
|
|
15
15
|
import fs from "node:fs/promises";
|
|
16
16
|
import os from "node:os";
|
|
17
17
|
import path from "node:path";
|
|
18
|
-
import
|
|
18
|
+
import fs$1 from "node:fs";
|
|
19
19
|
import JSON5 from "json5";
|
|
20
20
|
import { isDeepStrictEqual } from "node:util";
|
|
21
21
|
import { execFileSync, execSync, spawn } from "node:child_process";
|
|
@@ -238,7 +238,7 @@ function resolveAuthProfileDisplayLabel(params) {
|
|
|
238
238
|
function isZombieProcess(pid) {
|
|
239
239
|
if (process.platform !== "linux") return false;
|
|
240
240
|
try {
|
|
241
|
-
return
|
|
241
|
+
return fs$1.readFileSync(`/proc/${pid}/status`, "utf8").match(/^State:\s+(\S)/m)?.[1] === "Z";
|
|
242
242
|
} catch {
|
|
243
243
|
return false;
|
|
244
244
|
}
|
|
@@ -512,7 +512,7 @@ function resolveAuthStorePathForDisplay(agentDir) {
|
|
|
512
512
|
return pathname.startsWith("~") ? pathname : resolveUserPath(pathname);
|
|
513
513
|
}
|
|
514
514
|
function ensureAuthStoreFile(pathname) {
|
|
515
|
-
if (
|
|
515
|
+
if (fs$1.existsSync(pathname)) return;
|
|
516
516
|
saveJsonFile(pathname, {
|
|
517
517
|
version: AUTH_STORE_VERSION,
|
|
518
518
|
profiles: {}
|
|
@@ -774,7 +774,7 @@ function loadAuthProfileStoreForAgent(agentDir, options) {
|
|
|
774
774
|
if (shouldWrite && legacy !== null) {
|
|
775
775
|
const legacyPath = resolveLegacyAuthStorePath(agentDir);
|
|
776
776
|
try {
|
|
777
|
-
|
|
777
|
+
fs$1.unlinkSync(legacyPath);
|
|
778
778
|
} catch (err) {
|
|
779
779
|
if (err?.code !== "ENOENT") log$6.warn("failed to delete legacy auth.json after migration", {
|
|
780
780
|
err,
|
|
@@ -962,7 +962,7 @@ function loadDotEnv(opts) {
|
|
|
962
962
|
const quiet = opts?.quiet ?? true;
|
|
963
963
|
dotenv.config({ quiet });
|
|
964
964
|
const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
|
|
965
|
-
if (!
|
|
965
|
+
if (!fs$1.existsSync(globalEnvPath)) return;
|
|
966
966
|
dotenv.config({
|
|
967
967
|
quiet,
|
|
968
968
|
path: globalEnvPath,
|
|
@@ -1085,7 +1085,7 @@ function resolveTimeoutMs(timeoutMs) {
|
|
|
1085
1085
|
function readEtcShells() {
|
|
1086
1086
|
if (cachedEtcShells !== void 0) return cachedEtcShells;
|
|
1087
1087
|
try {
|
|
1088
|
-
const entries =
|
|
1088
|
+
const entries = fs$1.readFileSync("/etc/shells", "utf8").split(/\r?\n/).map((line) => line.trim()).filter((line) => line.length > 0 && !line.startsWith("#") && path.isAbsolute(line));
|
|
1089
1089
|
cachedEtcShells = new Set(entries);
|
|
1090
1090
|
} catch {
|
|
1091
1091
|
cachedEtcShells = null;
|
|
@@ -1488,7 +1488,7 @@ function resolveActiveTalkProviderConfig(talk) {
|
|
|
1488
1488
|
};
|
|
1489
1489
|
}
|
|
1490
1490
|
function readTalkApiKeyFromProfile(deps = {}) {
|
|
1491
|
-
const fsImpl = deps.fs ??
|
|
1491
|
+
const fsImpl = deps.fs ?? fs$1;
|
|
1492
1492
|
const osImpl = deps.os ?? os;
|
|
1493
1493
|
const pathImpl = deps.path ?? path;
|
|
1494
1494
|
const home = osImpl.homedir();
|
|
@@ -2220,7 +2220,7 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
2220
2220
|
const normalized = path.normalize(resolved);
|
|
2221
2221
|
if (!isPathInside$1(this.rootDir, normalized)) throw new ConfigIncludeError(`Include path escapes config directory: ${includePath} (root: ${this.rootDir})`, includePath);
|
|
2222
2222
|
try {
|
|
2223
|
-
const real =
|
|
2223
|
+
const real = fs$1.realpathSync(normalized);
|
|
2224
2224
|
if (!isPathInside$1(this.rootRealDir, real)) throw new ConfigIncludeError(`Include path resolves outside config directory (symlink): ${includePath} (root: ${this.rootDir})`, includePath);
|
|
2225
2225
|
} catch (err) {
|
|
2226
2226
|
if (err instanceof ConfigIncludeError) throw err;
|
|
@@ -2262,13 +2262,13 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
2262
2262
|
};
|
|
2263
2263
|
function safeRealpath(target) {
|
|
2264
2264
|
try {
|
|
2265
|
-
return
|
|
2265
|
+
return fs$1.realpathSync(target);
|
|
2266
2266
|
} catch {
|
|
2267
2267
|
return target;
|
|
2268
2268
|
}
|
|
2269
2269
|
}
|
|
2270
2270
|
function readConfigIncludeFileWithGuards(params) {
|
|
2271
|
-
const ioFs = params.ioFs ??
|
|
2271
|
+
const ioFs = params.ioFs ?? fs$1;
|
|
2272
2272
|
const maxBytes = params.maxBytes ?? MAX_INCLUDE_FILE_BYTES;
|
|
2273
2273
|
if (!canUseBoundaryFileOpen(ioFs)) return ioFs.readFileSync(params.resolvedPath, "utf-8");
|
|
2274
2274
|
const opened = openBoundaryFileSync({
|
|
@@ -2291,7 +2291,7 @@ function readConfigIncludeFileWithGuards(params) {
|
|
|
2291
2291
|
}
|
|
2292
2292
|
}
|
|
2293
2293
|
const defaultResolver = {
|
|
2294
|
-
readFile: (p) =>
|
|
2294
|
+
readFile: (p) => fs$1.readFileSync(p, "utf-8"),
|
|
2295
2295
|
readFileWithGuards: ({ includePath, resolvedPath, rootRealDir }) => readConfigIncludeFileWithGuards({
|
|
2296
2296
|
includePath,
|
|
2297
2297
|
resolvedPath,
|
|
@@ -4238,8 +4238,8 @@ const DEFAULT_SAFE_BINS = [
|
|
|
4238
4238
|
];
|
|
4239
4239
|
function isExecutableFile(filePath) {
|
|
4240
4240
|
try {
|
|
4241
|
-
if (!
|
|
4242
|
-
if (process.platform !== "win32")
|
|
4241
|
+
if (!fs$1.statSync(filePath).isFile()) return false;
|
|
4242
|
+
if (process.platform !== "win32") fs$1.accessSync(filePath, fs$1.constants.X_OK);
|
|
4243
4243
|
return true;
|
|
4244
4244
|
} catch {
|
|
4245
4245
|
return false;
|
|
@@ -4283,7 +4283,7 @@ function normalizeMatchTarget(value) {
|
|
|
4283
4283
|
}
|
|
4284
4284
|
function tryRealpath(value) {
|
|
4285
4285
|
try {
|
|
4286
|
-
return
|
|
4286
|
+
return fs$1.realpathSync(value);
|
|
4287
4287
|
} catch {
|
|
4288
4288
|
return null;
|
|
4289
4289
|
}
|
|
@@ -5164,7 +5164,7 @@ function listWritableExplicitTrustedSafeBinDirs(entries) {
|
|
|
5164
5164
|
for (const dir of resolved) {
|
|
5165
5165
|
let stat;
|
|
5166
5166
|
try {
|
|
5167
|
-
stat =
|
|
5167
|
+
stat = fs$1.statSync(dir);
|
|
5168
5168
|
} catch {
|
|
5169
5169
|
continue;
|
|
5170
5170
|
}
|
|
@@ -5528,13 +5528,13 @@ function resolveBundledPluginsDir() {
|
|
|
5528
5528
|
try {
|
|
5529
5529
|
const execDir = path.dirname(process.execPath);
|
|
5530
5530
|
const sibling = path.join(execDir, "extensions");
|
|
5531
|
-
if (
|
|
5531
|
+
if (fs$1.existsSync(sibling)) return sibling;
|
|
5532
5532
|
} catch {}
|
|
5533
5533
|
try {
|
|
5534
5534
|
let cursor = path.dirname(fileURLToPath(import.meta.url));
|
|
5535
5535
|
for (let i = 0; i < 6; i += 1) {
|
|
5536
5536
|
const candidate = path.join(cursor, "extensions");
|
|
5537
|
-
if (
|
|
5537
|
+
if (fs$1.existsSync(candidate)) return candidate;
|
|
5538
5538
|
const parent = path.dirname(cursor);
|
|
5539
5539
|
if (parent === cursor) break;
|
|
5540
5540
|
cursor = parent;
|
|
@@ -5553,7 +5553,7 @@ function normalizeStringList(value) {
|
|
|
5553
5553
|
function resolvePluginManifestPath(rootDir) {
|
|
5554
5554
|
for (const filename of PLUGIN_MANIFEST_FILENAMES) {
|
|
5555
5555
|
const candidate = path.join(rootDir, filename);
|
|
5556
|
-
if (
|
|
5556
|
+
if (fs$1.existsSync(candidate)) return candidate;
|
|
5557
5557
|
}
|
|
5558
5558
|
return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
|
|
5559
5559
|
}
|
|
@@ -5578,7 +5578,7 @@ function loadPluginManifest(rootDir) {
|
|
|
5578
5578
|
}
|
|
5579
5579
|
let raw;
|
|
5580
5580
|
try {
|
|
5581
|
-
raw = JSON.parse(
|
|
5581
|
+
raw = JSON.parse(fs$1.readFileSync(opened.fd, "utf-8"));
|
|
5582
5582
|
} catch (err) {
|
|
5583
5583
|
return {
|
|
5584
5584
|
ok: false,
|
|
@@ -5586,7 +5586,7 @@ function loadPluginManifest(rootDir) {
|
|
|
5586
5586
|
manifestPath
|
|
5587
5587
|
};
|
|
5588
5588
|
} finally {
|
|
5589
|
-
|
|
5589
|
+
fs$1.closeSync(opened.fd);
|
|
5590
5590
|
}
|
|
5591
5591
|
if (!isRecord$3(raw)) return {
|
|
5592
5592
|
ok: false,
|
|
@@ -5645,7 +5645,7 @@ function safeRealpathSync(targetPath, cache) {
|
|
|
5645
5645
|
const cached = cache?.get(targetPath);
|
|
5646
5646
|
if (cached) return cached;
|
|
5647
5647
|
try {
|
|
5648
|
-
const resolved =
|
|
5648
|
+
const resolved = fs$1.realpathSync(targetPath);
|
|
5649
5649
|
cache?.set(targetPath, resolved);
|
|
5650
5650
|
return resolved;
|
|
5651
5651
|
} catch {
|
|
@@ -5654,7 +5654,7 @@ function safeRealpathSync(targetPath, cache) {
|
|
|
5654
5654
|
}
|
|
5655
5655
|
function safeStatSync(targetPath) {
|
|
5656
5656
|
try {
|
|
5657
|
-
return
|
|
5657
|
+
return fs$1.statSync(targetPath);
|
|
5658
5658
|
} catch {
|
|
5659
5659
|
return null;
|
|
5660
5660
|
}
|
|
@@ -5782,12 +5782,12 @@ function readPackageManifest(dir) {
|
|
|
5782
5782
|
});
|
|
5783
5783
|
if (!opened.ok) return null;
|
|
5784
5784
|
try {
|
|
5785
|
-
const raw =
|
|
5785
|
+
const raw = fs$1.readFileSync(opened.fd, "utf-8");
|
|
5786
5786
|
return JSON.parse(raw);
|
|
5787
5787
|
} catch {
|
|
5788
5788
|
return null;
|
|
5789
5789
|
} finally {
|
|
5790
|
-
|
|
5790
|
+
fs$1.closeSync(opened.fd);
|
|
5791
5791
|
}
|
|
5792
5792
|
}
|
|
5793
5793
|
function resolvePackageExtensions(manifest) {
|
|
@@ -5844,14 +5844,14 @@ function resolvePackageEntrySource(params) {
|
|
|
5844
5844
|
return null;
|
|
5845
5845
|
}
|
|
5846
5846
|
const safeSource = opened.path;
|
|
5847
|
-
|
|
5847
|
+
fs$1.closeSync(opened.fd);
|
|
5848
5848
|
return safeSource;
|
|
5849
5849
|
}
|
|
5850
5850
|
function discoverInDirectory(params) {
|
|
5851
|
-
if (!
|
|
5851
|
+
if (!fs$1.existsSync(params.dir)) return;
|
|
5852
5852
|
let entries = [];
|
|
5853
5853
|
try {
|
|
5854
|
-
entries =
|
|
5854
|
+
entries = fs$1.readdirSync(params.dir, { withFileTypes: true });
|
|
5855
5855
|
} catch (err) {
|
|
5856
5856
|
params.diagnostics.push({
|
|
5857
5857
|
level: "warn",
|
|
@@ -5914,7 +5914,7 @@ function discoverInDirectory(params) {
|
|
|
5914
5914
|
"index.js",
|
|
5915
5915
|
"index.mjs",
|
|
5916
5916
|
"index.cjs"
|
|
5917
|
-
].map((candidate) => path.join(fullPath, candidate)).find((candidate) =>
|
|
5917
|
+
].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fs$1.existsSync(candidate));
|
|
5918
5918
|
if (indexFile && isExtensionFile(indexFile)) addCandidate({
|
|
5919
5919
|
candidates: params.candidates,
|
|
5920
5920
|
diagnostics: params.diagnostics,
|
|
@@ -5932,7 +5932,7 @@ function discoverInDirectory(params) {
|
|
|
5932
5932
|
}
|
|
5933
5933
|
function discoverFromPath(params) {
|
|
5934
5934
|
const resolved = resolveUserPath(params.rawPath);
|
|
5935
|
-
if (!
|
|
5935
|
+
if (!fs$1.existsSync(resolved)) {
|
|
5936
5936
|
params.diagnostics.push({
|
|
5937
5937
|
level: "error",
|
|
5938
5938
|
message: `plugin path not found: ${resolved}`,
|
|
@@ -5940,7 +5940,7 @@ function discoverFromPath(params) {
|
|
|
5940
5940
|
});
|
|
5941
5941
|
return;
|
|
5942
5942
|
}
|
|
5943
|
-
const stat =
|
|
5943
|
+
const stat = fs$1.statSync(resolved);
|
|
5944
5944
|
if (stat.isFile()) {
|
|
5945
5945
|
if (!isExtensionFile(resolved)) {
|
|
5946
5946
|
params.diagnostics.push({
|
|
@@ -6000,7 +6000,7 @@ function discoverFromPath(params) {
|
|
|
6000
6000
|
"index.js",
|
|
6001
6001
|
"index.mjs",
|
|
6002
6002
|
"index.cjs"
|
|
6003
|
-
].map((candidate) => path.join(resolved, candidate)).find((candidate) =>
|
|
6003
|
+
].map((candidate) => path.join(resolved, candidate)).find((candidate) => fs$1.existsSync(candidate));
|
|
6004
6004
|
if (indexFile && isExtensionFile(indexFile)) {
|
|
6005
6005
|
addCandidate({
|
|
6006
6006
|
candidates: params.candidates,
|
|
@@ -6114,7 +6114,7 @@ function buildCacheKey(params) {
|
|
|
6114
6114
|
}
|
|
6115
6115
|
function safeStatMtimeMs(filePath) {
|
|
6116
6116
|
try {
|
|
6117
|
-
return
|
|
6117
|
+
return fs$1.statSync(filePath).mtimeMs;
|
|
6118
6118
|
} catch {
|
|
6119
6119
|
return null;
|
|
6120
6120
|
}
|
|
@@ -10617,7 +10617,7 @@ function resolveConfigPathForDeps(deps) {
|
|
|
10617
10617
|
}
|
|
10618
10618
|
function normalizeDeps(overrides = {}) {
|
|
10619
10619
|
return {
|
|
10620
|
-
fs: overrides.fs ??
|
|
10620
|
+
fs: overrides.fs ?? fs$1,
|
|
10621
10621
|
json5: overrides.json5 ?? JSON5,
|
|
10622
10622
|
env: overrides.env ?? process.env,
|
|
10623
10623
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { _ as expandHomePrefix, a as resolveCanonicalConfigPath, c as resolveDefaultConfigCandidates, d as resolveIsNixMode, f as resolveLegacyStateDirs, g as resolveStateDir, h as resolveOAuthPath, i as isNixMode, l as resolveGatewayLockDir, m as resolveOAuthDir, n as DEFAULT_GATEWAY_PORT, o as resolveConfigPath, p as resolveNewStateDir, r as STATE_DIR, s as resolveConfigPathCandidate, t as CONFIG_PATH, u as resolveGatewayPort, y as resolveRequiredHomeDir } from "./paths-Cn44w-EB.js";
|
|
3
3
|
import { D as isPlainObject$2, d as isRecord$3, g as resolveConfigDir, y as resolveUserPath } from "./utils-CXzXXV2o.js";
|
|
4
|
-
import { N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, d as resolveDefaultAgentId, i as resolveAgentConfig, o as resolveAgentEffectiveModelPrimary, u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
4
|
+
import { N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, d as resolveDefaultAgentId, i as resolveAgentConfig, o as resolveAgentEffectiveModelPrimary, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
|
|
5
5
|
import { d as CHANNEL_IDS, t as createSubsystemLogger, y as normalizeChatChannelId } from "./subsystem-CGZX2PBV.js";
|
|
6
6
|
import { _ as isBlockedObjectKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-Cuihcz_O.js";
|
|
7
|
-
import { a as openBoundaryFileSync, r as canUseBoundaryFileOpen } from "./idlehands-root-
|
|
7
|
+
import { a as openBoundaryFileSync, r as canUseBoundaryFileOpen } from "./idlehands-root-DFL2GrNW.js";
|
|
8
8
|
import { n as runExec } from "./exec-CKHMT0tZ.js";
|
|
9
9
|
import { a as saveJsonFile, i as loadJsonFile, r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-D7lpquOO.js";
|
|
10
10
|
import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
|
|
@@ -12,15 +12,15 @@ import { t as isTruthyEnvValue } from "./env-Bx-F45X5.js";
|
|
|
12
12
|
import { i as sanitizeHostExecEnv } from "./host-env-security-DkAVVuaw.js";
|
|
13
13
|
import { r as VERSION, t as applyConfigEnvVars } from "./env-vars-sTMVGyld.js";
|
|
14
14
|
import { n as isPathInside } from "./scan-paths-DE00o1Lk.js";
|
|
15
|
-
import { d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-
|
|
16
|
-
import { d as TOOLS_BY_SENDER_KEY_TYPES, f as parseToolsBySenderTypedKey } from "./dock-
|
|
15
|
+
import { d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-RfRn8HJx.js";
|
|
16
|
+
import { d as TOOLS_BY_SENDER_KEY_TYPES, f as parseToolsBySenderTypedKey } from "./dock-CzF5XYGd.js";
|
|
17
17
|
import { t as runTasksWithConcurrency } from "./run-with-concurrency-CLARJMM7.js";
|
|
18
18
|
import fs from "node:fs";
|
|
19
19
|
import os from "node:os";
|
|
20
20
|
import path from "node:path";
|
|
21
21
|
import JSON5 from "json5";
|
|
22
22
|
import { isDeepStrictEqual } from "node:util";
|
|
23
|
-
import
|
|
23
|
+
import fsPromises from "node:fs/promises";
|
|
24
24
|
import { execFileSync, execSync, spawn } from "node:child_process";
|
|
25
25
|
import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
26
26
|
import { createAssistantMessageEventStream, getEnvApiKey, getOAuthApiKey, getOAuthProviders } from "@mariozechner/pi-ai";
|
|
@@ -279,7 +279,7 @@ function computeDelayMs(retries, attempt) {
|
|
|
279
279
|
}
|
|
280
280
|
async function readLockPayload(lockPath) {
|
|
281
281
|
try {
|
|
282
|
-
const raw = await
|
|
282
|
+
const raw = await fsPromises.readFile(lockPath, "utf8");
|
|
283
283
|
const parsed = JSON.parse(raw);
|
|
284
284
|
if (typeof parsed.pid !== "number" || typeof parsed.createdAt !== "string") return null;
|
|
285
285
|
return {
|
|
@@ -293,9 +293,9 @@ async function readLockPayload(lockPath) {
|
|
|
293
293
|
async function resolveNormalizedFilePath(filePath) {
|
|
294
294
|
const resolved = path.resolve(filePath);
|
|
295
295
|
const dir = path.dirname(resolved);
|
|
296
|
-
await
|
|
296
|
+
await fsPromises.mkdir(dir, { recursive: true });
|
|
297
297
|
try {
|
|
298
|
-
const realDir = await
|
|
298
|
+
const realDir = await fsPromises.realpath(dir);
|
|
299
299
|
return path.join(realDir, path.basename(resolved));
|
|
300
300
|
} catch {
|
|
301
301
|
return resolved;
|
|
@@ -309,7 +309,7 @@ async function isStaleLock(lockPath, staleMs) {
|
|
|
309
309
|
if (!Number.isFinite(createdAt) || Date.now() - createdAt > staleMs) return true;
|
|
310
310
|
}
|
|
311
311
|
try {
|
|
312
|
-
const stat = await
|
|
312
|
+
const stat = await fsPromises.stat(lockPath);
|
|
313
313
|
return Date.now() - stat.mtimeMs > staleMs;
|
|
314
314
|
} catch {
|
|
315
315
|
return true;
|
|
@@ -322,7 +322,7 @@ async function releaseHeldLock(normalizedFile) {
|
|
|
322
322
|
if (current.count > 0) return;
|
|
323
323
|
HELD_LOCKS.delete(normalizedFile);
|
|
324
324
|
await current.handle.close().catch(() => void 0);
|
|
325
|
-
await
|
|
325
|
+
await fsPromises.rm(current.lockPath, { force: true }).catch(() => void 0);
|
|
326
326
|
}
|
|
327
327
|
async function acquireFileLock(filePath, options) {
|
|
328
328
|
const normalizedFile = await resolveNormalizedFilePath(filePath);
|
|
@@ -337,7 +337,7 @@ async function acquireFileLock(filePath, options) {
|
|
|
337
337
|
}
|
|
338
338
|
const attempts = Math.max(1, options.retries.retries + 1);
|
|
339
339
|
for (let attempt = 0; attempt < attempts; attempt += 1) try {
|
|
340
|
-
const handle = await
|
|
340
|
+
const handle = await fsPromises.open(lockPath, "wx");
|
|
341
341
|
await handle.writeFile(JSON.stringify({
|
|
342
342
|
pid: process.pid,
|
|
343
343
|
createdAt: (/* @__PURE__ */ new Date()).toISOString()
|
|
@@ -354,7 +354,7 @@ async function acquireFileLock(filePath, options) {
|
|
|
354
354
|
} catch (err) {
|
|
355
355
|
if (err.code !== "EEXIST") throw err;
|
|
356
356
|
if (await isStaleLock(lockPath, options.stale)) {
|
|
357
|
-
await
|
|
357
|
+
await fsPromises.rm(lockPath, { force: true }).catch(() => void 0);
|
|
358
358
|
continue;
|
|
359
359
|
}
|
|
360
360
|
if (attempt >= attempts - 1) break;
|
|
@@ -10682,7 +10682,7 @@ function createIcaclsResetCommand(targetPath, opts) {
|
|
|
10682
10682
|
//#region src/security/audit-fs.ts
|
|
10683
10683
|
async function safeStat(targetPath) {
|
|
10684
10684
|
try {
|
|
10685
|
-
const lst = await
|
|
10685
|
+
const lst = await fsPromises.lstat(targetPath);
|
|
10686
10686
|
return {
|
|
10687
10687
|
ok: true,
|
|
10688
10688
|
isSymlink: lst.isSymbolicLink(),
|
|
@@ -10721,7 +10721,7 @@ async function inspectPathPermissions(targetPath, opts) {
|
|
|
10721
10721
|
let effectiveMode = st.mode;
|
|
10722
10722
|
let effectiveIsDir = st.isDir;
|
|
10723
10723
|
if (st.isSymlink) try {
|
|
10724
|
-
const target = await
|
|
10724
|
+
const target = await fsPromises.stat(targetPath);
|
|
10725
10725
|
effectiveMode = typeof target.mode === "number" ? target.mode : st.mode;
|
|
10726
10726
|
effectiveIsDir = target.isDirectory();
|
|
10727
10727
|
} catch {}
|
|
@@ -10920,7 +10920,7 @@ async function assertSecurePath(params) {
|
|
|
10920
10920
|
if (stat.isSymlink) {
|
|
10921
10921
|
if (!params.allowSymlinkPath) throw new Error(`${params.label} must not be a symlink: ${effectivePath}`);
|
|
10922
10922
|
try {
|
|
10923
|
-
effectivePath = await
|
|
10923
|
+
effectivePath = await fsPromises.realpath(effectivePath);
|
|
10924
10924
|
} catch {
|
|
10925
10925
|
throw new Error(`${params.label} symlink target is not readable: ${params.targetPath}`);
|
|
10926
10926
|
}
|
|
@@ -10968,7 +10968,7 @@ async function readFileProviderPayload(params) {
|
|
|
10968
10968
|
}, timeoutMs);
|
|
10969
10969
|
});
|
|
10970
10970
|
try {
|
|
10971
|
-
const payload = await Promise.race([
|
|
10971
|
+
const payload = await Promise.race([fsPromises.readFile(secureFilePath, { signal: abortController.signal }), timeoutPromise]);
|
|
10972
10972
|
if (payload.byteLength > maxBytes) throw new Error(`File provider "${params.providerName}" exceeded maxBytes (${maxBytes}).`);
|
|
10973
10973
|
const text = payload.toString("utf8");
|
|
10974
10974
|
if (params.providerConfig.mode === "singleValue") return text.replace(/\r?\n$/, "");
|