@gaodefa/daocore 2026.5.35 → 2026.5.36

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 (1119) hide show
  1. package/dist/abort-Bp4IXIaT.js +277 -0
  2. package/dist/abort.runtime-yT20lVm3.js +2 -0
  3. package/dist/abort.runtime.js +1 -1
  4. package/dist/account-inspect-Braq4T5C.js +173 -0
  5. package/dist/accounts-B73T487L.js +2 -0
  6. package/dist/accounts-Byqhka0B.js +107 -0
  7. package/dist/accounts-C6REvXTb.js +107 -0
  8. package/dist/accounts-DHkZahnb.js +119 -0
  9. package/dist/acp-runtime-CsYu7oyf.js +26 -0
  10. package/dist/acp-spawn-BpcanpjB.js +2 -0
  11. package/dist/acp-spawn-CXnfFZet.js +1275 -0
  12. package/dist/acp-stateful-target-driver-dbQl7Cls.js +89 -0
  13. package/dist/action-kill-CmrHUh6-.js +33 -0
  14. package/dist/action-runtime-Nz_MTd85.js +469 -0
  15. package/dist/action-runtime-api-NVBTHRJ0.js +2 -0
  16. package/dist/action-send-Bw28r8YX.js +39 -0
  17. package/dist/action-spawn-Db3goKdw.js +47 -0
  18. package/dist/actions-CZEEFK0T.js +161 -0
  19. package/dist/actions.runtime-f4FlBapO.js +5 -0
  20. package/dist/agent-BFrHijEI.js +3 -0
  21. package/dist/agent-BvTZZujh.js +2 -0
  22. package/dist/agent-command-CexUxiL4.js +1367 -0
  23. package/dist/agent-components.runtime-Bv--4UUq.js +10 -0
  24. package/dist/agent-components.runtime.js +1 -1
  25. package/dist/agent-harness-runtime-_4Ou4ZI_.js +180 -0
  26. package/dist/agent-harness-task-runtime-D0TI6yGM.js +140 -0
  27. package/dist/agent-runner-execution-BWvPnRM1.js +1713 -0
  28. package/dist/agent-runner-utils-hmda0Lyc.js +266 -0
  29. package/dist/agent-runner.runtime-6MrZPOYP.js +3455 -0
  30. package/dist/agent-runner.runtime.js +1 -1
  31. package/dist/agent-runtime-Cnq13raf.js +229 -0
  32. package/dist/agent-via-gateway-Cux4caUy.js +463 -0
  33. package/dist/api-0vV8JjoW.js +2 -0
  34. package/dist/api-4kojV9vT.js +639 -0
  35. package/dist/api-C4dZHG-E.js +2 -0
  36. package/dist/api-DFDhOB71.js +134 -0
  37. package/dist/api-Dd41e_NF.js +3 -0
  38. package/dist/api-DqSBNv8i.js +6 -0
  39. package/dist/apply-DnknmYSP.js +41 -0
  40. package/dist/apply-XMFoVMgK.js +54 -0
  41. package/dist/approval-handler.runtime-BIKhPCUE.js +130 -0
  42. package/dist/assistant-Cfzr-QfG.js +291 -0
  43. package/dist/attachment-normalize-Bqthqujs.js +225 -0
  44. package/dist/attempt-execution-Cc2IUiUY.js +558 -0
  45. package/dist/attempt-execution.runtime-C1pnC5CL.js +3 -0
  46. package/dist/attempt-execution.runtime.js +1 -1
  47. package/dist/attempt-execution.shared-DR-LL9H1.js +38 -0
  48. package/dist/attempt.prompt-helpers-DvfaNdO_.js +475 -0
  49. package/dist/attempt.tool-run-context-Fk3-iLKA.js +2094 -0
  50. package/dist/binding-routing-BjRihOZ8.js +113 -0
  51. package/dist/binding-targets-D3vQIPpu.js +121 -0
  52. package/dist/bot-BzKQljl1.js +7894 -0
  53. package/dist/bot-deps-CHJno4Xv.js +747 -0
  54. package/dist/bot-deps-CTU3vOGH.js +2 -0
  55. package/dist/bot-message-context.runtime-DPAocg_K.js +7 -0
  56. package/dist/bot-message-context.runtime.js +1 -1
  57. package/dist/bot-message-context.session.runtime-cWFJiTXb.js +12 -0
  58. package/dist/bot-message-context.session.runtime.js +1 -1
  59. package/dist/bot-native-commands.delivery.runtime-BBiSJ9qu.js +4 -0
  60. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  61. package/dist/bot-native-commands.runtime-BoWjkHEv.js +13 -0
  62. package/dist/bot-native-commands.runtime.js +1 -1
  63. package/dist/bridge-server-BnWfM8E9.js +113 -0
  64. package/dist/browser-cli-CKSNhiVi.js +230 -0
  65. package/dist/browser-cli-CsC0lbjc.js +2 -0
  66. package/dist/browser-cli-actions-input-1PFDZ0_b.js +473 -0
  67. package/dist/browser-cli-actions-observe-DfH0Y9FC.js +81 -0
  68. package/dist/browser-cli-debug-hj-w-s9t.js +137 -0
  69. package/dist/browser-cli-inspect-CxxMD86J.js +104 -0
  70. package/dist/browser-cli-manage-DOn9OEh_.js +443 -0
  71. package/dist/browser-cli-resize-BFHf-RqV.js +26 -0
  72. package/dist/browser-cli-shared-Ca_pACoG.js +50 -0
  73. package/dist/browser-cli-state-CCIHMGkC.js +337 -0
  74. package/dist/browser-control-auth-dTGAuDxC.js +2 -0
  75. package/dist/browser-profiles-CjXJJdop.js +2 -0
  76. package/dist/browser-runtime-DrNsVpfv.js +384 -0
  77. package/dist/build-QfdWbTGY.js +257 -0
  78. package/dist/build-info.json +3 -3
  79. package/dist/bundled/boot-md/handler.js +2 -2
  80. package/dist/bundled/session-memory/handler.js +1 -1
  81. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  82. package/dist/capability-cli-D7nQY4qe.js +1782 -0
  83. package/dist/channel-13BBMvGu.js +1496 -0
  84. package/dist/channel-B9qWcqGg.js +562 -0
  85. package/dist/channel-BB9gjVcH.js +362 -0
  86. package/dist/channel-BM_u9Kct.js +508 -0
  87. package/dist/channel-CQbX6z1g.js +740 -0
  88. package/dist/channel-CXkMpUA_.js +1134 -0
  89. package/dist/channel-CcENPjLR.js +1556 -0
  90. package/dist/channel-CfgfbGDs.js +808 -0
  91. package/dist/channel-D6JtLARW.js +955 -0
  92. package/dist/channel-D6klawjQ.js +867 -0
  93. package/dist/channel-DFTg6l_Y.js +1777 -0
  94. package/dist/channel-DI30oIzM.js +238 -0
  95. package/dist/channel-Dwmhp2QK.js +376 -0
  96. package/dist/channel-DyOJHorx.js +481 -0
  97. package/dist/channel-DzLAzPz_.js +1249 -0
  98. package/dist/channel-ZshGzzZU.js +2126 -0
  99. package/dist/channel-actions.runtime-BPuh-LPy.js +265 -0
  100. package/dist/channel-actions.runtime.js +1 -1
  101. package/dist/channel-core-Cip0DXqW.js +5 -0
  102. package/dist/channel-inbound-nxJGbY-L.js +80 -0
  103. package/dist/channel-kn7WFIV-.js +653 -0
  104. package/dist/channel-plugin-runtime-D2mUAQP6.js +998 -0
  105. package/dist/channel-runtime-DWbCQz0-.js +408 -0
  106. package/dist/channel.runtime-BRLds_50.js +1008 -0
  107. package/dist/channel.runtime-BYk5D3KV.js +652 -0
  108. package/dist/channel.runtime-Bd5GuqVD.js +4 -0
  109. package/dist/channel.runtime-BhiiHau6.js +109 -0
  110. package/dist/channel.runtime-CKnG96oM.js +254 -0
  111. package/dist/channel.runtime-DbuDXi8A.js +2528 -0
  112. package/dist/channel.runtime-DfQ7lbcl.js +21009 -0
  113. package/dist/channel.runtime-DhzR3IQP.js +733 -0
  114. package/dist/channel.runtime-SnJqiMZZ.js +88 -0
  115. package/dist/channel.setup-0jZeZ91N.js +1098 -0
  116. package/dist/channel.setup-C3aSMtNe.js +343 -0
  117. package/dist/channel.setup-x_GPUW2e.js +10 -0
  118. package/dist/chat-DyxY_o5e.js +2666 -0
  119. package/dist/chrome-CUytWLO5.js +1503 -0
  120. package/dist/cli/run-main.js +5 -5
  121. package/dist/cli-BnAifbUH.js +1341 -0
  122. package/dist/cli-compaction-BsDXzDbB.js +347 -0
  123. package/dist/cli-metadata-C2ez_EOq.js +22 -0
  124. package/dist/cli-runner-Df8f6aib.js +2 -0
  125. package/dist/cli-runner-N-xuwavW.js +540 -0
  126. package/dist/cli-runner.runtime-BZgB5Wze.js +3 -0
  127. package/dist/cli-runner.runtime-CzWSBiUX.js +4 -0
  128. package/dist/cli-runner.runtime.js +1 -1
  129. package/dist/cli-startup-metadata.json +8 -8
  130. package/dist/client-BSznX-Sw.js +650 -0
  131. package/dist/client-adapter-CvuAhGRl.js +897 -0
  132. package/dist/client-factory-Dl9ZpTlR.js +9 -0
  133. package/dist/command-auth-Cp3qho7_.js +135 -0
  134. package/dist/command-handlers-7evBobOS.js +1609 -0
  135. package/dist/command-registry-3bVh0URP.js +4 -0
  136. package/dist/command-registry-core-BwoOJhVM.js +110 -0
  137. package/dist/command-registry-ms_STeBz.js +9 -0
  138. package/dist/command-status.runtime-HmI60xl3.js +90 -0
  139. package/dist/command-status.runtime.js +1 -1
  140. package/dist/commands-acp-NnHhockz.js +74 -0
  141. package/dist/commands-compact.runtime-wJDJ6VWY.js +10 -0
  142. package/dist/commands-compact.runtime.js +1 -1
  143. package/dist/commands-handlers.runtime-CDlvieOM.js +6154 -0
  144. package/dist/commands-handlers.runtime.js +1 -1
  145. package/dist/commands-status-CJsUMgIw.js +16 -0
  146. package/dist/commands-status-j5QdKUbl.js +3 -0
  147. package/dist/commands-status.runtime-j5QdKUbl.js +3 -0
  148. package/dist/commands-status.runtime.js +1 -1
  149. package/dist/commands-subagents-control.runtime-BfOBOw5t.js +3 -0
  150. package/dist/commands-subagents-control.runtime-CALs_ywD.js +2 -0
  151. package/dist/commands-subagents-control.runtime.js +1 -1
  152. package/dist/commands-system-prompt-BnMuvo_P.js +2 -0
  153. package/dist/commands-system-prompt-BqcYl8m9.js +162 -0
  154. package/dist/commands.runtime-DMhewKIp.js +176 -0
  155. package/dist/commands.runtime.js +1 -1
  156. package/dist/commitments/runtime.js +1 -1
  157. package/dist/compact-B4Hs8o3S.js +1141 -0
  158. package/dist/compact-CKxyl7Ak.js +480 -0
  159. package/dist/compact.runtime-BPnE7Lia.js +12 -0
  160. package/dist/compact.runtime.js +1 -1
  161. package/dist/completion-cli-CjPmmjGf.js +315 -0
  162. package/dist/computer-use-DI-JbifZ.js +367 -0
  163. package/dist/config-CA7Mb3IV.js +373 -0
  164. package/dist/config-CjXJJdop.js +2 -0
  165. package/dist/config-mutations-CIt7XNeY.js +159 -0
  166. package/dist/context-engine-host-compat-C0PN-GqB.js +288 -0
  167. package/dist/context-engine-host-compat-r4dLJY0h.js +2 -0
  168. package/dist/context-engine-lifecycle-BgedIp9C.js +1274 -0
  169. package/dist/control-auth-BNpGd-Kk.js +114 -0
  170. package/dist/control-service-kce7bfHU.js +145 -0
  171. package/dist/control-ui/assets/agents-C2p2ZwOQ.js +1008 -0
  172. package/dist/control-ui/assets/channel-config-extras-cea8qvH3.js +2 -0
  173. package/dist/control-ui/assets/channels-BIQ_F0ws.js +367 -0
  174. package/dist/control-ui/assets/cron-E8ta7iLY.js +1013 -0
  175. package/dist/control-ui/assets/debug-BijIQX-p.js +97 -0
  176. package/dist/control-ui/assets/index-CZwUrlcp.js +7370 -0
  177. package/dist/control-ui/assets/instances-D9QQn2lI.js +57 -0
  178. package/dist/control-ui/assets/logs-BHdgNhhz.js +74 -0
  179. package/dist/control-ui/assets/nodes-DubAxP-X.js +436 -0
  180. package/dist/control-ui/assets/sessions-GaYjkF_f.js +399 -0
  181. package/dist/control-ui/assets/skills-CT-05sCo.js +314 -0
  182. package/dist/control-ui/assets/skills-shared-DH5Hmn9J.js +11 -0
  183. package/dist/control-ui/index.html +1 -1
  184. package/dist/control-ui/sw.js +1 -1
  185. package/dist/conversation-binding-runtime-CUUOaxkw.js +4 -0
  186. package/dist/conversation-runtime-CAGsRmgG.js +31 -0
  187. package/dist/core-DDHeEXv5.js +282 -0
  188. package/dist/core-api-BfuO-na1.js +5 -0
  189. package/dist/core-api-YA03piFN.js +2 -0
  190. package/dist/crestodian/crestodian.js +1 -1
  191. package/dist/crestodian/rescue-message.js +1 -1
  192. package/dist/crestodian-BvNBIbgT.js +55 -0
  193. package/dist/daocore-tools-V8Z6YbCA.js +11727 -0
  194. package/dist/delivery-CqDMMxF-.js +1002 -0
  195. package/dist/dialogue-C7jN6TtR.js +37 -0
  196. package/dist/dir-fetch-tool-DKizoBAo.js +565 -0
  197. package/dist/dir-list-tool-CMSe1Gic.js +100 -0
  198. package/dist/direct-dm-CNDGhZHH.js +64 -0
  199. package/dist/directive-handling.fast-lane-BNDUrJm9.js +68 -0
  200. package/dist/directive-handling.impl-CNMskvfI.js +2 -0
  201. package/dist/directive-handling.impl-DkSnupbX.js +818 -0
  202. package/dist/directive-handling.model-selection-DrYH2dJi.js +122 -0
  203. package/dist/directive-handling.persist.runtime-Bf1g-e09.js +263 -0
  204. package/dist/directive-handling.persist.runtime.js +1 -1
  205. package/dist/dispatch-BqXq6928.js +1640 -0
  206. package/dist/dispatch-acp-transcript.runtime-B8OLBkcv.js +40 -0
  207. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  208. package/dist/dispatch-acp.runtime-CFRlXnm3.js +18 -0
  209. package/dist/dispatch-acp.runtime.js +1 -1
  210. package/dist/doctor-C8zSecbl.js +6 -0
  211. package/dist/doctor-DmE-4kn4.js +2 -0
  212. package/dist/doctor-config-flow-CiEbrb8s.js +1741 -0
  213. package/dist/doctor-core-checks-B3G8nJ2e.js +573 -0
  214. package/dist/doctor-core-checks-BeflOFTE.js +2 -0
  215. package/dist/doctor-health-Ali-Hxdp.js +65 -0
  216. package/dist/doctor-health-contributions-CXfgIUQd.js +696 -0
  217. package/dist/doctor-lint-B5IHZCxG.js +94 -0
  218. package/dist/doctor-state-integrity-BjeDtfbq.js +1231 -0
  219. package/dist/doctor-update-CG2msB2K.js +58 -0
  220. package/dist/dynamic-tools-D5gHaas6.js +486 -0
  221. package/dist/embedded-backend-BLW2WQJF.js +579 -0
  222. package/dist/embedded-gateway-stub.runtime-DbUedhpy.js +12 -0
  223. package/dist/embedded-gateway-stub.runtime.js +1 -1
  224. package/dist/exec-approvals-CwwQA-_B.js +149 -0
  225. package/dist/extensionAPI.js +1 -1
  226. package/dist/extensions/active-memory/index.js +1 -1
  227. package/dist/extensions/admin-http-rpc/index.js +1 -1
  228. package/dist/extensions/browser/browser-bridge.js +1 -1
  229. package/dist/extensions/browser/browser-config.js +4 -4
  230. package/dist/extensions/browser/browser-control-auth.js +2 -2
  231. package/dist/extensions/browser/browser-doctor.js +2 -2
  232. package/dist/extensions/browser/browser-maintenance.js +1 -1
  233. package/dist/extensions/browser/browser-profiles.js +2 -2
  234. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  235. package/dist/extensions/browser/cli-metadata.js +1 -1
  236. package/dist/extensions/browser/index.js +1 -1
  237. package/dist/extensions/browser/plugin-registration.js +1 -1
  238. package/dist/extensions/browser/register.runtime.js +4 -4
  239. package/dist/extensions/browser/runtime-api.js +13 -13
  240. package/dist/extensions/canvas/index.js +1 -1
  241. package/dist/extensions/clickclack/api.js +2 -2
  242. package/dist/extensions/clickclack/channel-plugin-api.js +1 -1
  243. package/dist/extensions/clickclack/runtime-api.js +2 -2
  244. package/dist/extensions/device-pair/api.js +1 -1
  245. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  246. package/dist/extensions/file-transfer/index.js +4 -4
  247. package/dist/extensions/imessage/api.js +2 -2
  248. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  249. package/dist/extensions/imessage/message-tool-api.d.ts +1 -1
  250. package/dist/extensions/imessage/runtime-api.js +3 -3
  251. package/dist/extensions/irc/api.js +2 -2
  252. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  253. package/dist/extensions/llm-task/index.js +1 -1
  254. package/dist/extensions/mattermost/api.js +1 -1
  255. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  256. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  257. package/dist/extensions/mattermost/policy-api.js +1 -1
  258. package/dist/extensions/mattermost/runtime-api.js +2 -2
  259. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  260. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  261. package/dist/extensions/migrate-claude/apply.js +1 -1
  262. package/dist/extensions/migrate-claude/index.js +1 -1
  263. package/dist/extensions/migrate-claude/plan.js +1 -1
  264. package/dist/extensions/migrate-claude/provider.js +1 -1
  265. package/dist/extensions/migrate-claude/targets.js +1 -1
  266. package/dist/extensions/migrate-hermes/apply.js +1 -1
  267. package/dist/extensions/migrate-hermes/index.js +1 -1
  268. package/dist/extensions/migrate-hermes/model.js +1 -1
  269. package/dist/extensions/migrate-hermes/plan.js +1 -1
  270. package/dist/extensions/migrate-hermes/provider.js +1 -1
  271. package/dist/extensions/migrate-hermes/secrets.js +1 -1
  272. package/dist/extensions/migrate-hermes/targets.js +1 -1
  273. package/dist/extensions/policy/api.js +1 -1
  274. package/dist/extensions/policy/index.js +2 -2
  275. package/dist/extensions/signal/api.js +6 -6
  276. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  277. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  278. package/dist/extensions/signal/runtime-api.js +7 -7
  279. package/dist/extensions/skill-workshop/api.js +1 -1
  280. package/dist/extensions/skill-workshop/index.js +2 -2
  281. package/dist/extensions/telegram/account-inspect-api.js +1 -1
  282. package/dist/extensions/telegram/api.js +11 -11
  283. package/dist/extensions/telegram/channel-plugin-api.js +2 -2
  284. package/dist/extensions/telegram/contract-api.js +3 -3
  285. package/dist/extensions/telegram/runtime-api.js +7 -7
  286. package/dist/extensions/telegram/security-audit-contract-api.js +1 -1
  287. package/dist/extensions/telegram/setup-plugin-api.js +1 -1
  288. package/dist/extensions/telegram/test-api.js +2 -2
  289. package/dist/extensions/webhooks/api.js +1 -1
  290. package/dist/extensions/webhooks/index.js +1 -1
  291. package/dist/extensions/xai/index.js +4 -4
  292. package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
  293. package/dist/extensions/xai/speech-provider.js +1 -1
  294. package/dist/extensions/xai/test-api.js +1 -1
  295. package/dist/extensions/xai/tts.js +1 -1
  296. package/dist/extensions/xai/web-search.js +1 -1
  297. package/dist/extensions/xai/xai-oauth.js +1 -1
  298. package/dist/file-fetch-tool-CekPjemC.js +124 -0
  299. package/dist/file-write-tool-C7-UYxXN.js +127 -0
  300. package/dist/format-BrgWhpMP.js +1145 -0
  301. package/dist/format-C-lnTES_.js +250 -0
  302. package/dist/gateway-cli-DaSBVL_2.js +435 -0
  303. package/dist/gateway-method-runtime-B3nJGqAy.js +21 -0
  304. package/dist/get-reply-CCGEqENF.js +4689 -0
  305. package/dist/get-reply-from-config.runtime-1bVL6Eaa.js +2 -0
  306. package/dist/get-reply-from-config.runtime.js +1 -1
  307. package/dist/graph-users-CCkJYdwo.js +1419 -0
  308. package/dist/group-access-BrcrVhTm.js +112 -0
  309. package/dist/handle-action.guild-admin-8EfNNvKz.js +288 -0
  310. package/dist/harness-BNsomB7U.js +61 -0
  311. package/dist/health-CJOAk46r.js +4 -0
  312. package/dist/health-state-BYK8dOjQ.js +106 -0
  313. package/dist/heartbeat-runner-BjAnHwan.js +5 -0
  314. package/dist/heartbeat-runner.runtime-BhQDpIvL.js +4 -0
  315. package/dist/heartbeat-runner.runtime.js +1 -1
  316. package/dist/hooks-CAleL-fH.js +534 -0
  317. package/dist/inbound-direct-dm-runtime-aWeBKeRE.js +2 -0
  318. package/dist/inbound-reply-dispatch-DvWaNCgR.js +148 -0
  319. package/dist/index.js +1 -1
  320. package/dist/init-D_kHY2_L.js +59 -0
  321. package/dist/inline-buttons-CBfC5L_C.js +40 -0
  322. package/dist/internal-events-DR7M-R-k.js +90 -0
  323. package/dist/isolated-agent-BSwvfJdq.js +1118 -0
  324. package/dist/isolated-agent-B_H2wb6F.js +2 -0
  325. package/dist/lifecycle-BsPQk14E.js +571 -0
  326. package/dist/list.probe-DVPoP_gs.js +449 -0
  327. package/dist/list.status-command-YLSxt2nU.js +789 -0
  328. package/dist/llm-slug-generator-DMXCuj_8.js +78 -0
  329. package/dist/llm-slug-generator.js +1 -1
  330. package/dist/local-dispatch.runtime-ByJpKbzY.js +9 -0
  331. package/dist/local-dispatch.runtime.js +1 -1
  332. package/dist/manager.runtime-Cbd4Wkzv.js +2714 -0
  333. package/dist/manager.runtime.js +1 -1
  334. package/dist/markdown-to-line-UROW4ICU.js +811 -0
  335. package/dist/mcp-http-Bs04-o36.js +2 -0
  336. package/dist/mcp-http-DusJ-yus.js +555 -0
  337. package/dist/media-understanding-provider-DJ2PVD5L.js +339 -0
  338. package/dist/message-actions-BOhsMU7S.js +145 -0
  339. package/dist/message-handler-BUvaTnYL.js +384 -0
  340. package/dist/message-handler-DGhAY58r.js +1715 -0
  341. package/dist/message-handler.preflight-COR7HHaa.js +1125 -0
  342. package/dist/message-handler.process-Cnlh9kQt.js +1484 -0
  343. package/dist/model-CrGV78vh.js +74 -0
  344. package/dist/model-selection-BkMRVKvT.js +272 -0
  345. package/dist/models-CAsfL9Yc.js +104 -0
  346. package/dist/models-DAHwZzdm.js +2 -0
  347. package/dist/models-cli-NVAexFpF.js +256 -0
  348. package/dist/monitor-BHLuAWAQ.js +2 -0
  349. package/dist/monitor-BbTVo-eV.js +715 -0
  350. package/dist/monitor-CLLyEX0R.js +2788 -0
  351. package/dist/monitor-CTR3lVMb.js +834 -0
  352. package/dist/monitor-Cl2p6Juz.js +60 -0
  353. package/dist/monitor-D5rBDT5w.js +4377 -0
  354. package/dist/monitor-DyRkvAJd.js +1370 -0
  355. package/dist/monitor-IiG3eV5_.js +1657 -0
  356. package/dist/monitor-auth-D_0zoeLn.js +179 -0
  357. package/dist/monitor-polling.runtime-BXzw5egF.js +883 -0
  358. package/dist/monitor-polling.runtime.js +1 -1
  359. package/dist/monitor-webhook.runtime-C3arPPzi.js +387 -0
  360. package/dist/monitor-webhook.runtime.js +1 -1
  361. package/dist/monitor.account-DrVGHE8V.js +5233 -0
  362. package/dist/monitor.runtime-DPEbukZB.js +2 -0
  363. package/dist/monitor.runtime.js +1 -1
  364. package/dist/monitor.webhook-jkAnTCQb.js +180 -0
  365. package/dist/node-cli-sessions-DcVj-6eN.js +1228 -0
  366. package/dist/openai-http-CmoI0e7t.js +824 -0
  367. package/dist/openresponses-http-Bi3LSGUc.js +1173 -0
  368. package/dist/operations-9LkwgILD.js +805 -0
  369. package/dist/outbound-adapter-xUTnrNGD.js +543 -0
  370. package/dist/outbound-session-route-CBXkht6a.js +45 -0
  371. package/dist/outbound.runtime-CAgimRZ1.js +2 -0
  372. package/dist/outbound.runtime.js +1 -1
  373. package/dist/pi-embedded-BKpKsszm.js +4 -0
  374. package/dist/pi-embedded-DmeQCwCt.js +3796 -0
  375. package/dist/pi-embedded.runtime-C283Wor9.js +4 -0
  376. package/dist/pi-embedded.runtime.js +1 -1
  377. package/dist/pi-tools-B0nJW7W4.js +2413 -0
  378. package/dist/plan-BILA3XMN.js +81 -0
  379. package/dist/plan-DHXchBJq.js +112 -0
  380. package/dist/plugin-CHLmrL9G.js +12396 -0
  381. package/dist/plugin-app-cache-key-C-_klURZ.js +46 -0
  382. package/dist/plugin-enabled-DzYMnPpm.js +233 -0
  383. package/dist/plugin-registration-DLrh8AB5.js +88 -0
  384. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  385. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  386. package/dist/plugin-sdk/acp-runtime.js +2 -2
  387. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  388. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  389. package/dist/plugin-sdk/agent-harness.js +7 -7
  390. package/dist/plugin-sdk/agent-runtime.js +2 -2
  391. package/dist/plugin-sdk/channel-core.js +2 -2
  392. package/dist/plugin-sdk/channel-inbound.js +2 -2
  393. package/dist/plugin-sdk/channel-test-helpers.js +1 -1
  394. package/dist/plugin-sdk/command-auth.js +1 -1
  395. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  396. package/dist/plugin-sdk/compat.js +1 -1
  397. package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
  398. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  399. package/dist/plugin-sdk/core.js +2 -2
  400. package/dist/plugin-sdk/direct-dm.js +1 -1
  401. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  402. package/dist/plugin-sdk/health.js +2 -2
  403. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  404. package/dist/plugin-sdk/index.js +1 -1
  405. package/dist/plugin-sdk/mattermost.js +1 -1
  406. package/dist/plugin-sdk/plugin-test-contracts.js +2 -2
  407. package/dist/plugin-sdk/provider-test-contracts.js +4 -4
  408. package/dist/plugin-sdk/reply-runtime.js +4 -4
  409. package/dist/plugin-sdk/testing.js +2 -2
  410. package/dist/plugin-sdk/zalouser.js +1 -1
  411. package/dist/plugin-service-xm4tv2oM.js +1229 -0
  412. package/dist/plugins/runtime/index.js +4 -4
  413. package/dist/policy-BUSsfT7A.js +138 -0
  414. package/dist/policy-BwwL6sP2.js +680 -0
  415. package/dist/prepare.runtime-Dcrb22a5.js +732 -0
  416. package/dist/prepare.runtime.js +1 -1
  417. package/dist/preview-warnings-Cx__1X43.js +392 -0
  418. package/dist/probe-CevnbYpq.js +682 -0
  419. package/dist/probe-CoEDhBiC.js +2204 -0
  420. package/dist/probe-ConXyeqE.js +2 -0
  421. package/dist/probe-D-jU5onR.js +47 -0
  422. package/dist/program-D3uXTum0.js +131 -0
  423. package/dist/provider--7lUimtp.js +152 -0
  424. package/dist/provider-CCGQtVNI.js +8735 -0
  425. package/dist/provider-DVMSF8i8.js +32 -0
  426. package/dist/provider-R_TaXN59.js +32 -0
  427. package/dist/provider-dispatcher-CYkb3lfL.js +22 -0
  428. package/dist/provider-dispatcher.runtime.js +1 -1
  429. package/dist/provider-session.runtime-DzG2BUE9.js +9 -0
  430. package/dist/provider-session.runtime.js +1 -1
  431. package/dist/provider.runtime-D1-pMnoj.js +2 -0
  432. package/dist/provider.runtime.js +1 -1
  433. package/dist/public-surface-loader-BZisefzq.js +114 -0
  434. package/dist/pw-ai-Cbau3n7J.js +3029 -0
  435. package/dist/pw-role-snapshot-HeQTrxIk.js +333 -0
  436. package/dist/reaction-level-uJ8tiLpH.js +19 -0
  437. package/dist/reaction-runtime-api-BKUvK5Wn.js +116 -0
  438. package/dist/realtime-transcription-provider-Daix0e58.js +205 -0
  439. package/dist/register-Dj9j6LEv.js +2178 -0
  440. package/dist/register.agent-OiMUcpgI.js +156 -0
  441. package/dist/register.crestodian-CbqhJMEx.js +24 -0
  442. package/dist/register.maintenance-CQILEqsM.js +83 -0
  443. package/dist/register.runtime-BwfUZoFY.js +54 -0
  444. package/dist/register.status-health-sessions-DF6wxmsG.js +282 -0
  445. package/dist/register.subclis-CYoz9B5t.js +31 -0
  446. package/dist/register.subclis-Dkal2Cnf.js +3 -0
  447. package/dist/register.subclis-core-BRrO0IX7.js +273 -0
  448. package/dist/repair-sequencing-DvQQmyrq.js +640 -0
  449. package/dist/reply-delivery-ohbM16VN.js +196 -0
  450. package/dist/reply-runtime-qGOCyyux.js +11 -0
  451. package/dist/reply.runtime-1bVL6Eaa.js +2 -0
  452. package/dist/reply.runtime.js +1 -1
  453. package/dist/request-CC3c4Svm.js +54 -0
  454. package/dist/resolve-allowlist-vAhCe75e.js +220 -0
  455. package/dist/result-fallback-classifier-CZtnXmbx.js +79 -0
  456. package/dist/route-resolution-CXaxgYtw.js +274 -0
  457. package/dist/route-uo5aoUdQ.js +469 -0
  458. package/dist/routes-BqtrHP28.js +2 -0
  459. package/dist/routes-pIjFm3n0.js +3602 -0
  460. package/dist/run-DsXJF_m8.js +1162 -0
  461. package/dist/run-attempt-B2GDG3uT.js +7704 -0
  462. package/dist/run-command-BfVI_lOc.js +23 -0
  463. package/dist/run-command-DNrCjZ3m.js +2 -0
  464. package/dist/run-embedded.runtime-g47oIqaL.js +4 -0
  465. package/dist/run-embedded.runtime.js +1 -1
  466. package/dist/run-execution-cli.runtime-zQ48ZAc5.js +4 -0
  467. package/dist/run-execution-cli.runtime.js +1 -1
  468. package/dist/run-executor.runtime.js +1 -1
  469. package/dist/run-subagent-registry.runtime-CXj8K_pJ.js +2 -0
  470. package/dist/run-subagent-registry.runtime.js +1 -1
  471. package/dist/runtime-CjTLh1Zl.js +6179 -0
  472. package/dist/runtime-NVf_F_HM.js +1287 -0
  473. package/dist/runtime-Z5_yALHT.js +438 -0
  474. package/dist/runtime-api-BExObylL.js +17 -0
  475. package/dist/runtime-api-BfCI6iAu.js +3 -0
  476. package/dist/runtime-api-BkzOHOsq.js +13 -0
  477. package/dist/runtime-api-BtVSnSI4.js +4 -0
  478. package/dist/runtime-api-DLHn_SE-.js +24 -0
  479. package/dist/runtime-api-_nsdMn3H.js +13 -0
  480. package/dist/runtime-api-qMRycIAN.js +21 -0
  481. package/dist/runtime-api.actions-UmkTxLGC.js +3 -0
  482. package/dist/runtime-api.monitor-JDAShUxC.js +6 -0
  483. package/dist/runtime-api.send-B65J_Lod.js +4 -0
  484. package/dist/runtime-api.threads-B7tsKPA_.js +2 -0
  485. package/dist/runtime-channel-Bs6XTsp4.js +150 -0
  486. package/dist/runtime-channel-C3WZVBBg.js +2 -0
  487. package/dist/runtime-embedded-pi.runtime-P8AdyyIu.js +2 -0
  488. package/dist/runtime-embedded-pi.runtime.js +1 -1
  489. package/dist/sanitize-outbound-Bt4-FGfp.js +127 -0
  490. package/dist/sdk-setup-tools-CfyJODAu.js +8 -0
  491. package/dist/secrets-DjmhS0YO.js +113 -0
  492. package/dist/security-audit-CKVBQPWN.js +118 -0
  493. package/dist/security-audit-D9IeXoG3.js +122 -0
  494. package/dist/security-audit.runtime-CYMQTOM9.js +2 -0
  495. package/dist/security-audit.runtime.js +1 -1
  496. package/dist/selection--wvE7VOv.js +16157 -0
  497. package/dist/selection-y-7QPgGA.js +3 -0
  498. package/dist/send-BlmkYrI0.js +1631 -0
  499. package/dist/send-CbkEX0QM.js +143 -0
  500. package/dist/send-Cmn4RsqA.js +192 -0
  501. package/dist/send-Dug9BZ9D.js +2 -0
  502. package/dist/send.components-CyaKuD2L.js +500 -0
  503. package/dist/send.components-PcOc-Ovz.js +2 -0
  504. package/dist/send.runtime-xY6hEtyv.js +2 -0
  505. package/dist/send.runtime.js +1 -1
  506. package/dist/server-BnGgr3PE.js +73 -0
  507. package/dist/server-close.runtime.js +1 -1
  508. package/dist/server-context-CLKwYCyu.js +955 -0
  509. package/dist/server-context-CYVPTQQC.js +2 -0
  510. package/dist/server-cron-B1jBiRyb.js +2989 -0
  511. package/dist/server-cron-X77jGOEU.js +2 -0
  512. package/dist/server-maintenance-De3og-4o.js +167 -0
  513. package/dist/server-methods-BBnXSrf2.js +16494 -0
  514. package/dist/server-node-events-BUsL79RS.js +596 -0
  515. package/dist/server-plugin-bootstrap-ALp-FJwj.js +70 -0
  516. package/dist/server-plugins-ufO_8NhB.js +432 -0
  517. package/dist/server-reload-handlers-CPiyHZtT.js +714 -0
  518. package/dist/server-restart-sentinel-CQk6eeWM.js +747 -0
  519. package/dist/server-restart-sentinel-D3cRaMdv.js +2 -0
  520. package/dist/server-runtime-services-Bu0xO9C9.js +2 -0
  521. package/dist/server-runtime-services-DXP2sVWQ.js +267 -0
  522. package/dist/server-startup-early-BtMFPN84.js +87 -0
  523. package/dist/server-startup-plugins-CQ_pYS5Y.js +113 -0
  524. package/dist/server-startup-post-attach-gbmw9hix.js +716 -0
  525. package/dist/server-ws-runtime-Cd3Y798f.js +349 -0
  526. package/dist/server-xLxaL9Qb.js +24 -0
  527. package/dist/server.impl-C78G0iEs.js +2586 -0
  528. package/dist/service-wi5zUseG.js +1446 -0
  529. package/dist/session-binding-BUfCOB1r.js +219 -0
  530. package/dist/session-binding-DBdZdGMb.js +2 -0
  531. package/dist/session-kill-http-PtCc8zMl.js +121 -0
  532. package/dist/session-reset-service-BOBmro8l.js +625 -0
  533. package/dist/session-route-CJUmMLQC.js +93 -0
  534. package/dist/session-status.runtime-C10K54fr.js +2 -0
  535. package/dist/session-status.runtime.js +1 -1
  536. package/dist/session-subagent-reactivation.runtime-DfIyTUKb.js +2 -0
  537. package/dist/session-subagent-reactivation.runtime.js +1 -1
  538. package/dist/session-tab-registry-DQbVw6TC.js +521 -0
  539. package/dist/sessions-history-http-BX2MupcW.js +430 -0
  540. package/dist/sessions.runtime-C2inYyN4.js +2 -0
  541. package/dist/sessions.runtime.js +1 -1
  542. package/dist/setup-api-LkhGnkD8.js +29 -0
  543. package/dist/setup-core-CinEapxM.js +174 -0
  544. package/dist/setup-surface-BCtf5vsv.js +221 -0
  545. package/dist/setup-surface-BlIPVefp.js +320 -0
  546. package/dist/setup-surface-CfGI8GXG.js +288 -0
  547. package/dist/setup-surface-Cpi2A6hH.js +405 -0
  548. package/dist/shared-D57heBsq.js +121 -0
  549. package/dist/shared-client-BNqlZyQZ.js +2 -0
  550. package/dist/shared-client-DkXSWGuf.js +629 -0
  551. package/dist/side-question-CJpQXQwO.js +683 -0
  552. package/dist/skill-tool-dispatch.runtime-DFIYzLB7.js +143 -0
  553. package/dist/skill-tool-dispatch.runtime.js +1 -1
  554. package/dist/slash-state-PVFVXsf5.js +2166 -0
  555. package/dist/speech-provider-BYMES40R.js +184 -0
  556. package/dist/src-Cig0nIaB.js +4256 -0
  557. package/dist/startup-context-BhCfCVUP.js +313 -0
  558. package/dist/status-BUGiySd0.js +3 -0
  559. package/dist/status-CCUVxq2T.js +4 -0
  560. package/dist/status-all-DVmRki9n.js +573 -0
  561. package/dist/status-json-C9yB-I_P.js +14 -0
  562. package/dist/status-json-command-DLiHHY4-.js +84 -0
  563. package/dist/status-runtime-shared-CVVr1-B8.js +283 -0
  564. package/dist/status-subagents.runtime-Dnd_-sFp.js +18 -0
  565. package/dist/status-subagents.runtime.js +1 -1
  566. package/dist/status-text-Bv7B6Qvi.js +296 -0
  567. package/dist/status.command-CgQ_YxAV.js +2 -0
  568. package/dist/status.command-DljDx7Pt.js +420 -0
  569. package/dist/status.command.text-runtime-HPfXUUVK.js +15 -0
  570. package/dist/status.scan-XGVKT6BH.js +68 -0
  571. package/dist/status.scan-overview-BdO_Dwpk.js +444 -0
  572. package/dist/status.scan.fast-json-BbfAYFaX.js +2 -0
  573. package/dist/status.scan.fast-json-CixCI_VT.js +127 -0
  574. package/dist/status.scan.runtime-c77nmHB8.js +479 -0
  575. package/dist/status.scan.runtime.js +1 -1
  576. package/dist/status.update-CgJc9Ame.js +2 -0
  577. package/dist/status.update-DxUx2UCj.js +86 -0
  578. package/dist/sticker-cache-zbRCf5UY.js +206 -0
  579. package/dist/sticker-vision.runtime-D8hb_hbK.js +17 -0
  580. package/dist/sticker-vision.runtime.js +1 -1
  581. package/dist/subagent-announce-D-tCpxB7.js +354 -0
  582. package/dist/subagent-announce-delivery-CV9sHBb8.js +958 -0
  583. package/dist/subagent-control-B71yROQ1.js +508 -0
  584. package/dist/subagent-hooks-5z9r_kyU.js +230 -0
  585. package/dist/subagent-hooks-B9N4nO9J.js +2 -0
  586. package/dist/subagent-hooks-Bqm8GC4e.js +116 -0
  587. package/dist/subagent-hooks-CH64M3D2.js +2 -0
  588. package/dist/subagent-hooks-YX204bTO.js +2 -0
  589. package/dist/subagent-hooks-api-22u-zraT.js +23 -0
  590. package/dist/subagent-hooks-api-CZbBhZq3.js +23 -0
  591. package/dist/subagent-hooks-api-Ji-FhB1I.js +22 -0
  592. package/dist/subagent-hooks-yIneGe_q.js +146 -0
  593. package/dist/subagent-orphan-recovery-BR2b7ZZK.js +352 -0
  594. package/dist/subagent-registry-7llbjThI.js +2351 -0
  595. package/dist/subagent-registry-IXRntXRj.js +3 -0
  596. package/dist/subagent-registry.runtime.js +1 -1
  597. package/dist/subagent-session-cleanup-Ckvz5u4B.js +525 -0
  598. package/dist/subagent-spawn-28HeMeKx.js +1164 -0
  599. package/dist/target-id-CGBWkCke.js +107 -0
  600. package/dist/targets-B8kgW-Y8.js +19 -0
  601. package/dist/targets-BhYsYz4Q.js +44 -0
  602. package/dist/targets-Dl-MgHWz.js +19 -0
  603. package/dist/task-registry-control.runtime.js +1 -1
  604. package/dist/telegram/token.js +1 -1
  605. package/dist/testing-CwJ9EDFR.js +267 -0
  606. package/dist/text-report-97aYC9pB.js +695 -0
  607. package/dist/thread-bindings-B6t8Q4ba.js +8 -0
  608. package/dist/thread-bindings-B9f-_sFy.js +571 -0
  609. package/dist/thread-bindings-CJDUpwXD.js +228 -0
  610. package/dist/thread-bindings-DxvjdbzW.js +232 -0
  611. package/dist/thread-bindings.discord-api-CnRP-DSi.js +187 -0
  612. package/dist/thread-bindings.manager-2B6_nSpQ.js +536 -0
  613. package/dist/thread-bindings.manager-C_n--VnJ.js +2 -0
  614. package/dist/thread-lifecycle-C2hLLuqe.js +1614 -0
  615. package/dist/token-Bo7-r-aE.js +134 -0
  616. package/dist/tool-BLIlzoql.js +139 -0
  617. package/dist/tool-actions.runtime-CXZ0UNkZ.js +534 -0
  618. package/dist/tool-actions.runtime.js +1 -1
  619. package/dist/tool-resolution-BqtQFCPq.js +149 -0
  620. package/dist/tools-effective-inventory-DABx239z.js +204 -0
  621. package/dist/tools-invoke-http-8pjepRT1.js +67 -0
  622. package/dist/tools-invoke-shared-l5WK0ntS.js +200 -0
  623. package/dist/tts-BIYGM92g.js +66 -0
  624. package/dist/tui-DCykl3IU.js +4709 -0
  625. package/dist/tui-DzUa_vFQ.js +2 -0
  626. package/dist/tui-backend-BJUtldXg.js +256 -0
  627. package/dist/tui-cli-C-Q6SJc7.js +37 -0
  628. package/dist/update-check-BKUpUW-v.js +372 -0
  629. package/dist/update-cli-DA6H6wa0.js +3664 -0
  630. package/dist/update-runner-C680U-SL.js +2379 -0
  631. package/dist/update-startup-DPjYirTF.js +2 -0
  632. package/dist/update-startup-Wr7CfPVC.js +339 -0
  633. package/dist/vision-tools-DJ4y7cV-.js +1409 -0
  634. package/dist/web-search-DpV8PBBY.js +62 -0
  635. package/dist/web-search-provider.runtime-Bmvff7rR.js +2 -0
  636. package/dist/web-search-provider.runtime-CY9JJJoF.js +328 -0
  637. package/dist/web-search-provider.runtime.js +1 -1
  638. package/dist/xai-oauth-gj-8ubLa.js +479 -0
  639. package/dist/xai-user-agent-D4JRRc1W.js +32 -0
  640. package/package.json +1 -1
  641. package/dist/abort-5xSPv96j.js +0 -277
  642. package/dist/abort.runtime-0926E27Z.js +0 -2
  643. package/dist/account-inspect-BgzS8u-D.js +0 -173
  644. package/dist/accounts-7v5WrRCh.js +0 -2
  645. package/dist/accounts-BzO41JQx.js +0 -107
  646. package/dist/accounts-CSbmdRcc.js +0 -107
  647. package/dist/accounts-CZQ5w4JW.js +0 -119
  648. package/dist/acp-runtime-BCeSAla4.js +0 -26
  649. package/dist/acp-spawn-Czqyiryw.js +0 -1275
  650. package/dist/acp-spawn-D39EyfB9.js +0 -2
  651. package/dist/acp-stateful-target-driver-Ds-A-N-E.js +0 -89
  652. package/dist/action-kill-BdD5_Aml.js +0 -33
  653. package/dist/action-runtime-COScp8ol.js +0 -469
  654. package/dist/action-runtime-api-BgjjgLcW.js +0 -2
  655. package/dist/action-send-DfeejIBh.js +0 -39
  656. package/dist/action-spawn-DO8scagE.js +0 -47
  657. package/dist/actions-XbUKh94t.js +0 -161
  658. package/dist/actions.runtime-D_FyKsqj.js +0 -5
  659. package/dist/agent-3M5jLi8y.js +0 -2
  660. package/dist/agent-_HmdUCr4.js +0 -3
  661. package/dist/agent-command-JdyQsbkT.js +0 -1367
  662. package/dist/agent-components.runtime-BiG6LL4q.js +0 -10
  663. package/dist/agent-harness-runtime-CHrYKoTd.js +0 -180
  664. package/dist/agent-harness-task-runtime-DHQNyKub.js +0 -140
  665. package/dist/agent-runner-execution-D20QTBXr.js +0 -1713
  666. package/dist/agent-runner-utils-Bqe6xxgK.js +0 -266
  667. package/dist/agent-runner.runtime-BDNZI9xP.js +0 -3455
  668. package/dist/agent-runtime-TYhcwEWD.js +0 -229
  669. package/dist/agent-via-gateway-Dr06Lb5b.js +0 -463
  670. package/dist/api-Bv6Yzx0U.js +0 -639
  671. package/dist/api-CKq871s7.js +0 -134
  672. package/dist/api-DX_U2wja.js +0 -2
  673. package/dist/api-U8Q33Ouw.js +0 -6
  674. package/dist/api-UYhicEhq.js +0 -3
  675. package/dist/api-yyfjBhjb.js +0 -2
  676. package/dist/apply-BaAAhGbT.js +0 -41
  677. package/dist/apply-DoPxVm4A.js +0 -54
  678. package/dist/approval-handler.runtime-BtGX8k1E.js +0 -130
  679. package/dist/assistant-B3I8-7Lv.js +0 -291
  680. package/dist/attachment-normalize-C0-A3gAr.js +0 -225
  681. package/dist/attempt-execution-B4Uh6AAn.js +0 -558
  682. package/dist/attempt-execution.runtime-CDwaTeFi.js +0 -3
  683. package/dist/attempt-execution.shared-LOacq8Oi.js +0 -38
  684. package/dist/attempt.prompt-helpers-DTLTH3Mn.js +0 -475
  685. package/dist/attempt.tool-run-context-CQfLOzhy.js +0 -2094
  686. package/dist/binding-routing-D1Ep8LYu.js +0 -113
  687. package/dist/binding-targets-DAx23oWo.js +0 -121
  688. package/dist/bot-Wv3X4bsa.js +0 -7894
  689. package/dist/bot-deps-Bl2rHw_I.js +0 -747
  690. package/dist/bot-deps-D5QFJ6Sp.js +0 -2
  691. package/dist/bot-message-context.runtime-CLTMWkIl.js +0 -7
  692. package/dist/bot-message-context.session.runtime-C7ixtg9D.js +0 -12
  693. package/dist/bot-native-commands.delivery.runtime-Dd7fg3sv.js +0 -4
  694. package/dist/bot-native-commands.runtime-xxk9PH27.js +0 -13
  695. package/dist/bridge-server-B2OfZKTC.js +0 -113
  696. package/dist/browser-cli-C5iosRvD.js +0 -230
  697. package/dist/browser-cli-CLz_3gcp.js +0 -2
  698. package/dist/browser-cli-actions-input-DmI7MUTC.js +0 -473
  699. package/dist/browser-cli-actions-observe-D3mxz2K_.js +0 -81
  700. package/dist/browser-cli-debug-D4ovrUvJ.js +0 -137
  701. package/dist/browser-cli-inspect-NM7kVusr.js +0 -104
  702. package/dist/browser-cli-manage--VYOZfBu.js +0 -443
  703. package/dist/browser-cli-resize-DrCL8Kq1.js +0 -26
  704. package/dist/browser-cli-shared-Cd6zdFZW.js +0 -50
  705. package/dist/browser-cli-state-CoB8ZyE6.js +0 -337
  706. package/dist/browser-control-auth-Bev4Zk62.js +0 -2
  707. package/dist/browser-profiles-BxPD8_vB.js +0 -2
  708. package/dist/browser-runtime-C07L-Zov.js +0 -384
  709. package/dist/build-CQUvEKPr.js +0 -257
  710. package/dist/capability-cli-CgkX47xS.js +0 -1782
  711. package/dist/channel-4gVDslD_.js +0 -653
  712. package/dist/channel-6vrwZPs9.js +0 -238
  713. package/dist/channel-B9ZuUQ6v.js +0 -562
  714. package/dist/channel-BADrx_U3.js +0 -1556
  715. package/dist/channel-BGLIVapC.js +0 -481
  716. package/dist/channel-BwcQp8Rq.js +0 -955
  717. package/dist/channel-BzSKfrLf.js +0 -740
  718. package/dist/channel-C4XSENg9.js +0 -2126
  719. package/dist/channel-C7ga9fTJ.js +0 -1777
  720. package/dist/channel-C8hBwzA1.js +0 -362
  721. package/dist/channel-CCG1mfB4.js +0 -1496
  722. package/dist/channel-CKOJY4Zd.js +0 -1134
  723. package/dist/channel-CYxTzhn7.js +0 -376
  724. package/dist/channel-DDg0cxDP.js +0 -808
  725. package/dist/channel-DpsxF3Mf.js +0 -1249
  726. package/dist/channel-actions.runtime-DJOOf7eP.js +0 -265
  727. package/dist/channel-cl_cgDg6.js +0 -508
  728. package/dist/channel-core-DTSpGZkc.js +0 -5
  729. package/dist/channel-emJStu3a.js +0 -867
  730. package/dist/channel-inbound-le9T0BS4.js +0 -80
  731. package/dist/channel-plugin-runtime-COf6cDhp.js +0 -998
  732. package/dist/channel-runtime-LgCwu-e7.js +0 -408
  733. package/dist/channel.runtime-1b8dMgHq.js +0 -4
  734. package/dist/channel.runtime-BIZeTsuh.js +0 -88
  735. package/dist/channel.runtime-BPTDdF_t.js +0 -1008
  736. package/dist/channel.runtime-CMwMP86f.js +0 -21009
  737. package/dist/channel.runtime-CbR_S3Es.js +0 -733
  738. package/dist/channel.runtime-CoNDJV33.js +0 -254
  739. package/dist/channel.runtime-D1ve78xp.js +0 -109
  740. package/dist/channel.runtime-DAuGTOCS.js +0 -652
  741. package/dist/channel.runtime-DCHOoofn.js +0 -2528
  742. package/dist/channel.setup-BP1xL5Pf.js +0 -1098
  743. package/dist/channel.setup-ChiJ3GPS.js +0 -10
  744. package/dist/channel.setup-SmJQYInQ.js +0 -343
  745. package/dist/chat-zRdfy5a3.js +0 -2666
  746. package/dist/chrome-CKXrklba.js +0 -1503
  747. package/dist/cli-D8jOuVTO.js +0 -1341
  748. package/dist/cli-compaction-BLVrCsK5.js +0 -347
  749. package/dist/cli-metadata-CYvkEhJD.js +0 -22
  750. package/dist/cli-runner-BlM3bE0F.js +0 -2
  751. package/dist/cli-runner-D6RHy0cU.js +0 -540
  752. package/dist/cli-runner.runtime-BZAAFLDU.js +0 -4
  753. package/dist/cli-runner.runtime-CpX1HvG6.js +0 -3
  754. package/dist/client-CtRn_hQP.js +0 -650
  755. package/dist/client-adapter-BVIdEc7J.js +0 -897
  756. package/dist/client-factory-6n6tLSIi.js +0 -9
  757. package/dist/command-auth-B2r-fHTK.js +0 -135
  758. package/dist/command-handlers-Pnxu5_zT.js +0 -1609
  759. package/dist/command-registry-Ck2pwGIs.js +0 -9
  760. package/dist/command-registry-CmCmwAX7.js +0 -4
  761. package/dist/command-registry-core-Bpb8Zmai.js +0 -110
  762. package/dist/command-status.runtime-Bjq4f1lX.js +0 -90
  763. package/dist/commands-acp-B7zCM6RA.js +0 -74
  764. package/dist/commands-compact.runtime-CmtzRn-a.js +0 -10
  765. package/dist/commands-handlers.runtime-C4kTnIeK.js +0 -6154
  766. package/dist/commands-status-DVgiHsQ5.js +0 -16
  767. package/dist/commands-status-DlYd-7ik.js +0 -3
  768. package/dist/commands-status.runtime-DlYd-7ik.js +0 -3
  769. package/dist/commands-subagents-control.runtime-DgvtGIas.js +0 -2
  770. package/dist/commands-subagents-control.runtime-JdMGlKtk.js +0 -3
  771. package/dist/commands-system-prompt-BQyxb4tV.js +0 -162
  772. package/dist/commands-system-prompt-ByWU697p.js +0 -2
  773. package/dist/commands.runtime-CJP1VpiV.js +0 -176
  774. package/dist/compact-DLUg6XJH.js +0 -1141
  775. package/dist/compact-_E6we35c.js +0 -480
  776. package/dist/compact.runtime-DPVrm-pW.js +0 -12
  777. package/dist/completion-cli-DoizagFW.js +0 -315
  778. package/dist/computer-use-CCjnsa_1.js +0 -367
  779. package/dist/config-BilJG9EC.js +0 -373
  780. package/dist/config-BxPD8_vB.js +0 -2
  781. package/dist/config-mutations-D_EXryF0.js +0 -159
  782. package/dist/context-engine-host-compat-CqmA35DL.js +0 -2
  783. package/dist/context-engine-host-compat-CueTS2PS.js +0 -288
  784. package/dist/context-engine-lifecycle-BfMiEl15.js +0 -1274
  785. package/dist/control-auth-BU7xIoX-.js +0 -114
  786. package/dist/control-service-rkbW1sH-.js +0 -145
  787. package/dist/control-ui/assets/agents-Bmksc4At.js +0 -1008
  788. package/dist/control-ui/assets/channel-config-extras-0m9cczr4.js +0 -2
  789. package/dist/control-ui/assets/channels-DGCi3xli.js +0 -367
  790. package/dist/control-ui/assets/cron-B3jHqPYZ.js +0 -1013
  791. package/dist/control-ui/assets/debug-C38n-Ynm.js +0 -97
  792. package/dist/control-ui/assets/index-B3vU4Kp-.js +0 -7370
  793. package/dist/control-ui/assets/instances-B5l_Ub4a.js +0 -57
  794. package/dist/control-ui/assets/logs-CDvzMoRN.js +0 -74
  795. package/dist/control-ui/assets/nodes-Cb6gzeB7.js +0 -436
  796. package/dist/control-ui/assets/sessions-DKl00hAp.js +0 -399
  797. package/dist/control-ui/assets/skills-C0BEkZ-Q.js +0 -314
  798. package/dist/control-ui/assets/skills-shared-ILWmFgzt.js +0 -11
  799. package/dist/conversation-binding-runtime-DUU8Cbqn.js +0 -4
  800. package/dist/conversation-runtime-DPrqAWle.js +0 -31
  801. package/dist/core-CUD6UgSq.js +0 -282
  802. package/dist/core-api-B1g3Om3O.js +0 -5
  803. package/dist/core-api-C-O6aNhF.js +0 -2
  804. package/dist/crestodian-v9uXA3A2.js +0 -55
  805. package/dist/daocore-tools-C28lHB0m.js +0 -11727
  806. package/dist/delivery-BuWQ2Vps.js +0 -1002
  807. package/dist/dialogue-DSYoyGRK.js +0 -37
  808. package/dist/dir-fetch-tool-Cp6QDtGT.js +0 -565
  809. package/dist/dir-list-tool-Cgwy8SnK.js +0 -100
  810. package/dist/direct-dm-B9jtIQVB.js +0 -64
  811. package/dist/directive-handling.fast-lane-DW5n01VF.js +0 -68
  812. package/dist/directive-handling.impl-BZXGBxBu.js +0 -2
  813. package/dist/directive-handling.impl-DvmlznGE.js +0 -818
  814. package/dist/directive-handling.model-selection-CdbAe1eC.js +0 -122
  815. package/dist/directive-handling.persist.runtime-B7WHo9zw.js +0 -263
  816. package/dist/dispatch-Bysi6DFL.js +0 -1640
  817. package/dist/dispatch-acp-transcript.runtime-CrAnpqiX.js +0 -40
  818. package/dist/dispatch-acp.runtime-DkcXZIbM.js +0 -18
  819. package/dist/doctor-CFmGWeIn.js +0 -6
  820. package/dist/doctor-_JI7RKJk.js +0 -2
  821. package/dist/doctor-config-flow-DVXxaLTb.js +0 -1741
  822. package/dist/doctor-core-checks-BfUW_u2R.js +0 -2
  823. package/dist/doctor-core-checks-lmN1Tw4N.js +0 -573
  824. package/dist/doctor-health-ZgTh34Za.js +0 -65
  825. package/dist/doctor-health-contributions-DV0Ff5cp.js +0 -696
  826. package/dist/doctor-lint-DbYtxQxC.js +0 -94
  827. package/dist/doctor-state-integrity-CZdBuNdm.js +0 -1231
  828. package/dist/doctor-update-DpFQTsrm.js +0 -58
  829. package/dist/dynamic-tools-DWocQS_t.js +0 -486
  830. package/dist/embedded-backend-DGDv3GDw.js +0 -579
  831. package/dist/embedded-gateway-stub.runtime-mATMWU23.js +0 -12
  832. package/dist/exec-approvals-tk6i5Iy2.js +0 -149
  833. package/dist/file-fetch-tool-BVh97aps.js +0 -124
  834. package/dist/file-write-tool-Cfb7u51o.js +0 -127
  835. package/dist/format-Bqz5xYeB.js +0 -250
  836. package/dist/format-DpuFG9c5.js +0 -1145
  837. package/dist/gateway-cli-eCkwL4uy.js +0 -435
  838. package/dist/gateway-method-runtime-BXqKYfux.js +0 -21
  839. package/dist/get-reply-Bc_T3z5w.js +0 -4689
  840. package/dist/get-reply-from-config.runtime-BKhFCEun.js +0 -2
  841. package/dist/graph-users-BiokxXwA.js +0 -1419
  842. package/dist/group-access-DBAPYc28.js +0 -112
  843. package/dist/handle-action.guild-admin-S3qgTJJ3.js +0 -288
  844. package/dist/harness-B7wBXWh0.js +0 -61
  845. package/dist/health-DdXlm-1M.js +0 -4
  846. package/dist/health-state-BbDa6gRr.js +0 -106
  847. package/dist/heartbeat-runner-CZKQeDIE.js +0 -5
  848. package/dist/heartbeat-runner.runtime-D5VTmRkB.js +0 -4
  849. package/dist/hooks-CJtypGfW.js +0 -534
  850. package/dist/inbound-direct-dm-runtime-D91V0BFn.js +0 -2
  851. package/dist/inbound-reply-dispatch-DTvJL7df.js +0 -148
  852. package/dist/init-qWugBDhm.js +0 -59
  853. package/dist/inline-buttons-1E4EwLvT.js +0 -40
  854. package/dist/internal-events-DtxthZ8P.js +0 -90
  855. package/dist/isolated-agent-C0ZZI5QV.js +0 -2
  856. package/dist/isolated-agent-C7qWrmnX.js +0 -1118
  857. package/dist/lifecycle-Wq49oJK4.js +0 -571
  858. package/dist/list.probe-DWMHsvUW.js +0 -449
  859. package/dist/list.status-command-DSGGuDOk.js +0 -789
  860. package/dist/llm-slug-generator-Bp_C1mgK.js +0 -78
  861. package/dist/local-dispatch.runtime-Cn8pnuYP.js +0 -9
  862. package/dist/manager.runtime-BdEdrDpV.js +0 -2714
  863. package/dist/markdown-to-line-D8Y0X3f4.js +0 -811
  864. package/dist/mcp-http-Cmug_nIB.js +0 -555
  865. package/dist/mcp-http-Dxmrs9Wm.js +0 -2
  866. package/dist/media-understanding-provider-BUGZ_tGW.js +0 -339
  867. package/dist/message-actions-Bb5avCm0.js +0 -145
  868. package/dist/message-handler-7FxYBWCr.js +0 -384
  869. package/dist/message-handler-EXgLxNWG.js +0 -1715
  870. package/dist/message-handler.preflight-CtW30FUU.js +0 -1125
  871. package/dist/message-handler.process-D_tmiE76.js +0 -1484
  872. package/dist/model-FzMER7bm.js +0 -74
  873. package/dist/model-selection-bti71700.js +0 -272
  874. package/dist/models-C8i8gMx4.js +0 -2
  875. package/dist/models-CdD9KMFY.js +0 -104
  876. package/dist/models-cli-gg_kT0t3.js +0 -256
  877. package/dist/monitor-Be8nfodW.js +0 -1657
  878. package/dist/monitor-Bvxk0x5H.js +0 -715
  879. package/dist/monitor-CE97mY08.js +0 -2788
  880. package/dist/monitor-CUf3qwuD.js +0 -60
  881. package/dist/monitor-D6mKqFJ6.js +0 -834
  882. package/dist/monitor-DU7GwGnr.js +0 -4377
  883. package/dist/monitor-DhcXz9j_.js +0 -2
  884. package/dist/monitor-auth-BRcGC8Y2.js +0 -179
  885. package/dist/monitor-polling.runtime-IxrlG8Xk.js +0 -883
  886. package/dist/monitor-vVY3N7u5.js +0 -1370
  887. package/dist/monitor-webhook.runtime-hc4RVNDK.js +0 -387
  888. package/dist/monitor.account-XphC4gzs.js +0 -5233
  889. package/dist/monitor.runtime-6xS3OjmH.js +0 -2
  890. package/dist/monitor.webhook-5EHwrXWd.js +0 -180
  891. package/dist/node-cli-sessions-DOBuRxFO.js +0 -1228
  892. package/dist/openai-http-CGnGQIGW.js +0 -824
  893. package/dist/openresponses-http-BXPy59t0.js +0 -1173
  894. package/dist/operations-BvCPaweO.js +0 -805
  895. package/dist/outbound-adapter-DiSr_Bhn.js +0 -543
  896. package/dist/outbound-session-route-Cm1ZzMzO.js +0 -45
  897. package/dist/outbound.runtime-_iFVmHLo.js +0 -2
  898. package/dist/pi-embedded-D5GNzI7q.js +0 -4
  899. package/dist/pi-embedded-DFFUgktH.js +0 -3796
  900. package/dist/pi-embedded.runtime-Cd4ObvwO.js +0 -4
  901. package/dist/pi-tools-BC8I1xvo.js +0 -2413
  902. package/dist/plan-CB-ExQ8I.js +0 -112
  903. package/dist/plan-XEE4NkGP.js +0 -81
  904. package/dist/plugin-FgCZcV6y.js +0 -12396
  905. package/dist/plugin-app-cache-key-CDrzpMz5.js +0 -46
  906. package/dist/plugin-enabled-C63xoVby.js +0 -233
  907. package/dist/plugin-registration-DmMBSR62.js +0 -88
  908. package/dist/plugin-service-Dt30fEbO.js +0 -1229
  909. package/dist/policy-CtICwdgT.js +0 -680
  910. package/dist/policy-DT-VOML-.js +0 -138
  911. package/dist/prepare.runtime-BZWbkknM.js +0 -732
  912. package/dist/preview-warnings-c5wlaU-y.js +0 -392
  913. package/dist/probe-C0Gd1211.js +0 -682
  914. package/dist/probe-CM_9YKXA.js +0 -2
  915. package/dist/probe-CrkgoSu3.js +0 -2204
  916. package/dist/probe-DcbGYJMj.js +0 -47
  917. package/dist/program-DcIk29tW.js +0 -131
  918. package/dist/provider-B2h8f0Br.js +0 -8735
  919. package/dist/provider-BXVr37w8.js +0 -32
  920. package/dist/provider-CIB7u7hX.js +0 -152
  921. package/dist/provider-bvVoUDev.js +0 -32
  922. package/dist/provider-dispatcher-btaVKiyh.js +0 -22
  923. package/dist/provider-session.runtime-CFBF4pr7.js +0 -9
  924. package/dist/provider.runtime-CZfM-gk6.js +0 -2
  925. package/dist/public-surface-loader-BTQVJb2c.js +0 -114
  926. package/dist/pw-ai-CZwiW9VR.js +0 -3029
  927. package/dist/pw-role-snapshot-BBAmIGwb.js +0 -333
  928. package/dist/reaction-level-DBBuD-ww.js +0 -19
  929. package/dist/reaction-runtime-api-C1vrXLqZ.js +0 -116
  930. package/dist/realtime-transcription-provider-CelUuvqm.js +0 -205
  931. package/dist/register-OPqUqnP6.js +0 -2178
  932. package/dist/register.agent-DSrwwOvx.js +0 -156
  933. package/dist/register.crestodian-Xxxk2-Zl.js +0 -24
  934. package/dist/register.maintenance-CDfzLTNQ.js +0 -83
  935. package/dist/register.runtime-BVG-Dv_-.js +0 -54
  936. package/dist/register.status-health-sessions-B36GUeBl.js +0 -282
  937. package/dist/register.subclis-BHzKPsu3.js +0 -31
  938. package/dist/register.subclis-Je6qsLUH.js +0 -3
  939. package/dist/register.subclis-core-DqSQ4XoR.js +0 -273
  940. package/dist/repair-sequencing-DNO4k0Xf.js +0 -640
  941. package/dist/reply-delivery-37v9z05y.js +0 -196
  942. package/dist/reply-runtime-py2XHqw1.js +0 -11
  943. package/dist/reply.runtime-BKhFCEun.js +0 -2
  944. package/dist/request-CoRpTCQ-.js +0 -54
  945. package/dist/resolve-allowlist-D-vOgxSP.js +0 -220
  946. package/dist/result-fallback-classifier-Dn3Dmp9k.js +0 -79
  947. package/dist/route-DW9RJF0S.js +0 -469
  948. package/dist/route-resolution-D_0Mvu67.js +0 -274
  949. package/dist/routes-437aa83D.js +0 -3602
  950. package/dist/routes-D7LQ3tMt.js +0 -2
  951. package/dist/run-DXGJiQoW.js +0 -1162
  952. package/dist/run-attempt-_0WJ7JVY.js +0 -7704
  953. package/dist/run-command-BkhBbZq4.js +0 -23
  954. package/dist/run-command-DMG9dO72.js +0 -2
  955. package/dist/run-embedded.runtime-D525I-KH.js +0 -4
  956. package/dist/run-execution-cli.runtime-TuyJs3wn.js +0 -4
  957. package/dist/run-subagent-registry.runtime-BcGVpK9w.js +0 -2
  958. package/dist/runtime-5_JhnRj0.js +0 -438
  959. package/dist/runtime-BEfdbKzt.js +0 -6179
  960. package/dist/runtime-DtQ2yT4g.js +0 -1287
  961. package/dist/runtime-api-Bm7IDGdk.js +0 -24
  962. package/dist/runtime-api-C8uxd9Js.js +0 -4
  963. package/dist/runtime-api-CLhw7d8A.js +0 -13
  964. package/dist/runtime-api-Ccg7ngfJ.js +0 -13
  965. package/dist/runtime-api-CpQqdZYq.js +0 -21
  966. package/dist/runtime-api-JulpTdFC.js +0 -17
  967. package/dist/runtime-api-zbqtuJt-.js +0 -3
  968. package/dist/runtime-api.actions-2fHneH-M.js +0 -3
  969. package/dist/runtime-api.monitor-Bpj7QCdL.js +0 -6
  970. package/dist/runtime-api.send-DeoFOMAr.js +0 -4
  971. package/dist/runtime-api.threads-b16O0JZ4.js +0 -2
  972. package/dist/runtime-channel-CuERpYnN.js +0 -150
  973. package/dist/runtime-channel-YbtclsiZ.js +0 -2
  974. package/dist/runtime-embedded-pi.runtime-DEcqs7Yu.js +0 -2
  975. package/dist/sanitize-outbound-cOz4EipP.js +0 -127
  976. package/dist/sdk-setup-tools-Bur4xhiB.js +0 -8
  977. package/dist/secrets-B0P_1QcV.js +0 -113
  978. package/dist/security-audit-DRttHvfh.js +0 -122
  979. package/dist/security-audit-Dp26B_nd.js +0 -118
  980. package/dist/security-audit.runtime-DYK4iAnc.js +0 -2
  981. package/dist/selection-44C59Jt6.js +0 -16157
  982. package/dist/selection-QO-UjTkW.js +0 -3
  983. package/dist/send-C_D0mahx.js +0 -2
  984. package/dist/send-Cr-pK3Md.js +0 -143
  985. package/dist/send-DVhzeHKl.js +0 -1631
  986. package/dist/send-PmYvWFLe.js +0 -192
  987. package/dist/send.components-B2Mo6jm1.js +0 -500
  988. package/dist/send.components-BPYxo1GP.js +0 -2
  989. package/dist/send.runtime-D3JsvWwD.js +0 -2
  990. package/dist/server-0ubKRVjg.js +0 -24
  991. package/dist/server-DfzdV9XR.js +0 -73
  992. package/dist/server-context-CUWMZ_eM.js +0 -2
  993. package/dist/server-context-Cnl8idXT.js +0 -955
  994. package/dist/server-cron-D7QmsboM.js +0 -2
  995. package/dist/server-cron-mea_v_AH.js +0 -2989
  996. package/dist/server-maintenance-CzgBw90t.js +0 -167
  997. package/dist/server-methods-BQK-_CCw.js +0 -16494
  998. package/dist/server-node-events-C__xvGU1.js +0 -596
  999. package/dist/server-plugin-bootstrap-vC6fQjdM.js +0 -70
  1000. package/dist/server-plugins-BfXHktel.js +0 -432
  1001. package/dist/server-reload-handlers-CdagBZAE.js +0 -714
  1002. package/dist/server-restart-sentinel-BO-vqR3K.js +0 -747
  1003. package/dist/server-restart-sentinel-DND8yDHW.js +0 -2
  1004. package/dist/server-runtime-services-Bao-oSOF.js +0 -267
  1005. package/dist/server-runtime-services-D6cI6uO2.js +0 -2
  1006. package/dist/server-startup-early-BDLTmiF5.js +0 -87
  1007. package/dist/server-startup-plugins-q_W_iA3q.js +0 -113
  1008. package/dist/server-startup-post-attach-CYKy2V3j.js +0 -716
  1009. package/dist/server-ws-runtime-Da8L4ypZ.js +0 -349
  1010. package/dist/server.impl-DGOSejqy.js +0 -2586
  1011. package/dist/service-DlI2U-cK.js +0 -1446
  1012. package/dist/session-binding-CwkYLNXf.js +0 -2
  1013. package/dist/session-binding-DX-fo3c9.js +0 -219
  1014. package/dist/session-kill-http-CFmTagxj.js +0 -121
  1015. package/dist/session-reset-service-B25Jlagv.js +0 -625
  1016. package/dist/session-route-bgMaGZRG.js +0 -93
  1017. package/dist/session-status.runtime-Bs2EXyKA.js +0 -2
  1018. package/dist/session-subagent-reactivation.runtime-DXxAjUOk.js +0 -2
  1019. package/dist/session-tab-registry-DacdZ4tB.js +0 -521
  1020. package/dist/sessions-history-http-BVpW1ZcJ.js +0 -430
  1021. package/dist/sessions.runtime-KBdCnSz6.js +0 -2
  1022. package/dist/setup-api-CeIlDnWx.js +0 -29
  1023. package/dist/setup-core-DLbBGLsw.js +0 -174
  1024. package/dist/setup-surface-B2a2VaWD.js +0 -221
  1025. package/dist/setup-surface-Bx_siWyS.js +0 -320
  1026. package/dist/setup-surface-Cf4YnQu2.js +0 -405
  1027. package/dist/setup-surface-DTcOOfre.js +0 -288
  1028. package/dist/shared-LAgU4fFs.js +0 -121
  1029. package/dist/shared-client-Am1mCd-v.js +0 -2
  1030. package/dist/shared-client-D3A48dlk.js +0 -629
  1031. package/dist/side-question-DVTWk-tO.js +0 -683
  1032. package/dist/skill-tool-dispatch.runtime-igagKDUg.js +0 -143
  1033. package/dist/slash-state-DJji-KSx.js +0 -2166
  1034. package/dist/speech-provider-Dsa05s8C.js +0 -184
  1035. package/dist/src-DqgvOnta.js +0 -4256
  1036. package/dist/startup-context-CWwChEn9.js +0 -313
  1037. package/dist/status-CUKFkF6b.js +0 -3
  1038. package/dist/status-_UeuGVi3.js +0 -4
  1039. package/dist/status-all-ChigLV_X.js +0 -573
  1040. package/dist/status-json-CIdP1iBJ.js +0 -14
  1041. package/dist/status-json-command-BDEUrp6M.js +0 -84
  1042. package/dist/status-runtime-shared-Cq4a18dI.js +0 -283
  1043. package/dist/status-subagents.runtime-CAVnAL4K.js +0 -18
  1044. package/dist/status-text-D4HAPHm1.js +0 -296
  1045. package/dist/status.command-8BU177X9.js +0 -2
  1046. package/dist/status.command-yh7emvuM.js +0 -420
  1047. package/dist/status.command.text-runtime-B8OpdGCG.js +0 -15
  1048. package/dist/status.scan-BIuwlU6G.js +0 -68
  1049. package/dist/status.scan-overview-r9Sk69iQ.js +0 -444
  1050. package/dist/status.scan.fast-json-3nlHM3LS.js +0 -2
  1051. package/dist/status.scan.fast-json-DnwGPJ0_.js +0 -127
  1052. package/dist/status.scan.runtime-CgdduW2l.js +0 -479
  1053. package/dist/status.update-BgFhUW7I.js +0 -86
  1054. package/dist/status.update-rQL4_Irv.js +0 -2
  1055. package/dist/sticker-cache-hPdFIaR8.js +0 -206
  1056. package/dist/sticker-vision.runtime-CKwNUUYH.js +0 -17
  1057. package/dist/subagent-announce-CPTinWX3.js +0 -354
  1058. package/dist/subagent-announce-delivery-ohL5PocA.js +0 -958
  1059. package/dist/subagent-control-BQDtHw6e.js +0 -508
  1060. package/dist/subagent-hooks-BUKvlYGi.js +0 -2
  1061. package/dist/subagent-hooks-CwwuJtIN.js +0 -2
  1062. package/dist/subagent-hooks-D-6S1mpG.js +0 -146
  1063. package/dist/subagent-hooks-DK4O9DHY.js +0 -2
  1064. package/dist/subagent-hooks-DKrXETX6.js +0 -230
  1065. package/dist/subagent-hooks-RtDD-o7f.js +0 -116
  1066. package/dist/subagent-hooks-api-CSGGhB4Y.js +0 -23
  1067. package/dist/subagent-hooks-api-Zf13FmkW.js +0 -23
  1068. package/dist/subagent-hooks-api-fTY-dYum.js +0 -22
  1069. package/dist/subagent-orphan-recovery-CR_zRTfz.js +0 -352
  1070. package/dist/subagent-registry-BHt8-wIZ.js +0 -2351
  1071. package/dist/subagent-registry-BuLz8xwh.js +0 -3
  1072. package/dist/subagent-session-cleanup-D7ihbQFh.js +0 -525
  1073. package/dist/subagent-spawn-OIztmjv_.js +0 -1164
  1074. package/dist/target-id-DWzawpWq.js +0 -107
  1075. package/dist/targets-B5V5WYoi.js +0 -19
  1076. package/dist/targets-HIPV3dV_.js +0 -44
  1077. package/dist/targets-sXOKpsPF.js +0 -19
  1078. package/dist/testing-a7plxbxs.js +0 -267
  1079. package/dist/text-report-7eTN6lDu.js +0 -695
  1080. package/dist/thread-bindings-CFgQ6p2l.js +0 -228
  1081. package/dist/thread-bindings-CJgi2r1R.js +0 -232
  1082. package/dist/thread-bindings-CSoJgsSu.js +0 -8
  1083. package/dist/thread-bindings-DvMQHqPr.js +0 -571
  1084. package/dist/thread-bindings.discord-api-Btr2o7Dq.js +0 -187
  1085. package/dist/thread-bindings.manager-B2MjrNW8.js +0 -536
  1086. package/dist/thread-bindings.manager-DrIh5eqv.js +0 -2
  1087. package/dist/thread-lifecycle-9hfhP6NM.js +0 -1614
  1088. package/dist/token-D1xw1VoL.js +0 -134
  1089. package/dist/tool-DTcPPGeG.js +0 -139
  1090. package/dist/tool-actions.runtime-RP-p2ohJ.js +0 -534
  1091. package/dist/tool-resolution-FQZNVA7E.js +0 -149
  1092. package/dist/tools-effective-inventory-D4IsbxCS.js +0 -204
  1093. package/dist/tools-invoke-http-kcbjM-Jl.js +0 -67
  1094. package/dist/tools-invoke-shared-CETqKcCV.js +0 -200
  1095. package/dist/tts-BMP6Xnk0.js +0 -66
  1096. package/dist/tui-C36hUrre.js +0 -2
  1097. package/dist/tui-DiM1ke7p.js +0 -4709
  1098. package/dist/tui-backend-De30cpsu.js +0 -256
  1099. package/dist/tui-cli-k2-5mPku.js +0 -37
  1100. package/dist/update-check-Dq2TmP7u.js +0 -372
  1101. package/dist/update-cli-CIH--yOA.js +0 -3664
  1102. package/dist/update-runner-ON3AsN9h.js +0 -2379
  1103. package/dist/update-startup-B1hNnHsG.js +0 -2
  1104. package/dist/update-startup-DfHO6Sde.js +0 -339
  1105. package/dist/vision-tools-B2EWe9pv.js +0 -1409
  1106. package/dist/web-search-DPki3TB7.js +0 -62
  1107. package/dist/web-search-provider.runtime-CwRj50RV.js +0 -2
  1108. package/dist/web-search-provider.runtime-DvOOme-j.js +0 -328
  1109. package/dist/xai-oauth-DtHB3Iav.js +0 -479
  1110. package/dist/xai-user-agent-lpTplBOY.js +0 -32
  1111. /package/dist/{acp-runtime-backend-Cn6L41Tg.js → acp-runtime-backend-DL9bHzqW.js} +0 -0
  1112. /package/dist/{channel-actions-8G0w3eC5.js → channel-actions-CMf4W2nb.js} +0 -0
  1113. /package/dist/{command-status-runtime-DEkrRb2G.js → command-status-runtime-CFttYerC.js} +0 -0
  1114. /package/dist/{delegate-CIrV5fYx.js → delegate-D6LGFAf5.js} +0 -0
  1115. /package/dist/{dispatch-acp-DSCi-ptu.js → dispatch-acp-aDmm-ClP.js} +0 -0
  1116. /package/dist/{heartbeat-runner-D_Iq9CmQ.js → heartbeat-runner-CA3FnKVt.js} +0 -0
  1117. /package/dist/{library-DhnQegiK.js → library-Bwpqe3Xn.js} +0 -0
  1118. /package/dist/{run-executor.runtime-feFJuDlS.js → run-executor.runtime-BDRmO1Qf.js} +0 -0
  1119. /package/dist/{shared-docD3l41.js → shared-DMRXpVQc.js} +0 -0
