@gaodefa/daocore 2026.5.50 → 2026.5.51

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 (1121) hide show
  1. package/dist/abort-fu5ot-XT.js +277 -0
  2. package/dist/abort.runtime-D5daoBjn.js +2 -0
  3. package/dist/abort.runtime.js +1 -1
  4. package/dist/account-inspect-BzG5-Rgz.js +173 -0
  5. package/dist/accounts-CPcG2JIz.js +107 -0
  6. package/dist/accounts-CiDgcaPY.js +2 -0
  7. package/dist/accounts-DcI0wEyL.js +107 -0
  8. package/dist/accounts-xBYbyTsZ.js +119 -0
  9. package/dist/acp-runtime-DpVkymzf.js +26 -0
  10. package/dist/acp-spawn-CbNHSZr-.js +1275 -0
  11. package/dist/acp-spawn-DFG0HgXi.js +2 -0
  12. package/dist/acp-stateful-target-driver-pz6XosZ9.js +89 -0
  13. package/dist/action-kill-DJuPSfgy.js +33 -0
  14. package/dist/action-runtime-DxnMH2dB.js +469 -0
  15. package/dist/action-runtime-api-Dvo3Gbll.js +2 -0
  16. package/dist/action-send-WtfSYfhf.js +39 -0
  17. package/dist/action-spawn-CA4-_H9p.js +47 -0
  18. package/dist/actions-BQ2B4Vhj.js +161 -0
  19. package/dist/actions.runtime-Bw0OZtGG.js +5 -0
  20. package/dist/agent-CsPtASj4.js +2 -0
  21. package/dist/agent-command-DeA1YV0L.js +1367 -0
  22. package/dist/agent-components.runtime-CP2KCzTj.js +10 -0
  23. package/dist/agent-components.runtime.js +1 -1
  24. package/dist/agent-harness-runtime-hAssTrVq.js +180 -0
  25. package/dist/agent-harness-task-runtime-VSFzRIbH.js +140 -0
  26. package/dist/agent-rg2WmmbX.js +3 -0
  27. package/dist/agent-runner-execution-lRuwJobi.js +1713 -0
  28. package/dist/agent-runner-utils-Bluglnku.js +266 -0
  29. package/dist/agent-runner.runtime-B709koec.js +3455 -0
  30. package/dist/agent-runner.runtime.js +1 -1
  31. package/dist/agent-runtime-DKr0TX79.js +229 -0
  32. package/dist/agent-via-gateway-J8tTS5o6.js +463 -0
  33. package/dist/api-BVSGXSkS.js +3 -0
  34. package/dist/api-C7LbY8d2.js +6 -0
  35. package/dist/api-ClLB89eP.js +2 -0
  36. package/dist/api-D7kpdmvQ.js +2 -0
  37. package/dist/api-DJaf27mk.js +639 -0
  38. package/dist/api-XpFyLrKp.js +134 -0
  39. package/dist/apply-CHHI0r0H.js +41 -0
  40. package/dist/apply-DoQ4g3Kr.js +54 -0
  41. package/dist/approval-handler.runtime-Jbt7zH9f.js +130 -0
  42. package/dist/assistant-DQw33Vzx.js +291 -0
  43. package/dist/attachment-normalize-CrbLuYsp.js +225 -0
  44. package/dist/attempt-execution-DkgSHSVj.js +558 -0
  45. package/dist/attempt-execution.runtime-DCcD7P4g.js +3 -0
  46. package/dist/attempt-execution.runtime.js +1 -1
  47. package/dist/attempt-execution.shared-Cok8CE9p.js +38 -0
  48. package/dist/attempt.prompt-helpers-Kok600qT.js +475 -0
  49. package/dist/attempt.tool-run-context-C5nkRM5Y.js +2094 -0
  50. package/dist/binding-routing-BILfy0c8.js +113 -0
  51. package/dist/binding-targets-BrYDo8Jx.js +121 -0
  52. package/dist/bot-CxJsNrtp.js +7894 -0
  53. package/dist/bot-deps-BWdw7DXt.js +2 -0
  54. package/dist/bot-deps-BbL_ePix.js +747 -0
  55. package/dist/bot-message-context.runtime-qkq-RzJY.js +7 -0
  56. package/dist/bot-message-context.runtime.js +1 -1
  57. package/dist/bot-message-context.session.runtime-CxuxYsNb.js +12 -0
  58. package/dist/bot-message-context.session.runtime.js +1 -1
  59. package/dist/bot-native-commands.delivery.runtime-BOjc08fe.js +4 -0
  60. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  61. package/dist/bot-native-commands.runtime-LtWQYEai.js +13 -0
  62. package/dist/bot-native-commands.runtime.js +1 -1
  63. package/dist/bridge-server-BvrlsnvW.js +113 -0
  64. package/dist/browser-cli-BmH-wDEt.js +230 -0
  65. package/dist/browser-cli-D7JUe5WT.js +2 -0
  66. package/dist/browser-cli-actions-input-BtCjZh2W.js +473 -0
  67. package/dist/browser-cli-actions-observe-CKCy--u8.js +81 -0
  68. package/dist/browser-cli-debug-D7KF3hoB.js +137 -0
  69. package/dist/browser-cli-inspect-B5_Q_bKp.js +104 -0
  70. package/dist/browser-cli-manage-BNRyXUfb.js +443 -0
  71. package/dist/browser-cli-resize-BR9dybJM.js +26 -0
  72. package/dist/browser-cli-shared-ZfP-ZP1r.js +50 -0
  73. package/dist/browser-cli-state-BJRQ87Hp.js +337 -0
  74. package/dist/browser-control-auth-C1ZlS07R.js +2 -0
  75. package/dist/browser-profiles-BLgaJJYW.js +2 -0
  76. package/dist/browser-runtime-CX-EDgFi.js +384 -0
  77. package/dist/build-DOEtxYaU.js +257 -0
  78. package/dist/build-info.json +3 -3
  79. package/dist/bundled/boot-md/handler.js +2 -2
  80. package/dist/bundled/session-memory/handler.js +1 -1
  81. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  82. package/dist/capability-cli-Mj0McddT.js +1782 -0
  83. package/dist/channel-BDvizmrp.js +1556 -0
  84. package/dist/channel-C749d8mG.js +376 -0
  85. package/dist/channel-CWP6h4W5.js +1134 -0
  86. package/dist/channel-CgzMA_Q0.js +2126 -0
  87. package/dist/channel-Chx_WUyI.js +867 -0
  88. package/dist/channel-Ctnzf_tM.js +238 -0
  89. package/dist/channel-CusFbCv9.js +653 -0
  90. package/dist/channel-D5jjabnb.js +1249 -0
  91. package/dist/channel-DF-fw8lK.js +1496 -0
  92. package/dist/channel-DKAG-w5b.js +481 -0
  93. package/dist/channel-DSbpV7ax.js +808 -0
  94. package/dist/channel-DiN2VJEK.js +955 -0
  95. package/dist/channel-DvN94bvt.js +740 -0
  96. package/dist/channel-DxtVMwdk.js +508 -0
  97. package/dist/channel-GubQ1f0C.js +362 -0
  98. package/dist/channel-MXOd30fz.d.ts +427 -0
  99. package/dist/channel-actions.runtime-DEb9ZniG.js +265 -0
  100. package/dist/channel-actions.runtime.js +1 -1
  101. package/dist/channel-core-Dr6fp5Ub.js +5 -0
  102. package/dist/channel-inbound-FG-Mc5xc.js +80 -0
  103. package/dist/channel-plugin-runtime-hiqeg-_c.js +998 -0
  104. package/dist/channel-rej8M5lJ.js +1777 -0
  105. package/dist/channel-runtime-DJp4CruI.js +408 -0
  106. package/dist/channel-z0v-MMYk.js +562 -0
  107. package/dist/channel.runtime-1o_vRC84.js +109 -0
  108. package/dist/channel.runtime-BXrIcht7.js +254 -0
  109. package/dist/channel.runtime-C9opTci8.js +2528 -0
  110. package/dist/channel.runtime-CBvyS9OE.js +1008 -0
  111. package/dist/channel.runtime-CSwcAfTq.js +88 -0
  112. package/dist/channel.runtime-DKFrmmAg.js +652 -0
  113. package/dist/channel.runtime-DTBcVFL7.js +733 -0
  114. package/dist/channel.runtime-E2IhUtz8.js +4 -0
  115. package/dist/channel.runtime-s8LoLneR.js +21009 -0
  116. package/dist/channel.setup-BU4bp4OI.js +10 -0
  117. package/dist/channel.setup-CpygZ2ZG.js +343 -0
  118. package/dist/channel.setup-Z7jM_Q-v.js +1098 -0
  119. package/dist/chat-BQA8JGz8.js +2666 -0
  120. package/dist/chrome-YaZdp6CU.js +1503 -0
  121. package/dist/cli/run-main.js +5 -5
  122. package/dist/cli-DvGvBxMy.js +1341 -0
  123. package/dist/cli-compaction-0ER1653L.js +347 -0
  124. package/dist/cli-metadata-BJX-MSNl.js +22 -0
  125. package/dist/cli-runner-BGc4U7E0.js +2 -0
  126. package/dist/cli-runner-CH30meJN.js +540 -0
  127. package/dist/cli-runner.runtime-BqU9giS7.js +4 -0
  128. package/dist/cli-runner.runtime-D14IpD46.js +3 -0
  129. package/dist/cli-runner.runtime.js +1 -1
  130. package/dist/cli-startup-metadata.json +8 -8
  131. package/dist/client-DqnCi7vL.js +650 -0
  132. package/dist/client-adapter-BKZ5qBVY.js +897 -0
  133. package/dist/client-factory-BbBpLxaP.js +9 -0
  134. package/dist/command-auth-fZ1DLCTo.js +135 -0
  135. package/dist/command-handlers-CHbhwC1N.js +1609 -0
  136. package/dist/command-registry-_Oons836.js +4 -0
  137. package/dist/command-registry-core-Btb-M6JE.js +110 -0
  138. package/dist/command-registry-gWuCKROh.js +9 -0
  139. package/dist/command-status.runtime-DLav1SGb.js +90 -0
  140. package/dist/command-status.runtime.js +1 -1
  141. package/dist/commands-acp-DVbINB4V.js +74 -0
  142. package/dist/commands-compact.runtime-CqQIDvM8.js +10 -0
  143. package/dist/commands-compact.runtime.js +1 -1
  144. package/dist/commands-handlers.runtime-DJBGEdTB.js +6154 -0
  145. package/dist/commands-handlers.runtime.js +1 -1
  146. package/dist/commands-status-BaDacW0z.js +3 -0
  147. package/dist/commands-status-CTZ-HwUc.js +16 -0
  148. package/dist/commands-status.runtime-BaDacW0z.js +3 -0
  149. package/dist/commands-status.runtime.js +1 -1
  150. package/dist/commands-subagents-control.runtime-B6SOliNd.js +2 -0
  151. package/dist/commands-subagents-control.runtime-DTdEiA7w.js +3 -0
  152. package/dist/commands-subagents-control.runtime.js +1 -1
  153. package/dist/commands-system-prompt-BAdsJpn8.js +162 -0
  154. package/dist/commands-system-prompt-CX5iT-44.js +2 -0
  155. package/dist/commands.runtime-DObObKfz.js +176 -0
  156. package/dist/commands.runtime.js +1 -1
  157. package/dist/commitments/runtime.js +1 -1
  158. package/dist/compact-Bs_eAw33.js +480 -0
  159. package/dist/compact-Ck7hE3ba.js +1141 -0
  160. package/dist/compact.runtime-el4EYgrW.js +12 -0
  161. package/dist/compact.runtime.js +1 -1
  162. package/dist/completion-cli-BbDnqYnS.js +315 -0
  163. package/dist/computer-use-GvCUpEEf.js +367 -0
  164. package/dist/config-BLgaJJYW.js +2 -0
  165. package/dist/config-FCIVG4Db.js +373 -0
  166. package/dist/config-mutations-BIPJigAd.js +159 -0
  167. package/dist/context-engine-host-compat--OOY7QEI.js +2 -0
  168. package/dist/context-engine-host-compat-DYVeYR5u.js +288 -0
  169. package/dist/context-engine-lifecycle-DAB4GWd5.js +1274 -0
  170. package/dist/control-auth-BekRscGw.js +114 -0
  171. package/dist/control-service-Hg9bqOzH.js +145 -0
  172. package/dist/control-ui/assets/agents-BRFjPVUQ.js +1008 -0
  173. package/dist/control-ui/assets/channel-config-extras-BySqgsd3.js +2 -0
  174. package/dist/control-ui/assets/channels-CC3sudX4.js +367 -0
  175. package/dist/control-ui/assets/cron-D0s06fzI.js +1013 -0
  176. package/dist/control-ui/assets/debug-9oq9PYZU.js +97 -0
  177. package/dist/control-ui/assets/index-ChE1ypG4.js +7381 -0
  178. package/dist/control-ui/assets/instances-k9LggJet.js +57 -0
  179. package/dist/control-ui/assets/logs-DKvc2q9b.js +74 -0
  180. package/dist/control-ui/assets/nodes-Bn7kmEGE.js +436 -0
  181. package/dist/control-ui/assets/sessions-0K-_jD8O.js +399 -0
  182. package/dist/control-ui/assets/skills-C9d4OZr_.js +314 -0
  183. package/dist/control-ui/assets/skills-shared-Bv7GgVjx.js +11 -0
  184. package/dist/control-ui/index.html +1 -1
  185. package/dist/control-ui/sw.js +1 -1
  186. package/dist/conversation-binding-runtime-CC1fW5Mc.js +4 -0
  187. package/dist/conversation-runtime-YK1oLoen.js +31 -0
  188. package/dist/core-D9SaX41X.js +282 -0
  189. package/dist/core-api-6x_6ros_.js +2 -0
  190. package/dist/core-api-DQaZ_B6s.js +5 -0
  191. package/dist/crestodian/crestodian.js +1 -1
  192. package/dist/crestodian/rescue-message.js +1 -1
  193. package/dist/crestodian-DLJAlHQO.js +55 -0
  194. package/dist/daocore-tools-DnGMRYJ5.js +11727 -0
  195. package/dist/delivery-dlloZivQ.js +1002 -0
  196. package/dist/dialogue-BQcF-xHi.js +37 -0
  197. package/dist/dir-fetch-tool-BmkLMRQd.js +565 -0
  198. package/dist/dir-list-tool-lJdvGnnr.js +100 -0
  199. package/dist/direct-dm-BfzS7vxm.js +64 -0
  200. package/dist/directive-handling.fast-lane-BdYkpgfF.js +68 -0
  201. package/dist/directive-handling.impl-DRIFqx-C.js +818 -0
  202. package/dist/directive-handling.impl-DoXcyCdO.js +2 -0
  203. package/dist/directive-handling.model-selection-xgiP4xbL.js +122 -0
  204. package/dist/directive-handling.persist.runtime-Dl-jD_0m.js +263 -0
  205. package/dist/directive-handling.persist.runtime.js +1 -1
  206. package/dist/dispatch-acp-transcript.runtime-B-PwrS4S.js +40 -0
  207. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  208. package/dist/dispatch-acp.runtime-CQHluA8f.js +18 -0
  209. package/dist/dispatch-acp.runtime.js +1 -1
  210. package/dist/dispatch-kxJ95i3A.js +1640 -0
  211. package/dist/doctor-3QQaqcgK.js +2 -0
  212. package/dist/doctor-B9I7SuuU.js +6 -0
  213. package/dist/doctor-config-flow-DZQY34yK.js +1741 -0
  214. package/dist/doctor-core-checks-C_o9kgoZ.js +2 -0
  215. package/dist/doctor-core-checks-jWtsa4Nz.js +573 -0
  216. package/dist/doctor-health-BJ5wJFg5.js +65 -0
  217. package/dist/doctor-health-contributions-DxNPaNU6.js +696 -0
  218. package/dist/doctor-lint-DQrwNSTd.js +94 -0
  219. package/dist/doctor-state-integrity-Ctb6H9Pr.js +1231 -0
  220. package/dist/doctor-update-BZrZGmOg.js +58 -0
  221. package/dist/dynamic-tools-B9sHtLKs.js +486 -0
  222. package/dist/embedded-backend-CVEWr5Vd.js +579 -0
  223. package/dist/embedded-gateway-stub.runtime-BUl3fCUr.js +12 -0
  224. package/dist/embedded-gateway-stub.runtime.js +1 -1
  225. package/dist/exec-approvals-U0VRo553.js +149 -0
  226. package/dist/extensionAPI.js +1 -1
  227. package/dist/extensions/active-memory/index.js +1 -1
  228. package/dist/extensions/admin-http-rpc/index.js +1 -1
  229. package/dist/extensions/browser/browser-bridge.js +1 -1
  230. package/dist/extensions/browser/browser-config.js +4 -4
  231. package/dist/extensions/browser/browser-control-auth.js +2 -2
  232. package/dist/extensions/browser/browser-doctor.js +2 -2
  233. package/dist/extensions/browser/browser-maintenance.js +1 -1
  234. package/dist/extensions/browser/browser-profiles.js +2 -2
  235. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  236. package/dist/extensions/browser/cli-metadata.js +1 -1
  237. package/dist/extensions/browser/index.js +1 -1
  238. package/dist/extensions/browser/plugin-registration.js +1 -1
  239. package/dist/extensions/browser/register.runtime.js +4 -4
  240. package/dist/extensions/browser/runtime-api.js +13 -13
  241. package/dist/extensions/canvas/index.js +1 -1
  242. package/dist/extensions/clickclack/api.js +2 -2
  243. package/dist/extensions/clickclack/channel-plugin-api.js +1 -1
  244. package/dist/extensions/clickclack/runtime-api.js +2 -2
  245. package/dist/extensions/device-pair/api.js +1 -1
  246. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  247. package/dist/extensions/file-transfer/index.js +4 -4
  248. package/dist/extensions/imessage/api.js +2 -2
  249. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  250. package/dist/extensions/imessage/message-tool-api.d.ts +1 -1
  251. package/dist/extensions/imessage/runtime-api.js +3 -3
  252. package/dist/extensions/irc/api.js +2 -2
  253. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  254. package/dist/extensions/llm-task/index.js +1 -1
  255. package/dist/extensions/mattermost/api.js +1 -1
  256. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  257. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  258. package/dist/extensions/mattermost/policy-api.js +1 -1
  259. package/dist/extensions/mattermost/runtime-api.js +2 -2
  260. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  261. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  262. package/dist/extensions/migrate-claude/apply.js +1 -1
  263. package/dist/extensions/migrate-claude/index.js +1 -1
  264. package/dist/extensions/migrate-claude/plan.js +1 -1
  265. package/dist/extensions/migrate-claude/provider.js +1 -1
  266. package/dist/extensions/migrate-claude/targets.js +1 -1
  267. package/dist/extensions/migrate-hermes/apply.js +1 -1
  268. package/dist/extensions/migrate-hermes/index.js +1 -1
  269. package/dist/extensions/migrate-hermes/model.js +1 -1
  270. package/dist/extensions/migrate-hermes/plan.js +1 -1
  271. package/dist/extensions/migrate-hermes/provider.js +1 -1
  272. package/dist/extensions/migrate-hermes/secrets.js +1 -1
  273. package/dist/extensions/migrate-hermes/targets.js +1 -1
  274. package/dist/extensions/policy/api.js +1 -1
  275. package/dist/extensions/policy/index.js +2 -2
  276. package/dist/extensions/signal/api.js +6 -6
  277. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  278. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  279. package/dist/extensions/signal/runtime-api.js +7 -7
  280. package/dist/extensions/skill-workshop/api.js +1 -1
  281. package/dist/extensions/skill-workshop/index.js +2 -2
  282. package/dist/extensions/telegram/account-inspect-api.js +1 -1
  283. package/dist/extensions/telegram/api.js +11 -11
  284. package/dist/extensions/telegram/channel-plugin-api.js +2 -2
  285. package/dist/extensions/telegram/contract-api.js +3 -3
  286. package/dist/extensions/telegram/runtime-api.js +7 -7
  287. package/dist/extensions/telegram/security-audit-contract-api.js +1 -1
  288. package/dist/extensions/telegram/setup-plugin-api.js +1 -1
  289. package/dist/extensions/telegram/test-api.js +2 -2
  290. package/dist/extensions/webhooks/api.js +1 -1
  291. package/dist/extensions/webhooks/index.js +1 -1
  292. package/dist/extensions/xai/index.js +4 -4
  293. package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
  294. package/dist/extensions/xai/speech-provider.js +1 -1
  295. package/dist/extensions/xai/test-api.js +1 -1
  296. package/dist/extensions/xai/tts.js +1 -1
  297. package/dist/extensions/xai/web-search.js +1 -1
  298. package/dist/extensions/xai/xai-oauth.js +1 -1
  299. package/dist/file-fetch-tool-PskYnfdX.js +124 -0
  300. package/dist/file-write-tool-BWMKcxSs.js +127 -0
  301. package/dist/format-DCronAhx.js +250 -0
  302. package/dist/format-Dk3-Jpqj.js +1145 -0
  303. package/dist/gateway-cli-BEtRyNAV.js +435 -0
  304. package/dist/gateway-method-runtime-Ba3mc5Ui.js +21 -0
  305. package/dist/get-reply-B-kNh5PS.js +4689 -0
  306. package/dist/get-reply-from-config.runtime-D-49TKR5.js +2 -0
  307. package/dist/get-reply-from-config.runtime.js +1 -1
  308. package/dist/graph-users-DIK-qpar.js +1419 -0
  309. package/dist/group-access-B6LDV7nR.js +112 -0
  310. package/dist/handle-action.guild-admin-Dz9DREmk.js +288 -0
  311. package/dist/harness-CJWitSNk.js +61 -0
  312. package/dist/health-SAxsj7q2.js +4 -0
  313. package/dist/health-state-Bp0DOLCD.js +106 -0
  314. package/dist/heartbeat-runner-D2IpmXX0.js +5 -0
  315. package/dist/heartbeat-runner.runtime-BKwSStf9.js +4 -0
  316. package/dist/heartbeat-runner.runtime.js +1 -1
  317. package/dist/hooks-C9V4TVXi.js +534 -0
  318. package/dist/inbound-direct-dm-runtime-C-KKlFVB.js +2 -0
  319. package/dist/inbound-reply-dispatch-3Kvtrdcn.js +148 -0
  320. package/dist/index.js +1 -1
  321. package/dist/init-BGepd_Xi.js +59 -0
  322. package/dist/inline-buttons-Dqa993W-.js +40 -0
  323. package/dist/internal-events-hTD06P4Z.js +90 -0
  324. package/dist/isolated-agent-C30IhhQ4.js +1118 -0
  325. package/dist/isolated-agent-D9rwsYrc.js +2 -0
  326. package/dist/lifecycle-lYxX16zr.js +571 -0
  327. package/dist/list.probe-BuLNPfwh.js +449 -0
  328. package/dist/list.status-command-C9FwGWNZ.js +789 -0
  329. package/dist/llm-slug-generator-DEOtPI7b.js +78 -0
  330. package/dist/llm-slug-generator.js +1 -1
  331. package/dist/local-dispatch.runtime-D2mwqssZ.js +9 -0
  332. package/dist/local-dispatch.runtime.js +1 -1
  333. package/dist/manager.runtime-eqnbDApb.js +2714 -0
  334. package/dist/manager.runtime.js +1 -1
  335. package/dist/markdown-to-line-n4E_Ss2j.js +811 -0
  336. package/dist/mcp-http-DG2YDXx1.js +555 -0
  337. package/dist/mcp-http-DiGvYUK1.js +2 -0
  338. package/dist/media-understanding-provider-BAzC42im.js +339 -0
  339. package/dist/message-actions-DfM9sh0u.js +145 -0
  340. package/dist/message-handler-D3j7tiLC.js +1715 -0
  341. package/dist/message-handler-PdqXVaqc.js +384 -0
  342. package/dist/message-handler.preflight-DVTL11NJ.js +1125 -0
  343. package/dist/message-handler.process-Beo6fyUz.js +1484 -0
  344. package/dist/model-DiiSzCXH.js +74 -0
  345. package/dist/model-selection-CeDXYcsy.js +272 -0
  346. package/dist/models-BecxnLfn.js +104 -0
  347. package/dist/models-BxPknoYN.js +2 -0
  348. package/dist/models-cli-CmGPOjEx.js +256 -0
  349. package/dist/monitor-B2qfveOv.js +60 -0
  350. package/dist/monitor-BIKmDw4B.js +2 -0
  351. package/dist/monitor-CJXHxvh-.js +1657 -0
  352. package/dist/monitor-CqndMsTS.js +4377 -0
  353. package/dist/monitor-Dg9KC5G4.js +834 -0
  354. package/dist/monitor-IbL8Gw1Y.js +2788 -0
  355. package/dist/monitor-LxpNUkve.js +1370 -0
  356. package/dist/monitor-auth-EPov6Z4x.js +179 -0
  357. package/dist/monitor-i7_7ne6w.js +715 -0
  358. package/dist/monitor-polling.runtime-BRFuwAQo.js +883 -0
  359. package/dist/monitor-polling.runtime.js +1 -1
  360. package/dist/monitor-webhook.runtime-CGyP4NKq.js +387 -0
  361. package/dist/monitor-webhook.runtime.js +1 -1
  362. package/dist/monitor.account-L5cJkJbV.js +5233 -0
  363. package/dist/monitor.runtime-Caq1xo2T.js +2 -0
  364. package/dist/monitor.runtime.js +1 -1
  365. package/dist/monitor.webhook-CWo_j5xt.js +180 -0
  366. package/dist/node-cli-sessions-Dlrq3Hrt.js +1228 -0
  367. package/dist/openai-http-Cbs9WY_K.js +824 -0
  368. package/dist/openresponses-http-Djc1TNo5.js +1173 -0
  369. package/dist/operations-CePwJ_bf.js +805 -0
  370. package/dist/outbound-adapter-Cmcx_Msg.js +543 -0
  371. package/dist/outbound-session-route-DIvKTIer.js +45 -0
  372. package/dist/outbound.runtime-BCm1uM9e.js +2 -0
  373. package/dist/outbound.runtime.js +1 -1
  374. package/dist/pi-embedded-BGYOawy9.js +3796 -0
  375. package/dist/pi-embedded-s_XN5zci.js +4 -0
  376. package/dist/pi-embedded.runtime-Iv_ADnNC.js +4 -0
  377. package/dist/pi-embedded.runtime.js +1 -1
  378. package/dist/pi-tools-b-Wh6fBG.js +2413 -0
  379. package/dist/plan-9Cb-QHmS.js +112 -0
  380. package/dist/plan-DOX8mLZM.js +81 -0
  381. package/dist/plugin-CRqD5XqH.js +12396 -0
  382. package/dist/plugin-app-cache-key-BKpHiVS2.js +46 -0
  383. package/dist/plugin-enabled-BEi_lYEW.js +233 -0
  384. package/dist/plugin-registration-D99tHdMd.js +88 -0
  385. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  386. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  387. package/dist/plugin-sdk/acp-runtime.js +2 -2
  388. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  389. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  390. package/dist/plugin-sdk/agent-harness.js +7 -7
  391. package/dist/plugin-sdk/agent-runtime.js +2 -2
  392. package/dist/plugin-sdk/channel-core.js +2 -2
  393. package/dist/plugin-sdk/channel-inbound.js +2 -2
  394. package/dist/plugin-sdk/channel-test-helpers.js +1 -1
  395. package/dist/plugin-sdk/command-auth.js +1 -1
  396. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  397. package/dist/plugin-sdk/compat.js +1 -1
  398. package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
  399. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  400. package/dist/plugin-sdk/core.js +2 -2
  401. package/dist/plugin-sdk/direct-dm.js +1 -1
  402. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  403. package/dist/plugin-sdk/health.js +2 -2
  404. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  405. package/dist/plugin-sdk/index.js +1 -1
  406. package/dist/plugin-sdk/mattermost.js +1 -1
  407. package/dist/plugin-sdk/plugin-test-contracts.js +2 -2
  408. package/dist/plugin-sdk/provider-test-contracts.js +4 -4
  409. package/dist/plugin-sdk/reply-runtime.js +4 -4
  410. package/dist/plugin-sdk/testing.js +2 -2
  411. package/dist/plugin-sdk/zalouser.js +1 -1
  412. package/dist/plugin-service-DBTlrK7m.js +1229 -0
  413. package/dist/plugins/runtime/index.js +4 -4
  414. package/dist/policy-B-G2ltps.js +680 -0
  415. package/dist/policy-DCljYbZL.js +138 -0
  416. package/dist/prepare.runtime-Ewb81gRo.js +732 -0
  417. package/dist/prepare.runtime.js +1 -1
  418. package/dist/preview-warnings-DhWnG_r-.js +392 -0
  419. package/dist/probe-Bqu475Tv.js +2204 -0
  420. package/dist/probe-CRWUBMuB.js +682 -0
  421. package/dist/probe-Dm3lYN25.js +47 -0
  422. package/dist/probe-LLx6ayxG.js +2 -0
  423. package/dist/program-vxEyXm2e.js +131 -0
  424. package/dist/provider-B2aKgXI0.js +32 -0
  425. package/dist/provider-BUYMN3uZ.js +152 -0
  426. package/dist/provider-BlBfyHXO.js +32 -0
  427. package/dist/provider-D3O0zKex.js +8735 -0
  428. package/dist/provider-dispatcher-CYuX21il.js +22 -0
  429. package/dist/provider-dispatcher.runtime.js +1 -1
  430. package/dist/provider-session.runtime-xIOzPEA7.js +9 -0
  431. package/dist/provider-session.runtime.js +1 -1
  432. package/dist/provider.runtime-C94TKQWq.js +2 -0
  433. package/dist/provider.runtime.js +1 -1
  434. package/dist/public-surface-loader-CDa3nA_L.js +114 -0
  435. package/dist/pw-ai-BH_nTHa5.js +3029 -0
  436. package/dist/pw-role-snapshot-BPi5ipRX.js +333 -0
  437. package/dist/reaction-level-CSHisLIF.js +19 -0
  438. package/dist/reaction-runtime-api-D5YNDU-7.js +116 -0
  439. package/dist/realtime-transcription-provider-B6-wne03.js +205 -0
  440. package/dist/register-AeYt54B0.js +2178 -0
  441. package/dist/register.agent-DuW_Cioa.js +156 -0
  442. package/dist/register.crestodian-DfuAvHf8.js +24 -0
  443. package/dist/register.maintenance-DhSW2XSZ.js +83 -0
  444. package/dist/register.runtime-CYWai1dl.js +54 -0
  445. package/dist/register.status-health-sessions-BrkNpe59.js +282 -0
  446. package/dist/register.subclis-B4c9g5v0.js +31 -0
  447. package/dist/register.subclis-Do4TSxcj.js +3 -0
  448. package/dist/register.subclis-core-Dm9-Cc4K.js +273 -0
  449. package/dist/repair-sequencing-CKX_OEBn.js +640 -0
  450. package/dist/reply-delivery-Dx31Fawb.js +196 -0
  451. package/dist/reply-runtime-DyCbxbOD.js +11 -0
  452. package/dist/reply.runtime-D-49TKR5.js +2 -0
  453. package/dist/reply.runtime.js +1 -1
  454. package/dist/request-CZtiBI4R.js +54 -0
  455. package/dist/resolve-allowlist-C-WRtkEq.js +220 -0
  456. package/dist/result-fallback-classifier-BkI5uV-W.js +79 -0
  457. package/dist/route-BEeC4HAl.js +469 -0
  458. package/dist/route-resolution-CHA13yYB.js +274 -0
  459. package/dist/routes-CfBm1qOU.js +2 -0
  460. package/dist/routes-DsgV54GJ.js +3602 -0
  461. package/dist/run-DL8UkH0h.js +1162 -0
  462. package/dist/run-attempt-D0qv7bs7.js +7704 -0
  463. package/dist/run-command-BWyjy--D.js +23 -0
  464. package/dist/run-command-IDml3oWg.js +2 -0
  465. package/dist/run-embedded.runtime-DeIZpKHe.js +4 -0
  466. package/dist/run-embedded.runtime.js +1 -1
  467. package/dist/run-execution-cli.runtime-yf9gfWAm.js +4 -0
  468. package/dist/run-execution-cli.runtime.js +1 -1
  469. package/dist/run-executor.runtime.js +1 -1
  470. package/dist/run-subagent-registry.runtime-oZs4xMMU.js +2 -0
  471. package/dist/run-subagent-registry.runtime.js +1 -1
  472. package/dist/runtime-BDbGwqGy.js +6179 -0
  473. package/dist/runtime-Bwn06s0u.js +438 -0
  474. package/dist/runtime-CD6WyVpL.js +1287 -0
  475. package/dist/runtime-api-BzvORSkx.js +4 -0
  476. package/dist/runtime-api-CAORRCZU.js +17 -0
  477. package/dist/runtime-api-CZGRk5D1.js +24 -0
  478. package/dist/runtime-api-CZm1iIlw.js +13 -0
  479. package/dist/runtime-api-D0d1LZvp.js +21 -0
  480. package/dist/runtime-api-DPIkVTDM.js +3 -0
  481. package/dist/runtime-api-DbQDZRSI.js +13 -0
  482. package/dist/runtime-api.actions-CuYXLj2I.js +3 -0
  483. package/dist/runtime-api.monitor-BPMqlEBC.js +6 -0
  484. package/dist/runtime-api.send-cXGaIwD8.js +4 -0
  485. package/dist/runtime-api.threads-DF6EqVSY.js +2 -0
  486. package/dist/runtime-channel-B2dCbld0.js +2 -0
  487. package/dist/runtime-channel-BfzwZ133.js +150 -0
  488. package/dist/runtime-embedded-pi.runtime-Bz4-Me2g.js +2 -0
  489. package/dist/runtime-embedded-pi.runtime.js +1 -1
  490. package/dist/sanitize-outbound-52UJkVc2.js +127 -0
  491. package/dist/sdk-setup-tools-DzA0rD_t.js +8 -0
  492. package/dist/secrets-BzY28DjS.js +113 -0
  493. package/dist/security-audit-B_x9Bqsd.js +122 -0
  494. package/dist/security-audit-CaX5F2YD.js +118 -0
  495. package/dist/security-audit.runtime-BZFJXu8H.js +2 -0
  496. package/dist/security-audit.runtime.js +1 -1
  497. package/dist/selection-B4V4O6zr.js +16157 -0
  498. package/dist/selection-Cp7REh-j.js +3 -0
  499. package/dist/send-C8NgsGx0.js +2 -0
  500. package/dist/send-CktHKbVL.js +192 -0
  501. package/dist/send-DSDSSxuo.js +1631 -0
  502. package/dist/send-I0iE28XZ.js +143 -0
  503. package/dist/send.components-CdYNwUR8.js +500 -0
  504. package/dist/send.components-DDmsziVe.js +2 -0
  505. package/dist/send.runtime-DEr6-5Rp.js +2 -0
  506. package/dist/send.runtime.js +1 -1
  507. package/dist/server-Bdu2XxWz.js +24 -0
  508. package/dist/server-BnVdhBLM.js +73 -0
  509. package/dist/server-close.runtime.js +1 -1
  510. package/dist/server-context-B7bIBpAz.js +2 -0
  511. package/dist/server-context-BlPO5a-j.js +955 -0
  512. package/dist/server-cron-3tDiqp95.js +2989 -0
  513. package/dist/server-cron-Ckfa7HkP.js +2 -0
  514. package/dist/server-maintenance-CDfLZpYN.js +167 -0
  515. package/dist/server-methods-BNAICSKA.js +16494 -0
  516. package/dist/server-node-events-BSp5sE0Q.js +596 -0
  517. package/dist/server-plugin-bootstrap-Noai-kpp.js +70 -0
  518. package/dist/server-plugins-DYPvxv5q.js +432 -0
  519. package/dist/server-reload-handlers-I8gCBw7C.js +714 -0
  520. package/dist/server-restart-sentinel-Bykg5_Sm.js +747 -0
  521. package/dist/server-restart-sentinel-Dz8m-1uN.js +2 -0
  522. package/dist/server-runtime-services-B2DpVh1J.js +2 -0
  523. package/dist/server-runtime-services-DPDcSogD.js +267 -0
  524. package/dist/server-startup-early-Ctjir66B.js +87 -0
  525. package/dist/server-startup-plugins-DHFkcvFX.js +113 -0
  526. package/dist/server-startup-post-attach-BvKY1MjB.js +716 -0
  527. package/dist/server-ws-runtime-DbsgWSNE.js +349 -0
  528. package/dist/server.impl-DkzYcRnc.js +2586 -0
  529. package/dist/service-oKCE97n8.js +1446 -0
  530. package/dist/session-binding-BCYHcgKv.js +219 -0
  531. package/dist/session-binding-Dbc5SyV1.js +2 -0
  532. package/dist/session-kill-http-MtEei2A_.js +121 -0
  533. package/dist/session-reset-service-BetsGXPL.js +625 -0
  534. package/dist/session-route-BNumUO6m.js +93 -0
  535. package/dist/session-status.runtime-8-kVkZLZ.js +2 -0
  536. package/dist/session-status.runtime.js +1 -1
  537. package/dist/session-subagent-reactivation.runtime-C4xmUBc4.js +2 -0
  538. package/dist/session-subagent-reactivation.runtime.js +1 -1
  539. package/dist/session-tab-registry-DldD575V.js +521 -0
  540. package/dist/sessions-history-http-Dh8uuG7K.js +430 -0
  541. package/dist/sessions.runtime-CTD1EISY.js +2 -0
  542. package/dist/sessions.runtime.js +1 -1
  543. package/dist/setup-api-ClFwxmWg.js +29 -0
  544. package/dist/setup-core-DF053J7r.js +174 -0
  545. package/dist/setup-surface-C3vtcmut.js +221 -0
  546. package/dist/setup-surface-hKgM61lK.js +288 -0
  547. package/dist/setup-surface-kl5kIfCD.js +405 -0
  548. package/dist/setup-surface-o44p_EZs.js +320 -0
  549. package/dist/shared-DuNbDPVK.js +121 -0
  550. package/dist/shared-client-BGdKzX6-.js +2 -0
  551. package/dist/shared-client-DiaCaBiw.js +629 -0
  552. package/dist/side-question-vADB_V7t.js +683 -0
  553. package/dist/skill-tool-dispatch.runtime-DeTiaxln.js +143 -0
  554. package/dist/skill-tool-dispatch.runtime.js +1 -1
  555. package/dist/slash-state-TiAtCc3B.js +2166 -0
  556. package/dist/speech-provider-Dko5aOz2.js +184 -0
  557. package/dist/src-Bczx7izw.js +4256 -0
  558. package/dist/startup-context-sYE5tS1C.js +313 -0
  559. package/dist/status-CHChLqRH.js +3 -0
  560. package/dist/status-OYJF7NHg.js +4 -0
  561. package/dist/status-all-CSz2mOkm.js +573 -0
  562. package/dist/status-json-B5iKxsPt.js +14 -0
  563. package/dist/status-json-command-B7mD_HM0.js +84 -0
  564. package/dist/status-runtime-shared-tJ5_gXDE.js +283 -0
  565. package/dist/status-subagents.runtime-B79dVmOZ.js +18 -0
  566. package/dist/status-subagents.runtime.js +1 -1
  567. package/dist/status-text-CNV3Xo_z.js +296 -0
  568. package/dist/status.command-29iMh5b8.js +420 -0
  569. package/dist/status.command-cDrXztZ4.js +2 -0
  570. package/dist/status.command.text-runtime-CJLiLlec.js +15 -0
  571. package/dist/status.scan-BnCyO_-1.js +68 -0
  572. package/dist/status.scan-overview-8jfuH7wl.js +444 -0
  573. package/dist/status.scan.fast-json-CyqrMrI6.js +2 -0
  574. package/dist/status.scan.fast-json-D0y03alo.js +127 -0
  575. package/dist/status.scan.runtime-DGbNNELT.js +479 -0
  576. package/dist/status.scan.runtime.js +1 -1
  577. package/dist/status.update-C6moG8hY.js +2 -0
  578. package/dist/status.update-Ch-d2YqJ.js +86 -0
  579. package/dist/sticker-cache-ClnmeK7n.js +206 -0
  580. package/dist/sticker-vision.runtime-DKWYX_Z0.js +17 -0
  581. package/dist/sticker-vision.runtime.js +1 -1
  582. package/dist/subagent-announce-BxgiPcah.js +354 -0
  583. package/dist/subagent-announce-delivery-M73wDt9b.js +958 -0
  584. package/dist/subagent-control-Svp4alxT.js +508 -0
  585. package/dist/subagent-hooks-B8fQ4SB-.js +2 -0
  586. package/dist/subagent-hooks-Bide9UGs.js +2 -0
  587. package/dist/subagent-hooks-BroJYfmc.js +116 -0
  588. package/dist/subagent-hooks-CeLaGy0S.js +2 -0
  589. package/dist/subagent-hooks-D0jzCSJB.js +230 -0
  590. package/dist/subagent-hooks-DMtU9Utn.js +146 -0
  591. package/dist/subagent-hooks-api-6X1AhZ92.js +23 -0
  592. package/dist/subagent-hooks-api-C3hw2s-7.js +22 -0
  593. package/dist/subagent-hooks-api-D0utPXhG.js +23 -0
  594. package/dist/subagent-orphan-recovery-DlyXF_8M.js +352 -0
  595. package/dist/subagent-registry-Ct9aaUSq.js +2351 -0
  596. package/dist/subagent-registry-_ThKY_a5.js +3 -0
  597. package/dist/subagent-registry.runtime.js +1 -1
  598. package/dist/subagent-session-cleanup-D9jhUKCY.js +525 -0
  599. package/dist/subagent-spawn-Bl5_-Qro.js +1164 -0
  600. package/dist/target-id-DgUyIiaj.js +107 -0
  601. package/dist/targets-CV6YGekF.js +19 -0
  602. package/dist/targets-Ct6zFYUl.js +19 -0
  603. package/dist/targets-DQxwAOx5.js +44 -0
  604. package/dist/task-registry-control.runtime.js +1 -1
  605. package/dist/telegram/token.js +1 -1
  606. package/dist/testing-JsUCJjUs.js +267 -0
  607. package/dist/text-report-E0TZg1LV.js +695 -0
  608. package/dist/thread-bindings-BJJr5qB6.js +232 -0
  609. package/dist/thread-bindings-BVe9r2rW.js +571 -0
  610. package/dist/thread-bindings-p78_o8d0.js +228 -0
  611. package/dist/thread-bindings-yvtEoUyM.js +8 -0
  612. package/dist/thread-bindings.discord-api-DpdJ31xq.js +187 -0
  613. package/dist/thread-bindings.manager-DkA46uP3.js +536 -0
  614. package/dist/thread-bindings.manager-MVNj26UO.js +2 -0
  615. package/dist/thread-lifecycle-CLhulJIV.js +1614 -0
  616. package/dist/token-VGmXler6.js +134 -0
  617. package/dist/tool-BJkgiGjR.js +139 -0
  618. package/dist/tool-actions.runtime-DhrT4z_Z.js +534 -0
  619. package/dist/tool-actions.runtime.js +1 -1
  620. package/dist/tool-resolution-BJLcYvry.js +149 -0
  621. package/dist/tools-effective-inventory-D1c6J-sI.js +204 -0
  622. package/dist/tools-invoke-http-B-k9cOYf.js +67 -0
  623. package/dist/tools-invoke-shared-qMHGnaLY.js +200 -0
  624. package/dist/tts-CmxOJYRq.js +66 -0
  625. package/dist/tui-BcRfXYtK.js +2 -0
  626. package/dist/tui-ChmyCc_c.js +4709 -0
  627. package/dist/tui-backend-BOAgkU7O.js +256 -0
  628. package/dist/tui-cli-C_1WxXuf.js +37 -0
  629. package/dist/update-check-Dvp_oog_.js +387 -0
  630. package/dist/update-cli-CBJVr7p3.js +3664 -0
  631. package/dist/update-runner-DHzvirfV.js +2379 -0
  632. package/dist/update-startup-3l7wPrqM.js +339 -0
  633. package/dist/update-startup-C_peqiGI.js +2 -0
  634. package/dist/vision-tools-BIOoLPOZ.js +1409 -0
  635. package/dist/web-search-8-XCZJzj.js +62 -0
  636. package/dist/web-search-provider.runtime-BORgiL3n.js +2 -0
  637. package/dist/web-search-provider.runtime-CCXm-JLK.js +328 -0
  638. package/dist/web-search-provider.runtime.js +1 -1
  639. package/dist/xai-oauth-CcxHOluD.js +479 -0
  640. package/dist/xai-user-agent-BE2MgJak.js +32 -0
  641. package/package.json +1 -1
  642. package/dist/abort-Bp4IXIaT.js +0 -277
  643. package/dist/abort.runtime-yT20lVm3.js +0 -2
  644. package/dist/account-inspect-Braq4T5C.js +0 -173
  645. package/dist/accounts-B73T487L.js +0 -2
  646. package/dist/accounts-Byqhka0B.js +0 -107
  647. package/dist/accounts-C6REvXTb.js +0 -107
  648. package/dist/accounts-DHkZahnb.js +0 -119
  649. package/dist/acp-runtime-CsYu7oyf.js +0 -26
  650. package/dist/acp-spawn-BpcanpjB.js +0 -2
  651. package/dist/acp-spawn-CXnfFZet.js +0 -1275
  652. package/dist/acp-stateful-target-driver-dbQl7Cls.js +0 -89
  653. package/dist/action-kill-CmrHUh6-.js +0 -33
  654. package/dist/action-runtime-Nz_MTd85.js +0 -469
  655. package/dist/action-runtime-api-NVBTHRJ0.js +0 -2
  656. package/dist/action-send-Bw28r8YX.js +0 -39
  657. package/dist/action-spawn-Db3goKdw.js +0 -47
  658. package/dist/actions-CZEEFK0T.js +0 -161
  659. package/dist/actions.runtime-f4FlBapO.js +0 -5
  660. package/dist/agent-BFrHijEI.js +0 -3
  661. package/dist/agent-BvTZZujh.js +0 -2
  662. package/dist/agent-command-CexUxiL4.js +0 -1367
  663. package/dist/agent-components.runtime-Bv--4UUq.js +0 -10
  664. package/dist/agent-harness-runtime-_4Ou4ZI_.js +0 -180
  665. package/dist/agent-harness-task-runtime-D0TI6yGM.js +0 -140
  666. package/dist/agent-runner-execution-BWvPnRM1.js +0 -1713
  667. package/dist/agent-runner-utils-hmda0Lyc.js +0 -266
  668. package/dist/agent-runner.runtime-6MrZPOYP.js +0 -3455
  669. package/dist/agent-runtime-Cnq13raf.js +0 -229
  670. package/dist/agent-via-gateway-Cux4caUy.js +0 -463
  671. package/dist/api-0vV8JjoW.js +0 -2
  672. package/dist/api-4kojV9vT.js +0 -639
  673. package/dist/api-C4dZHG-E.js +0 -2
  674. package/dist/api-DFDhOB71.js +0 -134
  675. package/dist/api-Dd41e_NF.js +0 -3
  676. package/dist/api-DqSBNv8i.js +0 -6
  677. package/dist/apply-DnknmYSP.js +0 -41
  678. package/dist/apply-XMFoVMgK.js +0 -54
  679. package/dist/approval-handler.runtime-BIKhPCUE.js +0 -130
  680. package/dist/assistant-Cfzr-QfG.js +0 -291
  681. package/dist/attachment-normalize-Bqthqujs.js +0 -225
  682. package/dist/attempt-execution-Cc2IUiUY.js +0 -558
  683. package/dist/attempt-execution.runtime-C1pnC5CL.js +0 -3
  684. package/dist/attempt-execution.shared-DR-LL9H1.js +0 -38
  685. package/dist/attempt.prompt-helpers-DvfaNdO_.js +0 -475
  686. package/dist/attempt.tool-run-context-Fk3-iLKA.js +0 -2094
  687. package/dist/binding-routing-BjRihOZ8.js +0 -113
  688. package/dist/binding-targets-D3vQIPpu.js +0 -121
  689. package/dist/bot-BzKQljl1.js +0 -7894
  690. package/dist/bot-deps-CHJno4Xv.js +0 -747
  691. package/dist/bot-deps-CTU3vOGH.js +0 -2
  692. package/dist/bot-message-context.runtime-DPAocg_K.js +0 -7
  693. package/dist/bot-message-context.session.runtime-cWFJiTXb.js +0 -12
  694. package/dist/bot-native-commands.delivery.runtime-BBiSJ9qu.js +0 -4
  695. package/dist/bot-native-commands.runtime-BoWjkHEv.js +0 -13
  696. package/dist/bridge-server-BnWfM8E9.js +0 -113
  697. package/dist/browser-cli-CKSNhiVi.js +0 -230
  698. package/dist/browser-cli-CsC0lbjc.js +0 -2
  699. package/dist/browser-cli-actions-input-1PFDZ0_b.js +0 -473
  700. package/dist/browser-cli-actions-observe-DfH0Y9FC.js +0 -81
  701. package/dist/browser-cli-debug-hj-w-s9t.js +0 -137
  702. package/dist/browser-cli-inspect-CxxMD86J.js +0 -104
  703. package/dist/browser-cli-manage-DOn9OEh_.js +0 -443
  704. package/dist/browser-cli-resize-BFHf-RqV.js +0 -26
  705. package/dist/browser-cli-shared-Ca_pACoG.js +0 -50
  706. package/dist/browser-cli-state-CCIHMGkC.js +0 -337
  707. package/dist/browser-control-auth-dTGAuDxC.js +0 -2
  708. package/dist/browser-profiles-CjXJJdop.js +0 -2
  709. package/dist/browser-runtime-DrNsVpfv.js +0 -384
  710. package/dist/build-QfdWbTGY.js +0 -257
  711. package/dist/capability-cli-D7nQY4qe.js +0 -1782
  712. package/dist/channel-13BBMvGu.js +0 -1496
  713. package/dist/channel-B9qWcqGg.js +0 -562
  714. package/dist/channel-BB9gjVcH.js +0 -362
  715. package/dist/channel-BM_u9Kct.js +0 -508
  716. package/dist/channel-BdhbzWTg.d.ts +0 -427
  717. package/dist/channel-CQbX6z1g.js +0 -740
  718. package/dist/channel-CXkMpUA_.js +0 -1134
  719. package/dist/channel-CcENPjLR.js +0 -1556
  720. package/dist/channel-CfgfbGDs.js +0 -808
  721. package/dist/channel-D6JtLARW.js +0 -955
  722. package/dist/channel-D6klawjQ.js +0 -867
  723. package/dist/channel-DFTg6l_Y.js +0 -1777
  724. package/dist/channel-DI30oIzM.js +0 -238
  725. package/dist/channel-Dwmhp2QK.js +0 -376
  726. package/dist/channel-DyOJHorx.js +0 -481
  727. package/dist/channel-DzLAzPz_.js +0 -1249
  728. package/dist/channel-ZshGzzZU.js +0 -2126
  729. package/dist/channel-actions.runtime-BPuh-LPy.js +0 -265
  730. package/dist/channel-core-Cip0DXqW.js +0 -5
  731. package/dist/channel-inbound-nxJGbY-L.js +0 -80
  732. package/dist/channel-kn7WFIV-.js +0 -653
  733. package/dist/channel-plugin-runtime-D2mUAQP6.js +0 -998
  734. package/dist/channel-runtime-DWbCQz0-.js +0 -408
  735. package/dist/channel.runtime-BRLds_50.js +0 -1008
  736. package/dist/channel.runtime-BYk5D3KV.js +0 -652
  737. package/dist/channel.runtime-Bd5GuqVD.js +0 -4
  738. package/dist/channel.runtime-BhiiHau6.js +0 -109
  739. package/dist/channel.runtime-CKnG96oM.js +0 -254
  740. package/dist/channel.runtime-DbuDXi8A.js +0 -2528
  741. package/dist/channel.runtime-DfQ7lbcl.js +0 -21009
  742. package/dist/channel.runtime-DhzR3IQP.js +0 -733
  743. package/dist/channel.runtime-SnJqiMZZ.js +0 -88
  744. package/dist/channel.setup-0jZeZ91N.js +0 -1098
  745. package/dist/channel.setup-C3aSMtNe.js +0 -343
  746. package/dist/channel.setup-x_GPUW2e.js +0 -10
  747. package/dist/chat-DyxY_o5e.js +0 -2666
  748. package/dist/chrome-CUytWLO5.js +0 -1503
  749. package/dist/cli-BnAifbUH.js +0 -1341
  750. package/dist/cli-compaction-BsDXzDbB.js +0 -347
  751. package/dist/cli-metadata-C2ez_EOq.js +0 -22
  752. package/dist/cli-runner-Df8f6aib.js +0 -2
  753. package/dist/cli-runner-N-xuwavW.js +0 -540
  754. package/dist/cli-runner.runtime-BZgB5Wze.js +0 -3
  755. package/dist/cli-runner.runtime-CzWSBiUX.js +0 -4
  756. package/dist/client-BSznX-Sw.js +0 -650
  757. package/dist/client-adapter-CvuAhGRl.js +0 -897
  758. package/dist/client-factory-Dl9ZpTlR.js +0 -9
  759. package/dist/command-auth-Cp3qho7_.js +0 -135
  760. package/dist/command-handlers-7evBobOS.js +0 -1609
  761. package/dist/command-registry-BTdu515H.js +0 -4
  762. package/dist/command-registry-MW7FkJ_Y.js +0 -9
  763. package/dist/command-registry-core-COtKps6g.js +0 -110
  764. package/dist/command-status.runtime-HmI60xl3.js +0 -90
  765. package/dist/commands-acp-NnHhockz.js +0 -74
  766. package/dist/commands-compact.runtime-wJDJ6VWY.js +0 -10
  767. package/dist/commands-handlers.runtime-CDlvieOM.js +0 -6154
  768. package/dist/commands-status-CJsUMgIw.js +0 -16
  769. package/dist/commands-status-j5QdKUbl.js +0 -3
  770. package/dist/commands-status.runtime-j5QdKUbl.js +0 -3
  771. package/dist/commands-subagents-control.runtime-BfOBOw5t.js +0 -3
  772. package/dist/commands-subagents-control.runtime-CALs_ywD.js +0 -2
  773. package/dist/commands-system-prompt-BnMuvo_P.js +0 -2
  774. package/dist/commands-system-prompt-BqcYl8m9.js +0 -162
  775. package/dist/commands.runtime-DMhewKIp.js +0 -176
  776. package/dist/compact-B4Hs8o3S.js +0 -1141
  777. package/dist/compact-CKxyl7Ak.js +0 -480
  778. package/dist/compact.runtime-BPnE7Lia.js +0 -12
  779. package/dist/completion-cli-dN803PIC.js +0 -315
  780. package/dist/computer-use-DI-JbifZ.js +0 -367
  781. package/dist/config-CA7Mb3IV.js +0 -373
  782. package/dist/config-CjXJJdop.js +0 -2
  783. package/dist/config-mutations-CIt7XNeY.js +0 -159
  784. package/dist/context-engine-host-compat-C0PN-GqB.js +0 -288
  785. package/dist/context-engine-host-compat-r4dLJY0h.js +0 -2
  786. package/dist/context-engine-lifecycle-BgedIp9C.js +0 -1274
  787. package/dist/control-auth-BNpGd-Kk.js +0 -114
  788. package/dist/control-service-kce7bfHU.js +0 -145
  789. package/dist/control-ui/assets/agents-BdvJfq80.js +0 -1008
  790. package/dist/control-ui/assets/channel-config-extras-Ceaj0SW_.js +0 -2
  791. package/dist/control-ui/assets/channels-CdXoXJoZ.js +0 -367
  792. package/dist/control-ui/assets/cron-8oEfCQUI.js +0 -1013
  793. package/dist/control-ui/assets/debug-Br-EwLEu.js +0 -97
  794. package/dist/control-ui/assets/index-B_b8hb35.js +0 -7381
  795. package/dist/control-ui/assets/instances-7yY0VA1d.js +0 -57
  796. package/dist/control-ui/assets/logs-DcKMzQjP.js +0 -74
  797. package/dist/control-ui/assets/nodes-BXjhsRXJ.js +0 -436
  798. package/dist/control-ui/assets/sessions-Civ0cHoq.js +0 -399
  799. package/dist/control-ui/assets/skills-BkRG__0I.js +0 -314
  800. package/dist/control-ui/assets/skills-shared-CTIiKUNP.js +0 -11
  801. package/dist/conversation-binding-runtime-CUUOaxkw.js +0 -4
  802. package/dist/conversation-runtime-CAGsRmgG.js +0 -31
  803. package/dist/core-DDHeEXv5.js +0 -282
  804. package/dist/core-api-BfuO-na1.js +0 -5
  805. package/dist/core-api-YA03piFN.js +0 -2
  806. package/dist/crestodian-BvNBIbgT.js +0 -55
  807. package/dist/daocore-tools-V8Z6YbCA.js +0 -11727
  808. package/dist/delivery-CqDMMxF-.js +0 -1002
  809. package/dist/dialogue-C7jN6TtR.js +0 -37
  810. package/dist/dir-fetch-tool-DKizoBAo.js +0 -565
  811. package/dist/dir-list-tool-CMSe1Gic.js +0 -100
  812. package/dist/direct-dm-CNDGhZHH.js +0 -64
  813. package/dist/directive-handling.fast-lane-BNDUrJm9.js +0 -68
  814. package/dist/directive-handling.impl-CNMskvfI.js +0 -2
  815. package/dist/directive-handling.impl-DkSnupbX.js +0 -818
  816. package/dist/directive-handling.model-selection-DrYH2dJi.js +0 -122
  817. package/dist/directive-handling.persist.runtime-Bf1g-e09.js +0 -263
  818. package/dist/dispatch-BqXq6928.js +0 -1640
  819. package/dist/dispatch-acp-transcript.runtime-B8OLBkcv.js +0 -40
  820. package/dist/dispatch-acp.runtime-CFRlXnm3.js +0 -18
  821. package/dist/doctor-C8zSecbl.js +0 -6
  822. package/dist/doctor-DmE-4kn4.js +0 -2
  823. package/dist/doctor-config-flow-CiEbrb8s.js +0 -1741
  824. package/dist/doctor-core-checks-B3G8nJ2e.js +0 -573
  825. package/dist/doctor-core-checks-BeflOFTE.js +0 -2
  826. package/dist/doctor-health-Ali-Hxdp.js +0 -65
  827. package/dist/doctor-health-contributions-CXfgIUQd.js +0 -696
  828. package/dist/doctor-lint-B5IHZCxG.js +0 -94
  829. package/dist/doctor-state-integrity-BjeDtfbq.js +0 -1231
  830. package/dist/doctor-update-CG2msB2K.js +0 -58
  831. package/dist/dynamic-tools-D5gHaas6.js +0 -486
  832. package/dist/embedded-backend-BLW2WQJF.js +0 -579
  833. package/dist/embedded-gateway-stub.runtime-DbUedhpy.js +0 -12
  834. package/dist/exec-approvals-CwwQA-_B.js +0 -149
  835. package/dist/file-fetch-tool-CekPjemC.js +0 -124
  836. package/dist/file-write-tool-C7-UYxXN.js +0 -127
  837. package/dist/format-BrgWhpMP.js +0 -1145
  838. package/dist/format-C-lnTES_.js +0 -250
  839. package/dist/gateway-cli-BIl9ooav.js +0 -435
  840. package/dist/gateway-method-runtime-B3nJGqAy.js +0 -21
  841. package/dist/get-reply-CCGEqENF.js +0 -4689
  842. package/dist/get-reply-from-config.runtime-1bVL6Eaa.js +0 -2
  843. package/dist/graph-users-CCkJYdwo.js +0 -1419
  844. package/dist/group-access-BrcrVhTm.js +0 -112
  845. package/dist/handle-action.guild-admin-8EfNNvKz.js +0 -288
  846. package/dist/harness-BNsomB7U.js +0 -61
  847. package/dist/health-CJOAk46r.js +0 -4
  848. package/dist/health-state-CETJtly-.js +0 -106
  849. package/dist/heartbeat-runner-BjAnHwan.js +0 -5
  850. package/dist/heartbeat-runner.runtime-BhQDpIvL.js +0 -4
  851. package/dist/hooks-CAleL-fH.js +0 -534
  852. package/dist/inbound-direct-dm-runtime-aWeBKeRE.js +0 -2
  853. package/dist/inbound-reply-dispatch-DvWaNCgR.js +0 -148
  854. package/dist/init-D_kHY2_L.js +0 -59
  855. package/dist/inline-buttons-CBfC5L_C.js +0 -40
  856. package/dist/internal-events-DR7M-R-k.js +0 -90
  857. package/dist/isolated-agent-BSwvfJdq.js +0 -1118
  858. package/dist/isolated-agent-B_H2wb6F.js +0 -2
  859. package/dist/lifecycle-BsPQk14E.js +0 -571
  860. package/dist/list.probe-DVPoP_gs.js +0 -449
  861. package/dist/list.status-command-YLSxt2nU.js +0 -789
  862. package/dist/llm-slug-generator-DMXCuj_8.js +0 -78
  863. package/dist/local-dispatch.runtime-ByJpKbzY.js +0 -9
  864. package/dist/manager.runtime-Cbd4Wkzv.js +0 -2714
  865. package/dist/markdown-to-line-UROW4ICU.js +0 -811
  866. package/dist/mcp-http-Bs04-o36.js +0 -2
  867. package/dist/mcp-http-DusJ-yus.js +0 -555
  868. package/dist/media-understanding-provider-DJ2PVD5L.js +0 -339
  869. package/dist/message-actions-BOhsMU7S.js +0 -145
  870. package/dist/message-handler-BUvaTnYL.js +0 -384
  871. package/dist/message-handler-DsiaQGjj.js +0 -1715
  872. package/dist/message-handler.preflight-COR7HHaa.js +0 -1125
  873. package/dist/message-handler.process-Cnlh9kQt.js +0 -1484
  874. package/dist/model-CrGV78vh.js +0 -74
  875. package/dist/model-selection-BkMRVKvT.js +0 -272
  876. package/dist/models-CAsfL9Yc.js +0 -104
  877. package/dist/models-DAHwZzdm.js +0 -2
  878. package/dist/models-cli-NVAexFpF.js +0 -256
  879. package/dist/monitor-BHLuAWAQ.js +0 -2
  880. package/dist/monitor-BbTVo-eV.js +0 -715
  881. package/dist/monitor-CLLyEX0R.js +0 -2788
  882. package/dist/monitor-CTR3lVMb.js +0 -834
  883. package/dist/monitor-Cl2p6Juz.js +0 -60
  884. package/dist/monitor-D5rBDT5w.js +0 -4377
  885. package/dist/monitor-DyRkvAJd.js +0 -1370
  886. package/dist/monitor-IiG3eV5_.js +0 -1657
  887. package/dist/monitor-auth-D_0zoeLn.js +0 -179
  888. package/dist/monitor-polling.runtime-BXzw5egF.js +0 -883
  889. package/dist/monitor-webhook.runtime-C3arPPzi.js +0 -387
  890. package/dist/monitor.account-DrVGHE8V.js +0 -5233
  891. package/dist/monitor.runtime-DPEbukZB.js +0 -2
  892. package/dist/monitor.webhook-jkAnTCQb.js +0 -180
  893. package/dist/node-cli-sessions-DcVj-6eN.js +0 -1228
  894. package/dist/openai-http-CmoI0e7t.js +0 -824
  895. package/dist/openresponses-http-Bi3LSGUc.js +0 -1173
  896. package/dist/operations-9LkwgILD.js +0 -805
  897. package/dist/outbound-adapter-xUTnrNGD.js +0 -543
  898. package/dist/outbound-session-route-CBXkht6a.js +0 -45
  899. package/dist/outbound.runtime-CAgimRZ1.js +0 -2
  900. package/dist/pi-embedded-BKpKsszm.js +0 -4
  901. package/dist/pi-embedded-DmeQCwCt.js +0 -3796
  902. package/dist/pi-embedded.runtime-C283Wor9.js +0 -4
  903. package/dist/pi-tools-B0nJW7W4.js +0 -2413
  904. package/dist/plan-BILA3XMN.js +0 -81
  905. package/dist/plan-DHXchBJq.js +0 -112
  906. package/dist/plugin-CHLmrL9G.js +0 -12396
  907. package/dist/plugin-app-cache-key-C-_klURZ.js +0 -46
  908. package/dist/plugin-enabled-DzYMnPpm.js +0 -233
  909. package/dist/plugin-registration-DLrh8AB5.js +0 -88
  910. package/dist/plugin-service-xm4tv2oM.js +0 -1229
  911. package/dist/policy-BUSsfT7A.js +0 -138
  912. package/dist/policy-BwwL6sP2.js +0 -680
  913. package/dist/prepare.runtime-Dcrb22a5.js +0 -732
  914. package/dist/preview-warnings-Cx__1X43.js +0 -392
  915. package/dist/probe-CevnbYpq.js +0 -682
  916. package/dist/probe-CoEDhBiC.js +0 -2204
  917. package/dist/probe-ConXyeqE.js +0 -2
  918. package/dist/probe-D-jU5onR.js +0 -47
  919. package/dist/program-BBwmibpa.js +0 -131
  920. package/dist/provider--7lUimtp.js +0 -152
  921. package/dist/provider-CCGQtVNI.js +0 -8735
  922. package/dist/provider-DVMSF8i8.js +0 -32
  923. package/dist/provider-R_TaXN59.js +0 -32
  924. package/dist/provider-dispatcher-CYkb3lfL.js +0 -22
  925. package/dist/provider-session.runtime-DzG2BUE9.js +0 -9
  926. package/dist/provider.runtime-D1-pMnoj.js +0 -2
  927. package/dist/public-surface-loader-BZisefzq.js +0 -114
  928. package/dist/pw-ai-Cbau3n7J.js +0 -3029
  929. package/dist/pw-role-snapshot-HeQTrxIk.js +0 -333
  930. package/dist/reaction-level-uJ8tiLpH.js +0 -19
  931. package/dist/reaction-runtime-api-BKUvK5Wn.js +0 -116
  932. package/dist/realtime-transcription-provider-Daix0e58.js +0 -205
  933. package/dist/register-Dj9j6LEv.js +0 -2178
  934. package/dist/register.agent-OiMUcpgI.js +0 -156
  935. package/dist/register.crestodian-CbqhJMEx.js +0 -24
  936. package/dist/register.maintenance-CQILEqsM.js +0 -83
  937. package/dist/register.runtime-BwfUZoFY.js +0 -54
  938. package/dist/register.status-health-sessions-DF6wxmsG.js +0 -282
  939. package/dist/register.subclis-BR2kCzHF.js +0 -31
  940. package/dist/register.subclis-Wd-wKmYg.js +0 -3
  941. package/dist/register.subclis-core-DS7RVqtY.js +0 -273
  942. package/dist/repair-sequencing-DvQQmyrq.js +0 -640
  943. package/dist/reply-delivery-ohbM16VN.js +0 -196
  944. package/dist/reply-runtime-qGOCyyux.js +0 -11
  945. package/dist/reply.runtime-1bVL6Eaa.js +0 -2
  946. package/dist/request-CC3c4Svm.js +0 -54
  947. package/dist/resolve-allowlist-vAhCe75e.js +0 -220
  948. package/dist/result-fallback-classifier-CZtnXmbx.js +0 -79
  949. package/dist/route-resolution-CXaxgYtw.js +0 -274
  950. package/dist/route-uo5aoUdQ.js +0 -469
  951. package/dist/routes-BqtrHP28.js +0 -2
  952. package/dist/routes-pIjFm3n0.js +0 -3602
  953. package/dist/run-DYwW1kIR.js +0 -1162
  954. package/dist/run-attempt-B2GDG3uT.js +0 -7704
  955. package/dist/run-command-CbUIDjYf.js +0 -2
  956. package/dist/run-command-DHOIYQm_.js +0 -23
  957. package/dist/run-embedded.runtime-g47oIqaL.js +0 -4
  958. package/dist/run-execution-cli.runtime-zQ48ZAc5.js +0 -4
  959. package/dist/run-subagent-registry.runtime-CXj8K_pJ.js +0 -2
  960. package/dist/runtime-CjTLh1Zl.js +0 -6179
  961. package/dist/runtime-NVf_F_HM.js +0 -1287
  962. package/dist/runtime-Z5_yALHT.js +0 -438
  963. package/dist/runtime-api-BExObylL.js +0 -17
  964. package/dist/runtime-api-BfCI6iAu.js +0 -3
  965. package/dist/runtime-api-BkzOHOsq.js +0 -13
  966. package/dist/runtime-api-BtVSnSI4.js +0 -4
  967. package/dist/runtime-api-DLHn_SE-.js +0 -24
  968. package/dist/runtime-api-_nsdMn3H.js +0 -13
  969. package/dist/runtime-api-qMRycIAN.js +0 -21
  970. package/dist/runtime-api.actions-UmkTxLGC.js +0 -3
  971. package/dist/runtime-api.monitor-JDAShUxC.js +0 -6
  972. package/dist/runtime-api.send-B65J_Lod.js +0 -4
  973. package/dist/runtime-api.threads-B7tsKPA_.js +0 -2
  974. package/dist/runtime-channel-Bs6XTsp4.js +0 -150
  975. package/dist/runtime-channel-C3WZVBBg.js +0 -2
  976. package/dist/runtime-embedded-pi.runtime-P8AdyyIu.js +0 -2
  977. package/dist/sanitize-outbound-Bt4-FGfp.js +0 -127
  978. package/dist/sdk-setup-tools-CfyJODAu.js +0 -8
  979. package/dist/secrets-DjmhS0YO.js +0 -113
  980. package/dist/security-audit-CKVBQPWN.js +0 -118
  981. package/dist/security-audit-D9IeXoG3.js +0 -122
  982. package/dist/security-audit.runtime-CYMQTOM9.js +0 -2
  983. package/dist/selection--wvE7VOv.js +0 -16157
  984. package/dist/selection-y-7QPgGA.js +0 -3
  985. package/dist/send-BlmkYrI0.js +0 -1631
  986. package/dist/send-CbkEX0QM.js +0 -143
  987. package/dist/send-Cmn4RsqA.js +0 -192
  988. package/dist/send-Dug9BZ9D.js +0 -2
  989. package/dist/send.components-CyaKuD2L.js +0 -500
  990. package/dist/send.components-PcOc-Ovz.js +0 -2
  991. package/dist/send.runtime-xY6hEtyv.js +0 -2
  992. package/dist/server-BnGgr3PE.js +0 -73
  993. package/dist/server-DSUxFJfU.js +0 -24
  994. package/dist/server-context-CLKwYCyu.js +0 -955
  995. package/dist/server-context-CYVPTQQC.js +0 -2
  996. package/dist/server-cron-B1jBiRyb.js +0 -2989
  997. package/dist/server-cron-X77jGOEU.js +0 -2
  998. package/dist/server-maintenance-Y0NvZrH-.js +0 -167
  999. package/dist/server-methods-BBnXSrf2.js +0 -16494
  1000. package/dist/server-node-events-BUsL79RS.js +0 -596
  1001. package/dist/server-plugin-bootstrap-ALp-FJwj.js +0 -70
  1002. package/dist/server-plugins-ufO_8NhB.js +0 -432
  1003. package/dist/server-reload-handlers-CPiyHZtT.js +0 -714
  1004. package/dist/server-restart-sentinel-CQk6eeWM.js +0 -747
  1005. package/dist/server-restart-sentinel-D3cRaMdv.js +0 -2
  1006. package/dist/server-runtime-services-Bu0xO9C9.js +0 -2
  1007. package/dist/server-runtime-services-DXP2sVWQ.js +0 -267
  1008. package/dist/server-startup-early-5UM54scV.js +0 -87
  1009. package/dist/server-startup-plugins-CQ_pYS5Y.js +0 -113
  1010. package/dist/server-startup-post-attach-Ja8NHfJQ.js +0 -716
  1011. package/dist/server-ws-runtime-DNH4m_Ix.js +0 -349
  1012. package/dist/server.impl-BXCtVnO2.js +0 -2586
  1013. package/dist/service-wi5zUseG.js +0 -1446
  1014. package/dist/session-binding-BUfCOB1r.js +0 -219
  1015. package/dist/session-binding-DBdZdGMb.js +0 -2
  1016. package/dist/session-kill-http-PtCc8zMl.js +0 -121
  1017. package/dist/session-reset-service-BOBmro8l.js +0 -625
  1018. package/dist/session-route-CJUmMLQC.js +0 -93
  1019. package/dist/session-status.runtime-C10K54fr.js +0 -2
  1020. package/dist/session-subagent-reactivation.runtime-DfIyTUKb.js +0 -2
  1021. package/dist/session-tab-registry-DQbVw6TC.js +0 -521
  1022. package/dist/sessions-history-http-BX2MupcW.js +0 -430
  1023. package/dist/sessions.runtime-C2inYyN4.js +0 -2
  1024. package/dist/setup-api-LkhGnkD8.js +0 -29
  1025. package/dist/setup-core-CinEapxM.js +0 -174
  1026. package/dist/setup-surface-BCtf5vsv.js +0 -221
  1027. package/dist/setup-surface-BlIPVefp.js +0 -320
  1028. package/dist/setup-surface-CfGI8GXG.js +0 -288
  1029. package/dist/setup-surface-Cpi2A6hH.js +0 -405
  1030. package/dist/shared-D57heBsq.js +0 -121
  1031. package/dist/shared-client-BNqlZyQZ.js +0 -2
  1032. package/dist/shared-client-DkXSWGuf.js +0 -629
  1033. package/dist/side-question-CJpQXQwO.js +0 -683
  1034. package/dist/skill-tool-dispatch.runtime-DFIYzLB7.js +0 -143
  1035. package/dist/slash-state-PVFVXsf5.js +0 -2166
  1036. package/dist/speech-provider-BYMES40R.js +0 -184
  1037. package/dist/src-Cig0nIaB.js +0 -4256
  1038. package/dist/startup-context-BhCfCVUP.js +0 -313
  1039. package/dist/status-BUGiySd0.js +0 -3
  1040. package/dist/status-CCUVxq2T.js +0 -4
  1041. package/dist/status-all-DVmRki9n.js +0 -573
  1042. package/dist/status-json-C9yB-I_P.js +0 -14
  1043. package/dist/status-json-command-DLiHHY4-.js +0 -84
  1044. package/dist/status-runtime-shared-CVVr1-B8.js +0 -283
  1045. package/dist/status-subagents.runtime-Dnd_-sFp.js +0 -18
  1046. package/dist/status-text-Bv7B6Qvi.js +0 -296
  1047. package/dist/status.command-CgQ_YxAV.js +0 -2
  1048. package/dist/status.command-DljDx7Pt.js +0 -420
  1049. package/dist/status.command.text-runtime-HPfXUUVK.js +0 -15
  1050. package/dist/status.scan-XGVKT6BH.js +0 -68
  1051. package/dist/status.scan-overview-BdO_Dwpk.js +0 -444
  1052. package/dist/status.scan.fast-json-BbfAYFaX.js +0 -2
  1053. package/dist/status.scan.fast-json-CixCI_VT.js +0 -127
  1054. package/dist/status.scan.runtime-c77nmHB8.js +0 -479
  1055. package/dist/status.update-CgJc9Ame.js +0 -2
  1056. package/dist/status.update-DxUx2UCj.js +0 -86
  1057. package/dist/sticker-cache-zbRCf5UY.js +0 -206
  1058. package/dist/sticker-vision.runtime-D8hb_hbK.js +0 -17
  1059. package/dist/subagent-announce-D-tCpxB7.js +0 -354
  1060. package/dist/subagent-announce-delivery-CV9sHBb8.js +0 -958
  1061. package/dist/subagent-control-B71yROQ1.js +0 -508
  1062. package/dist/subagent-hooks-5z9r_kyU.js +0 -230
  1063. package/dist/subagent-hooks-B9N4nO9J.js +0 -2
  1064. package/dist/subagent-hooks-Bqm8GC4e.js +0 -116
  1065. package/dist/subagent-hooks-CH64M3D2.js +0 -2
  1066. package/dist/subagent-hooks-YX204bTO.js +0 -2
  1067. package/dist/subagent-hooks-api-22u-zraT.js +0 -23
  1068. package/dist/subagent-hooks-api-CZbBhZq3.js +0 -23
  1069. package/dist/subagent-hooks-api-Ji-FhB1I.js +0 -22
  1070. package/dist/subagent-hooks-yIneGe_q.js +0 -146
  1071. package/dist/subagent-orphan-recovery-BR2b7ZZK.js +0 -352
  1072. package/dist/subagent-registry-7llbjThI.js +0 -2351
  1073. package/dist/subagent-registry-IXRntXRj.js +0 -3
  1074. package/dist/subagent-session-cleanup-Ckvz5u4B.js +0 -525
  1075. package/dist/subagent-spawn-28HeMeKx.js +0 -1164
  1076. package/dist/target-id-CGBWkCke.js +0 -107
  1077. package/dist/targets-B8kgW-Y8.js +0 -19
  1078. package/dist/targets-BhYsYz4Q.js +0 -44
  1079. package/dist/targets-Dl-MgHWz.js +0 -19
  1080. package/dist/testing-CwJ9EDFR.js +0 -267
  1081. package/dist/text-report-97aYC9pB.js +0 -695
  1082. package/dist/thread-bindings-B6t8Q4ba.js +0 -8
  1083. package/dist/thread-bindings-B9f-_sFy.js +0 -571
  1084. package/dist/thread-bindings-CJDUpwXD.js +0 -228
  1085. package/dist/thread-bindings-DxvjdbzW.js +0 -232
  1086. package/dist/thread-bindings.discord-api-CnRP-DSi.js +0 -187
  1087. package/dist/thread-bindings.manager-2B6_nSpQ.js +0 -536
  1088. package/dist/thread-bindings.manager-C_n--VnJ.js +0 -2
  1089. package/dist/thread-lifecycle-C2hLLuqe.js +0 -1614
  1090. package/dist/token-Bo7-r-aE.js +0 -134
  1091. package/dist/tool-BLIlzoql.js +0 -139
  1092. package/dist/tool-actions.runtime-CXZ0UNkZ.js +0 -534
  1093. package/dist/tool-resolution-BqtQFCPq.js +0 -149
  1094. package/dist/tools-effective-inventory-DABx239z.js +0 -204
  1095. package/dist/tools-invoke-http-8pjepRT1.js +0 -67
  1096. package/dist/tools-invoke-shared-l5WK0ntS.js +0 -200
  1097. package/dist/tts-BIYGM92g.js +0 -66
  1098. package/dist/tui-DCykl3IU.js +0 -4709
  1099. package/dist/tui-DzUa_vFQ.js +0 -2
  1100. package/dist/tui-backend-BJUtldXg.js +0 -256
  1101. package/dist/tui-cli-C-Q6SJc7.js +0 -37
  1102. package/dist/update-check-BKUpUW-v.js +0 -372
  1103. package/dist/update-cli-DA6H6wa0.js +0 -3664
  1104. package/dist/update-runner-C680U-SL.js +0 -2379
  1105. package/dist/update-startup-D26cmPn-.js +0 -2
  1106. package/dist/update-startup-XLbXHCT1.js +0 -339
  1107. package/dist/vision-tools-DJ4y7cV-.js +0 -1409
  1108. package/dist/web-search-DpV8PBBY.js +0 -62
  1109. package/dist/web-search-provider.runtime-Bmvff7rR.js +0 -2
  1110. package/dist/web-search-provider.runtime-CY9JJJoF.js +0 -328
  1111. package/dist/xai-oauth-gj-8ubLa.js +0 -479
  1112. package/dist/xai-user-agent-D4JRRc1W.js +0 -32
  1113. /package/dist/{acp-runtime-backend-DL9bHzqW.js → acp-runtime-backend-DFDX5U10.js} +0 -0
  1114. /package/dist/{channel-actions-CMf4W2nb.js → channel-actions-DMH2vVzJ.js} +0 -0
  1115. /package/dist/{command-status-runtime-CFttYerC.js → command-status-runtime-Du_onNYh.js} +0 -0
  1116. /package/dist/{delegate-D6LGFAf5.js → delegate-CDb4qcfr.js} +0 -0
  1117. /package/dist/{dispatch-acp-aDmm-ClP.js → dispatch-acp-0Se8OniI.js} +0 -0
  1118. /package/dist/{heartbeat-runner-CA3FnKVt.js → heartbeat-runner-BdsqQ3pi.js} +0 -0
  1119. /package/dist/{library-Bwpqe3Xn.js → library-CsfrQOyp.js} +0 -0
  1120. /package/dist/{run-executor.runtime-BDRmO1Qf.js → run-executor.runtime-OlsZwyZw.js} +0 -0
  1121. /package/dist/{shared-DMRXpVQc.js → shared-DxV6gup5.js} +0 -0
