@visorcraft/idlehands 4.0.15 → 4.0.17

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.
Files changed (380) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/{accounts-DLTODa_Z.js → accounts-D-hQsUw-.js} +1 -1
  3. package/dist/{accounts-DgbTKQoW.js → accounts-D87a1Y_K.js} +1 -1
  4. package/dist/{accounts-3HS_UAhJ.js → accounts-DsVN0UNw.js} +1 -1
  5. package/dist/{acp-cli-B-7CXaeS.js → acp-cli-D52jj29o.js} +7 -7
  6. package/dist/{agent-scope-RA0zXRpu.js → agent-scope-Bn39ugK4.js} +18 -18
  7. package/dist/{agent-via-gateway-CcaPUQrc.js → agent-via-gateway-BDWomN2t.js} +4 -4
  8. package/dist/{agent-via-gateway-BvXS1sXv.js → agent-via-gateway-BVY7w5-N.js} +1 -1
  9. package/dist/{agent-via-gateway-CIM26Dxl.js → agent-via-gateway-BlRwv6D6.js} +2 -2
  10. package/dist/{agent-via-gateway-BFtbpQpT.js → agent-via-gateway-DSZK5iRF.js} +2 -2
  11. package/dist/{agents-DPlb4UQu.js → agents-BLa67Gdv.js} +4 -4
  12. package/dist/{agents.config-8pxRoZvL.js → agents.config-ADCeu0yD.js} +1 -1
  13. package/dist/{agents.config-BKoyeUnK.js → agents.config-CyEkgCQE.js} +2 -2
  14. package/dist/{anton-DKA8iAQE.js → anton-CZ5moxh6.js} +22 -4
  15. package/dist/{anton-BTjKlGm7.js → anton-D-0SP_5T.js} +22 -4
  16. package/dist/{anton-DhBvDNcB.js → anton-DYEYyPJ1.js} +40 -22
  17. package/dist/{anton-Dyhtv3C8.js → anton-llLwn1lp.js} +22 -4
  18. package/dist/{api-key-rotation-B-FTJm5p.js → api-key-rotation-nXQVJErE.js} +1 -1
  19. package/dist/{audio-preflight-Dl1TO10w.js → audio-preflight-DzjXupNO.js} +31 -31
  20. package/dist/{audit-BmaVRZSd.js → audit-D12wg2tV.js} +22 -22
  21. package/dist/{auth-choice-D-_AVWgJ.js → auth-choice-01ELTnLA.js} +1 -1
  22. package/dist/{auth-choice-D12Wsf7w.js → auth-choice-BDndThZZ.js} +12 -12
  23. package/dist/{auth-choice-CMUzxwaw.js → auth-choice-CqbTnCYz.js} +10 -10
  24. package/dist/{auth-choice.apply-helpers-CGcniL1T.js → auth-choice.apply-helpers-pTqMTYmi.js} +1 -1
  25. package/dist/{auth-store-DDzIMy8_.js → auth-store-CMyrmmSF.js} +7 -7
  26. package/dist/{auth-token-BJq87X3o.js → auth-token-fKt_cHOj.js} +1 -1
  27. package/dist/{banner-B6ih1A5q.js → banner-Dv_eAAWw.js} +1 -1
  28. package/dist/{bindings-B59Q7nsk.js → bindings-DZjkLUU_.js} +1 -1
  29. package/dist/{browser-cli-Ny1nHwqv.js → browser-cli-Da-0lyq2.js} +11 -11
  30. package/dist/build-info.json +3 -3
  31. package/dist/bundled/boot-md/handler.js +2 -2
  32. package/dist/bundled/session-memory/handler.js +2 -2
  33. package/dist/{call-BRL23UCk.js → call-DnTBT02D.js} +9 -9
  34. package/dist/{channel-account-context-CDbY5AIr.js → channel-account-context-B4nJPU2N.js} +5 -5
  35. package/dist/{channel-options-DqOp64vm.js → channel-options-BilcK806.js} +1 -1
  36. package/dist/{channel-options-DdT_iiu2.js → channel-options-BvOLgXCF.js} +3 -3
  37. package/dist/{channel-selection-ZxRkxpuF.js → channel-selection-3jUl-PyW.js} +1 -1
  38. package/dist/{channel-web-DjS8VQYO.js → channel-web-B1IazKKL.js} +22 -22
  39. package/dist/{channel-web-PG7u76pG.js → channel-web-BptLTwvg.js} +2 -2
  40. package/dist/{channels-cli-1tt6zmdw.js → channels-cli-DejBZZ85.js} +7 -7
  41. package/dist/{channels-cli-CWxVX3_x.js → channels-cli-FssbSykQ.js} +88 -88
  42. package/dist/{channels-status-issues-CDpWjdI3.js → channels-status-issues-hgASw9UA.js} +1 -1
  43. package/dist/{chrome-VBsQfIrt.js → chrome-YguTEaLx.js} +2 -2
  44. package/dist/{clawbot-cli-uFgYrysW.js → clawbot-cli-C5cDal-5.js} +5 -5
  45. package/dist/cli/daemon-cli.js +1 -1
  46. package/dist/{cli-D4FV736E.js → cli-BrQZTuUX.js} +70 -70
  47. package/dist/{cli-CmOlEYcx.js → cli-j1A8WKSj.js} +2 -2
  48. package/dist/{client-DxH9hwLn.js → client-DIckPnsi.js} +1 -1
  49. package/dist/{command-registry-CQ_cgvak.js → command-registry-DZZAmcbA.js} +10 -10
  50. package/dist/{commands-Dj5LalLo.js → commands-D3BU_t7G.js} +1 -1
  51. package/dist/{commands-registry-CURlRZQJ.js → commands-registry-Cj4D_1tw.js} +3 -3
  52. package/dist/{completion-cli-UytEAOmM.js → completion-cli-Cxvf8clb.js} +2 -2
  53. package/dist/{completion-cli-y9BFk5F6.js → completion-cli-ktxbWAiG.js} +12 -12
  54. package/dist/{config-cli-DUb0ZGdL.js → config-cli-Bq_MWzp9.js} +1 -1
  55. package/dist/{config-cli-5c6A3y5U.js → config-cli-CogA71uD.js} +6 -6
  56. package/dist/{config-guard-BdsOumqh.js → config-guard-DnAyuF6T.js} +17 -17
  57. package/dist/{config-validation-BvKX6fPw.js → config-validation-DIomLMwH.js} +2 -2
  58. package/dist/{configure-AlSS40po.js → configure-CPDGJFyt.js} +3 -3
  59. package/dist/{configure-BPwYKVb4.js → configure-CZUn--aN.js} +16 -16
  60. package/dist/{control-ui-assets-C7ZpN9hN.js → control-ui-assets-CiaCDBvZ.js} +1 -1
  61. package/dist/{cron-cli-Xml0Uww8.js → cron-cli-B8uqoogS.js} +12 -12
  62. package/dist/{daemon-cli-B1Ti51bt.js → daemon-cli-CMBNTpSS.js} +11 -11
  63. package/dist/{daemon-install-CYPo4M1M.js → daemon-install-DeqQiAad.js} +4 -4
  64. package/dist/{daemon-install-helpers-BZY9-jNW.js → daemon-install-helpers-Bug_GYuy.js} +9 -9
  65. package/dist/{deliver--kttnrER.js → deliver-yTpXc5sv.js} +7 -7
  66. package/dist/{deps-DxMLbT7t.js → deps-BUUwigzc.js} +1 -1
  67. package/dist/{deps-KIFYHxig.js → deps-B_5kPH1Q.js} +1 -1
  68. package/dist/{deps-BYfE_aIY.js → deps-CH8f3TJK.js} +6 -6
  69. package/dist/{deps-TwKaIh1I.js → deps-PAzfFs3Q.js} +1 -1
  70. package/dist/{devices-cli-BNkO0Fey.js → devices-cli-DVLF8Yvw.js} +7 -7
  71. package/dist/{diagnostics-DmZbQ8Nc.js → diagnostics-CdUgLS0N.js} +5 -5
  72. package/dist/{directory-cli-Dz9iXeut.js → directory-cli-BAMS8f9U.js} +9 -9
  73. package/dist/{dns-cli-DD6hWsdc.js → dns-cli-BdxBk-k_.js} +4 -4
  74. package/dist/{dock-Y96MzKuM.js → dock-CzF5XYGd.js} +4 -4
  75. package/dist/{docs-cli-cHkrTB2e.js → docs-cli-SF7es4Zs.js} +4 -4
  76. package/dist/{doctor-completion-S-XHygGb.js → doctor-completion-i04j1TGW.js} +1 -1
  77. package/dist/{doctor-completion-HzTBPNbS.js → doctor-completion-iWmUY3B4.js} +2 -2
  78. package/dist/{doctor-config-flow-Ck4oCjfl.js → doctor-config-flow-8qXzBx09.js} +14 -14
  79. package/dist/{emergency-stop-BDwI4Cyl.js → emergency-stop-CfKEsUr_.js} +70 -70
  80. package/dist/{emergency-stop-DpMAMIiz.js → emergency-stop-CzExWKhr.js} +2 -2
  81. package/dist/{emergency-stop-DOi-rKmj.js → emergency-stop-DAmKucxm.js} +2 -2
  82. package/dist/{emergency-stop--ScwariE.js → emergency-stop-tKLAiFAG.js} +2 -2
  83. package/dist/{enable-o_s6PBsC.js → enable-DaA_orGN.js} +1 -1
  84. package/dist/entry.js +1 -1
  85. package/dist/{exec-approvals-allowlist-Co2tJSEo.js → exec-approvals-allowlist-8AkOwwIr.js} +1 -1
  86. package/dist/{exec-approvals-cli-CyjTnYfk.js → exec-approvals-cli-CtoJW2K-.js} +15 -15
  87. package/dist/{exec-safe-bin-runtime-policy-DaoU9-ni.js → exec-safe-bin-runtime-policy-DYXuBKqH.js} +2 -2
  88. package/dist/extensionAPI.js +2 -2
  89. package/dist/{fs-safe-_JQUGpZf.js → fs-safe-DNFrxDS-.js} +15 -15
  90. package/dist/{gateway-cli-DQcjWJr7.js → gateway-cli-C8P5BVto.js} +148 -148
  91. package/dist/{gateway-cli-B4T44JsM.js → gateway-cli-DSJcNJYR.js} +9 -9
  92. package/dist/{gateway-rpc-Du-ZpDjh.js → gateway-rpc-6vnhO4v8.js} +1 -1
  93. package/dist/{health-D7UCYzfy.js → health-BN8WNyon.js} +1 -1
  94. package/dist/{health--39yieH5.js → health-CNZK5D2k.js} +13 -13
  95. package/dist/{hooks-cli-CGB7TcZZ.js → hooks-cli-L32lBsp7.js} +3 -3
  96. package/dist/{hooks-cli-Cko_uweG.js → hooks-cli-t7tiLn8P.js} +84 -84
  97. package/dist/{hooks-status-DNGo2G8Q.js → hooks-status-CPIWc_bx.js} +1 -1
  98. package/dist/{idlehands-root-B8cUs-5M.js → idlehands-root-DFL2GrNW.js} +8 -8
  99. package/dist/{image-DSDEbSiO.js → image-C2JZiK-6.js} +5 -5
  100. package/dist/{image-ops-BU-VdLZu.js → image-ops-BkoEFRYH.js} +10 -10
  101. package/dist/index.js +80 -80
  102. package/dist/{inspect-ISQZuNM5.js → inspect-Dg16DMLn.js} +4 -4
  103. package/dist/{install-safe-path-ChNR9pl6.js → install-safe-path-CNNMzJl9.js} +19 -19
  104. package/dist/{installs-CNubze2L.js → installs-ST3UaUVJ.js} +9 -9
  105. package/dist/{ir-VncGpwA1.js → ir-DV0Hszc8.js} +6 -6
  106. package/dist/{lifecycle-core-B6UoqYTJ.js → lifecycle-core-DOScNyOv.js} +5 -5
  107. package/dist/llm-slug-generator.js +2 -2
  108. package/dist/{local-roots-q0xbefkf.js → local-roots-Cco87A2_.js} +2 -2
  109. package/dist/{login-CfUhrgWT.js → login-Dl_lsEHS.js} +4 -4
  110. package/dist/{login-qr-DBMsUxgL.js → login-qr-B68cBRH0.js} +7 -7
  111. package/dist/{logs-cli-CH4mFhUt.js → logs-cli-BluGGq03.js} +8 -8
  112. package/dist/{manager-BMAFgXyU.js → manager-BBeTPO2h.js} +13 -13
  113. package/dist/{manifest-registry-Bak1x76G.js → manifest-registry-RfRn8HJx.js} +1 -1
  114. package/dist/{markdown-tables-DZClqsNo.js → markdown-tables-C5hTDqNm.js} +1 -1
  115. package/dist/{memory-cli-CUGwnVIY.js → memory-cli-4wfelGdK.js} +12 -12
  116. package/dist/{model-C-icShH2.js → model-Bd-05WpB.js} +2 -2
  117. package/dist/{model-catalog-D9no0CH2.js → model-catalog-BCsDrrvq.js} +3 -3
  118. package/dist/{model-picker-BkXoTOiA.js → model-picker-D3U0wJCO.js} +4 -4
  119. package/dist/{model-selection-0dGxYGp8.js → model-selection-CSn9tUuH.js} +16 -16
  120. package/dist/{models-cli-d_ead6LU.js → models-cli-ChStpcQY.js} +79 -79
  121. package/dist/{models-cli-NlT2N74B.js → models-cli-dd-wJvj0.js} +4 -4
  122. package/dist/{models-config-C5A1wDWh.js → models-config-lQpqp472.js} +6 -6
  123. package/dist/{models-CWfcMshO.js → models-mQeB9JXZ.js} +2 -2
  124. package/dist/{node-cli-Ch7K7WtL.js → node-cli-DhD8-NHR.js} +32 -32
  125. package/dist/{node-service-C3vyxHLA.js → node-service-GpI0jzKr.js} +1 -1
  126. package/dist/{nodes-cli-D_hUCPNt.js → nodes-cli-DPzxQ0mY.js} +14 -14
  127. package/dist/{nodes-screen-CcpPaFxa.js → nodes-screen-CIAn0wXq.js} +4 -4
  128. package/dist/{npm-registry-spec-BCbbfIhX.js → npm-registry-spec-BfeHLbIQ.js} +16 -16
  129. package/dist/{npm-resolution-Dpn9DNPz.js → npm-resolution-WKW4cIrd.js} +1 -1
  130. package/dist/{npm-resolution-DIJeEhoa.js → npm-resolution-tT1BUac2.js} +3 -3
  131. package/dist/{onboard-DFseyAG9.js → onboard-D1wKkHHC.js} +2 -2
  132. package/dist/{onboard-channels-mLWuxUlN.js → onboard-channels-CG1R8Ozs.js} +1 -1
  133. package/dist/{onboard-channels-CG1HcORq.js → onboard-channels-CRHp5hA-.js} +20 -20
  134. package/dist/{onboard-custom-DUbzMMu7.js → onboard-custom-D2sCP3_S.js} +4 -4
  135. package/dist/{onboard-helpers-BQmbMJxJ.js → onboard-helpers-ByhJg2ST.js} +8 -8
  136. package/dist/{onboard-hooks-D9teGxfH.js → onboard-hooks-_1Jgimeu.js} +4 -4
  137. package/dist/{onboard-remote-CIjhaP2W.js → onboard-remote-DuhWSiAO.js} +1 -1
  138. package/dist/{onboard-Raw5nkGc.js → onboard-rze7pzoW.js} +6 -6
  139. package/dist/{onboard-skills-BsaUIuq6.js → onboard-skills-vFwEasAg.js} +4 -4
  140. package/dist/{onboarding-CzzjhwRf.js → onboarding-BgHfZNln.js} +3 -3
  141. package/dist/{onboarding-DYlNLV9R.js → onboarding-BxvY_aEE.js} +13 -13
  142. package/dist/{onboarding.finalize-CIOBj6Jy.js → onboarding.finalize-5_UCPMAw.js} +7 -7
  143. package/dist/{onboarding.finalize-BJYuOTPe.js → onboarding.finalize-DnCFQEPR.js} +82 -82
  144. package/dist/{onboarding.gateway-config-CEQMyj8l.js → onboarding.gateway-config-qVAY6x7I.js} +16 -16
  145. package/dist/{openai-model-default-7J6cw1rA.js → openai-model-default-OPCCNNS0.js} +2 -2
  146. package/dist/{outbound-DPTxwchq.js → outbound-CG19kl0w.js} +4 -4
  147. package/dist/{plugin-sdk/outbound-attachment-BisU5Vji.js → outbound-attachment-jYdMgCml.js} +2 -2
  148. package/dist/{pairing-cli-jwx6hMsM.js → pairing-cli-QJYYDcIK.js} +10 -10
  149. package/dist/{pairing-labels-ChQJzbS9.js → pairing-labels-DuZ7ih-T.js} +1 -1
  150. package/dist/{pairing-store-CPpEEQJO.js → pairing-store-qvpPoWL_.js} +2 -2
  151. package/dist/{pairing-token-lKXTMQ_M.js → pairing-token-3hoCgQqp.js} +7 -7
  152. package/dist/{path-alias-guards-FXBVVTLw.js → path-alias-guards-BCskHdfJ.js} +3 -3
  153. package/dist/{path-safety-DwibX65n.js → path-safety-C1Y004P_.js} +1 -1
  154. package/dist/{paths-B-CLQ5RT.js → paths-Bt0fZexW.js} +9 -9
  155. package/dist/{pi-embedded-Swc7dke2.js → pi-embedded-BcmA23Ak.js} +12 -12
  156. package/dist/{pi-embedded-7XGjNojd.js → pi-embedded-D_8x2ll-.js} +12 -12
  157. package/dist/{pi-embedded-helpers-BCsfqpDt.js → pi-embedded-helpers-BkzrQ5bZ.js} +6 -6
  158. package/dist/{pi-model-discovery-BIP3RjXl.js → pi-model-discovery-Bt79ifyi.js} +1 -1
  159. package/dist/{pi-tools.policy-DfITIKZj.js → pi-tools.policy-B_ME3yF6.js} +5 -5
  160. package/dist/{plugin-auto-enable-7DUxMy6A.js → plugin-auto-enable-BMuSi4aV.js} +3 -3
  161. package/dist/{plugin-registry-BAd0SoEv.js → plugin-registry-C3IHwz9i.js} +3 -3
  162. package/dist/{plugin-registry-D9Z1bMNt.js → plugin-registry-CncOKeD3.js} +1 -1
  163. package/dist/plugin-sdk/{accounts-CBVAw5_G.js → accounts-B9nfRzyn.js} +1 -1
  164. package/dist/plugin-sdk/{accounts-BLYMokxV.js → accounts-Kt6ygPsC.js} +2 -2
  165. package/dist/plugin-sdk/{accounts-C5tHm1UI.js → accounts-mjFAny5F.js} +1 -1
  166. package/dist/plugin-sdk/{agent-scope-jl80I5G9.js → agent-scope-CU41EMlR.js} +2 -2
  167. package/dist/plugin-sdk/{agent-via-gateway-B3F-royZ.js → agent-via-gateway-CDKZ0Jk9.js} +55 -55
  168. package/dist/plugin-sdk/{anton-DfpQdXJJ.js → anton-Bp5L7uaN.js} +25 -7
  169. package/dist/plugin-sdk/{api-key-rotation-D6nK54XH.js → api-key-rotation-CZhCWd61.js} +2 -2
  170. package/dist/plugin-sdk/{audio-preflight-CKqqN8ty.js → audio-preflight-CRgDehfO.js} +30 -30
  171. package/dist/plugin-sdk/{auth-store-DaPWgQTx.js → auth-store-DycBvVqL.js} +1 -1
  172. package/dist/plugin-sdk/{bindings-xXgmJGxj.js → bindings-BDKKHGv-.js} +2 -2
  173. package/dist/plugin-sdk/{channel-activity-loOg1DRw.js → channel-activity-TcS_VfJk.js} +3 -3
  174. package/dist/plugin-sdk/{channel-web-BWE_kecR.js → channel-web-DcgShj6y.js} +24 -24
  175. package/dist/plugin-sdk/{chrome-Cb9FgiCI.js → chrome-BCTizrZD.js} +6 -6
  176. package/dist/plugin-sdk/{chunk-PW4MBmaN.js → chunk-DZr5xuqv.js} +1 -1
  177. package/dist/plugin-sdk/{commands-registry-B5m2EsHz.js → commands-registry-BqJLwZYh.js} +5 -5
  178. package/dist/plugin-sdk/{config-CEgzwk0J.js → config-BzPMtEKA.js} +10 -10
  179. package/dist/plugin-sdk/{deliver-BNfMF0Nb.js → deliver-Cfc1UCre.js} +10 -10
  180. package/dist/plugin-sdk/{deps-B0MfJgDH.js → deps-B5eQTF_d.js} +6 -6
  181. package/dist/plugin-sdk/{diagnostic-ByA6zvzu.js → diagnostic-B8VzcqLf.js} +1 -1
  182. package/dist/plugin-sdk/{dock-DKQYtT6-.js → dock-CMURqoee.js} +6 -6
  183. package/dist/plugin-sdk/{emergency-stop-rTRWpk26.js → emergency-stop-DQppo4RU.js} +55 -55
  184. package/dist/plugin-sdk/{env-5XecRTLs.js → env-qurSiOO2.js} +1 -1
  185. package/dist/plugin-sdk/{errors-CMcD8Lhh.js → errors-UqLewZJL.js} +1 -1
  186. package/dist/plugin-sdk/{fetch-guard-DwdUEdmT.js → fetch-guard-C174s8ZV.js} +1 -1
  187. package/dist/plugin-sdk/{fs-safe-qsx2_8-o.js → fs-safe-CCXTOK7j.js} +2 -2
  188. package/dist/plugin-sdk/{image-C_1tftC8.js → image-DDuK8tyO.js} +6 -6
  189. package/dist/plugin-sdk/{image-ops-CXSUo-AM.js → image-ops-BRYGGDwL.js} +1 -1
  190. package/dist/plugin-sdk/index.js +60 -60
  191. package/dist/plugin-sdk/{ir-kdDGpPMq.js → ir-Bv0Zbp2E.js} +5 -5
  192. package/dist/plugin-sdk/{local-roots-DjB6DYeI.js → local-roots-bHCsSVt_.js} +4 -4
  193. package/dist/plugin-sdk/{login-DIwO5D5Y.js → login-CkQrnY2G.js} +6 -6
  194. package/dist/plugin-sdk/{login-qr-CpCAJuvT.js → login-qr-DAeHibH_.js} +8 -8
  195. package/dist/plugin-sdk/{manager-Dox9r7og.js → manager-CTC1S_c9.js} +10 -10
  196. package/dist/plugin-sdk/{markdown-tables-Drtwd4J5.js → markdown-tables-DfUQHRZY.js} +1 -1
  197. package/dist/plugin-sdk/{message-channel-CQ0qkGHj.js → message-channel-DiMXmQeQ.js} +1 -1
  198. package/dist/plugin-sdk/{outbound-Dx_q6JAI.js → outbound-B1twcfz5.js} +6 -6
  199. package/dist/{outbound-attachment-Bot3bRnK.js → plugin-sdk/outbound-attachment-Bs7fNaqv.js} +2 -2
  200. package/dist/plugin-sdk/{path-alias-guards-C_uBEYb4.js → path-alias-guards-yyy61qHh.js} +1 -1
  201. package/dist/plugin-sdk/{pi-embedded-helpers-B68z4sHq.js → pi-embedded-helpers-BAm9cWol.js} +16 -16
  202. package/dist/plugin-sdk/{pi-model-discovery-Dt6899be.js → pi-model-discovery-Bt6JtUFr.js} +1 -1
  203. package/dist/plugin-sdk/{plugins-NTjIvHYk.js → plugins-DRPlVBr_.js} +5 -5
  204. package/dist/plugin-sdk/{pw-ai-Dk2PTZzq.js → pw-ai-CY0evCZ2.js} +10 -10
  205. package/dist/plugin-sdk/{qmd-manager-juzrnopq.js → qmd-manager-BckPBwZX.js} +5 -5
  206. package/dist/plugin-sdk/{query-expansion-xBXvzdkL.js → query-expansion-CPqK-tTR.js} +2 -2
  207. package/dist/plugin-sdk/{redact-B6VQH3UQ.js → redact-Ub8sMBBC.js} +1 -1
  208. package/dist/plugin-sdk/{replies-ZovJp-3F.js → replies-DwTNZJgi.js} +3 -3
  209. package/dist/plugin-sdk/{reply-C2G4DKTN.js → reply-BtQHoQT3.js} +96 -96
  210. package/dist/plugin-sdk/{reply-prefix--mxmTL7A.js → reply-prefix-BqV0o7_7.js} +1 -1
  211. package/dist/plugin-sdk/{resolve-outbound-target-CnUtsDch.js → resolve-outbound-target-DAdNGEqG.js} +2 -2
  212. package/dist/plugin-sdk/{resolve-route-BZABUE4J.js → resolve-route-C5mAwY-o.js} +3 -3
  213. package/dist/plugin-sdk/{retry-Bh7jveNm.js → retry-2OVzZJMZ.js} +1 -1
  214. package/dist/plugin-sdk/{runner-CZz1tOIR.js → runner-Ck0w3rcz.js} +10 -10
  215. package/dist/plugin-sdk/{send-Cb5NIN8s.js → send-A4Lv5nrg.js} +7 -7
  216. package/dist/plugin-sdk/{send-0EVlThEG.js → send-BBD-m-nM.js} +10 -10
  217. package/dist/plugin-sdk/{send-BCjVQhp3.js → send-CPeuqOlq.js} +13 -13
  218. package/dist/plugin-sdk/{send-B26cNPqY.js → send-CaPoBwby.js} +6 -6
  219. package/dist/plugin-sdk/{send-CHUGIZs9.js → send-SsqudCMv.js} +7 -7
  220. package/dist/plugin-sdk/{session-DdJj6_DW.js → session-DpL4uk1J.js} +3 -3
  221. package/dist/plugin-sdk/{sessions-DNx9c2O2.js → sessions-CQ5iD4Uq.js} +6 -6
  222. package/dist/plugin-sdk/{skill-commands-DorIK8kn.js → skill-commands-C_O9I71g.js} +5 -5
  223. package/dist/plugin-sdk/{skills-Dh_Cf2PA.js → skills-DmiIiX4l.js} +8 -8
  224. package/dist/plugin-sdk/{store-CCCXwngh.js → store-BI3rLJdW.js} +2 -2
  225. package/dist/plugin-sdk/{subsystem-DWPzKeZ0.js → subsystem-lJo9gqAK.js} +1 -1
  226. package/dist/plugin-sdk/{tables-CF9W23Rd.js → tables-C4X_nAUQ.js} +1 -1
  227. package/dist/plugin-sdk/{target-errors-DaH0qYtL.js → target-errors-CXh6e9ZE.js} +2 -2
  228. package/dist/plugin-sdk/{tokens-Y97UKh4C.js → tokens-CU9S3S7t.js} +1 -1
  229. package/dist/plugin-sdk/{tool-images-BMRkn_yk.js → tool-images-Cf9aWlVu.js} +2 -2
  230. package/dist/plugin-sdk/{tool-loop-detection-Cv8wyfAi.js → tool-loop-detection-DuwkSqZL.js} +2 -2
  231. package/dist/plugin-sdk/{upgrade-command-DKUGbn8D.js → upgrade-command-y1YvsJbf.js} +12 -2
  232. package/dist/plugin-sdk/{utils-Dyj2wV4e.js → utils-dP-FpIgu.js} +2 -2
  233. package/dist/plugin-sdk/web-Cg6vlkku.js +71 -0
  234. package/dist/plugin-sdk/{whatsapp-actions-B5g-Rywy.js → whatsapp-actions-Bcknq6EZ.js} +23 -23
  235. package/dist/{plugins-D46VZh7u.js → plugins-B4hASNc2.js} +2 -2
  236. package/dist/{plugins-cli-BYfDyWXn.js → plugins-cli-BMptU-1l.js} +80 -80
  237. package/dist/{plugins-cli-DP46ipIu.js → plugins-cli-CMYlin6k.js} +3 -3
  238. package/dist/{ports-B2o0FSFD.js → ports-B07M55Gr.js} +1 -1
  239. package/dist/{ports-SQy1d-RL.js → ports-DWJO5S52.js} +2 -2
  240. package/dist/{program-BlV0XOMu.js → program-DyMaBEqF.js} +8 -8
  241. package/dist/{program-context-PC7Knx3s.js → program-context-BxflGz_G.js} +43 -43
  242. package/dist/{prompt-select-styled-BgfuPDVv.js → prompt-select-styled-CI3hobey.js} +37 -37
  243. package/dist/{prompt-select-styled-BEnn1bwr.js → prompt-select-styled-es3PJxfH.js} +4 -4
  244. package/dist/{provider-auth-helpers-CrjXAqYu.js → provider-auth-helpers-CrGScfnN.js} +1 -1
  245. package/dist/{provider-auth-helpers-CKIkgNDk.js → provider-auth-helpers-DYxaYmlq.js} +5 -5
  246. package/dist/{push-apns-B4sxQAG3.js → push-apns-BNxgGXQy.js} +1 -1
  247. package/dist/{push-apns-BPmS_f8e.js → push-apns-CjAXPy2N.js} +5 -5
  248. package/dist/{pw-ai-7i9eGnLh.js → pw-ai-BGALvhDi.js} +11 -11
  249. package/dist/{qmd-manager-B-qeywfQ.js → qmd-manager-CVcPfkhL.js} +19 -19
  250. package/dist/{qr-cli-CSt5ihwG.js → qr-cli-D2Oh8f0U.js} +1 -1
  251. package/dist/{query-expansion-Clts_AGz.js → query-expansion-i5I3yavb.js} +12 -12
  252. package/dist/{redact-snapshot-BBNDQZIe.js → redact-snapshot-CtIVs92s.js} +1 -1
  253. package/dist/{register.agent-DRcOj2U3.js → register.agent-B9f0mtlc.js} +9 -9
  254. package/dist/{register.agent-uaM-OgFM.js → register.agent-DrVFgVpf.js} +95 -95
  255. package/dist/register.configure-BxZRBEJ9.js +168 -0
  256. package/dist/{register.configure-BebpNVXc.js → register.configure-DAlBU97I.js} +8 -8
  257. package/dist/{register.maintenance-CjWtRkPb.js → register.maintenance-BThQUyMI.js} +9 -9
  258. package/dist/{register.maintenance-Cr0SJRGa.js → register.maintenance-G_dZOyQA.js} +90 -90
  259. package/dist/{register.message-BNqRwnPx.js → register.message-BVTuvjQA.js} +71 -71
  260. package/dist/{register.message-DMAqqNBh.js → register.message-DKaxesxx.js} +3 -3
  261. package/dist/{register.onboard-9Z1ghVgM.js → register.onboard-CnoQ56yq.js} +18 -18
  262. package/dist/{register.onboard-DDLj9mJ2.js → register.onboard-CwtL9YYR.js} +2 -2
  263. package/dist/{register.orchestrator-anton-BybNaYi1.js → register.orchestrator-anton-2LtPHPXM.js} +14 -14
  264. package/dist/{register.orchestrator-anton-9Al8Av8i.js → register.orchestrator-anton-Ce55Lxt0.js} +2 -2
  265. package/dist/{register.setup-yqN0SXow.js → register.setup-Dg5LmRxd.js} +2 -2
  266. package/dist/{register.setup-Z1tBfa9d.js → register.setup-_s2CQaBF.js} +21 -21
  267. package/dist/{register.status-health-sessions-r-mpQR1m.js → register.status-health-sessions-DX2OgAeG.js} +4 -4
  268. package/dist/{register.status-health-sessions-Di92AnoH.js → register.status-health-sessions-iSQzPXD0.js} +82 -82
  269. package/dist/{register.subclis-DPQqxIZd.js → register.subclis-YeKuHCRg.js} +10 -10
  270. package/dist/{replies-hSFVxL4h.js → replies-Czp4hvpS.js} +1 -1
  271. package/dist/{reply-ZWOav11z.js → reply-DKIv9jez.js} +153 -153
  272. package/dist/{reply-prefix-C3y4zpTl.js → reply-prefix-BMEdvSpA.js} +1 -1
  273. package/dist/{resolve-route-D_AbcmD6.js → resolve-route-Ef_Yt2Dw.js} +2 -2
  274. package/dist/{rpc-CCimHATv.js → rpc-DDTp_J6f.js} +1 -1
  275. package/dist/{run-main-DDbBATo6.js → run-main-BwWO5erE.js} +15 -15
  276. package/dist/{runner-DzszLzI4.js → runner-BFG54hnb.js} +20 -20
  277. package/dist/{runtime-XmXLaHNk.js → runtime-DEmy759r.js} +2 -2
  278. package/dist/{sandbox-DcUw5h3p.js → sandbox-CfPbhDY_.js} +20 -20
  279. package/dist/{sandbox-cli-DGvJ7Eeq.js → sandbox-cli-B4wLJr21.js} +22 -22
  280. package/dist/{secrets-cli-Bgp_H_bH.js → secrets-cli-CidAOBfl.js} +9 -9
  281. package/dist/{security-cli-MQ__Ca6v.js → security-cli-Ch7AhbhS.js} +39 -39
  282. package/dist/{send-C4v0Leny.js → send-BCPkAE2k.js} +6 -6
  283. package/dist/{send-DuwdEkLw.js → send-BPwTl4-K.js} +4 -4
  284. package/dist/{send-DQiw_nGD.js → send-CEavqqEz.js} +6 -6
  285. package/dist/{send-DwdHiC7_.js → send-CVIXqubC.js} +13 -13
  286. package/dist/{send--lzpNy4f.js → send-DDMaLJAQ.js} +7 -7
  287. package/dist/{server-D6MltJIF.js → server-BpSbZAwg.js} +14 -14
  288. package/dist/{server-context-DI0W_H7R.js → server-context-BxNSTpH6.js} +10 -10
  289. package/dist/{server-lifecycle-B5PlrlbG.js → server-lifecycle-CGKrGrhM.js} +2 -2
  290. package/dist/{server-node-events-DNJLKEMT.js → server-node-events-CZ5OkouD.js} +71 -71
  291. package/dist/{server-node-events-BcZPS5tj.js → server-node-events-lbb8M18B.js} +3 -3
  292. package/dist/{service-C8NMS3m_.js → service-Bj2oSfpw.js} +15 -15
  293. package/dist/{session-CdnrRhb4.js → session-BKVySI8q.js} +1 -1
  294. package/dist/{sessions-BtPXimXQ.js → sessions-BqWocozB.js} +14 -14
  295. package/dist/{shared-CpDPo3hJ.js → shared-DnQ4iyXk.js} +2 -2
  296. package/dist/{shared-DpLSpJIl.js → shared-Jzrx8DfN.js} +1 -1
  297. package/dist/{skill-commands-BFzmZAfo.js → skill-commands-BwIRWSCI.js} +5 -5
  298. package/dist/{skill-scanner-D7mzXRXd.js → skill-scanner-B4Ftsbd2.js} +5 -5
  299. package/dist/{skills-DlvDyK8L.js → skills-TIyQDZx7.js} +3 -3
  300. package/dist/{skills-cli-BhKGhjbO.js → skills-cli-5lbXi4Lh.js} +5 -5
  301. package/dist/{skills-install-tr6wRWZj.js → skills-install-D0JHP5uM.js} +4 -4
  302. package/dist/{skills-status-qjQ8XP0h.js → skills-status-Q9skQExW.js} +1 -1
  303. package/dist/{status-geIYZraQ.js → status-BE1Y0CKS.js} +2 -2
  304. package/dist/{status-BXSiFfmy.js → status-Bd9NYE1U.js} +24 -24
  305. package/dist/{status.update-CTi6vuWj.js → status.update-C3uRz7W6.js} +2 -2
  306. package/dist/{store-kH9wHHbO.js → store-CLNuI8-G.js} +5 -5
  307. package/dist/{subagent-registry-C6uygQa1.js → subagent-registry-CTZmDdGV.js} +12 -12
  308. package/dist/{system-cli-3T-OTIKv.js → system-cli-DBp9Zmvt.js} +8 -8
  309. package/dist/{system-run-approval-context-CISBXlNw.js → system-run-approval-context-xZVoE4nS.js} +1 -1
  310. package/dist/{system-run-command-qJdgzxLp.js → system-run-command-BIhrK3OI.js} +1 -1
  311. package/dist/{systemd-CaCR5CyM.js → systemd-DyrVLTI0.js} +9 -9
  312. package/dist/{systemd-hints-DHu-HVFx.js → systemd-hints-BoKKzRI_.js} +6 -6
  313. package/dist/{systemd-linger-B7XlUHk_.js → systemd-linger-DrhGd61G.js} +1 -1
  314. package/dist/{tables-g9xkflht.js → tables-CZSD889r.js} +1 -1
  315. package/dist/{target-errors-bLIVFsbF.js → target-errors-BYuWhuLU.js} +4 -4
  316. package/dist/{tool-images-CHqepyF_.js → tool-images-DZHrc4pq.js} +1 -1
  317. package/dist/{tui-lalhRHve.js → tui-DWGHGeZ3.js} +6 -6
  318. package/dist/{tui-cli-BVKWJ9X7.js → tui-cli-DKyA5pZ2.js} +30 -30
  319. package/dist/{update-cli-BxVcRBy_.js → update-cli-D-4_OhRR.js} +9 -9
  320. package/dist/{update-cli-VlK55yII.js → update-cli-DvUx2El6.js} +99 -99
  321. package/dist/{update-D79ppbMQ.js → update-la2AdLf3.js} +3 -3
  322. package/dist/{update-runner-bFqEARFN.js → update-runner-BvaywdEe.js} +1 -1
  323. package/dist/{update-runner-Cw7BbjGv.js → update-runner-n2snlf-4.js} +15 -15
  324. package/dist/{upgrade-command-Bh61DpzA.js → upgrade-command-28wRHZZ2.js} +15 -5
  325. package/dist/{upgrade-command-CvbcPPIF.js → upgrade-command-BOG7TpIq.js} +12 -2
  326. package/dist/{upgrade-command-Bvrv4iDU.js → upgrade-command-CWP8S_lt.js} +12 -2
  327. package/dist/{upgrade-command-L9y3xbza.js → upgrade-command-eqla-KnV.js} +12 -2
  328. package/dist/{web-BjMMu9l1.js → web-BedV4zGE.js} +3 -3
  329. package/dist/{web-DptF9st7.js → web-BjP-D0Iz.js} +3 -3
  330. package/dist/web-CDFWB79W.js +123 -0
  331. package/dist/{web-TRTzT6rm.js → web-Dbrx58hF.js} +3 -3
  332. package/dist/{webhooks-cli-2N03q0iY.js → webhooks-cli-BnmVPYkU.js} +6 -6
  333. package/dist/{whatsapp-actions-Cms8wQM1.js → whatsapp-actions-D2mBFzmK.js} +18 -18
  334. package/dist/{with-timeout-DEdycYxq.js → with-timeout-BodPmGCY.js} +3 -3
  335. package/dist/{workspace-D3pARwoB.js → workspace-CDw87aZG.js} +1 -1
  336. package/dist/{workspace-dirs-SsExQ3Bz.js → workspace-dirs-D3bousoX.js} +1 -1
  337. package/dist/{wsl-BJW8nTyL.js → wsl-CgXDjE09.js} +2 -2
  338. package/extensions/acpx/package.json +1 -1
  339. package/extensions/bluebubbles/package.json +1 -1
  340. package/extensions/copilot-proxy/package.json +1 -1
  341. package/extensions/diagnostics-otel/package.json +1 -1
  342. package/extensions/discord/package.json +1 -1
  343. package/extensions/feishu/package.json +1 -1
  344. package/extensions/google-gemini-cli-auth/package.json +1 -1
  345. package/extensions/googlechat/package.json +1 -1
  346. package/extensions/hand/package.json +1 -1
  347. package/extensions/imessage/package.json +1 -1
  348. package/extensions/irc/package.json +1 -1
  349. package/extensions/line/package.json +1 -1
  350. package/extensions/llm-task/package.json +1 -1
  351. package/extensions/matrix/CHANGELOG.md +12 -0
  352. package/extensions/matrix/package.json +1 -1
  353. package/extensions/mattermost/package.json +1 -1
  354. package/extensions/memory-core/package.json +1 -1
  355. package/extensions/memory-lancedb/package.json +1 -1
  356. package/extensions/minimax-portal-auth/package.json +1 -1
  357. package/extensions/msteams/CHANGELOG.md +12 -0
  358. package/extensions/msteams/package.json +1 -1
  359. package/extensions/nextcloud-talk/package.json +1 -1
  360. package/extensions/nostr/CHANGELOG.md +12 -0
  361. package/extensions/nostr/package.json +1 -1
  362. package/extensions/open-prose/package.json +1 -1
  363. package/extensions/signal/package.json +1 -1
  364. package/extensions/slack/package.json +1 -1
  365. package/extensions/synology-chat/package.json +1 -1
  366. package/extensions/telegram/package.json +1 -1
  367. package/extensions/tlon/package.json +1 -1
  368. package/extensions/twitch/CHANGELOG.md +12 -0
  369. package/extensions/twitch/package.json +1 -1
  370. package/extensions/voice-call/CHANGELOG.md +12 -0
  371. package/extensions/voice-call/package.json +1 -1
  372. package/extensions/whatsapp/package.json +1 -1
  373. package/extensions/zalo/CHANGELOG.md +12 -0
  374. package/extensions/zalo/package.json +1 -1
  375. package/extensions/zalouser/CHANGELOG.md +12 -0
  376. package/extensions/zalouser/package.json +1 -1
  377. package/package.json +1 -1
  378. package/dist/plugin-sdk/web-bxu2RRVS.js +0 -71
  379. package/dist/register.configure-B0i1vobR.js +0 -168
  380. package/dist/web-Bjj9WtlF.js +0 -123
