@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
@@ -3,12 +3,12 @@ import { y as resolveRequiredHomeDir } from "./paths-Cn44w-EB.js";
3
3
  import { m as normalizeE164 } from "./utils-CXzXXV2o.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
5
5
  import { c as normalizeMainKey, g as normalizeOptionalAccountId, l as resolveAgentIdFromSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-Cuihcz_O.js";
6
- import { It as loadConfig, Rr as resolveProcessScopedMap, cn as parseDurationMs, ln as parseByteSize, zr as isPidAlive } from "./model-selection-0dGxYGp8.js";
7
- import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-Y96MzKuM.js";
6
+ import { It as loadConfig, Rr as resolveProcessScopedMap, cn as parseDurationMs, ln as parseByteSize, zr as isPidAlive } from "./model-selection-CSn9tUuH.js";
7
+ import { c as normalizeHyphenSlug, t as getChannelDock } from "./dock-CzF5XYGd.js";
8
8
  import { c as listDeliverableMessageChannels, l as normalizeMessageChannel } from "./message-channel-DVauVtrg.js";
9
9
  import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
10
10
  import { n as resolveConversationLabel } from "./conversation-label-Onz2hiJh.js";
11
- import { r as normalizeChannelId } from "./plugins-D46VZh7u.js";
11
+ import { r as normalizeChannelId } from "./plugins-B4hASNc2.js";
12
12
  import { a as resolveSessionFilePathOptions, c as resolveSessionTranscriptsDir, d as validateSessionId, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, s as resolveSessionTranscriptPathInDir, t as SAFE_SESSION_ID_RE, u as resolveStorePath } from "./paths-DRz46q00.js";
13
13
  import { r as hasInterSessionUserProvenance } from "./input-provenance-CTnwu8Ge.js";
14
14
  import { n as stripMessageIdHints, o as extractToolCallNames, r as stripInboundMetadata, s as hasToolCall, t as stripEnvelope } from "./chat-envelope-Bebo3vwl.js";
@@ -16,7 +16,7 @@ import { t as emitSessionTranscriptUpdate } from "./transcript-events-DvLx8VNH.j
16
16
  import fs from "node:fs";
17
17
  import os from "node:os";
18
18
  import path from "node:path";
19
- import fs$1 from "node:fs/promises";
19
+ import fsPromises from "node:fs/promises";
20
20
  import crypto from "node:crypto";
21
21
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
22
22
 
@@ -82,7 +82,7 @@ async function releaseHeldLock(normalizedSessionFile, held, opts = {}) {
82
82
  await held.handle.close();
83
83
  } catch {}
84
84
  try {
85
- await fs$1.rm(held.lockPath, { force: true });
85
+ await fsPromises.rm(held.lockPath, { force: true });
86
86
  } catch {}
87
87
  })();
