@visorcraft/idlehands 4.2.1 → 4.2.3

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 (408) hide show
  1. package/dist/{accounts-3HS_UAhJ.js → accounts-B4A5mL3Y.js} +1 -1
  2. package/dist/{accounts-BDVs8LTu.js → accounts-B8cGzkjD.js} +1 -1
  3. package/dist/{accounts-Dk8mJIrQ.js → accounts-BQC_GRUB.js} +6 -6
  4. package/dist/{accounts-DLTODa_Z.js → accounts-CbaEMSlt.js} +2 -2
  5. package/dist/{accounts-CIvVRRHb.js → accounts-D5tB_lO0.js} +1 -1
  6. package/dist/{accounts-DgbTKQoW.js → accounts-VbtNKne6.js} +1 -1
  7. package/dist/{acp-cli-BEpWQbqb.js → acp-cli-BF3FD1qw.js} +12 -12
  8. package/dist/{agent-scope-DyP_tr7s.js → agent-scope-Bxq1eWbA.js} +4 -4
  9. package/dist/{agent-scope-RA0zXRpu.js → agent-scope-DbNnv10G.js} +3 -3
  10. package/dist/{agent-via-gateway-oMn0WfUq.js → agent-via-gateway-9aP1U_YQ.js} +6 -6
  11. package/dist/{agent-via-gateway-CldlRczJ.js → agent-via-gateway-BN0HMYd7.js} +1 -1
  12. package/dist/{agent-via-gateway-CUtzJXBE.js → agent-via-gateway-BsTP4WyI.js} +60 -60
  13. package/dist/{agent-via-gateway-C42kkKZI.js → agent-via-gateway-BtMWCqx4.js} +2 -2
  14. package/dist/{agents-BfnnMO1i.js → agents-Bitc3LDE.js} +4 -4
  15. package/dist/{agents.config-bWtpv0jP.js → agents.config-DLjDlH4M.js} +2 -2
  16. package/dist/{agents.config-BFfVBZMA.js → agents.config-DmFqh5v8.js} +1 -1
  17. package/dist/{anton-CgpWkf5P.js → anton-C3Y_hYo3.js} +91 -57
  18. package/dist/{anton-DSS3RNo7.js → anton-CmB9XtGt.js} +91 -57
  19. package/dist/{anton-CoGaJdTU.js → anton-Dn_Pc4P0.js} +95 -61
  20. package/dist/{anton-DXL8jrY_.js → anton-DqSQ27RK.js} +94 -60
  21. package/dist/{api-key-rotation-B-FTJm5p.js → api-key-rotation-Bj8Q_8ST.js} +2 -2
  22. package/dist/{audio-preflight-Dl1TO10w.js → audio-preflight-BEe3Go6e.js} +41 -41
  23. package/dist/{audio-preflight-CW8IH1lU.js → audio-preflight-qkU2lsDn.js} +35 -35
  24. package/dist/{audit-CKeZnjft.js → audit-DjUOBxVB.js} +21 -21
  25. package/dist/{auth-heRVBxh2.js → auth-DoNXQLDj.js} +1 -1
  26. package/dist/{auth-choice-Z7nPFxhP.js → auth-choice-BKDISagq.js} +10 -10
  27. package/dist/{auth-choice-D12Wsf7w.js → auth-choice-fHV4ZjtT.js} +15 -15
  28. package/dist/{auth-choice-BNofPyTK.js → auth-choice-nFObMeHm.js} +1 -1
  29. package/dist/{auth-choice.apply-helpers-CGcniL1T.js → auth-choice.apply-helpers-fIm7h2DA.js} +1 -1
  30. package/dist/{auth-store-DXT-l7fO.js → auth-store-Bb4aajHu.js} +12 -12
  31. package/dist/{auth-store-DDzIMy8_.js → auth-store-Dqjgb5R1.js} +1 -1
  32. package/dist/{auth-token-BJq87X3o.js → auth-token-ChjRQYCt.js} +2 -2
  33. package/dist/{banner-B1-kj-GW.js → banner-IB7Cylyq.js} +1 -1
  34. package/dist/{bindings-D3b5Fmc9.js → bindings-CLZIJ0Eo.js} +2 -2
  35. package/dist/{bindings-B59Q7nsk.js → bindings-DorAphZu.js} +2 -2
  36. package/dist/{bonjour-discovery-DMslm8Hx.js → bonjour-discovery-Yzgl5gfZ.js} +2 -2
  37. package/dist/{browser-cli-Ci6DpTnS.js → browser-cli-B8GEKR0p.js} +19 -19
  38. package/dist/build-info.json +3 -3
  39. package/dist/bundled/boot-md/handler.js +60 -60
  40. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  41. package/dist/bundled/command-logger/handler.js +3 -3
  42. package/dist/bundled/session-memory/handler.js +60 -60
  43. package/dist/{call-BpWhjuOg.js → call-SK4sGwpN.js} +4 -4
  44. package/dist/{channel-account-context-CDbY5AIr.js → channel-account-context-CBQ0TdW0.js} +1 -1
  45. package/dist/{channel-activity-DaCsrdWK.js → channel-activity-D3e45uuU.js} +3 -3
  46. package/dist/{channel-activity-D_TMOGQ0.js → channel-activity-DdL3RAv_.js} +3 -3
  47. package/dist/{channel-options-C5Iz9bes.js → channel-options-B2LlZj0S.js} +1 -1
  48. package/dist/{channel-options-CUP3A4VX.js → channel-options-DcxOFxzU.js} +5 -5
  49. package/dist/{channel-selection-ZxRkxpuF.js → channel-selection-DLfBD-c0.js} +2 -2
  50. package/dist/{channel-web-CsUiKxQo.js → channel-web-Cu_AcYVB.js} +26 -26
  51. package/dist/{channel-web-CGXl1PnB.js → channel-web-XLD22Zzs.js} +2 -2
  52. package/dist/{channels-cli-DmHSajZy.js → channels-cli-BWMjEguK.js} +104 -104
  53. package/dist/{channels-cli-DK7TRLqX.js → channels-cli-DZWOS5d6.js} +7 -7
  54. package/dist/{channels-status-issues-CDpWjdI3.js → channels-status-issues-DMvYh1lV.js} +1 -1
  55. package/dist/{chrome-BcJB6PcM.js → chrome-CT_a9OgI.js} +17 -17
  56. package/dist/{chrome-VBsQfIrt.js → chrome-DeAzXWRb.js} +4 -4
  57. package/dist/{chunk-ClMFHJu-.js → chunk-DJjn34fF.js} +1 -1
  58. package/dist/{chunk-CMpX7Jaz.js → chunk-Djk-9JeT.js} +1 -1
  59. package/dist/{clack-prompter-CvbZsmjW.js → clack-prompter-EMS8sO4h.js} +5 -5
  60. package/dist/{clawbot-cli-uFgYrysW.js → clawbot-cli-B8qqplom.js} +9 -9
  61. package/dist/cli/daemon-cli.js +1 -1
  62. package/dist/cli-BN8I3vTa.js +162 -0
  63. package/dist/{cli-6eMKeewY.js → cli-Bq5b8f58.js} +2 -2
  64. package/dist/{client-DtnD-ee9.js → client-Cagiy1nE.js} +2 -2
  65. package/dist/{clipboard-LsW7H0Y8.js → clipboard-BqjWohVl.js} +1 -1
  66. package/dist/{command-registry-BFTlzx6d.js → command-registry-CeIfSw9l.js} +10 -10
  67. package/dist/{commands-Dj5LalLo.js → commands-5UqnjBKV.js} +2 -2
  68. package/dist/{commands-registry-CURlRZQJ.js → commands-registry-C1lIoXkL.js} +5 -5
  69. package/dist/{commands-registry-j4vAzcF2.js → commands-registry-_TBHHpvt.js} +5 -5
  70. package/dist/{completion-cli-PBfCNWhv.js → completion-cli-ClOKco1N.js} +4 -4
  71. package/dist/{completion-cli-BbXgtvGY.js → completion-cli-Dh0MVQJ6.js} +2 -2
  72. package/dist/{config-cli-BVJRkNhX.js → config-cli-BaNTuQ52.js} +13 -13
  73. package/dist/{config-cli-Q934shK6.js → config-cli-CpgR8c8d.js} +1 -1
  74. package/dist/{config-guard-BdsOumqh.js → config-guard-DwTygT00.js} +23 -23
  75. package/dist/{config-validation-BvKX6fPw.js → config-validation-wUpXePGY.js} +2 -2
  76. package/dist/{configure-BGAvA5a4.js → configure-BfzLtTQH.js} +3 -3
  77. package/dist/{configure-85ttW_lD.js → configure-C4n13-o1.js} +21 -21
  78. package/dist/{control-ui-assets-C7ZpN9hN.js → control-ui-assets-CSrZ1shI.js} +1 -1
  79. package/dist/{cron-cli-DQsnGQKs.js → cron-cli-Den58QGF.js} +17 -17
  80. package/dist/{daemon-cli-DUg-s4LG.js → daemon-cli-CpCtUgS2.js} +14 -14
  81. package/dist/{daemon-install-CYPo4M1M.js → daemon-install-BPEEr5XM.js} +8 -8
  82. package/dist/{deliver--kttnrER.js → deliver-BqJFyWu7.js} +10 -10
  83. package/dist/{deliver-BUiQ-9fE.js → deliver-Db2xqgLg.js} +20 -20
  84. package/dist/{deps-AEDT3iDX.js → deps-BH4bzzRD.js} +1 -1
  85. package/dist/{deps-Bq7jJLyN.js → deps-CjvmCq-K.js} +6 -6
  86. package/dist/{deps-B4J8H6nI.js → deps-CnUuBleG.js} +6 -6
  87. package/dist/{deps-Ch6bZ8PI.js → deps-c-x2UBbd.js} +1 -1
  88. package/dist/{devices-cli-DKK65S9Z.js → devices-cli-HTdRxjTf.js} +12 -12
  89. package/dist/{diagnostic-ByHpt6q8.js → diagnostic-BUKW2Q0G.js} +1 -1
  90. package/dist/{diagnostic-4owMk4vH.js → diagnostic-BvlZ0Sot.js} +1 -1
  91. package/dist/{diagnostic-BECJfEvH.js → diagnostic-ztHDqZ1m.js} +3 -3
  92. package/dist/{diagnostics-DmZbQ8Nc.js → diagnostics-C2vxSb6v.js} +1 -1
  93. package/dist/{directory-cli-Dz9iXeut.js → directory-cli-BQDn6Qin.js} +16 -16
  94. package/dist/{dns-cli-DD6hWsdc.js → dns-cli-lwfJKGdv.js} +10 -10
  95. package/dist/{dock-Y96MzKuM.js → dock-DpA6CUDJ.js} +6 -6
  96. package/dist/{dock-BgOmHcbh.js → dock-ejUetwTC.js} +6 -6
  97. package/dist/{docs-cli-cHkrTB2e.js → docs-cli-Jnv5gp25.js} +9 -9
  98. package/dist/{doctor-completion-CN5Zujsa.js → doctor-completion-BUUL91Dy.js} +2 -2
  99. package/dist/{doctor-completion-Clh5CNUd.js → doctor-completion-IIzctUix.js} +1 -1
  100. package/dist/{doctor-config-flow-Ck4oCjfl.js → doctor-config-flow-DcxVJJvh.js} +13 -13
  101. package/dist/{emergency-stop-2v4bhRCE.js → emergency-stop-Bg9a1fXU.js} +2 -2
  102. package/dist/emergency-stop-Chw8LiXP.js +113 -0
  103. package/dist/{emergency-stop-D_bTOufu.js → emergency-stop-CjxNr2he.js} +2 -2
  104. package/dist/emergency-stop-HaFAEk9Z.js +162 -0
  105. package/dist/{enable-o_s6PBsC.js → enable-ztZSnOGv.js} +2 -2
  106. package/dist/entry.js +1 -1
  107. package/dist/{env-Bx-F45X5.js → env-dMo-pLSc.js} +1 -1
  108. package/dist/{env-B5G1qwGc.js → env-q-PhWbb_.js} +1 -1
  109. package/dist/{errors-DZDuPc3M.js → errors-BNr2qnai.js} +1 -1
  110. package/dist/{errors-C_0nm4TJ.js → errors-C4SHjIZK.js} +1 -1
  111. package/dist/{exec-CKHMT0tZ.js → exec-B9xbr2pN.js} +2 -2
  112. package/dist/{exec-approvals-allowlist-Co2tJSEo.js → exec-approvals-allowlist-BzsyDGgt.js} +1 -1
  113. package/dist/{exec-approvals-cli-D6XUzs4j.js → exec-approvals-cli-2SjGVbIm.js} +21 -21
  114. package/dist/{exec-safe-bin-runtime-policy-DaoU9-ni.js → exec-safe-bin-runtime-policy-bEV0LvVh.js} +2 -2
  115. package/dist/extensionAPI.js +2 -2
  116. package/dist/{fetch-guard-yUZu1Vzc.js → fetch-guard-C-IWepjW.js} +1 -1
  117. package/dist/{fetch-guard-iuQsIjqN.js → fetch-guard-CcfDZXe9.js} +1 -1
  118. package/dist/{frontmatter-BOudmHMS.js → frontmatter-pTUG4Sx_.js} +2 -2
  119. package/dist/{frontmatter-D-sQ_Hqk.js → frontmatter-x0EBRtDF.js} +2 -2
  120. package/dist/{fs-safe-CYUaAFO9.js → fs-safe-2l05hI1Y.js} +2 -2
  121. package/dist/{gateway-cli-Cl7cEsHE.js → gateway-cli-Bcamqq7Z.js} +9 -9
  122. package/dist/{gateway-cli-DJm73Wou.js → gateway-cli-C2jOWbsN.js} +123 -123
  123. package/dist/{gateway-rpc-BBFG1T-M.js → gateway-rpc-C_He5poS.js} +3 -3
  124. package/dist/{gemini-auth-CIyaa44H.js → gemini-auth-DLSGffQK.js} +2 -2
  125. package/dist/{github-copilot-token-Dgt6cnsM.js → github-copilot-token-BjmEQcmi.js} +7 -7
  126. package/dist/{gmail-setup-utils-DRJTQOMM.js → gmail-setup-utils-D1VrLZhD.js} +3 -3
  127. package/dist/{health-C6_Sa_ef.js → health-3B8ANLz5.js} +15 -15
  128. package/dist/{health-D-b3jdnU.js → health-BTU1dGHH.js} +1 -1
  129. package/dist/{health-format-Ba_hOaT2.js → health-format-CWIquyOr.js} +1 -1
  130. package/dist/{help-format-CMAqOikG.js → help-format-D7QsjOW4.js} +1 -1
  131. package/dist/{hooks-cli-BB25FyuN.js → hooks-cli-BOc85-37.js} +3 -3
  132. package/dist/{hooks-cli-BC3n8UYQ.js → hooks-cli-CdEcbqPF.js} +93 -93
  133. package/dist/{hooks-status-DNGo2G8Q.js → hooks-status-BBvzI_rQ.js} +3 -3
  134. package/dist/{image-DSDEbSiO.js → image-BkrcRFPe.js} +7 -7
  135. package/dist/{image-D8b_rlQC.js → image-Dlu13Ebx.js} +6 -6
  136. package/dist/{image-ops-BU-VdLZu.js → image-ops-CGnAhRRV.js} +1 -1
  137. package/dist/{image-ops-D1KtygWz.js → image-ops-J8P5zOFm.js} +1 -1
  138. package/dist/index.js +99 -99
  139. package/dist/{inspect-ISQZuNM5.js → inspect-BOW-hTlT.js} +1 -1
  140. package/dist/{installs-CNubze2L.js → installs-DGfrRYWX.js} +4 -4
  141. package/dist/{ir-B7IBoKLy.js → ir-BT5aAdU9.js} +5 -5
  142. package/dist/{ir-VncGpwA1.js → ir-DBqjL1SG.js} +4 -4
  143. package/dist/{lifecycle-core-B6UoqYTJ.js → lifecycle-core-DOL5vqsF.js} +5 -5
  144. package/dist/{links-15764jZB.js → links-DIG3qrf5.js} +1 -1
  145. package/dist/llm-slug-generator.js +60 -60
  146. package/dist/{local-roots-q0xbefkf.js → local-roots-B-lmQdZs.js} +4 -4
  147. package/dist/{local-roots-KN4Hp1yZ.js → local-roots-d4y0lvs2.js} +5 -5
  148. package/dist/{logging-B0-9lotb.js → logging-BK2fjjMe.js} +1 -1
  149. package/dist/{login-CfUhrgWT.js → login-BVf_DBja.js} +6 -6
  150. package/dist/{login-CFr5vJmR.js → login-C2X0In6m.js} +6 -6
  151. package/dist/{login-qr-CFFFOjOl.js → login-qr-C17PY0rr.js} +11 -11
  152. package/dist/{login-qr-DBMsUxgL.js → login-qr-V1EwcFLt.js} +10 -10
  153. package/dist/{logs-cli-4VQ9Iwiw.js → logs-cli-BgrYblUE.js} +13 -13
  154. package/dist/{manager-BE_76jWB.js → manager-CgzA1hKo.js} +15 -15
  155. package/dist/{manager-BMAFgXyU.js → manager-DayGME0K.js} +10 -10
  156. package/dist/{manifest-registry-Bak1x76G.js → manifest-registry-cOeAg4W6.js} +2 -2
  157. package/dist/{markdown-tables-DZClqsNo.js → markdown-tables-BQ8czvs_.js} +1 -1
  158. package/dist/{markdown-tables-CzsockiZ.js → markdown-tables-R8VTpfE9.js} +1 -1
  159. package/dist/{memory-cli-CUGwnVIY.js → memory-cli-D_bFq_Q1.js} +12 -12
  160. package/dist/{message-channel-DVauVtrg.js → message-channel-CRSTffWx.js} +1 -1
  161. package/dist/{message-channel-C8QtrwEU.js → message-channel-ZdI1-uUh.js} +1 -1
  162. package/dist/{model-C-icShH2.js → model-Di6JkHyx.js} +2 -2
  163. package/dist/{model-catalog-D9no0CH2.js → model-catalog-D_KsCB5j.js} +4 -4
  164. package/dist/{model-picker-BkXoTOiA.js → model-picker-CM_QFlL4.js} +4 -4
  165. package/dist/{model-selection-1MMYqY6M.js → model-selection-C5hI1dum.js} +41 -41
  166. package/dist/{model-selection-0dGxYGp8.js → model-selection-Df4-bBn3.js} +12 -12
  167. package/dist/{models-C1_Tdc1Q.js → models-CIS_OcjC.js} +2 -2
  168. package/dist/{models-cli-Bs5ZNSbk.js → models-cli-6njz6jJl.js} +4 -4
  169. package/dist/{models-cli-B9yw60gV.js → models-cli-BS7pagh1.js} +98 -98
  170. package/dist/{models-config-C5A1wDWh.js → models-config-zq6L0fug.js} +2 -2
  171. package/dist/{node-cli-BYzjxmUY.js → node-cli-PVcj1bnA.js} +33 -33
  172. package/dist/{node-service-C3vyxHLA.js → node-service-IG3YtMJq.js} +1 -1
  173. package/dist/{nodes-cli-kNOtp0U0.js → nodes-cli-DKj4NkKf.js} +21 -21
  174. package/dist/{nodes-screen-CcpPaFxa.js → nodes-screen-CK0vmyQx.js} +1 -1
  175. package/dist/{note-69EfBEU-.js → note--5AAjfvH.js} +2 -2
  176. package/dist/{npm-registry-spec-BCbbfIhX.js → npm-registry-spec-B81IsQOs.js} +2 -2
  177. package/dist/{npm-resolution-BMDipaRX.js → npm-resolution-CkpVYF4z.js} +4 -4
  178. package/dist/{npm-resolution-yXJbqHHn.js → npm-resolution-DWXTcpqo.js} +1 -1
  179. package/dist/{onboard-DjbHK18p.js → onboard-BYOBc47n.js} +9 -9
  180. package/dist/{onboard-CYRoDnOI.js → onboard-b_mYsSas.js} +2 -2
  181. package/dist/{onboard-channels-CkxvodmR.js → onboard-channels-CzB1oDsu.js} +1 -1
  182. package/dist/{onboard-channels-CNQt2jFU.js → onboard-channels-sslbndju.js} +17 -17
  183. package/dist/{onboard-custom-DUbzMMu7.js → onboard-custom-C_4nk_e8.js} +4 -4
  184. package/dist/{onboard-helpers-mzy38DiC.js → onboard-helpers-CXjQtadC.js} +7 -7
  185. package/dist/{onboard-hooks-D9teGxfH.js → onboard-hooks-CuOJrgfu.js} +7 -7
  186. package/dist/{onboard-remote-LCBHijVE.js → onboard-remote-B-bN7EmV.js} +3 -3
  187. package/dist/{onboard-skills-jFY9gaOu.js → onboard-skills-BVmcgCzz.js} +4 -4
  188. package/dist/{onboarding-BEDOWI9h.js → onboarding-BfDz8n6H.js} +3 -3
  189. package/dist/{onboarding-D9AZJlDK.js → onboarding-qxSl79A_.js} +16 -16
  190. package/dist/{onboarding.finalize-DJxMkD2g.js → onboarding.finalize-DGZkcjrv.js} +99 -99
  191. package/dist/{onboarding.finalize-D4hW1yTd.js → onboarding.finalize-DeEXxkOU.js} +7 -7
  192. package/dist/{onboarding.gateway-config-Btu2gzgr.js → onboarding.gateway-config-BinQe57V.js} +21 -21
  193. package/dist/{openai-model-default-7J6cw1rA.js → openai-model-default-CK1wUY3u.js} +2 -2
  194. package/dist/{outbound-BNh6PpQb.js → outbound-CdY_AskB.js} +6 -6
  195. package/dist/{outbound-DPTxwchq.js → outbound-DClHNQfl.js} +6 -6
  196. package/dist/{outbound-attachment-Bot3bRnK.js → outbound-attachment-Cz80loTd.js} +2 -2
  197. package/dist/{outbound-attachment-3I6GzwDe.js → outbound-attachment-IfeZJAKk.js} +2 -2
  198. package/dist/{pairing-cli-jwx6hMsM.js → pairing-cli-By_hykOY.js} +15 -15
  199. package/dist/{pairing-labels-ChQJzbS9.js → pairing-labels-Dm-DUGGI.js} +1 -1
  200. package/dist/{pairing-store-CPpEEQJO.js → pairing-store-CPUUuW7M.js} +3 -3
  201. package/dist/{path-alias-guards-Cu1nXNMM.js → path-alias-guards-BZmt6hFb.js} +1 -1
  202. package/dist/{path-env-CKSLQUS1.js → path-env-CWIJihhd.js} +1 -1
  203. package/dist/{paths-B-CLQ5RT.js → paths-CBF9EBzh.js} +1 -1
  204. package/dist/{paths-D_qUel1T.js → paths-D3p7ZvM6.js} +3 -3
  205. package/dist/{paths-BYNVLNi_.js → paths-DQpv9a3Q.js} +5 -5
  206. package/dist/{pi-embedded-o6Xj8V4C.js → pi-embedded-E9CG0AZO.js} +11 -11
  207. package/dist/{pi-embedded-helpers-CghCLoPo.js → pi-embedded-helpers-B3ceCcxm.js} +24 -24
  208. package/dist/{pi-embedded-helpers-BCsfqpDt.js → pi-embedded-helpers-D675DgwP.js} +4 -4
  209. package/dist/{pi-embedded-C6RDRgJM.js → pi-embedded-xW12sr9Q.js} +179 -179
  210. package/dist/{pi-model-discovery-BIP3RjXl.js → pi-model-discovery-BEKzIGSg.js} +1 -1
  211. package/dist/{pi-model-discovery-Bb__OY-j.js → pi-model-discovery-Dlx4RLWo.js} +7 -7
  212. package/dist/{pi-tools.policy-DfITIKZj.js → pi-tools.policy-GzRj_NVc.js} +6 -6
  213. package/dist/{plugin-auto-enable-7DUxMy6A.js → plugin-auto-enable-CU8IfpBV.js} +5 -5
  214. package/dist/{plugin-registry-DIK-5KI9.js → plugin-registry-CJfl54B-.js} +4 -4
  215. package/dist/{plugin-registry-6C1sgAm1.js → plugin-registry-CY1u8bd9.js} +1 -1
  216. package/dist/plugin-sdk/{agent-via-gateway-DmQMFWNE.js → agent-via-gateway-NXyTgftN.js} +2 -2
  217. package/dist/plugin-sdk/{anton-CrjFisFZ.js → anton-8LTiJnvw.js} +91 -57
  218. package/dist/plugin-sdk/{channel-web-vQgHbtCG.js → channel-web-DEl6BZu6.js} +2 -2
  219. package/dist/plugin-sdk/{deps-DfyALwFG.js → deps-CdRm6UCM.js} +1 -1
  220. package/dist/plugin-sdk/{emergency-stop-0ZrbH3D4.js → emergency-stop-vr_MLBH0.js} +2 -2
  221. package/dist/plugin-sdk/index.js +3 -3
  222. package/dist/plugin-sdk/{reply-BfdVf3fw.js → reply-Cii_-apO.js} +11 -11
  223. package/dist/plugin-sdk/{web-DwDLI7GP.js → web-BrcYG4Cd.js} +3 -3
  224. package/dist/{plugins-D46VZh7u.js → plugins-Bj6rzE-9.js} +5 -5
  225. package/dist/{plugins-CRB60mCJ.js → plugins-DYr-HHj0.js} +10 -10
  226. package/dist/{plugins-cli-DFUxLQbB.js → plugins-cli-BsCu9ZxX.js} +3 -3
  227. package/dist/{plugins-cli-B1kN2Xze.js → plugins-cli-rEURRyag.js} +95 -95
  228. package/dist/{ports-SQy1d-RL.js → ports-BJ6Xu_G6.js} +3 -3
  229. package/dist/{ports-B2o0FSFD.js → ports-D3FuSfMU.js} +2 -2
  230. package/dist/{program-mmjp27H4.js → program-CtFnQFId.js} +8 -8
  231. package/dist/{program-context-CjyGlgVG.js → program-context-BsCSqznM.js} +43 -43
  232. package/dist/{progress-BQLz1r3L.js → progress-BN8aygvh.js} +1 -1
  233. package/dist/{prompt-select-styled-FskTiqWw.js → prompt-select-styled-BB8mtFS9.js} +35 -35
  234. package/dist/{prompt-select-styled-04TKk_r3.js → prompt-select-styled-BKPmN1HP.js} +4 -4
  235. package/dist/{prompt-style-kmKiCZnm.js → prompt-style-BRwf6dfp.js} +1 -1
  236. package/dist/{provider-auth-helpers-9IcvdTst.js → provider-auth-helpers-486CLY6U.js} +1 -1
  237. package/dist/{provider-auth-helpers-BI7MVWjD.js → provider-auth-helpers-ar7t02s1.js} +7 -7
  238. package/dist/{push-apns-DvSYSWvk.js → push-apns-AHniql5u.js} +5 -5
  239. package/dist/{push-apns-Bh0u21Bh.js → push-apns-CJJ-O5fL.js} +1 -1
  240. package/dist/{pw-ai-CfYaR1K2.js → pw-ai-DIV4PcIo.js} +13 -13
  241. package/dist/{pw-ai-7i9eGnLh.js → pw-ai-DRVoaq_u.js} +13 -13
  242. package/dist/{qmd-manager-B_GgyQQ0.js → qmd-manager-BRvg3Rx2.js} +8 -8
  243. package/dist/{qmd-manager-B-qeywfQ.js → qmd-manager-SkIM31ge.js} +6 -6
  244. package/dist/{qr-cli-CSt5ihwG.js → qr-cli-BsFvbHQy.js} +4 -4
  245. package/dist/{query-expansion-Clts_AGz.js → query-expansion-BIsWftgR.js} +2 -2
  246. package/dist/{query-expansion-DEq020GG.js → query-expansion-DHuNyU-_.js} +5 -5
  247. package/dist/{redact-Bvpf-ATQ.js → redact-1Y0KPNtr.js} +1 -1
  248. package/dist/{redact-B_4KNlXs.js → redact-CIBM9Zli.js} +1 -1
  249. package/dist/{redact-snapshot-BbEVKv0k.js → redact-snapshot-DQ_VN7gO.js} +2 -2
  250. package/dist/{register.agent-B3zUfhl9.js → register.agent-DswuLYd8.js} +9 -9
  251. package/dist/{register.agent-BSe92Zxh.js → register.agent-TMXz7bwT.js} +110 -110
  252. package/dist/{register.configure-N4JG5hVe.js → register.configure-BFWnHArB.js} +8 -8
  253. package/dist/register.configure-DlxSU46q.js +168 -0
  254. package/dist/{register.maintenance-DxauQqK_.js → register.maintenance-C2B-RPnI.js} +108 -108
  255. package/dist/{register.maintenance-BjhkxF3o.js → register.maintenance-Dj8A9Hj7.js} +9 -9
  256. package/dist/{register.message-BsMpRFVr.js → register.message-CR569hCK.js} +90 -90
  257. package/dist/{register.message-DoZ5i1Pn.js → register.message-DWm_Lizi.js} +3 -3
  258. package/dist/{register.onboard-Cw3wNQRm.js → register.onboard-BjMv8Rc2.js} +2 -2
  259. package/dist/{register.onboard-Hxi3l9IA.js → register.onboard-CBlF61-5.js} +29 -29
  260. package/dist/{register.orchestrator-anton-BqQfw2JX.js → register.orchestrator-anton-CehFZHyG.js} +7 -7
  261. package/dist/{register.orchestrator-anton-DOByOKzU.js → register.orchestrator-anton-Cvw__ptb.js} +2 -2
  262. package/dist/{register.setup-r5Xy4nv4.js → register.setup-B8TX05TM.js} +2 -2
  263. package/dist/{register.setup-dazD7bl3.js → register.setup-BrXOX1jn.js} +31 -31
  264. package/dist/{register.status-health-sessions-DobZ2G2u.js → register.status-health-sessions-C-3gl9qR.js} +4 -4
  265. package/dist/{register.status-health-sessions-3zjBM0m6.js → register.status-health-sessions-DexyefSU.js} +101 -101
  266. package/dist/{register.subclis-CGJxYP3h.js → register.subclis-CFcZU6Sc.js} +9 -9
  267. package/dist/{replies-6_GxvQYe.js → replies-2C16fnBP.js} +3 -3
  268. package/dist/{replies-hSFVxL4h.js → replies-CWMglpIw.js} +3 -3
  269. package/dist/{reply-BDr-UY9O.js → reply-dLJYULbb.js} +114 -114
  270. package/dist/{reply-prefix-BUgeSN2R.js → reply-prefix-CXLm7TNq.js} +1 -1
  271. package/dist/{reply-prefix-C3y4zpTl.js → reply-prefix-DCljZiIB.js} +1 -1
  272. package/dist/{resolve-route-D_AbcmD6.js → resolve-route-BrHTn_2g.js} +4 -4
  273. package/dist/{resolve-route-DuttYY7A.js → resolve-route-ClcifpKn.js} +4 -4
  274. package/dist/{retry-Db05aSB8.js → retry-B7zUL1Mv.js} +1 -1
  275. package/dist/{retry-BeB9WenR.js → retry-CG6cMRDQ.js} +1 -1
  276. package/dist/{rpc-Cf9OK5Yk.js → rpc-Dp_JZNAZ.js} +3 -3
  277. package/dist/{run-main-BDEztzfx.js → run-main-xc_0T201.js} +15 -15
  278. package/dist/{runner-PgRFPYUj.js → runner-BkCU-kqs.js} +11 -11
  279. package/dist/{runner-DzszLzI4.js → runner-p3KLBBEt.js} +11 -11
  280. package/dist/{runtime-XmXLaHNk.js → runtime-DELkrqga.js} +3 -3
  281. package/dist/{sandbox-DcUw5h3p.js → sandbox-cEpEHVD-.js} +8 -8
  282. package/dist/{sandbox-cli-DGvJ7Eeq.js → sandbox-cli-B7kOJiLh.js} +32 -32
  283. package/dist/{secrets-cli-CR3h2TBy.js → secrets-cli-COGPFjdu.js} +14 -14
  284. package/dist/{security-cli-B9_LV2po.js → security-cli-Db4ZYVER.js} +42 -42
  285. package/dist/{send-D4bMycQu.js → send-BOxJ4QXF.js} +7 -7
  286. package/dist/{send-DwdHiC7_.js → send-BhbOA8rP.js} +10 -10
  287. package/dist/{send-DQiw_nGD.js → send-D-UmmCCj.js} +7 -7
  288. package/dist/{send--lzpNy4f.js → send-DA-ryUJS.js} +14 -14
  289. package/dist/{send-BeIZJuy4.js → send-DZa8fWSm.js} +7 -7
  290. package/dist/{send-C4v0Leny.js → send-D_ARyjSf.js} +6 -6
  291. package/dist/{send-DuwdEkLw.js → send-DnscWRVE.js} +7 -7
  292. package/dist/{send-Dfa3sn6r.js → send-FLdrx-oF.js} +24 -24
  293. package/dist/{send-DmLC7aEF.js → send-IlPMLAH-.js} +10 -10
  294. package/dist/{send-C1hvd3bt.js → send-Y1hD4tQ1.js} +6 -6
  295. package/dist/{server-D6MltJIF.js → server-DLOBjQtf.js} +21 -21
  296. package/dist/{server-context-DI0W_H7R.js → server-context-CvZnSu9L.js} +11 -11
  297. package/dist/{server-lifecycle-B5PlrlbG.js → server-lifecycle-CfZbDiFe.js} +2 -2
  298. package/dist/{server-node-events-C69TPlKW.js → server-node-events-CgSZVd8M.js} +89 -89
  299. package/dist/{server-node-events-BL1dTBEr.js → server-node-events-Dj5jYSln.js} +3 -3
  300. package/dist/{service-C8NMS3m_.js → service-fKr0VnMd.js} +1 -1
  301. package/dist/{session-CdnrRhb4.js → session-BKdoiopW.js} +2 -2
  302. package/dist/{session-F_YDS_1V.js → session-nUPBXeEa.js} +7 -7
  303. package/dist/{sessions-3ioSeOA1.js → sessions-DRA4oaxz.js} +41 -41
  304. package/dist/{sessions-BtPXimXQ.js → sessions-uS8Ko6pU.js} +6 -6
  305. package/dist/{shared-CpDPo3hJ.js → shared-Cvf3nhuq.js} +2 -2
  306. package/dist/{shared-DpLSpJIl.js → shared-pSfUCPxh.js} +1 -1
  307. package/dist/{skill-commands-Ck3flWX7.js → skill-commands-BHTBXXVn.js} +9 -9
  308. package/dist/{skill-commands-BFzmZAfo.js → skill-commands-BY4BNcfR.js} +6 -6
  309. package/dist/{skill-scanner-D7mzXRXd.js → skill-scanner-BFXxq_hZ.js} +1 -1
  310. package/dist/{skills-DlvDyK8L.js → skills-DuPZzvnK.js} +4 -4
  311. package/dist/{skills-cli-BhKGhjbO.js → skills-cli-wSg-syqz.js} +10 -10
  312. package/dist/{skills-install-tr6wRWZj.js → skills-install-CQihNd2n.js} +6 -6
  313. package/dist/{skills-status-qjQ8XP0h.js → skills-status-D7aU-6Ob.js} +4 -4
  314. package/dist/{skills-CnAPWfca.js → skills-umlGvChF.js} +22 -22
  315. package/dist/{status-B8z0RCPf.js → status-Bp-x4GJi.js} +24 -24
  316. package/dist/{status-AEwcpHsu.js → status-CV7OIIGl.js} +2 -2
  317. package/dist/{status.update-CTi6vuWj.js → status.update-Cri65g-V.js} +1 -1
  318. package/dist/{store-kH9wHHbO.js → store-CR1Ag5tw.js} +2 -2
  319. package/dist/{store-CvMgrKWx.js → store-D-ZicQeo.js} +2 -2
  320. package/dist/{subagent-registry-Dclk-Ews.js → subagent-registry-CJX_DOgh.js} +11 -11
  321. package/dist/{subsystem-CGZX2PBV.js → subsystem-BTkYq-SM.js} +1 -1
  322. package/dist/{subsystem-tzu-rIAJ.js → subsystem-D7ZepYT1.js} +1 -1
  323. package/dist/{system-cli-DyVZ5udc.js → system-cli-DSF87U3I.js} +13 -13
  324. package/dist/{system-run-approval-context-CISBXlNw.js → system-run-approval-context-DtT5msEN.js} +1 -1
  325. package/dist/{system-run-command-qJdgzxLp.js → system-run-command-CrHlKsQv.js} +1 -1
  326. package/dist/{systemd-CaCR5CyM.js → systemd-C9CCJ2y5.js} +2 -2
  327. package/dist/{systemd-hints-DHu-HVFx.js → systemd-hints-D4_AmIA0.js} +2 -2
  328. package/dist/{systemd-linger-B7XlUHk_.js → systemd-linger-BRBtRm6O.js} +2 -2
  329. package/dist/{table-B9AmL3M1.js → table-PG064F0C.js} +2 -2
  330. package/dist/{tables-g9xkflht.js → tables-Ca5i1iM6.js} +1 -1
  331. package/dist/{tables-5k-zOZ-s.js → tables-Co_R_WKs.js} +1 -1
  332. package/dist/{tailscale-B5Irc_Bi.js → tailscale-Dr3FvwTm.js} +2 -2
  333. package/dist/{target-errors-BPfQrPim.js → target-errors-B1mcM4WR.js} +2 -2
  334. package/dist/{target-errors-bLIVFsbF.js → target-errors-BhRMVh6a.js} +2 -2
  335. package/dist/{tokens-Dg-QZ_pN.js → tokens-DGajj8M9.js} +1 -1
  336. package/dist/{tokens-BRLyURxW.js → tokens-DY5TC4xI.js} +1 -1
  337. package/dist/{tool-display-Dac7lHGW.js → tool-display-1HTlk4mF.js} +2 -2
  338. package/dist/{tool-images-CcGZpzmq.js → tool-images-ByP8vQ_u.js} +2 -2
  339. package/dist/{tool-images-CHqepyF_.js → tool-images-Duuqr4bN.js} +2 -2
  340. package/dist/{tool-loop-detection-C5VjmhPJ.js → tool-loop-detection-BxLycal4.js} +2 -2
  341. package/dist/{tool-loop-detection-BNGetx3Z.js → tool-loop-detection-CjWRg_4q.js} +3 -3
  342. package/dist/{trash-CUFiyQN5.js → trash-CHnKIQrP.js} +1 -1
  343. package/dist/{tui-Bne3YNiw.js → tui-BmvrLAnW.js} +9 -9
  344. package/dist/{tui-cli-D0Z-rcUe.js → tui-cli-Dm28GC4T.js} +39 -39
  345. package/dist/{update-D79ppbMQ.js → update-D96LyJ5s.js} +3 -3
  346. package/dist/{update-cli-8Tk6PCmD.js → update-cli-Crq7aGUA.js} +115 -115
  347. package/dist/{update-cli-Bobm67f-.js → update-cli-z5fJRDU4.js} +9 -9
  348. package/dist/{update-runner-B4xzPa4-.js → update-runner-BLquhnrL.js} +5 -5
  349. package/dist/{update-runner-C4NjVy9-.js → update-runner-BkSrWsKc.js} +1 -1
  350. package/dist/{utils-CXzXXV2o.js → utils-BfmeFj7S.js} +2 -2
  351. package/dist/{utils-CTFLl_ji.js → utils-D9wGoiU9.js} +18 -18
  352. package/dist/{web-9J12F46d.js → web-B267OUXc.js} +3 -3
  353. package/dist/{web-DPSpgc_K.js → web-BKSxBqZw.js} +3 -3
  354. package/dist/web-BKs38Jg4.js +123 -0
  355. package/dist/{web-NzOJcvWO.js → web-CNowaS6B.js} +66 -66
  356. package/dist/{webhooks-cli-2N03q0iY.js → webhooks-cli-DLVMYO3R.js} +11 -11
  357. package/dist/{whatsapp-actions-DbPcN6JQ.js → whatsapp-actions-BJ6kVDXi.js} +25 -25
  358. package/dist/{whatsapp-actions-Cms8wQM1.js → whatsapp-actions-De803Fwb.js} +22 -22
  359. package/dist/{widearea-dns-FDdFH5E8.js → widearea-dns-DJVz6r4U.js} +1 -1
  360. package/dist/{with-timeout-DEdycYxq.js → with-timeout-Bz8F3xNq.js} +5 -5
  361. package/dist/{workspace-D3pARwoB.js → workspace-BHN1rb4L.js} +3 -3
  362. package/dist/{workspace-dirs-SsExQ3Bz.js → workspace-dirs-C34pt6Pa.js} +1 -1
  363. package/dist/{workspace-DBFSzT6O.js → workspace-tAtkoD_r.js} +18 -18
  364. package/extensions/acpx/package.json +1 -1
  365. package/extensions/bluebubbles/package.json +1 -1
  366. package/extensions/copilot-proxy/package.json +1 -1
  367. package/extensions/diagnostics-otel/package.json +1 -1
  368. package/extensions/discord/package.json +1 -1
  369. package/extensions/feishu/package.json +1 -1
  370. package/extensions/google-gemini-cli-auth/package.json +1 -1
  371. package/extensions/googlechat/package.json +1 -1
  372. package/extensions/hand/package.json +1 -1
  373. package/extensions/imessage/package.json +1 -1
  374. package/extensions/irc/package.json +1 -1
  375. package/extensions/line/package.json +1 -1
  376. package/extensions/llm-task/package.json +1 -1
  377. package/extensions/matrix/CHANGELOG.md +6 -0
  378. package/extensions/matrix/package.json +1 -1
  379. package/extensions/mattermost/package.json +1 -1
  380. package/extensions/memory-core/package.json +1 -1
  381. package/extensions/memory-lancedb/package.json +1 -1
  382. package/extensions/minimax-portal-auth/package.json +1 -1
  383. package/extensions/msteams/CHANGELOG.md +6 -0
  384. package/extensions/msteams/package.json +1 -1
  385. package/extensions/nextcloud-talk/package.json +1 -1
  386. package/extensions/nostr/CHANGELOG.md +6 -0
  387. package/extensions/nostr/package.json +1 -1
  388. package/extensions/open-prose/package.json +1 -1
  389. package/extensions/signal/package.json +1 -1
  390. package/extensions/slack/package.json +1 -1
  391. package/extensions/synology-chat/package.json +1 -1
  392. package/extensions/telegram/package.json +1 -1
  393. package/extensions/tlon/package.json +1 -1
  394. package/extensions/twitch/CHANGELOG.md +6 -0
  395. package/extensions/twitch/package.json +1 -1
  396. package/extensions/voice-call/CHANGELOG.md +6 -0
  397. package/extensions/voice-call/package.json +1 -1
  398. package/extensions/whatsapp/package.json +1 -1
  399. package/extensions/zalo/CHANGELOG.md +6 -0
  400. package/extensions/zalo/package.json +1 -1
  401. package/extensions/zalouser/CHANGELOG.md +6 -0
  402. package/extensions/zalouser/package.json +1 -1
  403. package/package.json +1 -1
  404. package/dist/cli-DEE_ketW.js +0 -162
  405. package/dist/emergency-stop-BtasjDnU.js +0 -162
  406. package/dist/emergency-stop-CVO75pTD.js +0 -113
  407. package/dist/register.configure-DZ9OCp0V.js +0 -168
  408. package/dist/web-Dqy4kqC9.js +0 -123
