@visorcraft/idlehands 4.0.17 → 4.0.18

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 (455) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{accounts-DsVN0UNw.js → accounts-3HS_UAhJ.js} +1 -1
  3. package/dist/{accounts-Dk8mJIrQ.js → accounts-CRDMZUcg.js} +6 -6
  4. package/dist/{accounts-D-hQsUw-.js → accounts-DLTODa_Z.js} +1 -1
  5. package/dist/{accounts-D87a1Y_K.js → accounts-DgbTKQoW.js} +1 -1
  6. package/dist/{accounts-BDVs8LTu.js → accounts-upx5iuke.js} +1 -1
  7. package/dist/{accounts-CIvVRRHb.js → accounts-yD5yI-jP.js} +1 -1
  8. package/dist/{acp-cli-D52jj29o.js → acp-cli-B-7CXaeS.js} +7 -7
  9. package/dist/{agent-scope-DyP_tr7s.js → agent-scope-BVeQuh5x.js} +4 -4
  10. package/dist/{agent-scope-Bn39ugK4.js → agent-scope-RA0zXRpu.js} +18 -18
  11. package/dist/{agent-via-gateway-BlRwv6D6.js → agent-via-gateway-CC37LlPd.js} +8 -7
  12. package/dist/{agent-via-gateway-BVY7w5-N.js → agent-via-gateway-Cl2YwlXJ.js} +2 -1
  13. package/dist/{agent-via-gateway-BDWomN2t.js → agent-via-gateway-ClQrLbgo.js} +5 -4
  14. package/dist/{agent-via-gateway-DSZK5iRF.js → agent-via-gateway-pMCfUzW-.js} +61 -60
  15. package/dist/{agents-BLa67Gdv.js → agents-DrnGQroU.js} +4 -4
  16. package/dist/{agents.config-CyEkgCQE.js → agents.config-BZPnYIMF.js} +2 -2
  17. package/dist/{agents.config-ADCeu0yD.js → agents.config-DfWZrbXn.js} +1 -1
  18. package/dist/{plugin-sdk/anton-Bp5L7uaN.js → anton-B-I7rEtn.js} +24 -13
  19. package/dist/{anton-CZ5moxh6.js → anton-BfrX2FMd.js} +19 -8
  20. package/dist/anton-BgKjig3B.js +751 -0
  21. package/dist/{anton-D-0SP_5T.js → anton-BrY-bWgq.js} +19 -8
  22. package/dist/{api-key-rotation-nXQVJErE.js → api-key-rotation-B-FTJm5p.js} +1 -1
  23. package/dist/{audio-preflight-vD3mDc6w.js → audio-preflight-CSSlgO89.js} +4 -4
  24. package/dist/{audio-preflight-DzjXupNO.js → audio-preflight-Dl1TO10w.js} +31 -31
  25. package/dist/{audio-preflight-CW8IH1lU.js → audio-preflight-aBtF0cRI.js} +35 -35
  26. package/dist/{audit-D12wg2tV.js → audit-BmaVRZSd.js} +22 -22
  27. package/dist/{auth-choice-BDndThZZ.js → auth-choice-D12Wsf7w.js} +12 -12
  28. package/dist/{auth-choice-01ELTnLA.js → auth-choice-DtvI4epn.js} +1 -1
  29. package/dist/{auth-choice-CqbTnCYz.js → auth-choice-_C22dz9o.js} +10 -10
  30. package/dist/{auth-choice.apply-helpers-pTqMTYmi.js → auth-choice.apply-helpers-CGcniL1T.js} +1 -1
  31. package/dist/{auth-store-CMyrmmSF.js → auth-store-DDzIMy8_.js} +7 -7
  32. package/dist/{auth-store-DXT-l7fO.js → auth-store-DQAd4LSE.js} +12 -12
  33. package/dist/{auth-token-fKt_cHOj.js → auth-token-BJq87X3o.js} +1 -1
  34. package/dist/{banner-Dv_eAAWw.js → banner-B-UYZG8d.js} +1 -1
  35. package/dist/{bindings-DZjkLUU_.js → bindings-B59Q7nsk.js} +1 -1
  36. package/dist/{bindings-D3b5Fmc9.js → bindings-B9L4cqmm.js} +2 -2
  37. package/dist/{browser-cli-Da-0lyq2.js → browser-cli-Ny1nHwqv.js} +11 -11
  38. package/dist/build-info.json +3 -3
  39. package/dist/bundled/boot-md/handler.js +60 -60
  40. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  41. package/dist/bundled/command-logger/handler.js +3 -3
  42. package/dist/bundled/session-memory/handler.js +60 -60
  43. package/dist/{call-DnTBT02D.js → call-BRL23UCk.js} +9 -9
  44. package/dist/{channel-account-context-B4nJPU2N.js → channel-account-context-CDbY5AIr.js} +5 -5
  45. package/dist/{plugin-sdk/channel-activity-TcS_VfJk.js → channel-activity-DOLX-uK1.js} +3 -3
  46. package/dist/{channel-options-BilcK806.js → channel-options-BbwNg4q_.js} +1 -1
  47. package/dist/{channel-options-BvOLgXCF.js → channel-options-C0iwLcfC.js} +3 -3
  48. package/dist/{channel-selection-3jUl-PyW.js → channel-selection-ZxRkxpuF.js} +1 -1
  49. package/dist/{channel-web-B1IazKKL.js → channel-web-BLxKeCXF.js} +22 -22
  50. package/dist/{channel-web-BptLTwvg.js → channel-web-q6Ugfiks.js} +2 -2
  51. package/dist/{channels-cli-DejBZZ85.js → channels-cli-BtL1XuuK.js} +7 -7
  52. package/dist/{channels-cli-FssbSykQ.js → channels-cli-DaRR8vAs.js} +88 -88
  53. package/dist/{channels-status-issues-hgASw9UA.js → channels-status-issues-CDpWjdI3.js} +1 -1
  54. package/dist/{chrome-DEnkfZ9p.js → chrome-D_SXDetO.js} +20 -20
  55. package/dist/{chrome-BcJB6PcM.js → chrome-Do5potHV.js} +9 -9
  56. package/dist/{chrome-YguTEaLx.js → chrome-VBsQfIrt.js} +2 -2
  57. package/dist/{chunk-CMpX7Jaz.js → chunk-BgScV6uo.js} +1 -1
  58. package/dist/{clawbot-cli-C5cDal-5.js → clawbot-cli-uFgYrysW.js} +5 -5
  59. package/dist/cli/daemon-cli.js +1 -1
  60. package/dist/{cli-BrQZTuUX.js → cli-BjhrdeVd.js} +70 -70
  61. package/dist/{cli-j1A8WKSj.js → cli-CrUoGRuS.js} +2 -2
  62. package/dist/{client-DIckPnsi.js → client-DxH9hwLn.js} +1 -1
  63. package/dist/{command-registry-DZZAmcbA.js → command-registry-BZNlvfaM.js} +10 -10
  64. package/dist/{commands-D3BU_t7G.js → commands-Dj5LalLo.js} +1 -1
  65. package/dist/{commands-registry-j4vAzcF2.js → commands-registry-CK7aj_ri.js} +5 -5
  66. package/dist/{commands-registry-Cj4D_1tw.js → commands-registry-CURlRZQJ.js} +3 -3
  67. package/dist/{completion-cli-ktxbWAiG.js → completion-cli-BIabgt7h.js} +12 -12
  68. package/dist/{completion-cli-Cxvf8clb.js → completion-cli-p9W-g1Pe.js} +2 -2
  69. package/dist/{config-cli-CogA71uD.js → config-cli-B4nNEjK9.js} +6 -6
  70. package/dist/{config-cli-Bq_MWzp9.js → config-cli-u4zbdm-e.js} +1 -1
  71. package/dist/{config-guard-DnAyuF6T.js → config-guard-BdsOumqh.js} +17 -17
  72. package/dist/{config-validation-DIomLMwH.js → config-validation-BvKX6fPw.js} +2 -2
  73. package/dist/{configure-CZUn--aN.js → configure-BbDbMd5G.js} +16 -16
  74. package/dist/{configure-CPDGJFyt.js → configure-Dj1JdeEI.js} +3 -3
  75. package/dist/{control-ui-assets-CiaCDBvZ.js → control-ui-assets-C7ZpN9hN.js} +1 -1
  76. package/dist/{cron-cli-B8uqoogS.js → cron-cli-Xml0Uww8.js} +12 -12
  77. package/dist/{daemon-cli-CMBNTpSS.js → daemon-cli-B1Ti51bt.js} +11 -11
  78. package/dist/{daemon-install-DeqQiAad.js → daemon-install-CYPo4M1M.js} +4 -4
  79. package/dist/{daemon-install-helpers-Bug_GYuy.js → daemon-install-helpers-BZY9-jNW.js} +9 -9
  80. package/dist/{deliver-yTpXc5sv.js → deliver--kttnrER.js} +7 -7
  81. package/dist/{deliver-BUiQ-9fE.js → deliver-CJaM2zRY.js} +20 -20
  82. package/dist/{deliver-5FLCa6tB.js → deliver-whAbSPLk.js} +1 -1
  83. package/dist/{deps-PAzfFs3Q.js → deps-BMWq0kjy.js} +1 -1
  84. package/dist/{deps-BUUwigzc.js → deps-BuRud-p8.js} +1 -1
  85. package/dist/{plugin-sdk/deps-B5eQTF_d.js → deps-CQzDLqTz.js} +6 -6
  86. package/dist/{deps-CH8f3TJK.js → deps-Dr9GpASq.js} +6 -6
  87. package/dist/{devices-cli-DVLF8Yvw.js → devices-cli-BNkO0Fey.js} +7 -7
  88. package/dist/{diagnostic-4owMk4vH.js → diagnostic-lz5wKsEe.js} +1 -1
  89. package/dist/{diagnostics-CdUgLS0N.js → diagnostics-DmZbQ8Nc.js} +5 -5
  90. package/dist/{directory-cli-BAMS8f9U.js → directory-cli-Dz9iXeut.js} +9 -9
  91. package/dist/{dns-cli-BdxBk-k_.js → dns-cli-DD6hWsdc.js} +4 -4
  92. package/dist/{dock-BgOmHcbh.js → dock-6MgvdSqu.js} +6 -6
  93. package/dist/{dock-CzF5XYGd.js → dock-Y96MzKuM.js} +4 -4
  94. package/dist/{docs-cli-SF7es4Zs.js → docs-cli-cHkrTB2e.js} +4 -4
  95. package/dist/{doctor-completion-iWmUY3B4.js → doctor-completion-BLRGmusD.js} +2 -2
  96. package/dist/{doctor-completion-i04j1TGW.js → doctor-completion-BeZMlZPb.js} +1 -1
  97. package/dist/{doctor-config-flow-8qXzBx09.js → doctor-config-flow-Ck4oCjfl.js} +14 -14
  98. package/dist/{emergency-stop-CfKEsUr_.js → emergency-stop-BEsjWvQL.js} +70 -70
  99. package/dist/{emergency-stop-CzExWKhr.js → emergency-stop-BU-Vbk3V.js} +7 -7
  100. package/dist/{emergency-stop-DAmKucxm.js → emergency-stop-CSSPAKHr.js} +2 -2
  101. package/dist/emergency-stop-JXB5jZyK.js +113 -0
  102. package/dist/{enable-DaA_orGN.js → enable-o_s6PBsC.js} +1 -1
  103. package/dist/entry.js +1 -1
  104. package/dist/{env-B5G1qwGc.js → env-B7b7MKfk.js} +1 -1
  105. package/dist/{errors-C_0nm4TJ.js → errors--Eb33_ji.js} +1 -1
  106. package/dist/{exec-approvals-allowlist-8AkOwwIr.js → exec-approvals-allowlist-Co2tJSEo.js} +1 -1
  107. package/dist/{exec-approvals-cli-CtoJW2K-.js → exec-approvals-cli-CyjTnYfk.js} +15 -15
  108. package/dist/{exec-safe-bin-runtime-policy-DYXuBKqH.js → exec-safe-bin-runtime-policy-DaoU9-ni.js} +2 -2
  109. package/dist/extensionAPI.js +7 -7
  110. package/dist/{fetch-guard-iuQsIjqN.js → fetch-guard-OZ_PCUyr.js} +1 -1
  111. package/dist/{frontmatter-BOudmHMS.js → frontmatter-p8nPDprK.js} +2 -2
  112. package/dist/{fs-safe-CYUaAFO9.js → fs-safe-BEl8T_Vc.js} +2 -2
  113. package/dist/{fs-safe-DNFrxDS-.js → fs-safe-_JQUGpZf.js} +15 -15
  114. package/dist/{gateway-cli-DSJcNJYR.js → gateway-cli-BCHdAJHS.js} +9 -9
  115. package/dist/{gateway-cli-C8P5BVto.js → gateway-cli-Dumy2IVU.js} +148 -148
  116. package/dist/{gateway-rpc-6vnhO4v8.js → gateway-rpc-Du-ZpDjh.js} +1 -1
  117. package/dist/{gemini-auth-CIyaa44H.js → gemini-auth-CA0K3QXj.js} +2 -2
  118. package/dist/{github-copilot-token-Dgt6cnsM.js → github-copilot-token-DCg9Q9Ll.js} +7 -7
  119. package/dist/{health-BN8WNyon.js → health-B3kk7l82.js} +1 -1
  120. package/dist/{health-CNZK5D2k.js → health-CqdQAURH.js} +13 -13
  121. package/dist/{hooks-cli-t7tiLn8P.js → hooks-cli-Ba4woLl0.js} +84 -84
  122. package/dist/{hooks-cli-L32lBsp7.js → hooks-cli-jMG5GST1.js} +3 -3
  123. package/dist/{hooks-status-CPIWc_bx.js → hooks-status-DNGo2G8Q.js} +1 -1
  124. package/dist/{idlehands-root-DFL2GrNW.js → idlehands-root-B8cUs-5M.js} +8 -8
  125. package/dist/{image-C_aN5P6-.js → image-BAsQlUqT.js} +1 -1
  126. package/dist/{image-D8b_rlQC.js → image-BQ3RQWD8.js} +6 -6
  127. package/dist/{image-C2JZiK-6.js → image-DSDEbSiO.js} +5 -5
  128. package/dist/{image-ops-D1KtygWz.js → image-ops-BU-VdLZu.js} +2 -2
  129. package/dist/{plugin-sdk/image-ops-BRYGGDwL.js → image-ops-ZNtLhD4c.js} +3 -3
  130. package/dist/index.js +80 -80
  131. package/dist/{inspect-Dg16DMLn.js → inspect-ISQZuNM5.js} +4 -4
  132. package/dist/{install-safe-path-CNNMzJl9.js → install-safe-path-ChNR9pl6.js} +19 -19
  133. package/dist/{installs-ST3UaUVJ.js → installs-CNubze2L.js} +9 -9
  134. package/dist/{ir-B7IBoKLy.js → ir-DnyYtX4H.js} +5 -5
  135. package/dist/{ir-DV0Hszc8.js → ir-VncGpwA1.js} +6 -6
  136. package/dist/{lifecycle-core-DOScNyOv.js → lifecycle-core-B6UoqYTJ.js} +5 -5
  137. package/dist/llm-slug-generator.js +60 -60
  138. package/dist/{local-roots-KN4Hp1yZ.js → local-roots-C9CA2f0R.js} +5 -5
  139. package/dist/{local-roots-Cco87A2_.js → local-roots-q0xbefkf.js} +2 -2
  140. package/dist/{login-Dl_lsEHS.js → login-CfUhrgWT.js} +4 -4
  141. package/dist/{login-CFr5vJmR.js → login-Cn1vc1bn.js} +6 -6
  142. package/dist/{login-qr-B68cBRH0.js → login-qr-DBMsUxgL.js} +7 -7
  143. package/dist/{login-qr-CFFFOjOl.js → login-qr-Dj0NmRdg.js} +11 -11
  144. package/dist/{logs-cli-BluGGq03.js → logs-cli-CH4mFhUt.js} +8 -8
  145. package/dist/{manager-BBeTPO2h.js → manager-BMAFgXyU.js} +13 -13
  146. package/dist/{manager-BE_76jWB.js → manager-DBd_2F6j.js} +15 -15
  147. package/dist/{manifest-registry-RfRn8HJx.js → manifest-registry-Bak1x76G.js} +1 -1
  148. package/dist/{markdown-tables-CzsockiZ.js → markdown-tables-CsrsXS80.js} +1 -1
  149. package/dist/{markdown-tables-C5hTDqNm.js → markdown-tables-DZClqsNo.js} +1 -1
  150. package/dist/{memory-cli-4wfelGdK.js → memory-cli-CUGwnVIY.js} +12 -12
  151. package/dist/{message-channel-C8QtrwEU.js → message-channel-Cg9KtLfy.js} +1 -1
  152. package/dist/{model-Bd-05WpB.js → model-C-icShH2.js} +2 -2
  153. package/dist/{model-catalog-BCsDrrvq.js → model-catalog-D9no0CH2.js} +3 -3
  154. package/dist/{model-picker-D3U0wJCO.js → model-picker-BkXoTOiA.js} +4 -4
  155. package/dist/{model-selection-CSn9tUuH.js → model-selection-0dGxYGp8.js} +16 -16
  156. package/dist/{model-selection-1MMYqY6M.js → model-selection-Vtu6d5Um.js} +41 -41
  157. package/dist/{models-mQeB9JXZ.js → models-C6GypzZ1.js} +2 -2
  158. package/dist/{models-cli-dd-wJvj0.js → models-cli-BaR1RccY.js} +4 -4
  159. package/dist/{models-cli-ChStpcQY.js → models-cli-iLP9BnPA.js} +79 -79
  160. package/dist/{models-config-lQpqp472.js → models-config-C5A1wDWh.js} +6 -6
  161. package/dist/{node-cli-DhD8-NHR.js → node-cli-Ch7K7WtL.js} +32 -32
  162. package/dist/{node-service-GpI0jzKr.js → node-service-C3vyxHLA.js} +1 -1
  163. package/dist/{nodes-cli-DPzxQ0mY.js → nodes-cli-D_hUCPNt.js} +14 -14
  164. package/dist/{nodes-screen-CIAn0wXq.js → nodes-screen-CcpPaFxa.js} +4 -4
  165. package/dist/{npm-registry-spec-BfeHLbIQ.js → npm-registry-spec-BCbbfIhX.js} +16 -16
  166. package/dist/{npm-resolution-tT1BUac2.js → npm-resolution-CWxaTTrT.js} +3 -3
  167. package/dist/{npm-resolution-WKW4cIrd.js → npm-resolution-DYUWHUe5.js} +1 -1
  168. package/dist/{onboard-rze7pzoW.js → onboard-CinZ4CuY.js} +6 -6
  169. package/dist/{onboard-D1wKkHHC.js → onboard-DdBsJgzg.js} +2 -2
  170. package/dist/{onboard-channels-CG1R8Ozs.js → onboard-channels-9XAEsgO-.js} +1 -1
  171. package/dist/{onboard-channels-CRHp5hA-.js → onboard-channels-Bnwwq6TK.js} +20 -20
  172. package/dist/{onboard-custom-D2sCP3_S.js → onboard-custom-DUbzMMu7.js} +4 -4
  173. package/dist/{onboard-helpers-ByhJg2ST.js → onboard-helpers-BQmbMJxJ.js} +8 -8
  174. package/dist/{onboard-hooks-_1Jgimeu.js → onboard-hooks-D9teGxfH.js} +4 -4
  175. package/dist/{onboard-remote-DuhWSiAO.js → onboard-remote-CIjhaP2W.js} +1 -1
  176. package/dist/{onboard-skills-vFwEasAg.js → onboard-skills-BsaUIuq6.js} +4 -4
  177. package/dist/{onboarding-BxvY_aEE.js → onboarding-C4oujn63.js} +13 -13
  178. package/dist/{onboarding-BgHfZNln.js → onboarding-DFvHWFqL.js} +3 -3
  179. package/dist/{onboarding.finalize-DnCFQEPR.js → onboarding.finalize-BDWHPpyn.js} +82 -82
  180. package/dist/{onboarding.finalize-5_UCPMAw.js → onboarding.finalize-DMhdDTvo.js} +7 -7
  181. package/dist/{onboarding.gateway-config-qVAY6x7I.js → onboarding.gateway-config-CEQMyj8l.js} +16 -16
  182. package/dist/{openai-model-default-OPCCNNS0.js → openai-model-default-7J6cw1rA.js} +2 -2
  183. package/dist/{outbound-BNh6PpQb.js → outbound-BYm4JJli.js} +6 -6
  184. package/dist/{outbound-CG19kl0w.js → outbound-DPTxwchq.js} +4 -4
  185. package/dist/{plugin-sdk/outbound-attachment-Bs7fNaqv.js → outbound-attachment-Bot3bRnK.js} +2 -2
  186. package/dist/{outbound-attachment-jYdMgCml.js → outbound-attachment-DwaqvYNG.js} +2 -2
  187. package/dist/{pairing-cli-QJYYDcIK.js → pairing-cli-jwx6hMsM.js} +10 -10
  188. package/dist/{pairing-labels-DuZ7ih-T.js → pairing-labels-ChQJzbS9.js} +1 -1
  189. package/dist/{pairing-store-qvpPoWL_.js → pairing-store-CPpEEQJO.js} +2 -2
  190. package/dist/{pairing-token-3hoCgQqp.js → pairing-token-lKXTMQ_M.js} +7 -7
  191. package/dist/{path-alias-guards-Cu1nXNMM.js → path-alias-guards-BnjbJzIQ.js} +1 -1
  192. package/dist/{path-alias-guards-BCskHdfJ.js → path-alias-guards-FXBVVTLw.js} +3 -3
  193. package/dist/{path-safety-C1Y004P_.js → path-safety-DwibX65n.js} +1 -1
  194. package/dist/{paths-D_qUel1T.js → paths-0fcEvxu4.js} +3 -3
  195. package/dist/{paths-Bt0fZexW.js → paths-B-CLQ5RT.js} +9 -9
  196. package/dist/{paths-BYNVLNi_.js → paths-CkTEyLTV.js} +5 -5
  197. package/dist/{pi-embedded-D_8x2ll-.js → pi-embedded-BDp9JsrM.js} +180 -180
  198. package/dist/{pi-embedded-BcmA23Ak.js → pi-embedded-Dap1HAGA.js} +26 -26
  199. package/dist/{pi-embedded-helpers-CghCLoPo.js → pi-embedded-helpers-B1CKQ81Y.js} +24 -24
  200. package/dist/{pi-embedded-helpers-BkzrQ5bZ.js → pi-embedded-helpers-BCsfqpDt.js} +6 -6
  201. package/dist/{pi-embedded-helpers-C2j0LfJC.js → pi-embedded-helpers-Ct2rwp-P.js} +4 -4
  202. package/dist/{pi-model-discovery-Bt79ifyi.js → pi-model-discovery-BIP3RjXl.js} +1 -1
  203. package/dist/{pi-model-discovery-Bb__OY-j.js → pi-model-discovery-DBHbwKOo.js} +7 -7
  204. package/dist/{pi-tools.policy-B_ME3yF6.js → pi-tools.policy-DfITIKZj.js} +5 -5
  205. package/dist/{plugin-auto-enable-BMuSi4aV.js → plugin-auto-enable-7DUxMy6A.js} +3 -3
  206. package/dist/{plugin-registry-CncOKeD3.js → plugin-registry-CGFy1ugt.js} +1 -1
  207. package/dist/{plugin-registry-C3IHwz9i.js → plugin-registry-LYzfPk35.js} +3 -3
  208. package/dist/plugin-sdk/{accounts-Kt6ygPsC.js → accounts-BLYMokxV.js} +2 -2
  209. package/dist/plugin-sdk/{accounts-mjFAny5F.js → accounts-C5tHm1UI.js} +1 -1
  210. package/dist/plugin-sdk/{accounts-B9nfRzyn.js → accounts-CBVAw5_G.js} +1 -1
  211. package/dist/plugin-sdk/{agent-scope-CU41EMlR.js → agent-scope-jl80I5G9.js} +2 -2
  212. package/dist/plugin-sdk/{agent-via-gateway-CDKZ0Jk9.js → agent-via-gateway-De4e2_-W.js} +56 -55
  213. package/dist/{anton-llLwn1lp.js → plugin-sdk/anton-BO16dWNw.js} +24 -13
  214. package/dist/plugin-sdk/{api-key-rotation-CZhCWd61.js → api-key-rotation-D6nK54XH.js} +2 -2
  215. package/dist/plugin-sdk/{audio-preflight-CRgDehfO.js → audio-preflight-CKqqN8ty.js} +30 -30
  216. package/dist/plugin-sdk/{auth-store-DycBvVqL.js → auth-store-DaPWgQTx.js} +1 -1
  217. package/dist/plugin-sdk/{bindings-BDKKHGv-.js → bindings-xXgmJGxj.js} +2 -2
  218. package/dist/{channel-activity-D_TMOGQ0.js → plugin-sdk/channel-activity-loOg1DRw.js} +3 -3
  219. package/dist/plugin-sdk/{channel-web-DcgShj6y.js → channel-web-Cd-eamYe.js} +24 -24
  220. package/dist/plugin-sdk/{chrome-BCTizrZD.js → chrome-Cb9FgiCI.js} +6 -6
  221. package/dist/plugin-sdk/{chunk-DZr5xuqv.js → chunk-PW4MBmaN.js} +1 -1
  222. package/dist/plugin-sdk/commands/agent-via-gateway.d.ts +1 -0
  223. package/dist/plugin-sdk/{commands-registry-BqJLwZYh.js → commands-registry-B5m2EsHz.js} +5 -5
  224. package/dist/plugin-sdk/{config-BzPMtEKA.js → config-CEgzwk0J.js} +10 -10
  225. package/dist/plugin-sdk/{deliver-Cfc1UCre.js → deliver-BNfMF0Nb.js} +10 -10
  226. package/dist/{deps-B_5kPH1Q.js → plugin-sdk/deps-D6VWIdk7.js} +6 -6
  227. package/dist/plugin-sdk/{diagnostic-B8VzcqLf.js → diagnostic-ByA6zvzu.js} +1 -1
  228. package/dist/plugin-sdk/{dock-CMURqoee.js → dock-DKQYtT6-.js} +6 -6
  229. package/dist/plugin-sdk/{emergency-stop-DQppo4RU.js → emergency-stop-w-HD2bz4.js} +55 -55
  230. package/dist/plugin-sdk/{env-qurSiOO2.js → env-5XecRTLs.js} +1 -1
  231. package/dist/plugin-sdk/{errors-UqLewZJL.js → errors-CMcD8Lhh.js} +1 -1
  232. package/dist/plugin-sdk/{fetch-guard-C174s8ZV.js → fetch-guard-DwdUEdmT.js} +1 -1
  233. package/dist/plugin-sdk/{fs-safe-CCXTOK7j.js → fs-safe-qsx2_8-o.js} +2 -2
  234. package/dist/plugin-sdk/{image-DDuK8tyO.js → image-C_1tftC8.js} +6 -6
  235. package/dist/{image-ops-BkoEFRYH.js → plugin-sdk/image-ops-CXSUo-AM.js} +12 -12
  236. package/dist/plugin-sdk/index.js +60 -60
  237. package/dist/plugin-sdk/{ir-Bv0Zbp2E.js → ir-kdDGpPMq.js} +5 -5
  238. package/dist/plugin-sdk/{local-roots-bHCsSVt_.js → local-roots-DjB6DYeI.js} +4 -4
  239. package/dist/plugin-sdk/{login-CkQrnY2G.js → login-DIwO5D5Y.js} +6 -6
  240. package/dist/plugin-sdk/{login-qr-DAeHibH_.js → login-qr-CpCAJuvT.js} +8 -8
  241. package/dist/plugin-sdk/{manager-CTC1S_c9.js → manager-Dox9r7og.js} +10 -10
  242. package/dist/plugin-sdk/{markdown-tables-DfUQHRZY.js → markdown-tables-Drtwd4J5.js} +1 -1
  243. package/dist/plugin-sdk/{message-channel-DiMXmQeQ.js → message-channel-CQ0qkGHj.js} +1 -1
  244. package/dist/plugin-sdk/{outbound-B1twcfz5.js → outbound-Dx_q6JAI.js} +6 -6
  245. package/dist/{outbound-attachment-3I6GzwDe.js → plugin-sdk/outbound-attachment-BisU5Vji.js} +2 -2
  246. package/dist/plugin-sdk/{path-alias-guards-yyy61qHh.js → path-alias-guards-C_uBEYb4.js} +1 -1
  247. package/dist/plugin-sdk/{pi-embedded-helpers-BAm9cWol.js → pi-embedded-helpers-B68z4sHq.js} +16 -16
  248. package/dist/plugin-sdk/{pi-model-discovery-Bt6JtUFr.js → pi-model-discovery-Dt6899be.js} +1 -1
  249. package/dist/plugin-sdk/{plugins-DRPlVBr_.js → plugins-NTjIvHYk.js} +5 -5
  250. package/dist/plugin-sdk/{pw-ai-CY0evCZ2.js → pw-ai-Dk2PTZzq.js} +10 -10
  251. package/dist/plugin-sdk/{qmd-manager-BckPBwZX.js → qmd-manager-juzrnopq.js} +5 -5
  252. package/dist/plugin-sdk/{query-expansion-CPqK-tTR.js → query-expansion-xBXvzdkL.js} +2 -2
  253. package/dist/{redact-Bvpf-ATQ.js → plugin-sdk/redact-B6VQH3UQ.js} +1 -1
  254. package/dist/plugin-sdk/{replies-DwTNZJgi.js → replies-ZovJp-3F.js} +3 -3
  255. package/dist/plugin-sdk/{reply-BtQHoQT3.js → reply-BqAPyIsz.js} +95 -95
  256. package/dist/plugin-sdk/{reply-prefix-BqV0o7_7.js → reply-prefix--mxmTL7A.js} +1 -1
  257. package/dist/plugin-sdk/{resolve-outbound-target-DAdNGEqG.js → resolve-outbound-target-CnUtsDch.js} +2 -2
  258. package/dist/plugin-sdk/{resolve-route-C5mAwY-o.js → resolve-route-BZABUE4J.js} +3 -3
  259. package/dist/plugin-sdk/{retry-2OVzZJMZ.js → retry-Bh7jveNm.js} +1 -1
  260. package/dist/plugin-sdk/{runner-Ck0w3rcz.js → runner-CZz1tOIR.js} +10 -10
  261. package/dist/plugin-sdk/{send-BBD-m-nM.js → send-0EVlThEG.js} +10 -10
  262. package/dist/plugin-sdk/{send-CaPoBwby.js → send-B26cNPqY.js} +6 -6
  263. package/dist/plugin-sdk/{send-CPeuqOlq.js → send-BCjVQhp3.js} +13 -13
  264. package/dist/plugin-sdk/{send-SsqudCMv.js → send-CHUGIZs9.js} +7 -7
  265. package/dist/plugin-sdk/{send-A4Lv5nrg.js → send-Cb5NIN8s.js} +7 -7
  266. package/dist/plugin-sdk/{session-DpL4uk1J.js → session-DdJj6_DW.js} +3 -3
  267. package/dist/plugin-sdk/{sessions-CQ5iD4Uq.js → sessions-DNx9c2O2.js} +6 -6
  268. package/dist/plugin-sdk/{skill-commands-C_O9I71g.js → skill-commands-DorIK8kn.js} +5 -5
  269. package/dist/plugin-sdk/{skills-DmiIiX4l.js → skills-Dh_Cf2PA.js} +8 -8
  270. package/dist/plugin-sdk/{store-BI3rLJdW.js → store-CCCXwngh.js} +2 -2
  271. package/dist/plugin-sdk/{subsystem-lJo9gqAK.js → subsystem-DWPzKeZ0.js} +1 -1
  272. package/dist/plugin-sdk/{tables-C4X_nAUQ.js → tables-CF9W23Rd.js} +1 -1
  273. package/dist/{target-errors-BPfQrPim.js → plugin-sdk/target-errors-DaH0qYtL.js} +2 -2
  274. package/dist/plugin-sdk/{tokens-CU9S3S7t.js → tokens-Y97UKh4C.js} +1 -1
  275. package/dist/{tool-images-CcGZpzmq.js → plugin-sdk/tool-images-BMRkn_yk.js} +2 -2
  276. package/dist/plugin-sdk/{tool-loop-detection-DuwkSqZL.js → tool-loop-detection-Cv8wyfAi.js} +2 -2
  277. package/dist/plugin-sdk/{utils-dP-FpIgu.js → utils-Dyj2wV4e.js} +2 -2
  278. package/dist/plugin-sdk/web-Dj_tThNQ.js +71 -0
  279. package/dist/plugin-sdk/{whatsapp-actions-Bcknq6EZ.js → whatsapp-actions-B5g-Rywy.js} +23 -23
  280. package/dist/{plugins-CRB60mCJ.js → plugins-Bb6_uisJ.js} +10 -10
  281. package/dist/{plugins-B4hASNc2.js → plugins-D46VZh7u.js} +2 -2
  282. package/dist/{plugins-cli-BMptU-1l.js → plugins-cli-BCAcCeRZ.js} +80 -80
  283. package/dist/{plugins-cli-CMYlin6k.js → plugins-cli-BQKfJ9aF.js} +3 -3
  284. package/dist/{ports-B07M55Gr.js → ports-B2o0FSFD.js} +1 -1
  285. package/dist/{ports-DWJO5S52.js → ports-SQy1d-RL.js} +2 -2
  286. package/dist/{program-DyMaBEqF.js → program-Df-zk5RB.js} +8 -8
  287. package/dist/{program-context-BxflGz_G.js → program-context-DBOEyhi4.js} +43 -43
  288. package/dist/{prompt-select-styled-es3PJxfH.js → prompt-select-styled-B0FsbRWb.js} +4 -4
  289. package/dist/{prompt-select-styled-CI3hobey.js → prompt-select-styled-DJVZSK4X.js} +37 -37
  290. package/dist/{provider-auth-helpers-DYxaYmlq.js → provider-auth-helpers-Aojd4jNn.js} +5 -5
  291. package/dist/{provider-auth-helpers-CrGScfnN.js → provider-auth-helpers-D0cQmJkF.js} +1 -1
  292. package/dist/{push-apns-BNxgGXQy.js → push-apns-BtI9tV7C.js} +1 -1
  293. package/dist/{push-apns-CjAXPy2N.js → push-apns-qzriU6TC.js} +5 -5
  294. package/dist/{pw-ai-BGALvhDi.js → pw-ai-7i9eGnLh.js} +11 -11
  295. package/dist/{pw-ai-CfYaR1K2.js → pw-ai-BKPa5DlF.js} +13 -13
  296. package/dist/{pw-ai-DjmrIQle.js → pw-ai-yrIWfcWX.js} +1 -1
  297. package/dist/{qmd-manager-CVcPfkhL.js → qmd-manager-B-qeywfQ.js} +19 -19
  298. package/dist/{qmd-manager-B_GgyQQ0.js → qmd-manager-DEJVRLvM.js} +8 -8
  299. package/dist/{qr-cli-D2Oh8f0U.js → qr-cli-CSt5ihwG.js} +1 -1
  300. package/dist/{query-expansion-DEq020GG.js → query-expansion-CW7PqIXL.js} +5 -5
  301. package/dist/{query-expansion-i5I3yavb.js → query-expansion-Clts_AGz.js} +12 -12
  302. package/dist/{plugin-sdk/redact-Ub8sMBBC.js → redact-D1Ebz_iR.js} +1 -1
  303. package/dist/{redact-snapshot-CtIVs92s.js → redact-snapshot-BBNDQZIe.js} +1 -1
  304. package/dist/{register.agent-B9f0mtlc.js → register.agent-ButiRGeg.js} +9 -9
  305. package/dist/{register.agent-DrVFgVpf.js → register.agent-Xdy9Gu3H.js} +95 -95
  306. package/dist/{register.configure-DAlBU97I.js → register.configure-f4xr9iKB.js} +8 -8
  307. package/dist/register.configure-m5qhbCOO.js +168 -0
  308. package/dist/{register.maintenance-G_dZOyQA.js → register.maintenance-BA4e0HDc.js} +90 -90
  309. package/dist/{register.maintenance-BThQUyMI.js → register.maintenance-N55abUee.js} +9 -9
  310. package/dist/{register.message-DKaxesxx.js → register.message-DaVB6EYW.js} +3 -3
  311. package/dist/{register.message-BVTuvjQA.js → register.message-Zta0bYh0.js} +71 -71
  312. package/dist/{register.onboard-CwtL9YYR.js → register.onboard-BHKf5Emm.js} +2 -2
  313. package/dist/{register.onboard-CnoQ56yq.js → register.onboard-BikBO9Gs.js} +18 -18
  314. package/dist/{register.orchestrator-anton-2LtPHPXM.js → register.orchestrator-anton-DtPFOV9F.js} +14 -14
  315. package/dist/{register.orchestrator-anton-Ce55Lxt0.js → register.orchestrator-anton-x3yGok7b.js} +2 -2
  316. package/dist/{register.setup-Dg5LmRxd.js → register.setup-BeRMjZaz.js} +2 -2
  317. package/dist/{register.setup-_s2CQaBF.js → register.setup-DCIPrpG0.js} +21 -21
  318. package/dist/{register.status-health-sessions-DX2OgAeG.js → register.status-health-sessions-CA5wMwpi.js} +4 -4
  319. package/dist/{register.status-health-sessions-iSQzPXD0.js → register.status-health-sessions-I0YSjY_V.js} +82 -82
  320. package/dist/{register.subclis-YeKuHCRg.js → register.subclis-DZkq_g35.js} +9 -9
  321. package/dist/{replies-6_GxvQYe.js → replies-CXcxPRWk.js} +3 -3
  322. package/dist/{replies-Czp4hvpS.js → replies-hSFVxL4h.js} +1 -1
  323. package/dist/{reply-DKIv9jez.js → reply-DlS9HBVo.js} +153 -153
  324. package/dist/{reply-prefix-BMEdvSpA.js → reply-prefix-49q2WQ2B.js} +1 -1
  325. package/dist/{reply-prefix-BUgeSN2R.js → reply-prefix-C3y4zpTl.js} +1 -1
  326. package/dist/{resolve-route-Ef_Yt2Dw.js → resolve-route-D_AbcmD6.js} +2 -2
  327. package/dist/{resolve-route-DuttYY7A.js → resolve-route-Dr-fqH39.js} +4 -4
  328. package/dist/{retry-BeB9WenR.js → retry-DWN-e4ja.js} +1 -1
  329. package/dist/{rpc-DDTp_J6f.js → rpc-CCimHATv.js} +1 -1
  330. package/dist/{run-main-BwWO5erE.js → run-main-B75ak_hb.js} +15 -15
  331. package/dist/{runner-CZW_eyf2.js → runner-Bv_BA3vd.js} +1 -1
  332. package/dist/{runner-PgRFPYUj.js → runner-DO528Ump.js} +11 -11
  333. package/dist/{runner-BFG54hnb.js → runner-DzszLzI4.js} +20 -20
  334. package/dist/{runtime-DEmy759r.js → runtime-XmXLaHNk.js} +2 -2
  335. package/dist/{sandbox-CfPbhDY_.js → sandbox-DcUw5h3p.js} +20 -20
  336. package/dist/{sandbox-cli-B4wLJr21.js → sandbox-cli-DGvJ7Eeq.js} +22 -22
  337. package/dist/{secrets-cli-CidAOBfl.js → secrets-cli-Bgp_H_bH.js} +9 -9
  338. package/dist/{security-cli-Ch7AhbhS.js → security-cli-MQ__Ca6v.js} +39 -39
  339. package/dist/{send-DDMaLJAQ.js → send--lzpNy4f.js} +7 -7
  340. package/dist/{send-BeIZJuy4.js → send-BspIjWIY.js} +7 -7
  341. package/dist/{send-DmLC7aEF.js → send-BypmtKl1.js} +10 -10
  342. package/dist/{send-BCPkAE2k.js → send-C4v0Leny.js} +6 -6
  343. package/dist/{send-D4bMycQu.js → send-CRnMBrJ2.js} +7 -7
  344. package/dist/{send-CEavqqEz.js → send-DQiw_nGD.js} +6 -6
  345. package/dist/{send-Dfa3sn6r.js → send-De8xTUIV.js} +24 -24
  346. package/dist/{send-BPwTl4-K.js → send-DuwdEkLw.js} +4 -4
  347. package/dist/{send-CVIXqubC.js → send-DwdHiC7_.js} +13 -13
  348. package/dist/{send-C1hvd3bt.js → send-szC_vYk_.js} +6 -6
  349. package/dist/{server-BpSbZAwg.js → server-D6MltJIF.js} +14 -14
  350. package/dist/{server-context-BxNSTpH6.js → server-context-DI0W_H7R.js} +10 -10
  351. package/dist/{server-lifecycle-CGKrGrhM.js → server-lifecycle-B5PlrlbG.js} +2 -2
  352. package/dist/{server-node-events-CZ5OkouD.js → server-node-events-B1RPoseF.js} +71 -71
  353. package/dist/{server-node-events-lbb8M18B.js → server-node-events-CufCnFp4.js} +3 -3
  354. package/dist/{service-Bj2oSfpw.js → service-C8NMS3m_.js} +15 -15
  355. package/dist/{session-F_YDS_1V.js → session-CKiIT4OY.js} +7 -7
  356. package/dist/{session-BKVySI8q.js → session-CdnrRhb4.js} +1 -1
  357. package/dist/{sessions-3ioSeOA1.js → sessions-BgxmLQuf.js} +41 -41
  358. package/dist/{sessions-BqWocozB.js → sessions-BtPXimXQ.js} +14 -14
  359. package/dist/{shared-DnQ4iyXk.js → shared-CpDPo3hJ.js} +2 -2
  360. package/dist/{shared-Jzrx8DfN.js → shared-DpLSpJIl.js} +1 -1
  361. package/dist/{skill-commands-BwIRWSCI.js → skill-commands-BFzmZAfo.js} +5 -5
  362. package/dist/{skill-commands-Ck3flWX7.js → skill-commands-BOUMR5De.js} +9 -9
  363. package/dist/{skill-scanner-B4Ftsbd2.js → skill-scanner-D7mzXRXd.js} +5 -5
  364. package/dist/{skills-TIyQDZx7.js → skills-DlvDyK8L.js} +3 -3
  365. package/dist/{skills-CnAPWfca.js → skills-OsjsCf_S.js} +22 -22
  366. package/dist/{skills-cli-5lbXi4Lh.js → skills-cli-BhKGhjbO.js} +5 -5
  367. package/dist/{skills-install-D0JHP5uM.js → skills-install-tr6wRWZj.js} +4 -4
  368. package/dist/{skills-status-Q9skQExW.js → skills-status-qjQ8XP0h.js} +1 -1
  369. package/dist/{status-BE1Y0CKS.js → status-ERmEJYw1.js} +2 -2
  370. package/dist/{status-Bd9NYE1U.js → status-hXjECVBh.js} +24 -24
  371. package/dist/{status.update-C3uRz7W6.js → status.update-CTi6vuWj.js} +2 -2
  372. package/dist/{store-CvMgrKWx.js → store-B4rHJvSg.js} +2 -2
  373. package/dist/{store-CLNuI8-G.js → store-kH9wHHbO.js} +5 -5
  374. package/dist/{subagent-registry-CTZmDdGV.js → subagent-registry-CcxZYIwL.js} +11 -11
  375. package/dist/{subsystem-tzu-rIAJ.js → subsystem-B98oWbbO.js} +1 -1
  376. package/dist/{system-cli-DBp9Zmvt.js → system-cli-3T-OTIKv.js} +8 -8
  377. package/dist/{system-run-approval-context-xZVoE4nS.js → system-run-approval-context-CISBXlNw.js} +1 -1
  378. package/dist/{system-run-command-BIhrK3OI.js → system-run-command-qJdgzxLp.js} +1 -1
  379. package/dist/{systemd-DyrVLTI0.js → systemd-CaCR5CyM.js} +9 -9
  380. package/dist/{systemd-hints-BoKKzRI_.js → systemd-hints-DHu-HVFx.js} +6 -6
  381. package/dist/{systemd-linger-DrhGd61G.js → systemd-linger-B7XlUHk_.js} +1 -1
  382. package/dist/{tables-5k-zOZ-s.js → tables-DuOExt0S.js} +1 -1
  383. package/dist/{tables-CZSD889r.js → tables-g9xkflht.js} +1 -1
  384. package/dist/{plugin-sdk/target-errors-CXh6e9ZE.js → target-errors-CWZr3RMI.js} +2 -2
  385. package/dist/{target-errors-BYuWhuLU.js → target-errors-bLIVFsbF.js} +4 -4
  386. package/dist/{tokens-BRLyURxW.js → tokens-B9ArFCMX.js} +1 -1
  387. package/dist/{tool-images-DZHrc4pq.js → tool-images-CHqepyF_.js} +1 -1
  388. package/dist/{plugin-sdk/tool-images-Cf9aWlVu.js → tool-images-DLiBUCZb.js} +2 -2
  389. package/dist/{tool-loop-detection-BNGetx3Z.js → tool-loop-detection-j48jLTrr.js} +3 -3
  390. package/dist/{tui-cli-DKyA5pZ2.js → tui-cli-BVKWJ9X7.js} +30 -30
  391. package/dist/{tui-DWGHGeZ3.js → tui-lalhRHve.js} +6 -6
  392. package/dist/{update-la2AdLf3.js → update-D79ppbMQ.js} +3 -3
  393. package/dist/{update-cli-D-4_OhRR.js → update-cli-DROtjWg7.js} +9 -9
  394. package/dist/{update-cli-DvUx2El6.js → update-cli-Rnv68OR6.js} +99 -99
  395. package/dist/{update-runner-n2snlf-4.js → update-runner-BWxBVG9j.js} +15 -15
  396. package/dist/{update-runner-BvaywdEe.js → update-runner-CqeNDbPD.js} +1 -1
  397. package/dist/{upgrade-command-28wRHZZ2.js → upgrade-command-909a7QUc.js} +3 -3
  398. package/dist/{utils-CTFLl_ji.js → utils-ChNzRVsg.js} +18 -18
  399. package/dist/{web-Dbrx58hF.js → web-5ddwA0bs.js} +66 -66
  400. package/dist/web-BMSzFWiF.js +123 -0
  401. package/dist/{web-BjP-D0Iz.js → web-BQLIquZA.js} +8 -8
  402. package/dist/{web-BedV4zGE.js → web-CnzKMZK0.js} +3 -3
  403. package/dist/{webhooks-cli-BnmVPYkU.js → webhooks-cli-2N03q0iY.js} +6 -6
  404. package/dist/{whatsapp-actions-DbPcN6JQ.js → whatsapp-actions-CYraflBZ.js} +25 -25
  405. package/dist/{whatsapp-actions-D2mBFzmK.js → whatsapp-actions-Cms8wQM1.js} +18 -18
  406. package/dist/{with-timeout-BodPmGCY.js → with-timeout-DEdycYxq.js} +3 -3
  407. package/dist/{workspace-DBFSzT6O.js → workspace-AM44PzIs.js} +18 -18
  408. package/dist/{workspace-CDw87aZG.js → workspace-D3pARwoB.js} +1 -1
  409. package/dist/{workspace-dirs-D3bousoX.js → workspace-dirs-SsExQ3Bz.js} +1 -1
  410. package/dist/{wsl-CgXDjE09.js → wsl-BJW8nTyL.js} +2 -2
  411. package/extensions/acpx/package.json +1 -1
  412. package/extensions/bluebubbles/package.json +1 -1
  413. package/extensions/copilot-proxy/package.json +1 -1
  414. package/extensions/diagnostics-otel/package.json +1 -1
  415. package/extensions/discord/package.json +1 -1
  416. package/extensions/feishu/package.json +1 -1
  417. package/extensions/google-gemini-cli-auth/package.json +1 -1
  418. package/extensions/googlechat/package.json +1 -1
  419. package/extensions/hand/package.json +1 -1
  420. package/extensions/imessage/package.json +1 -1
  421. package/extensions/irc/package.json +1 -1
  422. package/extensions/line/package.json +1 -1
  423. package/extensions/llm-task/package.json +1 -1
  424. package/extensions/matrix/CHANGELOG.md +6 -0
  425. package/extensions/matrix/package.json +1 -1
  426. package/extensions/mattermost/package.json +1 -1
  427. package/extensions/memory-core/package.json +1 -1
  428. package/extensions/memory-lancedb/package.json +1 -1
  429. package/extensions/minimax-portal-auth/package.json +1 -1
  430. package/extensions/msteams/CHANGELOG.md +6 -0
  431. package/extensions/msteams/package.json +1 -1
  432. package/extensions/nextcloud-talk/package.json +1 -1
  433. package/extensions/nostr/CHANGELOG.md +6 -0
  434. package/extensions/nostr/package.json +1 -1
  435. package/extensions/open-prose/package.json +1 -1
  436. package/extensions/signal/package.json +1 -1
  437. package/extensions/slack/package.json +1 -1
  438. package/extensions/synology-chat/package.json +1 -1
  439. package/extensions/telegram/package.json +1 -1
  440. package/extensions/tlon/package.json +1 -1
  441. package/extensions/twitch/CHANGELOG.md +6 -0
  442. package/extensions/twitch/package.json +1 -1
  443. package/extensions/voice-call/CHANGELOG.md +6 -0
  444. package/extensions/voice-call/package.json +1 -1
  445. package/extensions/whatsapp/package.json +1 -1
  446. package/extensions/zalo/CHANGELOG.md +6 -0
  447. package/extensions/zalo/package.json +1 -1
  448. package/extensions/zalouser/CHANGELOG.md +6 -0
  449. package/extensions/zalouser/package.json +1 -1
  450. package/package.json +1 -1
  451. package/dist/anton-DYEYyPJ1.js +0 -740
  452. package/dist/emergency-stop-tKLAiFAG.js +0 -113
  453. package/dist/plugin-sdk/web-Cg6vlkku.js +0 -71
  454. package/dist/register.configure-BxZRBEJ9.js +0 -168
  455. package/dist/web-CDFWB79W.js +0 -123
