@gaodefa/daocore 2026.5.51 → 2026.5.53

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 (1135) hide show
  1. package/dist/abort-DbmSukS6.js +277 -0
  2. package/dist/abort.runtime-DfTphPUe.js +2 -0
  3. package/dist/abort.runtime.js +1 -1
  4. package/dist/account-inspect-CrOeeGkg.js +173 -0
  5. package/dist/accounts-CF5wlCaC.js +119 -0
  6. package/dist/accounts-CfFTGexZ.js +107 -0
  7. package/dist/accounts-Cr9iBKG5.js +2 -0
  8. package/dist/accounts-DdAZRSd-.js +107 -0
  9. package/dist/acp/control-plane/manager.d.ts +2 -1
  10. package/dist/acp-runtime-B1CfWEsR.js +26 -0
  11. package/dist/acp-spawn-Bq8RHmXn.js +1275 -0
  12. package/dist/acp-spawn-BxyX0qDU.js +2 -0
  13. package/dist/acp-stateful-target-driver-y9Vk9ZkZ.js +89 -0
  14. package/dist/action-kill-Xr3eQUBu.js +33 -0
  15. package/dist/action-runtime-CweBFa8U.js +469 -0
  16. package/dist/action-runtime-api-DZY1J62H.js +2 -0
  17. package/dist/action-send-HdOQtFcz.js +39 -0
  18. package/dist/action-spawn-DWrPplrX.js +47 -0
  19. package/dist/actions-zZzXK7Ic.js +161 -0
  20. package/dist/actions.runtime-CK0aV6y4.js +5 -0
  21. package/dist/agent-command-DB0sppso.js +1367 -0
  22. package/dist/agent-command-DKqx29vm.d.ts +105 -0
  23. package/dist/agent-components.runtime-Drdzm2-F.js +10 -0
  24. package/dist/agent-components.runtime.js +1 -1
  25. package/dist/agent-harness-CGtBwZh6.d.ts +146 -0
  26. package/dist/agent-harness-runtime-Btzminw9.js +180 -0
  27. package/dist/agent-harness-task-runtime-DWiDnwnT.js +140 -0
  28. package/dist/agent-nenZtwAX.js +3 -0
  29. package/dist/agent-runner-execution-Cun_PNBn.js +1713 -0
  30. package/dist/agent-runner-utils-BfF--s17.js +266 -0
  31. package/dist/agent-runner.runtime-vxDguHci.js +3455 -0
  32. package/dist/agent-runner.runtime.js +1 -1
  33. package/dist/agent-runtime-C5xeqCn8.js +229 -0
  34. package/dist/agent-svdKN_62.js +2 -0
  35. package/dist/agent-via-gateway-DQa8cmBa.js +463 -0
  36. package/dist/api-BQxP3H11.js +134 -0
  37. package/dist/api-CT5SnVgO.js +2 -0
  38. package/dist/api-CtX70NwR.js +2 -0
  39. package/dist/api-CvUdFHq7.js +6 -0
  40. package/dist/api-DG9oHhm4.js +639 -0
  41. package/dist/api-DzfMdJ46.js +3 -0
  42. package/dist/apply-D8UoOoVD.js +41 -0
  43. package/dist/apply-DrHwBR1D.js +54 -0
  44. package/dist/approval-handler.runtime-CT8PWJ9W.js +130 -0
  45. package/dist/assistant-ByynDFnI.js +291 -0
  46. package/dist/attachment-normalize-DEAS_ziY.js +225 -0
  47. package/dist/attempt-execution-CQUmv8x2.js +558 -0
  48. package/dist/attempt-execution.runtime-AZYQQuAv.js +3 -0
  49. package/dist/attempt-execution.runtime.js +1 -1
  50. package/dist/attempt-execution.shared-2ZOaCHct.js +38 -0
  51. package/dist/attempt.prompt-helpers-B7ano4Xa.js +475 -0
  52. package/dist/attempt.tool-run-context-DBta4Vhq.js +2094 -0
  53. package/dist/binding-routing-DYUUioo1.js +113 -0
  54. package/dist/binding-targets-DthC_zAF.js +121 -0
  55. package/dist/bot-CHP8Hnzo.js +7894 -0
  56. package/dist/bot-deps-CLDgPV_x.js +747 -0
  57. package/dist/bot-deps-W9zVbYpY.js +2 -0
  58. package/dist/bot-message-context.runtime-B1-gGjAv.js +7 -0
  59. package/dist/bot-message-context.runtime.js +1 -1
  60. package/dist/bot-message-context.session.runtime-DUtlPLJq.js +12 -0
  61. package/dist/bot-message-context.session.runtime.js +1 -1
  62. package/dist/bot-native-commands.delivery.runtime-B2_Sb8-0.js +4 -0
  63. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  64. package/dist/bot-native-commands.runtime-pplrKHcn.js +13 -0
  65. package/dist/bot-native-commands.runtime.js +1 -1
  66. package/dist/bridge-server-Du_qnIXr.js +113 -0
  67. package/dist/browser-cli-B2-Lzvd1.js +230 -0
  68. package/dist/browser-cli-actions-input-ZF6YYuIY.js +473 -0
  69. package/dist/browser-cli-actions-observe-DWLHFME1.js +81 -0
  70. package/dist/browser-cli-bTjCd41u.js +2 -0
  71. package/dist/browser-cli-debug-lzd4l2hl.js +137 -0
  72. package/dist/browser-cli-inspect-C5OnFKqx.js +104 -0
  73. package/dist/browser-cli-manage-BofwSOgU.js +443 -0
  74. package/dist/browser-cli-resize-CLs1i6Nu.js +26 -0
  75. package/dist/browser-cli-shared-6Jygx3GN.js +50 -0
  76. package/dist/browser-cli-state-BdoHl8ny.js +337 -0
  77. package/dist/browser-control-auth-DuI4vfIv.js +2 -0
  78. package/dist/browser-profiles-DkblgTjb.js +2 -0
  79. package/dist/browser-runtime-BiJKNDAE.js +384 -0
  80. package/dist/build-CrC0bToI.js +257 -0
  81. package/dist/build-info.json +2 -2
  82. package/dist/bundled/boot-md/handler.js +2 -2
  83. package/dist/bundled/session-memory/handler.js +1 -1
  84. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  85. package/dist/capability-cli-BHlS8tBg.js +1782 -0
  86. package/dist/channel-5iqpbW6B.js +867 -0
  87. package/dist/channel-BW3tbxJQ.js +1496 -0
  88. package/dist/channel-BWo67yh1.js +2126 -0
  89. package/dist/channel-BdhbzWTg.d.ts +427 -0
  90. package/dist/channel-BsDZhXfM.js +362 -0
  91. package/dist/channel-C95y8CWt.js +1556 -0
  92. package/dist/channel-CMKGn1i6.js +376 -0
  93. package/dist/channel-CMUiDCTQ.js +740 -0
  94. package/dist/channel-CNvxy1bb.js +808 -0
  95. package/dist/channel-CQzh6Wn1.js +653 -0
  96. package/dist/channel-CchnfGMs.js +481 -0
  97. package/dist/channel-CjWH9zRX.js +1777 -0
  98. package/dist/channel-CjZoZfa2.js +238 -0
  99. package/dist/channel-DKHlpUHA.js +1134 -0
  100. package/dist/channel-DfP8Sc0t.d.ts +6 -0
  101. package/dist/channel-DhZvHOpE.js +562 -0
  102. package/dist/channel-DtL_IvqV.js +508 -0
  103. package/dist/channel-GdNHqdaw.js +1249 -0
  104. package/dist/channel-ZkqVX5SL.js +955 -0
  105. package/dist/channel-actions.runtime-DYiOBQDx.js +265 -0
  106. package/dist/channel-actions.runtime.js +1 -1
  107. package/dist/channel-core-CiUQ9zxC.js +5 -0
  108. package/dist/channel-inbound-Ctv6wSJ3.js +80 -0
  109. package/dist/channel-lifecycle-DCTZ2J_8.d.ts +126 -0
  110. package/dist/channel-pairing-pKisqGWj.d.ts +58 -0
  111. package/dist/channel-plugin-runtime-CgGpeLjf.js +998 -0
  112. package/dist/channel-runtime-CPbfvG0l.js +408 -0
  113. package/dist/channel.runtime-5ebeoN8j.js +1008 -0
  114. package/dist/channel.runtime-B2Olk7LG.js +4 -0
  115. package/dist/channel.runtime-B4CnXDGx.js +652 -0
  116. package/dist/channel.runtime-BzLoF_dR.js +21009 -0
  117. package/dist/channel.runtime-CNCIcAd6.js +109 -0
  118. package/dist/channel.runtime-C_--rR-H.js +88 -0
  119. package/dist/channel.runtime-CmK77Uxp.js +254 -0
  120. package/dist/channel.runtime-DF5K3pkO.js +2528 -0
  121. package/dist/channel.runtime-iKNOt2eM.js +733 -0
  122. package/dist/channel.setup-CxvbmJQ2.js +343 -0
  123. package/dist/channel.setup-CzdDnMh7.js +1098 -0
  124. package/dist/channel.setup-Sku9g-22.js +10 -0
  125. package/dist/chat-BV-WLur6.js +2666 -0
  126. package/dist/chrome-CBr1Nlj5.js +1503 -0
  127. package/dist/cli/run-main.js +5 -5
  128. package/dist/cli-compaction-CzfXx99c.js +347 -0
  129. package/dist/cli-lsMRD5BD.js +1341 -0
  130. package/dist/cli-metadata-Cpdwx3O7.js +22 -0
  131. package/dist/cli-runner-DFh20BoX.js +2 -0
  132. package/dist/cli-runner-DjgUGfBa.js +540 -0
  133. package/dist/cli-runner.runtime-Cjd2VdQI.js +3 -0
  134. package/dist/cli-runner.runtime-uAtVtWM7.js +4 -0
  135. package/dist/cli-runner.runtime.js +1 -1
  136. package/dist/cli-startup-metadata.json +8 -8
  137. package/dist/client-D-yT6rne.js +650 -0
  138. package/dist/client-adapter-PXk4JoQR.js +897 -0
  139. package/dist/client-factory-C9zVXY0y.js +9 -0
  140. package/dist/command-auth-PrmmYdot.js +135 -0
  141. package/dist/command-handlers-DuHt0qVp.js +1609 -0
  142. package/dist/command-registry-B_v8R74Z.js +4 -0
  143. package/dist/command-registry-QvQgQxqT.js +9 -0
  144. package/dist/command-registry-core-dLVpK66o.js +110 -0
  145. package/dist/command-status.runtime-DM3aUyTe.js +90 -0
  146. package/dist/command-status.runtime.js +1 -1
  147. package/dist/commands-acp-DzUZwawt.js +74 -0
  148. package/dist/commands-compact.runtime-B6-Vv1CH.js +10 -0
  149. package/dist/commands-compact.runtime.js +1 -1
  150. package/dist/commands-handlers.runtime-CaTYrYbd.js +6154 -0
  151. package/dist/commands-handlers.runtime.js +1 -1
  152. package/dist/commands-status-NuvnoSL-.js +16 -0
  153. package/dist/commands-status-SMWi-mj9.js +3 -0
  154. package/dist/commands-status.runtime-SMWi-mj9.js +3 -0
  155. package/dist/commands-status.runtime.js +1 -1
  156. package/dist/commands-subagents-control.runtime-Cm9cxI8S.js +2 -0
  157. package/dist/commands-subagents-control.runtime-e7gSoCXL.js +3 -0
  158. package/dist/commands-subagents-control.runtime.js +1 -1
  159. package/dist/commands-system-prompt-C9pVUDbu.js +162 -0
  160. package/dist/commands-system-prompt-JP4vOPVK.js +2 -0
  161. package/dist/commands.runtime-Dg6eg0rn.js +176 -0
  162. package/dist/commands.runtime.js +1 -1
  163. package/dist/commitments/runtime.js +1 -1
  164. package/dist/compact-B2rH1SUd.js +480 -0
  165. package/dist/compact-D80suJg8.js +1141 -0
  166. package/dist/compact.runtime-D8nzDxmY.js +12 -0
  167. package/dist/compact.runtime.js +1 -1
  168. package/dist/completion-cli-DWxWi4aD.js +315 -0
  169. package/dist/computer-use-BGvZ1YTf.js +367 -0
  170. package/dist/config-DV-fdSq3.js +373 -0
  171. package/dist/config-DkblgTjb.js +2 -0
  172. package/dist/config-mutations-DsTp_oTJ.js +159 -0
  173. package/dist/context-engine-host-compat-BwIxzf7F.js +2 -0
  174. package/dist/context-engine-host-compat-CXhSw3Ub.js +288 -0
  175. package/dist/context-engine-lifecycle-CxxoOuT8.js +1274 -0
  176. package/dist/control-auth-Bb_hAwJF.js +114 -0
  177. package/dist/control-service-Dom28xYt.js +145 -0
  178. package/dist/control-ui/assets/agents-D8cdE1Eu.js +1008 -0
  179. package/dist/control-ui/assets/channel-config-extras-DHmcFd3r.js +2 -0
  180. package/dist/control-ui/assets/channels-C6IYonLY.js +367 -0
  181. package/dist/control-ui/assets/cron-BV8QhIs0.js +1013 -0
  182. package/dist/control-ui/assets/debug-CMKISsjW.js +97 -0
  183. package/dist/control-ui/assets/index-D_0M09s2.js +7406 -0
  184. package/dist/control-ui/assets/index-R-oyCoNF.css +1 -0
  185. package/dist/control-ui/assets/instances-Bjzgcv3j.js +57 -0
  186. package/dist/control-ui/assets/logs-Ca4STw-4.js +74 -0
  187. package/dist/control-ui/assets/nodes-CIYAksjC.js +436 -0
  188. package/dist/control-ui/assets/sessions-Cvu-i-9a.js +399 -0
  189. package/dist/control-ui/assets/skills-bzc2YBGL.js +314 -0
  190. package/dist/control-ui/assets/skills-shared-Dh00XbS9.js +11 -0
  191. package/dist/control-ui/index.html +2 -2
  192. package/dist/control-ui/sw.js +1 -1
  193. package/dist/conversation-binding-runtime-BXeidhrY.js +4 -0
  194. package/dist/conversation-runtime-Das7yftQ.js +31 -0
  195. package/dist/core-AxrxO8_x.js +282 -0
  196. package/dist/core-api-BL4BNR1C.js +5 -0
  197. package/dist/core-api-Bnc3J2fe.js +2 -0
  198. package/dist/crestodian/crestodian.js +1 -1
  199. package/dist/crestodian/rescue-message.js +1 -1
  200. package/dist/crestodian-CnfWHGFm.js +55 -0
  201. package/dist/daocore-tools-C1WpZGCu.js +11727 -0
  202. package/dist/delivery--FvYHWJO.js +1002 -0
  203. package/dist/dialogue-B40qxVGM.js +37 -0
  204. package/dist/dir-fetch-tool-fbOAtLfN.js +565 -0
  205. package/dist/dir-list-tool-BQ3k3hKf.js +100 -0
  206. package/dist/direct-dm-CuNsmrdk.js +64 -0
  207. package/dist/directive-handling.fast-lane-CQYYvYi_.js +68 -0
  208. package/dist/directive-handling.impl-DoLFcRUI.js +2 -0
  209. package/dist/directive-handling.impl-RsdNckR4.js +818 -0
  210. package/dist/directive-handling.model-selection-Ad4n0BBf.js +122 -0
  211. package/dist/directive-handling.persist.runtime-Dq8SQvB4.js +263 -0
  212. package/dist/directive-handling.persist.runtime.js +1 -1
  213. package/dist/dispatch-Bmw9mO6a.js +1640 -0
  214. package/dist/dispatch-acp-transcript.runtime-B7DKK79t.js +40 -0
  215. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  216. package/dist/dispatch-acp.runtime-cVH58wGq.js +18 -0
  217. package/dist/dispatch-acp.runtime.js +1 -1
  218. package/dist/doctor-HffoL5ik.js +6 -0
  219. package/dist/doctor-Qg1Gj0PC.js +2 -0
  220. package/dist/doctor-config-flow-Dudp0oO_.js +1741 -0
  221. package/dist/doctor-core-checks-BTvmehLq.js +573 -0
  222. package/dist/doctor-core-checks-CcacCMGd.js +2 -0
  223. package/dist/doctor-health-DIu25ot8.js +65 -0
  224. package/dist/doctor-health-contributions-ZQUAiwng.js +696 -0
  225. package/dist/doctor-lint-C8RjoIYq.js +94 -0
  226. package/dist/doctor-state-integrity-D5NJcM0t.js +1231 -0
  227. package/dist/doctor-update-07o96Num.js +58 -0
  228. package/dist/dynamic-tools-BSIfb0RP.js +486 -0
  229. package/dist/embedded-backend-499B1IIV.js +579 -0
  230. package/dist/embedded-gateway-stub.runtime-Bqr2Z4Co.js +12 -0
  231. package/dist/embedded-gateway-stub.runtime.js +1 -1
  232. package/dist/exec-approvals-ClTqhSd7.js +149 -0
  233. package/dist/extensionAPI.js +1 -1
  234. package/dist/extensions/active-memory/index.js +1 -1
  235. package/dist/extensions/admin-http-rpc/index.js +1 -1
  236. package/dist/extensions/anthropic/doctor-contract-api.d.ts +1 -1
  237. package/dist/extensions/browser/browser-bridge.js +1 -1
  238. package/dist/extensions/browser/browser-config.js +4 -4
  239. package/dist/extensions/browser/browser-control-auth.js +2 -2
  240. package/dist/extensions/browser/browser-doctor.js +2 -2
  241. package/dist/extensions/browser/browser-maintenance.js +1 -1
  242. package/dist/extensions/browser/browser-profiles.js +2 -2
  243. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  244. package/dist/extensions/browser/cli-metadata.js +1 -1
  245. package/dist/extensions/browser/index.js +1 -1
  246. package/dist/extensions/browser/plugin-registration.js +1 -1
  247. package/dist/extensions/browser/register.runtime.js +4 -4
  248. package/dist/extensions/browser/runtime-api.js +13 -13
  249. package/dist/extensions/browser/test-support.d.ts +1 -1
  250. package/dist/extensions/canvas/index.js +1 -1
  251. package/dist/extensions/clickclack/api.js +2 -2
  252. package/dist/extensions/clickclack/channel-plugin-api.js +1 -1
  253. package/dist/extensions/clickclack/runtime-api.js +2 -2
  254. package/dist/extensions/device-pair/api.js +1 -1
  255. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  256. package/dist/extensions/file-transfer/index.js +4 -4
  257. package/dist/extensions/google/doctor-contract-api.d.ts +1 -1
  258. package/dist/extensions/image-generation-core/api.d.ts +1 -1
  259. package/dist/extensions/imessage/api.js +2 -2
  260. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  261. package/dist/extensions/imessage/message-tool-api.d.ts +1 -1
  262. package/dist/extensions/imessage/runtime-api.d.ts +1 -1
  263. package/dist/extensions/imessage/runtime-api.js +3 -3
  264. package/dist/extensions/irc/api.js +2 -2
  265. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  266. package/dist/extensions/llm-task/index.js +1 -1
  267. package/dist/extensions/mattermost/api.js +1 -1
  268. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  269. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  270. package/dist/extensions/mattermost/policy-api.js +1 -1
  271. package/dist/extensions/mattermost/runtime-api.d.ts +7 -7
  272. package/dist/extensions/mattermost/runtime-api.js +2 -2
  273. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  274. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  275. package/dist/extensions/migrate-claude/apply.js +1 -1
  276. package/dist/extensions/migrate-claude/index.js +1 -1
  277. package/dist/extensions/migrate-claude/plan.js +1 -1
  278. package/dist/extensions/migrate-claude/provider.js +1 -1
  279. package/dist/extensions/migrate-claude/targets.js +1 -1
  280. package/dist/extensions/migrate-hermes/apply.js +1 -1
  281. package/dist/extensions/migrate-hermes/index.js +1 -1
  282. package/dist/extensions/migrate-hermes/model.js +1 -1
  283. package/dist/extensions/migrate-hermes/plan.js +1 -1
  284. package/dist/extensions/migrate-hermes/provider.js +1 -1
  285. package/dist/extensions/migrate-hermes/secrets.js +1 -1
  286. package/dist/extensions/migrate-hermes/targets.js +1 -1
  287. package/dist/extensions/policy/api.js +1 -1
  288. package/dist/extensions/policy/index.js +2 -2
  289. package/dist/extensions/signal/api.d.ts +1 -1
  290. package/dist/extensions/signal/api.js +6 -6
  291. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  292. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  293. package/dist/extensions/signal/runtime-api.d.ts +2 -2
  294. package/dist/extensions/signal/runtime-api.js +7 -7
  295. package/dist/extensions/skill-workshop/api.js +1 -1
  296. package/dist/extensions/skill-workshop/index.js +2 -2
  297. package/dist/extensions/telegram/account-inspect-api.js +1 -1
  298. package/dist/extensions/telegram/api.d.ts +1 -1
  299. package/dist/extensions/telegram/api.js +11 -11
  300. package/dist/extensions/telegram/channel-plugin-api.js +2 -2
  301. package/dist/extensions/telegram/contract-api.js +3 -3
  302. package/dist/extensions/telegram/runtime-api.js +7 -7
  303. package/dist/extensions/telegram/security-audit-contract-api.js +1 -1
  304. package/dist/extensions/telegram/setup-plugin-api.js +1 -1
  305. package/dist/extensions/telegram/test-api.js +2 -2
  306. package/dist/extensions/video-generation-core/api.d.ts +1 -1
  307. package/dist/extensions/webhooks/api.js +1 -1
  308. package/dist/extensions/webhooks/index.js +1 -1
  309. package/dist/extensions/webhooks/runtime-api.d.ts +2 -2
  310. package/dist/extensions/xai/index.js +4 -4
  311. package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
  312. package/dist/extensions/xai/speech-provider.js +1 -1
  313. package/dist/extensions/xai/test-api.js +1 -1
  314. package/dist/extensions/xai/tts.js +1 -1
  315. package/dist/extensions/xai/web-search.js +1 -1
  316. package/dist/extensions/xai/xai-oauth.js +1 -1
  317. package/dist/file-fetch-tool-CJu8umi9.js +124 -0
  318. package/dist/file-write-tool-Dz49CI0K.js +127 -0
  319. package/dist/format-DBhooCE7.js +1145 -0
  320. package/dist/gateway-cli-D21vxek0.js +435 -0
  321. package/dist/gateway-method-runtime-qsRZHdfx.js +21 -0
  322. package/dist/get-reply-D140C4TM.js +4689 -0
  323. package/dist/get-reply-from-config.runtime-CaM7M0Zp.js +2 -0
  324. package/dist/get-reply-from-config.runtime.js +1 -1
  325. package/dist/graph-users-cBY7anTM.js +1419 -0
  326. package/dist/group-access-CZOQhsjs.js +112 -0
  327. package/dist/group-keys-B_lbVBmI.d.ts +17 -0
  328. package/dist/handle-action.guild-admin-DjuZqjM2.js +288 -0
  329. package/dist/harness-XL58LNpX.js +61 -0
  330. package/dist/health-CFPXXpFW.js +4 -0
  331. package/dist/heartbeat-runner-D_o-itnk.js +5 -0
  332. package/dist/heartbeat-runner.runtime-CPVGa3Gd.js +4 -0
  333. package/dist/heartbeat-runner.runtime.js +1 -1
  334. package/dist/hook-runtime-UU80d5qW.d.ts +108 -0
  335. package/dist/hooks-Bx3n6o-5.js +534 -0
  336. package/dist/inbound-direct-dm-runtime-6nIJyODo.js +2 -0
  337. package/dist/inbound-reply-dispatch-CoeXQvL6.js +148 -0
  338. package/dist/index.d.ts +1 -1
  339. package/dist/index.js +1 -1
  340. package/dist/init-C8Yc8LlO.js +59 -0
  341. package/dist/inline-buttons-BMPhhfsN.js +40 -0
  342. package/dist/internal-events-BS1EMi0C.js +90 -0
  343. package/dist/isolated-agent-Ct_AYfLb.js +2 -0
  344. package/dist/isolated-agent-DxVGoLjs.js +1118 -0
  345. package/dist/lifecycle-CGcqxM3V.js +571 -0
  346. package/dist/list.probe-R_AqbwD1.js +449 -0
  347. package/dist/list.status-command-DcaLppGJ.js +789 -0
  348. package/dist/llm-slug-generator-Bz1MaPt1.js +78 -0
  349. package/dist/llm-slug-generator.js +1 -1
  350. package/dist/local-dispatch.runtime-DnXAlwr7.js +9 -0
  351. package/dist/local-dispatch.runtime.js +1 -1
  352. package/dist/manager-D058VQAp.d.ts +10 -0
  353. package/dist/manager.core-DKeUsAcV.d.ts +198 -0
  354. package/dist/manager.runtime-1A0jFsbF.js +2714 -0
  355. package/dist/manager.runtime.js +1 -1
  356. package/dist/markdown-to-line-Gq4y1nH-.js +811 -0
  357. package/dist/mcp-http-BMgo3eu6.js +2 -0
  358. package/dist/mcp-http-BdgsyrHJ.js +555 -0
  359. package/dist/media-understanding-provider-CYrAwQ2G.js +339 -0
  360. package/dist/message-actions-DoFxM22K.js +145 -0
  361. package/dist/message-handler-CEvRtI9d.js +384 -0
  362. package/dist/message-handler-CJclaiC-.js +1715 -0
  363. package/dist/message-handler.preflight-DDVS50X3.js +1125 -0
  364. package/dist/message-handler.process-BuFXf8os.js +1484 -0
  365. package/dist/model-BqQrUk9a.js +74 -0
  366. package/dist/model-selection-2Lm1qMLE.js +272 -0
  367. package/dist/models-BjMdWXf2.js +104 -0
  368. package/dist/models-cli-RRK90p8k.js +256 -0
  369. package/dist/models-wWhwx_am.js +2 -0
  370. package/dist/monitor-C7VAs-uK.js +834 -0
  371. package/dist/monitor-CezSJDeG.js +60 -0
  372. package/dist/monitor-Cnzchc9n.js +2788 -0
  373. package/dist/monitor-Dcvw55ky.js +4377 -0
  374. package/dist/monitor-DuxFMl7d.js +715 -0
  375. package/dist/monitor-DxrfxRZL.js +2 -0
  376. package/dist/monitor-auth-UPQgTP9Y.js +179 -0
  377. package/dist/monitor-fYdQKsGp.js +1370 -0
  378. package/dist/monitor-polling.runtime-Db4NoLLg.js +883 -0
  379. package/dist/monitor-polling.runtime.js +1 -1
  380. package/dist/monitor-wcLtLTfx.js +1657 -0
  381. package/dist/monitor-webhook.runtime-DAr7kRbV.js +387 -0
  382. package/dist/monitor-webhook.runtime.js +1 -1
  383. package/dist/monitor.account-C1mUBkKA.js +5233 -0
  384. package/dist/monitor.runtime-Bqj8vHGY.js +2 -0
  385. package/dist/monitor.runtime.js +1 -1
  386. package/dist/monitor.webhook-Ir3T5B1s.js +180 -0
  387. package/dist/node-cli-sessions-MBQKJyrs.js +1228 -0
  388. package/dist/openai-http-9jmQ2o9Z.js +824 -0
  389. package/dist/openresponses-http-C3-s16Dp.js +1173 -0
  390. package/dist/operations-C1hhf_yC.js +805 -0
  391. package/dist/outbound-adapter-C5zBbuVO.js +543 -0
  392. package/dist/outbound-session-route-Bq_utu59.js +45 -0
  393. package/dist/outbound.runtime-QHoe8EWX.js +2 -0
  394. package/dist/outbound.runtime.js +1 -1
  395. package/dist/pairing-store-C-WQTUHq.d.ts +87 -0
  396. package/dist/pi-embedded-6xH25qP-.js +4 -0
  397. package/dist/pi-embedded-CkcV64LR.js +3796 -0
  398. package/dist/pi-embedded.runtime-CKpyReN5.js +4 -0
  399. package/dist/pi-embedded.runtime.js +1 -1
  400. package/dist/pi-tools-BbGodehg.js +2413 -0
  401. package/dist/plan-B_EcRdNP.js +112 -0
  402. package/dist/plan-DmMZJkHt.js +81 -0
  403. package/dist/plugin-CjfnnqXb.js +12396 -0
  404. package/dist/plugin-app-cache-key-Dak7S3ax.js +46 -0
  405. package/dist/plugin-enabled-B9wCs568.js +233 -0
  406. package/dist/plugin-registration-B3AVf0Xj.js +88 -0
  407. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  408. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  409. package/dist/plugin-sdk/acp-runtime.js +2 -2
  410. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  411. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  412. package/dist/plugin-sdk/agent-harness.js +7 -7
  413. package/dist/plugin-sdk/agent-runtime.js +2 -2
  414. package/dist/plugin-sdk/channel-core.js +2 -2
  415. package/dist/plugin-sdk/channel-inbound.js +2 -2
  416. package/dist/plugin-sdk/channel-test-helpers.js +1 -1
  417. package/dist/plugin-sdk/command-auth.js +1 -1
  418. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  419. package/dist/plugin-sdk/compat.js +1 -1
  420. package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
  421. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  422. package/dist/plugin-sdk/core.js +2 -2
  423. package/dist/plugin-sdk/direct-dm.js +1 -1
  424. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  425. package/dist/plugin-sdk/health.js +2 -2
  426. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  427. package/dist/plugin-sdk/index.js +1 -1
  428. package/dist/plugin-sdk/mattermost.js +1 -1
  429. package/dist/plugin-sdk/plugin-test-contracts.js +2 -2
  430. package/dist/plugin-sdk/provider-test-contracts.js +4 -4
  431. package/dist/plugin-sdk/reply-runtime.js +4 -4
  432. package/dist/plugin-sdk/testing.js +2 -2
  433. package/dist/plugin-sdk/zalouser.js +1 -1
  434. package/dist/plugin-service-C2toP50L.js +1229 -0
  435. package/dist/plugins/runtime/index.js +4 -4
  436. package/dist/policy-B5jHUD04.js +138 -0
  437. package/dist/policy-C7_EFtGD.js +680 -0
  438. package/dist/postinstall-inventory.json +11606 -0
  439. package/dist/prepare.runtime-C41yGgw-.js +732 -0
  440. package/dist/prepare.runtime.js +1 -1
  441. package/dist/preview-warnings-rfGY8dVy.js +392 -0
  442. package/dist/probe-B0eSVoSm.js +682 -0
  443. package/dist/probe-CqAGxL6l.js +2 -0
  444. package/dist/probe-DFyoiqiI.js +2204 -0
  445. package/dist/probe-hR0HWnET.js +47 -0
  446. package/dist/program-CD73-5Xj.js +131 -0
  447. package/dist/provider-B0ujadL5.js +32 -0
  448. package/dist/provider-BxR_JJXW.js +152 -0
  449. package/dist/provider-C9mKa8qP.js +32 -0
  450. package/dist/provider-DbGPdInL.js +8735 -0
  451. package/dist/provider-dispatcher-CGPKPaP5.js +22 -0
  452. package/dist/provider-dispatcher.runtime.js +1 -1
  453. package/dist/provider-session.runtime-DKkydJWv.js +9 -0
  454. package/dist/provider-session.runtime.js +1 -1
  455. package/dist/provider.runtime-ChrWUTdG.js +2 -0
  456. package/dist/provider.runtime.js +1 -1
  457. package/dist/public-surface-loader-CMOWVmyY.js +114 -0
  458. package/dist/pw-ai-mygsAPX7.js +3029 -0
  459. package/dist/pw-role-snapshot-7_IMuYRR.js +333 -0
  460. package/dist/reaction-level-DFUu127f.js +19 -0
  461. package/dist/reaction-runtime-api-6LQnr6q_.js +116 -0
  462. package/dist/realtime-transcription-provider-LrzigbIT.js +205 -0
  463. package/dist/register-B9TeJvXU.js +2178 -0
  464. package/dist/register.agent-o9BDHbH2.js +156 -0
  465. package/dist/register.crestodian-BOUP_Pon.js +24 -0
  466. package/dist/register.maintenance-BC83-YdR.js +83 -0
  467. package/dist/register.runtime-DSHYrjtd.js +54 -0
  468. package/dist/register.subclis-BS5Lj5wU.js +3 -0
  469. package/dist/register.subclis-QQq9COp0.js +31 -0
  470. package/dist/register.subclis-core-DnNechJo.js +273 -0
  471. package/dist/repair-sequencing-CqjW4_hd.js +640 -0
  472. package/dist/reply-delivery-KRwW1tqL.js +196 -0
  473. package/dist/reply-runtime-DuaOZ9MH.d.ts +34 -0
  474. package/dist/reply-runtime-SSrAwVeQ.js +11 -0
  475. package/dist/reply.runtime-CaM7M0Zp.js +2 -0
  476. package/dist/reply.runtime.js +1 -1
  477. package/dist/request-CatWtIoq.js +54 -0
  478. package/dist/resolve-allowlist-Dxe9wc_Y.js +220 -0
  479. package/dist/result-fallback-classifier-B3kvqc2o.js +79 -0
  480. package/dist/route-BPWKlRDB.js +469 -0
  481. package/dist/route-resolution-BhkvdIUP.js +274 -0
  482. package/dist/routes-BOmtNSeT.js +2 -0
  483. package/dist/routes-Cr9bRW8t.js +3602 -0
  484. package/dist/run-attempt-DWBeHRdc.js +7704 -0
  485. package/dist/run-command-DNNFNkbv.js +23 -0
  486. package/dist/run-command-Kp7LWkQv.js +2 -0
  487. package/dist/run-embedded.runtime-BxV8m38U.js +4 -0
  488. package/dist/run-embedded.runtime.js +1 -1
  489. package/dist/run-execution-cli.runtime-B9I1oAEO.js +4 -0
  490. package/dist/run-execution-cli.runtime.js +1 -1
  491. package/dist/run-executor.runtime.js +1 -1
  492. package/dist/run-subagent-registry.runtime-BIsbEmUD.js +2 -0
  493. package/dist/run-subagent-registry.runtime.js +1 -1
  494. package/dist/run-vAv9-st8.js +1162 -0
  495. package/dist/runtime-3PDZU_1b.d.ts +17 -0
  496. package/dist/runtime-BXJM8M8F.js +1287 -0
  497. package/dist/runtime-BodO4UZT.js +438 -0
  498. package/dist/runtime-C_5j10Cp.js +6179 -0
  499. package/dist/runtime-api-9CEihqK3.d.ts +3151 -0
  500. package/dist/runtime-api-BbNLHCZ5.js +24 -0
  501. package/dist/runtime-api-HUquGiJa.js +4 -0
  502. package/dist/runtime-api-I6ur4A1S.js +17 -0
  503. package/dist/runtime-api-MQL0v6n2.js +13 -0
  504. package/dist/runtime-api-a340pYdX.js +13 -0
  505. package/dist/runtime-api-g_pGO9f3.js +21 -0
  506. package/dist/runtime-api-hLSYbpGH.js +3 -0
  507. package/dist/runtime-api.actions-Blt2bAHw.d.ts +23 -0
  508. package/dist/runtime-api.actions-CawQ9WKM.js +3 -0
  509. package/dist/runtime-api.monitor-DN3P4USq.js +6 -0
  510. package/dist/runtime-api.send-BIA6QfVI.js +4 -0
  511. package/dist/runtime-api.send-BygcWA7R.d.ts +38 -0
  512. package/dist/runtime-api.threads-DYnc3Jvu.js +2 -0
  513. package/dist/runtime-channel-CYlRNrxR.js +150 -0
  514. package/dist/runtime-channel-Ci0dC0Tq.js +2 -0
  515. package/dist/runtime-doctor-DVYwKwIT.d.ts +47 -0
  516. package/dist/runtime-embedded-pi.runtime-Wc_lZOzO.js +2 -0
  517. package/dist/runtime-embedded-pi.runtime.js +1 -1
  518. package/dist/sanitize-outbound-BFrYI8F4.js +127 -0
  519. package/dist/sdk-setup-tools-DLjnnh3Y.js +8 -0
  520. package/dist/secrets-DibHCqDz.js +113 -0
  521. package/dist/security-audit-CyMhUYN9.js +122 -0
  522. package/dist/security-audit-DAk0I2g8.js +118 -0
  523. package/dist/security-audit.runtime-DtdxZcEG.js +2 -0
  524. package/dist/security-audit.runtime.js +1 -1
  525. package/dist/selection-BJ2yQ0yh.js +16157 -0
  526. package/dist/selection-CJ3YNIjG.js +3 -0
  527. package/dist/send-Ar9e_pA3.js +1631 -0
  528. package/dist/send-BETlETJ5.d.ts +231 -0
  529. package/dist/send-BN-3u18j.js +2 -0
  530. package/dist/send-BYlEXkEO.js +143 -0
  531. package/dist/send-BusufuyP.js +192 -0
  532. package/dist/send-CpcmWYrM.d.ts +104 -0
  533. package/dist/send.components-C3FzEyYz.js +500 -0
  534. package/dist/send.components-CMi7rcIs.js +2 -0
  535. package/dist/send.runtime-D-nw3p-S.js +2 -0
  536. package/dist/send.runtime.js +1 -1
  537. package/dist/send.types-D_3tsfSL.d.ts +159 -0
  538. package/dist/server-CJVI2gjZ.js +24 -0
  539. package/dist/server-DZl7k4VX.js +73 -0
  540. package/dist/server-close.runtime.js +1 -1
  541. package/dist/server-context-BAAz3W-8.js +2 -0
  542. package/dist/server-context-BLrLchWj.js +955 -0
  543. package/dist/server-cron-CiyrI-WY.js +2 -0
  544. package/dist/server-cron-CzhteL8F.js +2989 -0
  545. package/dist/server-methods-DQ0gaIXu.js +16494 -0
  546. package/dist/server-node-events-D1TywtBI.js +596 -0
  547. package/dist/server-plugin-bootstrap-ByEZkPkc.js +70 -0
  548. package/dist/server-plugins-BVVgDSdq.d.ts +1 -0
  549. package/dist/server-plugins-CEZ-W7dG.js +432 -0
  550. package/dist/server-reload-handlers-DDXJwZWE.js +714 -0
  551. package/dist/server-restart-sentinel-C9l1iG1h.js +747 -0
  552. package/dist/server-restart-sentinel-CyweyjEa.js +2 -0
  553. package/dist/server-runtime-services-BQ08Hyco.js +2 -0
  554. package/dist/server-runtime-services-BjKoAkjM.js +267 -0
  555. package/dist/server-startup-plugins-C_Y62xZe.js +113 -0
  556. package/dist/server-startup-post-attach-DCAmn6Ct.js +716 -0
  557. package/dist/server-ws-runtime-CvN63X_w.js +349 -0
  558. package/dist/server.impl-yHI7jtXF.js +2586 -0
  559. package/dist/service-mHxeSPC2.js +1446 -0
  560. package/dist/session-binding-DtmTypDj.js +2 -0
  561. package/dist/session-binding-xtRKSQOW.js +219 -0
  562. package/dist/session-kill-http-GnTgzcvZ.js +121 -0
  563. package/dist/session-reset-service-Bw6li9Te.js +625 -0
  564. package/dist/session-route-D-PISLLo.js +93 -0
  565. package/dist/session-status.runtime-jiGvxIDK.js +2 -0
  566. package/dist/session-status.runtime.js +1 -1
  567. package/dist/session-subagent-reactivation.runtime-B9QimjvS.js +2 -0
  568. package/dist/session-subagent-reactivation.runtime.js +1 -1
  569. package/dist/session-tab-registry-BoqXuTYc.js +521 -0
  570. package/dist/sessions-history-http-CG934aaV.js +430 -0
  571. package/dist/sessions.runtime-Cl91aZ2M.js +2 -0
  572. package/dist/sessions.runtime.js +1 -1
  573. package/dist/setup-api-DAqXqbGP.js +29 -0
  574. package/dist/setup-core-Czt7XqlN.js +174 -0
  575. package/dist/setup-surface-CHETBocT.js +405 -0
  576. package/dist/setup-surface-CVtEDUic.js +320 -0
  577. package/dist/setup-surface-YW9INYKN.js +288 -0
  578. package/dist/setup-surface-utUyMdYz.js +221 -0
  579. package/dist/shared-DwZ1ZQM4.js +121 -0
  580. package/dist/shared-client-B2kMpTHH.js +2 -0
  581. package/dist/shared-client-DHJbz0yn.js +629 -0
  582. package/dist/side-question-Dlr5pcZK.js +683 -0
  583. package/dist/skill-tool-dispatch.runtime-CbDumhVh.js +143 -0
  584. package/dist/skill-tool-dispatch.runtime.js +1 -1
  585. package/dist/slash-state-BxzZ0Rmv.js +2166 -0
  586. package/dist/speech-provider-INk_7d-9.js +184 -0
  587. package/dist/src-DAMtNlRl.js +4256 -0
  588. package/dist/startup-context-DhSjA04E.js +313 -0
  589. package/dist/status-subagents.runtime-UViaj6fy.js +18 -0
  590. package/dist/status-subagents.runtime.js +1 -1
  591. package/dist/status-text-D4yQvJnW.js +296 -0
  592. package/dist/sticker-cache-CpE2UF0o.js +206 -0
  593. package/dist/sticker-vision.runtime-C5lk740o.js +17 -0
  594. package/dist/sticker-vision.runtime.js +1 -1
  595. package/dist/subagent-announce-DDensDxS.js +354 -0
  596. package/dist/subagent-announce-delivery-16skgjOt.js +958 -0
  597. package/dist/subagent-control-C2SGCamc.js +508 -0
  598. package/dist/subagent-hooks-BqabvLsv.js +2 -0
  599. package/dist/subagent-hooks-CGeDwTHC.js +2 -0
  600. package/dist/subagent-hooks-CR0M3L4o.js +146 -0
  601. package/dist/subagent-hooks-Dw9C-nUM.js +2 -0
  602. package/dist/subagent-hooks-api-B03j55PK.js +22 -0
  603. package/dist/subagent-hooks-api-B2i15coF.js +23 -0
  604. package/dist/subagent-hooks-api-BcopR7NZ.js +23 -0
  605. package/dist/subagent-hooks-eOUaLnxx.js +116 -0
  606. package/dist/subagent-hooks-l4-8TBr2.js +230 -0
  607. package/dist/subagent-orphan-recovery-CytpmJnf.js +352 -0
  608. package/dist/subagent-registry-BVVgDSdq.d.ts +1 -0
  609. package/dist/subagent-registry-DTDYUst1.js +2351 -0
  610. package/dist/subagent-registry-kGjRY7OP.js +3 -0
  611. package/dist/subagent-registry-read-BVVgDSdq.d.ts +1 -0
  612. package/dist/subagent-registry.runtime.js +1 -1
  613. package/dist/subagent-session-cleanup-C7MqSx3u.js +525 -0
  614. package/dist/subagent-spawn-DuLVHzht.js +1164 -0
  615. package/dist/target-id-BqKER5JR.js +107 -0
  616. package/dist/targets-DYNDWy1s.js +44 -0
  617. package/dist/targets-DuRWAuVM.js +19 -0
  618. package/dist/targets-aaR2Mlk_.js +19 -0
  619. package/dist/task-registry-control.runtime.d.ts +1 -1
  620. package/dist/task-registry-control.runtime.js +1 -1
  621. package/dist/telegram/token.js +1 -1
  622. package/dist/test-fixtures-xgg7UsEw.d.ts +27 -0
  623. package/dist/test-support-BVVgDSdq.d.ts +1 -0
  624. package/dist/testing-7ayMtB6I.js +267 -0
  625. package/dist/thread-bindings-BzpAXUwZ.js +232 -0
  626. package/dist/thread-bindings-Cu4J90KY.js +8 -0
  627. package/dist/thread-bindings-D5o9c3aE.js +228 -0
  628. package/dist/thread-bindings-DMy2kJ74.js +571 -0
  629. package/dist/thread-bindings.discord-api-BDj-jkBV.js +187 -0
  630. package/dist/thread-bindings.manager-C5jC_3Mo.js +2 -0
  631. package/dist/thread-bindings.manager-CLK7FYoE.js +536 -0
  632. package/dist/thread-lifecycle-DYeO0OTi.js +1614 -0
  633. package/dist/token-Ccki3ia9.js +134 -0
  634. package/dist/tool-BqIYC7Fz.js +139 -0
  635. package/dist/tool-actions.runtime-Cjbhroli.js +534 -0
  636. package/dist/tool-actions.runtime.js +1 -1
  637. package/dist/tool-resolution-D4klFB4B.js +149 -0
  638. package/dist/tools-effective-inventory-YuOuPKR8.js +204 -0
  639. package/dist/tools-invoke-http-BmQFkxSN.js +67 -0
  640. package/dist/tools-invoke-shared-DD4l34hg.js +200 -0
  641. package/dist/tts-BAQZtO6A.js +66 -0
  642. package/dist/tui-B-CC1PjA.js +2 -0
  643. package/dist/tui-backend-DLm_nQL8.js +256 -0
  644. package/dist/tui-cli-BfCs3qwc.js +37 -0
  645. package/dist/tui-qi8Vakes.js +4709 -0
  646. package/dist/typed-cases-cPb0tZig.d.ts +68 -0
  647. package/dist/update-cli-BP32xvfl.js +3664 -0
  648. package/dist/update-runner-DnbwY3OV.js +2390 -0
  649. package/dist/vision-tools-De-gGPAw.js +1409 -0
  650. package/dist/web-search-DJMus2yt.js +62 -0
  651. package/dist/web-search-provider.runtime-6Md25pj8.js +2 -0
  652. package/dist/web-search-provider.runtime-CBUbt7xF.js +328 -0
  653. package/dist/web-search-provider.runtime.js +1 -1
  654. package/dist/webhook-targets-Bixk4LO_.d.ts +99 -0
  655. package/dist/xai-oauth-Cud_8Og7.js +479 -0
  656. package/dist/xai-user-agent-dCQuZI6k.js +32 -0
  657. package/package.json +1 -1
  658. package/dist/abort-fu5ot-XT.js +0 -277
  659. package/dist/abort.runtime-D5daoBjn.js +0 -2
  660. package/dist/account-inspect-BzG5-Rgz.js +0 -173
  661. package/dist/accounts-CPcG2JIz.js +0 -107
  662. package/dist/accounts-CiDgcaPY.js +0 -2
  663. package/dist/accounts-DcI0wEyL.js +0 -107
  664. package/dist/accounts-xBYbyTsZ.js +0 -119
  665. package/dist/acp-runtime-DpVkymzf.js +0 -26
  666. package/dist/acp-spawn-CbNHSZr-.js +0 -1275
  667. package/dist/acp-spawn-DFG0HgXi.js +0 -2
  668. package/dist/acp-stateful-target-driver-pz6XosZ9.js +0 -89
  669. package/dist/action-kill-DJuPSfgy.js +0 -33
  670. package/dist/action-runtime-DxnMH2dB.js +0 -469
  671. package/dist/action-runtime-api-Dvo3Gbll.js +0 -2
  672. package/dist/action-send-WtfSYfhf.js +0 -39
  673. package/dist/action-spawn-CA4-_H9p.js +0 -47
  674. package/dist/actions-BQ2B4Vhj.js +0 -161
  675. package/dist/actions.runtime-Bw0OZtGG.js +0 -5
  676. package/dist/agent-CsPtASj4.js +0 -2
  677. package/dist/agent-command-D5KxwCVS.d.ts +0 -141
  678. package/dist/agent-command-DeA1YV0L.js +0 -1367
  679. package/dist/agent-components.runtime-CP2KCzTj.js +0 -10
  680. package/dist/agent-harness-CEPgjZ3p.d.ts +0 -146
  681. package/dist/agent-harness-runtime-hAssTrVq.js +0 -180
  682. package/dist/agent-harness-task-runtime-VSFzRIbH.js +0 -140
  683. package/dist/agent-rg2WmmbX.js +0 -3
  684. package/dist/agent-runner-execution-lRuwJobi.js +0 -1713
  685. package/dist/agent-runner-utils-Bluglnku.js +0 -266
  686. package/dist/agent-runner.runtime-B709koec.js +0 -3455
  687. package/dist/agent-runtime-DKr0TX79.js +0 -229
  688. package/dist/agent-via-gateway-J8tTS5o6.js +0 -463
  689. package/dist/api-BVSGXSkS.js +0 -3
  690. package/dist/api-C7LbY8d2.js +0 -6
  691. package/dist/api-ClLB89eP.js +0 -2
  692. package/dist/api-D7kpdmvQ.js +0 -2
  693. package/dist/api-DJaf27mk.js +0 -639
  694. package/dist/api-XpFyLrKp.js +0 -134
  695. package/dist/apply-CHHI0r0H.js +0 -41
  696. package/dist/apply-DoQ4g3Kr.js +0 -54
  697. package/dist/approval-handler.runtime-Jbt7zH9f.js +0 -130
  698. package/dist/assistant-DQw33Vzx.js +0 -291
  699. package/dist/attachment-normalize-CrbLuYsp.js +0 -225
  700. package/dist/attempt-execution-DkgSHSVj.js +0 -558
  701. package/dist/attempt-execution.runtime-DCcD7P4g.js +0 -3
  702. package/dist/attempt-execution.shared-Cok8CE9p.js +0 -38
  703. package/dist/attempt.prompt-helpers-Kok600qT.js +0 -475
  704. package/dist/attempt.tool-run-context-C5nkRM5Y.js +0 -2094
  705. package/dist/binding-routing-BILfy0c8.js +0 -113
  706. package/dist/binding-targets-BrYDo8Jx.js +0 -121
  707. package/dist/bot-CxJsNrtp.js +0 -7894
  708. package/dist/bot-deps-BWdw7DXt.js +0 -2
  709. package/dist/bot-deps-BbL_ePix.js +0 -747
  710. package/dist/bot-message-context.runtime-qkq-RzJY.js +0 -7
  711. package/dist/bot-message-context.session.runtime-CxuxYsNb.js +0 -12
  712. package/dist/bot-native-commands.delivery.runtime-BOjc08fe.js +0 -4
  713. package/dist/bot-native-commands.runtime-LtWQYEai.js +0 -13
  714. package/dist/bridge-server-BvrlsnvW.js +0 -113
  715. package/dist/browser-cli-BmH-wDEt.js +0 -230
  716. package/dist/browser-cli-D7JUe5WT.js +0 -2
  717. package/dist/browser-cli-actions-input-BtCjZh2W.js +0 -473
  718. package/dist/browser-cli-actions-observe-CKCy--u8.js +0 -81
  719. package/dist/browser-cli-debug-D7KF3hoB.js +0 -137
  720. package/dist/browser-cli-inspect-B5_Q_bKp.js +0 -104
  721. package/dist/browser-cli-manage-BNRyXUfb.js +0 -443
  722. package/dist/browser-cli-resize-BR9dybJM.js +0 -26
  723. package/dist/browser-cli-shared-ZfP-ZP1r.js +0 -50
  724. package/dist/browser-cli-state-BJRQ87Hp.js +0 -337
  725. package/dist/browser-control-auth-C1ZlS07R.js +0 -2
  726. package/dist/browser-profiles-BLgaJJYW.js +0 -2
  727. package/dist/browser-runtime-CX-EDgFi.js +0 -384
  728. package/dist/build-DOEtxYaU.js +0 -257
  729. package/dist/capability-cli-Mj0McddT.js +0 -1782
  730. package/dist/channel-BDvizmrp.js +0 -1556
  731. package/dist/channel-C749d8mG.js +0 -376
  732. package/dist/channel-CWP6h4W5.js +0 -1134
  733. package/dist/channel-CgzMA_Q0.js +0 -2126
  734. package/dist/channel-Chx_WUyI.js +0 -867
  735. package/dist/channel-Ctnzf_tM.js +0 -238
  736. package/dist/channel-CusFbCv9.js +0 -653
  737. package/dist/channel-D5jjabnb.js +0 -1249
  738. package/dist/channel-DF-fw8lK.js +0 -1496
  739. package/dist/channel-DKAG-w5b.js +0 -481
  740. package/dist/channel-DSbpV7ax.js +0 -808
  741. package/dist/channel-DiN2VJEK.js +0 -955
  742. package/dist/channel-DvN94bvt.js +0 -740
  743. package/dist/channel-DxtVMwdk.js +0 -508
  744. package/dist/channel-GubQ1f0C.js +0 -362
  745. package/dist/channel-JqEqZ04S.d.ts +0 -6
  746. package/dist/channel-MXOd30fz.d.ts +0 -427
  747. package/dist/channel-actions.runtime-DEb9ZniG.js +0 -265
  748. package/dist/channel-core-Dr6fp5Ub.js +0 -5
  749. package/dist/channel-inbound-FG-Mc5xc.js +0 -80
  750. package/dist/channel-lifecycle-DCl2GbRW.d.ts +0 -125
  751. package/dist/channel-pairing-BRqfYy30.d.ts +0 -58
  752. package/dist/channel-plugin-runtime-hiqeg-_c.js +0 -998
  753. package/dist/channel-rej8M5lJ.js +0 -1777
  754. package/dist/channel-runtime-DJp4CruI.js +0 -408
  755. package/dist/channel-z0v-MMYk.js +0 -562
  756. package/dist/channel.runtime-1o_vRC84.js +0 -109
  757. package/dist/channel.runtime-BXrIcht7.js +0 -254
  758. package/dist/channel.runtime-C9opTci8.js +0 -2528
  759. package/dist/channel.runtime-CBvyS9OE.js +0 -1008
  760. package/dist/channel.runtime-CSwcAfTq.js +0 -88
  761. package/dist/channel.runtime-DKFrmmAg.js +0 -652
  762. package/dist/channel.runtime-DTBcVFL7.js +0 -733
  763. package/dist/channel.runtime-E2IhUtz8.js +0 -4
  764. package/dist/channel.runtime-s8LoLneR.js +0 -21009
  765. package/dist/channel.setup-BU4bp4OI.js +0 -10
  766. package/dist/channel.setup-CpygZ2ZG.js +0 -343
  767. package/dist/channel.setup-Z7jM_Q-v.js +0 -1098
  768. package/dist/chat-BQA8JGz8.js +0 -2666
  769. package/dist/chrome-YaZdp6CU.js +0 -1503
  770. package/dist/cli-DvGvBxMy.js +0 -1341
  771. package/dist/cli-compaction-0ER1653L.js +0 -347
  772. package/dist/cli-metadata-BJX-MSNl.js +0 -22
  773. package/dist/cli-runner-BGc4U7E0.js +0 -2
  774. package/dist/cli-runner-CH30meJN.js +0 -540
  775. package/dist/cli-runner.runtime-BqU9giS7.js +0 -4
  776. package/dist/cli-runner.runtime-D14IpD46.js +0 -3
  777. package/dist/client-DqnCi7vL.js +0 -650
  778. package/dist/client-adapter-BKZ5qBVY.js +0 -897
  779. package/dist/client-factory-BbBpLxaP.js +0 -9
  780. package/dist/command-auth-fZ1DLCTo.js +0 -135
  781. package/dist/command-handlers-CHbhwC1N.js +0 -1609
  782. package/dist/command-registry-_Oons836.js +0 -4
  783. package/dist/command-registry-core-Btb-M6JE.js +0 -110
  784. package/dist/command-registry-gWuCKROh.js +0 -9
  785. package/dist/command-status.runtime-DLav1SGb.js +0 -90
  786. package/dist/commands-acp-DVbINB4V.js +0 -74
  787. package/dist/commands-compact.runtime-CqQIDvM8.js +0 -10
  788. package/dist/commands-handlers.runtime-DJBGEdTB.js +0 -6154
  789. package/dist/commands-status-BaDacW0z.js +0 -3
  790. package/dist/commands-status-CTZ-HwUc.js +0 -16
  791. package/dist/commands-status.runtime-BaDacW0z.js +0 -3
  792. package/dist/commands-subagents-control.runtime-B6SOliNd.js +0 -2
  793. package/dist/commands-subagents-control.runtime-DTdEiA7w.js +0 -3
  794. package/dist/commands-system-prompt-BAdsJpn8.js +0 -162
  795. package/dist/commands-system-prompt-CX5iT-44.js +0 -2
  796. package/dist/commands.runtime-DObObKfz.js +0 -176
  797. package/dist/compact-Bs_eAw33.js +0 -480
  798. package/dist/compact-Ck7hE3ba.js +0 -1141
  799. package/dist/compact.runtime-el4EYgrW.js +0 -12
  800. package/dist/completion-cli-BbDnqYnS.js +0 -315
  801. package/dist/computer-use-GvCUpEEf.js +0 -367
  802. package/dist/config-BLgaJJYW.js +0 -2
  803. package/dist/config-FCIVG4Db.js +0 -373
  804. package/dist/config-mutations-BIPJigAd.js +0 -159
  805. package/dist/context-engine-host-compat--OOY7QEI.js +0 -2
  806. package/dist/context-engine-host-compat-DYVeYR5u.js +0 -288
  807. package/dist/context-engine-lifecycle-DAB4GWd5.js +0 -1274
  808. package/dist/control-auth-BekRscGw.js +0 -114
  809. package/dist/control-service-Hg9bqOzH.js +0 -145
  810. package/dist/control-ui/assets/agents-BRFjPVUQ.js +0 -1008
  811. package/dist/control-ui/assets/channel-config-extras-BySqgsd3.js +0 -2
  812. package/dist/control-ui/assets/channels-CC3sudX4.js +0 -367
  813. package/dist/control-ui/assets/cron-D0s06fzI.js +0 -1013
  814. package/dist/control-ui/assets/debug-9oq9PYZU.js +0 -97
  815. package/dist/control-ui/assets/index-ChE1ypG4.js +0 -7381
  816. package/dist/control-ui/assets/index-Crl1466m.css +0 -1
  817. package/dist/control-ui/assets/instances-k9LggJet.js +0 -57
  818. package/dist/control-ui/assets/logs-DKvc2q9b.js +0 -74
  819. package/dist/control-ui/assets/nodes-Bn7kmEGE.js +0 -436
  820. package/dist/control-ui/assets/sessions-0K-_jD8O.js +0 -399
  821. package/dist/control-ui/assets/skills-C9d4OZr_.js +0 -314
  822. package/dist/control-ui/assets/skills-shared-Bv7GgVjx.js +0 -11
  823. package/dist/conversation-binding-runtime-CC1fW5Mc.js +0 -4
  824. package/dist/conversation-runtime-YK1oLoen.js +0 -31
  825. package/dist/core-D9SaX41X.js +0 -282
  826. package/dist/core-api-6x_6ros_.js +0 -2
  827. package/dist/core-api-DQaZ_B6s.js +0 -5
  828. package/dist/crestodian-DLJAlHQO.js +0 -55
  829. package/dist/daocore-tools-DnGMRYJ5.js +0 -11727
  830. package/dist/delivery-dlloZivQ.js +0 -1002
  831. package/dist/dialogue-BQcF-xHi.js +0 -37
  832. package/dist/dir-fetch-tool-BmkLMRQd.js +0 -565
  833. package/dist/dir-list-tool-lJdvGnnr.js +0 -100
  834. package/dist/direct-dm-BfzS7vxm.js +0 -64
  835. package/dist/directive-handling.fast-lane-BdYkpgfF.js +0 -68
  836. package/dist/directive-handling.impl-DRIFqx-C.js +0 -818
  837. package/dist/directive-handling.impl-DoXcyCdO.js +0 -2
  838. package/dist/directive-handling.model-selection-xgiP4xbL.js +0 -122
  839. package/dist/directive-handling.persist.runtime-Dl-jD_0m.js +0 -263
  840. package/dist/dispatch-acp-transcript.runtime-B-PwrS4S.js +0 -40
  841. package/dist/dispatch-acp.runtime-CQHluA8f.js +0 -18
  842. package/dist/dispatch-kxJ95i3A.js +0 -1640
  843. package/dist/doctor-3QQaqcgK.js +0 -2
  844. package/dist/doctor-B9I7SuuU.js +0 -6
  845. package/dist/doctor-config-flow-DZQY34yK.js +0 -1741
  846. package/dist/doctor-core-checks-C_o9kgoZ.js +0 -2
  847. package/dist/doctor-core-checks-jWtsa4Nz.js +0 -573
  848. package/dist/doctor-health-BJ5wJFg5.js +0 -65
  849. package/dist/doctor-health-contributions-DxNPaNU6.js +0 -696
  850. package/dist/doctor-lint-DQrwNSTd.js +0 -94
  851. package/dist/doctor-state-integrity-Ctb6H9Pr.js +0 -1231
  852. package/dist/doctor-update-BZrZGmOg.js +0 -58
  853. package/dist/dynamic-tools-B9sHtLKs.js +0 -486
  854. package/dist/embedded-backend-CVEWr5Vd.js +0 -579
  855. package/dist/embedded-gateway-stub.runtime-BUl3fCUr.js +0 -12
  856. package/dist/exec-approvals-U0VRo553.js +0 -149
  857. package/dist/file-fetch-tool-PskYnfdX.js +0 -124
  858. package/dist/file-write-tool-BWMKcxSs.js +0 -127
  859. package/dist/format-Dk3-Jpqj.js +0 -1145
  860. package/dist/gateway-cli-BEtRyNAV.js +0 -435
  861. package/dist/gateway-method-runtime-Ba3mc5Ui.js +0 -21
  862. package/dist/get-reply-B-kNh5PS.js +0 -4689
  863. package/dist/get-reply-from-config.runtime-D-49TKR5.js +0 -2
  864. package/dist/graph-users-DIK-qpar.js +0 -1419
  865. package/dist/group-access-B6LDV7nR.js +0 -112
  866. package/dist/group-keys-DnxWQtll.d.ts +0 -17
  867. package/dist/handle-action.guild-admin-Dz9DREmk.js +0 -288
  868. package/dist/harness-CJWitSNk.js +0 -61
  869. package/dist/health-SAxsj7q2.js +0 -4
  870. package/dist/heartbeat-runner-D2IpmXX0.js +0 -5
  871. package/dist/heartbeat-runner.runtime-BKwSStf9.js +0 -4
  872. package/dist/hook-runtime-Cm73yH0T.d.ts +0 -107
  873. package/dist/hooks-C9V4TVXi.js +0 -534
  874. package/dist/inbound-direct-dm-runtime-C-KKlFVB.js +0 -2
  875. package/dist/inbound-reply-dispatch-3Kvtrdcn.js +0 -148
  876. package/dist/init-BGepd_Xi.js +0 -59
  877. package/dist/inline-buttons-Dqa993W-.js +0 -40
  878. package/dist/internal-events-hTD06P4Z.js +0 -90
  879. package/dist/isolated-agent-C30IhhQ4.js +0 -1118
  880. package/dist/isolated-agent-D9rwsYrc.js +0 -2
  881. package/dist/lifecycle-lYxX16zr.js +0 -571
  882. package/dist/list.probe-BuLNPfwh.js +0 -449
  883. package/dist/list.status-command-C9FwGWNZ.js +0 -789
  884. package/dist/llm-slug-generator-DEOtPI7b.js +0 -78
  885. package/dist/local-dispatch.runtime-D2mwqssZ.js +0 -9
  886. package/dist/manager-CSN9j9hh.d.ts +0 -205
  887. package/dist/manager.runtime-eqnbDApb.js +0 -2714
  888. package/dist/markdown-to-line-n4E_Ss2j.js +0 -811
  889. package/dist/mcp-http-DG2YDXx1.js +0 -555
  890. package/dist/mcp-http-DiGvYUK1.js +0 -2
  891. package/dist/media-understanding-provider-BAzC42im.js +0 -339
  892. package/dist/message-actions-DfM9sh0u.js +0 -145
  893. package/dist/message-handler-D3j7tiLC.js +0 -1715
  894. package/dist/message-handler-PdqXVaqc.js +0 -384
  895. package/dist/message-handler.preflight-DVTL11NJ.js +0 -1125
  896. package/dist/message-handler.process-Beo6fyUz.js +0 -1484
  897. package/dist/model-DiiSzCXH.js +0 -74
  898. package/dist/model-selection-CeDXYcsy.js +0 -272
  899. package/dist/models-BecxnLfn.js +0 -104
  900. package/dist/models-BxPknoYN.js +0 -2
  901. package/dist/models-cli-CmGPOjEx.js +0 -256
  902. package/dist/monitor-B2qfveOv.js +0 -60
  903. package/dist/monitor-BIKmDw4B.js +0 -2
  904. package/dist/monitor-CJXHxvh-.js +0 -1657
  905. package/dist/monitor-CqndMsTS.js +0 -4377
  906. package/dist/monitor-Dg9KC5G4.js +0 -834
  907. package/dist/monitor-IbL8Gw1Y.js +0 -2788
  908. package/dist/monitor-LxpNUkve.js +0 -1370
  909. package/dist/monitor-auth-EPov6Z4x.js +0 -179
  910. package/dist/monitor-i7_7ne6w.js +0 -715
  911. package/dist/monitor-polling.runtime-BRFuwAQo.js +0 -883
  912. package/dist/monitor-webhook.runtime-CGyP4NKq.js +0 -387
  913. package/dist/monitor.account-L5cJkJbV.js +0 -5233
  914. package/dist/monitor.runtime-Caq1xo2T.js +0 -2
  915. package/dist/monitor.webhook-CWo_j5xt.js +0 -180
  916. package/dist/node-cli-sessions-Dlrq3Hrt.js +0 -1228
  917. package/dist/openai-http-Cbs9WY_K.js +0 -824
  918. package/dist/openresponses-http-Djc1TNo5.js +0 -1173
  919. package/dist/operations-CePwJ_bf.js +0 -805
  920. package/dist/outbound-adapter-Cmcx_Msg.js +0 -543
  921. package/dist/outbound-session-route-DIvKTIer.js +0 -45
  922. package/dist/outbound.runtime-BCm1uM9e.js +0 -2
  923. package/dist/pairing-challenge-DD0D0sfM.d.ts +0 -87
  924. package/dist/pi-embedded-BGYOawy9.js +0 -3796
  925. package/dist/pi-embedded-s_XN5zci.js +0 -4
  926. package/dist/pi-embedded.runtime-Iv_ADnNC.js +0 -4
  927. package/dist/pi-tools-b-Wh6fBG.js +0 -2413
  928. package/dist/plan-9Cb-QHmS.js +0 -112
  929. package/dist/plan-DOX8mLZM.js +0 -81
  930. package/dist/plugin-CRqD5XqH.js +0 -12396
  931. package/dist/plugin-app-cache-key-BKpHiVS2.js +0 -46
  932. package/dist/plugin-enabled-BEi_lYEW.js +0 -233
  933. package/dist/plugin-registration-D99tHdMd.js +0 -88
  934. package/dist/plugin-sdk/scripts/lib/plugin-sdk-doc-metadata.d.ts +0 -107
  935. package/dist/plugin-service-DBTlrK7m.js +0 -1229
  936. package/dist/policy-B-G2ltps.js +0 -680
  937. package/dist/policy-DCljYbZL.js +0 -138
  938. package/dist/prepare.runtime-Ewb81gRo.js +0 -732
  939. package/dist/preview-warnings-DhWnG_r-.js +0 -392
  940. package/dist/probe-Bqu475Tv.js +0 -2204
  941. package/dist/probe-CRWUBMuB.js +0 -682
  942. package/dist/probe-Dm3lYN25.js +0 -47
  943. package/dist/probe-LLx6ayxG.js +0 -2
  944. package/dist/program-vxEyXm2e.js +0 -131
  945. package/dist/provider-B2aKgXI0.js +0 -32
  946. package/dist/provider-BUYMN3uZ.js +0 -152
  947. package/dist/provider-BlBfyHXO.js +0 -32
  948. package/dist/provider-D3O0zKex.js +0 -8735
  949. package/dist/provider-dispatcher-CYuX21il.js +0 -22
  950. package/dist/provider-session.runtime-xIOzPEA7.js +0 -9
  951. package/dist/provider.runtime-C94TKQWq.js +0 -2
  952. package/dist/public-surface-loader-CDa3nA_L.js +0 -114
  953. package/dist/pw-ai-BH_nTHa5.js +0 -3029
  954. package/dist/pw-role-snapshot-BPi5ipRX.js +0 -333
  955. package/dist/reaction-level-CSHisLIF.js +0 -19
  956. package/dist/reaction-runtime-api-D5YNDU-7.js +0 -116
  957. package/dist/realtime-transcription-provider-B6-wne03.js +0 -205
  958. package/dist/register-AeYt54B0.js +0 -2178
  959. package/dist/register.agent-DuW_Cioa.js +0 -156
  960. package/dist/register.crestodian-DfuAvHf8.js +0 -24
  961. package/dist/register.maintenance-DhSW2XSZ.js +0 -83
  962. package/dist/register.runtime-CYWai1dl.js +0 -54
  963. package/dist/register.subclis-B4c9g5v0.js +0 -31
  964. package/dist/register.subclis-Do4TSxcj.js +0 -3
  965. package/dist/register.subclis-core-Dm9-Cc4K.js +0 -273
  966. package/dist/repair-sequencing-CKX_OEBn.js +0 -640
  967. package/dist/reply-delivery-Dx31Fawb.js +0 -196
  968. package/dist/reply-runtime-DyCbxbOD.js +0 -11
  969. package/dist/reply.runtime-D-49TKR5.js +0 -2
  970. package/dist/request-CZtiBI4R.js +0 -54
  971. package/dist/resolve-allowlist-C-WRtkEq.js +0 -220
  972. package/dist/result-fallback-classifier-BkI5uV-W.js +0 -79
  973. package/dist/route-BEeC4HAl.js +0 -469
  974. package/dist/route-resolution-CHA13yYB.js +0 -274
  975. package/dist/routes-CfBm1qOU.js +0 -2
  976. package/dist/routes-DsgV54GJ.js +0 -3602
  977. package/dist/run-DL8UkH0h.js +0 -1162
  978. package/dist/run-attempt-D0qv7bs7.js +0 -7704
  979. package/dist/run-command-BWyjy--D.js +0 -23
  980. package/dist/run-command-IDml3oWg.js +0 -2
  981. package/dist/run-embedded.runtime-DeIZpKHe.js +0 -4
  982. package/dist/run-execution-cli.runtime-yf9gfWAm.js +0 -4
  983. package/dist/run-subagent-registry.runtime-oZs4xMMU.js +0 -2
  984. package/dist/runtime-BDbGwqGy.js +0 -6179
  985. package/dist/runtime-Bwn06s0u.js +0 -438
  986. package/dist/runtime-CD6WyVpL.js +0 -1287
  987. package/dist/runtime-DbTiSX85.d.ts +0 -17
  988. package/dist/runtime-api-BzvORSkx.js +0 -4
  989. package/dist/runtime-api-CAORRCZU.js +0 -17
  990. package/dist/runtime-api-CZGRk5D1.js +0 -24
  991. package/dist/runtime-api-CZm1iIlw.js +0 -13
  992. package/dist/runtime-api-D0d1LZvp.js +0 -21
  993. package/dist/runtime-api-DPIkVTDM.js +0 -3
  994. package/dist/runtime-api-DbQDZRSI.js +0 -13
  995. package/dist/runtime-api-k3v6Q0lb2.d.ts +0 -3151
  996. package/dist/runtime-api.actions-C2-n4QQ5.d.ts +0 -23
  997. package/dist/runtime-api.actions-CuYXLj2I.js +0 -3
  998. package/dist/runtime-api.monitor-BPMqlEBC.js +0 -6
  999. package/dist/runtime-api.send-cXGaIwD8.js +0 -4
  1000. package/dist/runtime-api.send-t0FX9tXf.d.ts +0 -38
  1001. package/dist/runtime-api.threads-DF6EqVSY.js +0 -2
  1002. package/dist/runtime-channel-B2dCbld0.js +0 -2
  1003. package/dist/runtime-channel-BfzwZ133.js +0 -150
  1004. package/dist/runtime-doctor-_yVIDUi3.d.ts +0 -48
  1005. package/dist/runtime-embedded-pi.runtime-Bz4-Me2g.js +0 -2
  1006. package/dist/sanitize-outbound-52UJkVc2.js +0 -127
  1007. package/dist/sdk-setup-tools-DzA0rD_t.js +0 -8
  1008. package/dist/secrets-BzY28DjS.js +0 -113
  1009. package/dist/security-audit-B_x9Bqsd.js +0 -122
  1010. package/dist/security-audit-CaX5F2YD.js +0 -118
  1011. package/dist/security-audit.runtime-BZFJXu8H.js +0 -2
  1012. package/dist/selection-B4V4O6zr.js +0 -16157
  1013. package/dist/selection-Cp7REh-j.js +0 -3
  1014. package/dist/send-B5TXXeBz.d.ts +0 -231
  1015. package/dist/send-C8NgsGx0.js +0 -2
  1016. package/dist/send-CktHKbVL.js +0 -192
  1017. package/dist/send-DEMaBWpw.d.ts +0 -105
  1018. package/dist/send-DSDSSxuo.js +0 -1631
  1019. package/dist/send-I0iE28XZ.js +0 -143
  1020. package/dist/send.components-CdYNwUR8.js +0 -500
  1021. package/dist/send.components-DDmsziVe.js +0 -2
  1022. package/dist/send.runtime-DEr6-5Rp.js +0 -2
  1023. package/dist/send.types-DywwIqYK.d.ts +0 -160
  1024. package/dist/server-Bdu2XxWz.js +0 -24
  1025. package/dist/server-BnVdhBLM.js +0 -73
  1026. package/dist/server-context-B7bIBpAz.js +0 -2
  1027. package/dist/server-context-BlPO5a-j.js +0 -955
  1028. package/dist/server-cron-3tDiqp95.js +0 -2989
  1029. package/dist/server-cron-Ckfa7HkP.js +0 -2
  1030. package/dist/server-methods-BNAICSKA.js +0 -16494
  1031. package/dist/server-node-events-BSp5sE0Q.js +0 -596
  1032. package/dist/server-plugin-bootstrap-Noai-kpp.js +0 -70
  1033. package/dist/server-plugins-DYPvxv5q.js +0 -432
  1034. package/dist/server-reload-handlers-I8gCBw7C.js +0 -714
  1035. package/dist/server-restart-sentinel-Bykg5_Sm.js +0 -747
  1036. package/dist/server-restart-sentinel-Dz8m-1uN.js +0 -2
  1037. package/dist/server-runtime-services-B2DpVh1J.js +0 -2
  1038. package/dist/server-runtime-services-DPDcSogD.js +0 -267
  1039. package/dist/server-startup-plugins-DHFkcvFX.js +0 -113
  1040. package/dist/server-startup-post-attach-BvKY1MjB.js +0 -716
  1041. package/dist/server-ws-runtime-DbsgWSNE.js +0 -349
  1042. package/dist/server.impl-DkzYcRnc.js +0 -2586
  1043. package/dist/service-oKCE97n8.js +0 -1446
  1044. package/dist/session-binding-BCYHcgKv.js +0 -219
  1045. package/dist/session-binding-Dbc5SyV1.js +0 -2
  1046. package/dist/session-kill-http-MtEei2A_.js +0 -121
  1047. package/dist/session-reset-service-BetsGXPL.js +0 -625
  1048. package/dist/session-route-BNumUO6m.js +0 -93
  1049. package/dist/session-status.runtime-8-kVkZLZ.js +0 -2
  1050. package/dist/session-subagent-reactivation.runtime-C4xmUBc4.js +0 -2
  1051. package/dist/session-tab-registry-DldD575V.js +0 -521
  1052. package/dist/sessions-history-http-Dh8uuG7K.js +0 -430
  1053. package/dist/sessions.runtime-CTD1EISY.js +0 -2
  1054. package/dist/setup-api-ClFwxmWg.js +0 -29
  1055. package/dist/setup-core-DF053J7r.js +0 -174
  1056. package/dist/setup-surface-C3vtcmut.js +0 -221
  1057. package/dist/setup-surface-hKgM61lK.js +0 -288
  1058. package/dist/setup-surface-kl5kIfCD.js +0 -405
  1059. package/dist/setup-surface-o44p_EZs.js +0 -320
  1060. package/dist/shared-DuNbDPVK.js +0 -121
  1061. package/dist/shared-client-BGdKzX6-.js +0 -2
  1062. package/dist/shared-client-DiaCaBiw.js +0 -629
  1063. package/dist/side-question-vADB_V7t.js +0 -683
  1064. package/dist/skill-tool-dispatch.runtime-DeTiaxln.js +0 -143
  1065. package/dist/slash-state-TiAtCc3B.js +0 -2166
  1066. package/dist/speech-provider-Dko5aOz2.js +0 -184
  1067. package/dist/src-Bczx7izw.js +0 -4256
  1068. package/dist/startup-context-sYE5tS1C.js +0 -313
  1069. package/dist/status-subagents.runtime-B79dVmOZ.js +0 -18
  1070. package/dist/status-text-CNV3Xo_z.js +0 -296
  1071. package/dist/sticker-cache-ClnmeK7n.js +0 -206
  1072. package/dist/sticker-vision.runtime-DKWYX_Z0.js +0 -17
  1073. package/dist/subagent-announce-BxgiPcah.js +0 -354
  1074. package/dist/subagent-announce-delivery-M73wDt9b.js +0 -958
  1075. package/dist/subagent-control-Svp4alxT.js +0 -508
  1076. package/dist/subagent-hooks-B8fQ4SB-.js +0 -2
  1077. package/dist/subagent-hooks-Bide9UGs.js +0 -2
  1078. package/dist/subagent-hooks-BroJYfmc.js +0 -116
  1079. package/dist/subagent-hooks-CeLaGy0S.js +0 -2
  1080. package/dist/subagent-hooks-D0jzCSJB.js +0 -230
  1081. package/dist/subagent-hooks-DMtU9Utn.js +0 -146
  1082. package/dist/subagent-hooks-api-6X1AhZ92.js +0 -23
  1083. package/dist/subagent-hooks-api-C3hw2s-7.js +0 -22
  1084. package/dist/subagent-hooks-api-D0utPXhG.js +0 -23
  1085. package/dist/subagent-orphan-recovery-DlyXF_8M.js +0 -352
  1086. package/dist/subagent-registry-Ct9aaUSq.js +0 -2351
  1087. package/dist/subagent-registry-_ThKY_a5.js +0 -3
  1088. package/dist/subagent-session-cleanup-D9jhUKCY.js +0 -525
  1089. package/dist/subagent-spawn-Bl5_-Qro.js +0 -1164
  1090. package/dist/target-id-DgUyIiaj.js +0 -107
  1091. package/dist/targets-CV6YGekF.js +0 -19
  1092. package/dist/targets-Ct6zFYUl.js +0 -19
  1093. package/dist/targets-DQxwAOx5.js +0 -44
  1094. package/dist/test-fixtures-HY6a4nTW.d.ts +0 -26
  1095. package/dist/testing-JsUCJjUs.js +0 -267
  1096. package/dist/thread-bindings-BJJr5qB6.js +0 -232
  1097. package/dist/thread-bindings-BVe9r2rW.js +0 -571
  1098. package/dist/thread-bindings-p78_o8d0.js +0 -228
  1099. package/dist/thread-bindings-yvtEoUyM.js +0 -8
  1100. package/dist/thread-bindings.discord-api-DpdJ31xq.js +0 -187
  1101. package/dist/thread-bindings.manager-DkA46uP3.js +0 -536
  1102. package/dist/thread-bindings.manager-MVNj26UO.js +0 -2
  1103. package/dist/thread-lifecycle-CLhulJIV.js +0 -1614
  1104. package/dist/token-VGmXler6.js +0 -134
  1105. package/dist/tool-BJkgiGjR.js +0 -139
  1106. package/dist/tool-actions.runtime-DhrT4z_Z.js +0 -534
  1107. package/dist/tool-resolution-BJLcYvry.js +0 -149
  1108. package/dist/tools-effective-inventory-D1c6J-sI.js +0 -204
  1109. package/dist/tools-invoke-http-B-k9cOYf.js +0 -67
  1110. package/dist/tools-invoke-shared-qMHGnaLY.js +0 -200
  1111. package/dist/tts-CmxOJYRq.js +0 -66
  1112. package/dist/tui-BcRfXYtK.js +0 -2
  1113. package/dist/tui-ChmyCc_c.js +0 -4709
  1114. package/dist/tui-backend-BOAgkU7O.js +0 -256
  1115. package/dist/tui-cli-C_1WxXuf.js +0 -37
  1116. package/dist/typed-cases-D8uyQEzR.d.ts +0 -68
  1117. package/dist/update-cli-CBJVr7p3.js +0 -3664
  1118. package/dist/update-runner-DHzvirfV.js +0 -2379
  1119. package/dist/vision-tools-BIOoLPOZ.js +0 -1409
  1120. package/dist/web-search-8-XCZJzj.js +0 -62
  1121. package/dist/web-search-provider.runtime-BORgiL3n.js +0 -2
  1122. package/dist/web-search-provider.runtime-CCXm-JLK.js +0 -328
  1123. package/dist/webhook-targets-CW4Nl_cq.d.ts +0 -99
  1124. package/dist/xai-oauth-CcxHOluD.js +0 -479
  1125. package/dist/xai-user-agent-BE2MgJak.js +0 -32
  1126. /package/dist/{accounts-CqgATPC-2.d.ts → accounts-CqgATPC-.d.ts} +0 -0
  1127. /package/dist/{acp-runtime-backend-DFDX5U10.js → acp-runtime-backend-BQNm-KYC.js} +0 -0
  1128. /package/dist/{channel-actions-DMH2vVzJ.js → channel-actions-CMUt5769.js} +0 -0
  1129. /package/dist/{command-status-runtime-Du_onNYh.js → command-status-runtime-DXZZv5h_.js} +0 -0
  1130. /package/dist/{delegate-CDb4qcfr.js → delegate-BTCHfZIj.js} +0 -0
  1131. /package/dist/{dispatch-acp-0Se8OniI.js → dispatch-acp-DtdYZo4i.js} +0 -0
  1132. /package/dist/{heartbeat-runner-BdsqQ3pi.js → heartbeat-runner-BqUKIwmn.js} +0 -0
  1133. /package/dist/{library-CsfrQOyp.js → library-DavrGMix.js} +0 -0
  1134. /package/dist/{run-executor.runtime-OlsZwyZw.js → run-executor.runtime-DMU7greB.js} +0 -0
  1135. /package/dist/{shared-DxV6gup5.js → shared-Kl_LS_vA.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-3Kvtrdcn.js";
42
- import "./media-runtime-CPXTkSQr.js";
43
- import "./conversation-runtime-YK1oLoen.js";
44
- import "./text-chunking-ObhJDe8L.js";
45
- import "./agent-runtime-DKr0TX79.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-FG-Mc5xc.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-Cmcx_Msg.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-Dx31Fawb.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 };