@@ -1,88 +1,88 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, i as resolveAgentDir, l as resolveEffectiveModelFallbacks, m as resolveAgentModelFallbackValues, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride } from "./agent-scope-DyP_tr7s.js";
3
- import { d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, m as resolveRequiredHomeDir, n as STATE_DIR, s as resolveGatewayPort } from "./paths-BYNVLNi_.js";
4
- import { C as triggerInternalHook, _ as getPluginCommandSpecs, a as listChatChannels, b as createInternalHookEvent, c as normalizeChatChannelId, d as requireActivePluginRegistry, f as setActivePluginRegistry, g as executePluginCommand, h as clearPluginCommands, i as getChatChannelMeta, l as getActivePluginRegistry, m as normalizePluginHttpPath, o as normalizeAnyChannelId, p as createPluginRegistry, r as CHAT_CHANNEL_ORDER, s as normalizeChannelId$1, t as createSubsystemLogger, u as getActivePluginRegistryKey, v as listPluginCommands, y as matchPluginCommand } from "./subsystem-tzu-rIAJ.js";
5
- import { A as shouldLogVerbose, C as isPlainObject, D as logVerbose, F as theme, I as getChildLogger, K as resolvePreferredIdleHandsTmpDir, M as warn, N as colorize, P as isRich, S as truncateUtf16Safe, W as normalizeLogLevel, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, k as setVerbose, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, w as danger, y as sleep$1 } from "./utils-CTFLl_ji.js";
2
+ import { c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, i as resolveAgentDir, l as resolveEffectiveModelFallbacks, m as resolveAgentModelFallbackValues, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride } from "./agent-scope-Bxq1eWbA.js";
3
+ import { d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, m as resolveRequiredHomeDir, n as STATE_DIR, s as resolveGatewayPort } from "./paths-DQpv9a3Q.js";
4
+ import { C as triggerInternalHook, _ as getPluginCommandSpecs, a as listChatChannels, b as createInternalHookEvent, c as normalizeChatChannelId, d as requireActivePluginRegistry, f as setActivePluginRegistry, g as executePluginCommand, h as clearPluginCommands, i as getChatChannelMeta, l as getActivePluginRegistry, m as normalizePluginHttpPath, o as normalizeAnyChannelId, p as createPluginRegistry, r as CHAT_CHANNEL_ORDER, s as normalizeChannelId$1, t as createSubsystemLogger, u as getActivePluginRegistryKey, v as listPluginCommands, y as matchPluginCommand } from "./subsystem-D7ZepYT1.js";
5
+ import { A as shouldLogVerbose, C as isPlainObject, D as logVerbose, F as theme, I as getChildLogger, K as resolvePreferredIdleHandsTmpDir, M as warn, N as colorize, P as isRich, S as truncateUtf16Safe, W as normalizeLogLevel, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, k as setVerbose, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, w as danger, y as sleep$1 } from "./utils-D9wGoiU9.js";
6
6
  import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as defaultRuntime, o as unregisterActiveProgressLine, t as createNonExitingRuntime } from "./runtime-8mi3mpYB.js";