@@ -1,88 +1,88 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, i as resolveAgentDir, l as resolveEffectiveModelFallbacks, m as resolveAgentModelFallbackValues, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride } from "./agent-scope-DyP_tr7s.js";
3
- import { d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, m as resolveRequiredHomeDir, n as STATE_DIR, s as resolveGatewayPort } from "./paths-BYNVLNi_.js";
4
- import { C as triggerInternalHook, _ as getPluginCommandSpecs, a as listChatChannels, b as createInternalHookEvent, c as normalizeChatChannelId, d as requireActivePluginRegistry, f as setActivePluginRegistry, g as executePluginCommand, h as clearPluginCommands, i as getChatChannelMeta, l as getActivePluginRegistry, m as normalizePluginHttpPath, o as normalizeAnyChannelId, p as createPluginRegistry, r as CHAT_CHANNEL_ORDER, s as normalizeChannelId$1, t as createSubsystemLogger, u as getActivePluginRegistryKey, v as listPluginCommands, y as matchPluginCommand } from "./subsystem-tzu-rIAJ.js";
5
- import { A as shouldLogVerbose, C as isPlainObject, D as logVerbose, F as theme, I as getChildLogger, K as resolvePreferredIdleHandsTmpDir, M as warn, N as colorize, P as isRich, S as truncateUtf16Safe, W as normalizeLogLevel, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, k as setVerbose, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, w as danger, y as sleep$1 } from "./utils-CTFLl_ji.js";
2
+ import { c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as toAgentModelListLike, h as resolveAgentModelPrimaryValue, i as resolveAgentDir, l as resolveEffectiveModelFallbacks, m as resolveAgentModelFallbackValues, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride } from "./agent-scope-BVeQuh5x.js";
3
+ import { d as resolveStateDir, f as expandHomePrefix, i as resolveConfigPath, m as resolveRequiredHomeDir, n as STATE_DIR, s as resolveGatewayPort } from "./paths-CkTEyLTV.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-B98oWbbO.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-ChNzRVsg.js";
6
6
  import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as defaultRuntime, o as unregisterActiveProgressLine, t as createNonExitingRuntime } from "./runtime-8mi3mpYB.js";