@@ -1,1484 +0,0 @@
1
- import { i as formatErrorMessage } from "./errors-D_oyTIw2.js";
2
- import { y as truncateUtf16Safe } from "./utils-CNnMhEDp.js";
3
- import { n as normalizeAccountId } from "./account-id-B32J-iNN.js";
4
- import { p as resolveThreadSessionKeys } from "./session-key-Bte0mmcq.js";
5
- import { a as shouldLogVerbose, r as logVerbose, t as danger } from "./globals-DhGeOA1P.js";
6
- import { u as resolveStorePath } from "./paths-8MFrTNIB.js";
7
- import { F as resolveSessionStoreEntry } from "./store-load-B817r-3Z.js";
8
- import { a as readSessionUpdatedAt } from "./store-C4uyNaPD.js";
9
- import { d as resolveAndPersistSessionFile, r as readLatestAssistantTextFromSessionTranscript } from "./transcript-CalMl_Y7.js";
10
- import { u as stripReasoningTagsFromText } from "./assistant-visible-text-BoF6Ixue.js";
11
- import { r as stripInlineDirectiveTagsForDelivery } from "./directive-tags-CClLEtM7.js";
12
- import { a as getReplyPayloadTtsSupplement, n as buildTtsSupplementMediaPayload } from "./reply-payload-CiT5mlcY.js";
13
- import { m as resolveSendableOutboundReplyParts } from "./reply-payload-DMPQsrQC.js";
14
- import { t as resolveAccountEntry } from "./account-lookup-CQEoGO1F.js";
15
- import { s as formatReasoningMessage } from "./pi-embedded-utils-B5v2j1CN.js";
16
- import { A as resolveChannelStreamingSuppressDefaultToolProgressMessages, S as resolveChannelStreamingBlockEnabled, T as resolveChannelStreamingPreviewChunk, a as createChannelProgressDraftGate, c as formatChannelProgressDraftText, f as mergeChannelProgressDraftLine, i as buildChannelProgressDraftLineForEntry, j as resolveTranscriptBackedChannelFinalText, k as resolveChannelStreamingPreviewToolProgress, p as normalizeChannelProgressDraftLineIdentity, r as buildChannelProgressDraftLine, u as isChannelProgressDraftWorkToolName, y as resolveChannelProgressDraftMaxLines } from "./channel-streaming-BBW2i40H.js";
17
- import { t as EmbeddedBlockChunker } from "./pi-embedded-block-chunker-BQzqF871.js";
18
- import { t as buildAgentSessionKey } from "./resolve-route-C0-Q-Gjg.js";
19
- import { l as resolvePinnedMainDmOwnerFromAllowlist } from "./dm-policy-shared-Bj-e8bT2.js";
20
- import { r as getAgentScopedMediaLocalRoots } from "./local-roots-CcT8yBYy.js";
21
- import { i as resolveHumanDelayConfig, t as resolveAckReaction } from "./identity-ZuObO2Tn.js";
22
- import { c as resolveTextChunkLimit, s as resolveChunkMode } from "./chunk-DeZRGIEM.js";
23
- import { a as deliverWithFinalizableLivePreviewAdapter, r as defineFinalizableLivePreviewAdapter } from "./live-CF0ee90S.js";
24
- import "./error-runtime--zM-GsR-.js";
25
- import "./runtime-env-BSECk1Nm.js";
26
- import "./routing-AC-P99jg.js";
27
- import { a as resolveEnvelopeFormatOptions, r as formatInboundEnvelope } from "./envelope-DUI2KFD9.js";
28
- import { i as shouldAckReaction } from "./ack-reactions-BceP3SaE.js";
29
- import { t as recordInboundSession } from "./session-DDNzwYpl.js";
30
- import { g as toInboundMediaFacts, h as toHistoryMediaEntries, p as recordChannelBotPairLoopAndCheckSuppression, s as buildChannelInboundEventContext } from "./kernel-DJoytLM8.js";
31
- import { n as resolveChannelSourceReplyDeliveryMode, t as createChannelReplyPipeline } from "./reply-pipeline-CbGLcDzV.js";
32
- import { n as hasFinalChannelTurnDispatch } from "./dispatch-result-BM3RYtx4.js";
33
- import { t as evaluateSupplementalContextVisibility } from "./context-visibility-C9pX_aod.js";
34
- import { t as createChannelHistoryWindow } from "./history-window-BQUXX_Lf.js";
35
- import { t as resolveMarkdownTableMode } from "./markdown-tables-BEjHxS3n.js";
36
- import { t as convertMarkdownTables } from "./tables-BROr40GK.js";
37
- import { n as isDangerousNameMatchingEnabled } from "./dangerous-name-matching-jjAiM0PK.js";
38
- import "./reply-history-jazYo7cq.js";
39
- import { t as resolveChannelContextVisibilityMode } from "./context-visibility-Si-TIKp_.js";
40
- import "./reply-chunking-C6CVu1PV.js";
41
- import { f as runPreparedInboundReplyTurn } from "./inbound-reply-dispatch-DTvJL7df.js";
42
- import "./media-runtime-CPXTkSQr.js";
43
- import "./conversation-runtime-DPrqAWle.js";
44
- import "./text-chunking-ObhJDe8L.js";
45
- import "./agent-runtime-TYhcwEWD.js";
46
- import "./security-runtime-Q5KQBgu1.js";
47
- import "./markdown-table-runtime-CGhR5c0i.js";
48
- import { r as logTypingFailure, t as logAckFailure } from "./logging-Dr3f0mtP.js";
49
- import { a as DEFAULT_TIMING, c as createStatusReactionController } from "./channel-feedback-66g2TOgS.js";
50
- import "./channel-inbound-le9T0BS4.js";
51
- import { r as createFinalizableDraftLifecycle } from "./channel-lifecycle-DDnbT5P-.js";
52
- import "./channel-message-YAmKOwAT.js";
53
- import { t as loadSessionStore } from "./session-store-runtime-BZIAo9w7.js";
54
- import "./text-utility-runtime-DMDtY7pX.js";
55
- import { f as resolveDiscordMaxLinesPerMessage } from "./accounts-BgsM9h2-.js";
56
- import { n as resolveDiscordChannelId } from "./target-parsing-D1FhMbX6.js";
57
- import { $ as createChannelMessage, Ht as MessageFlags, It as ChannelType, it as editChannelMessage, nt as deleteChannelMessage } from "./discord-DLn5dEWC.js";
58
- import { N as createDiscordRestClient, P as createDiscordRuntimeAccountContext, _ as resolveDiscordMessageFlags, d as resolveDiscordTargetChannelId } from "./send.shared-DkEjcqxQ.js";
59
- import { t as chunkDiscordTextWithMode } from "./chunk-CulNAv84.js";
60
- import { i as resolveTimestampMs } from "./format-DZW075F7.js";
61
- import { a as normalizeDiscordSlug, r as normalizeDiscordAllowList } from "./allow-list-BcPKAZym.js";
62
- import { d as editMessageDiscord, i as removeReactionDiscord, n as reactMessageDiscord } from "./send-BZbyJL0A.js";
63
- import "./targets-BoRwMAy3.js";
64
- import { t as beginDiscordInboundEventDeliveryCorrelation } from "./inbound-event-delivery-DxDWYs2V.js";
65
- import { t as resolveDiscordConversationIdentity } from "./conversation-identity-Dv4rxYLA.js";
66
- import { t as DISCORD_TEXT_CHUNK_LIMIT } from "./outbound-adapter-DiSr_Bhn.js";
67
- import { t as resolveDiscordPreviewStreamMode } from "./preview-streaming-CfbvBF8d.js";
68
- import { n as DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS, t as DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS } from "./timeouts-l_PsHQvX.js";
69
- import { a as resolveForwardedMediaList, o as resolveMediaList, r as resolveDiscordMessageText, s as resolveReferencedReplyMediaList } from "./message-utils-BG2BCBdr.js";
70
- import { c as resolveDiscordThreadStarter, r as resolveDiscordAutoThreadReplyPlan } from "./threading-CfCR-cPo.js";
71
- import { t as sendTyping } from "./typing-DdARgVOy.js";
72
- import { n as buildDiscordInboundAccessContext, r as createDiscordSupplementalContextAccessChecker } from "./inbound-context-BKozGR57.js";
73
- import { i as resolveReplyContext, n as buildDirectLabel, r as buildGuildLabel, t as deliverDiscordReply } from "./reply-delivery-37v9z05y.js";
74
- import path from "node:path";
75
- //#region extensions/discord/src/monitor/ack-reactions.ts
76
- function createDiscordAckReactionContext(params) {
77
- return {
78
- rest: params.rest,
79
- ...createDiscordRuntimeAccountContext({
80
- cfg: params.cfg,
81
- accountId: params.accountId
82
- })
83
- };
84
- }
85
- function createDiscordAckReactionAdapter(params) {
86
- return {
87
- setReaction: async (emoji) => {
88
- await reactMessageDiscord(params.channelId, params.messageId, emoji, params.reactionContext);
89
- },
90
- removeReaction: async (emoji) => {
91
- await removeReactionDiscord(params.channelId, params.messageId, emoji, params.reactionContext);
92
- }
93
- };
94
- }
95
- function queueInitialDiscordAckReaction(params) {
96
- if (params.enabled) {
97
- params.statusReactions.setQueued();
98
- return;
99
- }
100
- if (!params.shouldSendAckReaction || !params.ackReaction) return;
101
- params.reactionAdapter.setReaction(params.ackReaction).catch((err) => {
102
- logAckFailure({
103
- log: logVerbose,
104
- channel: "discord",
105
- target: params.target,
106
- error: err
107
- });
108
- });
109
- }
110
- //#endregion
111
- //#region extensions/discord/src/monitor/message-handler.context.ts
112
- function normalizeDiscordDmOwnerEntry(entry) {
113
- const candidate = normalizeDiscordAllowList([entry], [
114
- "discord:",
115
- "user:",
116
- "pk:"
117
- ])?.ids.values().next().value;
118
- return typeof candidate === "string" && /^\d+$/.test(candidate) ? candidate : void 0;
119
- }
120
- function isContextAborted(abortSignal) {
121
- return Boolean(abortSignal?.aborted);
122
- }
123
- async function buildDiscordMessageProcessContext(params) {
124
- const { ctx, text, mediaList } = params;
125
- const { cfg, discordConfig, accountId, runtime, mediaMaxBytes, discordRestFetch, abortSignal, guildHistories, historyLimit, replyToMode, message, author, sender, canonicalMessageId, data, client, channelInfo, channelName, messageChannelId, isGuildMessage, isDirectMessage, baseText, preflightAudioTranscript, threadChannel, threadParentId, threadParentName, threadParentType, threadName, displayChannelSlug, guildInfo, guildSlug, memberRoleIds, channelConfig, baseSessionKey, boundSessionKey, route, commandAuthorized } = ctx;
126
- const fromLabel = isDirectMessage ? buildDirectLabel(author) : buildGuildLabel({
127
- guild: data.guild ?? void 0,
128
- channelName: channelName ?? messageChannelId,
129
- channelId: messageChannelId
130
- });
131
- const senderLabel = sender.label;
132
- const isForumParent = threadParentType === ChannelType.GuildForum || threadParentType === ChannelType.GuildMedia;
133
- const forumParentSlug = isForumParent && threadParentName ? normalizeDiscordSlug(threadParentName) : "";
134
- const threadChannelId = threadChannel?.id;
135
- const threadParentInheritanceEnabled = discordConfig?.thread?.inheritParent ?? false;
136
- const forumContextLine = Boolean(threadChannelId && isForumParent && forumParentSlug) && message.id === threadChannelId ? `[Forum parent: #${forumParentSlug}]` : null;
137
- const groupChannel = isGuildMessage && displayChannelSlug ? `#${displayChannelSlug}` : void 0;
138
- const groupSubject = isDirectMessage ? void 0 : groupChannel;
139
- const senderName = sender.isPluralKit ? sender.name ?? author.username : data.member?.nickname ?? author.globalName ?? author.username;
140
- const senderUsername = sender.isPluralKit ? sender.tag ?? sender.name ?? author.username : author.username;
141
- const { groupSystemPrompt, ownerAllowFrom, untrustedContext } = buildDiscordInboundAccessContext({
142
- channelConfig,
143
- guildInfo,
144
- sender: {
145
- id: sender.id,
146
- name: sender.name,
147
- tag: sender.tag
148
- },
149
- allowNameMatching: isDangerousNameMatchingEnabled(discordConfig),
150
- isGuild: isGuildMessage,
151
- channelTopic: channelInfo?.topic
152
- });
153
- const pinnedMainDmOwner = isDirectMessage ? resolvePinnedMainDmOwnerFromAllowlist({
154
- dmScope: cfg.session?.dmScope,
155
- allowFrom: channelConfig?.users ?? guildInfo?.users,
156
- normalizeEntry: normalizeDiscordDmOwnerEntry
157
- }) : null;
158
- const contextVisibilityMode = resolveChannelContextVisibilityMode({
159
- cfg,
160
- channel: "discord",
161
- accountId
162
- });
163
- const isSupplementalContextSenderAllowed = createDiscordSupplementalContextAccessChecker({
164
- channelConfig,
165
- guildInfo,
166
- allowNameMatching: isDangerousNameMatchingEnabled(discordConfig),
167
- isGuild: isGuildMessage
168
- });
169
- const storePath = resolveStorePath(cfg.session?.store, { agentId: route.agentId });
170
- const envelopeOptions = resolveEnvelopeFormatOptions(cfg);
171
- const previousTimestamp = readSessionUpdatedAt({
172
- storePath,
173
- sessionKey: route.sessionKey
174
- });
175
- const channelHistory = createChannelHistoryWindow({ historyMap: guildHistories });
176
- const isRoomEvent = ctx.inboundEventKind === "room_event";
177
- let combinedBody = formatInboundEnvelope({
178
- channel: "Discord",
179
- from: fromLabel,
180
- timestamp: resolveTimestampMs(message.timestamp),
181
- body: text,
182
- chatType: isDirectMessage ? "direct" : "channel",
183
- senderLabel,
184
- previousTimestamp,
185
- envelope: envelopeOptions
186
- });
187
- const shouldIncludeChannelHistory = !isDirectMessage && (isRoomEvent || !(isGuildMessage && channelConfig?.autoThread && !threadChannel));
188
- if (shouldIncludeChannelHistory) combinedBody = channelHistory.buildPendingContext({
189
- historyKey: messageChannelId,
190
- limit: historyLimit,
191
- currentMessage: combinedBody,
192
- formatEntry: (entry) => formatInboundEnvelope({
193
- channel: "Discord",
194
- from: fromLabel,
195
- timestamp: entry.timestamp,
196
- body: `${entry.body} [id:${entry.messageId ?? "unknown"} channel:${messageChannelId}]`,
197
- chatType: "channel",
198
- senderLabel: entry.sender,
199
- envelope: envelopeOptions
200
- })
201
- });
202
- const replyContext = resolveReplyContext(message, resolveDiscordMessageText);
203
- const replyVisibility = replyContext ? evaluateSupplementalContextVisibility({
204
- mode: contextVisibilityMode,
205
- kind: "quote",
206
- senderAllowed: isSupplementalContextSenderAllowed({
207
- id: replyContext.senderId,
208
- name: replyContext.senderName,
209
- tag: replyContext.senderTag,
210
- memberRoleIds: replyContext.memberRoleIds
211
- })
212
- }) : null;
213
- const filteredReplyContext = replyContext && replyVisibility?.include ? replyContext : null;
214
- if (replyContext && !filteredReplyContext && isGuildMessage) logVerbose(`discord: drop reply context (mode=${contextVisibilityMode})`);
215
- const mediaListForContext = [...mediaList];
216
- if (filteredReplyContext) {
217
- const referencedReplyMediaList = await resolveReferencedReplyMediaList(message, mediaMaxBytes, {
218
- fetchImpl: discordRestFetch,
219
- ssrfPolicy: cfg.browser?.ssrfPolicy,
220
- readIdleTimeoutMs: DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS,
221
- totalTimeoutMs: DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS,
222
- abortSignal
223
- });
224
- if (!isContextAborted(abortSignal)) mediaListForContext.push(...referencedReplyMediaList);
225
- }
226
- if (forumContextLine) combinedBody = `${combinedBody}\n${forumContextLine}`;
227
- let threadStarterBody;
228
- let threadLabel;
229
- let parentSessionKey;
230
- let modelParentSessionKey;
231
- if (threadChannel) {
232
- if (channelConfig?.includeThreadStarter !== false) {
233
- const starter = await resolveDiscordThreadStarter({
234
- channel: threadChannel,
235
- client,
236
- parentId: threadParentId,
237
- parentType: threadParentType,
238
- resolveTimestampMs
239
- });
240
- if (starter?.text) if (evaluateSupplementalContextVisibility({
241
- mode: contextVisibilityMode,
242
- kind: "thread",
243
- senderAllowed: isSupplementalContextSenderAllowed({
244
- id: starter.authorId,
245
- name: starter.authorName ?? starter.author,
246
- tag: starter.authorTag,
247
- memberRoleIds: starter.memberRoleIds
248
- })
249
- }).include) threadStarterBody = starter.text;
250
- else logVerbose(`discord: drop thread starter context (mode=${contextVisibilityMode})`);
251
- }
252
- const parentName = threadParentName ?? "parent";
253
- threadLabel = threadName ? `Discord thread #${normalizeDiscordSlug(parentName)} › ${threadName}` : `Discord thread #${normalizeDiscordSlug(parentName)}`;
254
- if (threadParentId) {
255
- parentSessionKey = buildAgentSessionKey({
256
- agentId: route.agentId,
257
- channel: route.channel,
258
- peer: {
259
- kind: "channel",
260
- id: threadParentId
261
- }
262
- });
263
- modelParentSessionKey = parentSessionKey;
264
- }
265
- if (!threadParentInheritanceEnabled) parentSessionKey = void 0;
266
- }
267
- const preflightAudioIndex = preflightAudioTranscript === void 0 ? -1 : mediaListForContext.findIndex((media) => media.contentType?.startsWith("audio/"));
268
- const threadKeys = resolveThreadSessionKeys({
269
- baseSessionKey,
270
- threadId: threadChannel ? messageChannelId : void 0,
271
- parentSessionKey,
272
- useSuffix: false
273
- });
274
- const replyPlan = await resolveDiscordAutoThreadReplyPlan({
275
- client,
276
- message,
277
- messageChannelId,
278
- isGuildMessage,
279
- channelConfig: isRoomEvent ? null : channelConfig,
280
- threadChannel,
281
- channelType: channelInfo?.type,
282
- channelName: channelInfo?.name,
283
- channelDescription: channelInfo?.topic,
284
- baseText: baseText ?? "",
285
- combinedBody,
286
- replyToMode,
287
- agentId: route.agentId,
288
- channel: route.channel,
289
- cfg,
290
- threadParentInheritanceEnabled
291
- });
292
- const deliverTarget = replyPlan.deliverTarget;
293
- const replyTarget = replyPlan.replyTarget;
294
- const replyReference = replyPlan.replyReference;
295
- const autoThreadContext = replyPlan.autoThreadContext;
296
- const effectiveFrom = isDirectMessage ? `discord:${author.id}` : autoThreadContext?.From ?? `discord:channel:${messageChannelId}`;
297
- const dmConversationTarget = isDirectMessage ? resolveDiscordConversationIdentity({
298
- isDirectMessage,
299
- userId: author.id
300
- }) : void 0;
301
- const effectiveTo = autoThreadContext?.To ?? dmConversationTarget ?? replyTarget;
302
- if (!effectiveTo) {
303
- runtime.error?.(danger("discord: missing reply target"));
304
- return null;
305
- }
306
- const lastRouteTo = dmConversationTarget ?? effectiveTo;
307
- const inboundHistory = shouldIncludeChannelHistory ? channelHistory.buildInboundHistory({
308
- historyKey: messageChannelId,
309
- limit: historyLimit
310
- }) : void 0;
311
- const originatingTo = autoThreadContext?.OriginatingTo ?? dmConversationTarget ?? replyTarget;
312
- const effectiveSessionKey = boundSessionKey ?? autoThreadContext?.SessionKey ?? threadKeys.sessionKey;
313
- const effectivePreviousTimestamp = effectiveSessionKey === route.sessionKey ? previousTimestamp : readSessionUpdatedAt({
314
- storePath,
315
- sessionKey: effectiveSessionKey
316
- });
317
- const ctxPayload = buildChannelInboundEventContext({
318
- channel: "discord",
319
- provider: "discord",
320
- surface: "discord",
321
- accountId: route.accountId,
322
- messageId: canonicalMessageId ?? message.id,
323
- messageIdFull: canonicalMessageId && canonicalMessageId !== message.id ? message.id : void 0,
324
- timestamp: resolveTimestampMs(message.timestamp),
325
- from: effectiveFrom,
326
- sender: {
327
- id: sender.id,
328
- name: senderName,
329
- username: senderUsername,
330
- tag: sender.tag,
331
- roles: memberRoleIds,
332
- displayLabel: senderLabel
333
- },
334
- conversation: {
335
- kind: isDirectMessage ? "direct" : "channel",
336
- id: messageChannelId,
337
- label: fromLabel,
338
- spaceId: isGuildMessage ? (guildInfo?.id ?? guildSlug) || void 0 : void 0,
339
- threadId: threadChannel?.id ?? autoThreadContext?.createdThreadId ?? void 0,
340
- routePeer: {
341
- kind: isDirectMessage ? "direct" : "channel",
342
- id: isDirectMessage ? author.id : messageChannelId
343
- }
344
- },
345
- route: {
346
- agentId: route.agentId,
347
- accountId: route.accountId,
348
- routeSessionKey: route.sessionKey,
349
- dispatchSessionKey: effectiveSessionKey,
350
- parentSessionKey: autoThreadContext?.ParentSessionKey ?? threadKeys.parentSessionKey,
351
- modelParentSessionKey: autoThreadContext?.ModelParentSessionKey ?? modelParentSessionKey ?? void 0
352
- },
353
- reply: {
354
- to: effectiveTo,
355
- originatingTo
356
- },
357
- message: {
358
- inboundEventKind: ctx.inboundEventKind,
359
- body: combinedBody,
360
- rawBody: preflightAudioTranscript ?? baseText,
361
- bodyForAgent: preflightAudioTranscript ?? baseText ?? text,
362
- commandBody: preflightAudioTranscript ?? baseText,
363
- envelopeFrom: fromLabel,
364
- inboundHistory
365
- },
366
- access: {
367
- mentions: {
368
- canDetectMention: ctx.canDetectMention,
369
- wasMentioned: ctx.effectiveWasMentioned,
370
- hasAnyMention: ctx.hasAnyMention,
371
- requireMention: ctx.shouldRequireMention,
372
- effectiveWasMentioned: ctx.effectiveWasMentioned
373
- },
374
- commands: {
375
- authorized: commandAuthorized,
376
- allowTextCommands: ctx.allowTextCommands,
377
- useAccessGroups: false,
378
- authorizers: []
379
- }
380
- },
381
- commandTurn: {
382
- kind: "text-slash",
383
- source: "text",
384
- authorized: commandAuthorized,
385
- body: preflightAudioTranscript ?? baseText
386
- },
387
- media: toInboundMediaFacts(mediaListForContext, { transcribed: (_media, index) => index === preflightAudioIndex }),
388
- supplemental: {
389
- quote: filteredReplyContext ? {
390
- id: filteredReplyContext.id,
391
- body: filteredReplyContext.body,
392
- sender: filteredReplyContext.sender
393
- } : void 0,
394
- thread: {
395
- starterBody: !effectivePreviousTimestamp ? threadStarterBody : void 0,
396
- label: threadLabel
397
- },
398
- groupSystemPrompt: isGuildMessage ? groupSystemPrompt : void 0
399
- },
400
- extra: {
401
- ...preflightAudioTranscript !== void 0 ? { Transcript: preflightAudioTranscript } : {},
402
- GroupSubject: groupSubject,
403
- GroupChannel: groupChannel,
404
- UntrustedStructuredContext: untrustedContext,
405
- OwnerAllowFrom: ownerAllowFrom
406
- }
407
- });
408
- const persistedSessionKey = ctxPayload.SessionKey ?? route.sessionKey;
409
- if (isRoomEvent && shouldIncludeChannelHistory) await channelHistory.recordWithMedia({
410
- historyKey: messageChannelId,
411
- limit: historyLimit,
412
- entry: {
413
- sender: senderName,
414
- body: text,
415
- timestamp: resolveTimestampMs(message.timestamp),
416
- messageId: message.id
417
- },
418
- media: toHistoryMediaEntries(mediaList, { messageId: message.id }),
419
- messageId: message.id
420
- });
421
- if (shouldLogVerbose()) {
422
- const preview = truncateUtf16Safe(combinedBody, 200).replace(/\n/g, "\\n");
423
- logVerbose(`discord inbound: channel=${messageChannelId} deliver=${deliverTarget} from=${ctxPayload.From} preview="${preview}"`);
424
- }
425
- return {
426
- ctxPayload,
427
- persistedSessionKey,
428
- turn: {
429
- storePath,
430
- record: {
431
- updateLastRoute: {
432
- sessionKey: persistedSessionKey,
433
- channel: "discord",
434
- to: lastRouteTo,
435
- accountId: route.accountId,
436
- mainDmOwnerPin: isDirectMessage && persistedSessionKey === route.mainSessionKey && pinnedMainDmOwner ? {
437
- ownerRecipient: pinnedMainDmOwner,
438
- senderRecipient: author.id,
439
- onSkip: ({ ownerRecipient, senderRecipient }) => {
440
- logVerbose(`discord: skip main-session last route for ${senderRecipient} (pinned owner ${ownerRecipient})`);
441
- }
442
- } : void 0
443
- },
444
- onRecordError: (err) => {
445
- logVerbose(`discord: failed updating session meta: ${String(err)}`);
446
- }
447
- }
448
- },
449
- replyPlan,
450
- deliverTarget,
451
- replyTarget,
452
- replyReference
453
- };
454
- }
455
- //#endregion
456
- //#region extensions/discord/src/draft-chunking.ts
457
- const DEFAULT_DISCORD_DRAFT_STREAM_MIN = 200;
458
- const DEFAULT_DISCORD_DRAFT_STREAM_MAX = 800;
459
- function resolveDiscordDraftStreamingChunking(cfg, accountId) {
460
- const textLimit = resolveTextChunkLimit(cfg, "discord", accountId, { fallbackLimit: DISCORD_TEXT_CHUNK_LIMIT });
461
- const normalizedAccountId = normalizeAccountId(accountId);
462
- const draftCfg = resolveChannelStreamingPreviewChunk(resolveAccountEntry(cfg?.channels?.discord?.accounts, normalizedAccountId)) ?? resolveChannelStreamingPreviewChunk(cfg?.channels?.discord);
463
- const maxRequested = Math.max(1, Math.floor(draftCfg?.maxChars ?? DEFAULT_DISCORD_DRAFT_STREAM_MAX));
464
- const maxChars = Math.max(1, Math.min(maxRequested, textLimit));
465
- const minRequested = Math.max(1, Math.floor(draftCfg?.minChars ?? DEFAULT_DISCORD_DRAFT_STREAM_MIN));
466
- return {
467
- minChars: Math.min(minRequested, maxChars),
468
- maxChars,
469
- breakPreference: draftCfg?.breakPreference === "newline" || draftCfg?.breakPreference === "sentence" ? draftCfg.breakPreference : "paragraph"
470
- };
471
- }
472
- //#endregion
473
- //#region extensions/discord/src/draft-stream.ts
474
- /** Discord messages cap at 2000 characters. */
475
- const DISCORD_STREAM_MAX_CHARS = 2e3;
476
- const DEFAULT_THROTTLE_MS = 1200;
477
- const DISCORD_PREVIEW_ALLOWED_MENTIONS = { parse: [] };
478
- function createDiscordDraftStream(params) {
479
- const maxChars = Math.min(params.maxChars ?? DISCORD_STREAM_MAX_CHARS, DISCORD_STREAM_MAX_CHARS);
480
- const throttleMs = Math.max(250, params.throttleMs ?? DEFAULT_THROTTLE_MS);
481
- const minInitialChars = params.minInitialChars;
482
- const channelId = params.channelId;
483
- const rest = params.rest;
484
- const flags = resolveDiscordMessageFlags({ suppressEmbeds: params.suppressEmbeds });
485
- const resolveReplyToMessageId = () => typeof params.replyToMessageId === "function" ? params.replyToMessageId() : params.replyToMessageId;
486
- const streamState = {
487
- stopped: false,
488
- final: false
489
- };
490
- let streamMessageId;
491
- let lastSentText = "";
492
- const sendOrEditStreamMessage = async (text) => {
493
- if (streamState.stopped && !streamState.final) return false;
494
- const trimmed = text.trimEnd();
495
- if (!trimmed) return false;
496
- if (trimmed.length > maxChars) {
497
- streamState.stopped = true;
498
- params.warn?.(`discord stream preview stopped (text length ${trimmed.length} > ${maxChars})`);
499
- return false;
500
- }
501
- if (trimmed === lastSentText) return true;
502
- if (streamMessageId === void 0 && minInitialChars != null && !streamState.final) {
503
- if (trimmed.length < minInitialChars) return false;
504
- }
505
- lastSentText = trimmed;
506
- try {
507
- if (streamMessageId !== void 0) {
508
- await editChannelMessage(rest, channelId, streamMessageId, { body: {
509
- content: trimmed,
510
- allowed_mentions: DISCORD_PREVIEW_ALLOWED_MENTIONS,
511
- ...flags ? { flags } : {}
512
- } });
513
- return true;
514
- }
515
- const replyToMessageId = resolveReplyToMessageId()?.trim();
516
- const messageReference = replyToMessageId ? {
517
- message_id: replyToMessageId,
518
- fail_if_not_exists: false
519
- } : void 0;
520
- const sentMessageId = (await createChannelMessage(rest, channelId, { body: {
521
- content: trimmed,
522
- allowed_mentions: DISCORD_PREVIEW_ALLOWED_MENTIONS,
523
- ...flags ? { flags } : {},
524
- ...messageReference ? { message_reference: messageReference } : {}
525
- } }))?.id;
526
- if (typeof sentMessageId !== "string" || !sentMessageId) {
527
- streamState.stopped = true;
528
- params.warn?.("discord stream preview stopped (missing message id from send)");
529
- return false;
530
- }
531
- streamMessageId = sentMessageId;
532
- return true;
533
- } catch (err) {
534
- streamState.stopped = true;
535
- params.warn?.(`discord stream preview failed: ${formatErrorMessage(err)}`);
536
- return false;
537
- }
538
- };
539
- const readMessageId = () => streamMessageId;
540
- const clearMessageId = () => {
541
- streamMessageId = void 0;
542
- };
543
- const isValidStreamMessageId = (value) => typeof value === "string";
544
- const deleteStreamMessage = async (messageId) => {
545
- await deleteChannelMessage(rest, channelId, messageId);
546
- };
547
- const { loop, update, stop, clear, discardPending, seal } = createFinalizableDraftLifecycle({
548
- throttleMs,
549
- state: streamState,
550
- sendOrEditStreamMessage,
551
- readMessageId,
552
- clearMessageId,
553
- isValidMessageId: isValidStreamMessageId,
554
- deleteMessage: deleteStreamMessage,
555
- warn: params.warn,
556
- warnPrefix: "discord stream preview cleanup failed"
557
- });
558
- const forceNewMessage = () => {
559
- streamMessageId = void 0;
560
- lastSentText = "";
561
- loop.resetPending();
562
- };
563
- params.log?.(`discord stream preview ready (maxChars=${maxChars}, throttleMs=${throttleMs})`);
564
- return {
565
- update,
566
- flush: loop.flush,
567
- messageId: () => streamMessageId,
568
- clear,
569
- discardPending,
570
- seal,
571
- stop,
572
- forceNewMessage
573
- };
574
- }
575
- //#endregion
576
- //#region extensions/discord/src/monitor/message-handler.draft-preview.ts
577
- function createDiscordDraftPreviewController(params) {
578
- const discordStreamMode = resolveDiscordPreviewStreamMode(params.discordConfig);
579
- const draftMaxChars = Math.min(params.textLimit, 2e3);
580
- const accountBlockStreamingEnabled = resolveChannelStreamingBlockEnabled(params.discordConfig) ?? params.cfg.agents?.defaults?.blockStreamingDefault === "on";
581
- const canStreamProgressDraftForToolOnlySource = params.sourceRepliesAreToolOnly && discordStreamMode === "progress";
582
- const draftStream = (!params.sourceRepliesAreToolOnly || canStreamProgressDraftForToolOnlySource) && discordStreamMode !== "off" && !accountBlockStreamingEnabled ? createDiscordDraftStream({
583
- rest: params.deliveryRest,
584
- channelId: params.deliverChannelId,
585
- maxChars: draftMaxChars,
586
- replyToMessageId: () => params.replyReference.peek(),
587
- minInitialChars: discordStreamMode === "progress" ? 0 : 30,
588
- suppressEmbeds: params.discordConfig?.suppressEmbeds ?? true,
589
- throttleMs: 1200,
590
- log: params.log,
591
- warn: params.log
592
- }) : void 0;
593
- const draftChunking = draftStream && discordStreamMode === "block" ? resolveDiscordDraftStreamingChunking(params.cfg, params.accountId) : void 0;
594
- const shouldSplitPreviewMessages = discordStreamMode === "block";
595
- const draftChunker = draftChunking ? new EmbeddedBlockChunker(draftChunking) : void 0;
596
- let lastPartialText = "";
597
- let draftText = "";
598
- let hasStreamedMessage = false;
599
- let finalizedViaPreviewMessage = false;
600
- let finalReplyStarted = false;
601
- let finalReplyDelivered = false;
602
- const previewToolProgressEnabled = Boolean(draftStream) && resolveChannelStreamingPreviewToolProgress(params.discordConfig);
603
- const suppressDefaultToolProgressMessages = Boolean(draftStream) && resolveChannelStreamingSuppressDefaultToolProgressMessages(params.discordConfig, {
604
- draftStreamActive: true,
605
- previewToolProgressEnabled
606
- });
607
- let previewToolProgressSuppressed = false;
608
- let previewToolProgressLines = [];
609
- let reasoningProgressRawText = "";
610
- let lastReasoningProgressLine;
611
- const progressSeed = `${params.accountId}:${params.deliverChannelId}`;
612
- const renderProgressDraft = async (options) => {
613
- if (!draftStream || discordStreamMode !== "progress") return;
614
- const previewText = formatChannelProgressDraftText({
615
- entry: params.discordConfig,
616
- lines: previewToolProgressLines,
617
- seed: progressSeed
618
- });
619
- if (!previewText || previewText === lastPartialText) return;
620
- lastPartialText = previewText;
621
- draftText = previewText;
622
- hasStreamedMessage = true;
623
- draftChunker?.reset();
624
- draftStream.update(previewText);
625
- if (options?.flush) await draftStream.flush();
626
- };
627
- const progressDraftGate = createChannelProgressDraftGate({ onStart: () => renderProgressDraft({ flush: true }) });
628
- const resetProgressState = () => {
629
- lastPartialText = "";
630
- draftText = "";
631
- draftChunker?.reset();
632
- previewToolProgressSuppressed = false;
633
- previewToolProgressLines = [];
634
- reasoningProgressRawText = "";
635
- lastReasoningProgressLine = void 0;
636
- };
637
- const forceNewMessageIfNeeded = () => {
638
- if (shouldSplitPreviewMessages && hasStreamedMessage) {
639
- params.log("discord: calling forceNewMessage() for draft stream");
640
- draftStream?.forceNewMessage();
641
- }
642
- resetProgressState();
643
- };
644
- return {
645
- draftStream,
646
- previewToolProgressEnabled,
647
- suppressDefaultToolProgressMessages,
648
- get isProgressMode() {
649
- return discordStreamMode === "progress";
650
- },
651
- get hasProgressDraftStarted() {
652
- return progressDraftGate.hasStarted;
653
- },
654
- get finalizedViaPreviewMessage() {
655
- return finalizedViaPreviewMessage;
656
- },
657
- markFinalReplyStarted() {
658
- finalReplyStarted = true;
659
- },
660
- markFinalReplyDelivered() {
661
- finalReplyDelivered = true;
662
- },
663
- markPreviewFinalized() {
664
- finalizedViaPreviewMessage = true;
665
- },
666
- disableBlockStreamingForDraft: draftStream ? true : void 0,
667
- async startProgressDraft() {
668
- if (!draftStream || discordStreamMode !== "progress") return;
669
- await progressDraftGate.startNow();
670
- },
671
- async pushToolProgress(line, options) {
672
- if (!draftStream) return;
673
- if (finalReplyStarted || finalReplyDelivered) return;
674
- if (options?.toolName !== void 0 && !isChannelProgressDraftWorkToolName(options.toolName)) return;
675
- if (isEmptyDiscordProgressLine(line)) return;
676
- const normalized = normalizeChannelProgressDraftLineIdentity(line);
677
- if (!normalized) return;
678
- const progressLine = typeof line === "object" && line !== void 0 ? line : normalized;
679
- if (discordStreamMode !== "progress") {
680
- if (!previewToolProgressEnabled || previewToolProgressSuppressed) return;
681
- const nextLines = mergeChannelProgressDraftLine(previewToolProgressLines, progressLine, { maxLines: resolveChannelProgressDraftMaxLines(params.discordConfig) });
682
- if (nextLines === previewToolProgressLines) return;
683
- previewToolProgressLines = nextLines;
684
- const previewText = formatChannelProgressDraftText({
685
- entry: params.discordConfig,
686
- lines: previewToolProgressLines,
687
- seed: progressSeed
688
- });
689
- lastPartialText = previewText;
690
- draftText = previewText;
691
- hasStreamedMessage = true;
692
- draftChunker?.reset();
693
- draftStream.update(previewText);
694
- return;
695
- }
696
- if (previewToolProgressEnabled && !previewToolProgressSuppressed && normalized) previewToolProgressLines = mergeChannelProgressDraftLine(previewToolProgressLines, progressLine, { maxLines: resolveChannelProgressDraftMaxLines(params.discordConfig) });
697
- const alreadyStarted = progressDraftGate.hasStarted;
698
- if (shouldStartDiscordProgressDraftNow(line)) await progressDraftGate.startNow();
699
- else await progressDraftGate.noteWork();
700
- if (alreadyStarted && progressDraftGate.hasStarted) await renderProgressDraft();
701
- },
702
- async pushReasoningProgress(text) {
703
- if (!draftStream || discordStreamMode !== "progress" || !text) return;
704
- if (finalReplyDelivered) return;
705
- reasoningProgressRawText = mergeReasoningProgressText(reasoningProgressRawText, text);
706
- const normalized = normalizeReasoningProgressLine(reasoningProgressRawText);
707
- if (!normalized) return;
708
- if (previewToolProgressEnabled && !previewToolProgressSuppressed) {
709
- const priorIndex = lastReasoningProgressLine === void 0 ? -1 : previewToolProgressLines.lastIndexOf(lastReasoningProgressLine);
710
- if (priorIndex >= 0) {
711
- previewToolProgressLines = [...previewToolProgressLines];
712
- previewToolProgressLines[priorIndex] = normalized;
713
- } else previewToolProgressLines = [...previewToolProgressLines, normalized].slice(-resolveChannelProgressDraftMaxLines(params.discordConfig));
714
- lastReasoningProgressLine = normalized;
715
- }
716
- const alreadyStarted = progressDraftGate.hasStarted;
717
- await progressDraftGate.noteWork();
718
- if (alreadyStarted && progressDraftGate.hasStarted) await renderProgressDraft();
719
- },
720
- resolvePreviewFinalText(text) {
721
- if (typeof text !== "string") return;
722
- const formatted = convertMarkdownTables(stripInlineDirectiveTagsForDelivery(text).text, params.tableMode);
723
- const chunks = chunkDiscordTextWithMode(formatted, {
724
- maxChars: draftMaxChars,
725
- maxLines: params.maxLinesPerMessage,
726
- chunkMode: params.chunkMode
727
- });
728
- if (!chunks.length && formatted) chunks.push(formatted);
729
- if (chunks.length !== 1) return;
730
- const trimmed = chunks[0].trim();
731
- if (!trimmed) return;
732
- const currentPreviewText = discordStreamMode === "block" ? draftText : lastPartialText;
733
- if (currentPreviewText && currentPreviewText.startsWith(trimmed) && trimmed.length < currentPreviewText.length) return;
734
- return trimmed;
735
- },
736
- updateFromPartial(text) {
737
- if (!draftStream || !text) return;
738
- const cleaned = stripInlineDirectiveTagsForDelivery(stripReasoningTagsFromText(text, {
739
- mode: "strict",
740
- trim: "both"
741
- })).text;
742
- if (!cleaned || cleaned.startsWith("Reasoning:\n")) return;
743
- if (cleaned === lastPartialText) return;
744
- if (discordStreamMode === "progress") return;
745
- previewToolProgressSuppressed = true;
746
- previewToolProgressLines = [];
747
- hasStreamedMessage = true;
748
- if (discordStreamMode === "partial") {
749
- if (lastPartialText && lastPartialText.startsWith(cleaned) && cleaned.length < lastPartialText.length) return;
750
- lastPartialText = cleaned;
751
- draftStream.update(cleaned);
752
- return;
753
- }
754
- let delta = cleaned;
755
- if (cleaned.startsWith(lastPartialText)) delta = cleaned.slice(lastPartialText.length);
756
- else {
757
- draftChunker?.reset();
758
- draftText = "";
759
- }
760
- lastPartialText = cleaned;
761
- if (!delta) return;
762
- if (!draftChunker) {
763
- draftText = cleaned;
764
- draftStream.update(draftText);
765
- return;
766
- }
767
- draftChunker.append(delta);
768
- draftChunker.drain({
769
- force: false,
770
- emit: (chunk) => {
771
- draftText += chunk;
772
- draftStream.update(draftText);
773
- }
774
- });
775
- },
776
- handleAssistantMessageBoundary() {
777
- if (discordStreamMode === "progress") return;
778
- forceNewMessageIfNeeded();
779
- },
780
- async flush() {
781
- if (!draftStream) return;
782
- if (draftChunker?.hasBuffered()) {
783
- draftChunker.drain({
784
- force: true,
785
- emit: (chunk) => {
786
- draftText += chunk;
787
- }
788
- });
789
- draftChunker.reset();
790
- if (draftText) draftStream.update(draftText);
791
- }
792
- await draftStream.flush();
793
- },
794
- async cleanup() {
795
- try {
796
- progressDraftGate.cancel();
797
- if (!finalReplyDelivered) await draftStream?.discardPending();
798
- if (!finalReplyDelivered && !finalizedViaPreviewMessage && draftStream?.messageId()) await draftStream.clear();
799
- } catch (err) {
800
- params.log(`discord: draft cleanup failed: ${String(err)}`);
801
- }
802
- }
803
- };
804
- }
805
- function normalizeReasoningProgressLine(text) {
806
- return text.replace(/^\s*(?:>\s*)?(?:Reasoning:|Thinking\.{0,3})\s*/i, "").replace(/\s+/g, " ").trim();
807
- }
808
- function mergeReasoningProgressText(current, incoming) {
809
- if (!current) return incoming;
810
- const normalizedCurrent = normalizeReasoningProgressLine(current);
811
- const normalizedIncoming = normalizeReasoningProgressLine(incoming);
812
- if (!normalizedIncoming || normalizedIncoming === normalizedCurrent) return current;
813
- if (isReasoningSnapshotText(incoming) || normalizedIncoming.startsWith(normalizedCurrent)) return incoming;
814
- return `${current}${incoming}`;
815
- }
816
- function isReasoningSnapshotText(text) {
817
- return /^\s*(?:>\s*)?(?:Reasoning:|Thinking\.{0,3})\s*/i.test(text);
818
- }
819
- function isEmptyDiscordProgressLine(line) {
820
- if (!line || typeof line === "string") return false;
821
- return line.toolName === "apply_patch" && !line.detail && !line.status;
822
- }
823
- function shouldStartDiscordProgressDraftNow(line) {
824
- return typeof line === "object" && line?.kind === "patch" && Boolean(line.detail);
825
- }
826
- //#endregion
827
- //#region extensions/discord/src/monitor/message-handler.process.ts
828
- function sleep(ms) {
829
- return new Promise((resolve) => {
830
- setTimeout(resolve, ms);
831
- });
832
- }
833
- const DISCORD_TYPING_MAX_DURATION_MS = 20 * 6e4;
834
- let replyRuntimePromise;
835
- async function loadReplyRuntime() {
836
- replyRuntimePromise ??= import("./plugin-sdk/reply-runtime.js");
837
- return await replyRuntimePromise;
838
- }
839
- function isProcessAborted(abortSignal) {
840
- return Boolean(abortSignal?.aborted);
841
- }
842
- function formatDiscordReplyDeliveryFailure(params) {
843
- const context = [`target=${params.target}`, params.sessionKey ? `session=${params.sessionKey}` : void 0].filter(Boolean).join(" ");
844
- return `discord ${params.kind} reply failed (${context}): ${String(params.err)}`;
845
- }
846
- function readToolStringArg(args, key) {
847
- const value = args[key];
848
- return typeof value === "string" && value.trim() ? value.trim() : void 0;
849
- }
850
- function readToolBooleanArg(args, key) {
851
- return args[key] === true;
852
- }
853
- async function processDiscordMessage(ctx, observer) {
854
- const dispatchStartedAt = Date.now();
855
- const { cfg, discordConfig, accountId, token, runtime, guildHistories, historyLimit, mediaMaxBytes, textLimit, replyToMode, ackReactionScope, message, messageChannelId, isGuildMessage, isDirectMessage, isGroupDm, messageText, shouldRequireMention, canDetectMention, effectiveWasMentioned, shouldBypassMention, channelConfig, threadBindings, route, discordRestFetch, abortSignal, botLoopProtection } = ctx;
856
- if (isProcessAborted(abortSignal)) return;
857
- if (botLoopProtection) {
858
- const botLoopResult = recordChannelBotPairLoopAndCheckSuppression(botLoopProtection);
859
- if (botLoopResult.suppressed) {
860
- logVerbose(`discord: bot-to-bot loop detected before dispatch setup, suppressing for ${Math.max(0, Math.ceil((botLoopResult.cooldownUntilMs - Date.now()) / 1e3))}s`);
861
- return;
862
- }
863
- }
864
- const mediaResolveOptions = {
865
- fetchImpl: discordRestFetch,
866
- ssrfPolicy: cfg.browser?.ssrfPolicy,
867
- readIdleTimeoutMs: DISCORD_ATTACHMENT_IDLE_TIMEOUT_MS,
868
- totalTimeoutMs: DISCORD_ATTACHMENT_TOTAL_TIMEOUT_MS,
869
- abortSignal
870
- };
871
- const mediaList = await resolveMediaList(message, mediaMaxBytes, mediaResolveOptions);
872
- if (isProcessAborted(abortSignal)) return;
873
- const forwardedMediaList = await resolveForwardedMediaList(message, mediaMaxBytes, mediaResolveOptions);
874
- if (isProcessAborted(abortSignal)) return;
875
- mediaList.push(...forwardedMediaList);
876
- const text = messageText;
877
- if (!text) {
878
- logVerbose("discord: drop message " + message.id + " (empty content)");
879
- return;
880
- }
881
- const boundThreadId = ctx.threadBinding?.conversation?.conversationId?.trim();
882
- if (boundThreadId && typeof threadBindings.touchThread === "function") threadBindings.touchThread({ threadId: boundThreadId });
883
- const { createReplyDispatcherWithTyping, dispatchInboundMessage, settleReplyDispatcher } = await loadReplyRuntime();
884
- const sourceReplyDeliveryMode = resolveChannelSourceReplyDeliveryMode({
885
- cfg,
886
- ctx: {
887
- ChatType: isDirectMessage ? "direct" : isGroupDm ? "group" : isGuildMessage ? "channel" : void 0,
888
- InboundEventKind: ctx.inboundEventKind
889
- }
890
- });
891
- const sourceRepliesAreToolOnly = sourceReplyDeliveryMode === "message_tool_only";
892
- const ackReaction = resolveAckReaction(cfg, route.agentId, {
893
- channel: "discord",
894
- accountId
895
- });
896
- const removeAckAfterReply = cfg.messages?.removeAckAfterReply ?? false;
897
- const mediaLocalRoots = getAgentScopedMediaLocalRoots(cfg, route.agentId);
898
- const isRoomEvent = ctx.inboundEventKind === "room_event";
899
- const shouldAckReaction$1 = () => Boolean(!isRoomEvent && ackReaction && shouldAckReaction({
900
- scope: ackReactionScope,
901
- isDirect: isDirectMessage,
902
- isGroup: isGuildMessage || isGroupDm,
903
- isMentionableGroup: isGuildMessage,
904
- requireMention: shouldRequireMention,
905
- canDetectMention,
906
- effectiveWasMentioned,
907
- shouldBypassMention
908
- }));
909
- const shouldSendAckReaction = shouldAckReaction$1();
910
- const statusReactionsExplicitlyEnabled = cfg.messages?.statusReactions?.enabled === true;
911
- const statusReactionsEnabled = !isRoomEvent && shouldSendAckReaction && cfg.messages?.statusReactions?.enabled !== false && (!sourceRepliesAreToolOnly || statusReactionsExplicitlyEnabled);
912
- const feedbackRest = createDiscordRestClient({
913
- cfg,
914
- token,
915
- accountId
916
- }).rest;
917
- const deliveryRest = createDiscordRestClient({
918
- cfg,
919
- token,
920
- accountId
921
- }).rest;
922
- const ackReactionContext = createDiscordAckReactionContext({
923
- rest: feedbackRest,
924
- cfg,
925
- accountId
926
- });
927
- const discordAdapter = createDiscordAckReactionAdapter({
928
- channelId: messageChannelId,
929
- messageId: message.id,
930
- reactionContext: ackReactionContext
931
- });
932
- let statusReactionTarget = `${messageChannelId}/${message.id}`;
933
- let statusReactionsActive = statusReactionsEnabled;
934
- let statusReactions = createStatusReactionController({
935
- enabled: statusReactionsEnabled,
936
- adapter: discordAdapter,
937
- initialEmoji: ackReaction,
938
- emojis: cfg.messages?.statusReactions?.emojis,
939
- timing: cfg.messages?.statusReactions?.timing,
940
- onError: (err) => {
941
- logAckFailure({
942
- log: logVerbose,
943
- channel: "discord",
944
- target: statusReactionTarget,
945
- error: err
946
- });
947
- }
948
- });
949
- const resolveTrackedReactionChannelId = async (args) => {
950
- const target = readToolStringArg(args, "channelId") ?? readToolStringArg(args, "channel_id") ?? readToolStringArg(args, "to");
951
- if (!target) return messageChannelId;
952
- try {
953
- return resolveDiscordChannelId(target);
954
- } catch {
955
- return (await resolveDiscordTargetChannelId(target, {
956
- cfg,
957
- token,
958
- accountId
959
- })).channelId;
960
- }
961
- };
962
- const maybeBindStatusReactionsToToolReaction = async (payload) => {
963
- if (sourceRepliesAreToolOnly || cfg.messages?.statusReactions?.enabled === false || payload.phase !== "start" || payload.name !== "message" || !payload.args) return;
964
- const args = payload.args;
965
- if (readToolStringArg(args, "action")?.toLowerCase() !== "react") return;
966
- if (!(readToolBooleanArg(args, "trackToolCalls") || readToolBooleanArg(args, "track_tool_calls"))) return;
967
- const emoji = readToolStringArg(args, "emoji");
968
- const remove = readToolBooleanArg(args, "remove");
969
- if (!emoji || remove) return;
970
- const trackedMessageId = readToolStringArg(args, "messageId") ?? readToolStringArg(args, "message_id") ?? message.id;
971
- let trackedChannelId;
972
- try {
973
- trackedChannelId = await resolveTrackedReactionChannelId(args);
974
- } catch (err) {
975
- logAckFailure({
976
- log: logVerbose,
977
- channel: "discord",
978
- target: `${readToolStringArg(args, "to") ?? readToolStringArg(args, "channelId") ?? messageChannelId}/${trackedMessageId}`,
979
- error: err
980
- });
981
- return;
982
- }
983
- statusReactionTarget = `${trackedChannelId}/${trackedMessageId}`;
984
- if (statusReactionsActive) statusReactions.clear();
985
- statusReactions = createStatusReactionController({
986
- enabled: true,
987
- adapter: createDiscordAckReactionAdapter({
988
- channelId: trackedChannelId,
989
- messageId: trackedMessageId,
990
- reactionContext: ackReactionContext
991
- }),
992
- initialEmoji: emoji,
993
- emojis: cfg.messages?.statusReactions?.emojis,
994
- timing: cfg.messages?.statusReactions?.timing,
995
- onError: (err) => {
996
- logAckFailure({
997
- log: logVerbose,
998
- channel: "discord",
999
- target: statusReactionTarget,
1000
- error: err
1001
- });
1002
- }
1003
- });
1004
- statusReactionsActive = true;
1005
- statusReactions.setQueued();
1006
- };
1007
- queueInitialDiscordAckReaction({
1008
- enabled: statusReactionsEnabled,
1009
- shouldSendAckReaction,
1010
- ackReaction,
1011
- statusReactions,
1012
- reactionAdapter: discordAdapter,
1013
- target: `${messageChannelId}/${message.id}`
1014
- });
1015
- const processContext = await buildDiscordMessageProcessContext({
1016
- ctx,
1017
- text,
1018
- mediaList
1019
- });
1020
- if (!processContext) return;
1021
- const { ctxPayload, persistedSessionKey, turn, replyPlan, deliverTarget, replyTarget, replyReference } = processContext;
1022
- observer?.onReplyPlanResolved?.({
1023
- createdThreadId: replyPlan.createdThreadId,
1024
- sessionKey: persistedSessionKey
1025
- });
1026
- const typingChannelId = deliverTarget.startsWith("channel:") ? deliverTarget.slice(8) : messageChannelId;
1027
- const { onModelSelected, ...replyPipeline } = createChannelReplyPipeline({
1028
- cfg,
1029
- agentId: route.agentId,
1030
- channel: "discord",
1031
- accountId: route.accountId,
1032
- typing: {
1033
- start: () => sendTyping({
1034
- rest: feedbackRest,
1035
- channelId: typingChannelId
1036
- }),
1037
- onStartError: (err) => {
1038
- logTypingFailure({
1039
- log: logVerbose,
1040
- channel: "discord",
1041
- target: typingChannelId,
1042
- error: err
1043
- });
1044
- },
1045
- maxDurationMs: DISCORD_TYPING_MAX_DURATION_MS
1046
- }
1047
- });
1048
- const tableMode = resolveMarkdownTableMode({
1049
- cfg,
1050
- channel: "discord",
1051
- accountId
1052
- });
1053
- const maxLinesPerMessage = resolveDiscordMaxLinesPerMessage({
1054
- cfg,
1055
- discordConfig,
1056
- accountId
1057
- });
1058
- const chunkMode = resolveChunkMode(cfg, "discord", accountId);
1059
- const clearGroupHistory = () => {
1060
- if (isDirectMessage) return;
1061
- createChannelHistoryWindow({ historyMap: guildHistories }).clear({
1062
- historyKey: messageChannelId,
1063
- limit: historyLimit
1064
- });
1065
- };
1066
- const beginDeliveryCorrelation = () => isRoomEvent ? beginDiscordInboundEventDeliveryCorrelation(ctxPayload.SessionKey, {
1067
- outboundTo: messageChannelId,
1068
- outboundAccountId: route.accountId,
1069
- markInboundEventDelivered: clearGroupHistory
1070
- }, { inboundEventKind: ctxPayload.InboundEventKind }) : () => {};
1071
- const endDiscordInboundEventDeliveryCorrelation = beginDeliveryCorrelation();
1072
- const resolveCurrentTurnTranscriptFinalText = async () => {
1073
- const sessionKey = ctxPayload.SessionKey;
1074
- if (!sessionKey) return;
1075
- try {
1076
- const storePath = resolveStorePath(cfg.session?.store, { agentId: route.agentId });
1077
- const store = loadSessionStore(storePath, { clone: false });
1078
- const sessionEntry = resolveSessionStoreEntry({
1079
- store,
1080
- sessionKey
1081
- }).existing;
1082
- if (!sessionEntry?.sessionId) return;
1083
- const { sessionFile } = await resolveAndPersistSessionFile({
1084
- sessionId: sessionEntry.sessionId,
1085
- sessionKey,
1086
- sessionStore: store,
1087
- storePath,
1088
- sessionEntry,
1089
- agentId: route.agentId,
1090
- sessionsDir: path.dirname(storePath)
1091
- });
1092
- const latest = await readLatestAssistantTextFromSessionTranscript(sessionFile);
1093
- if (!latest?.timestamp || latest.timestamp < dispatchStartedAt) return;
1094
- return latest.text;
1095
- } catch (err) {
1096
- logVerbose(`discord transcript final candidate lookup failed: ${String(err)}`);
1097
- return;
1098
- }
1099
- };
1100
- const deliverChannelId = deliverTarget.startsWith("channel:") ? deliverTarget.slice(8) : messageChannelId;
1101
- const draftPreview = createDiscordDraftPreviewController({
1102
- cfg,
1103
- discordConfig,
1104
- accountId,
1105
- sourceRepliesAreToolOnly,
1106
- textLimit,
1107
- deliveryRest,
1108
- deliverChannelId,
1109
- replyReference,
1110
- tableMode,
1111
- maxLinesPerMessage,
1112
- chunkMode,
1113
- log: logVerbose
1114
- });
1115
- const finalPreviewFlags = discordConfig?.suppressEmbeds ?? true ? MessageFlags.SuppressEmbeds : void 0;
1116
- let finalReplyStartNotified = false;
1117
- const notifyFinalReplyStart = () => {
1118
- if (finalReplyStartNotified) return;
1119
- finalReplyStartNotified = true;
1120
- draftPreview.markFinalReplyStarted();
1121
- observer?.onFinalReplyStart?.();
1122
- };
1123
- const { dispatcher, replyOptions, markDispatchIdle, markRunComplete } = createReplyDispatcherWithTyping({
1124
- ...replyPipeline,
1125
- humanDelay: resolveHumanDelayConfig(cfg, route.agentId),
1126
- deliver: async (payload, info) => {
1127
- if (isProcessAborted(abortSignal)) return;
1128
- const isFinal = info.kind === "final";
1129
- if (payload.isReasoning) return;
1130
- if (isFinal) draftPreview.markFinalReplyStarted();
1131
- const finalText = isFinal && typeof payload.text === "string" ? await resolveTranscriptBackedChannelFinalText({
1132
- finalText: payload.text,
1133
- resolveCandidateText: resolveCurrentTurnTranscriptFinalText
1134
- }) : payload.text;
1135
- const effectivePayload = finalText !== payload.text ? {
1136
- ...payload,
1137
- text: finalText
1138
- } : payload;
1139
- const draftStream = draftPreview.draftStream;
1140
- if (draftStream && draftPreview.isProgressMode && info.kind === "block") {
1141
- if (!resolveSendableOutboundReplyParts(effectivePayload).hasMedia && !payload.isError) return;
1142
- }
1143
- if (draftStream && isFinal && (!draftPreview.isProgressMode || draftPreview.hasProgressDraftStarted) && !payload.isError) {
1144
- const hasMedia = resolveSendableOutboundReplyParts(effectivePayload).hasMedia;
1145
- const ttsSupplement = getReplyPayloadTtsSupplement(effectivePayload);
1146
- const previewSourceText = finalText ?? ttsSupplement?.spokenText;
1147
- const previewFinalText = draftPreview.resolvePreviewFinalText(previewSourceText);
1148
- const previewReplyToId = replyReference.peek();
1149
- const hasExplicitReplyDirective = Boolean(effectivePayload.replyToTag || effectivePayload.replyToCurrent) || typeof previewSourceText === "string" && /\[\[\s*reply_to(?:_current|\s*:)/i.test(previewSourceText);
1150
- if ((await deliverWithFinalizableLivePreviewAdapter({
1151
- kind: info.kind,
1152
- payload: effectivePayload,
1153
- adapter: defineFinalizableLivePreviewAdapter({
1154
- draft: {
1155
- flush: () => draftPreview.flush(),
1156
- clear: () => draftStream.clear(),
1157
- discardPending: () => draftStream.discardPending(),
1158
- seal: () => draftStream.seal(),
1159
- id: draftStream.messageId
1160
- },
1161
- buildFinalEdit: () => {
1162
- if (draftPreview.finalizedViaPreviewMessage || hasMedia && !ttsSupplement || typeof previewFinalText !== "string" || hasExplicitReplyDirective || payload.isError) return;
1163
- return {
1164
- content: previewFinalText,
1165
- ...finalPreviewFlags ? { flags: finalPreviewFlags } : {}
1166
- };
1167
- },
1168
- editFinal: async (previewMessageId, edit) => {
1169
- if (isProcessAborted(abortSignal)) throw new Error("process aborted");
1170
- notifyFinalReplyStart();
1171
- await editMessageDiscord(deliverChannelId, previewMessageId, edit, {
1172
- cfg,
1173
- accountId,
1174
- rest: deliveryRest
1175
- });
1176
- },
1177
- onPreviewFinalized: () => {
1178
- draftPreview.markFinalReplyDelivered();
1179
- draftPreview.markPreviewFinalized();
1180
- replyReference.markSent();
1181
- observer?.onFinalReplyDelivered?.();
1182
- },
1183
- buildSupplementalPayload: () => ttsSupplement ? buildTtsSupplementMediaPayload(effectivePayload) : void 0,
1184
- deliverSupplemental: async (supplementalPayload) => {
1185
- if (isProcessAborted(abortSignal)) return false;
1186
- const supplementalReplyToId = previewReplyToId ?? replyReference.peek() ?? (replyToMode === "all" ? typeof message.id === "string" && message.id ? message.id : ctxPayload.MessageSid : void 0);
1187
- await deliverDiscordReply({
1188
- cfg,
1189
- replies: [supplementalPayload],
1190
- target: deliverTarget,
1191
- token,
1192
- accountId,
1193
- rest: deliveryRest,
1194
- runtime,
1195
- replyToId: supplementalReplyToId,
1196
- replyToMode,
1197
- textLimit,
1198
- maxLinesPerMessage,
1199
- tableMode,
1200
- chunkMode,
1201
- sessionKey: ctxPayload.SessionKey,
1202
- threadBindings,
1203
- mediaLocalRoots,
1204
- kind: info.kind
1205
- });
1206
- return true;
1207
- },
1208
- logPreviewEditFailure: (err) => {
1209
- logVerbose(`discord: preview final edit failed; falling back to standard send (${String(err)})`);
1210
- }
1211
- }),
1212
- deliverNormally: async () => {
1213
- if (isProcessAborted(abortSignal)) return false;
1214
- const fallbackPayload = ttsSupplement && ttsSupplement.visibleTextAlreadyDelivered !== true && !effectivePayload.text?.trim() ? {
1215
- ...effectivePayload,
1216
- text: ttsSupplement.spokenText
1217
- } : effectivePayload;
1218
- const replyToId = replyReference.use();
1219
- notifyFinalReplyStart();
1220
- await deliverDiscordReply({
1221
- cfg,
1222
- replies: [fallbackPayload],
1223
- target: deliverTarget,
1224
- token,
1225
- accountId,
1226
- rest: deliveryRest,
1227
- runtime,
1228
- replyToId,
1229
- replyToMode,
1230
- textLimit,
1231
- maxLinesPerMessage,
1232
- tableMode,
1233
- chunkMode,
1234
- sessionKey: ctxPayload.SessionKey,
1235
- threadBindings,
1236
- mediaLocalRoots,
1237
- kind: info.kind
1238
- });
1239
- return true;
1240
- },
1241
- onNormalDelivered: () => {
1242
- draftPreview.markFinalReplyDelivered();
1243
- replyReference.markSent();
1244
- observer?.onFinalReplyDelivered?.();
1245
- }
1246
- })).kind !== "normal-skipped") return;
1247
- }
1248
- if (isProcessAborted(abortSignal)) return;
1249
- const replyToId = replyReference.use();
1250
- if (isFinal) notifyFinalReplyStart();
1251
- await deliverDiscordReply({
1252
- cfg,
1253
- replies: [effectivePayload],
1254
- target: deliverTarget,
1255
- token,
1256
- accountId,
1257
- rest: deliveryRest,
1258
- runtime,
1259
- replyToId,
1260
- replyToMode,
1261
- textLimit,
1262
- maxLinesPerMessage,
1263
- tableMode,
1264
- chunkMode,
1265
- sessionKey: ctxPayload.SessionKey,
1266
- threadBindings,
1267
- mediaLocalRoots,
1268
- kind: info.kind
1269
- });
1270
- replyReference.markSent();
1271
- if (isFinal && payload.isError !== true) {
1272
- draftPreview.markFinalReplyDelivered();
1273
- observer?.onFinalReplyDelivered?.();
1274
- }
1275
- },
1276
- onError: (err, info) => {
1277
- runtime.error?.(danger(formatDiscordReplyDeliveryFailure({
1278
- kind: info.kind,
1279
- err,
1280
- target: deliverTarget,
1281
- sessionKey: ctxPayload.SessionKey
1282
- })));
1283
- },
1284
- onReplyStart: async () => {
1285
- if (isProcessAborted(abortSignal)) return;
1286
- await replyPipeline.typingCallbacks?.onReplyStart();
1287
- await statusReactions.setThinking();
1288
- }
1289
- });
1290
- const resolvedBlockStreamingEnabled = resolveChannelStreamingBlockEnabled(discordConfig);
1291
- let dispatchResult = null;
1292
- let dispatchError = false;
1293
- let dispatchAborted = false;
1294
- let dispatchSettledBeforeStart = false;
1295
- const settleDispatchBeforeStart = async () => {
1296
- dispatchSettledBeforeStart = true;
1297
- await settleReplyDispatcher({
1298
- dispatcher,
1299
- onSettled: () => {
1300
- markRunComplete();
1301
- markDispatchIdle();
1302
- }
1303
- });
1304
- };
1305
- try {
1306
- if (isProcessAborted(abortSignal)) {
1307
- dispatchAborted = true;
1308
- await settleDispatchBeforeStart();
1309
- return;
1310
- }
1311
- const preparedResult = await runPreparedInboundReplyTurn({
1312
- channel: "discord",
1313
- accountId: route.accountId,
1314
- routeSessionKey: persistedSessionKey,
1315
- storePath: turn.storePath,
1316
- ctxPayload,
1317
- recordInboundSession,
1318
- record: turn.record,
1319
- history: isRoomEvent ? void 0 : {
1320
- isGroup: isGuildMessage,
1321
- historyKey: messageChannelId,
1322
- historyMap: guildHistories,
1323
- limit: historyLimit
1324
- },
1325
- onPreDispatchFailure: settleDispatchBeforeStart,
1326
- runDispatch: async () => await dispatchInboundMessage({
1327
- ctx: ctxPayload,
1328
- cfg,
1329
- dispatcher,
1330
- replyOptions: {
1331
- ...replyOptions,
1332
- abortSignal,
1333
- skillFilter: channelConfig?.skills,
1334
- sourceReplyDeliveryMode,
1335
- queuedDeliveryCorrelations: isRoomEvent ? [{ begin: beginDeliveryCorrelation }] : void 0,
1336
- suppressTyping: isRoomEvent ? true : void 0,
1337
- allowProgressCallbacksWhenSourceDeliverySuppressed: sourceRepliesAreToolOnly && draftPreview.draftStream && draftPreview.isProgressMode ? true : void 0,
1338
- disableBlockStreaming: sourceRepliesAreToolOnly ? true : draftPreview.disableBlockStreamingForDraft ?? (typeof resolvedBlockStreamingEnabled === "boolean" ? !resolvedBlockStreamingEnabled : void 0),
1339
- onPartialReply: draftPreview.draftStream && !draftPreview.isProgressMode ? (payload) => draftPreview.updateFromPartial(payload.text) : void 0,
1340
- onAssistantMessageStart: draftPreview.draftStream ? () => draftPreview.handleAssistantMessageBoundary() : void 0,
1341
- onReasoningEnd: draftPreview.draftStream ? () => draftPreview.handleAssistantMessageBoundary() : void 0,
1342
- onModelSelected,
1343
- suppressDefaultToolProgressMessages: draftPreview.suppressDefaultToolProgressMessages ? true : void 0,
1344
- onReasoningStream: async (payload) => {
1345
- await statusReactions.setThinking();
1346
- const formattedText = payload?.text ? formatReasoningMessage(payload.text) : void 0;
1347
- await draftPreview.pushReasoningProgress(formattedText);
1348
- },
1349
- onToolStart: async (payload) => {
1350
- if (isProcessAborted(abortSignal)) return;
1351
- await maybeBindStatusReactionsToToolReaction(payload);
1352
- await statusReactions.setTool(payload.name);
1353
- await draftPreview.pushToolProgress(buildChannelProgressDraftLineForEntry(discordConfig, {
1354
- event: "tool",
1355
- name: payload.name,
1356
- phase: payload.phase,
1357
- args: payload.args
1358
- }, payload.detailMode ? { detailMode: payload.detailMode } : void 0), { toolName: payload.name });
1359
- },
1360
- onItemEvent: async (payload) => {
1361
- await draftPreview.pushToolProgress(buildChannelProgressDraftLineForEntry(discordConfig, {
1362
- event: "item",
1363
- itemId: payload.itemId,
1364
- itemKind: payload.kind,
1365
- title: payload.title,
1366
- name: payload.name,
1367
- phase: payload.phase,
1368
- status: payload.status,
1369
- summary: payload.summary,
1370
- progressText: payload.progressText,
1371
- meta: payload.meta
1372
- }));
1373
- },
1374
- onPlanUpdate: async (payload) => {
1375
- if (payload.phase !== "update") return;
1376
- await draftPreview.pushToolProgress(buildChannelProgressDraftLine({
1377
- event: "plan",
1378
- phase: payload.phase,
1379
- title: payload.title,
1380
- explanation: payload.explanation,
1381
- steps: payload.steps
1382
- }));
1383
- },
1384
- onApprovalEvent: async (payload) => {
1385
- if (payload.phase !== "requested") return;
1386
- await draftPreview.pushToolProgress(buildChannelProgressDraftLine({
1387
- event: "approval",
1388
- phase: payload.phase,
1389
- title: payload.title,
1390
- command: payload.command,
1391
- reason: payload.reason,
1392
- message: payload.message
1393
- }));
1394
- },
1395
- onCommandOutput: async (payload) => {
1396
- if (payload.phase !== "end") return;
1397
- await draftPreview.pushToolProgress(buildChannelProgressDraftLine({
1398
- event: "command-output",
1399
- phase: payload.phase,
1400
- title: payload.title,
1401
- name: payload.name,
1402
- status: payload.status,
1403
- exitCode: payload.exitCode
1404
- }));
1405
- },
1406
- onPatchSummary: async (payload) => {
1407
- if (payload.phase !== "end") return;
1408
- await draftPreview.pushToolProgress(buildChannelProgressDraftLine({
1409
- event: "patch",
1410
- phase: payload.phase,
1411
- title: payload.title,
1412
- name: payload.name,
1413
- added: payload.added,
1414
- modified: payload.modified,
1415
- deleted: payload.deleted,
1416
- summary: payload.summary
1417
- }));
1418
- },
1419
- onCompactionStart: async () => {
1420
- if (isProcessAborted(abortSignal)) return;
1421
- await statusReactions.setCompacting();
1422
- },
1423
- onCompactionEnd: async () => {
1424
- if (isProcessAborted(abortSignal)) return;
1425
- statusReactions.cancelPending();
1426
- await statusReactions.setThinking();
1427
- }
1428
- }
1429
- })
1430
- });
1431
- if (!preparedResult.dispatched) return;
1432
- dispatchResult = preparedResult.dispatchResult;
1433
- if (isProcessAborted(abortSignal)) {
1434
- dispatchAborted = true;
1435
- return;
1436
- }
1437
- } catch (err) {
1438
- if (isProcessAborted(abortSignal)) {
1439
- dispatchAborted = true;
1440
- return;
1441
- }
1442
- dispatchError = true;
1443
- throw err;
1444
- } finally {
1445
- endDiscordInboundEventDeliveryCorrelation();
1446
- try {
1447
- await draftPreview.cleanup();
1448
- } finally {
1449
- if (!dispatchSettledBeforeStart) {
1450
- markRunComplete();
1451
- markDispatchIdle();
1452
- }
1453
- }
1454
- const finalDeliveryFailed = (dispatchResult?.failedCounts?.final ?? 0) > 0;
1455
- if (statusReactionsActive) if (dispatchAborted) if (removeAckAfterReply) statusReactions.clear();
1456
- else statusReactions.restoreInitial();
1457
- else {
1458
- if (dispatchError || finalDeliveryFailed) await statusReactions.setError();
1459
- else await statusReactions.setDone();
1460
- if (removeAckAfterReply) (async () => {
1461
- await sleep(dispatchError || finalDeliveryFailed ? DEFAULT_TIMING.errorHoldMs : DEFAULT_TIMING.doneHoldMs);
1462
- await statusReactions.clear();
1463
- })();
1464
- else statusReactions.restoreInitial();
1465
- }
1466
- else if (shouldSendAckReaction && ackReaction && removeAckAfterReply) removeReactionDiscord(messageChannelId, message.id, ackReaction, ackReactionContext).catch((err) => {
1467
- logAckFailure({
1468
- log: logVerbose,
1469
- channel: "discord",
1470
- target: `${messageChannelId}/${message.id}`,
1471
- error: err
1472
- });
1473
- });
1474
- }
1475
- if (dispatchAborted) return;
1476
- const finalDispatchResult = dispatchResult;
1477
- if (!finalDispatchResult || !hasFinalChannelTurnDispatch(finalDispatchResult)) return;
1478
- if (shouldLogVerbose()) {
1479
- const finalCount = finalDispatchResult.counts.final;
1480
- logVerbose(`discord: delivered ${finalCount} reply${finalCount === 1 ? "" : "ies"} to ${replyTarget}`);
1481
- }
1482
- }
1483
- //#endregion
1484
- export { processDiscordMessage };