7
7
  import { S as resolveThreadParentSessionKey, _ as getSubagentDepth, b as isSubagentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as deriveSessionChatType, h as isBlockedObjectKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-CuLPSMu_.js";
8
- import { S as logWarn, T as openBoundaryFileSync, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, l as ensureAgentWorkspace, m as resolveIdleHandsPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, w as openBoundaryFile, x as logInfo, y as logDebug } from "./workspace-DBFSzT6O.js";
9
- import { $t as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, A as getSoonestCooldownExpiry, At as buildEnforcedShellCommand, Bt as unwrapKnownDispatchWrapperInvocation, C as getCustomProviderApiKey, Ct as unsetConfigValueAtPath, D as resolveModelAuthMode, Dt as normalizeTrustedSafeBinDirs, E as resolveEnvApiKey, Et as listWritableExplicitTrustedSafeBinDirs, F as resolveApiKeyForProfile, Ft as resolveAllowlistCandidatePath, G as normalizeTelegramCommandName, Gt as resolveSafeBinProfiles, H as writeConfigFile, Ht as splitShellArgs, It as resolveCommandResolutionFromArgv, J as isInboundPathAllowed, Jt as mapStreamingModeToSlackLegacyDraftStreamMode, K as resolveTelegramCustomCommands, Kt as applyMergePatch, Lt as extractShellWrapperInlineCommand, M as markAuthProfileFailure, Mt as splitCommandChain, N as markAuthProfileUsed, Nt as DEFAULT_SAFE_BINS, Ot as validateSafeBinArgv, P as resolveProfilesUnavailableReason, Pt as matchAllowlist, Q as normalizeScpRemoteHost, R as loadConfig, Rt as isDispatchWrapperExecutable, S as getApiKeyForModel, St as setConfigValueAtPath, T as resolveApiKeyForProvider, Tt as isTrustedSafeBinPath, U as validateConfigObjectWithPlugins, Ut as SAFE_BIN_PROFILES, V as resolveConfigSnapshotHash, Vt as unwrapKnownShellMultiplexerInvocation, W as TELEGRAM_COMMAND_NAME_PATTERN, Wt as normalizeSafeBinProfileFixtures, X as resolveIMessageAttachmentRoots, Xt as resolveSlackNativeStreaming, Yt as resolveDiscordPreviewStreamMode, Z as resolveIMessageRemoteAttachmentRoots, Zt as resolveSlackStreamingMode, _n as splitTrailingAuthProfile, _t as resetConfigOverrides, a as isCliProvider, an as resolveOwnerDisplaySetting, at as isPathWithinRoot, b as OLLAMA_NATIVE_BASE_URL, bn as DEFAULT_PROVIDER, bt as getConfigValueAtPath, c as normalizeProviderId, cn as markAuthProfileGood, ct as loadPluginManifestRegistry, d as resolveDefaultModelForAgent, dn as resolveIdleHandsAgentDir, dt as safeStatSync, en as resolveAgentMaxConcurrent, et as parseDurationMs, f as resolveModelRefFromString, fn as withFileLock, ft as applyTestPluginDefaults, gn as normalizeSecretInput, gt as getConfigOverrides, h as resolveThinkingDefault, hn as resolveAuthProfileDisplayLabel, ht as resolveMemorySlotDecision, i as findNormalizedProviderValue, in as isDangerousHostEnvVarName, it as isAvatarHttpUrl, j as isProfileInCooldown, jt as isWindowsPlatform, k as resolveAuthProfileOrder, kt as analyzeShellCommand, ln as ensureAuthProfileStore, lt as discoverIdleHandsPlugins, m as resolveSubagentSpawnModelSelection, mt as resolveEffectiveEnableState, n as buildConfiguredAllowlistKeys, nn as getShellPathFromLoginShell, nt as AVATAR_MAX_BYTES, o as modelKey, on as dedupeProfileIds, ot as isSupportedLocalAvatarExtension, p as resolveReasoningDefault, pt as normalizePluginsConfig, qt as isSafeExecutableValue, r as buildModelAliasIndex, rn as resolveShellEnvFallbackTimeoutMs, rt as isAvatarDataUrl, s as normalizeModelRef$2, sn as listProfilesForProvider, st as validateJsonSchemaValue, t as buildAllowedModelSet, tn as VERSION, u as resolveConfiguredModelRef, un as resolveAuthStorePathForDisplay, ut as isPathInside, vn as DEFAULT_CONTEXT_TOKENS, vt as setConfigOverride, w as requireApiKey, wt as getTrustedSafeBinDirs, x as createOllamaStreamFn, xt as parseConfigPath, yn as DEFAULT_MODEL, yt as unsetConfigOverride, z as readConfigFileSnapshot, zt as isShellWrapperExecutable } from "./model-selection-1MMYqY6M.js";
10
- import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Dgt6cnsM.js";
8
+ import { S as logWarn, T as openBoundaryFileSync, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, l as ensureAgentWorkspace, m as resolveIdleHandsPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, w as openBoundaryFile, x as logInfo, y as logDebug } from "./workspace-tAtkoD_r.js";
9
+ import { $t as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, A as getSoonestCooldownExpiry, At as buildEnforcedShellCommand, Bt as unwrapKnownDispatchWrapperInvocation, C as getCustomProviderApiKey, Ct as unsetConfigValueAtPath, D as resolveModelAuthMode, Dt as normalizeTrustedSafeBinDirs, E as resolveEnvApiKey, Et as listWritableExplicitTrustedSafeBinDirs, F as resolveApiKeyForProfile, Ft as resolveAllowlistCandidatePath, G as normalizeTelegramCommandName, Gt as resolveSafeBinProfiles, H as writeConfigFile, Ht as splitShellArgs, It as resolveCommandResolutionFromArgv, J as isInboundPathAllowed, Jt as mapStreamingModeToSlackLegacyDraftStreamMode, K as resolveTelegramCustomCommands, Kt as applyMergePatch, Lt as extractShellWrapperInlineCommand, M as markAuthProfileFailure, Mt as splitCommandChain, N as markAuthProfileUsed, Nt as DEFAULT_SAFE_BINS, Ot as validateSafeBinArgv, P as resolveProfilesUnavailableReason, Pt as matchAllowlist, Q as normalizeScpRemoteHost, R as loadConfig, Rt as isDispatchWrapperExecutable, S as getApiKeyForModel, St as setConfigValueAtPath, T as resolveApiKeyForProvider, Tt as isTrustedSafeBinPath, U as validateConfigObjectWithPlugins, Ut as SAFE_BIN_PROFILES, V as resolveConfigSnapshotHash, Vt as unwrapKnownShellMultiplexerInvocation, W as TELEGRAM_COMMAND_NAME_PATTERN, Wt as normalizeSafeBinProfileFixtures, X as resolveIMessageAttachmentRoots, Xt as resolveSlackNativeStreaming, Yt as resolveDiscordPreviewStreamMode, Z as resolveIMessageRemoteAttachmentRoots, Zt as resolveSlackStreamingMode, _n as splitTrailingAuthProfile, _t as resetConfigOverrides, a as isCliProvider, an as resolveOwnerDisplaySetting, at as isPathWithinRoot, b as OLLAMA_NATIVE_BASE_URL, bn as DEFAULT_PROVIDER, bt as getConfigValueAtPath, c as normalizeProviderId, cn as markAuthProfileGood, ct as loadPluginManifestRegistry, d as resolveDefaultModelForAgent, dn as resolveIdleHandsAgentDir, dt as safeStatSync, en as resolveAgentMaxConcurrent, et as parseDurationMs, f as resolveModelRefFromString, fn as withFileLock, ft as applyTestPluginDefaults, gn as normalizeSecretInput, gt as getConfigOverrides, h as resolveThinkingDefault, hn as resolveAuthProfileDisplayLabel, ht as resolveMemorySlotDecision, i as findNormalizedProviderValue, in as isDangerousHostEnvVarName, it as isAvatarHttpUrl, j as isProfileInCooldown, jt as isWindowsPlatform, k as resolveAuthProfileOrder, kt as analyzeShellCommand, ln as ensureAuthProfileStore, lt as discoverIdleHandsPlugins, m as resolveSubagentSpawnModelSelection, mt as resolveEffectiveEnableState, n as buildConfiguredAllowlistKeys, nn as getShellPathFromLoginShell, nt as AVATAR_MAX_BYTES, o as modelKey, on as dedupeProfileIds, ot as isSupportedLocalAvatarExtension, p as resolveReasoningDefault, pt as normalizePluginsConfig, qt as isSafeExecutableValue, r as buildModelAliasIndex, rn as resolveShellEnvFallbackTimeoutMs, rt as isAvatarDataUrl, s as normalizeModelRef$2, sn as listProfilesForProvider, st as validateJsonSchemaValue, t as buildAllowedModelSet, tn as VERSION, u as resolveConfiguredModelRef, un as resolveAuthStorePathForDisplay, ut as isPathInside, vn as DEFAULT_CONTEXT_TOKENS, vt as setConfigOverride, w as requireApiKey, wt as getTrustedSafeBinDirs, x as createOllamaStreamFn, xt as parseConfigPath, yn as DEFAULT_MODEL, yt as unsetConfigOverride, z as readConfigFileSnapshot, zt as isShellWrapperExecutable } from "./model-selection-C5hI1dum.js";
10
+ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BjmEQcmi.js";
11
11
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-BAxx4PW5.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { t as isTruthyEnvValue } from "./env-B5G1qwGc.js";
13
+ import { t as isTruthyEnvValue } from "./env-q-PhWbb_.js";
14
14
  import { n as MANIFEST_KEY } from "./legacy-names-B4ZvHEmO.js";
15
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, o as resolveChannelGroupToolsPolicy, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BgOmHcbh.js";
15
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, o as resolveChannelGroupToolsPolicy, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-ejUetwTC.js";
16
16
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-CEV6qf-x.js";
17
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BRLyURxW.js";
18
- import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-CRB60mCJ.js";
19
- import { n as resolveWhatsAppAccount, t as hasAnyWhatsAppAuth } from "./accounts-Dk8mJIrQ.js";
17
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-DGajj8M9.js";
18
+ import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-DYr-HHj0.js";
19
+ import { n as resolveWhatsAppAccount, t as hasAnyWhatsAppAuth } from "./accounts-BQC_GRUB.js";
20
20
  import { t as resolveAccountEntry } from "./account-lookup-DlMshWZ_.js";
21
21
  import { t as normalizeChatType } from "./chat-type-BPBtOjer.js";
22
- import { t as buildChannelAccountBindings } from "./bindings-D3b5Fmc9.js";
23
- import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-DXT-l7fO.js";
24
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BeIZJuy4.js";
25
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DmLC7aEF.js";
22
+ import { t as buildChannelAccountBindings } from "./bindings-CLZIJ0Eo.js";
23
+ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-Bb4aajHu.js";
24
+ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-DZa8fWSm.js";
25
+ import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-IlPMLAH-.js";
26
26
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-B1N_MXT_.js";
27
- import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-BUiQ-9fE.js";
28
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-4owMk4vH.js";
27
+ import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-Db2xqgLg.js";
28
+ import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-BvlZ0Sot.js";
29
29
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-BGF2r-kt.js";
30
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BDVs8LTu.js";
31
- import { $ as readJsonFileWithFallback, A as extractTelegramLocation, B as normalizeAllowFrom$2, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as mergeDmAllowFromSources, H as resolveSenderAllowMatch, I as resolveTelegramReplyId, J as toLocationContext, K as resolveGroupAllowFromSources, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as upsertChannelPairingRequest, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as firstDefined$1, V as normalizeDmAllowFromWithStore$1, W as isSenderIdAllowed, X as readChannelAllowFromStore, Y as addChannelAllowFromStoreEntry, Z as removeChannelAllowFromStoreEntry, _ as resolveTelegramFetch, a as reactMessageTelegram, at as resolveTelegramTargetChatType, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as writeJsonFileAtomically, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as parseTelegramTarget, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as listPairingChannels, o as sendMessageTelegram, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as isVoiceCompatibleAudio, s as sendPollTelegram, t as buildInlineKeyboard, tt as getPairingAdapter, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-Dfa3sn6r.js";
32
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-D1KtygWz.js";
33
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bb__OY-j.js";
34
- import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-C8QtrwEU.js";
35
- import { $ as stripPluginOnlyAllowlist, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveGatewayCredentialsFromConfig, H as getBridgeAuthForPort, I as resolveSandboxContext, J as applyOwnerOnlyToolPolicy, K as trimToUndefined$1, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as mergeAlsoAllowPolicy, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as collectExplicitAllowlist, Y as buildPluginToolGroups, Z as expandPolicyWithPluginGroups, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as buildBootstrapContextFiles, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveBootstrapTotalMaxChars, d as downgradeOpenAIReasoningBlocks, et as expandToolGroups, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as matchesAnyGlobPattern, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as sanitizeGoogleTurnOrdering, m as classifyFailoverReason, n as validateGeminiTurns, nt as resolveToolProfilePolicy, o as normalizeTextForComparison, ot as ensureSessionHeader, p as BILLING_ERROR_USER_MESSAGE, q as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rt as compileGlobPatterns, s as sanitizeSessionMessagesImages, st as resolveBootstrapMaxChars, t as validateAnthropicTurns, tt as normalizeToolName, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-CghCLoPo.js";
36
- import { C as ensureChromeExtensionRelayServer, F as isSecureWebSocketUrl, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as rawDataToString, k as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-BcJB6PcM.js";
30
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-B8cGzkjD.js";
31
+ import { $ as readJsonFileWithFallback, A as extractTelegramLocation, B as normalizeAllowFrom$2, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as mergeDmAllowFromSources, H as resolveSenderAllowMatch, I as resolveTelegramReplyId, J as toLocationContext, K as resolveGroupAllowFromSources, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as upsertChannelPairingRequest, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as firstDefined$1, V as normalizeDmAllowFromWithStore$1, W as isSenderIdAllowed, X as readChannelAllowFromStore, Y as addChannelAllowFromStoreEntry, Z as removeChannelAllowFromStoreEntry, _ as resolveTelegramFetch, a as reactMessageTelegram, at as resolveTelegramTargetChatType, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as writeJsonFileAtomically, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as parseTelegramTarget, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as listPairingChannels, o as sendMessageTelegram, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as isVoiceCompatibleAudio, s as sendPollTelegram, t as buildInlineKeyboard, tt as getPairingAdapter, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-FLdrx-oF.js";
32
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-J8P5zOFm.js";
33
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Dlx4RLWo.js";
34
+ import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-ZdI1-uUh.js";
35
+ import { $ as stripPluginOnlyAllowlist, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveGatewayCredentialsFromConfig, H as getBridgeAuthForPort, I as resolveSandboxContext, J as applyOwnerOnlyToolPolicy, K as trimToUndefined$1, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as mergeAlsoAllowPolicy, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as collectExplicitAllowlist, Y as buildPluginToolGroups, Z as expandPolicyWithPluginGroups, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as buildBootstrapContextFiles, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveBootstrapTotalMaxChars, d as downgradeOpenAIReasoningBlocks, et as expandToolGroups, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as matchesAnyGlobPattern, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as sanitizeGoogleTurnOrdering, m as classifyFailoverReason, n as validateGeminiTurns, nt as resolveToolProfilePolicy, o as normalizeTextForComparison, ot as ensureSessionHeader, p as BILLING_ERROR_USER_MESSAGE, q as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rt as compileGlobPatterns, s as sanitizeSessionMessagesImages, st as resolveBootstrapMaxChars, t as validateAnthropicTurns, tt as normalizeToolName, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-B3ceCcxm.js";
36
+ import { C as ensureChromeExtensionRelayServer, F as isSecureWebSocketUrl, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as rawDataToString, k as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-CT_a9OgI.js";
37
37
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CZeHDwVZ.js";
38
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-CnAPWfca.js";
39
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cu1nXNMM.js";
40
- import { r as compileSafeRegex, t as redactSensitiveText } from "./redact-Bvpf-ATQ.js";
41
- import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-C_0nm4TJ.js";
42
- import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CYUaAFO9.js";
43
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-CvMgrKWx.js";
44
- import { A as normalizeInputProvenance, B as setSessionRuntimeModel, C as capArrayByJsonBytes, D as INPUT_PROVENANCE_KIND_VALUES, E as parseInlineDirectives$1, F as resolveSessionResetType, G as deriveSessionMetaPatch, I as resolveThreadFlag, J as resolveSessionLockMaxHoldFromTimeout, K as resolveGroupSessionKey, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, O as applyInputProvenanceToUserMessage, P as resolveSessionResetPolicy, R as mergeSessionEntry, S as archiveSessionTranscripts, T as extractToolCallNames, U as resolveExplicitAgentSessionKey, V as canonicalizeMainSessionAlias, W as resolveMainSessionKey, _ as deliveryContextKey, b as normalizeSessionDeliveryFields, c as readSessionUpdatedAt, d as updateLastRoute, f as updateSessionStore, g as deliveryContextFromSession, h as resolveCacheTtlMs$1, i as appendAssistantMessageToSessionTranscript, j as resolveSessionKey, k as hasInterSessionUserProvenance, l as recordSessionMetaFromInbound, m as isCacheEnabled, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, p as updateSessionStoreEntry, q as acquireSessionWriteLock, r as parseSessionThreadInfo, s as loadSessionStore, v as mergeDeliveryContext, w as countToolResults, x as normalizeAccountId$3, y as normalizeDeliveryContext, z as resolveFreshSessionTotalTokens } from "./sessions-3ioSeOA1.js";
38
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-umlGvChF.js";
39
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BZmt6hFb.js";
40
+ import { r as compileSafeRegex, t as redactSensitiveText } from "./redact-1Y0KPNtr.js";
41
+ import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-C4SHjIZK.js";
42
+ import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-2l05hI1Y.js";
43
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-D-ZicQeo.js";
44
+ import { A as normalizeInputProvenance, B as setSessionRuntimeModel, C as capArrayByJsonBytes, D as INPUT_PROVENANCE_KIND_VALUES, E as parseInlineDirectives$1, F as resolveSessionResetType, G as deriveSessionMetaPatch, I as resolveThreadFlag, J as resolveSessionLockMaxHoldFromTimeout, K as resolveGroupSessionKey, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, O as applyInputProvenanceToUserMessage, P as resolveSessionResetPolicy, R as mergeSessionEntry, S as archiveSessionTranscripts, T as extractToolCallNames, U as resolveExplicitAgentSessionKey, V as canonicalizeMainSessionAlias, W as resolveMainSessionKey, _ as deliveryContextKey, b as normalizeSessionDeliveryFields, c as readSessionUpdatedAt, d as updateLastRoute, f as updateSessionStore, g as deliveryContextFromSession, h as resolveCacheTtlMs$1, i as appendAssistantMessageToSessionTranscript, j as resolveSessionKey, k as hasInterSessionUserProvenance, l as recordSessionMetaFromInbound, m as isCacheEnabled, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, p as updateSessionStoreEntry, q as acquireSessionWriteLock, r as parseSessionThreadInfo, s as loadSessionStore, v as mergeDeliveryContext, w as countToolResults, x as normalizeAccountId$3, y as normalizeDeliveryContext, z as resolveFreshSessionTotalTokens } from "./sessions-DRA4oaxz.js";
45
45
  import { n as resolveConversationLabel } from "./conversation-label-1Wad2kXc.js";
46
- import { t as resolveIMessageAccount } from "./accounts-CIvVRRHb.js";
47
- import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, u as resolveStorePath } from "./paths-D_qUel1T.js";
46
+ import { t as resolveIMessageAccount } from "./accounts-D5tB_lO0.js";
47
+ import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, u as resolveStorePath } from "./paths-D3p7ZvM6.js";
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-_OimdA_2.js";
49
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CcGZpzmq.js";
49
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-Duuqr4bN.js";
50
50
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-z4_linel.js";
51
- import { C as extractTextFromChatContent, S as isInsideCode, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, w as ensureIdleHandsModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-D8b_rlQC.js";
52
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUgeSN2R.js";
53
- import { n as resolveMemorySearchConfig } from "./manager-BE_76jWB.js";
51
+ import { C as extractTextFromChatContent, S as isInsideCode, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, w as ensureIdleHandsModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-Dlu13Ebx.js";
52
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-DCljZiIB.js";
53
+ import { n as resolveMemorySearchConfig } from "./manager-CgzA1hKo.js";
54
54
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-3YYM8QuM.js";
55
- import { t as fetchWithSsrFGuard } from "./fetch-guard-iuQsIjqN.js";
56
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-DEq020GG.js";
57
- import { n as retryAsync } from "./retry-BeB9WenR.js";
58
- import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-BPfQrPim.js";
59
- import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-CMpX7Jaz.js";
60
- import { n as resolveMarkdownTableMode } from "./markdown-tables-CzsockiZ.js";
61
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-KN4Hp1yZ.js";
62
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-B7IBoKLy.js";
63
- import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-j4vAzcF2.js";
64
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-Ck3flWX7.js";
55
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-CcfDZXe9.js";
56
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-DHuNyU-_.js";
57
+ import { n as retryAsync } from "./retry-CG6cMRDQ.js";
58
+ import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-B1mcM4WR.js";
59
+ import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-Djk-9JeT.js";
60
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-R8VTpfE9.js";
61
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-d4y0lvs2.js";
62
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-BT5aAdU9.js";
63
+ import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-_TBHHpvt.js";
64
+ import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-BHTBXXVn.js";
65
65
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BYczzTII.js";
66
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$2, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-PgRFPYUj.js";
66
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$2, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-BkCU-kqs.js";
67
67
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CsfR_943.js";
68
68
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-D9g0X0i7.js";
69
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D_TMOGQ0.js";
69
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DdL3RAv_.js";
70
70
  import { n as normalizePollInput } from "./polls-DhMjjIGW.js";
71
- import { t as convertMarkdownTables } from "./tables-5k-zOZ-s.js";
72
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-C1hvd3bt.js";
73
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-D4bMycQu.js";
74
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DuttYY7A.js";
71
+ import { t as convertMarkdownTables } from "./tables-Co_R_WKs.js";
72
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-Y1hD4tQ1.js";
73
+ import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-BOxJ4QXF.js";
74
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-ClcifpKn.js";
75
75
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-jilCMH1M.js";
76
76
  import { t as makeProxyFetch } from "./proxy-CRB9oCP5.js";
77
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-6_GxvQYe.js";
78
- import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-B4J8H6nI.js";
77
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-2C16fnBP.js";
78
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-CnUuBleG.js";
79
79
  import { createRequire } from "node:module";
80
- import * as fs$1 from "node:fs/promises";
80
+ import * as fs$2 from "node:fs/promises";
81
81
  import fs from "node:fs/promises";
82
82
  import os, { homedir } from "node:os";
83
83
  import * as path$1 from "node:path";
84
84
  import path, { isAbsolute } from "node:path";
85
- import syncFs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
85
+ import fs$1, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
86
86
  import JSON5 from "json5";
87
87
  import { inspect, promisify } from "node:util";
88
88
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
@@ -3246,7 +3246,7 @@ async function resolveIdleHandsDocsPath(params) {
3246
3246
  const workspaceDir = params.workspaceDir?.trim();
3247
3247
  if (workspaceDir) {
3248
3248
  const workspaceDocs = path.join(workspaceDir, "docs");
3249
- if (syncFs.existsSync(workspaceDocs)) return workspaceDocs;
3249
+ if (fs$1.existsSync(workspaceDocs)) return workspaceDocs;
3250
3250
  }
3251
3251
  const packageRoot = await resolveIdleHandsPackageRoot({
3252
3252
  cwd: params.cwd,
@@ -3255,7 +3255,7 @@ async function resolveIdleHandsDocsPath(params) {
3255
3255
  });
3256
3256
  if (!packageRoot) return null;
3257
3257
  const packageDocs = path.join(packageRoot, "docs");
3258
- return syncFs.existsSync(packageDocs) ? packageDocs : null;
3258
+ return fs$1.existsSync(packageDocs) ? packageDocs : null;
3259
3259
  }
3260
3260
 
3261
3261
  //#endregion
@@ -3965,7 +3965,7 @@ async function getMemorySearchManager(params) {
3965
3965
  if (cached) return { manager: cached };
3966
3966
  }
3967
3967
  try {
3968
- const { QmdMemoryManager } = await import("./qmd-manager-B_GgyQQ0.js");
3968
+ const { QmdMemoryManager } = await import("./qmd-manager-BRvg3Rx2.js");
3969
3969
  const primary = await QmdMemoryManager.create({
3970
3970
  cfg: params.cfg,
3971
3971
  agentId: params.agentId,
@@ -3977,7 +3977,7 @@ async function getMemorySearchManager(params) {
3977
3977
  const wrapper = new FallbackMemoryManager({
3978
3978
  primary,
3979
3979
  fallbackFactory: async () => {
3980
- const { MemoryIndexManager } = await import("./manager-BE_76jWB.js").then((n) => n.t);
3980
+ const { MemoryIndexManager } = await import("./manager-CgzA1hKo.js").then((n) => n.t);
3981
3981
  return await MemoryIndexManager.get(params);
3982
3982
  }
3983
3983
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3990,7 +3990,7 @@ async function getMemorySearchManager(params) {
3990
3990
  }
3991
3991
  }
3992
3992
  try {
3993
- const { MemoryIndexManager } = await import("./manager-BE_76jWB.js").then((n) => n.t);
3993
+ const { MemoryIndexManager } = await import("./manager-CgzA1hKo.js").then((n) => n.t);
3994
3994
  return { manager: await MemoryIndexManager.get(params) };
3995
3995
  } catch (err) {
3996
3996
  return {
@@ -4678,7 +4678,7 @@ function resolveDefaultIdentityPath() {
4678
4678
  return path.join(resolveStateDir(), "identity", "device.json");
4679
4679
  }
4680
4680
  function ensureDir$2(filePath) {
4681
- syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
4681
+ fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
4682
4682
  }
4683
4683
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
4684
4684
  function base64UrlEncode(buf) {
@@ -4714,8 +4714,8 @@ function generateIdentity() {
4714
4714
  }
4715
4715
  function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4716
4716
  try {
4717
- if (syncFs.existsSync(filePath)) {
4718
- const raw = syncFs.readFileSync(filePath, "utf8");
4717
+ if (fs$1.existsSync(filePath)) {
4718
+ const raw = fs$1.readFileSync(filePath, "utf8");
4719
4719
  const parsed = JSON.parse(raw);
4720
4720
  if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
4721
4721
  const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
@@ -4724,9 +4724,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4724
4724
  ...parsed,
4725
4725
  deviceId: derivedId
4726
4726
  };
4727
- syncFs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4727
+ fs$1.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4728
4728
  try {
4729
- syncFs.chmodSync(filePath, 384);
4729
+ fs$1.chmodSync(filePath, 384);
4730
4730
  } catch {}
4731
4731
  return {
4732
4732
  deviceId: derivedId,
@@ -4751,9 +4751,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4751
4751
  privateKeyPem: identity.privateKeyPem,
4752
4752
  createdAtMs: Date.now()
4753
4753
  };
4754
- syncFs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4754
+ fs$1.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4755
4755
  try {
4756
- syncFs.chmodSync(filePath, 384);
4756
+ fs$1.chmodSync(filePath, 384);
4757
4757
  } catch {}
4758
4758
  return identity;
4759
4759
  }
@@ -4903,8 +4903,8 @@ function resolveDeviceAuthPath(env = process.env) {
4903
4903
  }
4904
4904
  function readStore(filePath) {
4905
4905
  try {
4906
- if (!syncFs.existsSync(filePath)) return null;
4907
- const raw = syncFs.readFileSync(filePath, "utf8");
4906
+ if (!fs$1.existsSync(filePath)) return null;
4907
+ const raw = fs$1.readFileSync(filePath, "utf8");
4908
4908
  const parsed = JSON.parse(raw);
4909
4909
  if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
4910
4910
  if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
@@ -4914,10 +4914,10 @@ function readStore(filePath) {
4914
4914
  }
4915
4915
  }
4916
4916
  function writeStore(filePath, store) {
4917
- syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
4918
- syncFs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4917
+ fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
4918
+ fs$1.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4919
4919
  try {
4920
- syncFs.chmodSync(filePath, 384);
4920
+ fs$1.chmodSync(filePath, 384);
4921
4921
  } catch {}
4922
4922
  }
4923
4923
  function loadDeviceAuthToken(params) {
@@ -7937,7 +7937,7 @@ async function routeReply(params) {
7937
7937
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7938
7938
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7939
7939
  try {
7940
- const { deliverOutboundPayloads } = await import("./deliver-BUiQ-9fE.js").then((n) => n.n);
7940
+ const { deliverOutboundPayloads } = await import("./deliver-Db2xqgLg.js").then((n) => n.n);
7941
7941
  const outboundSession = buildOutboundSessionContext({
7942
7942
  cfg,
7943
7943
  agentId: resolvedAgentId,
@@ -8457,7 +8457,7 @@ function normalizeSessionKey$1(value) {
8457
8457
  }
8458
8458
  function readSessionStore(storePath) {
8459
8459
  try {
8460
- const raw = syncFs.readFileSync(storePath, "utf-8");
8460
+ const raw = fs$1.readFileSync(storePath, "utf-8");
8461
8461
  const parsed = JSON5.parse(raw);
8462
8462
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
8463
8463
  } catch {}
@@ -17452,7 +17452,7 @@ function mergeLegacyAgent(current, legacy) {
17452
17452
  }
17453
17453
  function ensureDir$1(filePath) {
17454
17454
  const dir = path.dirname(filePath);
17455
- syncFs.mkdirSync(dir, { recursive: true });
17455
+ fs$1.mkdirSync(dir, { recursive: true });
17456
17456
  }
17457
17457
  function coerceAllowlistEntries(allowlist) {
17458
17458
  if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
@@ -17522,11 +17522,11 @@ function generateToken() {
17522
17522
  function loadExecApprovals() {
17523
17523
  const filePath = resolveExecApprovalsPath();
17524
17524
  try {
17525
- if (!syncFs.existsSync(filePath)) return normalizeExecApprovals({
17525
+ if (!fs$1.existsSync(filePath)) return normalizeExecApprovals({
17526
17526
  version: 1,
17527
17527
  agents: {}
17528
17528
  });
17529
- const raw = syncFs.readFileSync(filePath, "utf8");
17529
+ const raw = fs$1.readFileSync(filePath, "utf8");
17530
17530
  const parsed = JSON.parse(raw);
17531
17531
  if (parsed?.version !== 1) return normalizeExecApprovals({
17532
17532
  version: 1,
@@ -17543,9 +17543,9 @@ function loadExecApprovals() {
17543
17543
  function saveExecApprovals(file) {
17544
17544
  const filePath = resolveExecApprovalsPath();
17545
17545
  ensureDir$1(filePath);
17546
- syncFs.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
17546
+ fs$1.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
17547
17547
  try {
17548
- syncFs.chmodSync(filePath, 384);
17548
+ fs$1.chmodSync(filePath, 384);
17549
17549
  } catch {}
17550
17550
  }
17551
17551
  function ensureExecApprovals() {
@@ -18030,18 +18030,18 @@ function drainSystemEventEntries(sessionKey) {
18030
18030
  function resolvePowerShellPath() {
18031
18031
  const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
18032
18032
  const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
18033
- if (syncFs.existsSync(pwsh7)) return pwsh7;
18033
+ if (fs$1.existsSync(pwsh7)) return pwsh7;
18034
18034
  const programW6432 = process.env.ProgramW6432;
18035
18035
  if (programW6432 && programW6432 !== programFiles) {
18036
18036
  const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
18037
- if (syncFs.existsSync(pwsh7Alt)) return pwsh7Alt;
18037
+ if (fs$1.existsSync(pwsh7Alt)) return pwsh7Alt;
18038
18038
  }
18039
18039
  const pwshInPath = resolveShellFromPath("pwsh");
18040
18040
  if (pwshInPath) return pwshInPath;
18041
18041
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
18042
18042
  if (systemRoot) {
18043
18043
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
18044
- if (syncFs.existsSync(candidate)) return candidate;
18044
+ if (fs$1.existsSync(candidate)) return candidate;
18045
18045
  }
18046
18046
  return "powershell.exe";
18047
18047
  }
@@ -18079,7 +18079,7 @@ function resolveShellFromPath(name) {
18079
18079
  for (const entry of entries) {
18080
18080
  const candidate = path.join(entry, name);
18081
18081
  try {
18082
- syncFs.accessSync(candidate, syncFs.constants.X_OK);
18082
+ fs$1.accessSync(candidate, fs$1.constants.X_OK);
18083
18083
  return candidate;
18084
18084
  } catch {}
18085
18085
  }
@@ -21330,7 +21330,7 @@ const MODEL_CACHE = /* @__PURE__ */ new Map();
21330
21330
  await ensureIdleHandsModelsJson(cfg);
21331
21331
  } catch {}
21332
21332
  try {
21333
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-Bb__OY-j.js").then((n) => n.r);
21333
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-Dlx4RLWo.js").then((n) => n.r);
21334
21334
  const agentDir = resolveIdleHandsAgentDir();
21335
21335
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
21336
21336
  applyDiscoveredContextWindows({
@@ -21482,7 +21482,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
21482
21482
  function hasGitMarker(repoRoot) {
21483
21483
  const gitPath = path.join(repoRoot, ".git");
21484
21484
  try {
21485
- const stat = syncFs.statSync(gitPath);
21485
+ const stat = fs$1.statSync(gitPath);
21486
21486
  return stat.isDirectory() || stat.isFile();
21487
21487
  } catch {
21488
21488
  return false;
@@ -21494,10 +21494,10 @@ function findGitRoot(startDir, opts = {}) {
21494
21494
  function resolveGitDirFromMarker(repoRoot) {
21495
21495
  const gitPath = path.join(repoRoot, ".git");
21496
21496
  try {
21497
- const stat = syncFs.statSync(gitPath);
21497
+ const stat = fs$1.statSync(gitPath);
21498
21498
  if (stat.isDirectory()) return gitPath;
21499
21499
  if (!stat.isFile()) return null;
21500
- const match = syncFs.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
21500
+ const match = fs$1.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
21501
21501
  if (!match?.[1]) return null;
21502
21502
  return path.resolve(repoRoot, match[1].trim());
21503
21503
  } catch {
@@ -21564,7 +21564,7 @@ const resolveCommitHash = (options = {}) => {
21564
21564
  cachedCommit = null;
21565
21565
  return cachedCommit;
21566
21566
  }
21567
- const head = syncFs.readFileSync(headPath, "utf-8").trim();
21567
+ const head = fs$1.readFileSync(headPath, "utf-8").trim();
21568
21568
  if (!head) {
21569
21569
  cachedCommit = null;
21570
21570
  return cachedCommit;
@@ -21572,7 +21572,7 @@ const resolveCommitHash = (options = {}) => {
21572
21572
  if (head.startsWith("ref:")) {
21573
21573
  const ref = head.replace(/^ref:\s*/i, "").trim();
21574
21574
  const refPath = path.resolve(path.dirname(headPath), ref);
21575
- cachedCommit = formatCommit(syncFs.readFileSync(refPath, "utf-8").trim());
21575
+ cachedCommit = formatCommit(fs$1.readFileSync(refPath, "utf-8").trim());
21576
21576
  return cachedCommit;
21577
21577
  }
21578
21578
  cachedCommit = formatCommit(head);
@@ -21832,17 +21832,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
21832
21832
  } catch {
21833
21833
  return;
21834
21834
  }
21835
- if (!syncFs.existsSync(logPath)) return;
21835
+ if (!fs$1.existsSync(logPath)) return;
21836
21836
  try {
21837
21837
  const TAIL_BYTES = 8192;
21838
- const stat = syncFs.statSync(logPath);
21838
+ const stat = fs$1.statSync(logPath);
21839
21839
  const offset = Math.max(0, stat.size - TAIL_BYTES);
21840
21840
  const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
21841
- const fd = syncFs.openSync(logPath, "r");
21841
+ const fd = fs$1.openSync(logPath, "r");
21842
21842
  try {
21843
- syncFs.readSync(fd, buf, 0, buf.length, offset);
21843
+ fs$1.readSync(fd, buf, 0, buf.length, offset);
21844
21844
  } finally {
21845
- syncFs.closeSync(fd);
21845
+ fs$1.closeSync(fd);
21846
21846
  }
21847
21847
  const tail = buf.toString("utf-8");
21848
21848
  const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
@@ -23062,7 +23062,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23062
23062
  };
23063
23063
  const arg = body.slice(6).trim();
23064
23064
  if (arg === "status" || arg === "") {
23065
- const { antonStatus } = await import("./anton-CoGaJdTU.js");
23065
+ const { antonStatus } = await import("./anton-Dn_Pc4P0.js");
23066
23066
  const lines = [];
23067
23067
  await antonStatus({
23068
23068
  log: (msg) => lines.push(msg),
@@ -23078,7 +23078,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23078
23078
  return { shouldContinue: false };
23079
23079
  }
23080
23080
  if (arg === "stop") {
23081
- const { antonStop } = await import("./anton-CoGaJdTU.js");
23081
+ const { antonStop } = await import("./anton-Dn_Pc4P0.js");
23082
23082
  const lines = [];
23083
23083
  await antonStop({
23084
23084
  log: (msg) => lines.push(msg),
@@ -23116,8 +23116,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23116
23116
  await sendProgress(replyCtx, text);
23117
23117
  return { shouldContinue: false };
23118
23118
  }
23119
- const { runAnton, formatProgressMessage } = await import("./anton-CoGaJdTU.js");
23120
- const { createDefaultDeps } = await import("./deps-B4J8H6nI.js").then((n) => n.n);
23119
+ const { runAnton, formatProgressMessage } = await import("./anton-Dn_Pc4P0.js");
23120
+ const { createDefaultDeps } = await import("./deps-CnUuBleG.js").then((n) => n.n);
23121
23121
  const { createNonExitingRuntime } = await import("./runtime-8mi3mpYB.js").then((n) => n.r);
23122
23122
  const runtime = createNonExitingRuntime();
23123
23123
  const deps = createDefaultDeps();
@@ -23214,8 +23214,8 @@ const handleDirCommand = async (params, _allowTextCommands) => {
23214
23214
  }
23215
23215
  try {
23216
23216
  if (params.sessionKey) {
23217
- const { updateSessionStoreEntry } = await import("./sessions-3ioSeOA1.js").then((n) => n.u);
23218
- const { resolveDefaultSessionStorePath } = await import("./paths-D_qUel1T.js").then((n) => n.n);
23217
+ const { updateSessionStoreEntry } = await import("./sessions-DRA4oaxz.js").then((n) => n.u);
23218
+ const { resolveDefaultSessionStorePath } = await import("./paths-D3p7ZvM6.js").then((n) => n.n);
23219
23219
  await updateSessionStoreEntry({
23220
23220
  storePath: params.storePath ?? resolveDefaultSessionStorePath(),
23221
23221
  sessionKey: params.sessionKey,
@@ -23404,7 +23404,7 @@ function resolveRepoRoot(params) {
23404
23404
  const configured = params.config?.agents?.defaults?.repoRoot?.trim();
23405
23405
  if (configured) try {
23406
23406
  const resolved = path.resolve(configured);
23407
- if (syncFs.statSync(resolved).isDirectory()) return resolved;
23407
+ if (fs$1.statSync(resolved).isDirectory()) return resolved;
23408
23408
  } catch {}
23409
23409
  const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
23410
23410
  const seen = /* @__PURE__ */ new Set();
@@ -24176,7 +24176,7 @@ async function buildContextReply(params) {
24176
24176
  //#region src/auto-reply/reply/commands-export-session.ts
24177
24177
  const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
24178
24178
  function loadTemplate(fileName) {
24179
- return syncFs.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24179
+ return fs$1.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24180
24180
  }
24181
24181
  function generateHtml(sessionData) {
24182
24182
  const template = loadTemplate("template.html");
@@ -24250,7 +24250,7 @@ async function buildExportSessionReply(params) {
24250
24250
  } catch (err) {
24251
24251
  return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
24252
24252
  }
24253
- if (!syncFs.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
24253
+ if (!fs$1.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
24254
24254
  const sessionManager = SessionManager.open(sessionFile);
24255
24255
  const entries = sessionManager.getEntries();
24256
24256
  const header = sessionManager.getHeader();
@@ -24271,8 +24271,8 @@ async function buildExportSessionReply(params) {
24271
24271
  const defaultFileName = `idlehands-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
24272
24272
  const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
24273
24273
  const outputDir = path.dirname(outputPath);
24274
- if (!syncFs.existsSync(outputDir)) syncFs.mkdirSync(outputDir, { recursive: true });
24275
- syncFs.writeFileSync(outputPath, html, "utf-8");
24274
+ if (!fs$1.existsSync(outputDir)) fs$1.mkdirSync(outputDir, { recursive: true });
24275
+ fs$1.writeFileSync(outputPath, html, "utf-8");
24276
24276
  const relativePath = path.relative(params.workspaceDir, outputPath);
24277
24277
  return { text: [
24278
24278
  "✅ Session exported!",
@@ -24447,8 +24447,8 @@ function resolveZaiApiKey() {
24447
24447
  }
24448
24448
  try {
24449
24449
  const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
24450
- if (!syncFs.existsSync(authPath)) return;
24451
- const data = JSON.parse(syncFs.readFileSync(authPath, "utf-8"));
24450
+ if (!fs$1.existsSync(authPath)) return;
24451
+ const data = JSON.parse(fs$1.readFileSync(authPath, "utf-8"));
24452
24452
  return data["z-ai"]?.access || data.zai?.access;
24453
24453
  } catch {
24454
24454
  return;
@@ -26211,7 +26211,7 @@ function shouldPersistAnyBindingState() {
26211
26211
  }
26212
26212
  function shouldPersistBindingMutations() {
26213
26213
  if (shouldPersistAnyBindingState()) return true;
26214
- return syncFs.existsSync(resolveThreadBindingsPath());
26214
+ return fs$1.existsSync(resolveThreadBindingsPath());
26215
26215
  }
26216
26216
  function saveBindingsToDisk(params = {}) {
26217
26217
  if (!params.force && !shouldPersistAnyBindingState()) return;
@@ -27475,7 +27475,7 @@ const applyCostTotal = (totals, costTotal) => {
27475
27475
  totals.totalCost += costTotal;
27476
27476
  };
27477
27477
  async function* readJsonlRecords(filePath) {
27478
- const fileStream = syncFs.createReadStream(filePath, { encoding: "utf-8" });
27478
+ const fileStream = fs$1.createReadStream(filePath, { encoding: "utf-8" });
27479
27479
  const rl = readline.createInterface({
27480
27480
  input: fileStream,
27481
27481
  crlfDelay: Infinity
@@ -27547,10 +27547,10 @@ async function loadCostUsageSummary(params) {
27547
27547
  const dailyMap = /* @__PURE__ */ new Map();
27548
27548
  const totals = emptyTotals();
27549
27549
  const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
27550
- const entries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
27550
+ const entries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
27551
27551
  const files = (await Promise.all(entries.filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map(async (entry) => {
27552
27552
  const filePath = path.join(sessionsDir, entry.name);
27553
- const stats = await syncFs.promises.stat(filePath).catch(() => null);
27553
+ const stats = await fs$1.promises.stat(filePath).catch(() => null);
27554
27554
  if (!stats) return null;
27555
27555
  if (stats.mtimeMs < sinceTime) return null;
27556
27556
  return filePath;
@@ -27583,7 +27583,7 @@ async function loadCostUsageSummary(params) {
27583
27583
  }
27584
27584
  async function loadSessionCostSummary(params) {
27585
27585
  const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
27586
- if (!sessionFile || !syncFs.existsSync(sessionFile)) return null;
27586
+ if (!sessionFile || !fs$1.existsSync(sessionFile)) return null;
27587
27587
  const totals = emptyTotals();
27588
27588
  let firstActivity;
27589
27589
  let lastActivity;
@@ -29900,7 +29900,7 @@ async function createModelSelectionState(params) {
29900
29900
  }
29901
29901
  }
29902
29902
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
29903
- const { ensureAuthProfileStore } = await import("./model-selection-1MMYqY6M.js").then((n) => n.O);
29903
+ const { ensureAuthProfileStore } = await import("./model-selection-C5hI1dum.js").then((n) => n.O);
29904
29904
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
29905
29905
  const providerKey = normalizeProviderId(provider);
29906
29906
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -33422,7 +33422,7 @@ function asBoolean(value) {
33422
33422
  }
33423
33423
  function resolveTempPathParts(opts) {
33424
33424
  const tmpDir = opts.tmpDir ?? resolvePreferredIdleHandsTmpDir();
33425
- if (!opts.tmpDir) syncFs.mkdirSync(tmpDir, {
33425
+ if (!opts.tmpDir) fs$1.mkdirSync(tmpDir, {
33426
33426
  recursive: true,
33427
33427
  mode: 448
33428
33428
  });
@@ -33488,7 +33488,7 @@ async function writeUrlToFile(filePath, url) {
33488
33488
  if (typeof contentLength === "number" && Number.isFinite(contentLength) && contentLength > MAX_CAMERA_URL_DOWNLOAD_BYTES) throw new Error(`writeUrlToFile: content-length ${contentLength} exceeds max ${MAX_CAMERA_URL_DOWNLOAD_BYTES}`);
33489
33489
  const body = res.body;
33490
33490
  if (!body) throw new Error(`failed to download ${url}: empty response body`);
33491
- const fileHandle = await fs$1.open(filePath, "w");
33491
+ const fileHandle = await fs$2.open(filePath, "w");
33492
33492
  let bytes = 0;
33493
33493
  let thrown;
33494
33494
  try {
@@ -33507,7 +33507,7 @@ async function writeUrlToFile(filePath, url) {
33507
33507
  await fileHandle.close();
33508
33508
  }
33509
33509
  if (thrown) {
33510
- await fs$1.unlink(filePath).catch(() => {});
33510
+ await fs$2.unlink(filePath).catch(() => {});
33511
33511
  throw thrown;
33512
33512
  }
33513
33513
  return {
@@ -33517,7 +33517,7 @@ async function writeUrlToFile(filePath, url) {
33517
33517
  }
33518
33518
  async function writeBase64ToFile(filePath, base64) {
33519
33519
  const buf = Buffer.from(base64, "base64");
33520
- await fs$1.writeFile(filePath, buf);
33520
+ await fs$2.writeFile(filePath, buf);
33521
33521
  return {
33522
33522
  path: filePath,
33523
33523
  bytes: buf.length
@@ -36362,9 +36362,9 @@ function loadExternalCatalogEntries(options) {
36362
36362
  const entries = [];
36363
36363
  for (const rawPath of paths) {
36364
36364
  const resolved = resolveUserPath(rawPath);
36365
- if (!syncFs.existsSync(resolved)) continue;
36365
+ if (!fs$1.existsSync(resolved)) continue;
36366
36366
  try {
36367
- const payload = JSON.parse(syncFs.readFileSync(resolved, "utf-8"));
36367
+ const payload = JSON.parse(fs$1.readFileSync(resolved, "utf-8"));
36368
36368
  entries.push(...parseCatalogEntries(payload));
36369
36369
  } catch {}
36370
36370
  }
@@ -39580,7 +39580,7 @@ function listExistingAgentIdsFromDisk() {
39580
39580
  const root = resolveStateDir();
39581
39581
  const agentsDir = path.join(root, "agents");
39582
39582
  try {
39583
- return syncFs.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
39583
+ return fs$1.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
39584
39584
  } catch {
39585
39585
  return [];
39586
39586
  }
@@ -45425,7 +45425,7 @@ async function runAgentTurnWithFallback(params) {
45425
45425
  if (corruptedSessionId) {
45426
45426
  const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
45427
45427
  try {
45428
- syncFs.unlinkSync(transcriptPath);
45428
+ fs$1.unlinkSync(transcriptPath);
45429
45429
  } catch {}
45430
45430
  }
45431
45431
  delete params.activeSessionStore[sessionKey];
@@ -46160,9 +46160,9 @@ function auditPostCompactionReads(readFilePaths, workspaceDir, requiredReads = D
46160
46160
  * Returns messages from the last N lines (default 100).
46161
46161
  */
46162
46162
  function readSessionMessages(sessionFile, maxLines = 100) {
46163
- if (!syncFs.existsSync(sessionFile)) return [];
46163
+ if (!fs$1.existsSync(sessionFile)) return [];
46164
46164
  try {
46165
- const recentLines = syncFs.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
46165
+ const recentLines = fs$1.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
46166
46166
  const messages = [];
46167
46167
  for (const line of recentLines) try {
46168
46168
  const entry = JSON.parse(line);
@@ -46203,8 +46203,8 @@ const MAX_CONTEXT_CHARS = 3e3;
46203
46203
  async function readPostCompactionContext(workspaceDir) {
46204
46204
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
46205
46205
  try {
46206
- if (!syncFs.existsSync(agentsPath)) return null;
46207
- const sections = extractSections(await syncFs.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
46206
+ if (!fs$1.existsSync(agentsPath)) return null;
46207
+ const sections = extractSections(await fs$1.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
46208
46208
  if (sections.length === 0) return null;
46209
46209
  const combined = sections.join("\n\n");
46210
46210
  return "[Post-compaction context refresh]\n\nSession was just compacted. The conversation summary above is a hint, NOT a substitute for your startup sequence. Execute your Session Startup sequence now — read the required files before responding to the user.\n\nCritical rules from AGENTS.md:\n\n" + (combined.length > MAX_CONTEXT_CHARS ? combined.slice(0, MAX_CONTEXT_CHARS) + "\n...[truncated]..." : combined);
@@ -46438,7 +46438,7 @@ async function runReplyAgent(params) {
46438
46438
  if (resolved) transcriptCandidates.add(resolved);
46439
46439
  transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
46440
46440
  for (const candidate of transcriptCandidates) try {
46441
- syncFs.unlinkSync(candidate);
46441
+ fs$1.unlinkSync(candidate);
46442
46442
  } catch {}
46443
46443
  }
46444
46444
  return true;
@@ -47429,7 +47429,7 @@ async function deliverSessionMaintenanceWarning(params) {
47429
47429
  return;
47430
47430
  }
47431
47431
  try {
47432
- const { deliverOutboundPayloads } = await import("./deliver-BUiQ-9fE.js").then((n) => n.n);
47432
+ const { deliverOutboundPayloads } = await import("./deliver-Db2xqgLg.js").then((n) => n.n);
47433
47433
  const outboundSession = buildOutboundSessionContext({
47434
47434
  cfg: params.cfg,
47435
47435
  sessionKey: params.sessionKey
@@ -47486,7 +47486,7 @@ function forkSessionFromParent(params) {
47486
47486
  agentId: params.agentId,
47487
47487
  sessionsDir: params.sessionsDir
47488
47488
  });
47489
- if (!parentSessionFile || !syncFs.existsSync(parentSessionFile)) return null;
47489
+ if (!parentSessionFile || !fs$1.existsSync(parentSessionFile)) return null;
47490
47490
  try {
47491
47491
  const manager = SessionManager.open(parentSessionFile);
47492
47492
  const leafId = manager.getLeafId();
@@ -47510,7 +47510,7 @@ function forkSessionFromParent(params) {
47510
47510
  cwd: manager.getCwd(),
47511
47511
  parentSession: parentSessionFile
47512
47512
  };
47513
- syncFs.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
47513
+ fs$1.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
47514
47514
  return {
47515
47515
  sessionId,
47516
47516
  sessionFile
@@ -51865,7 +51865,7 @@ async function describeStickerImage(params) {
51865
51865
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
51866
51866
  try {
51867
51867
  const buffer = await fs.readFile(imagePath);
51868
- const { describeImageWithModel } = await import("./image-D8b_rlQC.js").then((n) => n.n);
51868
+ const { describeImageWithModel } = await import("./image-Dlu13Ebx.js").then((n) => n.n);
51869
51869
  return (await describeImageWithModel({
51870
51870
  buffer,
51871
51871
  fileName: "sticker.webp",
@@ -52319,7 +52319,7 @@ function createWhatsAppLoginTool() {
52319
52319
  force: Type.Optional(Type.Boolean())
52320
52320
  }),
52321
52321
  execute: async (_toolCallId, args) => {
52322
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CFFFOjOl.js");
52322
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-C17PY0rr.js");
52323
52323
  if ((args?.action ?? "start") === "wait") {
52324
52324
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
52325
52325
  return {
@@ -52606,7 +52606,7 @@ async function withMemoryManagerForAgent(params) {
52606
52606
  }
52607
52607
  async function checkReadableFile(pathname) {
52608
52608
  try {
52609
- await fs.access(pathname, syncFs.constants.R_OK);
52609
+ await fs.access(pathname, fs$1.constants.R_OK);
52610
52610
  return { exists: true };
52611
52611
  } catch (err) {
52612
52612
  const code = err.code;
@@ -52665,7 +52665,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
52665
52665
  }
52666
52666
  let dirReadable = null;
52667
52667
  try {
52668
- await fs.access(memoryDir, syncFs.constants.R_OK);
52668
+ await fs.access(memoryDir, fs$1.constants.R_OK);
52669
52669
  dirReadable = true;
52670
52670
  } catch (err) {
52671
52671
  const code = err.code;
@@ -54793,7 +54793,7 @@ async function preflightDiscordMessage(params) {
54793
54793
  let preflightTranscript;
54794
54794
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
54795
54795
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
54796
- const { transcribeFirstAudio } = await import("./audio-preflight-CW8IH1lU.js");
54796
+ const { transcribeFirstAudio } = await import("./audio-preflight-qkU2lsDn.js");
54797
54797
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
54798
54798
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
54799
54799
  ctx: {
@@ -56375,7 +56375,7 @@ function identityHasValues(identity) {
56375
56375
  }
56376
56376
  function loadIdentityFromFile(identityPath) {
56377
56377
  try {
56378
- const parsed = parseIdentityMarkdown(syncFs.readFileSync(identityPath, "utf-8"));
56378
+ const parsed = parseIdentityMarkdown(fs$1.readFileSync(identityPath, "utf-8"));
56379
56379
  if (!identityHasValues(parsed)) return null;
56380
56380
  return parsed;
56381
56381
  } catch {
@@ -56399,7 +56399,7 @@ function resolveAvatarSource(cfg, agentId) {
56399
56399
  }
56400
56400
  function resolveExistingPath(value) {
56401
56401
  try {
56402
- return syncFs.realpathSync(value);
56402
+ return fs$1.realpathSync(value);
56403
56403
  } catch {
56404
56404
  return path.resolve(value);
56405
56405
  }
@@ -56417,7 +56417,7 @@ function resolveLocalAvatarPath(params) {
56417
56417
  reason: "unsupported_extension"
56418
56418
  };
56419
56419
  try {
56420
- const stat = syncFs.statSync(realPath);
56420
+ const stat = fs$1.statSync(realPath);
56421
56421
  if (!stat.isFile()) return {
56422
56422
  ok: false,
56423
56423
  reason: "missing"
@@ -57270,9 +57270,9 @@ function createDiscordMessageHandler(params) {
57270
57270
  try {
57271
57271
  const messageText = resolveDiscordMessageText(data.message)?.trim();
57272
57272
  if (messageText) {
57273
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVO75pTD.js");
57273
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
57274
57274
  if (isAbortRequestText(messageText)) {
57275
- const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
57275
+ const { resolveAgentRoute } = await import("./resolve-route-ClcifpKn.js").then((n) => n.r);
57276
57276
  const channelId = resolveDiscordMessageChannelId({
57277
57277
  message: data.message,
57278
57278
  eventChannelId: data.channel_id
@@ -64768,9 +64768,9 @@ async function monitorIMessageProvider(opts = {}) {
64768
64768
  }
64769
64769
  const msgText = (message.text ?? "").trim();
64770
64770
  if (msgText) {
64771
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVO75pTD.js");
64771
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
64772
64772
  if (isAbortRequestText(msgText)) {
64773
- const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
64773
+ const { resolveAgentRoute } = await import("./resolve-route-ClcifpKn.js").then((n) => n.r);
64774
64774
  const route = resolveAgentRoute({
64775
64775
  cfg,
64776
64776
  channel: "imessage",
@@ -64851,7 +64851,7 @@ async function monitorIMessageProvider(opts = {}) {
64851
64851
  function readFileIfExists(filePath) {
64852
64852
  if (!filePath) return;
64853
64853
  try {
64854
- return syncFs.readFileSync(filePath, "utf-8").trim();
64854
+ return fs$1.readFileSync(filePath, "utf-8").trim();
64855
64855
  } catch {
64856
64856
  return;
64857
64857
  }
@@ -65427,7 +65427,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
65427
65427
  prefix: "line-media",
65428
65428
  extension: getExtensionForContentType(contentType)
65429
65429
  });
65430
- await syncFs.promises.writeFile(filePath, buffer);
65430
+ await fs$1.promises.writeFile(filePath, buffer);
65431
65431
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
65432
65432
  return {
65433
65433
  path: filePath,
@@ -67379,9 +67379,9 @@ function createSignalEventHandler(deps) {
67379
67379
  const senderName = envelope.sourceName ?? senderDisplay;
67380
67380
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
67381
67381
  if (bodyText) {
67382
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVO75pTD.js");
67382
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
67383
67383
  if (isAbortRequestText(bodyText)) {
67384
- const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
67384
+ const { resolveAgentRoute } = await import("./resolve-route-ClcifpKn.js").then((n) => n.r);
67385
67385
  const route = resolveAgentRoute({
67386
67386
  cfg: deps.cfg,
67387
67387
  channel: "signal",
@@ -70761,9 +70761,9 @@ function createSlackMessageHandler(params) {
70761
70761
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
70762
70762
  const rawText = (message.text ?? "").trim();
70763
70763
  if (rawText) {
70764
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVO75pTD.js");
70764
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
70765
70765
  if (isAbortRequestText(rawText)) {
70766
- const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
70766
+ const { resolveAgentRoute } = await import("./resolve-route-ClcifpKn.js").then((n) => n.r);
70767
70767
  const route = resolveAgentRoute({
70768
70768
  cfg: ctx.cfg,
70769
70769
  channel: "slack",
@@ -70883,7 +70883,7 @@ function readSlackExternalArgMenuToken(raw) {
70883
70883
  }
70884
70884
  let commandsRegistry;
70885
70885
  async function getCommandsRegistry() {
70886
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-j4vAzcF2.js").then((n) => n.n);
70886
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-_TBHHpvt.js").then((n) => n.n);
70887
70887
  return commandsRegistry;
70888
70888
  }
70889
70889
  function encodeSlackCommandArgValue(parts) {
@@ -71207,14 +71207,14 @@ async function registerSlackMonitorSlashCommands(params) {
71207
71207
  const channelName = channelInfo?.name;
71208
71208
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
71209
71209
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
71210
- import("./resolve-route-DuttYY7A.js").then((n) => n.r),
71210
+ import("./resolve-route-ClcifpKn.js").then((n) => n.r),
71211
71211
  import("./inbound-context-BYczzTII.js").then((n) => n.n),
71212
71212
  Promise.resolve().then(() => provider_dispatcher_exports)
71213
71213
  ]);
71214
71214
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
71215
71215
  import("./conversation-label-1Wad2kXc.js").then((n) => n.t),
71216
- import("./reply-prefix-BUgeSN2R.js").then((n) => n.n),
71217
- import("./sessions-3ioSeOA1.js").then((n) => n.t)
71216
+ import("./reply-prefix-DCljZiIB.js").then((n) => n.n),
71217
+ import("./sessions-DRA4oaxz.js").then((n) => n.t)
71218
71218
  ]);
71219
71219
  const route = resolveAgentRoute({
71220
71220
  cfg,
@@ -71282,9 +71282,9 @@ async function registerSlackMonitorSlashCommands(params) {
71282
71282
  });
71283
71283
  const deliverSlashPayloads = async (replies) => {
71284
71284
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
71285
- import("./replies-6_GxvQYe.js").then((n) => n.r),
71286
- import("./chunk-CMpX7Jaz.js").then((n) => n.s),
71287
- import("./markdown-tables-CzsockiZ.js").then((n) => n.t)
71285
+ import("./replies-2C16fnBP.js").then((n) => n.r),
71286
+ import("./chunk-Djk-9JeT.js").then((n) => n.s),
71287
+ import("./markdown-tables-R8VTpfE9.js").then((n) => n.t)
71288
71288
  ]);
71289
71289
  await deliverSlackSlashReplies({
71290
71290
  replies,
@@ -71337,7 +71337,7 @@ async function registerSlackMonitorSlashCommands(params) {
71337
71337
  let nativeCommands = [];
71338
71338
  if (nativeEnabled) {
71339
71339
  reg = await getCommandsRegistry();
71340
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Ck3flWX7.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71340
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BHTBXXVn.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71341
71341
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
71342
71342
  skillCommands,
71343
71343
  provider: "slack"
@@ -72955,7 +72955,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
72955
72955
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
72956
72956
  const text = typeof msg.text === "string" ? msg.text : void 0;
72957
72957
  if (text) {
72958
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-CVO75pTD.js");
72958
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
72959
72959
  if (isAbortRequestText(text)) {
72960
72960
  const senderId = msg.from?.id ? String(msg.from.id) : "";
72961
72961
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -73842,7 +73842,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
73842
73842
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
73843
73843
  let preflightTranscript;
73844
73844
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
73845
- const { transcribeFirstAudio } = await import("./audio-preflight-CW8IH1lU.js");
73845
+ const { transcribeFirstAudio } = await import("./audio-preflight-qkU2lsDn.js");
73846
73846
  preflightTranscript = await transcribeFirstAudio({
73847
73847
  ctx: {
73848
73848
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76428,23 +76428,23 @@ let webLoginQrPromise = null;
76428
76428
  let webChannelPromise = null;
76429
76429
  let whatsappActionsPromise = null;
76430
76430
  function loadWebOutbound() {
76431
- webOutboundPromise ??= import("./outbound-BNh6PpQb.js").then((n) => n.t);
76431
+ webOutboundPromise ??= import("./outbound-CdY_AskB.js").then((n) => n.t);
76432
76432
  return webOutboundPromise;
76433
76433
  }
76434
76434
  function loadWebLogin() {
76435
- webLoginPromise ??= import("./login-CFr5vJmR.js").then((n) => n.n);
76435
+ webLoginPromise ??= import("./login-C2X0In6m.js").then((n) => n.n);
76436
76436
  return webLoginPromise;
76437
76437
  }
76438
76438
  function loadWebLoginQr() {
76439
- webLoginQrPromise ??= import("./login-qr-CFFFOjOl.js");
76439
+ webLoginQrPromise ??= import("./login-qr-C17PY0rr.js");
76440
76440
  return webLoginQrPromise;
76441
76441
  }
76442
76442
  function loadWebChannel() {
76443
- webChannelPromise ??= import("./web-NzOJcvWO.js");
76443
+ webChannelPromise ??= import("./web-CNowaS6B.js");
76444
76444
  return webChannelPromise;
76445
76445
  }
76446
76446
  function loadWhatsAppActions() {
76447
- whatsappActionsPromise ??= import("./whatsapp-actions-DbPcN6JQ.js");
76447
+ whatsappActionsPromise ??= import("./whatsapp-actions-BJ6kVDXi.js");
76448
76448
  return whatsappActionsPromise;
76449
76449
  }
76450
76450
  function createPluginRuntime() {
@@ -76674,7 +76674,7 @@ const resolvePluginSdkAliasFile = (params) => {
76674
76674
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
76675
76675
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
76676
76676
  const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
76677
- for (const candidate of orderedCandidates) if (syncFs.existsSync(candidate)) return candidate;
76677
+ for (const candidate of orderedCandidates) if (fs$1.existsSync(candidate)) return candidate;
76678
76678
  const parent = path.dirname(cursor);
76679
76679
  if (parent === cursor) break;
76680
76680
  cursor = parent;
@@ -77012,7 +77012,7 @@ function loadIdleHandsPlugins(options = {}) {
77012
77012
  continue;
77013
77013
  }
77014
77014
  const safeSource = opened.path;
77015
- syncFs.closeSync(opened.fd);
77015
+ fs$1.closeSync(opened.fd);
77016
77016
  let mod = null;
77017
77017
  try {
77018
77018
  mod = getJiti()(safeSource);
@@ -77149,7 +77149,7 @@ function loadIdleHandsPlugins(options = {}) {
77149
77149
  }
77150
77150
  function safeRealpathOrResolve(value) {
77151
77151
  try {
77152
- return syncFs.realpathSync(value);
77152
+ return fs$1.realpathSync(value);
77153
77153
  } catch {
77154
77154
  return path.resolve(value);
77155
77155
  }
@@ -77513,9 +77513,9 @@ function resolvePatchFileOps(options) {
77513
77513
  });
77514
77514
  assertBoundaryRead(opened, filePath);
77515
77515
  try {
77516
- return syncFs.readFileSync(opened.fd, "utf8");
77516
+ return fs$1.readFileSync(opened.fd, "utf8");
77517
77517
  } finally {
77518
- syncFs.closeSync(opened.fd);
77518
+ fs$1.closeSync(opened.fd);
77519
77519
  }
77520
77520
  },
77521
77521
  writeFile: async (filePath, content) => {
@@ -77817,7 +77817,7 @@ async function recordLoopOutcome(args) {
77817
77817
  if (!args.ctx?.sessionKey) return;
77818
77818
  try {
77819
77819
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BGF2r-kt.js").then((n) => n.n);
77820
- const { recordToolCallOutcome } = await import("./tool-loop-detection-BNGetx3Z.js");
77820
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-CjWRg_4q.js");
77821
77821
  recordToolCallOutcome(getDiagnosticSessionState({
77822
77822
  sessionKey: args.ctx.sessionKey,
77823
77823
  sessionId: args.ctx?.agentId
@@ -77838,8 +77838,8 @@ async function runBeforeToolCallHook(args) {
77838
77838
  const params = args.params;
77839
77839
  if (args.ctx?.sessionKey) {
77840
77840
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BGF2r-kt.js").then((n) => n.n);
77841
- const { logToolLoopAction } = await import("./diagnostic-4owMk4vH.js").then((n) => n.n);
77842
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BNGetx3Z.js");
77841
+ const { logToolLoopAction } = await import("./diagnostic-BvlZ0Sot.js").then((n) => n.n);
77842
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-CjWRg_4q.js");
77843
77843
  const sessionState = getDiagnosticSessionState({
77844
77844
  sessionKey: args.ctx.sessionKey,
77845
77845
  sessionId: args.ctx?.agentId
@@ -80605,8 +80605,8 @@ async function readWorkspaceContextForSummary() {
80605
80605
  const workspaceDir = process.cwd();
80606
80606
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
80607
80607
  try {
80608
- if (!syncFs.existsSync(agentsPath)) return "";
80609
- const sections = extractSections(await syncFs.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
80608
+ if (!fs$1.existsSync(agentsPath)) return "";
80609
+ const sections = extractSections(await fs$1.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
80610
80610
  if (sections.length === 0) return "";
80611
80611
  const combined = sections.join("\n\n");
80612
80612
  return `\n\n<workspace-critical-rules>\n${combined.length > MAX_SUMMARY_CONTEXT_CHARS ? combined.slice(0, MAX_SUMMARY_CONTEXT_CHARS) + "\n...[truncated]..." : combined}\n</workspace-critical-rules>`;
@@ -81974,7 +81974,7 @@ async function compactEmbeddedPiSessionDirect(params) {
81974
81974
  if (!apiKeyInfo.apiKey) {
81975
81975
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
81976
81976
  } else if (model.provider === "github-copilot") {
81977
- const { resolveCopilotApiToken } = await import("./github-copilot-token-Dgt6cnsM.js").then((n) => n.n);
81977
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-BjmEQcmi.js").then((n) => n.n);
81978
81978
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
81979
81979
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
81980
81980
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -83394,11 +83394,11 @@ function appendRawStream(payload) {
83394
83394
  if (!rawStreamReady) {
83395
83395
  rawStreamReady = true;
83396
83396
  try {
83397
- syncFs.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
83397
+ fs$1.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
83398
83398
  } catch {}
83399
83399
  }
83400
83400
  try {
83401
- syncFs.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
83401
+ fs$1.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
83402
83402
  } catch {}
83403
83403
  }
83404
83404
 
@@ -87001,7 +87001,7 @@ async function runEmbeddedPiAgent(params) {
87001
87001
  return;
87002
87002
  }
87003
87003
  if (model.provider === "github-copilot") {
87004
- const { resolveCopilotApiToken } = await import("./github-copilot-token-Dgt6cnsM.js").then((n) => n.n);
87004
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-BjmEQcmi.js").then((n) => n.n);
87005
87005
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
87006
87006
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
87007
87007
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);