@visorcraft/idlehands 4.2.3 → 4.2.4

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 (223) hide show
  1. package/dist/{accounts-B8cGzkjD.js → accounts-BDVs8LTu.js} +1 -1
  2. package/dist/{accounts-D5tB_lO0.js → accounts-CIvVRRHb.js} +1 -1
  3. package/dist/{accounts-BQC_GRUB.js → accounts-Dk8mJIrQ.js} +6 -6
  4. package/dist/{agent-scope-Bxq1eWbA.js → agent-scope-DyP_tr7s.js} +4 -4
  5. package/dist/{agent-via-gateway-BtMWCqx4.js → agent-via-gateway-CugFJzVP.js} +2 -2
  6. package/dist/{agent-via-gateway-BsTP4WyI.js → agent-via-gateway-DG8Axzn2.js} +60 -60
  7. package/dist/{agent-via-gateway-9aP1U_YQ.js → agent-via-gateway-DwRsFLFS.js} +1 -1
  8. package/dist/{agent-via-gateway-BN0HMYd7.js → agent-via-gateway-VdG-s4L4.js} +1 -1
  9. package/dist/{agents-Bitc3LDE.js → agents-DDuWSZ0g.js} +4 -4
  10. package/dist/{agents.config-DmFqh5v8.js → agents.config-8tuPdcTQ.js} +1 -1
  11. package/dist/{agents.config-DLjDlH4M.js → agents.config-A-WLFOiz.js} +1 -1
  12. package/dist/{anton-CmB9XtGt.js → anton-CaPVBTOS.js} +27 -7
  13. package/dist/{anton-DqSQ27RK.js → anton-DCN6G6Up.js} +27 -7
  14. package/dist/{anton-C3Y_hYo3.js → anton-DqWaq0gv.js} +26 -7
  15. package/dist/{anton-Dn_Pc4P0.js → anton-sGTx_HDs.js} +30 -11
  16. package/dist/{audio-preflight-qkU2lsDn.js → audio-preflight-CW8IH1lU.js} +35 -35
  17. package/dist/{auth-choice-nFObMeHm.js → auth-choice-C0ADVtim.js} +1 -1
  18. package/dist/{auth-choice-BKDISagq.js → auth-choice-CnB-Ffeh.js} +1 -1
  19. package/dist/{auth-store-Bb4aajHu.js → auth-store-DXT-l7fO.js} +12 -12
  20. package/dist/{banner-IB7Cylyq.js → banner-C1dFMwdL.js} +1 -1
  21. package/dist/{bindings-CLZIJ0Eo.js → bindings-D3b5Fmc9.js} +2 -2
  22. package/dist/build-info.json +3 -3
  23. package/dist/bundled/boot-md/handler.js +60 -60
  24. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  25. package/dist/bundled/command-logger/handler.js +3 -3
  26. package/dist/bundled/session-memory/handler.js +60 -60
  27. package/dist/{channel-activity-DdL3RAv_.js → channel-activity-D_TMOGQ0.js} +3 -3
  28. package/dist/{channel-options-B2LlZj0S.js → channel-options-DPIZ2OfB.js} +1 -1
  29. package/dist/{channel-options-DcxOFxzU.js → channel-options-dvj7gQ75.js} +1 -1
  30. package/dist/{channel-web-XLD22Zzs.js → channel-web-C022IdsV.js} +2 -2
  31. package/dist/{channel-web-Cu_AcYVB.js → channel-web-DAeB1zPN.js} +2 -2
  32. package/dist/{channels-cli-BWMjEguK.js → channels-cli-BdUt4Lf-.js} +7 -7
  33. package/dist/{channels-cli-DZWOS5d6.js → channels-cli-DzA8ku51.js} +7 -7
  34. package/dist/{chrome-CT_a9OgI.js → chrome-BcJB6PcM.js} +17 -17
  35. package/dist/{chunk-Djk-9JeT.js → chunk-CMpX7Jaz.js} +1 -1
  36. package/dist/{cli-Bq5b8f58.js → cli-BC9fLKsk.js} +2 -2
  37. package/dist/{cli-BN8I3vTa.js → cli-VNJdJ9_T.js} +2 -2
  38. package/dist/{command-registry-CeIfSw9l.js → command-registry-Bo2L5BJz.js} +10 -10
  39. package/dist/{commands-registry-_TBHHpvt.js → commands-registry-j4vAzcF2.js} +5 -5
  40. package/dist/{completion-cli-Dh0MVQJ6.js → completion-cli-CevdZ8t2.js} +2 -2
  41. package/dist/{completion-cli-ClOKco1N.js → completion-cli-w7SY12wl.js} +1 -1
  42. package/dist/{config-cli-CpgR8c8d.js → config-cli-C8s4mZF3.js} +1 -1
  43. package/dist/{config-cli-BaNTuQ52.js → config-cli-D2221rb8.js} +1 -1
  44. package/dist/{configure-C4n13-o1.js → configure-6COQEc8d.js} +3 -3
  45. package/dist/{configure-BfzLtTQH.js → configure-BpeVYPCY.js} +3 -3
  46. package/dist/{deliver-Db2xqgLg.js → deliver-BUiQ-9fE.js} +20 -20
  47. package/dist/{deps-c-x2UBbd.js → deps-B3svY-p3.js} +1 -1
  48. package/dist/{deps-CnUuBleG.js → deps-BTDAxEQ6.js} +6 -6
  49. package/dist/{deps-CjvmCq-K.js → deps-Coo8Thxy.js} +1 -1
  50. package/dist/{deps-BH4bzzRD.js → deps-DOxHxBHl.js} +1 -1
  51. package/dist/{diagnostic-BvlZ0Sot.js → diagnostic-4owMk4vH.js} +1 -1
  52. package/dist/{dock-ejUetwTC.js → dock-BgOmHcbh.js} +6 -6
  53. package/dist/{doctor-completion-BUUL91Dy.js → doctor-completion-CCuJkHb8.js} +1 -1
  54. package/dist/{doctor-completion-IIzctUix.js → doctor-completion-CkCkSkfC.js} +1 -1
  55. package/dist/{emergency-stop-HaFAEk9Z.js → emergency-stop-BNon2wpA.js} +2 -2
  56. package/dist/{emergency-stop-CjxNr2he.js → emergency-stop-DO0wn668.js} +2 -2
  57. package/dist/{emergency-stop-Bg9a1fXU.js → emergency-stop-DZFe7oYv.js} +2 -2
  58. package/dist/emergency-stop-JMddgwUX.js +113 -0
  59. package/dist/entry.js +1 -1
  60. package/dist/{env-q-PhWbb_.js → env-B5G1qwGc.js} +1 -1
  61. package/dist/{errors-C4SHjIZK.js → errors-C_0nm4TJ.js} +1 -1
  62. package/dist/extensionAPI.js +2 -2
  63. package/dist/{fetch-guard-CcfDZXe9.js → fetch-guard-iuQsIjqN.js} +1 -1
  64. package/dist/{frontmatter-pTUG4Sx_.js → frontmatter-BOudmHMS.js} +2 -2
  65. package/dist/{fs-safe-2l05hI1Y.js → fs-safe-CYUaAFO9.js} +2 -2
  66. package/dist/{gateway-cli-C2jOWbsN.js → gateway-cli-Cf7kqenc.js} +9 -9
  67. package/dist/{gateway-cli-Bcamqq7Z.js → gateway-cli-D6Sh2d9w.js} +9 -9
  68. package/dist/{gemini-auth-DLSGffQK.js → gemini-auth-CIyaa44H.js} +2 -2
  69. package/dist/{github-copilot-token-BjmEQcmi.js → github-copilot-token-Dgt6cnsM.js} +7 -7
  70. package/dist/{health-3B8ANLz5.js → health-BavRGpi2.js} +1 -1
  71. package/dist/{health-BTU1dGHH.js → health-j2mDzeUl.js} +1 -1
  72. package/dist/{hooks-cli-CdEcbqPF.js → hooks-cli-AnCnOcQY.js} +3 -3
  73. package/dist/{hooks-cli-BOc85-37.js → hooks-cli-DDAeDBcO.js} +3 -3
  74. package/dist/{image-Dlu13Ebx.js → image-D8b_rlQC.js} +6 -6
  75. package/dist/{image-ops-J8P5zOFm.js → image-ops-D1KtygWz.js} +1 -1
  76. package/dist/index.js +7 -7
  77. package/dist/{ir-BT5aAdU9.js → ir-B7IBoKLy.js} +5 -5
  78. package/dist/llm-slug-generator.js +60 -60
  79. package/dist/{local-roots-d4y0lvs2.js → local-roots-KN4Hp1yZ.js} +5 -5
  80. package/dist/{login-C2X0In6m.js → login-CFr5vJmR.js} +6 -6
  81. package/dist/{login-qr-C17PY0rr.js → login-qr-CFFFOjOl.js} +11 -11
  82. package/dist/{manager-CgzA1hKo.js → manager-BE_76jWB.js} +15 -15
  83. package/dist/{markdown-tables-R8VTpfE9.js → markdown-tables-CzsockiZ.js} +1 -1
  84. package/dist/{message-channel-ZdI1-uUh.js → message-channel-C8QtrwEU.js} +1 -1
  85. package/dist/{model-selection-C5hI1dum.js → model-selection-1MMYqY6M.js} +41 -41
  86. package/dist/{models-CIS_OcjC.js → models-RiKkYhfQ.js} +2 -2
  87. package/dist/{models-cli-BS7pagh1.js → models-cli-B4HXQG2Q.js} +3 -3
  88. package/dist/{models-cli-6njz6jJl.js → models-cli-CSSZi7-P.js} +4 -4
  89. package/dist/{npm-resolution-CkpVYF4z.js → npm-resolution-D1b0Eoa4.js} +1 -1
  90. package/dist/{npm-resolution-DWXTcpqo.js → npm-resolution-vCuR0Tv5.js} +1 -1
  91. package/dist/{onboard-b_mYsSas.js → onboard-Dcj7w5Sb.js} +2 -2
  92. package/dist/{onboard-channels-sslbndju.js → onboard-channels-BT-vQKYZ.js} +1 -1
  93. package/dist/{onboard-channels-CzB1oDsu.js → onboard-channels-jrbhR8dl.js} +1 -1
  94. package/dist/{onboard-BYOBc47n.js → onboard-enaQTAES.js} +2 -2
  95. package/dist/{onboarding-BfDz8n6H.js → onboarding-BpiNSUID.js} +3 -3
  96. package/dist/{onboarding-qxSl79A_.js → onboarding-fRvJJ_jS.js} +3 -3
  97. package/dist/{onboarding.finalize-DGZkcjrv.js → onboarding.finalize-6q8jh9r4.js} +6 -6
  98. package/dist/{onboarding.finalize-DeEXxkOU.js → onboarding.finalize-B557eJgx.js} +7 -7
  99. package/dist/{outbound-CdY_AskB.js → outbound-BNh6PpQb.js} +6 -6
  100. package/dist/{outbound-attachment-IfeZJAKk.js → outbound-attachment-3I6GzwDe.js} +2 -2
  101. package/dist/{path-alias-guards-BZmt6hFb.js → path-alias-guards-Cu1nXNMM.js} +1 -1
  102. package/dist/{paths-DQpv9a3Q.js → paths-BYNVLNi_.js} +5 -5
  103. package/dist/{paths-D3p7ZvM6.js → paths-D_qUel1T.js} +3 -3
  104. package/dist/{pi-embedded-xW12sr9Q.js → pi-embedded-CMll1riT.js} +179 -179
  105. package/dist/{pi-embedded-E9CG0AZO.js → pi-embedded-D35RiR0f.js} +11 -11
  106. package/dist/{pi-embedded-helpers-B3ceCcxm.js → pi-embedded-helpers-CghCLoPo.js} +24 -24
  107. package/dist/{pi-model-discovery-Dlx4RLWo.js → pi-model-discovery-Bb__OY-j.js} +7 -7
  108. package/dist/{plugin-registry-CY1u8bd9.js → plugin-registry-DMdIUK_2.js} +1 -1
  109. package/dist/{plugin-registry-CJfl54B-.js → plugin-registry-DdywtXL5.js} +1 -1
  110. package/dist/plugin-sdk/{agent-via-gateway-NXyTgftN.js → agent-via-gateway-W4SFqR3m.js} +2 -2
  111. package/dist/plugin-sdk/{anton-8LTiJnvw.js → anton-DgXekgcy.js} +26 -7
  112. package/dist/plugin-sdk/{channel-web-DEl6BZu6.js → channel-web-DbwkbMKY.js} +2 -2
  113. package/dist/plugin-sdk/commands/anton.d.ts +28 -4
  114. package/dist/plugin-sdk/{deps-CdRm6UCM.js → deps-HLNhWkFy.js} +1 -1
  115. package/dist/plugin-sdk/{emergency-stop-vr_MLBH0.js → emergency-stop-BXP-MZHW.js} +2 -2
  116. package/dist/plugin-sdk/index.js +3 -3
  117. package/dist/plugin-sdk/{reply-Cii_-apO.js → reply-BEnj9--x.js} +11 -11
  118. package/dist/plugin-sdk/{web-BrcYG4Cd.js → web-TsEAe4Bs.js} +3 -3
  119. package/dist/{plugins-DYr-HHj0.js → plugins-CRB60mCJ.js} +10 -10
  120. package/dist/{plugins-cli-BsCu9ZxX.js → plugins-cli-CkqS4cmo.js} +3 -3
  121. package/dist/{plugins-cli-rEURRyag.js → plugins-cli-DHVkVGke.js} +3 -3
  122. package/dist/{program-CtFnQFId.js → program-BeB3v4zk.js} +8 -8
  123. package/dist/{program-context-BsCSqznM.js → program-context-w-tdgurY.js} +18 -18
  124. package/dist/{prompt-select-styled-BKPmN1HP.js → prompt-select-styled-CE6lL16-.js} +4 -4
  125. package/dist/{prompt-select-styled-BB8mtFS9.js → prompt-select-styled-CGdWABH5.js} +4 -4
  126. package/dist/{provider-auth-helpers-ar7t02s1.js → provider-auth-helpers-C72Fb__o.js} +1 -1
  127. package/dist/{provider-auth-helpers-486CLY6U.js → provider-auth-helpers-D0RhcC2q.js} +1 -1
  128. package/dist/{push-apns-CJJ-O5fL.js → push-apns-CeEArjp5.js} +1 -1
  129. package/dist/{push-apns-AHniql5u.js → push-apns-Nj66xHk1.js} +1 -1
  130. package/dist/{pw-ai-DIV4PcIo.js → pw-ai-CfYaR1K2.js} +13 -13
  131. package/dist/{qmd-manager-BRvg3Rx2.js → qmd-manager-B_GgyQQ0.js} +8 -8
  132. package/dist/{query-expansion-DHuNyU-_.js → query-expansion-DEq020GG.js} +5 -5
  133. package/dist/{redact-1Y0KPNtr.js → redact-Bvpf-ATQ.js} +1 -1
  134. package/dist/{register.agent-DswuLYd8.js → register.agent-BaiV-Kp5.js} +9 -9
  135. package/dist/{register.agent-TMXz7bwT.js → register.agent-CoADvHMz.js} +8 -8
  136. package/dist/{register.configure-BFWnHArB.js → register.configure-COg3mvRi.js} +8 -8
  137. package/dist/{register.configure-DlxSU46q.js → register.configure-Dhfhctpj.js} +8 -8
  138. package/dist/{register.maintenance-C2B-RPnI.js → register.maintenance-CjxM0oKc.js} +8 -8
  139. package/dist/{register.maintenance-Dj8A9Hj7.js → register.maintenance-MELPxVyx.js} +9 -9
  140. package/dist/{register.message-CR569hCK.js → register.message-CbssH6ek.js} +3 -3
  141. package/dist/{register.message-DWm_Lizi.js → register.message-kzRNe_7l.js} +3 -3
  142. package/dist/{register.onboard-CBlF61-5.js → register.onboard-CAbo-VF1.js} +2 -2
  143. package/dist/{register.onboard-BjMv8Rc2.js → register.onboard-CJeQ64iC.js} +2 -2
  144. package/dist/{register.orchestrator-anton-CehFZHyG.js → register.orchestrator-anton-CBnyqoHX.js} +2 -2
  145. package/dist/{register.orchestrator-anton-Cvw__ptb.js → register.orchestrator-anton-CdVQ30at.js} +2 -2
  146. package/dist/{register.setup-BrXOX1jn.js → register.setup-DEH8S3Y5.js} +2 -2
  147. package/dist/{register.setup-B8TX05TM.js → register.setup-XGT1lV6o.js} +2 -2
  148. package/dist/{register.status-health-sessions-DexyefSU.js → register.status-health-sessions-0ppExIVs.js} +4 -4
  149. package/dist/{register.status-health-sessions-C-3gl9qR.js → register.status-health-sessions-jEhyhioj.js} +4 -4
  150. package/dist/{register.subclis-CFcZU6Sc.js → register.subclis-DQx75Ni7.js} +9 -9
  151. package/dist/{replies-2C16fnBP.js → replies-6_GxvQYe.js} +3 -3
  152. package/dist/{reply-dLJYULbb.js → reply-Du7Q5RJl.js} +11 -11
  153. package/dist/{reply-prefix-DCljZiIB.js → reply-prefix-BUgeSN2R.js} +1 -1
  154. package/dist/{resolve-route-ClcifpKn.js → resolve-route-DuttYY7A.js} +4 -4
  155. package/dist/{retry-CG6cMRDQ.js → retry-BeB9WenR.js} +1 -1
  156. package/dist/{run-main-xc_0T201.js → run-main-D56C-iq4.js} +15 -15
  157. package/dist/{runner-BkCU-kqs.js → runner-PgRFPYUj.js} +11 -11
  158. package/dist/{send-DZa8fWSm.js → send-BeIZJuy4.js} +7 -7
  159. package/dist/{send-Y1hD4tQ1.js → send-C1hvd3bt.js} +6 -6
  160. package/dist/{send-BOxJ4QXF.js → send-D4bMycQu.js} +7 -7
  161. package/dist/{send-FLdrx-oF.js → send-Dfa3sn6r.js} +24 -24
  162. package/dist/{send-IlPMLAH-.js → send-DmLC7aEF.js} +10 -10
  163. package/dist/{server-node-events-CgSZVd8M.js → server-node-events-C1uC6pPJ.js} +3 -3
  164. package/dist/{server-node-events-Dj5jYSln.js → server-node-events-h-U5Mfvv.js} +3 -3
  165. package/dist/{session-nUPBXeEa.js → session-F_YDS_1V.js} +7 -7
  166. package/dist/{sessions-DRA4oaxz.js → sessions-3ioSeOA1.js} +41 -41
  167. package/dist/{skill-commands-BHTBXXVn.js → skill-commands-Ck3flWX7.js} +9 -9
  168. package/dist/{skills-umlGvChF.js → skills-CnAPWfca.js} +22 -22
  169. package/dist/{status-Bp-x4GJi.js → status-CQ18Gd-d.js} +2 -2
  170. package/dist/{status-CV7OIIGl.js → status-DmPnFNgt.js} +2 -2
  171. package/dist/{store-D-ZicQeo.js → store-CvMgrKWx.js} +2 -2
  172. package/dist/{subagent-registry-CJX_DOgh.js → subagent-registry-CPeVtSZk.js} +11 -11
  173. package/dist/{subsystem-D7ZepYT1.js → subsystem-tzu-rIAJ.js} +1 -1
  174. package/dist/{tables-Co_R_WKs.js → tables-5k-zOZ-s.js} +1 -1
  175. package/dist/{target-errors-B1mcM4WR.js → target-errors-BPfQrPim.js} +2 -2
  176. package/dist/{tokens-DGajj8M9.js → tokens-BRLyURxW.js} +1 -1
  177. package/dist/{tool-images-Duuqr4bN.js → tool-images-CcGZpzmq.js} +2 -2
  178. package/dist/{tool-loop-detection-CjWRg_4q.js → tool-loop-detection-BNGetx3Z.js} +3 -3
  179. package/dist/{update-cli-Crq7aGUA.js → update-cli-Di_N9xCB.js} +8 -8
  180. package/dist/{update-cli-z5fJRDU4.js → update-cli-DraOIip8.js} +9 -9
  181. package/dist/{update-runner-BLquhnrL.js → update-runner-BJRwxU_y.js} +1 -1
  182. package/dist/{update-runner-BkSrWsKc.js → update-runner-BQlZS5zz.js} +1 -1
  183. package/dist/{utils-D9wGoiU9.js → utils-CTFLl_ji.js} +18 -18
  184. package/dist/{web-CNowaS6B.js → web-Cp8ceOUo.js} +66 -66
  185. package/dist/{web-BKSxBqZw.js → web-CrYZNxAg.js} +3 -3
  186. package/dist/{web-BKs38Jg4.js → web-D77Xu1Fp.js} +3 -3
  187. package/dist/{web-B267OUXc.js → web-DzfcaLnK.js} +3 -3
  188. package/dist/{whatsapp-actions-BJ6kVDXi.js → whatsapp-actions-DbPcN6JQ.js} +25 -25
  189. package/dist/{workspace-tAtkoD_r.js → workspace-DBFSzT6O.js} +18 -18
  190. package/extensions/acpx/package.json +1 -1
  191. package/extensions/bluebubbles/package.json +1 -1
  192. package/extensions/copilot-proxy/package.json +1 -1
  193. package/extensions/diagnostics-otel/package.json +1 -1
  194. package/extensions/discord/package.json +1 -1
  195. package/extensions/feishu/package.json +1 -1
  196. package/extensions/google-gemini-cli-auth/package.json +1 -1
  197. package/extensions/googlechat/package.json +1 -1
  198. package/extensions/hand/package.json +1 -1
  199. package/extensions/imessage/package.json +1 -1
  200. package/extensions/irc/package.json +1 -1
  201. package/extensions/line/package.json +1 -1
  202. package/extensions/llm-task/package.json +1 -1
  203. package/extensions/matrix/package.json +1 -1
  204. package/extensions/mattermost/package.json +1 -1
  205. package/extensions/memory-core/package.json +1 -1
  206. package/extensions/memory-lancedb/package.json +1 -1
  207. package/extensions/minimax-portal-auth/package.json +1 -1
  208. package/extensions/msteams/package.json +1 -1
  209. package/extensions/nextcloud-talk/package.json +1 -1
  210. package/extensions/nostr/package.json +1 -1
  211. package/extensions/open-prose/package.json +1 -1
  212. package/extensions/signal/package.json +1 -1
  213. package/extensions/slack/package.json +1 -1
  214. package/extensions/synology-chat/package.json +1 -1
  215. package/extensions/telegram/package.json +1 -1
  216. package/extensions/tlon/package.json +1 -1
  217. package/extensions/twitch/package.json +1 -1
  218. package/extensions/voice-call/package.json +1 -1
  219. package/extensions/whatsapp/package.json +1 -1
  220. package/extensions/zalo/package.json +1 -1
  221. package/extensions/zalouser/package.json +1 -1
  222. package/package.json +1 -1
  223. package/dist/emergency-stop-Chw8LiXP.js +0 -113
