@gaodefa/daocore 2026.5.29 → 2026.5.30

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 (1068) hide show
  1. package/dist/abort-DI3P6TIb.js +277 -0
  2. package/dist/abort.runtime-B6Z7lDEa.js +2 -0
  3. package/dist/abort.runtime.js +1 -1
  4. package/dist/account-inspect-BFz7X0TX.js +173 -0
  5. package/dist/accounts-BoYYrY7x.js +107 -0
  6. package/dist/accounts-Busq29zW.js +107 -0
  7. package/dist/accounts-CuvH2tuN.js +119 -0
  8. package/dist/accounts-DkIcqvf7.js +2 -0
  9. package/dist/acp-runtime-BA8lzXzf.js +26 -0
  10. package/dist/acp-spawn-DPz2aX3A.js +2 -0
  11. package/dist/acp-spawn-DvVCsWYV.js +1275 -0
  12. package/dist/acp-stateful-target-driver-DcC76aZW.js +89 -0
  13. package/dist/action-kill-D-dVisIX.js +33 -0
  14. package/dist/action-runtime-BEiqwxDD.js +469 -0
  15. package/dist/action-runtime-api-1LzcGjcX.js +2 -0
  16. package/dist/action-send-c3CnDuPg.js +39 -0
  17. package/dist/action-spawn-Dj4kwpWs.js +47 -0
  18. package/dist/actions-qLccmQBc.js +161 -0
  19. package/dist/actions.runtime-B5vYAgNi.js +5 -0
  20. package/dist/agent-command-D6Ds198G.js +1367 -0
  21. package/dist/agent-components.runtime-xquK0B3L.js +10 -0
  22. package/dist/agent-components.runtime.js +1 -1
  23. package/dist/agent-harness-runtime-Dq1fCBOM.js +180 -0
  24. package/dist/agent-harness-task-runtime-DvSEqFkD.js +140 -0
  25. package/dist/agent-lm5ZYOFy.js +3 -0
  26. package/dist/agent-runner-execution-Dbh2pDhQ.js +1713 -0
  27. package/dist/agent-runner-utils-Di3r2T1T.js +266 -0
  28. package/dist/agent-runner.runtime-BW90EcGW.js +3455 -0
  29. package/dist/agent-runner.runtime.js +1 -1
  30. package/dist/agent-runtime-BgIT5Ytc.js +229 -0
  31. package/dist/agent-via-gateway-DMMS8-hK.js +463 -0
  32. package/dist/agent-ylolD8-V.js +2 -0
  33. package/dist/api-BB4vXLtW.js +2 -0
  34. package/dist/api-CUhM3KNB.js +134 -0
  35. package/dist/api-CewRHSbT.js +6 -0
  36. package/dist/api-CfKjNJlW.js +2 -0
  37. package/dist/api-Rsnqui1u.js +3 -0
  38. package/dist/api-k7AvxwHr.js +639 -0
  39. package/dist/apply-DQ4TQNMA.js +54 -0
  40. package/dist/apply-S_75Py4Y.js +41 -0
  41. package/dist/approval-handler.runtime-Cthxrstu.js +130 -0
  42. package/dist/assistant-Cp9pGaBw.js +291 -0
  43. package/dist/attachment-normalize-5R0bLLOj.js +225 -0
  44. package/dist/attempt-execution-DuyyZYsU.js +558 -0
  45. package/dist/attempt-execution.runtime-DF2GPgNh.js +3 -0
  46. package/dist/attempt-execution.runtime.js +1 -1
  47. package/dist/attempt-execution.shared-CwdukA3t.js +38 -0
  48. package/dist/attempt.prompt-helpers-CUqKtIa5.js +475 -0
  49. package/dist/attempt.tool-run-context-BbN4_BYO.js +2094 -0
  50. package/dist/binding-routing-C6Ex2Blu.js +113 -0
  51. package/dist/binding-targets-BqREncSL.js +121 -0
  52. package/dist/bot-DGMEkaIJ.js +7894 -0
  53. package/dist/bot-deps-BltYjeMX.js +2 -0
  54. package/dist/bot-deps-XvGCor9f.js +747 -0
  55. package/dist/bot-message-context.runtime-kK-xvLV7.js +7 -0
  56. package/dist/bot-message-context.runtime.js +1 -1
  57. package/dist/bot-message-context.session.runtime-DpOIJUae.js +12 -0
  58. package/dist/bot-message-context.session.runtime.js +1 -1
  59. package/dist/bot-native-commands.delivery.runtime-D49p5Lc1.js +4 -0
  60. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  61. package/dist/bot-native-commands.runtime-8XBdSpkQ.js +13 -0
  62. package/dist/bot-native-commands.runtime.js +1 -1
  63. package/dist/bridge-server-y_XGduPx.js +113 -0
  64. package/dist/browser-cli-B2jmmTT3.js +230 -0
  65. package/dist/browser-cli-actions-input-JQt5ZQcn.js +473 -0
  66. package/dist/browser-cli-actions-observe-CrfKh6AX.js +81 -0
  67. package/dist/browser-cli-debug-DQACWlvC.js +137 -0
  68. package/dist/browser-cli-inspect-DDnxx0Xw.js +104 -0
  69. package/dist/browser-cli-lEuOnZzs.js +2 -0
  70. package/dist/browser-cli-manage-DogmwtYt.js +443 -0
  71. package/dist/browser-cli-resize-BHuV71VZ.js +26 -0
  72. package/dist/browser-cli-shared-CidShgoF.js +50 -0
  73. package/dist/browser-cli-state-i8cCGbiQ.js +337 -0
  74. package/dist/browser-control-auth-CKfXdXWj.js +2 -0
  75. package/dist/browser-profiles-ATBTvUGh.js +2 -0
  76. package/dist/browser-runtime-KmCT6FuL.js +384 -0
  77. package/dist/build-DOOT6f62.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-DwvrwB-g.js +1782 -0
  83. package/dist/channel-B-wgK1bK.js +481 -0
  84. package/dist/channel-B1e_k1P0.js +867 -0
  85. package/dist/channel-BRDfa5tc.js +1777 -0
  86. package/dist/channel-BVEO1O4p.js +376 -0
  87. package/dist/channel-BYlO5l1d.js +508 -0
  88. package/dist/channel-Bl0sPoNx.js +653 -0
  89. package/dist/channel-C84xtDBy.js +1134 -0
  90. package/dist/channel-CLgKq4Ds.js +1556 -0
  91. package/dist/channel-CZT0qxLh.js +1249 -0
  92. package/dist/channel-CffBHWkb.js +955 -0
  93. package/dist/channel-D34ZJvVB.js +2126 -0
  94. package/dist/channel-DcdXLo_W.js +238 -0
  95. package/dist/channel-DnK5TrXV.js +362 -0
  96. package/dist/channel-Dzj4RHY2.js +740 -0
  97. package/dist/channel-OhZzLZCj.js +562 -0
  98. package/dist/channel-actions.runtime-Cdvhqc9s.js +265 -0
  99. package/dist/channel-actions.runtime.js +1 -1
  100. package/dist/channel-core-Dz9I_R4j.js +5 -0
  101. package/dist/channel-inbound-COGoV_aS.js +80 -0
  102. package/dist/channel-mP6HCIMr.js +1496 -0
  103. package/dist/channel-plugin-runtime-C0R46KeG.js +998 -0
  104. package/dist/channel-quGdgWel.js +808 -0
  105. package/dist/channel-runtime-FvPQoIF9.js +408 -0
  106. package/dist/channel.runtime-2vUz3gij.js +109 -0
  107. package/dist/channel.runtime-BZLDSNuQ.js +254 -0
  108. package/dist/channel.runtime-Bo5jO0Hj.js +4 -0
  109. package/dist/channel.runtime-CDgvrjM2.js +652 -0
  110. package/dist/channel.runtime-COf8SDFn.js +88 -0
  111. package/dist/channel.runtime-C_C1f8lu.js +733 -0
  112. package/dist/channel.runtime-CqPbsg8t.js +2528 -0
  113. package/dist/channel.runtime-DtV85Khx.js +1008 -0
  114. package/dist/channel.runtime-Spt1ukGW.js +21009 -0
  115. package/dist/channel.setup-Bc0LUQS1.js +1098 -0
  116. package/dist/channel.setup-ChTkj2hq.js +343 -0
  117. package/dist/channel.setup-CpMD9F8i.js +10 -0
  118. package/dist/chat-mUsjD5YN.js +2666 -0
  119. package/dist/chrome-u314zcbM.js +1503 -0
  120. package/dist/cli/run-main.js +5 -5
  121. package/dist/cli-CJMoqXrc.js +1341 -0
  122. package/dist/cli-compaction-qGYB7suI.js +347 -0
  123. package/dist/cli-metadata-BBJFpNU9.js +22 -0
  124. package/dist/cli-runner-C0kcts0I.js +540 -0
  125. package/dist/cli-runner-CTm8K6s8.js +2 -0
  126. package/dist/cli-runner.runtime-C8deL5FL.js +3 -0
  127. package/dist/cli-runner.runtime-DDAg1D0L.js +4 -0
  128. package/dist/cli-runner.runtime.js +1 -1
  129. package/dist/cli-startup-metadata.json +8 -8
  130. package/dist/client-CPxpgs4m.js +650 -0
  131. package/dist/client-adapter-CLlqOqfu.js +897 -0
  132. package/dist/client-factory-R7Rr2jwn.js +9 -0
  133. package/dist/command-auth-CkQP1buP.js +135 -0
  134. package/dist/command-handlers-CJEjFyMk.js +1609 -0
  135. package/dist/command-registry-BDgyOqDw.js +4 -0
  136. package/dist/command-registry-BVi5Jn1S.js +9 -0
  137. package/dist/command-registry-core-JCfsVRtz.js +110 -0
  138. package/dist/command-status.runtime-CM1JLzi6.js +90 -0
  139. package/dist/command-status.runtime.js +1 -1
  140. package/dist/commands-acp-C1-I78U6.js +74 -0
  141. package/dist/commands-compact.runtime-DOsNavwp.js +10 -0
  142. package/dist/commands-compact.runtime.js +1 -1
  143. package/dist/commands-handlers.runtime-BD1n2WGw.js +6154 -0
  144. package/dist/commands-handlers.runtime.js +1 -1
  145. package/dist/commands-status-DU_UTQz1.js +16 -0
  146. package/dist/commands-status-DejfTakp.js +3 -0
  147. package/dist/commands-status.runtime-DejfTakp.js +3 -0
  148. package/dist/commands-status.runtime.js +1 -1
  149. package/dist/commands-subagents-control.runtime-D7vo_2Y_.js +3 -0
  150. package/dist/commands-subagents-control.runtime-DGybTjJ6.js +2 -0
  151. package/dist/commands-subagents-control.runtime.js +1 -1
  152. package/dist/commands-system-prompt-BEBXAMea.js +2 -0
  153. package/dist/commands-system-prompt-gj3oQpQO.js +162 -0
  154. package/dist/commands.runtime-CgXX70IN.js +176 -0
  155. package/dist/commands.runtime.js +1 -1
  156. package/dist/commitments/runtime.js +1 -1
  157. package/dist/compact-C41XxMDt.js +480 -0
  158. package/dist/compact-DUVAF9EC.js +1141 -0
  159. package/dist/compact.runtime-COMRg6s3.js +12 -0
  160. package/dist/compact.runtime.js +1 -1
  161. package/dist/completion-cli-CmEYoB9a.js +315 -0
  162. package/dist/computer-use-BwJHu1QF.js +367 -0
  163. package/dist/config-ATBTvUGh.js +2 -0
  164. package/dist/config-DlNgjF8W.js +373 -0
  165. package/dist/config-mutations-tl_OqI6d.js +159 -0
  166. package/dist/context-engine-host-compat-BNPAIK9F.js +288 -0
  167. package/dist/context-engine-host-compat-C69CK7zS.js +2 -0
  168. package/dist/context-engine-lifecycle-iQ8f5a_-.js +1274 -0
  169. package/dist/control-auth-vVxyGKxY.js +114 -0
  170. package/dist/control-service-73nj79EW.js +145 -0
  171. package/dist/control-ui/assets/agents-DdWIz8Vk.js +1008 -0
  172. package/dist/control-ui/assets/channel-config-extras-C7ELhuDi.js +2 -0
  173. package/dist/control-ui/assets/channels-Bsoj-9BS.js +367 -0
  174. package/dist/control-ui/assets/cron-BRTEw1tT.js +1013 -0
  175. package/dist/control-ui/assets/debug-EKl_F8_L.js +97 -0
  176. package/dist/control-ui/assets/index-DSbSO7ys.js +7370 -0
  177. package/dist/control-ui/assets/instances-B1AoYwI5.js +57 -0
  178. package/dist/control-ui/assets/logs-BChOznzh.js +74 -0
  179. package/dist/control-ui/assets/nodes-5yebKh9k.js +436 -0
  180. package/dist/control-ui/assets/sessions-BlDYNThc.js +399 -0
  181. package/dist/control-ui/assets/skills-shared-CNFnf7KU.js +11 -0
  182. package/dist/control-ui/assets/skills-uxTDRmLx.js +314 -0
  183. package/dist/control-ui/index.html +1 -1
  184. package/dist/control-ui/sw.js +1 -1
  185. package/dist/conversation-binding-runtime-CmoTKcY1.js +4 -0
  186. package/dist/conversation-runtime-BxOHxuin.js +31 -0
  187. package/dist/core-D0Y2H55f.js +282 -0
  188. package/dist/core-api-BKlJUtDt.js +5 -0
  189. package/dist/core-api-_fiftUHn.js +2 -0
  190. package/dist/crestodian/crestodian.js +1 -1
  191. package/dist/crestodian/rescue-message.js +1 -1
  192. package/dist/crestodian-BJifoQiR.js +55 -0
  193. package/dist/daocore-tools-BMdF8RwK.js +11727 -0
  194. package/dist/delivery-e2ci_bcX.js +1002 -0
  195. package/dist/dialogue-BXayGhnz.js +37 -0
  196. package/dist/dir-fetch-tool-Cara5mZh.js +565 -0
  197. package/dist/dir-list-tool-CQ8Bo5Ez.js +100 -0
  198. package/dist/direct-dm-CPk6Qm9D.js +64 -0
  199. package/dist/directive-handling.fast-lane-BQ9aXqk8.js +68 -0
  200. package/dist/directive-handling.impl--a5AGurq.js +818 -0
  201. package/dist/directive-handling.impl-C4JqMwle.js +2 -0
  202. package/dist/directive-handling.model-selection-pyTYMIXn.js +122 -0
  203. package/dist/directive-handling.persist.runtime-B7vWT1r9.js +263 -0
  204. package/dist/directive-handling.persist.runtime.js +1 -1
  205. package/dist/dispatch-3Ru_eGq1.js +1640 -0
  206. package/dist/dispatch-acp-transcript.runtime-CYMP-5oE.js +40 -0
  207. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  208. package/dist/dispatch-acp.runtime-BVCiklXk.js +18 -0
  209. package/dist/dispatch-acp.runtime.js +1 -1
  210. package/dist/doctor-B8mR3Sgr.js +2 -0
  211. package/dist/doctor-BJ6DuerV.js +6 -0
  212. package/dist/doctor-config-flow-BdOGs_zn.js +1741 -0
  213. package/dist/doctor-core-checks-CDf0stz-.js +2 -0
  214. package/dist/doctor-core-checks-Cpdnu2XI.js +573 -0
  215. package/dist/doctor-health-0qv_acBu.js +65 -0
  216. package/dist/doctor-health-contributions-Db1FQgFw.js +696 -0
  217. package/dist/doctor-lint-C1g4Llgl.js +94 -0
  218. package/dist/doctor-state-integrity-C8iXFLJ7.js +1231 -0
  219. package/dist/doctor-update-CsPu6p3d.js +58 -0
  220. package/dist/dynamic-tools-YQ0z0YKH.js +486 -0
  221. package/dist/embedded-backend-S0cahIZw.js +579 -0
  222. package/dist/embedded-gateway-stub.runtime-Cjw12ALm.js +12 -0
  223. package/dist/embedded-gateway-stub.runtime.js +1 -1
  224. package/dist/exec-approvals-ArHHjoE-.js +149 -0
  225. package/dist/extensionAPI.js +1 -1
  226. package/dist/extensions/active-memory/index.js +1 -1
  227. package/dist/extensions/admin-http-rpc/index.js +1 -1
  228. package/dist/extensions/browser/browser-bridge.js +1 -1
  229. package/dist/extensions/browser/browser-config.js +4 -4
  230. package/dist/extensions/browser/browser-control-auth.js +2 -2
  231. package/dist/extensions/browser/browser-doctor.js +2 -2
  232. package/dist/extensions/browser/browser-maintenance.js +1 -1
  233. package/dist/extensions/browser/browser-profiles.js +2 -2
  234. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  235. package/dist/extensions/browser/cli-metadata.js +1 -1
  236. package/dist/extensions/browser/index.js +1 -1
  237. package/dist/extensions/browser/plugin-registration.js +1 -1
  238. package/dist/extensions/browser/register.runtime.js +4 -4
  239. package/dist/extensions/browser/runtime-api.js +13 -13
  240. package/dist/extensions/canvas/index.js +1 -1
  241. package/dist/extensions/clickclack/api.js +2 -2
  242. package/dist/extensions/clickclack/channel-plugin-api.js +1 -1
  243. package/dist/extensions/clickclack/runtime-api.js +2 -2
  244. package/dist/extensions/device-pair/api.js +1 -1
  245. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  246. package/dist/extensions/file-transfer/index.js +4 -4
  247. package/dist/extensions/imessage/api.js +2 -2
  248. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  249. package/dist/extensions/imessage/message-tool-api.d.ts +1 -1
  250. package/dist/extensions/imessage/runtime-api.js +3 -3
  251. package/dist/extensions/irc/api.js +2 -2
  252. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  253. package/dist/extensions/llm-task/index.js +1 -1
  254. package/dist/extensions/mattermost/api.js +1 -1
  255. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  256. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  257. package/dist/extensions/mattermost/policy-api.js +1 -1
  258. package/dist/extensions/mattermost/runtime-api.js +2 -2
  259. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  260. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  261. package/dist/extensions/migrate-claude/apply.js +1 -1
  262. package/dist/extensions/migrate-claude/index.js +1 -1
  263. package/dist/extensions/migrate-claude/plan.js +1 -1
  264. package/dist/extensions/migrate-claude/provider.js +1 -1
  265. package/dist/extensions/migrate-claude/targets.js +1 -1
  266. package/dist/extensions/migrate-hermes/apply.js +1 -1
  267. package/dist/extensions/migrate-hermes/index.js +1 -1
  268. package/dist/extensions/migrate-hermes/model.js +1 -1
  269. package/dist/extensions/migrate-hermes/plan.js +1 -1
  270. package/dist/extensions/migrate-hermes/provider.js +1 -1
  271. package/dist/extensions/migrate-hermes/secrets.js +1 -1
  272. package/dist/extensions/migrate-hermes/targets.js +1 -1
  273. package/dist/extensions/policy/api.js +1 -1
  274. package/dist/extensions/policy/index.js +2 -2
  275. package/dist/extensions/signal/api.js +6 -6
  276. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  277. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  278. package/dist/extensions/signal/runtime-api.js +7 -7
  279. package/dist/extensions/skill-workshop/api.js +1 -1
  280. package/dist/extensions/skill-workshop/index.js +2 -2
  281. package/dist/extensions/telegram/account-inspect-api.js +1 -1
  282. package/dist/extensions/telegram/api.js +11 -11
  283. package/dist/extensions/telegram/channel-plugin-api.js +2 -2
  284. package/dist/extensions/telegram/contract-api.js +3 -3
  285. package/dist/extensions/telegram/runtime-api.js +7 -7
  286. package/dist/extensions/telegram/security-audit-contract-api.js +1 -1
  287. package/dist/extensions/telegram/setup-plugin-api.js +1 -1
  288. package/dist/extensions/telegram/test-api.js +2 -2
  289. package/dist/extensions/webhooks/api.js +1 -1
  290. package/dist/extensions/webhooks/index.js +1 -1
  291. package/dist/extensions/xai/index.js +4 -4
  292. package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
  293. package/dist/extensions/xai/speech-provider.js +1 -1
  294. package/dist/extensions/xai/test-api.js +1 -1
  295. package/dist/extensions/xai/tts.js +1 -1
  296. package/dist/extensions/xai/web-search.js +1 -1
  297. package/dist/extensions/xai/xai-oauth.js +1 -1
  298. package/dist/file-fetch-tool-DQpAtjX4.js +124 -0
  299. package/dist/file-write-tool-CkB0oYwe.js +127 -0
  300. package/dist/format-DUJUpMFQ.js +1145 -0
  301. package/dist/gateway-cli-CQo_E4Ka.js +435 -0
  302. package/dist/gateway-method-runtime-1QPgVJH7.js +21 -0
  303. package/dist/get-reply-DfUcsC-O.js +4689 -0
  304. package/dist/get-reply-from-config.runtime-C95MG73O.js +2 -0
  305. package/dist/get-reply-from-config.runtime.js +1 -1
  306. package/dist/graph-users-DPJe0fPs.js +1419 -0
  307. package/dist/group-access-DefaNJ6L.js +112 -0
  308. package/dist/handle-action.guild-admin-C1sy1kGJ.js +288 -0
  309. package/dist/harness-BgPRdmNK.js +61 -0
  310. package/dist/health-DFR9A1YV.js +4 -0
  311. package/dist/heartbeat-runner-BiYVPs25.js +5 -0
  312. package/dist/heartbeat-runner.runtime-Bmaq8WUA.js +4 -0
  313. package/dist/heartbeat-runner.runtime.js +1 -1
  314. package/dist/hooks-CNJDuJUm.js +534 -0
  315. package/dist/inbound-direct-dm-runtime-DFt58p71.js +2 -0
  316. package/dist/inbound-reply-dispatch-kgSDM8ax.js +148 -0
  317. package/dist/index.js +1 -1
  318. package/dist/init-B0zO_U4r.js +59 -0
  319. package/dist/inline-buttons-B6zgQW3J.js +40 -0
  320. package/dist/internal-events-C3Q5t6hg.js +90 -0
  321. package/dist/isolated-agent-CaSU5GCJ.js +2 -0
  322. package/dist/isolated-agent-CnsD2TmP.js +1118 -0
  323. package/dist/lifecycle-i3WZDaIn.js +571 -0
  324. package/dist/list.probe-g0rUiVXW.js +449 -0
  325. package/dist/list.status-command-DG3PrmeO.js +789 -0
  326. package/dist/llm-slug-generator-CHlf69FU.js +78 -0
  327. package/dist/llm-slug-generator.js +1 -1
  328. package/dist/local-dispatch.runtime-CDeHUp_A.js +9 -0
  329. package/dist/local-dispatch.runtime.js +1 -1
  330. package/dist/manager.runtime-BlLMPUTq.js +2714 -0
  331. package/dist/manager.runtime.js +1 -1
  332. package/dist/markdown-to-line-r_mBHMdy.js +811 -0
  333. package/dist/mcp-http-C5UPIJGR.js +555 -0
  334. package/dist/mcp-http-CTy9gpfA.js +2 -0
  335. package/dist/media-understanding-provider-BT6TOuVa.js +339 -0
  336. package/dist/message-actions-BdcjjwFt.js +145 -0
  337. package/dist/message-handler-B29Tj2p2.js +1715 -0
  338. package/dist/message-handler-BhHb1FHI.js +384 -0
  339. package/dist/message-handler.preflight-ouZ_-3o8.js +1125 -0
  340. package/dist/message-handler.process-CrYiBx_F.js +1484 -0
  341. package/dist/model-CLbtocQX.js +74 -0
  342. package/dist/model-selection-BG_vU9Kl.js +272 -0
  343. package/dist/models-4KERn3ya.js +104 -0
  344. package/dist/models-BCa-ipxi.js +2 -0
  345. package/dist/models-cli-DtpGXEsf.js +256 -0
  346. package/dist/monitor-B-egsvmI.js +1657 -0
  347. package/dist/monitor-BJX9Yv7k.js +2 -0
  348. package/dist/monitor-BPrIy3pV.js +715 -0
  349. package/dist/monitor-BWknZZ7N.js +4377 -0
  350. package/dist/monitor-C3y_PtI1.js +60 -0
  351. package/dist/monitor-DCzfdqE4.js +1370 -0
  352. package/dist/monitor-P24epSwE.js +2788 -0
  353. package/dist/monitor-auth-CEG_xldE.js +179 -0
  354. package/dist/monitor-jEePJbbS.js +834 -0
  355. package/dist/monitor-polling.runtime-BzlHK11u.js +883 -0
  356. package/dist/monitor-polling.runtime.js +1 -1
  357. package/dist/monitor-webhook.runtime-vFEhk_Zj.js +387 -0
  358. package/dist/monitor-webhook.runtime.js +1 -1
  359. package/dist/monitor.account-BUIfgWXg.js +5233 -0
  360. package/dist/monitor.runtime-Cp7W4fhb.js +2 -0
  361. package/dist/monitor.runtime.js +1 -1
  362. package/dist/monitor.webhook-DzrbeR4T.js +180 -0
  363. package/dist/node-cli-sessions-CLbI14UA.js +1228 -0
  364. package/dist/openai-http-BM9BIA_g.js +824 -0
  365. package/dist/openresponses-http-CNoW9kk8.js +1173 -0
  366. package/dist/operations-DT4bsxV6.js +805 -0
  367. package/dist/outbound-adapter-CZRUOgY0.js +543 -0
  368. package/dist/outbound-session-route-DneMsGNx.js +45 -0
  369. package/dist/outbound.runtime-CHuoKJJI.js +2 -0
  370. package/dist/outbound.runtime.js +1 -1
  371. package/dist/pi-embedded-1-rsueO_.js +3796 -0
  372. package/dist/pi-embedded-BRfDncVO.js +4 -0
  373. package/dist/pi-embedded.runtime-DEYoa6bW.js +4 -0
  374. package/dist/pi-embedded.runtime.js +1 -1
  375. package/dist/pi-tools-C0P3NgP5.js +2413 -0
  376. package/dist/plan-BQUkjBMY.js +81 -0
  377. package/dist/plan-CRO9_2_k.js +112 -0
  378. package/dist/plugin-BJCmWhnh.js +12396 -0
  379. package/dist/plugin-app-cache-key-CXAg0F7A.js +46 -0
  380. package/dist/plugin-enabled-D93Z9LSo.js +233 -0
  381. package/dist/plugin-registration-BBrTcZnf.js +88 -0
  382. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  383. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  384. package/dist/plugin-sdk/acp-runtime.js +2 -2
  385. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  386. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  387. package/dist/plugin-sdk/agent-harness.js +7 -7
  388. package/dist/plugin-sdk/agent-runtime.js +2 -2
  389. package/dist/plugin-sdk/channel-core.js +2 -2
  390. package/dist/plugin-sdk/channel-inbound.js +2 -2
  391. package/dist/plugin-sdk/channel-test-helpers.js +1 -1
  392. package/dist/plugin-sdk/command-auth.js +1 -1
  393. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  394. package/dist/plugin-sdk/compat.js +1 -1
  395. package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
  396. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  397. package/dist/plugin-sdk/core.js +2 -2
  398. package/dist/plugin-sdk/direct-dm.js +1 -1
  399. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  400. package/dist/plugin-sdk/health.js +2 -2
  401. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  402. package/dist/plugin-sdk/index.js +1 -1
  403. package/dist/plugin-sdk/mattermost.js +1 -1
  404. package/dist/plugin-sdk/plugin-test-contracts.js +2 -2
  405. package/dist/plugin-sdk/provider-test-contracts.js +4 -4
  406. package/dist/plugin-sdk/reply-runtime.js +4 -4
  407. package/dist/plugin-sdk/testing.js +2 -2
  408. package/dist/plugin-sdk/zalouser.js +1 -1
  409. package/dist/plugin-service-DnZEPBEA.js +1229 -0
  410. package/dist/plugins/runtime/index.js +4 -4
  411. package/dist/policy-CMv5QMPG.js +138 -0
  412. package/dist/policy-CeoP4t9J.js +680 -0
  413. package/dist/prepare.runtime-DZ55JiTt.js +732 -0
  414. package/dist/prepare.runtime.js +1 -1
  415. package/dist/preview-warnings-O08PZRxu.js +392 -0
  416. package/dist/probe-C6w3bP8X.js +682 -0
  417. package/dist/probe-Cs1_X1NA.js +47 -0
  418. package/dist/probe-Cuee_jyM.js +2204 -0
  419. package/dist/probe-DZxCnDzn.js +2 -0
  420. package/dist/program-C2dT8VHB.js +131 -0
  421. package/dist/provider-C2_vSzYh.js +32 -0
  422. package/dist/provider-DSfTDQbj.js +152 -0
  423. package/dist/provider-U8hrm9h-.js +32 -0
  424. package/dist/provider-_v910H8y.js +8735 -0
  425. package/dist/provider-dispatcher-C3kmmIEC.js +22 -0
  426. package/dist/provider-dispatcher.runtime.js +1 -1
  427. package/dist/provider-session.runtime-Mg0fx5hH.js +9 -0
  428. package/dist/provider-session.runtime.js +1 -1
  429. package/dist/provider.runtime-pSTXuHrq.js +2 -0
  430. package/dist/provider.runtime.js +1 -1
  431. package/dist/public-surface-loader-09t4TTue.js +114 -0
  432. package/dist/pw-ai-DjNqHV3_.js +3029 -0
  433. package/dist/pw-role-snapshot-DoGefdv7.js +333 -0
  434. package/dist/reaction-level-C8Mqxizo.js +19 -0
  435. package/dist/reaction-runtime-api-DOP6xOsm.js +116 -0
  436. package/dist/realtime-transcription-provider-BTGEXXna.js +205 -0
  437. package/dist/register-CbZPpqI3.js +2178 -0
  438. package/dist/register.agent-DrBFuPKh.js +156 -0
  439. package/dist/register.crestodian-DwTbmaK8.js +24 -0
  440. package/dist/register.maintenance-BIeoYBub.js +83 -0
  441. package/dist/register.runtime-B5V9_Dwz.js +54 -0
  442. package/dist/register.subclis-CJE9ISZY.js +31 -0
  443. package/dist/register.subclis-YQsKas8N.js +3 -0
  444. package/dist/register.subclis-core-CjwdGeGU.js +273 -0
  445. package/dist/repair-sequencing-C0jrL5pw.js +640 -0
  446. package/dist/reply-delivery-B28mTIpb.js +196 -0
  447. package/dist/reply-runtime-BqQX7HHw.js +11 -0
  448. package/dist/reply.runtime-C95MG73O.js +2 -0
  449. package/dist/reply.runtime.js +1 -1
  450. package/dist/request-BqoMvXxH.js +54 -0
  451. package/dist/resolve-allowlist-hbKKd_kq.js +220 -0
  452. package/dist/result-fallback-classifier-BrORPoxj.js +79 -0
  453. package/dist/route-HHRgSzVy.js +469 -0
  454. package/dist/route-resolution-C7bafjVc.js +274 -0
  455. package/dist/routes-86XGeo7a.js +2 -0
  456. package/dist/routes-BhVGr9ie.js +3602 -0
  457. package/dist/run-Bb5QP5JV.js +1162 -0
  458. package/dist/run-attempt-CLi0wV7j.js +7704 -0
  459. package/dist/run-command-Be6GAxiW.js +2 -0
  460. package/dist/run-command-Ds4hr3iU.js +23 -0
  461. package/dist/run-embedded.runtime-wX9ORojX.js +4 -0
  462. package/dist/run-embedded.runtime.js +1 -1
  463. package/dist/run-execution-cli.runtime-BmNZVB2N.js +4 -0
  464. package/dist/run-execution-cli.runtime.js +1 -1
  465. package/dist/run-executor.runtime.js +1 -1
  466. package/dist/run-subagent-registry.runtime-Uq5sjftu.js +2 -0
  467. package/dist/run-subagent-registry.runtime.js +1 -1
  468. package/dist/runtime-BktLQ75j.js +1287 -0
  469. package/dist/runtime-C9XdR62_.js +438 -0
  470. package/dist/runtime-CTvWDPx9.js +6179 -0
  471. package/dist/runtime-api-BojB3MUw.js +21 -0
  472. package/dist/runtime-api-C92MlAwp.js +13 -0
  473. package/dist/runtime-api-CFNZE9Xt.js +13 -0
  474. package/dist/runtime-api-Cimpgm5_.js +3 -0
  475. package/dist/runtime-api-D8qG_lUm.js +17 -0
  476. package/dist/runtime-api-DMDMnQEG.js +4 -0
  477. package/dist/runtime-api-DupQdIlE.js +24 -0
  478. package/dist/runtime-api.actions-B8i3elqu.js +3 -0
  479. package/dist/runtime-api.monitor-BntFzf_M.js +6 -0
  480. package/dist/runtime-api.send-CPlmi1jc.js +4 -0
  481. package/dist/runtime-api.threads-D-H_r_Nl.js +2 -0
  482. package/dist/runtime-channel-BGhTxnXZ.js +150 -0
  483. package/dist/runtime-channel-CPFxNapZ.js +2 -0
  484. package/dist/runtime-embedded-pi.runtime-BjnMTurB.js +2 -0
  485. package/dist/runtime-embedded-pi.runtime.js +1 -1
  486. package/dist/sanitize-outbound-BMUv1NeS.js +127 -0
  487. package/dist/sdk-setup-tools-Do3DkQi_.js +8 -0
  488. package/dist/secrets-B8YVPHhk.js +113 -0
  489. package/dist/security-audit-7Gg_nL4o.js +122 -0
  490. package/dist/security-audit-Bk3CREj-.js +118 -0
  491. package/dist/security-audit.runtime-BmSJrdeq.js +2 -0
  492. package/dist/security-audit.runtime.js +1 -1
  493. package/dist/selection-BFGde9-_.js +3 -0
  494. package/dist/selection-DrLFlbgG.js +16157 -0
  495. package/dist/send-4dLa-BQo.js +1631 -0
  496. package/dist/send-CV6gCwYP.js +192 -0
  497. package/dist/send-aGiK3Efu.js +143 -0
  498. package/dist/send-dB3CehAN.js +2 -0
  499. package/dist/send.components-BcG9BlkC.js +2 -0
  500. package/dist/send.components-rLjDlfYU.js +500 -0
  501. package/dist/send.runtime-D20k2MSr.js +2 -0
  502. package/dist/send.runtime.js +1 -1
  503. package/dist/server-BTRx_U1s.js +73 -0
  504. package/dist/server-CY0ymhBg.js +24 -0
  505. package/dist/server-close.runtime.js +1 -1
  506. package/dist/server-context-BxGT8wbK.js +955 -0
  507. package/dist/server-context-DYlbhAaT.js +2 -0
  508. package/dist/server-cron-BB_15lcP.js +2 -0
  509. package/dist/server-cron-CfyJX_a4.js +2989 -0
  510. package/dist/server-methods-Ck2ab6TC.js +16494 -0
  511. package/dist/server-node-events-BdRizF-5.js +596 -0
  512. package/dist/server-plugin-bootstrap-CPUr8NFE.js +70 -0
  513. package/dist/server-plugins-__5AxjzH.js +432 -0
  514. package/dist/server-reload-handlers-BMl9Fx9b.js +714 -0
  515. package/dist/server-restart-sentinel-D11M_ZsH.js +747 -0
  516. package/dist/server-restart-sentinel-DGptQ27c.js +2 -0
  517. package/dist/server-runtime-services-BwtLs-8I.js +2 -0
  518. package/dist/server-runtime-services-aJydixRu.js +267 -0
  519. package/dist/server-startup-plugins-m_P3gY4m.js +113 -0
  520. package/dist/server-startup-post-attach-DuXQ1AXL.js +716 -0
  521. package/dist/server-ws-runtime-mXmxB1W8.js +349 -0
  522. package/dist/server.impl-fuV8aKSP.js +2586 -0
  523. package/dist/service-a8cTFka4.js +1446 -0
  524. package/dist/session-binding-BIycxo9u.js +2 -0
  525. package/dist/session-binding-xHwQr9vM.js +219 -0
  526. package/dist/session-kill-http-DiUZhcoN.js +121 -0
  527. package/dist/session-reset-service-DkepDoob.js +625 -0
  528. package/dist/session-route-Ba5u7ecb.js +93 -0
  529. package/dist/session-status.runtime-Cb1X69Rl.js +2 -0
  530. package/dist/session-status.runtime.js +1 -1
  531. package/dist/session-subagent-reactivation.runtime-rbqmto4G.js +2 -0
  532. package/dist/session-subagent-reactivation.runtime.js +1 -1
  533. package/dist/session-tab-registry-DSKOoJta.js +521 -0
  534. package/dist/sessions-history-http-CWP88I_C.js +430 -0
  535. package/dist/sessions.runtime-1q1OwLn3.js +2 -0
  536. package/dist/sessions.runtime.js +1 -1
  537. package/dist/setup-api-DtrOOYeP.js +29 -0
  538. package/dist/setup-core-DMrJS6LP.js +174 -0
  539. package/dist/setup-surface-BFPNu1qA.js +405 -0
  540. package/dist/setup-surface-CedShqhO.js +288 -0
  541. package/dist/setup-surface-DLOBH1Vf.js +320 -0
  542. package/dist/setup-surface-MhCeEWSj.js +221 -0
  543. package/dist/shared-DamL-e8D.js +121 -0
  544. package/dist/shared-client-B48JoAsz.js +2 -0
  545. package/dist/shared-client-BoSiDnUo.js +629 -0
  546. package/dist/side-question-DQoQ_ETb.js +683 -0
  547. package/dist/skill-tool-dispatch.runtime-CWLloYA8.js +143 -0
  548. package/dist/skill-tool-dispatch.runtime.js +1 -1
  549. package/dist/slash-state-DrrWJQfv.js +2166 -0
  550. package/dist/speech-provider-8Hx1uw41.js +184 -0
  551. package/dist/src-BbUYOPwU.js +4256 -0
  552. package/dist/startup-context-opAJAamX.js +313 -0
  553. package/dist/status-subagents.runtime-DSo7ZK_Z.js +18 -0
  554. package/dist/status-subagents.runtime.js +1 -1
  555. package/dist/status-text-AyPuDzrO.js +296 -0
  556. package/dist/sticker-cache-91Tp8mLP.js +206 -0
  557. package/dist/sticker-vision.runtime-DjleFXi5.js +17 -0
  558. package/dist/sticker-vision.runtime.js +1 -1
  559. package/dist/subagent-announce-delivery-DS_2W9oZ.js +958 -0
  560. package/dist/subagent-announce-hatA_PZ2.js +354 -0
  561. package/dist/subagent-control-IyFIvc7T.js +508 -0
  562. package/dist/subagent-hooks-BCj5eB0Z.js +2 -0
  563. package/dist/subagent-hooks-BWjTBkox.js +146 -0
  564. package/dist/subagent-hooks-CdGLK9_3.js +230 -0
  565. package/dist/subagent-hooks-EH0tBkw9.js +2 -0
  566. package/dist/subagent-hooks-api-BhYaXQJV.js +23 -0
  567. package/dist/subagent-hooks-api-uGsV8Xn5.js +22 -0
  568. package/dist/subagent-hooks-api-wfJFKIPx.js +23 -0
  569. package/dist/subagent-hooks-l8Xd94dt.js +2 -0
  570. package/dist/subagent-hooks-m2eHUO_d.js +116 -0
  571. package/dist/subagent-orphan-recovery-Bq9zvX3L.js +352 -0
  572. package/dist/subagent-registry-Bcb3zy6b.js +3 -0
  573. package/dist/subagent-registry-CoZNTFx-.js +2351 -0
  574. package/dist/subagent-registry.runtime.js +1 -1
  575. package/dist/subagent-session-cleanup--00EjDLe.js +525 -0
  576. package/dist/subagent-spawn-ClJJkz3D.js +1164 -0
  577. package/dist/target-id-BsZLiF3x.js +107 -0
  578. package/dist/targets-CQMe4AZP.js +44 -0
  579. package/dist/targets-SmL1AU-H.js +19 -0
  580. package/dist/targets-Y-roiA47.js +19 -0
  581. package/dist/task-registry-control.runtime.js +1 -1
  582. package/dist/telegram/token.js +1 -1
  583. package/dist/testing-B5hNJDuF.js +267 -0
  584. package/dist/thread-bindings-BD3eE0kK.js +232 -0
  585. package/dist/thread-bindings-C9NNiv8K.js +571 -0
  586. package/dist/thread-bindings-Dl4PN1vZ.js +228 -0
  587. package/dist/thread-bindings-uK1LLAwy.js +8 -0
  588. package/dist/thread-bindings.discord-api-BHNEUbnk.js +187 -0
  589. package/dist/thread-bindings.manager-B0LXiH3F.js +2 -0
  590. package/dist/thread-bindings.manager-BTlH4XMG.js +536 -0
  591. package/dist/thread-lifecycle-DG8uyPHd.js +1614 -0
  592. package/dist/token-BbGCANnE.js +134 -0
  593. package/dist/tool-actions.runtime-oUUrD8HB.js +534 -0
  594. package/dist/tool-actions.runtime.js +1 -1
  595. package/dist/tool-bqg-_vYv.js +139 -0
  596. package/dist/tool-resolution-CSZsa3kP.js +149 -0
  597. package/dist/tools-effective-inventory-0CqFp-vq.js +204 -0
  598. package/dist/tools-invoke-http-DhYHY0Yh.js +67 -0
  599. package/dist/tools-invoke-shared-CbVJJUj7.js +200 -0
  600. package/dist/tts-C2qD-ad6.js +66 -0
  601. package/dist/tui-CzGY254f.js +4709 -0
  602. package/dist/tui-backend-fzoeoSN0.js +256 -0
  603. package/dist/tui-cli-B2RWb2gM.js +37 -0
  604. package/dist/tui-dgS8hdXU.js +2 -0
  605. package/dist/update-cli-BmiBDf3c.js +3664 -0
  606. package/dist/update-runner-CM7QVX6u.js +2379 -0
  607. package/dist/vision-tools-BzoBZnIc.js +1409 -0
  608. package/dist/web-search-DmfOd66S.js +62 -0
  609. package/dist/web-search-provider.runtime-3C5-pODD.js +328 -0
  610. package/dist/web-search-provider.runtime-Doh-Z9We.js +2 -0
  611. package/dist/web-search-provider.runtime.js +1 -1
  612. package/dist/xai-oauth-BLvQ43hx.js +479 -0
  613. package/dist/xai-user-agent-BdMQ_0_O.js +32 -0
  614. package/package.json +1 -1
  615. package/dist/abort-DeEb_wKd.js +0 -277
  616. package/dist/abort.runtime-CoYXQGPK.js +0 -2
  617. package/dist/account-inspect-D_06-CYS.js +0 -173
  618. package/dist/accounts-BCTqtj4Y.js +0 -107
  619. package/dist/accounts-BudLl8P2.js +0 -107
  620. package/dist/accounts-CUReBDA0.js +0 -2
  621. package/dist/accounts-PCioSzzr.js +0 -119
  622. package/dist/acp-runtime-B2t9_BHD.js +0 -26
  623. package/dist/acp-spawn-0x4Iiu1o.js +0 -2
  624. package/dist/acp-spawn-B2Ghe0jJ.js +0 -1275
  625. package/dist/acp-stateful-target-driver-C4VgcSyz.js +0 -89
  626. package/dist/action-kill-ClYsXEz7.js +0 -33
  627. package/dist/action-runtime-DrLPkNvU.js +0 -469
  628. package/dist/action-runtime-api-BqSflr9q.js +0 -2
  629. package/dist/action-send-CIy9cziD.js +0 -39
  630. package/dist/action-spawn-BjV6lFnX.js +0 -47
  631. package/dist/actions-D-QH7wq5.js +0 -161
  632. package/dist/actions.runtime-hzDtXQGU.js +0 -5
  633. package/dist/agent-Bb1DTBgv.js +0 -3
  634. package/dist/agent-Cnqj258q.js +0 -2
  635. package/dist/agent-command-BRx6ZNgJ.js +0 -1367
  636. package/dist/agent-components.runtime-D-g6xXJ0.js +0 -10
  637. package/dist/agent-harness-runtime-dKUQFuOc.js +0 -180
  638. package/dist/agent-harness-task-runtime-v2crUm3i.js +0 -140
  639. package/dist/agent-runner-execution-AOzdxvWR.js +0 -1713
  640. package/dist/agent-runner-utils-Byv50B4Z.js +0 -266
  641. package/dist/agent-runner.runtime-hhgRE0Z-.js +0 -3455
  642. package/dist/agent-runtime-BHmh3i0o.js +0 -229
  643. package/dist/agent-via-gateway-DnCqaK4a.js +0 -463
  644. package/dist/api-Bzyb8sFU.js +0 -3
  645. package/dist/api-CIEDFXZs.js +0 -2
  646. package/dist/api-D_dTQAu8.js +0 -2
  647. package/dist/api-DilBjZ9Q.js +0 -6
  648. package/dist/api-E5zoQMmh.js +0 -134
  649. package/dist/api-OJZug8gQ.js +0 -639
  650. package/dist/apply-C0eV5T0O.js +0 -41
  651. package/dist/apply-alsYvxLE.js +0 -54
  652. package/dist/approval-handler.runtime-C6jqZXSN.js +0 -130
  653. package/dist/assistant-DDXnAAB5.js +0 -291
  654. package/dist/attachment-normalize-Cv-_4DWU.js +0 -225
  655. package/dist/attempt-execution-DECEU59r.js +0 -558
  656. package/dist/attempt-execution.runtime-kasMxuER.js +0 -3
  657. package/dist/attempt-execution.shared-ClUxk52p.js +0 -38
  658. package/dist/attempt.prompt-helpers-Bxlv9VSu.js +0 -475
  659. package/dist/attempt.tool-run-context-CplQWX6g.js +0 -2094
  660. package/dist/binding-routing-0Obpp-Ij.js +0 -113
  661. package/dist/binding-targets-CZHQaZL4.js +0 -121
  662. package/dist/bot-BPbQ0840.js +0 -7894
  663. package/dist/bot-deps-Cs1M9USs.js +0 -2
  664. package/dist/bot-deps-xAcaOtTZ.js +0 -747
  665. package/dist/bot-message-context.runtime-Bji78Cbn.js +0 -7
  666. package/dist/bot-message-context.session.runtime-C3dyOIYH.js +0 -12
  667. package/dist/bot-native-commands.delivery.runtime-WshH99fy.js +0 -4
  668. package/dist/bot-native-commands.runtime-C1L364gU.js +0 -13
  669. package/dist/bridge-server-DPlM8_Lk.js +0 -113
  670. package/dist/browser-cli-DFNQE98N.js +0 -230
  671. package/dist/browser-cli-Drb5E5--.js +0 -2
  672. package/dist/browser-cli-actions-input-Dx-1OXmE.js +0 -473
  673. package/dist/browser-cli-actions-observe-BMDfE7xU.js +0 -81
  674. package/dist/browser-cli-debug-nu7Ih09g.js +0 -137
  675. package/dist/browser-cli-inspect-D5X2wohg.js +0 -104
  676. package/dist/browser-cli-manage-DkzYwph4.js +0 -443
  677. package/dist/browser-cli-resize-B30Avedl.js +0 -26
  678. package/dist/browser-cli-shared-cMgQoQzF.js +0 -50
  679. package/dist/browser-cli-state-CQLDvDy7.js +0 -337
  680. package/dist/browser-control-auth-D7ArmHUt.js +0 -2
  681. package/dist/browser-profiles-B39SIZNb.js +0 -2
  682. package/dist/browser-runtime-DUbSAOOS.js +0 -384
  683. package/dist/build-D25KqC92.js +0 -257
  684. package/dist/capability-cli-CuyXrlAB.js +0 -1782
  685. package/dist/channel-0N3YGMGg.js +0 -1496
  686. package/dist/channel-1UyKoLyp.js +0 -481
  687. package/dist/channel-BG87pSEW.js +0 -740
  688. package/dist/channel-BPGSaZW7.js +0 -1249
  689. package/dist/channel-BQMPh1J_.js +0 -376
  690. package/dist/channel-Bd_8V6zn.js +0 -1134
  691. package/dist/channel-BtBjh_ij.js +0 -362
  692. package/dist/channel-CpFBlVH6.js +0 -562
  693. package/dist/channel-CwuTrIrF.js +0 -508
  694. package/dist/channel-Cxl4sJA-.js +0 -1777
  695. package/dist/channel-D-VfU4Z2.js +0 -2126
  696. package/dist/channel-D9q8aYrN.js +0 -867
  697. package/dist/channel-DKSvVvZh.js +0 -238
  698. package/dist/channel-DvoFfWLx.js +0 -808
  699. package/dist/channel-GktTcGHm.js +0 -955
  700. package/dist/channel-actions.runtime-CKcRA0GW.js +0 -265
  701. package/dist/channel-core-nm8s1qFZ.js +0 -5
  702. package/dist/channel-d3t2ESlE.js +0 -653
  703. package/dist/channel-inbound-DKz40dq-.js +0 -80
  704. package/dist/channel-plugin-runtime-DKIGZWfW.js +0 -998
  705. package/dist/channel-runtime-Bh8_GY12.js +0 -408
  706. package/dist/channel-yQ8jCOb9.js +0 -1556
  707. package/dist/channel.runtime-BG4mM5cQ.js +0 -652
  708. package/dist/channel.runtime-BS6PyFFa.js +0 -1008
  709. package/dist/channel.runtime-CE_xECqN.js +0 -88
  710. package/dist/channel.runtime-Cd1Sw8U4.js +0 -254
  711. package/dist/channel.runtime-DIq3XOEe.js +0 -733
  712. package/dist/channel.runtime-Dy1cx35I.js +0 -21009
  713. package/dist/channel.runtime-NyIMjLnP.js +0 -109
  714. package/dist/channel.runtime-Zx5mfE2V.js +0 -4
  715. package/dist/channel.runtime-rJRibGfN.js +0 -2528
  716. package/dist/channel.setup--4ACadmF.js +0 -10
  717. package/dist/channel.setup-DzwqIlo3.js +0 -1098
  718. package/dist/channel.setup-FKYSJwXR.js +0 -343
  719. package/dist/chat-CKxSm7r1.js +0 -2666
  720. package/dist/chrome-rMubJwRG.js +0 -1503
  721. package/dist/cli-CbTod55I.js +0 -1341
  722. package/dist/cli-compaction-BbHgjJyW.js +0 -347
  723. package/dist/cli-metadata-DkOWLC_p.js +0 -22
  724. package/dist/cli-runner-Cwzv_RKf.js +0 -540
  725. package/dist/cli-runner-DdnUsgPl.js +0 -2
  726. package/dist/cli-runner.runtime-BlrSgbEW.js +0 -3
  727. package/dist/cli-runner.runtime-D8kVfvFH.js +0 -4
  728. package/dist/client-ClvxsWgL.js +0 -650
  729. package/dist/client-adapter-CsrIIjK1.js +0 -897
  730. package/dist/client-factory-DAYClhwm.js +0 -9
  731. package/dist/command-auth-CCha2ofd.js +0 -135
  732. package/dist/command-handlers-DCWJzHyB.js +0 -1609
  733. package/dist/command-registry-BIf61QNz.js +0 -9
  734. package/dist/command-registry-DJROBy4h.js +0 -4
  735. package/dist/command-registry-core-BQOWqi6S.js +0 -110
  736. package/dist/command-status.runtime-D88CUglL.js +0 -90
  737. package/dist/commands-acp-B-8dHX4Z.js +0 -74
  738. package/dist/commands-compact.runtime-ComX5mUk.js +0 -10
  739. package/dist/commands-handlers.runtime-DR3wjXHX.js +0 -6154
  740. package/dist/commands-status-CDyGrwsI.js +0 -3
  741. package/dist/commands-status-DV-i_ZIK.js +0 -16
  742. package/dist/commands-status.runtime-CDyGrwsI.js +0 -3
  743. package/dist/commands-subagents-control.runtime-B029cXAS.js +0 -3
  744. package/dist/commands-subagents-control.runtime-DR8Qspe0.js +0 -2
  745. package/dist/commands-system-prompt-C10ctsG3.js +0 -162
  746. package/dist/commands-system-prompt-DQlRWwnk.js +0 -2
  747. package/dist/commands.runtime-BYmIAuN0.js +0 -176
  748. package/dist/compact-14Ljaaeu.js +0 -480
  749. package/dist/compact-B--ovdkx.js +0 -1141
  750. package/dist/compact.runtime-E0Idf2Dq.js +0 -12
  751. package/dist/completion-cli-DMvvQGSk.js +0 -315
  752. package/dist/computer-use-CcLwX5SR.js +0 -367
  753. package/dist/config-B39SIZNb.js +0 -2
  754. package/dist/config-D4rsGOyV.js +0 -373
  755. package/dist/config-mutations-CsI3YJu7.js +0 -159
  756. package/dist/context-engine-host-compat-BZpDFiMJ.js +0 -2
  757. package/dist/context-engine-host-compat-runUdES5.js +0 -288
  758. package/dist/context-engine-lifecycle-D6odtNrn.js +0 -1274
  759. package/dist/control-auth-BPGpPtfz.js +0 -114
  760. package/dist/control-service-C-OmdPCe.js +0 -145
  761. package/dist/control-ui/assets/agents-GeyOHPuW.js +0 -1008
  762. package/dist/control-ui/assets/channel-config-extras-D7en6iUg.js +0 -2
  763. package/dist/control-ui/assets/channels-DkEyr1w5.js +0 -367
  764. package/dist/control-ui/assets/cron-C-wThQ1Q.js +0 -1013
  765. package/dist/control-ui/assets/debug-83AFRtIX.js +0 -97
  766. package/dist/control-ui/assets/index-CiGEhMOA.js +0 -7370
  767. package/dist/control-ui/assets/instances-CVl0t-1h.js +0 -57
  768. package/dist/control-ui/assets/logs-eybVEXxg.js +0 -74
  769. package/dist/control-ui/assets/nodes-C_A7eoU2.js +0 -436
  770. package/dist/control-ui/assets/sessions-Cq4Nc69u.js +0 -399
  771. package/dist/control-ui/assets/skills-ZN6hroIh.js +0 -314
  772. package/dist/control-ui/assets/skills-shared-DIWGwmdC.js +0 -11
  773. package/dist/conversation-binding-runtime-C2U1JElL.js +0 -4
  774. package/dist/conversation-runtime-NmIUd3Zu.js +0 -31
  775. package/dist/core-DGKJP1dm.js +0 -282
  776. package/dist/core-api-1fA4sNeC.js +0 -5
  777. package/dist/core-api-BY822Quq.js +0 -2
  778. package/dist/crestodian-Bp-NXiBC.js +0 -55
  779. package/dist/daocore-tools-Defpam0j.js +0 -11727
  780. package/dist/delivery-CEdVAUGB.js +0 -1002
  781. package/dist/dialogue-CZ69INPq.js +0 -37
  782. package/dist/dir-fetch-tool-BCicHhQE.js +0 -565
  783. package/dist/dir-list-tool-Cv_WktsJ.js +0 -100
  784. package/dist/direct-dm-Bz89rM8x.js +0 -64
  785. package/dist/directive-handling.fast-lane-DDnbcc5S.js +0 -68
  786. package/dist/directive-handling.impl-B0H52Ymr.js +0 -818
  787. package/dist/directive-handling.impl-CgKpwEW-.js +0 -2
  788. package/dist/directive-handling.model-selection-_cXAr0vt.js +0 -122
  789. package/dist/directive-handling.persist.runtime-Dw0mfzXT.js +0 -263
  790. package/dist/dispatch-C3AeYvyP.js +0 -1640
  791. package/dist/dispatch-acp-transcript.runtime-CP8pqBwS.js +0 -40
  792. package/dist/dispatch-acp.runtime-Cdap-AZI.js +0 -18
  793. package/dist/doctor-BZwVH97p.js +0 -2
  794. package/dist/doctor-BfkGBii1.js +0 -6
  795. package/dist/doctor-config-flow-D3JASGDt.js +0 -1741
  796. package/dist/doctor-core-checks-DH5AIT0Q.js +0 -573
  797. package/dist/doctor-core-checks-DiNu7VSh.js +0 -2
  798. package/dist/doctor-health-BDIJ-Nro.js +0 -65
  799. package/dist/doctor-health-contributions-BgmF7w8X.js +0 -696
  800. package/dist/doctor-lint-uIxkMUSO.js +0 -94
  801. package/dist/doctor-state-integrity-ws1b_BGk.js +0 -1231
  802. package/dist/doctor-update-Cx4CqxaX.js +0 -58
  803. package/dist/dynamic-tools-DiqOxhJh.js +0 -486
  804. package/dist/embedded-backend-C634irMl.js +0 -579
  805. package/dist/embedded-gateway-stub.runtime-CCfrTOeN.js +0 -12
  806. package/dist/exec-approvals-D85KThSg.js +0 -149
  807. package/dist/file-fetch-tool-BERaGYCT.js +0 -124
  808. package/dist/file-write-tool-BjHrMyfe.js +0 -127
  809. package/dist/format-DE9PuPg1.js +0 -1145
  810. package/dist/gateway-cli-B5hjhbUy.js +0 -435
  811. package/dist/gateway-method-runtime-Bu0E9Eki.js +0 -21
  812. package/dist/get-reply-6PtPz9hv.js +0 -4689
  813. package/dist/get-reply-from-config.runtime-CwprvhoR.js +0 -2
  814. package/dist/graph-users-DUp1kgnS.js +0 -1419
  815. package/dist/group-access-D5GBQ3w6.js +0 -112
  816. package/dist/handle-action.guild-admin-CA0Y-buD.js +0 -288
  817. package/dist/harness-B5nOFVfm.js +0 -61
  818. package/dist/health-D5heIDj3.js +0 -4
  819. package/dist/heartbeat-runner-BzFkIFHh.js +0 -5
  820. package/dist/heartbeat-runner.runtime-p6H1_xMV.js +0 -4
  821. package/dist/hooks-BvTyQ14X.js +0 -534
  822. package/dist/inbound-direct-dm-runtime-DwiDXi8L.js +0 -2
  823. package/dist/inbound-reply-dispatch-YoDUOC6C.js +0 -148
  824. package/dist/init-CPtcV5Xu.js +0 -59
  825. package/dist/inline-buttons-DeD5d42c.js +0 -40
  826. package/dist/internal-events-DEb50Sw3.js +0 -90
  827. package/dist/isolated-agent-CcxFFZ-Z.js +0 -1118
  828. package/dist/isolated-agent-CpHzq5qr.js +0 -2
  829. package/dist/lifecycle-DNel-oMe.js +0 -571
  830. package/dist/list.probe-DCa3N25d.js +0 -449
  831. package/dist/list.status-command-CyeAJmZW.js +0 -789
  832. package/dist/llm-slug-generator-CyqTY37Z.js +0 -78
  833. package/dist/local-dispatch.runtime-nE39kFIP.js +0 -9
  834. package/dist/manager.runtime-CpAPB8D5.js +0 -2714
  835. package/dist/markdown-to-line-Ci6TRmoZ.js +0 -811
  836. package/dist/mcp-http-BR0vmxFL.js +0 -2
  837. package/dist/mcp-http-C0oniA8h.js +0 -555
  838. package/dist/media-understanding-provider-BwA0XqC3.js +0 -339
  839. package/dist/message-actions-C9C_Ngkd.js +0 -145
  840. package/dist/message-handler-CUUKPC5n.js +0 -384
  841. package/dist/message-handler-xRTfIXWV.js +0 -1715
  842. package/dist/message-handler.preflight-Ch2Q7V3M.js +0 -1125
  843. package/dist/message-handler.process-HM3mK93q.js +0 -1484
  844. package/dist/model-CB8Ex5xS.js +0 -74
  845. package/dist/model-selection-2s0Dinux.js +0 -272
  846. package/dist/models-Cn-6DJ41.js +0 -2
  847. package/dist/models-CzszJD__.js +0 -104
  848. package/dist/models-cli-CbhElnA5.js +0 -256
  849. package/dist/monitor-7aprTsMV.js +0 -715
  850. package/dist/monitor-BuVhqwDS.js +0 -1370
  851. package/dist/monitor-C4H_YkgY.js +0 -2
  852. package/dist/monitor-CPQsMxgv.js +0 -1657
  853. package/dist/monitor-Ce0V1PiR.js +0 -4377
  854. package/dist/monitor-D0bcGJWI.js +0 -60
  855. package/dist/monitor-DEjlJqzh.js +0 -834
  856. package/dist/monitor-auth-DjJZsjgV.js +0 -179
  857. package/dist/monitor-ikSYagv3.js +0 -2788
  858. package/dist/monitor-polling.runtime-D7yEflMM.js +0 -883
  859. package/dist/monitor-webhook.runtime-CIZt-biI.js +0 -387
  860. package/dist/monitor.account-C2sMOBCS.js +0 -5233
  861. package/dist/monitor.runtime-BAi6zmcn.js +0 -2
  862. package/dist/monitor.webhook-BcjpfRCX.js +0 -180
  863. package/dist/node-cli-sessions-CIhkJRU4.js +0 -1228
  864. package/dist/openai-http-Dj21RwSj.js +0 -824
  865. package/dist/openresponses-http-COnnr1ox.js +0 -1173
  866. package/dist/operations-H3vUh0lM.js +0 -805
  867. package/dist/outbound-adapter-WLtWE7wv.js +0 -543
  868. package/dist/outbound-session-route-CZtd64EH.js +0 -45
  869. package/dist/outbound.runtime-D98P0sN1.js +0 -2
  870. package/dist/pi-embedded-BWJzd4mK.js +0 -4
  871. package/dist/pi-embedded-DeNsSqQQ.js +0 -3796
  872. package/dist/pi-embedded.runtime-CZnNwFpc.js +0 -4
  873. package/dist/pi-tools-CNHSpjBa.js +0 -2413
  874. package/dist/plan-B0reFFlM.js +0 -81
  875. package/dist/plan-CrfF-TH8.js +0 -112
  876. package/dist/plugin-DI_8eYOe.js +0 -12396
  877. package/dist/plugin-app-cache-key-WaTUD3e-.js +0 -46
  878. package/dist/plugin-enabled-aWLXgGGi.js +0 -233
  879. package/dist/plugin-registration-ByjRIVJm.js +0 -88
  880. package/dist/plugin-service-VQm_241d.js +0 -1229
  881. package/dist/policy-BmJH-swe.js +0 -680
  882. package/dist/policy-DE-bO1zn.js +0 -138
  883. package/dist/prepare.runtime-bSj3-res.js +0 -732
  884. package/dist/preview-warnings-CbuGYsF9.js +0 -392
  885. package/dist/probe-C_rWg7_m.js +0 -682
  886. package/dist/probe-CagOFfx6.js +0 -2
  887. package/dist/probe-thX1HqOh.js +0 -2204
  888. package/dist/probe-zU6B6gFt.js +0 -47
  889. package/dist/program-BtVdH743.js +0 -131
  890. package/dist/provider-CDoD7tO0.js +0 -8735
  891. package/dist/provider-CK1gMdJ2.js +0 -32
  892. package/dist/provider-DJqr9djy.js +0 -32
  893. package/dist/provider-DsOJp5bK.js +0 -152
  894. package/dist/provider-dispatcher-UNQ-LSx9.js +0 -22
  895. package/dist/provider-session.runtime-DMrkMb4x.js +0 -9
  896. package/dist/provider.runtime-C2-t3zm8.js +0 -2
  897. package/dist/public-surface-loader-hTeyyHcd.js +0 -114
  898. package/dist/pw-ai-BaL3eVYx.js +0 -3029
  899. package/dist/pw-role-snapshot-DKeBqhN1.js +0 -333
  900. package/dist/reaction-level-BV2potsD.js +0 -19
  901. package/dist/reaction-runtime-api-CCBxgM10.js +0 -116
  902. package/dist/realtime-transcription-provider-CHYtIXZm.js +0 -205
  903. package/dist/register-BJf28G9B.js +0 -2178
  904. package/dist/register.agent-oXAHwNQv.js +0 -156
  905. package/dist/register.crestodian-CQ0sqdV2.js +0 -24
  906. package/dist/register.maintenance-CylVRs5M.js +0 -83
  907. package/dist/register.runtime-CcDgwy0X.js +0 -54
  908. package/dist/register.subclis-CpBYNw2X.js +0 -3
  909. package/dist/register.subclis-N2CvieOL.js +0 -31
  910. package/dist/register.subclis-core-BHaGvbzg.js +0 -273
  911. package/dist/repair-sequencing-EBBnBdIB.js +0 -640
  912. package/dist/reply-delivery-BLoPALlI.js +0 -196
  913. package/dist/reply-runtime-D4asNTSa.js +0 -11
  914. package/dist/reply.runtime-CwprvhoR.js +0 -2
  915. package/dist/request-DlWPRUDt.js +0 -54
  916. package/dist/resolve-allowlist-BukQf58x.js +0 -220
  917. package/dist/result-fallback-classifier-DyHFnqfV.js +0 -79
  918. package/dist/route-BMf4keN5.js +0 -469
  919. package/dist/route-resolution-DWNi1QAu.js +0 -274
  920. package/dist/routes-C20LC8c4.js +0 -3602
  921. package/dist/routes-CkK7Vv_m.js +0 -2
  922. package/dist/run-KDF_AEza.js +0 -1162
  923. package/dist/run-attempt-JHYCfonU.js +0 -7704
  924. package/dist/run-command-3PVihYIy.js +0 -2
  925. package/dist/run-command-QHAXnyKY.js +0 -23
  926. package/dist/run-embedded.runtime-BJw-2vss.js +0 -4
  927. package/dist/run-execution-cli.runtime-GHClMn2g.js +0 -4
  928. package/dist/run-subagent-registry.runtime-BLLMrhtE.js +0 -2
  929. package/dist/runtime-C2u-dC1r.js +0 -1287
  930. package/dist/runtime-ClyfkDWT.js +0 -6179
  931. package/dist/runtime-WXCarlPc.js +0 -438
  932. package/dist/runtime-api-3QhGLpZf.js +0 -13
  933. package/dist/runtime-api-DRAu3mjv.js +0 -4
  934. package/dist/runtime-api-JE07pOem.js +0 -13
  935. package/dist/runtime-api-JuKylHvw.js +0 -24
  936. package/dist/runtime-api-bcbk4yax.js +0 -21
  937. package/dist/runtime-api-dDe9U2_V.js +0 -17
  938. package/dist/runtime-api-uMexLqGS.js +0 -3
  939. package/dist/runtime-api.actions-Bo7TLDFl.js +0 -3
  940. package/dist/runtime-api.monitor-7q78L1Em.js +0 -6
  941. package/dist/runtime-api.send-Bf9RR4nV.js +0 -4
  942. package/dist/runtime-api.threads-Dj2QuhHj.js +0 -2
  943. package/dist/runtime-channel-k1C0Satl.js +0 -2
  944. package/dist/runtime-channel-qt9t0J-J.js +0 -150
  945. package/dist/runtime-embedded-pi.runtime-BPB9NlTS.js +0 -2
  946. package/dist/sanitize-outbound-BLH_SQvg.js +0 -127
  947. package/dist/sdk-setup-tools-BshlBPau.js +0 -8
  948. package/dist/secrets-CsHXv7d3.js +0 -113
  949. package/dist/security-audit-CUXBQXNX.js +0 -122
  950. package/dist/security-audit-CzdXbRma.js +0 -118
  951. package/dist/security-audit.runtime-Ca0FMFJG.js +0 -2
  952. package/dist/selection-BmvQJlSD.js +0 -3
  953. package/dist/selection-BplDXc9w.js +0 -16157
  954. package/dist/send--qFg8a9v.js +0 -1631
  955. package/dist/send-BPdryPPA.js +0 -192
  956. package/dist/send-Bl4YaRkS.js +0 -143
  957. package/dist/send-Ccm7RMXC.js +0 -2
  958. package/dist/send.components-c3OUPSmR.js +0 -2
  959. package/dist/send.components-rhQJYoXs.js +0 -500
  960. package/dist/send.runtime-dfUkAp5d.js +0 -2
  961. package/dist/server-DRhyTMLe.js +0 -73
  962. package/dist/server-Dv4BzjGn.js +0 -24
  963. package/dist/server-context-4HRJy2vp.js +0 -955
  964. package/dist/server-context-DlxYb1G5.js +0 -2
  965. package/dist/server-cron-Bt8Pkc3i.js +0 -2989
  966. package/dist/server-cron-CtNWsa4Z.js +0 -2
  967. package/dist/server-methods-rye_okUW.js +0 -16494
  968. package/dist/server-node-events-C1yZ5a1u.js +0 -596
  969. package/dist/server-plugin-bootstrap-DUMyVtlP.js +0 -70
  970. package/dist/server-plugins-B5ZWWkRE.js +0 -432
  971. package/dist/server-reload-handlers-CTnMXNjT.js +0 -714
  972. package/dist/server-restart-sentinel-CAYxtwmY.js +0 -747
  973. package/dist/server-restart-sentinel-DqrtSIvy.js +0 -2
  974. package/dist/server-runtime-services-CuptQTe5.js +0 -2
  975. package/dist/server-runtime-services-aaS2IiW3.js +0 -267
  976. package/dist/server-startup-plugins-D0ymJgQT.js +0 -113
  977. package/dist/server-startup-post-attach-DlrN2uyt.js +0 -716
  978. package/dist/server-ws-runtime-CdpLbv4o.js +0 -349
  979. package/dist/server.impl-Cb4qcMTg.js +0 -2586
  980. package/dist/service-qxvDlMQE.js +0 -1446
  981. package/dist/session-binding-6bLobLHL.js +0 -219
  982. package/dist/session-binding-Bm6fCpoY.js +0 -2
  983. package/dist/session-kill-http-B6WjVo8V.js +0 -121
  984. package/dist/session-reset-service-GUVIhxp4.js +0 -625
  985. package/dist/session-route-BcRDnvzG.js +0 -93
  986. package/dist/session-status.runtime-BcjOunV4.js +0 -2
  987. package/dist/session-subagent-reactivation.runtime-BSmk_KYn.js +0 -2
  988. package/dist/session-tab-registry-BBYzbSOu.js +0 -521
  989. package/dist/sessions-history-http-bLJJfgLm.js +0 -430
  990. package/dist/sessions.runtime-DNRtQzCk.js +0 -2
  991. package/dist/setup-api-CcolVVJs.js +0 -29
  992. package/dist/setup-core-eJD18F3B.js +0 -174
  993. package/dist/setup-surface-B75C2Qtz.js +0 -221
  994. package/dist/setup-surface-CFuPfVHp.js +0 -405
  995. package/dist/setup-surface-Dyy-Mzyz.js +0 -288
  996. package/dist/setup-surface-ZsVF_g8W.js +0 -320
  997. package/dist/shared-BkCNrcLX.js +0 -121
  998. package/dist/shared-client-B7zqC9p2.js +0 -2
  999. package/dist/shared-client-yXjKgZBz.js +0 -629
  1000. package/dist/side-question-DU3gESCb.js +0 -683
  1001. package/dist/skill-tool-dispatch.runtime-CPBuqyvk.js +0 -143
  1002. package/dist/slash-state-Do3bAahA.js +0 -2166
  1003. package/dist/speech-provider-Bg9los3C.js +0 -184
  1004. package/dist/src-D7LzUctH.js +0 -4256
  1005. package/dist/startup-context-CCF2gIOl.js +0 -313
  1006. package/dist/status-subagents.runtime-DX5FTymp.js +0 -18
  1007. package/dist/status-text-B-1u5dSV.js +0 -296
  1008. package/dist/sticker-cache-DwpU_9RJ.js +0 -206
  1009. package/dist/sticker-vision.runtime-Bbldi_YL.js +0 -17
  1010. package/dist/subagent-announce-BCo0VHVL.js +0 -354
  1011. package/dist/subagent-announce-delivery-JcnuDN_N.js +0 -958
  1012. package/dist/subagent-control-BzbA3Suz.js +0 -508
  1013. package/dist/subagent-hooks-BIGZQWrG.js +0 -2
  1014. package/dist/subagent-hooks-Bj4qYZfv.js +0 -230
  1015. package/dist/subagent-hooks-C-rvhVBv.js +0 -2
  1016. package/dist/subagent-hooks-P01_AFl5.js +0 -116
  1017. package/dist/subagent-hooks-VEfak8nl.js +0 -2
  1018. package/dist/subagent-hooks-api-BPnSxxN4.js +0 -23
  1019. package/dist/subagent-hooks-api-DwIAvMoS.js +0 -22
  1020. package/dist/subagent-hooks-api-kgyR9FOb.js +0 -23
  1021. package/dist/subagent-hooks-oED56wqq.js +0 -146
  1022. package/dist/subagent-orphan-recovery-D79ZzwKN.js +0 -352
  1023. package/dist/subagent-registry-D0soBT5j.js +0 -2351
  1024. package/dist/subagent-registry-DRJDkmty.js +0 -3
  1025. package/dist/subagent-session-cleanup-9eAO1aJe.js +0 -525
  1026. package/dist/subagent-spawn-D80vbogm.js +0 -1164
  1027. package/dist/target-id-COLv5LsJ.js +0 -107
  1028. package/dist/targets-CDW5IQ6a.js +0 -44
  1029. package/dist/targets-Ci6O1ZdP.js +0 -19
  1030. package/dist/targets-CsaWFBg1.js +0 -19
  1031. package/dist/testing-BoJit-h1.js +0 -267
  1032. package/dist/thread-bindings-CGCvw0KT.js +0 -571
  1033. package/dist/thread-bindings-ClCTNacX.js +0 -228
  1034. package/dist/thread-bindings-DRb7BMZ6.js +0 -8
  1035. package/dist/thread-bindings-Xc6smav0.js +0 -232
  1036. package/dist/thread-bindings.discord-api-DC467oeF.js +0 -187
  1037. package/dist/thread-bindings.manager-C_mpTDIZ.js +0 -536
  1038. package/dist/thread-bindings.manager-DkCRs612.js +0 -2
  1039. package/dist/thread-lifecycle-DpqCXlx9.js +0 -1614
  1040. package/dist/token-CI6HjbTA.js +0 -134
  1041. package/dist/tool-BMe7hjBK.js +0 -139
  1042. package/dist/tool-actions.runtime-D-h5PI_m.js +0 -534
  1043. package/dist/tool-resolution-CnLx0CHe.js +0 -149
  1044. package/dist/tools-effective-inventory-BR6MUMtE.js +0 -204
  1045. package/dist/tools-invoke-http-CTTs2yMT.js +0 -67
  1046. package/dist/tools-invoke-shared-9B1EjXWf.js +0 -200
  1047. package/dist/tts-eGOviZ5c.js +0 -66
  1048. package/dist/tui-Bw0HqKd7.js +0 -4709
  1049. package/dist/tui-CIZJnPzj.js +0 -2
  1050. package/dist/tui-backend-BJ_r7tcF.js +0 -256
  1051. package/dist/tui-cli-BaSMBpuA.js +0 -37
  1052. package/dist/update-cli-zuCybGNR.js +0 -3664
  1053. package/dist/update-runner-Dek2BHmQ.js +0 -2379
  1054. package/dist/vision-tools-1ps0BEE5.js +0 -1409
  1055. package/dist/web-search-B7EziZXE.js +0 -62
  1056. package/dist/web-search-provider.runtime-DGTCvGch.js +0 -328
  1057. package/dist/web-search-provider.runtime-DWL5t39M.js +0 -2
  1058. package/dist/xai-oauth-CRtsj2Gs.js +0 -479
  1059. package/dist/xai-user-agent-Dndwzw2S.js +0 -32
  1060. /package/dist/{acp-runtime-backend-DSDBcyh9.js → acp-runtime-backend-Cxo7eBHf.js} +0 -0
  1061. /package/dist/{channel-actions-FV66JqtI.js → channel-actions-UDeVjgGz.js} +0 -0
  1062. /package/dist/{command-status-runtime-BRWKSoG7.js → command-status-runtime-CoHd4Fws.js} +0 -0
  1063. /package/dist/{delegate-DGqKhwB4.js → delegate-B-2xZ77o.js} +0 -0
  1064. /package/dist/{dispatch-acp-Ceoxja_Z.js → dispatch-acp-DLPkmK7K.js} +0 -0
  1065. /package/dist/{heartbeat-runner-CJHvr5pG.js → heartbeat-runner-D2j6JwOI.js} +0 -0
  1066. /package/dist/{library-Bq3aDek_.js → library-DBT0cIPP.js} +0 -0
  1067. /package/dist/{run-executor.runtime-DNJhGPbA.js → run-executor.runtime-DE4J7f4M.js} +0 -0
  1068. /package/dist/{shared-CYxmRpq1.js → shared-xeo8Yh5n.js} +0 -0
