@gaodefa/daocore 2026.5.30 → 2026.5.32

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-5xSPv96j.js +277 -0
  2. package/dist/abort.runtime-0926E27Z.js +2 -0
  3. package/dist/abort.runtime.js +1 -1
  4. package/dist/account-inspect-BgzS8u-D.js +173 -0
  5. package/dist/accounts-7v5WrRCh.js +2 -0
  6. package/dist/accounts-BzO41JQx.js +107 -0
  7. package/dist/accounts-CSbmdRcc.js +107 -0
  8. package/dist/accounts-CZQ5w4JW.js +119 -0
  9. package/dist/acp-runtime-BCeSAla4.js +26 -0
  10. package/dist/acp-spawn-Czqyiryw.js +1275 -0
  11. package/dist/acp-spawn-D39EyfB9.js +2 -0
  12. package/dist/acp-stateful-target-driver-Ds-A-N-E.js +89 -0
  13. package/dist/action-kill-BdD5_Aml.js +33 -0
  14. package/dist/action-runtime-COScp8ol.js +469 -0
  15. package/dist/action-runtime-api-BgjjgLcW.js +2 -0
  16. package/dist/action-send-DfeejIBh.js +39 -0
  17. package/dist/action-spawn-DO8scagE.js +47 -0
  18. package/dist/actions-XbUKh94t.js +161 -0
  19. package/dist/actions.runtime-D_FyKsqj.js +5 -0
  20. package/dist/agent-3M5jLi8y.js +2 -0
  21. package/dist/agent-_HmdUCr4.js +3 -0
  22. package/dist/agent-command-JdyQsbkT.js +1367 -0
  23. package/dist/agent-components.runtime-BiG6LL4q.js +10 -0
  24. package/dist/agent-components.runtime.js +1 -1
  25. package/dist/agent-harness-runtime-CHrYKoTd.js +180 -0
  26. package/dist/agent-harness-task-runtime-DHQNyKub.js +140 -0
  27. package/dist/agent-runner-execution-D20QTBXr.js +1713 -0
  28. package/dist/agent-runner-utils-Bqe6xxgK.js +266 -0
  29. package/dist/agent-runner.runtime-BDNZI9xP.js +3455 -0
  30. package/dist/agent-runner.runtime.js +1 -1
  31. package/dist/agent-runtime-TYhcwEWD.js +229 -0
  32. package/dist/agent-via-gateway-Dr06Lb5b.js +463 -0
  33. package/dist/api-Bv6Yzx0U.js +639 -0
  34. package/dist/api-CKq871s7.js +134 -0
  35. package/dist/api-DX_U2wja.js +2 -0
  36. package/dist/api-U8Q33Ouw.js +6 -0
  37. package/dist/api-UYhicEhq.js +3 -0
  38. package/dist/api-yyfjBhjb.js +2 -0
  39. package/dist/apply-BaAAhGbT.js +41 -0
  40. package/dist/apply-DoPxVm4A.js +54 -0
  41. package/dist/approval-handler.runtime-BtGX8k1E.js +130 -0
  42. package/dist/assistant-B3I8-7Lv.js +291 -0
  43. package/dist/attachment-normalize-C0-A3gAr.js +225 -0
  44. package/dist/attempt-execution-B4Uh6AAn.js +558 -0
  45. package/dist/attempt-execution.runtime-CDwaTeFi.js +3 -0
  46. package/dist/attempt-execution.runtime.js +1 -1
  47. package/dist/attempt-execution.shared-LOacq8Oi.js +38 -0
  48. package/dist/attempt.prompt-helpers-DTLTH3Mn.js +475 -0
  49. package/dist/attempt.tool-run-context-CQfLOzhy.js +2094 -0
  50. package/dist/binding-routing-D1Ep8LYu.js +113 -0
  51. package/dist/binding-targets-DAx23oWo.js +121 -0
  52. package/dist/bot-Wv3X4bsa.js +7894 -0
  53. package/dist/bot-deps-Bl2rHw_I.js +747 -0
  54. package/dist/bot-deps-D5QFJ6Sp.js +2 -0
  55. package/dist/bot-message-context.runtime-CLTMWkIl.js +7 -0
  56. package/dist/bot-message-context.runtime.js +1 -1
  57. package/dist/bot-message-context.session.runtime-C7ixtg9D.js +12 -0
  58. package/dist/bot-message-context.session.runtime.js +1 -1
  59. package/dist/bot-native-commands.delivery.runtime-Dd7fg3sv.js +4 -0
  60. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  61. package/dist/bot-native-commands.runtime-xxk9PH27.js +13 -0
  62. package/dist/bot-native-commands.runtime.js +1 -1
  63. package/dist/bridge-server-B2OfZKTC.js +113 -0
  64. package/dist/browser-cli-C5iosRvD.js +230 -0
  65. package/dist/browser-cli-CLz_3gcp.js +2 -0
  66. package/dist/browser-cli-actions-input-DmI7MUTC.js +473 -0
  67. package/dist/browser-cli-actions-observe-D3mxz2K_.js +81 -0
  68. package/dist/browser-cli-debug-D4ovrUvJ.js +137 -0
  69. package/dist/browser-cli-inspect-NM7kVusr.js +104 -0
  70. package/dist/browser-cli-manage--VYOZfBu.js +443 -0
  71. package/dist/browser-cli-resize-DrCL8Kq1.js +26 -0
  72. package/dist/browser-cli-shared-Cd6zdFZW.js +50 -0
  73. package/dist/browser-cli-state-CoB8ZyE6.js +337 -0
  74. package/dist/browser-control-auth-Bev4Zk62.js +2 -0
  75. package/dist/browser-profiles-BxPD8_vB.js +2 -0
  76. package/dist/browser-runtime-C07L-Zov.js +384 -0
  77. package/dist/build-CQUvEKPr.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-CgkX47xS.js +1782 -0
  83. package/dist/channel-4gVDslD_.js +653 -0
  84. package/dist/channel-6vrwZPs9.js +238 -0
  85. package/dist/channel-B9ZuUQ6v.js +562 -0
  86. package/dist/channel-BADrx_U3.js +1556 -0
  87. package/dist/channel-BGLIVapC.js +481 -0
  88. package/dist/channel-BwcQp8Rq.js +955 -0
  89. package/dist/channel-BzSKfrLf.js +740 -0
  90. package/dist/channel-C4XSENg9.js +2126 -0
  91. package/dist/channel-C7ga9fTJ.js +1777 -0
  92. package/dist/channel-C8hBwzA1.js +362 -0
  93. package/dist/channel-CCG1mfB4.js +1496 -0
  94. package/dist/channel-CKOJY4Zd.js +1134 -0
  95. package/dist/channel-CYxTzhn7.js +376 -0
  96. package/dist/channel-DDg0cxDP.js +808 -0
  97. package/dist/channel-DpsxF3Mf.js +1249 -0
  98. package/dist/channel-MXOd30fz.d.ts +427 -0
  99. package/dist/channel-actions.runtime-DJOOf7eP.js +265 -0
  100. package/dist/channel-actions.runtime.js +1 -1
  101. package/dist/channel-cl_cgDg6.js +508 -0
  102. package/dist/channel-core-DTSpGZkc.js +5 -0
  103. package/dist/channel-emJStu3a.js +867 -0
  104. package/dist/channel-inbound-le9T0BS4.js +80 -0
  105. package/dist/channel-plugin-runtime-COf6cDhp.js +998 -0
  106. package/dist/channel-runtime-LgCwu-e7.js +408 -0
  107. package/dist/channel.runtime-1b8dMgHq.js +4 -0
  108. package/dist/channel.runtime-BIZeTsuh.js +88 -0
  109. package/dist/channel.runtime-BPTDdF_t.js +1008 -0
  110. package/dist/channel.runtime-CMwMP86f.js +21009 -0
  111. package/dist/channel.runtime-CbR_S3Es.js +733 -0
  112. package/dist/channel.runtime-CoNDJV33.js +254 -0
  113. package/dist/channel.runtime-D1ve78xp.js +109 -0
  114. package/dist/channel.runtime-DAuGTOCS.js +652 -0
  115. package/dist/channel.runtime-DCHOoofn.js +2528 -0
  116. package/dist/channel.setup-BP1xL5Pf.js +1098 -0
  117. package/dist/channel.setup-ChiJ3GPS.js +10 -0
  118. package/dist/channel.setup-SmJQYInQ.js +343 -0
  119. package/dist/chat-zRdfy5a3.js +2666 -0
  120. package/dist/chrome-CKXrklba.js +1503 -0
  121. package/dist/cli/run-main.js +5 -5
  122. package/dist/cli-D8jOuVTO.js +1341 -0
  123. package/dist/cli-compaction-BLVrCsK5.js +347 -0
  124. package/dist/cli-metadata-CYvkEhJD.js +22 -0
  125. package/dist/cli-runner-BlM3bE0F.js +2 -0
  126. package/dist/cli-runner-D6RHy0cU.js +540 -0
  127. package/dist/cli-runner.runtime-BZAAFLDU.js +4 -0
  128. package/dist/cli-runner.runtime-CpX1HvG6.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-CtRn_hQP.js +650 -0
  132. package/dist/client-adapter-BVIdEc7J.js +897 -0
  133. package/dist/client-factory-6n6tLSIi.js +9 -0
  134. package/dist/command-auth-B2r-fHTK.js +135 -0
  135. package/dist/command-handlers-Pnxu5_zT.js +1609 -0
  136. package/dist/command-registry-Ck2pwGIs.js +9 -0
  137. package/dist/command-registry-CmCmwAX7.js +4 -0
  138. package/dist/command-registry-core-Bpb8Zmai.js +110 -0
  139. package/dist/command-status.runtime-Bjq4f1lX.js +90 -0
  140. package/dist/command-status.runtime.js +1 -1
  141. package/dist/commands-acp-B7zCM6RA.js +74 -0
  142. package/dist/commands-compact.runtime-CmtzRn-a.js +10 -0
  143. package/dist/commands-compact.runtime.js +1 -1
  144. package/dist/commands-handlers.runtime-C4kTnIeK.js +6154 -0
  145. package/dist/commands-handlers.runtime.js +1 -1
  146. package/dist/commands-status-DVgiHsQ5.js +16 -0
  147. package/dist/commands-status-DlYd-7ik.js +3 -0
  148. package/dist/commands-status.runtime-DlYd-7ik.js +3 -0
  149. package/dist/commands-status.runtime.js +1 -1
  150. package/dist/commands-subagents-control.runtime-DgvtGIas.js +2 -0
  151. package/dist/commands-subagents-control.runtime-JdMGlKtk.js +3 -0
  152. package/dist/commands-subagents-control.runtime.js +1 -1
  153. package/dist/commands-system-prompt-BQyxb4tV.js +162 -0
  154. package/dist/commands-system-prompt-ByWU697p.js +2 -0
  155. package/dist/commands.runtime-CJP1VpiV.js +176 -0
  156. package/dist/commands.runtime.js +1 -1
  157. package/dist/commitments/runtime.js +1 -1
  158. package/dist/compact-DLUg6XJH.js +1141 -0
  159. package/dist/compact-_E6we35c.js +480 -0
  160. package/dist/compact.runtime-DPVrm-pW.js +12 -0
  161. package/dist/compact.runtime.js +1 -1
  162. package/dist/completion-cli-DoizagFW.js +315 -0
  163. package/dist/computer-use-CCjnsa_1.js +367 -0
  164. package/dist/config-BilJG9EC.js +373 -0
  165. package/dist/config-BxPD8_vB.js +2 -0
  166. package/dist/config-mutations-D_EXryF0.js +159 -0
  167. package/dist/context-engine-host-compat-CqmA35DL.js +2 -0
  168. package/dist/context-engine-host-compat-CueTS2PS.js +288 -0
  169. package/dist/context-engine-lifecycle-BfMiEl15.js +1274 -0
  170. package/dist/control-auth-BU7xIoX-.js +114 -0
  171. package/dist/control-service-rkbW1sH-.js +145 -0
  172. package/dist/control-ui/assets/agents-psfLxkbw.js +1008 -0
  173. package/dist/control-ui/assets/channel-config-extras-DKBnO1hS.js +2 -0
  174. package/dist/control-ui/assets/channels-DDOrwq_r.js +367 -0
  175. package/dist/control-ui/assets/cron-BgSXqasf.js +1013 -0
  176. package/dist/control-ui/assets/debug-WtFopOVs.js +97 -0
  177. package/dist/control-ui/assets/index-MvAQ2w1r.js +7370 -0
  178. package/dist/control-ui/assets/instances-BrOnPv6H.js +57 -0
  179. package/dist/control-ui/assets/logs-DaCF5a_0.js +74 -0
  180. package/dist/control-ui/assets/nodes-BfGBhTsX.js +436 -0
  181. package/dist/control-ui/assets/sessions-EYXaSnpx.js +399 -0
  182. package/dist/control-ui/assets/skills-kGP53jBT.js +314 -0
  183. package/dist/control-ui/assets/skills-shared-0VEOTMHb.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-DUU8Cbqn.js +4 -0
  187. package/dist/conversation-runtime-DPrqAWle.js +31 -0
  188. package/dist/core-CUD6UgSq.js +282 -0
  189. package/dist/core-api-B1g3Om3O.js +5 -0
  190. package/dist/core-api-C-O6aNhF.js +2 -0
  191. package/dist/crestodian/crestodian.js +1 -1
  192. package/dist/crestodian/rescue-message.js +1 -1
  193. package/dist/crestodian-v9uXA3A2.js +55 -0
  194. package/dist/daocore-tools-C28lHB0m.js +11727 -0
  195. package/dist/delivery-BuWQ2Vps.js +1002 -0
  196. package/dist/dialogue-DSYoyGRK.js +37 -0
  197. package/dist/dir-fetch-tool-Cp6QDtGT.js +565 -0
  198. package/dist/dir-list-tool-Cgwy8SnK.js +100 -0
  199. package/dist/direct-dm-B9jtIQVB.js +64 -0
  200. package/dist/directive-handling.fast-lane-DW5n01VF.js +68 -0
  201. package/dist/directive-handling.impl-BZXGBxBu.js +2 -0
  202. package/dist/directive-handling.impl-DvmlznGE.js +818 -0
  203. package/dist/directive-handling.model-selection-CdbAe1eC.js +122 -0
  204. package/dist/directive-handling.persist.runtime-B7WHo9zw.js +263 -0
  205. package/dist/directive-handling.persist.runtime.js +1 -1
  206. package/dist/dispatch-Bysi6DFL.js +1640 -0
  207. package/dist/dispatch-acp-transcript.runtime-CrAnpqiX.js +40 -0
  208. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  209. package/dist/dispatch-acp.runtime-DkcXZIbM.js +18 -0
  210. package/dist/dispatch-acp.runtime.js +1 -1
  211. package/dist/doctor-CFmGWeIn.js +6 -0
  212. package/dist/doctor-_JI7RKJk.js +2 -0
  213. package/dist/doctor-config-flow-DVXxaLTb.js +1741 -0
  214. package/dist/doctor-core-checks-BfUW_u2R.js +2 -0
  215. package/dist/doctor-core-checks-lmN1Tw4N.js +573 -0
  216. package/dist/doctor-health-ZgTh34Za.js +65 -0
  217. package/dist/doctor-health-contributions-DV0Ff5cp.js +696 -0
  218. package/dist/doctor-lint-DbYtxQxC.js +94 -0
  219. package/dist/doctor-state-integrity-CZdBuNdm.js +1231 -0
  220. package/dist/doctor-update-DpFQTsrm.js +58 -0
  221. package/dist/dynamic-tools-DWocQS_t.js +486 -0
  222. package/dist/embedded-backend-DGDv3GDw.js +579 -0
  223. package/dist/embedded-gateway-stub.runtime-mATMWU23.js +12 -0
  224. package/dist/embedded-gateway-stub.runtime.js +1 -1
  225. package/dist/exec-approvals-tk6i5Iy2.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-BVh97aps.js +124 -0
  300. package/dist/file-write-tool-Cfb7u51o.js +127 -0
  301. package/dist/format-Bqz5xYeB.js +250 -0
  302. package/dist/format-DpuFG9c5.js +1145 -0
  303. package/dist/gateway-cli-eCkwL4uy.js +435 -0
  304. package/dist/gateway-method-runtime-BXqKYfux.js +21 -0
  305. package/dist/get-reply-Bc_T3z5w.js +4689 -0
  306. package/dist/get-reply-from-config.runtime-BKhFCEun.js +2 -0
  307. package/dist/get-reply-from-config.runtime.js +1 -1
  308. package/dist/graph-users-BiokxXwA.js +1419 -0
  309. package/dist/group-access-DBAPYc28.js +112 -0
  310. package/dist/handle-action.guild-admin-S3qgTJJ3.js +288 -0
  311. package/dist/harness-B7wBXWh0.js +61 -0
  312. package/dist/health-DdXlm-1M.js +4 -0
  313. package/dist/health-state-BbDa6gRr.js +106 -0
  314. package/dist/heartbeat-runner-CZKQeDIE.js +5 -0
  315. package/dist/heartbeat-runner.runtime-D5VTmRkB.js +4 -0
  316. package/dist/heartbeat-runner.runtime.js +1 -1
  317. package/dist/hooks-CJtypGfW.js +534 -0
  318. package/dist/inbound-direct-dm-runtime-D91V0BFn.js +2 -0
  319. package/dist/inbound-reply-dispatch-DTvJL7df.js +148 -0
  320. package/dist/index.js +1 -1
  321. package/dist/init-qWugBDhm.js +59 -0
  322. package/dist/inline-buttons-1E4EwLvT.js +40 -0
  323. package/dist/internal-events-DtxthZ8P.js +90 -0
  324. package/dist/isolated-agent-C0ZZI5QV.js +2 -0
  325. package/dist/isolated-agent-C7qWrmnX.js +1118 -0
  326. package/dist/lifecycle-Wq49oJK4.js +571 -0
  327. package/dist/list.probe-DWMHsvUW.js +449 -0
  328. package/dist/list.status-command-DSGGuDOk.js +789 -0
  329. package/dist/llm-slug-generator-Bp_C1mgK.js +78 -0
  330. package/dist/llm-slug-generator.js +1 -1
  331. package/dist/local-dispatch.runtime-Cn8pnuYP.js +9 -0
  332. package/dist/local-dispatch.runtime.js +1 -1
  333. package/dist/manager.runtime-BdEdrDpV.js +2714 -0
  334. package/dist/manager.runtime.js +1 -1
  335. package/dist/markdown-to-line-D8Y0X3f4.js +811 -0
  336. package/dist/mcp-http-Cmug_nIB.js +555 -0
  337. package/dist/mcp-http-Dxmrs9Wm.js +2 -0
  338. package/dist/media-understanding-provider-BUGZ_tGW.js +339 -0
  339. package/dist/message-actions-Bb5avCm0.js +145 -0
  340. package/dist/message-handler-7FxYBWCr.js +384 -0
  341. package/dist/message-handler-EXgLxNWG.js +1715 -0
  342. package/dist/message-handler.preflight-CtW30FUU.js +1125 -0
  343. package/dist/message-handler.process-D_tmiE76.js +1484 -0
  344. package/dist/model-FzMER7bm.js +74 -0
  345. package/dist/model-selection-bti71700.js +272 -0
  346. package/dist/models-C8i8gMx4.js +2 -0
  347. package/dist/models-CdD9KMFY.js +104 -0
  348. package/dist/models-cli-gg_kT0t3.js +256 -0
  349. package/dist/monitor-Be8nfodW.js +1657 -0
  350. package/dist/monitor-Bvxk0x5H.js +715 -0
  351. package/dist/monitor-CE97mY08.js +2788 -0
  352. package/dist/monitor-CUf3qwuD.js +60 -0
  353. package/dist/monitor-D6mKqFJ6.js +834 -0
  354. package/dist/monitor-DU7GwGnr.js +4377 -0
  355. package/dist/monitor-DhcXz9j_.js +2 -0
  356. package/dist/monitor-auth-BRcGC8Y2.js +179 -0
  357. package/dist/monitor-polling.runtime-IxrlG8Xk.js +883 -0
  358. package/dist/monitor-polling.runtime.js +1 -1
  359. package/dist/monitor-vVY3N7u5.js +1370 -0
  360. package/dist/monitor-webhook.runtime-hc4RVNDK.js +387 -0
  361. package/dist/monitor-webhook.runtime.js +1 -1
  362. package/dist/monitor.account-XphC4gzs.js +5233 -0
  363. package/dist/monitor.runtime-6xS3OjmH.js +2 -0
  364. package/dist/monitor.runtime.js +1 -1
  365. package/dist/monitor.webhook-5EHwrXWd.js +180 -0
  366. package/dist/node-cli-sessions-DOBuRxFO.js +1228 -0
  367. package/dist/openai-http-CGnGQIGW.js +824 -0
  368. package/dist/openresponses-http-BXPy59t0.js +1173 -0
  369. package/dist/operations-BvCPaweO.js +805 -0
  370. package/dist/outbound-adapter-DiSr_Bhn.js +543 -0
  371. package/dist/outbound-session-route-Cm1ZzMzO.js +45 -0
  372. package/dist/outbound.runtime-_iFVmHLo.js +2 -0
  373. package/dist/outbound.runtime.js +1 -1
  374. package/dist/pi-embedded-D5GNzI7q.js +4 -0
  375. package/dist/pi-embedded-DFFUgktH.js +3796 -0
  376. package/dist/pi-embedded.runtime-Cd4ObvwO.js +4 -0
  377. package/dist/pi-embedded.runtime.js +1 -1
  378. package/dist/pi-tools-BC8I1xvo.js +2413 -0
  379. package/dist/plan-CB-ExQ8I.js +112 -0
  380. package/dist/plan-XEE4NkGP.js +81 -0
  381. package/dist/plugin-FgCZcV6y.js +12396 -0
  382. package/dist/plugin-app-cache-key-CDrzpMz5.js +46 -0
  383. package/dist/plugin-enabled-C63xoVby.js +233 -0
  384. package/dist/plugin-registration-DmMBSR62.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-Dt30fEbO.js +1229 -0
  413. package/dist/plugins/runtime/index.js +4 -4
  414. package/dist/policy-CtICwdgT.js +680 -0
  415. package/dist/policy-DT-VOML-.js +138 -0
  416. package/dist/prepare.runtime-BZWbkknM.js +732 -0
  417. package/dist/prepare.runtime.js +1 -1
  418. package/dist/preview-warnings-c5wlaU-y.js +392 -0
  419. package/dist/probe-C0Gd1211.js +682 -0
  420. package/dist/probe-CM_9YKXA.js +2 -0
  421. package/dist/probe-CrkgoSu3.js +2204 -0
  422. package/dist/probe-DcbGYJMj.js +47 -0
  423. package/dist/program-DcIk29tW.js +131 -0
  424. package/dist/provider-B2h8f0Br.js +8735 -0
  425. package/dist/provider-BXVr37w8.js +32 -0
  426. package/dist/provider-CIB7u7hX.js +152 -0
  427. package/dist/provider-bvVoUDev.js +32 -0
  428. package/dist/provider-dispatcher-btaVKiyh.js +22 -0
  429. package/dist/provider-dispatcher.runtime.js +1 -1
  430. package/dist/provider-session.runtime-CFBF4pr7.js +9 -0
  431. package/dist/provider-session.runtime.js +1 -1
  432. package/dist/provider.runtime-CZfM-gk6.js +2 -0
  433. package/dist/provider.runtime.js +1 -1
  434. package/dist/public-surface-loader-BTQVJb2c.js +114 -0
  435. package/dist/pw-ai-CZwiW9VR.js +3029 -0
  436. package/dist/pw-role-snapshot-BBAmIGwb.js +333 -0
  437. package/dist/reaction-level-DBBuD-ww.js +19 -0
  438. package/dist/reaction-runtime-api-C1vrXLqZ.js +116 -0
  439. package/dist/realtime-transcription-provider-CelUuvqm.js +205 -0
  440. package/dist/register-OPqUqnP6.js +2178 -0
  441. package/dist/register.agent-DSrwwOvx.js +156 -0
  442. package/dist/register.crestodian-Xxxk2-Zl.js +24 -0
  443. package/dist/register.maintenance-CDfzLTNQ.js +83 -0
  444. package/dist/register.runtime-BVG-Dv_-.js +54 -0
  445. package/dist/register.status-health-sessions-B36GUeBl.js +282 -0
  446. package/dist/register.subclis-BHzKPsu3.js +31 -0
  447. package/dist/register.subclis-Je6qsLUH.js +3 -0
  448. package/dist/register.subclis-core-DqSQ4XoR.js +273 -0
  449. package/dist/repair-sequencing-DNO4k0Xf.js +640 -0
  450. package/dist/reply-delivery-37v9z05y.js +196 -0
  451. package/dist/reply-runtime-py2XHqw1.js +11 -0
  452. package/dist/reply.runtime-BKhFCEun.js +2 -0
  453. package/dist/reply.runtime.js +1 -1
  454. package/dist/request-CoRpTCQ-.js +54 -0
  455. package/dist/resolve-allowlist-D-vOgxSP.js +220 -0
  456. package/dist/result-fallback-classifier-Dn3Dmp9k.js +79 -0
  457. package/dist/route-DW9RJF0S.js +469 -0
  458. package/dist/route-resolution-D_0Mvu67.js +274 -0
  459. package/dist/routes-437aa83D.js +3602 -0
  460. package/dist/routes-D7LQ3tMt.js +2 -0
  461. package/dist/run-DXGJiQoW.js +1162 -0
  462. package/dist/run-attempt-_0WJ7JVY.js +7704 -0
  463. package/dist/run-command-BkhBbZq4.js +23 -0
  464. package/dist/run-command-DMG9dO72.js +2 -0
  465. package/dist/run-embedded.runtime-D525I-KH.js +4 -0
  466. package/dist/run-embedded.runtime.js +1 -1
  467. package/dist/run-execution-cli.runtime-TuyJs3wn.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-BcGVpK9w.js +2 -0
  471. package/dist/run-subagent-registry.runtime.js +1 -1
  472. package/dist/runtime-5_JhnRj0.js +438 -0
  473. package/dist/runtime-BEfdbKzt.js +6179 -0
  474. package/dist/runtime-DtQ2yT4g.js +1287 -0
  475. package/dist/runtime-api-Bm7IDGdk.js +24 -0
  476. package/dist/runtime-api-C8uxd9Js.js +4 -0
  477. package/dist/runtime-api-CLhw7d8A.js +13 -0
  478. package/dist/runtime-api-Ccg7ngfJ.js +13 -0
  479. package/dist/runtime-api-CpQqdZYq.js +21 -0
  480. package/dist/runtime-api-JulpTdFC.js +17 -0
  481. package/dist/runtime-api-zbqtuJt-.js +3 -0
  482. package/dist/runtime-api.actions-2fHneH-M.js +3 -0
  483. package/dist/runtime-api.monitor-Bpj7QCdL.js +6 -0
  484. package/dist/runtime-api.send-DeoFOMAr.js +4 -0
  485. package/dist/runtime-api.threads-b16O0JZ4.js +2 -0
  486. package/dist/runtime-channel-CuERpYnN.js +150 -0
  487. package/dist/runtime-channel-YbtclsiZ.js +2 -0
  488. package/dist/runtime-embedded-pi.runtime-DEcqs7Yu.js +2 -0
  489. package/dist/runtime-embedded-pi.runtime.js +1 -1
  490. package/dist/sanitize-outbound-cOz4EipP.js +127 -0
  491. package/dist/sdk-setup-tools-Bur4xhiB.js +8 -0
  492. package/dist/secrets-B0P_1QcV.js +113 -0
  493. package/dist/security-audit-DRttHvfh.js +122 -0
  494. package/dist/security-audit-Dp26B_nd.js +118 -0
  495. package/dist/security-audit.runtime-DYK4iAnc.js +2 -0
  496. package/dist/security-audit.runtime.js +1 -1
  497. package/dist/selection-44C59Jt6.js +16157 -0
  498. package/dist/selection-QO-UjTkW.js +3 -0
  499. package/dist/send-C_D0mahx.js +2 -0
  500. package/dist/send-Cr-pK3Md.js +143 -0
  501. package/dist/send-DVhzeHKl.js +1631 -0
  502. package/dist/send-PmYvWFLe.js +192 -0
  503. package/dist/send.components-B2Mo6jm1.js +500 -0
  504. package/dist/send.components-BPYxo1GP.js +2 -0
  505. package/dist/send.runtime-D3JsvWwD.js +2 -0
  506. package/dist/send.runtime.js +1 -1
  507. package/dist/server-0ubKRVjg.js +24 -0
  508. package/dist/server-DfzdV9XR.js +73 -0
  509. package/dist/server-close.runtime.js +1 -1
  510. package/dist/server-context-CUWMZ_eM.js +2 -0
  511. package/dist/server-context-Cnl8idXT.js +955 -0
  512. package/dist/server-cron-D7QmsboM.js +2 -0
  513. package/dist/server-cron-mea_v_AH.js +2989 -0
  514. package/dist/server-maintenance-CzgBw90t.js +167 -0
  515. package/dist/server-methods-BQK-_CCw.js +16494 -0
  516. package/dist/server-node-events-C__xvGU1.js +596 -0
  517. package/dist/server-plugin-bootstrap-vC6fQjdM.js +70 -0
  518. package/dist/server-plugins-BfXHktel.js +432 -0
  519. package/dist/server-reload-handlers-CdagBZAE.js +714 -0
  520. package/dist/server-restart-sentinel-BO-vqR3K.js +747 -0
  521. package/dist/server-restart-sentinel-DND8yDHW.js +2 -0
  522. package/dist/server-runtime-services-Bao-oSOF.js +267 -0
  523. package/dist/server-runtime-services-D6cI6uO2.js +2 -0
  524. package/dist/server-startup-early-BDLTmiF5.js +87 -0
  525. package/dist/server-startup-plugins-q_W_iA3q.js +113 -0
  526. package/dist/server-startup-post-attach-CYKy2V3j.js +716 -0
  527. package/dist/server-ws-runtime-Da8L4ypZ.js +349 -0
  528. package/dist/server.impl-DGOSejqy.js +2586 -0
  529. package/dist/service-DlI2U-cK.js +1446 -0
  530. package/dist/session-binding-CwkYLNXf.js +2 -0
  531. package/dist/session-binding-DX-fo3c9.js +219 -0
  532. package/dist/session-kill-http-CFmTagxj.js +121 -0
  533. package/dist/session-reset-service-B25Jlagv.js +625 -0
  534. package/dist/session-route-bgMaGZRG.js +93 -0
  535. package/dist/session-status.runtime-Bs2EXyKA.js +2 -0
  536. package/dist/session-status.runtime.js +1 -1
  537. package/dist/session-subagent-reactivation.runtime-DXxAjUOk.js +2 -0
  538. package/dist/session-subagent-reactivation.runtime.js +1 -1
  539. package/dist/session-tab-registry-DacdZ4tB.js +521 -0
  540. package/dist/sessions-history-http-BVpW1ZcJ.js +430 -0
  541. package/dist/sessions.runtime-KBdCnSz6.js +2 -0
  542. package/dist/sessions.runtime.js +1 -1
  543. package/dist/setup-api-CeIlDnWx.js +29 -0
  544. package/dist/setup-core-DLbBGLsw.js +174 -0
  545. package/dist/setup-surface-B2a2VaWD.js +221 -0
  546. package/dist/setup-surface-Bx_siWyS.js +320 -0
  547. package/dist/setup-surface-Cf4YnQu2.js +405 -0
  548. package/dist/setup-surface-DTcOOfre.js +288 -0
  549. package/dist/shared-LAgU4fFs.js +121 -0
  550. package/dist/shared-client-Am1mCd-v.js +2 -0
  551. package/dist/shared-client-D3A48dlk.js +629 -0
  552. package/dist/side-question-DVTWk-tO.js +683 -0
  553. package/dist/skill-tool-dispatch.runtime-igagKDUg.js +143 -0
  554. package/dist/skill-tool-dispatch.runtime.js +1 -1
  555. package/dist/slash-state-DJji-KSx.js +2166 -0
  556. package/dist/speech-provider-Dsa05s8C.js +184 -0
  557. package/dist/src-DqgvOnta.js +4256 -0
  558. package/dist/startup-context-CWwChEn9.js +313 -0
  559. package/dist/status-CUKFkF6b.js +3 -0
  560. package/dist/status-_UeuGVi3.js +4 -0
  561. package/dist/status-all-ChigLV_X.js +573 -0
  562. package/dist/status-json-CIdP1iBJ.js +14 -0
  563. package/dist/status-json-command-BDEUrp6M.js +84 -0
  564. package/dist/status-runtime-shared-Cq4a18dI.js +283 -0
  565. package/dist/status-subagents.runtime-CAVnAL4K.js +18 -0
  566. package/dist/status-subagents.runtime.js +1 -1
  567. package/dist/status-text-D4HAPHm1.js +296 -0
  568. package/dist/status.command-8BU177X9.js +2 -0
  569. package/dist/status.command-yh7emvuM.js +420 -0
  570. package/dist/status.command.text-runtime-B8OpdGCG.js +15 -0
  571. package/dist/status.scan-BIuwlU6G.js +68 -0
  572. package/dist/status.scan-overview-r9Sk69iQ.js +444 -0
  573. package/dist/status.scan.fast-json-3nlHM3LS.js +2 -0
  574. package/dist/status.scan.fast-json-DnwGPJ0_.js +127 -0
  575. package/dist/status.scan.runtime-CgdduW2l.js +479 -0
  576. package/dist/status.scan.runtime.js +1 -1
  577. package/dist/status.update-BgFhUW7I.js +86 -0
  578. package/dist/status.update-rQL4_Irv.js +2 -0
  579. package/dist/sticker-cache-hPdFIaR8.js +206 -0
  580. package/dist/sticker-vision.runtime-CKwNUUYH.js +17 -0
  581. package/dist/sticker-vision.runtime.js +1 -1
  582. package/dist/subagent-announce-CPTinWX3.js +354 -0
  583. package/dist/subagent-announce-delivery-ohL5PocA.js +958 -0
  584. package/dist/subagent-control-BQDtHw6e.js +508 -0
  585. package/dist/subagent-hooks-BUKvlYGi.js +2 -0
  586. package/dist/subagent-hooks-CwwuJtIN.js +2 -0
  587. package/dist/subagent-hooks-D-6S1mpG.js +146 -0
  588. package/dist/subagent-hooks-DK4O9DHY.js +2 -0
  589. package/dist/subagent-hooks-DKrXETX6.js +230 -0
  590. package/dist/subagent-hooks-RtDD-o7f.js +116 -0
  591. package/dist/subagent-hooks-api-CSGGhB4Y.js +23 -0
  592. package/dist/subagent-hooks-api-Zf13FmkW.js +23 -0
  593. package/dist/subagent-hooks-api-fTY-dYum.js +22 -0
  594. package/dist/subagent-orphan-recovery-CR_zRTfz.js +352 -0
  595. package/dist/subagent-registry-BHt8-wIZ.js +2351 -0
  596. package/dist/subagent-registry-BuLz8xwh.js +3 -0
  597. package/dist/subagent-registry.runtime.js +1 -1
  598. package/dist/subagent-session-cleanup-D7ihbQFh.js +525 -0
  599. package/dist/subagent-spawn-OIztmjv_.js +1164 -0
  600. package/dist/target-id-DWzawpWq.js +107 -0
  601. package/dist/targets-B5V5WYoi.js +19 -0
  602. package/dist/targets-HIPV3dV_.js +44 -0
  603. package/dist/targets-sXOKpsPF.js +19 -0
  604. package/dist/task-registry-control.runtime.js +1 -1
  605. package/dist/telegram/token.js +1 -1
  606. package/dist/testing-a7plxbxs.js +267 -0
  607. package/dist/text-report-7eTN6lDu.js +695 -0
  608. package/dist/thread-bindings-CFgQ6p2l.js +228 -0
  609. package/dist/thread-bindings-CJgi2r1R.js +232 -0
  610. package/dist/thread-bindings-CSoJgsSu.js +8 -0
  611. package/dist/thread-bindings-DvMQHqPr.js +571 -0
  612. package/dist/thread-bindings.discord-api-Btr2o7Dq.js +187 -0
  613. package/dist/thread-bindings.manager-B2MjrNW8.js +536 -0
  614. package/dist/thread-bindings.manager-DrIh5eqv.js +2 -0
  615. package/dist/thread-lifecycle-9hfhP6NM.js +1614 -0
  616. package/dist/token-D1xw1VoL.js +134 -0
  617. package/dist/tool-DTcPPGeG.js +139 -0
  618. package/dist/tool-actions.runtime-RP-p2ohJ.js +534 -0
  619. package/dist/tool-actions.runtime.js +1 -1
  620. package/dist/tool-resolution-FQZNVA7E.js +149 -0
  621. package/dist/tools-effective-inventory-D4IsbxCS.js +204 -0
  622. package/dist/tools-invoke-http-kcbjM-Jl.js +67 -0
  623. package/dist/tools-invoke-shared-CETqKcCV.js +200 -0
  624. package/dist/tts-BMP6Xnk0.js +66 -0
  625. package/dist/tui-C36hUrre.js +2 -0
  626. package/dist/tui-DiM1ke7p.js +4709 -0
  627. package/dist/tui-backend-De30cpsu.js +256 -0
  628. package/dist/tui-cli-k2-5mPku.js +37 -0
  629. package/dist/update-check-Dq2TmP7u.js +372 -0
  630. package/dist/update-cli-CIH--yOA.js +3664 -0
  631. package/dist/update-runner-ON3AsN9h.js +2379 -0
  632. package/dist/update-startup-B1hNnHsG.js +2 -0
  633. package/dist/update-startup-DfHO6Sde.js +339 -0
  634. package/dist/vision-tools-B2EWe9pv.js +1409 -0
  635. package/dist/web-search-DPki3TB7.js +62 -0
  636. package/dist/web-search-provider.runtime-CwRj50RV.js +2 -0
  637. package/dist/web-search-provider.runtime-DvOOme-j.js +328 -0
  638. package/dist/web-search-provider.runtime.js +1 -1
  639. package/dist/xai-oauth-DtHB3Iav.js +479 -0
  640. package/dist/xai-user-agent-lpTplBOY.js +32 -0
  641. package/package.json +1 -1
  642. package/dist/abort-DI3P6TIb.js +0 -277
  643. package/dist/abort.runtime-B6Z7lDEa.js +0 -2
  644. package/dist/account-inspect-BFz7X0TX.js +0 -173
  645. package/dist/accounts-BoYYrY7x.js +0 -107
  646. package/dist/accounts-Busq29zW.js +0 -107
  647. package/dist/accounts-CuvH2tuN.js +0 -119
  648. package/dist/accounts-DkIcqvf7.js +0 -2
  649. package/dist/acp-runtime-BA8lzXzf.js +0 -26
  650. package/dist/acp-spawn-DPz2aX3A.js +0 -2
  651. package/dist/acp-spawn-DvVCsWYV.js +0 -1275
  652. package/dist/acp-stateful-target-driver-DcC76aZW.js +0 -89
  653. package/dist/action-kill-D-dVisIX.js +0 -33
  654. package/dist/action-runtime-BEiqwxDD.js +0 -469
  655. package/dist/action-runtime-api-1LzcGjcX.js +0 -2
  656. package/dist/action-send-c3CnDuPg.js +0 -39
  657. package/dist/action-spawn-Dj4kwpWs.js +0 -47
  658. package/dist/actions-qLccmQBc.js +0 -161
  659. package/dist/actions.runtime-B5vYAgNi.js +0 -5
  660. package/dist/agent-command-D6Ds198G.js +0 -1367
  661. package/dist/agent-components.runtime-xquK0B3L.js +0 -10
  662. package/dist/agent-harness-runtime-Dq1fCBOM.js +0 -180
  663. package/dist/agent-harness-task-runtime-DvSEqFkD.js +0 -140
  664. package/dist/agent-lm5ZYOFy.js +0 -3
  665. package/dist/agent-runner-execution-Dbh2pDhQ.js +0 -1713
  666. package/dist/agent-runner-utils-Di3r2T1T.js +0 -266
  667. package/dist/agent-runner.runtime-BW90EcGW.js +0 -3455
  668. package/dist/agent-runtime-BgIT5Ytc.js +0 -229
  669. package/dist/agent-via-gateway-DMMS8-hK.js +0 -463
  670. package/dist/agent-ylolD8-V.js +0 -2
  671. package/dist/api-BB4vXLtW.js +0 -2
  672. package/dist/api-CUhM3KNB.js +0 -134
  673. package/dist/api-CewRHSbT.js +0 -6
  674. package/dist/api-CfKjNJlW.js +0 -2
  675. package/dist/api-Rsnqui1u.js +0 -3
  676. package/dist/api-k7AvxwHr.js +0 -639
  677. package/dist/apply-DQ4TQNMA.js +0 -54
  678. package/dist/apply-S_75Py4Y.js +0 -41
  679. package/dist/approval-handler.runtime-Cthxrstu.js +0 -130
  680. package/dist/assistant-Cp9pGaBw.js +0 -291
  681. package/dist/attachment-normalize-5R0bLLOj.js +0 -225
  682. package/dist/attempt-execution-DuyyZYsU.js +0 -558
  683. package/dist/attempt-execution.runtime-DF2GPgNh.js +0 -3
  684. package/dist/attempt-execution.shared-CwdukA3t.js +0 -38
  685. package/dist/attempt.prompt-helpers-CUqKtIa5.js +0 -475
  686. package/dist/attempt.tool-run-context-BbN4_BYO.js +0 -2094
  687. package/dist/binding-routing-C6Ex2Blu.js +0 -113
  688. package/dist/binding-targets-BqREncSL.js +0 -121
  689. package/dist/bot-DGMEkaIJ.js +0 -7894
  690. package/dist/bot-deps-BltYjeMX.js +0 -2
  691. package/dist/bot-deps-XvGCor9f.js +0 -747
  692. package/dist/bot-message-context.runtime-kK-xvLV7.js +0 -7
  693. package/dist/bot-message-context.session.runtime-DpOIJUae.js +0 -12
  694. package/dist/bot-native-commands.delivery.runtime-D49p5Lc1.js +0 -4
  695. package/dist/bot-native-commands.runtime-8XBdSpkQ.js +0 -13
  696. package/dist/bridge-server-y_XGduPx.js +0 -113
  697. package/dist/browser-cli-B2jmmTT3.js +0 -230
  698. package/dist/browser-cli-actions-input-JQt5ZQcn.js +0 -473
  699. package/dist/browser-cli-actions-observe-CrfKh6AX.js +0 -81
  700. package/dist/browser-cli-debug-DQACWlvC.js +0 -137
  701. package/dist/browser-cli-inspect-DDnxx0Xw.js +0 -104
  702. package/dist/browser-cli-lEuOnZzs.js +0 -2
  703. package/dist/browser-cli-manage-DogmwtYt.js +0 -443
  704. package/dist/browser-cli-resize-BHuV71VZ.js +0 -26
  705. package/dist/browser-cli-shared-CidShgoF.js +0 -50
  706. package/dist/browser-cli-state-i8cCGbiQ.js +0 -337
  707. package/dist/browser-control-auth-CKfXdXWj.js +0 -2
  708. package/dist/browser-profiles-ATBTvUGh.js +0 -2
  709. package/dist/browser-runtime-KmCT6FuL.js +0 -384
  710. package/dist/build-DOOT6f62.js +0 -257
  711. package/dist/capability-cli-DwvrwB-g.js +0 -1782
  712. package/dist/channel-B-wgK1bK.js +0 -481
  713. package/dist/channel-B1e_k1P0.js +0 -867
  714. package/dist/channel-BRDfa5tc.js +0 -1777
  715. package/dist/channel-BVEO1O4p.js +0 -376
  716. package/dist/channel-BYlO5l1d.js +0 -508
  717. package/dist/channel-BdhbzWTg.d.ts +0 -427
  718. package/dist/channel-Bl0sPoNx.js +0 -653
  719. package/dist/channel-C84xtDBy.js +0 -1134
  720. package/dist/channel-CLgKq4Ds.js +0 -1556
  721. package/dist/channel-CZT0qxLh.js +0 -1249
  722. package/dist/channel-CffBHWkb.js +0 -955
  723. package/dist/channel-D34ZJvVB.js +0 -2126
  724. package/dist/channel-DcdXLo_W.js +0 -238
  725. package/dist/channel-DnK5TrXV.js +0 -362
  726. package/dist/channel-Dzj4RHY2.js +0 -740
  727. package/dist/channel-OhZzLZCj.js +0 -562
  728. package/dist/channel-actions.runtime-Cdvhqc9s.js +0 -265
  729. package/dist/channel-core-Dz9I_R4j.js +0 -5
  730. package/dist/channel-inbound-COGoV_aS.js +0 -80
  731. package/dist/channel-mP6HCIMr.js +0 -1496
  732. package/dist/channel-plugin-runtime-C0R46KeG.js +0 -998
  733. package/dist/channel-quGdgWel.js +0 -808
  734. package/dist/channel-runtime-FvPQoIF9.js +0 -408
  735. package/dist/channel.runtime-2vUz3gij.js +0 -109
  736. package/dist/channel.runtime-BZLDSNuQ.js +0 -254
  737. package/dist/channel.runtime-Bo5jO0Hj.js +0 -4
  738. package/dist/channel.runtime-CDgvrjM2.js +0 -652
  739. package/dist/channel.runtime-COf8SDFn.js +0 -88
  740. package/dist/channel.runtime-C_C1f8lu.js +0 -733
  741. package/dist/channel.runtime-CqPbsg8t.js +0 -2528
  742. package/dist/channel.runtime-DtV85Khx.js +0 -1008
  743. package/dist/channel.runtime-Spt1ukGW.js +0 -21009
  744. package/dist/channel.setup-Bc0LUQS1.js +0 -1098
  745. package/dist/channel.setup-ChTkj2hq.js +0 -343
  746. package/dist/channel.setup-CpMD9F8i.js +0 -10
  747. package/dist/chat-mUsjD5YN.js +0 -2666
  748. package/dist/chrome-u314zcbM.js +0 -1503
  749. package/dist/cli-CJMoqXrc.js +0 -1341
  750. package/dist/cli-compaction-qGYB7suI.js +0 -347
  751. package/dist/cli-metadata-BBJFpNU9.js +0 -22
  752. package/dist/cli-runner-C0kcts0I.js +0 -540
  753. package/dist/cli-runner-CTm8K6s8.js +0 -2
  754. package/dist/cli-runner.runtime-C8deL5FL.js +0 -3
  755. package/dist/cli-runner.runtime-DDAg1D0L.js +0 -4
  756. package/dist/client-CPxpgs4m.js +0 -650
  757. package/dist/client-adapter-CLlqOqfu.js +0 -897
  758. package/dist/client-factory-R7Rr2jwn.js +0 -9
  759. package/dist/command-auth-CkQP1buP.js +0 -135
  760. package/dist/command-handlers-CJEjFyMk.js +0 -1609
  761. package/dist/command-registry-BDgyOqDw.js +0 -4
  762. package/dist/command-registry-BVi5Jn1S.js +0 -9
  763. package/dist/command-registry-core-JCfsVRtz.js +0 -110
  764. package/dist/command-status.runtime-CM1JLzi6.js +0 -90
  765. package/dist/commands-acp-C1-I78U6.js +0 -74
  766. package/dist/commands-compact.runtime-DOsNavwp.js +0 -10
  767. package/dist/commands-handlers.runtime-BD1n2WGw.js +0 -6154
  768. package/dist/commands-status-DU_UTQz1.js +0 -16
  769. package/dist/commands-status-DejfTakp.js +0 -3
  770. package/dist/commands-status.runtime-DejfTakp.js +0 -3
  771. package/dist/commands-subagents-control.runtime-D7vo_2Y_.js +0 -3
  772. package/dist/commands-subagents-control.runtime-DGybTjJ6.js +0 -2
  773. package/dist/commands-system-prompt-BEBXAMea.js +0 -2
  774. package/dist/commands-system-prompt-gj3oQpQO.js +0 -162
  775. package/dist/commands.runtime-CgXX70IN.js +0 -176
  776. package/dist/compact-C41XxMDt.js +0 -480
  777. package/dist/compact-DUVAF9EC.js +0 -1141
  778. package/dist/compact.runtime-COMRg6s3.js +0 -12
  779. package/dist/completion-cli-CmEYoB9a.js +0 -315
  780. package/dist/computer-use-BwJHu1QF.js +0 -367
  781. package/dist/config-ATBTvUGh.js +0 -2
  782. package/dist/config-DlNgjF8W.js +0 -373
  783. package/dist/config-mutations-tl_OqI6d.js +0 -159
  784. package/dist/context-engine-host-compat-BNPAIK9F.js +0 -288
  785. package/dist/context-engine-host-compat-C69CK7zS.js +0 -2
  786. package/dist/context-engine-lifecycle-iQ8f5a_-.js +0 -1274
  787. package/dist/control-auth-vVxyGKxY.js +0 -114
  788. package/dist/control-service-73nj79EW.js +0 -145
  789. package/dist/control-ui/assets/agents-DdWIz8Vk.js +0 -1008
  790. package/dist/control-ui/assets/channel-config-extras-C7ELhuDi.js +0 -2
  791. package/dist/control-ui/assets/channels-Bsoj-9BS.js +0 -367
  792. package/dist/control-ui/assets/cron-BRTEw1tT.js +0 -1013
  793. package/dist/control-ui/assets/debug-EKl_F8_L.js +0 -97
  794. package/dist/control-ui/assets/index-DSbSO7ys.js +0 -7370
  795. package/dist/control-ui/assets/instances-B1AoYwI5.js +0 -57
  796. package/dist/control-ui/assets/logs-BChOznzh.js +0 -74
  797. package/dist/control-ui/assets/nodes-5yebKh9k.js +0 -436
  798. package/dist/control-ui/assets/sessions-BlDYNThc.js +0 -399
  799. package/dist/control-ui/assets/skills-shared-CNFnf7KU.js +0 -11
  800. package/dist/control-ui/assets/skills-uxTDRmLx.js +0 -314
  801. package/dist/conversation-binding-runtime-CmoTKcY1.js +0 -4
  802. package/dist/conversation-runtime-BxOHxuin.js +0 -31
  803. package/dist/core-D0Y2H55f.js +0 -282
  804. package/dist/core-api-BKlJUtDt.js +0 -5
  805. package/dist/core-api-_fiftUHn.js +0 -2
  806. package/dist/crestodian-BJifoQiR.js +0 -55
  807. package/dist/daocore-tools-BMdF8RwK.js +0 -11727
  808. package/dist/delivery-e2ci_bcX.js +0 -1002
  809. package/dist/dialogue-BXayGhnz.js +0 -37
  810. package/dist/dir-fetch-tool-Cara5mZh.js +0 -565
  811. package/dist/dir-list-tool-CQ8Bo5Ez.js +0 -100
  812. package/dist/direct-dm-CPk6Qm9D.js +0 -64
  813. package/dist/directive-handling.fast-lane-BQ9aXqk8.js +0 -68
  814. package/dist/directive-handling.impl--a5AGurq.js +0 -818
  815. package/dist/directive-handling.impl-C4JqMwle.js +0 -2
  816. package/dist/directive-handling.model-selection-pyTYMIXn.js +0 -122
  817. package/dist/directive-handling.persist.runtime-B7vWT1r9.js +0 -263
  818. package/dist/dispatch-3Ru_eGq1.js +0 -1640
  819. package/dist/dispatch-acp-transcript.runtime-CYMP-5oE.js +0 -40
  820. package/dist/dispatch-acp.runtime-BVCiklXk.js +0 -18
  821. package/dist/doctor-B8mR3Sgr.js +0 -2
  822. package/dist/doctor-BJ6DuerV.js +0 -6
  823. package/dist/doctor-config-flow-BdOGs_zn.js +0 -1741
  824. package/dist/doctor-core-checks-CDf0stz-.js +0 -2
  825. package/dist/doctor-core-checks-Cpdnu2XI.js +0 -573
  826. package/dist/doctor-health-0qv_acBu.js +0 -65
  827. package/dist/doctor-health-contributions-Db1FQgFw.js +0 -696
  828. package/dist/doctor-lint-C1g4Llgl.js +0 -94
  829. package/dist/doctor-state-integrity-C8iXFLJ7.js +0 -1231
  830. package/dist/doctor-update-CsPu6p3d.js +0 -58
  831. package/dist/dynamic-tools-YQ0z0YKH.js +0 -486
  832. package/dist/embedded-backend-S0cahIZw.js +0 -579
  833. package/dist/embedded-gateway-stub.runtime-Cjw12ALm.js +0 -12
  834. package/dist/exec-approvals-ArHHjoE-.js +0 -149
  835. package/dist/file-fetch-tool-DQpAtjX4.js +0 -124
  836. package/dist/file-write-tool-CkB0oYwe.js +0 -127
  837. package/dist/format-BUFz60TQ.js +0 -250
  838. package/dist/format-DUJUpMFQ.js +0 -1145
  839. package/dist/gateway-cli-CQo_E4Ka.js +0 -435
  840. package/dist/gateway-method-runtime-1QPgVJH7.js +0 -21
  841. package/dist/get-reply-DfUcsC-O.js +0 -4689
  842. package/dist/get-reply-from-config.runtime-C95MG73O.js +0 -2
  843. package/dist/graph-users-DPJe0fPs.js +0 -1419
  844. package/dist/group-access-DefaNJ6L.js +0 -112
  845. package/dist/handle-action.guild-admin-C1sy1kGJ.js +0 -288
  846. package/dist/harness-BgPRdmNK.js +0 -61
  847. package/dist/health-DFR9A1YV.js +0 -4
  848. package/dist/health-state-BT1WDbbs.js +0 -106
  849. package/dist/heartbeat-runner-BiYVPs25.js +0 -5
  850. package/dist/heartbeat-runner.runtime-Bmaq8WUA.js +0 -4
  851. package/dist/hooks-CNJDuJUm.js +0 -534
  852. package/dist/inbound-direct-dm-runtime-DFt58p71.js +0 -2
  853. package/dist/inbound-reply-dispatch-kgSDM8ax.js +0 -148
  854. package/dist/init-B0zO_U4r.js +0 -59
  855. package/dist/inline-buttons-B6zgQW3J.js +0 -40
  856. package/dist/internal-events-C3Q5t6hg.js +0 -90
  857. package/dist/isolated-agent-CaSU5GCJ.js +0 -2
  858. package/dist/isolated-agent-CnsD2TmP.js +0 -1118
  859. package/dist/lifecycle-i3WZDaIn.js +0 -571
  860. package/dist/list.probe-g0rUiVXW.js +0 -449
  861. package/dist/list.status-command-DG3PrmeO.js +0 -789
  862. package/dist/llm-slug-generator-CHlf69FU.js +0 -78
  863. package/dist/local-dispatch.runtime-CDeHUp_A.js +0 -9
  864. package/dist/manager.runtime-BlLMPUTq.js +0 -2714
  865. package/dist/markdown-to-line-r_mBHMdy.js +0 -811
  866. package/dist/mcp-http-C5UPIJGR.js +0 -555
  867. package/dist/mcp-http-CTy9gpfA.js +0 -2
  868. package/dist/media-understanding-provider-BT6TOuVa.js +0 -339
  869. package/dist/message-actions-BdcjjwFt.js +0 -145
  870. package/dist/message-handler-B29Tj2p2.js +0 -1715
  871. package/dist/message-handler-BhHb1FHI.js +0 -384
  872. package/dist/message-handler.preflight-ouZ_-3o8.js +0 -1125
  873. package/dist/message-handler.process-CrYiBx_F.js +0 -1484
  874. package/dist/model-CLbtocQX.js +0 -74
  875. package/dist/model-selection-BG_vU9Kl.js +0 -272
  876. package/dist/models-4KERn3ya.js +0 -104
  877. package/dist/models-BCa-ipxi.js +0 -2
  878. package/dist/models-cli-DtpGXEsf.js +0 -256
  879. package/dist/monitor-B-egsvmI.js +0 -1657
  880. package/dist/monitor-BJX9Yv7k.js +0 -2
  881. package/dist/monitor-BPrIy3pV.js +0 -715
  882. package/dist/monitor-BWknZZ7N.js +0 -4377
  883. package/dist/monitor-C3y_PtI1.js +0 -60
  884. package/dist/monitor-DCzfdqE4.js +0 -1370
  885. package/dist/monitor-P24epSwE.js +0 -2788
  886. package/dist/monitor-auth-CEG_xldE.js +0 -179
  887. package/dist/monitor-jEePJbbS.js +0 -834
  888. package/dist/monitor-polling.runtime-BzlHK11u.js +0 -883
  889. package/dist/monitor-webhook.runtime-vFEhk_Zj.js +0 -387
  890. package/dist/monitor.account-BUIfgWXg.js +0 -5233
  891. package/dist/monitor.runtime-Cp7W4fhb.js +0 -2
  892. package/dist/monitor.webhook-DzrbeR4T.js +0 -180
  893. package/dist/node-cli-sessions-CLbI14UA.js +0 -1228
  894. package/dist/openai-http-BM9BIA_g.js +0 -824
  895. package/dist/openresponses-http-CNoW9kk8.js +0 -1173
  896. package/dist/operations-DT4bsxV6.js +0 -805
  897. package/dist/outbound-adapter-CZRUOgY0.js +0 -543
  898. package/dist/outbound-session-route-DneMsGNx.js +0 -45
  899. package/dist/outbound.runtime-CHuoKJJI.js +0 -2
  900. package/dist/pi-embedded-1-rsueO_.js +0 -3796
  901. package/dist/pi-embedded-BRfDncVO.js +0 -4
  902. package/dist/pi-embedded.runtime-DEYoa6bW.js +0 -4
  903. package/dist/pi-tools-C0P3NgP5.js +0 -2413
  904. package/dist/plan-BQUkjBMY.js +0 -81
  905. package/dist/plan-CRO9_2_k.js +0 -112
  906. package/dist/plugin-BJCmWhnh.js +0 -12396
  907. package/dist/plugin-app-cache-key-CXAg0F7A.js +0 -46
  908. package/dist/plugin-enabled-D93Z9LSo.js +0 -233
  909. package/dist/plugin-registration-BBrTcZnf.js +0 -88
  910. package/dist/plugin-service-DnZEPBEA.js +0 -1229
  911. package/dist/policy-CMv5QMPG.js +0 -138
  912. package/dist/policy-CeoP4t9J.js +0 -680
  913. package/dist/prepare.runtime-DZ55JiTt.js +0 -732
  914. package/dist/preview-warnings-O08PZRxu.js +0 -392
  915. package/dist/probe-C6w3bP8X.js +0 -682
  916. package/dist/probe-Cs1_X1NA.js +0 -47
  917. package/dist/probe-Cuee_jyM.js +0 -2204
  918. package/dist/probe-DZxCnDzn.js +0 -2
  919. package/dist/program-C2dT8VHB.js +0 -131
  920. package/dist/provider-C2_vSzYh.js +0 -32
  921. package/dist/provider-DSfTDQbj.js +0 -152
  922. package/dist/provider-U8hrm9h-.js +0 -32
  923. package/dist/provider-_v910H8y.js +0 -8735
  924. package/dist/provider-dispatcher-C3kmmIEC.js +0 -22
  925. package/dist/provider-session.runtime-Mg0fx5hH.js +0 -9
  926. package/dist/provider.runtime-pSTXuHrq.js +0 -2
  927. package/dist/public-surface-loader-09t4TTue.js +0 -114
  928. package/dist/pw-ai-DjNqHV3_.js +0 -3029
  929. package/dist/pw-role-snapshot-DoGefdv7.js +0 -333
  930. package/dist/reaction-level-C8Mqxizo.js +0 -19
  931. package/dist/reaction-runtime-api-DOP6xOsm.js +0 -116
  932. package/dist/realtime-transcription-provider-BTGEXXna.js +0 -205
  933. package/dist/register-CbZPpqI3.js +0 -2178
  934. package/dist/register.agent-DrBFuPKh.js +0 -156
  935. package/dist/register.crestodian-DwTbmaK8.js +0 -24
  936. package/dist/register.maintenance-BIeoYBub.js +0 -83
  937. package/dist/register.runtime-B5V9_Dwz.js +0 -54
  938. package/dist/register.status-health-sessions-Bt261Z8-.js +0 -282
  939. package/dist/register.subclis-CJE9ISZY.js +0 -31
  940. package/dist/register.subclis-YQsKas8N.js +0 -3
  941. package/dist/register.subclis-core-CjwdGeGU.js +0 -273
  942. package/dist/repair-sequencing-C0jrL5pw.js +0 -640
  943. package/dist/reply-delivery-B28mTIpb.js +0 -196
  944. package/dist/reply-runtime-BqQX7HHw.js +0 -11
  945. package/dist/reply.runtime-C95MG73O.js +0 -2
  946. package/dist/request-BqoMvXxH.js +0 -54
  947. package/dist/resolve-allowlist-hbKKd_kq.js +0 -220
  948. package/dist/result-fallback-classifier-BrORPoxj.js +0 -79
  949. package/dist/route-HHRgSzVy.js +0 -469
  950. package/dist/route-resolution-C7bafjVc.js +0 -274
  951. package/dist/routes-86XGeo7a.js +0 -2
  952. package/dist/routes-BhVGr9ie.js +0 -3602
  953. package/dist/run-Bb5QP5JV.js +0 -1162
  954. package/dist/run-attempt-CLi0wV7j.js +0 -7704
  955. package/dist/run-command-Be6GAxiW.js +0 -2
  956. package/dist/run-command-Ds4hr3iU.js +0 -23
  957. package/dist/run-embedded.runtime-wX9ORojX.js +0 -4
  958. package/dist/run-execution-cli.runtime-BmNZVB2N.js +0 -4
  959. package/dist/run-subagent-registry.runtime-Uq5sjftu.js +0 -2
  960. package/dist/runtime-BktLQ75j.js +0 -1287
  961. package/dist/runtime-C9XdR62_.js +0 -438
  962. package/dist/runtime-CTvWDPx9.js +0 -6179
  963. package/dist/runtime-api-BojB3MUw.js +0 -21
  964. package/dist/runtime-api-C92MlAwp.js +0 -13
  965. package/dist/runtime-api-CFNZE9Xt.js +0 -13
  966. package/dist/runtime-api-Cimpgm5_.js +0 -3
  967. package/dist/runtime-api-D8qG_lUm.js +0 -17
  968. package/dist/runtime-api-DMDMnQEG.js +0 -4
  969. package/dist/runtime-api-DupQdIlE.js +0 -24
  970. package/dist/runtime-api.actions-B8i3elqu.js +0 -3
  971. package/dist/runtime-api.monitor-BntFzf_M.js +0 -6
  972. package/dist/runtime-api.send-CPlmi1jc.js +0 -4
  973. package/dist/runtime-api.threads-D-H_r_Nl.js +0 -2
  974. package/dist/runtime-channel-BGhTxnXZ.js +0 -150
  975. package/dist/runtime-channel-CPFxNapZ.js +0 -2
  976. package/dist/runtime-embedded-pi.runtime-BjnMTurB.js +0 -2
  977. package/dist/sanitize-outbound-BMUv1NeS.js +0 -127
  978. package/dist/sdk-setup-tools-Do3DkQi_.js +0 -8
  979. package/dist/secrets-B8YVPHhk.js +0 -113
  980. package/dist/security-audit-7Gg_nL4o.js +0 -122
  981. package/dist/security-audit-Bk3CREj-.js +0 -118
  982. package/dist/security-audit.runtime-BmSJrdeq.js +0 -2
  983. package/dist/selection-BFGde9-_.js +0 -3
  984. package/dist/selection-DrLFlbgG.js +0 -16157
  985. package/dist/send-4dLa-BQo.js +0 -1631
  986. package/dist/send-CV6gCwYP.js +0 -192
  987. package/dist/send-aGiK3Efu.js +0 -143
  988. package/dist/send-dB3CehAN.js +0 -2
  989. package/dist/send.components-BcG9BlkC.js +0 -2
  990. package/dist/send.components-rLjDlfYU.js +0 -500
  991. package/dist/send.runtime-D20k2MSr.js +0 -2
  992. package/dist/server-BTRx_U1s.js +0 -73
  993. package/dist/server-CY0ymhBg.js +0 -24
  994. package/dist/server-context-BxGT8wbK.js +0 -955
  995. package/dist/server-context-DYlbhAaT.js +0 -2
  996. package/dist/server-cron-BB_15lcP.js +0 -2
  997. package/dist/server-cron-CfyJX_a4.js +0 -2989
  998. package/dist/server-maintenance-BwJ3OO_l.js +0 -167
  999. package/dist/server-methods-Ck2ab6TC.js +0 -16494
  1000. package/dist/server-node-events-BdRizF-5.js +0 -596
  1001. package/dist/server-plugin-bootstrap-CPUr8NFE.js +0 -70
  1002. package/dist/server-plugins-__5AxjzH.js +0 -432
  1003. package/dist/server-reload-handlers-BMl9Fx9b.js +0 -714
  1004. package/dist/server-restart-sentinel-D11M_ZsH.js +0 -747
  1005. package/dist/server-restart-sentinel-DGptQ27c.js +0 -2
  1006. package/dist/server-runtime-services-BwtLs-8I.js +0 -2
  1007. package/dist/server-runtime-services-aJydixRu.js +0 -267
  1008. package/dist/server-startup-early-CIW_gExj.js +0 -87
  1009. package/dist/server-startup-plugins-m_P3gY4m.js +0 -113
  1010. package/dist/server-startup-post-attach-DuXQ1AXL.js +0 -716
  1011. package/dist/server-ws-runtime-mXmxB1W8.js +0 -349
  1012. package/dist/server.impl-fuV8aKSP.js +0 -2586
  1013. package/dist/service-a8cTFka4.js +0 -1446
  1014. package/dist/session-binding-BIycxo9u.js +0 -2
  1015. package/dist/session-binding-xHwQr9vM.js +0 -219
  1016. package/dist/session-kill-http-DiUZhcoN.js +0 -121
  1017. package/dist/session-reset-service-DkepDoob.js +0 -625
  1018. package/dist/session-route-Ba5u7ecb.js +0 -93
  1019. package/dist/session-status.runtime-Cb1X69Rl.js +0 -2
  1020. package/dist/session-subagent-reactivation.runtime-rbqmto4G.js +0 -2
  1021. package/dist/session-tab-registry-DSKOoJta.js +0 -521
  1022. package/dist/sessions-history-http-CWP88I_C.js +0 -430
  1023. package/dist/sessions.runtime-1q1OwLn3.js +0 -2
  1024. package/dist/setup-api-DtrOOYeP.js +0 -29
  1025. package/dist/setup-core-DMrJS6LP.js +0 -174
  1026. package/dist/setup-surface-BFPNu1qA.js +0 -405
  1027. package/dist/setup-surface-CedShqhO.js +0 -288
  1028. package/dist/setup-surface-DLOBH1Vf.js +0 -320
  1029. package/dist/setup-surface-MhCeEWSj.js +0 -221
  1030. package/dist/shared-DamL-e8D.js +0 -121
  1031. package/dist/shared-client-B48JoAsz.js +0 -2
  1032. package/dist/shared-client-BoSiDnUo.js +0 -629
  1033. package/dist/side-question-DQoQ_ETb.js +0 -683
  1034. package/dist/skill-tool-dispatch.runtime-CWLloYA8.js +0 -143
  1035. package/dist/slash-state-DrrWJQfv.js +0 -2166
  1036. package/dist/speech-provider-8Hx1uw41.js +0 -184
  1037. package/dist/src-BbUYOPwU.js +0 -4256
  1038. package/dist/startup-context-opAJAamX.js +0 -313
  1039. package/dist/status-BzYEqfpS.js +0 -3
  1040. package/dist/status-DEkjbQ1i.js +0 -4
  1041. package/dist/status-all-Ms1tbq5v.js +0 -573
  1042. package/dist/status-json-UE2-MKTi.js +0 -14
  1043. package/dist/status-json-command-m7JqlonZ.js +0 -84
  1044. package/dist/status-runtime-shared-ByKptq1l.js +0 -283
  1045. package/dist/status-subagents.runtime-DSo7ZK_Z.js +0 -18
  1046. package/dist/status-text-AyPuDzrO.js +0 -296
  1047. package/dist/status.command-CkX3w3hv.js +0 -2
  1048. package/dist/status.command-DH5UrKNz.js +0 -420
  1049. package/dist/status.command.text-runtime-4UIQj9vb.js +0 -15
  1050. package/dist/status.scan-BRv7Br3F.js +0 -68
  1051. package/dist/status.scan-overview-BcD2pLMY.js +0 -444
  1052. package/dist/status.scan.fast-json-2dm_6iq-.js +0 -127
  1053. package/dist/status.scan.fast-json-BkkA55xn.js +0 -2
  1054. package/dist/status.scan.runtime-Bfv4GvoC.js +0 -479
  1055. package/dist/status.update-BQyHDWCY.js +0 -86
  1056. package/dist/status.update-I3jq8Q9m.js +0 -2
  1057. package/dist/sticker-cache-91Tp8mLP.js +0 -206
  1058. package/dist/sticker-vision.runtime-DjleFXi5.js +0 -17
  1059. package/dist/subagent-announce-delivery-DS_2W9oZ.js +0 -958
  1060. package/dist/subagent-announce-hatA_PZ2.js +0 -354
  1061. package/dist/subagent-control-IyFIvc7T.js +0 -508
  1062. package/dist/subagent-hooks-BCj5eB0Z.js +0 -2
  1063. package/dist/subagent-hooks-BWjTBkox.js +0 -146
  1064. package/dist/subagent-hooks-CdGLK9_3.js +0 -230
  1065. package/dist/subagent-hooks-EH0tBkw9.js +0 -2
  1066. package/dist/subagent-hooks-api-BhYaXQJV.js +0 -23
  1067. package/dist/subagent-hooks-api-uGsV8Xn5.js +0 -22
  1068. package/dist/subagent-hooks-api-wfJFKIPx.js +0 -23
  1069. package/dist/subagent-hooks-l8Xd94dt.js +0 -2
  1070. package/dist/subagent-hooks-m2eHUO_d.js +0 -116
  1071. package/dist/subagent-orphan-recovery-Bq9zvX3L.js +0 -352
  1072. package/dist/subagent-registry-Bcb3zy6b.js +0 -3
  1073. package/dist/subagent-registry-CoZNTFx-.js +0 -2351
  1074. package/dist/subagent-session-cleanup--00EjDLe.js +0 -525
  1075. package/dist/subagent-spawn-ClJJkz3D.js +0 -1164
  1076. package/dist/target-id-BsZLiF3x.js +0 -107
  1077. package/dist/targets-CQMe4AZP.js +0 -44
  1078. package/dist/targets-SmL1AU-H.js +0 -19
  1079. package/dist/targets-Y-roiA47.js +0 -19
  1080. package/dist/testing-B5hNJDuF.js +0 -267
  1081. package/dist/text-report-xqi7wg86.js +0 -695
  1082. package/dist/thread-bindings-BD3eE0kK.js +0 -232
  1083. package/dist/thread-bindings-C9NNiv8K.js +0 -571
  1084. package/dist/thread-bindings-Dl4PN1vZ.js +0 -228
  1085. package/dist/thread-bindings-uK1LLAwy.js +0 -8
  1086. package/dist/thread-bindings.discord-api-BHNEUbnk.js +0 -187
  1087. package/dist/thread-bindings.manager-B0LXiH3F.js +0 -2
  1088. package/dist/thread-bindings.manager-BTlH4XMG.js +0 -536
  1089. package/dist/thread-lifecycle-DG8uyPHd.js +0 -1614
  1090. package/dist/token-BbGCANnE.js +0 -134
  1091. package/dist/tool-actions.runtime-oUUrD8HB.js +0 -534
  1092. package/dist/tool-bqg-_vYv.js +0 -139
  1093. package/dist/tool-resolution-CSZsa3kP.js +0 -149
  1094. package/dist/tools-effective-inventory-0CqFp-vq.js +0 -204
  1095. package/dist/tools-invoke-http-DhYHY0Yh.js +0 -67
  1096. package/dist/tools-invoke-shared-CbVJJUj7.js +0 -200
  1097. package/dist/tts-C2qD-ad6.js +0 -66
  1098. package/dist/tui-CzGY254f.js +0 -4709
  1099. package/dist/tui-backend-fzoeoSN0.js +0 -256
  1100. package/dist/tui-cli-B2RWb2gM.js +0 -37
  1101. package/dist/tui-dgS8hdXU.js +0 -2
  1102. package/dist/update-check-Cv1EQVBi.js +0 -372
  1103. package/dist/update-cli-BmiBDf3c.js +0 -3664
  1104. package/dist/update-runner-CM7QVX6u.js +0 -2379
  1105. package/dist/update-startup-Byh39VP6.js +0 -339
  1106. package/dist/update-startup-DdWr4m3x.js +0 -2
  1107. package/dist/vision-tools-BzoBZnIc.js +0 -1409
  1108. package/dist/web-search-DmfOd66S.js +0 -62
  1109. package/dist/web-search-provider.runtime-3C5-pODD.js +0 -328
  1110. package/dist/web-search-provider.runtime-Doh-Z9We.js +0 -2
  1111. package/dist/xai-oauth-BLvQ43hx.js +0 -479
  1112. package/dist/xai-user-agent-BdMQ_0_O.js +0 -32
  1113. /package/dist/{acp-runtime-backend-Cxo7eBHf.js → acp-runtime-backend-Cn6L41Tg.js} +0 -0
  1114. /package/dist/{channel-actions-UDeVjgGz.js → channel-actions-8G0w3eC5.js} +0 -0
  1115. /package/dist/{command-status-runtime-CoHd4Fws.js → command-status-runtime-DEkrRb2G.js} +0 -0
  1116. /package/dist/{delegate-B-2xZ77o.js → delegate-CIrV5fYx.js} +0 -0
  1117. /package/dist/{dispatch-acp-DLPkmK7K.js → dispatch-acp-DSCi-ptu.js} +0 -0
  1118. /package/dist/{heartbeat-runner-D2j6JwOI.js → heartbeat-runner-D_Iq9CmQ.js} +0 -0
  1119. /package/dist/{library-DBT0cIPP.js → library-DhnQegiK.js} +0 -0
  1120. /package/dist/{run-executor.runtime-DE4J7f4M.js → run-executor.runtime-feFJuDlS.js} +0 -0
  1121. /package/dist/{shared-xeo8Yh5n.js → shared-docD3l41.js} +0 -0
@@ -0,0 +1,1556 @@
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-CUD6UgSq.js";
19
+ import "./channel-core-DTSpGZkc.js";
20
+ import { t as resolveTelegramToken } from "./token-D1xw1VoL.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-CZQ5w4JW.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-BP1xL5Pf.js";
42
+ import { r as resolveTelegramInlineButtonsScope } from "./inline-buttons-1E4EwLvT.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-tk6i5Iy2.js";
44
+ import { X as parseTelegramThreadId, Y as parseTelegramReplyToMessageId, d as buildTelegramGroupPeerId, i as markdownToTelegramHtmlChunks, o as splitTelegramHtmlChunks } from "./format-DpuFG9c5.js";
45
+ import { a as buildTelegramExecApprovalPendingPayload, c as normalizeTelegramBotInfo, i as releaseStoppedTelegramPollingLease, r as monitorTelegramProvider, s as telegramMessageActions$1, t as probeTelegram } from "./probe-C0Gd1211.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-DBBuD-ww.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-DvMQHqPr.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-BtGX8k1E.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-C_D0mahx.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-C_D0mahx.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 };