@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,18 +1,18 @@
|
|
|
1
1
|
import { u as resolveGatewayPort } from "./paths-Cn44w-EB.js";
|
|
2
|
-
import { Ft as createConfigIO, Ht as writeConfigFile, It as loadConfig } from "./model-selection-
|
|
2
|
+
import { Ft as createConfigIO, Ht as writeConfigFile, It as loadConfig } from "./model-selection-CSn9tUuH.js";
|
|
3
3
|
import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
|
|
4
|
-
import { A as DEFAULT_IDLEHANDS_BROWSER_ENABLED, C as stopChromeExtensionRelayServer, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, S as ensureChromeExtensionRelayServer, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, _ as appendCdpPath, a as resolveIdleHandsUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as withBrowserNavigationPolicy, h as assertBrowserNavigationResultAllowed, i as launchIdleHandsChrome, j as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, k as DEFAULT_IDLEHANDS_BROWSER_COLOR, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopIdleHandsChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchJson, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, y as fetchOk } from "./chrome-
|
|
4
|
+
import { A as DEFAULT_IDLEHANDS_BROWSER_ENABLED, C as stopChromeExtensionRelayServer, D as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, E as DEFAULT_AI_SNAPSHOT_MAX_CHARS, O as DEFAULT_BROWSER_EVALUATE_ENABLED, S as ensureChromeExtensionRelayServer, T as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, _ as appendCdpPath, a as resolveIdleHandsUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as withBrowserNavigationPolicy, h as assertBrowserNavigationResultAllowed, i as launchIdleHandsChrome, j as DEFAULT_IDLEHANDS_BROWSER_PROFILE_NAME, k as DEFAULT_IDLEHANDS_BROWSER_COLOR, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopIdleHandsChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchJson, w as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, y as fetchOk } from "./chrome-YguTEaLx.js";
|
|
5
5
|
import { i as isLoopbackHost } from "./ws-XBTtYpJc.js";
|
|
6
6
|
import { a as resolveGatewayAuth } from "./auth-heRVBxh2.js";
|
|
7
|
-
import { c as normalizeBrowserFormField, i as resolveExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR } from "./paths-
|
|
7
|
+
import { c as normalizeBrowserFormField, i as resolveExistingPathsWithinRoot, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR } from "./paths-Bt0fZexW.js";
|
|
8
8
|
import { n as formatErrorMessage, t as extractErrorCode } from "./errors-DZDuPc3M.js";
|
|
9
9
|
import { t as SsrFBlockedError } from "./ssrf-Dw9zzKSM.js";
|
|
10
|
-
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-
|
|
11
|
-
import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-
|
|
10
|
+
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BkoEFRYH.js";
|
|
11
|
+
import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-CLNuI8-G.js";
|
|
12
12
|
import { t as movePathToTrash } from "./trash-CUFiyQN5.js";
|
|
13
13
|
import fs from "node:fs";
|
|
14
14
|
import path from "node:path";
|
|
15
|
-
import
|
|
15
|
+
import fsPromises from "node:fs/promises";
|
|
16
16
|
import crypto from "node:crypto";
|
|
17
17
|
|
|
18
18
|
//#region src/gateway/startup-auth.ts
|
|
@@ -158,7 +158,7 @@ function isModuleNotFoundError(err) {
|
|
|
158
158
|
}
|
|
159
159
|
async function loadPwAiModule(mode) {
|
|
160
160
|
try {
|
|
161
|
-
return await import("./pw-ai-
|
|
161
|
+
return await import("./pw-ai-BGALvhDi.js");
|
|
162
162
|
} catch (err) {
|
|
163
163
|
if (mode === "soft") return null;
|
|
164
164
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -316,7 +316,7 @@ async function withPlaywrightRouteContext(params) {
|
|
|
316
316
|
//#endregion
|
|
317
317
|
//#region src/browser/routes/output-paths.ts
|
|
318
318
|
async function ensureOutputRootDir(rootDir) {
|
|
319
|
-
await
|
|
319
|
+
await fsPromises.mkdir(rootDir, { recursive: true });
|
|
320
320
|
}
|
|
321
321
|
async function resolveWritableOutputPathOrRespond(params) {
|
|
322
322
|
if (params.ensureRootDir) await ensureOutputRootDir(params.rootDir);
|
|
@@ -2681,11 +2681,11 @@ function createProfileContext(opts, profile) {
|
|
|
2681
2681
|
const userDataDir = resolveIdleHandsUserDataDir(profile.name);
|
|
2682
2682
|
const profileState = getProfileState();
|
|
2683
2683
|
if (await isHttpReachable(300) && !profileState.running) try {
|
|
2684
|
-
await (await import("./pw-ai-
|
|
2684
|
+
await (await import("./pw-ai-BGALvhDi.js")).closePlaywrightBrowserConnection();
|
|
2685
2685
|
} catch {}
|
|
2686
2686
|
if (profileState.running) await stopRunningBrowser();
|
|
2687
2687
|
try {
|
|
2688
|
-
await (await import("./pw-ai-
|
|
2688
|
+
await (await import("./pw-ai-BGALvhDi.js")).closePlaywrightBrowserConnection();
|
|
2689
2689
|
} catch {}
|
|
2690
2690
|
if (!fs.existsSync(userDataDir)) return {
|
|
2691
2691
|
moved: false,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as ensureChromeExtensionRelayServer } from "./chrome-
|
|
2
|
-
import { a as resolveProfile, n as listKnownProfileNames, t as createBrowserRouteContext } from "./server-context-
|
|
1
|
+
import { S as ensureChromeExtensionRelayServer } from "./chrome-YguTEaLx.js";
|
|
2
|
+
import { a as resolveProfile, n as listKnownProfileNames, t as createBrowserRouteContext } from "./server-context-BxNSTpH6.js";
|
|
3
3
|
|
|
4
4
|
//#region src/browser/server-lifecycle.ts
|
|
5
5
|
async function ensureExtensionRelayForProfiles(params) {
|
|
@@ -1,122 +1,122 @@
|
|
|
1
1
|
import "./paths-Cn44w-EB.js";
|
|
2
2
|
import "./utils-CXzXXV2o.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { Bn as buildOutboundSessionContext, Bt as createOutboundSendDeps, Cr as enqueueSystemEvent, Dr as requestHeartbeatNow, E as resolveGatewaySessionStoreTarget, Lt as resolveOutboundTarget, T as pruneLegacyStoreKeys, jt as agentCommand, w as loadSessionEntry } from "./reply-
|
|
5
|
-
import "./agent-scope-
|
|
4
|
+
import { Bn as buildOutboundSessionContext, Bt as createOutboundSendDeps, Cr as enqueueSystemEvent, Dr as requestHeartbeatNow, E as resolveGatewaySessionStoreTarget, Lt as resolveOutboundTarget, T as pruneLegacyStoreKeys, jt as agentCommand, w as loadSessionEntry } from "./reply-CdFdL9nL.js";
|
|
5
|
+
import "./agent-scope-Bn39ugK4.js";
|
|
6
6
|
import "./subsystem-CGZX2PBV.js";
|
|
7
7
|
import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
|
|
8
8
|
import { c as normalizeMainKey } from "./session-key-Cuihcz_O.js";
|
|
9
|
-
import "./idlehands-root-
|
|
9
|
+
import "./idlehands-root-DFL2GrNW.js";
|
|
10
10
|
import "./exec-CKHMT0tZ.js";
|
|
11
|
-
import { It as loadConfig } from "./model-selection-
|
|
11
|
+
import { It as loadConfig } from "./model-selection-CSn9tUuH.js";
|
|
12
12
|
import "./github-copilot-token-D7lpquOO.js";
|
|
13
13
|
import "./boolean-BsqeuxE6.js";
|
|
14
14
|
import "./env-Bx-F45X5.js";
|
|
15
15
|
import "./host-env-security-DkAVVuaw.js";
|
|
16
16
|
import "./env-vars-sTMVGyld.js";
|
|
17
|
-
import "./manifest-registry-
|
|
18
|
-
import "./dock-
|
|
17
|
+
import "./manifest-registry-RfRn8HJx.js";
|
|
18
|
+
import "./dock-CzF5XYGd.js";
|
|
19
19
|
import "./message-channel-DVauVtrg.js";
|
|
20
|
-
import "./send-
|
|
21
|
-
import "./runner-
|
|
22
|
-
import "./image-
|
|
23
|
-
import "./models-config-
|
|
24
|
-
import "./pi-model-discovery-
|
|
25
|
-
import "./pi-embedded-helpers-
|
|
26
|
-
import "./sandbox-
|
|
20
|
+
import "./send-CVIXqubC.js";
|
|
21
|
+
import "./runner-BFG54hnb.js";
|
|
22
|
+
import "./image-C2JZiK-6.js";
|
|
23
|
+
import "./models-config-lQpqp472.js";
|
|
24
|
+
import "./pi-model-discovery-Bt79ifyi.js";
|
|
25
|
+
import "./pi-embedded-helpers-BkzrQ5bZ.js";
|
|
26
|
+
import "./sandbox-CfPbhDY_.js";
|
|
27
27
|
import "./tool-catalog-4_Wxc542.js";
|
|
28
|
-
import "./chrome-
|
|
28
|
+
import "./chrome-YguTEaLx.js";
|
|
29
29
|
import "./tailscale-B5Irc_Bi.js";
|
|
30
30
|
import "./ip-DJ5wsTQn.js";
|
|
31
31
|
import "./tailnet-C9lH_YnG.js";
|
|
32
32
|
import "./ws-XBTtYpJc.js";
|
|
33
33
|
import "./auth-heRVBxh2.js";
|
|
34
|
-
import "./server-context-
|
|
34
|
+
import "./server-context-BxNSTpH6.js";
|
|
35
35
|
import "./frontmatter-D-sQ_Hqk.js";
|
|
36
|
-
import "./skills-
|
|
37
|
-
import "./path-alias-guards-
|
|
38
|
-
import "./paths-
|
|
36
|
+
import "./skills-TIyQDZx7.js";
|
|
37
|
+
import "./path-alias-guards-BCskHdfJ.js";
|
|
38
|
+
import "./paths-Bt0fZexW.js";
|
|
39
39
|
import "./redact-B_4KNlXs.js";
|
|
40
40
|
import "./errors-DZDuPc3M.js";
|
|
41
|
-
import "./fs-safe-
|
|
41
|
+
import "./fs-safe-DNFrxDS-.js";
|
|
42
42
|
import "./ssrf-Dw9zzKSM.js";
|
|
43
|
-
import "./image-ops-
|
|
44
|
-
import "./store-
|
|
45
|
-
import "./ports-
|
|
43
|
+
import "./image-ops-BkoEFRYH.js";
|
|
44
|
+
import "./store-CLNuI8-G.js";
|
|
45
|
+
import "./ports-DWJO5S52.js";
|
|
46
46
|
import "./trash-CUFiyQN5.js";
|
|
47
47
|
import "./server-middleware-BC21xYvr.js";
|
|
48
|
-
import { g as updateSessionStore } from "./sessions-
|
|
49
|
-
import { r as normalizeChannelId } from "./plugins-
|
|
50
|
-
import "./accounts-
|
|
51
|
-
import "./accounts-
|
|
52
|
-
import "./accounts-
|
|
53
|
-
import "./bindings-
|
|
48
|
+
import { g as updateSessionStore } from "./sessions-BqWocozB.js";
|
|
49
|
+
import { r as normalizeChannelId } from "./plugins-B4hASNc2.js";
|
|
50
|
+
import "./accounts-D-hQsUw-.js";
|
|
51
|
+
import "./accounts-DsVN0UNw.js";
|
|
52
|
+
import "./accounts-D87a1Y_K.js";
|
|
53
|
+
import "./bindings-DZjkLUU_.js";
|
|
54
54
|
import "./logging-q4KyMmY-.js";
|
|
55
|
-
import "./auth-store-
|
|
56
|
-
import "./send-
|
|
55
|
+
import "./auth-store-CMyrmmSF.js";
|
|
56
|
+
import "./send-BPwTl4-K.js";
|
|
57
57
|
import "./paths-DRz46q00.js";
|
|
58
58
|
import "./chat-envelope-Bebo3vwl.js";
|
|
59
|
-
import "./tool-images-
|
|
59
|
+
import "./tool-images-DZHrc4pq.js";
|
|
60
60
|
import "./tool-display-Dac7lHGW.js";
|
|
61
61
|
import "./fetch-guard-yUZu1Vzc.js";
|
|
62
|
-
import "./api-key-rotation-
|
|
63
|
-
import "./local-roots-
|
|
64
|
-
import "./model-catalog-
|
|
62
|
+
import "./api-key-rotation-nXQVJErE.js";
|
|
63
|
+
import "./local-roots-Cco87A2_.js";
|
|
64
|
+
import "./model-catalog-BCsDrrvq.js";
|
|
65
65
|
import "./tokens-Dg-QZ_pN.js";
|
|
66
|
-
import { t as deliverOutboundPayloads } from "./deliver
|
|
67
|
-
import "./commands-
|
|
68
|
-
import "./commands-registry-
|
|
69
|
-
import "./client-
|
|
70
|
-
import "./call-
|
|
71
|
-
import "./pairing-token-
|
|
66
|
+
import { t as deliverOutboundPayloads } from "./deliver-yTpXc5sv.js";
|
|
67
|
+
import "./commands-D3BU_t7G.js";
|
|
68
|
+
import "./commands-registry-Cj4D_1tw.js";
|
|
69
|
+
import "./client-Dl5EAvfO.js";
|
|
70
|
+
import "./call-Du-oBD99.js";
|
|
71
|
+
import "./pairing-token-3hoCgQqp.js";
|
|
72
72
|
import "./fetch-CYe1ekSh.js";
|
|
73
73
|
import "./retry-Db05aSB8.js";
|
|
74
|
-
import "./pairing-store-
|
|
74
|
+
import "./pairing-store-qvpPoWL_.js";
|
|
75
75
|
import "./exec-approvals-C2s2dPha.js";
|
|
76
|
-
import "./exec-approvals-allowlist-
|
|
77
|
-
import "./exec-safe-bin-runtime-policy-
|
|
78
|
-
import "./nodes-screen-
|
|
79
|
-
import "./target-errors-
|
|
76
|
+
import "./exec-approvals-allowlist-8AkOwwIr.js";
|
|
77
|
+
import "./exec-safe-bin-runtime-policy-DYXuBKqH.js";
|
|
78
|
+
import "./nodes-screen-CIAn0wXq.js";
|
|
79
|
+
import "./target-errors-BYuWhuLU.js";
|
|
80
80
|
import "./diagnostic-session-state-CJHdRyOy.js";
|
|
81
|
-
import "./with-timeout-
|
|
81
|
+
import "./with-timeout-BodPmGCY.js";
|
|
82
82
|
import "./diagnostic-ByHpt6q8.js";
|
|
83
|
-
import "./send
|
|
84
|
-
import "./model-
|
|
85
|
-
import "./reply-prefix-
|
|
86
|
-
import "./memory-cli-
|
|
87
|
-
import "./manager-
|
|
88
|
-
import "./query-expansion-
|
|
83
|
+
import "./send-DDMaLJAQ.js";
|
|
84
|
+
import "./model-Bd-05WpB.js";
|
|
85
|
+
import "./reply-prefix-BMEdvSpA.js";
|
|
86
|
+
import "./memory-cli-4wfelGdK.js";
|
|
87
|
+
import "./manager-BBeTPO2h.js";
|
|
88
|
+
import "./query-expansion-i5I3yavb.js";
|
|
89
89
|
import "./chunk-ClMFHJu-.js";
|
|
90
|
-
import "./markdown-tables-
|
|
91
|
-
import "./ir-
|
|
90
|
+
import "./markdown-tables-C5hTDqNm.js";
|
|
91
|
+
import "./ir-DV0Hszc8.js";
|
|
92
92
|
import "./render-DC4qnRqG.js";
|
|
93
|
-
import "./pi-tools.policy-
|
|
93
|
+
import "./pi-tools.policy-B_ME3yF6.js";
|
|
94
94
|
import "./channel-activity-DaCsrdWK.js";
|
|
95
|
-
import "./tables-
|
|
96
|
-
import "./send-
|
|
95
|
+
import "./tables-CZSD889r.js";
|
|
96
|
+
import "./send-BCPkAE2k.js";
|
|
97
97
|
import "./proxy-yk1Oqe9p.js";
|
|
98
98
|
import "./links-15764jZB.js";
|
|
99
99
|
import "./cli-utils-CH2y4E2f.js";
|
|
100
100
|
import "./help-format-CMAqOikG.js";
|
|
101
101
|
import "./progress-BQLz1r3L.js";
|
|
102
|
-
import "./resolve-route-
|
|
103
|
-
import "./replies-
|
|
104
|
-
import "./skill-commands-
|
|
105
|
-
import "./workspace-dirs-
|
|
106
|
-
import "./deps-
|
|
107
|
-
import "./plugin-auto-enable-
|
|
108
|
-
import "./channel-selection-
|
|
109
|
-
import "./outbound-attachment-
|
|
102
|
+
import "./resolve-route-Ef_Yt2Dw.js";
|
|
103
|
+
import "./replies-Czp4hvpS.js";
|
|
104
|
+
import "./skill-commands-BwIRWSCI.js";
|
|
105
|
+
import "./workspace-dirs-D3bousoX.js";
|
|
106
|
+
import "./deps-BotXja4Z.js";
|
|
107
|
+
import "./plugin-auto-enable-BMuSi4aV.js";
|
|
108
|
+
import "./channel-selection-3jUl-PyW.js";
|
|
109
|
+
import "./outbound-attachment-jYdMgCml.js";
|
|
110
110
|
import "./delivery-queue-BvDRo8CK.js";
|
|
111
111
|
import "./session-cost-usage-DS1rjzML.js";
|
|
112
|
-
import "./send-
|
|
113
|
-
import "./onboard-helpers-
|
|
112
|
+
import "./send-CEavqqEz.js";
|
|
113
|
+
import "./onboard-helpers-CdzbIhrm.js";
|
|
114
114
|
import "./prompt-style-kmKiCZnm.js";
|
|
115
|
-
import "./pairing-labels-
|
|
116
|
-
import "./server-lifecycle-
|
|
115
|
+
import "./pairing-labels-DuZ7ih-T.js";
|
|
116
|
+
import "./server-lifecycle-CGKrGrhM.js";
|
|
117
117
|
import "./stagger-rQoQSWkz.js";
|
|
118
|
-
import "./system-run-command-
|
|
119
|
-
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-
|
|
118
|
+
import "./system-run-command-BIhrK3OI.js";
|
|
119
|
+
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-CuwLAoXk.js";
|
|
120
120
|
import { randomUUID } from "node:crypto";
|
|
121
121
|
|
|
122
122
|
//#region src/gateway/server-node-events.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { d as resolveGatewayServiceDescription, l as resolveGatewayLaunchAgentLabel, m as resolveLegacyGatewayLaunchAgentLabels, p as resolveGatewayWindowsTaskName, t as GATEWAY_LAUNCH_AGENT_LABEL } from "./constants-Z_TnY4pX.js";
|
|
2
|
-
import { _ as formatLine, a as readSystemdServiceRuntime, b as execFileUtf8, c as stopSystemdService, g as resolveHomeDir, h as resolveGatewayStateDir, i as readSystemdServiceExecStart, m as parseKeyValueOutput, n as isSystemdServiceEnabled, p as splitArgsPreservingQuotes, s as restartSystemdService, t as installSystemdService, u as uninstallSystemdService, v as toPosixPath, y as writeFormattedLines } from "./systemd-
|
|
2
|
+
import { _ as formatLine, a as readSystemdServiceRuntime, b as execFileUtf8, c as stopSystemdService, g as resolveHomeDir, h as resolveGatewayStateDir, i as readSystemdServiceExecStart, m as parseKeyValueOutput, n as isSystemdServiceEnabled, p as splitArgsPreservingQuotes, s as restartSystemdService, t as installSystemdService, u as uninstallSystemdService, v as toPosixPath, y as writeFormattedLines } from "./systemd-DyrVLTI0.js";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fsPromises from "node:fs/promises";
|
|
5
5
|
|
|
6
6
|
//#region src/daemon/launchd-plist.ts
|
|
7
7
|
const plistEscape = (value) => value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll("\"", """).replaceAll("'", "'");
|
|
@@ -14,7 +14,7 @@ const renderEnvDict = (env) => {
|
|
|
14
14
|
};
|
|
15
15
|
async function readLaunchAgentProgramArgumentsFromFile(plistPath) {
|
|
16
16
|
try {
|
|
17
|
-
const plist = await
|
|
17
|
+
const plist = await fsPromises.readFile(plistPath, "utf8");
|
|
18
18
|
const programMatch = plist.match(/<key>ProgramArguments<\/key>\s*<array>([\s\S]*?)<\/array>/i);
|
|
19
19
|
if (!programMatch) return null;
|
|
20
20
|
const args = Array.from(programMatch[1].matchAll(/<string>([\s\S]*?)<\/string>/gi)).map((match) => plistUnescape(match[1] ?? "").trim());
|
|
@@ -128,7 +128,7 @@ async function isLaunchAgentListed(args) {
|
|
|
128
128
|
async function launchAgentPlistExists(env) {
|
|
129
129
|
try {
|
|
130
130
|
const plistPath = resolveLaunchAgentPlistPath(env);
|
|
131
|
-
await
|
|
131
|
+
await fsPromises.access(plistPath);
|
|
132
132
|
return true;
|
|
133
133
|
} catch {
|
|
134
134
|
return false;
|
|
@@ -188,7 +188,7 @@ async function uninstallLaunchAgent({ env, stdout }) {
|
|
|
188
188
|
]);
|
|
189
189
|
await execLaunchctl(["unload", plistPath]);
|
|
190
190
|
try {
|
|
191
|
-
await
|
|
191
|
+
await fsPromises.access(plistPath);
|
|
192
192
|
} catch {
|
|
193
193
|
stdout.write(`LaunchAgent not found at ${plistPath}\n`);
|
|
194
194
|
return;
|
|
@@ -197,8 +197,8 @@ async function uninstallLaunchAgent({ env, stdout }) {
|
|
|
197
197
|
const trashDir = path.join(home, ".Trash");
|
|
198
198
|
const dest = path.join(trashDir, `${label}.plist`);
|
|
199
199
|
try {
|
|
200
|
-
await
|
|
201
|
-
await
|
|
200
|
+
await fsPromises.mkdir(trashDir, { recursive: true });
|
|
201
|
+
await fsPromises.rename(plistPath, dest);
|
|
202
202
|
stdout.write(`${formatLine("Moved LaunchAgent to Trash", dest)}\n`);
|
|
203
203
|
} catch {
|
|
204
204
|
stdout.write(`LaunchAgent remains at ${plistPath} (could not move)\n`);
|
|
@@ -242,7 +242,7 @@ async function stopLaunchAgent({ stdout, env }) {
|
|
|
242
242
|
}
|
|
243
243
|
async function installLaunchAgent({ env, stdout, programArguments, workingDirectory, environment, description }) {
|
|
244
244
|
const { logDir, stdoutPath, stderrPath } = resolveGatewayLogPaths(env);
|
|
245
|
-
await
|
|
245
|
+
await fsPromises.mkdir(logDir, { recursive: true });
|
|
246
246
|
const domain = resolveGuiDomain();
|
|
247
247
|
const label = resolveLaunchAgentLabel({ env });
|
|
248
248
|
for (const legacyLabel of resolveLegacyGatewayLaunchAgentLabels(env.IDLEHANDS_PROFILE)) {
|
|
@@ -254,11 +254,11 @@ async function installLaunchAgent({ env, stdout, programArguments, workingDirect
|
|
|
254
254
|
]);
|
|
255
255
|
await execLaunchctl(["unload", legacyPlistPath]);
|
|
256
256
|
try {
|
|
257
|
-
await
|
|
257
|
+
await fsPromises.unlink(legacyPlistPath);
|
|
258
258
|
} catch {}
|
|
259
259
|
}
|
|
260
260
|
const plistPath = resolveLaunchAgentPlistPathForLabel(env, label);
|
|
261
|
-
await
|
|
261
|
+
await fsPromises.mkdir(path.dirname(plistPath), { recursive: true });
|
|
262
262
|
const plist = buildLaunchAgentPlist({
|
|
263
263
|
label,
|
|
264
264
|
comment: resolveGatewayServiceDescription({
|
|
@@ -272,7 +272,7 @@ async function installLaunchAgent({ env, stdout, programArguments, workingDirect
|
|
|
272
272
|
stderrPath,
|
|
273
273
|
environment
|
|
274
274
|
});
|
|
275
|
-
await
|
|
275
|
+
await fsPromises.writeFile(plistPath, plist, "utf8");
|
|
276
276
|
await execLaunchctl([
|
|
277
277
|
"bootout",
|
|
278
278
|
domain,
|
|
@@ -452,7 +452,7 @@ function resolveTaskUser(env) {
|
|
|
452
452
|
async function readScheduledTaskCommand(env) {
|
|
453
453
|
const scriptPath = resolveTaskScriptPath(env);
|
|
454
454
|
try {
|
|
455
|
-
const content = await
|
|
455
|
+
const content = await fsPromises.readFile(scriptPath, "utf8");
|
|
456
456
|
let workingDirectory = "";
|
|
457
457
|
let commandLine = "";
|
|
458
458
|
const environment = {};
|
|
@@ -520,7 +520,7 @@ async function assertSchtasksAvailable() {
|
|
|
520
520
|
async function installScheduledTask({ env, stdout, programArguments, workingDirectory, environment, description }) {
|
|
521
521
|
await assertSchtasksAvailable();
|
|
522
522
|
const scriptPath = resolveTaskScriptPath(env);
|
|
523
|
-
await
|
|
523
|
+
await fsPromises.mkdir(path.dirname(scriptPath), { recursive: true });
|
|
524
524
|
const script = buildTaskScript({
|
|
525
525
|
description: resolveGatewayServiceDescription({
|
|
526
526
|
env,
|
|
@@ -531,7 +531,7 @@ async function installScheduledTask({ env, stdout, programArguments, workingDire
|
|
|
531
531
|
workingDirectory,
|
|
532
532
|
environment
|
|
533
533
|
});
|
|
534
|
-
await
|
|
534
|
+
await fsPromises.writeFile(scriptPath, script, "utf8");
|
|
535
535
|
const taskName = resolveTaskName(env);
|
|
536
536
|
const baseArgs = [
|
|
537
537
|
"/Create",
|
|
@@ -583,7 +583,7 @@ async function uninstallScheduledTask({ env, stdout }) {
|
|
|
583
583
|
]);
|
|
584
584
|
const scriptPath = resolveTaskScriptPath(env);
|
|
585
585
|
try {
|
|
586
|
-
await
|
|
586
|
+
await fsPromises.unlink(scriptPath);
|
|
587
587
|
stdout.write(`${formatLine("Removed task script", scriptPath)}\n`);
|
|
588
588
|
} catch {
|
|
589
589
|
stdout.write(`Task script not found at ${scriptPath}\n`);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { G as toPinoLikeLogger, I as success, O as danger, V as getChildLogger, c as ensureDir, y as resolveUserPath } from "./utils-CXzXXV2o.js";
|
|
2
2
|
import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
|
|
3
3
|
import { r as VERSION } from "./env-vars-sTMVGyld.js";
|
|
4
|
-
import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./auth-store-
|
|
4
|
+
import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./auth-store-CMyrmmSF.js";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { I as getChildLogger, a as ensureDir, h as resolveUserPath, j as success, w as danger, z as toPinoLikeLogger } from "./utils-
|
|
2
|
-
import { tn as VERSION } from "./model-selection-
|
|
1
|
+
import { I as getChildLogger, a as ensureDir, h as resolveUserPath, j as success, w as danger, z as toPinoLikeLogger } from "./utils-D9wGoiU9.js";
|
|
2
|
+
import { tn as VERSION } from "./model-selection-C5hI1dum.js";
|
|
3
3
|
import { t as formatCliCommand } from "./command-format-BAxx4PW5.js";
|
|
4
|
-
import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./auth-store-
|
|
5
|
-
import
|
|
4
|
+
import { c as readCredsJsonRaw, d as resolveWebCredsBackupPath, f as resolveWebCredsPath, o as maybeRestoreCredsFromBackup, u as resolveDefaultWebAuthDir } from "./auth-store-Bb4aajHu.js";
|
|
5
|
+
import fs from "node:fs";
|
|
6
6
|
import { randomUUID } from "node:crypto";
|
|
7
7
|
import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
|
|
8
8
|
import qrcode from "qrcode-terminal";
|
|
@@ -21,16 +21,16 @@ async function safeSaveCreds(authDir, saveCreds, logger) {
|
|
|
21
21
|
const raw = readCredsJsonRaw(credsPath);
|
|
22
22
|
if (raw) try {
|
|
23
23
|
JSON.parse(raw);
|
|
24
|
-
|
|
24
|
+
fs.copyFileSync(credsPath, backupPath);
|
|
25
25
|
try {
|
|
26
|
-
|
|
26
|
+
fs.chmodSync(backupPath, 384);
|
|
27
27
|
} catch {}
|
|
28
28
|
} catch {}
|
|
29
29
|
} catch {}
|
|
30
30
|
try {
|
|
31
31
|
await Promise.resolve(saveCreds());
|
|
32
32
|
try {
|
|
33
|
-
|
|
33
|
+
fs.chmodSync(resolveWebCredsPath(authDir), 384);
|
|
34
34
|
} catch {}
|
|
35
35
|
} catch (err) {
|
|
36
36
|
logger.warn({ error: String(err) }, "failed saving WhatsApp creds");
|
|
@@ -3,12 +3,12 @@ import { y as resolveRequiredHomeDir } from "./paths-Cn44w-EB.js";
|
|
|
3
3
|
import { m as normalizeE164 } from "./utils-CXzXXV2o.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
|
|
5
5
|
import { c as normalizeMainKey, g as normalizeOptionalAccountId, l as resolveAgentIdFromSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-Cuihcz_O.js";
|
|
6
|
-
import { It as loadConfig, Rr as resolveProcessScopedMap, cn as parseDurationMs, ln as parseByteSize, zr as isPidAlive } from "./model-selection-
|
|
7
|
-
import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-
|
|
6
|
+
import { It as loadConfig, Rr as resolveProcessScopedMap, cn as parseDurationMs, ln as parseByteSize, zr as isPidAlive } from "./model-selection-CSn9tUuH.js";
|
|
7
|
+
import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-CzF5XYGd.js";
|
|
8
8
|
import { c as listDeliverableMessageChannels, l as normalizeMessageChannel } from "./message-channel-DVauVtrg.js";
|
|
9
9
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
10
10
|
import { n as resolveConversationLabel } from "./conversation-label-Onz2hiJh.js";
|
|
11
|
-
import { r as normalizeChannelId } from "./plugins-
|
|
11
|
+
import { r as normalizeChannelId } from "./plugins-B4hASNc2.js";
|
|
12
12
|
import { a as resolveSessionFilePathOptions, c as resolveSessionTranscriptsDir, d as validateSessionId, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, s as resolveSessionTranscriptPathInDir, t as SAFE_SESSION_ID_RE, u as resolveStorePath } from "./paths-DRz46q00.js";
|
|
13
13
|
import { r as hasInterSessionUserProvenance } from "./input-provenance-CTnwu8Ge.js";
|
|
14
14
|
import { n as stripMessageIdHints, o as extractToolCallNames, r as stripInboundMetadata, s as hasToolCall, t as stripEnvelope } from "./chat-envelope-Bebo3vwl.js";
|
|
@@ -16,7 +16,7 @@ import { t as emitSessionTranscriptUpdate } from "./transcript-events-DvLx8VNH.j
|
|
|
16
16
|
import fs from "node:fs";
|
|
17
17
|
import os from "node:os";
|
|
18
18
|
import path from "node:path";
|
|
19
|
-
import
|
|
19
|
+
import fsPromises from "node:fs/promises";
|
|
20
20
|
import crypto from "node:crypto";
|
|
21
21
|
import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
|
|
22
22
|
|
|
@@ -82,7 +82,7 @@ async function releaseHeldLock(normalizedSessionFile, held, opts = {}) {
|
|
|
82
82
|
await held.handle.close();
|
|
83
83
|
} catch {}
|
|
84
84
|
try {
|
|
85
|
-
await
|
|
85
|
+
await fsPromises.rm(held.lockPath, { force: true });
|
|
86
86
|
} catch {}
|
|
87
87
|
})();
|
|
88
88
|
try {
|
|
@@ -161,7 +161,7 @@ function registerCleanupHandlers() {
|
|
|
161
161
|
}
|
|
162
162
|
async function readLockPayload(lockPath) {
|
|
163
163
|
try {
|
|
164
|
-
const raw = await
|
|
164
|
+
const raw = await fsPromises.readFile(lockPath, "utf8");
|
|
165
165
|
const parsed = JSON.parse(raw);
|
|
166
166
|
const payload = {};
|
|
167
167
|
if (typeof parsed.pid === "number") payload.pid = parsed.pid;
|
|
@@ -198,7 +198,7 @@ async function shouldReclaimContendedLockFile(lockPath, details, staleMs, nowMs)
|
|
|
198
198
|
if (!details.stale) return false;
|
|
199
199
|
if (!lockInspectionNeedsMtimeStaleFallback(details)) return true;
|
|
200
200
|
try {
|
|
201
|
-
const stat = await
|
|
201
|
+
const stat = await fsPromises.stat(lockPath);
|
|
202
202
|
return Math.max(0, nowMs - stat.mtimeMs) > staleMs;
|
|
203
203
|
} catch (error) {
|
|
204
204
|
return error?.code !== "ENOENT";
|
|
@@ -211,7 +211,7 @@ async function cleanStaleLockFiles(params) {
|
|
|
211
211
|
const nowMs = params.nowMs ?? Date.now();
|
|
212
212
|
let entries = [];
|
|
213
213
|
try {
|
|
214
|
-
entries = await
|
|
214
|
+
entries = await fsPromises.readdir(sessionsDir, { withFileTypes: true });
|
|
215
215
|
} catch (err) {
|
|
216
216
|
if (err.code === "ENOENT") return {
|
|
217
217
|
locks: [],
|
|
@@ -230,7 +230,7 @@ async function cleanStaleLockFiles(params) {
|
|
|
230
230
|
removed: false
|
|
231
231
|
};
|
|
232
232
|
if (lockInfo.stale && removeStale) {
|
|
233
|
-
await
|
|
233
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
234
234
|
lockInfo.removed = true;
|
|
235
235
|
cleaned.push(lockInfo);
|
|
236
236
|
params.log?.warn?.(`removed stale session lock: ${lockPath} (${lockInfo.staleReasons.join(", ") || "unknown"})`);
|
|
@@ -249,10 +249,10 @@ async function acquireSessionWriteLock(params) {
|
|
|
249
249
|
const maxHoldMs = resolvePositiveMs(params.maxHoldMs, DEFAULT_MAX_HOLD_MS);
|
|
250
250
|
const sessionFile = path.resolve(params.sessionFile);
|
|
251
251
|
const sessionDir = path.dirname(sessionFile);
|
|
252
|
-
await
|
|
252
|
+
await fsPromises.mkdir(sessionDir, { recursive: true });
|
|
253
253
|
let normalizedDir = sessionDir;
|
|
254
254
|
try {
|
|
255
|
-
normalizedDir = await
|
|
255
|
+
normalizedDir = await fsPromises.realpath(sessionDir);
|
|
256
256
|
} catch {}
|
|
257
257
|
const normalizedSessionFile = path.join(normalizedDir, path.basename(sessionFile));
|
|
258
258
|
const lockPath = `${normalizedSessionFile}.lock`;
|
|
@@ -270,7 +270,7 @@ async function acquireSessionWriteLock(params) {
|
|
|
270
270
|
attempt += 1;
|
|
271
271
|
let handle = null;
|
|
272
272
|
try {
|
|
273
|
-
handle = await
|
|
273
|
+
handle = await fsPromises.open(lockPath, "wx");
|
|
274
274
|
const createdAt = (/* @__PURE__ */ new Date()).toISOString();
|
|
275
275
|
await handle.writeFile(JSON.stringify({
|
|
276
276
|
pid: process.pid,
|
|
@@ -293,14 +293,14 @@ async function acquireSessionWriteLock(params) {
|
|
|
293
293
|
await handle.close();
|
|
294
294
|
} catch {}
|
|
295
295
|
try {
|
|
296
|
-
await
|
|
296
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
297
297
|
} catch {}
|
|
298
298
|
}
|
|
299
299
|
if (err.code !== "EEXIST") throw err;
|
|
300
300
|
const payload = await readLockPayload(lockPath);
|
|
301
301
|
const nowMs = Date.now();
|
|
302
302
|
if (await shouldReclaimContendedLockFile(lockPath, inspectLockPayload(payload, staleMs, nowMs), staleMs, nowMs)) {
|
|
303
|
-
await
|
|
303
|
+
await fsPromises.rm(lockPath, { force: true });
|
|
304
304
|
continue;
|
|
305
305
|
}
|
|
306
306
|
const delay = Math.min(1e3, 50 * attempt);
|