88
88
  try {
@@ -161,7 +161,7 @@ function registerCleanupHandlers() {
161
161
  }
162
162
  async function readLockPayload(lockPath) {
163
163
  try {
164
- const raw = await fs$1.readFile(lockPath, "utf8");
164
+ const raw = await fsPromises.readFile(lockPath, "utf8");
165
165
  const parsed = JSON.parse(raw);
166
166
  const payload = {};
167
167
  if (typeof parsed.pid === "number") payload.pid = parsed.pid;
@@ -198,7 +198,7 @@ async function shouldReclaimContendedLockFile(lockPath, details, staleMs, nowMs)
198
198
  if (!details.stale) return false;
199
199
  if (!lockInspectionNeedsMtimeStaleFallback(details)) return true;
200
200
  try {
201
- const stat = await fs$1.stat(lockPath);
201
+ const stat = await fsPromises.stat(lockPath);
202
202
  return Math.max(0, nowMs - stat.mtimeMs) > staleMs;
203
203
  } catch (error) {
204
204
  return error?.code !== "ENOENT";
@@ -211,7 +211,7 @@ async function cleanStaleLockFiles(params) {
211
211
  const nowMs = params.nowMs ?? Date.now();
212
212
  let entries = [];
213
213
  try {
214
- entries = await fs$1.readdir(sessionsDir, { withFileTypes: true });
214
+ entries = await fsPromises.readdir(sessionsDir, { withFileTypes: true });
215
215
  } catch (err) {
216
216
  if (err.code === "ENOENT") return {
217
217
  locks: [],
@@ -230,7 +230,7 @@ async function cleanStaleLockFiles(params) {
230
230
  removed: false
231
231
  };
232
232
  if (lockInfo.stale && removeStale) {
233
- await fs$1.rm(lockPath, { force: true });
233
+ await fsPromises.rm(lockPath, { force: true });
234
234
  lockInfo.removed = true;
235
235
  cleaned.push(lockInfo);
236
236
  params.log?.warn?.(`removed stale session lock: ${lockPath} (${lockInfo.staleReasons.join(", ") || "unknown"})`);
@@ -249,10 +249,10 @@ async function acquireSessionWriteLock(params) {
249
249
  const maxHoldMs = resolvePositiveMs(params.maxHoldMs, DEFAULT_MAX_HOLD_MS);
250
250
  const sessionFile = path.resolve(params.sessionFile);
251
251
  const sessionDir = path.dirname(sessionFile);
252
- await fs$1.mkdir(sessionDir, { recursive: true });
252
+ await fsPromises.mkdir(sessionDir, { recursive: true });
253
253
  let normalizedDir = sessionDir;
254
254
  try {
255
- normalizedDir = await fs$1.realpath(sessionDir);
255
+ normalizedDir = await fsPromises.realpath(sessionDir);
256
256
  } catch {}
257
257
  const normalizedSessionFile = path.join(normalizedDir, path.basename(sessionFile));
258
258
  const lockPath = `${normalizedSessionFile}.lock`;
@@ -270,7 +270,7 @@ async function acquireSessionWriteLock(params) {
270
270
  attempt += 1;
271
271
  let handle = null;
272
272
  try {
273
- handle = await fs$1.open(lockPath, "wx");
273
+ handle = await fsPromises.open(lockPath, "wx");
274
274
  const createdAt = (/* @__PURE__ */ new Date()).toISOString();
275
275
  await handle.writeFile(JSON.stringify({
276
276
  pid: process.pid,
@@ -293,14 +293,14 @@ async function acquireSessionWriteLock(params) {
293
293
  await handle.close();
294
294
  } catch {}
295
295
  try {
296
- await fs$1.rm(lockPath, { force: true });
296
+ await fsPromises.rm(lockPath, { force: true });
297
297
  } catch {}
298
298
  }
299
299
  if (err.code !== "EEXIST") throw err;
300
300
  const payload = await readLockPayload(lockPath);
301
301
  const nowMs = Date.now();
302
302
  if (await shouldReclaimContendedLockFile(lockPath, inspectLockPayload(payload, staleMs, nowMs), staleMs, nowMs)) {
303
- await fs$1.rm(lockPath, { force: true });
303
+ await fsPromises.rm(lockPath, { force: true });
304
304
  continue;
305
305
  }
306
306
  const delay = Math.min(1e3, 50 * attempt);
@@ -1,6 +1,6 @@
1
- import { P as toAgentModelListLike, r as listAgentIds } from "./agent-scope-RA0zXRpu.js";
1
+ import { P as toAgentModelListLike, r as listAgentIds } from "./agent-scope-Bn39ugK4.js";
2
2
  import { s as normalizeAgentId } from "./session-key-Cuihcz_O.js";
3
- import { $r as DEFAULT_PROVIDER, Ht as writeConfigFile, Rt as readConfigFileSnapshot, _ as resolveModelRefFromString, c as modelKey, r as buildModelAliasIndex } from "./model-selection-0dGxYGp8.js";
3
+ import { $r as DEFAULT_PROVIDER, Ht as writeConfigFile, Rt as readConfigFileSnapshot, _ as resolveModelRefFromString, c as modelKey, r as buildModelAliasIndex } from "./model-selection-CSn9tUuH.js";
4
4
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
5
5
 
6
6
  //#region src/commands/models/shared.ts
@@ -1,7 +1,7 @@
1
1
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
2
2
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
3
3
  import { f as resolveGatewaySystemdServiceName, l as resolveGatewayLaunchAgentLabel, p as resolveGatewayWindowsTaskName } from "./constants-Z_TnY4pX.js";
4
- import { t as resolveGatewayService } from "./service-C8NMS3m_.js";
4
+ import { t as resolveGatewayService } from "./service-Bj2oSfpw.js";
5
5
 
6
6
  //#region src/cli/gateway-cli/shared.ts
7
7
  const toOptionString = (value) => {
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_DIR, y as resolveUserPath } from "./utils-CXzXXV2o.js";
3
- import { r as listAgentIds, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
3
+ import { r as listAgentIds, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
5
- import { i as loadWorkspaceSkillEntries, n as buildWorkspaceSkillCommandSpecs, s as resolvePluginSkillDirs } from "./skills-DlvDyK8L.js";
6
- import { a as listChatCommands } from "./commands-registry-CURlRZQJ.js";
7
- import { a as resolvePairingPaths, c as readJsonFile, i as pruneExpiredPending, l as writeJsonAtomic, n as verifyPairingToken, o as upsertPendingPairingRequest, r as rejectPendingPairingRequest, s as createAsyncLock, t as generatePairingToken } from "./pairing-token-lKXTMQ_M.js";
8
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-SsExQ3Bz.js";
5
+ import { i as loadWorkspaceSkillEntries, n as buildWorkspaceSkillCommandSpecs, s as resolvePluginSkillDirs } from "./skills-TIyQDZx7.js";
6
+ import { a as listChatCommands } from "./commands-registry-Cj4D_1tw.js";
7
+ import { a as resolvePairingPaths, c as readJsonFile, i as pruneExpiredPending, l as writeJsonAtomic, n as verifyPairingToken, o as upsertPendingPairingRequest, r as rejectPendingPairingRequest, s as createAsyncLock, t as generatePairingToken } from "./pairing-token-3hoCgQqp.js";
8
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-D3bousoX.js";
9
9
  import fs from "node:fs";
10
10
  import os from "node:os";
11
11
  import path from "node:path";
@@ -1,7 +1,7 @@
1
1
  import { n as isPathInside } from "./scan-paths-DE00o1Lk.js";
2
2
  import { i as hasErrnoCode } from "./errors-DZDuPc3M.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs/promises";
4
+ import fsPromises from "node:fs/promises";
5
5
 
6
6
  //#region src/security/skill-scanner.ts
7
7
  const SCANNABLE_EXTENSIONS = new Set([
@@ -154,7 +154,7 @@ async function walkDirWithLimit(dirPath, maxFiles) {
154
154
  while (stack.length > 0 && files.length < maxFiles) {
155
155
  const currentDir = stack.pop();
156
156
  if (!currentDir) break;
157
- const entries = await fs.readdir(currentDir, { withFileTypes: true });
157
+ const entries = await fsPromises.readdir(currentDir, { withFileTypes: true });
158
158
  for (const entry of entries) {
159
159
  if (files.length >= maxFiles) break;
160
160
  if (entry.name.startsWith(".") || entry.name === "node_modules") continue;
@@ -176,7 +176,7 @@ async function resolveForcedFiles(params) {
176
176
  if (seen.has(includePath)) continue;
177
177
  let st = null;
178
178
  try {
179
- st = await fs.stat(includePath);
179
+ st = await fsPromises.stat(includePath);
180
180
  } catch (err) {
181
181
  if (hasErrnoCode(err, "ENOENT")) continue;
182
182
  throw err;
@@ -208,14 +208,14 @@ async function collectScannableFiles(dirPath, opts) {
208
208
  async function readScannableSource(filePath, maxFileBytes) {
209
209
  let st = null;
210
210
  try {
211
- st = await fs.stat(filePath);
211
+ st = await fsPromises.stat(filePath);
212
212
  } catch (err) {
213
213
  if (hasErrnoCode(err, "ENOENT")) return null;
214
214
  throw err;
215
215
  }
216
216
  if (!st?.isFile() || st.size > maxFileBytes) return null;
217
217
  try {
218
- return await fs.readFile(filePath, "utf-8");
218
+ return await fsPromises.readFile(filePath, "utf-8");
219
219
  } catch (err) {
220
220
  if (hasErrnoCode(err, "ENOENT")) return null;
221
221
  throw err;
@@ -1,10 +1,10 @@
1
1
  import { et as resolvePreferredIdleHandsTmpDir, t as CONFIG_DIR, y as resolveUserPath } from "./utils-CXzXXV2o.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
3
- import { f as isPathInside, h as normalizeSkillFilter, n as resolveIdleHandsPackageRootSync } from "./idlehands-root-B8cUs-5M.js";
3
+ import { f as isPathInside, h as normalizeSkillFilter, n as resolveIdleHandsPackageRootSync } from "./idlehands-root-DFL2GrNW.js";
4
4
  import { n as isDangerousHostEnvVarName } from "./host-env-security-DkAVVuaw.js";
5
- import { d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-Bak1x76G.js";
5
+ import { d as resolveEffectiveEnableState, f as resolveMemorySlotDecision, n as loadPluginManifestRegistry, u as normalizePluginsConfig } from "./manifest-registry-RfRn8HJx.js";
6
6
  import { a as resolveIdleHandsManifestBlock, c as resolveIdleHandsManifestRequires, d as hasBinary, f as isConfigPathTruthyWithDefaults, i as parseIdleHandsManifestInstallBase, l as parseFrontmatterBlock, n as normalizeStringList, o as resolveIdleHandsManifestInstall, r as parseFrontmatterBool, s as resolveIdleHandsManifestOs, t as getFrontmatterString, u as evaluateRuntimeEligibility } from "./frontmatter-D-sQ_Hqk.js";
7
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-FXBVVTLw.js";
7
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-BCskHdfJ.js";
8
8
  import { URL, fileURLToPath } from "node:url";
9
9
  import fs from "node:fs";
10
10
  import os from "node:os";
@@ -1,18 +1,18 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import { B as theme, S as shortenHomePath } from "./utils-CXzXXV2o.js";
3
- import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
3
+ import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
4
4
  import "./subsystem-CGZX2PBV.js";
5
5
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
6
- import "./idlehands-root-B8cUs-5M.js";
6
+ import "./idlehands-root-DFL2GrNW.js";
7
7
  import "./exec-CKHMT0tZ.js";
8
- import { It as loadConfig } from "./model-selection-0dGxYGp8.js";
8
+ import { It as loadConfig } from "./model-selection-CSn9tUuH.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 "./host-env-security-DkAVVuaw.js";
14
14
  import "./env-vars-sTMVGyld.js";
15
- import "./manifest-registry-Bak1x76G.js";
15
+ import "./manifest-registry-RfRn8HJx.js";
16
16
  import { t as formatDocsLink } from "./links-15764jZB.js";
17
17
  import { t as renderTable } from "./table-B9AmL3M1.js";
18
18
 
@@ -232,7 +232,7 @@ function formatSkillsCheck(report, opts) {
232
232
  async function loadSkillsStatusReport() {
233
233
  const config = loadConfig();
234
234
  const workspaceDir = resolveAgentWorkspaceDir(config, resolveDefaultAgentId(config));
235
- const { buildWorkspaceSkillStatus } = await import("./skills-status-qjQ8XP0h.js").then((n) => n.n);
235
+ const { buildWorkspaceSkillStatus } = await import("./skills-status-Q9skQExW.js").then((n) => n.n);
236
236
  return buildWorkspaceSkillStatus(workspaceDir, { config });
237
237
  }
238
238
  async function runSkillsAction(render) {
@@ -1,12 +1,12 @@
1
1
  import { c as ensureDir, g as resolveConfigDir, y as resolveUserPath } from "./utils-CXzXXV2o.js";
2
2
  import { t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
3
3
  import { d as hasBinary } from "./frontmatter-D-sQ_Hqk.js";
4
- import { i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, x as resolveSkillKey } from "./skills-DlvDyK8L.js";
4
+ import { i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, x as resolveSkillKey } from "./skills-TIyQDZx7.js";
5
5
  import { t as fetchWithSsrFGuard } from "./fetch-guard-yUZu1Vzc.js";
6
6
  import { t as resolveBrewExecutable } from "./brew-DJAghU-4.js";
7
- import { t as isWithinDir } from "./path-safety-DwibX65n.js";
8
- import { a as extractArchive$1, d as resolveArchiveOutputPath, f as stripArchivePath, p as validateArchiveEntryPath, r as safePathSegmentHashed, u as isWindowsDrivePath } from "./install-safe-path-ChNR9pl6.js";
9
- import { t as scanDirectoryWithSummary } from "./skill-scanner-D7mzXRXd.js";
7
+ import { t as isWithinDir } from "./path-safety-C1Y004P_.js";
8
+ import { a as extractArchive$1, d as resolveArchiveOutputPath, f as stripArchivePath, p as validateArchiveEntryPath, r as safePathSegmentHashed, u as isWindowsDrivePath } from "./install-safe-path-CNNMzJl9.js";
9
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-B4Ftsbd2.js";
10
10
  import fs from "node:fs";
11
11
  import path from "node:path";
12
12
  import { pipeline } from "node:stream/promises";
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as CONFIG_DIR } from "./utils-CXzXXV2o.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
4
4
  import { d as hasBinary } from "./frontmatter-D-sQ_Hqk.js";
5
- import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-DlvDyK8L.js";
5
+ import { _ as isBundledSkillAllowed, b as resolveSkillConfig, c as resolveBundledSkillsDir, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences, v as isConfigPathTruthy, y as resolveBundledAllowlist } from "./skills-TIyQDZx7.js";
6
6
  import { t as evaluateEntryRequirementsForCurrentPlatform } from "./entry-status-BKwPdF1n.js";
7
7
  import path from "node:path";
8
8
  import { loadSkillsFromDir } from "@mariozechner/pi-coding-agent";
@@ -1,44 +1,44 @@
1
1
  import { u as resolveGatewayPort } from "./paths-Cn44w-EB.js";
2
2
  import { B as theme, k as info, z as isRich } from "./utils-CXzXXV2o.js";
3
- import { D as resolveSessionModelRef, Er as peekSystemEvents, G as readRestartSentinel, K as summarizeRestartSentinel, Zt as resolveContextTokensForModel, b as classifySessionKey, bt as formatUsageReportLines, c as buildChannelSummary, l as buildChannelAccountSnapshot, u as formatChannelAllowFrom, x as listAgentsForGateway, yt as loadProviderUsageSummary } from "./reply-D5gCiiGr.js";
4
- import { u as resolveAgentWorkspaceDir } from "./agent-scope-RA0zXRpu.js";
3
+ import { D as resolveSessionModelRef, Er as peekSystemEvents, G as readRestartSentinel, K as summarizeRestartSentinel, Zt as resolveContextTokensForModel, b as classifySessionKey, bt as formatUsageReportLines, c as buildChannelSummary, l as buildChannelAccountSnapshot, u as formatChannelAllowFrom, x as listAgentsForGateway, yt as loadProviderUsageSummary } from "./reply-CdFdL9nL.js";
4
+ import { u as resolveAgentWorkspaceDir } from "./agent-scope-Bn39ugK4.js";
5
5
  import { w as parseAgentSessionKey } from "./session-key-Cuihcz_O.js";
6
- import { t as resolveIdleHandsPackageRoot } from "./idlehands-root-B8cUs-5M.js";
6
+ import { t as resolveIdleHandsPackageRoot } from "./idlehands-root-DFL2GrNW.js";
7
7
  import { n as runExec } from "./exec-CKHMT0tZ.js";
8
- import { $r as DEFAULT_PROVIDER, It as loadConfig, Qr as DEFAULT_MODEL, Rt as readConfigFileSnapshot, Zr as DEFAULT_CONTEXT_TOKENS, m as resolveConfiguredModelRef } from "./model-selection-0dGxYGp8.js";
8
+ import { $r as DEFAULT_PROVIDER, It as loadConfig, Qr as DEFAULT_MODEL, Rt as readConfigFileSnapshot, Zr as DEFAULT_CONTEXT_TOKENS, m as resolveConfiguredModelRef } from "./model-selection-CSn9tUuH.js";
9
9
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
10
10
  import { r as VERSION } from "./env-vars-sTMVGyld.js";
11
11
  import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-B5Irc_Bi.js";
12
- import { a as inspectPortUsage, l as formatPortDiagnostics } from "./ports-SQy1d-RL.js";
13
- import { Y as resolveFreshSessionTotalTokens, c as loadSessionStore, et as resolveMainSessionKey } from "./sessions-BtPXimXQ.js";
14
- import { n as listChannelPlugins } from "./plugins-D46VZh7u.js";
12
+ import { a as inspectPortUsage, l as formatPortDiagnostics } from "./ports-DWJO5S52.js";
13
+ import { Y as resolveFreshSessionTotalTokens, c as loadSessionStore, et as resolveMainSessionKey } from "./sessions-BqWocozB.js";
14
+ import { n as listChannelPlugins } from "./plugins-B4hASNc2.js";
15
15
  import { u as resolveStorePath } from "./paths-DRz46q00.js";
16
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BpWhjuOg.js";
16
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-Du-oBD99.js";
17
17
  import { n as formatTimeAgo } from "./format-relative-DcQZUAYl.js";
18
18
  import { r as formatDurationPrecise } from "./format-duration-C9ZBnsdW.js";
19
- import { r as getMemorySearchManager } from "./memory-cli-CUGwnVIY.js";
19
+ import { r as getMemorySearchManager } from "./memory-cli-4wfelGdK.js";
20
20
  import { n as withProgress } from "./progress-BQLz1r3L.js";
21
- import { o as getRemoteSkillEligibility } from "./skill-commands-BFzmZAfo.js";
21
+ import { o as getRemoteSkillEligibility } from "./skill-commands-BwIRWSCI.js";
22
22
  import { a as sha256HexPrefix } from "./active-listener-30JxwI-t.js";
23
- import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-mzy38DiC.js";
24
- import { t as buildWorkspaceSkillStatus } from "./skills-status-qjQ8XP0h.js";
23
+ import { C as normalizeControlUiBasePath, g as resolveControlUiLinks } from "./onboard-helpers-CdzbIhrm.js";
24
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-Q9skQExW.js";
25
25
  import { t as resolveChannelDefaultAccountId } from "./helpers-C6eW1WGZ.js";
26
- import { t as collectChannelStatusIssues } from "./channels-status-issues-CDpWjdI3.js";
27
- import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-C8NMS3m_.js";
26
+ import { t as collectChannelStatusIssues } from "./channels-status-issues-hgASw9UA.js";
27
+ import { s as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-Bj2oSfpw.js";
28
28
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D7pLXkNs.js";
29
- import { t as readLastGatewayErrorLine } from "./diagnostics-DmZbQ8Nc.js";
29
+ import { t as readLastGatewayErrorLine } from "./diagnostics-CdUgLS0N.js";
30
30
  import { t as renderTable } from "./table-B9AmL3M1.js";
31
- import { i as resolveGatewayProbeAuth$1, s as probeGateway, t as runSecurityAudit } from "./audit-CKeZnjft.js";
32
- import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health--GQAFTBr.js";
33
- import { _ as resolveUpdateChannelDisplay, a as formatGitInstallLabel, h as normalizeUpdateChannel, n as checkUpdateStatus, t as resolveDefaultChannelAccountContext } from "./channel-account-context-CDbY5AIr.js";
34
- import { t as resolveNodeService } from "./node-service-C3vyxHLA.js";
31
+ import { i as resolveGatewayProbeAuth$1, s as probeGateway, t as runSecurityAudit } from "./audit-C5VPFgbJ.js";
32
+ import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-lZsCLX6p.js";
33
+ import { _ as resolveUpdateChannelDisplay, a as formatGitInstallLabel, h as normalizeUpdateChannel, n as checkUpdateStatus, t as resolveDefaultChannelAccountContext } from "./channel-account-context-B4nJPU2N.js";
34
+ import { t as resolveNodeService } from "./node-service-GpI0jzKr.js";
35
35
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-BK5XIv_A.js";
36
- import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-CTi6vuWj.js";
36
+ import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, r as getUpdateCheckResult, t as formatUpdateAvailableHint } from "./status.update-C3uRz7W6.js";
37
37
  import { t as shortenText } from "./text-format-HY7-Cgr7.js";
38
38
  import fs from "node:fs";
39
39
  import os from "node:os";
40
40
  import path from "node:path";
41
- import fs$1 from "node:fs/promises";
41
+ import fsPromises from "node:fs/promises";
42
42
  import { spawnSync } from "node:child_process";
43
43
 
44
44
  //#region src/commands/gateway-presence.ts
@@ -127,7 +127,7 @@ function resolveOsSummary() {
127
127
  //#region src/commands/status-all/agents.ts
128
128
  async function fileExists$1(p) {
129
129
  try {
130
- await fs$1.access(p);
130
+ await fsPromises.access(p);
131
131
  return true;
132
132
  } catch {
133
133
  return false;
@@ -492,7 +492,7 @@ async function buildChannelsTable(cfg, opts) {
492
492
  //#endregion
493
493
  //#region src/commands/status-all/gateway.ts
494
494
  async function readFileTailLines(filePath, maxLines) {
495
- const raw = await fs$1.readFile(filePath, "utf8").catch(() => "");
495
+ const raw = await fsPromises.readFile(filePath, "utf8").catch(() => "");
496
496
  if (!raw.trim()) return [];
497
497
  const lines = raw.replace(/\r/g, "").split("\n");
498
498
  return lines.slice(Math.max(0, lines.length - maxLines)).map((line) => line.trimEnd()).filter((line) => line.trim().length > 0);
@@ -1250,7 +1250,7 @@ function resolveGatewayProbeAuth(cfg) {
1250
1250
  //#region src/commands/status.agent-local.ts
1251
1251
  async function fileExists(p) {
1252
1252
  try {
1253
- await fs$1.access(p);
1253
+ await fsPromises.access(p);
1254
1254
  return true;
1255
1255
  } catch {
1256
1256
  return false;
@@ -1,7 +1,7 @@
1
- import { t as resolveIdleHandsPackageRoot } from "./idlehands-root-B8cUs-5M.js";
1
+ import { t as resolveIdleHandsPackageRoot } from "./idlehands-root-DFL2GrNW.js";
2
2
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
3
3
  import { r as VERSION } from "./env-vars-sTMVGyld.js";
4
- import { n as checkUpdateStatus, r as compareSemverStrings } from "./channel-account-context-CDbY5AIr.js";
4
+ import { n as checkUpdateStatus, r as compareSemverStrings } from "./channel-account-context-B4nJPU2N.js";
5
5
 
6
6
  //#region src/commands/status.update.ts
7
7
  async function getUpdateCheckResult(params) {
@@ -1,8 +1,8 @@
1
1
  import { g as resolveConfigDir } from "./utils-CXzXXV2o.js";
2
- import { c as detectMime, l as extensionForMime } from "./image-ops-BU-VdLZu.js";
2
+ import { c as detectMime, l as extensionForMime } from "./image-ops-BkoEFRYH.js";
3
3
  import { createWriteStream } from "node:fs";
4
4
  import path from "node:path";
5
- import fs$1 from "node:fs/promises";
5
+ import fsPromises from "node:fs/promises";
6
6
  import crypto from "node:crypto";
7
7
  import { request } from "node:https";
8
8
  import { pipeline } from "node:stream/promises";
@@ -27,7 +27,7 @@ function getMediaDir() {
27
27
  }
28
28
  async function ensureMediaDir() {
29
29
  const mediaDir = resolveMediaDir();
30
- await fs$1.mkdir(mediaDir, {
30
+ await fsPromises.mkdir(mediaDir, {
31
31
  recursive: true,
32
32
  mode: 448
33
33
  });
@@ -36,7 +36,7 @@ async function ensureMediaDir() {
36
36
  async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes = MAX_BYTES, originalFilename) {
37
37
  if (buffer.byteLength > maxBytes) throw new Error(`Media exceeds ${(maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
38
38
  const dir = path.join(resolveMediaDir(), subdir);
39
- await fs$1.mkdir(dir, {
39
+ await fsPromises.mkdir(dir, {
40
40
  recursive: true,
41
41
  mode: 448
42
42
  });
@@ -54,7 +54,7 @@ async function saveMediaBuffer(buffer, contentType, subdir = "inbound", maxBytes
54
54
  id = sanitized ? `${sanitized}---${uuid}${ext}` : `${uuid}${ext}`;
55
55
  } else id = ext ? `${uuid}${ext}` : uuid;
56
56
  const dest = path.join(dir, id);
57
- await fs$1.writeFile(dest, buffer, { mode: 384 });
57
+ await fsPromises.writeFile(dest, buffer, { mode: 384 });
58
58
  return {
59
59
  id,
60
60
  path: dest,
@@ -1,27 +1,27 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import { B as theme, O as danger } from "./utils-CXzXXV2o.js";
3
- import "./agent-scope-RA0zXRpu.js";
3
+ import "./agent-scope-Bn39ugK4.js";
4
4
  import "./subsystem-CGZX2PBV.js";
5
5
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
6
- import "./idlehands-root-B8cUs-5M.js";
6
+ import "./idlehands-root-DFL2GrNW.js";
7
7
  import "./exec-CKHMT0tZ.js";
8
- import "./model-selection-0dGxYGp8.js";
8
+ import "./model-selection-CSn9tUuH.js";
9
9
  import "./github-copilot-token-D7lpquOO.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-Bx-F45X5.js";
12
12
  import "./host-env-security-DkAVVuaw.js";
13
13
  import "./env-vars-sTMVGyld.js";
14
- import "./manifest-registry-Bak1x76G.js";
14
+ import "./manifest-registry-RfRn8HJx.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
- import "./client-DtnD-ee9.js";
20
- import "./call-BpWhjuOg.js";
21
- import "./pairing-token-lKXTMQ_M.js";
19
+ import "./client-Dl5EAvfO.js";
20
+ import "./call-Du-oBD99.js";
21
+ import "./pairing-token-3hoCgQqp.js";
22
22
  import { t as formatDocsLink } from "./links-15764jZB.js";
23
23
  import "./progress-BQLz1r3L.js";
24
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BBFG1T-M.js";
24
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-IpZymG6F.js";
25
25
 
26
26
  //#region src/cli/system-cli.ts
27
27
  const normalizeWakeMode = (raw) => {
@@ -1,5 +1,5 @@
1
1
  import { r as normalizeEnvVarKey } from "./host-env-security-DkAVVuaw.js";
2
- import { n as resolveSystemRunCommand, t as formatExecCommand } from "./system-run-command-qJdgzxLp.js";
2
+ import { n as resolveSystemRunCommand, t as formatExecCommand } from "./system-run-command-BIhrK3OI.js";
3
3
  import crypto from "node:crypto";
4
4
 
5
5
  //#region src/infra/system-run-approval-binding.ts
@@ -1,4 +1,4 @@
1
- import { Hn as extractShellWrapperCommand, Jn as unwrapDispatchWrappersForResolution, Wn as hasEnvManipulationBeforeShellWrapper, Xn as unwrapKnownShellMultiplexerInvocation, qn as normalizeExecutableToken } from "./model-selection-0dGxYGp8.js";
1
+ import { Hn as extractShellWrapperCommand, Jn as unwrapDispatchWrappersForResolution, Wn as hasEnvManipulationBeforeShellWrapper, Xn as unwrapKnownShellMultiplexerInvocation, qn as normalizeExecutableToken } from "./model-selection-CSn9tUuH.js";
2
2
 
3
3
  //#region src/infra/system-run-command.ts
4
4
  function formatExecCommand(argv) {
@@ -3,7 +3,7 @@ import { n as runExec, t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
3
3
  import { d as resolveGatewayServiceDescription, f as resolveGatewaySystemdServiceName, i as LEGACY_GATEWAY_SYSTEMD_SERVICE_NAMES, u as resolveGatewayProfileSuffix } from "./constants-Z_TnY4pX.js";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
6
- import fs from "node:fs/promises";
6
+ import fsPromises from "node:fs/promises";
7
7
  import { execFile } from "node:child_process";
8
8
 
9
9
  //#region src/daemon/exec-file.ts
@@ -289,7 +289,7 @@ function resolveSystemdUserUnitPath(env) {
289
289
  async function readSystemdServiceExecStart(env) {
290
290
  const unitPath = resolveSystemdUnitPath(env);
291
291
  try {
292
- const content = await fs.readFile(unitPath, "utf8");
292
+ const content = await fsPromises.readFile(unitPath, "utf8");
293
293
  let execStart = "";
294
294
  let workingDirectory = "";
295
295
  const environment = {};
@@ -360,12 +360,12 @@ async function assertSystemdAvailable() {
360
360
  async function installSystemdService({ env, stdout, programArguments, workingDirectory, environment, description }) {
361
361
  await assertSystemdAvailable();
362
362
  const unitPath = resolveSystemdUnitPath(env);
363
- await fs.mkdir(path.dirname(unitPath), { recursive: true });
363
+ await fsPromises.mkdir(path.dirname(unitPath), { recursive: true });
364
364
  let backedUp = false;
365
365
  try {
366
- await fs.access(unitPath);
366
+ await fsPromises.access(unitPath);
367
367
  const backupPath = `${unitPath}.bak`;
368
- await fs.copyFile(unitPath, backupPath);
368
+ await fsPromises.copyFile(unitPath, backupPath);
369
369
  backedUp = true;
370
370
  } catch {}
371
371
  const unit = buildSystemdUnit({
@@ -378,7 +378,7 @@ async function installSystemdService({ env, stdout, programArguments, workingDir
378
378
  workingDirectory,
379
379
  environment
380
380
  });
381
- await fs.writeFile(unitPath, unit, "utf8");
381
+ await fsPromises.writeFile(unitPath, unit, "utf8");
382
382
  const unitName = `${resolveGatewaySystemdServiceName(env.IDLEHANDS_PROFILE)}.service`;
383
383
  const reload = await execSystemctl(["--user", "daemon-reload"]);
384
384
  if (reload.code !== 0) throw new Error(`systemctl daemon-reload failed: ${reload.stderr || reload.stdout}`.trim());
@@ -413,7 +413,7 @@ async function uninstallSystemdService({ env, stdout }) {
413
413
  ]);
414
414
  const unitPath = resolveSystemdUnitPath(env);
415
415
  try {
416
- await fs.unlink(unitPath);
416
+ await fsPromises.unlink(unitPath);
417
417
  stdout.write(`${formatLine("Removed systemd service", unitPath)}\n`);
418
418
  } catch {
419
419
  stdout.write(`Systemd service not found at ${unitPath}\n`);
@@ -503,7 +503,7 @@ async function findLegacySystemdUnits(env) {
503
503
  const unitPath = resolveSystemdUnitPathForName(env, name);
504
504
  let exists = false;
505
505
  try {
506
- await fs.access(unitPath);
506
+ await fsPromises.access(unitPath);
507
507
  exists = true;
508
508
  } catch {}
509
509
  let enabled = false;
@@ -534,7 +534,7 @@ async function uninstallLegacySystemdUnits({ env, stdout }) {
534
534
  ]);
535
535
  else stdout.write(`systemctl unavailable; removed legacy unit file only: ${unit.name}.service\n`);
536
536
  try {
537
- await fs.unlink(unit.unitPath);
537
+ await fsPromises.unlink(unit.unitPath);
538
538
  stdout.write(`${formatLine("Removed legacy systemd service", unit.unitPath)}\n`);
539
539
  } catch {
540
540
  stdout.write(`Legacy systemd unit not found at ${unit.unitPath}\n`);
@@ -1,11 +1,11 @@
1
1
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
2
2
  import { n as isNodeRuntime, t as isBunRuntime } from "./runtime-binary-DXpdutvP.js";
3
- import { c as isVersionManagedNodePath, f as resolveSystemNodePath, o as getMinimalServicePathPartsFromEnv, s as isSystemNodePath } from "./daemon-install-helpers-BZY9-jNW.js";
4
- import { o as resolveSystemdUserUnitPath } from "./systemd-CaCR5CyM.js";
5
- import { c as resolveLaunchAgentPlistPath } from "./service-C8NMS3m_.js";
3
+ import { c as isVersionManagedNodePath, f as resolveSystemNodePath, o as getMinimalServicePathPartsFromEnv, s as isSystemNodePath } from "./daemon-install-helpers-Bug_GYuy.js";
4
+ import { o as resolveSystemdUserUnitPath } from "./systemd-DyrVLTI0.js";
5
+ import { c as resolveLaunchAgentPlistPath } from "./service-Bj2oSfpw.js";
6
6
  import { t as formatRuntimeStatusWithDetails } from "./runtime-status-D7pLXkNs.js";
7
7
  import path from "node:path";
8
- import fs from "node:fs/promises";
8
+ import fsPromises from "node:fs/promises";
9
9
 
10
10
  //#region src/daemon/runtime-format.ts
11
11
  function formatRuntimeStatus(runtime) {
@@ -86,7 +86,7 @@ async function auditSystemdUnit(env, issues) {
86
86
  const unitPath = resolveSystemdUserUnitPath(env);
87
87
  let content = "";
88
88
  try {
89
- content = await fs.readFile(unitPath, "utf8");
89
+ content = await fsPromises.readFile(unitPath, "utf8");
90
90
  } catch {
91
91
  return;
92
92
  }
@@ -114,7 +114,7 @@ async function auditLaunchdPlist(env, issues) {
114
114
  const plistPath = resolveLaunchAgentPlistPath(env);
115
115
  let content = "";
116
116
  try {
117
- content = await fs.readFile(plistPath, "utf8");
117
+ content = await fsPromises.readFile(plistPath, "utf8");
118
118
  } catch {
119
119
  return;
120
120
  }
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as note } from "./note-69EfBEU-.js";
3
- import { d as enableSystemdUserLinger, f as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable } from "./systemd-CaCR5CyM.js";
3
+ import { d as enableSystemdUserLinger, f as readSystemdUserLingerStatus, r as isSystemdUserServiceAvailable } from "./systemd-DyrVLTI0.js";
4
4
 
5
5
  //#region src/commands/systemd-linger.ts
6
6
  var systemd_linger_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { r as markdownToIRWithMeta } from "./ir-VncGpwA1.js";
1
+ import { r as markdownToIRWithMeta } from "./ir-DV0Hszc8.js";
2
2
  import { t as renderMarkdownWithMarkers } from "./render-DC4qnRqG.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
@@ -1,6 +1,6 @@
1
- import { c as detectMime } from "./image-ops-BU-VdLZu.js";
2
- import { r as sanitizeToolResultImages } from "./tool-images-CHqepyF_.js";
3
- import fs from "node:fs/promises";
1
+ import { c as detectMime } from "./image-ops-BkoEFRYH.js";
2
+ import { r as sanitizeToolResultImages } from "./tool-images-DZHrc4pq.js";
3
+ import fsPromises from "node:fs/promises";
4
4
 
5
5
  //#region src/agents/tools/common.ts
6
6
  var ToolInputError = class extends Error {
@@ -136,7 +136,7 @@ async function imageResult(params) {
136
136
  }, params.label, params.imageSanitization);
137
137
  }
138
138
  async function imageResultFromFile(params) {
139
- const buf = await fs.readFile(params.path);
139
+ const buf = await fsPromises.readFile(params.path);
140
140
  const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
141
141
  return await imageResult({
142
142
  label: params.label,
@@ -1,5 +1,5 @@
1
1
  import { t as createSubsystemLogger } from "./subsystem-CGZX2PBV.js";
2
- import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BU-VdLZu.js";
2
+ import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BkoEFRYH.js";
3
3
 
4
4
  //#region src/media/base64.ts
5
5
  function estimateBase64DecodedBytes(base64) {