@visorcraft/idlehands 4.0.21 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/dist/{accounts-DLTODa_Z.js → accounts-D-hQsUw-.js} +1 -1
  2. package/dist/{accounts-DgbTKQoW.js → accounts-D87a1Y_K.js} +1 -1
  3. package/dist/{accounts-3HS_UAhJ.js → accounts-DsVN0UNw.js} +1 -1
  4. package/dist/{acp-cli-BEpWQbqb.js → acp-cli-BEHYc8ty.js} +7 -7
  5. package/dist/{agent-scope-RA0zXRpu.js → agent-scope-Bn39ugK4.js} +18 -18
  6. package/dist/{agent-via-gateway-DHn8V6v4.js → agent-via-gateway-CM7X6sKJ.js} +7 -7
  7. package/dist/{agent-via-gateway-CUQG6kii.js → agent-via-gateway-bS6seBwg.js} +4 -4
  8. package/dist/{agent-via-gateway-Cn3iNSod.js → agent-via-gateway-igDg7ko6.js} +7 -7
  9. package/dist/{agents.config-CHtoYxr6.js → agents.config-CPUPtcKt.js} +2 -2
  10. package/dist/{anton-Dyz3neEN.js → anton-C7-Qxyij.js} +1 -1
  11. package/dist/{anton-x7f6kIFP.js → anton-D9tZAGaj.js} +20 -20
  12. package/dist/{anton-hH1PyE2C.js → anton-ONYQUE8F.js} +1 -1
  13. package/dist/{api-key-rotation-B-FTJm5p.js → api-key-rotation-nXQVJErE.js} +1 -1
  14. package/dist/{audio-preflight-vD3mDc6w.js → audio-preflight-CSSlgO89.js} +4 -4
  15. package/dist/{audio-preflight-Dl1TO10w.js → audio-preflight-DzjXupNO.js} +31 -31
  16. package/dist/{audio-preflight-B8qbJcB1.js → audio-preflight-qkU2lsDn.js} +4 -4
  17. package/dist/{audit-CKeZnjft.js → audit-C5VPFgbJ.js} +22 -22
  18. package/dist/{auth-choice-D12Wsf7w.js → auth-choice-BDndThZZ.js} +12 -12
  19. package/dist/{auth-choice-DRR52LJT.js → auth-choice-CQqV1VIf.js} +10 -10
  20. package/dist/{auth-choice.apply-helpers-CGcniL1T.js → auth-choice.apply-helpers-pTqMTYmi.js} +1 -1
  21. package/dist/{auth-store-DDzIMy8_.js → auth-store-CMyrmmSF.js} +7 -7
  22. package/dist/{auth-token-BJq87X3o.js → auth-token-fKt_cHOj.js} +1 -1
  23. package/dist/{bindings-B59Q7nsk.js → bindings-DZjkLUU_.js} +1 -1
  24. package/dist/{browser-cli-Ci6DpTnS.js → browser-cli-qU0I-Gla.js} +11 -11
  25. package/dist/build-info.json +3 -3
  26. package/dist/bundled/boot-md/handler.js +7 -7
  27. package/dist/bundled/session-memory/handler.js +7 -7
  28. package/dist/{call-BpWhjuOg.js → call-Du-oBD99.js} +9 -9
  29. package/dist/{channel-account-context-CDbY5AIr.js → channel-account-context-B4nJPU2N.js} +5 -5
  30. package/dist/{channel-options-B4oF7_V2.js → channel-options-B1cfZ5uQ.js} +3 -3
  31. package/dist/{channel-selection-ZxRkxpuF.js → channel-selection-3jUl-PyW.js} +1 -1
  32. package/dist/{channel-web-0icuasR6.js → channel-web-CzrJ-6X4.js} +22 -22
  33. package/dist/{channels-cli-B2w32z11.js → channels-cli-B4o-qohk.js} +88 -88
  34. package/dist/{channels-status-issues-CDpWjdI3.js → channels-status-issues-hgASw9UA.js} +1 -1
  35. package/dist/{chrome-xahUzIaT.js → chrome-CT_a9OgI.js} +9 -9
  36. package/dist/{chrome-DEnkfZ9p.js → chrome-Do5potHV.js} +9 -9
  37. package/dist/{chrome-VBsQfIrt.js → chrome-YguTEaLx.js} +2 -2
  38. package/dist/{clawbot-cli-uFgYrysW.js → clawbot-cli-C5cDal-5.js} +5 -5
  39. package/dist/{cli-BVw2ja-q.js → cli-DXyOlvH2.js} +70 -70
  40. package/dist/{client-DtnD-ee9.js → client-Dl5EAvfO.js} +1 -1
  41. package/dist/{command-registry-CWDCVzZv.js → command-registry-esizscE2.js} +5 -5
  42. package/dist/{commands-Dj5LalLo.js → commands-D3BU_t7G.js} +1 -1
  43. package/dist/{commands-registry-CURlRZQJ.js → commands-registry-Cj4D_1tw.js} +3 -3
  44. package/dist/{completion-cli-f5M3WVf8.js → completion-cli-CXDILt8-.js} +12 -12
  45. package/dist/{completion-cli-CjERsZ27.js → completion-cli-c4blaZPQ.js} +2 -2
  46. package/dist/{config-cli-Bt7n6ZJS.js → config-cli-98ASrAou.js} +1 -1
  47. package/dist/{config-cli-B2gc8CV1.js → config-cli-D_mH5-FH.js} +6 -6
  48. package/dist/{config-guard-BdsOumqh.js → config-guard-DnAyuF6T.js} +17 -17
  49. package/dist/{config-validation-BvKX6fPw.js → config-validation-DIomLMwH.js} +2 -2
  50. package/dist/{configure-BXsptBk3.js → configure-PKG58EzI.js} +16 -16
  51. package/dist/{control-ui-assets-C7ZpN9hN.js → control-ui-assets-CiaCDBvZ.js} +1 -1
  52. package/dist/{cron-cli-DQsnGQKs.js → cron-cli-BIfVPc5K.js} +12 -12
  53. package/dist/{daemon-cli-DUg-s4LG.js → daemon-cli-DpyQu0Dp.js} +11 -11
  54. package/dist/{daemon-install-CYPo4M1M.js → daemon-install-DeqQiAad.js} +4 -4
  55. package/dist/{daemon-install-helpers-BZY9-jNW.js → daemon-install-helpers-Bug_GYuy.js} +9 -9
  56. package/dist/{deliver-CIFO6sel.js → deliver-Db2xqgLg.js} +1 -1
  57. package/dist/{deliver-5FLCa6tB.js → deliver-whAbSPLk.js} +1 -1
  58. package/dist/{deliver--kttnrER.js → deliver-yTpXc5sv.js} +7 -7
  59. package/dist/{deps-CwPrf7RC.js → deps-BotXja4Z.js} +6 -6
  60. package/dist/{deps-DwTILPLD.js → deps-CC5E5LXB.js} +1 -1
  61. package/dist/{deps-BbipxGPW.js → deps-DR1eh_L_.js} +1 -1
  62. package/dist/{devices-cli-DKK65S9Z.js → devices-cli-B7fkQKei.js} +7 -7
  63. package/dist/{diagnostics-DmZbQ8Nc.js → diagnostics-CdUgLS0N.js} +5 -5
  64. package/dist/{directory-cli-Dz9iXeut.js → directory-cli-BAMS8f9U.js} +9 -9
  65. package/dist/{dns-cli-DD6hWsdc.js → dns-cli-BdxBk-k_.js} +4 -4
  66. package/dist/{dock-Y96MzKuM.js → dock-CzF5XYGd.js} +4 -4
  67. package/dist/{docs-cli-cHkrTB2e.js → docs-cli-SF7es4Zs.js} +4 -4
  68. package/dist/{doctor-completion-C2-SDBd6.js → doctor-completion-Co_xszXC.js} +2 -2
  69. package/dist/{doctor-completion-DB151YdP.js → doctor-completion-DFr8_h-z.js} +1 -1
  70. package/dist/{doctor-config-flow-Ck4oCjfl.js → doctor-config-flow-8qXzBx09.js} +14 -14
  71. package/dist/{emergency-stop-Lj33jqJJ.js → emergency-stop-ChBe32HN.js} +7 -7
  72. package/dist/{emergency-stop-DpNGtfb4.js → emergency-stop-DtVFxCO1.js} +70 -70
  73. package/dist/{emergency-stop-C2sJ4lsk.js → emergency-stop-DyQna_P0.js} +7 -7
  74. package/dist/{enable-o_s6PBsC.js → enable-DaA_orGN.js} +1 -1
  75. package/dist/entry.js +1 -1
  76. package/dist/{exec-approvals-allowlist-Co2tJSEo.js → exec-approvals-allowlist-8AkOwwIr.js} +1 -1
  77. package/dist/{exec-approvals-cli-D6XUzs4j.js → exec-approvals-cli-CbcJzCt0.js} +15 -15
  78. package/dist/{exec-safe-bin-runtime-policy-DaoU9-ni.js → exec-safe-bin-runtime-policy-DYXuBKqH.js} +2 -2
  79. package/dist/extensionAPI.js +7 -7
  80. package/dist/{fs-safe-_JQUGpZf.js → fs-safe-DNFrxDS-.js} +15 -15
  81. package/dist/{gateway-cli-Ccd1ukWq.js → gateway-cli-DjCBMnUT.js} +2 -2
  82. package/dist/{gateway-cli-lNUOd2_i.js → gateway-cli-poVGdgAz.js} +148 -148
  83. package/dist/{gateway-rpc-BBFG1T-M.js → gateway-rpc-IpZymG6F.js} +1 -1
  84. package/dist/{health--GQAFTBr.js → health-lZsCLX6p.js} +13 -13
  85. package/dist/{hooks-cli-Di8qrzIB.js → hooks-cli-EbzkZ1Xh.js} +84 -84
  86. package/dist/{hooks-status-DNGo2G8Q.js → hooks-status-CPIWc_bx.js} +1 -1
  87. package/dist/{idlehands-root-B8cUs-5M.js → idlehands-root-DFL2GrNW.js} +8 -8
  88. package/dist/{image-C_aN5P6-.js → image-BAsQlUqT.js} +1 -1
  89. package/dist/{image-DSDEbSiO.js → image-C2JZiK-6.js} +5 -5
  90. package/dist/{image-D9D-lzCw.js → image-Dlu13Ebx.js} +1 -1
  91. package/dist/{image-ops-BU-VdLZu.js → image-ops-BkoEFRYH.js} +10 -10
  92. package/dist/index.js +80 -80
  93. package/dist/{inspect-ISQZuNM5.js → inspect-Dg16DMLn.js} +4 -4
  94. package/dist/{install-safe-path-ChNR9pl6.js → install-safe-path-CNNMzJl9.js} +19 -19
  95. package/dist/{installs-CNubze2L.js → installs-ST3UaUVJ.js} +9 -9
  96. package/dist/{ir-VncGpwA1.js → ir-DV0Hszc8.js} +6 -6
  97. package/dist/{lifecycle-core-B6UoqYTJ.js → lifecycle-core-DOScNyOv.js} +5 -5
  98. package/dist/llm-slug-generator.js +7 -7
  99. package/dist/{local-roots-q0xbefkf.js → local-roots-Cco87A2_.js} +2 -2
  100. package/dist/{login-CfUhrgWT.js → login-Dl_lsEHS.js} +4 -4
  101. package/dist/{login-qr-DBMsUxgL.js → login-qr-B68cBRH0.js} +7 -7
  102. package/dist/{logs-cli-4VQ9Iwiw.js → logs-cli-DHCG25JA.js} +8 -8
  103. package/dist/{manager-BMAFgXyU.js → manager-BBeTPO2h.js} +13 -13
  104. package/dist/{manifest-registry-Bak1x76G.js → manifest-registry-RfRn8HJx.js} +1 -1
  105. package/dist/{markdown-tables-DZClqsNo.js → markdown-tables-C5hTDqNm.js} +1 -1
  106. package/dist/{memory-cli-CUGwnVIY.js → memory-cli-4wfelGdK.js} +12 -12
  107. package/dist/{model-C-icShH2.js → model-Bd-05WpB.js} +2 -2
  108. package/dist/{model-catalog-D9no0CH2.js → model-catalog-BCsDrrvq.js} +3 -3
  109. package/dist/{model-picker-BkXoTOiA.js → model-picker-D3U0wJCO.js} +4 -4
  110. package/dist/{model-selection-0dGxYGp8.js → model-selection-CSn9tUuH.js} +16 -16
  111. package/dist/{models-cli-CMwszgSD.js → models-cli-umEUn4Xu.js} +79 -79
  112. package/dist/{models-config-C5A1wDWh.js → models-config-lQpqp472.js} +6 -6
  113. package/dist/{node-cli-BYzjxmUY.js → node-cli-7gQ7xfOh.js} +32 -32
  114. package/dist/{node-service-C3vyxHLA.js → node-service-GpI0jzKr.js} +1 -1
  115. package/dist/{nodes-cli-kNOtp0U0.js → nodes-cli-CDXLGCox.js} +14 -14
  116. package/dist/{nodes-screen-CcpPaFxa.js → nodes-screen-CIAn0wXq.js} +4 -4
  117. package/dist/{npm-registry-spec-BCbbfIhX.js → npm-registry-spec-BfeHLbIQ.js} +16 -16
  118. package/dist/{npm-resolution-DLSA4PTO.js → npm-resolution-By6en78P.js} +3 -3
  119. package/dist/{onboard-CbXlbAx2.js → onboard-BmDmDXYf.js} +6 -6
  120. package/dist/{onboard-B6eOxpDM.js → onboard-Dw-URWpt.js} +1 -1
  121. package/dist/{onboard-channels-BISq46-i.js → onboard-channels-DCDhpz9s.js} +20 -20
  122. package/dist/{onboard-custom-DUbzMMu7.js → onboard-custom-D2sCP3_S.js} +4 -4
  123. package/dist/{onboard-helpers-mzy38DiC.js → onboard-helpers-CdzbIhrm.js} +8 -8
  124. package/dist/{onboard-hooks-D9teGxfH.js → onboard-hooks-_1Jgimeu.js} +4 -4
  125. package/dist/{onboard-remote-LCBHijVE.js → onboard-remote-pCRaL_Ey.js} +1 -1
  126. package/dist/{onboard-skills-jFY9gaOu.js → onboard-skills-DvwRvBvj.js} +4 -4
  127. package/dist/{onboarding-Da3n7Rvs.js → onboarding-Cf3JxJxY.js} +13 -13
  128. package/dist/{onboarding-DikyMlYG.js → onboarding-DIorhVOJ.js} +1 -1
  129. package/dist/{onboarding.finalize-CwYx5n3Z.js → onboarding.finalize-BCmAqhLV.js} +4 -4
  130. package/dist/{onboarding.finalize-Bp2ufMd0.js → onboarding.finalize-BH4WHo75.js} +82 -82
  131. package/dist/{onboarding.gateway-config-Btu2gzgr.js → onboarding.gateway-config-Sj7zQKsE.js} +16 -16
  132. package/dist/{openai-model-default-7J6cw1rA.js → openai-model-default-OPCCNNS0.js} +2 -2
  133. package/dist/{outbound-DPTxwchq.js → outbound-CG19kl0w.js} +4 -4
  134. package/dist/{outbound-attachment-Bot3bRnK.js → outbound-attachment-jYdMgCml.js} +2 -2
  135. package/dist/{pairing-cli-jwx6hMsM.js → pairing-cli-QJYYDcIK.js} +10 -10
  136. package/dist/{pairing-labels-ChQJzbS9.js → pairing-labels-DuZ7ih-T.js} +1 -1
  137. package/dist/{pairing-store-CPpEEQJO.js → pairing-store-qvpPoWL_.js} +2 -2
  138. package/dist/{pairing-token-lKXTMQ_M.js → pairing-token-3hoCgQqp.js} +7 -7
  139. package/dist/{path-alias-guards-FXBVVTLw.js → path-alias-guards-BCskHdfJ.js} +3 -3
  140. package/dist/{path-safety-DwibX65n.js → path-safety-C1Y004P_.js} +1 -1
  141. package/dist/{paths-B-CLQ5RT.js → paths-Bt0fZexW.js} +9 -9
  142. package/dist/{pi-embedded-Bc4KWuTe.js → pi-embedded-DMx6rHVL.js} +26 -26
  143. package/dist/{pi-embedded-helpers-CUoUoEEN.js → pi-embedded-helpers-B3ceCcxm.js} +4 -4
  144. package/dist/{pi-embedded-helpers-BCsfqpDt.js → pi-embedded-helpers-BkzrQ5bZ.js} +6 -6
  145. package/dist/{pi-embedded-helpers-C2j0LfJC.js → pi-embedded-helpers-Ct2rwp-P.js} +4 -4
  146. package/dist/{pi-embedded-k2mZJOsr.js → pi-embedded-mKozULng.js} +26 -26
  147. package/dist/{pi-model-discovery-BIP3RjXl.js → pi-model-discovery-Bt79ifyi.js} +1 -1
  148. package/dist/{pi-tools.policy-DfITIKZj.js → pi-tools.policy-B_ME3yF6.js} +5 -5
  149. package/dist/{plugin-auto-enable-7DUxMy6A.js → plugin-auto-enable-BMuSi4aV.js} +3 -3
  150. package/dist/{plugin-registry-DROWinG6.js → plugin-registry-BIoGoN5y.js} +3 -3
  151. package/dist/{plugins-D46VZh7u.js → plugins-B4hASNc2.js} +2 -2
  152. package/dist/{plugins-cli-b_o3IL7x.js → plugins-cli-Dlb8QO-K.js} +80 -80
  153. package/dist/{ports-B2o0FSFD.js → ports-B07M55Gr.js} +1 -1
  154. package/dist/{ports-SQy1d-RL.js → ports-DWJO5S52.js} +2 -2
  155. package/dist/{program-vH6RTUOw.js → program-Do2-I4y3.js} +2 -2
  156. package/dist/{program-context-D6irLwPo.js → program-context-B_byBfwR.js} +43 -43
  157. package/dist/{prompt-select-styled-CDoDFWo7.js → prompt-select-styled-CBF_I30O.js} +37 -37
  158. package/dist/{prompt-select-styled-DFVvU0TH.js → prompt-select-styled-VWGHu3e1.js} +1 -1
  159. package/dist/{provider-auth-helpers-CNRz0SFC.js → provider-auth-helpers-BGGSUXOH.js} +5 -5
  160. package/dist/{push-apns-e2xmxGGE.js → push-apns-CuwLAoXk.js} +5 -5
  161. package/dist/{pw-ai-7i9eGnLh.js → pw-ai-BGALvhDi.js} +11 -11
  162. package/dist/{pw-ai-CnvVtt_s.js → pw-ai-DIV4PcIo.js} +1 -1
  163. package/dist/{pw-ai-DjmrIQle.js → pw-ai-yrIWfcWX.js} +1 -1
  164. package/dist/{qmd-manager-B-qeywfQ.js → qmd-manager-CVcPfkhL.js} +19 -19
  165. package/dist/{qr-cli-CSt5ihwG.js → qr-cli-D2Oh8f0U.js} +1 -1
  166. package/dist/{query-expansion-Clts_AGz.js → query-expansion-i5I3yavb.js} +12 -12
  167. package/dist/{redact-snapshot-Cc8Brktr.js → redact-snapshot-K5EFkIbD.js} +14 -0
  168. package/dist/{redact-snapshot-BBNDQZIe.js → redact-snapshot-KMo22a85.js} +15 -1
  169. package/dist/{register.agent-HWcFMr6h.js → register.agent-CDcuj79y.js} +95 -95
  170. package/dist/register.configure-CxwdWRSG.js +168 -0
  171. package/dist/{register.maintenance-BYiX9iOa.js → register.maintenance-BcFR1fGQ.js} +5 -5
  172. package/dist/{register.maintenance-C6o2WuQx.js → register.maintenance-wv8PzmVy.js} +90 -90
  173. package/dist/{register.message-BewFLd-k.js → register.message-DUAiI9J7.js} +71 -71
  174. package/dist/{register.onboard-BVm-2XAx.js → register.onboard-BMNBXD29.js} +2 -2
  175. package/dist/{register.onboard-a0kqiCTa.js → register.onboard-F09brfSb.js} +18 -18
  176. package/dist/{register.orchestrator-anton-BYyjV8R-.js → register.orchestrator-anton-CGhKIDjJ.js} +14 -14
  177. package/dist/{register.setup-BJ0WBUpt.js → register.setup-DqbGSLoJ.js} +2 -2
  178. package/dist/{register.setup-BwPJaqpH.js → register.setup-jzek547p.js} +21 -21
  179. package/dist/{register.status-health-sessions-Clzt8hbv.js → register.status-health-sessions-ByfydR_f.js} +82 -82
  180. package/dist/{register.subclis-CrcOefJY.js → register.subclis-CuNL7Zgu.js} +3 -3
  181. package/dist/{replies-hSFVxL4h.js → replies-Czp4hvpS.js} +1 -1
  182. package/dist/{reply-D5gCiiGr.js → reply-CdFdL9nL.js} +153 -153
  183. package/dist/{reply-prefix-C3y4zpTl.js → reply-prefix-BMEdvSpA.js} +1 -1
  184. package/dist/{resolve-route-D_AbcmD6.js → resolve-route-Ef_Yt2Dw.js} +2 -2
  185. package/dist/{rpc-Cf9OK5Yk.js → rpc-CNqnw2FL.js} +1 -1
  186. package/dist/{run-main-BCX3UZMR.js → run-main-9A7FdIR1.js} +5 -5
  187. package/dist/{runner-DzszLzI4.js → runner-BFG54hnb.js} +20 -20
  188. package/dist/{runner-DjDddZhb.js → runner-BkCU-kqs.js} +1 -1
  189. package/dist/{runner-CZW_eyf2.js → runner-Bv_BA3vd.js} +1 -1
  190. package/dist/{runtime-XmXLaHNk.js → runtime-DEmy759r.js} +2 -2
  191. package/dist/{sandbox-DcUw5h3p.js → sandbox-CfPbhDY_.js} +20 -20
  192. package/dist/{sandbox-cli-DGvJ7Eeq.js → sandbox-cli-B4wLJr21.js} +22 -22
  193. package/dist/{secrets-cli-CR3h2TBy.js → secrets-cli-DP718vNZ.js} +9 -9
  194. package/dist/{security-cli-B9_LV2po.js → security-cli-CG2_SV7b.js} +39 -39
  195. package/dist/{send-C4v0Leny.js → send-BCPkAE2k.js} +6 -6
  196. package/dist/{send-DuwdEkLw.js → send-BPwTl4-K.js} +4 -4
  197. package/dist/{send-DQiw_nGD.js → send-CEavqqEz.js} +6 -6
  198. package/dist/{send-DwdHiC7_.js → send-CVIXqubC.js} +13 -13
  199. package/dist/{send--lzpNy4f.js → send-DDMaLJAQ.js} +7 -7
  200. package/dist/{server-D6MltJIF.js → server-BpSbZAwg.js} +14 -14
  201. package/dist/{server-context-DI0W_H7R.js → server-context-BxNSTpH6.js} +10 -10
  202. package/dist/{server-lifecycle-B5PlrlbG.js → server-lifecycle-CGKrGrhM.js} +2 -2
  203. package/dist/{server-node-events-DvStFPGi.js → server-node-events-BSPxvn7O.js} +71 -71
  204. package/dist/{service-C8NMS3m_.js → service-Bj2oSfpw.js} +15 -15
  205. package/dist/{session-CdnrRhb4.js → session-BKVySI8q.js} +1 -1
  206. package/dist/{sessions-BtPXimXQ.js → sessions-BqWocozB.js} +14 -14
  207. package/dist/{shared-CpDPo3hJ.js → shared-DnQ4iyXk.js} +2 -2
  208. package/dist/{shared-DpLSpJIl.js → shared-Jzrx8DfN.js} +1 -1
  209. package/dist/{skill-commands-BFzmZAfo.js → skill-commands-BwIRWSCI.js} +5 -5
  210. package/dist/{skill-scanner-D7mzXRXd.js → skill-scanner-B4Ftsbd2.js} +5 -5
  211. package/dist/{skills-DlvDyK8L.js → skills-TIyQDZx7.js} +3 -3
  212. package/dist/{skills-cli-BhKGhjbO.js → skills-cli-5lbXi4Lh.js} +5 -5
  213. package/dist/{skills-install-tr6wRWZj.js → skills-install-D0JHP5uM.js} +4 -4
  214. package/dist/{skills-status-qjQ8XP0h.js → skills-status-Q9skQExW.js} +1 -1
  215. package/dist/{status-CWnPokQF.js → status-YWasgjym.js} +24 -24
  216. package/dist/{status.update-CTi6vuWj.js → status.update-C3uRz7W6.js} +2 -2
  217. package/dist/{store-kH9wHHbO.js → store-CLNuI8-G.js} +5 -5
  218. package/dist/{system-cli-DyVZ5udc.js → system-cli-BfjZ6QvH.js} +8 -8
  219. package/dist/{system-run-approval-context-CISBXlNw.js → system-run-approval-context-xZVoE4nS.js} +1 -1
  220. package/dist/{system-run-command-qJdgzxLp.js → system-run-command-BIhrK3OI.js} +1 -1
  221. package/dist/{systemd-CaCR5CyM.js → systemd-DyrVLTI0.js} +9 -9
  222. package/dist/{systemd-hints-DHu-HVFx.js → systemd-hints-BoKKzRI_.js} +6 -6
  223. package/dist/{systemd-linger-B7XlUHk_.js → systemd-linger-DrhGd61G.js} +1 -1
  224. package/dist/{tables-g9xkflht.js → tables-CZSD889r.js} +1 -1
  225. package/dist/{target-errors-bLIVFsbF.js → target-errors-BYuWhuLU.js} +4 -4
  226. package/dist/{tool-images-CHqepyF_.js → tool-images-DZHrc4pq.js} +1 -1
  227. package/dist/{tui-Bne3YNiw.js → tui-B2bAseIB.js} +6 -6
  228. package/dist/{tui-cli-D0Z-rcUe.js → tui-cli-cewAjqAk.js} +30 -30
  229. package/dist/{update-cli-CxZD0ekr.js → update-cli-Cxp_mYOH.js} +5 -5
  230. package/dist/{update-cli-BTNcddEX.js → update-cli-D7gDHoEE.js} +99 -99
  231. package/dist/{update-D79ppbMQ.js → update-la2AdLf3.js} +3 -3
  232. package/dist/{update-runner-CN7Dm9tg.js → update-runner-DRglQgXe.js} +15 -15
  233. package/dist/{upgrade-command-909a7QUc.js → upgrade-command-28wRHZZ2.js} +3 -3
  234. package/dist/{web-t3fXJTeB.js → web-BuIXrrsp.js} +8 -8
  235. package/dist/{web-DiqHxfw7.js → web-BxegDO-S.js} +8 -8
  236. package/dist/web-DESq0zCM.js +123 -0
  237. package/dist/{webhooks-cli-2N03q0iY.js → webhooks-cli-BnmVPYkU.js} +6 -6
  238. package/dist/{whatsapp-actions-Cms8wQM1.js → whatsapp-actions-D2mBFzmK.js} +18 -18
  239. package/dist/{with-timeout-DEdycYxq.js → with-timeout-BodPmGCY.js} +3 -3
  240. package/dist/{workspace-D3pARwoB.js → workspace-CDw87aZG.js} +1 -1
  241. package/dist/{workspace-dirs-SsExQ3Bz.js → workspace-dirs-D3bousoX.js} +1 -1
  242. package/dist/{wsl-BJW8nTyL.js → wsl-CgXDjE09.js} +2 -2
  243. package/extensions/acpx/package.json +1 -1
  244. package/extensions/bluebubbles/package.json +1 -1
  245. package/extensions/copilot-proxy/package.json +1 -1
  246. package/extensions/diagnostics-otel/package.json +1 -1
  247. package/extensions/discord/package.json +1 -1
  248. package/extensions/feishu/package.json +1 -1
  249. package/extensions/google-gemini-cli-auth/package.json +1 -1
  250. package/extensions/googlechat/package.json +1 -1
  251. package/extensions/hand/package.json +1 -1
  252. package/extensions/imessage/package.json +1 -1
  253. package/extensions/irc/package.json +1 -1
  254. package/extensions/line/package.json +1 -1
  255. package/extensions/llm-task/package.json +1 -1
  256. package/extensions/matrix/CHANGELOG.md +6 -0
  257. package/extensions/matrix/package.json +1 -1
  258. package/extensions/mattermost/package.json +1 -1
  259. package/extensions/memory-core/package.json +1 -1
  260. package/extensions/memory-lancedb/package.json +1 -1
  261. package/extensions/minimax-portal-auth/package.json +1 -1
  262. package/extensions/msteams/CHANGELOG.md +6 -0
  263. package/extensions/msteams/package.json +1 -1
  264. package/extensions/nextcloud-talk/package.json +1 -1
  265. package/extensions/nostr/CHANGELOG.md +6 -0
  266. package/extensions/nostr/package.json +1 -1
  267. package/extensions/open-prose/package.json +1 -1
  268. package/extensions/signal/package.json +1 -1
  269. package/extensions/slack/package.json +1 -1
  270. package/extensions/synology-chat/package.json +1 -1
  271. package/extensions/telegram/package.json +1 -1
  272. package/extensions/tlon/package.json +1 -1
  273. package/extensions/twitch/CHANGELOG.md +6 -0
  274. package/extensions/twitch/package.json +1 -1
  275. package/extensions/voice-call/CHANGELOG.md +6 -0
  276. package/extensions/voice-call/package.json +1 -1
  277. package/extensions/whatsapp/package.json +1 -1
  278. package/extensions/zalo/CHANGELOG.md +6 -0
  279. package/extensions/zalo/package.json +1 -1
  280. package/extensions/zalouser/CHANGELOG.md +6 -0
  281. package/extensions/zalouser/package.json +1 -1
  282. package/package.json +1 -1
  283. package/dist/register.configure-k8gocsJw.js +0 -168
  284. package/dist/web-BV-BEZj6.js +0 -123