@@ -1,7 +1,7 @@
1
1
  import { n as runExec } from "./exec-CKHMT0tZ.js";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
- import fs from "node:fs/promises";
4
+ import fsPromises from "node:fs/promises";
5
5
  import { fileTypeFromBuffer } from "file-type";
6
6
 
7
7
  //#region src/media/constants.ts
@@ -235,11 +235,11 @@ function readJpegExifOrientation(buffer) {
235
235
  return null;
236
236
  }
237
237
  async function withTempDir(fn) {
238
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), "idlehands-img-"));
238
+ const dir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "idlehands-img-"));
239
239
  try {
240
240
  return await fn(dir);
241
241
  } finally {
242
- await fs.rm(dir, {
242
+ await fsPromises.rm(dir, {
243
243
  recursive: true,
244
244
  force: true
245
245
  }).catch(() => {});
@@ -248,7 +248,7 @@ async function withTempDir(fn) {
248
248
  async function sipsMetadataFromBuffer(buffer) {
249
249
  return await withTempDir(async (dir) => {
250
250
  const input = path.join(dir, "in.img");
251
- await fs.writeFile(input, buffer);
251
+ await fsPromises.writeFile(input, buffer);
252
252
  const { stdout } = await runExec("/usr/bin/sips", [
253
253
  "-g",
254
254
  "pixelWidth",
@@ -276,7 +276,7 @@ async function sipsResizeToJpeg(params) {
276
276
  return await withTempDir(async (dir) => {
277
277
  const input = path.join(dir, "in.img");
278
278
  const output = path.join(dir, "out.jpg");
279
- await fs.writeFile(input, params.buffer);
279
+ await fsPromises.writeFile(input, params.buffer);
280
280
  await runExec("/usr/bin/sips", [
281
281
  "-Z",
282
282
  String(Math.max(1, Math.round(params.maxSide))),
@@ -293,14 +293,14 @@ async function sipsResizeToJpeg(params) {
293
293
  timeoutMs: 2e4,
294
294
  maxBuffer: 1024 * 1024
295
295
  });
296
- return await fs.readFile(output);
296
+ return await fsPromises.readFile(output);
297
297
  });
298
298
  }
299
299
  async function sipsConvertToJpeg(buffer) {
300
300
  return await withTempDir(async (dir) => {
301
301
  const input = path.join(dir, "in.heic");
302
302
  const output = path.join(dir, "out.jpg");
303
- await fs.writeFile(input, buffer);
303
+ await fsPromises.writeFile(input, buffer);
304
304
  await runExec("/usr/bin/sips", [
305
305
  "-s",
306
306
  "format",
@@ -312,7 +312,7 @@ async function sipsConvertToJpeg(buffer) {
312
312
  timeoutMs: 2e4,
313
313
  maxBuffer: 1024 * 1024
314
314
  });
315
- return await fs.readFile(output);
315
+ return await fsPromises.readFile(output);
316
316
  });
317
317
  }
318
318
  async function getImageMetadata(buffer) {
@@ -363,7 +363,7 @@ async function sipsApplyOrientation(buffer, orientation) {
363
363
  return await withTempDir(async (dir) => {
364
364
  const input = path.join(dir, "in.jpg");
365
365
  const output = path.join(dir, "out.jpg");
366
- await fs.writeFile(input, buffer);
366
+ await fsPromises.writeFile(input, buffer);
367
367
  await runExec("/usr/bin/sips", [
368
368
  ...ops,
369
369
  input,
@@ -373,7 +373,7 @@ async function sipsApplyOrientation(buffer, orientation) {
373
373
  timeoutMs: 2e4,
374
374
  maxBuffer: 1024 * 1024
375
375
  });
376
- return await fs.readFile(output);
376
+ return await fsPromises.readFile(output);
377
377
  });
378
378
  }
379
379
  async function resizeToJpeg(params) {
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-ZWOav11z.js";
6
- import "./agent-scope-RA0zXRpu.js";
5
+ import { Ct as resolveCommitHash, t as getReplyFromConfig } from "./reply-DKIv9jez.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-B8cUs-5M.js";
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-0dGxYGp8.js";
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-Bak1x76G.js";
19
- import "./dock-Y96MzKuM.js";
18
+ import "./manifest-registry-RfRn8HJx.js";
19
+ import "./dock-CzF5XYGd.js";
20
20
  import "./message-channel-DVauVtrg.js";
21
- import "./send-DwdHiC7_.js";
22
- import { _ as applyTemplate, u as installUnhandledRejectionHandler } from "./runner-DzszLzI4.js";
23
- import "./image-DSDEbSiO.js";
24
- import "./models-config-C5A1wDWh.js";
25
- import "./pi-model-discovery-BIP3RjXl.js";
26
- import "./pi-embedded-helpers-BCsfqpDt.js";
27
- import "./sandbox-DcUw5h3p.js";
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-VBsQfIrt.js";
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-DI0W_H7R.js";
35
+ import "./server-context-BxNSTpH6.js";
36
36
  import "./frontmatter-D-sQ_Hqk.js";
37
- import "./skills-DlvDyK8L.js";
38
- import "./path-alias-guards-FXBVVTLw.js";
39
- import "./paths-B-CLQ5RT.js";
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-_JQUGpZf.js";
42
+ import "./fs-safe-DNFrxDS-.js";
43
43
  import "./ssrf-Dw9zzKSM.js";
44
- import "./image-ops-BU-VdLZu.js";
45
- import "./store-kH9wHHbO.js";
46
- import { i as handlePortError, n as describePortOwner, r as ensurePortAvailable, t as PortInUseError } from "./ports-SQy1d-RL.js";
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-BtPXimXQ.js";
50
- import "./plugins-D46VZh7u.js";
51
- import "./accounts-DLTODa_Z.js";
52
- import "./accounts-3HS_UAhJ.js";
53
- import "./accounts-DgbTKQoW.js";
54
- import "./bindings-B59Q7nsk.js";
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-DDzIMy8_.js";
57
- import "./send-DuwdEkLw.js";
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-CHqepyF_.js";
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-B-FTJm5p.js";
64
- import "./local-roots-q0xbefkf.js";
65
- import "./model-catalog-D9no0CH2.js";
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--kttnrER.js";
68
- import "./commands-Dj5LalLo.js";
69
- import "./commands-registry-CURlRZQJ.js";
70
- import "./client-DxH9hwLn.js";
71
- import "./call-BRL23UCk.js";
72
- import "./pairing-token-lKXTMQ_M.js";
67
+ import "./deliver-yTpXc5sv.js";
68
+ import "./commands-D3BU_t7G.js";
69
+ import "./commands-registry-Cj4D_1tw.js";
70
+ import "./client-DIckPnsi.js";
71
+ import "./call-DnTBT02D.js";
72
+ import "./pairing-token-3hoCgQqp.js";
73
73
  import "./fetch-CYe1ekSh.js";
74
74
  import "./retry-Db05aSB8.js";
75
- import "./pairing-store-CPpEEQJO.js";
75
+ import "./pairing-store-qvpPoWL_.js";
76
76
  import "./exec-approvals-C2s2dPha.js";
77
- import "./exec-approvals-allowlist-Co2tJSEo.js";
78
- import "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
79
- import "./nodes-screen-CcpPaFxa.js";
80
- import "./target-errors-bLIVFsbF.js";
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-DEdycYxq.js";
82
+ import "./with-timeout-BodPmGCY.js";
83
83
  import "./diagnostic-ByHpt6q8.js";
84
- import "./send--lzpNy4f.js";
85
- import "./model-C-icShH2.js";
86
- import "./reply-prefix-C3y4zpTl.js";
87
- import "./memory-cli-CUGwnVIY.js";
88
- import "./manager-BMAFgXyU.js";
89
- import "./query-expansion-Clts_AGz.js";
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-DZClqsNo.js";
92
- import "./ir-VncGpwA1.js";
91
+ import "./markdown-tables-C5hTDqNm.js";
92
+ import "./ir-DV0Hszc8.js";
93
93
  import "./render-DC4qnRqG.js";
94
- import "./pi-tools.policy-DfITIKZj.js";
94
+ import "./pi-tools.policy-B_ME3yF6.js";
95
95
  import "./channel-activity-DaCsrdWK.js";
96
- import "./tables-g9xkflht.js";
97
- import "./send-C4v0Leny.js";
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-D_AbcmD6.js";
104
- import "./replies-hSFVxL4h.js";
105
- import "./skill-commands-BFzmZAfo.js";
106
- import "./workspace-dirs-SsExQ3Bz.js";
107
- import { t as createDefaultDeps } from "./deps-BYfE_aIY.js";
108
- import "./plugin-auto-enable-7DUxMy6A.js";
109
- import "./channel-selection-ZxRkxpuF.js";
110
- import "./outbound-attachment-Bot3bRnK.js";
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-CH8f3TJK.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-DQiw_nGD.js";
114
- import "./onboard-helpers-BQmbMJxJ.js";
113
+ import "./send-CEavqqEz.js";
114
+ import "./onboard-helpers-ByhJg2ST.js";
115
115
  import "./prompt-style-kmKiCZnm.js";
116
- import "./pairing-labels-ChQJzbS9.js";
117
- import "./server-lifecycle-B5PlrlbG.js";
116
+ import "./pairing-labels-DuZ7ih-T.js";
117
+ import "./server-lifecycle-CGKrGrhM.js";
118
118
  import "./stagger-rQoQSWkz.js";
119
- import "./system-run-command-qJdgzxLp.js";
120
- import { r as waitForever, t as monitorWebChannel } from "./channel-web-DjS8VQYO.js";
121
- import "./outbound-DPTxwchq.js";
122
- import "./session-CdnrRhb4.js";
123
- import "./login-CfUhrgWT.js";
119
+ import "./system-run-command-BIhrK3OI.js";
120
+ import { r as waitForever, t as monitorWebChannel } from "./channel-web-B1IazKKL.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-B2o0FSFD.js";
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-PC7Knx3s.js";
130
- import "./plugin-registry-BAd0SoEv.js";
131
- import { n as resolveCliChannelOptions } from "./channel-options-DdT_iiu2.js";
129
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-BxflGz_G.js";
130
+ import "./plugin-registry-C3IHwz9i.js";
131
+ import { n as resolveCliChannelOptions } from "./channel-options-BvOLgXCF.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-BdsOumqh.js");
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-BAd0SoEv.js").then((n) => n.n);
562
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-C3IHwz9i.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-C8NMS3m_.js";
2
+ import { n as execSchtasks } from "./service-Bj2oSfpw.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs/promises";
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 fs.readdir(dir);
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 fs.readFile(filePath, "utf8");
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-B8cUs-5M.js";
2
- import { n as resolveSafeBaseDir } from "./path-safety-DwibX65n.js";
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 fs$1 from "node:fs/promises";
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 fs$1.stat(direct)).isDirectory()) return direct;
82
+ if ((await fsPromises.stat(direct)).isDirectory()) return direct;
83
83
  } catch {}
84
- const dirs = (await fs$1.readdir(extractDir, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
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 fs$1.lstat(destDir);
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 fs$1.realpath(destDir);
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 fs$1.lstat(current);
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 fs$1.realpath(params.targetPath);
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 fs$1.open(outPath, OPEN_WRITE_FLAGS, 438);
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 fs$1.lstat(filePath);
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 fs$1.unlink(filePath).catch(() => void 0);
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 fs$1.mkdir(params.outPath, { recursive: true });
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 fs$1.mkdir(parentDir, { recursive: true });
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 fs$1.chmod(params.outPath, mode).catch(() => void 0);
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 fs$1.stat(params.archivePath)).size > limits.maxArchiveBytes) throw new Error(ERROR_ARCHIVE_SIZE_EXCEEDS_LIMIT);
264
- const buffer = await fs$1.readFile(params.archivePath);
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 fs$1.stat(filePath);
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 fs$1.readFile(filePath, "utf-8");
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-Bak1x76G.js";
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-ChNR9pl6.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-BCbbfIhX.js";
7
- import { t as scanDirectoryWithSummary } from "./skill-scanner-D7mzXRXd.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-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 fs from "node:fs/promises";
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 fs.mkdir(extensionsDir, { recursive: true });
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 fs.stat(dirPath)).isDirectory()) return {
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 fs.mkdir(extensionsDir, { recursive: true });
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 fs.copyFile(filePath, targetFile);
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-_JQUGpZf.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-BU-VdLZu.js";
4
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-q0xbefkf.js";
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 fs from "node:fs/promises";
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 fs.realpath(mediaPath);
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 fs.realpath(root);
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-0dGxYGp8.js";
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-BJW8nTyL.js";
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-CaCR5CyM.js";
10
- import { s as resolveGatewayLogPaths } from "./service-C8NMS3m_.js";
11
- import { a as checkTokenDrift, n as renderSystemdUnavailableHints } from "./systemd-hints-DHu-HVFx.js";
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,7 +10,7 @@ import "./boolean-CE7i9tBR.js";
10
10
  import "./env-B5G1qwGc.js";
11
11
  import "./dock-BgOmHcbh.js";
12
12
  import "./tokens-BRLyURxW.js";
13
- import { t as runEmbeddedPiAgent } from "./pi-embedded-7XGjNojd.js";
13
+ import { t as runEmbeddedPiAgent } from "./pi-embedded-D_8x2ll-.js";
14
14
  import "./plugins-CRB60mCJ.js";
15
15
  import "./accounts-Dk8mJIrQ.js";
16
16
  import "./bindings-D3b5Fmc9.js";
@@ -65,7 +65,7 @@ import "./send-D4bMycQu.js";
65
65
  import "./resolve-route-DuttYY7A.js";
66
66
  import "./proxy-CRB9oCP5.js";
67
67
  import "./replies-6_GxvQYe.js";
68
- import "./deps-KIFYHxig.js";
68
+ import "./deps-B_5kPH1Q.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-RA0zXRpu.js";
4
- import { c as detectMime, l as extensionForMime } from "./image-ops-BU-VdLZu.js";
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-0dGxYGp8.js";
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-DLTODa_Z.js";
8
- import { a as logoutWeb } from "./auth-store-DDzIMy8_.js";
9
- import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-CdnrRhb4.js";
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