@@ -0,0 +1,113 @@
1
+ import "./agent-scope-DyP_tr7s.js";
2
+ import "./paths-BYNVLNi_.js";
3
+ import "./subsystem-tzu-rIAJ.js";
4
+ import { D as logVerbose } from "./utils-CTFLl_ji.js";
5
+ import "./runtime-8mi3mpYB.js";
6
+ import "./workspace-DBFSzT6O.js";
7
+ import "./model-selection-1MMYqY6M.js";
8
+ import "./github-copilot-token-Dgt6cnsM.js";
9
+ import "./boolean-CE7i9tBR.js";
10
+ import "./env-B5G1qwGc.js";
11
+ import "./dock-BgOmHcbh.js";
12
+ import "./tokens-BRLyURxW.js";
13
+ import { B as clearSessionQueues, F as isAbortRequestText, I as stopSubagentsForRequester, P as formatAbortReplyText, n as abortEmbeddedPiRun } from "./pi-embedded-CMll1riT.js";
14
+ import "./plugins-CRB60mCJ.js";
15
+ import "./accounts-Dk8mJIrQ.js";
16
+ import "./bindings-D3b5Fmc9.js";
17
+ import "./auth-store-DXT-l7fO.js";
18
+ import "./send-BeIZJuy4.js";
19
+ import "./send-DmLC7aEF.js";
20
+ import "./deliver-BUiQ-9fE.js";
21
+ import "./diagnostic-4owMk4vH.js";
22
+ import "./diagnostic-session-state-BGF2r-kt.js";
23
+ import "./accounts-BDVs8LTu.js";
24
+ import "./send-Dfa3sn6r.js";
25
+ import "./image-ops-D1KtygWz.js";
26
+ import "./pi-model-discovery-Bb__OY-j.js";
27
+ import "./message-channel-C8QtrwEU.js";
28
+ import "./pi-embedded-helpers-CghCLoPo.js";
29
+ import "./chrome-BcJB6PcM.js";
30
+ import "./ssrf-CZeHDwVZ.js";
31
+ import "./frontmatter-BOudmHMS.js";
32
+ import "./skills-CnAPWfca.js";
33
+ import "./path-alias-guards-Cu1nXNMM.js";
34
+ import "./redact-Bvpf-ATQ.js";
35
+ import "./errors-C_0nm4TJ.js";
36
+ import "./fs-safe-CYUaAFO9.js";
37
+ import "./store-CvMgrKWx.js";
38
+ import { s as loadSessionStore } from "./sessions-3ioSeOA1.js";
39
+ import "./accounts-CIvVRRHb.js";
40
+ import { r as resolveDefaultSessionStorePath } from "./paths-D_qUel1T.js";
41
+ import "./tool-images-CcGZpzmq.js";
42
+ import "./thinking-z4_linel.js";
43
+ import "./image-D8b_rlQC.js";
44
+ import "./reply-prefix-BUgeSN2R.js";
45
+ import "./manager-BE_76jWB.js";
46
+ import "./gemini-auth-CIyaa44H.js";
47
+ import "./fetch-guard-iuQsIjqN.js";
48
+ import "./query-expansion-DEq020GG.js";
49
+ import "./retry-BeB9WenR.js";
50
+ import "./target-errors-BPfQrPim.js";
51
+ import "./chunk-CMpX7Jaz.js";
52
+ import "./markdown-tables-CzsockiZ.js";
53
+ import "./local-roots-KN4Hp1yZ.js";
54
+ import "./ir-B7IBoKLy.js";
55
+ import "./render-MTSxc7LK.js";
56
+ import "./commands-registry-j4vAzcF2.js";
57
+ import "./skill-commands-Ck3flWX7.js";
58
+ import "./runner-PgRFPYUj.js";
59
+ import "./fetch-CsfR_943.js";
60
+ import "./channel-activity-D_TMOGQ0.js";
61
+ import "./tables-5k-zOZ-s.js";
62
+ import "./send-C1hvd3bt.js";
63
+ import "./outbound-attachment-3I6GzwDe.js";
64
+ import "./send-D4bMycQu.js";
65
+ import "./resolve-route-DuttYY7A.js";
66
+ import "./proxy-CRB9oCP5.js";
67
+ import "./replies-6_GxvQYe.js";
68
+ import "./deps-BTDAxEQ6.js";
69
+
70
+ //#region src/auto-reply/reply/emergency-stop.ts
71
+ /**
72
+ * Emergency stop — bypass all queues and debouncing.
73
+ * Called at the earliest ingress point (before debouncer) to guarantee immediate execution.
74
+ */
75
+ /**
76
+ * Execute an emergency stop for a session.
77
+ * Clears all queues, aborts embedded runs, and stops subagents.
78
+ * Returns the reply text to send to the user.
79
+ */
80
+ function emergencyStop(params) {
81
+ const { cfg, sessionKey, sessionId } = params;
82
+ const cleared = clearSessionQueues([sessionKey, sessionId]);
83
+ if (cleared.followupCleared > 0 || cleared.laneCleared > 0) logVerbose(`emergency-stop: cleared followups=${cleared.followupCleared} lane=${cleared.laneCleared} keys=${cleared.keys.join(",")}`);
84
+ if (sessionId) abortEmbeddedPiRun(sessionId);
85
+ const { stopped } = stopSubagentsForRequester({
86
+ cfg,
87
+ requesterSessionKey: sessionKey
88
+ });
89
+ logVerbose(`emergency-stop: sessionKey=${sessionKey} sessionId=${sessionId} stoppedSubagents=${stopped}`);
90
+ return {
91
+ aborted: true,
92
+ replyText: formatAbortReplyText(stopped),
93
+ sessionKey
94
+ };
95
+ }
96
+ /**
97
+ * Resolve session info from the session store for emergency stop.
98
+ * Lightweight — just reads the store, no locks.
99
+ */
100
+ function resolveSessionForEmergencyStop(sessionKey) {
101
+ try {
102
+ const store = loadSessionStore(resolveDefaultSessionStorePath());
103
+ return {
104
+ sessionId: store[sessionKey]?.sessionId,
105
+ store
106
+ };
107
+ } catch {
108
+ return {};
109
+ }
110
+ }
111
+
112
+ //#endregion
113
+ export { emergencyStop, isAbortRequestText, resolveSessionForEmergencyStop };
package/dist/entry.js CHANGED
@@ -2566,7 +2566,7 @@ if (!isMainModule({
2566
2566
  applyCliProfileEnv({ profile: parsed.profile });
2567
2567
  process$1.argv = parsed.argv;
2568
2568
  }
2569
- import("./run-main-xc_0T201.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2569
+ import("./run-main-D56C-iq4.js").then(({ runCli }) => runCli(process$1.argv)).catch((error) => {
2570
2570
  console.error("[idlehands] Failed to start CLI:", error instanceof Error ? error.stack ?? error.message : error);
2571
2571
  process$1.exitCode = 1;
2572
2572
  });
@@ -1,4 +1,4 @@
1
- import { t as createSubsystemLogger } from "./subsystem-D7ZepYT1.js";
1
+ import { t as createSubsystemLogger } from "./subsystem-tzu-rIAJ.js";
2
2
  import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
3
3
 
4
4
  //#region src/infra/env.ts
@@ -1,4 +1,4 @@
1
- import { t as redactSensitiveText } from "./redact-1Y0KPNtr.js";
1
+ import { t as redactSensitiveText } from "./redact-Bvpf-ATQ.js";
2
2
 
3
3
  //#region src/infra/errors.ts
4
4
  function extractErrorCode(err) {
@@ -9,7 +9,7 @@ import "./github-copilot-token-D50c466d.js";
9
9
  import "./env-BpvqFD5n.js";
10
10
  import "./dock-QcCdS4qA.js";
11
11
  import "./tokens-Cg4XNE3H.js";
12
- import { B as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-E9CG0AZO.js";
12
+ import { B as resolveAgentTimeoutMs, t as runEmbeddedPiAgent } from "./pi-embedded-D35RiR0f.js";
13
13
  import "./plugins-D-_jp4FO.js";
14
14
  import "./accounts-BwrguHMw.js";
15
15
  import "./bindings-hT7SPhiA.js";
@@ -62,6 +62,6 @@ import "./send-Cn2wvd3W.js";
62
62
  import "./resolve-route-BI3VjtwE.js";
63
63
  import "./proxy-CNZpb4NE.js";
64
64
  import "./replies-CqYEEgmA.js";
65
- import "./deps-c-x2UBbd.js";
65
+ import "./deps-B3svY-p3.js";
66
66
 
67
67
  export { DEFAULT_MODEL, DEFAULT_PROVIDER, ensureAgentWorkspace, loadSessionStore, resolveAgentDir, resolveAgentIdentity, resolveAgentTimeoutMs, resolveAgentWorkspaceDir, resolveSessionFilePath, resolveStorePath, resolveThinkingDefault, runEmbeddedPiAgent, saveSessionStore };
@@ -1,4 +1,4 @@
1
- import { S as logWarn } from "./workspace-tAtkoD_r.js";
1
+ import { S as logWarn } from "./workspace-DBFSzT6O.js";
2
2
  import { a as resolvePinnedHostnameWithPolicy, n as closeDispatcher, r as createPinnedDispatcher, t as SsrFBlockedError } from "./ssrf-CZeHDwVZ.js";
3
3
  import { t as bindAbortRelay } from "./fetch-timeout-3YYM8QuM.js";
4
4
  import { EnvHttpProxyAgent } from "undici";
@@ -1,7 +1,7 @@
1
1
  import { t as parseBooleanValue } from "./boolean-CE7i9tBR.js";
2
2
  import { n as MANIFEST_KEY, t as LEGACY_MANIFEST_KEYS } from "./legacy-names-B4ZvHEmO.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import syncFs from "node:fs";
5
5
  import JSON5 from "json5";
6
6
  import YAML from "yaml";
7
7
 
@@ -93,7 +93,7 @@ function hasBinary(bin) {
93
93
  for (const part of parts) for (const ext of extensions) {
94
94
  const candidate = path.join(part, bin + ext);
95
95
  try {
96
- fs.accessSync(candidate, fs.constants.X_OK);
96
+ syncFs.accessSync(candidate, syncFs.constants.X_OK);
97
97
  hasBinaryCache.set(bin, true);
98
98
  return true;
99
99
  } catch {}
@@ -1,5 +1,5 @@
1
- import { A as isNotFoundPathError, E as sameFileIdentity, M as isSymlinkOpenError, j as isPathInside } from "./workspace-tAtkoD_r.js";
2
- import { n as assertNoPathAliasEscape } from "./path-alias-guards-BZmt6hFb.js";
1
+ import { A as isNotFoundPathError, E as sameFileIdentity, M as isSymlinkOpenError, j as isPathInside } from "./workspace-DBFSzT6O.js";
2
+ import { n as assertNoPathAliasEscape } from "./path-alias-guards-Cu1nXNMM.js";
3
3
  import fs from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { constants } from "node:fs";
@@ -1,7 +1,7 @@
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-BfmeFj7S.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-dLJYULbb.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-Du7Q5RJl.js";
5
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-DbNnv10G.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-BTkYq-SM.js";
7
7
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
@@ -107,7 +107,7 @@ import "./resolve-route-BrHTn_2g.js";
107
107
  import "./replies-CWMglpIw.js";
108
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-BY4BNcfR.js";
109
109
  import { t as listAgentWorkspaceDirs } from "./workspace-dirs-C34pt6Pa.js";
110
- import { n as createOutboundSendDeps$1, t as createDefaultDeps } from "./deps-CjvmCq-K.js";
110
+ import { n as createOutboundSendDeps$1, t as createDefaultDeps } from "./deps-Coo8Thxy.js";
111
111
  import { i as buildChannelUiCatalog, t as applyPluginAutoEnable } from "./plugin-auto-enable-CU8IfpBV.js";
112
112
  import { n as resolveMessageChannelSelection } from "./channel-selection-DLfBD-c0.js";
113
113
  import "./outbound-attachment-Cz80loTd.js";
@@ -130,7 +130,7 @@ import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-ulSRJzn7.
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-DLjDlH4M.js";
133
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-A-WLFOiz.js";
134
134
  import { t as isWithinDir } from "./path-safety-DwibX65n.js";
135
135
  import "./install-safe-path-ChNR9pl6.js";
136
136
  import "./skill-scanner-BFXxq_hZ.js";
@@ -150,19 +150,19 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
150
150
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-pSfUCPxh.js";
151
151
  import { a as isNodeCommandAllowed, n as collectEnabledInsecureOrDangerousFlags, o as resolveNodeCommandAllowlist, s as probeGateway } from "./audit-DjUOBxVB.js";
152
152
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-Yzgl5gfZ.js";
153
- import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-Bp-x4GJi.js";
154
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-3B8ANLz5.js";
153
+ import { n as getStatusSummary, r as pickGatewaySelfPresence } from "./status-CQ18Gd-d.js";
154
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-BavRGpi2.js";
155
155
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-CSrZ1shI.js";
156
156
  import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-CBQ0TdW0.js";
157
157
  import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-DELkrqga.js";
158
- import { t as runOnboardingWizard } from "./onboarding-qxSl79A_.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-AHniql5u.js";
158
+ import { t as runOnboardingWizard } from "./onboarding-fRvJJ_jS.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-Nj66xHk1.js";
160
160
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-D1VrLZhD.js";
161
161
  import "./node-service-IG3YtMJq.js";
162
162
  import "./status.update-Cri65g-V.js";
163
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-DtT5msEN.js";
164
164
  import { t as installSkill } from "./skills-install-CQihNd2n.js";
165
- import { t as runGatewayUpdate } from "./update-runner-BLquhnrL.js";
165
+ import { t as runGatewayUpdate } from "./update-runner-BJRwxU_y.js";
166
166
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-BHN1rb4L.js";
167
167
  import { fileURLToPath, pathToFileURL } from "node:url";
168
168
  import * as fsSync from "node:fs";
@@ -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-CgSZVd8M.js");
12697
+ const { handleNodeEvent } = await import("./server-node-events-C1uC6pPJ.js");
12698
12698
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
12699
12699
  await handleNodeEvent({
12700
12700
  deps: context.deps,
@@ -28,7 +28,7 @@ import "./logging-Bgrm4o7g.js";
28
28
  import "./auth-store-D9BmR4S6.js";
29
29
  import "./send-m4lQkQcY.js";
30
30
  import "./send-CCiDIuX4.js";
31
- import { $n as stopSubagentsForRequester, A as createOutboundSendDeps, An as requestHeartbeatNow, Ar as clearAgentRunContext, At as normalizeHttpWebhookUrl, Bn as DEFAULT_INPUT_MAX_REDIRECTS, Bt as buildDeliveryFromLegacyPayload, C as computeBackoff, Cr as waitForActiveTasks, Ct as consumeRestartSentinel, Dn as isSystemEventContextChanged, Dt as summarizeRestartSentinel, E as agentCommand, En as enqueueSystemEvent, Fn as ACP_SESSION_IDENTITY_RENDERER_VERSION, Ft as normalizeOptionalSessionKey, Gn as resolveInputFileLimits, Gt as buildSafeExternalPrompt, Hn as extractFileContentFromSource, Ht as stripLegacyDeliveryFields, In as getAcpSessionManager, It as normalizeOptionalText, Jn as resolveSendPolicy, Jt as isExternalHookSession, Kn as resolveAgentTimeoutMs, Kt as detectSuspiciousPatterns, Ln as resolveAgentSessionDirs, Lt as normalizePayloadToSystemText, Mr as getAgentRunContext, Mt as normalizeCronJobPatch, Nr as onAgentEvent, Nt as inferLegacyName, O as resolveAgentDeliveryPlan, Pr as registerAgentRunContext, Pt as normalizeOptionalAgentId, Q as getTotalPendingReplies, Qn as isAbortRequestText, R as buildHistoryContextFromEntries, Rn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Rt as normalizeRequiredName, S as requestBodyErrorToText, Sr as setCommandLaneConcurrency, Tr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Tt as formatRestartSentinelMessage, Un as extractImageContentFromSource, Vn as DEFAULT_INPUT_TIMEOUT_MS, Vt as hasLegacyDeliveryHints, Wn as normalizeMimeList, X as dispatchInboundMessage, Xt as persistBrowserProxyFiles, Yt as applyBrowserProxyPaths, Z as createReplyDispatcher, Zt as resolveSessionAuthProfileOverride, _ as loadIdleHandsPlugins, _r as getActiveTaskCount, _t as resolveOutboundChannelPlugin, a as runSubagentAnnounceFlow, an as deferGatewayRestartUntilIdle, ar as isTtsEnabled, at as setCliSessionId, b as handleSlackHttpRequest, bn as buildOutboundSessionContext, br as markGatewayDraining, c as abortEmbeddedPiRun, cn as markGatewaySigusr1RestartHandled, cr as resolveTtsAutoMode, ct as readLatestAssistantReply, d as applyToolPolicyPipeline, dn as setPreRestartDeferralCheck, dr as resolveTtsProviderOrder, dt as ensureOutboundSessionEntry, f as buildDefaultToolPolicyPipelineSteps, fn as unbindThreadBindingsBySessionKey, fr as setTtsEnabled, ft as resolveOutboundSessionRoute, gr as OPENAI_TTS_VOICES, gt as resolveSessionDeliveryTarget, h as resolvePluginTools, hn as loadProviderUsageSummary, hr as OPENAI_TTS_MODELS, ht as resolveOutboundTarget, in as consumeGatewaySigusr1RestartAuthorization, ir as getTtsProvider, it as getCliSessionId, j as resolveAgentAvatar, jr as emitAgentEvent, jt as normalizeCronJobCreate, k as resolveAgentOutboundTarget, kr as stripHeartbeatToken, kt as writeRestartSentinel, l as getActiveEmbeddedRunCount, ln as scheduleGatewaySigusr1Restart, lr as resolveTtsConfig, lt as resolveAnnounceTargetFromKey, m as getPluginToolMeta, mr as textToSpeech, n as initSubagentRegistry, nn as applyVerboseOverride, nr as resolveUserTimezone, o as clearSessionQueues, on as emitGatewayRestart, or as isTtsProviderConfigured, ot as runCliAgent, pn as normalizeGroupActivation, pr as setTtsProvider, qn as normalizeSendPolicy, qt as getHookType, r as listDescendantRunsForRequester, rn as parseVerboseOverride, rr as clearBootstrapSnapshot, rt as resolveCronStyleNow, s as runEmbeddedPiAgent, sn as isGatewaySigusr1RestartExternallyAllowed, sr as resolveTtsApiKey, st as createIdleHandsTools, t as countActiveDescendantRuns, tn as applyModelOverrideToSessionEntry, tt as BARE_SESSION_RESET_PROMPT, u as waitForEmbeddedPiRunEnd, un as setGatewaySigusr1RestartPolicy, ur as resolveTtsPrefsPath, w as sleepWithAbort, wr as CommandLane, wt as formatDoctorNonInteractiveHint, x as readJsonBodyWithLimit, xn as formatZonedTimestamp, xr as resetAllLanes, xt as runWithModelFallback, yr as getTotalQueueSize, yt as resetDirectoryCache, zn as DEFAULT_INPUT_IMAGE_MIMES, zt as migrateLegacyCronPayload } from "./subagent-registry-CJX_DOgh.js";
31
+ import { $n as stopSubagentsForRequester, A as createOutboundSendDeps, An as requestHeartbeatNow, Ar as clearAgentRunContext, At as normalizeHttpWebhookUrl, Bn as DEFAULT_INPUT_MAX_REDIRECTS, Bt as buildDeliveryFromLegacyPayload, C as computeBackoff, Cr as waitForActiveTasks, Ct as consumeRestartSentinel, Dn as isSystemEventContextChanged, Dt as summarizeRestartSentinel, E as agentCommand, En as enqueueSystemEvent, Fn as ACP_SESSION_IDENTITY_RENDERER_VERSION, Ft as normalizeOptionalSessionKey, Gn as resolveInputFileLimits, Gt as buildSafeExternalPrompt, Hn as extractFileContentFromSource, Ht as stripLegacyDeliveryFields, In as getAcpSessionManager, It as normalizeOptionalText, Jn as resolveSendPolicy, Jt as isExternalHookSession, Kn as resolveAgentTimeoutMs, Kt as detectSuspiciousPatterns, Ln as resolveAgentSessionDirs, Lt as normalizePayloadToSystemText, Mr as getAgentRunContext, Mt as normalizeCronJobPatch, Nr as onAgentEvent, Nt as inferLegacyName, O as resolveAgentDeliveryPlan, Pr as registerAgentRunContext, Pt as normalizeOptionalAgentId, Q as getTotalPendingReplies, Qn as isAbortRequestText, R as buildHistoryContextFromEntries, Rn as DEFAULT_INPUT_IMAGE_MAX_BYTES, Rt as normalizeRequiredName, S as requestBodyErrorToText, Sr as setCommandLaneConcurrency, Tr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, Tt as formatRestartSentinelMessage, Un as extractImageContentFromSource, Vn as DEFAULT_INPUT_TIMEOUT_MS, Vt as hasLegacyDeliveryHints, Wn as normalizeMimeList, X as dispatchInboundMessage, Xt as persistBrowserProxyFiles, Yt as applyBrowserProxyPaths, Z as createReplyDispatcher, Zt as resolveSessionAuthProfileOverride, _ as loadIdleHandsPlugins, _r as getActiveTaskCount, _t as resolveOutboundChannelPlugin, a as runSubagentAnnounceFlow, an as deferGatewayRestartUntilIdle, ar as isTtsEnabled, at as setCliSessionId, b as handleSlackHttpRequest, bn as buildOutboundSessionContext, br as markGatewayDraining, c as abortEmbeddedPiRun, cn as markGatewaySigusr1RestartHandled, cr as resolveTtsAutoMode, ct as readLatestAssistantReply, d as applyToolPolicyPipeline, dn as setPreRestartDeferralCheck, dr as resolveTtsProviderOrder, dt as ensureOutboundSessionEntry, f as buildDefaultToolPolicyPipelineSteps, fn as unbindThreadBindingsBySessionKey, fr as setTtsEnabled, ft as resolveOutboundSessionRoute, gr as OPENAI_TTS_VOICES, gt as resolveSessionDeliveryTarget, h as resolvePluginTools, hn as loadProviderUsageSummary, hr as OPENAI_TTS_MODELS, ht as resolveOutboundTarget, in as consumeGatewaySigusr1RestartAuthorization, ir as getTtsProvider, it as getCliSessionId, j as resolveAgentAvatar, jr as emitAgentEvent, jt as normalizeCronJobCreate, k as resolveAgentOutboundTarget, kr as stripHeartbeatToken, kt as writeRestartSentinel, l as getActiveEmbeddedRunCount, ln as scheduleGatewaySigusr1Restart, lr as resolveTtsConfig, lt as resolveAnnounceTargetFromKey, m as getPluginToolMeta, mr as textToSpeech, n as initSubagentRegistry, nn as applyVerboseOverride, nr as resolveUserTimezone, o as clearSessionQueues, on as emitGatewayRestart, or as isTtsProviderConfigured, ot as runCliAgent, pn as normalizeGroupActivation, pr as setTtsProvider, qn as normalizeSendPolicy, qt as getHookType, r as listDescendantRunsForRequester, rn as parseVerboseOverride, rr as clearBootstrapSnapshot, rt as resolveCronStyleNow, s as runEmbeddedPiAgent, sn as isGatewaySigusr1RestartExternallyAllowed, sr as resolveTtsApiKey, st as createIdleHandsTools, t as countActiveDescendantRuns, tn as applyModelOverrideToSessionEntry, tt as BARE_SESSION_RESET_PROMPT, u as waitForEmbeddedPiRunEnd, un as setGatewaySigusr1RestartPolicy, ur as resolveTtsPrefsPath, w as sleepWithAbort, wr as CommandLane, wt as formatDoctorNonInteractiveHint, x as readJsonBodyWithLimit, xn as formatZonedTimestamp, xr as resetAllLanes, xt as runWithModelFallback, yr as getTotalQueueSize, yt as resetDirectoryCache, zn as DEFAULT_INPUT_IMAGE_MIMES, zt as migrateLegacyCronPayload } from "./subagent-registry-CPeVtSZk.js";
32
32
  import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, u as resolveStorePath } from "./paths-CC17i2eK.js";
33
33
  import { i as normalizeInputProvenance } from "./input-provenance-iBlnbS1d.js";
34
34
  import "./chat-envelope-Dedaetiq.js";
@@ -115,7 +115,7 @@ import { n as runCommandWithRuntime } from "./cli-utils-BfsDuRZS.js";
115
115
  import { t as formatHelpExamples } from "./help-format-CldHB7lS.js";
116
116
  import { n as withProgress } from "./progress-B76RkFx7.js";
117
117
  import "./replies-DSfpze17.js";
118
- import { n as createOutboundSendDeps$1, t as createDefaultDeps } from "./deps-BH4bzzRD.js";
118
+ import { n as createOutboundSendDeps$1, t as createDefaultDeps } from "./deps-DOxHxBHl.js";
119
119
  import { C as normalizeControlUiBasePath, S as buildControlUiAvatarUrl, c as handleReset, w as resolveAssistantAvatarUrl, x as CONTROL_UI_AVATAR_PREFIX } from "./onboard-helpers-DWivfzcc.js";
120
120
  import "./prompt-style-XmK49QYK.js";
121
121
  import "./pairing-labels-D7xcHkxi.js";
@@ -125,7 +125,7 @@ import { n as DEFAULT_GATEWAY_HTTP_TOOL_DENY } from "./dangerous-tools-B1XEiDxB.
125
125
  import { n as inheritOptionFromParent } from "./command-options-CK65DMbR.js";
126
126
  import { t as WizardCancelledError } from "./prompts-D3HHe1ZZ.js";
127
127
  import { t as resolveChannelDefaultAccountId } from "./helpers-CIyuenBU.js";
128
- import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DmFqh5v8.js";
128
+ import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-8tuPdcTQ.js";
129
129
  import { t as isWithinDir } from "./path-safety-O-JjyFjj.js";
130
130
  import "./install-safe-path-C7y57-yb.js";
131
131
  import "./skill-scanner-CdLElD51.js";
@@ -146,19 +146,19 @@ import { n as resolveWideAreaDiscoveryDomain, r as writeWideAreaGatewayZone } fr
146
146
  import { i as toOptionString, n as extractGatewayMiskeys, r as maybeExplainGatewayServiceStop, t as describeUnknownError } from "./shared-KdaUmZfd.js";
147
147
  import { a as isNodeCommandAllowed, n as collectEnabledInsecureOrDangerousFlags, o as resolveNodeCommandAllowlist, s as probeGateway } from "./audit-C9PrbHng.js";
148
148
  import { t as discoverGatewayBeacons } from "./bonjour-discovery-xjvAm8hU.js";
149
- import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-CV7OIIGl.js";
150
- import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-BTU1dGHH.js";
149
+ import { i as pickGatewaySelfPresence, r as getStatusSummary } from "./status-DmPnFNgt.js";
150
+ import { a as styleHealthChannelLine, c as setHeartbeatsEnabled, l as startHeartbeatRunner, n as getHealthSnapshot, s as runHeartbeatOnce, t as formatHealthChannelLines } from "./health-j2mDzeUl.js";
151
151
  import { a as resolveControlUiRootSync, i as resolveControlUiRootOverrideSync, t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B5haX6bT.js";
152
152
  import { h as normalizeUpdateChannel, l as DEFAULT_PACKAGE_CHANNEL, n as checkUpdateStatus, o as resolveNpmChannelTag, r as compareSemverStrings } from "./channel-account-context-ofowt_yq.js";
153
153
  import { i as prepareSecretsRuntimeSnapshot, n as clearSecretsRuntimeSnapshot, r as getActiveSecretsRuntimeSnapshot, t as activateSecretsRuntimeSnapshot } from "./runtime-BsH_IMcC.js";
154
- import { t as runOnboardingWizard } from "./onboarding-BfDz8n6H.js";
155
- 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-CJJ-O5fL.js";
154
+ import { t as runOnboardingWizard } from "./onboarding-BpiNSUID.js";
155
+ 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-CeEArjp5.js";
156
156
  import { T as resolveGmailHookRuntimeConfig, _ as buildGogWatchServeArgs, i as ensureTailscaleEndpoint, v as buildGogWatchStartArgs } from "./gmail-setup-utils-U10Ul2gc.js";
157
157
  import "./node-service-v7Nz7h4D.js";
158
158
  import "./status.update-BzUu2M5c.js";
159
159
  import { a as matchSystemRunApprovalBindingV1, i as buildSystemRunApprovalBindingV1, n as resolveSystemRunApprovalRequestContext, o as missingSystemRunApprovalBindingV1, r as resolveSystemRunApprovalRuntimeContext, s as toSystemRunApprovalMismatchError } from "./system-run-approval-context-DkX3cprL.js";
160
160
  import { t as installSkill } from "./skills-install-DkQ2ndc6.js";
161
- import { t as runGatewayUpdate } from "./update-runner-BkSrWsKc.js";
161
+ import { t as runGatewayUpdate } from "./update-runner-BQlZS5zz.js";
162
162
  import { i as shouldIncludeHook, r as resolveHookConfig, t as loadWorkspaceHookEntries } from "./workspace-Dj1dL0rI.js";
163
163
  import { n as forceFreePortAndWait } from "./ports-CIJavqzS.js";
164
164
  import { spawn, spawnSync } from "node:child_process";
@@ -12691,7 +12691,7 @@ const nodeHandlers = {
12691
12691
  const p = params;
12692
12692
  const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
12693
12693
  await respondUnavailableOnThrow(respond, async () => {
12694
- const { handleNodeEvent } = await import("./server-node-events-Dj5jYSln.js");
12694
+ const { handleNodeEvent } = await import("./server-node-events-h-U5Mfvv.js");
12695
12695
  const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
12696
12696
  await handleNodeEvent({
12697
12697
  deps: context.deps,
@@ -1,5 +1,5 @@
1
- import { c as normalizeProviderId } from "./model-selection-C5hI1dum.js";
2
- import { n as formatErrorMessage } from "./errors-C4SHjIZK.js";
1
+ import { c as normalizeProviderId } from "./model-selection-1MMYqY6M.js";
2
+ import { n as formatErrorMessage } from "./errors-C_0nm4TJ.js";
3
3
 
4
4
  //#region src/agents/live-auth-keys.ts
5
5
  const KEY_SPLIT_RE = /[\s,;]+/g;
@@ -1,13 +1,13 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { d as resolveStateDir } from "./paths-DQpv9a3Q.js";
2
+ import { d as resolveStateDir } from "./paths-BYNVLNi_.js";
3
3
  import path from "node:path";
4
- import fs from "node:fs";
4
+ import syncFs from "node:fs";
5
5
 
6
6
  //#region src/infra/json-file.ts
7
7
  function loadJsonFile(pathname) {
8
8
  try {
9
- if (!fs.existsSync(pathname)) return;
10
- const raw = fs.readFileSync(pathname, "utf8");
9
+ if (!syncFs.existsSync(pathname)) return;
10
+ const raw = syncFs.readFileSync(pathname, "utf8");
11
11
  return JSON.parse(raw);
12
12
  } catch {
13
13
  return;
@@ -15,12 +15,12 @@ function loadJsonFile(pathname) {
15
15
  }
16
16
  function saveJsonFile(pathname, data) {
17
17
  const dir = path.dirname(pathname);
18
- if (!fs.existsSync(dir)) fs.mkdirSync(dir, {
18
+ if (!syncFs.existsSync(dir)) syncFs.mkdirSync(dir, {
19
19
  recursive: true,
20
20
  mode: 448
21
21
  });
22
- fs.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
23
- fs.chmodSync(pathname, 384);
22
+ syncFs.writeFileSync(pathname, `${JSON.stringify(data, null, 2)}\n`, "utf8");
23
+ syncFs.chmodSync(pathname, 384);
24
24
  }
25
25
 
26
26
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { B as theme, k as info, l as escapeRegExp, z as isRich } from "./utils-BfmeFj7S.js";
3
- import { Bn as buildOutboundSessionContext, Dr as requestHeartbeatNow, Ft as resolveHeartbeatDeliveryTarget, It as resolveHeartbeatSenderContext, Or as setHeartbeatWakeHandler, Tr as peekSystemEventEntries, _r as DEFAULT_HEARTBEAT_EVERY, br as stripHeartbeatToken, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, hr as CommandLane, kr as resolveHeartbeatReasonKind, lr as getQueueSize, qn as resolveUserTimezone, r as appendCronStyleCurrentTimeLine, t as getReplyFromConfig, vr as isHeartbeatContentEffectivelyEmpty, yr as resolveHeartbeatPrompt$1 } from "./reply-dLJYULbb.js";
3
+ import { Bn as buildOutboundSessionContext, Dr as requestHeartbeatNow, Ft as resolveHeartbeatDeliveryTarget, It as resolveHeartbeatSenderContext, Or as setHeartbeatWakeHandler, Tr as peekSystemEventEntries, _r as DEFAULT_HEARTBEAT_EVERY, br as stripHeartbeatToken, gr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, hr as CommandLane, kr as resolveHeartbeatReasonKind, lr as getQueueSize, qn as resolveUserTimezone, r as appendCronStyleCurrentTimeLine, t as getReplyFromConfig, vr as isHeartbeatContentEffectivelyEmpty, yr as resolveHeartbeatPrompt$1 } from "./reply-Du7Q5RJl.js";
4
4
  import { d as resolveDefaultAgentId, i as resolveAgentConfig, u as resolveAgentWorkspaceDir, y as DEFAULT_HEARTBEAT_FILENAME } from "./agent-scope-DbNnv10G.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-BTkYq-SM.js";
6
6
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
@@ -7,7 +7,7 @@ import { l as resolveAgentIdFromSessionKey, p as toAgentStoreSessionKey, s as no
7
7
  import { $ as canonicalizeMainSessionAlias, c as loadSessionStore, et as resolveAgentMainSessionKey, g as updateSessionStore, p as saveSessionStore } from "./sessions-BoqJKVEs.js";
8
8
  import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-CCrfZ49T.js";
9
9
  import { a as resolvePreferredAccountId, t as buildChannelAccountBindings } from "./bindings-Ch_2VM9i.js";
10
- import { An as requestHeartbeatNow, Dr as isHeartbeatContentEffectivelyEmpty, Er as DEFAULT_HEARTBEAT_EVERY, Mn as resolveHeartbeatReasonKind, On as peekSystemEventEntries, Or as resolveHeartbeatPrompt$1, Tr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, bn as buildOutboundSessionContext, et as getReplyFromConfig, jn as setHeartbeatWakeHandler, kr as stripHeartbeatToken, mt as resolveHeartbeatSenderContext, nr as resolveUserTimezone, nt as appendCronStyleCurrentTimeLine, pt as resolveHeartbeatDeliveryTarget, vr as getQueueSize, wr as CommandLane } from "./subagent-registry-CJX_DOgh.js";
10
+ import { An as requestHeartbeatNow, Dr as isHeartbeatContentEffectivelyEmpty, Er as DEFAULT_HEARTBEAT_EVERY, Mn as resolveHeartbeatReasonKind, On as peekSystemEventEntries, Or as resolveHeartbeatPrompt$1, Tr as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, bn as buildOutboundSessionContext, et as getReplyFromConfig, jn as setHeartbeatWakeHandler, kr as stripHeartbeatToken, mt as resolveHeartbeatSenderContext, nr as resolveUserTimezone, nt as appendCronStyleCurrentTimeLine, pt as resolveHeartbeatDeliveryTarget, vr as getQueueSize, wr as CommandLane } from "./subagent-registry-CPeVtSZk.js";
11
11
  import { i as resolveSessionFilePath, u as resolveStorePath } from "./paths-CC17i2eK.js";
12
12
  import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-C82rD2Wn.js";
13
13
  import { t as HEARTBEAT_TOKEN } from "./tokens-DMP8C42Q.js";
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cn44w-EB.js";
2
2
  import { B as theme, S as shortenHomePath, t as CONFIG_DIR, y as resolveUserPath } from "./utils-BfmeFj7S.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-dLJYULbb.js";
4
+ import "./reply-Du7Q5RJl.js";
5
5
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-DbNnv10G.js";
6
6
  import "./subsystem-BTkYq-SM.js";
7
7
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
@@ -105,7 +105,7 @@ import "./resolve-route-BrHTn_2g.js";
105
105
  import "./replies-CWMglpIw.js";
106
106
  import "./skill-commands-BY4BNcfR.js";
107
107
  import "./workspace-dirs-C34pt6Pa.js";
108
- import "./deps-CjvmCq-K.js";
108
+ import "./deps-Coo8Thxy.js";
109
109
  import "./plugin-auto-enable-CU8IfpBV.js";
110
110
  import "./channel-selection-DLfBD-c0.js";
111
111
  import "./outbound-attachment-Cz80loTd.js";
@@ -123,7 +123,7 @@ import { a as resolveInstallModeOptions, c as withExtractedArchiveRoot, i as ins
123
123
  import { t as renderTable } from "./table-PG064F0C.js";
124
124
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-BHN1rb4L.js";
125
125
  import { t as buildWorkspaceHookStatus } from "./hooks-status-BBvzI_rQ.js";
126
- import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-CkpVYF4z.js";
126
+ import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-D1b0Eoa4.js";
127
127
  import fs from "node:fs";
128
128
  import path from "node:path";
129
129
  import fs$1 from "node:fs/promises";
@@ -28,7 +28,7 @@ import "./logging-Bgrm4o7g.js";
28
28
  import "./auth-store-D9BmR4S6.js";
29
29
  import "./send-m4lQkQcY.js";
30
30
  import "./send-CCiDIuX4.js";
31
- import "./subagent-registry-CJX_DOgh.js";
31
+ import "./subagent-registry-CPeVtSZk.js";
32
32
  import "./paths-CC17i2eK.js";
33
33
  import "./chat-envelope-Dedaetiq.js";
34
34
  import "./client-udFMSDes.js";
@@ -111,7 +111,7 @@ import "./cli-utils-BfsDuRZS.js";
111
111
  import "./help-format-CldHB7lS.js";
112
112
  import "./progress-B76RkFx7.js";
113
113
  import "./replies-DSfpze17.js";
114
- import "./deps-BH4bzzRD.js";
114
+ import "./deps-DOxHxBHl.js";
115
115
  import "./onboard-helpers-DWivfzcc.js";
116
116
  import "./prompt-style-XmK49QYK.js";
117
117
  import "./pairing-labels-D7xcHkxi.js";
@@ -120,7 +120,7 @@ import { a as resolveInstallModeOptions, c as withExtractedArchiveRoot, i as ins
120
120
  import { t as renderTable } from "./table-aJzHv5Oe.js";
121
121
  import { a as parseFrontmatter, t as loadWorkspaceHookEntries } from "./workspace-Dj1dL0rI.js";
122
122
  import { t as buildWorkspaceHookStatus } from "./hooks-status-DdEXLhj3.js";
123
- import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-DWXTcpqo.js";
123
+ import { n as resolvePinnedNpmInstallRecordForCli, r as buildPluginStatusReport, t as buildNpmInstallRecordFields } from "./npm-resolution-vCuR0Tv5.js";
124
124
  import path from "node:path";
125
125
  import fs from "node:fs";
126
126
  import fs$1 from "node:fs/promises";
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { h as resolveAgentModelPrimaryValue, m as resolveAgentModelFallbackValues } from "./agent-scope-Bxq1eWbA.js";
3
- import { _ as shortenHomeInString, c as isRecord } from "./utils-D9wGoiU9.js";
4
- import { R as loadConfig, S as getApiKeyForModel, _ as normalizeProviders, dn as resolveIdleHandsAgentDir, gn as normalizeSecretInput, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-C5hI1dum.js";
5
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Dlx4RLWo.js";
6
- import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-B3ceCcxm.js";
7
- import { n as redactToolDetail } from "./redact-1Y0KPNtr.js";
2
+ import { h as resolveAgentModelPrimaryValue, m as resolveAgentModelFallbackValues } from "./agent-scope-DyP_tr7s.js";
3
+ import { _ as shortenHomeInString, c as isRecord } from "./utils-CTFLl_ji.js";
4
+ import { R as loadConfig, S as getApiKeyForModel, _ as normalizeProviders, dn as resolveIdleHandsAgentDir, gn as normalizeSecretInput, v as resolveImplicitCopilotProvider, w as requireApiKey, y as resolveImplicitProviders } from "./model-selection-1MMYqY6M.js";
5
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bb__OY-j.js";
6
+ import { P as sanitizeUserFacingText } from "./pi-embedded-helpers-CghCLoPo.js";
7
+ import { n as redactToolDetail } from "./redact-Bvpf-ATQ.js";
8
8
  import fs from "node:fs/promises";
9
9
  import path from "node:path";
10
10
  import { complete } from "@mariozechner/pi-ai";
@@ -1,4 +1,4 @@
1
- import { _ as runExec } from "./workspace-tAtkoD_r.js";
1
+ import { _ as runExec } from "./workspace-DBFSzT6O.js";
2
2
  import fs from "node:fs/promises";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import "./paths-Cn44w-EB.js";
3
3
  import { B as theme, P as setVerbose, Q as tryParseLogLevel, T as toWhatsappJid, Y as ALLOWED_LOG_LEVELS, l as escapeRegExp, m as normalizeE164, n as assertWebChannel, z as isRich } from "./utils-BfmeFj7S.js";
4
4
  import "./thinking-EAliFiVK.js";
5
- import { Ct as resolveCommitHash, t as getReplyFromConfig } from "./reply-dLJYULbb.js";
5
+ import { Ct as resolveCommitHash, t as getReplyFromConfig } from "./reply-Du7Q5RJl.js";
6
6
  import "./agent-scope-DbNnv10G.js";
7
7
  import { r as enableConsoleCapture, u as visibleWidth } from "./subsystem-BTkYq-SM.js";
8
8
  import { n as defaultRuntime } from "./runtime-44j_X4Y6.js";
@@ -104,7 +104,7 @@ import "./resolve-route-BrHTn_2g.js";
104
104
  import "./replies-CWMglpIw.js";
105
105
  import "./skill-commands-BY4BNcfR.js";
106
106
  import "./workspace-dirs-C34pt6Pa.js";
107
- import { t as createDefaultDeps } from "./deps-CjvmCq-K.js";
107
+ import { t as createDefaultDeps } from "./deps-Coo8Thxy.js";
108
108
  import "./plugin-auto-enable-CU8IfpBV.js";
109
109
  import "./channel-selection-DLfBD-c0.js";
110
110
  import "./outbound-attachment-Cz80loTd.js";
@@ -117,7 +117,7 @@ import "./pairing-labels-Dm-DUGGI.js";
117
117
  import "./server-lifecycle-CfZbDiFe.js";
118
118
  import "./stagger-rQoQSWkz.js";
119
119
  import "./system-run-command-CrHlKsQv.js";
120
- import { r as waitForever, t as monitorWebChannel } from "./channel-web-Cu_AcYVB.js";
120
+ import { r as waitForever, t as monitorWebChannel } from "./channel-web-DAeB1zPN.js";
121
121
  import "./outbound-DClHNQfl.js";
122
122
  import "./session-BKdoiopW.js";
123
123
  import "./login-BVf_DBja.js";
@@ -126,9 +126,9 @@ import { t as ensureIdleHandsCliOnPath } from "./path-env-CWIJihhd.js";
126
126
  import { t as assertSupportedRuntime } from "./runtime-guard-X6f4YmTM.js";
127
127
  import "./ports-D3FuSfMU.js";
128
128
  import { a as hasFlag, i as getVerboseFlag, n as getCommandPath, o as hasHelpOrVersion, s as hasRootVersionAlias } from "./argv-BWjW98Xn.js";
129
- import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-BsCSqznM.js";
130
- import "./plugin-registry-CJfl54B-.js";
131
- import { n as resolveCliChannelOptions } from "./channel-options-DcxOFxzU.js";
129
+ import { i as getCoreCliCommandsWithSubcommands, n as setProgramContext, o as registerProgramCommands, s as getSubCliCommandsWithSubcommands } from "./program-context-w-tdgurY.js";
130
+ import "./plugin-registry-DdywtXL5.js";
131
+ import { n as resolveCliChannelOptions } from "./channel-options-dvj7gQ75.js";
132
132
  import process$1 from "node:process";
133
133
  import { fileURLToPath } from "node:url";
134
134
  import { Command, InvalidArgumentError } from "commander";
@@ -559,7 +559,7 @@ function registerPreActionHooks(program, programVersion) {
559
559
  commandPath
560
560
  });
561
561
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
562
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-CJfl54B-.js").then((n) => n.n);
562
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-DdywtXL5.js").then((n) => n.n);
563
563
  ensurePluginRegistryLoaded();
564
564
  }
565
565
  });
@@ -1,8 +1,8 @@
1
- import { A as shouldLogVerbose, D as logVerbose, h as resolveUserPath } from "./utils-D9wGoiU9.js";
2
- import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-J8P5zOFm.js";
3
- import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-2l05hI1Y.js";
4
- import { a as chunkText } from "./chunk-Djk-9JeT.js";
5
- import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-d4y0lvs2.js";
1
+ import { A as shouldLogVerbose, D as logVerbose, h as resolveUserPath } from "./utils-CTFLl_ji.js";
2
+ import { _ as maxBytesForKind, a as hasAlphaChannel, c as detectMime, l as extensionForMime, o as optimizeImageToPng, r as convertHeicToJpeg, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-D1KtygWz.js";
3
+ import { r as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-CYUaAFO9.js";
4
+ import { a as chunkText } from "./chunk-CMpX7Jaz.js";
5
+ import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots } from "./local-roots-KN4Hp1yZ.js";
6
6
  import fs from "node:fs/promises";
7
7
  import path from "node:path";
8
8
  import { fileURLToPath } from "node:url";