@visorcraft/idlehands 4.2.3 → 4.2.5

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 (409) hide show
  1. package/dist/{accounts-B4A5mL3Y.js → accounts-3HS_UAhJ.js} +1 -1
  2. package/dist/{accounts-B8cGzkjD.js → accounts-BDVs8LTu.js} +1 -1
  3. package/dist/{accounts-D5tB_lO0.js → accounts-CIvVRRHb.js} +1 -1
  4. package/dist/{accounts-CbaEMSlt.js → accounts-DLTODa_Z.js} +2 -2
  5. package/dist/{accounts-VbtNKne6.js → accounts-DgbTKQoW.js} +1 -1
  6. package/dist/{accounts-BQC_GRUB.js → accounts-Dk8mJIrQ.js} +6 -6
  7. package/dist/{acp-cli-BF3FD1qw.js → acp-cli-BEpWQbqb.js} +12 -12
  8. package/dist/{agent-scope-Bxq1eWbA.js → agent-scope-DyP_tr7s.js} +4 -4
  9. package/dist/{agent-scope-DbNnv10G.js → agent-scope-RA0zXRpu.js} +3 -3
  10. package/dist/{agent-via-gateway-BtMWCqx4.js → agent-via-gateway-Bhon8XVm.js} +7 -7
  11. package/dist/{agent-via-gateway-BN0HMYd7.js → agent-via-gateway-CS-8ChjV.js} +1 -1
  12. package/dist/{agent-via-gateway-BsTP4WyI.js → agent-via-gateway-DVTkXwmI.js} +60 -60
  13. package/dist/{agent-via-gateway-9aP1U_YQ.js → agent-via-gateway-Drygi4ty.js} +6 -6
  14. package/dist/{agents-Bitc3LDE.js → agents-dNuQ9qUa.js} +4 -4
  15. package/dist/{agents.config-DmFqh5v8.js → agents.config-B_6rOTVW.js} +1 -1
  16. package/dist/{agents.config-DLjDlH4M.js → agents.config-DCNsF8yj.js} +2 -2
  17. package/dist/{anton-C3Y_hYo3.js → anton-BmSsFmSP.js} +225 -41
  18. package/dist/{anton-Dn_Pc4P0.js → anton-Cw4-BgtA.js} +229 -45
  19. package/dist/{anton-CmB9XtGt.js → anton-D375-ufL.js} +226 -41
  20. package/dist/{anton-DqSQ27RK.js → anton-Di5VPZiI.js} +229 -44
  21. package/dist/{api-key-rotation-Bj8Q_8ST.js → api-key-rotation-B-FTJm5p.js} +2 -2
  22. package/dist/{audio-preflight-qkU2lsDn.js → audio-preflight-CW8IH1lU.js} +35 -35
  23. package/dist/{audio-preflight-BEe3Go6e.js → audio-preflight-Dl1TO10w.js} +41 -41
  24. package/dist/{audio-preflight-CSSlgO89.js → audio-preflight-vD3mDc6w.js} +4 -4
  25. package/dist/{audit-DjUOBxVB.js → audit-CKeZnjft.js} +21 -21
  26. package/dist/{auth-choice-BKDISagq.js → auth-choice-C8Tj46gd.js} +10 -10
  27. package/dist/{auth-choice-nFObMeHm.js → auth-choice-CYV4KLt7.js} +1 -1
  28. package/dist/{auth-choice-fHV4ZjtT.js → auth-choice-D12Wsf7w.js} +15 -15
  29. package/dist/{auth-choice.apply-helpers-fIm7h2DA.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  30. package/dist/{auth-DoNXQLDj.js → auth-heRVBxh2.js} +1 -1
  31. package/dist/{auth-store-Dqjgb5R1.js → auth-store-DDzIMy8_.js} +1 -1
  32. package/dist/{auth-store-Bb4aajHu.js → auth-store-DXT-l7fO.js} +12 -12
  33. package/dist/{auth-token-ChjRQYCt.js → auth-token-BJq87X3o.js} +2 -2
  34. package/dist/{banner-IB7Cylyq.js → banner-B7_rwm3P.js} +1 -1
  35. package/dist/{bindings-DorAphZu.js → bindings-B59Q7nsk.js} +2 -2
  36. package/dist/{bindings-CLZIJ0Eo.js → bindings-D3b5Fmc9.js} +2 -2
  37. package/dist/{bonjour-discovery-Yzgl5gfZ.js → bonjour-discovery-DMslm8Hx.js} +2 -2
  38. package/dist/{browser-cli-B8GEKR0p.js → browser-cli-Ci6DpTnS.js} +19 -19
  39. package/dist/build-info.json +3 -3
  40. package/dist/bundled/boot-md/handler.js +60 -60
  41. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  42. package/dist/bundled/command-logger/handler.js +3 -3
  43. package/dist/bundled/session-memory/handler.js +60 -60
  44. package/dist/{call-SK4sGwpN.js → call-BpWhjuOg.js} +4 -4
  45. package/dist/{channel-account-context-CBQ0TdW0.js → channel-account-context-CDbY5AIr.js} +1 -1
  46. package/dist/{channel-activity-D3e45uuU.js → channel-activity-D_TMOGQ0.js} +3 -3
  47. package/dist/{channel-activity-DdL3RAv_.js → channel-activity-DaCsrdWK.js} +3 -3
  48. package/dist/{channel-options-DcxOFxzU.js → channel-options-DTqGMcYU.js} +5 -5
  49. package/dist/{channel-options-B2LlZj0S.js → channel-options-Dxc1A5iC.js} +1 -1
  50. package/dist/{channel-selection-DLfBD-c0.js → channel-selection-ZxRkxpuF.js} +2 -2
  51. package/dist/{channel-web-XLD22Zzs.js → channel-web-BPlapQS3.js} +2 -2
  52. package/dist/{channel-web-Cu_AcYVB.js → channel-web-CgvDCMru.js} +26 -26
  53. package/dist/{channels-cli-DZWOS5d6.js → channels-cli-BfUIc52d.js} +7 -7
  54. package/dist/{channels-cli-BWMjEguK.js → channels-cli-k45uGu5k.js} +104 -104
  55. package/dist/{channels-status-issues-DMvYh1lV.js → channels-status-issues-CDpWjdI3.js} +1 -1
  56. package/dist/{chrome-Do5potHV.js → chrome-BcJB6PcM.js} +9 -9
  57. package/dist/{chrome-CT_a9OgI.js → chrome-DEnkfZ9p.js} +29 -29
  58. package/dist/{chrome-DeAzXWRb.js → chrome-VBsQfIrt.js} +4 -4
  59. package/dist/{chunk-Djk-9JeT.js → chunk-CMpX7Jaz.js} +1 -1
  60. package/dist/{chunk-DJjn34fF.js → chunk-ClMFHJu-.js} +1 -1
  61. package/dist/{clack-prompter-EMS8sO4h.js → clack-prompter-CvbZsmjW.js} +5 -5
  62. package/dist/{clawbot-cli-B8qqplom.js → clawbot-cli-uFgYrysW.js} +9 -9
  63. package/dist/cli/daemon-cli.js +1 -1
  64. package/dist/cli-BapK2rdH.js +162 -0
  65. package/dist/{cli-Bq5b8f58.js → cli-C6GCCnET.js} +2 -2
  66. package/dist/{client-Cagiy1nE.js → client-DtnD-ee9.js} +2 -2
  67. package/dist/{clipboard-BqjWohVl.js → clipboard-LsW7H0Y8.js} +1 -1
  68. package/dist/{command-registry-CeIfSw9l.js → command-registry-DJb9jSNL.js} +10 -10
  69. package/dist/{commands-5UqnjBKV.js → commands-Dj5LalLo.js} +2 -2
  70. package/dist/{commands-registry-C1lIoXkL.js → commands-registry-CURlRZQJ.js} +5 -5
  71. package/dist/{commands-registry-_TBHHpvt.js → commands-registry-j4vAzcF2.js} +5 -5
  72. package/dist/{completion-cli-Dh0MVQJ6.js → completion-cli-BXA0UZAn.js} +2 -2
  73. package/dist/{completion-cli-ClOKco1N.js → completion-cli-DqJEZMJt.js} +4 -4
  74. package/dist/{config-cli-BaNTuQ52.js → config-cli-97SkUuuT.js} +13 -13
  75. package/dist/{config-cli-CpgR8c8d.js → config-cli-BfaVUsj-.js} +1 -1
  76. package/dist/{config-guard-DwTygT00.js → config-guard-BdsOumqh.js} +23 -23
  77. package/dist/{config-validation-wUpXePGY.js → config-validation-BvKX6fPw.js} +2 -2
  78. package/dist/{configure-C4n13-o1.js → configure-CmTKkn3M.js} +21 -21
  79. package/dist/{configure-BfzLtTQH.js → configure-DpswIHZC.js} +3 -3
  80. package/dist/{control-ui-assets-CSrZ1shI.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  81. package/dist/{cron-cli-Den58QGF.js → cron-cli-DQsnGQKs.js} +17 -17
  82. package/dist/{daemon-cli-CpCtUgS2.js → daemon-cli-DUg-s4LG.js} +14 -14
  83. package/dist/{daemon-install-BPEEr5XM.js → daemon-install-CYPo4M1M.js} +8 -8
  84. package/dist/{deliver-BqJFyWu7.js → deliver--kttnrER.js} +10 -10
  85. package/dist/{deliver-whAbSPLk.js → deliver-5FLCa6tB.js} +1 -1
  86. package/dist/{deliver-Db2xqgLg.js → deliver-BUiQ-9fE.js} +20 -20
  87. package/dist/{deps-BH4bzzRD.js → deps-BV_-fxNb.js} +1 -1
  88. package/dist/{deps-CnUuBleG.js → deps-Bc5yBM-U.js} +6 -6
  89. package/dist/{deps-c-x2UBbd.js → deps-CDLYb9a7.js} +1 -1
  90. package/dist/{deps-CjvmCq-K.js → deps-IpeS3x5O.js} +6 -6
  91. package/dist/{devices-cli-HTdRxjTf.js → devices-cli-DKK65S9Z.js} +12 -12
  92. package/dist/{diagnostic-BvlZ0Sot.js → diagnostic-4owMk4vH.js} +1 -1
  93. package/dist/{diagnostic-ztHDqZ1m.js → diagnostic-BECJfEvH.js} +3 -3
  94. package/dist/{diagnostic-BUKW2Q0G.js → diagnostic-ByHpt6q8.js} +1 -1
  95. package/dist/{diagnostics-C2vxSb6v.js → diagnostics-DmZbQ8Nc.js} +1 -1
  96. package/dist/{directory-cli-BQDn6Qin.js → directory-cli-Dz9iXeut.js} +16 -16
  97. package/dist/{dns-cli-lwfJKGdv.js → dns-cli-DD6hWsdc.js} +10 -10
  98. package/dist/{dock-ejUetwTC.js → dock-BgOmHcbh.js} +6 -6
  99. package/dist/{dock-DpA6CUDJ.js → dock-Y96MzKuM.js} +6 -6
  100. package/dist/{docs-cli-Jnv5gp25.js → docs-cli-cHkrTB2e.js} +9 -9
  101. package/dist/{doctor-completion-BUUL91Dy.js → doctor-completion-BkS6Phs6.js} +2 -2
  102. package/dist/{doctor-completion-IIzctUix.js → doctor-completion-WFEPRjgs.js} +1 -1
  103. package/dist/{doctor-config-flow-DcxVJJvh.js → doctor-config-flow-Ck4oCjfl.js} +13 -13
  104. package/dist/{emergency-stop-Bg9a1fXU.js → emergency-stop-DKLc7AmD.js} +7 -7
  105. package/dist/{emergency-stop-CjxNr2he.js → emergency-stop-DMTHxdvC.js} +2 -2
  106. package/dist/emergency-stop-Dxp2e3a9.js +113 -0
  107. package/dist/emergency-stop-zy54uJoE.js +162 -0
  108. package/dist/{enable-ztZSnOGv.js → enable-o_s6PBsC.js} +2 -2
  109. package/dist/entry.js +1 -1
  110. package/dist/{env-q-PhWbb_.js → env-B5G1qwGc.js} +1 -1
  111. package/dist/{env-dMo-pLSc.js → env-Bx-F45X5.js} +1 -1
  112. package/dist/{errors-C4SHjIZK.js → errors-C_0nm4TJ.js} +1 -1
  113. package/dist/{errors-BNr2qnai.js → errors-DZDuPc3M.js} +1 -1
  114. package/dist/{exec-B9xbr2pN.js → exec-CKHMT0tZ.js} +2 -2
  115. package/dist/{exec-approvals-allowlist-BzsyDGgt.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  116. package/dist/{exec-approvals-cli-2SjGVbIm.js → exec-approvals-cli-D6XUzs4j.js} +21 -21
  117. package/dist/{exec-safe-bin-runtime-policy-bEV0LvVh.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  118. package/dist/extensionAPI.js +7 -7
  119. package/dist/{fetch-guard-CcfDZXe9.js → fetch-guard-iuQsIjqN.js} +1 -1
  120. package/dist/{fetch-guard-C-IWepjW.js → fetch-guard-yUZu1Vzc.js} +1 -1
  121. package/dist/{frontmatter-pTUG4Sx_.js → frontmatter-BOudmHMS.js} +2 -2
  122. package/dist/{frontmatter-x0EBRtDF.js → frontmatter-D-sQ_Hqk.js} +2 -2
  123. package/dist/{fs-safe-2l05hI1Y.js → fs-safe-CYUaAFO9.js} +2 -2
  124. package/dist/{gateway-cli-Bcamqq7Z.js → gateway-cli-E6DUzxEX.js} +9 -9
  125. package/dist/{gateway-cli-C2jOWbsN.js → gateway-cli-FNbwxOiN.js} +123 -123
  126. package/dist/{gateway-rpc-C_He5poS.js → gateway-rpc-BBFG1T-M.js} +3 -3
  127. package/dist/{gemini-auth-DLSGffQK.js → gemini-auth-CIyaa44H.js} +2 -2
  128. package/dist/{github-copilot-token-BjmEQcmi.js → github-copilot-token-Dgt6cnsM.js} +7 -7
  129. package/dist/{gmail-setup-utils-D1VrLZhD.js → gmail-setup-utils-DRJTQOMM.js} +3 -3
  130. package/dist/{health-3B8ANLz5.js → health-CGW71CVV.js} +15 -15
  131. package/dist/{health-BTU1dGHH.js → health-D60h_a2w.js} +1 -1
  132. package/dist/{health-format-CWIquyOr.js → health-format-Ba_hOaT2.js} +1 -1
  133. package/dist/{help-format-D7QsjOW4.js → help-format-CMAqOikG.js} +1 -1
  134. package/dist/{hooks-cli-BOc85-37.js → hooks-cli-BnVSeWIo.js} +3 -3
  135. package/dist/{hooks-cli-CdEcbqPF.js → hooks-cli-DaWPRdgZ.js} +93 -93
  136. package/dist/{hooks-status-BBvzI_rQ.js → hooks-status-DNGo2G8Q.js} +3 -3
  137. package/dist/{image-BAsQlUqT.js → image-C_aN5P6-.js} +1 -1
  138. package/dist/{image-Dlu13Ebx.js → image-D8b_rlQC.js} +6 -6
  139. package/dist/{image-BkrcRFPe.js → image-DSDEbSiO.js} +7 -7
  140. package/dist/{image-ops-CGnAhRRV.js → image-ops-BU-VdLZu.js} +1 -1
  141. package/dist/{image-ops-J8P5zOFm.js → image-ops-D1KtygWz.js} +1 -1
  142. package/dist/index.js +99 -99
  143. package/dist/{inspect-BOW-hTlT.js → inspect-ISQZuNM5.js} +1 -1
  144. package/dist/{installs-DGfrRYWX.js → installs-CNubze2L.js} +4 -4
  145. package/dist/{ir-BT5aAdU9.js → ir-B7IBoKLy.js} +5 -5
  146. package/dist/{ir-DBqjL1SG.js → ir-VncGpwA1.js} +4 -4
  147. package/dist/{lifecycle-core-DOL5vqsF.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  148. package/dist/{links-DIG3qrf5.js → links-15764jZB.js} +1 -1
  149. package/dist/llm-slug-generator.js +60 -60
  150. package/dist/{local-roots-d4y0lvs2.js → local-roots-KN4Hp1yZ.js} +5 -5
  151. package/dist/{local-roots-B-lmQdZs.js → local-roots-q0xbefkf.js} +4 -4
  152. package/dist/{logging-BK2fjjMe.js → logging-B0-9lotb.js} +1 -1
  153. package/dist/{login-C2X0In6m.js → login-CFr5vJmR.js} +6 -6
  154. package/dist/{login-BVf_DBja.js → login-CfUhrgWT.js} +6 -6
  155. package/dist/{login-qr-C17PY0rr.js → login-qr-CFFFOjOl.js} +11 -11
  156. package/dist/{login-qr-V1EwcFLt.js → login-qr-DBMsUxgL.js} +10 -10
  157. package/dist/{logs-cli-BgrYblUE.js → logs-cli-4VQ9Iwiw.js} +13 -13
  158. package/dist/{manager-CgzA1hKo.js → manager-BE_76jWB.js} +15 -15
  159. package/dist/{manager-DayGME0K.js → manager-BMAFgXyU.js} +10 -10
  160. package/dist/{manifest-registry-cOeAg4W6.js → manifest-registry-Bak1x76G.js} +2 -2
  161. package/dist/{markdown-tables-R8VTpfE9.js → markdown-tables-CzsockiZ.js} +1 -1
  162. package/dist/{markdown-tables-BQ8czvs_.js → markdown-tables-DZClqsNo.js} +1 -1
  163. package/dist/{memory-cli-D_bFq_Q1.js → memory-cli-CUGwnVIY.js} +12 -12
  164. package/dist/{message-channel-ZdI1-uUh.js → message-channel-C8QtrwEU.js} +1 -1
  165. package/dist/{message-channel-CRSTffWx.js → message-channel-DVauVtrg.js} +1 -1
  166. package/dist/{model-Di6JkHyx.js → model-C-icShH2.js} +2 -2
  167. package/dist/{model-catalog-D_KsCB5j.js → model-catalog-D9no0CH2.js} +4 -4
  168. package/dist/{model-picker-CM_QFlL4.js → model-picker-BkXoTOiA.js} +4 -4
  169. package/dist/{model-selection-Df4-bBn3.js → model-selection-0dGxYGp8.js} +12 -12
  170. package/dist/{model-selection-C5hI1dum.js → model-selection-1MMYqY6M.js} +41 -41
  171. package/dist/{models-CIS_OcjC.js → models-C1ouQF8k.js} +2 -2
  172. package/dist/{models-cli-6njz6jJl.js → models-cli-BhFUh61j.js} +4 -4
  173. package/dist/{models-cli-BS7pagh1.js → models-cli-CxEFLoMt.js} +98 -98
  174. package/dist/{models-config-zq6L0fug.js → models-config-C5A1wDWh.js} +2 -2
  175. package/dist/{node-cli-PVcj1bnA.js → node-cli-BYzjxmUY.js} +33 -33
  176. package/dist/{node-service-IG3YtMJq.js → node-service-C3vyxHLA.js} +1 -1
  177. package/dist/{nodes-cli-DKj4NkKf.js → nodes-cli-kNOtp0U0.js} +21 -21
  178. package/dist/{nodes-screen-CK0vmyQx.js → nodes-screen-CcpPaFxa.js} +1 -1
  179. package/dist/{note--5AAjfvH.js → note-69EfBEU-.js} +2 -2
  180. package/dist/{npm-registry-spec-B81IsQOs.js → npm-registry-spec-BCbbfIhX.js} +2 -2
  181. package/dist/{npm-resolution-CkpVYF4z.js → npm-resolution-D30nzRfu.js} +4 -4
  182. package/dist/{npm-resolution-DWXTcpqo.js → npm-resolution-Ds0qg1EX.js} +1 -1
  183. package/dist/{onboard-BYOBc47n.js → onboard-Cv6q6Usf.js} +9 -9
  184. package/dist/{onboard-b_mYsSas.js → onboard-NcA_odSQ.js} +2 -2
  185. package/dist/{onboard-channels-sslbndju.js → onboard-channels-C1E5DpTR.js} +17 -17
  186. package/dist/{onboard-channels-CzB1oDsu.js → onboard-channels-bfoS7x6P.js} +1 -1
  187. package/dist/{onboard-custom-C_4nk_e8.js → onboard-custom-DUbzMMu7.js} +4 -4
  188. package/dist/{onboard-helpers-CXjQtadC.js → onboard-helpers-mzy38DiC.js} +7 -7
  189. package/dist/{onboard-hooks-CuOJrgfu.js → onboard-hooks-D9teGxfH.js} +7 -7
  190. package/dist/{onboard-remote-B-bN7EmV.js → onboard-remote-LCBHijVE.js} +3 -3
  191. package/dist/{onboard-skills-BVmcgCzz.js → onboard-skills-jFY9gaOu.js} +4 -4
  192. package/dist/{onboarding-qxSl79A_.js → onboarding-CX8a934a.js} +16 -16
  193. package/dist/{onboarding-BfDz8n6H.js → onboarding-CpGBbVTj.js} +3 -3
  194. package/dist/{onboarding.finalize-DeEXxkOU.js → onboarding.finalize-BnKQeFN8.js} +7 -7
  195. package/dist/{onboarding.finalize-DGZkcjrv.js → onboarding.finalize-CRgpFQIz.js} +99 -99
  196. package/dist/{onboarding.gateway-config-BinQe57V.js → onboarding.gateway-config-Btu2gzgr.js} +21 -21
  197. package/dist/{openai-model-default-CK1wUY3u.js → openai-model-default-7J6cw1rA.js} +2 -2
  198. package/dist/{outbound-CdY_AskB.js → outbound-BNh6PpQb.js} +6 -6
  199. package/dist/{outbound-DClHNQfl.js → outbound-DPTxwchq.js} +6 -6
  200. package/dist/{outbound-attachment-IfeZJAKk.js → outbound-attachment-3I6GzwDe.js} +2 -2
  201. package/dist/{outbound-attachment-Cz80loTd.js → outbound-attachment-Bot3bRnK.js} +2 -2
  202. package/dist/{pairing-cli-By_hykOY.js → pairing-cli-jwx6hMsM.js} +15 -15
  203. package/dist/{pairing-labels-Dm-DUGGI.js → pairing-labels-ChQJzbS9.js} +1 -1
  204. package/dist/{pairing-store-CPUUuW7M.js → pairing-store-CPpEEQJO.js} +3 -3
  205. package/dist/{path-alias-guards-BZmt6hFb.js → path-alias-guards-Cu1nXNMM.js} +1 -1
  206. package/dist/{path-env-CWIJihhd.js → path-env-CKSLQUS1.js} +1 -1
  207. package/dist/{paths-CBF9EBzh.js → paths-B-CLQ5RT.js} +1 -1
  208. package/dist/{paths-DQpv9a3Q.js → paths-BYNVLNi_.js} +5 -5
  209. package/dist/{paths-D3p7ZvM6.js → paths-D_qUel1T.js} +3 -3
  210. package/dist/{pi-embedded-E9CG0AZO.js → pi-embedded-0YMQWOc5.js} +32 -28
  211. package/dist/{pi-embedded-xW12sr9Q.js → pi-embedded-BO8wzB4O.js} +185 -181
  212. package/dist/{pi-embedded-helpers-D675DgwP.js → pi-embedded-helpers-BCsfqpDt.js} +4 -4
  213. package/dist/{pi-embedded-helpers-Ct2rwp-P.js → pi-embedded-helpers-C2j0LfJC.js} +4 -4
  214. package/dist/{pi-embedded-helpers-B3ceCcxm.js → pi-embedded-helpers-CghCLoPo.js} +24 -24
  215. package/dist/{pi-model-discovery-BEKzIGSg.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  216. package/dist/{pi-model-discovery-Dlx4RLWo.js → pi-model-discovery-Bb__OY-j.js} +7 -7
  217. package/dist/{pi-tools.policy-GzRj_NVc.js → pi-tools.policy-DfITIKZj.js} +6 -6
  218. package/dist/{plugin-auto-enable-CU8IfpBV.js → plugin-auto-enable-7DUxMy6A.js} +5 -5
  219. package/dist/{plugin-registry-CY1u8bd9.js → plugin-registry-Cp2q0pVP.js} +1 -1
  220. package/dist/{plugin-registry-CJfl54B-.js → plugin-registry-DceNUcJc.js} +4 -4
  221. package/dist/plugin-sdk/{agent-via-gateway-NXyTgftN.js → agent-via-gateway-MuDsrNW6.js} +2 -2
  222. package/dist/plugin-sdk/{anton-8LTiJnvw.js → anton-CkJKOeKT.js} +225 -41
  223. package/dist/plugin-sdk/{channel-web-DEl6BZu6.js → channel-web-B6pGyJpM.js} +2 -2
  224. package/dist/plugin-sdk/commands/anton.d.ts +28 -4
  225. package/dist/plugin-sdk/{deps-CdRm6UCM.js → deps-FuyQakmK.js} +1 -1
  226. package/dist/plugin-sdk/{emergency-stop-vr_MLBH0.js → emergency-stop-Ci4JC4dU.js} +2 -2
  227. package/dist/plugin-sdk/index.js +3 -3
  228. package/dist/plugin-sdk/{reply-Cii_-apO.js → reply-BTVimsoK.js} +17 -13
  229. package/dist/plugin-sdk/{web-BrcYG4Cd.js → web-HiiN5NkP.js} +3 -3
  230. package/dist/{plugins-DYr-HHj0.js → plugins-CRB60mCJ.js} +10 -10
  231. package/dist/{plugins-Bj6rzE-9.js → plugins-D46VZh7u.js} +5 -5
  232. package/dist/{plugins-cli-BsCu9ZxX.js → plugins-cli-2wK7R85Y.js} +3 -3
  233. package/dist/{plugins-cli-rEURRyag.js → plugins-cli-BaQt7jqk.js} +95 -95
  234. package/dist/{ports-D3FuSfMU.js → ports-B2o0FSFD.js} +2 -2
  235. package/dist/{ports-BJ6Xu_G6.js → ports-SQy1d-RL.js} +3 -3
  236. package/dist/{program-CtFnQFId.js → program-CbwFv75G.js} +8 -8
  237. package/dist/{program-context-BsCSqznM.js → program-context-Ck-chzM_.js} +43 -43
  238. package/dist/{progress-BN8aygvh.js → progress-BQLz1r3L.js} +1 -1
  239. package/dist/{prompt-select-styled-BKPmN1HP.js → prompt-select-styled-DJ5ONfKl.js} +4 -4
  240. package/dist/{prompt-select-styled-BB8mtFS9.js → prompt-select-styled-DigZiJWM.js} +35 -35
  241. package/dist/{prompt-style-BRwf6dfp.js → prompt-style-kmKiCZnm.js} +1 -1
  242. package/dist/{provider-auth-helpers-ar7t02s1.js → provider-auth-helpers-Ci_EGvif.js} +7 -7
  243. package/dist/{provider-auth-helpers-486CLY6U.js → provider-auth-helpers-DGTDTeE5.js} +1 -1
  244. package/dist/{push-apns-AHniql5u.js → push-apns-BSYjGCn9.js} +5 -5
  245. package/dist/{push-apns-CJJ-O5fL.js → push-apns-Dz4hOY07.js} +1 -1
  246. package/dist/{pw-ai-DRVoaq_u.js → pw-ai-7i9eGnLh.js} +13 -13
  247. package/dist/{pw-ai-DIV4PcIo.js → pw-ai-CfYaR1K2.js} +13 -13
  248. package/dist/{pw-ai-yrIWfcWX.js → pw-ai-DjmrIQle.js} +1 -1
  249. package/dist/{qmd-manager-SkIM31ge.js → qmd-manager-B-qeywfQ.js} +6 -6
  250. package/dist/{qmd-manager-BRvg3Rx2.js → qmd-manager-B_GgyQQ0.js} +8 -8
  251. package/dist/{qr-cli-BsFvbHQy.js → qr-cli-CSt5ihwG.js} +4 -4
  252. package/dist/{query-expansion-BIsWftgR.js → query-expansion-Clts_AGz.js} +2 -2
  253. package/dist/{query-expansion-DHuNyU-_.js → query-expansion-DEq020GG.js} +5 -5
  254. package/dist/{redact-CIBM9Zli.js → redact-B_4KNlXs.js} +1 -1
  255. package/dist/{redact-1Y0KPNtr.js → redact-Bvpf-ATQ.js} +1 -1
  256. package/dist/{redact-snapshot-DQ_VN7gO.js → redact-snapshot-BbEVKv0k.js} +2 -2
  257. package/dist/{register.agent-DswuLYd8.js → register.agent-BZh3UWw3.js} +9 -9
  258. package/dist/{register.agent-TMXz7bwT.js → register.agent-CTPc2Q9m.js} +110 -110
  259. package/dist/{register.configure-BFWnHArB.js → register.configure-BzTxX7SG.js} +8 -8
  260. package/dist/register.configure-vVDARCph.js +168 -0
  261. package/dist/{register.maintenance-Dj8A9Hj7.js → register.maintenance-BNHEV-po.js} +9 -9
  262. package/dist/{register.maintenance-C2B-RPnI.js → register.maintenance-DTXn32on.js} +108 -108
  263. package/dist/{register.message-DWm_Lizi.js → register.message-BYWAEsKP.js} +3 -3
  264. package/dist/{register.message-CR569hCK.js → register.message-CHf51taw.js} +90 -90
  265. package/dist/{register.onboard-CBlF61-5.js → register.onboard-CxwDhXRS.js} +29 -29
  266. package/dist/{register.onboard-BjMv8Rc2.js → register.onboard-vruDRZdG.js} +2 -2
  267. package/dist/{register.orchestrator-anton-Cvw__ptb.js → register.orchestrator-anton-GSAFxzGa.js} +2 -2
  268. package/dist/{register.orchestrator-anton-CehFZHyG.js → register.orchestrator-anton-qBr2ZYrk.js} +7 -7
  269. package/dist/{register.setup-B8TX05TM.js → register.setup-B0zmlTXV.js} +2 -2
  270. package/dist/{register.setup-BrXOX1jn.js → register.setup-DlFQIXoR.js} +31 -31
  271. package/dist/{register.status-health-sessions-DexyefSU.js → register.status-health-sessions-16paRP9f.js} +101 -101
  272. package/dist/{register.status-health-sessions-C-3gl9qR.js → register.status-health-sessions-CtXhn9Dq.js} +4 -4
  273. package/dist/{register.subclis-CFcZU6Sc.js → register.subclis-lskGgus9.js} +9 -9
  274. package/dist/{replies-CWMglpIw.js → replies-6_GxvQYe.js} +3 -3
  275. package/dist/{replies-2C16fnBP.js → replies-hSFVxL4h.js} +3 -3
  276. package/dist/{reply-dLJYULbb.js → reply-DfRr_KdS.js} +120 -116
  277. package/dist/{reply-prefix-CXLm7TNq.js → reply-prefix-BUgeSN2R.js} +1 -1
  278. package/dist/{reply-prefix-DCljZiIB.js → reply-prefix-C3y4zpTl.js} +1 -1
  279. package/dist/{resolve-route-BrHTn_2g.js → resolve-route-D_AbcmD6.js} +4 -4
  280. package/dist/{resolve-route-ClcifpKn.js → resolve-route-DuttYY7A.js} +4 -4
  281. package/dist/{retry-CG6cMRDQ.js → retry-BeB9WenR.js} +1 -1
  282. package/dist/{retry-B7zUL1Mv.js → retry-Db05aSB8.js} +1 -1
  283. package/dist/{rpc-Dp_JZNAZ.js → rpc-Cf9OK5Yk.js} +3 -3
  284. package/dist/{run-main-xc_0T201.js → run-main-Bj-8MZGb.js} +15 -15
  285. package/dist/{runner-Bv_BA3vd.js → runner-CZW_eyf2.js} +1 -1
  286. package/dist/{runner-p3KLBBEt.js → runner-DzszLzI4.js} +11 -11
  287. package/dist/{runner-BkCU-kqs.js → runner-PgRFPYUj.js} +11 -11
  288. package/dist/{runtime-DELkrqga.js → runtime-XmXLaHNk.js} +3 -3
  289. package/dist/{sandbox-cEpEHVD-.js → sandbox-DcUw5h3p.js} +8 -8
  290. package/dist/{sandbox-cli-B7kOJiLh.js → sandbox-cli-DGvJ7Eeq.js} +32 -32
  291. package/dist/{secrets-cli-COGPFjdu.js → secrets-cli-CR3h2TBy.js} +14 -14
  292. package/dist/{security-cli-Db4ZYVER.js → security-cli-B9_LV2po.js} +42 -42
  293. package/dist/{send-DA-ryUJS.js → send--lzpNy4f.js} +14 -14
  294. package/dist/{send-DZa8fWSm.js → send-BeIZJuy4.js} +7 -7
  295. package/dist/{send-Y1hD4tQ1.js → send-C1hvd3bt.js} +6 -6
  296. package/dist/{send-D_ARyjSf.js → send-C4v0Leny.js} +6 -6
  297. package/dist/{send-BOxJ4QXF.js → send-D4bMycQu.js} +7 -7
  298. package/dist/{send-D-UmmCCj.js → send-DQiw_nGD.js} +7 -7
  299. package/dist/{send-FLdrx-oF.js → send-Dfa3sn6r.js} +24 -24
  300. package/dist/{send-IlPMLAH-.js → send-DmLC7aEF.js} +10 -10
  301. package/dist/{send-DnscWRVE.js → send-DuwdEkLw.js} +7 -7
  302. package/dist/{send-BhbOA8rP.js → send-DwdHiC7_.js} +10 -10
  303. package/dist/{server-DLOBjQtf.js → server-D6MltJIF.js} +21 -21
  304. package/dist/{server-context-CvZnSu9L.js → server-context-DI0W_H7R.js} +11 -11
  305. package/dist/{server-lifecycle-CfZbDiFe.js → server-lifecycle-B5PlrlbG.js} +2 -2
  306. package/dist/{server-node-events-CgSZVd8M.js → server-node-events-B_LUFrA_.js} +89 -89
  307. package/dist/{server-node-events-Dj5jYSln.js → server-node-events-Benu2lR2.js} +3 -3
  308. package/dist/{service-fKr0VnMd.js → service-C8NMS3m_.js} +1 -1
  309. package/dist/{session-BKdoiopW.js → session-CdnrRhb4.js} +2 -2
  310. package/dist/{session-nUPBXeEa.js → session-F_YDS_1V.js} +7 -7
  311. package/dist/{sessions-DRA4oaxz.js → sessions-3ioSeOA1.js} +41 -41
  312. package/dist/{sessions-uS8Ko6pU.js → sessions-BtPXimXQ.js} +6 -6
  313. package/dist/{shared-Cvf3nhuq.js → shared-CpDPo3hJ.js} +2 -2
  314. package/dist/{shared-pSfUCPxh.js → shared-DpLSpJIl.js} +1 -1
  315. package/dist/{skill-commands-BY4BNcfR.js → skill-commands-BFzmZAfo.js} +6 -6
  316. package/dist/{skill-commands-BHTBXXVn.js → skill-commands-Ck3flWX7.js} +9 -9
  317. package/dist/{skill-scanner-BFXxq_hZ.js → skill-scanner-D7mzXRXd.js} +1 -1
  318. package/dist/{skills-umlGvChF.js → skills-CnAPWfca.js} +22 -22
  319. package/dist/{skills-DuPZzvnK.js → skills-DlvDyK8L.js} +4 -4
  320. package/dist/{skills-cli-wSg-syqz.js → skills-cli-BhKGhjbO.js} +10 -10
  321. package/dist/{skills-install-CQihNd2n.js → skills-install-tr6wRWZj.js} +6 -6
  322. package/dist/{skills-status-D7aU-6Ob.js → skills-status-qjQ8XP0h.js} +4 -4
  323. package/dist/{status-CV7OIIGl.js → status-DxcdgCyX.js} +2 -2
  324. package/dist/{status-Bp-x4GJi.js → status-DzCllHYZ.js} +24 -24
  325. package/dist/{status.update-Cri65g-V.js → status.update-CTi6vuWj.js} +1 -1
  326. package/dist/{store-D-ZicQeo.js → store-CvMgrKWx.js} +2 -2
  327. package/dist/{store-CR1Ag5tw.js → store-kH9wHHbO.js} +2 -2
  328. package/dist/{subagent-registry-CJX_DOgh.js → subagent-registry-BcpHnckA.js} +17 -13
  329. package/dist/{subsystem-BTkYq-SM.js → subsystem-CGZX2PBV.js} +1 -1
  330. package/dist/{subsystem-D7ZepYT1.js → subsystem-tzu-rIAJ.js} +1 -1
  331. package/dist/{system-cli-DSF87U3I.js → system-cli-DyVZ5udc.js} +13 -13
  332. package/dist/{system-run-approval-context-DtT5msEN.js → system-run-approval-context-CISBXlNw.js} +1 -1
  333. package/dist/{system-run-command-CrHlKsQv.js → system-run-command-qJdgzxLp.js} +1 -1
  334. package/dist/{systemd-C9CCJ2y5.js → systemd-CaCR5CyM.js} +2 -2
  335. package/dist/{systemd-hints-D4_AmIA0.js → systemd-hints-DHu-HVFx.js} +2 -2
  336. package/dist/{systemd-linger-BRBtRm6O.js → systemd-linger-B7XlUHk_.js} +2 -2
  337. package/dist/{table-PG064F0C.js → table-B9AmL3M1.js} +2 -2
  338. package/dist/{tables-Co_R_WKs.js → tables-5k-zOZ-s.js} +1 -1
  339. package/dist/{tables-Ca5i1iM6.js → tables-g9xkflht.js} +1 -1
  340. package/dist/{tailscale-Dr3FvwTm.js → tailscale-B5Irc_Bi.js} +2 -2
  341. package/dist/{target-errors-B1mcM4WR.js → target-errors-BPfQrPim.js} +2 -2
  342. package/dist/{target-errors-BhRMVh6a.js → target-errors-bLIVFsbF.js} +2 -2
  343. package/dist/{tokens-DY5TC4xI.js → tokens-BRLyURxW.js} +1 -1
  344. package/dist/{tokens-DGajj8M9.js → tokens-Dg-QZ_pN.js} +1 -1
  345. package/dist/{tool-display-1HTlk4mF.js → tool-display-Dac7lHGW.js} +2 -2
  346. package/dist/{tool-images-Duuqr4bN.js → tool-images-CHqepyF_.js} +2 -2
  347. package/dist/{tool-images-ByP8vQ_u.js → tool-images-CcGZpzmq.js} +2 -2
  348. package/dist/{tool-loop-detection-CjWRg_4q.js → tool-loop-detection-BNGetx3Z.js} +3 -3
  349. package/dist/{tool-loop-detection-BxLycal4.js → tool-loop-detection-C5VjmhPJ.js} +2 -2
  350. package/dist/{trash-CHnKIQrP.js → trash-CUFiyQN5.js} +1 -1
  351. package/dist/{tui-BmvrLAnW.js → tui-Bne3YNiw.js} +9 -9
  352. package/dist/{tui-cli-Dm28GC4T.js → tui-cli-D0Z-rcUe.js} +39 -39
  353. package/dist/{update-D96LyJ5s.js → update-D79ppbMQ.js} +3 -3
  354. package/dist/{update-cli-Crq7aGUA.js → update-cli-B53rJqAV.js} +115 -115
  355. package/dist/{update-cli-z5fJRDU4.js → update-cli-CTETjvrF.js} +9 -9
  356. package/dist/{update-runner-BkSrWsKc.js → update-runner-BGAdvd0c.js} +1 -1
  357. package/dist/{update-runner-BLquhnrL.js → update-runner-BOGIWX18.js} +5 -5
  358. package/dist/{utils-D9wGoiU9.js → utils-CTFLl_ji.js} +18 -18
  359. package/dist/{utils-BfmeFj7S.js → utils-CXzXXV2o.js} +2 -2
  360. package/dist/{web-B267OUXc.js → web-3nv8mK11.js} +3 -3
  361. package/dist/{web-BKSxBqZw.js → web-C7HXffph.js} +8 -8
  362. package/dist/web-CqOVupWI.js +123 -0
  363. package/dist/{web-CNowaS6B.js → web-Dwj9igbL.js} +66 -66
  364. package/dist/{webhooks-cli-DLVMYO3R.js → webhooks-cli-2N03q0iY.js} +11 -11
  365. package/dist/{whatsapp-actions-De803Fwb.js → whatsapp-actions-Cms8wQM1.js} +22 -22
  366. package/dist/{whatsapp-actions-BJ6kVDXi.js → whatsapp-actions-DbPcN6JQ.js} +25 -25
  367. package/dist/{widearea-dns-DJVz6r4U.js → widearea-dns-FDdFH5E8.js} +1 -1
  368. package/dist/{with-timeout-Bz8F3xNq.js → with-timeout-DEdycYxq.js} +5 -5
  369. package/dist/{workspace-BHN1rb4L.js → workspace-D3pARwoB.js} +3 -3
  370. package/dist/{workspace-tAtkoD_r.js → workspace-DBFSzT6O.js} +18 -18
  371. package/dist/{workspace-dirs-C34pt6Pa.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  372. package/extensions/acpx/package.json +1 -1
  373. package/extensions/bluebubbles/package.json +1 -1
  374. package/extensions/copilot-proxy/package.json +1 -1
  375. package/extensions/diagnostics-otel/package.json +1 -1
  376. package/extensions/discord/package.json +1 -1
  377. package/extensions/feishu/package.json +1 -1
  378. package/extensions/google-gemini-cli-auth/package.json +1 -1
  379. package/extensions/googlechat/package.json +1 -1
  380. package/extensions/hand/package.json +1 -1
  381. package/extensions/imessage/package.json +1 -1
  382. package/extensions/irc/package.json +1 -1
  383. package/extensions/line/package.json +1 -1
  384. package/extensions/llm-task/package.json +1 -1
  385. package/extensions/matrix/package.json +1 -1
  386. package/extensions/mattermost/package.json +1 -1
  387. package/extensions/memory-core/package.json +1 -1
  388. package/extensions/memory-lancedb/package.json +1 -1
  389. package/extensions/minimax-portal-auth/package.json +1 -1
  390. package/extensions/msteams/package.json +1 -1
  391. package/extensions/nextcloud-talk/package.json +1 -1
  392. package/extensions/nostr/package.json +1 -1
  393. package/extensions/open-prose/package.json +1 -1
  394. package/extensions/signal/package.json +1 -1
  395. package/extensions/slack/package.json +1 -1
  396. package/extensions/synology-chat/package.json +1 -1
  397. package/extensions/telegram/package.json +1 -1
  398. package/extensions/tlon/package.json +1 -1
  399. package/extensions/twitch/package.json +1 -1
  400. package/extensions/voice-call/package.json +1 -1
  401. package/extensions/whatsapp/package.json +1 -1
  402. package/extensions/zalo/package.json +1 -1
  403. package/extensions/zalouser/package.json +1 -1
  404. package/package.json +4 -1
  405. package/dist/cli-BN8I3vTa.js +0 -162
  406. package/dist/emergency-stop-Chw8LiXP.js +0 -113
  407. package/dist/emergency-stop-HaFAEk9Z.js +0 -162
  408. package/dist/register.configure-DlxSU46q.js +0 -168
  409. package/dist/web-BKs38Jg4.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-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";
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";
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-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";
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";
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-q-PhWbb_.js";
13
+ import { t as isTruthyEnvValue } from "./env-B5G1qwGc.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-ejUetwTC.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";
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-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";
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";
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-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";
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";
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-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";
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";
29
29
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-BGF2r-kt.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";
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";
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-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";
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";
45
45
  import { n as resolveConversationLabel } from "./conversation-label-1Wad2kXc.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";
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";
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-Duuqr4bN.js";
49
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CcGZpzmq.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-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";
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";
54
54
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-3YYM8QuM.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";
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";
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-BkCU-kqs.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";
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-DdL3RAv_.js";
69
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D_TMOGQ0.js";
70
70
  import { n as normalizePollInput } from "./polls-DhMjjIGW.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";
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";
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-2C16fnBP.js";
78
- import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-CnUuBleG.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-Bc5yBM-U.js";
79
79
  import { createRequire } from "node:module";
80
- import * as fs$2 from "node:fs/promises";
80
+ import * as fs$1 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 fs$1, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
85
+ import syncFs, { 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 (fs$1.existsSync(workspaceDocs)) return workspaceDocs;
3249
+ if (syncFs.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 fs$1.existsSync(packageDocs) ? packageDocs : null;
3258
+ return syncFs.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-BRvg3Rx2.js");
3968
+ const { QmdMemoryManager } = await import("./qmd-manager-B_GgyQQ0.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-CgzA1hKo.js").then((n) => n.t);
3980
+ const { MemoryIndexManager } = await import("./manager-BE_76jWB.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-CgzA1hKo.js").then((n) => n.t);
3993
+ const { MemoryIndexManager } = await import("./manager-BE_76jWB.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
- fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
4681
+ syncFs.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 (fs$1.existsSync(filePath)) {
4718
- const raw = fs$1.readFileSync(filePath, "utf8");
4717
+ if (syncFs.existsSync(filePath)) {
4718
+ const raw = syncFs.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
- fs$1.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4727
+ syncFs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4728
4728
  try {
4729
- fs$1.chmodSync(filePath, 384);
4729
+ syncFs.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
- fs$1.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4754
+ syncFs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4755
4755
  try {
4756
- fs$1.chmodSync(filePath, 384);
4756
+ syncFs.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 (!fs$1.existsSync(filePath)) return null;
4907
- const raw = fs$1.readFileSync(filePath, "utf8");
4906
+ if (!syncFs.existsSync(filePath)) return null;
4907
+ const raw = syncFs.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
- fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
4918
- fs$1.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4917
+ syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
4918
+ syncFs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4919
4919
  try {
4920
- fs$1.chmodSync(filePath, 384);
4920
+ syncFs.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-Db2xqgLg.js").then((n) => n.n);
7940
+ const { deliverOutboundPayloads } = await import("./deliver-BUiQ-9fE.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 = fs$1.readFileSync(storePath, "utf-8");
8460
+ const raw = syncFs.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
- fs$1.mkdirSync(dir, { recursive: true });
17455
+ syncFs.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 (!fs$1.existsSync(filePath)) return normalizeExecApprovals({
17525
+ if (!syncFs.existsSync(filePath)) return normalizeExecApprovals({
17526
17526
  version: 1,
17527
17527
  agents: {}
17528
17528
  });
17529
- const raw = fs$1.readFileSync(filePath, "utf8");
17529
+ const raw = syncFs.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
- fs$1.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
17546
+ syncFs.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
17547
17547
  try {
17548
- fs$1.chmodSync(filePath, 384);
17548
+ syncFs.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 (fs$1.existsSync(pwsh7)) return pwsh7;
18033
+ if (syncFs.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 (fs$1.existsSync(pwsh7Alt)) return pwsh7Alt;
18037
+ if (syncFs.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 (fs$1.existsSync(candidate)) return candidate;
18044
+ if (syncFs.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
- fs$1.accessSync(candidate, fs$1.constants.X_OK);
18082
+ syncFs.accessSync(candidate, syncFs.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-Dlx4RLWo.js").then((n) => n.r);
21333
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-Bb__OY-j.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 = fs$1.statSync(gitPath);
21485
+ const stat = syncFs.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 = fs$1.statSync(gitPath);
21497
+ const stat = syncFs.statSync(gitPath);
21498
21498
  if (stat.isDirectory()) return gitPath;
21499
21499
  if (!stat.isFile()) return null;
21500
- const match = fs$1.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
21500
+ const match = syncFs.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 = fs$1.readFileSync(headPath, "utf-8").trim();
21567
+ const head = syncFs.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(fs$1.readFileSync(refPath, "utf-8").trim());
21575
+ cachedCommit = formatCommit(syncFs.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 (!fs$1.existsSync(logPath)) return;
21835
+ if (!syncFs.existsSync(logPath)) return;
21836
21836
  try {
21837
21837
  const TAIL_BYTES = 8192;
21838
- const stat = fs$1.statSync(logPath);
21838
+ const stat = syncFs.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 = fs$1.openSync(logPath, "r");
21841
+ const fd = syncFs.openSync(logPath, "r");
21842
21842
  try {
21843
- fs$1.readSync(fd, buf, 0, buf.length, offset);
21843
+ syncFs.readSync(fd, buf, 0, buf.length, offset);
21844
21844
  } finally {
21845
- fs$1.closeSync(fd);
21845
+ syncFs.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-Dn_Pc4P0.js");
23065
+ const { antonStatus } = await import("./anton-Cw4-BgtA.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-Dn_Pc4P0.js");
23081
+ const { antonStop } = await import("./anton-Cw4-BgtA.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-Dn_Pc4P0.js");
23120
- const { createDefaultDeps } = await import("./deps-CnUuBleG.js").then((n) => n.n);
23119
+ const { runAnton, formatProgressMessage } = await import("./anton-Cw4-BgtA.js");
23120
+ const { createDefaultDeps } = await import("./deps-Bc5yBM-U.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-DRA4oaxz.js").then((n) => n.u);
23218
- const { resolveDefaultSessionStorePath } = await import("./paths-D3p7ZvM6.js").then((n) => n.n);
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);
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 (fs$1.statSync(resolved).isDirectory()) return resolved;
23407
+ if (syncFs.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 fs$1.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24179
+ return syncFs.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 (!fs$1.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
24253
+ if (!syncFs.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 (!fs$1.existsSync(outputDir)) fs$1.mkdirSync(outputDir, { recursive: true });
24275
- fs$1.writeFileSync(outputPath, html, "utf-8");
24274
+ if (!syncFs.existsSync(outputDir)) syncFs.mkdirSync(outputDir, { recursive: true });
24275
+ syncFs.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 (!fs$1.existsSync(authPath)) return;
24451
- const data = JSON.parse(fs$1.readFileSync(authPath, "utf-8"));
24450
+ if (!syncFs.existsSync(authPath)) return;
24451
+ const data = JSON.parse(syncFs.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 fs$1.existsSync(resolveThreadBindingsPath());
26214
+ return syncFs.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 = fs$1.createReadStream(filePath, { encoding: "utf-8" });
27478
+ const fileStream = syncFs.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 fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
27550
+ const entries = await syncFs.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 fs$1.promises.stat(filePath).catch(() => null);
27553
+ const stats = await syncFs.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 || !fs$1.existsSync(sessionFile)) return null;
27586
+ if (!sessionFile || !syncFs.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-C5hI1dum.js").then((n) => n.O);
29903
+ const { ensureAuthProfileStore } = await import("./model-selection-1MMYqY6M.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) fs$1.mkdirSync(tmpDir, {
33425
+ if (!opts.tmpDir) syncFs.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$2.open(filePath, "w");
33491
+ const fileHandle = await fs$1.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$2.unlink(filePath).catch(() => {});
33510
+ await fs$1.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$2.writeFile(filePath, buf);
33520
+ await fs$1.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 (!fs$1.existsSync(resolved)) continue;
36365
+ if (!syncFs.existsSync(resolved)) continue;
36366
36366
  try {
36367
- const payload = JSON.parse(fs$1.readFileSync(resolved, "utf-8"));
36367
+ const payload = JSON.parse(syncFs.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 fs$1.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
39583
+ return syncFs.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
- fs$1.unlinkSync(transcriptPath);
45428
+ syncFs.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 (!fs$1.existsSync(sessionFile)) return [];
46163
+ if (!syncFs.existsSync(sessionFile)) return [];
46164
46164
  try {
46165
- const recentLines = fs$1.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
46165
+ const recentLines = syncFs.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 (!fs$1.existsSync(agentsPath)) return null;
46207
- const sections = extractSections(await fs$1.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
46206
+ if (!syncFs.existsSync(agentsPath)) return null;
46207
+ const sections = extractSections(await syncFs.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
- fs$1.unlinkSync(candidate);
46441
+ syncFs.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-Db2xqgLg.js").then((n) => n.n);
47432
+ const { deliverOutboundPayloads } = await import("./deliver-BUiQ-9fE.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 || !fs$1.existsSync(parentSessionFile)) return null;
47489
+ if (!parentSessionFile || !syncFs.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
- fs$1.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
47513
+ syncFs.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-Dlu13Ebx.js").then((n) => n.n);
51868
+ const { describeImageWithModel } = await import("./image-D8b_rlQC.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-C17PY0rr.js");
52322
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CFFFOjOl.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, fs$1.constants.R_OK);
52609
+ await fs.access(pathname, syncFs.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, fs$1.constants.R_OK);
52668
+ await fs.access(memoryDir, syncFs.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-qkU2lsDn.js");
54796
+ const { transcribeFirstAudio } = await import("./audio-preflight-CW8IH1lU.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: {
@@ -56237,6 +56237,7 @@ function createProgressStreamAdapter(opts) {
56237
56237
  let lastToolName = "tool";
56238
56238
  let lastToolCallId = "";
56239
56239
  let firstDeltaCalled = false;
56240
+ let lastPartialText = "";
56240
56241
  return {
56241
56242
  stream,
56242
56243
  start: async () => {
@@ -56274,12 +56275,15 @@ function createProgressStreamAdapter(opts) {
56274
56275
  lastToolCallId = "";
56275
56276
  },
56276
56277
  onPartialReply: (payload) => {
56277
- if (payload.text) {
56278
+ const fullText = payload.text ?? "";
56279
+ const delta = fullText.startsWith(lastPartialText) ? fullText.slice(lastPartialText.length) : fullText;
56280
+ lastPartialText = fullText;
56281
+ if (delta) {
56278
56282
  if (!firstDeltaCalled) {
56279
56283
  firstDeltaCalled = true;
56280
56284
  hooks.onFirstDelta?.();
56281
56285
  }
56282
- hooks.onToken?.(payload.text);
56286
+ hooks.onToken?.(delta);
56283
56287
  }
56284
56288
  },
56285
56289
  onTurnEnd: (stats) => {
@@ -56375,7 +56379,7 @@ function identityHasValues(identity) {
56375
56379
  }
56376
56380
  function loadIdentityFromFile(identityPath) {
56377
56381
  try {
56378
- const parsed = parseIdentityMarkdown(fs$1.readFileSync(identityPath, "utf-8"));
56382
+ const parsed = parseIdentityMarkdown(syncFs.readFileSync(identityPath, "utf-8"));
56379
56383
  if (!identityHasValues(parsed)) return null;
56380
56384
  return parsed;
56381
56385
  } catch {
@@ -56399,7 +56403,7 @@ function resolveAvatarSource(cfg, agentId) {
56399
56403
  }
56400
56404
  function resolveExistingPath(value) {
56401
56405
  try {
56402
- return fs$1.realpathSync(value);
56406
+ return syncFs.realpathSync(value);
56403
56407
  } catch {
56404
56408
  return path.resolve(value);
56405
56409
  }
@@ -56417,7 +56421,7 @@ function resolveLocalAvatarPath(params) {
56417
56421
  reason: "unsupported_extension"
56418
56422
  };
56419
56423
  try {
56420
- const stat = fs$1.statSync(realPath);
56424
+ const stat = syncFs.statSync(realPath);
56421
56425
  if (!stat.isFile()) return {
56422
56426
  ok: false,
56423
56427
  reason: "missing"
@@ -57270,9 +57274,9 @@ function createDiscordMessageHandler(params) {
57270
57274
  try {
57271
57275
  const messageText = resolveDiscordMessageText(data.message)?.trim();
57272
57276
  if (messageText) {
57273
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
57277
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dxp2e3a9.js");
57274
57278
  if (isAbortRequestText(messageText)) {
57275
- const { resolveAgentRoute } = await import("./resolve-route-ClcifpKn.js").then((n) => n.r);
57279
+ const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
57276
57280
  const channelId = resolveDiscordMessageChannelId({
57277
57281
  message: data.message,
57278
57282
  eventChannelId: data.channel_id
@@ -64768,9 +64772,9 @@ async function monitorIMessageProvider(opts = {}) {
64768
64772
  }
64769
64773
  const msgText = (message.text ?? "").trim();
64770
64774
  if (msgText) {
64771
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
64775
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dxp2e3a9.js");
64772
64776
  if (isAbortRequestText(msgText)) {
64773
- const { resolveAgentRoute } = await import("./resolve-route-ClcifpKn.js").then((n) => n.r);
64777
+ const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
64774
64778
  const route = resolveAgentRoute({
64775
64779
  cfg,
64776
64780
  channel: "imessage",
@@ -64851,7 +64855,7 @@ async function monitorIMessageProvider(opts = {}) {
64851
64855
  function readFileIfExists(filePath) {
64852
64856
  if (!filePath) return;
64853
64857
  try {
64854
- return fs$1.readFileSync(filePath, "utf-8").trim();
64858
+ return syncFs.readFileSync(filePath, "utf-8").trim();
64855
64859
  } catch {
64856
64860
  return;
64857
64861
  }
@@ -65427,7 +65431,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
65427
65431
  prefix: "line-media",
65428
65432
  extension: getExtensionForContentType(contentType)
65429
65433
  });
65430
- await fs$1.promises.writeFile(filePath, buffer);
65434
+ await syncFs.promises.writeFile(filePath, buffer);
65431
65435
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
65432
65436
  return {
65433
65437
  path: filePath,
@@ -67379,9 +67383,9 @@ function createSignalEventHandler(deps) {
67379
67383
  const senderName = envelope.sourceName ?? senderDisplay;
67380
67384
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
67381
67385
  if (bodyText) {
67382
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
67386
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dxp2e3a9.js");
67383
67387
  if (isAbortRequestText(bodyText)) {
67384
- const { resolveAgentRoute } = await import("./resolve-route-ClcifpKn.js").then((n) => n.r);
67388
+ const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
67385
67389
  const route = resolveAgentRoute({
67386
67390
  cfg: deps.cfg,
67387
67391
  channel: "signal",
@@ -70761,9 +70765,9 @@ function createSlackMessageHandler(params) {
70761
70765
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
70762
70766
  const rawText = (message.text ?? "").trim();
70763
70767
  if (rawText) {
70764
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
70768
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dxp2e3a9.js");
70765
70769
  if (isAbortRequestText(rawText)) {
70766
- const { resolveAgentRoute } = await import("./resolve-route-ClcifpKn.js").then((n) => n.r);
70770
+ const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
70767
70771
  const route = resolveAgentRoute({
70768
70772
  cfg: ctx.cfg,
70769
70773
  channel: "slack",
@@ -70883,7 +70887,7 @@ function readSlackExternalArgMenuToken(raw) {
70883
70887
  }
70884
70888
  let commandsRegistry;
70885
70889
  async function getCommandsRegistry() {
70886
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-_TBHHpvt.js").then((n) => n.n);
70890
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-j4vAzcF2.js").then((n) => n.n);
70887
70891
  return commandsRegistry;
70888
70892
  }
70889
70893
  function encodeSlackCommandArgValue(parts) {
@@ -71207,14 +71211,14 @@ async function registerSlackMonitorSlashCommands(params) {
71207
71211
  const channelName = channelInfo?.name;
71208
71212
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
71209
71213
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
71210
- import("./resolve-route-ClcifpKn.js").then((n) => n.r),
71214
+ import("./resolve-route-DuttYY7A.js").then((n) => n.r),
71211
71215
  import("./inbound-context-BYczzTII.js").then((n) => n.n),
71212
71216
  Promise.resolve().then(() => provider_dispatcher_exports)
71213
71217
  ]);
71214
71218
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
71215
71219
  import("./conversation-label-1Wad2kXc.js").then((n) => n.t),
71216
- import("./reply-prefix-DCljZiIB.js").then((n) => n.n),
71217
- import("./sessions-DRA4oaxz.js").then((n) => n.t)
71220
+ import("./reply-prefix-BUgeSN2R.js").then((n) => n.n),
71221
+ import("./sessions-3ioSeOA1.js").then((n) => n.t)
71218
71222
  ]);
71219
71223
  const route = resolveAgentRoute({
71220
71224
  cfg,
@@ -71282,9 +71286,9 @@ async function registerSlackMonitorSlashCommands(params) {
71282
71286
  });
71283
71287
  const deliverSlashPayloads = async (replies) => {
71284
71288
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
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)
71289
+ import("./replies-6_GxvQYe.js").then((n) => n.r),
71290
+ import("./chunk-CMpX7Jaz.js").then((n) => n.s),
71291
+ import("./markdown-tables-CzsockiZ.js").then((n) => n.t)
71288
71292
  ]);
71289
71293
  await deliverSlackSlashReplies({
71290
71294
  replies,
@@ -71337,7 +71341,7 @@ async function registerSlackMonitorSlashCommands(params) {
71337
71341
  let nativeCommands = [];
71338
71342
  if (nativeEnabled) {
71339
71343
  reg = await getCommandsRegistry();
71340
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BHTBXXVn.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71344
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Ck3flWX7.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71341
71345
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
71342
71346
  skillCommands,
71343
71347
  provider: "slack"
@@ -72955,7 +72959,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
72955
72959
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
72956
72960
  const text = typeof msg.text === "string" ? msg.text : void 0;
72957
72961
  if (text) {
72958
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Chw8LiXP.js");
72962
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-Dxp2e3a9.js");
72959
72963
  if (isAbortRequestText(text)) {
72960
72964
  const senderId = msg.from?.id ? String(msg.from.id) : "";
72961
72965
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -73842,7 +73846,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
73842
73846
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
73843
73847
  let preflightTranscript;
73844
73848
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
73845
- const { transcribeFirstAudio } = await import("./audio-preflight-qkU2lsDn.js");
73849
+ const { transcribeFirstAudio } = await import("./audio-preflight-CW8IH1lU.js");
73846
73850
  preflightTranscript = await transcribeFirstAudio({
73847
73851
  ctx: {
73848
73852
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76428,23 +76432,23 @@ let webLoginQrPromise = null;
76428
76432
  let webChannelPromise = null;
76429
76433
  let whatsappActionsPromise = null;
76430
76434
  function loadWebOutbound() {
76431
- webOutboundPromise ??= import("./outbound-CdY_AskB.js").then((n) => n.t);
76435
+ webOutboundPromise ??= import("./outbound-BNh6PpQb.js").then((n) => n.t);
76432
76436
  return webOutboundPromise;
76433
76437
  }
76434
76438
  function loadWebLogin() {
76435
- webLoginPromise ??= import("./login-C2X0In6m.js").then((n) => n.n);
76439
+ webLoginPromise ??= import("./login-CFr5vJmR.js").then((n) => n.n);
76436
76440
  return webLoginPromise;
76437
76441
  }
76438
76442
  function loadWebLoginQr() {
76439
- webLoginQrPromise ??= import("./login-qr-C17PY0rr.js");
76443
+ webLoginQrPromise ??= import("./login-qr-CFFFOjOl.js");
76440
76444
  return webLoginQrPromise;
76441
76445
  }
76442
76446
  function loadWebChannel() {
76443
- webChannelPromise ??= import("./web-CNowaS6B.js");
76447
+ webChannelPromise ??= import("./web-Dwj9igbL.js");
76444
76448
  return webChannelPromise;
76445
76449
  }
76446
76450
  function loadWhatsAppActions() {
76447
- whatsappActionsPromise ??= import("./whatsapp-actions-BJ6kVDXi.js");
76451
+ whatsappActionsPromise ??= import("./whatsapp-actions-DbPcN6JQ.js");
76448
76452
  return whatsappActionsPromise;
76449
76453
  }
76450
76454
  function createPluginRuntime() {
@@ -76674,7 +76678,7 @@ const resolvePluginSdkAliasFile = (params) => {
76674
76678
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
76675
76679
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
76676
76680
  const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
76677
- for (const candidate of orderedCandidates) if (fs$1.existsSync(candidate)) return candidate;
76681
+ for (const candidate of orderedCandidates) if (syncFs.existsSync(candidate)) return candidate;
76678
76682
  const parent = path.dirname(cursor);
76679
76683
  if (parent === cursor) break;
76680
76684
  cursor = parent;
@@ -77012,7 +77016,7 @@ function loadIdleHandsPlugins(options = {}) {
77012
77016
  continue;
77013
77017
  }
77014
77018
  const safeSource = opened.path;
77015
- fs$1.closeSync(opened.fd);
77019
+ syncFs.closeSync(opened.fd);
77016
77020
  let mod = null;
77017
77021
  try {
77018
77022
  mod = getJiti()(safeSource);
@@ -77149,7 +77153,7 @@ function loadIdleHandsPlugins(options = {}) {
77149
77153
  }
77150
77154
  function safeRealpathOrResolve(value) {
77151
77155
  try {
77152
- return fs$1.realpathSync(value);
77156
+ return syncFs.realpathSync(value);
77153
77157
  } catch {
77154
77158
  return path.resolve(value);
77155
77159
  }
@@ -77513,9 +77517,9 @@ function resolvePatchFileOps(options) {
77513
77517
  });
77514
77518
  assertBoundaryRead(opened, filePath);
77515
77519
  try {
77516
- return fs$1.readFileSync(opened.fd, "utf8");
77520
+ return syncFs.readFileSync(opened.fd, "utf8");
77517
77521
  } finally {
77518
- fs$1.closeSync(opened.fd);
77522
+ syncFs.closeSync(opened.fd);
77519
77523
  }
77520
77524
  },
77521
77525
  writeFile: async (filePath, content) => {
@@ -77817,7 +77821,7 @@ async function recordLoopOutcome(args) {
77817
77821
  if (!args.ctx?.sessionKey) return;
77818
77822
  try {
77819
77823
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BGF2r-kt.js").then((n) => n.n);
77820
- const { recordToolCallOutcome } = await import("./tool-loop-detection-CjWRg_4q.js");
77824
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-BNGetx3Z.js");
77821
77825
  recordToolCallOutcome(getDiagnosticSessionState({
77822
77826
  sessionKey: args.ctx.sessionKey,
77823
77827
  sessionId: args.ctx?.agentId
@@ -77838,8 +77842,8 @@ async function runBeforeToolCallHook(args) {
77838
77842
  const params = args.params;
77839
77843
  if (args.ctx?.sessionKey) {
77840
77844
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BGF2r-kt.js").then((n) => n.n);
77841
- const { logToolLoopAction } = await import("./diagnostic-BvlZ0Sot.js").then((n) => n.n);
77842
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-CjWRg_4q.js");
77845
+ const { logToolLoopAction } = await import("./diagnostic-4owMk4vH.js").then((n) => n.n);
77846
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BNGetx3Z.js");
77843
77847
  const sessionState = getDiagnosticSessionState({
77844
77848
  sessionKey: args.ctx.sessionKey,
77845
77849
  sessionId: args.ctx?.agentId
@@ -80605,8 +80609,8 @@ async function readWorkspaceContextForSummary() {
80605
80609
  const workspaceDir = process.cwd();
80606
80610
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
80607
80611
  try {
80608
- if (!fs$1.existsSync(agentsPath)) return "";
80609
- const sections = extractSections(await fs$1.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
80612
+ if (!syncFs.existsSync(agentsPath)) return "";
80613
+ const sections = extractSections(await syncFs.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
80610
80614
  if (sections.length === 0) return "";
80611
80615
  const combined = sections.join("\n\n");
80612
80616
  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 +81978,7 @@ async function compactEmbeddedPiSessionDirect(params) {
81974
81978
  if (!apiKeyInfo.apiKey) {
81975
81979
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
81976
81980
  } else if (model.provider === "github-copilot") {
81977
- const { resolveCopilotApiToken } = await import("./github-copilot-token-BjmEQcmi.js").then((n) => n.n);
81981
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-Dgt6cnsM.js").then((n) => n.n);
81978
81982
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
81979
81983
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
81980
81984
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -83394,11 +83398,11 @@ function appendRawStream(payload) {
83394
83398
  if (!rawStreamReady) {
83395
83399
  rawStreamReady = true;
83396
83400
  try {
83397
- fs$1.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
83401
+ syncFs.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
83398
83402
  } catch {}
83399
83403
  }
83400
83404
  try {
83401
- fs$1.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
83405
+ syncFs.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
83402
83406
  } catch {}
83403
83407
  }
83404
83408
 
@@ -87001,7 +87005,7 @@ async function runEmbeddedPiAgent(params) {
87001
87005
  return;
87002
87006
  }
87003
87007
  if (model.provider === "github-copilot") {
87004
- const { resolveCopilotApiToken } = await import("./github-copilot-token-BjmEQcmi.js").then((n) => n.n);
87008
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-Dgt6cnsM.js").then((n) => n.n);
87005
87009
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
87006
87010
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
87007
87011
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);