@@ -0,0 +1,1098 @@
1
+ import { c as normalizeOptionalString } from "./string-coerce-DyL154ka.js";
2
+ import { i as formatErrorMessage } from "./errors-D_oyTIw2.js";
3
+ import { t as formatCliCommand } from "./command-format-tWmMYcvZ.js";
4
+ import { t as formatDocsLink } from "./links-CM5vg8_V.js";
5
+ import { s as hasConfiguredSecretInput } from "./types.secrets-Ct1DNG7D.js";
6
+ import { n as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./account-id-B32J-iNN.js";
7
+ import { t as getChatChannelMeta } from "./chat-meta-B_GSjKqC.js";
8
+ import { r as buildChannelConfigSchema } from "./config-schema-CpJ4LFf2.js";
9
+ import { n as resolveNormalizedAccountEntry } from "./account-lookup-CQEoGO1F.js";
10
+ import { S as resolveChannelStreamingBlockEnabled, k as resolveChannelStreamingPreviewToolProgress } from "./channel-streaming-BBW2i40H.js";
11
+ import { l as createScopedDmSecurityResolver, s as createScopedChannelConfigAdapter, t as adaptScopedAccountAccessor } from "./channel-config-helpers-CQb9YOAn.js";
12
+ import { r as makeProxyFetch } from "./proxy-fetch-Bpht0qpc.js";
13
+ import { a as hasTelegramBotEndpointApiRoot, n as resolveTelegramFetch, o as normalizeTelegramApiRoot, t as resolveTelegramApiBase } from "./fetch-CBRkqVBE.js";
14
+ import "./error-runtime--zM-GsR-.js";
15
+ import "./string-coerce-runtime-DcopKqDR.js";
16
+ import "./account-core-B_TIp73g.js";
17
+ import { n as applySetupAccountConfigPatch, r as createEnvPatchedAccountSetupAdapter } from "./setup-helpers-BC9z9VvG.js";
18
+ import { t as createChannelPluginBase } from "./channel-core-Dz9I_R4j.js";
19
+ import "./routing-AC-P99jg.js";
20
+ import { t as formatAllowFromLowercase } from "./allow-from-BsbZfqm-.js";
21
+ import { y as createAllowlistProviderRouteAllowlistWarningCollector } from "./channel-policy-Be-Ujzjr.js";
22
+ import { t as createSetupTranslator } from "./i18n-Bm-nunfC.js";
23
+ import { J as setSetupChannelEnabled, N as promptResolvedAllowFrom, Q as splitSetupEntries, T as patchChannelConfigForAccount, a as createAllowFromSection, f as createStandardChannelSetupStatus, t as addWildcardAllowFrom } from "./setup-wizard-helpers-DXfnYF4t.js";
24
+ import "./setup-Bk8ieh5V.js";
25
+ import "./setup-runtime-BvIWHDKO.js";
26
+ import "./setup-tools-BOGdbXzZ.js";
27
+ import "./channel-plugin-common-K2XHeHxz.js";
28
+ import { c as TelegramConfigSchema } from "./bundled-channel-config-schema-C65cOOX-.js";
29
+ import { t as mergeTelegramAccountConfig } from "./account-config-CK57oli6.js";
30
+ import { a as resolveDefaultTelegramAccountId, o as resolveTelegramAccount, r as listTelegramAccountIds } from "./accounts-CuvH2tuN.js";
31
+ import { t as inspectTelegramAccount } from "./account-inspect-BFz7X0TX.js";
32
+ import { r as normalizeTelegramAllowFromEntry, t as isNumericTelegramSenderUserId } from "./allow-from-Byf7JKVc.js";
33
+ import { t as resolveTelegramPreviewStreamMode } from "./preview-streaming-CXF2kEfd.js";
34
+ import { t as collectTelegramSecurityAuditFindings } from "./security-audit-Bk3CREj-.js";
35
+ import { a as buildTelegramModelsListChannelData, c as buildTelegramModelsProviderChannelData, i as buildTelegramModelsAddProviderChannelData, n as buildTelegramCommandsListChannelData, r as buildTelegramModelBrowseChannelData, s as buildTelegramModelsMenuChannelData } from "./command-ui-Cfv5GGb1.js";
36
+ import "./config-api-D1HNHyW8.js";
37
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-CzZ-jKyu.js";
38
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-kTmQYafh.js";
39
+ import { n as singleAccountKeysToMove, t as namedAccountPromotionKeys } from "./setup-contract-BGJIzcry.js";
40
+ import { t as detectTelegramLegacyStateMigrations } from "./state-migrations-DU9px5nD.js";
41
+ //#region extensions/telegram/src/api-fetch.ts
42
+ function resolveTelegramChatLookupFetch(params) {
43
+ const proxyUrl = params?.proxyUrl?.trim();
44
+ return resolveTelegramFetch(proxyUrl ? makeProxyFetch(proxyUrl) : void 0, { network: params?.network });
45
+ }
46
+ async function lookupTelegramChatId(params) {
47
+ return fetchTelegramChatId({
48
+ token: params.token,
49
+ chatId: params.chatId,
50
+ signal: params.signal,
51
+ apiRoot: params.apiRoot,
52
+ fetchImpl: resolveTelegramChatLookupFetch({
53
+ proxyUrl: params.proxyUrl,
54
+ network: params.network
55
+ })
56
+ });
57
+ }
58
+ async function fetchTelegramChatId(params) {
59
+ const url = `${resolveTelegramApiBase(params.apiRoot)}/bot${params.token}/getChat?chat_id=${encodeURIComponent(params.chatId)}`;
60
+ const fetchImpl = params.fetchImpl ?? fetch;
61
+ try {
62
+ const res = await fetchImpl(url, params.signal ? { signal: params.signal } : void 0);
63
+ if (!res.ok) return null;
64
+ const data = await res.json().catch(() => null);
65
+ const id = data?.ok ? data?.result?.id : void 0;
66
+ if (typeof id === "number" || typeof id === "string") return String(id);
67
+ return null;
68
+ } catch {
69
+ return null;
70
+ }
71
+ }
72
+ const telegramSecurityAdapter = {
73
+ resolveDmPolicy: createScopedDmSecurityResolver({
74
+ channelKey: "telegram",
75
+ resolvePolicy: (account) => account.config.dmPolicy,
76
+ resolveAllowFrom: (account) => account.config.allowFrom,
77
+ policyPathSuffix: "dmPolicy",
78
+ normalizeEntry: (raw) => raw.replace(/^(telegram|tg):/i, "")
79
+ }),
80
+ collectWarnings: createAllowlistProviderRouteAllowlistWarningCollector({
81
+ providerConfigPresent: (cfg) => cfg.channels?.telegram !== void 0,
82
+ resolveGroupPolicy: (account) => account.config.groupPolicy,
83
+ resolveRouteAllowlistConfigured: (account) => Boolean(account.config.groups) && Object.keys(account.config.groups ?? {}).length > 0,
84
+ restrictSenders: {
85
+ surface: "Telegram groups",
86
+ openScope: "any member in allowed groups",
87
+ groupPolicyPath: "channels.telegram.groupPolicy",
88
+ groupAllowFromPath: "channels.telegram.groupAllowFrom"
89
+ },
90
+ noRouteAllowlist: {
91
+ surface: "Telegram groups",
92
+ routeAllowlistPath: "channels.telegram.groups",
93
+ routeScope: "group",
94
+ groupPolicyPath: "channels.telegram.groupPolicy",
95
+ groupAllowFromPath: "channels.telegram.groupAllowFrom"
96
+ }
97
+ }),
98
+ collectAuditFindings: collectTelegramSecurityAuditFindings
99
+ };
100
+ //#endregion
101
+ //#region extensions/telegram/src/setup-core.ts
102
+ const t$1 = createSetupTranslator();
103
+ const channel$2 = "telegram";
104
+ function getTelegramTokenHelpLines() {
105
+ return [
106
+ t$1("wizard.telegram.tokenHelpOpenBotFather"),
107
+ t$1("wizard.telegram.tokenHelpNewBot"),
108
+ t$1("wizard.telegram.tokenHelpCopyToken"),
109
+ t$1("wizard.telegram.tokenEnvTip"),
110
+ t$1("wizard.channels.docs", { link: formatDocsLink("/telegram") }),
111
+ t$1("wizard.telegram.website", { url: "https://openclaw.ai" })
112
+ ];
113
+ }
114
+ function getTelegramUserIdHelpLines() {
115
+ return [
116
+ t$1("wizard.telegram.userIdHelpLogs", { command: formatCliCommand("daocore logs --follow") }),
117
+ t$1("wizard.telegram.userIdHelpGetUpdates"),
118
+ t$1("wizard.telegram.userIdHelpThirdParty"),
119
+ t$1("wizard.channels.docs", { link: formatDocsLink("/telegram") }),
120
+ t$1("wizard.telegram.website", { url: "https://openclaw.ai" })
121
+ ];
122
+ }
123
+ getTelegramTokenHelpLines();
124
+ getTelegramUserIdHelpLines();
125
+ function normalizeTelegramAllowFromInput(raw) {
126
+ return raw.trim().replace(/^(telegram|tg):/i, "").trim();
127
+ }
128
+ function parseTelegramAllowFromId(raw) {
129
+ const stripped = normalizeTelegramAllowFromInput(raw);
130
+ return isNumericTelegramSenderUserId(stripped) ? stripped : null;
131
+ }
132
+ async function promptTelegramAllowFromForAccount(params) {
133
+ const accountId = params.accountId ?? resolveDefaultTelegramAccountId(params.cfg);
134
+ const resolved = resolveTelegramAccount({
135
+ cfg: params.cfg,
136
+ accountId
137
+ });
138
+ await params.prompter.note(getTelegramUserIdHelpLines().join("\n"), t$1("wizard.telegram.userIdTitle"));
139
+ const unique = await promptResolvedAllowFrom({
140
+ prompter: params.prompter,
141
+ existing: resolved.config.allowFrom ?? [],
142
+ message: t$1("wizard.telegram.allowFromPrompt"),
143
+ placeholder: "123456789",
144
+ label: t$1("wizard.telegram.allowlistTitle"),
145
+ parseInputs: splitSetupEntries,
146
+ parseId: parseTelegramAllowFromId,
147
+ invalidWithoutTokenNote: t$1("wizard.telegram.allowFromInvalid"),
148
+ resolveEntries: async ({ entries }) => entries.map((entry) => {
149
+ const id = parseTelegramAllowFromId(entry);
150
+ return {
151
+ input: entry,
152
+ resolved: Boolean(id),
153
+ id
154
+ };
155
+ })
156
+ });
157
+ return patchChannelConfigForAccount({
158
+ cfg: params.cfg,
159
+ channel: channel$2,
160
+ accountId,
161
+ patch: {
162
+ dmPolicy: "allowlist",
163
+ allowFrom: unique
164
+ }
165
+ });
166
+ }
167
+ const telegramSetupAdapter = createEnvPatchedAccountSetupAdapter({
168
+ channelKey: channel$2,
169
+ defaultAccountOnlyEnvError: "TELEGRAM_BOT_TOKEN can only be used for the default account.",
170
+ missingCredentialError: "Telegram requires token or --token-file (or --use-env).",
171
+ hasCredentials: (input) => Boolean(input.token || input.tokenFile),
172
+ buildPatch: (input) => input.tokenFile ? { tokenFile: input.tokenFile } : input.token ? { botToken: input.token } : {}
173
+ });
174
+ //#endregion
175
+ //#region extensions/telegram/src/setup-surface.helpers.ts
176
+ const channel$1 = "telegram";
177
+ function ensureTelegramDefaultGroupMentionGate(cfg, accountId) {
178
+ const resolved = resolveTelegramAccount({
179
+ cfg,
180
+ accountId
181
+ });
182
+ const wildcardGroup = resolved.config.groups?.["*"];
183
+ if (wildcardGroup?.requireMention !== void 0) return cfg;
184
+ return patchChannelConfigForAccount({
185
+ cfg,
186
+ channel: channel$1,
187
+ accountId,
188
+ patch: { groups: {
189
+ ...resolved.config.groups,
190
+ "*": {
191
+ ...wildcardGroup,
192
+ requireMention: true
193
+ }
194
+ } }
195
+ });
196
+ }
197
+ function shouldShowTelegramDmAccessWarning(cfg, accountId) {
198
+ const merged = mergeTelegramAccountConfig(cfg, accountId);
199
+ const policy = merged.dmPolicy ?? "pairing";
200
+ const hasAllowFrom = Array.isArray(merged.allowFrom) && merged.allowFrom.some((entry) => normalizeOptionalString(String(entry)));
201
+ return policy === "pairing" && !hasAllowFrom;
202
+ }
203
+ function buildTelegramDmAccessWarningLines(accountId) {
204
+ const configBase = accountId === "default" ? "channels.telegram" : `channels.telegram.accounts.${accountId}`;
205
+ return [
206
+ "Your bot is using DM policy: pairing.",
207
+ "Any Telegram user who discovers the bot can send pairing requests.",
208
+ "For private use, configure an allowlist with your Telegram user id:",
209
+ " " + formatCliCommand(`daocore config set ${configBase}.dmPolicy "allowlist"`),
210
+ " " + formatCliCommand(`daocore config set ${configBase}.allowFrom '["YOUR_USER_ID"]'`),
211
+ `Docs: ${formatDocsLink("/channels/pairing", "channels/pairing")}`
212
+ ];
213
+ }
214
+ const telegramSetupDmPolicy = {
215
+ label: "Telegram",
216
+ channel: channel$1,
217
+ policyKey: "channels.telegram.dmPolicy",
218
+ allowFromKey: "channels.telegram.allowFrom",
219
+ resolveConfigKeys: (cfg, accountId) => (accountId ?? resolveDefaultTelegramAccountId(cfg)) !== "default" ? {
220
+ policyKey: `channels.telegram.accounts.${accountId ?? resolveDefaultTelegramAccountId(cfg)}.dmPolicy`,
221
+ allowFromKey: `channels.telegram.accounts.${accountId ?? resolveDefaultTelegramAccountId(cfg)}.allowFrom`
222
+ } : {
223
+ policyKey: "channels.telegram.dmPolicy",
224
+ allowFromKey: "channels.telegram.allowFrom"
225
+ },
226
+ getCurrent: (cfg, accountId) => mergeTelegramAccountConfig(cfg, accountId ?? resolveDefaultTelegramAccountId(cfg)).dmPolicy ?? "pairing",
227
+ setPolicy: (cfg, policy, accountId) => {
228
+ const resolvedAccountId = accountId ?? resolveDefaultTelegramAccountId(cfg);
229
+ const merged = mergeTelegramAccountConfig(cfg, resolvedAccountId);
230
+ const patch = {
231
+ dmPolicy: policy,
232
+ ...policy === "open" ? { allowFrom: addWildcardAllowFrom(merged.allowFrom) } : {}
233
+ };
234
+ return accountId == null && resolvedAccountId !== "default" ? applySetupAccountConfigPatch({
235
+ cfg,
236
+ channelKey: channel$1,
237
+ accountId: resolvedAccountId,
238
+ patch
239
+ }) : patchChannelConfigForAccount({
240
+ cfg,
241
+ channel: channel$1,
242
+ accountId: resolvedAccountId,
243
+ patch
244
+ });
245
+ },
246
+ promptAllowFrom: promptTelegramAllowFromForAccount
247
+ };
248
+ //#endregion
249
+ //#region extensions/telegram/src/setup-surface.ts
250
+ const t = createSetupTranslator();
251
+ const channel = "telegram";
252
+ const telegramSetupWizard = {
253
+ channel,
254
+ status: createStandardChannelSetupStatus({
255
+ channelLabel: "Telegram",
256
+ configuredLabel: t("wizard.channels.statusConfigured"),
257
+ unconfiguredLabel: t("wizard.channels.statusNeedsToken"),
258
+ configuredHint: t("wizard.channels.statusRecommendedConfigured"),
259
+ unconfiguredHint: t("wizard.channels.statusRecommendedNewcomerFriendly"),
260
+ configuredScore: 1,
261
+ unconfiguredScore: 10,
262
+ resolveConfigured: ({ cfg, accountId }) => (accountId ? [accountId] : listTelegramAccountIds(cfg)).some((resolvedAccountId) => {
263
+ return inspectTelegramAccount({
264
+ cfg,
265
+ accountId: resolvedAccountId
266
+ }).configured;
267
+ })
268
+ }),
269
+ prepare: async ({ cfg, accountId, credentialValues }) => ({
270
+ cfg: ensureTelegramDefaultGroupMentionGate(cfg, accountId),
271
+ credentialValues
272
+ }),
273
+ credentials: [{
274
+ inputKey: "token",
275
+ providerHint: channel,
276
+ credentialLabel: t("wizard.telegram.botToken"),
277
+ preferredEnvVar: "TELEGRAM_BOT_TOKEN",
278
+ helpTitle: t("wizard.telegram.botToken"),
279
+ helpLines: getTelegramTokenHelpLines(),
280
+ envPrompt: t("wizard.telegram.tokenEnvPrompt"),
281
+ keepPrompt: t("wizard.telegram.tokenKeepPrompt"),
282
+ inputPrompt: t("wizard.telegram.tokenInputPrompt"),
283
+ allowEnv: ({ accountId }) => accountId === DEFAULT_ACCOUNT_ID,
284
+ inspect: ({ cfg, accountId }) => {
285
+ const resolved = resolveTelegramAccount({
286
+ cfg,
287
+ accountId
288
+ });
289
+ const hasConfiguredValue = hasConfiguredSecretInput(resolved.config.botToken) || Boolean(resolved.config.tokenFile?.trim());
290
+ return {
291
+ accountConfigured: Boolean(resolved.token) || hasConfiguredValue,
292
+ hasConfiguredValue,
293
+ resolvedValue: normalizeOptionalString(resolved.token),
294
+ envValue: accountId === "default" ? normalizeOptionalString(process.env.TELEGRAM_BOT_TOKEN) : void 0
295
+ };
296
+ }
297
+ }],
298
+ allowFrom: createAllowFromSection({
299
+ helpTitle: t("wizard.telegram.userIdTitle"),
300
+ helpLines: getTelegramUserIdHelpLines(),
301
+ message: t("wizard.telegram.allowFromPrompt"),
302
+ placeholder: "123456789",
303
+ invalidWithoutCredentialNote: t("wizard.telegram.allowFromInvalid"),
304
+ parseInputs: splitSetupEntries,
305
+ parseId: parseTelegramAllowFromId,
306
+ resolveEntries: async ({ entries }) => entries.map((entry) => {
307
+ const id = parseTelegramAllowFromId(entry);
308
+ return {
309
+ input: entry,
310
+ resolved: Boolean(id),
311
+ id
312
+ };
313
+ }),
314
+ apply: async ({ cfg, accountId, allowFrom }) => patchChannelConfigForAccount({
315
+ cfg,
316
+ channel,
317
+ accountId,
318
+ patch: {
319
+ dmPolicy: "allowlist",
320
+ allowFrom
321
+ }
322
+ })
323
+ }),
324
+ finalize: async ({ cfg, accountId, prompter }) => {
325
+ if (!shouldShowTelegramDmAccessWarning(cfg, accountId)) return;
326
+ await prompter.note(buildTelegramDmAccessWarningLines(accountId).join("\n"), "Telegram DM access warning");
327
+ },
328
+ dmPolicy: telegramSetupDmPolicy,
329
+ disable: (cfg) => setSetupChannelEnabled(cfg, channel, false)
330
+ };
331
+ //#endregion
332
+ //#region extensions/telegram/src/config-schema.ts
333
+ const TelegramChannelConfigSchema = buildChannelConfigSchema(TelegramConfigSchema, { uiHints: {
334
+ "": {
335
+ label: "Telegram",
336
+ help: "Telegram channel provider configuration including auth tokens, retry behavior, and message rendering controls. Use this section to tune bot behavior for Telegram-specific API semantics."
337
+ },
338
+ customCommands: {
339
+ label: "Telegram Custom Commands",
340
+ help: "Additional Telegram bot menu commands (merged with native; conflicts ignored)."
341
+ },
342
+ botToken: {
343
+ label: "Telegram Bot Token",
344
+ help: "Telegram bot token used to authenticate Bot API requests for this account/provider config. Use secret/env substitution and rotate tokens if exposure is suspected."
345
+ },
346
+ dmPolicy: {
347
+ label: "Telegram DM Policy",
348
+ help: "Direct message access control (\"pairing\" recommended). \"open\" requires channels.telegram.allowFrom=[\"*\"]."
349
+ },
350
+ "dm.threadReplies": {
351
+ label: "Telegram DM Thread Replies",
352
+ help: "Controls whether Telegram DMs with message_thread_id use flat sessions (\"off\", default) or thread-scoped sessions (\"inbound\" or \"always\"). Thread IDs are still preserved for replies when sessions stay flat."
353
+ },
354
+ "direct.*.threadReplies": {
355
+ label: "Telegram Per-DM Thread Replies",
356
+ help: "Per-DM override for message_thread_id session threading. Use \"inbound\" only when a specific direct chat intentionally uses Telegram DM topics as separate sessions."
357
+ },
358
+ configWrites: {
359
+ label: "Telegram Config Writes",
360
+ help: "Allow Telegram to write config in response to channel events/commands (default: true)."
361
+ },
362
+ "commands.native": {
363
+ label: "Telegram Native Commands",
364
+ help: "Override native commands for Telegram (bool or \"auto\")."
365
+ },
366
+ "commands.nativeSkills": {
367
+ label: "Telegram Native Skill Commands",
368
+ help: "Override native skill commands for Telegram (bool or \"auto\")."
369
+ },
370
+ streaming: {
371
+ label: "Telegram Streaming Mode",
372
+ help: "Unified Telegram stream preview mode: \"off\" | \"partial\" | \"block\" | \"progress\" (default: \"partial\"). \"progress\" keeps a single editable progress draft until final delivery. Legacy boolean/streamMode keys are detected; run doctor --fix to migrate."
373
+ },
374
+ "streaming.mode": {
375
+ label: "Telegram Streaming Mode",
376
+ help: "Canonical Telegram preview mode: \"off\" | \"partial\" | \"block\" | \"progress\" (default: \"partial\")."
377
+ },
378
+ "streaming.chunkMode": {
379
+ label: "Telegram Chunk Mode",
380
+ help: "Chunking mode for outbound Telegram text delivery: \"length\" (default) or \"newline\"."
381
+ },
382
+ "streaming.block.enabled": {
383
+ label: "Telegram Block Streaming Enabled",
384
+ help: "Enable chunked block-style Telegram preview delivery when channels.telegram.streaming.mode=\"block\"."
385
+ },
386
+ "streaming.block.coalesce": {
387
+ label: "Telegram Block Streaming Coalesce",
388
+ help: "Merge streamed Telegram block replies before sending final delivery."
389
+ },
390
+ "streaming.preview.chunk.minChars": {
391
+ label: "Telegram Draft Chunk Min Chars",
392
+ help: "Minimum chars before emitting a Telegram block preview chunk when channels.telegram.streaming.mode=\"block\"."
393
+ },
394
+ "streaming.preview.chunk.maxChars": {
395
+ label: "Telegram Draft Chunk Max Chars",
396
+ help: "Target max size for a Telegram block preview chunk when channels.telegram.streaming.mode=\"block\"."
397
+ },
398
+ "streaming.preview.chunk.breakPreference": {
399
+ label: "Telegram Draft Chunk Break Preference",
400
+ help: "Preferred breakpoints for Telegram draft chunks (paragraph | newline | sentence)."
401
+ },
402
+ "streaming.preview.toolProgress": {
403
+ label: "Telegram Draft Tool Progress",
404
+ help: "Show tool/progress activity in the live draft preview message (default: true when preview streaming is active). Set false to keep tool updates out of the edited Telegram preview."
405
+ },
406
+ "streaming.preview.commandText": {
407
+ label: "Telegram Draft Command Text",
408
+ help: "Command/exec detail in preview tool-progress lines: \"raw\" preserves released behavior; \"status\" shows only the tool label."
409
+ },
410
+ "streaming.progress.label": {
411
+ label: "Telegram Progress Label",
412
+ help: "Initial progress draft title. Use \"auto\" for built-in single-word labels, a custom string, or false to hide the title."
413
+ },
414
+ "streaming.progress.labels": {
415
+ label: "Telegram Progress Label Pool",
416
+ help: "Candidate labels for streaming.progress.label=\"auto\". Leave unset to use DaoCore built-in progress labels."
417
+ },
418
+ "streaming.progress.maxLines": {
419
+ label: "Telegram Progress Max Lines",
420
+ help: "Maximum number of compact progress lines to keep below the draft label (default: 8)."
421
+ },
422
+ "streaming.progress.maxLineChars": {
423
+ label: "Telegram Progress Max Line Chars",
424
+ help: "Maximum characters per compact progress line before truncation (default: 120). Prose cuts at word boundaries; commands and paths keep useful suffixes."
425
+ },
426
+ "streaming.progress.toolProgress": {
427
+ label: "Telegram Progress Tool Lines",
428
+ help: "Show compact tool/progress lines in progress draft mode (default: true). Set false to keep only the label until final delivery."
429
+ },
430
+ "streaming.progress.commandText": {
431
+ label: "Telegram Progress Command Text",
432
+ help: "Command/exec detail in progress draft lines: \"raw\" preserves released behavior; \"status\" shows only the tool label."
433
+ },
434
+ "retry.attempts": {
435
+ label: "Telegram Retry Attempts",
436
+ help: "Max retry attempts for outbound Telegram API calls (default: 3)."
437
+ },
438
+ "retry.minDelayMs": {
439
+ label: "Telegram Retry Min Delay (ms)",
440
+ help: "Minimum retry delay in ms for Telegram outbound calls."
441
+ },
442
+ "retry.maxDelayMs": {
443
+ label: "Telegram Retry Max Delay (ms)",
444
+ help: "Maximum retry delay cap in ms for Telegram outbound calls."
445
+ },
446
+ "retry.jitter": {
447
+ label: "Telegram Retry Jitter",
448
+ help: "Jitter factor (0-1) applied to Telegram retry delays."
449
+ },
450
+ "network.autoSelectFamily": {
451
+ label: "Telegram autoSelectFamily",
452
+ help: "Override Node autoSelectFamily for Telegram (true=enable, false=disable)."
453
+ },
454
+ "network.dangerouslyAllowPrivateNetwork": {
455
+ label: "Telegram Dangerously Allow Private Network",
456
+ help: "Dangerous opt-in for trusted fake-IP or transparent-proxy environments where Telegram media downloads resolve api.telegram.org to private/internal/special-use addresses."
457
+ },
458
+ timeoutSeconds: {
459
+ label: "Telegram API Timeout (seconds)",
460
+ help: "Max seconds before Telegram API requests are aborted (default: 500 per grammY)."
461
+ },
462
+ mediaGroupFlushMs: {
463
+ label: "Telegram Media Group Flush (ms)",
464
+ help: "Milliseconds to buffer Telegram albums/media groups before dispatching them as one inbound message. Default: 500."
465
+ },
466
+ pollingStallThresholdMs: {
467
+ label: "Telegram Polling Stall Threshold (ms)",
468
+ help: "Milliseconds without completed Telegram getUpdates liveness before the polling watchdog restarts the polling runner. Default: 120000."
469
+ },
470
+ silentErrorReplies: {
471
+ label: "Telegram Silent Error Replies",
472
+ help: "When true, Telegram bot replies marked as errors are sent silently (no notification sound). Default: false."
473
+ },
474
+ apiRoot: {
475
+ label: "Telegram API Root URL",
476
+ help: "Custom Telegram Bot API root URL. Use the API root only (for example https://api.telegram.org), not a full /bot<TOKEN> endpoint. Use for self-hosted Bot API servers (https://github.com/tdlib/telegram-bot-api) or reverse proxies in regions where api.telegram.org is blocked."
477
+ },
478
+ trustedLocalFileRoots: {
479
+ label: "Telegram Trusted Local File Roots",
480
+ help: "Trusted local filesystem roots for self-hosted Telegram Bot API absolute file_path values. Only absolute paths inside these roots are read directly; all other absolute paths are rejected."
481
+ },
482
+ autoTopicLabel: {
483
+ label: "Telegram Auto Topic Label",
484
+ help: "Auto-rename DM forum topics on first message using LLM. Default: true. Set to false to disable, or use object form { enabled: true, prompt: '...' } for custom prompt."
485
+ },
486
+ "autoTopicLabel.enabled": {
487
+ label: "Telegram Auto Topic Label Enabled",
488
+ help: "Whether auto topic labeling is enabled. Default: true."
489
+ },
490
+ "autoTopicLabel.prompt": {
491
+ label: "Telegram Auto Topic Label Prompt",
492
+ help: "Custom prompt for LLM-based topic naming. The user message is appended after the prompt."
493
+ },
494
+ "capabilities.inlineButtons": {
495
+ label: "Telegram Inline Buttons",
496
+ help: "Enable Telegram inline button components for supported command and interaction surfaces. Disable if your deployment needs plain-text-only compatibility behavior."
497
+ },
498
+ execApprovals: {
499
+ label: "Telegram Exec Approvals",
500
+ help: "Telegram-native exec approval routing and approver authorization. When unset, DaoCore auto-enables DM-first native approvals if approvers can be resolved for the selected bot account."
501
+ },
502
+ "execApprovals.enabled": {
503
+ label: "Telegram Exec Approvals Enabled",
504
+ help: "Controls Telegram native exec approvals for this account: unset or \"auto\" enables DM-first native approvals when approvers can be resolved, true forces native approvals on, and false disables them."
505
+ },
506
+ "execApprovals.approvers": {
507
+ label: "Telegram Exec Approval Approvers",
508
+ help: "Telegram user IDs allowed to approve exec requests for this bot account. Use numeric Telegram user IDs. If you leave this unset, DaoCore falls back to numeric owner IDs inferred from commands.ownerAllowFrom when possible."
509
+ },
510
+ "execApprovals.agentFilter": {
511
+ label: "Telegram Exec Approval Agent Filter",
512
+ help: "Optional allowlist of agent IDs eligible for Telegram exec approvals, for example `[\"main\", \"ops-agent\"]`. Use this to keep approval prompts scoped to the agents you actually operate from Telegram."
513
+ },
514
+ "execApprovals.sessionFilter": {
515
+ label: "Telegram Exec Approval Session Filter",
516
+ help: "Optional session-key filters matched as substring or regex-style patterns before Telegram approval routing is used. Use narrow patterns so Telegram approvals only appear for intended sessions."
517
+ },
518
+ "execApprovals.target": {
519
+ label: "Telegram Exec Approval Target",
520
+ help: "Controls where Telegram approval prompts are sent: \"dm\" sends to approver DMs (default), \"channel\" sends to the originating Telegram chat/topic, and \"both\" sends to both. Channel delivery exposes the command text to the chat, so only use it in trusted groups/topics."
521
+ },
522
+ "threadBindings.enabled": {
523
+ label: "Telegram Thread Binding Enabled",
524
+ help: "Enable Telegram conversation binding features (/focus, /unfocus, /agents, and /session idle|max-age). Overrides session.threadBindings.enabled when set."
525
+ },
526
+ "threadBindings.idleHours": {
527
+ label: "Telegram Thread Binding Idle Timeout (hours)",
528
+ help: "Inactivity window in hours for Telegram bound sessions. Set 0 to disable idle auto-unfocus (default: 24). Overrides session.threadBindings.idleHours when set."
529
+ },
530
+ "threadBindings.maxAgeHours": {
531
+ label: "Telegram Thread Binding Max Age (hours)",
532
+ help: "Optional hard max age in hours for Telegram bound sessions. Set 0 to disable hard cap (default: 0). Overrides session.threadBindings.maxAgeHours when set."
533
+ },
534
+ "threadBindings.spawnSessions": {
535
+ label: "Telegram Thread-Bound Session Spawn",
536
+ help: "Allow sessions_spawn(thread=true) and ACP thread spawns to auto-bind Telegram current conversations when supported."
537
+ },
538
+ "threadBindings.defaultSpawnContext": {
539
+ label: "Telegram Thread Spawn Context",
540
+ help: "Default native subagent context for thread-bound spawns. \"fork\" starts from the requester transcript; \"isolated\" starts clean. Default: \"fork\"."
541
+ }
542
+ } });
543
+ //#endregion
544
+ //#region extensions/telegram/src/doctor.ts
545
+ function asObjectRecord(value) {
546
+ return value && typeof value === "object" && !Array.isArray(value) ? value : null;
547
+ }
548
+ function sanitizeForLog(value) {
549
+ return value.replace(/\p{Cc}+/gu, " ").trim();
550
+ }
551
+ function hasAllowFromEntries(values) {
552
+ return Array.isArray(values) && values.some((entry) => normalizeOptionalString(String(entry)));
553
+ }
554
+ function collectTelegramAccountScopes(cfg) {
555
+ const scopes = [];
556
+ const telegram = asObjectRecord(cfg.channels?.telegram);
557
+ if (!telegram) return scopes;
558
+ scopes.push({
559
+ prefix: "channels.telegram",
560
+ pathSegments: ["channels", "telegram"],
561
+ account: telegram
562
+ });
563
+ const accounts = asObjectRecord(telegram.accounts);
564
+ if (!accounts) return scopes;
565
+ for (const key of Object.keys(accounts)) {
566
+ const account = asObjectRecord(accounts[key]);
567
+ if (account) scopes.push({
568
+ prefix: `channels.telegram.accounts.${key}`,
569
+ pathSegments: [
570
+ "channels",
571
+ "telegram",
572
+ "accounts",
573
+ key
574
+ ],
575
+ account
576
+ });
577
+ }
578
+ return scopes;
579
+ }
580
+ function collectTelegramAllowFromLists(prefix, account) {
581
+ const refs = [{
582
+ pathLabel: `${prefix}.allowFrom`,
583
+ holder: account,
584
+ key: "allowFrom"
585
+ }, {
586
+ pathLabel: `${prefix}.groupAllowFrom`,
587
+ holder: account,
588
+ key: "groupAllowFrom"
589
+ }];
590
+ const groups = asObjectRecord(account.groups);
591
+ if (!groups) return refs;
592
+ for (const groupId of Object.keys(groups)) {
593
+ const group = asObjectRecord(groups[groupId]);
594
+ if (!group) continue;
595
+ refs.push({
596
+ pathLabel: `${prefix}.groups.${groupId}.allowFrom`,
597
+ holder: group,
598
+ key: "allowFrom"
599
+ });
600
+ const topics = asObjectRecord(group.topics);
601
+ if (!topics) continue;
602
+ for (const topicId of Object.keys(topics)) {
603
+ const topic = asObjectRecord(topics[topicId]);
604
+ if (!topic) continue;
605
+ refs.push({
606
+ pathLabel: `${prefix}.groups.${groupId}.topics.${topicId}.allowFrom`,
607
+ holder: topic,
608
+ key: "allowFrom"
609
+ });
610
+ }
611
+ }
612
+ return refs;
613
+ }
614
+ function describeConfigValueType(value) {
615
+ if (Array.isArray(value)) return "array";
616
+ if (value === null) return "null";
617
+ return typeof value;
618
+ }
619
+ function scanTelegramMalformedGroupsConfig(cfg) {
620
+ const hits = [];
621
+ for (const scope of collectTelegramAccountScopes(cfg)) {
622
+ if (!Object.prototype.hasOwnProperty.call(scope.account, "groups")) continue;
623
+ const groups = scope.account.groups;
624
+ if (asObjectRecord(groups)) continue;
625
+ hits.push({
626
+ path: `${scope.prefix}.groups`,
627
+ actualType: describeConfigValueType(groups)
628
+ });
629
+ }
630
+ return hits;
631
+ }
632
+ function collectTelegramMalformedGroupsWarnings(params) {
633
+ if (params.hits.length === 0) return [];
634
+ const sample = params.hits[0] ?? {
635
+ path: "channels.telegram.groups",
636
+ actualType: "unknown"
637
+ };
638
+ return [`- ${sanitizeForLog(sample.path)} has invalid Telegram groups shape (${sanitizeForLog(sample.actualType)}); expected an object map keyed by Telegram group/chat id, not an array, string, or null.`, `- Example shape: channels.telegram.groups."-1001234567890".topics."99" = { agentId: "support" }. Use topics for forum-topic routing, then rerun ${params.doctorFixCommand} for any remaining Telegram config cleanup.`];
639
+ }
640
+ function scanTelegramInvalidAllowFromEntries(cfg) {
641
+ const hits = [];
642
+ const scanList = (pathLabel, list) => {
643
+ if (!Array.isArray(list)) return;
644
+ for (const entry of list) {
645
+ const normalized = normalizeTelegramAllowFromEntry(entry);
646
+ if (!normalized || normalized === "*" || isNumericTelegramSenderUserId(normalized)) continue;
647
+ hits.push({
648
+ path: pathLabel,
649
+ entry: normalizeOptionalString(String(entry)) ?? ""
650
+ });
651
+ }
652
+ };
653
+ for (const scope of collectTelegramAccountScopes(cfg)) for (const ref of collectTelegramAllowFromLists(scope.prefix, scope.account)) scanList(ref.pathLabel, ref.holder[ref.key]);
654
+ return hits;
655
+ }
656
+ function collectTelegramInvalidAllowFromWarnings(params) {
657
+ if (params.hits.length === 0) return [];
658
+ const sampleEntry = sanitizeForLog(params.hits[0]?.entry ?? "@");
659
+ return [`- Telegram allowFrom contains ${params.hits.length} invalid sender entries (e.g. ${sampleEntry}); Telegram authorization requires positive numeric sender user IDs.`, `- Run "${params.doctorFixCommand}" to auto-resolve @username entries to numeric IDs (requires a Telegram bot token). Move negative chat IDs under channels.telegram.groups instead of allowFrom.`];
660
+ }
661
+ function scanTelegramBotEndpointApiRoots(cfg) {
662
+ const hits = [];
663
+ for (const scope of collectTelegramAccountScopes(cfg)) {
664
+ const value = scope.account.apiRoot;
665
+ if (typeof value !== "string" || !hasTelegramBotEndpointApiRoot(value)) continue;
666
+ hits.push({
667
+ path: `${scope.prefix}.apiRoot`,
668
+ pathSegments: [...scope.pathSegments, "apiRoot"],
669
+ value,
670
+ normalized: normalizeTelegramApiRoot(value)
671
+ });
672
+ }
673
+ return hits;
674
+ }
675
+ function collectTelegramApiRootWarnings(params) {
676
+ if (params.hits.length === 0) return [];
677
+ return [`- ${sanitizeForLog(params.hits[0]?.path ?? "channels.telegram.apiRoot")} points at a full Telegram bot endpoint; apiRoot must be the Bot API root only. This can make startup calls like deleteWebhook, deleteMyCommands, and setMyCommands fail with 404 even when direct curl commands work.`, `- Run "${params.doctorFixCommand}" to remove the trailing /bot<TOKEN> path from Telegram apiRoot.`];
678
+ }
679
+ function formatTelegramAccountConfigPath(cfg, accountId) {
680
+ const accounts = asObjectRecord(asObjectRecord(cfg.channels?.telegram)?.accounts);
681
+ if (!accounts || Object.keys(accounts).length === 0) return "channels.telegram";
682
+ return accountId === "default" ? "channels.telegram" : `channels.telegram.accounts.${accountId}`;
683
+ }
684
+ function scanTelegramSelectedQuoteToolProgressWarnings(cfg) {
685
+ if (!asObjectRecord(cfg.channels?.telegram)) return [];
686
+ return listTelegramAccountIds(cfg).flatMap((accountId) => {
687
+ const account = mergeTelegramAccountConfig(cfg, accountId);
688
+ const replyToMode = account.replyToMode ?? "off";
689
+ if (replyToMode === "off") return [];
690
+ if (resolveTelegramPreviewStreamMode(account) === "off") return [];
691
+ if ((resolveChannelStreamingBlockEnabled(account) ?? cfg.agents?.defaults?.blockStreamingDefault === "on") || !resolveChannelStreamingPreviewToolProgress(account)) return [];
692
+ return [{
693
+ path: formatTelegramAccountConfigPath(cfg, accountId),
694
+ replyToMode
695
+ }];
696
+ });
697
+ }
698
+ function collectTelegramSelectedQuoteToolProgressWarnings(params) {
699
+ if (params.hits.length === 0) return [];
700
+ const sample = params.hits[0] ?? {
701
+ path: "channels.telegram",
702
+ replyToMode: "first"
703
+ };
704
+ return [`- ${sanitizeForLog(sample.path)} has replyToMode: "${sanitizeForLog(sample.replyToMode)}" while Telegram preview tool-progress is enabled. Telegram selected quote replies must send the final answer through the native quote-reply path, so those turns skip the short "Working" tool-progress preview. Current-message replies without selected quote text still keep preview streaming.`, "- Set replyToMode: \"off\" when tool-progress preview matters more than native quote replies, or set streaming.preview.toolProgress: false to keep quote replies and silence this warning."];
705
+ }
706
+ function maybeRepairTelegramApiRoots(cfg) {
707
+ const hits = scanTelegramBotEndpointApiRoots(cfg);
708
+ if (hits.length === 0) return {
709
+ config: cfg,
710
+ changes: []
711
+ };
712
+ const next = structuredClone(cfg);
713
+ const apply = (path, normalized) => {
714
+ let target = next;
715
+ for (const segment of path.slice(0, -1)) {
716
+ target = asObjectRecord(target?.[segment]);
717
+ if (!target) return;
718
+ }
719
+ target[path[path.length - 1] ?? "apiRoot"] = normalized;
720
+ };
721
+ for (const hit of hits) apply(hit.pathSegments, hit.normalized);
722
+ return {
723
+ config: next,
724
+ changes: hits.map((hit) => `- ${sanitizeForLog(hit.path)}: removed trailing /bot<TOKEN> from Telegram apiRoot.`)
725
+ };
726
+ }
727
+ function collectTelegramMissingEnvTokenWarnings(params) {
728
+ if (resolveDefaultTelegramAccountId(params.cfg) !== "default") return [];
729
+ const account = inspectTelegramAccount({
730
+ cfg: params.cfg,
731
+ accountId: "default",
732
+ envToken: params.env?.TELEGRAM_BOT_TOKEN ?? ""
733
+ });
734
+ if (!account.enabled || account.tokenStatus !== "missing" || account.tokenSource !== "none") return [];
735
+ return ["- channels.telegram: default account has no available bot token, and TELEGRAM_BOT_TOKEN is absent in this doctor environment. After migration, verify TELEGRAM_BOT_TOKEN is present in the state-dir .env or configure channels.telegram.botToken / channels.telegram.accounts.default.botToken as a SecretRef."];
736
+ }
737
+ async function repairTelegramConfig(params) {
738
+ const apiRootRepair = maybeRepairTelegramApiRoots(params.cfg);
739
+ const allowFromRepair = await maybeRepairTelegramAllowFromUsernames(apiRootRepair.config);
740
+ return {
741
+ config: allowFromRepair.config,
742
+ changes: [...apiRootRepair.changes, ...allowFromRepair.changes]
743
+ };
744
+ }
745
+ async function maybeRepairTelegramAllowFromUsernames(cfg) {
746
+ const hits = scanTelegramInvalidAllowFromEntries(cfg);
747
+ if (hits.length === 0) return {
748
+ config: cfg,
749
+ changes: []
750
+ };
751
+ if (hits.filter((hit) => {
752
+ const normalized = normalizeTelegramAllowFromEntry(hit.entry);
753
+ return normalized.length > 0 && !/\s/.test(normalized) && !normalized.startsWith("-");
754
+ }).length === 0) return {
755
+ config: cfg,
756
+ changes: hits.slice(0, 5).map((hit) => `- ${sanitizeForLog(hit.path)}: invalid sender entry ${sanitizeForLog(hit.entry)}; allowFrom requires positive numeric Telegram user IDs. Move group chat IDs under channels.telegram.groups.`)
757
+ };
758
+ const { getChannelsCommandSecretTargetIds, resolveCommandSecretRefsViaGateway } = await import("./plugin-sdk/runtime.js");
759
+ const { resolvedConfig } = await resolveCommandSecretRefsViaGateway({
760
+ config: cfg,
761
+ commandName: "doctor --fix",
762
+ targetIds: getChannelsCommandSecretTargetIds(),
763
+ mode: "read_only_status"
764
+ });
765
+ const tokenResolutionWarnings = [];
766
+ const resolverAccountIds = [];
767
+ let sawConfiguredUnavailableToken = false;
768
+ for (const accountId of listTelegramAccountIds(resolvedConfig)) {
769
+ let inspected;
770
+ try {
771
+ inspected = inspectTelegramAccount({
772
+ cfg: resolvedConfig,
773
+ accountId
774
+ });
775
+ } catch (error) {
776
+ tokenResolutionWarnings.push(`- Telegram account ${accountId}: failed to inspect bot token (${formatErrorMessage(error)}).`);
777
+ continue;
778
+ }
779
+ if (inspected.tokenStatus === "configured_unavailable") {
780
+ sawConfiguredUnavailableToken = true;
781
+ tokenResolutionWarnings.push(`- Telegram account ${accountId}: failed to inspect bot token (configured but unavailable in this command path).`);
782
+ }
783
+ if (inspected.tokenSource === "none" ? "" : normalizeOptionalString(inspected.token) ?? "") resolverAccountIds.push(accountId);
784
+ }
785
+ if (resolverAccountIds.length === 0) return {
786
+ config: cfg,
787
+ changes: [...tokenResolutionWarnings, sawConfiguredUnavailableToken ? "- Telegram allowFrom contains @username entries, but configured Telegram bot credentials are unavailable in this command path; cannot auto-resolve." : "- Telegram allowFrom contains @username entries, but no Telegram bot token is available in this command path; cannot auto-resolve."]
788
+ };
789
+ const resolveUserId = async (raw) => {
790
+ const trimmed = normalizeOptionalString(raw) ?? "";
791
+ if (!trimmed) return null;
792
+ const normalized = normalizeTelegramAllowFromEntry(trimmed);
793
+ if (!normalized || normalized === "*") return null;
794
+ if (isNumericTelegramSenderUserId(normalized) || /\s/.test(normalized)) return isNumericTelegramSenderUserId(normalized) ? normalized : null;
795
+ const username = normalized.startsWith("@") ? normalized : `@${normalized}`;
796
+ for (const accountId of resolverAccountIds) try {
797
+ const account = resolveTelegramAccount({
798
+ cfg: resolvedConfig,
799
+ accountId
800
+ });
801
+ const token = account.token.trim();
802
+ if (!token) continue;
803
+ const id = await lookupTelegramChatId({
804
+ token,
805
+ chatId: username,
806
+ network: account.config.network,
807
+ signal: void 0
808
+ });
809
+ if (id) return id;
810
+ } catch {}
811
+ return null;
812
+ };
813
+ const next = structuredClone(cfg);
814
+ const changes = [];
815
+ const repairList = async (pathLabel, holder, key) => {
816
+ const raw = holder[key];
817
+ if (!Array.isArray(raw)) return;
818
+ const out = [];
819
+ const replaced = [];
820
+ for (const entry of raw) {
821
+ const normalized = normalizeTelegramAllowFromEntry(entry);
822
+ if (!normalized) continue;
823
+ if (normalized === "*" || isNumericTelegramSenderUserId(normalized)) {
824
+ out.push(normalized);
825
+ continue;
826
+ }
827
+ const resolved = await resolveUserId(String(entry));
828
+ if (resolved) {
829
+ out.push(resolved);
830
+ replaced.push({
831
+ from: normalizeOptionalString(String(entry)) ?? "",
832
+ to: resolved
833
+ });
834
+ } else out.push(normalizeOptionalString(String(entry)) ?? "");
835
+ }
836
+ const deduped = [];
837
+ const seen = /* @__PURE__ */ new Set();
838
+ for (const entry of out) {
839
+ const keyValue = normalizeOptionalString(String(entry)) ?? "";
840
+ if (!keyValue || seen.has(keyValue)) continue;
841
+ seen.add(keyValue);
842
+ deduped.push(entry);
843
+ }
844
+ holder[key] = deduped;
845
+ for (const replacement of replaced.slice(0, 5)) changes.push(`- ${sanitizeForLog(pathLabel)}: resolved ${sanitizeForLog(replacement.from)} -> ${sanitizeForLog(replacement.to)}`);
846
+ if (replaced.length > 5) changes.push(`- ${sanitizeForLog(pathLabel)}: resolved ${replaced.length - 5} more @username entries`);
847
+ };
848
+ for (const scope of collectTelegramAccountScopes(next)) for (const ref of collectTelegramAllowFromLists(scope.prefix, scope.account)) await repairList(ref.pathLabel, ref.holder, ref.key);
849
+ if (changes.length === 0) return {
850
+ config: cfg,
851
+ changes: []
852
+ };
853
+ return {
854
+ config: next,
855
+ changes
856
+ };
857
+ }
858
+ function hasConfiguredGroups(account, parent) {
859
+ const groups = asObjectRecord(account.groups) ?? asObjectRecord(parent?.groups);
860
+ return Boolean(groups) && Object.keys(groups ?? {}).length > 0;
861
+ }
862
+ function collectTelegramGroupPolicyWarnings(params) {
863
+ if (!hasConfiguredGroups(params.account, params.parent)) {
864
+ const effectiveDmPolicy = params.dmPolicy ?? "pairing";
865
+ const dmSetupLine = effectiveDmPolicy === "pairing" ? "DMs use pairing mode, so new senders must start a chat and be approved before regular messages are accepted." : effectiveDmPolicy === "allowlist" ? `DMs use allowlist mode, so only sender IDs in ${params.prefix}.allowFrom are accepted.` : effectiveDmPolicy === "open" ? "DMs are open." : "DMs are disabled.";
866
+ return [`- ${params.prefix}: Telegram is in first-time setup mode. ${dmSetupLine} Group messages stay blocked until you add allowed chats under ${params.prefix}.groups (and optional sender IDs under ${params.prefix}.groupAllowFrom), or set ${params.prefix}.groupPolicy to "open" if you want broad group access.`];
867
+ }
868
+ const rawGroupAllowFrom = params.account.groupAllowFrom ?? params.parent?.groupAllowFrom;
869
+ if (hasAllowFromEntries((hasAllowFromEntries(rawGroupAllowFrom) ? rawGroupAllowFrom : void 0) ?? params.effectiveAllowFrom)) return [];
870
+ return [`- ${params.prefix}.groupPolicy is "allowlist" but groupAllowFrom (and allowFrom) is empty — all group messages will be silently dropped. Add sender IDs to ${params.prefix}.groupAllowFrom or ${params.prefix}.allowFrom, or set ${params.prefix}.groupPolicy to "open".`];
871
+ }
872
+ function collectTelegramEmptyAllowlistExtraWarnings(params) {
873
+ const account = params.account;
874
+ const parent = params.parent;
875
+ return params.channelName === "telegram" && (account.groupPolicy ?? parent?.groupPolicy ?? void 0) === "allowlist" ? collectTelegramGroupPolicyWarnings({
876
+ account,
877
+ dmPolicy: params.dmPolicy,
878
+ effectiveAllowFrom: params.effectiveAllowFrom,
879
+ parent,
880
+ prefix: params.prefix
881
+ }) : [];
882
+ }
883
+ const telegramDoctor = {
884
+ legacyConfigRules,
885
+ normalizeCompatibilityConfig,
886
+ collectPreviewWarnings: ({ cfg, doctorFixCommand, env }) => [
887
+ ...collectTelegramMissingEnvTokenWarnings({
888
+ cfg,
889
+ env
890
+ }),
891
+ ...collectTelegramMalformedGroupsWarnings({
892
+ hits: scanTelegramMalformedGroupsConfig(cfg),
893
+ doctorFixCommand
894
+ }),
895
+ ...collectTelegramInvalidAllowFromWarnings({
896
+ hits: scanTelegramInvalidAllowFromEntries(cfg),
897
+ doctorFixCommand
898
+ }),
899
+ ...collectTelegramApiRootWarnings({
900
+ hits: scanTelegramBotEndpointApiRoots(cfg),
901
+ doctorFixCommand
902
+ }),
903
+ ...collectTelegramSelectedQuoteToolProgressWarnings({ hits: scanTelegramSelectedQuoteToolProgressWarnings(cfg) })
904
+ ],
905
+ repairConfig: async ({ cfg }) => await repairTelegramConfig({ cfg }),
906
+ collectEmptyAllowlistExtraWarnings: collectTelegramEmptyAllowlistExtraWarnings,
907
+ shouldSkipDefaultEmptyGroupAllowlistWarning: (params) => params.channelName === "telegram"
908
+ };
909
+ //#endregion
910
+ //#region extensions/telegram/src/shared.ts
911
+ const TELEGRAM_CHANNEL = "telegram";
912
+ function findTelegramTokenOwnerAccountId(params) {
913
+ const normalizedAccountId = normalizeAccountId(params.accountId);
914
+ const tokenOwners = /* @__PURE__ */ new Map();
915
+ for (const id of listTelegramAccountIds(params.cfg)) {
916
+ const account = inspectTelegramAccount({
917
+ cfg: params.cfg,
918
+ accountId: id
919
+ });
920
+ const token = (account.token ?? "").trim();
921
+ if (!token) continue;
922
+ const ownerAccountId = tokenOwners.get(token);
923
+ if (!ownerAccountId) {
924
+ tokenOwners.set(token, account.accountId);
925
+ continue;
926
+ }
927
+ if (account.accountId === normalizedAccountId) return ownerAccountId;
928
+ }
929
+ return null;
930
+ }
931
+ function formatDuplicateTelegramTokenReason(params) {
932
+ return `Duplicate Telegram bot token: account "${params.accountId}" shares a token with account "${params.ownerAccountId}". Keep one owner account per bot token.`;
933
+ }
934
+ /**
935
+ * Returns true when the runtime token resolver (`resolveTelegramToken`) would
936
+ * block channel-level fallthrough for the given accountId. This mirrors the
937
+ * guard in `token.ts` so that status-check functions (`isConfigured`,
938
+ * `unconfiguredReason`, `describeAccount`) stay consistent with the gateway
939
+ * runtime behaviour.
940
+ *
941
+ * The guard fires when:
942
+ * 1. The accountId is not the default account, AND
943
+ * 2. The config has an explicit `accounts` section with entries, AND
944
+ * 3. The accountId is not found in that `accounts` section.
945
+ *
946
+ * See: https://github.com/openclaw/openclaw/issues/53876
947
+ */
948
+ function isBlockedByMultiBotGuard(cfg, accountId) {
949
+ if (normalizeAccountId(accountId) === "default") return false;
950
+ const accounts = cfg.channels?.telegram?.accounts;
951
+ if (!(!!accounts && typeof accounts === "object" && !Array.isArray(accounts) && Object.keys(accounts).length > 0)) return false;
952
+ return !resolveNormalizedAccountEntry(accounts, accountId, normalizeAccountId);
953
+ }
954
+ function resolveTelegramConfigAccessorAccount(params) {
955
+ const accountId = normalizeAccountId(params.accountId ?? resolveDefaultTelegramAccountId(params.cfg));
956
+ return { config: mergeTelegramAccountConfig(params.cfg, accountId) };
957
+ }
958
+ const telegramConfigAdapter = createScopedChannelConfigAdapter({
959
+ sectionKey: TELEGRAM_CHANNEL,
960
+ listAccountIds: listTelegramAccountIds,
961
+ resolveAccount: adaptScopedAccountAccessor(resolveTelegramAccount),
962
+ resolveAccessorAccount: resolveTelegramConfigAccessorAccount,
963
+ inspectAccount: adaptScopedAccountAccessor(inspectTelegramAccount),
964
+ defaultAccountId: resolveDefaultTelegramAccountId,
965
+ clearBaseFields: [
966
+ "botToken",
967
+ "tokenFile",
968
+ "name"
969
+ ],
970
+ resolveAllowFrom: (account) => account.config.allowFrom,
971
+ formatAllowFrom: (allowFrom) => formatAllowFromLowercase({
972
+ allowFrom,
973
+ stripPrefixRe: /^(telegram|tg):/i
974
+ }),
975
+ resolveDefaultTo: (account) => account.config.defaultTo
976
+ });
977
+ function createTelegramPluginBase(params) {
978
+ return {
979
+ ...createChannelPluginBase({
980
+ id: TELEGRAM_CHANNEL,
981
+ meta: {
982
+ ...getChatChannelMeta(TELEGRAM_CHANNEL),
983
+ quickstartAllowFrom: true
984
+ },
985
+ setupWizard: params.setupWizard,
986
+ capabilities: {
987
+ chatTypes: [
988
+ "direct",
989
+ "group",
990
+ "channel",
991
+ "thread"
992
+ ],
993
+ reactions: true,
994
+ threads: true,
995
+ media: true,
996
+ tts: { voice: { synthesisTarget: "voice-note" } },
997
+ polls: true,
998
+ nativeCommands: true,
999
+ blockStreaming: true
1000
+ },
1001
+ commands: {
1002
+ nativeCommandsAutoEnabled: true,
1003
+ nativeSkillsAutoEnabled: true,
1004
+ buildCommandsListChannelData: buildTelegramCommandsListChannelData,
1005
+ buildModelsMenuChannelData: buildTelegramModelsMenuChannelData,
1006
+ buildModelsProviderChannelData: buildTelegramModelsProviderChannelData,
1007
+ buildModelsAddProviderChannelData: buildTelegramModelsAddProviderChannelData,
1008
+ buildModelsListChannelData: buildTelegramModelsListChannelData,
1009
+ buildModelBrowseChannelData: buildTelegramModelBrowseChannelData
1010
+ },
1011
+ doctor: telegramDoctor,
1012
+ security: telegramSecurityAdapter,
1013
+ reload: { configPrefixes: ["channels.telegram"] },
1014
+ configSchema: TelegramChannelConfigSchema,
1015
+ config: {
1016
+ ...telegramConfigAdapter,
1017
+ hasConfiguredState: ({ env }) => typeof env?.TELEGRAM_BOT_TOKEN === "string" && env.TELEGRAM_BOT_TOKEN.trim().length > 0,
1018
+ isConfigured: (account, cfg) => {
1019
+ if (isBlockedByMultiBotGuard(cfg, account.accountId)) return false;
1020
+ if (!inspectTelegramAccount({
1021
+ cfg,
1022
+ accountId: account.accountId
1023
+ }).token?.trim()) return false;
1024
+ return !findTelegramTokenOwnerAccountId({
1025
+ cfg,
1026
+ accountId: account.accountId
1027
+ });
1028
+ },
1029
+ unconfiguredReason: (account, cfg) => {
1030
+ if (isBlockedByMultiBotGuard(cfg, account.accountId)) return `not configured: unknown accountId "${account.accountId}" in multi-bot setup`;
1031
+ const inspected = inspectTelegramAccount({
1032
+ cfg,
1033
+ accountId: account.accountId
1034
+ });
1035
+ if (!inspected.token?.trim()) {
1036
+ if (inspected.tokenStatus === "configured_unavailable") return `not configured: token ${inspected.tokenSource} is configured but unavailable`;
1037
+ return "not configured";
1038
+ }
1039
+ const ownerAccountId = findTelegramTokenOwnerAccountId({
1040
+ cfg,
1041
+ accountId: account.accountId
1042
+ });
1043
+ if (!ownerAccountId) return "not configured";
1044
+ return formatDuplicateTelegramTokenReason({
1045
+ accountId: account.accountId,
1046
+ ownerAccountId
1047
+ });
1048
+ },
1049
+ describeAccount: (account, cfg) => {
1050
+ if (isBlockedByMultiBotGuard(cfg, account.accountId)) return {
1051
+ accountId: account.accountId,
1052
+ name: account.name,
1053
+ enabled: account.enabled,
1054
+ configured: false,
1055
+ tokenSource: "none"
1056
+ };
1057
+ const inspected = inspectTelegramAccount({
1058
+ cfg,
1059
+ accountId: account.accountId
1060
+ });
1061
+ return {
1062
+ accountId: account.accountId,
1063
+ name: account.name,
1064
+ enabled: account.enabled,
1065
+ configured: !!inspected.token?.trim() && !findTelegramTokenOwnerAccountId({
1066
+ cfg,
1067
+ accountId: account.accountId
1068
+ }),
1069
+ tokenSource: inspected.tokenSource
1070
+ };
1071
+ }
1072
+ },
1073
+ setup: {
1074
+ ...params.setup,
1075
+ namedAccountPromotionKeys,
1076
+ singleAccountKeysToMove
1077
+ }
1078
+ }),
1079
+ secrets: {
1080
+ secretTargetRegistryEntries,
1081
+ collectRuntimeConfigAssignments
1082
+ }
1083
+ };
1084
+ }
1085
+ //#endregion
1086
+ //#region extensions/telegram/src/channel.setup.ts
1087
+ const telegramSetupPlugin = {
1088
+ ...createTelegramPluginBase({
1089
+ setupWizard: telegramSetupWizard,
1090
+ setup: telegramSetupAdapter
1091
+ }),
1092
+ lifecycle: { detectLegacyStateMigrations: ({ cfg, env }) => detectTelegramLegacyStateMigrations({
1093
+ cfg,
1094
+ env
1095
+ }) }
1096
+ };
1097
+ //#endregion
1098
+ export { telegramConfigAdapter as a, telegramSecurityAdapter as c, resolveTelegramChatLookupFetch as d, formatDuplicateTelegramTokenReason as i, fetchTelegramChatId as l, createTelegramPluginBase as n, telegramSetupWizard as o, findTelegramTokenOwnerAccountId as r, telegramSetupAdapter as s, telegramSetupPlugin as t, lookupTelegramChatId as u };