7
7
  import { S as resolveThreadParentSessionKey, _ as getSubagentDepth, b as isSubagentSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as deriveSessionChatType, h as isBlockedObjectKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as parseAgentSessionKey, y as isCronSessionKey } from "./session-key-CuLPSMu_.js";
8
- import { S as logWarn, T as openBoundaryFileSync, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, l as ensureAgentWorkspace, m as resolveIdleHandsPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, w as openBoundaryFile, x as logInfo, y as logDebug } from "./workspace-DBFSzT6O.js";
9
- import { $t as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, A as getSoonestCooldownExpiry, At as buildEnforcedShellCommand, Bt as unwrapKnownDispatchWrapperInvocation, C as getCustomProviderApiKey, Ct as unsetConfigValueAtPath, D as resolveModelAuthMode, Dt as normalizeTrustedSafeBinDirs, E as resolveEnvApiKey, Et as listWritableExplicitTrustedSafeBinDirs, F as resolveApiKeyForProfile, Ft as resolveAllowlistCandidatePath, G as normalizeTelegramCommandName, Gt as resolveSafeBinProfiles, H as writeConfigFile, Ht as splitShellArgs, It as resolveCommandResolutionFromArgv, J as isInboundPathAllowed, Jt as mapStreamingModeToSlackLegacyDraftStreamMode, K as resolveTelegramCustomCommands, Kt as applyMergePatch, Lt as extractShellWrapperInlineCommand, M as markAuthProfileFailure, Mt as splitCommandChain, N as markAuthProfileUsed, Nt as DEFAULT_SAFE_BINS, Ot as validateSafeBinArgv, P as resolveProfilesUnavailableReason, Pt as matchAllowlist, Q as normalizeScpRemoteHost, R as loadConfig, Rt as isDispatchWrapperExecutable, S as getApiKeyForModel, St as setConfigValueAtPath, T as resolveApiKeyForProvider, Tt as isTrustedSafeBinPath, U as validateConfigObjectWithPlugins, Ut as SAFE_BIN_PROFILES, V as resolveConfigSnapshotHash, Vt as unwrapKnownShellMultiplexerInvocation, W as TELEGRAM_COMMAND_NAME_PATTERN, Wt as normalizeSafeBinProfileFixtures, X as resolveIMessageAttachmentRoots, Xt as resolveSlackNativeStreaming, Yt as resolveDiscordPreviewStreamMode, Z as resolveIMessageRemoteAttachmentRoots, Zt as resolveSlackStreamingMode, _n as splitTrailingAuthProfile, _t as resetConfigOverrides, a as isCliProvider, an as resolveOwnerDisplaySetting, at as isPathWithinRoot, b as OLLAMA_NATIVE_BASE_URL, bn as DEFAULT_PROVIDER, bt as getConfigValueAtPath, c as normalizeProviderId, cn as markAuthProfileGood, ct as loadPluginManifestRegistry, d as resolveDefaultModelForAgent, dn as resolveIdleHandsAgentDir, dt as safeStatSync, en as resolveAgentMaxConcurrent, et as parseDurationMs, f as resolveModelRefFromString, fn as withFileLock, ft as applyTestPluginDefaults, gn as normalizeSecretInput, gt as getConfigOverrides, h as resolveThinkingDefault, hn as resolveAuthProfileDisplayLabel, ht as resolveMemorySlotDecision, i as findNormalizedProviderValue, in as isDangerousHostEnvVarName, it as isAvatarHttpUrl, j as isProfileInCooldown, jt as isWindowsPlatform, k as resolveAuthProfileOrder, kt as analyzeShellCommand, ln as ensureAuthProfileStore, lt as discoverIdleHandsPlugins, m as resolveSubagentSpawnModelSelection, mt as resolveEffectiveEnableState, n as buildConfiguredAllowlistKeys, nn as getShellPathFromLoginShell, nt as AVATAR_MAX_BYTES, o as modelKey, on as dedupeProfileIds, ot as isSupportedLocalAvatarExtension, p as resolveReasoningDefault, pt as normalizePluginsConfig, qt as isSafeExecutableValue, r as buildModelAliasIndex, rn as resolveShellEnvFallbackTimeoutMs, rt as isAvatarDataUrl, s as normalizeModelRef$2, sn as listProfilesForProvider, st as validateJsonSchemaValue, t as buildAllowedModelSet, tn as VERSION, u as resolveConfiguredModelRef, un as resolveAuthStorePathForDisplay, ut as isPathInside, vn as DEFAULT_CONTEXT_TOKENS, vt as setConfigOverride, w as requireApiKey, wt as getTrustedSafeBinDirs, x as createOllamaStreamFn, xt as parseConfigPath, yn as DEFAULT_MODEL, yt as unsetConfigOverride, z as readConfigFileSnapshot, zt as isShellWrapperExecutable } from "./model-selection-1MMYqY6M.js";
10
- import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Dgt6cnsM.js";
8
+ import { S as logWarn, T as openBoundaryFileSync, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, l as ensureAgentWorkspace, m as resolveIdleHandsPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, w as openBoundaryFile, x as logInfo, y as logDebug } from "./workspace-AM44PzIs.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-Vtu6d5Um.js";
10
+ import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DCg9Q9Ll.js";
11
11
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-BAxx4PW5.js";
12
12
  import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
