@visorcraft/idlehands 4.1.0 → 4.2.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 (382) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/{accounts-DsVN0UNw.js → accounts-3HS_UAhJ.js} +1 -1
  3. package/dist/{accounts-B8cGzkjD.js → accounts-BDVs8LTu.js} +1 -1
  4. package/dist/{accounts-D5tB_lO0.js → accounts-CIvVRRHb.js} +1 -1
  5. package/dist/{accounts-D-hQsUw-.js → accounts-DLTODa_Z.js} +1 -1
  6. package/dist/{accounts-D87a1Y_K.js → accounts-DgbTKQoW.js} +1 -1
  7. package/dist/{accounts-BQC_GRUB.js → accounts-Dk8mJIrQ.js} +6 -6
  8. package/dist/{acp-cli-BEHYc8ty.js → acp-cli-BEpWQbqb.js} +7 -7
  9. package/dist/{agent-scope-Bxq1eWbA.js → agent-scope-DyP_tr7s.js} +4 -4
  10. package/dist/{agent-scope-Bn39ugK4.js → agent-scope-RA0zXRpu.js} +18 -18
  11. package/dist/{agent-via-gateway-igDg7ko6.js → agent-via-gateway-C42kkKZI.js} +2 -2
  12. package/dist/{agent-via-gateway-CM7X6sKJ.js → agent-via-gateway-CUtzJXBE.js} +60 -60
  13. package/dist/{agent-via-gateway-B03q92bw.js → agent-via-gateway-CldlRczJ.js} +1 -1
  14. package/dist/{agent-via-gateway-bS6seBwg.js → agent-via-gateway-oMn0WfUq.js} +4 -4
  15. package/dist/{agents-DdTECKDf.js → agents-BfnnMO1i.js} +4 -4
  16. package/dist/{agents.config-D2EbQiOx.js → agents.config-BFfVBZMA.js} +1 -1
  17. package/dist/{agents.config-CPUPtcKt.js → agents.config-bWtpv0jP.js} +2 -2
  18. package/dist/{anton-ONYQUE8F.js → anton-CgpWkf5P.js} +32 -17
  19. package/dist/{anton-C7-Qxyij.js → anton-CoGaJdTU.js} +36 -21
  20. package/dist/{anton-D4vpCj_q.js → anton-DSS3RNo7.js} +32 -17
  21. package/dist/anton-DXL8jrY_.js +792 -0
  22. package/dist/{api-key-rotation-nXQVJErE.js → api-key-rotation-B-FTJm5p.js} +1 -1
  23. package/dist/{audio-preflight-qkU2lsDn.js → audio-preflight-CW8IH1lU.js} +35 -35
  24. package/dist/{audio-preflight-DzjXupNO.js → audio-preflight-Dl1TO10w.js} +31 -31
  25. package/dist/{audit-C5VPFgbJ.js → audit-CKeZnjft.js} +22 -22
  26. package/dist/{auth-choice-DVoPuwEs.js → auth-choice-BNofPyTK.js} +1 -1
  27. package/dist/{auth-choice-BDndThZZ.js → auth-choice-D12Wsf7w.js} +12 -12
  28. package/dist/{auth-choice-CQqV1VIf.js → auth-choice-Z7nPFxhP.js} +10 -10
  29. package/dist/{auth-choice.apply-helpers-pTqMTYmi.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  30. package/dist/{auth-store-CMyrmmSF.js → auth-store-DDzIMy8_.js} +7 -7
  31. package/dist/{auth-store-Bb4aajHu.js → auth-store-DXT-l7fO.js} +12 -12
  32. package/dist/{auth-token-fKt_cHOj.js → auth-token-BJq87X3o.js} +1 -1
  33. package/dist/{banner-CFKoGAzN.js → banner-B1-kj-GW.js} +1 -1
  34. package/dist/{bindings-DZjkLUU_.js → bindings-B59Q7nsk.js} +1 -1
  35. package/dist/{bindings-CLZIJ0Eo.js → bindings-D3b5Fmc9.js} +2 -2
  36. package/dist/{browser-cli-qU0I-Gla.js → browser-cli-Ci6DpTnS.js} +11 -11
  37. package/dist/build-info.json +3 -3
  38. package/dist/bundled/boot-md/handler.js +60 -60
  39. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  40. package/dist/bundled/command-logger/handler.js +3 -3
  41. package/dist/bundled/session-memory/handler.js +60 -60
  42. package/dist/{call-Du-oBD99.js → call-BpWhjuOg.js} +9 -9
  43. package/dist/{channel-account-context-B4nJPU2N.js → channel-account-context-CDbY5AIr.js} +5 -5
  44. package/dist/{channel-activity-DdL3RAv_.js → channel-activity-D_TMOGQ0.js} +3 -3
  45. package/dist/{channel-options-BU0E7BdU.js → channel-options-C5Iz9bes.js} +1 -1
  46. package/dist/{channel-options-B1cfZ5uQ.js → channel-options-CUP3A4VX.js} +3 -3
  47. package/dist/{channel-selection-3jUl-PyW.js → channel-selection-ZxRkxpuF.js} +1 -1
  48. package/dist/{channel-web-BDytDCrG.js → channel-web-CGXl1PnB.js} +2 -2
  49. package/dist/{channel-web-CzrJ-6X4.js → channel-web-CsUiKxQo.js} +22 -22
  50. package/dist/{channels-cli-DWaQsKP8.js → channels-cli-DK7TRLqX.js} +7 -7
  51. package/dist/{channels-cli-B4o-qohk.js → channels-cli-DmHSajZy.js} +88 -88
  52. package/dist/{channels-status-issues-hgASw9UA.js → channels-status-issues-CDpWjdI3.js} +1 -1
  53. package/dist/{chrome-CT_a9OgI.js → chrome-BcJB6PcM.js} +17 -17
  54. package/dist/{chrome-YguTEaLx.js → chrome-VBsQfIrt.js} +2 -2
  55. package/dist/{chunk-Djk-9JeT.js → chunk-CMpX7Jaz.js} +1 -1
  56. package/dist/{clawbot-cli-C5cDal-5.js → clawbot-cli-uFgYrysW.js} +5 -5
  57. package/dist/{cli-Hplv9sD1.js → cli-6eMKeewY.js} +2 -2
  58. package/dist/{cli-DXyOlvH2.js → cli-DEE_ketW.js} +70 -70
  59. package/dist/{client-Dl5EAvfO.js → client-DtnD-ee9.js} +1 -1
  60. package/dist/{command-registry-esizscE2.js → command-registry-BFTlzx6d.js} +10 -10
  61. package/dist/{commands-D3BU_t7G.js → commands-Dj5LalLo.js} +1 -1
  62. package/dist/{commands-registry-Cj4D_1tw.js → commands-registry-CURlRZQJ.js} +3 -3
  63. package/dist/{commands-registry-_TBHHpvt.js → commands-registry-j4vAzcF2.js} +5 -5
  64. package/dist/{completion-cli-c4blaZPQ.js → completion-cli-BbXgtvGY.js} +2 -2
  65. package/dist/{completion-cli-CXDILt8-.js → completion-cli-PBfCNWhv.js} +12 -12
  66. package/dist/{config-cli-D_mH5-FH.js → config-cli-BVJRkNhX.js} +6 -6
  67. package/dist/{config-cli-98ASrAou.js → config-cli-Q934shK6.js} +1 -1
  68. package/dist/{config-guard-DnAyuF6T.js → config-guard-BdsOumqh.js} +17 -17
  69. package/dist/{config-validation-DIomLMwH.js → config-validation-BvKX6fPw.js} +2 -2
  70. package/dist/{configure-PKG58EzI.js → configure-85ttW_lD.js} +16 -16
  71. package/dist/{configure-CKspMrI1.js → configure-BGAvA5a4.js} +3 -3
  72. package/dist/{control-ui-assets-CiaCDBvZ.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  73. package/dist/{cron-cli-BIfVPc5K.js → cron-cli-DQsnGQKs.js} +12 -12
  74. package/dist/{daemon-cli-DpyQu0Dp.js → daemon-cli-DUg-s4LG.js} +11 -11
  75. package/dist/{daemon-install-DeqQiAad.js → daemon-install-CYPo4M1M.js} +4 -4
  76. package/dist/{daemon-install-helpers-Bug_GYuy.js → daemon-install-helpers-BZY9-jNW.js} +9 -9
  77. package/dist/{deliver-yTpXc5sv.js → deliver--kttnrER.js} +7 -7
  78. package/dist/{deliver-Db2xqgLg.js → deliver-BUiQ-9fE.js} +20 -20
  79. package/dist/{deps-CjWcQwlX.js → deps-AEDT3iDX.js} +1 -1
  80. package/dist/{deps-CC5E5LXB.js → deps-B4J8H6nI.js} +6 -6
  81. package/dist/{deps-BotXja4Z.js → deps-Bq7jJLyN.js} +6 -6
  82. package/dist/{deps-DR1eh_L_.js → deps-Ch6bZ8PI.js} +1 -1
  83. package/dist/{devices-cli-B7fkQKei.js → devices-cli-DKK65S9Z.js} +7 -7
  84. package/dist/{diagnostic-BvlZ0Sot.js → diagnostic-4owMk4vH.js} +1 -1
  85. package/dist/{diagnostics-CdUgLS0N.js → diagnostics-DmZbQ8Nc.js} +5 -5
  86. package/dist/{directory-cli-BAMS8f9U.js → directory-cli-Dz9iXeut.js} +9 -9
  87. package/dist/{dns-cli-BdxBk-k_.js → dns-cli-DD6hWsdc.js} +4 -4
  88. package/dist/{dock-ejUetwTC.js → dock-BgOmHcbh.js} +6 -6
  89. package/dist/{dock-CzF5XYGd.js → dock-Y96MzKuM.js} +4 -4
  90. package/dist/{docs-cli-SF7es4Zs.js → docs-cli-cHkrTB2e.js} +4 -4
  91. package/dist/{doctor-completion-Co_xszXC.js → doctor-completion-CN5Zujsa.js} +2 -2
  92. package/dist/{doctor-completion-DFr8_h-z.js → doctor-completion-Clh5CNUd.js} +1 -1
  93. package/dist/{doctor-config-flow-8qXzBx09.js → doctor-config-flow-Ck4oCjfl.js} +14 -14
  94. package/dist/{emergency-stop-ChBe32HN.js → emergency-stop-2v4bhRCE.js} +2 -2
  95. package/dist/{emergency-stop-DtVFxCO1.js → emergency-stop-BtasjDnU.js} +70 -70
  96. package/dist/emergency-stop-CVO75pTD.js +113 -0
  97. package/dist/{emergency-stop-CDozqde9.js → emergency-stop-D_bTOufu.js} +2 -2
  98. package/dist/{enable-DaA_orGN.js → enable-o_s6PBsC.js} +1 -1
  99. package/dist/entry.js +1 -1
  100. package/dist/{env-q-PhWbb_.js → env-B5G1qwGc.js} +1 -1
  101. package/dist/{errors-C4SHjIZK.js → errors-C_0nm4TJ.js} +1 -1
  102. package/dist/{exec-approvals-allowlist-8AkOwwIr.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  103. package/dist/{exec-approvals-cli-CbcJzCt0.js → exec-approvals-cli-D6XUzs4j.js} +15 -15
  104. package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  105. package/dist/extensionAPI.js +2 -2
  106. package/dist/{fetch-guard-CcfDZXe9.js → fetch-guard-iuQsIjqN.js} +1 -1
  107. package/dist/{frontmatter-pTUG4Sx_.js → frontmatter-BOudmHMS.js} +2 -2
  108. package/dist/{fs-safe-2l05hI1Y.js → fs-safe-CYUaAFO9.js} +2 -2
  109. package/dist/{fs-safe-DNFrxDS-.js → fs-safe-_JQUGpZf.js} +15 -15
  110. package/dist/{gateway-cli-DjCBMnUT.js → gateway-cli-Cl7cEsHE.js} +9 -9
  111. package/dist/{gateway-cli-poVGdgAz.js → gateway-cli-DJm73Wou.js} +148 -148
  112. package/dist/{gateway-rpc-IpZymG6F.js → gateway-rpc-BBFG1T-M.js} +1 -1
  113. package/dist/{gemini-auth-DLSGffQK.js → gemini-auth-CIyaa44H.js} +2 -2
  114. package/dist/{github-copilot-token-BjmEQcmi.js → github-copilot-token-Dgt6cnsM.js} +7 -7
  115. package/dist/{health-lZsCLX6p.js → health-C6_Sa_ef.js} +13 -13
  116. package/dist/{health-HEN6Wk9G.js → health-D-b3jdnU.js} +1 -1
  117. package/dist/{hooks-cli-DFrttZGb.js → hooks-cli-BB25FyuN.js} +3 -3
  118. package/dist/{hooks-cli-EbzkZ1Xh.js → hooks-cli-BC3n8UYQ.js} +84 -84
  119. package/dist/{hooks-status-CPIWc_bx.js → hooks-status-DNGo2G8Q.js} +1 -1
  120. package/dist/{idlehands-root-DFL2GrNW.js → idlehands-root-B8cUs-5M.js} +8 -8
  121. package/dist/{image-Dlu13Ebx.js → image-D8b_rlQC.js} +6 -6
  122. package/dist/{image-C2JZiK-6.js → image-DSDEbSiO.js} +5 -5
  123. package/dist/{image-ops-J8P5zOFm.js → image-ops-BU-VdLZu.js} +2 -2
  124. package/dist/{image-ops-BkoEFRYH.js → image-ops-D1KtygWz.js} +11 -11
  125. package/dist/index.js +80 -80
  126. package/dist/{inspect-Dg16DMLn.js → inspect-ISQZuNM5.js} +4 -4
  127. package/dist/{install-safe-path-CNNMzJl9.js → install-safe-path-ChNR9pl6.js} +19 -19
  128. package/dist/{installs-ST3UaUVJ.js → installs-CNubze2L.js} +9 -9
  129. package/dist/{ir-BT5aAdU9.js → ir-B7IBoKLy.js} +5 -5
  130. package/dist/{ir-DV0Hszc8.js → ir-VncGpwA1.js} +6 -6
  131. package/dist/{lifecycle-core-DOScNyOv.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  132. package/dist/llm-slug-generator.js +60 -60
  133. package/dist/{local-roots-d4y0lvs2.js → local-roots-KN4Hp1yZ.js} +5 -5
  134. package/dist/{local-roots-Cco87A2_.js → local-roots-q0xbefkf.js} +2 -2
  135. package/dist/{login-C2X0In6m.js → login-CFr5vJmR.js} +6 -6
  136. package/dist/{login-Dl_lsEHS.js → login-CfUhrgWT.js} +4 -4
  137. package/dist/{login-qr-C17PY0rr.js → login-qr-CFFFOjOl.js} +11 -11
  138. package/dist/{login-qr-B68cBRH0.js → login-qr-DBMsUxgL.js} +7 -7
  139. package/dist/{logs-cli-DHCG25JA.js → logs-cli-4VQ9Iwiw.js} +8 -8
  140. package/dist/{manager-CgzA1hKo.js → manager-BE_76jWB.js} +15 -15
  141. package/dist/{manager-BBeTPO2h.js → manager-BMAFgXyU.js} +13 -13
  142. package/dist/{manifest-registry-RfRn8HJx.js → manifest-registry-Bak1x76G.js} +1 -1
  143. package/dist/{markdown-tables-R8VTpfE9.js → markdown-tables-CzsockiZ.js} +1 -1
  144. package/dist/{markdown-tables-C5hTDqNm.js → markdown-tables-DZClqsNo.js} +1 -1
  145. package/dist/{memory-cli-4wfelGdK.js → memory-cli-CUGwnVIY.js} +12 -12
  146. package/dist/{message-channel-ZdI1-uUh.js → message-channel-C8QtrwEU.js} +1 -1
  147. package/dist/{model-Bd-05WpB.js → model-C-icShH2.js} +2 -2
  148. package/dist/{model-catalog-BCsDrrvq.js → model-catalog-D9no0CH2.js} +3 -3
  149. package/dist/{model-picker-D3U0wJCO.js → model-picker-BkXoTOiA.js} +4 -4
  150. package/dist/{model-selection-CSn9tUuH.js → model-selection-0dGxYGp8.js} +16 -16
  151. package/dist/{model-selection-C5hI1dum.js → model-selection-1MMYqY6M.js} +41 -41
  152. package/dist/{models-tZYpgts_.js → models-C1_Tdc1Q.js} +2 -2
  153. package/dist/{models-cli-umEUn4Xu.js → models-cli-B9yw60gV.js} +79 -79
  154. package/dist/{models-cli-DVAyIZ63.js → models-cli-Bs5ZNSbk.js} +4 -4
  155. package/dist/{models-config-lQpqp472.js → models-config-C5A1wDWh.js} +6 -6
  156. package/dist/{node-cli-7gQ7xfOh.js → node-cli-BYzjxmUY.js} +32 -32
  157. package/dist/{node-service-GpI0jzKr.js → node-service-C3vyxHLA.js} +1 -1
  158. package/dist/{nodes-cli-CDXLGCox.js → nodes-cli-kNOtp0U0.js} +14 -14
  159. package/dist/{nodes-screen-CIAn0wXq.js → nodes-screen-CcpPaFxa.js} +4 -4
  160. package/dist/{npm-registry-spec-BfeHLbIQ.js → npm-registry-spec-BCbbfIhX.js} +16 -16
  161. package/dist/{npm-resolution-By6en78P.js → npm-resolution-BMDipaRX.js} +3 -3
  162. package/dist/{npm-resolution-By6bZkA-.js → npm-resolution-yXJbqHHn.js} +1 -1
  163. package/dist/{onboard-Dw-URWpt.js → onboard-CYRoDnOI.js} +2 -2
  164. package/dist/{onboard-BmDmDXYf.js → onboard-DjbHK18p.js} +6 -6
  165. package/dist/{onboard-channels-DCDhpz9s.js → onboard-channels-CNQt2jFU.js} +20 -20
  166. package/dist/{onboard-channels-JPltbNGL.js → onboard-channels-CkxvodmR.js} +1 -1
  167. package/dist/{onboard-custom-D2sCP3_S.js → onboard-custom-DUbzMMu7.js} +4 -4
  168. package/dist/{onboard-helpers-CdzbIhrm.js → onboard-helpers-mzy38DiC.js} +8 -8
  169. package/dist/{onboard-hooks-_1Jgimeu.js → onboard-hooks-D9teGxfH.js} +4 -4
  170. package/dist/{onboard-remote-pCRaL_Ey.js → onboard-remote-LCBHijVE.js} +1 -1
  171. package/dist/{onboard-skills-DvwRvBvj.js → onboard-skills-jFY9gaOu.js} +4 -4
  172. package/dist/{onboarding-DIorhVOJ.js → onboarding-BEDOWI9h.js} +3 -3
  173. package/dist/{onboarding-Cf3JxJxY.js → onboarding-D9AZJlDK.js} +13 -13
  174. package/dist/{onboarding.finalize-BCmAqhLV.js → onboarding.finalize-D4hW1yTd.js} +7 -7
  175. package/dist/{onboarding.finalize-BH4WHo75.js → onboarding.finalize-DJxMkD2g.js} +82 -82
  176. package/dist/{onboarding.gateway-config-Sj7zQKsE.js → onboarding.gateway-config-Btu2gzgr.js} +16 -16
  177. package/dist/{openai-model-default-OPCCNNS0.js → openai-model-default-7J6cw1rA.js} +2 -2
  178. package/dist/{outbound-CdY_AskB.js → outbound-BNh6PpQb.js} +6 -6
  179. package/dist/{outbound-CG19kl0w.js → outbound-DPTxwchq.js} +4 -4
  180. package/dist/{outbound-attachment-jYdMgCml.js → outbound-attachment-3I6GzwDe.js} +2 -2
  181. package/dist/{outbound-attachment-IfeZJAKk.js → outbound-attachment-Bot3bRnK.js} +2 -2
  182. package/dist/{pairing-cli-QJYYDcIK.js → pairing-cli-jwx6hMsM.js} +10 -10
  183. package/dist/{pairing-labels-DuZ7ih-T.js → pairing-labels-ChQJzbS9.js} +1 -1
  184. package/dist/{pairing-store-qvpPoWL_.js → pairing-store-CPpEEQJO.js} +2 -2
  185. package/dist/{pairing-token-3hoCgQqp.js → pairing-token-lKXTMQ_M.js} +7 -7
  186. package/dist/{path-alias-guards-BZmt6hFb.js → path-alias-guards-Cu1nXNMM.js} +1 -1
  187. package/dist/{path-alias-guards-BCskHdfJ.js → path-alias-guards-FXBVVTLw.js} +3 -3
  188. package/dist/{path-safety-C1Y004P_.js → path-safety-DwibX65n.js} +1 -1
  189. package/dist/{paths-Bt0fZexW.js → paths-B-CLQ5RT.js} +9 -9
  190. package/dist/{paths-DQpv9a3Q.js → paths-BYNVLNi_.js} +5 -5
  191. package/dist/{paths-D3p7ZvM6.js → paths-D_qUel1T.js} +3 -3
  192. package/dist/{pi-embedded-mKozULng.js → pi-embedded-C6RDRgJM.js} +179 -179
  193. package/dist/{pi-embedded-helpers-BkzrQ5bZ.js → pi-embedded-helpers-BCsfqpDt.js} +6 -6
  194. package/dist/{pi-embedded-helpers-B3ceCcxm.js → pi-embedded-helpers-CghCLoPo.js} +24 -24
  195. package/dist/{pi-embedded-DMx6rHVL.js → pi-embedded-o6Xj8V4C.js} +11 -11
  196. package/dist/{pi-model-discovery-Bt79ifyi.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  197. package/dist/{pi-model-discovery-Dlx4RLWo.js → pi-model-discovery-Bb__OY-j.js} +7 -7
  198. package/dist/{pi-tools.policy-B_ME3yF6.js → pi-tools.policy-DfITIKZj.js} +5 -5
  199. package/dist/{plugin-auto-enable-BMuSi4aV.js → plugin-auto-enable-7DUxMy6A.js} +3 -3
  200. package/dist/{plugin-registry-BY85d-vE.js → plugin-registry-6C1sgAm1.js} +1 -1
  201. package/dist/{plugin-registry-BIoGoN5y.js → plugin-registry-DIK-5KI9.js} +3 -3
  202. package/dist/plugin-sdk/{agent-via-gateway-CXtWg-qx.js → agent-via-gateway-DmQMFWNE.js} +2 -2
  203. package/dist/plugin-sdk/{anton-CGYTy9vy.js → anton-CrjFisFZ.js} +32 -17
  204. package/dist/plugin-sdk/{channel-web-EFRSObCG.js → channel-web-vQgHbtCG.js} +2 -2
  205. package/dist/plugin-sdk/{deps-qZxPlSgp.js → deps-DfyALwFG.js} +1 -1
  206. package/dist/plugin-sdk/{emergency-stop-CxcBz-aQ.js → emergency-stop-0ZrbH3D4.js} +2 -2
  207. package/dist/plugin-sdk/index.js +3 -3
  208. package/dist/plugin-sdk/{reply-nUO1aM3T.js → reply-BfdVf3fw.js} +11 -11
  209. package/dist/plugin-sdk/{web-CEtAvhaI.js → web-DwDLI7GP.js} +3 -3
  210. package/dist/{plugins-DYr-HHj0.js → plugins-CRB60mCJ.js} +10 -10
  211. package/dist/{plugins-B4hASNc2.js → plugins-D46VZh7u.js} +2 -2
  212. package/dist/{plugins-cli-Dlb8QO-K.js → plugins-cli-B1kN2Xze.js} +80 -80
  213. package/dist/{plugins-cli-RFXGkaxP.js → plugins-cli-DFUxLQbB.js} +3 -3
  214. package/dist/{ports-B07M55Gr.js → ports-B2o0FSFD.js} +1 -1
  215. package/dist/{ports-DWJO5S52.js → ports-SQy1d-RL.js} +2 -2
  216. package/dist/{program-context-B_byBfwR.js → program-context-CjyGlgVG.js} +43 -43
  217. package/dist/{program-Do2-I4y3.js → program-mmjp27H4.js} +8 -8
  218. package/dist/{prompt-select-styled-VWGHu3e1.js → prompt-select-styled-04TKk_r3.js} +4 -4
  219. package/dist/{prompt-select-styled-CBF_I30O.js → prompt-select-styled-FskTiqWw.js} +37 -37
  220. package/dist/{provider-auth-helpers-BCc5UtUa.js → provider-auth-helpers-9IcvdTst.js} +1 -1
  221. package/dist/{provider-auth-helpers-BGGSUXOH.js → provider-auth-helpers-BI7MVWjD.js} +5 -5
  222. package/dist/{push-apns-CHmvuoMu.js → push-apns-Bh0u21Bh.js} +1 -1
  223. package/dist/{push-apns-CuwLAoXk.js → push-apns-DvSYSWvk.js} +5 -5
  224. package/dist/{pw-ai-BGALvhDi.js → pw-ai-7i9eGnLh.js} +11 -11
  225. package/dist/{pw-ai-DIV4PcIo.js → pw-ai-CfYaR1K2.js} +13 -13
  226. package/dist/{qmd-manager-CVcPfkhL.js → qmd-manager-B-qeywfQ.js} +19 -19
  227. package/dist/{qmd-manager-BRvg3Rx2.js → qmd-manager-B_GgyQQ0.js} +8 -8
  228. package/dist/{qr-cli-D2Oh8f0U.js → qr-cli-CSt5ihwG.js} +1 -1
  229. package/dist/{query-expansion-i5I3yavb.js → query-expansion-Clts_AGz.js} +12 -12
  230. package/dist/{query-expansion-DHuNyU-_.js → query-expansion-DEq020GG.js} +5 -5
  231. package/dist/{redact-1Y0KPNtr.js → redact-Bvpf-ATQ.js} +1 -1
  232. package/dist/{redact-snapshot-KMo22a85.js → redact-snapshot-BbEVKv0k.js} +1 -1
  233. package/dist/{register.agent-Dx7ULz49.js → register.agent-B3zUfhl9.js} +9 -9
  234. package/dist/{register.agent-CDcuj79y.js → register.agent-BSe92Zxh.js} +95 -95
  235. package/dist/register.configure-DZ9OCp0V.js +168 -0
  236. package/dist/{register.configure-BctHAiWh.js → register.configure-N4JG5hVe.js} +8 -8
  237. package/dist/{register.maintenance-BcFR1fGQ.js → register.maintenance-BjhkxF3o.js} +9 -9
  238. package/dist/{register.maintenance-wv8PzmVy.js → register.maintenance-DxauQqK_.js} +90 -90
  239. package/dist/{register.message-DUAiI9J7.js → register.message-BsMpRFVr.js} +71 -71
  240. package/dist/{register.message-BLScF2fV.js → register.message-DoZ5i1Pn.js} +3 -3
  241. package/dist/{register.onboard-BMNBXD29.js → register.onboard-Cw3wNQRm.js} +2 -2
  242. package/dist/{register.onboard-F09brfSb.js → register.onboard-Hxi3l9IA.js} +18 -18
  243. package/dist/{register.orchestrator-anton-CGhKIDjJ.js → register.orchestrator-anton-BqQfw2JX.js} +14 -14
  244. package/dist/{register.orchestrator-anton-Tn_RaMLq.js → register.orchestrator-anton-DOByOKzU.js} +2 -2
  245. package/dist/{register.setup-jzek547p.js → register.setup-dazD7bl3.js} +21 -21
  246. package/dist/{register.setup-DqbGSLoJ.js → register.setup-r5Xy4nv4.js} +2 -2
  247. package/dist/{register.status-health-sessions-ByfydR_f.js → register.status-health-sessions-3zjBM0m6.js} +82 -82
  248. package/dist/{register.status-health-sessions-wbopjGL-.js → register.status-health-sessions-DobZ2G2u.js} +4 -4
  249. package/dist/{register.subclis-CuNL7Zgu.js → register.subclis-CGJxYP3h.js} +9 -9
  250. package/dist/{replies-2C16fnBP.js → replies-6_GxvQYe.js} +3 -3
  251. package/dist/{replies-Czp4hvpS.js → replies-hSFVxL4h.js} +1 -1
  252. package/dist/{reply-CdFdL9nL.js → reply-BDr-UY9O.js} +153 -153
  253. package/dist/{reply-prefix-DCljZiIB.js → reply-prefix-BUgeSN2R.js} +1 -1
  254. package/dist/{reply-prefix-BMEdvSpA.js → reply-prefix-C3y4zpTl.js} +1 -1
  255. package/dist/{resolve-route-Ef_Yt2Dw.js → resolve-route-D_AbcmD6.js} +2 -2
  256. package/dist/{resolve-route-ClcifpKn.js → resolve-route-DuttYY7A.js} +4 -4
  257. package/dist/{retry-CG6cMRDQ.js → retry-BeB9WenR.js} +1 -1
  258. package/dist/{rpc-CNqnw2FL.js → rpc-Cf9OK5Yk.js} +1 -1
  259. package/dist/{run-main-9A7FdIR1.js → run-main-BDEztzfx.js} +15 -15
  260. package/dist/{runner-BFG54hnb.js → runner-DzszLzI4.js} +20 -20
  261. package/dist/{runner-BkCU-kqs.js → runner-PgRFPYUj.js} +11 -11
  262. package/dist/{runtime-DEmy759r.js → runtime-XmXLaHNk.js} +2 -2
  263. package/dist/{sandbox-CfPbhDY_.js → sandbox-DcUw5h3p.js} +20 -20
  264. package/dist/{sandbox-cli-B4wLJr21.js → sandbox-cli-DGvJ7Eeq.js} +22 -22
  265. package/dist/{secrets-cli-DP718vNZ.js → secrets-cli-CR3h2TBy.js} +9 -9
  266. package/dist/{security-cli-CG2_SV7b.js → security-cli-B9_LV2po.js} +39 -39
  267. package/dist/{send-DDMaLJAQ.js → send--lzpNy4f.js} +7 -7
  268. package/dist/{send-DZa8fWSm.js → send-BeIZJuy4.js} +7 -7
  269. package/dist/{send-Y1hD4tQ1.js → send-C1hvd3bt.js} +6 -6
  270. package/dist/{send-BCPkAE2k.js → send-C4v0Leny.js} +6 -6
  271. package/dist/{send-BOxJ4QXF.js → send-D4bMycQu.js} +7 -7
  272. package/dist/{send-CEavqqEz.js → send-DQiw_nGD.js} +6 -6
  273. package/dist/{send-FLdrx-oF.js → send-Dfa3sn6r.js} +24 -24
  274. package/dist/{send-IlPMLAH-.js → send-DmLC7aEF.js} +10 -10
  275. package/dist/{send-BPwTl4-K.js → send-DuwdEkLw.js} +4 -4
  276. package/dist/{send-CVIXqubC.js → send-DwdHiC7_.js} +13 -13
  277. package/dist/{server-BpSbZAwg.js → server-D6MltJIF.js} +14 -14
  278. package/dist/{server-context-BxNSTpH6.js → server-context-DI0W_H7R.js} +10 -10
  279. package/dist/{server-lifecycle-CGKrGrhM.js → server-lifecycle-B5PlrlbG.js} +2 -2
  280. package/dist/{server-node-events-CbVkqOtV.js → server-node-events-BL1dTBEr.js} +3 -3
  281. package/dist/{server-node-events-BSPxvn7O.js → server-node-events-C69TPlKW.js} +71 -71
  282. package/dist/{service-Bj2oSfpw.js → service-C8NMS3m_.js} +15 -15
  283. package/dist/{session-BKVySI8q.js → session-CdnrRhb4.js} +1 -1
  284. package/dist/{session-nUPBXeEa.js → session-F_YDS_1V.js} +7 -7
  285. package/dist/{sessions-DRA4oaxz.js → sessions-3ioSeOA1.js} +41 -41
  286. package/dist/{sessions-BqWocozB.js → sessions-BtPXimXQ.js} +14 -14
  287. package/dist/{shared-DnQ4iyXk.js → shared-CpDPo3hJ.js} +2 -2
  288. package/dist/{shared-Jzrx8DfN.js → shared-DpLSpJIl.js} +1 -1
  289. package/dist/{skill-commands-BwIRWSCI.js → skill-commands-BFzmZAfo.js} +5 -5
  290. package/dist/{skill-commands-BHTBXXVn.js → skill-commands-Ck3flWX7.js} +9 -9
  291. package/dist/{skill-scanner-B4Ftsbd2.js → skill-scanner-D7mzXRXd.js} +5 -5
  292. package/dist/{skills-umlGvChF.js → skills-CnAPWfca.js} +22 -22
  293. package/dist/{skills-TIyQDZx7.js → skills-DlvDyK8L.js} +3 -3
  294. package/dist/{skills-cli-5lbXi4Lh.js → skills-cli-BhKGhjbO.js} +5 -5
  295. package/dist/{skills-install-D0JHP5uM.js → skills-install-tr6wRWZj.js} +4 -4
  296. package/dist/{skills-status-Q9skQExW.js → skills-status-qjQ8XP0h.js} +1 -1
  297. package/dist/{status-ClMOrHdT.js → status-AEwcpHsu.js} +2 -2
  298. package/dist/{status-YWasgjym.js → status-B8z0RCPf.js} +24 -24
  299. package/dist/{status.update-C3uRz7W6.js → status.update-CTi6vuWj.js} +2 -2
  300. package/dist/{store-D-ZicQeo.js → store-CvMgrKWx.js} +2 -2
  301. package/dist/{store-CLNuI8-G.js → store-kH9wHHbO.js} +5 -5
  302. package/dist/{subagent-registry-BH5O1rxK.js → subagent-registry-Dclk-Ews.js} +11 -11
  303. package/dist/{subsystem-D7ZepYT1.js → subsystem-tzu-rIAJ.js} +1 -1
  304. package/dist/{system-cli-BfjZ6QvH.js → system-cli-DyVZ5udc.js} +8 -8
  305. package/dist/{system-run-approval-context-xZVoE4nS.js → system-run-approval-context-CISBXlNw.js} +1 -1
  306. package/dist/{system-run-command-BIhrK3OI.js → system-run-command-qJdgzxLp.js} +1 -1
  307. package/dist/{systemd-DyrVLTI0.js → systemd-CaCR5CyM.js} +9 -9
  308. package/dist/{systemd-hints-BoKKzRI_.js → systemd-hints-DHu-HVFx.js} +6 -6
  309. package/dist/{systemd-linger-DrhGd61G.js → systemd-linger-B7XlUHk_.js} +1 -1
  310. package/dist/{tables-Co_R_WKs.js → tables-5k-zOZ-s.js} +1 -1
  311. package/dist/{tables-CZSD889r.js → tables-g9xkflht.js} +1 -1
  312. package/dist/{target-errors-B1mcM4WR.js → target-errors-BPfQrPim.js} +2 -2
  313. package/dist/{target-errors-BYuWhuLU.js → target-errors-bLIVFsbF.js} +4 -4
  314. package/dist/{tokens-DGajj8M9.js → tokens-BRLyURxW.js} +1 -1
  315. package/dist/{tool-images-DZHrc4pq.js → tool-images-CHqepyF_.js} +1 -1
  316. package/dist/{tool-images-Duuqr4bN.js → tool-images-CcGZpzmq.js} +2 -2
  317. package/dist/{tool-loop-detection-CjWRg_4q.js → tool-loop-detection-BNGetx3Z.js} +3 -3
  318. package/dist/{tui-B2bAseIB.js → tui-Bne3YNiw.js} +6 -6
  319. package/dist/{tui-cli-cewAjqAk.js → tui-cli-D0Z-rcUe.js} +30 -30
  320. package/dist/{update-la2AdLf3.js → update-D79ppbMQ.js} +3 -3
  321. package/dist/{update-cli-D7gDHoEE.js → update-cli-8Tk6PCmD.js} +99 -99
  322. package/dist/{update-cli-Cxp_mYOH.js → update-cli-Bobm67f-.js} +9 -9
  323. package/dist/{update-runner-DRglQgXe.js → update-runner-B4xzPa4-.js} +15 -15
  324. package/dist/{update-runner-tu2Aiphu.js → update-runner-C4NjVy9-.js} +1 -1
  325. package/dist/{upgrade-command-28wRHZZ2.js → upgrade-command-909a7QUc.js} +3 -3
  326. package/dist/{utils-D9wGoiU9.js → utils-CTFLl_ji.js} +18 -18
  327. package/dist/{web-aRaB-CvF.js → web-9J12F46d.js} +3 -3
  328. package/dist/{web-BxegDO-S.js → web-DPSpgc_K.js} +3 -3
  329. package/dist/web-Dqy4kqC9.js +123 -0
  330. package/dist/{web-BuIXrrsp.js → web-NzOJcvWO.js} +66 -66
  331. package/dist/{webhooks-cli-BnmVPYkU.js → webhooks-cli-2N03q0iY.js} +6 -6
  332. package/dist/{whatsapp-actions-D2mBFzmK.js → whatsapp-actions-Cms8wQM1.js} +18 -18
  333. package/dist/{whatsapp-actions-BJ6kVDXi.js → whatsapp-actions-DbPcN6JQ.js} +25 -25
  334. package/dist/{with-timeout-BodPmGCY.js → with-timeout-DEdycYxq.js} +3 -3
  335. package/dist/{workspace-CDw87aZG.js → workspace-D3pARwoB.js} +1 -1
  336. package/dist/{workspace-tAtkoD_r.js → workspace-DBFSzT6O.js} +18 -18
  337. package/dist/{workspace-dirs-D3bousoX.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  338. package/dist/{wsl-CgXDjE09.js → wsl-BJW8nTyL.js} +2 -2
  339. package/extensions/acpx/package.json +1 -1
  340. package/extensions/bluebubbles/package.json +1 -1
  341. package/extensions/copilot-proxy/package.json +1 -1
  342. package/extensions/diagnostics-otel/package.json +1 -1
  343. package/extensions/discord/package.json +1 -1
  344. package/extensions/feishu/package.json +1 -1
  345. package/extensions/google-gemini-cli-auth/package.json +1 -1
  346. package/extensions/googlechat/package.json +1 -1
  347. package/extensions/hand/package.json +1 -1
  348. package/extensions/imessage/package.json +1 -1
  349. package/extensions/irc/package.json +1 -1
  350. package/extensions/line/package.json +1 -1
  351. package/extensions/llm-task/package.json +1 -1
  352. package/extensions/matrix/CHANGELOG.md +6 -0
  353. package/extensions/matrix/package.json +1 -1
  354. package/extensions/mattermost/package.json +1 -1
  355. package/extensions/memory-core/package.json +1 -1
  356. package/extensions/memory-lancedb/package.json +1 -1
  357. package/extensions/minimax-portal-auth/package.json +1 -1
  358. package/extensions/msteams/CHANGELOG.md +6 -0
  359. package/extensions/msteams/package.json +1 -1
  360. package/extensions/nextcloud-talk/package.json +1 -1
  361. package/extensions/nostr/CHANGELOG.md +6 -0
  362. package/extensions/nostr/package.json +1 -1
  363. package/extensions/open-prose/package.json +1 -1
  364. package/extensions/signal/package.json +1 -1
  365. package/extensions/slack/package.json +1 -1
  366. package/extensions/synology-chat/package.json +1 -1
  367. package/extensions/telegram/package.json +1 -1
  368. package/extensions/tlon/package.json +1 -1
  369. package/extensions/twitch/CHANGELOG.md +6 -0
  370. package/extensions/twitch/package.json +1 -1
  371. package/extensions/voice-call/CHANGELOG.md +6 -0
  372. package/extensions/voice-call/package.json +1 -1
  373. package/extensions/whatsapp/package.json +1 -1
  374. package/extensions/zalo/CHANGELOG.md +6 -0
  375. package/extensions/zalo/package.json +1 -1
  376. package/extensions/zalouser/CHANGELOG.md +6 -0
  377. package/extensions/zalouser/package.json +1 -1
  378. package/package.json +1 -1
  379. package/dist/anton-D9tZAGaj.js +0 -777
  380. package/dist/emergency-stop-DyQna_P0.js +0 -113
  381. package/dist/register.configure-CxwdWRSG.js +0 -168
  382. package/dist/web-DESq0zCM.js +0 -123
@@ -1,169 +1,169 @@
1
1
  import { g as resolveStateDir, i as isNixMode, l as resolveGatewayLockDir, o as resolveConfigPath, r as STATE_DIR, t as CONFIG_PATH, u as resolveGatewayPort } from "./paths-Cn44w-EB.js";
2
2
  import { B as theme, D as isPlainObject, E as truncateUtf16Safe, H as getLogger, M as logVerbose, P as setVerbose, R as colorize, S as shortenHomePath, U as getResolvedLoggerSettings, V as getChildLogger, c as ensureDir, r as clamp, y as resolveUserPath, z as isRich } from "./utils-CXzXXV2o.js";
3
3
  import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
4
- import { $ as normalizeOptionalAgentId, $n as resolveTtsAutoMode, $t as resolveAgentAvatar, A as resolveOutboundSessionRoute, B as setGatewaySigusr1RestartPolicy, Bn as buildOutboundSessionContext, Br as DEFAULT_INPUT_TIMEOUT_MS, Bt as createOutboundSendDeps, C as loadCombinedSessionStoreForGateway, Cn as formatZonedTimestamp, Cr as enqueueSystemEvent, D as resolveSessionModelRef, Dr as requestHeartbeatNow, Dt as requestBodyErrorToText, E as resolveGatewaySessionStoreTarget, En as getTotalPendingReplies, Et as readJsonBodyWithLimit, F as deferGatewayRestartUntilIdle, Fn as listDescendantRunsForRequester, Fr as normalizeSendPolicy, Gn as onAgentEvent, Gr as resolveAgentTimeoutMs, Gt as setCliSessionId, H as consumeRestartSentinel, Hn as clearAgentRunContext, Hr as extractImageContentFromSource, Ht as parseVerboseOverride, I as emitGatewayRestart, Ir as resolveSendPolicy, J as writeRestartSentinel, Jn as clearBootstrapSnapshot, K as summarizeRestartSentinel, Kn as registerAgentRunContext, Kt as runCliAgent, L as isGatewaySigusr1RestartExternallyAllowed, Ln as runSubagentAnnounceFlow, Lr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Lt as resolveOutboundTarget, M as resetDirectoryCache, Mn as stopSubagentsForRequester, Mr as ACP_SESSION_IDENTITY_RENDERER_VERSION, Nn as countActiveDescendantRuns, Nr as getAcpSessionManager, Nt as resolveAgentDeliveryPlan, Ot as computeBackoff, P as consumeGatewaySigusr1RestartAuthorization, Pn as initSubagentRegistry, Pr as resolveAgentSessionDirs, Pt as resolveAgentOutboundTarget, Q as inferLegacyName, Qn as resolveTtsApiKey, Qt as resolveSessionAuthProfileOverride, R as markGatewaySigusr1RestartHandled, Rn as resolveAnnounceTargetFromKey, Rr as DEFAULT_INPUT_IMAGE_MIMES, Rt as resolveSessionDeliveryTarget, S as listSessionsFromStore, T as pruneLegacyStoreKeys, Tn as createReplyDispatcher, Tt as handleSlackHttpRequest, U as formatDoctorNonInteractiveHint, Un as emitAgentEvent, Ur as normalizeMimeList, Ut as runWithModelFallback, V as setPreRestartDeferralCheck, Vn as clearSessionQueues, Vr as extractFileContentFromSource, Vt as applyVerboseOverride, W as formatRestartSentinelMessage, Wn as getAgentRunContext, Wr as resolveInputFileLimits, Wt as getCliSessionId, X as normalizeCronJobCreate, Xn as isTtsEnabled, Xt as lookupContextTokens, Y as normalizeHttpWebhookUrl, Yn as getTtsProvider, Yt as applyModelOverrideToSessionEntry, Z as normalizeCronJobPatch, Zn as isTtsProviderConfigured, _t as normalizeGroupActivation, an as getHookType, ar as textToSpeech, at as buildDeliveryFromLegacyPayload, br as stripHeartbeatToken, cr as getActiveTaskCount, d as runEmbeddedPiAgent, dn as buildHistoryContextFromEntries, dr as markGatewayDraining, dt as persistBrowserProxyFiles, er as resolveTtsConfig, et as normalizeOptionalSessionKey, f as abortEmbeddedPiRun, fr as resetAllLanes, ft as getPluginToolMeta, g as buildDefaultToolPolicyPipelineSteps, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, h as applyToolPolicyPipeline, hr as CommandLane, ht as loadIdleHandsPlugins, i as resolveCronStyleNow, in as detectSuspiciousPatterns, ir as setTtsProvider, it as migrateLegacyCronPayload, jn as isAbortRequestText, jt as agentCommand, k as ensureOutboundSessionEntry, kt as sleepWithAbort, m as waitForEmbeddedPiRunEnd, mr as waitForActiveTasks, n as BARE_SESSION_RESET_PROMPT, nr as resolveTtsProviderOrder, nt as normalizePayloadToSystemText, on as isExternalHookSession, or as OPENAI_TTS_MODELS, ot as hasLegacyDeliveryHints, p as getActiveEmbeddedRunCount, pr as setCommandLaneConcurrency, pt as resolvePluginTools, qn as resolveUserTimezone, rn as buildSafeExternalPrompt, rr as setTtsEnabled, rt as normalizeRequiredName, sn as unbindThreadBindingsBySessionKey, sr as OPENAI_TTS_VOICES, st as stripLegacyDeliveryFields, tr as resolveTtsPrefsPath, tt as normalizeOptionalText, ur as getTotalQueueSize, ut as applyBrowserProxyPaths, v as createIdleHandsTools, w as loadSessionEntry, wn as dispatchInboundMessage, wr as isSystemEventContextChanged, x as listAgentsForGateway, y as canonicalizeSpawnedByForAgent, yt as loadProviderUsageSummary, z as scheduleGatewaySigusr1Restart, zn as readLatestAssistantReply, zr as DEFAULT_INPUT_MAX_REDIRECTS, zt as resolveOutboundChannelPlugin } from "./reply-CdFdL9nL.js";
5
- import { A as resolveDefaultAgentWorkspaceDir, C as DEFAULT_SOUL_FILENAME, E as ensureAgentWorkspace, O as isWorkspaceOnboardingCompleted, S as DEFAULT_MEMORY_FILENAME, T as DEFAULT_USER_FILENAME, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, g as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, j as resolveWorkspaceTemplateDir, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME, w as DEFAULT_TOOLS_FILENAME, x as DEFAULT_MEMORY_ALT_FILENAME, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-Bn39ugK4.js";
4
+ import { $ as normalizeOptionalAgentId, $n as resolveTtsAutoMode, $t as resolveAgentAvatar, A as resolveOutboundSessionRoute, B as setGatewaySigusr1RestartPolicy, Bn as buildOutboundSessionContext, Br as DEFAULT_INPUT_TIMEOUT_MS, Bt as createOutboundSendDeps, C as loadCombinedSessionStoreForGateway, Cn as formatZonedTimestamp, Cr as enqueueSystemEvent, D as resolveSessionModelRef, Dr as requestHeartbeatNow, Dt as requestBodyErrorToText, E as resolveGatewaySessionStoreTarget, En as getTotalPendingReplies, Et as readJsonBodyWithLimit, F as deferGatewayRestartUntilIdle, Fn as listDescendantRunsForRequester, Fr as normalizeSendPolicy, Gn as onAgentEvent, Gr as resolveAgentTimeoutMs, Gt as setCliSessionId, H as consumeRestartSentinel, Hn as clearAgentRunContext, Hr as extractImageContentFromSource, Ht as parseVerboseOverride, I as emitGatewayRestart, Ir as resolveSendPolicy, J as writeRestartSentinel, Jn as clearBootstrapSnapshot, K as summarizeRestartSentinel, Kn as registerAgentRunContext, Kt as runCliAgent, L as isGatewaySigusr1RestartExternallyAllowed, Ln as runSubagentAnnounceFlow, Lr as DEFAULT_INPUT_IMAGE_MAX_BYTES, Lt as resolveOutboundTarget, M as resetDirectoryCache, Mn as stopSubagentsForRequester, Mr as ACP_SESSION_IDENTITY_RENDERER_VERSION, Nn as countActiveDescendantRuns, Nr as getAcpSessionManager, Nt as resolveAgentDeliveryPlan, Ot as computeBackoff, P as consumeGatewaySigusr1RestartAuthorization, Pn as initSubagentRegistry, Pr as resolveAgentSessionDirs, Pt as resolveAgentOutboundTarget, Q as inferLegacyName, Qn as resolveTtsApiKey, Qt as resolveSessionAuthProfileOverride, R as markGatewaySigusr1RestartHandled, Rn as resolveAnnounceTargetFromKey, Rr as DEFAULT_INPUT_IMAGE_MIMES, Rt as resolveSessionDeliveryTarget, S as listSessionsFromStore, T as pruneLegacyStoreKeys, Tn as createReplyDispatcher, Tt as handleSlackHttpRequest, U as formatDoctorNonInteractiveHint, Un as emitAgentEvent, Ur as normalizeMimeList, Ut as runWithModelFallback, V as setPreRestartDeferralCheck, Vn as clearSessionQueues, Vr as extractFileContentFromSource, Vt as applyVerboseOverride, W as formatRestartSentinelMessage, Wn as getAgentRunContext, Wr as resolveInputFileLimits, Wt as getCliSessionId, X as normalizeCronJobCreate, Xn as isTtsEnabled, Xt as lookupContextTokens, Y as normalizeHttpWebhookUrl, Yn as getTtsProvider, Yt as applyModelOverrideToSessionEntry, Z as normalizeCronJobPatch, Zn as isTtsProviderConfigured, _t as normalizeGroupActivation, an as getHookType, ar as textToSpeech, at as buildDeliveryFromLegacyPayload, br as stripHeartbeatToken, cr as getActiveTaskCount, d as runEmbeddedPiAgent, dn as buildHistoryContextFromEntries, dr as markGatewayDraining, dt as persistBrowserProxyFiles, er as resolveTtsConfig, et as normalizeOptionalSessionKey, f as abortEmbeddedPiRun, fr as resetAllLanes, ft as getPluginToolMeta, g as buildDefaultToolPolicyPipelineSteps, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, h as applyToolPolicyPipeline, hr as CommandLane, ht as loadIdleHandsPlugins, i as resolveCronStyleNow, in as detectSuspiciousPatterns, ir as setTtsProvider, it as migrateLegacyCronPayload, jn as isAbortRequestText, jt as agentCommand, k as ensureOutboundSessionEntry, kt as sleepWithAbort, m as waitForEmbeddedPiRunEnd, mr as waitForActiveTasks, n as BARE_SESSION_RESET_PROMPT, nr as resolveTtsProviderOrder, nt as normalizePayloadToSystemText, on as isExternalHookSession, or as OPENAI_TTS_MODELS, ot as hasLegacyDeliveryHints, p as getActiveEmbeddedRunCount, pr as setCommandLaneConcurrency, pt as resolvePluginTools, qn as resolveUserTimezone, rn as buildSafeExternalPrompt, rr as setTtsEnabled, rt as normalizeRequiredName, sn as unbindThreadBindingsBySessionKey, sr as OPENAI_TTS_VOICES, st as stripLegacyDeliveryFields, tr as resolveTtsPrefsPath, tt as normalizeOptionalText, ur as getTotalQueueSize, ut as applyBrowserProxyPaths, v as createIdleHandsTools, w as loadSessionEntry, wn as dispatchInboundMessage, wr as isSystemEventContextChanged, x as listAgentsForGateway, y as canonicalizeSpawnedByForAgent, yt as loadProviderUsageSummary, z as scheduleGatewaySigusr1Restart, zn as readLatestAssistantReply, zr as DEFAULT_INPUT_MAX_REDIRECTS, zt as resolveOutboundChannelPlugin } from "./reply-BDr-UY9O.js";
5
+ import { A as resolveDefaultAgentWorkspaceDir, C as DEFAULT_SOUL_FILENAME, E as ensureAgentWorkspace, O as isWorkspaceOnboardingCompleted, S as DEFAULT_MEMORY_FILENAME, T as DEFAULT_USER_FILENAME, a as resolveAgentDir, b as DEFAULT_IDENTITY_FILENAME, c as resolveAgentModelFallbacksOverride, d as resolveDefaultAgentId, g as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, j as resolveWorkspaceTemplateDir, l as resolveAgentSkillsFilter, m as resolveSessionAgentId, n as listAgentEntries, r as listAgentIds, u as resolveAgentWorkspaceDir, v as DEFAULT_BOOTSTRAP_FILENAME, w as DEFAULT_TOOLS_FILENAME, x as DEFAULT_MEMORY_ALT_FILENAME, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-RA0zXRpu.js";
6
6
  import { F as triggerInternalHook, M as clearInternalHooks, N as createInternalHookEvent, P as registerInternalHook, a as setConsoleSubsystemFilter, b as getActivePluginRegistry, d as CHANNEL_IDS, n as runtimeForLogger, o as setConsoleTimestampPrefix, t as createSubsystemLogger, w as createEmptyPluginRegistry } from "./subsystem-CGZX2PBV.js";
7
7
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
8
8
  import { C as isSubagentSessionKey, c as normalizeMainKey, f as toAgentRequestSessionKey, h as normalizeAccountId$1, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, p as toAgentStoreSessionKey, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, w as parseAgentSessionKey, x as isCronRunSessionKey } from "./session-key-Cuihcz_O.js";
9
- import { a as openBoundaryFileSync, d as isNotFoundPathError, i as openBoundaryFile, m as matchesSkillFilter, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveIdleHandsPackageRoot } from "./idlehands-root-DFL2GrNW.js";
9
+ import { a as openBoundaryFileSync, d as isNotFoundPathError, i as openBoundaryFile, m as matchesSkillFilter, o as openVerifiedFileSync, s as sameFileIdentity, t as resolveIdleHandsPackageRoot } from "./idlehands-root-B8cUs-5M.js";
10
10
  import { i as logDebug, n as runExec, s as logWarn, t as runCommandWithTimeout } from "./exec-CKHMT0tZ.js";
11
- import { $r as DEFAULT_PROVIDER, Bt as resolveConfigSnapshotHash, Ft as createConfigIO, Ht as writeConfigFile, It as loadConfig, Lt as parseConfigJson5, Nt as migrateLegacyConfig, Qr as DEFAULT_MODEL, Rt as readConfigFileSnapshot, Ut as validateConfigObjectWithPlugins, Wr as normalizeSecretInput, Wt as IdleHandsSchema, Zr as DEFAULT_CONTEXT_TOKENS, _n as looksLikeAvatarPath, a as getModelRefStatus, cn as parseDurationMs, dr as buildTalkConfigResponse, f as resolveAllowedModelRef, fn as isAvatarHttpUrl, g as resolveHooksGmailModel, h as resolveDefaultModelForAgent, ln as parseByteSize, m as resolveConfiguredModelRef, mr as resolveSubagentMaxConcurrent, nr as applyLegacyMigrations, pn as isAvatarImageDataUrl, pr as resolveAgentMaxConcurrent, s as isCliProvider, t as buildAllowedModelSet, tr as applyMergePatch, un as AVATAR_MAX_BYTES, x as resolveThinkingDefault, y as resolveSubagentConfiguredModelSelection, zr as isPidAlive, zt as readConfigFileSnapshotForWrite } from "./model-selection-CSn9tUuH.js";
11
+ import { $r as DEFAULT_PROVIDER, Bt as resolveConfigSnapshotHash, Ft as createConfigIO, Ht as writeConfigFile, It as loadConfig, Lt as parseConfigJson5, Nt as migrateLegacyConfig, Qr as DEFAULT_MODEL, Rt as readConfigFileSnapshot, Ut as validateConfigObjectWithPlugins, Wr as normalizeSecretInput, Wt as IdleHandsSchema, Zr as DEFAULT_CONTEXT_TOKENS, _n as looksLikeAvatarPath, a as getModelRefStatus, cn as parseDurationMs, dr as buildTalkConfigResponse, f as resolveAllowedModelRef, fn as isAvatarHttpUrl, g as resolveHooksGmailModel, h as resolveDefaultModelForAgent, ln as parseByteSize, m as resolveConfiguredModelRef, mr as resolveSubagentMaxConcurrent, nr as applyLegacyMigrations, pn as isAvatarImageDataUrl, pr as resolveAgentMaxConcurrent, s as isCliProvider, t as buildAllowedModelSet, tr as applyMergePatch, un as AVATAR_MAX_BYTES, x as resolveThinkingDefault, y as resolveSubagentConfiguredModelSelection, zr as isPidAlive, zt as readConfigFileSnapshotForWrite } from "./model-selection-0dGxYGp8.js";
12
12
  import "./github-copilot-token-D7lpquOO.js";
13
13
  import { t as formatCliCommand } from "./command-format-DInZLuZ8.js";
14
14
  import "./boolean-BsqeuxE6.js";
15
15
  import { n as logAcceptedEnvOption, t as isTruthyEnvValue } from "./env-Bx-F45X5.js";
16
16
  import "./host-env-security-DkAVVuaw.js";
17
17
  import { i as resolveRuntimeServiceVersion, r as VERSION } from "./env-vars-sTMVGyld.js";
18
- import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-RfRn8HJx.js";
19
- import "./dock-CzF5XYGd.js";
18
+ import { l as isTestDefaultMemorySlotDisabled } from "./manifest-registry-Bak1x76G.js";
19
+ import "./dock-Y96MzKuM.js";
20
20
  import { _ as normalizeGatewayClientMode, f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, h as GATEWAY_CLIENT_NAMES, i as isGatewayMessageChannel, l as normalizeMessageChannel, m as GATEWAY_CLIENT_MODES, n as isDeliverableMessageChannel, p as GATEWAY_CLIENT_IDS, r as isGatewayCliClient, s as isWebchatClient, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DVauVtrg.js";
21
- import "./send-CVIXqubC.js";
22
- import { d as registerUnhandledRejectionHandler } from "./runner-BFG54hnb.js";
23
- import { x as extractTextFromChatContent } from "./image-C2JZiK-6.js";
24
- import "./models-config-lQpqp472.js";
25
- import "./pi-model-discovery-Bt79ifyi.js";
26
- import "./pi-embedded-helpers-BkzrQ5bZ.js";
27
- import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-CfPbhDY_.js";
21
+ import "./send-DwdHiC7_.js";
22
+ import { d as registerUnhandledRejectionHandler } from "./runner-DzszLzI4.js";
23
+ import { x as extractTextFromChatContent } from "./image-DSDEbSiO.js";
24
+ import "./models-config-C5A1wDWh.js";
25
+ import "./pi-model-discovery-BIP3RjXl.js";
26
+ import "./pi-embedded-helpers-BCsfqpDt.js";
27
+ import { C as resolveToolProfilePolicy, _ as collectExplicitAllowlist, y as mergeAlsoAllowPolicy } from "./sandbox-DcUw5h3p.js";
28
28
  import { i as listCoreToolSections, n as PROFILE_OPTIONS, o as resolveCoreToolProfiles } from "./tool-catalog-4_Wxc542.js";
29
- import "./chrome-YguTEaLx.js";
29
+ import "./chrome-VBsQfIrt.js";
30
30
  import { i as enableTailscaleServe, n as disableTailscaleServe, o as getTailnetHostname, r as enableTailscaleFunnel, t as disableTailscaleFunnel } from "./tailscale-B5Irc_Bi.js";
31
31
  import { t as safeEqualSecret } from "./secret-equal-D_OXOV-d.js";
32
32
  import "./ip-DJ5wsTQn.js";
33
33
  import { n as pickPrimaryTailnetIPv4, r as pickPrimaryTailnetIPv6 } from "./tailnet-C9lH_YnG.js";
34
34
  import { c as normalizeHostHeader, d as resolveGatewayBindHost, f as resolveGatewayListenHosts, i as isLoopbackHost, l as pickPrimaryLanIPv4, n as isLocalishHost, o as isTrustedProxyAddress, p as resolveHostName, r as isLoopbackAddress, s as isValidIPv4, t as rawDataToString, u as resolveClientIp } from "./ws-XBTtYpJc.js";
35
35
  import { a as resolveGatewayAuth, c as AUTH_RATE_LIMIT_SCOPE_SHARED_SECRET, i as isLocalDirectRequest, l as createAuthRateLimiter, n as authorizeHttpGatewayConnect, o as AUTH_RATE_LIMIT_SCOPE_DEVICE_TOKEN, r as authorizeWsControlUiGatewayConnect, s as AUTH_RATE_LIMIT_SCOPE_HOOK_AUTH, t as assertGatewayAuthConfigured, u as normalizeRateLimitClientIp } from "./auth-heRVBxh2.js";
36
- import { c as ensureGatewayStartupAuth, l as mergeGatewayTailscaleConfig } from "./server-context-BxNSTpH6.js";
36
+ import { c as ensureGatewayStartupAuth, l as mergeGatewayTailscaleConfig } from "./server-context-DI0W_H7R.js";
37
37
  import { d as hasBinary } from "./frontmatter-D-sQ_Hqk.js";
38
- import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-TIyQDZx7.js";
39
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-BCskHdfJ.js";
40
- import "./paths-Bt0fZexW.js";
38
+ import { i as loadWorkspaceSkillEntries, r as buildWorkspaceSkillSnapshot } from "./skills-DlvDyK8L.js";
39
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-FXBVVTLw.js";
40
+ import "./paths-B-CLQ5RT.js";
41
41
  import { i as compileSafeRegex } from "./redact-B_4KNlXs.js";
42
42
  import { a as isErrno, n as formatErrorMessage } from "./errors-DZDuPc3M.js";
43
- import { i as writeFileWithinRoot, n as openFileWithinRoot, r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-DNFrxDS-.js";
43
+ import { i as writeFileWithinRoot, n as openFileWithinRoot, r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-_JQUGpZf.js";
44
44
  import { t as SsrFBlockedError } from "./ssrf-Dw9zzKSM.js";
45
- import { c as detectMime } from "./image-ops-BkoEFRYH.js";
46
- import "./store-CLNuI8-G.js";
47
- import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-DWJO5S52.js";
45
+ import { c as detectMime } from "./image-ops-BU-VdLZu.js";
46
+ import "./store-kH9wHHbO.js";
47
+ import { a as inspectPortUsage, l as formatPortDiagnostics, r as ensurePortAvailable } from "./ports-SQy1d-RL.js";
48
48
  import { t as movePathToTrash } from "./trash-CUFiyQN5.js";
49
49
  import "./server-middleware-BC21xYvr.js";
50
- import { $ as resolveExplicitAgentSessionKey, A as cleanupArchivedSessionTranscripts, C as mergeDeliveryContext, D as archiveFileOnDisk, F as stripEnvelopeFromMessage, H as evaluateSessionFreshness, I as stripEnvelopeFromMessages, J as mergeSessionEntry, M as readSessionPreviewItemsFromTranscript, O as archiveSessionTranscripts, P as resolveSessionTranscriptCandidates, Q as resolveAgentMainSessionKey, R as stripInlineDirectiveTagsForDisplay, T as normalizeSessionDeliveryFields, W as resolveSessionResetPolicy, X as setSessionRuntimeModel, Z as canonicalizeMainSessionAlias, c as loadSessionStore, et as resolveMainSessionKey, g as updateSessionStore, j as readSessionMessages, k as capArrayByJsonBytes, lt as cleanStaleLockFiles, n as extractDeliveryInfo, r as parseSessionThreadInfo, rt as snapshotSessionOrigin, tt as resolveMainSessionKeyFromConfig, x as deliveryContextFromSession, z as stripInlineDirectiveTagsFromMessageForDisplay } from "./sessions-BqWocozB.js";
51
- import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-B4hASNc2.js";
52
- import { i as resolveWhatsAppAccount } from "./accounts-D-hQsUw-.js";
53
- import "./accounts-DsVN0UNw.js";
54
- import "./accounts-D87a1Y_K.js";
55
- import { t as buildChannelAccountBindings } from "./bindings-DZjkLUU_.js";
50
+ import { $ as resolveExplicitAgentSessionKey, A as cleanupArchivedSessionTranscripts, C as mergeDeliveryContext, D as archiveFileOnDisk, F as stripEnvelopeFromMessage, H as evaluateSessionFreshness, I as stripEnvelopeFromMessages, J as mergeSessionEntry, M as readSessionPreviewItemsFromTranscript, O as archiveSessionTranscripts, P as resolveSessionTranscriptCandidates, Q as resolveAgentMainSessionKey, R as stripInlineDirectiveTagsForDisplay, T as normalizeSessionDeliveryFields, W as resolveSessionResetPolicy, X as setSessionRuntimeModel, Z as canonicalizeMainSessionAlias, c as loadSessionStore, et as resolveMainSessionKey, g as updateSessionStore, j as readSessionMessages, k as capArrayByJsonBytes, lt as cleanStaleLockFiles, n as extractDeliveryInfo, r as parseSessionThreadInfo, rt as snapshotSessionOrigin, tt as resolveMainSessionKeyFromConfig, x as deliveryContextFromSession, z as stripInlineDirectiveTagsFromMessageForDisplay } from "./sessions-BtPXimXQ.js";
51
+ import { n as listChannelPlugins, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-D46VZh7u.js";
52
+ import { i as resolveWhatsAppAccount } from "./accounts-DLTODa_Z.js";
53
+ import "./accounts-3HS_UAhJ.js";
54
+ import "./accounts-DgbTKQoW.js";
55
+ import { t as buildChannelAccountBindings } from "./bindings-B59Q7nsk.js";
56
56
  import "./logging-q4KyMmY-.js";
57
- import "./auth-store-CMyrmmSF.js";
58
- import "./send-BPwTl4-K.js";
57
+ import "./auth-store-DDzIMy8_.js";
58
+ import "./send-DuwdEkLw.js";
59
59
  import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, u as resolveStorePath } from "./paths-DRz46q00.js";
60
60
  import { i as normalizeInputProvenance } from "./input-provenance-CTnwu8Ge.js";
61
61
  import "./chat-envelope-Bebo3vwl.js";
62
- import "./tool-images-DZHrc4pq.js";
62
+ import "./tool-images-CHqepyF_.js";
63
63
  import "./tool-display-Dac7lHGW.js";
64
64
  import { t as fetchWithSsrFGuard } from "./fetch-guard-yUZu1Vzc.js";
65
- import "./api-key-rotation-nXQVJErE.js";
66
- import "./local-roots-Cco87A2_.js";
67
- import { n as loadModelCatalog } from "./model-catalog-BCsDrrvq.js";
65
+ import "./api-key-rotation-B-FTJm5p.js";
66
+ import "./local-roots-q0xbefkf.js";
67
+ import { n as loadModelCatalog } from "./model-catalog-D9no0CH2.js";
68
68
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-Dg-QZ_pN.js";
69
- import { S as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads, w as runGlobalGatewayStopSafely } from "./deliver-yTpXc5sv.js";
70
- import { r as isRestartEnabled } from "./commands-D3BU_t7G.js";
71
- import "./commands-registry-Cj4D_1tw.js";
72
- import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as PROTOCOL_VERSION, B as validateExecApprovalsGetParams, Bt as getPairedDevice, C as validateConfigSetParams, Ct as validateWakeParams, D as validateCronRemoveParams, Dt as validateWizardNextParams, E as validateCronListParams, Et as validateWizardCancelParams, F as validateDevicePairRemoveParams, Ft as buildDeviceAuthPayload, G as validateModelsListParams, Gt as revokeDeviceToken, H as validateExecApprovalsNodeSetParams, Ht as rejectDevicePairing, I as validateDeviceTokenRevokeParams, It as buildDeviceAuthPayloadV3, J as validateNodeInvokeParams, Jt as updatePairedDeviceMetadata, K as validateNodeDescribeParams, Kt as rotateDeviceToken, L as validateDeviceTokenRotateParams, Lt as normalizeDeviceMetadataForAuth, M as validateDevicePairApproveParams, Mt as errorShape, N as validateDevicePairListParams, O as validateCronRunParams, Ot as validateWizardStartParams, P as validateDevicePairRejectParams, Pt as parseSessionLabel, Q as validateNodePairListParams, Qt as deriveDeviceIdFromPublicKey, R as validateExecApprovalRequestParams, Rt as approveDevicePairing, S as validateConfigSchemaParams, St as validateUpdateRunParams, T as validateCronAddParams, Tt as validateWebLoginWaitParams, U as validateExecApprovalsSetParams, Ut as removePairedDevice, V as validateExecApprovalsNodeGetParams, Vt as listDevicePairing, W as validateLogsTailParams, Wt as requestDevicePairing, X as validateNodeListParams, Xt as roleScopesAllow, Y as validateNodeInvokeResultParams, Yt as verifyDeviceToken, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, en as normalizeDevicePublicKeyBase64Url, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as ErrorCodes, k as validateCronRunsParams, kt as validateWizardStatusParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, qt as summarizeDeviceTokens, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tn as verifyDeviceSignature, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, w as validateConnectParams, wt as validateWebLoginStartParams, x as validateConfigPatchParams, xt as validateToolsCatalogParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, z as validateExecApprovalResolveParams, zt as ensureDeviceToken } from "./client-Dl5EAvfO.js";
73
- import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-Du-oBD99.js";
74
- import { c as readJsonFile, l as writeJsonAtomic, s as createAsyncLock } from "./pairing-token-3hoCgQqp.js";
69
+ import { S as getGlobalHookRunner, o as normalizeReplyPayloadsForDelivery, t as deliverOutboundPayloads, w as runGlobalGatewayStopSafely } from "./deliver--kttnrER.js";
70
+ import { r as isRestartEnabled } from "./commands-Dj5LalLo.js";
71
+ import "./commands-registry-CURlRZQJ.js";
72
+ import { $ as validateNodePairRejectParams, A as validateCronStatusParams, At as PROTOCOL_VERSION, B as validateExecApprovalsGetParams, Bt as getPairedDevice, C as validateConfigSetParams, Ct as validateWakeParams, D as validateCronRemoveParams, Dt as validateWizardNextParams, E as validateCronListParams, Et as validateWizardCancelParams, F as validateDevicePairRemoveParams, Ft as buildDeviceAuthPayload, G as validateModelsListParams, Gt as revokeDeviceToken, H as validateExecApprovalsNodeSetParams, Ht as rejectDevicePairing, I as validateDeviceTokenRevokeParams, It as buildDeviceAuthPayloadV3, J as validateNodeInvokeParams, Jt as updatePairedDeviceMetadata, K as validateNodeDescribeParams, Kt as rotateDeviceToken, L as validateDeviceTokenRotateParams, Lt as normalizeDeviceMetadataForAuth, M as validateDevicePairApproveParams, Mt as errorShape, N as validateDevicePairListParams, O as validateCronRunParams, Ot as validateWizardStartParams, P as validateDevicePairRejectParams, Pt as parseSessionLabel, Q as validateNodePairListParams, Qt as deriveDeviceIdFromPublicKey, R as validateExecApprovalRequestParams, Rt as approveDevicePairing, S as validateConfigSchemaParams, St as validateUpdateRunParams, T as validateCronAddParams, Tt as validateWebLoginWaitParams, U as validateExecApprovalsSetParams, Ut as removePairedDevice, V as validateExecApprovalsNodeGetParams, Vt as listDevicePairing, W as validateLogsTailParams, Wt as requestDevicePairing, X as validateNodeListParams, Xt as roleScopesAllow, Y as validateNodeInvokeResultParams, Yt as verifyDeviceToken, Z as validateNodePairApproveParams, _ as validateChatInjectParams, _t as validateSkillsStatusParams, a as validateAgentWaitParams, at as validateRequestFrame, b as validateConfigGetParams, bt as validateTalkModeParams, c as validateAgentsFilesGetParams, ct as validateSessionsDeleteParams, d as validateAgentsListParams, dt as validateSessionsPreviewParams, en as normalizeDevicePublicKeyBase64Url, et as validateNodePairRequestParams, f as validateAgentsUpdateParams, ft as validateSessionsResetParams, g as validateChatHistoryParams, gt as validateSkillsInstallParams, h as validateChatAbortParams, ht as validateSkillsBinsParams, i as validateAgentParams, it as validatePushTestParams, j as validateCronUpdateParams, jt as ErrorCodes, k as validateCronRunsParams, kt as validateWizardStatusParams, l as validateAgentsFilesListParams, lt as validateSessionsListParams, m as validateChannelsStatusParams, mt as validateSessionsUsageParams, n as formatValidationErrors, nt as validateNodeRenameParams, o as validateAgentsCreateParams, ot as validateSendParams, p as validateChannelsLogoutParams, pt as validateSessionsResolveParams, q as validateNodeEventParams, qt as summarizeDeviceTokens, r as validateAgentIdentityParams, rt as validatePollParams, s as validateAgentsDeleteParams, st as validateSessionsCompactParams, tn as verifyDeviceSignature, tt as validateNodePairVerifyParams, u as validateAgentsFilesSetParams, ut as validateSessionsPatchParams, v as validateChatSendParams, vt as validateSkillsUpdateParams, w as validateConnectParams, wt as validateWebLoginStartParams, x as validateConfigPatchParams, xt as validateToolsCatalogParams, y as validateConfigApplyParams, yt as validateTalkConfigParams, z as validateExecApprovalResolveParams, zt as ensureDeviceToken } from "./client-DtnD-ee9.js";
73
+ import { f as loadGatewayTlsRuntime$1, l as authorizeOperatorScopesForMethod, n as callGateway, s as ADMIN_SCOPE$3, u as isNodeRoleMethod } from "./call-BpWhjuOg.js";
74
+ import { c as readJsonFile, l as writeJsonAtomic, s as createAsyncLock } from "./pairing-token-lKXTMQ_M.js";
75
75
  import "./fetch-CYe1ekSh.js";
76
76
  import "./retry-Db05aSB8.js";
77
- import { a as readChannelAllowFromStoreSync } from "./pairing-store-qvpPoWL_.js";
77
+ import { a as readChannelAllowFromStoreSync } from "./pairing-store-CPpEEQJO.js";
78
78
  import { a as mergeExecApprovalsSocketDefaults, c as readExecApprovalsSnapshot, p as saveExecApprovals, r as ensureExecApprovals, s as normalizeExecApprovals, t as DEFAULT_EXEC_APPROVAL_TIMEOUT_MS } from "./exec-approvals-C2s2dPha.js";
79
- import "./exec-approvals-allowlist-8AkOwwIr.js";
80
- import "./exec-safe-bin-runtime-policy-DYXuBKqH.js";
81
- import "./nodes-screen-CIAn0wXq.js";
82
- import { a as ToolInputError } from "./target-errors-BYuWhuLU.js";
79
+ import "./exec-approvals-allowlist-Co2tJSEo.js";
80
+ import "./exec-safe-bin-runtime-policy-DaoU9-ni.js";
81
+ import "./nodes-screen-CcpPaFxa.js";
82
+ import { a as ToolInputError } from "./target-errors-bLIVFsbF.js";
83
83
  import "./diagnostic-session-state-CJHdRyOy.js";
84
- import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-BodPmGCY.js";
84
+ import { a as getMachineDisplayName, i as startBrowserControlServiceFromConfig, n as createBrowserRouteDispatcher, r as createBrowserControlContext } from "./with-timeout-DEdycYxq.js";
85
85
  import { f as startDiagnosticHeartbeat, h as isDiagnosticsEnabled, p as stopDiagnosticHeartbeat } from "./diagnostic-ByHpt6q8.js";
86
- import { d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send-DDMaLJAQ.js";
87
- import "./model-Bd-05WpB.js";
88
- import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-BMEdvSpA.js";
89
- import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-4wfelGdK.js";
90
- import { n as resolveMemorySearchConfig } from "./manager-BBeTPO2h.js";
91
- import "./query-expansion-i5I3yavb.js";
86
+ import { d as loadCronStore, f as resolveCronStorePath, p as saveCronStore } from "./send--lzpNy4f.js";
87
+ import "./model-C-icShH2.js";
88
+ import { a as resolveAgentIdentity, t as createReplyPrefixOptions } from "./reply-prefix-C3y4zpTl.js";
89
+ import { i as resolveMemoryBackendConfig, r as getMemorySearchManager } from "./memory-cli-CUGwnVIY.js";
90
+ import { n as resolveMemorySearchConfig } from "./manager-BMAFgXyU.js";
91
+ import "./query-expansion-Clts_AGz.js";
92
92
  import "./chunk-ClMFHJu-.js";
93
- import "./markdown-tables-C5hTDqNm.js";
94
- import "./ir-DV0Hszc8.js";
93
+ import "./markdown-tables-DZClqsNo.js";
94
+ import "./ir-VncGpwA1.js";
95
95
  import "./render-DC4qnRqG.js";
96
- import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-B_ME3yF6.js";
96
+ import { a as resolveSubagentToolPolicy, i as resolveGroupToolPolicy, r as resolveEffectiveToolPolicy } from "./pi-tools.policy-DfITIKZj.js";
97
97
  import { n as normalizePollInput } from "./polls-CGpoOVqd.js";
98
98
  import { t as getChannelActivity } from "./channel-activity-DaCsrdWK.js";
99
- import "./tables-CZSD889r.js";
100
- import "./send-BCPkAE2k.js";
99
+ import "./tables-g9xkflht.js";
100
+ import "./send-C4v0Leny.js";
101
101
  import "./proxy-yk1Oqe9p.js";
102
102
  import { t as formatDocsLink } from "./links-15764jZB.js";
103
103
  import { n as runCommandWithRuntime } from "./cli-utils-CH2y4E2f.js";
104
104
  import { t as formatHelpExamples } from "./help-format-CMAqOikG.js";
105
105
  import { n as withProgress } from "./progress-BQLz1r3L.js";
106
- import "./resolve-route-Ef_Yt2Dw.js";
107
- import "./replies-Czp4hvpS.js";
108
- import { S as registerSkillsChangeListener, _ as requestNodePairing, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, g as renamePairedNode, h as rejectNodePairing, l as refreshRemoteBinsForConnectedNodes, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion, y as verifyNodeToken } from "./skill-commands-BwIRWSCI.js";
109
- import { t as listAgentWorkspaceDirs } from "./workspace-dirs-D3bousoX.js";
110
- import { n as createOutboundSendDeps$1, t as createDefaultDeps } from "./deps-BotXja4Z.js";
111
- import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-BMuSi4aV.js";
112
- import { n as resolveMessageChannelSelection } from "./channel-selection-3jUl-PyW.js";
113
- import "./outbound-attachment-jYdMgCml.js";
106
+ import "./resolve-route-D_AbcmD6.js";
107
+ import "./replies-hSFVxL4h.js";
108
+ import { S as registerSkillsChangeListener, _ as requestNodePairing, c as recordRemoteNodeInfo, d as removeRemoteNodeInfo, f as setSkillsRemoteRegistry, g as renamePairedNode, h as rejectNodePairing, l as refreshRemoteBinsForConnectedNodes, m as listNodePairing, o as getRemoteSkillEligibility, p as approveNodePairing, s as primeRemoteSkillsCache, u as refreshRemoteNodeBins, v as updatePairedNodeMetadata, x as getSkillsSnapshotVersion, y as verifyNodeToken } from "./skill-commands-BFzmZAfo.js";
109
+ import { t as listAgentWorkspaceDirs } from "./workspace-dirs-SsExQ3Bz.js";
110
+ import { n as createOutboundSendDeps$1, t as createDefaultDeps } from "./deps-Bq7jJLyN.js";
111
+ import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-7DUxMy6A.js";
112
+ import { n as resolveMessageChannelSelection } from "./channel-selection-ZxRkxpuF.js";
113
+ import "./outbound-attachment-Bot3bRnK.js";
114
114
  import "./delivery-queue-BvDRo8CK.js";
115
115
  import { c as hasNonzeroUsage, i as loadSessionUsageTimeSeries, n as loadCostUsageSummary, r as loadSessionCostSummary, s as deriveSessionTotalTokens, t as discoverAllSessions } from "./session-cost-usage-DS1rjzML.js";
116
- import "./send-CEavqqEz.js";
117
- import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-CdzbIhrm.js";
116
+ import "./send-DQiw_nGD.js";
117
+ import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-mzy38DiC.js";
118
118
  import "./prompt-style-kmKiCZnm.js";
119
- import "./pairing-labels-DuZ7ih-T.js";
119
+ import "./pairing-labels-ChQJzbS9.js";
120
120
  import { n as formatTokenCount, r as formatUsd } from "./usage-format-D1JXJKiz.js";
121
- import "./server-lifecycle-CGKrGrhM.js";
121
+ import "./server-lifecycle-B5PlrlbG.js";
122
122
  import { i as parseAbsoluteTimeMs, n as resolveCronStaggerMs, r as resolveDefaultCronStaggerMs, t as normalizeCronStaggerMs } from "./stagger-rQoQSWkz.js";
123
- import { n as resolveSystemRunCommand } from "./system-run-command-BIhrK3OI.js";
123
+ import { n as resolveSystemRunCommand } from "./system-run-command-qJdgzxLp.js";
124
124
  import { i as onHeartbeatEvent, r as getLastHeartbeatEvent, t as resolveHeartbeatVisibility } from "./heartbeat-visibility-CVWq9u04.js";
125
125
  import { t as ensureIdleHandsCliOnPath } from "./path-env-CKSLQUS1.js";
126
126
  import "./runtime-guard-X6f4YmTM.js";
127
- import { t as forceFreePortAndWait } from "./ports-B07M55Gr.js";
128
- import { t as buildWorkspaceSkillStatus } from "./skills-status-Q9skQExW.js";
127
+ import { t as forceFreePortAndWait } from "./ports-B2o0FSFD.js";
128
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-qjQ8XP0h.js";
129
129
  import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-ulSRJzn7.js";
130
130
  import { n as inheritOptionFromParent } from "./command-options-D4MmqoOd.js";
131
131
  import { t as WizardCancelledError } from "./prompts-9ZBCWbQB.js";
132
132
  import { t as resolveChannelDefaultAccountId } from "./helpers-C6eW1WGZ.js";
133
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-CPUPtcKt.js";
134
- import { t as isWithinDir } from "./path-safety-C1Y004P_.js";
135
- import "./install-safe-path-CNNMzJl9.js";
136
- import "./skill-scanner-B4Ftsbd2.js";
133
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-bWtpv0jP.js";
134
+ import { t as isWithinDir } from "./path-safety-DwibX65n.js";
135
+ import "./install-safe-path-ChNR9pl6.js";
136
+ import "./skill-scanner-D7mzXRXd.js";
137
137
  import { t as buildChannelAccountSnapshot } from "./status-D8Z2uvBM.js";
138
- import "./channels-status-issues-hgASw9UA.js";
139
- import { a as buildBaseHints, i as applySensitiveHints, n as redactConfigSnapshot, o as mapSensitivePaths, r as restoreRedactedValues, s as applyDerivedTags, t as redactConfigObject } from "./redact-snapshot-KMo22a85.js";
140
- import "./daemon-install-helpers-Bug_GYuy.js";
141
- import "./systemd-DyrVLTI0.js";
142
- import "./service-Bj2oSfpw.js";
143
- import "./lifecycle-core-DOScNyOv.js";
144
- import "./systemd-hints-BoKKzRI_.js";
138
+ import "./channels-status-issues-CDpWjdI3.js";
139
+ import { a as buildBaseHints, i as applySensitiveHints, n as redactConfigSnapshot, o as mapSensitivePaths, r as restoreRedactedValues, s as applyDerivedTags, t as redactConfigObject } from "./redact-snapshot-BbEVKv0k.js";
140
+ import "./daemon-install-helpers-BZY9-jNW.js";
141
+ import "./systemd-CaCR5CyM.js";
142
+ import "./service-C8NMS3m_.js";
143
+ import "./lifecycle-core-B6UoqYTJ.js";
144
+ import "./systemd-hints-DHu-HVFx.js";
145
145
  import { t as parsePort$1 } from "./parse-port-l2c0Yyf3.js";
146
- import { n as addGatewayServiceCommands } from "./daemon-cli-DpyQu0Dp.js";
147
- import "./diagnostics-CdUgLS0N.js";
146
+ import { n as addGatewayServiceCommands } from "./daemon-cli-DUg-s4LG.js";
147
+ import "./diagnostics-DmZbQ8Nc.js";
148
148
  import "./table-B9AmL3M1.js";
149
149
  import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } from "./widearea-dns-FDdFH5E8.js";
150
- import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-Jzrx8DfN.js";
151
- import { a as isNodeCommandAllowed, n as collectEnabledInsecureOrDangerousFlags, o as resolveNodeCommandAllowlist, s as probeGateway } from "./audit-C5VPFgbJ.js";
150
+ import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-DpLSpJIl.js";
151
+ import { a as isNodeCommandAllowed, n as collectEnabledInsecureOrDangerousFlags, o as resolveNodeCommandAllowlist, s as probeGateway } from "./audit-CKeZnjft.js";
152
152
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-DMslm8Hx.js";
153
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-YWasgjym.js";
154
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-lZsCLX6p.js";
155
- import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CiaCDBvZ.js";
156
- import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-B4nJPU2N.js";
157
- import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-DEmy759r.js";
158
- import { t as runOnboardingWizard } from "./onboarding-Cf3JxJxY.js";
159
- import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-CuwLAoXk.js";
153
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-B8z0RCPf.js";
154
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-C6_Sa_ef.js";
155
+ import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-C7ZpN9hN.js";
156
+ import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-CDbY5AIr.js";
157
+ import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-XmXLaHNk.js";
158
+ import { t as runOnboardingWizard } from "./onboarding-D9AZJlDK.js";
159
+ import { a as sendApnsAlert, c as parseMessageWithAttachments, d as shouldLogWs, f as summarizeAgentEventForWsLog, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, p as setGatewayWsLogStyle, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration, u as logWs } from "./push-apns-DvSYSWvk.js";
160
160
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-DRJTQOMM.js";
161
- import "./node-service-GpI0jzKr.js";
162
- import "./status.update-C3uRz7W6.js";
163
- import { a as matchSystemRunApprovalBindingV1, i as buildSystemRunApprovalBindingV1, n as resolveSystemRunApprovalRequestContext, o as missingSystemRunApprovalBindingV1, r as resolveSystemRunApprovalRuntimeContext, s as toSystemRunApprovalMismatchError } from "./system-run-approval-context-xZVoE4nS.js";
164
- import { t as installSkill } from "./skills-install-D0JHP5uM.js";
165
- import { t as runGatewayUpdate } from "./update-runner-DRglQgXe.js";
166
- import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-CDw87aZG.js";
161
+ import "./node-service-C3vyxHLA.js";
162
+ import "./status.update-CTi6vuWj.js";
163
+ import { a as matchSystemRunApprovalBindingV1, i as buildSystemRunApprovalBindingV1, n as resolveSystemRunApprovalRequestContext, o as missingSystemRunApprovalBindingV1, r as resolveSystemRunApprovalRuntimeContext, s as toSystemRunApprovalMismatchError } from "./system-run-approval-context-CISBXlNw.js";
164
+ import { t as installSkill } from "./skills-install-tr6wRWZj.js";
165
+ import { t as runGatewayUpdate } from "./update-runner-B4xzPa4-.js";
166
+ import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-D3pARwoB.js";
167
167
  import { fileURLToPath, pathToFileURL } from "node:url";
168
168
  import * as fsSync from "node:fs";
169
169
  import fs from "node:fs";
@@ -171,7 +171,7 @@ import os from "node:os";
171
171
  import path from "node:path";
172
172
  import chalk from "chalk";
173
173
  import { isDeepStrictEqual } from "node:util";
174
- import fsPromises from "node:fs/promises";
174
+ import fs$1 from "node:fs/promises";
175
175
  import { spawn, spawnSync } from "node:child_process";
176
176
  import crypto, { createHash, randomBytes, randomUUID } from "node:crypto";
177
177
  import { z } from "zod";
@@ -1242,7 +1242,7 @@ function resolveCheckIntervalMs(cfg) {
1242
1242
  }
1243
1243
  async function readState(statePath) {
1244
1244
  try {
1245
- const raw = await fsPromises.readFile(statePath, "utf-8");
1245
+ const raw = await fs$1.readFile(statePath, "utf-8");
1246
1246
  const parsed = JSON.parse(raw);
1247
1247
  return parsed && typeof parsed === "object" ? parsed : {};
1248
1248
  } catch {
@@ -1250,8 +1250,8 @@ async function readState(statePath) {
1250
1250
  }
1251
1251
  }
1252
1252
  async function writeState(statePath, state) {
1253
- await fsPromises.mkdir(path.dirname(statePath), { recursive: true });
1254
- await fsPromises.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1253
+ await fs$1.mkdir(path.dirname(statePath), { recursive: true });
1254
+ await fs$1.writeFile(statePath, JSON.stringify(state, null, 2), "utf-8");
1255
1255
  }
1256
1256
  function sameUpdateAvailable(a, b) {
1257
1257
  if (a === b) return true;
@@ -1324,7 +1324,7 @@ async function runAutoUpdateCommand(params) {
1324
1324
  path.join(params.root, "dist", "index.mjs")
1325
1325
  ];
1326
1326
  for (const candidate of candidates) try {
1327
- await fsPromises.access(candidate);
1327
+ await fs$1.access(candidate);
1328
1328
  argv.push(execPath, candidate, ...baseArgs);
1329
1329
  break;
1330
1330
  } catch {}
@@ -4160,20 +4160,20 @@ function resolveCronRunLogPruneOptions(cfg) {
4160
4160
  };
4161
4161
  }
4162
4162
  async function pruneIfNeeded(filePath, opts) {
4163
- const stat = await fsPromises.stat(filePath).catch(() => null);
4163
+ const stat = await fs$1.stat(filePath).catch(() => null);
4164
4164
  if (!stat || stat.size <= opts.maxBytes) return;
4165
- const lines = (await fsPromises.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4165
+ const lines = (await fs$1.readFile(filePath, "utf-8").catch(() => "")).split("\n").map((l) => l.trim()).filter(Boolean);
4166
4166
  const kept = lines.slice(Math.max(0, lines.length - opts.keepLines));
4167
4167
  const { randomBytes } = await import("node:crypto");
4168
4168
  const tmp = `${filePath}.${process.pid}.${randomBytes(8).toString("hex")}.tmp`;
4169
- await fsPromises.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4170
- await fsPromises.rename(tmp, filePath);
4169
+ await fs$1.writeFile(tmp, `${kept.join("\n")}\n`, "utf-8");
4170
+ await fs$1.rename(tmp, filePath);
4171
4171
  }
4172
4172
  async function appendCronRunLog(filePath, entry, opts) {
4173
4173
  const resolved = path.resolve(filePath);
4174
4174
  const next = (writesByPath.get(resolved) ?? Promise.resolve()).catch(() => void 0).then(async () => {
4175
- await fsPromises.mkdir(path.dirname(resolved), { recursive: true });
4176
- await fsPromises.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4175
+ await fs$1.mkdir(path.dirname(resolved), { recursive: true });
4176
+ await fs$1.appendFile(resolved, `${JSON.stringify(entry)}\n`, "utf-8");
4177
4177
  await pruneIfNeeded(resolved, {
4178
4178
  maxBytes: opts?.maxBytes ?? DEFAULT_CRON_RUN_LOG_MAX_BYTES,
4179
4179
  keepLines: opts?.keepLines ?? DEFAULT_CRON_RUN_LOG_KEEP_LINES
@@ -4266,7 +4266,7 @@ function filterRunLogEntries(entries, opts) {
4266
4266
  }
4267
4267
  async function readCronRunLogEntriesPage(filePath, opts) {
4268
4268
  const limit = Math.max(1, Math.min(200, Math.floor(opts?.limit ?? 50)));
4269
- const raw = await fsPromises.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4269
+ const raw = await fs$1.readFile(path.resolve(filePath), "utf-8").catch(() => "");
4270
4270
  const statuses = normalizeRunStatuses(opts);
4271
4271
  const deliveryStatuses = normalizeDeliveryStatuses(opts);
4272
4272
  const query = opts?.query?.trim().toLowerCase() ?? "";
@@ -4302,7 +4302,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4302
4302
  const query = opts.query?.trim().toLowerCase() ?? "";
4303
4303
  const sortDir = opts.sortDir === "asc" ? "asc" : "desc";
4304
4304
  const runsDir = path.resolve(path.dirname(path.resolve(opts.storePath)), "runs");
4305
- const jsonlFiles = (await fsPromises.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4305
+ const jsonlFiles = (await fs$1.readdir(runsDir, { withFileTypes: true }).catch(() => [])).filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map((entry) => path.join(runsDir, entry.name));
4306
4306
  if (jsonlFiles.length === 0) return {
4307
4307
  entries: [],
4308
4308
  total: 0,
@@ -4312,7 +4312,7 @@ async function readCronRunLogEntriesPageAll(opts) {
4312
4312
  nextOffset: null
4313
4313
  };
4314
4314
  const filtered = filterRunLogEntries((await Promise.all(jsonlFiles.map(async (filePath) => {
4315
- return parseAllRunLogEntries(await fsPromises.readFile(filePath, "utf-8").catch(() => ""));
4315
+ return parseAllRunLogEntries(await fs$1.readFile(filePath, "utf-8").catch(() => ""));
4316
4316
  }))).flat(), {
4317
4317
  statuses,
4318
4318
  deliveryStatuses,
@@ -9018,7 +9018,7 @@ function resolveAgentWorkspaceFileOrRespondError(params, respond) {
9018
9018
  }
9019
9019
  async function resolveWorkspaceRealPath(workspaceDir) {
9020
9020
  try {
9021
- return await fsPromises.realpath(workspaceDir);
9021
+ return await fs$1.realpath(workspaceDir);
9022
9022
  } catch {
9023
9023
  return path.resolve(workspaceDir);
9024
9024
  }
@@ -9042,7 +9042,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9042
9042
  }
9043
9043
  let candidateLstat;
9044
9044
  try {
9045
- candidateLstat = await fsPromises.lstat(candidatePath);
9045
+ candidateLstat = await fs$1.lstat(candidatePath);
9046
9046
  } catch (err) {
9047
9047
  if (isNotFoundPathError(err)) {
9048
9048
  if (params.allowMissing) return {
@@ -9062,7 +9062,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9062
9062
  if (candidateLstat.isSymbolicLink()) {
9063
9063
  let targetReal;
9064
9064
  try {
9065
- targetReal = await fsPromises.realpath(candidatePath);
9065
+ targetReal = await fs$1.realpath(candidatePath);
9066
9066
  } catch (err) {
9067
9067
  if (isNotFoundPathError(err)) {
9068
9068
  if (params.allowMissing) return {
@@ -9081,7 +9081,7 @@ async function resolveAgentWorkspaceFilePath(params) {
9081
9081
  }
9082
9082
  let targetStat;
9083
9083
  try {
9084
- targetStat = await fsPromises.stat(targetReal);
9084
+ targetStat = await fs$1.stat(targetReal);
9085
9085
  } catch (err) {
9086
9086
  if (isNotFoundPathError(err)) {
9087
9087
  if (params.allowMissing) return {
@@ -9128,13 +9128,13 @@ async function resolveAgentWorkspaceFilePath(params) {
9128
9128
  return {
9129
9129
  kind: "ready",
9130
9130
  requestPath,
9131
- ioPath: await fsPromises.realpath(candidatePath).catch(() => candidatePath),
9131
+ ioPath: await fs$1.realpath(candidatePath).catch(() => candidatePath),
9132
9132
  workspaceReal
9133
9133
  };
9134
9134
  }
9135
9135
  async function statFileSafely(filePath) {
9136
9136
  try {
9137
- const [stat, lstat] = await Promise.all([fsPromises.stat(filePath), fsPromises.lstat(filePath)]);
9137
+ const [stat, lstat] = await Promise.all([fs$1.stat(filePath), fs$1.lstat(filePath)]);
9138
9138
  if (lstat.isSymbolicLink() || !stat.isFile()) return null;
9139
9139
  if (stat.nlink > 1) return null;
9140
9140
  if (!sameFileIdentity(stat, lstat)) return null;
@@ -9219,7 +9219,7 @@ function resolveOptionalStringParam(value) {
9219
9219
  async function moveToTrashBestEffort(pathname) {
9220
9220
  if (!pathname) return;
9221
9221
  try {
9222
- await fsPromises.access(pathname);
9222
+ await fs$1.access(pathname);
9223
9223
  } catch {
9224
9224
  return;
9225
9225
  }
@@ -9266,7 +9266,7 @@ const agentsHandlers = {
9266
9266
  dir: workspaceDir,
9267
9267
  ensureBootstrapFiles: !Boolean(nextConfig.agents?.defaults?.skipBootstrap)
9268
9268
  });
9269
- await fsPromises.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
9269
+ await fs$1.mkdir(resolveSessionTranscriptsDirForAgent(agentId), { recursive: true });
9270
9270
  await writeConfigFile(nextConfig);
9271
9271
  const safeName = sanitizeIdentityLine(rawName);
9272
9272
  const emoji = resolveOptionalStringParam(params.emoji);
@@ -9279,7 +9279,7 @@ const agentsHandlers = {
9279
9279
  ...avatar ? [`- Avatar: ${sanitizeIdentityLine(avatar)}`] : [],
9280
9280
  ""
9281
9281
  ];
9282
- await fsPromises.appendFile(identityPath, lines.join("\n"), "utf-8");
9282
+ await fs$1.appendFile(identityPath, lines.join("\n"), "utf-8");
9283
9283
  respond(true, {
9284
9284
  ok: true,
9285
9285
  agentId,
@@ -9314,9 +9314,9 @@ const agentsHandlers = {
9314
9314
  });
9315
9315
  if (avatar) {
9316
9316
  const workspace = workspaceDir ?? resolveAgentWorkspaceDir(nextConfig, agentId);
9317
- await fsPromises.mkdir(workspace, { recursive: true });
9317
+ await fs$1.mkdir(workspace, { recursive: true });
9318
9318
  const identityPath = path.join(workspace, DEFAULT_IDENTITY_FILENAME);
9319
- await fsPromises.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
9319
+ await fs$1.appendFile(identityPath, `\n- Avatar: ${sanitizeIdentityLine(avatar)}\n`, "utf-8");
9320
9320
  }
9321
9321
  respond(true, {
9322
9322
  ok: true,
@@ -9447,7 +9447,7 @@ const agentsHandlers = {
9447
9447
  const resolved = resolveAgentWorkspaceFileOrRespondError(params, respond);
9448
9448
  if (!resolved) return;
9449
9449
  const { agentId, workspaceDir, name } = resolved;
9450
- await fsPromises.mkdir(workspaceDir, { recursive: true });
9450
+ await fs$1.mkdir(workspaceDir, { recursive: true });
9451
9451
  const filePath = path.join(workspaceDir, name);
9452
9452
  const resolvedPath = await resolveAgentWorkspaceFilePath({
9453
9453
  workspaceDir,
@@ -11659,14 +11659,14 @@ function isRollingLogFile(file) {
11659
11659
  return ROLLING_LOG_RE.test(path.basename(file));
11660
11660
  }
11661
11661
  async function resolveLogFile(file) {
11662
- if (await fsPromises.stat(file).catch(() => null)) return file;
11662
+ if (await fs$1.stat(file).catch(() => null)) return file;
11663
11663
  if (!isRollingLogFile(file)) return file;
11664
11664
  const dir = path.dirname(file);
11665
- const entries = await fsPromises.readdir(dir, { withFileTypes: true }).catch(() => null);
11665
+ const entries = await fs$1.readdir(dir, { withFileTypes: true }).catch(() => null);
11666
11666
  if (!entries) return file;
11667
11667
  return (await Promise.all(entries.filter((entry) => entry.isFile() && ROLLING_LOG_RE.test(entry.name)).map(async (entry) => {
11668
11668
  const fullPath = path.join(dir, entry.name);
11669
- const fileStat = await fsPromises.stat(fullPath).catch(() => null);
11669
+ const fileStat = await fs$1.stat(fullPath).catch(() => null);
11670
11670
  return fileStat ? {
11671
11671
  path: fullPath,
11672
11672
  mtimeMs: fileStat.mtimeMs
@@ -11674,7 +11674,7 @@ async function resolveLogFile(file) {
11674
11674
  }))).filter((entry) => Boolean(entry)).toSorted((a, b) => b.mtimeMs - a.mtimeMs)[0]?.path ?? file;
11675
11675
  }
11676
11676
  async function readLogSlice(params) {
11677
- const stat = await fsPromises.stat(params.file).catch(() => null);
11677
+ const stat = await fs$1.stat(params.file).catch(() => null);
11678
11678
  if (!stat) return {
11679
11679
  cursor: 0,
11680
11680
  size: 0,
@@ -11712,7 +11712,7 @@ async function readLogSlice(params) {
11712
11712
  truncated,
11713
11713
  reset
11714
11714
  };
11715
- const handle = await fsPromises.open(params.file, "r");
11715
+ const handle = await fs$1.open(params.file, "r");
11716
11716
  try {
11717
11717
  let prefix = "";
11718
11718
  if (start > 0) {
@@ -12694,7 +12694,7 @@ const nodeHandlers = {
12694
12694
  const p = params;
12695
12695
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
12696
12696
  await respondUnavailableOnThrow(respond, async () => {
12697
- const { handleNodeEvent } = await import("./server-node-events-BSPxvn7O.js");
12697
+ const { handleNodeEvent } = await import("./server-node-events-C69TPlKW.js");
12698
12698
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
12699
12699
  await handleNodeEvent({
12700
12700
  deps: context.deps,
@@ -15680,7 +15680,7 @@ function normalizeAgentPayload(payload) {
15680
15680
  async function startBrowserControlServerIfEnabled() {
15681
15681
  if (isTruthyEnvValue(process.env.IDLEHANDS_SKIP_BROWSER_CONTROL_SERVER)) return null;
15682
15682
  const override = process.env.IDLEHANDS_BROWSER_CONTROL_MODULE?.trim();
15683
- const mod = override ? await import(override) : await import("./server-BpSbZAwg.js");
15683
+ const mod = override ? await import(override) : await import("./server-D6MltJIF.js");
15684
15684
  const start = typeof mod.startBrowserControlServiceFromConfig === "function" ? mod.startBrowserControlServiceFromConfig : mod.startBrowserControlServerFromConfig;
15685
15685
  const stop = typeof mod.stopBrowserControlService === "function" ? mod.stopBrowserControlService : mod.stopBrowserControlServer;
15686
15686
  if (!start) return null;
@@ -15903,7 +15903,7 @@ async function resolveFileWithinRoot(rootReal, urlPath) {
15903
15903
  if (normalized.endsWith("/")) return await tryOpen(path.posix.join(rel, "index.html"));
15904
15904
  const candidate = path.join(rootReal, rel);
15905
15905
  try {
15906
- const st = await fsPromises.lstat(candidate);
15906
+ const st = await fs$1.lstat(candidate);
15907
15907
  if (st.isSymbolicLink()) return null;
15908
15908
  if (st.isDirectory()) return await tryOpen(path.posix.join(rel, "index.html"));
15909
15909
  } catch {}
@@ -15940,8 +15940,8 @@ async function resolveA2uiRoot() {
15940
15940
  for (const dir of candidates) try {
15941
15941
  const indexPath = path.join(dir, "index.html");
15942
15942
  const bundlePath = path.join(dir, "a2ui.bundle.js");
15943
- await fsPromises.stat(indexPath);
15944
- await fsPromises.stat(bundlePath);
15943
+ await fs$1.stat(indexPath);
15944
+ await fs$1.stat(bundlePath);
15945
15945
  return dir;
15946
15946
  } catch {}
15947
15947
  return null;
@@ -15950,7 +15950,7 @@ async function resolveA2uiRootReal() {
15950
15950
  if (cachedA2uiRootReal !== void 0 && (cachedA2uiRootReal !== null || Date.now() - cachedA2uiResolvedAtMs < A2UI_ROOT_RETRY_NULL_AFTER_MS)) return cachedA2uiRootReal;
15951
15951
  if (!resolvingA2uiRoot) resolvingA2uiRoot = (async () => {
15952
15952
  const root = await resolveA2uiRoot();
15953
- cachedA2uiRootReal = root ? await fsPromises.realpath(root) : null;
15953
+ cachedA2uiRootReal = root ? await fs$1.realpath(root) : null;
15954
15954
  cachedA2uiResolvedAtMs = Date.now();
15955
15955
  resolvingA2uiRoot = null;
15956
15956
  return cachedA2uiRootReal;
@@ -16171,13 +16171,13 @@ function normalizeBasePath(rawPath) {
16171
16171
  }
16172
16172
  async function prepareCanvasRoot(rootDir) {
16173
16173
  await ensureDir(rootDir);
16174
- const rootReal = await fsPromises.realpath(rootDir);
16174
+ const rootReal = await fs$1.realpath(rootDir);
16175
16175
  try {
16176
16176
  const indexPath = path.join(rootReal, "index.html");
16177
- await fsPromises.stat(indexPath);
16177
+ await fs$1.stat(indexPath);
16178
16178
  } catch {
16179
16179
  try {
16180
- await fsPromises.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
16180
+ await fs$1.writeFile(path.join(rootReal, "index.html"), defaultIndexHTML(), "utf8");
16181
16181
  } catch {}
16182
16182
  }
16183
16183
  return rootReal;
@@ -18991,7 +18991,7 @@ async function resolveGatewayOwnerStatus(pid, payload, platform, port) {
18991
18991
  }
18992
18992
  async function readLockPayload(lockPath) {
18993
18993
  try {
18994
- const raw = await fsPromises.readFile(lockPath, "utf8");
18994
+ const raw = await fs$1.readFile(lockPath, "utf8");
18995
18995
  const parsed = JSON.parse(raw);
18996
18996
  if (typeof parsed.pid !== "number") return null;
18997
18997
  if (typeof parsed.createdAt !== "string") return null;
@@ -19026,11 +19026,11 @@ async function acquireGatewayLock(opts = {}) {
19026
19026
  const platform = opts.platform ?? process.platform;
19027
19027
  const port = opts.port;
19028
19028
  const { lockPath, configPath } = resolveGatewayLockPath(env);
19029
- await fsPromises.mkdir(path.dirname(lockPath), { recursive: true });
19029
+ await fs$1.mkdir(path.dirname(lockPath), { recursive: true });
19030
19030
  const startedAt = Date.now();
19031
19031
  let lastPayload = null;
19032
19032
  while (Date.now() - startedAt < timeoutMs) try {
19033
- const handle = await fsPromises.open(lockPath, "wx");
19033
+ const handle = await fs$1.open(lockPath, "wx");
19034
19034
  const startTime = platform === "linux" ? readLinuxStartTime(process.pid) : null;
19035
19035
  const payload = {
19036
19036
  pid: process.pid,
@@ -19044,7 +19044,7 @@ async function acquireGatewayLock(opts = {}) {
19044
19044
  configPath,
19045
19045
  release: async () => {
19046
19046
  await handle.close().catch(() => void 0);
19047
- await fsPromises.rm(lockPath, { force: true });
19047
+ await fs$1.rm(lockPath, { force: true });
19048
19048
  }
19049
19049
  };
19050
19050
  } catch (err) {
@@ -19053,7 +19053,7 @@ async function acquireGatewayLock(opts = {}) {
19053
19053
  const ownerPid = lastPayload?.pid;
19054
19054
  const ownerStatus = ownerPid ? await resolveGatewayOwnerStatus(ownerPid, lastPayload, platform, port) : "unknown";
19055
19055
  if (ownerStatus === "dead" && ownerPid) {
19056
- await fsPromises.rm(lockPath, { force: true });
19056
+ await fs$1.rm(lockPath, { force: true });
19057
19057
  continue;
19058
19058
  }
19059
19059
  if (ownerStatus !== "alive") {
@@ -19063,13 +19063,13 @@ async function acquireGatewayLock(opts = {}) {
19063
19063
  stale = Number.isFinite(createdAt) ? Date.now() - createdAt > staleMs : false;
19064
19064
  }
19065
19065
  if (!stale) try {
19066
- const st = await fsPromises.stat(lockPath);
19066
+ const st = await fs$1.stat(lockPath);
19067
19067
  stale = Date.now() - st.mtimeMs > staleMs;
19068
19068
  } catch {
19069
19069
  stale = false;
19070
19070
  }
19071
19071
  if (stale) {
19072
- await fsPromises.rm(lockPath, { force: true });
19072
+ await fs$1.rm(lockPath, { force: true });
19073
19073
  continue;
19074
19074
  }
19075
19075
  }
@@ -21360,7 +21360,7 @@ async function startGatewayServer(port = 1013, opts = {}) {
21360
21360
  if (!minimalTestGateway) cron.start().catch((err) => logCron.error(`failed to start: ${String(err)}`));
21361
21361
  if (!minimalTestGateway) (async () => {
21362
21362
  const { recoverPendingDeliveries } = await import("./delivery-queue-BvDRo8CK.js").then((n) => n.n);
21363
- const { deliverOutboundPayloads } = await import("./deliver-yTpXc5sv.js").then((n) => n.n);
21363
+ const { deliverOutboundPayloads } = await import("./deliver--kttnrER.js").then((n) => n.n);
21364
21364
  await recoverPendingDeliveries({
21365
21365
  deliver: deliverOutboundPayloads,
21366
21366
  log: log.child("delivery-recovery"),