@@ -1,1556 +0,0 @@
1
- import { a as normalizeLowercaseStringOrEmpty, c as normalizeOptionalString, s as normalizeOptionalLowercaseString } from "./string-coerce-DyL154ka.js";
2
- import { v as resolveStateDir } from "./paths-ZwPDM6zn.js";
3
- import { i as formatErrorMessage } from "./errors-D_oyTIw2.js";
4
- import { t as formatCliCommand } from "./command-format-tWmMYcvZ.js";
5
- import { c as isRecord } from "./utils-CNnMhEDp.js";
6
- import { t as DEFAULT_ACCOUNT_ID } from "./account-id-B32J-iNN.js";
7
- import { i as writeJsonFileAtomically, n as readJsonFileWithFallback } from "./json-store-GaAZLixM.js";
8
- import { p as resolvePayloadMediaUrls, y as sendPayloadMediaSequenceOrFallback } from "./reply-payload-DMPQsrQC.js";
9
- import { f as renderMessagePresentationFallbackText, l as normalizeMessagePresentation } from "./payload-BDV15CYA.js";
10
- import { n as resolveChannelGroupRequireMention, r as resolveChannelGroupToolsPolicy } from "./group-policy-CRl_OjIo.js";
11
- import { n as resolveOutboundSendDep } from "./send-deps-B-rmeTVl.js";
12
- import { t as clearAccountEntryFields } from "./config-helpers-a_k3n5UT.js";
13
- import "./error-runtime--zM-GsR-.js";
14
- import "./string-coerce-runtime-DcopKqDR.js";
15
- import { i as resolveTelegramStartupProbeTimeoutMs } from "./request-timeouts-CQOVTeCu.js";
16
- import "./state-paths-C63v_0Tp.js";
17
- import { n as collectTelegramUnmentionedGroupIds, t as auditTelegramGroupMembership } from "./audit-CPuDryPk.js";
18
- import { i as createChatChannelPlugin, n as buildThreadAwareOutboundSessionRoute, t as buildChannelOutboundSessionRoute } from "./core-DDHeEXv5.js";
19
- import "./channel-core-Cip0DXqW.js";
20
- import { t as resolveTelegramToken } from "./token-Bo7-r-aE.js";
21
- import { t as createAccountStatusSink } from "./channel-lifecycle.core-CDt0hRZR.js";
22
- import "./channel-policy-Be-Ujzjr.js";
23
- import { t as createChannelDirectoryAdapter } from "./directory-runtime-C8foW0XO.js";
24
- import { i as splitChannelApprovalCapability, n as createApproverRestrictedNativeApprovalCapability } from "./approval-delivery-helpers-D_JlRAOW.js";
25
- import "./approval-delivery-runtime-D4xMgbb8.js";
26
- import { n as createLazyChannelApprovalNativeRuntimeAdapter } from "./approval-handler-adapter-runtime-uo1rB4v-.js";
27
- import { n as createChannelNativeOriginTargetResolver, t as createChannelApproverDmTargetResolver } from "./approval-native-helpers-BMCNE-DB.js";
28
- import "./approval-native-runtime-UafzK2xu.js";
29
- import { a as resolveConfiguredFromCredentialStatuses, r as projectCredentialSnapshotFields } from "./account-snapshot-fields-CsPbIXZ6.js";
30
- import "./cli-runtime-DzLh8RWR.js";
31
- import { c as createNestedAllowlistOverrideResolver, n as buildDmGroupAccountAllowlistAdapter } from "./allowlist-config-edit-OwKyYFCD.js";
32
- import { t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-DUsvXiNR.js";
33
- import { _ as resolveEnabledConfiguredAccountId, d as createDefaultChannelRuntimeState, m as asString, o as buildTokenChannelStatusSummary, p as appendMatchMetadata, u as createComputedAccountStatusAdapter } from "./status-helpers-nyf_mfYa.js";
34
- import "./channel-status-1yY-1IXP.js";
35
- import "./channel-lifecycle-DDnbT5P-.js";
36
- import { k as createChannelMessageAdapterFromOutbound } from "./channel-message-YAmKOwAT.js";
37
- import { i as createPairingPrefixStripper } from "./channel-pairing-BQeyBt0a.js";
38
- import { i as createAttachedChannelResultAdapter, t as attachChannelToResult } from "./channel-send-result-swFdRKhg.js";
39
- import { o as resolveTelegramAccount, r as listTelegramAccountIds } from "./accounts-DHkZahnb.js";
40
- import { i as parseTelegramTarget, n as normalizeTelegramChatId, r as normalizeTelegramLookupTarget } from "./targets-D0gFWyUZ.js";
41
- import { a as telegramConfigAdapter, c as telegramSecurityAdapter, i as formatDuplicateTelegramTokenReason, n as createTelegramPluginBase, o as telegramSetupWizard, r as findTelegramTokenOwnerAccountId, s as telegramSetupAdapter, u as lookupTelegramChatId } from "./channel.setup-0jZeZ91N.js";
42
- import { r as resolveTelegramInlineButtonsScope } from "./inline-buttons-CBfC5L_C.js";
43
- import { c as resolveTelegramExecApprovalTarget, f as shouldSuppressLocalTelegramExecApprovalPrompt, i as isTelegramExecApprovalClientEnabled, n as isTelegramExecApprovalApprover, o as isTelegramExecApprovalTargetRecipient, r as isTelegramExecApprovalAuthorizedSender, t as getTelegramExecApprovalApprovers, u as shouldHandleTelegramExecApprovalRequest } from "./exec-approvals-CwwQA-_B.js";
44
- import { X as parseTelegramThreadId, Y as parseTelegramReplyToMessageId, d as buildTelegramGroupPeerId, i as markdownToTelegramHtmlChunks, o as splitTelegramHtmlChunks } from "./format-BrgWhpMP.js";
45
- import { a as buildTelegramExecApprovalPendingPayload, c as normalizeTelegramBotInfo, i as releaseStoppedTelegramPollingLease, r as monitorTelegramProvider, s as telegramMessageActions$1, t as probeTelegram } from "./probe-CevnbYpq.js";
46
- import { t as fingerprintTelegramBotToken } from "./token-fingerprint-5R81vEJi.js";
47
- import { n as listTelegramDirectoryPeersFromConfig, t as listTelegramDirectoryGroupsFromConfig } from "./directory-config-f_KczIyD.js";
48
- import { t as resolveTelegramInlineButtons } from "./button-types-C0Gyj4Tz.js";
49
- import { t as resolveTelegramInteractiveTextFallback } from "./interactive-fallback-hkNKT0cd.js";
50
- import { t as resolveTelegramReactionLevel } from "./reaction-level-uJ8tiLpH.js";
51
- import { t as getTelegramRuntime } from "./runtime-D-PBTM2d.js";
52
- import { t as parseTelegramTopicConversation } from "./topic-conversation-B6kdtLDb.js";
53
- import { n as resolveTelegramSessionTarget, t as resolveTelegramSessionConversation } from "./session-conversation-DmwVjXct.js";
54
- import { t as detectTelegramLegacyStateMigrations } from "./state-migrations-DU9px5nD.js";
55
- import { a as setTelegramThreadBindingMaxAgeBySessionKey, i as setTelegramThreadBindingIdleTimeoutBySessionKey, t as createTelegramThreadBindingManager } from "./thread-bindings-B9f-_sFy.js";
56
- import path from "node:path";
57
- import fs from "node:fs/promises";
58
- import os from "node:os";
59
- //#region extensions/telegram/src/action-threading.ts
60
- function resolveTelegramAutoThreadId(params) {
61
- const context = params.toolContext;
62
- if (!context?.currentThreadTs || !context.currentChannelId) return;
63
- const parsedTo = parseTelegramTarget(params.to);
64
- if (parsedTo.messageThreadId != null) return;
65
- const parsedChannel = parseTelegramTarget(context.currentChannelId);
66
- if (normalizeLowercaseStringOrEmpty(parsedTo.chatId) !== normalizeLowercaseStringOrEmpty(parsedChannel.chatId)) return;
67
- return context.currentThreadTs;
68
- }
69
- //#endregion
70
- //#region extensions/telegram/src/approval-native.ts
71
- function resolveTurnSourceTelegramOriginTarget(request) {
72
- const turnSourceChannel = normalizeLowercaseStringOrEmpty(request.request.turnSourceChannel);
73
- const rawTurnSourceTo = normalizeOptionalString(request.request.turnSourceTo) ?? "";
74
- const parsedTurnSourceTarget = rawTurnSourceTo ? parseTelegramTarget(rawTurnSourceTo) : null;
75
- const turnSourceTo = normalizeTelegramChatId(parsedTurnSourceTarget?.chatId ?? rawTurnSourceTo);
76
- if (turnSourceChannel !== "telegram" || !turnSourceTo) return null;
77
- return {
78
- to: turnSourceTo,
79
- threadId: parseTelegramThreadId(request.request.turnSourceThreadId ?? parsedTurnSourceTarget?.messageThreadId ?? void 0)
80
- };
81
- }
82
- function resolveSessionTelegramOriginTarget(sessionTarget) {
83
- return {
84
- to: normalizeTelegramChatId(sessionTarget.to) ?? sessionTarget.to,
85
- threadId: parseTelegramThreadId(sessionTarget.threadId)
86
- };
87
- }
88
- const telegramNativeApprovalCapability = createApproverRestrictedNativeApprovalCapability({
89
- channel: "telegram",
90
- channelLabel: "Telegram",
91
- describeExecApprovalSetup: ({ accountId }) => {
92
- const prefix = accountId && accountId !== "default" ? `channels.telegram.accounts.${accountId}` : "channels.telegram";
93
- return `Approve it from the Web UI or terminal UI for now. Telegram supports native exec approvals for this account. Configure \`${prefix}.execApprovals.approvers\` or \`commands.ownerAllowFrom\`; leave \`${prefix}.execApprovals.enabled\` unset/\`auto\` or set it to \`true\`.`;
94
- },
95
- listAccountIds: listTelegramAccountIds,
96
- hasApprovers: ({ cfg, accountId }) => getTelegramExecApprovalApprovers({
97
- cfg,
98
- accountId
99
- }).length > 0,
100
- isExecAuthorizedSender: ({ cfg, accountId, senderId }) => isTelegramExecApprovalAuthorizedSender({
101
- cfg,
102
- accountId,
103
- senderId
104
- }),
105
- isPluginAuthorizedSender: ({ cfg, accountId, senderId }) => isTelegramExecApprovalApprover({
106
- cfg,
107
- accountId,
108
- senderId
109
- }),
110
- isNativeDeliveryEnabled: ({ cfg, accountId }) => isTelegramExecApprovalClientEnabled({
111
- cfg,
112
- accountId
113
- }),
114
- resolveNativeDeliveryMode: ({ cfg, accountId }) => resolveTelegramExecApprovalTarget({
115
- cfg,
116
- accountId
117
- }),
118
- requireMatchingTurnSourceChannel: true,
119
- resolveSuppressionAccountId: ({ target, request }) => normalizeOptionalString(target.accountId) ?? normalizeOptionalString(request.request.turnSourceAccountId),
120
- resolveOriginTarget: createChannelNativeOriginTargetResolver({
121
- channel: "telegram",
122
- shouldHandleRequest: ({ cfg, accountId, request }) => shouldHandleTelegramExecApprovalRequest({
123
- cfg,
124
- accountId,
125
- request
126
- }),
127
- resolveTurnSourceTarget: resolveTurnSourceTelegramOriginTarget,
128
- resolveSessionTarget: resolveSessionTelegramOriginTarget
129
- }),
130
- resolveApproverDmTargets: createChannelApproverDmTargetResolver({
131
- shouldHandleRequest: ({ cfg, accountId, request }) => shouldHandleTelegramExecApprovalRequest({
132
- cfg,
133
- accountId,
134
- request
135
- }),
136
- resolveApprovers: getTelegramExecApprovalApprovers,
137
- mapApprover: (approver) => ({ to: approver })
138
- }),
139
- notifyOriginWhenDmOnly: true,
140
- nativeRuntime: createLazyChannelApprovalNativeRuntimeAdapter({
141
- eventKinds: ["exec", "plugin"],
142
- isConfigured: ({ cfg, accountId }) => isTelegramExecApprovalClientEnabled({
143
- cfg,
144
- accountId
145
- }),
146
- shouldHandle: ({ cfg, accountId, request }) => shouldHandleTelegramExecApprovalRequest({
147
- cfg,
148
- accountId,
149
- request
150
- }),
151
- load: async () => (await import("./approval-handler.runtime-BIKhPCUE.js")).telegramApprovalNativeRuntime
152
- })
153
- });
154
- const resolveTelegramApproveCommandBehavior = (params) => {
155
- const { cfg, accountId, senderId, approvalKind } = params;
156
- if (approvalKind !== "exec") return;
157
- if (isTelegramExecApprovalClientEnabled({
158
- cfg,
159
- accountId
160
- })) return;
161
- if (isTelegramExecApprovalTargetRecipient({
162
- cfg,
163
- accountId,
164
- senderId
165
- })) return;
166
- if (isTelegramExecApprovalAuthorizedSender({
167
- cfg,
168
- accountId,
169
- senderId
170
- }) && !isTelegramExecApprovalApprover({
171
- cfg,
172
- accountId,
173
- senderId
174
- })) return;
175
- return {
176
- kind: "reply",
177
- text: "❌ Telegram exec approvals are not enabled for this bot account."
178
- };
179
- };
180
- const telegramApprovalCapability = {
181
- ...telegramNativeApprovalCapability,
182
- resolveApproveCommandBehavior: resolveTelegramApproveCommandBehavior
183
- };
184
- splitChannelApprovalCapability(telegramApprovalCapability);
185
- //#endregion
186
- //#region extensions/telegram/src/bot-info-cache.ts
187
- const STORE_VERSION = 1;
188
- function normalizeAccountId(accountId) {
189
- const trimmed = accountId?.trim();
190
- if (!trimmed) return "default";
191
- return trimmed.replace(/[^a-z0-9._-]+/gi, "_");
192
- }
193
- function fingerprintFromToken(botToken) {
194
- const trimmed = botToken?.trim();
195
- if (!trimmed) return null;
196
- return fingerprintTelegramBotToken(trimmed);
197
- }
198
- function resolveTelegramBotInfoCachePath(accountId, env = process.env) {
199
- const stateDir = resolveStateDir(env, os.homedir);
200
- return path.join(stateDir, "telegram", `bot-info-${normalizeAccountId(accountId)}.json`);
201
- }
202
- function parseCachedTelegramBotInfo(value) {
203
- if (!value || typeof value !== "object") return null;
204
- const state = value;
205
- if (state.version !== STORE_VERSION || typeof state.tokenFingerprint !== "string" || typeof state.fetchedAt !== "string" || Number.isNaN(Date.parse(state.fetchedAt))) return null;
206
- const botInfo = normalizeTelegramBotInfo(state.botInfo);
207
- if (!botInfo) return null;
208
- return {
209
- version: STORE_VERSION,
210
- tokenFingerprint: state.tokenFingerprint,
211
- fetchedAt: state.fetchedAt,
212
- botInfo
213
- };
214
- }
215
- async function readCachedTelegramBotInfo(params) {
216
- const tokenFingerprint = fingerprintFromToken(params.botToken);
217
- if (!tokenFingerprint) return null;
218
- const { value } = await readJsonFileWithFallback(resolveTelegramBotInfoCachePath(params.accountId, params.env), null);
219
- const parsed = parseCachedTelegramBotInfo(value);
220
- if (!parsed || parsed.tokenFingerprint !== tokenFingerprint) return null;
221
- const fetchedAtMs = Date.parse(parsed.fetchedAt);
222
- if ((params.now?.getTime() ?? Date.now()) - fetchedAtMs > 864e5) return null;
223
- return {
224
- botInfo: parsed.botInfo,
225
- fetchedAt: parsed.fetchedAt
226
- };
227
- }
228
- async function writeCachedTelegramBotInfo(params) {
229
- const tokenFingerprint = fingerprintFromToken(params.botToken);
230
- if (!tokenFingerprint) return;
231
- await writeJsonFileAtomically(resolveTelegramBotInfoCachePath(params.accountId, params.env), {
232
- version: STORE_VERSION,
233
- tokenFingerprint,
234
- fetchedAt: (/* @__PURE__ */ new Date()).toISOString(),
235
- botInfo: params.botInfo
236
- });
237
- }
238
- async function deleteCachedTelegramBotInfo(params) {
239
- const filePath = resolveTelegramBotInfoCachePath(params.accountId, params.env);
240
- try {
241
- await fs.unlink(filePath);
242
- } catch (err) {
243
- if (err.code === "ENOENT") return;
244
- throw err;
245
- }
246
- }
247
- //#endregion
248
- //#region extensions/telegram/src/group-policy.ts
249
- function parseTelegramGroupId(value) {
250
- const raw = value?.trim() ?? "";
251
- if (!raw) return {
252
- chatId: void 0,
253
- topicId: void 0
254
- };
255
- const parts = raw.split(":").filter(Boolean);
256
- if (parts.length >= 3 && parts[1] === "topic" && /^-?\d+$/.test(parts[0]) && /^\d+$/.test(parts[2])) return {
257
- chatId: parts[0],
258
- topicId: parts[2]
259
- };
260
- if (parts.length >= 2 && /^-?\d+$/.test(parts[0]) && /^\d+$/.test(parts[1])) return {
261
- chatId: parts[0],
262
- topicId: parts[1]
263
- };
264
- return {
265
- chatId: raw,
266
- topicId: void 0
267
- };
268
- }
269
- function resolveTelegramRequireMention(params) {
270
- const { cfg, chatId, topicId, accountId } = params;
271
- if (!chatId) return;
272
- const scopedGroups = (accountId ? cfg.channels?.telegram?.accounts?.[accountId]?.groups : void 0) ?? cfg.channels?.telegram?.groups;
273
- const groupConfig = scopedGroups?.[chatId];
274
- const groupDefault = scopedGroups?.["*"];
275
- const topicConfig = topicId && groupConfig?.topics ? groupConfig.topics[topicId] : void 0;
276
- const defaultTopicConfig = topicId && groupDefault?.topics ? groupDefault.topics[topicId] : void 0;
277
- if (typeof topicConfig?.requireMention === "boolean") return topicConfig.requireMention;
278
- if (typeof defaultTopicConfig?.requireMention === "boolean") return defaultTopicConfig.requireMention;
279
- if (typeof groupConfig?.requireMention === "boolean") return groupConfig.requireMention;
280
- if (typeof groupDefault?.requireMention === "boolean") return groupDefault.requireMention;
281
- }
282
- function resolveTelegramGroupRequireMention(params) {
283
- const { chatId, topicId } = parseTelegramGroupId(params.groupId);
284
- const requireMention = resolveTelegramRequireMention({
285
- cfg: params.cfg,
286
- chatId,
287
- topicId,
288
- accountId: params.accountId
289
- });
290
- if (typeof requireMention === "boolean") return requireMention;
291
- return resolveChannelGroupRequireMention({
292
- cfg: params.cfg,
293
- channel: "telegram",
294
- groupId: chatId ?? params.groupId,
295
- accountId: params.accountId
296
- });
297
- }
298
- function resolveTelegramGroupToolPolicy(params) {
299
- const { chatId } = parseTelegramGroupId(params.groupId);
300
- return resolveChannelGroupToolsPolicy({
301
- cfg: params.cfg,
302
- channel: "telegram",
303
- groupId: chatId ?? params.groupId,
304
- accountId: params.accountId,
305
- senderId: params.senderId,
306
- senderName: params.senderName,
307
- senderUsername: params.senderUsername,
308
- senderE164: params.senderE164
309
- });
310
- }
311
- //#endregion
312
- //#region extensions/telegram/src/normalize.ts
313
- const TELEGRAM_PREFIX_RE = /^(telegram|tg):/i;
314
- function normalizeTelegramTargetBody(raw) {
315
- const trimmed = raw.trim();
316
- if (!trimmed) return;
317
- const prefixStripped = trimmed.replace(TELEGRAM_PREFIX_RE, "").trim();
318
- if (!prefixStripped) return;
319
- const parsed = parseTelegramTarget(trimmed);
320
- const normalizedChatId = normalizeTelegramLookupTarget(parsed.chatId);
321
- if (!normalizedChatId) return;
322
- const keepLegacyGroupPrefix = /^group:/i.test(prefixStripped);
323
- const hasTopicSuffix = /:topic:\d+$/i.test(prefixStripped);
324
- const chatSegment = keepLegacyGroupPrefix ? `group:${normalizedChatId}` : normalizedChatId;
325
- if (parsed.messageThreadId == null) return chatSegment;
326
- return `${chatSegment}${hasTopicSuffix ? `:topic:${parsed.messageThreadId}` : `:${parsed.messageThreadId}`}`;
327
- }
328
- function normalizeTelegramMessagingTarget(raw) {
329
- const normalizedBody = normalizeTelegramTargetBody(raw);
330
- if (!normalizedBody) return;
331
- return normalizeLowercaseStringOrEmpty(`telegram:${normalizedBody}`);
332
- }
333
- function looksLikeTelegramTargetId(raw) {
334
- return normalizeTelegramTargetBody(raw) !== void 0;
335
- }
336
- //#endregion
337
- //#region extensions/telegram/src/outbound-adapter.ts
338
- const TELEGRAM_TEXT_CHUNK_LIMIT = 4e3;
339
- let telegramSendModulePromise$1;
340
- async function loadTelegramSendModule$1() {
341
- telegramSendModulePromise$1 ??= import("./send-Dug9BZ9D.js");
342
- return await telegramSendModulePromise$1;
343
- }
344
- async function resolveDefaultTelegramSend(deps) {
345
- return resolveOutboundSendDep(deps, "telegram") ?? (await loadTelegramSendModule$1()).sendMessageTelegram;
346
- }
347
- function chunkTelegramOutboundText(text, limit, ctx) {
348
- return ctx?.formatting?.parseMode === "HTML" ? splitTelegramHtmlChunks(text, limit) : markdownToTelegramHtmlChunks(text, limit, { tableMode: ctx?.formatting?.tableMode });
349
- }
350
- async function resolveTelegramSendContext(params) {
351
- return {
352
- send: await params.resolveSend(params.deps),
353
- baseOpts: {
354
- verbose: false,
355
- cfg: params.cfg,
356
- messageThreadId: parseTelegramThreadId(params.threadId),
357
- replyToMessageId: parseTelegramReplyToMessageId(params.replyToId),
358
- accountId: params.accountId ?? void 0,
359
- silent: params.silent,
360
- gatewayClientScopes: params.gatewayClientScopes,
361
- ...params.formatting?.parseMode === "HTML" ? { textMode: "html" } : {}
362
- }
363
- };
364
- }
365
- async function sendTelegramPayloadMessages(params) {
366
- const telegramData = params.payload.channelData?.telegram;
367
- const quoteText = typeof telegramData?.quoteText === "string" ? telegramData.quoteText : void 0;
368
- const presentation = normalizeMessagePresentation(params.payload.presentation);
369
- const text = resolveTelegramInteractiveTextFallback({
370
- text: params.payload.text,
371
- interactive: params.payload.interactive,
372
- presentation
373
- }) ?? "";
374
- const mediaUrls = resolvePayloadMediaUrls(params.payload);
375
- const buttons = resolveTelegramInlineButtons({
376
- buttons: telegramData?.buttons,
377
- presentation,
378
- interactive: params.payload.interactive
379
- });
380
- const payloadOpts = {
381
- ...params.baseOpts,
382
- quoteText,
383
- ...params.payload.audioAsVoice === true ? { asVoice: true } : {}
384
- };
385
- return await sendPayloadMediaSequenceOrFallback({
386
- text,
387
- mediaUrls,
388
- fallbackResult: {
389
- messageId: "unknown",
390
- chatId: params.to
391
- },
392
- sendNoMedia: async () => await params.send(params.to, text, {
393
- ...payloadOpts,
394
- buttons
395
- }),
396
- send: async ({ text, mediaUrl, isFirst }) => await params.send(params.to, text, {
397
- ...payloadOpts,
398
- mediaUrl,
399
- ...isFirst ? { buttons } : {}
400
- })
401
- });
402
- }
403
- function createTelegramOutboundAdapter(options = {}) {
404
- const resolveSend = options.resolveSend ?? resolveDefaultTelegramSend;
405
- const loadSendModule = options.loadSendModule ?? loadTelegramSendModule$1;
406
- return {
407
- deliveryMode: "direct",
408
- chunker: chunkTelegramOutboundText,
409
- chunkerMode: "markdown",
410
- chunkedTextFormatting: { parseMode: "HTML" },
411
- extractMarkdownImages: true,
412
- textChunkLimit: TELEGRAM_TEXT_CHUNK_LIMIT,
413
- shouldSuppressLocalPayloadPrompt: options.shouldSuppressLocalPayloadPrompt,
414
- beforeDeliverPayload: options.beforeDeliverPayload,
415
- shouldTreatDeliveredTextAsVisible: options.shouldTreatDeliveredTextAsVisible,
416
- targetsMatchForReplySuppression: options.targetsMatchForReplySuppression,
417
- preferFinalAssistantVisibleText: options.preferFinalAssistantVisibleText,
418
- presentationCapabilities: {
419
- supported: true,
420
- buttons: true,
421
- selects: true,
422
- context: true,
423
- divider: false,
424
- limits: {
425
- actions: {
426
- maxActions: 100,
427
- maxActionsPerRow: 3,
428
- maxLabelLength: 64,
429
- supportsStyles: false
430
- },
431
- selects: {
432
- maxOptions: 100,
433
- maxLabelLength: 64
434
- },
435
- text: { markdownDialect: "html" }
436
- }
437
- },
438
- deliveryCapabilities: {
439
- pin: true,
440
- durableFinal: {
441
- text: true,
442
- media: true,
443
- payload: true,
444
- silent: true,
445
- replyTo: true,
446
- thread: true,
447
- nativeQuote: false,
448
- messageSendingHooks: true,
449
- batch: true
450
- }
451
- },
452
- renderPresentation: ({ payload, presentation }) => {
453
- const telegramData = payload.channelData?.telegram;
454
- const buttons = telegramData && "buttons" in telegramData || payload.interactive ? void 0 : resolveTelegramInlineButtons({ presentation });
455
- return {
456
- ...payload,
457
- text: renderMessagePresentationFallbackText({
458
- text: payload.text,
459
- presentation
460
- }),
461
- channelData: {
462
- ...payload.channelData,
463
- telegram: {
464
- ...telegramData,
465
- ...buttons ? { buttons } : {}
466
- }
467
- }
468
- };
469
- },
470
- pinDeliveredMessage: async ({ cfg, target, messageId, pin }) => {
471
- const { pinMessageTelegram } = await loadSendModule();
472
- await pinMessageTelegram(target.to, messageId, {
473
- cfg,
474
- accountId: target.accountId ?? void 0,
475
- notify: pin.notify,
476
- verbose: false
477
- });
478
- },
479
- resolveEffectiveTextChunkLimit: ({ fallbackLimit }) => typeof fallbackLimit === "number" ? Math.min(fallbackLimit, 4096) : 4096,
480
- pollMaxOptions: 10,
481
- supportsPollDurationSeconds: true,
482
- supportsAnonymousPolls: true,
483
- ...createAttachedChannelResultAdapter({
484
- channel: "telegram",
485
- sendText: async ({ cfg, to, text, accountId, deps, replyToId, threadId, formatting, silent, gatewayClientScopes }) => {
486
- const { send, baseOpts } = await resolveTelegramSendContext({
487
- cfg,
488
- deps,
489
- accountId,
490
- replyToId,
491
- threadId,
492
- formatting,
493
- silent,
494
- gatewayClientScopes,
495
- resolveSend
496
- });
497
- return await send(to, text, { ...baseOpts });
498
- },
499
- sendMedia: async ({ cfg, to, text, mediaUrl, mediaLocalRoots, mediaReadFile, accountId, deps, replyToId, threadId, formatting, forceDocument, silent, gatewayClientScopes }) => {
500
- const { send, baseOpts } = await resolveTelegramSendContext({
501
- cfg,
502
- deps,
503
- accountId,
504
- replyToId,
505
- threadId,
506
- formatting,
507
- silent,
508
- gatewayClientScopes,
509
- resolveSend
510
- });
511
- return await send(to, text, {
512
- ...baseOpts,
513
- mediaUrl,
514
- mediaLocalRoots,
515
- mediaReadFile,
516
- forceDocument: forceDocument ?? false
517
- });
518
- }
519
- }),
520
- sendPayload: async ({ cfg, to, payload, mediaLocalRoots, mediaReadFile, accountId, deps, replyToId, threadId, formatting, forceDocument, silent, gatewayClientScopes }) => {
521
- const { send, baseOpts } = await resolveTelegramSendContext({
522
- cfg,
523
- deps,
524
- accountId,
525
- replyToId,
526
- threadId,
527
- formatting,
528
- silent,
529
- gatewayClientScopes,
530
- resolveSend
531
- });
532
- return attachChannelToResult("telegram", await sendTelegramPayloadMessages({
533
- send,
534
- to,
535
- payload,
536
- baseOpts: {
537
- ...baseOpts,
538
- mediaLocalRoots,
539
- mediaReadFile,
540
- forceDocument: forceDocument ?? false
541
- }
542
- }));
543
- },
544
- sendPoll: async ({ cfg, to, poll, accountId, threadId, silent, isAnonymous, gatewayClientScopes }) => {
545
- const { sendPollTelegram } = await loadSendModule();
546
- return await sendPollTelegram(to, poll, {
547
- cfg,
548
- accountId: accountId ?? void 0,
549
- messageThreadId: parseTelegramThreadId(threadId),
550
- silent: silent ?? void 0,
551
- isAnonymous: isAnonymous ?? void 0,
552
- gatewayClientScopes
553
- });
554
- }
555
- };
556
- }
557
- const telegramOutbound = createTelegramOutboundAdapter();
558
- //#endregion
559
- //#region extensions/telegram/src/startup-probe-limiter.ts
560
- const TELEGRAM_STARTUP_PROBE_CONCURRENCY = 2;
561
- let activeStartupProbes = 0;
562
- const pendingStartupProbeWaiters = [];
563
- function buildStartupProbeAbortError() {
564
- return /* @__PURE__ */ new Error("telegram startup probe wait aborted");
565
- }
566
- function detachAbortHandler(waiter) {
567
- if (!waiter.abortSignal || !waiter.onAbort) return;
568
- waiter.abortSignal.removeEventListener("abort", waiter.onAbort);
569
- }
570
- function removePendingWaiter(waiter) {
571
- const index = pendingStartupProbeWaiters.indexOf(waiter);
572
- if (index >= 0) pendingStartupProbeWaiters.splice(index, 1);
573
- }
574
- function releaseStartupProbeSlot() {
575
- activeStartupProbes = Math.max(0, activeStartupProbes - 1);
576
- drainStartupProbeWaiters();
577
- }
578
- function drainStartupProbeWaiters() {
579
- while (activeStartupProbes < TELEGRAM_STARTUP_PROBE_CONCURRENCY && pendingStartupProbeWaiters.length > 0) {
580
- const waiter = pendingStartupProbeWaiters.shift();
581
- if (!waiter) return;
582
- detachAbortHandler(waiter);
583
- if (waiter.abortSignal?.aborted) {
584
- waiter.reject(buildStartupProbeAbortError());
585
- continue;
586
- }
587
- activeStartupProbes += 1;
588
- waiter.resolve(releaseStartupProbeSlot);
589
- }
590
- }
591
- async function acquireStartupProbeSlot(abortSignal) {
592
- if (abortSignal?.aborted) throw buildStartupProbeAbortError();
593
- if (activeStartupProbes < TELEGRAM_STARTUP_PROBE_CONCURRENCY) {
594
- activeStartupProbes += 1;
595
- return releaseStartupProbeSlot;
596
- }
597
- return await new Promise((resolve, reject) => {
598
- const waiter = {
599
- resolve,
600
- reject,
601
- ...abortSignal ? { abortSignal } : {}
602
- };
603
- waiter.onAbort = () => {
604
- removePendingWaiter(waiter);
605
- reject(buildStartupProbeAbortError());
606
- };
607
- abortSignal?.addEventListener("abort", waiter.onAbort, { once: true });
608
- pendingStartupProbeWaiters.push(waiter);
609
- });
610
- }
611
- async function withTelegramStartupProbeSlot(abortSignal, run) {
612
- const release = await acquireStartupProbeSlot(abortSignal);
613
- try {
614
- if (abortSignal?.aborted) throw buildStartupProbeAbortError();
615
- return await run();
616
- } finally {
617
- release();
618
- }
619
- }
620
- //#endregion
621
- //#region extensions/telegram/src/status-issues.ts
622
- const TELEGRAM_POLLING_CONNECT_GRACE_MS = 12e4;
623
- const TELEGRAM_POLLING_STALE_TRANSPORT_MS = 30 * 6e4;
624
- const TELEGRAM_WEBHOOK_CONNECT_GRACE_MS = 12e4;
625
- function readTelegramAccountStatus(value) {
626
- if (!isRecord(value)) return null;
627
- return {
628
- accountId: value.accountId,
629
- enabled: value.enabled,
630
- configured: value.configured,
631
- running: value.running,
632
- connected: value.connected,
633
- mode: value.mode,
634
- lastStartAt: value.lastStartAt,
635
- lastTransportActivityAt: value.lastTransportActivityAt,
636
- lastError: value.lastError,
637
- allowUnmentionedGroups: value.allowUnmentionedGroups,
638
- audit: value.audit
639
- };
640
- }
641
- function asFiniteNumber(value) {
642
- return typeof value === "number" && Number.isFinite(value) ? value : null;
643
- }
644
- function appendTelegramRuntimeError(message, lastError) {
645
- const error = asString(lastError);
646
- return error ? `${message}: ${error}` : message;
647
- }
648
- function isTelegramPollingBacklogStallError(lastError) {
649
- const error = asString(lastError);
650
- return Boolean(error?.includes("isolated polling spool backlog stalled") || error?.includes("isolated polling spool handler timed out"));
651
- }
652
- function collectTelegramPollingRuntimeIssues(params) {
653
- const { account, accountId, issues, now } = params;
654
- if (account.running !== true || asString(account.mode) !== "polling") return;
655
- const lastStartAt = asFiniteNumber(account.lastStartAt);
656
- const lastTransportActivityAt = asFiniteNumber(account.lastTransportActivityAt);
657
- const fix = `Run: ${formatCliCommand("daocore channels status --probe")} (or restart the gateway). Check the bot token, proxy/network settings, and logs if it persists.`;
658
- if (account.connected === false) {
659
- if (!(lastStartAt != null && now - lastStartAt < TELEGRAM_POLLING_CONNECT_GRACE_MS)) {
660
- const message = isTelegramPollingBacklogStallError(account.lastError) ? "Telegram isolated polling spool backlog is stalled while Bot API polling is still succeeding" : "Telegram polling is running but has not completed a successful getUpdates call since startup";
661
- issues.push({
662
- channel: "telegram",
663
- accountId,
664
- kind: "runtime",
665
- message: appendTelegramRuntimeError(message, account.lastError),
666
- fix
667
- });
668
- }
669
- return;
670
- }
671
- if (account.connected === true && lastTransportActivityAt != null) {
672
- if (lastStartAt != null && lastTransportActivityAt < lastStartAt) {
673
- if (Math.max(0, now - lastStartAt) <= TELEGRAM_POLLING_STALE_TRANSPORT_MS) return;
674
- }
675
- const ageMs = now - lastTransportActivityAt;
676
- if (ageMs > TELEGRAM_POLLING_STALE_TRANSPORT_MS) issues.push({
677
- channel: "telegram",
678
- accountId,
679
- kind: "runtime",
680
- message: appendTelegramRuntimeError(`Telegram polling transport is stale (last successful getUpdates ${Math.max(0, Math.floor(ageMs / 6e4))}m ago)`, account.lastError),
681
- fix
682
- });
683
- }
684
- }
685
- function collectTelegramWebhookRuntimeIssues(params) {
686
- const { account, accountId, issues, now } = params;
687
- if (account.running !== true || asString(account.mode) !== "webhook") return;
688
- if (account.connected !== false) return;
689
- const lastStartAt = asFiniteNumber(account.lastStartAt);
690
- if (lastStartAt != null && now - lastStartAt < TELEGRAM_WEBHOOK_CONNECT_GRACE_MS) return;
691
- issues.push({
692
- channel: "telegram",
693
- accountId,
694
- kind: "runtime",
695
- message: appendTelegramRuntimeError("Telegram webhook listener is running but setWebhook has not completed since startup", account.lastError),
696
- fix: `Run: ${formatCliCommand("daocore channels status --probe")} (or restart the gateway). Check the webhook URL, secret, TLS/proxy reachability, and Telegram setWebhook logs if it persists.`
697
- });
698
- }
699
- function readTelegramGroupMembershipAuditSummary(value) {
700
- if (!isRecord(value)) return {};
701
- const unresolvedGroups = typeof value.unresolvedGroups === "number" && Number.isFinite(value.unresolvedGroups) ? value.unresolvedGroups : void 0;
702
- const hasWildcardUnmentionedGroups = typeof value.hasWildcardUnmentionedGroups === "boolean" ? value.hasWildcardUnmentionedGroups : void 0;
703
- const groupsRaw = value.groups;
704
- return {
705
- unresolvedGroups,
706
- hasWildcardUnmentionedGroups,
707
- groups: Array.isArray(groupsRaw) ? groupsRaw.map((entry) => {
708
- if (!isRecord(entry)) return null;
709
- const chatId = asString(entry.chatId);
710
- if (!chatId) return null;
711
- return {
712
- chatId,
713
- ok: typeof entry.ok === "boolean" ? entry.ok : void 0,
714
- status: asString(entry.status) ?? null,
715
- error: asString(entry.error) ?? null,
716
- matchKey: asString(entry.matchKey) ?? void 0,
717
- matchSource: asString(entry.matchSource) ?? void 0
718
- };
719
- }).filter(Boolean) : void 0
720
- };
721
- }
722
- function collectTelegramStatusIssues(accounts) {
723
- const issues = [];
724
- for (const entry of accounts) {
725
- const account = readTelegramAccountStatus(entry);
726
- if (!account) continue;
727
- const accountId = resolveEnabledConfiguredAccountId(account);
728
- if (!accountId) continue;
729
- const now = Date.now();
730
- collectTelegramPollingRuntimeIssues({
731
- account,
732
- accountId,
733
- issues,
734
- now
735
- });
736
- collectTelegramWebhookRuntimeIssues({
737
- account,
738
- accountId,
739
- issues,
740
- now
741
- });
742
- if (account.allowUnmentionedGroups === true) issues.push({
743
- channel: "telegram",
744
- accountId,
745
- kind: "config",
746
- message: "Config allows unmentioned group messages (requireMention=false). Telegram Bot API privacy mode will block most group messages unless disabled.",
747
- fix: "In BotFather run /setprivacy → Disable for this bot (then restart the gateway)."
748
- });
749
- const audit = readTelegramGroupMembershipAuditSummary(account.audit);
750
- if (audit.hasWildcardUnmentionedGroups === true) issues.push({
751
- channel: "telegram",
752
- accountId,
753
- kind: "config",
754
- message: "Telegram groups config uses \"*\" with requireMention=false; membership probing is not possible without explicit group IDs.",
755
- fix: "Add explicit numeric group ids under channels.telegram.groups (or per-account groups) to enable probing."
756
- });
757
- if (audit.unresolvedGroups && audit.unresolvedGroups > 0) issues.push({
758
- channel: "telegram",
759
- accountId,
760
- kind: "config",
761
- message: `Some configured Telegram groups are not numeric IDs (unresolvedGroups=${audit.unresolvedGroups}). Membership probe can only check numeric group IDs.`,
762
- fix: "Use numeric chat IDs (e.g. -100...) as keys in channels.telegram.groups for requireMention=false groups."
763
- });
764
- for (const group of audit.groups ?? []) {
765
- if (group.ok === true) continue;
766
- const status = group.status ? ` status=${group.status}` : "";
767
- const err = group.error ? `: ${group.error}` : "";
768
- const baseMessage = `Group ${group.chatId} not reachable by bot.${status}${err}`;
769
- issues.push({
770
- channel: "telegram",
771
- accountId,
772
- kind: "runtime",
773
- message: appendMatchMetadata(baseMessage, {
774
- matchKey: group.matchKey,
775
- matchSource: group.matchSource
776
- }),
777
- fix: "Invite the bot to the group, then DM the bot once (/start) and restart the gateway."
778
- });
779
- }
780
- }
781
- return issues;
782
- }
783
- //#endregion
784
- //#region extensions/telegram/src/threading-tool-context.ts
785
- function resolveTelegramToolContextThreadId(context) {
786
- if (context.MessageThreadId != null) return String(context.MessageThreadId);
787
- const currentChannelId = normalizeOptionalString(context.To);
788
- if (!currentChannelId) return;
789
- const parsedTarget = parseTelegramTarget(currentChannelId);
790
- return parsedTarget.messageThreadId != null ? String(parsedTarget.messageThreadId) : void 0;
791
- }
792
- function buildTelegramThreadingToolContext(params) {
793
- params.cfg;
794
- params.accountId;
795
- return {
796
- currentChannelId: normalizeOptionalString(params.context.To),
797
- currentThreadTs: resolveTelegramToolContextThreadId(params.context),
798
- hasRepliedRef: params.hasRepliedRef
799
- };
800
- }
801
- //#endregion
802
- //#region extensions/telegram/src/channel.ts
803
- let telegramSendModulePromise;
804
- let telegramUpdateOffsetRuntimePromise;
805
- async function loadTelegramSendModule() {
806
- telegramSendModulePromise ??= import("./send-Dug9BZ9D.js");
807
- return await telegramSendModulePromise;
808
- }
809
- async function loadTelegramUpdateOffsetRuntime() {
810
- telegramUpdateOffsetRuntimePromise ??= import("./extensions/telegram/update-offset-runtime-api.js");
811
- return await telegramUpdateOffsetRuntimePromise;
812
- }
813
- function resolveTelegramProbe() {
814
- return getOptionalTelegramRuntime()?.channel?.telegram?.probeTelegram ?? probeTelegram;
815
- }
816
- async function readStartupBotInfoCache(params) {
817
- try {
818
- return (await readCachedTelegramBotInfo({
819
- accountId: params.accountId,
820
- botToken: params.token
821
- }))?.botInfo;
822
- } catch (err) {
823
- if (getTelegramRuntime().logging.shouldLogVerbose()) params.log?.debug?.(`[${params.accountId}] bot info cache read failed: ${String(err)}`);
824
- return;
825
- }
826
- }
827
- async function writeStartupBotInfoCache(params) {
828
- try {
829
- await writeCachedTelegramBotInfo({
830
- accountId: params.accountId,
831
- botToken: params.token,
832
- botInfo: params.botInfo
833
- });
834
- } catch (err) {
835
- if (getTelegramRuntime().logging.shouldLogVerbose()) params.log?.debug?.(`[${params.accountId}] bot info cache write failed: ${String(err)}`);
836
- }
837
- }
838
- async function deleteStartupBotInfoCache(accountId) {
839
- await deleteCachedTelegramBotInfo({ accountId }).catch(() => void 0);
840
- }
841
- function resolveTelegramAuditCollector() {
842
- return getOptionalTelegramRuntime()?.channel?.telegram?.collectTelegramUnmentionedGroupIds ?? collectTelegramUnmentionedGroupIds;
843
- }
844
- function resolveTelegramAuditMembership() {
845
- return getOptionalTelegramRuntime()?.channel?.telegram?.auditTelegramGroupMembership ?? auditTelegramGroupMembership;
846
- }
847
- function resolveTelegramMonitor() {
848
- return getOptionalTelegramRuntime()?.channel?.telegram?.monitorTelegramProvider ?? monitorTelegramProvider;
849
- }
850
- function formatTelegramUnauthorizedTokenError(account) {
851
- const source = account.tokenSource === "none" ? "no configured token" : `${account.tokenSource} token`;
852
- const credentialPath = account.accountId === "default" ? "channels.telegram.botToken, channels.telegram.tokenFile, or TELEGRAM_BOT_TOKEN" : `channels.telegram.accounts.${account.accountId}.botToken/tokenFile`;
853
- return `Telegram bot token unauthorized for account "${account.accountId}" (getMe returned 401 from Telegram; source: ${source}). Update ${credentialPath} with the current BotFather token.`;
854
- }
855
- function getOptionalTelegramRuntime() {
856
- try {
857
- return getTelegramRuntime();
858
- } catch {
859
- return null;
860
- }
861
- }
862
- async function resolveTelegramSend(deps) {
863
- return resolveOutboundSendDep(deps, "telegram") ?? getOptionalTelegramRuntime()?.channel?.telegram?.sendMessageTelegram ?? (await loadTelegramSendModule()).sendMessageTelegram;
864
- }
865
- function resolveTelegramTokenHelper() {
866
- return getOptionalTelegramRuntime()?.channel?.telegram?.resolveTelegramToken ?? resolveTelegramToken;
867
- }
868
- const telegramChannelOutbound = createTelegramOutboundAdapter({
869
- resolveSend: resolveTelegramSend,
870
- loadSendModule: loadTelegramSendModule,
871
- shouldSuppressLocalPayloadPrompt: ({ cfg, accountId, payload }) => shouldSuppressLocalTelegramExecApprovalPrompt({
872
- cfg,
873
- accountId,
874
- payload
875
- }),
876
- beforeDeliverPayload: async ({ cfg, target, hint }) => {
877
- if (hint?.kind !== "approval-pending" || hint.approvalKind !== "exec") return;
878
- const threadId = typeof target.threadId === "number" ? target.threadId : typeof target.threadId === "string" ? Number.parseInt(target.threadId, 10) : void 0;
879
- const { sendTypingTelegram } = await loadTelegramSendModule();
880
- await sendTypingTelegram(target.to, {
881
- cfg,
882
- accountId: target.accountId ?? void 0,
883
- ...Number.isFinite(threadId) ? { messageThreadId: threadId } : {}
884
- }).catch(() => {});
885
- },
886
- shouldTreatDeliveredTextAsVisible: shouldTreatTelegramDeliveredTextAsVisible,
887
- targetsMatchForReplySuppression: targetsMatchTelegramReplySuppression,
888
- preferFinalAssistantVisibleText: true
889
- });
890
- const telegramMessageAdapter = createChannelMessageAdapterFromOutbound({
891
- id: "telegram",
892
- live: {
893
- capabilities: {
894
- draftPreview: true,
895
- previewFinalization: true,
896
- progressUpdates: true
897
- },
898
- finalizer: { capabilities: {
899
- finalEdit: true,
900
- normalFallback: true,
901
- previewReceipt: true,
902
- retainOnAmbiguousFailure: true
903
- } }
904
- },
905
- receive: {
906
- defaultAckPolicy: "after_agent_dispatch",
907
- supportedAckPolicies: ["after_receive_record", "after_agent_dispatch"]
908
- },
909
- outbound: telegramChannelOutbound
910
- });
911
- const telegramMessageActions = {
912
- resolveExecutionMode: (ctx) => getOptionalTelegramRuntime()?.channel?.telegram?.messageActions?.resolveExecutionMode?.(ctx) ?? telegramMessageActions$1.resolveExecutionMode?.(ctx) ?? "gateway",
913
- describeMessageTool: (ctx) => getOptionalTelegramRuntime()?.channel?.telegram?.messageActions?.describeMessageTool?.(ctx) ?? telegramMessageActions$1.describeMessageTool?.(ctx) ?? null,
914
- extractToolSend: (ctx) => getOptionalTelegramRuntime()?.channel?.telegram?.messageActions?.extractToolSend?.(ctx) ?? telegramMessageActions$1.extractToolSend?.(ctx) ?? null,
915
- handleAction: async (ctx) => {
916
- const runtimeHandleAction = getOptionalTelegramRuntime()?.channel?.telegram?.messageActions?.handleAction;
917
- if (runtimeHandleAction) return await runtimeHandleAction(ctx);
918
- if (!telegramMessageActions$1.handleAction) throw new Error("Telegram message actions not available");
919
- return await telegramMessageActions$1.handleAction(ctx);
920
- }
921
- };
922
- function normalizeTelegramAcpConversationId(conversationId) {
923
- const parsed = parseTelegramTopicConversation({ conversationId });
924
- if (!parsed || !parsed.chatId.startsWith("-")) return null;
925
- return {
926
- conversationId: parsed.canonicalConversationId,
927
- parentConversationId: parsed.chatId
928
- };
929
- }
930
- function matchTelegramAcpConversation(params) {
931
- const binding = normalizeTelegramAcpConversationId(params.bindingConversationId);
932
- if (!binding) return null;
933
- const incoming = parseTelegramTopicConversation({
934
- conversationId: params.conversationId,
935
- parentConversationId: params.parentConversationId
936
- });
937
- if (!incoming || !incoming.chatId.startsWith("-")) return null;
938
- if (binding.conversationId !== incoming.canonicalConversationId) return null;
939
- return {
940
- conversationId: incoming.canonicalConversationId,
941
- parentConversationId: incoming.chatId,
942
- matchPriority: 2
943
- };
944
- }
945
- function shouldTreatTelegramDeliveredTextAsVisible(params) {
946
- params.text;
947
- return params.kind !== "final";
948
- }
949
- function targetsMatchTelegramReplySuppression(params) {
950
- const origin = parseTelegramTarget(params.originTarget);
951
- const target = parseTelegramTarget(params.targetKey);
952
- const originThreadId = origin.messageThreadId != null && normalizeOptionalString(String(origin.messageThreadId)) ? normalizeOptionalString(String(origin.messageThreadId)) : void 0;
953
- const targetThreadId = normalizeOptionalString(params.targetThreadId) || (target.messageThreadId != null && normalizeOptionalString(String(target.messageThreadId)) ? normalizeOptionalString(String(target.messageThreadId)) : void 0);
954
- if (normalizeOptionalLowercaseString(origin.chatId) !== normalizeOptionalLowercaseString(target.chatId)) return false;
955
- if (originThreadId && targetThreadId) return originThreadId === targetThreadId;
956
- return originThreadId == null && targetThreadId == null;
957
- }
958
- function resolveTelegramCommandConversation(params) {
959
- const chatId = [
960
- params.originatingTo,
961
- params.commandTo,
962
- params.fallbackTo
963
- ].map((candidate) => {
964
- const trimmed = normalizeOptionalString(candidate) ?? "";
965
- return trimmed ? normalizeOptionalString(parseTelegramTarget(trimmed).chatId) ?? "" : "";
966
- }).find((candidate) => candidate.length > 0);
967
- if (!chatId) return null;
968
- if (params.threadId) return {
969
- conversationId: `${chatId}:topic:${params.threadId}`,
970
- parentConversationId: chatId
971
- };
972
- if (chatId.startsWith("-")) return null;
973
- return {
974
- conversationId: chatId,
975
- parentConversationId: chatId
976
- };
977
- }
978
- function resolveTelegramInboundConversation(params) {
979
- const rawTarget = normalizeOptionalString(params.to) ?? normalizeOptionalString(params.conversationId) ?? "";
980
- if (!rawTarget) return null;
981
- const parsedTarget = parseTelegramTarget(rawTarget);
982
- const chatId = normalizeOptionalString(parsedTarget.chatId) ?? "";
983
- if (!chatId) return null;
984
- const threadId = parsedTarget.messageThreadId != null ? String(parsedTarget.messageThreadId) : params.threadId != null ? normalizeOptionalString(String(params.threadId)) : void 0;
985
- if (threadId) {
986
- const parsedTopic = parseTelegramTopicConversation({
987
- conversationId: threadId,
988
- parentConversationId: chatId
989
- });
990
- if (!parsedTopic) return null;
991
- return {
992
- conversationId: parsedTopic.canonicalConversationId,
993
- parentConversationId: parsedTopic.chatId
994
- };
995
- }
996
- return {
997
- conversationId: chatId,
998
- parentConversationId: chatId
999
- };
1000
- }
1001
- function resolveTelegramDeliveryTarget(params) {
1002
- const parsedTopic = parseTelegramTopicConversation({
1003
- conversationId: params.conversationId,
1004
- parentConversationId: params.parentConversationId
1005
- });
1006
- if (parsedTopic) return {
1007
- to: parsedTopic.chatId,
1008
- threadId: parsedTopic.topicId
1009
- };
1010
- const parsedTarget = parseTelegramTarget(params.parentConversationId?.trim() || params.conversationId);
1011
- if (!parsedTarget.chatId.trim()) return null;
1012
- return {
1013
- to: parsedTarget.chatId,
1014
- ...parsedTarget.messageThreadId != null ? { threadId: String(parsedTarget.messageThreadId) } : {}
1015
- };
1016
- }
1017
- function parseTelegramExplicitTarget(raw) {
1018
- const target = parseTelegramTarget(raw);
1019
- return {
1020
- to: target.chatId,
1021
- threadId: target.messageThreadId,
1022
- chatType: target.chatType === "unknown" ? void 0 : target.chatType
1023
- };
1024
- }
1025
- function shouldStripTelegramThreadFromAnnounceOrigin(params) {
1026
- const requesterChannel = normalizeOptionalLowercaseString(params.requester.channel);
1027
- if (requesterChannel && requesterChannel !== "telegram") return true;
1028
- const requesterTo = params.requester.to?.trim();
1029
- if (!requesterTo) return false;
1030
- if (!requesterChannel && !requesterTo.startsWith("telegram:")) return true;
1031
- const requesterTarget = parseTelegramExplicitTarget(requesterTo);
1032
- if (requesterTarget.chatType !== "group") return true;
1033
- const entryTo = params.entry.to?.trim();
1034
- if (!entryTo) return false;
1035
- return parseTelegramExplicitTarget(entryTo).to !== requesterTarget.to;
1036
- }
1037
- function resolveTelegramOutboundSessionRoute(params) {
1038
- const parsed = parseTelegramTarget(params.target);
1039
- const chatId = parsed.chatId.trim();
1040
- if (!chatId) return null;
1041
- const resolvedThreadId = parsed.messageThreadId ?? parseTelegramThreadId(params.threadId);
1042
- const isGroup = parsed.chatType === "group" || parsed.chatType === "unknown" && params.resolvedTarget?.kind && params.resolvedTarget.kind !== "user";
1043
- const peerId = isGroup && resolvedThreadId ? buildTelegramGroupPeerId(chatId, resolvedThreadId) : chatId;
1044
- const peer = {
1045
- kind: isGroup ? "group" : "direct",
1046
- id: peerId
1047
- };
1048
- const baseRoute = buildChannelOutboundSessionRoute({
1049
- cfg: params.cfg,
1050
- agentId: params.agentId,
1051
- channel: "telegram",
1052
- accountId: params.accountId,
1053
- peer,
1054
- chatType: isGroup ? "group" : "direct",
1055
- from: isGroup ? `telegram:group:${peerId}` : resolvedThreadId ? `telegram:${chatId}:topic:${resolvedThreadId}` : `telegram:${chatId}`,
1056
- to: `telegram:${chatId}`,
1057
- ...isGroup && resolvedThreadId !== void 0 ? { threadId: resolvedThreadId } : {}
1058
- });
1059
- if (isGroup) return baseRoute;
1060
- const route = buildThreadAwareOutboundSessionRoute({
1061
- route: baseRoute,
1062
- threadId: resolvedThreadId,
1063
- currentSessionKey: params.currentSessionKey,
1064
- precedence: ["threadId", "currentSession"],
1065
- canRecoverCurrentThread: ({ route }) => route.chatType !== "direct" || (params.cfg.session?.dmScope ?? "main") !== "main"
1066
- });
1067
- return {
1068
- ...route,
1069
- from: route.threadId !== void 0 ? `telegram:${chatId}:topic:${route.threadId}` : `telegram:${chatId}`
1070
- };
1071
- }
1072
- async function resolveTelegramTargets(params) {
1073
- if (params.kind !== "user") return params.inputs.map((input) => ({
1074
- input,
1075
- resolved: false,
1076
- note: "Telegram runtime target resolution only supports usernames for direct-message lookups."
1077
- }));
1078
- const account = resolveTelegramAccount({
1079
- cfg: params.cfg,
1080
- accountId: params.accountId
1081
- });
1082
- const token = account.token.trim();
1083
- if (!token) return params.inputs.map((input) => ({
1084
- input,
1085
- resolved: false,
1086
- note: "Telegram bot token is required to resolve @username targets."
1087
- }));
1088
- return await Promise.all(params.inputs.map(async (input) => {
1089
- const trimmed = input.trim();
1090
- if (!trimmed) return {
1091
- input,
1092
- resolved: false,
1093
- note: "Telegram target is required."
1094
- };
1095
- const normalized = trimmed.startsWith("@") ? trimmed : `@${trimmed}`;
1096
- try {
1097
- const id = await lookupTelegramChatId({
1098
- token,
1099
- chatId: normalized,
1100
- network: account.config.network
1101
- });
1102
- if (!id) return {
1103
- input,
1104
- resolved: false,
1105
- note: "Telegram username could not be resolved by the configured bot."
1106
- };
1107
- return {
1108
- input,
1109
- resolved: true,
1110
- id,
1111
- name: normalized
1112
- };
1113
- } catch (error) {
1114
- return {
1115
- input,
1116
- resolved: false,
1117
- note: formatErrorMessage(error)
1118
- };
1119
- }
1120
- }));
1121
- }
1122
- const resolveTelegramAllowlistGroupOverrides = createNestedAllowlistOverrideResolver({
1123
- resolveRecord: (account) => account.config.groups,
1124
- outerLabel: (groupId) => groupId,
1125
- resolveOuterEntries: (groupCfg) => groupCfg?.allowFrom,
1126
- resolveChildren: (groupCfg) => groupCfg?.topics,
1127
- innerLabel: (groupId, topicId) => `${groupId} topic ${topicId}`,
1128
- resolveInnerEntries: (topicCfg) => topicCfg?.allowFrom
1129
- });
1130
- const telegramPlugin = createChatChannelPlugin({
1131
- base: {
1132
- ...createTelegramPluginBase({
1133
- setupWizard: telegramSetupWizard,
1134
- setup: telegramSetupAdapter
1135
- }),
1136
- allowlist: buildDmGroupAccountAllowlistAdapter({
1137
- channelId: "telegram",
1138
- resolveAccount: resolveTelegramAccount,
1139
- normalize: ({ cfg, accountId, values }) => telegramConfigAdapter.formatAllowFrom({
1140
- cfg,
1141
- accountId,
1142
- allowFrom: values
1143
- }),
1144
- resolveDmAllowFrom: (account) => account.config.allowFrom,
1145
- resolveGroupAllowFrom: (account) => account.config.groupAllowFrom,
1146
- resolveDmPolicy: (account) => account.config.dmPolicy,
1147
- resolveGroupPolicy: (account) => account.config.groupPolicy,
1148
- resolveGroupOverrides: resolveTelegramAllowlistGroupOverrides
1149
- }),
1150
- bindings: {
1151
- selfParentConversationByDefault: true,
1152
- compileConfiguredBinding: ({ conversationId }) => normalizeTelegramAcpConversationId(conversationId),
1153
- matchInboundConversation: ({ compiledBinding, conversationId, parentConversationId }) => matchTelegramAcpConversation({
1154
- bindingConversationId: compiledBinding.conversationId,
1155
- conversationId,
1156
- parentConversationId
1157
- }),
1158
- resolveCommandConversation: ({ threadId, originatingTo, commandTo, fallbackTo }) => resolveTelegramCommandConversation({
1159
- threadId,
1160
- originatingTo,
1161
- commandTo,
1162
- fallbackTo
1163
- })
1164
- },
1165
- conversationBindings: {
1166
- supportsCurrentConversationBinding: true,
1167
- defaultTopLevelPlacement: "current",
1168
- resolveConversationRef: ({ accountId: _accountId, conversationId, parentConversationId, threadId }) => resolveTelegramInboundConversation({
1169
- to: parentConversationId ?? conversationId,
1170
- conversationId,
1171
- threadId: threadId ?? void 0
1172
- }),
1173
- buildBoundReplyPayload: ({ operation, conversation }) => {
1174
- if (operation !== "acp-spawn") return null;
1175
- return conversation.conversationId.includes(":topic:") ? { delivery: { pin: {
1176
- enabled: true,
1177
- notify: false
1178
- } } } : null;
1179
- },
1180
- shouldStripThreadFromAnnounceOrigin: shouldStripTelegramThreadFromAnnounceOrigin,
1181
- createManager: ({ cfg, accountId }) => createTelegramThreadBindingManager({
1182
- cfg,
1183
- accountId: accountId ?? void 0,
1184
- persist: false,
1185
- enableSweeper: false
1186
- }),
1187
- setIdleTimeoutBySessionKey: ({ targetSessionKey, accountId, idleTimeoutMs }) => setTelegramThreadBindingIdleTimeoutBySessionKey({
1188
- targetSessionKey,
1189
- accountId: accountId ?? void 0,
1190
- idleTimeoutMs
1191
- }),
1192
- setMaxAgeBySessionKey: ({ targetSessionKey, accountId, maxAgeMs }) => setTelegramThreadBindingMaxAgeBySessionKey({
1193
- targetSessionKey,
1194
- accountId: accountId ?? void 0,
1195
- maxAgeMs
1196
- })
1197
- },
1198
- groups: {
1199
- resolveRequireMention: resolveTelegramGroupRequireMention,
1200
- resolveToolPolicy: resolveTelegramGroupToolPolicy
1201
- },
1202
- agentPrompt: {
1203
- messageToolCapabilities: ({ cfg, accountId }) => {
1204
- return resolveTelegramInlineButtonsScope({
1205
- cfg,
1206
- accountId: accountId ?? void 0
1207
- }) === "off" ? [] : ["inlineButtons"];
1208
- },
1209
- reactionGuidance: ({ cfg, accountId }) => {
1210
- const level = resolveTelegramReactionLevel({
1211
- cfg,
1212
- accountId: accountId ?? void 0
1213
- }).agentReactionGuidance;
1214
- return level ? {
1215
- level,
1216
- channelLabel: "Telegram"
1217
- } : void 0;
1218
- }
1219
- },
1220
- messaging: {
1221
- targetPrefixes: ["telegram", "tg"],
1222
- normalizeTarget: normalizeTelegramMessagingTarget,
1223
- resolveInboundConversation: ({ to, conversationId, threadId }) => resolveTelegramInboundConversation({
1224
- to,
1225
- conversationId,
1226
- threadId
1227
- }),
1228
- resolveDeliveryTarget: ({ conversationId, parentConversationId }) => resolveTelegramDeliveryTarget({
1229
- conversationId,
1230
- parentConversationId
1231
- }),
1232
- resolveSessionConversation: ({ kind, rawId }) => resolveTelegramSessionConversation({
1233
- kind,
1234
- rawId
1235
- }),
1236
- resolveSessionTarget: ({ kind, id }) => resolveTelegramSessionTarget({
1237
- kind,
1238
- id
1239
- }),
1240
- parseExplicitTarget: ({ raw }) => parseTelegramExplicitTarget(raw),
1241
- inferTargetChatType: ({ to }) => parseTelegramExplicitTarget(to).chatType,
1242
- preserveHeartbeatThreadIdForGroupRoute: true,
1243
- formatTargetDisplay: ({ target, display, kind }) => {
1244
- const formatted = display?.trim();
1245
- if (formatted) return formatted;
1246
- const trimmedTarget = target.trim();
1247
- if (!trimmedTarget) return trimmedTarget;
1248
- const withoutProvider = trimmedTarget.replace(/^(telegram|tg):/i, "");
1249
- if (kind === "user" || /^user:/i.test(withoutProvider)) return `@${withoutProvider.replace(/^user:/i, "")}`;
1250
- if (/^channel:/i.test(withoutProvider)) return `#${withoutProvider.replace(/^channel:/i, "")}`;
1251
- return withoutProvider;
1252
- },
1253
- resolveOutboundSessionRoute: (params) => resolveTelegramOutboundSessionRoute(params),
1254
- targetResolver: {
1255
- looksLikeId: looksLikeTelegramTargetId,
1256
- hint: "<chatId>"
1257
- }
1258
- },
1259
- resolver: { resolveTargets: async ({ cfg, accountId, inputs, kind }) => await resolveTelegramTargets({
1260
- cfg,
1261
- accountId,
1262
- inputs,
1263
- kind
1264
- }) },
1265
- lifecycle: {
1266
- detectLegacyStateMigrations: ({ cfg, env }) => detectTelegramLegacyStateMigrations({
1267
- cfg,
1268
- env
1269
- }),
1270
- onAccountConfigChanged: async ({ prevCfg, nextCfg, accountId }) => {
1271
- if (resolveTelegramAccount({
1272
- cfg: prevCfg,
1273
- accountId
1274
- }).token.trim() !== resolveTelegramAccount({
1275
- cfg: nextCfg,
1276
- accountId
1277
- }).token.trim()) {
1278
- const { deleteTelegramUpdateOffset } = await loadTelegramUpdateOffsetRuntime();
1279
- await Promise.all([deleteTelegramUpdateOffset({ accountId }), deleteStartupBotInfoCache(accountId)]);
1280
- }
1281
- },
1282
- onAccountRemoved: async ({ accountId }) => {
1283
- const { deleteTelegramUpdateOffset } = await loadTelegramUpdateOffsetRuntime();
1284
- await Promise.all([deleteTelegramUpdateOffset({ accountId }), deleteStartupBotInfoCache(accountId)]);
1285
- }
1286
- },
1287
- heartbeat: { sendTyping: async ({ cfg, to, accountId, threadId }) => {
1288
- const { sendTypingTelegram } = await loadTelegramSendModule();
1289
- await sendTypingTelegram(to, {
1290
- cfg,
1291
- ...accountId ? { accountId } : {},
1292
- messageThreadId: parseTelegramThreadId(threadId)
1293
- });
1294
- } },
1295
- approvalCapability: {
1296
- ...telegramApprovalCapability,
1297
- render: { exec: { buildPendingPayload: ({ request, nowMs }) => buildTelegramExecApprovalPendingPayload({
1298
- request,
1299
- nowMs
1300
- }) } }
1301
- },
1302
- directory: createChannelDirectoryAdapter({
1303
- listPeers: async (params) => listTelegramDirectoryPeersFromConfig(params),
1304
- listGroups: async (params) => listTelegramDirectoryGroupsFromConfig(params)
1305
- }),
1306
- actions: telegramMessageActions,
1307
- message: telegramMessageAdapter,
1308
- status: createComputedAccountStatusAdapter({
1309
- defaultRuntime: createDefaultChannelRuntimeState(DEFAULT_ACCOUNT_ID),
1310
- collectStatusIssues: collectTelegramStatusIssues,
1311
- buildChannelSummary: ({ snapshot }) => buildTokenChannelStatusSummary(snapshot),
1312
- probeAccount: async ({ account, timeoutMs }) => resolveTelegramProbe()(account.token, timeoutMs, {
1313
- accountId: account.accountId,
1314
- proxyUrl: account.config.proxy,
1315
- network: account.config.network,
1316
- apiRoot: account.config.apiRoot,
1317
- includeWebhookInfo: Boolean(account.config.webhookUrl)
1318
- }),
1319
- formatCapabilitiesProbe: ({ probe }) => {
1320
- const lines = [];
1321
- if (probe?.bot?.username) {
1322
- const botId = probe.bot.id ? ` (${probe.bot.id})` : "";
1323
- lines.push({ text: `Bot: @${probe.bot.username}${botId}` });
1324
- }
1325
- const flags = [];
1326
- if (typeof probe?.bot?.canJoinGroups === "boolean") flags.push(`joinGroups=${probe.bot.canJoinGroups}`);
1327
- if (typeof probe?.bot?.canReadAllGroupMessages === "boolean") flags.push(`readAllGroupMessages=${probe.bot.canReadAllGroupMessages}`);
1328
- if (typeof probe?.bot?.supportsInlineQueries === "boolean") flags.push(`inlineQueries=${probe.bot.supportsInlineQueries}`);
1329
- if (flags.length > 0) lines.push({ text: `Flags: ${flags.join(" ")}` });
1330
- if (probe?.webhook?.url !== void 0) lines.push({ text: `Webhook: ${probe.webhook.url || "none"}` });
1331
- return lines;
1332
- },
1333
- auditAccount: async ({ account, timeoutMs, probe, cfg }) => {
1334
- const groups = cfg.channels?.telegram?.accounts?.[account.accountId]?.groups ?? cfg.channels?.telegram?.groups;
1335
- const { groupIds, unresolvedGroups, hasWildcardUnmentionedGroups } = resolveTelegramAuditCollector()(groups);
1336
- if (!groupIds.length && unresolvedGroups === 0 && !hasWildcardUnmentionedGroups) return;
1337
- const botId = probe?.ok && probe.bot?.id != null ? probe.bot.id : null;
1338
- if (!botId) return {
1339
- ok: unresolvedGroups === 0 && !hasWildcardUnmentionedGroups,
1340
- checkedGroups: 0,
1341
- unresolvedGroups,
1342
- hasWildcardUnmentionedGroups,
1343
- groups: [],
1344
- elapsedMs: 0
1345
- };
1346
- return {
1347
- ...await resolveTelegramAuditMembership()({
1348
- token: account.token,
1349
- botId,
1350
- groupIds,
1351
- proxyUrl: account.config.proxy,
1352
- network: account.config.network,
1353
- apiRoot: account.config.apiRoot,
1354
- timeoutMs
1355
- }),
1356
- unresolvedGroups,
1357
- hasWildcardUnmentionedGroups
1358
- };
1359
- },
1360
- resolveAccountSnapshot: ({ account, cfg, runtime, audit }) => {
1361
- const configuredFromStatus = resolveConfiguredFromCredentialStatuses(account);
1362
- const ownerAccountId = findTelegramTokenOwnerAccountId({
1363
- cfg,
1364
- accountId: account.accountId
1365
- });
1366
- const duplicateTokenReason = ownerAccountId ? formatDuplicateTelegramTokenReason({
1367
- accountId: account.accountId,
1368
- ownerAccountId
1369
- }) : null;
1370
- const configured = (configuredFromStatus ?? Boolean(account.token?.trim())) && !ownerAccountId;
1371
- const groups = cfg.channels?.telegram?.accounts?.[account.accountId]?.groups ?? cfg.channels?.telegram?.groups;
1372
- const allowUnmentionedGroups = groups?.["*"]?.requireMention === false || Object.entries(groups ?? {}).some(([key, value]) => key !== "*" && value?.requireMention === false);
1373
- return {
1374
- accountId: account.accountId,
1375
- name: account.name,
1376
- enabled: account.enabled,
1377
- configured,
1378
- extra: {
1379
- ...projectCredentialSnapshotFields(account),
1380
- lastError: runtime?.lastError ?? duplicateTokenReason,
1381
- mode: runtime?.mode ?? (account.config.webhookUrl ? "webhook" : "polling"),
1382
- audit,
1383
- allowUnmentionedGroups
1384
- }
1385
- };
1386
- }
1387
- }),
1388
- gateway: {
1389
- startAccount: async (ctx) => {
1390
- const account = ctx.account;
1391
- const ownerAccountId = findTelegramTokenOwnerAccountId({
1392
- cfg: ctx.cfg,
1393
- accountId: account.accountId
1394
- });
1395
- if (ownerAccountId) {
1396
- const reason = formatDuplicateTelegramTokenReason({
1397
- accountId: account.accountId,
1398
- ownerAccountId
1399
- });
1400
- ctx.log?.error?.(`[${account.accountId}] ${reason}`);
1401
- throw new Error(reason);
1402
- }
1403
- const token = (account.token ?? "").trim();
1404
- let telegramBotLabel = "";
1405
- let unauthorizedTokenReason = null;
1406
- let botInfo;
1407
- const cachedBotInfo = await readStartupBotInfoCache({
1408
- accountId: account.accountId,
1409
- token,
1410
- log: ctx.log
1411
- });
1412
- if (cachedBotInfo) {
1413
- botInfo = cachedBotInfo;
1414
- telegramBotLabel = ` (@${cachedBotInfo.username})`;
1415
- } else try {
1416
- const probe = await withTelegramStartupProbeSlot(ctx.abortSignal, () => resolveTelegramProbe()(token, resolveTelegramStartupProbeTimeoutMs(account.config.timeoutSeconds), {
1417
- accountId: account.accountId,
1418
- proxyUrl: account.config.proxy,
1419
- network: account.config.network,
1420
- apiRoot: account.config.apiRoot,
1421
- includeWebhookInfo: false
1422
- }));
1423
- const username = probe.ok ? probe.bot?.username?.trim() : null;
1424
- if (username) telegramBotLabel = ` (@${username})`;
1425
- botInfo = probe.ok ? probe.botInfo : void 0;
1426
- if (probe.ok && probe.botInfo) await writeStartupBotInfoCache({
1427
- accountId: account.accountId,
1428
- token,
1429
- botInfo: probe.botInfo,
1430
- log: ctx.log
1431
- });
1432
- if (!probe.ok && probe.status === 401) {
1433
- await deleteStartupBotInfoCache(account.accountId);
1434
- unauthorizedTokenReason = formatTelegramUnauthorizedTokenError(account);
1435
- }
1436
- } catch (err) {
1437
- if (ctx.abortSignal.aborted) return;
1438
- if (getTelegramRuntime().logging.shouldLogVerbose()) ctx.log?.debug?.(`[${account.accountId}] bot probe failed: ${String(err)}`);
1439
- }
1440
- if (unauthorizedTokenReason) {
1441
- ctx.log?.error?.(`[${account.accountId}] ${unauthorizedTokenReason}`);
1442
- throw new Error(unauthorizedTokenReason);
1443
- }
1444
- ctx.log?.info(`[${account.accountId}] starting provider${telegramBotLabel}`);
1445
- const setStatus = createAccountStatusSink({
1446
- accountId: account.accountId,
1447
- setStatus: ctx.setStatus
1448
- });
1449
- return resolveTelegramMonitor()({
1450
- token,
1451
- accountId: account.accountId,
1452
- config: ctx.cfg,
1453
- runtime: ctx.runtime,
1454
- channelRuntime: ctx.channelRuntime,
1455
- abortSignal: ctx.abortSignal,
1456
- useWebhook: Boolean(account.config.webhookUrl),
1457
- webhookUrl: account.config.webhookUrl,
1458
- webhookSecret: account.config.webhookSecret,
1459
- webhookPath: account.config.webhookPath,
1460
- webhookHost: account.config.webhookHost,
1461
- webhookPort: account.config.webhookPort,
1462
- webhookCertPath: account.config.webhookCertPath,
1463
- botInfo,
1464
- setStatus
1465
- });
1466
- },
1467
- stopAccount: async ({ account, accountId, log }) => {
1468
- const token = (account.token ?? "").trim();
1469
- if (!token) return;
1470
- if (await releaseStoppedTelegramPollingLease({
1471
- token,
1472
- accountId
1473
- })) log?.info?.(`[${accountId}] released stopped Telegram polling lease`);
1474
- },
1475
- logoutAccount: async ({ accountId, cfg }) => {
1476
- const envToken = process.env.TELEGRAM_BOT_TOKEN?.trim() ?? "";
1477
- const nextCfg = { ...cfg };
1478
- const nextTelegram = cfg.channels?.telegram ? { ...cfg.channels.telegram } : void 0;
1479
- let cleared = false;
1480
- let changed = false;
1481
- if (nextTelegram) {
1482
- if (accountId === "default" && nextTelegram.botToken) {
1483
- delete nextTelegram.botToken;
1484
- cleared = true;
1485
- changed = true;
1486
- }
1487
- const accountCleanup = clearAccountEntryFields({
1488
- accounts: nextTelegram.accounts,
1489
- accountId,
1490
- fields: ["botToken"]
1491
- });
1492
- if (accountCleanup.changed) {
1493
- changed = true;
1494
- if (accountCleanup.cleared) cleared = true;
1495
- if (accountCleanup.nextAccounts) nextTelegram.accounts = accountCleanup.nextAccounts;
1496
- else delete nextTelegram.accounts;
1497
- }
1498
- }
1499
- if (changed) if (nextTelegram && Object.keys(nextTelegram).length > 0) nextCfg.channels = {
1500
- ...nextCfg.channels,
1501
- telegram: nextTelegram
1502
- };
1503
- else {
1504
- const nextChannels = { ...nextCfg.channels };
1505
- delete nextChannels.telegram;
1506
- if (Object.keys(nextChannels).length > 0) nextCfg.channels = nextChannels;
1507
- else delete nextCfg.channels;
1508
- }
1509
- const loggedOut = resolveTelegramAccount({
1510
- cfg: changed ? nextCfg : cfg,
1511
- accountId
1512
- }).tokenSource === "none";
1513
- if (changed) await getTelegramRuntime().config.replaceConfigFile({
1514
- nextConfig: nextCfg,
1515
- afterWrite: { mode: "auto" }
1516
- });
1517
- if (cleared || loggedOut) await deleteStartupBotInfoCache(accountId);
1518
- return {
1519
- cleared,
1520
- envToken: Boolean(envToken),
1521
- loggedOut
1522
- };
1523
- }
1524
- }
1525
- },
1526
- pairing: { text: {
1527
- idLabel: "telegramUserId",
1528
- message: PAIRING_APPROVED_MESSAGE,
1529
- normalizeAllowEntry: createPairingPrefixStripper(/^(telegram|tg):/i),
1530
- notify: async ({ cfg, id, message, accountId }) => {
1531
- const { token } = resolveTelegramTokenHelper()(cfg, { accountId });
1532
- if (!token) throw new Error("telegram token not configured");
1533
- await (await resolveTelegramSend())(id, message, {
1534
- cfg,
1535
- token,
1536
- accountId
1537
- });
1538
- }
1539
- } },
1540
- security: telegramSecurityAdapter,
1541
- threading: {
1542
- topLevelReplyToMode: "telegram",
1543
- buildToolContext: (params) => buildTelegramThreadingToolContext(params),
1544
- resolveAutoThreadId: ({ to, toolContext }) => resolveTelegramAutoThreadId({
1545
- to,
1546
- toolContext
1547
- }),
1548
- resolveCurrentChannelId: ({ to, threadId }) => {
1549
- if (threadId == null) return to;
1550
- return to.includes(":topic:") ? to : `${to}:topic:${threadId}`;
1551
- }
1552
- },
1553
- outbound: telegramChannelOutbound
1554
- });
1555
- //#endregion
1556
- export { telegramOutbound as a, resolveTelegramGroupRequireMention as c, sendTelegramPayloadMessages as i, resolveTelegramGroupToolPolicy as l, collectTelegramStatusIssues as n, looksLikeTelegramTargetId as o, TELEGRAM_TEXT_CHUNK_LIMIT as r, normalizeTelegramMessagingTarget as s, telegramPlugin as t, resolveTelegramAutoThreadId as u };