13
- import { t as isTruthyEnvValue } from "./env-B5G1qwGc.js";
13
+ import { t as isTruthyEnvValue } from "./env-B7b7MKfk.js";
14
14
  import { n as MANIFEST_KEY } from "./legacy-names-B4ZvHEmO.js";
15
- import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, o as resolveChannelGroupToolsPolicy, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-BgOmHcbh.js";
15
+ import { a as resolveChannelGroupRequireMention, c as normalizeHyphenSlug, i as resolveChannelGroupPolicy, l as normalizeStringEntries, n as listChannelDocks, o as resolveChannelGroupToolsPolicy, r as normalizeSignalMessagingTarget, s as normalizeAtHashSlug, t as getChannelDock, u as normalizeStringEntriesLower } from "./dock-6MgvdSqu.js";
16
16
  import { t as runTasksWithConcurrency } from "./run-with-concurrency-CEV6qf-x.js";
17
- import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BRLyURxW.js";
18
- import { _ as resolveDiscordAccount, a as normalizeWhatsAppTarget, c as listTelegramAccountIds, d as resolveSlackAccount, g as listEnabledDiscordAccounts, h as createDiscordActionGate, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackBotToken, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAppToken, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as normalizeDiscordToken } from "./plugins-CRB60mCJ.js";
19
- import { n as resolveWhatsAppAccount, t as hasAnyWhatsAppAuth } from "./accounts-Dk8mJIrQ.js";
17
+ import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-B9ArFCMX.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-Bb6_uisJ.js";
19
+ import { n as resolveWhatsAppAccount, t as hasAnyWhatsAppAuth } from "./accounts-CRDMZUcg.js";
20
20
  import { t as resolveAccountEntry } from "./account-lookup-DlMshWZ_.js";
21
21
  import { t as normalizeChatType } from "./chat-type-BPBtOjer.js";
