@visorcraft/idlehands 4.0.7 → 4.0.8

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 (344) hide show
  1. package/dist/{accounts-DsVN0UNw.js → accounts-3HS_UAhJ.js} +1 -1
  2. package/dist/{accounts-D-hQsUw-.js → accounts-DLTODa_Z.js} +1 -1
  3. package/dist/{accounts-D87a1Y_K.js → accounts-DgbTKQoW.js} +1 -1
  4. package/dist/{acp-cli-D52jj29o.js → acp-cli-B-7CXaeS.js} +7 -7
  5. package/dist/{agent-scope-Bn39ugK4.js → agent-scope-RA0zXRpu.js} +18 -18
  6. package/dist/{agent-via-gateway-DHSAoHG7.js → agent-via-gateway-BNqWa2KY.js} +1 -1
  7. package/dist/{agent-via-gateway-DKv0lYbJ.js → agent-via-gateway-DAWRXgBZ.js} +7 -7
  8. package/dist/{agent-via-gateway-DpOnWB8B.js → agent-via-gateway-DnukWgYg.js} +4 -4
  9. package/dist/{agent-via-gateway-iOxURXfD.js → agent-via-gateway-ot70omgC.js} +2 -2
  10. package/dist/{agents-lCACO44K.js → agents-etUqQ3vM.js} +4 -4
  11. package/dist/{agents.config-CCY6Cz20.js → agents.config-DGaSmPdW.js} +2 -2
  12. package/dist/{agents.config-B9LFlgTL.js → agents.config-FFOmEBpp.js} +1 -1
  13. package/dist/anton-B7cGl-93.js +579 -0
  14. package/dist/{anton-eVW4p18G.js → anton-BV_xSUQi.js} +1 -1
  15. package/dist/{anton-BBGfJxOA.js → anton-CZliSAOv.js} +1 -1
  16. package/dist/{anton-BAc6lLhA.js → anton-CdYcHDXy.js} +1 -1
  17. package/dist/{api-key-rotation-nXQVJErE.js → api-key-rotation-B-FTJm5p.js} +1 -1
  18. package/dist/{audio-preflight-vD3mDc6w.js → audio-preflight-CSSlgO89.js} +4 -4
  19. package/dist/{audio-preflight-DzjXupNO.js → audio-preflight-Dl1TO10w.js} +31 -31
  20. package/dist/{audit-D12wg2tV.js → audit-BmaVRZSd.js} +22 -22
  21. package/dist/{auth-choice-FtlZRCkf.js → auth-choice-CdEVNS6t.js} +1 -1
  22. package/dist/{auth-choice-BDndThZZ.js → auth-choice-D12Wsf7w.js} +12 -12
  23. package/dist/{auth-choice-CB74F1Wg.js → auth-choice-qQO5MWz8.js} +10 -10
  24. package/dist/{auth-choice.apply-helpers-pTqMTYmi.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  25. package/dist/{auth-store-CMyrmmSF.js → auth-store-DDzIMy8_.js} +7 -7
  26. package/dist/{auth-token-fKt_cHOj.js → auth-token-BJq87X3o.js} +1 -1
  27. package/dist/{banner-B_5dznlS.js → banner-DKPFtm9j.js} +1 -1
  28. package/dist/{bindings-DZjkLUU_.js → bindings-B59Q7nsk.js} +1 -1
  29. package/dist/{browser-cli-Da-0lyq2.js → browser-cli-Ny1nHwqv.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-DnTBT02D.js → call-BRL23UCk.js} +9 -9
  34. package/dist/{channel-account-context-B4nJPU2N.js → channel-account-context-CDbY5AIr.js} +5 -5
  35. package/dist/{channel-options-h5L1S2Jw.js → channel-options-BNcsrd0d.js} +3 -3
  36. package/dist/{channel-options-DXRwdUX9.js → channel-options-CSurZCfX.js} +1 -1
  37. package/dist/{channel-selection-3jUl-PyW.js → channel-selection-ZxRkxpuF.js} +1 -1
  38. package/dist/{channel-web-DERdVSsP.js → channel-web-COYnY8sZ.js} +2 -2
  39. package/dist/{channel-web-BRQth7bT.js → channel-web-DfBOK5if.js} +22 -22
  40. package/dist/{channels-cli-DhVgXBQN.js → channels-cli-BTIg3DJP.js} +7 -7
  41. package/dist/{channels-cli-tiO1k2nS.js → channels-cli-GZ16c99F.js} +88 -88
  42. package/dist/{channels-status-issues-hgASw9UA.js → channels-status-issues-CDpWjdI3.js} +1 -1
  43. package/dist/{chrome-DEnkfZ9p.js → chrome-Do5potHV.js} +9 -9
  44. package/dist/{chrome-YguTEaLx.js → chrome-VBsQfIrt.js} +2 -2
  45. package/dist/{clawbot-cli-C5cDal-5.js → clawbot-cli-uFgYrysW.js} +5 -5
  46. package/dist/cli/daemon-cli.js +1 -1
  47. package/dist/{cli-LY72rmrU.js → cli-CBXoKbJn.js} +2 -2
  48. package/dist/{cli-5gUCiFfL.js → cli-CnjJnIx0.js} +70 -70
  49. package/dist/{client-DIckPnsi.js → client-DxH9hwLn.js} +1 -1
  50. package/dist/{command-registry-DiTM7FaG.js → command-registry-D3iSv7Of.js} +10 -10
  51. package/dist/{commands-D3BU_t7G.js → commands-Dj5LalLo.js} +1 -1
  52. package/dist/{commands-registry-Cj4D_1tw.js → commands-registry-CURlRZQJ.js} +3 -3
  53. package/dist/{completion-cli-nnpHTGC-.js → completion-cli-Dkh-Zrqo.js} +2 -2
  54. package/dist/{completion-cli-ComrmOxR.js → completion-cli-Zaylny55.js} +12 -12
  55. package/dist/{config-cli-eBJoaO3_.js → config-cli-B8R8eDUm.js} +1 -1
  56. package/dist/{config-cli-CyFGv1-x.js → config-cli-DOf-CodQ.js} +6 -6
  57. package/dist/{config-guard-DnAyuF6T.js → config-guard-BdsOumqh.js} +17 -17
  58. package/dist/{config-validation-DIomLMwH.js → config-validation-BvKX6fPw.js} +2 -2
  59. package/dist/{configure-CxKJRv-R.js → configure-3o91R4Qd.js} +3 -3
  60. package/dist/{configure-BDbf-55B.js → configure-Wh7ZMjiP.js} +16 -16
  61. package/dist/{control-ui-assets-CiaCDBvZ.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  62. package/dist/{cron-cli-B8uqoogS.js → cron-cli-Xml0Uww8.js} +12 -12
  63. package/dist/{daemon-cli-CMBNTpSS.js → daemon-cli-B1Ti51bt.js} +11 -11
  64. package/dist/{daemon-install-DeqQiAad.js → daemon-install-CYPo4M1M.js} +4 -4
  65. package/dist/{daemon-install-helpers-Bug_GYuy.js → daemon-install-helpers-BZY9-jNW.js} +9 -9
  66. package/dist/{deliver-yTpXc5sv.js → deliver--kttnrER.js} +7 -7
  67. package/dist/{deliver-5FLCa6tB.js → deliver-whAbSPLk.js} +1 -1
  68. package/dist/{deps-CNuk_Lqe.js → deps-0GRTVtgy.js} +1 -1
  69. package/dist/{deps-DGHlGKcG.js → deps-Bdrf7UsT.js} +1 -1
  70. package/dist/{deps-j4ERP1vX.js → deps-Ci76e_07.js} +1 -1
  71. package/dist/{deps-r93HSLuk.js → deps-DB6dI42Y.js} +6 -6
  72. package/dist/{devices-cli-DVLF8Yvw.js → devices-cli-BNkO0Fey.js} +7 -7
  73. package/dist/{diagnostics-CdUgLS0N.js → diagnostics-DmZbQ8Nc.js} +5 -5
  74. package/dist/{directory-cli-BAMS8f9U.js → directory-cli-Dz9iXeut.js} +9 -9
  75. package/dist/{dns-cli-BdxBk-k_.js → dns-cli-DD6hWsdc.js} +4 -4
  76. package/dist/{dock-CzF5XYGd.js → dock-Y96MzKuM.js} +4 -4
  77. package/dist/{docs-cli-SF7es4Zs.js → docs-cli-cHkrTB2e.js} +4 -4
  78. package/dist/{doctor-completion-B1zfgEgx.js → doctor-completion-BeqR17ft.js} +1 -1
  79. package/dist/{doctor-completion-k4Y6iVow.js → doctor-completion-CeD_GwXj.js} +2 -2
  80. package/dist/{doctor-config-flow-8qXzBx09.js → doctor-config-flow-Ck4oCjfl.js} +14 -14
  81. package/dist/{emergency-stop-CZrc3yGJ.js → emergency-stop-B1ycCthl.js} +7 -7
  82. package/dist/{emergency-stop-EXYMl2Ho.js → emergency-stop-BpudAT0i.js} +2 -2
  83. package/dist/{emergency-stop-rAr2AFYc.js → emergency-stop-D8XCYE8L.js} +2 -2
  84. package/dist/{emergency-stop-ChZeaOFx.js → emergency-stop-fApFDnLR.js} +70 -70
  85. package/dist/{enable-DaA_orGN.js → enable-o_s6PBsC.js} +1 -1
  86. package/dist/entry.js +1 -1
  87. package/dist/{exec-approvals-allowlist-8AkOwwIr.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  88. package/dist/{exec-approvals-cli-CtoJW2K-.js → exec-approvals-cli-CyjTnYfk.js} +15 -15
  89. package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  90. package/dist/extensionAPI.js +7 -7
  91. package/dist/{fs-safe-DNFrxDS-.js → fs-safe-_JQUGpZf.js} +15 -15
  92. package/dist/{gateway-cli-DUEnEMPj.js → gateway-cli-D3b05F0y.js} +9 -9
  93. package/dist/{gateway-cli-BzhusJ6G.js → gateway-cli-D9wmLKfn.js} +148 -148
  94. package/dist/{gateway-rpc-6vnhO4v8.js → gateway-rpc-Du-ZpDjh.js} +1 -1
  95. package/dist/{health-H258IqdH.js → health-D6PJPflH.js} +1 -1
  96. package/dist/{health-DUdnHqnW.js → health-cUQV1hzf.js} +13 -13
  97. package/dist/{hooks-cli-BQhTkmIs.js → hooks-cli-Cg5joAHH.js} +3 -3
  98. package/dist/{hooks-cli-h8tcMsfo.js → hooks-cli-Cs51IGnr.js} +84 -84
  99. package/dist/{hooks-status-CPIWc_bx.js → hooks-status-DNGo2G8Q.js} +1 -1
  100. package/dist/{idlehands-root-DFL2GrNW.js → idlehands-root-B8cUs-5M.js} +8 -8
  101. package/dist/{image-C_aN5P6-.js → image-BAsQlUqT.js} +1 -1
  102. package/dist/{image-C2JZiK-6.js → image-DSDEbSiO.js} +5 -5
  103. package/dist/{plugin-sdk/image-ops-BRYGGDwL.js → image-ops-BU-VdLZu.js} +2 -2
  104. package/dist/index.js +80 -80
  105. package/dist/{inspect-Dg16DMLn.js → inspect-ISQZuNM5.js} +4 -4
  106. package/dist/{install-safe-path-CNNMzJl9.js → install-safe-path-ChNR9pl6.js} +19 -19
  107. package/dist/{installs-ST3UaUVJ.js → installs-CNubze2L.js} +9 -9
  108. package/dist/{ir-DV0Hszc8.js → ir-VncGpwA1.js} +6 -6
  109. package/dist/{lifecycle-core-DOScNyOv.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  110. package/dist/llm-slug-generator.js +2 -2
  111. package/dist/{local-roots-Cco87A2_.js → local-roots-q0xbefkf.js} +2 -2
  112. package/dist/{login-Dl_lsEHS.js → login-CfUhrgWT.js} +4 -4
  113. package/dist/{login-qr-B68cBRH0.js → login-qr-DBMsUxgL.js} +7 -7
  114. package/dist/{logs-cli-BluGGq03.js → logs-cli-CH4mFhUt.js} +8 -8
  115. package/dist/{manager-BBeTPO2h.js → manager-BMAFgXyU.js} +13 -13
  116. package/dist/{manifest-registry-RfRn8HJx.js → manifest-registry-Bak1x76G.js} +1 -1
  117. package/dist/{markdown-tables-C5hTDqNm.js → markdown-tables-DZClqsNo.js} +1 -1
  118. package/dist/{memory-cli-4wfelGdK.js → memory-cli-CUGwnVIY.js} +12 -12
  119. package/dist/{model-Bd-05WpB.js → model-C-icShH2.js} +2 -2
  120. package/dist/{model-catalog-BCsDrrvq.js → model-catalog-D9no0CH2.js} +3 -3
  121. package/dist/{model-picker-D3U0wJCO.js → model-picker-BkXoTOiA.js} +4 -4
  122. package/dist/{model-selection-CSn9tUuH.js → model-selection-0dGxYGp8.js} +16 -16
  123. package/dist/{models-cli-C2VBtXFK.js → models-cli-D6CVD4Jl.js} +79 -79
  124. package/dist/{models-cli-DBi6iuAc.js → models-cli-Va0ILYmK.js} +4 -4
  125. package/dist/{models-config-lQpqp472.js → models-config-C5A1wDWh.js} +6 -6
  126. package/dist/{models-Coc4CuFb.js → models-tqBGSD-X.js} +2 -2
  127. package/dist/{node-cli-DhD8-NHR.js → node-cli-Ch7K7WtL.js} +32 -32
  128. package/dist/{node-service-GpI0jzKr.js → node-service-C3vyxHLA.js} +1 -1
  129. package/dist/{nodes-cli-DPzxQ0mY.js → nodes-cli-D_hUCPNt.js} +14 -14
  130. package/dist/{nodes-screen-CIAn0wXq.js → nodes-screen-CcpPaFxa.js} +4 -4
  131. package/dist/{npm-registry-spec-BfeHLbIQ.js → npm-registry-spec-BCbbfIhX.js} +16 -16
  132. package/dist/{npm-resolution-DaNJYnTG.js → npm-resolution-CCdELgCy.js} +1 -1
  133. package/dist/{npm-resolution-B6vPFolU.js → npm-resolution-DgW-oSJa.js} +3 -3
  134. package/dist/{onboard-bK4jkGRa.js → onboard-Bfd4q7HR.js} +6 -6
  135. package/dist/{onboard-CM-Fu2Ee.js → onboard-Br7oW1Sf.js} +2 -2
  136. package/dist/{onboard-channels-CWZXe89N.js → onboard-channels-BpCQ5nQX.js} +1 -1
  137. package/dist/{onboard-channels-BYRL9eyC.js → onboard-channels-wDbxIOXH.js} +20 -20
  138. package/dist/{onboard-custom-D2sCP3_S.js → onboard-custom-DUbzMMu7.js} +4 -4
  139. package/dist/{onboard-helpers-ByhJg2ST.js → onboard-helpers-BQmbMJxJ.js} +8 -8
  140. package/dist/{onboard-hooks-_1Jgimeu.js → onboard-hooks-D9teGxfH.js} +4 -4
  141. package/dist/{onboard-remote-DuhWSiAO.js → onboard-remote-CIjhaP2W.js} +1 -1
  142. package/dist/{onboard-skills-vFwEasAg.js → onboard-skills-BsaUIuq6.js} +4 -4
  143. package/dist/{onboarding-CNGvwRqq.js → onboarding-CegT14jj.js} +13 -13
  144. package/dist/{onboarding-Ds1add5x.js → onboarding-rD-jdAK3.js} +3 -3
  145. package/dist/{onboarding.finalize-B4o0pRn2.js → onboarding.finalize-C50Cd_QG.js} +82 -82
  146. package/dist/{onboarding.finalize-CBIKuTsi.js → onboarding.finalize-CHq5hQxh.js} +7 -7
  147. package/dist/{onboarding.gateway-config-qVAY6x7I.js → onboarding.gateway-config-CEQMyj8l.js} +16 -16
  148. package/dist/{openai-model-default-OPCCNNS0.js → openai-model-default-7J6cw1rA.js} +2 -2
  149. package/dist/{outbound-CG19kl0w.js → outbound-DPTxwchq.js} +4 -4
  150. package/dist/{plugin-sdk/outbound-attachment-Bs7fNaqv.js → outbound-attachment-Bot3bRnK.js} +2 -2
  151. package/dist/{pairing-cli-QJYYDcIK.js → pairing-cli-jwx6hMsM.js} +10 -10
  152. package/dist/{pairing-labels-DuZ7ih-T.js → pairing-labels-ChQJzbS9.js} +1 -1
  153. package/dist/{pairing-store-qvpPoWL_.js → pairing-store-CPpEEQJO.js} +2 -2
  154. package/dist/{pairing-token-3hoCgQqp.js → pairing-token-lKXTMQ_M.js} +7 -7
  155. package/dist/{path-alias-guards-BCskHdfJ.js → path-alias-guards-FXBVVTLw.js} +3 -3
  156. package/dist/{path-safety-C1Y004P_.js → path-safety-DwibX65n.js} +1 -1
  157. package/dist/{paths-Bt0fZexW.js → paths-B-CLQ5RT.js} +9 -9
  158. package/dist/{pi-embedded-BnjDF31C.js → pi-embedded-2EqYdroP.js} +96 -42
  159. package/dist/{pi-embedded-helpers-BkzrQ5bZ.js → pi-embedded-helpers-BCsfqpDt.js} +6 -6
  160. package/dist/{pi-embedded-helpers-C2j0LfJC.js → pi-embedded-helpers-Ct2rwp-P.js} +4 -4
  161. package/dist/{pi-embedded-CxYEstRZ.js → pi-embedded-znVFwmix.js} +81 -27
  162. package/dist/{pi-model-discovery-Bt79ifyi.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  163. package/dist/{pi-tools.policy-B_ME3yF6.js → pi-tools.policy-DfITIKZj.js} +5 -5
  164. package/dist/{plugin-auto-enable-BMuSi4aV.js → plugin-auto-enable-7DUxMy6A.js} +3 -3
  165. package/dist/{plugin-registry-avBJMf8D.js → plugin-registry-CYXCwXDq.js} +3 -3
  166. package/dist/{plugin-registry-COLTpSWs.js → plugin-registry-DAtKgBy3.js} +1 -1
  167. package/dist/plugin-sdk/{accounts-Kt6ygPsC.js → accounts-BLYMokxV.js} +2 -2
  168. package/dist/plugin-sdk/{accounts-mjFAny5F.js → accounts-C5tHm1UI.js} +1 -1
  169. package/dist/plugin-sdk/{accounts-B9nfRzyn.js → accounts-CBVAw5_G.js} +1 -1
  170. package/dist/plugin-sdk/{agent-scope-CU41EMlR.js → agent-scope-jl80I5G9.js} +2 -2
  171. package/dist/plugin-sdk/{agent-via-gateway-DruTfj9D.js → agent-via-gateway-BeEBACUq.js} +55 -55
  172. package/dist/plugin-sdk/{anton-lKxGN-F2.js → anton-DXocufH_.js} +4 -4
  173. package/dist/plugin-sdk/{api-key-rotation-CZhCWd61.js → api-key-rotation-D6nK54XH.js} +2 -2
  174. package/dist/plugin-sdk/{audio-preflight-CRgDehfO.js → audio-preflight-CKqqN8ty.js} +30 -30
  175. package/dist/plugin-sdk/{auth-store-DycBvVqL.js → auth-store-DaPWgQTx.js} +1 -1
  176. package/dist/plugin-sdk/{bindings-BDKKHGv-.js → bindings-xXgmJGxj.js} +2 -2
  177. package/dist/plugin-sdk/{channel-activity-TcS_VfJk.js → channel-activity-loOg1DRw.js} +3 -3
  178. package/dist/plugin-sdk/{channel-web-DFBbK8o7.js → channel-web-DOG4rb7e.js} +24 -24
  179. package/dist/plugin-sdk/{chrome-BCTizrZD.js → chrome-Cb9FgiCI.js} +6 -6
  180. package/dist/plugin-sdk/{chunk-DZr5xuqv.js → chunk-PW4MBmaN.js} +1 -1
  181. package/dist/plugin-sdk/{commands-registry-BqJLwZYh.js → commands-registry-B5m2EsHz.js} +5 -5
  182. package/dist/plugin-sdk/{config-BzPMtEKA.js → config-CEgzwk0J.js} +10 -10
  183. package/dist/plugin-sdk/{deliver-Cfc1UCre.js → deliver-BNfMF0Nb.js} +10 -10
  184. package/dist/plugin-sdk/{deps-C2JklbCf.js → deps--J_OAyWa.js} +6 -6
  185. package/dist/plugin-sdk/{diagnostic-B8VzcqLf.js → diagnostic-ByA6zvzu.js} +1 -1
  186. package/dist/plugin-sdk/{dock-CMURqoee.js → dock-DKQYtT6-.js} +6 -6
  187. package/dist/plugin-sdk/{emergency-stop-DaCLgoNM.js → emergency-stop-CAC-_dk-.js} +55 -55
  188. package/dist/plugin-sdk/{env-qurSiOO2.js → env-5XecRTLs.js} +1 -1
  189. package/dist/plugin-sdk/{errors-UqLewZJL.js → errors-CMcD8Lhh.js} +1 -1
  190. package/dist/plugin-sdk/{fetch-guard-C174s8ZV.js → fetch-guard-DwdUEdmT.js} +1 -1
  191. package/dist/plugin-sdk/{fs-safe-CCXTOK7j.js → fs-safe-qsx2_8-o.js} +2 -2
  192. package/dist/plugin-sdk/{image-DDuK8tyO.js → image-C_1tftC8.js} +6 -6
  193. package/dist/{image-ops-BkoEFRYH.js → plugin-sdk/image-ops-CXSUo-AM.js} +12 -12
  194. package/dist/plugin-sdk/index.js +60 -60
  195. package/dist/plugin-sdk/{ir-Bv0Zbp2E.js → ir-kdDGpPMq.js} +5 -5
  196. package/dist/plugin-sdk/{local-roots-bHCsSVt_.js → local-roots-DjB6DYeI.js} +4 -4
  197. package/dist/plugin-sdk/{login-CkQrnY2G.js → login-DIwO5D5Y.js} +6 -6
  198. package/dist/plugin-sdk/{login-qr-DAeHibH_.js → login-qr-CpCAJuvT.js} +8 -8
  199. package/dist/plugin-sdk/{manager-CTC1S_c9.js → manager-Dox9r7og.js} +10 -10
  200. package/dist/plugin-sdk/{markdown-tables-DfUQHRZY.js → markdown-tables-Drtwd4J5.js} +1 -1
  201. package/dist/plugin-sdk/{message-channel-DiMXmQeQ.js → message-channel-CQ0qkGHj.js} +1 -1
  202. package/dist/plugin-sdk/{outbound-B1twcfz5.js → outbound-Dx_q6JAI.js} +6 -6
  203. package/dist/{outbound-attachment-jYdMgCml.js → plugin-sdk/outbound-attachment-BisU5Vji.js} +2 -2
  204. package/dist/plugin-sdk/{path-alias-guards-yyy61qHh.js → path-alias-guards-C_uBEYb4.js} +1 -1
  205. package/dist/plugin-sdk/{pi-embedded-helpers-BAm9cWol.js → pi-embedded-helpers-B68z4sHq.js} +16 -16
  206. package/dist/plugin-sdk/{pi-model-discovery-Bt6JtUFr.js → pi-model-discovery-Dt6899be.js} +1 -1
  207. package/dist/plugin-sdk/{plugins-DRPlVBr_.js → plugins-NTjIvHYk.js} +5 -5
  208. package/dist/plugin-sdk/{pw-ai-CY0evCZ2.js → pw-ai-Dk2PTZzq.js} +10 -10
  209. package/dist/plugin-sdk/{qmd-manager-BckPBwZX.js → qmd-manager-juzrnopq.js} +5 -5
  210. package/dist/plugin-sdk/{query-expansion-CPqK-tTR.js → query-expansion-xBXvzdkL.js} +2 -2
  211. package/dist/plugin-sdk/{redact-Ub8sMBBC.js → redact-B6VQH3UQ.js} +1 -1
  212. package/dist/plugin-sdk/{replies-DwTNZJgi.js → replies-ZovJp-3F.js} +3 -3
  213. package/dist/plugin-sdk/{reply-BKLT5LXW.js → reply-5pZsGmq0.js} +165 -111
  214. package/dist/plugin-sdk/{reply-prefix-BqV0o7_7.js → reply-prefix--mxmTL7A.js} +1 -1
  215. package/dist/plugin-sdk/{resolve-outbound-target-DAdNGEqG.js → resolve-outbound-target-CnUtsDch.js} +2 -2
  216. package/dist/plugin-sdk/{resolve-route-C5mAwY-o.js → resolve-route-BZABUE4J.js} +3 -3
  217. package/dist/plugin-sdk/{retry-2OVzZJMZ.js → retry-Bh7jveNm.js} +1 -1
  218. package/dist/plugin-sdk/{runner-Ck0w3rcz.js → runner-CZz1tOIR.js} +10 -10
  219. package/dist/plugin-sdk/{send-BBD-m-nM.js → send-0EVlThEG.js} +10 -10
  220. package/dist/plugin-sdk/{send-CaPoBwby.js → send-B26cNPqY.js} +6 -6
  221. package/dist/plugin-sdk/{send-CPeuqOlq.js → send-BCjVQhp3.js} +13 -13
  222. package/dist/plugin-sdk/{send-SsqudCMv.js → send-CHUGIZs9.js} +7 -7
  223. package/dist/plugin-sdk/{send-A4Lv5nrg.js → send-Cb5NIN8s.js} +7 -7
  224. package/dist/plugin-sdk/{session-DpL4uk1J.js → session-DdJj6_DW.js} +3 -3
  225. package/dist/plugin-sdk/{sessions-CQ5iD4Uq.js → sessions-DNx9c2O2.js} +6 -6
  226. package/dist/plugin-sdk/{skill-commands-C_O9I71g.js → skill-commands-DorIK8kn.js} +5 -5
  227. package/dist/plugin-sdk/{skills-DmiIiX4l.js → skills-Dh_Cf2PA.js} +8 -8
  228. package/dist/plugin-sdk/{store-BI3rLJdW.js → store-CCCXwngh.js} +2 -2
  229. package/dist/plugin-sdk/{subsystem-lJo9gqAK.js → subsystem-DWPzKeZ0.js} +1 -1
  230. package/dist/plugin-sdk/{tables-C4X_nAUQ.js → tables-CF9W23Rd.js} +1 -1
  231. package/dist/plugin-sdk/{target-errors-CXh6e9ZE.js → target-errors-DaH0qYtL.js} +2 -2
  232. package/dist/plugin-sdk/{tokens-CU9S3S7t.js → tokens-Y97UKh4C.js} +1 -1
  233. package/dist/plugin-sdk/{tool-images-Cf9aWlVu.js → tool-images-BMRkn_yk.js} +2 -2
  234. package/dist/plugin-sdk/{tool-loop-detection-DuwkSqZL.js → tool-loop-detection-Cv8wyfAi.js} +2 -2
  235. package/dist/plugin-sdk/{utils-dP-FpIgu.js → utils-Dyj2wV4e.js} +2 -2
  236. package/dist/plugin-sdk/web-B-T8tUvc.js +71 -0
  237. package/dist/plugin-sdk/{whatsapp-actions-Bcknq6EZ.js → whatsapp-actions-B5g-Rywy.js} +23 -23
  238. package/dist/{plugins-B4hASNc2.js → plugins-D46VZh7u.js} +2 -2
  239. package/dist/{plugins-cli-C-uo9LAy.js → plugins-cli-CAbzpQdE.js} +3 -3
  240. package/dist/{plugins-cli-B6_9syjW.js → plugins-cli-Di1X-utw.js} +80 -80
  241. package/dist/{ports-B07M55Gr.js → ports-B2o0FSFD.js} +1 -1
  242. package/dist/{ports-DWJO5S52.js → ports-SQy1d-RL.js} +2 -2
  243. package/dist/{program-CRsDka5E.js → program-DCfsqP_8.js} +8 -8
  244. package/dist/{program-context-BTsKVJG-.js → program-context-Dhec-fGX.js} +43 -43
  245. package/dist/{prompt-select-styled-DzubrMFT.js → prompt-select-styled-C1aw6YAJ.js} +37 -37
  246. package/dist/{prompt-select-styled-7hzJWrd9.js → prompt-select-styled-CJ2ux4O0.js} +4 -4
  247. package/dist/{provider-auth-helpers-YtnVtfHM.js → provider-auth-helpers-BPsTPi3e.js} +1 -1
  248. package/dist/{provider-auth-helpers-dm-wozHr.js → provider-auth-helpers-aWibl0HT.js} +5 -5
  249. package/dist/{push-apns-BV7zUKu7.js → push-apns-BracxehR.js} +1 -1
  250. package/dist/{push-apns-A-7U4OK4.js → push-apns-By39WpiH.js} +5 -5
  251. package/dist/{pw-ai-BGALvhDi.js → pw-ai-7i9eGnLh.js} +11 -11
  252. package/dist/{pw-ai-DjmrIQle.js → pw-ai-yrIWfcWX.js} +1 -1
  253. package/dist/{qmd-manager-CVcPfkhL.js → qmd-manager-B-qeywfQ.js} +19 -19
  254. package/dist/{qr-cli-D2Oh8f0U.js → qr-cli-CSt5ihwG.js} +1 -1
  255. package/dist/{query-expansion-i5I3yavb.js → query-expansion-Clts_AGz.js} +12 -12
  256. package/dist/{redact-snapshot-CtIVs92s.js → redact-snapshot-BBNDQZIe.js} +1 -1
  257. package/dist/{register.agent-rHf18cUW.js → register.agent-BaVrC6Ay.js} +9 -9
  258. package/dist/{register.agent-D5bvlE12.js → register.agent-CyZyt49k.js} +95 -95
  259. package/dist/{register.configure-9NQauTQK.js → register.configure-CqmHvWcB.js} +8 -8
  260. package/dist/register.configure-DmjP2LTb.js +168 -0
  261. package/dist/{register.maintenance-BIVd22Yn.js → register.maintenance-DYYx-jCe.js} +9 -9
  262. package/dist/{register.maintenance-QBWMAGg5.js → register.maintenance-DfWWglhS.js} +90 -90
  263. package/dist/{register.message-C4xi8EEY.js → register.message-C3tFRLbl.js} +3 -3
  264. package/dist/{register.message-SchCSbTL.js → register.message-Cke7XTrc.js} +71 -71
  265. package/dist/{register.onboard-DV8DYRTN.js → register.onboard-BXK-V33E.js} +18 -18
  266. package/dist/{register.onboard-PcPjyLxN.js → register.onboard-DLZNgT0T.js} +2 -2
  267. package/dist/{register.orchestrator-anton-BcfMp8Cz.js → register.orchestrator-anton-D2g_KbgY.js} +14 -14
  268. package/dist/{register.orchestrator-anton-D8yY6nax.js → register.orchestrator-anton-rvqNZKP1.js} +2 -2
  269. package/dist/{register.setup-CrajCApG.js → register.setup-DBL7rrRW.js} +2 -2
  270. package/dist/{register.setup-B0CVTHFW.js → register.setup-Dr-v5BSC.js} +21 -21
  271. package/dist/{register.status-health-sessions-CsrQlTwE.js → register.status-health-sessions-BDG_QnIw.js} +4 -4
  272. package/dist/{register.status-health-sessions-MOhlrdZM.js → register.status-health-sessions-BrnK4KEW.js} +82 -82
  273. package/dist/{register.subclis-Bsrxn7je.js → register.subclis-SGnxsMrq.js} +9 -9
  274. package/dist/{replies-Czp4hvpS.js → replies-hSFVxL4h.js} +1 -1
  275. package/dist/{reply-prefix-BMEdvSpA.js → reply-prefix-C3y4zpTl.js} +1 -1
  276. package/dist/{reply-DlbLp0Yj.js → reply-tuqCy_5s.js} +223 -169
  277. package/dist/{resolve-route-Ef_Yt2Dw.js → resolve-route-D_AbcmD6.js} +2 -2
  278. package/dist/{rpc-DDTp_J6f.js → rpc-CCimHATv.js} +1 -1
  279. package/dist/{run-main-BIzE50C9.js → run-main-KfdXYi7n.js} +15 -15
  280. package/dist/{runner-CZW_eyf2.js → runner-Bv_BA3vd.js} +1 -1
  281. package/dist/{runner-BFG54hnb.js → runner-DzszLzI4.js} +20 -20
  282. package/dist/{runtime-DEmy759r.js → runtime-XmXLaHNk.js} +2 -2
  283. package/dist/{sandbox-CfPbhDY_.js → sandbox-DcUw5h3p.js} +20 -20
  284. package/dist/{sandbox-cli-B4wLJr21.js → sandbox-cli-DGvJ7Eeq.js} +22 -22
  285. package/dist/{secrets-cli-CidAOBfl.js → secrets-cli-Bgp_H_bH.js} +9 -9
  286. package/dist/{security-cli-Ch7AhbhS.js → security-cli-MQ__Ca6v.js} +39 -39
  287. package/dist/{send-DDMaLJAQ.js → send--lzpNy4f.js} +7 -7
  288. package/dist/{send-BCPkAE2k.js → send-C4v0Leny.js} +6 -6
  289. package/dist/{send-CEavqqEz.js → send-DQiw_nGD.js} +6 -6
  290. package/dist/{send-BPwTl4-K.js → send-DuwdEkLw.js} +4 -4
  291. package/dist/{send-CVIXqubC.js → send-DwdHiC7_.js} +13 -13
  292. package/dist/{server-BpSbZAwg.js → server-D6MltJIF.js} +14 -14
  293. package/dist/{server-context-BxNSTpH6.js → server-context-DI0W_H7R.js} +10 -10
  294. package/dist/{server-lifecycle-CGKrGrhM.js → server-lifecycle-B5PlrlbG.js} +2 -2
  295. package/dist/{server-node-events-CJo-LhWK.js → server-node-events-BLSMmXyp.js} +71 -71
  296. package/dist/{server-node-events-Ca-vBB7y.js → server-node-events-Brm38g1H.js} +3 -3
  297. package/dist/{service-Bj2oSfpw.js → service-C8NMS3m_.js} +15 -15
  298. package/dist/{session-BKVySI8q.js → session-CdnrRhb4.js} +1 -1
  299. package/dist/{sessions-BqWocozB.js → sessions-BtPXimXQ.js} +14 -14
  300. package/dist/{shared-DnQ4iyXk.js → shared-CpDPo3hJ.js} +2 -2
  301. package/dist/{shared-Jzrx8DfN.js → shared-DpLSpJIl.js} +1 -1
  302. package/dist/{skill-commands-BwIRWSCI.js → skill-commands-BFzmZAfo.js} +5 -5
  303. package/dist/{skill-scanner-B4Ftsbd2.js → skill-scanner-D7mzXRXd.js} +5 -5
  304. package/dist/{skills-TIyQDZx7.js → skills-DlvDyK8L.js} +3 -3
  305. package/dist/{skills-cli-5lbXi4Lh.js → skills-cli-BhKGhjbO.js} +5 -5
  306. package/dist/{skills-install-D0JHP5uM.js → skills-install-tr6wRWZj.js} +4 -4
  307. package/dist/{skills-status-Q9skQExW.js → skills-status-qjQ8XP0h.js} +1 -1
  308. package/dist/{status-Bq62ab72.js → status-CLNSJORR.js} +2 -2
  309. package/dist/{status-Dkbgc9sr.js → status-CmG_xHAm.js} +24 -24
  310. package/dist/{status.update-C3uRz7W6.js → status.update-CTi6vuWj.js} +2 -2
  311. package/dist/{store-CLNuI8-G.js → store-kH9wHHbO.js} +5 -5
  312. package/dist/{subagent-registry-DdXcwxHN.js → subagent-registry-B-ciR-Ya.js} +81 -27
  313. package/dist/{system-cli-DBp9Zmvt.js → system-cli-3T-OTIKv.js} +8 -8
  314. package/dist/{system-run-approval-context-xZVoE4nS.js → system-run-approval-context-CISBXlNw.js} +1 -1
  315. package/dist/{system-run-command-BIhrK3OI.js → system-run-command-qJdgzxLp.js} +1 -1
  316. package/dist/{systemd-DyrVLTI0.js → systemd-CaCR5CyM.js} +9 -9
  317. package/dist/{systemd-hints-BoKKzRI_.js → systemd-hints-DHu-HVFx.js} +6 -6
  318. package/dist/{systemd-linger-DrhGd61G.js → systemd-linger-B7XlUHk_.js} +1 -1
  319. package/dist/{tables-CZSD889r.js → tables-g9xkflht.js} +1 -1
  320. package/dist/{target-errors-BYuWhuLU.js → target-errors-bLIVFsbF.js} +4 -4
  321. package/dist/{tool-images-DZHrc4pq.js → tool-images-CHqepyF_.js} +1 -1
  322. package/dist/{tui-cli-DKyA5pZ2.js → tui-cli-BVKWJ9X7.js} +30 -30
  323. package/dist/{tui-DWGHGeZ3.js → tui-lalhRHve.js} +6 -6
  324. package/dist/{update-la2AdLf3.js → update-D79ppbMQ.js} +3 -3
  325. package/dist/{update-cli-DazNo7rK.js → update-cli-B-RzWiVk.js} +99 -99
  326. package/dist/{update-cli-DaMRO-aG.js → update-cli-ButEdTeQ.js} +9 -9
  327. package/dist/{update-runner-y0ygXgsr.js → update-runner-Cxg4n1sn.js} +15 -15
  328. package/dist/{update-runner-BVkF5g4U.js → update-runner-DizoiA2w.js} +1 -1
  329. package/dist/{upgrade-command-CRivS_8q.js → upgrade-command-DP6F1cjV.js} +3 -3
  330. package/dist/web-C4Q6twkC.js +123 -0
  331. package/dist/{web-CZCgCfEk.js → web-D5dDa5kC.js} +3 -3
  332. package/dist/{web-DeCBCsXv.js → web-DWhjgVIf.js} +8 -8
  333. package/dist/{web-DBWzdQPi.js → web-DtCFqhdb.js} +3 -3
  334. package/dist/{webhooks-cli-BnmVPYkU.js → webhooks-cli-2N03q0iY.js} +6 -6
  335. package/dist/{whatsapp-actions-D2mBFzmK.js → whatsapp-actions-Cms8wQM1.js} +18 -18
  336. package/dist/{with-timeout-BodPmGCY.js → with-timeout-DEdycYxq.js} +3 -3
  337. package/dist/{workspace-CDw87aZG.js → workspace-D3pARwoB.js} +1 -1
  338. package/dist/{workspace-dirs-D3bousoX.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  339. package/dist/{wsl-CgXDjE09.js → wsl-BJW8nTyL.js} +2 -2
  340. package/package.json +1 -1
  341. package/dist/anton-RLNAl1Wi.js +0 -579
  342. package/dist/plugin-sdk/web-CWWIv9mK.js +0 -71
  343. package/dist/register.configure-Cz-AvXU5.js +0 -168
  344. package/dist/web-k_Gtl1KZ.js +0 -123
@@ -25,7 +25,7 @@ import "./logging-Bgrm4o7g.js";
25
25
  import "./auth-store-D9BmR4S6.js";
26
26
  import "./send-m4lQkQcY.js";
27
27
  import "./send-CCiDIuX4.js";
28
- import "./subagent-registry-DdXcwxHN.js";
28
+ import "./subagent-registry-B-ciR-Ya.js";
29
29
  import "./paths-CC17i2eK.js";
30
30
  import "./chat-envelope-Dedaetiq.js";
31
31
  import "./client-Brv1GCwX.js";
@@ -108,7 +108,7 @@ import { n as runCommandWithRuntime, t as resolveOptionFromCommand } from "./cli
108
108
  import "./help-format-CldHB7lS.js";
109
109
  import "./progress-B76RkFx7.js";
110
110
  import "./replies-DSfpze17.js";
111
- import "./deps-CNuk_Lqe.js";
111
+ import "./deps-0GRTVtgy.js";
112
112
  import "./onboard-helpers-Dp6wXNs7.js";
113
113
  import "./prompt-style-XmK49QYK.js";
114
114
  import "./pairing-labels-D7xcHkxi.js";
@@ -118,8 +118,8 @@ import "./table-aJzHv5Oe.js";
118
118
  import "./shared-j17RyGsM.js";
119
119
  import "./auth-token-BQ_ECwH7.js";
120
120
  import "./logging-MF6Thoxk.js";
121
- import { c as githubCopilotLoginCommand } from "./provider-auth-helpers-YtnVtfHM.js";
122
- import { C as modelsAliasesListCommand, S as modelsAliasesAddCommand, _ as modelsAuthOrderSetCommand, a as modelsStatusCommand, b as modelsAuthPasteTokenCommand, c as modelsImageFallbacksClearCommand, d as modelsFallbacksAddCommand, f as modelsFallbacksClearCommand, g as modelsAuthOrderGetCommand, h as modelsAuthOrderClearCommand, i as modelsScanCommand, l as modelsImageFallbacksListCommand, m as modelsFallbacksRemoveCommand, n as modelsSetImageCommand, o as modelsListCommand, p as modelsFallbacksListCommand, r as modelsSetCommand, s as modelsImageFallbacksAddCommand, u as modelsImageFallbacksRemoveCommand, v as modelsAuthAddCommand, w as modelsAliasesRemoveCommand, x as modelsAuthSetupTokenCommand, y as modelsAuthLoginCommand } from "./models-Coc4CuFb.js";
121
+ import { c as githubCopilotLoginCommand } from "./provider-auth-helpers-BPsTPi3e.js";
122
+ import { C as modelsAliasesListCommand, S as modelsAliasesAddCommand, _ as modelsAuthOrderSetCommand, a as modelsStatusCommand, b as modelsAuthPasteTokenCommand, c as modelsImageFallbacksClearCommand, d as modelsFallbacksAddCommand, f as modelsFallbacksClearCommand, g as modelsAuthOrderGetCommand, h as modelsAuthOrderClearCommand, i as modelsScanCommand, l as modelsImageFallbacksListCommand, m as modelsFallbacksRemoveCommand, n as modelsSetImageCommand, o as modelsListCommand, p as modelsFallbacksListCommand, r as modelsSetCommand, s as modelsImageFallbacksAddCommand, u as modelsImageFallbacksRemoveCommand, v as modelsAuthAddCommand, w as modelsAliasesRemoveCommand, x as modelsAuthSetupTokenCommand, y as modelsAuthLoginCommand } from "./models-tqBGSD-X.js";
123
123
 
124
124
  //#region src/cli/models-cli.ts
125
125
  function runModelsCommand(action) {
@@ -1,7 +1,7 @@
1
1
  import { d as isRecord } from "./utils-CXzXXV2o.js";
2
- import { A as normalizeProviders, Ir as resolveIdleHandsAgentDir, It as loadConfig, M as resolveImplicitProviders, j as resolveImplicitCopilotProvider } from "./model-selection-CSn9tUuH.js";
2
+ import { A as normalizeProviders, Ir as resolveIdleHandsAgentDir, It as loadConfig, M as resolveImplicitProviders, j as resolveImplicitCopilotProvider } from "./model-selection-0dGxYGp8.js";
3
3
  import path from "node:path";
4
- import fsPromises from "node:fs/promises";
4
+ import fs from "node:fs/promises";
5
5
 
6
6
  //#region src/agents/models-config.ts
7
7
  const DEFAULT_MODE = "merge";
@@ -57,7 +57,7 @@ function mergeProviders(params) {
57
57
  }
58
58
  async function readJson(pathname) {
59
59
  try {
60
- const raw = await fsPromises.readFile(pathname, "utf8");
60
+ const raw = await fs.readFile(pathname, "utf8");
61
61
  return JSON.parse(raw);
62
62
  } catch {
63
63
  return null;
@@ -110,7 +110,7 @@ async function ensureIdleHandsModelsJson(config, agentDirOverride) {
110
110
  });
111
111
  const next = `${JSON.stringify({ providers: normalizedProviders }, null, 2)}\n`;
112
112
  try {
113
- existingRaw = await fsPromises.readFile(targetPath, "utf8");
113
+ existingRaw = await fs.readFile(targetPath, "utf8");
114
114
  } catch {
115
115
  existingRaw = "";
116
116
  }
@@ -118,11 +118,11 @@ async function ensureIdleHandsModelsJson(config, agentDirOverride) {
118
118
  agentDir,
119
119
  wrote: false
120
120
  };
121
- await fsPromises.mkdir(agentDir, {
121
+ await fs.mkdir(agentDir, {
122
122
  recursive: true,
123
123
  mode: 448
124
124
  });
125
- await fsPromises.writeFile(targetPath, next, { mode: 384 });
125
+ await fs.writeFile(targetPath, next, { mode: 384 });
126
126
  return {
127
127
  agentDir,
128
128
  wrote: true
@@ -5,7 +5,7 @@ import { t as formatCliCommand } from "./command-format-CPa5ksO_.js";
5
5
  import { A as resolveDefaultAgentWorkspaceDir, M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue, P as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, s as resolveAgentExplicitModelPrimary, u as resolveAgentWorkspaceDir } from "./agent-scope-mLXQGQde.js";
6
6
  import { r as resolveForwardCompatModel } from "./model-CZMeWx-m.js";
7
7
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DM-7bLbH.js";
8
- import { $t as buildAuthHealthSummary, Qt as DEFAULT_OAUTH_WARN_MS, St as describeFailoverError, _n as formatUsageWindowSummary, en as formatRemainingShort, hn as loadProviderUsageSummary, s as runEmbeddedPiAgent, vn as resolveUsageProviderId, yn as maskApiKey } from "./subagent-registry-DdXcwxHN.js";
8
+ import { $t as buildAuthHealthSummary, Qt as DEFAULT_OAUTH_WARN_MS, St as describeFailoverError, _n as formatUsageWindowSummary, en as formatRemainingShort, hn as loadProviderUsageSummary, s as runEmbeddedPiAgent, vn as resolveUsageProviderId, yn as maskApiKey } from "./subagent-registry-B-ciR-Ya.js";
9
9
  import { l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath } from "./paths-CC17i2eK.js";
10
10
  import { t as ensureIdleHandsModelsJson } from "./models-config-fDNEH4C5.js";
11
11
  import { n as loadModelCatalog } from "./model-catalog-DYWymzg_.js";
@@ -19,7 +19,7 @@ import { n as redactSecrets } from "./format-oh9Nicqr.js";
19
19
  import { a as isLocalBaseUrl, c as normalizeAlias, d as resolveModelTarget, f as updateConfig, i as formatTokenK, l as resolveKnownAgentId, n as ensureFlagCompatibility, o as loadValidConfigOrThrow, r as formatMs, s as mergePrimaryFallbackConfig, t as applyDefaultModelPrimaryUpdate, u as resolveModelKeysFromEntries } from "./shared-j17RyGsM.js";
20
20
  import { d as applyAuthProfileConfig, n as validateAnthropicSetupToken } from "./auth-token-BQ_ECwH7.js";
21
21
  import { n as logConfigUpdated } from "./logging-MF6Thoxk.js";
22
- import { a as createVpsAwareOAuthHandlers, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-YtnVtfHM.js";
22
+ import { a as createVpsAwareOAuthHandlers, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-BPsTPi3e.js";
23
23
  import path from "node:path";
24
24
  import fs from "node:fs/promises";
25
25
  import { complete, getEnvApiKey, getModel } from "@mariozechner/pi-ai";
@@ -1,62 +1,62 @@
1
1
  import { d as resolveIsNixMode, g as resolveStateDir } from "./paths-Cn44w-EB.js";
2
2
  import { B as theme, R as colorize } from "./utils-CXzXXV2o.js";
3
- import { i as resolveAgentConfig } from "./agent-scope-Bn39ugK4.js";
3
+ import { i as resolveAgentConfig } from "./agent-scope-RA0zXRpu.js";
4
4
  import "./subsystem-CGZX2PBV.js";
5
5
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
6
- import { s as sameFileIdentity } from "./idlehands-root-DFL2GrNW.js";
6
+ import { s as sameFileIdentity } from "./idlehands-root-B8cUs-5M.js";
7
7
  import "./exec-CKHMT0tZ.js";
8
- import { It as loadConfig, Nn as analyzeArgvCommand } from "./model-selection-CSn9tUuH.js";
8
+ import { It as loadConfig, Nn as analyzeArgvCommand } from "./model-selection-0dGxYGp8.js";
9
9
  import "./github-copilot-token-D7lpquOO.js";
10
10
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
11
11
  import "./boolean-BsqeuxE6.js";
12
12
  import "./env-Bx-F45X5.js";
13
13
  import { a as sanitizeSystemRunEnvOverrides, i as sanitizeHostExecEnv } from "./host-env-security-DkAVVuaw.js";
14
14
  import { r as VERSION } from "./env-vars-sTMVGyld.js";
15
- import "./manifest-registry-RfRn8HJx.js";
15
+ import "./manifest-registry-Bak1x76G.js";
16
16
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DVauVtrg.js";
17
- import "./chrome-YguTEaLx.js";
17
+ import "./chrome-VBsQfIrt.js";
18
18
  import "./tailscale-B5Irc_Bi.js";
19
19
  import "./ip-DJ5wsTQn.js";
20
20
  import "./tailnet-C9lH_YnG.js";
21
21
  import "./ws-XBTtYpJc.js";
22
22
  import "./auth-heRVBxh2.js";
23
- import { i as resolveBrowserConfig } from "./server-context-BxNSTpH6.js";
24
- import "./path-alias-guards-BCskHdfJ.js";
25
- import "./paths-Bt0fZexW.js";
23
+ import { i as resolveBrowserConfig } from "./server-context-DI0W_H7R.js";
24
+ import "./path-alias-guards-FXBVVTLw.js";
25
+ import "./paths-B-CLQ5RT.js";
26
26
  import "./redact-B_4KNlXs.js";
27
27
  import "./errors-DZDuPc3M.js";
28
- import "./fs-safe-DNFrxDS-.js";
28
+ import "./fs-safe-_JQUGpZf.js";
29
29
  import "./ssrf-Dw9zzKSM.js";
30
- import { c as detectMime } from "./image-ops-BkoEFRYH.js";
31
- import "./store-CLNuI8-G.js";
32
- import "./ports-DWJO5S52.js";
30
+ import { c as detectMime } from "./image-ops-BU-VdLZu.js";
31
+ import "./store-kH9wHHbO.js";
32
+ import "./ports-SQy1d-RL.js";
33
33
  import "./trash-CUFiyQN5.js";
34
34
  import "./logging-q4KyMmY-.js";
35
- import { $t as loadOrCreateDeviceIdentity, t as GatewayClient } from "./client-DIckPnsi.js";
36
- import "./pairing-token-3hoCgQqp.js";
35
+ import { $t as loadOrCreateDeviceIdentity, t as GatewayClient } from "./client-DxH9hwLn.js";
36
+ import "./pairing-token-lKXTMQ_M.js";
37
37
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, d as resolveExecApprovals, l as recordAllowlistUse, m as requestJsonlSocket, n as addAllowlistEntry, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, u as requiresExecApproval } from "./exec-approvals-C2s2dPha.js";
38
- import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns, t as evaluateExecAllowlist } from "./exec-approvals-allowlist-8AkOwwIr.js";
39
- import { n as resolveExecSafeBinRuntimePolicy } from "./exec-safe-bin-runtime-policy-DYXuBKqH.js";
40
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout } from "./with-timeout-BodPmGCY.js";
38
+ import { n as evaluateShellAllowlist, r as resolveAllowAlwaysPatterns, t as evaluateExecAllowlist } from "./exec-approvals-allowlist-Co2tJSEo.js";
39
+ import { n as resolveExecSafeBinRuntimePolicy } from "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
40
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext, t as withTimeout } from "./with-timeout-DEdycYxq.js";
41
41
  import { t as formatDocsLink } from "./links-15764jZB.js";
42
42
  import { t as formatHelpExamples } from "./help-format-CMAqOikG.js";
43
- import "./server-lifecycle-CGKrGrhM.js";
43
+ import "./server-lifecycle-B5PlrlbG.js";
44
44
  import { _ as resolveNodeWindowsTaskName, c as formatNodeServiceDescription, g as resolveNodeSystemdServiceName, h as resolveNodeLaunchAgentLabel } from "./constants-Z_TnY4pX.js";
45
- import { n as resolveSystemRunCommand } from "./system-run-command-BIhrK3OI.js";
45
+ import { n as resolveSystemRunCommand } from "./system-run-command-qJdgzxLp.js";
46
46
  import { t as ensureIdleHandsCliOnPath } from "./path-env-CKSLQUS1.js";
47
47
  import "./runtime-guard-X6f4YmTM.js";
48
- import { a as buildNodeServiceEnvironment, i as emitNodeRuntimeWarning, p as resolveNodeProgramArguments, r as resolveGatewayDevMode, u as resolvePreferredNodePath } from "./daemon-install-helpers-Bug_GYuy.js";
48
+ import { a as buildNodeServiceEnvironment, i as emitNodeRuntimeWarning, p as resolveNodeProgramArguments, r as resolveGatewayDevMode, u as resolvePreferredNodePath } from "./daemon-install-helpers-BZY9-jNW.js";
49
49
  import { r as isGatewayDaemonRuntime, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BGXzfrm4.js";
50
- import "./systemd-DyrVLTI0.js";
51
- import { s as resolveGatewayLogPaths } from "./service-Bj2oSfpw.js";
52
- import { a as createCliStatusTextStyles, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, m as buildDaemonServiceSnapshot, r as runServiceStop, t as runServiceRestart } from "./lifecycle-core-DOScNyOv.js";
53
- import { s as formatRuntimeStatus } from "./systemd-hints-BoKKzRI_.js";
50
+ import "./systemd-CaCR5CyM.js";
51
+ import { s as resolveGatewayLogPaths } from "./service-C8NMS3m_.js";
52
+ import { a as createCliStatusTextStyles, f as resolveRuntimeStatusColor, g as installDaemonServiceAndEmit, h as createDaemonActionContext, i as runServiceUninstall, m as buildDaemonServiceSnapshot, r as runServiceStop, t as runServiceRestart } from "./lifecycle-core-B6UoqYTJ.js";
53
+ import { s as formatRuntimeStatus } from "./systemd-hints-DHu-HVFx.js";
54
54
  import { t as parsePort } from "./parse-port-l2c0Yyf3.js";
55
55
  import { i as NODE_SYSTEM_RUN_COMMANDS, n as NODE_EXEC_APPROVALS_COMMANDS, t as NODE_BROWSER_PROXY_COMMAND } from "./node-commands-DAlC0lvG.js";
56
- import { t as resolveNodeService } from "./node-service-GpI0jzKr.js";
56
+ import { t as resolveNodeService } from "./node-service-C3vyxHLA.js";
57
57
  import fs from "node:fs";
58
58
  import path from "node:path";
59
- import fsPromises from "node:fs/promises";
59
+ import fs$1 from "node:fs/promises";
60
60
  import { spawn } from "node:child_process";
61
61
  import crypto from "node:crypto";
62
62
 
@@ -80,7 +80,7 @@ function normalizeConfig(config) {
80
80
  async function loadNodeHostConfig() {
81
81
  const filePath = resolveNodeHostConfigPath();
82
82
  try {
83
- const raw = await fsPromises.readFile(filePath, "utf8");
83
+ const raw = await fs$1.readFile(filePath, "utf8");
84
84
  return normalizeConfig(JSON.parse(raw));
85
85
  } catch {
86
86
  return null;
@@ -88,11 +88,11 @@ async function loadNodeHostConfig() {
88
88
  }
89
89
  async function saveNodeHostConfig(config) {
90
90
  const filePath = resolveNodeHostConfigPath();
91
- await fsPromises.mkdir(path.dirname(filePath), { recursive: true });
91
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
92
92
  const payload = JSON.stringify(config, null, 2);
93
- await fsPromises.writeFile(filePath, `${payload}\n`, { mode: 384 });
93
+ await fs$1.writeFile(filePath, `${payload}\n`, { mode: 384 });
94
94
  try {
95
- await fsPromises.chmod(filePath, 384);
95
+ await fs$1.chmod(filePath, 384);
96
96
  } catch {}
97
97
  }
98
98
  async function ensureNodeHostConfig() {
@@ -182,10 +182,10 @@ function collectBrowserProxyPaths(payload) {
182
182
  return [...paths];
183
183
  }
184
184
  async function readBrowserProxyFile(filePath) {
185
- const stat = await fsPromises.stat(filePath).catch(() => null);
185
+ const stat = await fs$1.stat(filePath).catch(() => null);
186
186
  if (!stat || !stat.isFile()) return null;
187
187
  if (stat.size > BROWSER_PROXY_MAX_FILE_BYTES) throw new Error(`browser proxy file exceeds ${Math.round(BROWSER_PROXY_MAX_FILE_BYTES / (1024 * 1024))}MB`);
188
- const buffer = await fsPromises.readFile(filePath);
188
+ const buffer = await fs$1.readFile(filePath);
189
189
  const mimeType = await detectMime({
190
190
  buffer,
191
191
  filePath
@@ -1,5 +1,5 @@
1
1
  import { _ as resolveNodeWindowsTaskName, a as NODE_SERVICE_KIND, g as resolveNodeSystemdServiceName, h as resolveNodeLaunchAgentLabel, o as NODE_SERVICE_MARKER, s as NODE_WINDOWS_TASK_SCRIPT_NAME } from "./constants-Z_TnY4pX.js";
2
- import { t as resolveGatewayService } from "./service-Bj2oSfpw.js";
2
+ import { t as resolveGatewayService } from "./service-C8NMS3m_.js";
3
3
 
4
4
  //#region src/daemon/node-service.ts
5
5
  function withNodeServiceEnv(env) {
@@ -1,41 +1,41 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import { B as theme, S as shortenHomePath, x as shortenHomeInString, z as isRich } from "./utils-CXzXXV2o.js";
3
- import { d as resolveDefaultAgentId, i as resolveAgentConfig } from "./agent-scope-Bn39ugK4.js";
3
+ import { d as resolveDefaultAgentId, i as resolveAgentConfig } from "./agent-scope-RA0zXRpu.js";
4
4
  import "./subsystem-CGZX2PBV.js";
5
5
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
6
- import "./idlehands-root-DFL2GrNW.js";
6
+ import "./idlehands-root-B8cUs-5M.js";
7
7
  import "./exec-CKHMT0tZ.js";
8
- import { It as loadConfig, cn as parseDurationMs } from "./model-selection-CSn9tUuH.js";
8
+ import { It as loadConfig, cn as parseDurationMs } from "./model-selection-0dGxYGp8.js";
9
9
  import "./github-copilot-token-D7lpquOO.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-Bx-F45X5.js";
12
12
  import "./host-env-security-DkAVVuaw.js";
13
13
  import "./env-vars-sTMVGyld.js";
14
- import "./manifest-registry-RfRn8HJx.js";
14
+ import "./manifest-registry-Bak1x76G.js";
15
15
  import "./message-channel-DVauVtrg.js";
16
16
  import "./ip-DJ5wsTQn.js";
17
17
  import "./tailnet-C9lH_YnG.js";
18
18
  import "./ws-XBTtYpJc.js";
19
19
  import "./redact-B_4KNlXs.js";
20
20
  import "./errors-DZDuPc3M.js";
21
- import "./client-DIckPnsi.js";
22
- import { a as randomIdempotencyKey } from "./call-DnTBT02D.js";
23
- import "./pairing-token-3hoCgQqp.js";
21
+ import "./client-DxH9hwLn.js";
22
+ import { a as randomIdempotencyKey } from "./call-BRL23UCk.js";
23
+ import "./pairing-token-lKXTMQ_M.js";
24
24
  import { n as formatTimeAgo } from "./format-relative-DcQZUAYl.js";
25
25
  import { f as resolveExecApprovalsFromFile, i as maxAsk, o as minSecurity, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-C2s2dPha.js";
26
- import "./exec-approvals-allowlist-8AkOwwIr.js";
27
- import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-CIAn0wXq.js";
26
+ import "./exec-approvals-allowlist-Co2tJSEo.js";
27
+ import { a as canvasSnapshotTempPath, c as parseCameraClipPayload, d as writeCameraClipPayloadToFile, f as writeUrlToFile, i as parseEnvPairs, l as parseCameraSnapPayload, m as applyPathPrepend, n as screenRecordTempPath, o as parseCanvasSnapshotPayload, p as buildNodeShellCommand, r as writeScreenRecordToFile, s as cameraTempPath, t as parseScreenRecordPayload, u as writeBase64ToFile } from "./nodes-screen-CcpPaFxa.js";
28
28
  import { n as parseNodeList, r as parsePairingList } from "./node-match-CZ8lT9jK.js";
29
29
  import { t as formatDocsLink } from "./links-15764jZB.js";
30
30
  import { n as runCommandWithRuntime } from "./cli-utils-CH2y4E2f.js";
31
31
  import { t as formatHelpExamples } from "./help-format-CMAqOikG.js";
32
32
  import "./progress-BQLz1r3L.js";
33
33
  import { t as parseTimeoutMs } from "./parse-timeout-iAZMQ2yo.js";
34
- import "./system-run-command-BIhrK3OI.js";
34
+ import "./system-run-command-qJdgzxLp.js";
35
35
  import { t as renderTable } from "./table-B9AmL3M1.js";
36
- import { a as unauthorizedHintForMessage, i as resolveNodeId, n as callGatewayCli, o as formatPermissions, r as nodesCallOpts, t as buildNodeInvokeParams } from "./rpc-DDTp_J6f.js";
37
- import { t as parsePreparedSystemRunPayload } from "./system-run-approval-context-xZVoE4nS.js";
38
- import fsPromises from "node:fs/promises";
36
+ import { a as unauthorizedHintForMessage, i as resolveNodeId, n as callGatewayCli, o as formatPermissions, r as nodesCallOpts, t as buildNodeInvokeParams } from "./rpc-CCimHATv.js";
37
+ import { t as parsePreparedSystemRunPayload } from "./system-run-approval-context-CISBXlNw.js";
38
+ import fs from "node:fs/promises";
39
39
 
40
40
  //#region src/cli/nodes-cli/cli-utils.ts
41
41
  function getNodesTheme() {
@@ -378,7 +378,7 @@ function registerNodesCanvasCommands(nodes) {
378
378
  const hasJsonl = Boolean(opts.jsonl);
379
379
  const hasText = typeof opts.text === "string";
380
380
  if (hasJsonl === hasText) throw new Error("provide exactly one of --jsonl or --text");
381
- const jsonl = hasText ? buildA2UITextJsonl(String(opts.text ?? "")) : await fsPromises.readFile(String(opts.jsonl), "utf8");
381
+ const jsonl = hasText ? buildA2UITextJsonl(String(opts.text ?? "")) : await fs.readFile(String(opts.jsonl), "utf8");
382
382
  const { version, messageCount } = validateA2UIJsonl(jsonl);
383
383
  if (version === "v0.9") throw new Error("Detected A2UI v0.9 JSONL (createSurface). IdleHands currently supports v0.8 only.");
384
384
  await invokeCanvas(opts, "canvas.a2ui.pushJSONL", { jsonl });
@@ -3,7 +3,7 @@ import { r as resolveCliName } from "./command-format-DInZLuZ8.js";
3
3
  import fs from "node:fs";
4
4
  import * as path$1 from "node:path";
5
5
  import path from "node:path";
6
- import * as fs$1 from "node:fs/promises";
6
+ import * as fs$2 from "node:fs/promises";
7
7
  import { randomUUID } from "node:crypto";
8
8
 
9
9
  //#region src/infra/path-prepend.ts
@@ -138,7 +138,7 @@ async function writeUrlToFile(filePath, url) {
138
138
  if (typeof contentLength === "number" && Number.isFinite(contentLength) && contentLength > MAX_CAMERA_URL_DOWNLOAD_BYTES) throw new Error(`writeUrlToFile: content-length ${contentLength} exceeds max ${MAX_CAMERA_URL_DOWNLOAD_BYTES}`);
139
139
  const body = res.body;
140
140
  if (!body) throw new Error(`failed to download ${url}: empty response body`);
141
- const fileHandle = await fs$1.open(filePath, "w");
141
+ const fileHandle = await fs$2.open(filePath, "w");
142
142
  let bytes = 0;
143
143
  let thrown;
144
144
  try {
@@ -157,7 +157,7 @@ async function writeUrlToFile(filePath, url) {
157
157
  await fileHandle.close();
158
158
  }
159
159
  if (thrown) {
160
- await fs$1.unlink(filePath).catch(() => {});
160
+ await fs$2.unlink(filePath).catch(() => {});
161
161
  throw thrown;
162
162
  }
163
163
  return {
@@ -167,7 +167,7 @@ async function writeUrlToFile(filePath, url) {
167
167
  }
168
168
  async function writeBase64ToFile(filePath, base64) {
169
169
  const buf = Buffer.from(base64, "base64");
170
- await fs$1.writeFile(filePath, buf);
170
+ await fs$2.writeFile(filePath, buf);
171
171
  return {
172
172
  path: filePath,
173
173
  bytes: buf.length
@@ -1,17 +1,17 @@
1
1
  import { y as resolveUserPath } from "./utils-CXzXXV2o.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
3
- import { a as extractArchive, c as resolveArchiveKind, l as resolvePackedRootDir, o as fileExists } from "./install-safe-path-CNNMzJl9.js";
3
+ import { a as extractArchive, c as resolveArchiveKind, l as resolvePackedRootDir, o as fileExists } from "./install-safe-path-ChNR9pl6.js";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
6
- import fsPromises from "node:fs/promises";
6
+ import fs from "node:fs/promises";
7
7
 
8
8
  //#region src/infra/install-source-utils.ts
9
9
  async function withTempDir(prefix, fn) {
10
- const tmpDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), prefix));
10
+ const tmpDir = await fs.mkdtemp(path.join(os.tmpdir(), prefix));
11
11
  try {
12
12
  return await fn(tmpDir);
13
13
  } finally {
14
- await fsPromises.rm(tmpDir, {
14
+ await fs.rm(tmpDir, {
15
15
  recursive: true,
16
16
  force: true
17
17
  }).catch(() => void 0);
@@ -96,12 +96,12 @@ function parsePackedArchiveFromStdout(stdout) {
96
96
  }
97
97
  }
98
98
  async function findPackedArchiveInDir(cwd) {
99
- const archives = (await fsPromises.readdir(cwd, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".tgz"));
99
+ const archives = (await fs.readdir(cwd, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".tgz"));
100
100
  if (archives.length === 0) return;
101
101
  if (archives.length === 1) return archives[0]?.name;
102
102
  const sortedByMtime = await Promise.all(archives.map(async (entry) => ({
103
103
  name: entry.name,
104
- mtimeMs: (await fsPromises.stat(path.join(cwd, entry.name))).mtimeMs
104
+ mtimeMs: (await fs.stat(path.join(cwd, entry.name))).mtimeMs
105
105
  })));
106
106
  sortedByMtime.sort((a, b) => b.mtimeMs - a.mtimeMs);
107
107
  return sortedByMtime[0]?.name;
@@ -166,13 +166,13 @@ async function resolveExistingInstallPath(inputPath) {
166
166
  return {
167
167
  ok: true,
168
168
  resolvedPath,
169
- stat: await fsPromises.stat(resolvedPath)
169
+ stat: await fs.stat(resolvedPath)
170
170
  };
171
171
  }
172
172
  async function withExtractedArchiveRoot(params) {
173
173
  return await withTempDir(params.tempDirPrefix, async (tmpDir) => {
174
174
  const extractDir = path.join(tmpDir, "extract");
175
- await fsPromises.mkdir(extractDir, { recursive: true });
175
+ await fs.mkdir(extractDir, { recursive: true });
176
176
  params.logger?.info?.(`Extracting ${params.archivePath}…`);
177
177
  try {
178
178
  await extractArchive({
@@ -225,7 +225,7 @@ async function sanitizeManifestForNpmInstall(targetDir) {
225
225
  const manifestPath = path.join(targetDir, "package.json");
226
226
  let manifestRaw = "";
227
227
  try {
228
- manifestRaw = await fsPromises.readFile(manifestPath, "utf-8");
228
+ manifestRaw = await fs.readFile(manifestPath, "utf-8");
229
229
  } catch {
230
230
  return;
231
231
  }
@@ -245,7 +245,7 @@ async function sanitizeManifestForNpmInstall(targetDir) {
245
245
  if (filteredEntries.length === Object.keys(devDependencies).length) return;
246
246
  if (filteredEntries.length === 0) delete manifest.devDependencies;
247
247
  else manifest.devDependencies = Object.fromEntries(filteredEntries);
248
- await fsPromises.writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf-8");
248
+ await fs.writeFile(manifestPath, `${JSON.stringify(manifest, null, 2)}\n`, "utf-8");
249
249
  }
250
250
  async function installPackageDir(params) {
251
251
  params.logger?.info?.(`Installing to ${params.targetDir}…`);
@@ -253,19 +253,19 @@ async function installPackageDir(params) {
253
253
  if (params.mode === "update" && await fileExists(params.targetDir)) {
254
254
  const backupRoot = path.join(path.dirname(params.targetDir), ".idlehands-install-backups");
255
255
  backupDir = path.join(backupRoot, `${path.basename(params.targetDir)}-${Date.now()}`);
256
- await fsPromises.mkdir(backupRoot, { recursive: true });
257
- await fsPromises.rename(params.targetDir, backupDir);
256
+ await fs.mkdir(backupRoot, { recursive: true });
257
+ await fs.rename(params.targetDir, backupDir);
258
258
  }
259
259
  const rollback = async () => {
260
260
  if (!backupDir) return;
261
- await fsPromises.rm(params.targetDir, {
261
+ await fs.rm(params.targetDir, {
262
262
  recursive: true,
263
263
  force: true
264
264
  }).catch(() => void 0);
265
- await fsPromises.rename(backupDir, params.targetDir).catch(() => void 0);
265
+ await fs.rename(backupDir, params.targetDir).catch(() => void 0);
266
266
  };
267
267
  try {
268
- await fsPromises.cp(params.sourceDir, params.targetDir, { recursive: true });
268
+ await fs.cp(params.sourceDir, params.targetDir, { recursive: true });
269
269
  } catch (err) {
270
270
  await rollback();
271
271
  return {
@@ -303,7 +303,7 @@ async function installPackageDir(params) {
303
303
  };
304
304
  }
305
305
  }
306
- if (backupDir) await fsPromises.rm(backupDir, {
306
+ if (backupDir) await fs.rm(backupDir, {
307
307
  recursive: true,
308
308
  force: true
309
309
  }).catch(() => void 0);
@@ -1,7 +1,7 @@
1
1
  import { s as createSubsystemLogger } from "./entry.js";
2
2
  import { j as loadConfig } from "./auth-profiles-Baj5ImDJ.js";
3
3
  import { A as resolveDefaultAgentWorkspaceDir, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-mLXQGQde.js";
4
- import { _ as loadIdleHandsPlugins, g as createPluginLoaderLogger } from "./subagent-registry-DdXcwxHN.js";
4
+ import { _ as loadIdleHandsPlugins, g as createPluginLoaderLogger } from "./subagent-registry-B-ciR-Ya.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,7 +1,7 @@
1
- import { ht as loadIdleHandsPlugins, mt as createPluginLoaderLogger } from "./reply-DlbLp0Yj.js";
2
- import { A as resolveDefaultAgentWorkspaceDir, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
1
+ import { ht as loadIdleHandsPlugins, mt as createPluginLoaderLogger } from "./reply-tuqCy_5s.js";
2
+ import { A as resolveDefaultAgentWorkspaceDir, d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
4
- import { It as loadConfig } from "./model-selection-CSn9tUuH.js";
4
+ import { It as loadConfig } from "./model-selection-0dGxYGp8.js";
5
5
 
6
6
  //#region src/plugins/status.ts
7
7
  const log = createSubsystemLogger("plugins");
@@ -1,14 +1,14 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cn44w-EB.js";
2
2
  import { y as resolveUserPath } from "./utils-CXzXXV2o.js";
3
3
  import { i as restoreTerminalState, n as defaultRuntime } from "./runtime-44j_X4Y6.js";
4
- import { Ht as writeConfigFile, Rt as readConfigFileSnapshot } from "./model-selection-CSn9tUuH.js";
4
+ import { Ht as writeConfigFile, Rt as readConfigFileSnapshot } from "./model-selection-0dGxYGp8.js";
5
5
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
6
- import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, c as handleReset, g as resolveControlUiLinks, h as randomToken, n as applyWizardMetadata, t as DEFAULT_WORKSPACE } from "./onboard-helpers-ByhJg2ST.js";
6
+ import { a as ensureWorkspaceAndSessions, b as waitForGatewayReachable, c as handleReset, g as resolveControlUiLinks, h as randomToken, n as applyWizardMetadata, t as DEFAULT_WORKSPACE } from "./onboard-helpers-BQmbMJxJ.js";
7
7
  import { t as assertSupportedRuntime } from "./runtime-guard-X6f4YmTM.js";
8
8
  import { t as WizardCancelledError } from "./prompts-9ZBCWbQB.js";
9
9
  import { t as createClackPrompter } from "./clack-prompter-CvbZsmjW.js";
10
10
  import { t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-BGXzfrm4.js";
11
- import { t as runOnboardingWizard } from "./onboarding-CNGvwRqq.js";
11
+ import { t as runOnboardingWizard } from "./onboarding-CegT14jj.js";
12
12
  import { n as logConfigUpdated } from "./logging-B0-9lotb.js";
13
13
  import { i as normalizeLegacyOnboardAuthChoice, r as isDeprecatedAuthChoice, t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-CWpV5eF5.js";
14
14
  import { t as applyOnboardingLocalWorkspaceConfig } from "./onboard-config-DWHdfsgm.js";
@@ -207,7 +207,7 @@ async function runNonInteractiveOnboardingLocal(params) {
207
207
  }
208
208
  const authChoice = opts.authChoice ?? inferredAuthChoice.choice ?? "skip";
209
209
  if (authChoice !== "skip") {
210
- const { applyNonInteractiveAuthChoice } = await import("./auth-choice-BDndThZZ.js");
210
+ const { applyNonInteractiveAuthChoice } = await import("./auth-choice-D12Wsf7w.js");
211
211
  const nextConfigAfterAuth = await applyNonInteractiveAuthChoice({
212
212
  nextConfig,
213
213
  authChoice,
@@ -240,7 +240,7 @@ async function runNonInteractiveOnboardingLocal(params) {
240
240
  logConfigUpdated(runtime);
241
241
  await ensureWorkspaceAndSessions(workspaceDir, runtime, { skipBootstrap: Boolean(nextConfig.agents?.defaults?.skipBootstrap) });
242
242
  if (opts.installDaemon) {
243
- const { installGatewayDaemonNonInteractive } = await import("./daemon-install-DeqQiAad.js");
243
+ const { installGatewayDaemonNonInteractive } = await import("./daemon-install-CYPo4M1M.js");
244
244
  await installGatewayDaemonNonInteractive({
245
245
  nextConfig,
246
246
  opts,
@@ -251,7 +251,7 @@ async function runNonInteractiveOnboardingLocal(params) {
251
251
  }
252
252
  const daemonRuntimeRaw = opts.daemonRuntime ?? DEFAULT_GATEWAY_DAEMON_RUNTIME;
253
253
  if (!opts.skipHealth) {
254
- const { healthCommand } = await import("./health-DUdnHqnW.js").then((n) => n.i);
254
+ const { healthCommand } = await import("./health-cUQV1hzf.js").then((n) => n.i);
255
255
  await waitForGatewayReachable({
256
256
  url: resolveControlUiLinks({
257
257
  bind: gatewayResult.bind,
@@ -7,7 +7,7 @@ import { t as WizardCancelledError } from "./prompts-D3HHe1ZZ.js";
7
7
  import { t as createClackPrompter } from "./clack-prompter-Bo7vS5xP.js";
8
8
  import { t as assertSupportedRuntime } from "./runtime-guard-DTSD0F6o.js";
9
9
  import { t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CRT3STlu.js";
10
- import { t as runOnboardingWizard } from "./onboarding-Ds1add5x.js";
10
+ import { t as runOnboardingWizard } from "./onboarding-rD-jdAK3.js";
11
11
  import { n as logConfigUpdated } from "./logging-MF6Thoxk.js";
12
12
  import { i as normalizeLegacyOnboardAuthChoice, r as isDeprecatedAuthChoice, t as ONBOARD_PROVIDER_AUTH_FLAGS } from "./onboard-provider-auth-flags-DHfeIfN6.js";
13
13
  import { t as applyOnboardingLocalWorkspaceConfig } from "./onboard-config-D12380q3.js";
@@ -250,7 +250,7 @@ async function runNonInteractiveOnboardingLocal(params) {
250
250
  }
251
251
  const daemonRuntimeRaw = opts.daemonRuntime ?? DEFAULT_GATEWAY_DAEMON_RUNTIME;
252
252
  if (!opts.skipHealth) {
253
- const { healthCommand } = await import("./health-H258IqdH.js").then((n) => n.i);
253
+ const { healthCommand } = await import("./health-D6PJPflH.js").then((n) => n.i);
254
254
  await waitForGatewayReachable({
255
255
  url: resolveControlUiLinks({
256
256
  bind: gatewayResult.bind,
@@ -9,7 +9,7 @@ import { a as resolveWhatsAppAuthDir, n as listWhatsAppAccountIds, r as resolveD
9
9
  import { n as resolveDefaultIMessageAccountId, r as resolveIMessageAccount, t as listIMessageAccountIds } from "./accounts-frp6YB8O.js";
10
10
  import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId } from "./accounts-COaz4Gk1.js";
11
11
  import { dt as normalizeDiscordSlug } from "./send-CCiDIuX4.js";
12
- import { Nn as resolveSlackUserAllowlist, Pn as resolveDiscordUserAllowlist, T as resolveDiscordChannelAllowlist, _ as loadIdleHandsPlugins, g as createPluginLoaderLogger, y as resolveSlackChannelAllowlist } from "./subagent-registry-DdXcwxHN.js";
12
+ import { Nn as resolveSlackUserAllowlist, Pn as resolveDiscordUserAllowlist, T as resolveDiscordChannelAllowlist, _ as loadIdleHandsPlugins, g as createPluginLoaderLogger, y as resolveSlackChannelAllowlist } from "./subagent-registry-B-ciR-Ya.js";
13
13
  import { a as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-dpNitoNd.js";
14
14
  import { s as normalizeIMessageHandle } from "./send-YcXS-UZJ.js";
15
15
  import { t as formatDocsLink } from "./links-fKzK3pnZ.js";
@@ -1,31 +1,31 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { h as pathExists, m as normalizeE164, t as CONFIG_DIR } from "./utils-CXzXXV2o.js";
3
- import { Ar as resolveSlackUserAllowlist, At as resolveDiscordChannelAllowlist, ht as loadIdleHandsPlugins, jr as resolveDiscordUserAllowlist, mt as createPluginLoaderLogger, wt as resolveSlackChannelAllowlist } from "./reply-DlbLp0Yj.js";
4
- import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
3
+ import { Ar as resolveSlackUserAllowlist, At as resolveDiscordChannelAllowlist, ht as loadIdleHandsPlugins, jr as resolveDiscordUserAllowlist, mt as createPluginLoaderLogger, wt as resolveSlackChannelAllowlist } from "./reply-tuqCy_5s.js";
4
+ import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
5
5
  import { g as listChatChannels, m as formatChannelSelectionLine, p as formatChannelPrimerLine, t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
6
6
  import { h as normalizeAccountId, m as DEFAULT_ACCOUNT_ID } from "./session-key-Cuihcz_O.js";
7
7
  import { t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
8
8
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
9
- import { dt as normalizeDiscordSlug } from "./send-CVIXqubC.js";
10
- import { C as resolveDiscordAccount, S as resolveDefaultDiscordAccountId, b as listDiscordAccountIds, d as resolveTelegramAccount, h as resolveSlackAccount, l as listTelegramAccountIds, m as resolveDefaultSlackAccountId, n as listChannelPlugins, p as listSlackAccountIds, t as getChannelPlugin, u as resolveDefaultTelegramAccountId } from "./plugins-B4hASNc2.js";
11
- import { a as resolveWhatsAppAuthDir, n as listWhatsAppAccountIds, r as resolveDefaultWhatsAppAccountId } from "./accounts-D-hQsUw-.js";
12
- import { n as resolveDefaultIMessageAccountId, r as resolveIMessageAccount, t as listIMessageAccountIds } from "./accounts-DsVN0UNw.js";
13
- import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId } from "./accounts-D87a1Y_K.js";
9
+ import { dt as normalizeDiscordSlug } from "./send-DwdHiC7_.js";
10
+ import { C as resolveDiscordAccount, S as resolveDefaultDiscordAccountId, b as listDiscordAccountIds, d as resolveTelegramAccount, h as resolveSlackAccount, l as listTelegramAccountIds, m as resolveDefaultSlackAccountId, n as listChannelPlugins, p as listSlackAccountIds, t as getChannelPlugin, u as resolveDefaultTelegramAccountId } from "./plugins-D46VZh7u.js";
11
+ import { a as resolveWhatsAppAuthDir, n as listWhatsAppAccountIds, r as resolveDefaultWhatsAppAccountId } from "./accounts-DLTODa_Z.js";
12
+ import { n as resolveDefaultIMessageAccountId, r as resolveIMessageAccount, t as listIMessageAccountIds } from "./accounts-3HS_UAhJ.js";
13
+ import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId } from "./accounts-DgbTKQoW.js";
14
14
  import { t as formatDocsLink } from "./links-15764jZB.js";
15
- import { a as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-BMuSi4aV.js";
16
- import { a as normalizeIMessageHandle } from "./send-CEavqqEz.js";
17
- import { r as detectBinary } from "./onboard-helpers-ByhJg2ST.js";
18
- import { t as loginWeb } from "./login-Dl_lsEHS.js";
15
+ import { a as listChannelPluginCatalogEntries, n as isChannelConfigured } from "./plugin-auto-enable-7DUxMy6A.js";
16
+ import { a as normalizeIMessageHandle } from "./send-DQiw_nGD.js";
17
+ import { r as detectBinary } from "./onboard-helpers-BQmbMJxJ.js";
18
+ import { t as loginWeb } from "./login-CfUhrgWT.js";
19
19
  import { t as resolveBrewExecutable } from "./brew-DJAghU-4.js";
20
20
  import { n as moveSingleAccountChannelSectionToDefaultAccount, t as fetchTelegramChatId } from "./api-DK3_W0VC.js";
21
21
  import { t as resolveChannelDefaultAccountId } from "./helpers-C6eW1WGZ.js";
22
- import { t as enablePluginInConfig } from "./enable-DaA_orGN.js";
23
- import { a as extractArchive } from "./install-safe-path-CNNMzJl9.js";
24
- import { n as recordPluginInstall, r as installPluginFromNpmSpec, t as buildNpmResolutionInstallFields } from "./installs-ST3UaUVJ.js";
22
+ import { t as enablePluginInConfig } from "./enable-o_s6PBsC.js";
23
+ import { a as extractArchive } from "./install-safe-path-ChNR9pl6.js";
24
+ import { n as recordPluginInstall, r as installPluginFromNpmSpec, t as buildNpmResolutionInstallFields } from "./installs-CNubze2L.js";
25
25
  import fs, { createWriteStream } from "node:fs";
26
26
  import os from "node:os";
27
27
  import path from "node:path";
28
- import fsPromises from "node:fs/promises";
28
+ import fs$1 from "node:fs/promises";
29
29
  import { request } from "node:https";
30
30
  import { pipeline } from "node:stream/promises";
31
31
 
@@ -1050,7 +1050,7 @@ async function findSignalCliBinary(root) {
1050
1050
  const candidates = [];
1051
1051
  const enqueue = async (dir, depth) => {
1052
1052
  if (depth > 3) return;
1053
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => []);
1053
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => []);
1054
1054
  for (const entry of entries) {
1055
1055
  const full = path.join(dir, entry.name);
1056
1056
  if (entry.isDirectory()) await enqueue(full, depth + 1);
@@ -1071,7 +1071,7 @@ async function resolveBrewSignalCliPath(brewExe) {
1071
1071
  const prefix = result.stdout.trim();
1072
1072
  const candidate = path.join(prefix, "bin", "signal-cli");
1073
1073
  try {
1074
- await fsPromises.access(candidate);
1074
+ await fs$1.access(candidate);
1075
1075
  return candidate;
1076
1076
  } catch {
1077
1077
  return findSignalCliBinary(prefix);
@@ -1127,12 +1127,12 @@ async function installSignalCliFromRelease(runtime) {
1127
1127
  ok: false,
1128
1128
  error: "No compatible release asset found for this platform."
1129
1129
  };
1130
- const tmpDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), "idlehands-signal-"));
1130
+ const tmpDir = await fs$1.mkdtemp(path.join(os.tmpdir(), "idlehands-signal-"));
1131
1131
  const archivePath = path.join(tmpDir, asset.name);
1132
1132
  runtime.log(`Downloading signal-cli ${version} (${asset.name})…`);
1133
1133
  await downloadToFile(asset.browser_download_url, archivePath);
1134
1134
  const installRoot = path.join(CONFIG_DIR, "tools", "signal-cli", version);
1135
- await fsPromises.mkdir(installRoot, { recursive: true });
1135
+ await fs$1.mkdir(installRoot, { recursive: true });
1136
1136
  if (!looksLikeArchive(asset.name.toLowerCase())) return {
1137
1137
  ok: false,
1138
1138
  error: `Unsupported archive type: ${asset.name}`
@@ -1151,7 +1151,7 @@ async function installSignalCliFromRelease(runtime) {
1151
1151
  ok: false,
1152
1152
  error: `signal-cli binary not found after extracting ${asset.name}`
1153
1153
  };
1154
- await fsPromises.chmod(cliPath, 493).catch(() => {});
1154
+ await fs$1.chmod(cliPath, 493).catch(() => {});
1155
1155
  return {
1156
1156
  ok: true,
1157
1157
  cliPath,