@visorcraft/idlehands 4.0.21 → 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-DLTODa_Z.js → accounts-D-hQsUw-.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-via-gateway-DHn8V6v4.js → agent-via-gateway-CM7X6sKJ.js} +7 -7
- package/dist/{agent-via-gateway-CUQG6kii.js → agent-via-gateway-bS6seBwg.js} +4 -4
- package/dist/{agent-via-gateway-Cn3iNSod.js → agent-via-gateway-igDg7ko6.js} +7 -7
- package/dist/{agents.config-CHtoYxr6.js → agents.config-CPUPtcKt.js} +2 -2
- package/dist/{anton-Dyz3neEN.js → anton-C7-Qxyij.js} +1 -1
- package/dist/{anton-x7f6kIFP.js → anton-D9tZAGaj.js} +20 -20
- package/dist/{anton-hH1PyE2C.js → anton-ONYQUE8F.js} +1 -1
- package/dist/{api-key-rotation-B-FTJm5p.js → api-key-rotation-nXQVJErE.js} +1 -1
- package/dist/{audio-preflight-vD3mDc6w.js → audio-preflight-CSSlgO89.js} +4 -4
- package/dist/{audio-preflight-Dl1TO10w.js → audio-preflight-DzjXupNO.js} +31 -31
- package/dist/{audio-preflight-B8qbJcB1.js → audio-preflight-qkU2lsDn.js} +4 -4
- 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-DDzIMy8_.js → auth-store-CMyrmmSF.js} +7 -7
- package/dist/{auth-token-BJq87X3o.js → auth-token-fKt_cHOj.js} +1 -1
- 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 +7 -7
- package/dist/bundled/session-memory/handler.js +7 -7
- 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-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-xahUzIaT.js → chrome-CT_a9OgI.js} +9 -9
- package/dist/{chrome-DEnkfZ9p.js → chrome-Do5potHV.js} +9 -9
- package/dist/{chrome-VBsQfIrt.js → chrome-YguTEaLx.js} +2 -2
- 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/{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-CIFO6sel.js → deliver-Db2xqgLg.js} +1 -1
- package/dist/{deliver-5FLCa6tB.js → deliver-whAbSPLk.js} +1 -1
- package/dist/{deliver--kttnrER.js → deliver-yTpXc5sv.js} +7 -7
- package/dist/{deps-CwPrf7RC.js → deps-BotXja4Z.js} +6 -6
- package/dist/{deps-DwTILPLD.js → deps-CC5E5LXB.js} +1 -1
- package/dist/{deps-BbipxGPW.js → deps-DR1eh_L_.js} +1 -1
- package/dist/{devices-cli-DKK65S9Z.js → devices-cli-B7fkQKei.js} +7 -7
- 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/{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-Lj33jqJJ.js → emergency-stop-ChBe32HN.js} +7 -7
- package/dist/{emergency-stop-DpNGtfb4.js → emergency-stop-DtVFxCO1.js} +70 -70
- package/dist/{emergency-stop-C2sJ4lsk.js → emergency-stop-DyQna_P0.js} +7 -7
- package/dist/{enable-o_s6PBsC.js → enable-DaA_orGN.js} +1 -1
- package/dist/entry.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/extensionAPI.js +7 -7
- 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/{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-C_aN5P6-.js → image-BAsQlUqT.js} +1 -1
- package/dist/{image-DSDEbSiO.js → image-C2JZiK-6.js} +5 -5
- package/dist/{image-D9D-lzCw.js → image-Dlu13Ebx.js} +1 -1
- package/dist/{image-ops-BU-VdLZu.js → image-ops-BkoEFRYH.js} +10 -10
- 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-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 +7 -7
- package/dist/{local-roots-q0xbefkf.js → local-roots-Cco87A2_.js} +2 -2
- 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/{logs-cli-4VQ9Iwiw.js → logs-cli-DHCG25JA.js} +8 -8
- package/dist/{manager-BMAFgXyU.js → manager-BBeTPO2h.js} +13 -13
- 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/{memory-cli-CUGwnVIY.js → memory-cli-4wfelGdK.js} +12 -12
- 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-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-attachment-Bot3bRnK.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-safety-DwibX65n.js → path-safety-C1Y004P_.js} +1 -1
- package/dist/{paths-B-CLQ5RT.js → paths-Bt0fZexW.js} +9 -9
- package/dist/{pi-embedded-Bc4KWuTe.js → pi-embedded-DMx6rHVL.js} +26 -26
- package/dist/{pi-embedded-helpers-CUoUoEEN.js → pi-embedded-helpers-B3ceCcxm.js} +4 -4
- package/dist/{pi-embedded-helpers-BCsfqpDt.js → pi-embedded-helpers-BkzrQ5bZ.js} +6 -6
- package/dist/{pi-embedded-helpers-C2j0LfJC.js → pi-embedded-helpers-Ct2rwp-P.js} +4 -4
- package/dist/{pi-embedded-k2mZJOsr.js → pi-embedded-mKozULng.js} +26 -26
- package/dist/{pi-model-discovery-BIP3RjXl.js → pi-model-discovery-Bt79ifyi.js} +1 -1
- 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-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-CnvVtt_s.js → pw-ai-DIV4PcIo.js} +1 -1
- package/dist/{pw-ai-DjmrIQle.js → pw-ai-yrIWfcWX.js} +1 -1
- 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-Clts_AGz.js → query-expansion-i5I3yavb.js} +12 -12
- 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-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/{resolve-route-D_AbcmD6.js → resolve-route-Ef_Yt2Dw.js} +2 -2
- 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-DjDddZhb.js → runner-BkCU-kqs.js} +1 -1
- package/dist/{runner-CZW_eyf2.js → runner-Bv_BA3vd.js} +1 -1
- 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-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/{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/{sessions-BtPXimXQ.js → sessions-BqWocozB.js} +14 -14
- package/dist/{shared-CpDPo3hJ.js → shared-DnQ4iyXk.js} +2 -2
- package/dist/{shared-DpLSpJIl.js → shared-Jzrx8DfN.js} +1 -1
- 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/{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/{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/{target-errors-bLIVFsbF.js → target-errors-BYuWhuLU.js} +4 -4
- package/dist/{tool-images-CHqepyF_.js → tool-images-DZHrc4pq.js} +1 -1
- 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/{web-t3fXJTeB.js → web-BuIXrrsp.js} +8 -8
- package/dist/{web-DiqHxfw7.js → web-BxegDO-S.js} +8 -8
- package/dist/web-DESq0zCM.js +123 -0
- package/dist/{webhooks-cli-2N03q0iY.js → webhooks-cli-BnmVPYkU.js} +6 -6
- 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/{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 +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/register.configure-k8gocsJw.js +0 -168
- package/dist/web-BV-BEZj6.js +0 -123
package/dist/index.js
CHANGED
|
@@ -2,133 +2,133 @@
|
|
|
2
2
|
import "./paths-Cn44w-EB.js";
|
|
3
3
|
import { B as theme, P as setVerbose, Q as tryParseLogLevel, T as toWhatsappJid, Y as ALLOWED_LOG_LEVELS, l as escapeRegExp, m as normalizeE164, n as assertWebChannel, z as isRich } from "./utils-CXzXXV2o.js";
|
|
4
4
|
import "./thinking-EAliFiVK.js";
|
|
5
|
-
import { Ct as resolveCommitHash, t as getReplyFromConfig } from "./reply-
|
|
6
|
-
import "./agent-scope-
|
|
5
|
+
import { Ct as resolveCommitHash, t as getReplyFromConfig } from "./reply-CdFdL9nL.js";
|
|
6
|
+
import "./agent-scope-Bn39ugK4.js";
|
|
7
7
|
import { r as enableConsoleCapture, u as visibleWidth } from "./subsystem-CGZX2PBV.js";
|
|
8
8
|
import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
|
|
9
|
-
import "./idlehands-root-
|
|
9
|
+
import "./idlehands-root-DFL2GrNW.js";
|
|
10
10
|
import { n as runExec, t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
|
|
11
|
-
import { It as loadConfig, yr as loadDotEnv } from "./model-selection-
|
|
11
|
+
import { It as loadConfig, yr as loadDotEnv } from "./model-selection-CSn9tUuH.js";
|
|
12
12
|
import "./github-copilot-token-D7lpquOO.js";
|
|
13
13
|
import { n as replaceCliName, r as resolveCliName } from "./command-format-DInZLuZ8.js";
|
|
14
14
|
import "./boolean-BsqeuxE6.js";
|
|
15
15
|
import { r as normalizeEnv, t as isTruthyEnvValue } from "./env-Bx-F45X5.js";
|
|
16
16
|
import "./host-env-security-DkAVVuaw.js";
|
|
17
17
|
import { r as VERSION } from "./env-vars-sTMVGyld.js";
|
|
18
|
-
import "./manifest-registry-
|
|
19
|
-
import "./dock-
|
|
18
|
+
import "./manifest-registry-RfRn8HJx.js";
|
|
19
|
+
import "./dock-CzF5XYGd.js";
|
|
20
20
|
import "./message-channel-DVauVtrg.js";
|
|
21
|
-
import "./send-
|
|
22
|
-
import { _ as applyTemplate, u as installUnhandledRejectionHandler } from "./runner-
|
|
23
|
-
import "./image-
|
|
24
|
-
import "./models-config-
|
|
25
|
-
import "./pi-model-discovery-
|
|
26
|
-
import "./pi-embedded-helpers-
|
|
27
|
-
import "./sandbox-
|
|
21
|
+
import "./send-CVIXqubC.js";
|
|
22
|
+
import { _ as applyTemplate, u as installUnhandledRejectionHandler } from "./runner-BFG54hnb.js";
|
|
23
|
+
import "./image-C2JZiK-6.js";
|
|
24
|
+
import "./models-config-lQpqp472.js";
|
|
25
|
+
import "./pi-model-discovery-Bt79ifyi.js";
|
|
26
|
+
import "./pi-embedded-helpers-BkzrQ5bZ.js";
|
|
27
|
+
import "./sandbox-CfPbhDY_.js";
|
|
28
28
|
import "./tool-catalog-4_Wxc542.js";
|
|
29
|
-
import "./chrome-
|
|
29
|
+
import "./chrome-YguTEaLx.js";
|
|
30
30
|
import { l as ensureBinary, u as promptYesNo } from "./tailscale-B5Irc_Bi.js";
|
|
31
31
|
import "./ip-DJ5wsTQn.js";
|
|
32
32
|
import "./tailnet-C9lH_YnG.js";
|
|
33
33
|
import "./ws-XBTtYpJc.js";
|
|
34
34
|
import "./auth-heRVBxh2.js";
|
|
35
|
-
import "./server-context-
|
|
35
|
+
import "./server-context-BxNSTpH6.js";
|
|
36
36
|
import "./frontmatter-D-sQ_Hqk.js";
|
|
37
|
-
import "./skills-
|
|
38
|
-
import "./path-alias-guards-
|
|
39
|
-
import "./paths-
|
|
37
|
+
import "./skills-TIyQDZx7.js";
|
|
38
|
+
import "./path-alias-guards-BCskHdfJ.js";
|
|
39
|
+
import "./paths-Bt0fZexW.js";
|
|
40
40
|
import "./redact-B_4KNlXs.js";
|
|
41
41
|
import { r as formatUncaughtError } from "./errors-DZDuPc3M.js";
|
|
42
|
-
import "./fs-safe-
|
|
42
|
+
import "./fs-safe-DNFrxDS-.js";
|
|
43
43
|
import "./ssrf-Dw9zzKSM.js";
|
|
44
|
-
import "./image-ops-
|
|
45
|
-
import "./store-
|
|
46
|
-
import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-
|
|
44
|
+
import "./image-ops-BkoEFRYH.js";
|
|
45
|
+
import "./store-CLNuI8-G.js";
|
|
46
|
+
import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-DWJO5S52.js";
|
|
47
47
|
import "./trash-CUFiyQN5.js";
|
|
48
48
|
import "./server-middleware-BC21xYvr.js";
|
|
49
|
-
import { B as deriveSessionKey, V as resolveSessionKey, c as loadSessionStore, p as saveSessionStore } from "./sessions-
|
|
50
|
-
import "./plugins-
|
|
51
|
-
import "./accounts-
|
|
52
|
-
import "./accounts-
|
|
53
|
-
import "./accounts-
|
|
54
|
-
import "./bindings-
|
|
49
|
+
import { B as deriveSessionKey, V as resolveSessionKey, c as loadSessionStore, p as saveSessionStore } from "./sessions-BqWocozB.js";
|
|
50
|
+
import "./plugins-B4hASNc2.js";
|
|
51
|
+
import "./accounts-D-hQsUw-.js";
|
|
52
|
+
import "./accounts-DsVN0UNw.js";
|
|
53
|
+
import "./accounts-D87a1Y_K.js";
|
|
54
|
+
import "./bindings-DZjkLUU_.js";
|
|
55
55
|
import "./logging-q4KyMmY-.js";
|
|
56
|
-
import "./auth-store-
|
|
57
|
-
import "./send-
|
|
56
|
+
import "./auth-store-CMyrmmSF.js";
|
|
57
|
+
import "./send-BPwTl4-K.js";
|
|
58
58
|
import { u as resolveStorePath } from "./paths-DRz46q00.js";
|
|
59
59
|
import "./chat-envelope-Bebo3vwl.js";
|
|
60
|
-
import "./tool-images-
|
|
60
|
+
import "./tool-images-DZHrc4pq.js";
|
|
61
61
|
import "./tool-display-Dac7lHGW.js";
|
|
62
62
|
import "./fetch-guard-yUZu1Vzc.js";
|
|
63
|
-
import "./api-key-rotation-
|
|
64
|
-
import "./local-roots-
|
|
65
|
-
import "./model-catalog-
|
|
63
|
+
import "./api-key-rotation-nXQVJErE.js";
|
|
64
|
+
import "./local-roots-Cco87A2_.js";
|
|
65
|
+
import "./model-catalog-BCsDrrvq.js";
|
|
66
66
|
import "./tokens-Dg-QZ_pN.js";
|
|
67
|
-
import "./deliver
|
|
68
|
-
import "./commands-
|
|
69
|
-
import "./commands-registry-
|
|
70
|
-
import "./client-
|
|
71
|
-
import "./call-
|
|
72
|
-
import "./pairing-token-
|
|
67
|
+
import "./deliver-yTpXc5sv.js";
|
|
68
|
+
import "./commands-D3BU_t7G.js";
|
|
69
|
+
import "./commands-registry-Cj4D_1tw.js";
|
|
70
|
+
import "./client-Dl5EAvfO.js";
|
|
71
|
+
import "./call-Du-oBD99.js";
|
|
72
|
+
import "./pairing-token-3hoCgQqp.js";
|
|
73
73
|
import "./fetch-CYe1ekSh.js";
|
|
74
74
|
import "./retry-Db05aSB8.js";
|
|
75
|
-
import "./pairing-store-
|
|
75
|
+
import "./pairing-store-qvpPoWL_.js";
|
|
76
76
|
import "./exec-approvals-C2s2dPha.js";
|
|
77
|
-
import "./exec-approvals-allowlist-
|
|
78
|
-
import "./exec-safe-bin-runtime-policy-
|
|
79
|
-
import "./nodes-screen-
|
|
80
|
-
import "./target-errors-
|
|
77
|
+
import "./exec-approvals-allowlist-8AkOwwIr.js";
|
|
78
|
+
import "./exec-safe-bin-runtime-policy-DYXuBKqH.js";
|
|
79
|
+
import "./nodes-screen-CIAn0wXq.js";
|
|
80
|
+
import "./target-errors-BYuWhuLU.js";
|
|
81
81
|
import "./diagnostic-session-state-CJHdRyOy.js";
|
|
82
|
-
import "./with-timeout-
|
|
82
|
+
import "./with-timeout-BodPmGCY.js";
|
|
83
83
|
import "./diagnostic-ByHpt6q8.js";
|
|
84
|
-
import "./send
|
|
85
|
-
import "./model-
|
|
86
|
-
import "./reply-prefix-
|
|
87
|
-
import "./memory-cli-
|
|
88
|
-
import "./manager-
|
|
89
|
-
import "./query-expansion-
|
|
84
|
+
import "./send-DDMaLJAQ.js";
|
|
85
|
+
import "./model-Bd-05WpB.js";
|
|
86
|
+
import "./reply-prefix-BMEdvSpA.js";
|
|
87
|
+
import "./memory-cli-4wfelGdK.js";
|
|
88
|
+
import "./manager-BBeTPO2h.js";
|
|
89
|
+
import "./query-expansion-i5I3yavb.js";
|
|
90
90
|
import "./chunk-ClMFHJu-.js";
|
|
91
|
-
import "./markdown-tables-
|
|
92
|
-
import "./ir-
|
|
91
|
+
import "./markdown-tables-C5hTDqNm.js";
|
|
92
|
+
import "./ir-DV0Hszc8.js";
|
|
93
93
|
import "./render-DC4qnRqG.js";
|
|
94
|
-
import "./pi-tools.policy-
|
|
94
|
+
import "./pi-tools.policy-B_ME3yF6.js";
|
|
95
95
|
import "./channel-activity-DaCsrdWK.js";
|
|
96
|
-
import "./tables-
|
|
97
|
-
import "./send-
|
|
96
|
+
import "./tables-CZSD889r.js";
|
|
97
|
+
import "./send-BCPkAE2k.js";
|
|
98
98
|
import "./proxy-yk1Oqe9p.js";
|
|
99
99
|
import { t as formatDocsLink } from "./links-15764jZB.js";
|
|
100
100
|
import "./cli-utils-CH2y4E2f.js";
|
|
101
101
|
import "./help-format-CMAqOikG.js";
|
|
102
102
|
import "./progress-BQLz1r3L.js";
|
|
103
|
-
import "./resolve-route-
|
|
104
|
-
import "./replies-
|
|
105
|
-
import "./skill-commands-
|
|
106
|
-
import "./workspace-dirs-
|
|
107
|
-
import { t as createDefaultDeps } from "./deps-
|
|
108
|
-
import "./plugin-auto-enable-
|
|
109
|
-
import "./channel-selection-
|
|
110
|
-
import "./outbound-attachment-
|
|
103
|
+
import "./resolve-route-Ef_Yt2Dw.js";
|
|
104
|
+
import "./replies-Czp4hvpS.js";
|
|
105
|
+
import "./skill-commands-BwIRWSCI.js";
|
|
106
|
+
import "./workspace-dirs-D3bousoX.js";
|
|
107
|
+
import { t as createDefaultDeps } from "./deps-BotXja4Z.js";
|
|
108
|
+
import "./plugin-auto-enable-BMuSi4aV.js";
|
|
109
|
+
import "./channel-selection-3jUl-PyW.js";
|
|
110
|
+
import "./outbound-attachment-jYdMgCml.js";
|
|
111
111
|
import "./delivery-queue-BvDRo8CK.js";
|
|
112
112
|
import "./session-cost-usage-DS1rjzML.js";
|
|
113
|
-
import "./send-
|
|
114
|
-
import "./onboard-helpers-
|
|
113
|
+
import "./send-CEavqqEz.js";
|
|
114
|
+
import "./onboard-helpers-CdzbIhrm.js";
|
|
115
115
|
import "./prompt-style-kmKiCZnm.js";
|
|
116
|
-
import "./pairing-labels-
|
|
117
|
-
import "./server-lifecycle-
|
|
116
|
+
import "./pairing-labels-DuZ7ih-T.js";
|
|
117
|
+
import "./server-lifecycle-CGKrGrhM.js";
|
|
118
118
|
import "./stagger-rQoQSWkz.js";
|
|
119
|
-
import "./system-run-command-
|
|
120
|
-
import { r as waitForever, t as monitorWebChannel } from "./channel-web-
|
|
121
|
-
import "./outbound-
|
|
122
|
-
import "./session-
|
|
123
|
-
import "./login-
|
|
119
|
+
import "./system-run-command-BIhrK3OI.js";
|
|
120
|
+
import { r as waitForever, t as monitorWebChannel } from "./channel-web-CzrJ-6X4.js";
|
|
121
|
+
import "./outbound-CG19kl0w.js";
|
|
122
|
+
import "./session-BKVySI8q.js";
|
|
123
|
+
import "./login-Dl_lsEHS.js";
|
|
124
124
|
import { t as isMainModule } from "./is-main-DxnLDMqD.js";
|
|
125
125
|
import { t as ensureIdleHandsCliOnPath } from "./path-env-CKSLQUS1.js";
|
|
126
126
|
import { t as assertSupportedRuntime } from "./runtime-guard-X6f4YmTM.js";
|
|
127
|
-
import "./ports-
|
|
127
|
+
import "./ports-B07M55Gr.js";
|
|
128
128
|
import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-BWjW98Xn.js";
|
|
129
|
-
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-
|
|
130
|
-
import "./plugin-registry-
|
|
131
|
-
import { n as resolveCliChannelOptions } from "./channel-options-
|
|
129
|
+
import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-B_byBfwR.js";
|
|
130
|
+
import "./plugin-registry-BIoGoN5y.js";
|
|
131
|
+
import { n as resolveCliChannelOptions } from "./channel-options-B1cfZ5uQ.js";
|
|
132
132
|
import process$1 from "node:process";
|
|
133
133
|
import { fileURLToPath } from "node:url";
|
|
134
134
|
import { Command, InvalidArgumentError } from "commander";
|
|
@@ -553,13 +553,13 @@ function registerPreActionHooks(program, programVersion) {
|
|
|
553
553
|
if (cliLogLevel) process.env.IDLEHANDS_LOG_LEVEL = cliLogLevel;
|
|
554
554
|
if (!verbose) process.env.NODE_NO_WARNINGS ??= "1";
|
|
555
555
|
if (CONFIG_GUARD_BYPASS_COMMANDS.has(commandPath[0])) return;
|
|
556
|
-
const { ensureConfigReady } = await import("./config-guard-
|
|
556
|
+
const { ensureConfigReady } = await import("./config-guard-DnAyuF6T.js");
|
|
557
557
|
await ensureConfigReady({
|
|
558
558
|
runtime: defaultRuntime,
|
|
559
559
|
commandPath
|
|
560
560
|
});
|
|
561
561
|
if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
|
|
562
|
-
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-
|
|
562
|
+
const { ensurePluginRegistryLoaded } = await import("./plugin-registry-BIoGoN5y.js").then((n) => n.n);
|
|
563
563
|
ensurePluginRegistryLoaded();
|
|
564
564
|
}
|
|
565
565
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, n as GATEWAY_SERVICE_KIND, p as resolveGatewayWindowsTaskName, r as GATEWAY_SERVICE_MARKER } from "./constants-Z_TnY4pX.js";
|
|
2
|
-
import { n as execSchtasks } from "./service-
|
|
2
|
+
import { n as execSchtasks } from "./service-Bj2oSfpw.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsPromises from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/daemon/inspect.ts
|
|
7
7
|
const EXTRA_MARKERS = ["idlehands"];
|
|
@@ -71,14 +71,14 @@ function isLegacyLabel(label) {
|
|
|
71
71
|
}
|
|
72
72
|
async function readDirEntries(dir) {
|
|
73
73
|
try {
|
|
74
|
-
return await
|
|
74
|
+
return await fsPromises.readdir(dir);
|
|
75
75
|
} catch {
|
|
76
76
|
return [];
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
async function readUtf8File(filePath) {
|
|
80
80
|
try {
|
|
81
|
-
return await
|
|
81
|
+
return await fsPromises.readFile(filePath, "utf8");
|
|
82
82
|
} catch {
|
|
83
83
|
return null;
|
|
84
84
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { d as isNotFoundPathError, f as isPathInside, p as isSymlinkOpenError } from "./idlehands-root-
|
|
2
|
-
import { n as resolveSafeBaseDir } from "./path-safety-
|
|
1
|
+
import { d as isNotFoundPathError, f as isPathInside, p as isSymlinkOpenError } from "./idlehands-root-DFL2GrNW.js";
|
|
2
|
+
import { n as resolveSafeBaseDir } from "./path-safety-C1Y004P_.js";
|
|
3
3
|
import { constants } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
|
-
import
|
|
5
|
+
import fsPromises from "node:fs/promises";
|
|
6
6
|
import { createHash } from "node:crypto";
|
|
7
7
|
import { pipeline } from "node:stream/promises";
|
|
8
8
|
import { Readable, Transform } from "node:stream";
|
|
@@ -79,9 +79,9 @@ function resolveArchiveKind(filePath) {
|
|
|
79
79
|
async function resolvePackedRootDir(extractDir) {
|
|
80
80
|
const direct = path.join(extractDir, "package");
|
|
81
81
|
try {
|
|
82
|
-
if ((await
|
|
82
|
+
if ((await fsPromises.stat(direct)).isDirectory()) return direct;
|
|
83
83
|
} catch {}
|
|
84
|
-
const dirs = (await
|
|
84
|
+
const dirs = (await fsPromises.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
|
|
85
85
|
if (dirs.length !== 1) throw new Error(`unexpected archive layout (dirs: ${dirs.join(", ")})`);
|
|
86
86
|
const onlyDir = dirs[0];
|
|
87
87
|
if (!onlyDir) throw new Error("unexpected archive layout (no package dir found)");
|
|
@@ -151,10 +151,10 @@ function symlinkTraversalError(originalPath) {
|
|
|
151
151
|
return new ArchiveSecurityError("destination-symlink-traversal", `${ERROR_ARCHIVE_ENTRY_TRAVERSES_SYMLINK}: ${originalPath}`);
|
|
152
152
|
}
|
|
153
153
|
async function assertDestinationDirReady(destDir) {
|
|
154
|
-
const stat = await
|
|
154
|
+
const stat = await fsPromises.lstat(destDir);
|
|
155
155
|
if (stat.isSymbolicLink()) throw new ArchiveSecurityError("destination-symlink", "archive destination is a symlink");
|
|
156
156
|
if (!stat.isDirectory()) throw new ArchiveSecurityError("destination-not-directory", "archive destination is not a directory");
|
|
157
|
-
return await
|
|
157
|
+
return await fsPromises.realpath(destDir);
|
|
158
158
|
}
|
|
159
159
|
async function assertNoSymlinkTraversal(params) {
|
|
160
160
|
const parts = params.relPath.split("/").filter(Boolean);
|
|
@@ -163,7 +163,7 @@ async function assertNoSymlinkTraversal(params) {
|
|
|
163
163
|
current = path.join(current, part);
|
|
164
164
|
let stat;
|
|
165
165
|
try {
|
|
166
|
-
stat = await
|
|
166
|
+
stat = await fsPromises.lstat(current);
|
|
167
167
|
} catch (err) {
|
|
168
168
|
if (isNotFoundPathError(err)) continue;
|
|
169
169
|
throw err;
|
|
@@ -174,7 +174,7 @@ async function assertNoSymlinkTraversal(params) {
|
|
|
174
174
|
async function assertResolvedInsideDestination(params) {
|
|
175
175
|
let resolved;
|
|
176
176
|
try {
|
|
177
|
-
resolved = await
|
|
177
|
+
resolved = await fsPromises.realpath(params.targetPath);
|
|
178
178
|
} catch (err) {
|
|
179
179
|
if (isNotFoundPathError(err)) return;
|
|
180
180
|
throw err;
|
|
@@ -183,7 +183,7 @@ async function assertResolvedInsideDestination(params) {
|
|
|
183
183
|
}
|
|
184
184
|
async function openZipOutputFile(outPath, originalPath) {
|
|
185
185
|
try {
|
|
186
|
-
return await
|
|
186
|
+
return await fsPromises.open(outPath, OPEN_WRITE_FLAGS, 438);
|
|
187
187
|
} catch (err) {
|
|
188
188
|
if (isSymlinkOpenError(err)) throw symlinkTraversalError(originalPath);
|
|
189
189
|
throw err;
|
|
@@ -192,12 +192,12 @@ async function openZipOutputFile(outPath, originalPath) {
|
|
|
192
192
|
async function cleanupPartialRegularFile(filePath) {
|
|
193
193
|
let stat;
|
|
194
194
|
try {
|
|
195
|
-
stat = await
|
|
195
|
+
stat = await fsPromises.lstat(filePath);
|
|
196
196
|
} catch (err) {
|
|
197
197
|
if (isNotFoundPathError(err)) return;
|
|
198
198
|
throw err;
|
|
199
199
|
}
|
|
200
|
-
if (stat.isFile()) await
|
|
200
|
+
if (stat.isFile()) await fsPromises.unlink(filePath).catch(() => void 0);
|
|
201
201
|
}
|
|
202
202
|
async function readZipEntryStream(entry) {
|
|
203
203
|
if (typeof entry.nodeStream === "function") return entry.nodeStream();
|
|
@@ -225,7 +225,7 @@ async function prepareZipOutputPath(params) {
|
|
|
225
225
|
originalPath: params.originalPath
|
|
226
226
|
});
|
|
227
227
|
if (params.isDirectory) {
|
|
228
|
-
await
|
|
228
|
+
await fsPromises.mkdir(params.outPath, { recursive: true });
|
|
229
229
|
await assertResolvedInsideDestination({
|
|
230
230
|
destinationRealDir: params.destinationRealDir,
|
|
231
231
|
targetPath: params.outPath,
|
|
@@ -234,7 +234,7 @@ async function prepareZipOutputPath(params) {
|
|
|
234
234
|
return;
|
|
235
235
|
}
|
|
236
236
|
const parentDir = path.dirname(params.outPath);
|
|
237
|
-
await
|
|
237
|
+
await fsPromises.mkdir(parentDir, { recursive: true });
|
|
238
238
|
await assertResolvedInsideDestination({
|
|
239
239
|
destinationRealDir: params.destinationRealDir,
|
|
240
240
|
targetPath: parentDir,
|
|
@@ -254,14 +254,14 @@ async function writeZipFileEntry(params) {
|
|
|
254
254
|
}
|
|
255
255
|
if (typeof params.entry.unixPermissions === "number") {
|
|
256
256
|
const mode = params.entry.unixPermissions & 511;
|
|
257
|
-
if (mode !== 0) await
|
|
257
|
+
if (mode !== 0) await fsPromises.chmod(params.outPath, mode).catch(() => void 0);
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
async function extractZip(params) {
|
|
261
261
|
const limits = resolveExtractLimits(params.limits);
|
|
262
262
|
const destinationRealDir = await assertDestinationDirReady(params.destDir);
|
|
263
|
-
if ((await
|
|
264
|
-
const buffer = await
|
|
263
|
+
if ((await fsPromises.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
|
|
264
|
+
const buffer = await fsPromises.readFile(params.archivePath);
|
|
265
265
|
const zip = await JSZip.loadAsync(buffer);
|
|
266
266
|
const entries = Object.values(zip.files);
|
|
267
267
|
const strip = Math.max(0, Math.floor(params.stripComponents ?? 0));
|
|
@@ -346,14 +346,14 @@ async function extractArchive(params) {
|
|
|
346
346
|
}
|
|
347
347
|
async function fileExists(filePath) {
|
|
348
348
|
try {
|
|
349
|
-
await
|
|
349
|
+
await fsPromises.stat(filePath);
|
|
350
350
|
return true;
|
|
351
351
|
} catch {
|
|
352
352
|
return false;
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
355
|
async function readJsonFile(filePath) {
|
|
356
|
-
const raw = await
|
|
356
|
+
const raw = await fsPromises.readFile(filePath, "utf-8");
|
|
357
357
|
return JSON.parse(raw);
|
|
358
358
|
}
|
|
359
359
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-CXzXXV2o.js";
|
|
2
2
|
import { n as isPathInside, t as extensionUsesSkippedScannerPath } from "./scan-paths-DE00o1Lk.js";
|
|
3
|
-
import { o as loadPluginManifest } from "./manifest-registry-
|
|
3
|
+
import { o as loadPluginManifest } from "./manifest-registry-RfRn8HJx.js";
|
|
4
4
|
import { n as MANIFEST_KEY } from "./legacy-names-DB161qHh.js";
|
|
5
|
-
import { c as resolveArchiveKind, i as unscopedPackageName, n as safeDirName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-
|
|
6
|
-
import { a as resolveInstallModeOptions, c as withExtractedArchiveRoot, i as installPackageDir, l as resolveArchiveSourcePath, n as finalizeNpmSpecArchiveInstall, o as resolveTimedInstallModeOptions, r as installFromNpmSpecArchiveWithInstaller, s as resolveExistingInstallPath, t as validateRegistryNpmSpec } from "./npm-registry-spec-
|
|
7
|
-
import { t as scanDirectoryWithSummary } from "./skill-scanner-
|
|
5
|
+
import { c as resolveArchiveKind, i as unscopedPackageName, n as safeDirName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-CNNMzJl9.js";
|
|
6
|
+
import { a as resolveInstallModeOptions, c as withExtractedArchiveRoot, i as installPackageDir, l as resolveArchiveSourcePath, n as finalizeNpmSpecArchiveInstall, o as resolveTimedInstallModeOptions, r as installFromNpmSpecArchiveWithInstaller, s as resolveExistingInstallPath, t as validateRegistryNpmSpec } from "./npm-registry-spec-BfeHLbIQ.js";
|
|
7
|
+
import { t as scanDirectoryWithSummary } from "./skill-scanner-B4Ftsbd2.js";
|
|
8
8
|
import path from "node:path";
|
|
9
|
-
import
|
|
9
|
+
import fsPromises from "node:fs/promises";
|
|
10
10
|
|
|
11
11
|
//#region src/plugins/install.ts
|
|
12
12
|
const defaultLogger = {};
|
|
@@ -109,7 +109,7 @@ async function installPluginFromPackageDir(params) {
|
|
|
109
109
|
logger.warn?.(`Plugin "${pluginId}" code safety scan failed (${String(err)}). Installation continues; run "idlehands security audit --deep" after install.`);
|
|
110
110
|
}
|
|
111
111
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
112
|
-
await
|
|
112
|
+
await fsPromises.mkdir(extensionsDir, { recursive: true });
|
|
113
113
|
const targetDirResult = resolveSafeInstallDir({
|
|
114
114
|
baseDir: extensionsDir,
|
|
115
115
|
id: pluginId,
|
|
@@ -193,7 +193,7 @@ async function installPluginFromDir(params) {
|
|
|
193
193
|
ok: false,
|
|
194
194
|
error: `directory not found: ${dirPath}`
|
|
195
195
|
};
|
|
196
|
-
if (!(await
|
|
196
|
+
if (!(await fsPromises.stat(dirPath)).isDirectory()) return {
|
|
197
197
|
ok: false,
|
|
198
198
|
error: `not a directory: ${dirPath}`
|
|
199
199
|
};
|
|
@@ -215,7 +215,7 @@ async function installPluginFromFile(params) {
|
|
|
215
215
|
error: `file not found: ${filePath}`
|
|
216
216
|
};
|
|
217
217
|
const extensionsDir = params.extensionsDir ? resolveUserPath(params.extensionsDir) : path.join(CONFIG_DIR, "extensions");
|
|
218
|
-
await
|
|
218
|
+
await fsPromises.mkdir(extensionsDir, { recursive: true });
|
|
219
219
|
const pluginId = path.basename(filePath, path.extname(filePath)) || "plugin";
|
|
220
220
|
const pluginIdError = validatePluginId(pluginId);
|
|
221
221
|
if (pluginIdError) return {
|
|
@@ -229,7 +229,7 @@ async function installPluginFromFile(params) {
|
|
|
229
229
|
};
|
|
230
230
|
if (dryRun) return buildFileInstallResult(pluginId, targetFile);
|
|
231
231
|
logger.info?.(`Installing to ${targetFile}…`);
|
|
232
|
-
await
|
|
232
|
+
await fsPromises.copyFile(filePath, targetFile);
|
|
233
233
|
return buildFileInstallResult(pluginId, targetFile);
|
|
234
234
|
}
|
|
235
235
|
async function installPluginFromNpmSpec(params) {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { F as shouldLogVerbose, M as logVerbose, y as resolveUserPath } from "./utils-CXzXXV2o.js";
|
|
2
|
-
import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-
|
|
3
|
-
import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-
|
|
4
|
-
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-
|
|
2
|
+
import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DNFrxDS-.js";
|
|
3
|
+
import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-BkoEFRYH.js";
|
|
4
|
+
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-Cco87A2_.js";
|
|
5
5
|
import { a as chunkText } from "./chunk-ClMFHJu-.js";
|
|
6
6
|
import { fileURLToPath } from "node:url";
|
|
7
7
|
import path from "node:path";
|
|
8
|
-
import
|
|
8
|
+
import fsPromises from "node:fs/promises";
|
|
9
9
|
import MarkdownIt from "markdown-it";
|
|
10
10
|
|
|
11
11
|
//#region src/web/media.ts
|
|
@@ -36,7 +36,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
36
36
|
const roots = localRoots ?? getDefaultLocalRoots();
|
|
37
37
|
let resolved;
|
|
38
38
|
try {
|
|
39
|
-
resolved = await
|
|
39
|
+
resolved = await fsPromises.realpath(mediaPath);
|
|
40
40
|
} catch {
|
|
41
41
|
resolved = path.resolve(mediaPath);
|
|
42
42
|
}
|
|
@@ -53,7 +53,7 @@ async function assertLocalMediaAllowed(mediaPath, localRoots) {
|
|
|
53
53
|
for (const root of roots) {
|
|
54
54
|
let resolvedRoot;
|
|
55
55
|
try {
|
|
56
|
-
resolvedRoot = await
|
|
56
|
+
resolvedRoot = await fsPromises.realpath(root);
|
|
57
57
|
} catch {
|
|
58
58
|
resolvedRoot = path.resolve(root);
|
|
59
59
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { d as resolveIsNixMode } from "./paths-Cn44w-EB.js";
|
|
2
2
|
import { B as theme, R as colorize, U as getResolvedLoggerSettings, z as isRich } from "./utils-CXzXXV2o.js";
|
|
3
3
|
import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
|
|
4
|
-
import { It as loadConfig } from "./model-selection-
|
|
4
|
+
import { It as loadConfig } from "./model-selection-CSn9tUuH.js";
|
|
5
5
|
import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
|
|
6
6
|
import { t as resolveGatewayCredentialsFromConfig } from "./credentials-DcJ9zJDt.js";
|
|
7
|
-
import { t as isWSL } from "./wsl-
|
|
7
|
+
import { t as isWSL } from "./wsl-CgXDjE09.js";
|
|
8
8
|
import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-Z_TnY4pX.js";
|
|
9
|
-
import { r as isSystemdUserServiceAvailable } from "./systemd-
|
|
10
|
-
import { s as resolveGatewayLogPaths } from "./service-
|
|
11
|
-
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-
|
|
9
|
+
import { r as isSystemdUserServiceAvailable } from "./systemd-DyrVLTI0.js";
|
|
10
|
+
import { s as resolveGatewayLogPaths } from "./service-Bj2oSfpw.js";
|
|
11
|
+
import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-BoKKzRI_.js";
|
|
12
12
|
import { t as parsePort } from "./parse-port-l2c0Yyf3.js";
|
|
13
13
|
import { Writable } from "node:stream";
|
|
14
14
|
|
|
@@ -10,14 +10,14 @@ import "./boolean-CE7i9tBR.js";
|
|
|
10
10
|
import "./env-q-PhWbb_.js";
|
|
11
11
|
import "./dock-ejUetwTC.js";
|
|
12
12
|
import "./tokens-DGajj8M9.js";
|
|
13
|
-
import { t as runEmbeddedPiAgent } from "./pi-embedded-
|
|
13
|
+
import { t as runEmbeddedPiAgent } from "./pi-embedded-mKozULng.js";
|
|
14
14
|
import "./plugins-DYr-HHj0.js";
|
|
15
15
|
import "./accounts-BQC_GRUB.js";
|
|
16
16
|
import "./bindings-CLZIJ0Eo.js";
|
|
17
17
|
import "./auth-store-Bb4aajHu.js";
|
|
18
18
|
import "./send-DZa8fWSm.js";
|
|
19
19
|
import "./send-IlPMLAH-.js";
|
|
20
|
-
import "./deliver-
|
|
20
|
+
import "./deliver-Db2xqgLg.js";
|
|
21
21
|
import "./diagnostic-BvlZ0Sot.js";
|
|
22
22
|
import "./diagnostic-session-state-BGF2r-kt.js";
|
|
23
23
|
import "./accounts-B8cGzkjD.js";
|
|
@@ -25,8 +25,8 @@ import "./send-FLdrx-oF.js";
|
|
|
25
25
|
import "./image-ops-J8P5zOFm.js";
|
|
26
26
|
import "./pi-model-discovery-Dlx4RLWo.js";
|
|
27
27
|
import "./message-channel-ZdI1-uUh.js";
|
|
28
|
-
import "./pi-embedded-helpers-
|
|
29
|
-
import "./chrome-
|
|
28
|
+
import "./pi-embedded-helpers-B3ceCcxm.js";
|
|
29
|
+
import "./chrome-CT_a9OgI.js";
|
|
30
30
|
import "./ssrf-CZeHDwVZ.js";
|
|
31
31
|
import "./frontmatter-pTUG4Sx_.js";
|
|
32
32
|
import "./skills-umlGvChF.js";
|
|
@@ -40,7 +40,7 @@ import "./accounts-D5tB_lO0.js";
|
|
|
40
40
|
import "./paths-D3p7ZvM6.js";
|
|
41
41
|
import "./tool-images-Duuqr4bN.js";
|
|
42
42
|
import "./thinking-z4_linel.js";
|
|
43
|
-
import "./image-
|
|
43
|
+
import "./image-Dlu13Ebx.js";
|
|
44
44
|
import "./reply-prefix-DCljZiIB.js";
|
|
45
45
|
import "./manager-CgzA1hKo.js";
|
|
46
46
|
import "./gemini-auth-DLSGffQK.js";
|
|
@@ -55,7 +55,7 @@ import "./ir-BT5aAdU9.js";
|
|
|
55
55
|
import "./render-MTSxc7LK.js";
|
|
56
56
|
import "./commands-registry-_TBHHpvt.js";
|
|
57
57
|
import "./skill-commands-BHTBXXVn.js";
|
|
58
|
-
import "./runner-
|
|
58
|
+
import "./runner-BkCU-kqs.js";
|
|
59
59
|
import "./fetch-CsfR_943.js";
|
|
60
60
|
import "./channel-activity-DdL3RAv_.js";
|
|
61
61
|
import "./tables-Co_R_WKs.js";
|
|
@@ -65,7 +65,7 @@ import "./send-BOxJ4QXF.js";
|
|
|
65
65
|
import "./resolve-route-ClcifpKn.js";
|
|
66
66
|
import "./proxy-CRB9oCP5.js";
|
|
67
67
|
import "./replies-2C16fnBP.js";
|
|
68
|
-
import "./deps-
|
|
68
|
+
import "./deps-CC5E5LXB.js";
|
|
69
69
|
import fs from "node:fs/promises";
|
|
70
70
|
import os from "node:os";
|
|
71
71
|
import path from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cn44w-EB.js";
|
|
2
2
|
import { et as resolvePreferredIdleHandsTmpDir } from "./utils-CXzXXV2o.js";
|
|
3
|
-
import { u as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
4
|
-
import { c as detectMime, l as extensionForMime } from "./image-ops-
|
|
3
|
+
import { u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
|
|
4
|
+
import { c as detectMime, l as extensionForMime } from "./image-ops-BkoEFRYH.js";
|
|
5
5
|
import { t as fetchWithSsrFGuard } from "./fetch-guard-yUZu1Vzc.js";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
|
|
@@ -2,11 +2,11 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { I as success, O as danger, k as info } from "./utils-CXzXXV2o.js";
|
|
3
3
|
import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
|
|
4
4
|
import { o as logInfo } from "./exec-CKHMT0tZ.js";
|
|
5
|
-
import { It as loadConfig } from "./model-selection-
|
|
5
|
+
import { It as loadConfig } from "./model-selection-CSn9tUuH.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
|
|
7
|
-
import { i as resolveWhatsAppAccount } from "./accounts-
|
|
8
|
-
import { a as logoutWeb } from "./auth-store-
|
|
9
|
-
import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-
|
|
7
|
+
import { i as resolveWhatsAppAccount } from "./accounts-D-hQsUw-.js";
|
|
8
|
+
import { a as logoutWeb } from "./auth-store-CMyrmmSF.js";
|
|
9
|
+
import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-BKVySI8q.js";
|
|
10
10
|
import { DisconnectReason } from "@whiskeysockets/baileys";
|
|
11
11
|
|
|
12
12
|
//#region src/web/login.ts
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import "./paths-Cn44w-EB.js";
|
|
2
2
|
import { I as success, O as danger, k as info } from "./utils-CXzXXV2o.js";
|
|
3
|
-
import "./agent-scope-
|
|
3
|
+
import "./agent-scope-Bn39ugK4.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-DFL2GrNW.js";
|
|
7
7
|
import { o as logInfo } from "./exec-CKHMT0tZ.js";
|
|
8
|
-
import { It as loadConfig } from "./model-selection-
|
|
8
|
+
import { It as loadConfig } from "./model-selection-CSn9tUuH.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-
|
|
15
|
-
import { i as resolveWhatsAppAccount } from "./accounts-
|
|
14
|
+
import "./manifest-registry-RfRn8HJx.js";
|
|
15
|
+
import { i as resolveWhatsAppAccount } from "./accounts-D-hQsUw-.js";
|
|
16
16
|
import "./logging-q4KyMmY-.js";
|
|
17
|
-
import { a as logoutWeb, l as readWebSelfId, p as webAuthExists } from "./auth-store-
|
|
18
|
-
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-
|
|
17
|
+
import { a as logoutWeb, l as readWebSelfId, p as webAuthExists } from "./auth-store-CMyrmmSF.js";
|
|
18
|
+
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-BKVySI8q.js";
|
|
19
19
|
import { randomUUID } from "node:crypto";
|
|
20
20
|
import { DisconnectReason } from "@whiskeysockets/baileys";
|
|
21
21
|
import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";
|