22
- import { t as buildChannelAccountBindings } from "./bindings-D3b5Fmc9.js";
23
- import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-DXT-l7fO.js";
24
- import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BeIZJuy4.js";
25
- import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-DmLC7aEF.js";
22
+ import { t as buildChannelAccountBindings } from "./bindings-B9L4cqmm.js";
23
+ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, n as getWebAuthAgeMs, p as webAuthExists } from "./auth-store-DQAd4LSE.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-BspIjWIY.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-BypmtKl1.js";
26
26
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-B1N_MXT_.js";
27
- import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-BUiQ-9fE.js";
28
- import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-4owMk4vH.js";
27
+ import { C as initializeGlobalHookRunner, S as getGlobalHookRunner, _ as createReplyToModeFilterForChannel, a as normalizeOutboundPayloadsForJson, b as normalizeChannelTargetInput, c as parseReplyDirectives, d as applyReplyThreading, f as filterMessagingToolDuplicates, g as shouldSuppressReasoningPayload, h as shouldSuppressMessagingToolReplies, i as normalizeOutboundPayloads, l as splitMediaFromOutput, m as isRenderablePayload, o as normalizeReplyPayloadsForDelivery, p as filterMessagingToolMediaDuplicates, r as formatOutboundPayloadLog, s as throwIfAborted, t as deliverOutboundPayloads, u as applyReplyTagsToPayload, v as resolveReplyToMode, x as normalizeTargetForProvider, y as buildTargetResolverSignature } from "./deliver-CJaM2zRY.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-lz5wKsEe.js";
29
29
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-BGF2r-kt.js";
30
- import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-BDVs8LTu.js";
31
- import { $ as readJsonFileWithFallback, A as extractTelegramLocation, B as normalizeAllowFrom$2, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as mergeDmAllowFromSources, H as resolveSenderAllowMatch, I as resolveTelegramReplyId, J as toLocationContext, K as resolveGroupAllowFromSources, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as upsertChannelPairingRequest, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as firstDefined$1, V as normalizeDmAllowFromWithStore$1, W as isSenderIdAllowed, X as readChannelAllowFromStore, Y as addChannelAllowFromStoreEntry, Z as removeChannelAllowFromStoreEntry, _ as resolveTelegramFetch, a as reactMessageTelegram, at as resolveTelegramTargetChatType, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as writeJsonFileAtomically, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, it as parseTelegramTarget, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, nt as listPairingChannels, o as sendMessageTelegram, p as markdownToTelegramChunks, q as formatLocationText, r as deleteMessageTelegram, rt as isVoiceCompatibleAudio, s as sendPollTelegram, t as buildInlineKeyboard, tt as getPairingAdapter, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-Dfa3sn6r.js";
32
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-D1KtygWz.js";
33
- import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bb__OY-j.js";
34
- import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-C8QtrwEU.js";
35
- import { $ as stripPluginOnlyAllowlist, A as isTimeoutErrorMessage, B as resolveBrowserConfig, C as isCompactionFailureError, D as isLikelyContextOverflowError, E as isFailoverErrorMessage, F as ensureSandboxWorkspaceForSession, G as resolveGatewayCredentialsFromConfig, H as getBridgeAuthForPort, I as resolveSandboxContext, J as applyOwnerOnlyToolPolicy, K as trimToUndefined$1, L as resolveSandboxRuntimeStatus, M as parseImageDimensionError, N as parseImageSizeError, O as isRateLimitAssistantError, P as sanitizeUserFacingText, Q as mergeAlsoAllowPolicy, R as createBrowserRouteContext, S as isCloudCodeAssistFormatError, T as isFailoverAssistantError, U as ensureBrowserControlAuth, V as resolveProfile, W as resolveBrowserControlAuth, X as collectExplicitAllowlist, Y as buildPluginToolGroups, Z as expandPolicyWithPluginGroups, _ as formatRawAssistantErrorForUi, a as isMessagingToolDuplicateNormalized, at as buildBootstrapContextFiles, b as isAuthPermanentErrorMessage, c as extractToolCallsFromAssistant, ct as resolveBootstrapTotalMaxChars, d as downgradeOpenAIReasoningBlocks, et as expandToolGroups, f as isGoogleModelApi, g as formatBillingErrorMessage, h as formatAssistantErrorText, it as matchesAnyGlobPattern, j as isTransientHttpError, k as isRawApiErrorPayload, l as extractToolResultId, lt as sanitizeGoogleTurnOrdering, m as classifyFailoverReason, n as validateGeminiTurns, nt as resolveToolProfilePolicy, o as normalizeTextForComparison, ot as ensureSessionHeader, p as BILLING_ERROR_USER_MESSAGE, q as resolveSandboxConfigForAgent, r as pickFallbackThinkingLevel, rt as compileGlobPatterns, s as sanitizeSessionMessagesImages, st as resolveBootstrapMaxChars, t as validateAnthropicTurns, tt as normalizeToolName, u as sanitizeToolCallIdsForCloudCodeAssist, v as getApiErrorPayloadFingerprint, w as isContextOverflowError, x as isBillingAssistantError, y as isAuthAssistantError, z as registerBrowserRoutes } from "./pi-embedded-helpers-CghCLoPo.js";
36
- import { C as ensureChromeExtensionRelayServer, F as isSecureWebSocketUrl, O as DEFAULT_UPLOAD_DIR, P as isLoopbackHost, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as rawDataToString, k as resolveExistingPathsWithinRoot, s as resolveLsofCommandSync } from "./chrome-BcJB6PcM.js";
30
+ import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-upx5iuke.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-De8xTUIV.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-ZNtLhD4c.js";
33
+ import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DBHbwKOo.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-Cg9KtLfy.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-B1CKQ81Y.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-D_SXDetO.js";
37
37
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CZeHDwVZ.js";
38
- import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-CnAPWfca.js";
39
- import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Cu1nXNMM.js";
40
- import { r as compileSafeRegex, t as redactSensitiveText } from "./redact-Bvpf-ATQ.js";
41
- import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-C_0nm4TJ.js";
42
- import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-CYUaAFO9.js";
43
- import { n as getMediaDir, r as saveMediaBuffer } from "./store-CvMgrKWx.js";
44
- import { A as normalizeInputProvenance, B as setSessionRuntimeModel, C as capArrayByJsonBytes, D as INPUT_PROVENANCE_KIND_VALUES, E as parseInlineDirectives$1, F as resolveSessionResetType, G as deriveSessionMetaPatch, I as resolveThreadFlag, J as resolveSessionLockMaxHoldFromTimeout, K as resolveGroupSessionKey, L as DEFAULT_RESET_TRIGGERS, M as evaluateSessionFreshness, N as resolveChannelResetConfig, O as applyInputProvenanceToUserMessage, P as resolveSessionResetPolicy, R as mergeSessionEntry, S as archiveSessionTranscripts, T as extractToolCallNames, U as resolveExplicitAgentSessionKey, V as canonicalizeMainSessionAlias, W as resolveMainSessionKey, _ as deliveryContextKey, b as normalizeSessionDeliveryFields, c as readSessionUpdatedAt, d as updateLastRoute, f as updateSessionStore, g as deliveryContextFromSession, h as resolveCacheTtlMs$1, i as appendAssistantMessageToSessionTranscript, j as resolveSessionKey, k as hasInterSessionUserProvenance, l as recordSessionMetaFromInbound, m as isCacheEnabled, n as extractDeliveryInfo, o as resolveAndPersistSessionFile, p as updateSessionStoreEntry, q as acquireSessionWriteLock, r as parseSessionThreadInfo, s as loadSessionStore, v as mergeDeliveryContext, w as countToolResults, x as normalizeAccountId$3, y as normalizeDeliveryContext, z as resolveFreshSessionTotalTokens } from "./sessions-3ioSeOA1.js";
38
+ import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-OsjsCf_S.js";
39
+ import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BnjbJzIQ.js";
40
+ import { r as compileSafeRegex, t as redactSensitiveText } from "./redact-D1Ebz_iR.js";
41
+ import { n as formatErrorMessage, r as formatUncaughtError } from "./errors--Eb33_ji.js";
42
+ import { i as writeFileWithinRoot, n as openFileWithinRoot, t as SafeOpenError } from "./fs-safe-BEl8T_Vc.js";
43
+ import { n as getMediaDir, r as saveMediaBuffer } from "./store-B4rHJvSg.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-BgxmLQuf.js";
45
45
  import { n as resolveConversationLabel } from "./conversation-label-1Wad2kXc.js";
46
- import { t as resolveIMessageAccount } from "./accounts-CIvVRRHb.js";
47
- import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, u as resolveStorePath } from "./paths-D_qUel1T.js";
46
+ import { t as resolveIMessageAccount } from "./accounts-yD5yI-jP.js";
47
+ import { a as resolveSessionFilePathOptions, i as resolveSessionFilePath, l as resolveSessionTranscriptsDirForAgent, o as resolveSessionTranscriptPath, r as resolveDefaultSessionStorePath, u as resolveStorePath } from "./paths-0fcEvxu4.js";
48
48
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-_OimdA_2.js";
49
- import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CcGZpzmq.js";
49
+ import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-DLiBUCZb.js";
50
50
  import { a as normalizeReasoningLevel, c as normalizeVerboseLevel, i as normalizeElevatedLevel, l as resolveResponseUsageMode, n as formatXHighModelHint, o as normalizeThinkLevel, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking } from "./thinking-z4_linel.js";
51
- import { C as extractTextFromChatContent, S as isInsideCode, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, w as ensureIdleHandsModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-D8b_rlQC.js";
52
- import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BUgeSN2R.js";
53
- import { n as resolveMemorySearchConfig } from "./manager-BE_76jWB.js";
51
+ import { C as extractTextFromChatContent, S as isInsideCode, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, w as ensureIdleHandsModelsJson, x as findCodeRegions, y as resolveToolDisplay } from "./image-BQ3RQWD8.js";
52
+ import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-49q2WQ2B.js";
53
+ import { n as resolveMemorySearchConfig } from "./manager-DBd_2F6j.js";
54
54
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-3YYM8QuM.js";
55
- import { t as fetchWithSsrFGuard } from "./fetch-guard-iuQsIjqN.js";
56
- import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-DEq020GG.js";
57
- import { n as retryAsync } from "./retry-BeB9WenR.js";
58
- import { a as createActionGate, c as jsonResult, d as readReactionParams, f as readStringArrayParam, l as parseAvailableTags, m as readStringParam, n as missingTargetError, o as imageResult, p as readStringOrNumberParam, r as unknownTargetError, s as imageResultFromFile, t as ambiguousTargetError, u as readNumberParam } from "./target-errors-BPfQrPim.js";
59
- import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-CMpX7Jaz.js";
60
- import { n as resolveMarkdownTableMode } from "./markdown-tables-CzsockiZ.js";
61
- import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-KN4Hp1yZ.js";
62
- import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-B7IBoKLy.js";
63
- import { _ as isNativeCommandsExplicitlyDisabled, a as listChatCommands, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as isCommandFlagEnabled, h as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as serializeCommandArgs, o as listChatCommandsForConfig, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, v as isRestartEnabled, y as resolveNativeCommandsEnabled } from "./commands-registry-j4vAzcF2.js";
64
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-Ck3flWX7.js";
55
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-OZ_PCUyr.js";
56
+ import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-CW7PqIXL.js";
57
+ import { n as retryAsync } from "./retry-DWN-e4ja.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-CWZr3RMI.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-BgScV6uo.js";
60
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CsrsXS80.js";
61
+ import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError, t as getAgentScopedMediaLocalRoots } from "./local-roots-C9CA2f0R.js";
62
+ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-DnyYtX4H.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-CK7aj_ri.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-BOUMR5De.js";
65
65
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BYczzTII.js";
66
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$2, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-PgRFPYUj.js";
66
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$2, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-DO528Ump.js";
67
67
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-CsfR_943.js";
68
68
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-D9g0X0i7.js";
69
- import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-D_TMOGQ0.js";
69
+ import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-DOLX-uK1.js";
70
70
  import { n as normalizePollInput } from "./polls-DhMjjIGW.js";