@@ -1,5 +1,5 @@
1
1
  import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES } from "./message-channel-DVauVtrg.js";
2
- import { n as callGateway } from "./call-BpWhjuOg.js";
2
+ import { n as callGateway } from "./call-Du-oBD99.js";
3
3
  import { n as withProgress } from "./progress-BQLz1r3L.js";
4
4
 
5
5
  //#region src/cli/gateway-rpc.ts
@@ -1,26 +1,26 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { B as theme, k as info, l as escapeRegExp, z as isRich } from "./utils-CXzXXV2o.js";
3
- import { Bn as buildOutboundSessionContext, Dr as requestHeartbeatNow, Ft as resolveHeartbeatDeliveryTarget, It as resolveHeartbeatSenderContext, Or as setHeartbeatWakeHandler, Tr as peekSystemEventEntries, _r as DEFAULT_HEARTBEAT_EVERY, br as stripHeartbeatToken, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, hr as CommandLane, kr as resolveHeartbeatReasonKind, lr as getQueueSize, qn as resolveUserTimezone, r as appendCronStyleCurrentTimeLine, t as getReplyFromConfig, vr as isHeartbeatContentEffectivelyEmpty, yr as resolveHeartbeatPrompt$1 } from "./reply-D5gCiiGr.js";
4
- import { d as resolveDefaultAgentId, i as resolveAgentConfig, u as resolveAgentWorkspaceDir, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-RA0zXRpu.js";
3
+ import { Bn as buildOutboundSessionContext, Dr as requestHeartbeatNow, Ft as resolveHeartbeatDeliveryTarget, It as resolveHeartbeatSenderContext, Or as setHeartbeatWakeHandler, Tr as peekSystemEventEntries, _r as DEFAULT_HEARTBEAT_EVERY, br as stripHeartbeatToken, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, hr as CommandLane, kr as resolveHeartbeatReasonKind, lr as getQueueSize, qn as resolveUserTimezone, r as appendCronStyleCurrentTimeLine, t as getReplyFromConfig, vr as isHeartbeatContentEffectivelyEmpty, yr as resolveHeartbeatPrompt$1 } from "./reply-CdFdL9nL.js";
4
+ import { d as resolveDefaultAgentId, i as resolveAgentConfig, u as resolveAgentWorkspaceDir, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-Bn39ugK4.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
6
6
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
7
7
  import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as normalizeAgentId } from "./session-key-Cuihcz_O.js";
8
- import { It as loadConfig, cn as parseDurationMs } from "./model-selection-0dGxYGp8.js";
8
+ import { It as loadConfig, cn as parseDurationMs } from "./model-selection-CSn9tUuH.js";
9
9
  import { t as isTruthyEnvValue } from "./env-Bx-F45X5.js";
10
10
  import { i as hasErrnoCode, n as formatErrorMessage } from "./errors-DZDuPc3M.js";
11
- import { Q as resolveAgentMainSessionKey, Z as canonicalizeMainSessionAlias, c as loadSessionStore, g as updateSessionStore, p as saveSessionStore } from "./sessions-BtPXimXQ.js";
12
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-D46VZh7u.js";
13
- import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-B59Q7nsk.js";
11
+ import { Q as resolveAgentMainSessionKey, Z as canonicalizeMainSessionAlias, c as loadSessionStore, g as updateSessionStore, p as saveSessionStore } from "./sessions-BqWocozB.js";
12
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-B4hASNc2.js";
13
+ import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-DZjkLUU_.js";
14
14
  import { i as resolveSessionFilePath, u as resolveStorePath } from "./paths-DRz46q00.js";
15
15
  import { t as HEARTBEAT_TOKEN } from "./tokens-Dg-QZ_pN.js";
16
- import { t as deliverOutboundPayloads } from "./deliver--kttnrER.js";
17
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BpWhjuOg.js";
18
- import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-C3y4zpTl.js";
16
+ import { t as deliverOutboundPayloads } from "./deliver-yTpXc5sv.js";
17
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-Du-oBD99.js";
18
+ import { o as resolveEffectiveMessagesConfig } from "./reply-prefix-BMEdvSpA.js";
19
19
  import { n as withProgress } from "./progress-BQLz1r3L.js";
20
20
  import { a as resolveIndicatorType, n as emitHeartbeatEvent, o as resolveHeartbeatReplyPayload, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-CVWq9u04.js";
21
21
  import { t as resolveChannelDefaultAccountId } from "./helpers-C6eW1WGZ.js";
22
22
  import path from "node:path";
23
- import fs from "node:fs/promises";
23
+ import fsPromises from "node:fs/promises";
24
24
 
25
25
  //#region src/infra/heartbeat-active-hours.ts
26
26
  const ACTIVE_HOURS_TIME_PATTERN = /^(?:([01]\d|2[0-3]):([0-5]\d)|24:00)$/;
@@ -314,7 +314,7 @@ async function pruneHeartbeatTranscript(params) {
314
314
  const { transcriptPath, preHeartbeatSize } = params;
315
315
  if (!transcriptPath || typeof preHeartbeatSize !== "number" || preHeartbeatSize < 0) return;
316
316
  try {
317
- if ((await fs.stat(transcriptPath)).size > preHeartbeatSize) await fs.truncate(transcriptPath, preHeartbeatSize);
317
+ if ((await fsPromises.stat(transcriptPath)).size > preHeartbeatSize) await fsPromises.truncate(transcriptPath, preHeartbeatSize);
318
318
  } catch {}
319
319
  }
320
320
  /**
@@ -332,7 +332,7 @@ async function captureTranscriptState(params) {
332
332
  });
333
333
  return {
334
334
  transcriptPath,
335
- preHeartbeatSize: (await fs.stat(transcriptPath)).size
335
+ preHeartbeatSize: (await fsPromises.stat(transcriptPath)).size
336
336
  };
337
337
  } catch {
338
338
  return {};
@@ -389,7 +389,7 @@ async function resolveHeartbeatPreflight(params) {
389
389
  const workspaceDir = resolveAgentWorkspaceDir(params.cfg, params.agentId);
390
390
  const heartbeatFilePath = path.join(workspaceDir, DEFAULT_HEARTBEAT_FILENAME);
391
391
  try {
392
- if (isHeartbeatContentEffectivelyEmpty(await fs.readFile(heartbeatFilePath, "utf-8"))) return {
392
+ if (isHeartbeatContentEffectivelyEmpty(await fsPromises.readFile(heartbeatFilePath, "utf-8"))) return {
393
393
  ...basePreflight,
394
394
  skipReason: "empty-heartbeat-file"
395
395
  };
@@ -1,13 +1,13 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import { B as theme, S as shortenHomePath, t as CONFIG_DIR, y as resolveUserPath } from "./utils-CXzXXV2o.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-D5gCiiGr.js";
5
- import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
4
+ import "./reply-CdFdL9nL.js";
5
+ import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
6
6
  import "./subsystem-CGZX2PBV.js";
7
7
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
8
- import "./idlehands-root-B8cUs-5M.js";
8
+ import "./idlehands-root-DFL2GrNW.js";
9
9
  import "./exec-CKHMT0tZ.js";
10
- import { Ht as writeConfigFile, It as loadConfig } from "./model-selection-0dGxYGp8.js";
10
+ import { Ht as writeConfigFile, It as loadConfig } from "./model-selection-CSn9tUuH.js";
11
11
  import "./github-copilot-token-D7lpquOO.js";
12
12
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
13
13
  import "./boolean-BsqeuxE6.js";
@@ -15,118 +15,118 @@ import "./env-Bx-F45X5.js";
15
15
  import "./host-env-security-DkAVVuaw.js";
16
16
  import "./env-vars-sTMVGyld.js";
17
17
  import { n as isPathInside, r as isPathInsideWithRealpath } from "./scan-paths-DE00o1Lk.js";
18
- import "./manifest-registry-Bak1x76G.js";
18
+ import "./manifest-registry-RfRn8HJx.js";
19
19
  import { n as MANIFEST_KEY } from "./legacy-names-DB161qHh.js";
20
- import "./dock-Y96MzKuM.js";
20
+ import "./dock-CzF5XYGd.js";
21
21
  import "./message-channel-DVauVtrg.js";
22
- import "./send-DwdHiC7_.js";
23
- import "./runner-DzszLzI4.js";
24
- import "./image-DSDEbSiO.js";
25
- import "./models-config-C5A1wDWh.js";
26
- import "./pi-model-discovery-BIP3RjXl.js";
27
- import "./pi-embedded-helpers-BCsfqpDt.js";
28
- import "./sandbox-DcUw5h3p.js";
22
+ import "./send-CVIXqubC.js";
23
+ import "./runner-BFG54hnb.js";
24
+ import "./image-C2JZiK-6.js";
25
+ import "./models-config-lQpqp472.js";
26
+ import "./pi-model-discovery-Bt79ifyi.js";
27
+ import "./pi-embedded-helpers-BkzrQ5bZ.js";
28
+ import "./sandbox-CfPbhDY_.js";
29
29
  import "./tool-catalog-4_Wxc542.js";
30
- import "./chrome-VBsQfIrt.js";
30
+ import "./chrome-YguTEaLx.js";
31
31
  import { u as promptYesNo } from "./tailscale-B5Irc_Bi.js";
32
32
  import "./ip-DJ5wsTQn.js";
33
33
  import "./tailnet-C9lH_YnG.js";
34
34
  import "./ws-XBTtYpJc.js";
35
35
  import "./auth-heRVBxh2.js";
36
- import "./server-context-DI0W_H7R.js";
36
+ import "./server-context-BxNSTpH6.js";
37
37
  import "./frontmatter-D-sQ_Hqk.js";
38
- import "./skills-DlvDyK8L.js";
39
- import "./path-alias-guards-FXBVVTLw.js";
40
- import "./paths-B-CLQ5RT.js";
38
+ import "./skills-TIyQDZx7.js";
39
+ import "./path-alias-guards-BCskHdfJ.js";
40
+ import "./paths-Bt0fZexW.js";
41
41
  import "./redact-B_4KNlXs.js";
42
42
  import "./errors-DZDuPc3M.js";
43
- import "./fs-safe-_JQUGpZf.js";
43
+ import "./fs-safe-DNFrxDS-.js";
44
44
  import "./ssrf-Dw9zzKSM.js";
45
- import "./image-ops-BU-VdLZu.js";
46
- import "./store-kH9wHHbO.js";
47
- import "./ports-SQy1d-RL.js";
45
+ import "./image-ops-BkoEFRYH.js";
46
+ import "./store-CLNuI8-G.js";
47
+ import "./ports-DWJO5S52.js";
48
48
  import "./trash-CUFiyQN5.js";
49
49
  import "./server-middleware-BC21xYvr.js";
50
- import "./sessions-BtPXimXQ.js";
51
- import "./plugins-D46VZh7u.js";
52
- import "./accounts-DLTODa_Z.js";
53
- import "./accounts-3HS_UAhJ.js";
54
- import "./accounts-DgbTKQoW.js";
55
- import "./bindings-B59Q7nsk.js";
50
+ import "./sessions-BqWocozB.js";
51
+ import "./plugins-B4hASNc2.js";
52
+ import "./accounts-D-hQsUw-.js";
53
+ import "./accounts-DsVN0UNw.js";
54
+ import "./accounts-D87a1Y_K.js";
55
+ import "./bindings-DZjkLUU_.js";
56
56
  import "./logging-q4KyMmY-.js";
57
- import "./auth-store-DDzIMy8_.js";
58
- import "./send-DuwdEkLw.js";
57
+ import "./auth-store-CMyrmmSF.js";
58
+ import "./send-BPwTl4-K.js";
59
59
  import "./paths-DRz46q00.js";
60
60
  import "./chat-envelope-Bebo3vwl.js";
61
- import "./tool-images-CHqepyF_.js";
61
+ import "./tool-images-DZHrc4pq.js";
62
62
  import "./tool-display-Dac7lHGW.js";
63
63
  import "./fetch-guard-yUZu1Vzc.js";
64
- import "./api-key-rotation-B-FTJm5p.js";
65
- import "./local-roots-q0xbefkf.js";
66
- import "./model-catalog-D9no0CH2.js";
64
+ import "./api-key-rotation-nXQVJErE.js";
65
+ import "./local-roots-Cco87A2_.js";
66
+ import "./model-catalog-BCsDrrvq.js";
67
67
  import "./tokens-Dg-QZ_pN.js";
68
- import "./deliver--kttnrER.js";
69
- import "./commands-Dj5LalLo.js";
70
- import "./commands-registry-CURlRZQJ.js";
71
- import "./client-DtnD-ee9.js";
72
- import "./call-BpWhjuOg.js";
73
- import "./pairing-token-lKXTMQ_M.js";
68
+ import "./deliver-yTpXc5sv.js";
69
+ import "./commands-D3BU_t7G.js";
70
+ import "./commands-registry-Cj4D_1tw.js";
71
+ import "./client-Dl5EAvfO.js";
72
+ import "./call-Du-oBD99.js";
73
+ import "./pairing-token-3hoCgQqp.js";
74
74
  import "./fetch-CYe1ekSh.js";
75
75
  import "./retry-Db05aSB8.js";
76
- import "./pairing-store-CPpEEQJO.js";
76
+ import "./pairing-store-qvpPoWL_.js";
77
77
  import "./exec-approvals-C2s2dPha.js";
78
- import "./exec-approvals-allowlist-Co2tJSEo.js";
79
- import "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
80
- import "./nodes-screen-CcpPaFxa.js";
81
- import "./target-errors-bLIVFsbF.js";
78
+ import "./exec-approvals-allowlist-8AkOwwIr.js";
79
+ import "./exec-safe-bin-runtime-policy-DYXuBKqH.js";
80
+ import "./nodes-screen-CIAn0wXq.js";
81
+ import "./target-errors-BYuWhuLU.js";
82
82
  import "./diagnostic-session-state-CJHdRyOy.js";
83
- import "./with-timeout-DEdycYxq.js";
83
+ import "./with-timeout-BodPmGCY.js";
84
84
  import "./diagnostic-ByHpt6q8.js";
85
- import "./send--lzpNy4f.js";
86
- import "./model-C-icShH2.js";
87
- import "./reply-prefix-C3y4zpTl.js";
88
- import "./memory-cli-CUGwnVIY.js";
89
- import "./manager-BMAFgXyU.js";
90
- import "./query-expansion-Clts_AGz.js";
85
+ import "./send-DDMaLJAQ.js";
86
+ import "./model-Bd-05WpB.js";
87
+ import "./reply-prefix-BMEdvSpA.js";
88
+ import "./memory-cli-4wfelGdK.js";
89
+ import "./manager-BBeTPO2h.js";
90
+ import "./query-expansion-i5I3yavb.js";
91
91
  import "./chunk-ClMFHJu-.js";
92
- import "./markdown-tables-DZClqsNo.js";
93
- import "./ir-VncGpwA1.js";
92
+ import "./markdown-tables-C5hTDqNm.js";
93
+ import "./ir-DV0Hszc8.js";
94
94
  import "./render-DC4qnRqG.js";
95
- import "./pi-tools.policy-DfITIKZj.js";
95
+ import "./pi-tools.policy-B_ME3yF6.js";
96
96
  import "./channel-activity-DaCsrdWK.js";
97
- import "./tables-g9xkflht.js";
98
- import "./send-C4v0Leny.js";
97
+ import "./tables-CZSD889r.js";
98
+ import "./send-BCPkAE2k.js";
99
99
  import "./proxy-yk1Oqe9p.js";
100
100
  import { t as formatDocsLink } from "./links-15764jZB.js";
101
101
  import "./cli-utils-CH2y4E2f.js";
102
102
  import "./help-format-CMAqOikG.js";
103
103
  import "./progress-BQLz1r3L.js";
104
- import "./resolve-route-D_AbcmD6.js";
105
- import "./replies-hSFVxL4h.js";
106
- import "./skill-commands-BFzmZAfo.js";
107
- import "./workspace-dirs-SsExQ3Bz.js";
108
- import "./deps-CwPrf7RC.js";
109
- import "./plugin-auto-enable-7DUxMy6A.js";
110
- import "./channel-selection-ZxRkxpuF.js";
111
- import "./outbound-attachment-Bot3bRnK.js";
104
+ import "./resolve-route-Ef_Yt2Dw.js";
105
+ import "./replies-Czp4hvpS.js";
106
+ import "./skill-commands-BwIRWSCI.js";
107
+ import "./workspace-dirs-D3bousoX.js";
108
+ import "./deps-BotXja4Z.js";
109
+ import "./plugin-auto-enable-BMuSi4aV.js";
110
+ import "./channel-selection-3jUl-PyW.js";
111
+ import "./outbound-attachment-jYdMgCml.js";
112
112
  import "./delivery-queue-BvDRo8CK.js";
113
113
  import "./session-cost-usage-DS1rjzML.js";
114
- import "./send-DQiw_nGD.js";
115
- import "./onboard-helpers-mzy38DiC.js";
114
+ import "./send-CEavqqEz.js";
115
+ import "./onboard-helpers-CdzbIhrm.js";
116
116
  import "./prompt-style-kmKiCZnm.js";
117
- import "./pairing-labels-ChQJzbS9.js";
118
- import "./server-lifecycle-B5PlrlbG.js";
117
+ import "./pairing-labels-DuZ7ih-T.js";
118
+ import "./server-lifecycle-CGKrGrhM.js";
119
119
  import "./stagger-rQoQSWkz.js";
120
- import "./system-run-command-qJdgzxLp.js";
121
- import { c as resolveArchiveKind, i as unscopedPackageName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-ChNR9pl6.js";
122
- 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";
120
+ import "./system-run-command-BIhrK3OI.js";
121
+ import { c as resolveArchiveKind, i as unscopedPackageName, o as fileExists, s as readJsonFile, t as resolveSafeInstallDir } from "./install-safe-path-CNNMzJl9.js";
122
+ 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";
123
123
  import { t as renderTable } from "./table-B9AmL3M1.js";
124
- import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-D3pARwoB.js";
125
- import { t as buildWorkspaceHookStatus } from "./hooks-status-DNGo2G8Q.js";
126
- import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-DLSA4PTO.js";
124
+ import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-CDw87aZG.js";
125
+ import { t as buildWorkspaceHookStatus } from "./hooks-status-CPIWc_bx.js";
126
+ import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-By6en78P.js";
127
127
  import fs from "node:fs";
128
128
  import path from "node:path";
129
- import fs$1 from "node:fs/promises";
129
+ import fsPromises from "node:fs/promises";
130
130
 
131
131
  //#region src/hooks/install.ts
132
132
  const defaultLogger = {};
@@ -157,7 +157,7 @@ async function ensureIdleHandsHooks(manifest) {
157
157
  }
158
158
  async function resolveInstallTargetDir(id, hooksDir) {
159
159
  const baseHooksDir = hooksDir ? resolveUserPath(hooksDir) : path.join(CONFIG_DIR, "hooks");
160
- await fs$1.mkdir(baseHooksDir, { recursive: true });
160
+ await fsPromises.mkdir(baseHooksDir, { recursive: true });
161
161
  const targetDirResult = resolveSafeInstallDir({
162
162
  baseDir: baseHooksDir,
163
163
  id,
@@ -175,7 +175,7 @@ async function resolveInstallTargetDir(id, hooksDir) {
175
175
  async function resolveHookNameFromDir(hookDir) {
176
176
  const hookMdPath = path.join(hookDir, "HOOK.md");
177
177
  if (!await fileExists(hookMdPath)) throw new Error(`HOOK.md missing in ${hookDir}`);
178
- return parseFrontmatter(await fs$1.readFile(hookMdPath, "utf-8")).name || path.basename(hookDir);
178
+ return parseFrontmatter(await fsPromises.readFile(hookMdPath, "utf-8")).name || path.basename(hookDir);
179
179
  }
180
180
  async function validateHookDir(hookDir) {
181
181
  if (!await fileExists(path.join(hookDir, "HOOK.md"))) throw new Error(`HOOK.md missing in ${hookDir}`);
@@ -308,24 +308,24 @@ async function installHookFromDir(params) {
308
308
  let backupDir = null;
309
309
  if (mode === "update" && await fileExists(targetDir)) {
310
310
  backupDir = `${targetDir}.backup-${Date.now()}`;
311
- await fs$1.rename(targetDir, backupDir);
311
+ await fsPromises.rename(targetDir, backupDir);
312
312
  }
313
313
  try {
314
- await fs$1.cp(params.hookDir, targetDir, { recursive: true });
314
+ await fsPromises.cp(params.hookDir, targetDir, { recursive: true });
315
315
  } catch (err) {
316
316
  if (backupDir) {
317
- await fs$1.rm(targetDir, {
317
+ await fsPromises.rm(targetDir, {
318
318
  recursive: true,
319
319
  force: true
320
320
  }).catch(() => void 0);
321
- await fs$1.rename(backupDir, targetDir).catch(() => void 0);
321
+ await fsPromises.rename(backupDir, targetDir).catch(() => void 0);
322
322
  }
323
323
  return {
324
324
  ok: false,
325
325
  error: `failed to copy hook: ${String(err)}`
326
326
  };
327
327
  }
328
- if (backupDir) await fs$1.rm(backupDir, {
328
+ if (backupDir) await fsPromises.rm(backupDir, {
329
329
  recursive: true,
330
330
  force: true
331
331
  }).catch(() => void 0);
@@ -555,7 +555,7 @@ function logIntegrityDriftWarning(hookId, drift) {
555
555
  }
556
556
  async function readInstalledPackageVersion(dir) {
557
557
  try {
558
- const raw = await fs$1.readFile(path.join(dir, "package.json"), "utf-8");
558
+ const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
559
559
  const parsed = JSON.parse(raw);
560
560
  return typeof parsed.version === "string" ? parsed.version : void 0;
561
561
  } catch {
@@ -1,7 +1,7 @@
1
1
  import { t as CONFIG_DIR } from "./utils-CXzXXV2o.js";
2
2
  import { d as hasBinary } from "./frontmatter-D-sQ_Hqk.js";
3
3
  import { t as evaluateEntryRequirementsForCurrentPlatform } from "./entry-status-BKwPdF1n.js";
4
- import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-D3pARwoB.js";
4
+ import { n as isConfigPathTruthy, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CDw87aZG.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/hooks/hooks-status.ts
@@ -2,7 +2,7 @@ import { fileURLToPath } from "node:url";
2
2
  import fs from "node:fs";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
- import fs$1 from "node:fs/promises";
5
+ import fsPromises from "node:fs/promises";
6
6
 
7
7
  //#region src/agents/skills/filter.ts
8
8
  function normalizeSkillFilter(skillFilter) {
@@ -166,7 +166,7 @@ async function resolveBoundaryPathLexicalAsync(params) {
166
166
  lexicalCursor = path.join(lexicalCursor, segment);
167
167
  let stat;
168
168
  try {
169
- stat = await fs$1.lstat(lexicalCursor);
169
+ stat = await fsPromises.lstat(lexicalCursor);
170
170
  } catch (error) {
171
171
  if (isNotFoundPathError(error)) {
172
172
  const missingSuffix = segments.slice(idx);
@@ -333,7 +333,7 @@ async function resolvePathViaExistingAncestor(targetPath) {
333
333
  }
334
334
  if (!await pathExists(cursor)) return normalized;
335
335
  try {
336
- const resolvedAncestor = path.resolve(await fs$1.realpath(cursor));
336
+ const resolvedAncestor = path.resolve(await fsPromises.realpath(cursor));
337
337
  if (missingSuffix.length === 0) return resolvedAncestor;
338
338
  return path.resolve(resolvedAncestor, ...missingSuffix);
339
339
  } catch {
@@ -363,7 +363,7 @@ async function getPathKind(absolutePath, preserveFinalSymlink) {
363
363
  try {
364
364
  return {
365
365
  exists: true,
366
- kind: toResolvedKind(preserveFinalSymlink ? await fs$1.lstat(absolutePath) : await fs$1.stat(absolutePath))
366
+ kind: toResolvedKind(preserveFinalSymlink ? await fsPromises.lstat(absolutePath) : await fsPromises.stat(absolutePath))
367
367
  };
368
368
  } catch (error) {
369
369
  if (isNotFoundPathError(error)) return {
@@ -419,7 +419,7 @@ function isFilesystemRoot(candidate) {
419
419
  }
420
420
  async function pathExists(targetPath) {
421
421
  try {
422
- await fs$1.lstat(targetPath);
422
+ await fsPromises.lstat(targetPath);
423
423
  return true;
424
424
  } catch (error) {
425
425
  if (isNotFoundPathError(error)) return false;
@@ -428,10 +428,10 @@ async function pathExists(targetPath) {
428
428
  }
429
429
  async function resolveSymlinkHopPath(symlinkPath) {
430
430
  try {
431
- return path.resolve(await fs$1.realpath(symlinkPath));
431
+ return path.resolve(await fsPromises.realpath(symlinkPath));
432
432
  } catch (error) {
433
433
  if (!isNotFoundPathError(error)) throw error;
434
- const linkTarget = await fs$1.readlink(symlinkPath);
434
+ const linkTarget = await fsPromises.readlink(symlinkPath);
435
435
  return resolvePathViaExistingAncestor(path.resolve(path.dirname(symlinkPath), linkTarget));
436
436
  }
437
437
  }
@@ -600,7 +600,7 @@ async function openBoundaryFile(params) {
600
600
  const CORE_PACKAGE_NAMES = new Set(["idlehands", "@visorcraft/idlehands"]);
601
601
  async function readPackageName(dir) {
602
602
  try {
603
- const raw = await fs$1.readFile(path.join(dir, "package.json"), "utf-8");
603
+ const raw = await fsPromises.readFile(path.join(dir, "package.json"), "utf-8");
604
604
  const parsed = JSON.parse(raw);
605
605
  return typeof parsed.name === "string" ? parsed.name : null;
606
606
  } catch {
@@ -3,7 +3,7 @@ import { G as resolveAgentModelPrimaryValue, W as resolveAgentModelFallbackValue
3
3
  import { _ as shortenHomeInString, c as isRecord } from "./utils-DWJR1fcE.js";
4
4
  import { C as requireApiKey, L as loadConfig, _ as resolveImplicitCopilotProvider, _n as normalizeSecretInput, fn as resolveIdleHandsAgentDir, g as normalizeProviders, v as resolveImplicitProviders, x as getApiKeyForModel } from "./model-selection-D3Jhcvg-.js";
5
5
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Dic-M5qw.js";
6
- import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-C2j0LfJC.js";
6
+ import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-Ct2rwp-P.js";
7
7
  import { n as redactToolDetail } from "./redact-DeLmHwQa.js";
8
8
  import path from "node:path";
9
9
  import fs from "node:fs/promises";
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { d as isRecord } from "./utils-CXzXXV2o.js";
3
- import { M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue } from "./agent-scope-RA0zXRpu.js";
4
- import { J as requireApiKey, K as getApiKeyForModel, Wr as normalizeSecretInput } from "./model-selection-0dGxYGp8.js";
5
- import { t as ensureIdleHandsModelsJson } from "./models-config-C5A1wDWh.js";
6
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-BIP3RjXl.js";
7
- import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-BCsfqpDt.js";
3
+ import { M as resolveAgentModelFallbackValues, N as resolveAgentModelPrimaryValue } from "./agent-scope-Bn39ugK4.js";
4
+ import { J as requireApiKey, K as getApiKeyForModel, Wr as normalizeSecretInput } from "./model-selection-CSn9tUuH.js";
5
+ import { t as ensureIdleHandsModelsJson } from "./models-config-lQpqp472.js";
6
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bt79ifyi.js";
7
+ import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-BkzrQ5bZ.js";
8
8
  import { n as resolveToolDisplay, t as formatToolDetail } from "./tool-display-Dac7lHGW.js";
9
9
  import { complete } from "@mariozechner/pi-ai";
10
10
 
@@ -3,7 +3,7 @@ import { h as resolveAgentModelPrimaryValue, m as resolveAgentModelFallbackValue
3
3
  import { _ as shortenHomeInString, c as isRecord } from "./utils-D9wGoiU9.js";
4
4
  import { R as loadConfig, S as getApiKeyForModel, _ as normalizeProviders, dn as resolveIdleHandsAgentDir, gn as normalizeSecretInput, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-C5hI1dum.js";
5
5
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Dlx4RLWo.js";
6
- import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-CUoUoEEN.js";
6
+ import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-B3ceCcxm.js";
7
7
  import { n as redactToolDetail } from "./redact-1Y0KPNtr.js";
8
8
  import fs from "node:fs/promises";
9
9
  import path from "node:path";
@@ -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) {