71
- import { t as convertMarkdownTables } from "./tables-5k-zOZ-s.js";
72
- import { a as resolveSignalRpcContext, c as streamSignalEvents, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-C1hvd3bt.js";
73
- import { a as formatIMessageChatTarget, c as parseIMessageTarget, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, o as isAllowedIMessageSender, r as createIMessageRpcClient, s as normalizeIMessageHandle, t as sendMessageIMessage } from "./send-D4bMycQu.js";
74
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-DuttYY7A.js";
71
+ import { t as convertMarkdownTables } from "./tables-DuOExt0S.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-szC_vYk_.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-CRnMBrJ2.js";
74
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Dr-fqH39.js";
75
75
  import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-jilCMH1M.js";
76
76
  import { t as makeProxyFetch } from "./proxy-CRB9oCP5.js";
77
- import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-6_GxvQYe.js";
78
- import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-B_5kPH1Q.js";
77
+ import { a as createReplyReferencePlanner, i as resolveSlackThreadTs, n as deliverReplies$3, t as createSlackReplyDeliveryPlan } from "./replies-CXcxPRWk.js";
78
+ import { r as createOutboundSendDepsFromCliSource, t as createDefaultDeps } from "./deps-CQzDLqTz.js";
79
79
  import { createRequire } from "node:module";
80
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 syncFs, { existsSync, mkdirSync, mkdtempSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
85
+ import fsSync, { 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";
@@ -94,7 +94,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
94
94
  import { EdgeTTS } from "node-edge-tts";
95
95
  import { createServer } from "node:http";
96
96
  import { ProxyAgent, fetch as fetch$1 } from "undici";
97
- import WebSocket$1, { WebSocket } from "ws";
97
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
98
98
  import { Buffer as Buffer$1 } from "node:buffer";
99
99
  import { createJiti } from "jiti";
100
100
  import { Type } from "@sinclair/typebox";
@@ -3246,7 +3246,7 @@ async function resolveIdleHandsDocsPath(params) {
3246
3246
  const workspaceDir = params.workspaceDir?.trim();
3247
3247
  if (workspaceDir) {
3248
3248
  const workspaceDocs = path.join(workspaceDir, "docs");
3249
- if (syncFs.existsSync(workspaceDocs)) return workspaceDocs;
3249
+ if (fsSync.existsSync(workspaceDocs)) return workspaceDocs;
3250
3250
  }
3251
3251
  const packageRoot = await resolveIdleHandsPackageRoot({
3252
3252
  cwd: params.cwd,
@@ -3255,7 +3255,7 @@ async function resolveIdleHandsDocsPath(params) {
3255
3255
  });
3256
3256
  if (!packageRoot) return null;
3257
3257
  const packageDocs = path.join(packageRoot, "docs");
3258
- return syncFs.existsSync(packageDocs) ? packageDocs : null;
3258
+ return fsSync.existsSync(packageDocs) ? packageDocs : null;
3259
3259
  }
3260
3260
 
3261
3261
  //#endregion
@@ -3965,7 +3965,7 @@ async function getMemorySearchManager(params) {
3965
3965
  if (cached) return { manager: cached };
3966
3966
  }
3967
3967
  try {
3968
- const { QmdMemoryManager } = await import("./qmd-manager-B_GgyQQ0.js");
3968
+ const { QmdMemoryManager } = await import("./qmd-manager-DEJVRLvM.js");
3969
3969
  const primary = await QmdMemoryManager.create({
3970
3970
  cfg: params.cfg,
3971
3971
  agentId: params.agentId,
@@ -3977,7 +3977,7 @@ async function getMemorySearchManager(params) {
3977
3977
  const wrapper = new FallbackMemoryManager({
3978
3978
  primary,
3979
3979
  fallbackFactory: async () => {
3980
- const { MemoryIndexManager } = await import("./manager-BE_76jWB.js").then((n) => n.t);
3980
+ const { MemoryIndexManager } = await import("./manager-DBd_2F6j.js").then((n) => n.t);
3981
3981
  return await MemoryIndexManager.get(params);
3982
3982
  }
3983
3983
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -3990,7 +3990,7 @@ async function getMemorySearchManager(params) {
3990
3990
  }
3991
3991
  }
3992
3992
  try {
3993
- const { MemoryIndexManager } = await import("./manager-BE_76jWB.js").then((n) => n.t);
3993
+ const { MemoryIndexManager } = await import("./manager-DBd_2F6j.js").then((n) => n.t);
3994
3994
  return { manager: await MemoryIndexManager.get(params) };
3995
3995
  } catch (err) {
3996
3996
  return {
@@ -4678,7 +4678,7 @@ function resolveDefaultIdentityPath() {
4678
4678
  return path.join(resolveStateDir(), "identity", "device.json");
4679
4679
  }
4680
4680
  function ensureDir$2(filePath) {
4681
- syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
4681
+ fsSync.mkdirSync(path.dirname(filePath), { recursive: true });
4682
4682
  }
4683
4683
  const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
4684
4684
  function base64UrlEncode(buf) {
@@ -4714,8 +4714,8 @@ function generateIdentity() {
4714
4714
  }
4715
4715
  function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4716
4716
  try {
4717
- if (syncFs.existsSync(filePath)) {
4718
- const raw = syncFs.readFileSync(filePath, "utf8");
4717
+ if (fsSync.existsSync(filePath)) {
4718
+ const raw = fsSync.readFileSync(filePath, "utf8");
4719
4719
  const parsed = JSON.parse(raw);
4720
4720
  if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
4721
4721
  const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
@@ -4724,9 +4724,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4724
4724
  ...parsed,
4725
4725
  deviceId: derivedId
4726
4726
  };
4727
- syncFs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4727
+ fsSync.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
4728
4728
  try {
4729
- syncFs.chmodSync(filePath, 384);
4729
+ fsSync.chmodSync(filePath, 384);
4730
4730
  } catch {}
4731
4731
  return {
4732
4732
  deviceId: derivedId,
@@ -4751,9 +4751,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
4751
4751
  privateKeyPem: identity.privateKeyPem,
4752
4752
  createdAtMs: Date.now()
4753
4753
  };
4754
- syncFs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4754
+ fsSync.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
4755
4755
  try {
4756
- syncFs.chmodSync(filePath, 384);
4756
+ fsSync.chmodSync(filePath, 384);
4757
4757
  } catch {}
4758
4758
  return identity;
4759
4759
  }
@@ -4903,8 +4903,8 @@ function resolveDeviceAuthPath(env = process.env) {
4903
4903
  }
4904
4904
  function readStore(filePath) {
4905
4905
  try {
4906
- if (!syncFs.existsSync(filePath)) return null;
4907
- const raw = syncFs.readFileSync(filePath, "utf8");
4906
+ if (!fsSync.existsSync(filePath)) return null;
4907
+ const raw = fsSync.readFileSync(filePath, "utf8");
4908
4908
  const parsed = JSON.parse(raw);
4909
4909
  if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
4910
4910
  if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
@@ -4914,10 +4914,10 @@ function readStore(filePath) {
4914
4914
  }
4915
4915
  }
4916
4916
  function writeStore(filePath, store) {
4917
- syncFs.mkdirSync(path.dirname(filePath), { recursive: true });
4918
- syncFs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4917
+ fsSync.mkdirSync(path.dirname(filePath), { recursive: true });
4918
+ fsSync.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
4919
4919
  try {
4920
- syncFs.chmodSync(filePath, 384);
4920
+ fsSync.chmodSync(filePath, 384);
4921
4921
  } catch {}
4922
4922
  }
4923
4923
  function loadDeviceAuthToken(params) {
@@ -6374,7 +6374,7 @@ var GatewayClient = class {
6374
6374
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
6375
6375
  });
6376
6376
  }
6377
- this.ws = new WebSocket(url, wsOptions);
6377
+ this.ws = new WebSocket$1(url, wsOptions);
6378
6378
  this.ws.on("open", () => {
6379
6379
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
6380
6380
  const tlsError = this.validateTlsFingerprint();
@@ -6570,7 +6570,7 @@ var GatewayClient = class {
6570
6570
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
6571
6571
  if (this.connectTimer) clearTimeout(this.connectTimer);
6572
6572
  this.connectTimer = setTimeout(() => {
6573
- if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
6573
+ if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
6574
6574
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
6575
6575
  this.ws?.close(1008, "connect challenge timeout");
6576
6576
  }, connectChallengeTimeoutMs);
@@ -6612,7 +6612,7 @@ var GatewayClient = class {
6612
6612
  return null;
6613
6613
  }
6614
6614
  async request(method, params, opts) {
6615
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
6615
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
6616
6616
  const id = randomUUID();
6617
6617
  const frame = {
6618
6618
  type: "req",
@@ -7936,7 +7936,7 @@ async function routeReply(params) {
7936
7936
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7937
7937
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7938
7938
  try {
7939
- const { deliverOutboundPayloads } = await import("./deliver-BUiQ-9fE.js").then((n) => n.n);
7939
+ const { deliverOutboundPayloads } = await import("./deliver-CJaM2zRY.js").then((n) => n.n);
7940
7940
  const outboundSession = buildOutboundSessionContext({
7941
7941
  cfg,
7942
7942
  agentId: resolvedAgentId,
@@ -8456,7 +8456,7 @@ function normalizeSessionKey$1(value) {
8456
8456
  }
8457
8457
  function readSessionStore(storePath) {
8458
8458
  try {
8459
- const raw = syncFs.readFileSync(storePath, "utf-8");
8459
+ const raw = fsSync.readFileSync(storePath, "utf-8");
8460
8460
  const parsed = JSON5.parse(raw);
8461
8461
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
8462
8462
  } catch {}
@@ -17451,7 +17451,7 @@ function mergeLegacyAgent(current, legacy) {
17451
17451
  }
17452
17452
  function ensureDir$1(filePath) {
17453
17453
  const dir = path.dirname(filePath);
17454
- syncFs.mkdirSync(dir, { recursive: true });
17454
+ fsSync.mkdirSync(dir, { recursive: true });
17455
17455
  }
17456
17456
  function coerceAllowlistEntries(allowlist) {
17457
17457
  if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
@@ -17521,11 +17521,11 @@ function generateToken() {
17521
17521
  function loadExecApprovals() {
17522
17522
  const filePath = resolveExecApprovalsPath();
17523
17523
  try {
17524
- if (!syncFs.existsSync(filePath)) return normalizeExecApprovals({
17524
+ if (!fsSync.existsSync(filePath)) return normalizeExecApprovals({
17525
17525
  version: 1,
17526
17526
  agents: {}
17527
17527
  });
17528
- const raw = syncFs.readFileSync(filePath, "utf8");
17528
+ const raw = fsSync.readFileSync(filePath, "utf8");
17529
17529
  const parsed = JSON.parse(raw);
17530
17530
  if (parsed?.version !== 1) return normalizeExecApprovals({
17531
17531
  version: 1,
@@ -17542,9 +17542,9 @@ function loadExecApprovals() {
17542
17542
  function saveExecApprovals(file) {
17543
17543
  const filePath = resolveExecApprovalsPath();
17544
17544
  ensureDir$1(filePath);
17545
- syncFs.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
17545
+ fsSync.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
17546
17546
  try {
17547
- syncFs.chmodSync(filePath, 384);
17547
+ fsSync.chmodSync(filePath, 384);
17548
17548
  } catch {}
17549
17549
  }
17550
17550
  function ensureExecApprovals() {
@@ -18029,18 +18029,18 @@ function drainSystemEventEntries(sessionKey) {
18029
18029
  function resolvePowerShellPath() {
18030
18030
  const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
18031
18031
  const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
18032
- if (syncFs.existsSync(pwsh7)) return pwsh7;
18032
+ if (fsSync.existsSync(pwsh7)) return pwsh7;
18033
18033
  const programW6432 = process.env.ProgramW6432;
18034
18034
  if (programW6432 && programW6432 !== programFiles) {
18035
18035
  const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
18036
- if (syncFs.existsSync(pwsh7Alt)) return pwsh7Alt;
18036
+ if (fsSync.existsSync(pwsh7Alt)) return pwsh7Alt;
18037
18037
  }
18038
18038
  const pwshInPath = resolveShellFromPath("pwsh");
18039
18039
  if (pwshInPath) return pwshInPath;
18040
18040
  const systemRoot = process.env.SystemRoot || process.env.WINDIR;
18041
18041
  if (systemRoot) {
18042
18042
  const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
18043
- if (syncFs.existsSync(candidate)) return candidate;
18043
+ if (fsSync.existsSync(candidate)) return candidate;
18044
18044
  }
18045
18045
  return "powershell.exe";
18046
18046
  }
@@ -18078,7 +18078,7 @@ function resolveShellFromPath(name) {
18078
18078
  for (const entry of entries) {
18079
18079
  const candidate = path.join(entry, name);
18080
18080
  try {
18081
- syncFs.accessSync(candidate, syncFs.constants.X_OK);
18081
+ fsSync.accessSync(candidate, fsSync.constants.X_OK);
18082
18082
  return candidate;
18083
18083
  } catch {}
18084
18084
  }
@@ -21329,7 +21329,7 @@ const MODEL_CACHE = /* @__PURE__ */ new Map();
21329
21329
  await ensureIdleHandsModelsJson(cfg);
21330
21330
  } catch {}
21331
21331
  try {
21332
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-Bb__OY-j.js").then((n) => n.r);
21332
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-DBHbwKOo.js").then((n) => n.r);
21333
21333
  const agentDir = resolveIdleHandsAgentDir();
21334
21334
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
21335
21335
  applyDiscoveredContextWindows({
@@ -21481,7 +21481,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
21481
21481
  function hasGitMarker(repoRoot) {
21482
21482
  const gitPath = path.join(repoRoot, ".git");
21483
21483
  try {
21484
- const stat = syncFs.statSync(gitPath);
21484
+ const stat = fsSync.statSync(gitPath);
21485
21485
  return stat.isDirectory() || stat.isFile();
21486
21486
  } catch {
21487
21487
  return false;
@@ -21493,10 +21493,10 @@ function findGitRoot(startDir, opts = {}) {
21493
21493
  function resolveGitDirFromMarker(repoRoot) {
21494
21494
  const gitPath = path.join(repoRoot, ".git");
21495
21495
  try {
21496
- const stat = syncFs.statSync(gitPath);
21496
+ const stat = fsSync.statSync(gitPath);
21497
21497
  if (stat.isDirectory()) return gitPath;
21498
21498
  if (!stat.isFile()) return null;
21499
- const match = syncFs.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
21499
+ const match = fsSync.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
21500
21500
  if (!match?.[1]) return null;
21501
21501
  return path.resolve(repoRoot, match[1].trim());
21502
21502
  } catch {
@@ -21563,7 +21563,7 @@ const resolveCommitHash = (options = {}) => {
21563
21563
  cachedCommit = null;
21564
21564
  return cachedCommit;
21565
21565
  }
21566
- const head = syncFs.readFileSync(headPath, "utf-8").trim();
21566
+ const head = fsSync.readFileSync(headPath, "utf-8").trim();
21567
21567
  if (!head) {
21568
21568
  cachedCommit = null;
21569
21569
  return cachedCommit;
@@ -21571,7 +21571,7 @@ const resolveCommitHash = (options = {}) => {
21571
21571
  if (head.startsWith("ref:")) {
21572
21572
  const ref = head.replace(/^ref:\s*/i, "").trim();
21573
21573
  const refPath = path.resolve(path.dirname(headPath), ref);
21574
- cachedCommit = formatCommit(syncFs.readFileSync(refPath, "utf-8").trim());
21574
+ cachedCommit = formatCommit(fsSync.readFileSync(refPath, "utf-8").trim());
21575
21575
  return cachedCommit;
21576
21576
  }
21577
21577
  cachedCommit = formatCommit(head);
@@ -21831,17 +21831,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
21831
21831
  } catch {
21832
21832
  return;
21833
21833
  }
21834
- if (!syncFs.existsSync(logPath)) return;
21834
+ if (!fsSync.existsSync(logPath)) return;
21835
21835
  try {
21836
21836
  const TAIL_BYTES = 8192;
21837
- const stat = syncFs.statSync(logPath);
21837
+ const stat = fsSync.statSync(logPath);
21838
21838
  const offset = Math.max(0, stat.size - TAIL_BYTES);
21839
21839
  const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
21840
- const fd = syncFs.openSync(logPath, "r");
21840
+ const fd = fsSync.openSync(logPath, "r");
21841
21841
  try {
21842
- syncFs.readSync(fd, buf, 0, buf.length, offset);
21842
+ fsSync.readSync(fd, buf, 0, buf.length, offset);
21843
21843
  } finally {
21844
- syncFs.closeSync(fd);
21844
+ fsSync.closeSync(fd);
21845
21845
  }
21846
21846
  const tail = buf.toString("utf-8");
21847
21847
  const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
@@ -23061,7 +23061,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23061
23061
  };
23062
23062
  const arg = body.slice(6).trim();
23063
23063
  if (arg === "status" || arg === "") {
23064
- const { antonStatus } = await import("./anton-llLwn1lp.js");
23064
+ const { antonStatus } = await import("./anton-B-I7rEtn.js");
23065
23065
  const lines = [];
23066
23066
  await antonStatus({
23067
23067
  log: (msg) => lines.push(msg),
@@ -23077,7 +23077,7 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23077
23077
  return { shouldContinue: false };
23078
23078
  }
23079
23079
  if (arg === "stop") {
23080
- const { antonStop } = await import("./anton-llLwn1lp.js");
23080
+ const { antonStop } = await import("./anton-B-I7rEtn.js");
23081
23081
  const lines = [];
23082
23082
  await antonStop({
23083
23083
  log: (msg) => lines.push(msg),
@@ -23115,8 +23115,8 @@ const handleAntonCommand = async (params, _allowTextCommands) => {
23115
23115
  await sendProgress(replyCtx, text);
23116
23116
  return { shouldContinue: false };
23117
23117
  }
23118
- const { runAnton, formatProgressMessage } = await import("./anton-llLwn1lp.js");
23119
- const { createDefaultDeps } = await import("./deps-B_5kPH1Q.js").then((n) => n.n);
23118
+ const { runAnton, formatProgressMessage } = await import("./anton-B-I7rEtn.js");
23119
+ const { createDefaultDeps } = await import("./deps-CQzDLqTz.js").then((n) => n.n);
23120
23120
  const { createNonExitingRuntime } = await import("./runtime-8mi3mpYB.js").then((n) => n.r);
23121
23121
  const runtime = createNonExitingRuntime();
23122
23122
  const deps = createDefaultDeps();
@@ -23213,8 +23213,8 @@ const handleDirCommand = async (params, _allowTextCommands) => {
23213
23213
  }
23214
23214
  try {
23215
23215
  if (params.sessionKey) {
23216
- const { updateSessionStoreEntry } = await import("./sessions-3ioSeOA1.js").then((n) => n.u);
23217
- const { resolveDefaultSessionStorePath } = await import("./paths-D_qUel1T.js").then((n) => n.n);
23216
+ const { updateSessionStoreEntry } = await import("./sessions-BgxmLQuf.js").then((n) => n.u);
23217
+ const { resolveDefaultSessionStorePath } = await import("./paths-0fcEvxu4.js").then((n) => n.n);
23218
23218
  await updateSessionStoreEntry({
23219
23219
  storePath: params.storePath ?? resolveDefaultSessionStorePath(),
23220
23220
  sessionKey: params.sessionKey,
@@ -23403,7 +23403,7 @@ function resolveRepoRoot(params) {
23403
23403
  const configured = params.config?.agents?.defaults?.repoRoot?.trim();
23404
23404
  if (configured) try {
23405
23405
  const resolved = path.resolve(configured);
23406
- if (syncFs.statSync(resolved).isDirectory()) return resolved;
23406
+ if (fsSync.statSync(resolved).isDirectory()) return resolved;
23407
23407
  } catch {}
23408
23408
  const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
23409
23409
  const seen = /* @__PURE__ */ new Set();
@@ -24175,7 +24175,7 @@ async function buildContextReply(params) {
24175
24175
  //#region src/auto-reply/reply/commands-export-session.ts
24176
24176
  const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
24177
24177
  function loadTemplate(fileName) {
24178
- return syncFs.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24178
+ return fsSync.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
24179
24179
  }
24180
24180
  function generateHtml(sessionData) {
24181
24181
  const template = loadTemplate("template.html");
@@ -24249,7 +24249,7 @@ async function buildExportSessionReply(params) {
24249
24249
  } catch (err) {
24250
24250
  return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
24251
24251
  }
24252
- if (!syncFs.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
24252
+ if (!fsSync.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
24253
24253
  const sessionManager = SessionManager.open(sessionFile);
24254
24254
  const entries = sessionManager.getEntries();
24255
24255
  const header = sessionManager.getHeader();
@@ -24270,8 +24270,8 @@ async function buildExportSessionReply(params) {
24270
24270
  const defaultFileName = `idlehands-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
24271
24271
  const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
24272
24272
  const outputDir = path.dirname(outputPath);
24273
- if (!syncFs.existsSync(outputDir)) syncFs.mkdirSync(outputDir, { recursive: true });
24274
- syncFs.writeFileSync(outputPath, html, "utf-8");
24273
+ if (!fsSync.existsSync(outputDir)) fsSync.mkdirSync(outputDir, { recursive: true });
24274
+ fsSync.writeFileSync(outputPath, html, "utf-8");
24275
24275
  const relativePath = path.relative(params.workspaceDir, outputPath);
24276
24276
  return { text: [
24277
24277
  "✅ Session exported!",
@@ -24446,8 +24446,8 @@ function resolveZaiApiKey() {
24446
24446
  }
24447
24447
  try {
24448
24448
  const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
24449
- if (!syncFs.existsSync(authPath)) return;
24450
- const data = JSON.parse(syncFs.readFileSync(authPath, "utf-8"));
24449
+ if (!fsSync.existsSync(authPath)) return;
24450
+ const data = JSON.parse(fsSync.readFileSync(authPath, "utf-8"));
24451
24451
  return data["z-ai"]?.access || data.zai?.access;
24452
24452
  } catch {
24453
24453
  return;
@@ -26210,7 +26210,7 @@ function shouldPersistAnyBindingState() {
26210
26210
  }
26211
26211
  function shouldPersistBindingMutations() {
26212
26212
  if (shouldPersistAnyBindingState()) return true;
26213
- return syncFs.existsSync(resolveThreadBindingsPath());
26213
+ return fsSync.existsSync(resolveThreadBindingsPath());
26214
26214
  }
26215
26215
  function saveBindingsToDisk(params = {}) {
26216
26216
  if (!params.force && !shouldPersistAnyBindingState()) return;
@@ -27474,7 +27474,7 @@ const applyCostTotal = (totals, costTotal) => {
27474
27474
  totals.totalCost += costTotal;
27475
27475
  };
27476
27476
  async function* readJsonlRecords(filePath) {
27477
- const fileStream = syncFs.createReadStream(filePath, { encoding: "utf-8" });
27477
+ const fileStream = fsSync.createReadStream(filePath, { encoding: "utf-8" });
27478
27478
  const rl = readline.createInterface({
27479
27479
  input: fileStream,
27480
27480
  crlfDelay: Infinity
@@ -27546,10 +27546,10 @@ async function loadCostUsageSummary(params) {
27546
27546
  const dailyMap = /* @__PURE__ */ new Map();
27547
27547
  const totals = emptyTotals();
27548
27548
  const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
27549
- const entries = await syncFs.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
27549
+ const entries = await fsSync.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
27550
27550
  const files = (await Promise.all(entries.filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map(async (entry) => {
27551
27551
  const filePath = path.join(sessionsDir, entry.name);
27552
- const stats = await syncFs.promises.stat(filePath).catch(() => null);
27552
+ const stats = await fsSync.promises.stat(filePath).catch(() => null);
27553
27553
  if (!stats) return null;
27554
27554
  if (stats.mtimeMs < sinceTime) return null;
27555
27555
  return filePath;
@@ -27582,7 +27582,7 @@ async function loadCostUsageSummary(params) {
27582
27582
  }
27583
27583
  async function loadSessionCostSummary(params) {
27584
27584
  const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
27585
- if (!sessionFile || !syncFs.existsSync(sessionFile)) return null;
27585
+ if (!sessionFile || !fsSync.existsSync(sessionFile)) return null;
27586
27586
  const totals = emptyTotals();
27587
27587
  let firstActivity;
27588
27588
  let lastActivity;
@@ -29899,7 +29899,7 @@ async function createModelSelectionState(params) {
29899
29899
  }
29900
29900
  }
29901
29901
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
29902
- const { ensureAuthProfileStore } = await import("./model-selection-1MMYqY6M.js").then((n) => n.O);
29902
+ const { ensureAuthProfileStore } = await import("./model-selection-Vtu6d5Um.js").then((n) => n.O);
29903
29903
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
29904
29904
  const providerKey = normalizeProviderId(provider);
29905
29905
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -33421,7 +33421,7 @@ function asBoolean(value) {
33421
33421
  }
33422
33422
  function resolveTempPathParts(opts) {
33423
33423
  const tmpDir = opts.tmpDir ?? resolvePreferredIdleHandsTmpDir();
33424
- if (!opts.tmpDir) syncFs.mkdirSync(tmpDir, {
33424
+ if (!opts.tmpDir) fsSync.mkdirSync(tmpDir, {
33425
33425
  recursive: true,
33426
33426
  mode: 448
33427
33427
  });
@@ -36361,9 +36361,9 @@ function loadExternalCatalogEntries(options) {
36361
36361
  const entries = [];
36362
36362
  for (const rawPath of paths) {
36363
36363
  const resolved = resolveUserPath(rawPath);
36364
- if (!syncFs.existsSync(resolved)) continue;
36364
+ if (!fsSync.existsSync(resolved)) continue;
36365
36365
  try {
36366
- const payload = JSON.parse(syncFs.readFileSync(resolved, "utf-8"));
36366
+ const payload = JSON.parse(fsSync.readFileSync(resolved, "utf-8"));
36367
36367
  entries.push(...parseCatalogEntries(payload));
36368
36368
  } catch {}
36369
36369
  }
@@ -39579,7 +39579,7 @@ function listExistingAgentIdsFromDisk() {
39579
39579
  const root = resolveStateDir();
39580
39580
  const agentsDir = path.join(root, "agents");
39581
39581
  try {
39582
- return syncFs.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
39582
+ return fsSync.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
39583
39583
  } catch {
39584
39584
  return [];
39585
39585
  }
@@ -45424,7 +45424,7 @@ async function runAgentTurnWithFallback(params) {
45424
45424
  if (corruptedSessionId) {
45425
45425
  const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
45426
45426
  try {
45427
- syncFs.unlinkSync(transcriptPath);
45427
+ fsSync.unlinkSync(transcriptPath);
45428
45428
  } catch {}
45429
45429
  }
45430
45430
  delete params.activeSessionStore[sessionKey];
@@ -46159,9 +46159,9 @@ function auditPostCompactionReads(readFilePaths, workspaceDir, requiredReads = D
46159
46159
  * Returns messages from the last N lines (default 100).
46160
46160
  */
46161
46161
  function readSessionMessages(sessionFile, maxLines = 100) {
46162
- if (!syncFs.existsSync(sessionFile)) return [];
46162
+ if (!fsSync.existsSync(sessionFile)) return [];
46163
46163
  try {
46164
- const recentLines = syncFs.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
46164
+ const recentLines = fsSync.readFileSync(sessionFile, "utf-8").trim().split("\n").slice(-maxLines);
46165
46165
  const messages = [];
46166
46166
  for (const line of recentLines) try {
46167
46167
  const entry = JSON.parse(line);
@@ -46202,8 +46202,8 @@ const MAX_CONTEXT_CHARS = 3e3;
46202
46202
  async function readPostCompactionContext(workspaceDir) {
46203
46203
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
46204
46204
  try {
46205
- if (!syncFs.existsSync(agentsPath)) return null;
46206
- const sections = extractSections(await syncFs.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
46205
+ if (!fsSync.existsSync(agentsPath)) return null;
46206
+ const sections = extractSections(await fsSync.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
46207
46207
  if (sections.length === 0) return null;
46208
46208
  const combined = sections.join("\n\n");
46209
46209
  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);
@@ -46437,7 +46437,7 @@ async function runReplyAgent(params) {
46437
46437
  if (resolved) transcriptCandidates.add(resolved);
46438
46438
  transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
46439
46439
  for (const candidate of transcriptCandidates) try {
46440
- syncFs.unlinkSync(candidate);
46440
+ fsSync.unlinkSync(candidate);
46441
46441
  } catch {}
46442
46442
  }
46443
46443
  return true;
@@ -47428,7 +47428,7 @@ async function deliverSessionMaintenanceWarning(params) {
47428
47428
  return;
47429
47429
  }
47430
47430
  try {
47431
- const { deliverOutboundPayloads } = await import("./deliver-BUiQ-9fE.js").then((n) => n.n);
47431
+ const { deliverOutboundPayloads } = await import("./deliver-CJaM2zRY.js").then((n) => n.n);
47432
47432
  const outboundSession = buildOutboundSessionContext({
47433
47433
  cfg: params.cfg,
47434
47434
  sessionKey: params.sessionKey
@@ -47485,7 +47485,7 @@ function forkSessionFromParent(params) {
47485
47485
  agentId: params.agentId,
47486
47486
  sessionsDir: params.sessionsDir
47487
47487
  });
47488
- if (!parentSessionFile || !syncFs.existsSync(parentSessionFile)) return null;
47488
+ if (!parentSessionFile || !fsSync.existsSync(parentSessionFile)) return null;
47489
47489
  try {
47490
47490
  const manager = SessionManager.open(parentSessionFile);
47491
47491
  const leafId = manager.getLeafId();
@@ -47509,7 +47509,7 @@ function forkSessionFromParent(params) {
47509
47509
  cwd: manager.getCwd(),
47510
47510
  parentSession: parentSessionFile
47511
47511
  };
47512
- syncFs.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
47512
+ fsSync.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
47513
47513
  return {
47514
47514
  sessionId,
47515
47515
  sessionFile
@@ -51864,7 +51864,7 @@ async function describeStickerImage(params) {
51864
51864
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
51865
51865
  try {
51866
51866
  const buffer = await fs.readFile(imagePath);
51867
- const { describeImageWithModel } = await import("./image-D8b_rlQC.js").then((n) => n.n);
51867
+ const { describeImageWithModel } = await import("./image-BQ3RQWD8.js").then((n) => n.n);
51868
51868
  return (await describeImageWithModel({
51869
51869
  buffer,
51870
51870
  fileName: "sticker.webp",
@@ -52318,7 +52318,7 @@ function createWhatsAppLoginTool() {
52318
52318
  force: Type.Optional(Type.Boolean())
52319
52319
  }),
52320
52320
  execute: async (_toolCallId, args) => {
52321
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CFFFOjOl.js");
52321
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-Dj0NmRdg.js");
52322
52322
  if ((args?.action ?? "start") === "wait") {
52323
52323
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
52324
52324
  return {
@@ -52605,7 +52605,7 @@ async function withMemoryManagerForAgent(params) {
52605
52605
  }
52606
52606
  async function checkReadableFile(pathname) {
52607
52607
  try {
52608
- await fs.access(pathname, syncFs.constants.R_OK);
52608
+ await fs.access(pathname, fsSync.constants.R_OK);
52609
52609
  return { exists: true };
52610
52610
  } catch (err) {
52611
52611
  const code = err.code;
@@ -52664,7 +52664,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
52664
52664
  }
52665
52665
  let dirReadable = null;
52666
52666
  try {
52667
- await fs.access(memoryDir, syncFs.constants.R_OK);
52667
+ await fs.access(memoryDir, fsSync.constants.R_OK);
52668
52668
  dirReadable = true;
52669
52669
  } catch (err) {
52670
52670
  const code = err.code;
@@ -54792,7 +54792,7 @@ async function preflightDiscordMessage(params) {
54792
54792
  let preflightTranscript;
54793
54793
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
54794
54794
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
54795
- const { transcribeFirstAudio } = await import("./audio-preflight-CW8IH1lU.js");
54795
+ const { transcribeFirstAudio } = await import("./audio-preflight-aBtF0cRI.js");
54796
54796
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
54797
54797
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
54798
54798
  ctx: {
@@ -56374,7 +56374,7 @@ function identityHasValues(identity) {
56374
56374
  }
56375
56375
  function loadIdentityFromFile(identityPath) {
56376
56376
  try {
56377
- const parsed = parseIdentityMarkdown(syncFs.readFileSync(identityPath, "utf-8"));
56377
+ const parsed = parseIdentityMarkdown(fsSync.readFileSync(identityPath, "utf-8"));
56378
56378
  if (!identityHasValues(parsed)) return null;
56379
56379
  return parsed;
56380
56380
  } catch {
@@ -56398,7 +56398,7 @@ function resolveAvatarSource(cfg, agentId) {
56398
56398
  }
56399
56399
  function resolveExistingPath(value) {
56400
56400
  try {
56401
- return syncFs.realpathSync(value);
56401
+ return fsSync.realpathSync(value);
56402
56402
  } catch {
56403
56403
  return path.resolve(value);
56404
56404
  }
@@ -56416,7 +56416,7 @@ function resolveLocalAvatarPath(params) {
56416
56416
  reason: "unsupported_extension"
56417
56417
  };
56418
56418
  try {
56419
- const stat = syncFs.statSync(realPath);
56419
+ const stat = fsSync.statSync(realPath);
56420
56420
  if (!stat.isFile()) return {
56421
56421
  ok: false,
56422
56422
  reason: "missing"
@@ -57269,9 +57269,9 @@ function createDiscordMessageHandler(params) {
57269
57269
  try {
57270
57270
  const messageText = resolveDiscordMessageText(data.message)?.trim();
57271
57271
  if (messageText) {
57272
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-tKLAiFAG.js");
57272
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
57273
57273
  if (isAbortRequestText(messageText)) {
57274
- const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
57274
+ const { resolveAgentRoute } = await import("./resolve-route-Dr-fqH39.js").then((n) => n.r);
57275
57275
  const channelId = resolveDiscordMessageChannelId({
57276
57276
  message: data.message,
57277
57277
  eventChannelId: data.channel_id
@@ -62715,7 +62715,7 @@ function createDiscordGatewayPlugin(params) {
62715
62715
  return super.registerClient(client);
62716
62716
  }
62717
62717
  createWebSocket(url) {
62718
- return new WebSocket$1(url, { agent: wsAgent });
62718
+ return new WebSocket(url, { agent: wsAgent });
62719
62719
  }
62720
62720
  }
62721
62721
  return new ProxyGatewayPlugin();
@@ -64767,9 +64767,9 @@ async function monitorIMessageProvider(opts = {}) {
64767
64767
  }
64768
64768
  const msgText = (message.text ?? "").trim();
64769
64769
  if (msgText) {
64770
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-tKLAiFAG.js");
64770
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
64771
64771
  if (isAbortRequestText(msgText)) {
64772
- const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
64772
+ const { resolveAgentRoute } = await import("./resolve-route-Dr-fqH39.js").then((n) => n.r);
64773
64773
  const route = resolveAgentRoute({
64774
64774
  cfg,
64775
64775
  channel: "imessage",
@@ -64850,7 +64850,7 @@ async function monitorIMessageProvider(opts = {}) {
64850
64850
  function readFileIfExists(filePath) {
64851
64851
  if (!filePath) return;
64852
64852
  try {
64853
- return syncFs.readFileSync(filePath, "utf-8").trim();
64853
+ return fsSync.readFileSync(filePath, "utf-8").trim();
64854
64854
  } catch {
64855
64855
  return;
64856
64856
  }
@@ -65426,7 +65426,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
65426
65426
  prefix: "line-media",
65427
65427
  extension: getExtensionForContentType(contentType)
65428
65428
  });
65429
- await syncFs.promises.writeFile(filePath, buffer);
65429
+ await fsSync.promises.writeFile(filePath, buffer);
65430
65430
  logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
65431
65431
  return {
65432
65432
  path: filePath,
@@ -67378,9 +67378,9 @@ function createSignalEventHandler(deps) {
67378
67378
  const senderName = envelope.sourceName ?? senderDisplay;
67379
67379
  const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
67380
67380
  if (bodyText) {
67381
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-tKLAiFAG.js");
67381
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
67382
67382
  if (isAbortRequestText(bodyText)) {
67383
- const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
67383
+ const { resolveAgentRoute } = await import("./resolve-route-Dr-fqH39.js").then((n) => n.r);
67384
67384
  const route = resolveAgentRoute({
67385
67385
  cfg: deps.cfg,
67386
67386
  channel: "signal",
@@ -70760,9 +70760,9 @@ function createSlackMessageHandler(params) {
70760
70760
  if (ctx.markMessageSeen(message.channel, message.ts)) return;
70761
70761
  const rawText = (message.text ?? "").trim();
70762
70762
  if (rawText) {
70763
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-tKLAiFAG.js");
70763
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
70764
70764
  if (isAbortRequestText(rawText)) {
70765
- const { resolveAgentRoute } = await import("./resolve-route-DuttYY7A.js").then((n) => n.r);
70765
+ const { resolveAgentRoute } = await import("./resolve-route-Dr-fqH39.js").then((n) => n.r);
70766
70766
  const route = resolveAgentRoute({
70767
70767
  cfg: ctx.cfg,
70768
70768
  channel: "slack",
@@ -70882,7 +70882,7 @@ function readSlackExternalArgMenuToken(raw) {
70882
70882
  }
70883
70883
  let commandsRegistry;
70884
70884
  async function getCommandsRegistry() {
70885
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-j4vAzcF2.js").then((n) => n.n);
70885
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-CK7aj_ri.js").then((n) => n.n);
70886
70886
  return commandsRegistry;
70887
70887
  }
70888
70888
  function encodeSlackCommandArgValue(parts) {
@@ -71206,14 +71206,14 @@ async function registerSlackMonitorSlashCommands(params) {
71206
71206
  const channelName = channelInfo?.name;
71207
71207
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
71208
71208
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
71209
- import("./resolve-route-DuttYY7A.js").then((n) => n.r),
71209
+ import("./resolve-route-Dr-fqH39.js").then((n) => n.r),
71210
71210
  import("./inbound-context-BYczzTII.js").then((n) => n.n),
71211
71211
  Promise.resolve().then(() => provider_dispatcher_exports)
71212
71212
  ]);
71213
71213
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
71214
71214
  import("./conversation-label-1Wad2kXc.js").then((n) => n.t),
71215
- import("./reply-prefix-BUgeSN2R.js").then((n) => n.n),
71216
- import("./sessions-3ioSeOA1.js").then((n) => n.t)
71215
+ import("./reply-prefix-49q2WQ2B.js").then((n) => n.n),
71216
+ import("./sessions-BgxmLQuf.js").then((n) => n.t)
71217
71217
  ]);
71218
71218
  const route = resolveAgentRoute({
71219
71219
  cfg,
@@ -71281,9 +71281,9 @@ async function registerSlackMonitorSlashCommands(params) {
71281
71281
  });
71282
71282
  const deliverSlashPayloads = async (replies) => {
71283
71283
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
71284
- import("./replies-6_GxvQYe.js").then((n) => n.r),
71285
- import("./chunk-CMpX7Jaz.js").then((n) => n.s),
71286
- import("./markdown-tables-CzsockiZ.js").then((n) => n.t)
71284
+ import("./replies-CXcxPRWk.js").then((n) => n.r),
71285
+ import("./chunk-BgScV6uo.js").then((n) => n.s),
71286
+ import("./markdown-tables-CsrsXS80.js").then((n) => n.t)
71287
71287
  ]);
71288
71288
  await deliverSlackSlashReplies({
71289
71289
  replies,
@@ -71336,7 +71336,7 @@ async function registerSlackMonitorSlashCommands(params) {
71336
71336
  let nativeCommands = [];
71337
71337
  if (nativeEnabled) {
71338
71338
  reg = await getCommandsRegistry();
71339
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Ck3flWX7.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71339
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-BOUMR5De.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
71340
71340
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
71341
71341
  skillCommands,
71342
71342
  provider: "slack"
@@ -72954,7 +72954,7 @@ const registerTelegramHandlers = ({ cfg, accountId, bot, opts, runtime, mediaMax
72954
72954
  const { ctx, msg, chatId, resolvedThreadId, storeAllowFrom, sendOversizeWarning, oversizeLogMessage } = params;
72955
72955
  const text = typeof msg.text === "string" ? msg.text : void 0;
72956
72956
  if (text) {
72957
- const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-tKLAiFAG.js");
72957
+ const { isAbortRequestText, emergencyStop, resolveSessionForEmergencyStop } = await import("./emergency-stop-JXB5jZyK.js");
72958
72958
  if (isAbortRequestText(text)) {
72959
72959
  const senderId = msg.from?.id ? String(msg.from.id) : "";
72960
72960
  if (!senderId || !allowFrom?.length || allowFrom.includes(senderId)) {
@@ -73841,7 +73841,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
73841
73841
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
73842
73842
  let preflightTranscript;
73843
73843
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
73844
- const { transcribeFirstAudio } = await import("./audio-preflight-CW8IH1lU.js");
73844
+ const { transcribeFirstAudio } = await import("./audio-preflight-aBtF0cRI.js");
73845
73845
  preflightTranscript = await transcribeFirstAudio({
73846
73846
  ctx: {
73847
73847
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -76427,23 +76427,23 @@ let webLoginQrPromise = null;
76427
76427
  let webChannelPromise = null;
76428
76428
  let whatsappActionsPromise = null;
76429
76429
  function loadWebOutbound() {
76430
- webOutboundPromise ??= import("./outbound-BNh6PpQb.js").then((n) => n.t);
76430
+ webOutboundPromise ??= import("./outbound-BYm4JJli.js").then((n) => n.t);
76431
76431
  return webOutboundPromise;
76432
76432
  }
76433
76433
  function loadWebLogin() {
76434
- webLoginPromise ??= import("./login-CFr5vJmR.js").then((n) => n.n);
76434
+ webLoginPromise ??= import("./login-Cn1vc1bn.js").then((n) => n.n);
76435
76435
  return webLoginPromise;
76436
76436
  }
76437
76437
  function loadWebLoginQr() {
76438
- webLoginQrPromise ??= import("./login-qr-CFFFOjOl.js");
76438
+ webLoginQrPromise ??= import("./login-qr-Dj0NmRdg.js");
76439
76439
  return webLoginQrPromise;
76440
76440
  }
76441
76441
  function loadWebChannel() {
76442
- webChannelPromise ??= import("./web-Dbrx58hF.js");
76442
+ webChannelPromise ??= import("./web-5ddwA0bs.js");
76443
76443
  return webChannelPromise;
76444
76444
  }
76445
76445
  function loadWhatsAppActions() {
76446
- whatsappActionsPromise ??= import("./whatsapp-actions-DbPcN6JQ.js");
76446
+ whatsappActionsPromise ??= import("./whatsapp-actions-CYraflBZ.js");
76447
76447
  return whatsappActionsPromise;
76448
76448
  }
76449
76449
  function createPluginRuntime() {
@@ -76673,7 +76673,7 @@ const resolvePluginSdkAliasFile = (params) => {
76673
76673
  const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
76674
76674
  const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
76675
76675
  const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
76676
- for (const candidate of orderedCandidates) if (syncFs.existsSync(candidate)) return candidate;
76676
+ for (const candidate of orderedCandidates) if (fsSync.existsSync(candidate)) return candidate;
76677
76677
  const parent = path.dirname(cursor);
76678
76678
  if (parent === cursor) break;
76679
76679
  cursor = parent;
@@ -77011,7 +77011,7 @@ function loadIdleHandsPlugins(options = {}) {
77011
77011
  continue;
77012
77012
  }
77013
77013
  const safeSource = opened.path;
77014
- syncFs.closeSync(opened.fd);
77014
+ fsSync.closeSync(opened.fd);
77015
77015
  let mod = null;
77016
77016
  try {
77017
77017
  mod = getJiti()(safeSource);
@@ -77148,7 +77148,7 @@ function loadIdleHandsPlugins(options = {}) {
77148
77148
  }
77149
77149
  function safeRealpathOrResolve(value) {
77150
77150
  try {
77151
- return syncFs.realpathSync(value);
77151
+ return fsSync.realpathSync(value);
77152
77152
  } catch {
77153
77153
  return path.resolve(value);
77154
77154
  }
@@ -77512,9 +77512,9 @@ function resolvePatchFileOps(options) {
77512
77512
  });
77513
77513
  assertBoundaryRead(opened, filePath);
77514
77514
  try {
77515
- return syncFs.readFileSync(opened.fd, "utf8");
77515
+ return fsSync.readFileSync(opened.fd, "utf8");
77516
77516
  } finally {
77517
- syncFs.closeSync(opened.fd);
77517
+ fsSync.closeSync(opened.fd);
77518
77518
  }
77519
77519
  },
77520
77520
  writeFile: async (filePath, content) => {
@@ -77816,7 +77816,7 @@ async function recordLoopOutcome(args) {
77816
77816
  if (!args.ctx?.sessionKey) return;
77817
77817
  try {
77818
77818
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BGF2r-kt.js").then((n) => n.n);
77819
- const { recordToolCallOutcome } = await import("./tool-loop-detection-BNGetx3Z.js");
77819
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-j48jLTrr.js");
77820
77820
  recordToolCallOutcome(getDiagnosticSessionState({
77821
77821
  sessionKey: args.ctx.sessionKey,
77822
77822
  sessionId: args.ctx?.agentId
@@ -77837,8 +77837,8 @@ async function runBeforeToolCallHook(args) {
77837
77837
  const params = args.params;
77838
77838
  if (args.ctx?.sessionKey) {
77839
77839
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BGF2r-kt.js").then((n) => n.n);
77840
- const { logToolLoopAction } = await import("./diagnostic-4owMk4vH.js").then((n) => n.n);
77841
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-BNGetx3Z.js");
77840
+ const { logToolLoopAction } = await import("./diagnostic-lz5wKsEe.js").then((n) => n.n);
77841
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-j48jLTrr.js");
77842
77842
  const sessionState = getDiagnosticSessionState({
77843
77843
  sessionKey: args.ctx.sessionKey,
77844
77844
  sessionId: args.ctx?.agentId
@@ -80604,8 +80604,8 @@ async function readWorkspaceContextForSummary() {
80604
80604
  const workspaceDir = process.cwd();
80605
80605
  const agentsPath = path.join(workspaceDir, "AGENTS.md");
80606
80606
  try {
80607
- if (!syncFs.existsSync(agentsPath)) return "";
80608
- const sections = extractSections(await syncFs.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
80607
+ if (!fsSync.existsSync(agentsPath)) return "";
80608
+ const sections = extractSections(await fsSync.promises.readFile(agentsPath, "utf-8"), ["Session Startup", "Red Lines"]);
80609
80609
  if (sections.length === 0) return "";
80610
80610
  const combined = sections.join("\n\n");
80611
80611
  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>`;
@@ -81973,7 +81973,7 @@ async function compactEmbeddedPiSessionDirect(params) {
81973
81973
  if (!apiKeyInfo.apiKey) {
81974
81974
  if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
81975
81975
  } else if (model.provider === "github-copilot") {
81976
- const { resolveCopilotApiToken } = await import("./github-copilot-token-Dgt6cnsM.js").then((n) => n.n);
81976
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-DCg9Q9Ll.js").then((n) => n.n);
81977
81977
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
81978
81978
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
81979
81979
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
@@ -83393,11 +83393,11 @@ function appendRawStream(payload) {
83393
83393
  if (!rawStreamReady) {
83394
83394
  rawStreamReady = true;
83395
83395
  try {
83396
- syncFs.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
83396
+ fsSync.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
83397
83397
  } catch {}
83398
83398
  }
83399
83399
  try {
83400
- syncFs.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
83400
+ fsSync.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
83401
83401
  } catch {}
83402
83402
  }
83403
83403
 
@@ -87000,7 +87000,7 @@ async function runEmbeddedPiAgent(params) {
87000
87000
  return;
87001
87001
  }
87002
87002
  if (model.provider === "github-copilot") {
87003
- const { resolveCopilotApiToken } = await import("./github-copilot-token-Dgt6cnsM.js").then((n) => n.n);
87003
+ const { resolveCopilotApiToken } = await import("./github-copilot-token-DCg9Q9Ll.js").then((n) => n.n);
87004
87004
  const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
87005
87005
  authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
87006
87006
  } else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);