@gaodefa/daocore 2026.5.101 → 2026.5.102

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 (1633) hide show
  1. package/dist/abort-DsyCSyVC.js +277 -0
  2. package/dist/abort.runtime-DEERpQdk.js +2 -0
  3. package/dist/abort.runtime.js +1 -1
  4. package/dist/account-inspect-CL8uzSvf.js +173 -0
  5. package/dist/accounts-Bgt5_Ydb.js +2 -0
  6. package/dist/accounts-CQo-qQ47.js +107 -0
  7. package/dist/accounts-DVNnZJyH.js +119 -0
  8. package/dist/accounts-S5g-kF9d.js +107 -0
  9. package/dist/acp-runtime-GeRygotx.js +26 -0
  10. package/dist/acp-spawn-CKSVbmkr.js +2 -0
  11. package/dist/acp-spawn-yap16Z_a.js +1275 -0
  12. package/dist/acp-stateful-target-driver-CBVFwpd0.js +89 -0
  13. package/dist/action-kill-CYh1aLGP.js +33 -0
  14. package/dist/action-runtime-C5UmRnmL.js +469 -0
  15. package/dist/action-runtime-api-BZBYhy85.js +2 -0
  16. package/dist/action-send-zcMSwSaq.js +39 -0
  17. package/dist/action-spawn-2gFhSeup.js +47 -0
  18. package/dist/actions-CQykuLNe.js +161 -0
  19. package/dist/actions.runtime-DiPZrVfJ.js +5 -0
  20. package/dist/agent-B7y-KQP2.js +3 -0
  21. package/dist/agent-DQyD_z5J.js +2 -0
  22. package/dist/agent-command-22YjMSTH.js +1367 -0
  23. package/dist/agent-components.runtime-RWsAhzoo.js +10 -0
  24. package/dist/agent-components.runtime.js +1 -1
  25. package/dist/agent-harness-Bt_1zRJ1.d.ts +146 -0
  26. package/dist/agent-harness-runtime-CsWVHhWd.d.ts +691 -0
  27. package/dist/agent-harness-runtime-D1W7mVQ_.js +180 -0
  28. package/dist/agent-harness-task-runtime-CqdouGP4.js +140 -0
  29. package/dist/agent-runner-execution-By56LBMp.js +1713 -0
  30. package/dist/agent-runner-utils-DG9ici8P.js +266 -0
  31. package/dist/agent-runner.runtime-Zqh2QWy_.js +3455 -0
  32. package/dist/agent-runner.runtime.js +1 -1
  33. package/dist/agent-runtime-tiKMBgwk.js +229 -0
  34. package/dist/agent-via-gateway-CrmLOheA.js +463 -0
  35. package/dist/agents/pi-embedded-runner/tool-split.d.ts +1 -1
  36. package/dist/api-BLVZ_I8e.js +639 -0
  37. package/dist/api-BLkHQRTZ.js +6 -0
  38. package/dist/api-CIBLf1l1.js +134 -0
  39. package/dist/api-D5uGvU4G.d.ts +52 -0
  40. package/dist/api-DZ6qXR1_.js +2 -0
  41. package/dist/api-PICyNaKK.js +3 -0
  42. package/dist/api-o-qNanw3.js +2 -0
  43. package/dist/apply-B1dJSSeA.js +54 -0
  44. package/dist/apply-Dp4wUhH0.js +41 -0
  45. package/dist/approval-handler.runtime-DXlEPs-N.js +130 -0
  46. package/dist/assistant-CKoGbZ__.js +291 -0
  47. package/dist/attachment-normalize-D0RdYCRv.js +225 -0
  48. package/dist/attempt-execution-DvbnEFlY.js +558 -0
  49. package/dist/attempt-execution.runtime-Ba1NyGIL.js +3 -0
  50. package/dist/attempt-execution.runtime.js +1 -1
  51. package/dist/attempt-execution.shared-26gnnihB.js +38 -0
  52. package/dist/attempt.prompt-helpers-CL5oNe6j.js +475 -0
  53. package/dist/attempt.tool-run-context-Dc0NAdrP.js +2094 -0
  54. package/dist/binding-routing-_3dHMfB5.js +113 -0
  55. package/dist/binding-targets-yvEt81tc.js +121 -0
  56. package/dist/bot-DHwjnnce.js +7894 -0
  57. package/dist/bot-deps-F1y53WCq.js +747 -0
  58. package/dist/bot-deps-IuLG6gK0.js +2 -0
  59. package/dist/bot-message-context.runtime-B7S963Vl.js +7 -0
  60. package/dist/bot-message-context.runtime.js +1 -1
  61. package/dist/bot-message-context.session.runtime-Bg0g4wFw.js +12 -0
  62. package/dist/bot-message-context.session.runtime.js +1 -1
  63. package/dist/bot-native-commands.delivery.runtime-Co6EaR_D.js +4 -0
  64. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  65. package/dist/bot-native-commands.runtime-BdfLa0ee.js +13 -0
  66. package/dist/bot-native-commands.runtime.js +1 -1
  67. package/dist/bridge-server-ulcUw7V2.js +113 -0
  68. package/dist/browser-cli-DyccL1TJ.js +2 -0
  69. package/dist/browser-cli-UE7kZvVE.js +230 -0
  70. package/dist/browser-cli-actions-input-ZunBrjt7.js +473 -0
  71. package/dist/browser-cli-actions-observe-CwkO3dF0.js +81 -0
  72. package/dist/browser-cli-debug-Ba_ddwvw.js +137 -0
  73. package/dist/browser-cli-inspect-De_6PQUT.js +104 -0
  74. package/dist/browser-cli-manage-CxlFHkIc.js +443 -0
  75. package/dist/browser-cli-resize-Gx7GaxQp.js +26 -0
  76. package/dist/browser-cli-shared-DltASGwj.js +50 -0
  77. package/dist/browser-cli-state-BHR9Ex5d.js +337 -0
  78. package/dist/browser-control-auth-DgyDL-bs.js +2 -0
  79. package/dist/browser-profiles-Ch9pRi_Q.js +2 -0
  80. package/dist/browser-runtime-CdoVviD5.js +384 -0
  81. package/dist/build-info.json +3 -3
  82. package/dist/build-oKF-ZG5r.js +257 -0
  83. package/dist/bundled/boot-md/handler.js +2 -2
  84. package/dist/bundled/session-memory/handler.js +1 -1
  85. package/dist/call-DY6_VEa_.d.ts +43 -0
  86. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  87. package/dist/capability-cli-CoH2pG50.js +1782 -0
  88. package/dist/channel-B0dtLI6U.d.ts +49 -0
  89. package/dist/channel-B2MLRCOm.d.ts +106 -0
  90. package/dist/channel-B4XBSqBl.d.ts +7 -0
  91. package/dist/channel-B5pxLaR4.js +562 -0
  92. package/dist/channel-BJOfc4gj.js +362 -0
  93. package/dist/channel-BlF4kjwc.js +955 -0
  94. package/dist/channel-BmRydArV.js +1496 -0
  95. package/dist/channel-Bq3wyp3c.d.ts +8 -0
  96. package/dist/channel-BwFH7QaF.js +481 -0
  97. package/dist/channel-C1AEDysJ.d.ts +47 -0
  98. package/dist/channel-C5L5k0mY.js +808 -0
  99. package/dist/channel-C6Q62bb4.js +867 -0
  100. package/dist/channel-CEH1dfVt.d.ts +12 -0
  101. package/dist/channel-CQJHudhH.d.ts +114 -0
  102. package/dist/channel-CQM44SMd.js +1134 -0
  103. package/dist/channel-CQrOjZN4.js +2126 -0
  104. package/dist/channel-CUu3R9QU.d.ts +14 -0
  105. package/dist/channel-CsdkcuzU.d.ts +7 -0
  106. package/dist/channel-Czs81UUj.d.ts +427 -0
  107. package/dist/channel-D-QJ4LSf.d.ts +28 -0
  108. package/dist/channel-D07QdL-Z.d.ts +8 -0
  109. package/dist/channel-D1AKh1-N.d.ts +6 -0
  110. package/dist/channel-D4Ev5yVJ.js +740 -0
  111. package/dist/channel-D5A1NIp0.js +653 -0
  112. package/dist/channel-DECcAIqn.d.ts +104 -0
  113. package/dist/channel-DRNh__I8.js +238 -0
  114. package/dist/channel-DZW76PDC.d.ts +8 -0
  115. package/dist/channel-DwSP9REc.d.ts +64 -0
  116. package/dist/channel-DzPV5ra2.js +1777 -0
  117. package/dist/channel-HOuNKMYc.js +1249 -0
  118. package/dist/channel-LKyGksmz.d.ts +26 -0
  119. package/dist/channel-UvBbY6dI.js +508 -0
  120. package/dist/channel-_aAvzyQP.js +1556 -0
  121. package/dist/channel-actions.runtime-Dj8JkZJk.js +265 -0
  122. package/dist/channel-actions.runtime.js +1 -1
  123. package/dist/channel-core-DGEjhkoX.js +5 -0
  124. package/dist/channel-core-DshTARNf.d.ts +6 -0
  125. package/dist/channel-entry-contract-DpdwxgOw.d.ts +112 -0
  126. package/dist/channel-gwmyzGDr.js +376 -0
  127. package/dist/channel-inbound-DE_fYNUL.js +80 -0
  128. package/dist/channel-plugin-runtime-CS0_tyOZ.d.ts +7 -0
  129. package/dist/channel-plugin-runtime-Cf3_PG3J.js +998 -0
  130. package/dist/channel-runtime-D8mkLzCD.js +408 -0
  131. package/dist/channel.runtime-BLL7lqvt.js +88 -0
  132. package/dist/channel.runtime-BVSL8Q2u.js +652 -0
  133. package/dist/channel.runtime-BdS1zp70.js +254 -0
  134. package/dist/channel.runtime-Bv4Eu7Q_.js +4 -0
  135. package/dist/channel.runtime-CMfe2im-.js +733 -0
  136. package/dist/channel.runtime-CszkgKrF.js +109 -0
  137. package/dist/channel.runtime-DWAO6UEC.js +1008 -0
  138. package/dist/channel.runtime-DzrUwGnW.js +2528 -0
  139. package/dist/channel.runtime-R6_H3SJL.js +21009 -0
  140. package/dist/channel.setup-B03MiH5Q.d.ts +6 -0
  141. package/dist/channel.setup-ByuZMttY.d.ts +8 -0
  142. package/dist/channel.setup-CHD3f_av.js +10 -0
  143. package/dist/channel.setup-CIlbvWjW.d.ts +7 -0
  144. package/dist/channel.setup-CZwjktsi.js +1098 -0
  145. package/dist/channel.setup-DKlEbX0g.js +343 -0
  146. package/dist/chat-DExou3oM.js +2666 -0
  147. package/dist/chrome-CmXEGKBh.js +1503 -0
  148. package/dist/cli/run-main.js +5 -5
  149. package/dist/cli-D9ePsnEK.js +1341 -0
  150. package/dist/cli-backend-Dg9IEgrP.d.ts +5 -0
  151. package/dist/cli-backend-DwmYGZX7.d.ts +5 -0
  152. package/dist/cli-compaction-B4vojbKu.js +347 -0
  153. package/dist/cli-metadata-BTLGHriZ.js +22 -0
  154. package/dist/cli-pk6gIQfi.d.ts +20 -0
  155. package/dist/cli-runner-CVnRUcUB.js +540 -0
  156. package/dist/cli-runner-CqTnQ_Bo.js +2 -0
  157. package/dist/cli-runner.runtime-C-FmuI9N.js +4 -0
  158. package/dist/cli-runner.runtime-z-JPk7gs.js +3 -0
  159. package/dist/cli-runner.runtime.js +1 -1
  160. package/dist/cli-shared-C_4_xNC-.d.ts +20 -0
  161. package/dist/cli-startup-metadata.json +8 -8
  162. package/dist/client-COV-keaX.js +650 -0
  163. package/dist/client-adapter-CrwgxNJx.js +897 -0
  164. package/dist/client-factory-ClVG6wJp.js +9 -0
  165. package/dist/command-auth-DtUf6Eml.js +135 -0
  166. package/dist/command-handlers-DcrpZTr0.js +1609 -0
  167. package/dist/command-registry--rMiIV9q.js +9 -0
  168. package/dist/command-registry-Dpbh_TSE.js +4 -0
  169. package/dist/command-registry-core-DcG6RmnP.js +110 -0
  170. package/dist/command-status.runtime-D3lPiGFE.js +90 -0
  171. package/dist/command-status.runtime.js +1 -1
  172. package/dist/commands-CLbV1tFt.d.ts +113 -0
  173. package/dist/commands-acp-D6XDmBpQ.js +74 -0
  174. package/dist/commands-compact.runtime-6Pj81e2l.js +10 -0
  175. package/dist/commands-compact.runtime.js +1 -1
  176. package/dist/commands-handlers.runtime-DFcSsqYK.js +6154 -0
  177. package/dist/commands-handlers.runtime.js +1 -1
  178. package/dist/commands-status-DvfISlXV.js +3 -0
  179. package/dist/commands-status-KekcJU69.js +16 -0
  180. package/dist/commands-status.runtime-DvfISlXV.js +3 -0
  181. package/dist/commands-status.runtime.js +1 -1
  182. package/dist/commands-subagents-control.runtime-8LlhAZ6m.js +2 -0
  183. package/dist/commands-subagents-control.runtime-DIouzom4.js +3 -0
  184. package/dist/commands-subagents-control.runtime.js +1 -1
  185. package/dist/commands-system-prompt-B87mO_Ku.js +2 -0
  186. package/dist/commands-system-prompt-BwzIsby2.js +162 -0
  187. package/dist/commands.runtime-C7dmifj0.js +176 -0
  188. package/dist/commands.runtime.js +1 -1
  189. package/dist/commitments/runtime.js +1 -1
  190. package/dist/compact-Dq-Zvche.js +1141 -0
  191. package/dist/compact-TIeLElCP.js +480 -0
  192. package/dist/compact.runtime-DOEWSnJ8.js +12 -0
  193. package/dist/compact.runtime.js +1 -1
  194. package/dist/completion-cli-BxZKBNTa.js +315 -0
  195. package/dist/computer-use-DYAHO5se.js +367 -0
  196. package/dist/config-44zT6gMh.js +373 -0
  197. package/dist/config-Ch9pRi_Q.js +2 -0
  198. package/dist/config-mutations-DHKCGKJh.js +159 -0
  199. package/dist/config-schema-BwKcspTI.d.ts +20 -0
  200. package/dist/context-engine-host-compat-7am0-o8-.js +288 -0
  201. package/dist/context-engine-host-compat-CBxpLY_R.js +2 -0
  202. package/dist/context-engine-lifecycle-CAP4uUBt.js +1274 -0
  203. package/dist/contracts-testkit-CzhusazO.d.ts +145 -0
  204. package/dist/control-auth-BAhD_hgL.js +114 -0
  205. package/dist/control-service-DiIoW-xc.js +145 -0
  206. package/dist/control-ui/assets/agents-BPEZ537z.js +1008 -0
  207. package/dist/control-ui/assets/channel-config-extras-VkPQjzJm.js +2 -0
  208. package/dist/control-ui/assets/channels-BsIYQ3nJ.js +367 -0
  209. package/dist/control-ui/assets/cron-UK0hJRqU.js +1013 -0
  210. package/dist/control-ui/assets/debug-B7rlhHRx.js +97 -0
  211. package/dist/control-ui/assets/index-KMMYmkek.js +7383 -0
  212. package/dist/control-ui/assets/instances-8aHUKb0s.js +57 -0
  213. package/dist/control-ui/assets/logs-CgENKRtj.js +74 -0
  214. package/dist/control-ui/assets/nodes-BMwPeDEB.js +436 -0
  215. package/dist/control-ui/assets/sessions-BPVkcuDz.js +399 -0
  216. package/dist/control-ui/assets/skills-CNzBHgNZ.js +314 -0
  217. package/dist/control-ui/assets/skills-shared-CamGzWbH.js +11 -0
  218. package/dist/control-ui/index.html +1 -1
  219. package/dist/control-ui/sw.js +1 -1
  220. package/dist/conversation-binding-runtime-Aa4n3iuk.js +4 -0
  221. package/dist/conversation-runtime-CyxFzOap.js +31 -0
  222. package/dist/core-B7zb6eoz.d.ts +224 -0
  223. package/dist/core-CTLnCqlp.js +282 -0
  224. package/dist/core-api-BJoUc8W9.js +2 -0
  225. package/dist/core-api-C-jlSSBX.js +5 -0
  226. package/dist/crestodian/crestodian.js +1 -1
  227. package/dist/crestodian/rescue-message.js +1 -1
  228. package/dist/crestodian-C00Eugek.js +55 -0
  229. package/dist/daocore-runtime-DogaiqPT.d.ts +151 -0
  230. package/dist/daocore-tools-BClec2Ba.js +11727 -0
  231. package/dist/delivery-C4orSGwW.js +1002 -0
  232. package/dist/dialogue-YpVpLnt9.js +37 -0
  233. package/dist/dir-fetch-tool-BFbTQp2_.js +565 -0
  234. package/dist/dir-list-tool-KOtPMnVi.js +100 -0
  235. package/dist/direct-dm-CggOAaqT.js +64 -0
  236. package/dist/directive-handling.fast-lane-D7nLJcC-.js +68 -0
  237. package/dist/directive-handling.impl-2IIshJr4.js +818 -0
  238. package/dist/directive-handling.impl-BRTVLuJz.js +2 -0
  239. package/dist/directive-handling.model-selection-D8Dg8hOC.js +122 -0
  240. package/dist/directive-handling.persist.runtime-DwlNetHj.js +263 -0
  241. package/dist/directive-handling.persist.runtime.js +1 -1
  242. package/dist/dispatch-DAKsXcGQ.js +1640 -0
  243. package/dist/dispatch-acp-transcript.runtime-UOQ55vBx.js +40 -0
  244. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  245. package/dist/dispatch-acp.runtime-MeBFKJKJ.js +18 -0
  246. package/dist/dispatch-acp.runtime.js +1 -1
  247. package/dist/doctor-C-XYOyib.js +2 -0
  248. package/dist/doctor-CAUi32ea.js +6 -0
  249. package/dist/doctor-config-flow-C1H8WKob.js +1741 -0
  250. package/dist/doctor-core-checks-Bp2gLRgV.js +2 -0
  251. package/dist/doctor-core-checks-D6zJ6bz0.js +573 -0
  252. package/dist/doctor-health-Bv829ne4.js +65 -0
  253. package/dist/doctor-health-contributions-CE2L6ns6.js +696 -0
  254. package/dist/doctor-lint-BTViTFfI.js +94 -0
  255. package/dist/doctor-state-integrity-BJ1GCodr.js +1231 -0
  256. package/dist/dynamic-tools-CouWRd6V.js +486 -0
  257. package/dist/embedded-backend-zBU0sY94.js +579 -0
  258. package/dist/embedded-gateway-stub.runtime-B2KKMka3.js +12 -0
  259. package/dist/embedded-gateway-stub.runtime.js +1 -1
  260. package/dist/embedding-provider-B82QlZsy.d.ts +21 -0
  261. package/dist/embedding-provider-Cmb3dgUf.d.ts +65 -0
  262. package/dist/embedding-provider-w7EJz-DO.d.ts +16 -0
  263. package/dist/entry.d.ts +1 -1
  264. package/dist/exec-approvals-Bak315mD.js +149 -0
  265. package/dist/extensionAPI.js +1 -1
  266. package/dist/extensions/active-memory/index.d.ts +1 -1
  267. package/dist/extensions/active-memory/index.js +1 -1
  268. package/dist/extensions/admin-http-rpc/index.d.ts +1 -1
  269. package/dist/extensions/admin-http-rpc/index.js +1 -1
  270. package/dist/extensions/alibaba/index.d.ts +1 -1
  271. package/dist/extensions/anthropic/api.d.ts +3 -3
  272. package/dist/extensions/anthropic/cli-backend-api.d.ts +2 -2
  273. package/dist/extensions/anthropic/cli-backend.d.ts +1 -1
  274. package/dist/extensions/anthropic/cli-migration.d.ts +1 -1
  275. package/dist/extensions/anthropic/cli-shared.d.ts +1 -1
  276. package/dist/extensions/anthropic/contract-api.d.ts +1 -1
  277. package/dist/extensions/anthropic/index.d.ts +1 -1
  278. package/dist/extensions/anthropic/provider-contract-api.d.ts +1 -1
  279. package/dist/extensions/anthropic/provider-discovery.d.ts +1 -1
  280. package/dist/extensions/anthropic/provider-policy-api.d.ts +1 -1
  281. package/dist/extensions/anthropic/register.runtime.d.ts +1 -1
  282. package/dist/extensions/anthropic/replay-policy.d.ts +1 -1
  283. package/dist/extensions/anthropic/setup-api.d.ts +1 -1
  284. package/dist/extensions/anthropic/stream-wrappers.d.ts +1 -1
  285. package/dist/extensions/anthropic/test-api.d.ts +2 -2
  286. package/dist/extensions/arcee/index.d.ts +1 -1
  287. package/dist/extensions/azure-speech/index.d.ts +1 -1
  288. package/dist/extensions/azure-speech/speech-provider.d.ts +1 -1
  289. package/dist/extensions/bonjour/index.d.ts +1 -1
  290. package/dist/extensions/browser/browser-bridge.js +1 -1
  291. package/dist/extensions/browser/browser-config.js +4 -4
  292. package/dist/extensions/browser/browser-control-auth.js +2 -2
  293. package/dist/extensions/browser/browser-doctor.js +2 -2
  294. package/dist/extensions/browser/browser-maintenance.js +1 -1
  295. package/dist/extensions/browser/browser-profiles.js +2 -2
  296. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  297. package/dist/extensions/browser/cli-metadata.d.ts +1 -1
  298. package/dist/extensions/browser/cli-metadata.js +1 -1
  299. package/dist/extensions/browser/index.d.ts +1 -1
  300. package/dist/extensions/browser/index.js +1 -1
  301. package/dist/extensions/browser/plugin-registration.d.ts +1 -1
  302. package/dist/extensions/browser/plugin-registration.js +1 -1
  303. package/dist/extensions/browser/register.runtime.d.ts +2 -2
  304. package/dist/extensions/browser/register.runtime.js +4 -4
  305. package/dist/extensions/browser/runtime-api.d.ts +3 -3
  306. package/dist/extensions/browser/runtime-api.js +13 -13
  307. package/dist/extensions/browser/setup-api.d.ts +1 -1
  308. package/dist/extensions/browser/test-support.d.ts +1 -1
  309. package/dist/extensions/byteplus/index.d.ts +1 -1
  310. package/dist/extensions/byteplus/provider-discovery.d.ts +1 -1
  311. package/dist/extensions/canvas/cli-metadata.d.ts +1 -1
  312. package/dist/extensions/canvas/index.d.ts +1 -1
  313. package/dist/extensions/canvas/index.js +1 -1
  314. package/dist/extensions/canvas/runtime-api.d.ts +2 -2
  315. package/dist/extensions/canvas/setup-api.d.ts +1 -1
  316. package/dist/extensions/cerebras/index.d.ts +1 -1
  317. package/dist/extensions/chutes/index.d.ts +1 -1
  318. package/dist/extensions/clickclack/api.d.ts +2 -2
  319. package/dist/extensions/clickclack/api.js +2 -2
  320. package/dist/extensions/clickclack/channel-plugin-api.d.ts +1 -1
  321. package/dist/extensions/clickclack/channel-plugin-api.js +1 -1
  322. package/dist/extensions/clickclack/index.d.ts +2 -2
  323. package/dist/extensions/clickclack/runtime-api.d.ts +2 -2
  324. package/dist/extensions/clickclack/runtime-api.js +2 -2
  325. package/dist/extensions/cloudflare-ai-gateway/index.d.ts +1 -1
  326. package/dist/extensions/cloudflare-ai-gateway/stream-wrappers.d.ts +1 -1
  327. package/dist/extensions/comfy/index.d.ts +1 -1
  328. package/dist/extensions/copilot-proxy/index.d.ts +1 -1
  329. package/dist/extensions/copilot-proxy/runtime-api.d.ts +2 -2
  330. package/dist/extensions/deepgram/index.d.ts +1 -1
  331. package/dist/extensions/deepgram/realtime-transcription-provider.d.ts +1 -1
  332. package/dist/extensions/deepgram/test-api.d.ts +1 -1
  333. package/dist/extensions/deepinfra/api.d.ts +2 -2
  334. package/dist/extensions/deepinfra/embedding-provider.d.ts +1 -1
  335. package/dist/extensions/deepinfra/index.d.ts +1 -1
  336. package/dist/extensions/deepinfra/memory-embedding-adapter.d.ts +1 -1
  337. package/dist/extensions/deepinfra/speech-provider.d.ts +1 -1
  338. package/dist/extensions/deepseek/api.d.ts +1 -1
  339. package/dist/extensions/deepseek/index.d.ts +1 -1
  340. package/dist/extensions/deepseek/provider-discovery.d.ts +1 -1
  341. package/dist/extensions/deepseek/provider-policy-api.d.ts +1 -1
  342. package/dist/extensions/deepseek/stream.d.ts +1 -1
  343. package/dist/extensions/deepseek/thinking.d.ts +1 -1
  344. package/dist/extensions/device-pair/api.d.ts +3 -3
  345. package/dist/extensions/device-pair/api.js +1 -1
  346. package/dist/extensions/device-pair/index.d.ts +1 -1
  347. package/dist/extensions/device-pair/notify.d.ts +1 -1
  348. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  349. package/dist/extensions/document-extract/index.d.ts +1 -1
  350. package/dist/extensions/duckduckgo/index.d.ts +1 -1
  351. package/dist/extensions/elevenlabs/index.d.ts +1 -1
  352. package/dist/extensions/elevenlabs/realtime-transcription-provider.d.ts +1 -1
  353. package/dist/extensions/elevenlabs/setup-api.d.ts +1 -1
  354. package/dist/extensions/elevenlabs/speech-provider.d.ts +1 -1
  355. package/dist/extensions/elevenlabs/test-api.d.ts +2 -2
  356. package/dist/extensions/exa/index.d.ts +1 -1
  357. package/dist/extensions/fal/index.d.ts +1 -1
  358. package/dist/extensions/fal/provider-contract-api.d.ts +1 -1
  359. package/dist/extensions/fal/provider-registration.d.ts +1 -1
  360. package/dist/extensions/file-transfer/index.d.ts +1 -1
  361. package/dist/extensions/file-transfer/index.js +4 -4
  362. package/dist/extensions/firecrawl/index.d.ts +1 -1
  363. package/dist/extensions/fireworks/index.d.ts +1 -1
  364. package/dist/extensions/fireworks/provider-policy-api.d.ts +1 -1
  365. package/dist/extensions/fireworks/stream.d.ts +1 -1
  366. package/dist/extensions/fireworks/thinking-policy.d.ts +1 -1
  367. package/dist/extensions/github-copilot/embeddings.d.ts +1 -1
  368. package/dist/extensions/github-copilot/index.d.ts +1 -1
  369. package/dist/extensions/github-copilot/models.d.ts +1 -1
  370. package/dist/extensions/github-copilot/register.runtime.d.ts +2 -2
  371. package/dist/extensions/github-copilot/stream.d.ts +1 -1
  372. package/dist/extensions/google/api.d.ts +5 -5
  373. package/dist/extensions/google/cli-backend.d.ts +1 -1
  374. package/dist/extensions/google/embedding-batch.d.ts +1 -1
  375. package/dist/extensions/google/embedding-provider.d.ts +1 -1
  376. package/dist/extensions/google/gemini-cli-provider.d.ts +1 -1
  377. package/dist/extensions/google/index.d.ts +1 -1
  378. package/dist/extensions/google/memory-embedding-adapter.d.ts +1 -1
  379. package/dist/extensions/google/provider-contract-api.d.ts +1 -1
  380. package/dist/extensions/google/provider-hooks.d.ts +2 -2
  381. package/dist/extensions/google/provider-models.d.ts +1 -1
  382. package/dist/extensions/google/provider-policy-api.d.ts +1 -1
  383. package/dist/extensions/google/provider-policy.d.ts +1 -1
  384. package/dist/extensions/google/provider-registration.d.ts +1 -1
  385. package/dist/extensions/google/realtime-voice-provider.d.ts +1 -1
  386. package/dist/extensions/google/runtime-api.d.ts +3 -3
  387. package/dist/extensions/google/setup-api.d.ts +1 -1
  388. package/dist/extensions/google/speech-provider.d.ts +1 -1
  389. package/dist/extensions/google/test-api.d.ts +2 -2
  390. package/dist/extensions/google/thinking-api.d.ts +1 -1
  391. package/dist/extensions/google/thinking.d.ts +1 -1
  392. package/dist/extensions/google/transport-stream.d.ts +1 -1
  393. package/dist/extensions/gradium/index.d.ts +1 -1
  394. package/dist/extensions/gradium/speech-provider.d.ts +1 -1
  395. package/dist/extensions/groq/index.d.ts +1 -1
  396. package/dist/extensions/huggingface/index.d.ts +1 -1
  397. package/dist/extensions/image-generation-core/api.d.ts +4 -4
  398. package/dist/extensions/image-generation-core/runtime-api.d.ts +1 -1
  399. package/dist/extensions/imessage/api.d.ts +2 -2
  400. package/dist/extensions/imessage/api.js +2 -2
  401. package/dist/extensions/imessage/channel-plugin-api.d.ts +1 -1
  402. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  403. package/dist/extensions/imessage/index.d.ts +2 -2
  404. package/dist/extensions/imessage/runtime-api.d.ts +2 -2
  405. package/dist/extensions/imessage/runtime-api.js +3 -3
  406. package/dist/extensions/imessage/setup-entry.d.ts +2 -2
  407. package/dist/extensions/imessage/test-api.d.ts +1 -1
  408. package/dist/extensions/inworld/index.d.ts +1 -1
  409. package/dist/extensions/inworld/speech-provider.d.ts +1 -1
  410. package/dist/extensions/irc/api.d.ts +1 -1
  411. package/dist/extensions/irc/api.js +2 -2
  412. package/dist/extensions/irc/channel-plugin-api.d.ts +1 -1
  413. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  414. package/dist/extensions/irc/index.d.ts +2 -2
  415. package/dist/extensions/irc/setup-entry.d.ts +2 -2
  416. package/dist/extensions/kilocode/index.d.ts +1 -1
  417. package/dist/extensions/kimi-coding/index.d.ts +1 -1
  418. package/dist/extensions/kimi-coding/stream.d.ts +1 -1
  419. package/dist/extensions/litellm/index.d.ts +1 -1
  420. package/dist/extensions/llm-task/api.d.ts +2 -2
  421. package/dist/extensions/llm-task/index.d.ts +1 -1
  422. package/dist/extensions/llm-task/index.js +1 -1
  423. package/dist/extensions/lmstudio/api.d.ts +1 -1
  424. package/dist/extensions/lmstudio/index.d.ts +1 -1
  425. package/dist/extensions/lmstudio/memory-embedding-adapter.d.ts +1 -1
  426. package/dist/extensions/mattermost/api.js +1 -1
  427. package/dist/extensions/mattermost/channel-plugin-api.d.ts +2 -2
  428. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  429. package/dist/extensions/mattermost/channel-plugin-runtime.d.ts +1 -1
  430. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  431. package/dist/extensions/mattermost/index.d.ts +2 -2
  432. package/dist/extensions/mattermost/policy-api.js +1 -1
  433. package/dist/extensions/mattermost/runtime-api.d.ts +5 -5
  434. package/dist/extensions/mattermost/runtime-api.js +2 -2
  435. package/dist/extensions/mattermost/setup-entry.d.ts +2 -2
  436. package/dist/extensions/mattermost/slash-route-api.d.ts +1 -1
  437. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  438. package/dist/extensions/memory-core/api.d.ts +1 -1
  439. package/dist/extensions/memory-core/cli-metadata.d.ts +1 -1
  440. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  441. package/dist/extensions/memory-core/index.d.ts +1 -1
  442. package/dist/extensions/memory-core/manager-runtime.d.ts +1 -1
  443. package/dist/extensions/memory-core/runtime-api.d.ts +2 -2
  444. package/dist/extensions/memory-wiki/api.d.ts +3 -3
  445. package/dist/extensions/memory-wiki/cli-metadata.d.ts +1 -1
  446. package/dist/extensions/memory-wiki/index.d.ts +1 -1
  447. package/dist/extensions/memory-wiki/setup-api.d.ts +1 -1
  448. package/dist/extensions/microsoft/index.d.ts +1 -1
  449. package/dist/extensions/microsoft/speech-provider.d.ts +1 -1
  450. package/dist/extensions/microsoft/test-api.d.ts +1 -1
  451. package/dist/extensions/microsoft-foundry/auth.d.ts +1 -1
  452. package/dist/extensions/microsoft-foundry/cli.d.ts +1 -1
  453. package/dist/extensions/microsoft-foundry/index.d.ts +1 -1
  454. package/dist/extensions/microsoft-foundry/onboard.d.ts +3 -3
  455. package/dist/extensions/microsoft-foundry/provider.d.ts +1 -1
  456. package/dist/extensions/microsoft-foundry/runtime.d.ts +1 -1
  457. package/dist/extensions/microsoft-foundry/shared-runtime.d.ts +1 -1
  458. package/dist/extensions/microsoft-foundry/shared.d.ts +1 -1
  459. package/dist/extensions/migrate-claude/apply.d.ts +1 -1
  460. package/dist/extensions/migrate-claude/apply.js +1 -1
  461. package/dist/extensions/migrate-claude/config.d.ts +1 -1
  462. package/dist/extensions/migrate-claude/helpers.d.ts +1 -1
  463. package/dist/extensions/migrate-claude/index.d.ts +1 -1
  464. package/dist/extensions/migrate-claude/index.js +1 -1
  465. package/dist/extensions/migrate-claude/memory.d.ts +2 -2
  466. package/dist/extensions/migrate-claude/plan.d.ts +1 -1
  467. package/dist/extensions/migrate-claude/plan.js +1 -1
  468. package/dist/extensions/migrate-claude/provider.d.ts +1 -1
  469. package/dist/extensions/migrate-claude/provider.js +1 -1
  470. package/dist/extensions/migrate-claude/skills.d.ts +2 -2
  471. package/dist/extensions/migrate-claude/targets.d.ts +1 -1
  472. package/dist/extensions/migrate-claude/targets.js +1 -1
  473. package/dist/extensions/migrate-hermes/apply.d.ts +1 -1
  474. package/dist/extensions/migrate-hermes/apply.js +1 -1
  475. package/dist/extensions/migrate-hermes/config.d.ts +1 -1
  476. package/dist/extensions/migrate-hermes/helpers.d.ts +1 -1
  477. package/dist/extensions/migrate-hermes/index.d.ts +1 -1
  478. package/dist/extensions/migrate-hermes/index.js +1 -1
  479. package/dist/extensions/migrate-hermes/items.d.ts +1 -1
  480. package/dist/extensions/migrate-hermes/model.d.ts +1 -1
  481. package/dist/extensions/migrate-hermes/model.js +1 -1
  482. package/dist/extensions/migrate-hermes/plan.d.ts +1 -1
  483. package/dist/extensions/migrate-hermes/plan.js +1 -1
  484. package/dist/extensions/migrate-hermes/provider.d.ts +1 -1
  485. package/dist/extensions/migrate-hermes/provider.js +1 -1
  486. package/dist/extensions/migrate-hermes/secrets.d.ts +2 -2
  487. package/dist/extensions/migrate-hermes/secrets.js +1 -1
  488. package/dist/extensions/migrate-hermes/skills.d.ts +2 -2
  489. package/dist/extensions/migrate-hermes/targets.d.ts +1 -1
  490. package/dist/extensions/migrate-hermes/targets.js +1 -1
  491. package/dist/extensions/minimax/index.d.ts +1 -1
  492. package/dist/extensions/minimax/provider-contract-api.d.ts +1 -1
  493. package/dist/extensions/minimax/provider-registration.d.ts +1 -1
  494. package/dist/extensions/minimax/speech-provider.d.ts +1 -1
  495. package/dist/extensions/mistral/embedding-provider.d.ts +1 -1
  496. package/dist/extensions/mistral/index.d.ts +1 -1
  497. package/dist/extensions/mistral/memory-embedding-adapter.d.ts +1 -1
  498. package/dist/extensions/mistral/realtime-transcription-provider.d.ts +1 -1
  499. package/dist/extensions/mistral/test-api.d.ts +1 -1
  500. package/dist/extensions/moonshot/index.d.ts +1 -1
  501. package/dist/extensions/moonshot/provider-contract-api.d.ts +1 -1
  502. package/dist/extensions/moonshot/provider-discovery.d.ts +1 -1
  503. package/dist/extensions/nvidia/index.d.ts +1 -1
  504. package/dist/extensions/oc-path/cli-metadata.d.ts +1 -1
  505. package/dist/extensions/oc-path/cli-registration.d.ts +1 -1
  506. package/dist/extensions/oc-path/index.d.ts +1 -1
  507. package/dist/extensions/ollama/api.d.ts +1 -1
  508. package/dist/extensions/ollama/index.d.ts +1 -1
  509. package/dist/extensions/ollama/provider-discovery.d.ts +1 -1
  510. package/dist/extensions/ollama/provider-policy-api.d.ts +1 -1
  511. package/dist/extensions/ollama/runtime-api.d.ts +1 -1
  512. package/dist/extensions/open-prose/index.d.ts +1 -1
  513. package/dist/extensions/open-prose/runtime-api.d.ts +2 -2
  514. package/dist/extensions/openai/api.d.ts +4 -4
  515. package/dist/extensions/openai/embedding-batch.d.ts +1 -1
  516. package/dist/extensions/openai/embedding-provider.d.ts +1 -1
  517. package/dist/extensions/openai/index.d.ts +1 -1
  518. package/dist/extensions/openai/memory-embedding-adapter.d.ts +1 -1
  519. package/dist/extensions/openai/openai-codex-oauth.runtime.d.ts +1 -1
  520. package/dist/extensions/openai/openai-codex-provider.d.ts +1 -1
  521. package/dist/extensions/openai/openai-provider.d.ts +1 -1
  522. package/dist/extensions/openai/prompt-overlay.d.ts +1 -1
  523. package/dist/extensions/openai/provider-contract-api.d.ts +1 -1
  524. package/dist/extensions/openai/provider-policy-api.d.ts +1 -1
  525. package/dist/extensions/openai/realtime-transcription-provider.d.ts +1 -1
  526. package/dist/extensions/openai/realtime-voice-provider.d.ts +1 -1
  527. package/dist/extensions/openai/register.runtime.d.ts +6 -6
  528. package/dist/extensions/openai/replay-policy.d.ts +1 -1
  529. package/dist/extensions/openai/setup-api.d.ts +1 -1
  530. package/dist/extensions/openai/shared.d.ts +3 -3
  531. package/dist/extensions/openai/speech-provider.d.ts +1 -1
  532. package/dist/extensions/openai/test-api.d.ts +3 -3
  533. package/dist/extensions/openai/thinking-policy.d.ts +1 -1
  534. package/dist/extensions/openai/transport-policy.d.ts +1 -1
  535. package/dist/extensions/opencode/index.d.ts +1 -1
  536. package/dist/extensions/opencode/provider-policy-api.d.ts +1 -1
  537. package/dist/extensions/opencode-go/index.d.ts +1 -1
  538. package/dist/extensions/opencode-go/provider-catalog.d.ts +1 -1
  539. package/dist/extensions/opencode-go/stream.d.ts +1 -1
  540. package/dist/extensions/openrouter/api.d.ts +1 -1
  541. package/dist/extensions/openrouter/index.d.ts +1 -1
  542. package/dist/extensions/openrouter/provider-contract-api.d.ts +1 -1
  543. package/dist/extensions/openrouter/provider-policy-api.d.ts +1 -1
  544. package/dist/extensions/openrouter/speech-provider.d.ts +1 -1
  545. package/dist/extensions/openrouter/stream.d.ts +1 -1
  546. package/dist/extensions/openrouter/test-api.d.ts +1 -1
  547. package/dist/extensions/openrouter/thinking-policy.d.ts +1 -1
  548. package/dist/extensions/openrouter/video-generation-provider.d.ts +1 -1
  549. package/dist/extensions/openrouter/video-model-catalog.d.ts +1 -1
  550. package/dist/extensions/perplexity/index.d.ts +1 -1
  551. package/dist/extensions/phone-control/index.d.ts +1 -1
  552. package/dist/extensions/phone-control/runtime-api.d.ts +2 -2
  553. package/dist/extensions/policy/api.js +1 -1
  554. package/dist/extensions/policy/index.d.ts +1 -1
  555. package/dist/extensions/policy/index.js +2 -2
  556. package/dist/extensions/qianfan/index.d.ts +1 -1
  557. package/dist/extensions/qwen/api.d.ts +1 -1
  558. package/dist/extensions/qwen/index.d.ts +1 -1
  559. package/dist/extensions/qwen/stream.d.ts +1 -1
  560. package/dist/extensions/qwen-dashscope/index.d.ts +1 -1
  561. package/dist/extensions/runway/index.d.ts +1 -1
  562. package/dist/extensions/searxng/index.d.ts +1 -1
  563. package/dist/extensions/senseaudio/index.d.ts +1 -1
  564. package/dist/extensions/sglang/index.d.ts +1 -1
  565. package/dist/extensions/signal/api.d.ts +2 -2
  566. package/dist/extensions/signal/api.js +6 -6
  567. package/dist/extensions/signal/channel-entry.d.ts +2 -2
  568. package/dist/extensions/signal/channel-plugin-api.d.ts +1 -1
  569. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  570. package/dist/extensions/signal/index.d.ts +2 -2
  571. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  572. package/dist/extensions/signal/runtime-api.d.ts +4 -4
  573. package/dist/extensions/signal/runtime-api.js +7 -7
  574. package/dist/extensions/signal/setup-entry.d.ts +2 -2
  575. package/dist/extensions/skill-workshop/api.d.ts +2 -2
  576. package/dist/extensions/skill-workshop/api.js +1 -1
  577. package/dist/extensions/skill-workshop/index.d.ts +1 -1
  578. package/dist/extensions/skill-workshop/index.js +2 -2
  579. package/dist/extensions/speech-core/api.d.ts +3 -3
  580. package/dist/extensions/speech-core/runtime-api.d.ts +2 -2
  581. package/dist/extensions/stepfun/index.d.ts +1 -1
  582. package/dist/extensions/synthetic/index.d.ts +1 -1
  583. package/dist/extensions/talk-voice/api.d.ts +2 -2
  584. package/dist/extensions/talk-voice/index.d.ts +1 -1
  585. package/dist/extensions/tavily/index.d.ts +1 -1
  586. package/dist/extensions/telegram/account-inspect-api.js +1 -1
  587. package/dist/extensions/telegram/api.d.ts +3 -3
  588. package/dist/extensions/telegram/api.js +11 -11
  589. package/dist/extensions/telegram/channel-plugin-api.d.ts +2 -2
  590. package/dist/extensions/telegram/channel-plugin-api.js +2 -2
  591. package/dist/extensions/telegram/contract-api.d.ts +1 -1
  592. package/dist/extensions/telegram/contract-api.js +3 -3
  593. package/dist/extensions/telegram/index.d.ts +2 -2
  594. package/dist/extensions/telegram/runtime-api.d.ts +3 -3
  595. package/dist/extensions/telegram/runtime-api.js +7 -7
  596. package/dist/extensions/telegram/security-audit-contract-api.js +1 -1
  597. package/dist/extensions/telegram/setup-entry.d.ts +2 -2
  598. package/dist/extensions/telegram/setup-plugin-api.d.ts +1 -1
  599. package/dist/extensions/telegram/setup-plugin-api.js +1 -1
  600. package/dist/extensions/telegram/test-api.js +2 -2
  601. package/dist/extensions/tencent/index.d.ts +1 -1
  602. package/dist/extensions/tencent/provider-discovery.d.ts +1 -1
  603. package/dist/extensions/thread-ownership/api.d.ts +2 -2
  604. package/dist/extensions/thread-ownership/index.d.ts +1 -1
  605. package/dist/extensions/together/index.d.ts +1 -1
  606. package/dist/extensions/tokenjuice/index.d.ts +1 -1
  607. package/dist/extensions/tokenjuice/tool-result-middleware.d.ts +1 -1
  608. package/dist/extensions/tts-local-cli/index.d.ts +1 -1
  609. package/dist/extensions/tts-local-cli/speech-provider.d.ts +1 -1
  610. package/dist/extensions/venice/index.d.ts +1 -1
  611. package/dist/extensions/venice/stream.d.ts +1 -1
  612. package/dist/extensions/vercel-ai-gateway/index.d.ts +1 -1
  613. package/dist/extensions/vercel-ai-gateway/thinking.d.ts +1 -1
  614. package/dist/extensions/video-generation-core/api.d.ts +3 -3
  615. package/dist/extensions/video-generation-core/runtime-api.d.ts +1 -1
  616. package/dist/extensions/vllm/api.d.ts +1 -1
  617. package/dist/extensions/vllm/index.d.ts +1 -1
  618. package/dist/extensions/vllm/stream.d.ts +1 -1
  619. package/dist/extensions/volcengine/index.d.ts +1 -1
  620. package/dist/extensions/volcengine/provider-discovery.d.ts +1 -1
  621. package/dist/extensions/volcengine/speech-provider.d.ts +1 -1
  622. package/dist/extensions/voyage/embedding-batch.d.ts +1 -1
  623. package/dist/extensions/voyage/embedding-provider.d.ts +1 -1
  624. package/dist/extensions/voyage/index.d.ts +1 -1
  625. package/dist/extensions/voyage/memory-embedding-adapter.d.ts +1 -1
  626. package/dist/extensions/vydra/index.d.ts +1 -1
  627. package/dist/extensions/vydra/speech-provider.d.ts +1 -1
  628. package/dist/extensions/web-readability/index.d.ts +1 -1
  629. package/dist/extensions/webhooks/api.d.ts +2 -2
  630. package/dist/extensions/webhooks/api.js +1 -1
  631. package/dist/extensions/webhooks/index.d.ts +1 -1
  632. package/dist/extensions/webhooks/index.js +1 -1
  633. package/dist/extensions/webhooks/runtime-api.d.ts +2 -2
  634. package/dist/extensions/xai/api.d.ts +1 -1
  635. package/dist/extensions/xai/index.d.ts +1 -1
  636. package/dist/extensions/xai/index.js +4 -4
  637. package/dist/extensions/xai/provider-contract-api.d.ts +1 -1
  638. package/dist/extensions/xai/provider-discovery.d.ts +1 -1
  639. package/dist/extensions/xai/provider-models.d.ts +1 -1
  640. package/dist/extensions/xai/provider-policy-api.d.ts +1 -1
  641. package/dist/extensions/xai/realtime-transcription-provider.d.ts +1 -1
  642. package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
  643. package/dist/extensions/xai/setup-api.d.ts +1 -1
  644. package/dist/extensions/xai/speech-provider.d.ts +1 -1
  645. package/dist/extensions/xai/speech-provider.js +1 -1
  646. package/dist/extensions/xai/stream.d.ts +1 -1
  647. package/dist/extensions/xai/test-api.js +1 -1
  648. package/dist/extensions/xai/tts.js +1 -1
  649. package/dist/extensions/xai/web-search.js +1 -1
  650. package/dist/extensions/xai/xai-oauth.d.ts +1 -1
  651. package/dist/extensions/xai/xai-oauth.js +1 -1
  652. package/dist/extensions/xiaomi/index.d.ts +1 -1
  653. package/dist/extensions/xiaomi/speech-provider.d.ts +1 -1
  654. package/dist/extensions/xiaomi/stream.d.ts +1 -1
  655. package/dist/extensions/xiaomi/thinking.d.ts +1 -1
  656. package/dist/extensions/zai/index.d.ts +1 -1
  657. package/dist/file-fetch-tool-BrVPmE7t.js +124 -0
  658. package/dist/file-write-tool-BYZf8lOy.js +127 -0
  659. package/dist/format-CqY9l3Zt.js +1145 -0
  660. package/dist/gateway/protocol/index.d.ts +1 -1
  661. package/dist/gateway-cli-jbn-jc8f.js +435 -0
  662. package/dist/gateway-method-runtime-2cYcLPJl.js +21 -0
  663. package/dist/gateway-runtime-BcWCu-QH.d.ts +163 -0
  664. package/dist/gemini-cli-provider-DtyOwxHA.d.ts +6 -0
  665. package/dist/get-reply-DtCQiwvQ.js +4689 -0
  666. package/dist/get-reply-from-config.runtime-BhLyRZx7.js +2 -0
  667. package/dist/get-reply-from-config.runtime.js +1 -1
  668. package/dist/graph-users-Dya8zWIL.js +1419 -0
  669. package/dist/group-access-0aDyWVHQ.js +112 -0
  670. package/dist/handle-action.guild-admin-CLzUR_WA.js +288 -0
  671. package/dist/harness-CAwvROef.js +61 -0
  672. package/dist/health-DWVUZEeh.js +4 -0
  673. package/dist/heartbeat-runner-BfkwHaSM.js +5 -0
  674. package/dist/heartbeat-runner.runtime-B4vNMbqc.js +4 -0
  675. package/dist/heartbeat-runner.runtime.js +1 -1
  676. package/dist/hook-runtime-BBONf8H3.d.ts +108 -0
  677. package/dist/hooks-D7LJdf2e.js +534 -0
  678. package/dist/http-registry-D3Cdok5J.d.ts +23 -0
  679. package/dist/image-generation-runtime-DhYgou3B.d.ts +21 -0
  680. package/dist/inbound-direct-dm-runtime-DzWmlVYW.js +2 -0
  681. package/dist/inbound-reply-dispatch-jVwVJOwu.js +148 -0
  682. package/dist/index-ChRAMnH9.d.ts +3971 -0
  683. package/dist/index.js +1 -1
  684. package/dist/init-XwVehAgU.js +59 -0
  685. package/dist/inline-buttons-DnkGYR-_.js +40 -0
  686. package/dist/interactive-dispatch-B-NLdr77.d.ts +56 -0
  687. package/dist/interactive-dispatch-B66zssEF.d.ts +143 -0
  688. package/dist/internal-events-D9aYUCBd.js +90 -0
  689. package/dist/isolated-agent-CY42qGVR.js +1118 -0
  690. package/dist/isolated-agent-FA7vzJTA.js +2 -0
  691. package/dist/lifecycle-BxqSqCZr.js +571 -0
  692. package/dist/list.probe-B79k5PEo.js +449 -0
  693. package/dist/list.status-command-DIxH_Y-f.js +789 -0
  694. package/dist/llm-slug-generator-C4ctBtkX.js +78 -0
  695. package/dist/llm-slug-generator.js +1 -1
  696. package/dist/loader-Ben-RYnp.d.ts +142 -0
  697. package/dist/local-dispatch.runtime-3EL0wSNC.js +9 -0
  698. package/dist/local-dispatch.runtime.js +1 -1
  699. package/dist/manager-BDWyUfHJ.d.ts +356 -0
  700. package/dist/manager.runtime-gy08OZb0.js +2714 -0
  701. package/dist/manager.runtime.js +1 -1
  702. package/dist/markdown-to-line-CFWVT93h.js +811 -0
  703. package/dist/mcp-http-DZmHDxyy.js +2 -0
  704. package/dist/mcp-http-DbKHX367.js +555 -0
  705. package/dist/media-understanding-provider-BpCXnaWp.js +339 -0
  706. package/dist/memory-core-host-engine-storage-BAq5Rf51.d.ts +54 -0
  707. package/dist/memory-embedding-adapter-Cv87QsD0.d.ts +5 -0
  708. package/dist/message-actions-DuEtvMbO.js +145 -0
  709. package/dist/message-handler-DmbnvDXH.js +384 -0
  710. package/dist/message-handler-LLdmxxXP.js +1715 -0
  711. package/dist/message-handler.preflight-B3XwIf3I.js +1125 -0
  712. package/dist/message-handler.process-d68KEGY8.js +1484 -0
  713. package/dist/migration-BOkhOT4K.d.ts +45 -0
  714. package/dist/model-B4s-pIp8.d.ts +33 -0
  715. package/dist/model-dO8rKr_K.js +74 -0
  716. package/dist/model-selection-FSGyFEHi.js +272 -0
  717. package/dist/models-6NYWdsJM.d.ts +24 -0
  718. package/dist/models-cli-DcFbSe2w.js +256 -0
  719. package/dist/models-eLw-92fi.js +2 -0
  720. package/dist/models-zeRROe6h.js +104 -0
  721. package/dist/monitor-BeSxTsNc.js +2788 -0
  722. package/dist/monitor-C631pSPn.js +4377 -0
  723. package/dist/monitor-DBGsRhPc.js +834 -0
  724. package/dist/monitor-DTDoLcx6.js +715 -0
  725. package/dist/monitor-DfnUhf09.js +1657 -0
  726. package/dist/monitor-TsnRME77.js +2 -0
  727. package/dist/monitor-auth-CaAtsx1S.js +179 -0
  728. package/dist/monitor-gzQIqGkA.js +60 -0
  729. package/dist/monitor-polling.runtime-9_E6Xhol.js +883 -0
  730. package/dist/monitor-polling.runtime.js +1 -1
  731. package/dist/monitor-webhook.runtime-Cr3NsbW-.js +387 -0
  732. package/dist/monitor-webhook.runtime.js +1 -1
  733. package/dist/monitor-z7jMkqq9.js +1370 -0
  734. package/dist/monitor.account-BvEBZzeF.js +5233 -0
  735. package/dist/monitor.runtime-BJVPQ3H_.js +2 -0
  736. package/dist/monitor.runtime.js +1 -1
  737. package/dist/monitor.webhook-DF7QVVhb.js +180 -0
  738. package/dist/node-cli-sessions-CTGt3w4m.js +1228 -0
  739. package/dist/openai-codex-provider-CByFL0Au.d.ts +5 -0
  740. package/dist/openai-http-BjH7NlU2.js +824 -0
  741. package/dist/openai-provider-DbEgHbfx.d.ts +5 -0
  742. package/dist/openresponses-http-yuVm2tjA.js +1173 -0
  743. package/dist/operations-iUPM9tXT.js +805 -0
  744. package/dist/outbound-adapter-FCxwBdkK.js +543 -0
  745. package/dist/outbound-session-route-BZ2jTq_h.js +45 -0
  746. package/dist/outbound.runtime-DgBHR6Z_.js +2 -0
  747. package/dist/outbound.runtime.js +1 -1
  748. package/dist/pi-embedded-BluftY7Y.js +3796 -0
  749. package/dist/pi-embedded-rm4wsCom.js +4 -0
  750. package/dist/pi-embedded.runtime-DTMfURel.js +4 -0
  751. package/dist/pi-embedded.runtime.js +1 -1
  752. package/dist/pi-tools-DFmuzEyG.js +2413 -0
  753. package/dist/plan-B6FH0wjt.js +81 -0
  754. package/dist/plan-DjHprXek.js +112 -0
  755. package/dist/plugin-BehbkTVr.d.ts +17 -0
  756. package/dist/plugin-app-cache-key-D3i_5umf.js +46 -0
  757. package/dist/plugin-bY-ABeC0.js +12396 -0
  758. package/dist/plugin-enabled-bMTwrF5N.js +233 -0
  759. package/dist/plugin-entry-feg_rkHL.d.ts +47 -0
  760. package/dist/plugin-registration-Dck7980T.js +88 -0
  761. package/dist/plugin-runtime-paqzXBLJ.d.ts +117 -0
  762. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  763. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  764. package/dist/plugin-sdk/acp-runtime.js +2 -2
  765. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  766. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  767. package/dist/plugin-sdk/agent-harness.js +7 -7
  768. package/dist/plugin-sdk/agent-runtime.js +2 -2
  769. package/dist/plugin-sdk/channel-core.js +2 -2
  770. package/dist/plugin-sdk/channel-inbound.js +2 -2
  771. package/dist/plugin-sdk/channel-test-helpers.js +1 -1
  772. package/dist/plugin-sdk/command-auth.js +1 -1
  773. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  774. package/dist/plugin-sdk/compat.js +1 -1
  775. package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
  776. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  777. package/dist/plugin-sdk/core.js +2 -2
  778. package/dist/plugin-sdk/direct-dm.js +1 -1
  779. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  780. package/dist/plugin-sdk/health.js +2 -2
  781. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  782. package/dist/plugin-sdk/index.js +1 -1
  783. package/dist/plugin-sdk/mattermost.js +1 -1
  784. package/dist/plugin-sdk/plugin-test-contracts.js +2 -2
  785. package/dist/plugin-sdk/provider-test-contracts.js +4 -4
  786. package/dist/plugin-sdk/reply-runtime.js +4 -4
  787. package/dist/plugin-sdk/testing.js +2 -2
  788. package/dist/plugin-sdk/zalouser.js +1 -1
  789. package/dist/plugin-service-C0JwHvDr.d.ts +24 -0
  790. package/dist/plugin-service-DyAwJFQs.js +1229 -0
  791. package/dist/plugins/build-smoke-entry.d.ts +2 -2
  792. package/dist/plugins/loader.d.ts +1 -1
  793. package/dist/plugins/provider-discovery.runtime.d.ts +1 -1
  794. package/dist/plugins/provider-runtime.runtime.d.ts +1 -1
  795. package/dist/plugins/runtime/index.js +4 -4
  796. package/dist/policy-D3fWUGKm.js +680 -0
  797. package/dist/policy-E5uwlue4.js +138 -0
  798. package/dist/postinstall-inventory.json +572 -574
  799. package/dist/prepare.runtime-DFo7BCZi.js +732 -0
  800. package/dist/prepare.runtime.js +1 -1
  801. package/dist/preview-warnings-1YybOCJ8.js +392 -0
  802. package/dist/probe-BdfAHFgL.js +2 -0
  803. package/dist/probe-DJ9xF48_.js +682 -0
  804. package/dist/probe-Dccwwf_1.js +47 -0
  805. package/dist/probe-laQpRxXs.js +2204 -0
  806. package/dist/program-Bpk4QfF1.js +131 -0
  807. package/dist/prompt-overlay-qLjnjnSK.d.ts +23 -0
  808. package/dist/provider-C7kHLCdZ.js +152 -0
  809. package/dist/provider-Co8M7fvk.js +8735 -0
  810. package/dist/provider-CoO9Z1j3.js +32 -0
  811. package/dist/provider-DFSAJIck.js +32 -0
  812. package/dist/provider-api-key-auth-CB8Tllmv.d.ts +27 -0
  813. package/dist/provider-auth-result-Xze96yVn.d.ts +21 -0
  814. package/dist/provider-catalog-runtime-Bo88wUpB.d.ts +23 -0
  815. package/dist/provider-catalog-shared-rq7-Hkyg.d.ts +62 -0
  816. package/dist/provider-dispatcher-BvS8pbeW.js +22 -0
  817. package/dist/provider-dispatcher.runtime.js +1 -1
  818. package/dist/provider-hook-runtime-bhgA4zLg.d.ts +61 -0
  819. package/dist/provider-model-shared-Bv_vhH6i.d.ts +143 -0
  820. package/dist/provider-models-DzbXgGDD.d.ts +12 -0
  821. package/dist/provider-policy-Cx2IwhQ-.d.ts +30 -0
  822. package/dist/provider-registration-D4DJp8vF.d.ts +6 -0
  823. package/dist/provider-registry-BQ5DzWBt.d.ts +8 -0
  824. package/dist/provider-registry-BrtezAkH.d.ts +30 -0
  825. package/dist/provider-registry-DG571X-9.d.ts +8 -0
  826. package/dist/provider-runtime-BJlV-8wH.d.ts +359 -0
  827. package/dist/provider-self-hosted-setup-C5mGtzPJ.d.ts +74 -0
  828. package/dist/provider-session.runtime-C1aiZYVg.js +9 -0
  829. package/dist/provider-session.runtime.js +1 -1
  830. package/dist/provider-stream-D-MYyujL.d.ts +140 -0
  831. package/dist/provider-stream-shared-B6pQNRl4.d.ts +128 -0
  832. package/dist/provider.runtime-X6NXKiYM.js +2 -0
  833. package/dist/provider.runtime.js +1 -1
  834. package/dist/providers.runtime-B9kfx6q8.d.ts +25 -0
  835. package/dist/public-surface-loader-BMxtEXWf.js +114 -0
  836. package/dist/pw-ai-DjriOi8G.js +3029 -0
  837. package/dist/pw-role-snapshot-BhrmOEj7.js +333 -0
  838. package/dist/reaction-level-eWKmTmr-.js +19 -0
  839. package/dist/reaction-runtime-api-D24AgSw1.js +116 -0
  840. package/dist/realtime-transcription-CAC89bnc.d.ts +43 -0
  841. package/dist/realtime-transcription-provider-ChYQDNhv.d.ts +5 -0
  842. package/dist/realtime-transcription-provider-DT819J6s.js +205 -0
  843. package/dist/realtime-transcription-provider-DTYtMlJi.d.ts +28 -0
  844. package/dist/realtime-transcription-provider-DirKeOjA.d.ts +32 -0
  845. package/dist/realtime-transcription-provider-QHEXWhCJ.d.ts +37 -0
  846. package/dist/realtime-voice-Bm0GBqnc.d.ts +333 -0
  847. package/dist/realtime-voice-provider-NcUDkuN4.d.ts +5 -0
  848. package/dist/register-DBNC0m2B.js +2178 -0
  849. package/dist/register.agent-B6zMrjbU.js +156 -0
  850. package/dist/register.crestodian-ioNP-KDV.js +24 -0
  851. package/dist/register.maintenance-C7hwws8J.js +105 -0
  852. package/dist/register.runtime-CXLFfKiU.d.ts +6 -0
  853. package/dist/register.runtime-Cmjvocrx.js +54 -0
  854. package/dist/register.subclis-DxfFXV3-.js +3 -0
  855. package/dist/register.subclis-ISc6tP1f.js +31 -0
  856. package/dist/register.subclis-core-JHOqJIZt.js +273 -0
  857. package/dist/registry-DXBS27qE.d.ts +91 -0
  858. package/dist/registry-types-DlO771W4.d.ts +392 -0
  859. package/dist/repair-sequencing-hH5gqLs6.js +640 -0
  860. package/dist/reply-delivery-BKoAOZP_.js +196 -0
  861. package/dist/reply-runtime-6Plp8ogP.js +11 -0
  862. package/dist/reply.runtime-BhLyRZx7.js +2 -0
  863. package/dist/reply.runtime.js +1 -1
  864. package/dist/request-DWO0sNhQ.js +54 -0
  865. package/dist/resolve-allowlist-V9MNNFoH.js +220 -0
  866. package/dist/result-fallback-classifier-9UQPgjpO.js +79 -0
  867. package/dist/route-DBDVB79V.js +469 -0
  868. package/dist/route-resolution-CHZ7drkg.js +274 -0
  869. package/dist/routes-BcshTzNN.js +3602 -0
  870. package/dist/routes-pTG1yZot.js +2 -0
  871. package/dist/run-DOFqRm9O.js +1163 -0
  872. package/dist/run-attempt-DWRSJYkI.js +7704 -0
  873. package/dist/run-command-FS1pKDuC.js +2 -0
  874. package/dist/run-command-Vk61OZXw.js +23 -0
  875. package/dist/run-embedded.runtime-Dze7iCi_.js +4 -0
  876. package/dist/run-embedded.runtime.js +1 -1
  877. package/dist/run-execution-cli.runtime-D8bmQfyv.js +4 -0
  878. package/dist/run-execution-cli.runtime.js +1 -1
  879. package/dist/run-executor.runtime.js +1 -1
  880. package/dist/run-subagent-registry.runtime-DrS_izgX.js +2 -0
  881. package/dist/run-subagent-registry.runtime.js +1 -1
  882. package/dist/runtime-CWExAN6J.js +6179 -0
  883. package/dist/runtime-CaMO7viQ.js +1287 -0
  884. package/dist/runtime-DD5RBFYY.js +438 -0
  885. package/dist/runtime-api-BBLf3oma.js +17 -0
  886. package/dist/runtime-api-BNRsTwFR.js +13 -0
  887. package/dist/runtime-api-BYvF2XIQ.js +3 -0
  888. package/dist/runtime-api-Bd0zbMtv.js +24 -0
  889. package/dist/runtime-api-C6y7zqsf.js +21 -0
  890. package/dist/runtime-api-kItzerWV.js +13 -0
  891. package/dist/runtime-api-kPJSVsA8.js +4 -0
  892. package/dist/runtime-api.actions-CmYHOmz9.js +3 -0
  893. package/dist/runtime-api.monitor-C5TNpJYg.js +6 -0
  894. package/dist/runtime-api.send-JFCAMeKQ.js +4 -0
  895. package/dist/runtime-api.threads-DERIeodC.js +2 -0
  896. package/dist/runtime-channel-D8V3ppoC.js +150 -0
  897. package/dist/runtime-channel-is50kEsl.js +2 -0
  898. package/dist/runtime-embedded-pi.runtime-jKOj-1nz.js +2 -0
  899. package/dist/runtime-embedded-pi.runtime.js +1 -1
  900. package/dist/runtime-taskflow-PDIujF9q.d.ts +435 -0
  901. package/dist/sanitize-outbound-BO9hRmj0.js +127 -0
  902. package/dist/sdk-setup-tools-Div2126I.js +8 -0
  903. package/dist/secrets-BvYFmrwB.js +113 -0
  904. package/dist/security-audit-D4jfF7q9.js +122 -0
  905. package/dist/security-audit-DA1ODuUr.js +118 -0
  906. package/dist/security-audit.runtime-B6MA-9sd.js +2 -0
  907. package/dist/security-audit.runtime.js +1 -1
  908. package/dist/selection-COMFfhhB.js +16157 -0
  909. package/dist/selection-DjiwWaCm.js +3 -0
  910. package/dist/send-BEhts3DV.js +143 -0
  911. package/dist/send-DDRSblAi.js +1631 -0
  912. package/dist/send-DdsdO8av.js +192 -0
  913. package/dist/send-OFrCcMoN.js +2 -0
  914. package/dist/send.components-BZe8KFhH.js +2 -0
  915. package/dist/send.components-DPIbTrS9.js +500 -0
  916. package/dist/send.runtime-BMbbA3tm.js +2 -0
  917. package/dist/send.runtime.js +1 -1
  918. package/dist/server-C4IiWRhq.js +24 -0
  919. package/dist/server-CjzB7ioJ.js +73 -0
  920. package/dist/server-close.runtime.d.ts +1 -1
  921. package/dist/server-close.runtime.js +1 -1
  922. package/dist/server-context-BY0cnffb.js +955 -0
  923. package/dist/server-context-D2JQpf_a.js +2 -0
  924. package/dist/server-cron-kz2c9pK7.js +2989 -0
  925. package/dist/server-cron-zFTjUnp_.js +2 -0
  926. package/dist/server-methods-CeRciQPQ.js +16499 -0
  927. package/dist/server-node-events-sN2mHYkP.js +596 -0
  928. package/dist/server-plugin-bootstrap-Btlfts6S.js +70 -0
  929. package/dist/server-plugins-51grTCNW.js +432 -0
  930. package/dist/server-reload-handlers-DCV2-ViK.js +714 -0
  931. package/dist/server-restart-sentinel-PaJTf67x.js +747 -0
  932. package/dist/server-restart-sentinel-dq1plJn4.js +2 -0
  933. package/dist/server-runtime-services-5DDMbuoB.js +2 -0
  934. package/dist/server-runtime-services-BNxDB-fD.js +267 -0
  935. package/dist/server-startup-plugins-DFjEa_n3.js +113 -0
  936. package/dist/server-startup-post-attach-CxTPm4_L.js +716 -0
  937. package/dist/server-ws-runtime-B3KZ2env.js +349 -0
  938. package/dist/server.impl-B5PoIhjN.js +2587 -0
  939. package/dist/service-DxrhUXG7.js +1446 -0
  940. package/dist/session-binding-CV7rLEY5.js +2 -0
  941. package/dist/session-binding-iMpXrfyn.js +219 -0
  942. package/dist/session-kill-http-d2n6rkZD.js +121 -0
  943. package/dist/session-reset-service-CLvTG-kn.js +625 -0
  944. package/dist/session-route-DDHaELej.js +93 -0
  945. package/dist/session-status.runtime-5Cy9EneT.js +2 -0
  946. package/dist/session-status.runtime.js +1 -1
  947. package/dist/session-subagent-reactivation.runtime-BOSQe70F.js +2 -0
  948. package/dist/session-subagent-reactivation.runtime.js +1 -1
  949. package/dist/session-tab-registry-D6n-JkHk.js +521 -0
  950. package/dist/sessions-history-http-CJxV3RDf.js +430 -0
  951. package/dist/sessions.runtime-BViafXid.js +2 -0
  952. package/dist/sessions.runtime.js +1 -1
  953. package/dist/setup-api-CYcjKuwK.js +29 -0
  954. package/dist/setup-core-EZFzv_j8.js +174 -0
  955. package/dist/setup-surface-BmS34dXo.js +288 -0
  956. package/dist/setup-surface-CpXTjgF0.js +405 -0
  957. package/dist/setup-surface-ScNjDWZm.js +221 -0
  958. package/dist/setup-surface-mOG_ZQzc.js +320 -0
  959. package/dist/shared-Df9XLZNp.js +121 -0
  960. package/dist/shared-client-Cnnz_mSQ.js +2 -0
  961. package/dist/shared-client-CuFisM0E.js +629 -0
  962. package/dist/shared-eYKaB8rP.d.ts +115 -0
  963. package/dist/side-question-C3v3Lplx.js +683 -0
  964. package/dist/simple-completion-runtime-D3SeEaWT.d.ts +73 -0
  965. package/dist/skill-tool-dispatch.runtime-CXJfuIcF.js +143 -0
  966. package/dist/skill-tool-dispatch.runtime.js +1 -1
  967. package/dist/slash-state-Ble2T8H1.js +2166 -0
  968. package/dist/speech-Dbhvhbdq.d.ts +47 -0
  969. package/dist/speech-core-8X_D3HLF.d.ts +36 -0
  970. package/dist/speech-provider-BYm63_co.d.ts +8 -0
  971. package/dist/speech-provider-BtJxZzKb.d.ts +8 -0
  972. package/dist/speech-provider-CbneUhtJ.d.ts +5 -0
  973. package/dist/speech-provider-DOAvAvlS.d.ts +5 -0
  974. package/dist/speech-provider-DdfnOmrC.d.ts +5 -0
  975. package/dist/speech-provider-m3rMGEAn.js +184 -0
  976. package/dist/speech-provider-ptNkD7Yf.d.ts +34 -0
  977. package/dist/src-CM0fXl4Y.js +4256 -0
  978. package/dist/startup-context-CqFLE7Cg.js +313 -0
  979. package/dist/status-subagents.runtime-B1rx0GrO.js +18 -0
  980. package/dist/status-subagents.runtime.js +1 -1
  981. package/dist/status-text-H0h7oVKp.js +296 -0
  982. package/dist/sticker-cache-CqoOx4LH.js +206 -0
  983. package/dist/sticker-vision.runtime-CrjOOeHu.js +17 -0
  984. package/dist/sticker-vision.runtime.js +1 -1
  985. package/dist/stream-BHkpDd1i.d.ts +10 -0
  986. package/dist/stream-C6huJP_D.d.ts +5 -0
  987. package/dist/stream-D4Pmcj3t.d.ts +16 -0
  988. package/dist/stream-DpSe6hAE.d.ts +19 -0
  989. package/dist/stream-DrRUuJ8m.d.ts +120 -0
  990. package/dist/stream-wrappers-DLxwmPDI.d.ts +21 -0
  991. package/dist/subagent-announce-BW37MFR9.js +354 -0
  992. package/dist/subagent-announce-delivery-B3Y_VYMg.js +958 -0
  993. package/dist/subagent-control-CcwoSuQL.js +508 -0
  994. package/dist/subagent-hooks-BxPl_GuI.js +116 -0
  995. package/dist/subagent-hooks-Cs8qTGHl.js +2 -0
  996. package/dist/subagent-hooks-CwSQRQo9.js +230 -0
  997. package/dist/subagent-hooks-DAMkOOf7.js +2 -0
  998. package/dist/subagent-hooks-DZ-_EdDK.js +2 -0
  999. package/dist/subagent-hooks-DktLDeJy.js +146 -0
  1000. package/dist/subagent-hooks-api-7zNxF0oB.js +22 -0
  1001. package/dist/subagent-hooks-api-BEbciaEe.js +23 -0
  1002. package/dist/subagent-hooks-api-CxhBjzvx.js +23 -0
  1003. package/dist/subagent-orphan-recovery-D5X9cvpB.js +352 -0
  1004. package/dist/subagent-registry-6qCbe4_d.js +3 -0
  1005. package/dist/subagent-registry-DQdzaCoy.js +2351 -0
  1006. package/dist/subagent-registry.runtime.js +1 -1
  1007. package/dist/subagent-session-cleanup-CqM9pDo3.js +525 -0
  1008. package/dist/subagent-spawn-DLK8sqDA.js +1164 -0
  1009. package/dist/target-id-yI81Hj7S.js +107 -0
  1010. package/dist/targets-BZbHHByR.js +19 -0
  1011. package/dist/targets-CZhlhiDN.d.ts +10 -0
  1012. package/dist/targets-DUE9YZXa.js +19 -0
  1013. package/dist/targets-DfLmNZ5f.js +44 -0
  1014. package/dist/targets-HPytm6Z8.d.ts +10 -0
  1015. package/dist/task-registry-control.runtime.js +1 -1
  1016. package/dist/telegram/token.js +1 -1
  1017. package/dist/test-fixtures-xgg7UsEw.d.ts +27 -0
  1018. package/dist/testing-CYMQBMT3.js +267 -0
  1019. package/dist/thinking-policy-wJH8MNPa.d.ts +5 -0
  1020. package/dist/thread-bindings-C2SnyBAC.js +8 -0
  1021. package/dist/thread-bindings-CzU359SB.js +232 -0
  1022. package/dist/thread-bindings-DMuA0p65.js +571 -0
  1023. package/dist/thread-bindings-DzoNlSPp.js +228 -0
  1024. package/dist/thread-bindings.discord-api-BXOHpVst.js +187 -0
  1025. package/dist/thread-bindings.manager-B8Aj89za.js +2 -0
  1026. package/dist/thread-bindings.manager-Dxb1aqOJ.js +536 -0
  1027. package/dist/thread-lifecycle-Da2hgH1C.js +1614 -0
  1028. package/dist/token-_m0gesk2.js +134 -0
  1029. package/dist/tool-CUJGcxBj.js +139 -0
  1030. package/dist/tool-actions.runtime-C6dIfA8O.js +534 -0
  1031. package/dist/tool-actions.runtime.js +1 -1
  1032. package/dist/tool-plugin-CmXn59FQ.d.ts +77 -0
  1033. package/dist/tool-resolution-CnkyfpkW.js +149 -0
  1034. package/dist/tool-split-CaXOLBeI.d.ts +19 -0
  1035. package/dist/tools-effective-inventory-D4D3p6YO.js +204 -0
  1036. package/dist/tools-invoke-http-C_AkcM2Z.js +67 -0
  1037. package/dist/tools-invoke-shared-BbH-S31I.js +200 -0
  1038. package/dist/transport-stream-lU_hAKuv.d.ts +42 -0
  1039. package/dist/tts-DZGzkkcJ.js +66 -0
  1040. package/dist/tui-CWdT-_O7.js +4709 -0
  1041. package/dist/tui-backend-adyY7I2q.js +256 -0
  1042. package/dist/tui-cli-BlC-PcMQ.js +37 -0
  1043. package/dist/tui-doD0i1M3.js +2 -0
  1044. package/dist/typed-cases-v8PtmO3g.d.ts +68 -0
  1045. package/dist/types-CD1xwSld.d.ts +786 -0
  1046. package/dist/types-Zj4Bq9h-2.d.ts +3650 -0
  1047. package/dist/types.public-B0VjJLe9.d.ts +70 -0
  1048. package/dist/update-cli-E3CmCXrK.js +3665 -0
  1049. package/dist/video-generation-runtime-DsFG7djU.d.ts +21 -0
  1050. package/dist/video-model-catalog-CfhC-Mol.d.ts +16 -0
  1051. package/dist/vision-tools-CQhFQpMT.js +1409 -0
  1052. package/dist/web-search-provider.runtime-CmH3kQI8.js +328 -0
  1053. package/dist/web-search-provider.runtime-D0e2NQZD.js +2 -0
  1054. package/dist/web-search-provider.runtime.js +1 -1
  1055. package/dist/web-search-xvZHxFtf.js +62 -0
  1056. package/dist/webhook-targets-C9cJD_kB.d.ts +99 -0
  1057. package/dist/xai-oauth-Czz2VcmP.js +479 -0
  1058. package/dist/xai-user-agent-hnVApwlq.js +32 -0
  1059. package/package.json +1 -1
  1060. package/dist/abort-BsQQzhbV.js +0 -277
  1061. package/dist/abort.runtime-B5Gm0QVk.js +0 -2
  1062. package/dist/account-inspect-CwDtGBto.js +0 -173
  1063. package/dist/accounts-CIeBJ5eT.js +0 -119
  1064. package/dist/accounts-CTWtnyiT.js +0 -2
  1065. package/dist/accounts-njsx7mFX.js +0 -107
  1066. package/dist/accounts-zOxobEaL.js +0 -107
  1067. package/dist/acp-runtime-e1LO7UcO.js +0 -26
  1068. package/dist/acp-spawn-8mSa_nwF.js +0 -2
  1069. package/dist/acp-spawn-DUyy-gFU.js +0 -1275
  1070. package/dist/acp-stateful-target-driver-Bwa2OdF-.js +0 -89
  1071. package/dist/action-kill-7T90Aej6.js +0 -33
  1072. package/dist/action-runtime-COHPB-Co.js +0 -469
  1073. package/dist/action-runtime-api-ZAJGySJJ.js +0 -2
  1074. package/dist/action-send-DOVhi3au.js +0 -39
  1075. package/dist/action-spawn-CN9es4kP.js +0 -47
  1076. package/dist/actions-Dw9zzZeZ.js +0 -161
  1077. package/dist/actions.runtime-Bl3HmsmK.js +0 -5
  1078. package/dist/agent-B100XwRG.js +0 -3
  1079. package/dist/agent-command-DZ50g-aj.js +0 -1367
  1080. package/dist/agent-components.runtime-DnSaNi7d.js +0 -10
  1081. package/dist/agent-harness-DnXTPWx1.d.ts +0 -146
  1082. package/dist/agent-harness-runtime-DaV4rR1C.js +0 -180
  1083. package/dist/agent-harness-runtime-ueXiUXG7.d.ts +0 -691
  1084. package/dist/agent-harness-task-runtime-B5qXtlUo.js +0 -140
  1085. package/dist/agent-runner-execution-DswYvVnB.js +0 -1713
  1086. package/dist/agent-runner-utils-C-ApuFC2.js +0 -266
  1087. package/dist/agent-runner.runtime-AWJcjwtq.js +0 -3455
  1088. package/dist/agent-runtime-DBj2wYYT.js +0 -229
  1089. package/dist/agent-seYcOvbr.js +0 -2
  1090. package/dist/agent-via-gateway-DsmD5CB_.js +0 -463
  1091. package/dist/api-3j8-AYUR.js +0 -2
  1092. package/dist/api-B-2aad5k.js +0 -3
  1093. package/dist/api-BQs-StG7.d.ts +0 -52
  1094. package/dist/api-CW__Vtgr.js +0 -2
  1095. package/dist/api-HPtl0keh.js +0 -134
  1096. package/dist/api-TUoQJ9hy.js +0 -639
  1097. package/dist/api-lO5UFagA.js +0 -6
  1098. package/dist/apply-CKZFbbCZ.js +0 -54
  1099. package/dist/apply-CWQW0fcO.js +0 -41
  1100. package/dist/approval-handler.runtime-Dxs5FIYX.js +0 -130
  1101. package/dist/assistant-C6co-tFt.js +0 -291
  1102. package/dist/attachment-normalize-B4MeWmM-.js +0 -225
  1103. package/dist/attempt-execution-HyM73-oB.js +0 -558
  1104. package/dist/attempt-execution.runtime-Cg04ZLci.js +0 -3
  1105. package/dist/attempt-execution.shared-D8t3LxSP.js +0 -38
  1106. package/dist/attempt.prompt-helpers-D3UJTpPO.js +0 -475
  1107. package/dist/attempt.tool-run-context-BU2VN145.js +0 -2094
  1108. package/dist/binding-routing-D_gH_jL6.js +0 -113
  1109. package/dist/binding-targets-D6o8B6Zh.js +0 -121
  1110. package/dist/bot-2Rmed0W1.js +0 -7894
  1111. package/dist/bot-deps-4EL88DaG.js +0 -2
  1112. package/dist/bot-deps-BuJ7aIdM.js +0 -747
  1113. package/dist/bot-message-context.runtime-C_POM7TB.js +0 -7
  1114. package/dist/bot-message-context.session.runtime-z13vVau5.js +0 -12
  1115. package/dist/bot-native-commands.delivery.runtime-DdHEiT16.js +0 -4
  1116. package/dist/bot-native-commands.runtime-6WpFFcJs.js +0 -13
  1117. package/dist/bridge-server-7vcmFxyS.js +0 -113
  1118. package/dist/browser-cli-B_vWqHps.js +0 -2
  1119. package/dist/browser-cli-CH_Wrr0y.js +0 -230
  1120. package/dist/browser-cli-actions-input-B5yayk81.js +0 -473
  1121. package/dist/browser-cli-actions-observe-DIPQ51lO.js +0 -81
  1122. package/dist/browser-cli-debug-BwdoPMnD.js +0 -137
  1123. package/dist/browser-cli-inspect-B9sx123E.js +0 -104
  1124. package/dist/browser-cli-manage-DedJWd2t.js +0 -443
  1125. package/dist/browser-cli-resize-BK7Upkf6.js +0 -26
  1126. package/dist/browser-cli-shared-BrOCq3Sh.js +0 -50
  1127. package/dist/browser-cli-state-zghKovOG.js +0 -337
  1128. package/dist/browser-control-auth-Bostd5cT.js +0 -2
  1129. package/dist/browser-profiles-CqRr4Wty.js +0 -2
  1130. package/dist/browser-runtime-DYcXNTFe.js +0 -384
  1131. package/dist/build-B7BUJ678.js +0 -257
  1132. package/dist/call--ofrTkm2.d.ts +0 -43
  1133. package/dist/capability-cli-iGCvtLvZ.js +0 -1782
  1134. package/dist/channel-2cuSmBy4.js +0 -1134
  1135. package/dist/channel-9YWSWiwf.js +0 -362
  1136. package/dist/channel-B4oKPmgj.js +0 -376
  1137. package/dist/channel-B7_U5O2X.d.ts +0 -7
  1138. package/dist/channel-BB401NdS.js +0 -808
  1139. package/dist/channel-BEA_mKzx.d.ts +0 -26
  1140. package/dist/channel-BJabUugq.d.ts +0 -47
  1141. package/dist/channel-BKV1rFkN.d.ts +0 -14
  1142. package/dist/channel-BOndvVgC.js +0 -562
  1143. package/dist/channel-BY7BhI96.js +0 -740
  1144. package/dist/channel-BYR7MPix.d.ts +0 -49
  1145. package/dist/channel-BjB5CpBn.d.ts +0 -64
  1146. package/dist/channel-Bn3nYwGr.js +0 -238
  1147. package/dist/channel-Bq0P4mcy.d.ts +0 -8
  1148. package/dist/channel-Bqx73Xfw.d.ts +0 -104
  1149. package/dist/channel-BtX8MLkG.js +0 -508
  1150. package/dist/channel-C10EgPXK.js +0 -1777
  1151. package/dist/channel-CBXczxOq.js +0 -2126
  1152. package/dist/channel-CDd-K7_L.d.ts +0 -427
  1153. package/dist/channel-CMyFntxf.d.ts +0 -7
  1154. package/dist/channel-CUfDn8it.d.ts +0 -106
  1155. package/dist/channel-CYmtf4QX.d.ts +0 -28
  1156. package/dist/channel-CjlMF6nZ.js +0 -1249
  1157. package/dist/channel-Cvy8EZB9.d.ts +0 -114
  1158. package/dist/channel-D5TXhzdF.d.ts +0 -6
  1159. package/dist/channel-DI5FldOk.js +0 -1556
  1160. package/dist/channel-DIxiulzS.d.ts +0 -12
  1161. package/dist/channel-DarVzrU0.js +0 -867
  1162. package/dist/channel-Dl91OLha.js +0 -955
  1163. package/dist/channel-DocCxsiu.js +0 -653
  1164. package/dist/channel-DyA_jqoO.d.ts +0 -8
  1165. package/dist/channel-QmbQSGTv.d.ts +0 -8
  1166. package/dist/channel-actions.runtime-CUHJCKE_.js +0 -265
  1167. package/dist/channel-core-C7hYqyZa.js +0 -5
  1168. package/dist/channel-core-RyFlNEih.d.ts +0 -6
  1169. package/dist/channel-dANG2JCI.js +0 -1496
  1170. package/dist/channel-entry-contract-Clc0XDYR.d.ts +0 -112
  1171. package/dist/channel-hjTHWwGB.js +0 -481
  1172. package/dist/channel-inbound-9I2cIpBA.js +0 -80
  1173. package/dist/channel-plugin-runtime-CmCGJ0Au.d.ts +0 -7
  1174. package/dist/channel-plugin-runtime-Z-OcieVm.js +0 -998
  1175. package/dist/channel-runtime-DLB1ulhH.js +0 -408
  1176. package/dist/channel.runtime-BZg_qC-h.js +0 -88
  1177. package/dist/channel.runtime-Bb8yzLKS.js +0 -254
  1178. package/dist/channel.runtime-Ce1jvGI1.js +0 -21009
  1179. package/dist/channel.runtime-Cgv61DAx.js +0 -733
  1180. package/dist/channel.runtime-D53UWp_t.js +0 -1008
  1181. package/dist/channel.runtime-DRJzgTck.js +0 -652
  1182. package/dist/channel.runtime-HbY6z_To.js +0 -2528
  1183. package/dist/channel.runtime-Q-5i32K8.js +0 -109
  1184. package/dist/channel.runtime-uMRW24O5.js +0 -4
  1185. package/dist/channel.setup-8IuuyVLF.d.ts +0 -7
  1186. package/dist/channel.setup-BNReJZbL.d.ts +0 -6
  1187. package/dist/channel.setup-CUqv8gjG.d.ts +0 -8
  1188. package/dist/channel.setup-DcfCAo7j.js +0 -1098
  1189. package/dist/channel.setup-Dowwyubj.js +0 -10
  1190. package/dist/channel.setup-QejDsOvc.js +0 -343
  1191. package/dist/chat-D2x2PI3x.js +0 -2666
  1192. package/dist/chrome-Blg8_1Ga.js +0 -1503
  1193. package/dist/cli-1XiNI5VJ.d.ts +0 -20
  1194. package/dist/cli-Dgwg3-pz.js +0 -1341
  1195. package/dist/cli-backend-CRFgw5h7.d.ts +0 -5
  1196. package/dist/cli-backend-D17of73b.d.ts +0 -5
  1197. package/dist/cli-compaction-BTYcro3j.js +0 -347
  1198. package/dist/cli-metadata-Bjscn7e9.js +0 -22
  1199. package/dist/cli-runner-2BHyHQRE.js +0 -2
  1200. package/dist/cli-runner-DS6qGA6R.js +0 -540
  1201. package/dist/cli-runner.runtime-BE5htmKr.js +0 -3
  1202. package/dist/cli-runner.runtime-C036tXG5.js +0 -4
  1203. package/dist/cli-shared-DvOUSwZ6.d.ts +0 -20
  1204. package/dist/client-DEqsH2D4.js +0 -650
  1205. package/dist/client-adapter-DzlhPUo4.js +0 -897
  1206. package/dist/client-factory-BSU1ib3E.js +0 -9
  1207. package/dist/command-auth-C_AiqwiO.js +0 -135
  1208. package/dist/command-handlers-OJF2c6N4.js +0 -1609
  1209. package/dist/command-registry-CD_2OaHq.js +0 -9
  1210. package/dist/command-registry-PbBsSOfd.js +0 -4
  1211. package/dist/command-registry-core-CxiVQadW.js +0 -110
  1212. package/dist/command-status.runtime-B1X3rcCE.js +0 -90
  1213. package/dist/commands-DrrC2Dxs.d.ts +0 -113
  1214. package/dist/commands-acp-DLP4X4S2.js +0 -74
  1215. package/dist/commands-compact.runtime-FOk0kC30.js +0 -10
  1216. package/dist/commands-handlers.runtime-C1A4JZNR.js +0 -6154
  1217. package/dist/commands-status-BO9W6gf5.js +0 -3
  1218. package/dist/commands-status-BP6Lk772.js +0 -16
  1219. package/dist/commands-status.runtime-BO9W6gf5.js +0 -3
  1220. package/dist/commands-subagents-control.runtime-BKYBoTPO.js +0 -3
  1221. package/dist/commands-subagents-control.runtime-BTVLGiOX.js +0 -2
  1222. package/dist/commands-system-prompt-6S0HboXk.js +0 -2
  1223. package/dist/commands-system-prompt-Cn4LWG4M.js +0 -162
  1224. package/dist/commands.runtime-CFBfDlcn.js +0 -176
  1225. package/dist/compact-BwzLavIX.js +0 -480
  1226. package/dist/compact-a8KocSoa.js +0 -1141
  1227. package/dist/compact.runtime-7NmvKAgQ.js +0 -12
  1228. package/dist/completion-cli-NNp6wKwk.js +0 -315
  1229. package/dist/computer-use-iDDDNELz.js +0 -367
  1230. package/dist/config-ByljSXh4.js +0 -373
  1231. package/dist/config-CqRr4Wty.js +0 -2
  1232. package/dist/config-mutations-CYpEMZM4.js +0 -159
  1233. package/dist/config-schema-B3P5-Tyi.d.ts +0 -20
  1234. package/dist/context-engine-host-compat-BFKL77GS.js +0 -2
  1235. package/dist/context-engine-host-compat-DEGzaqHF.js +0 -288
  1236. package/dist/context-engine-lifecycle-DO3_deW3.js +0 -1274
  1237. package/dist/contracts-testkit-Bq4_r79a.d.ts +0 -145
  1238. package/dist/control-auth-CSoO3u-m.js +0 -114
  1239. package/dist/control-service-RTC5EBRG.js +0 -145
  1240. package/dist/control-ui/assets/agents-DBu1xnIQ.js +0 -1008
  1241. package/dist/control-ui/assets/channel-config-extras-BTMnr0-2.js +0 -2
  1242. package/dist/control-ui/assets/channels-DPhEiv57.js +0 -367
  1243. package/dist/control-ui/assets/cron-9NFr1Dtn.js +0 -1013
  1244. package/dist/control-ui/assets/debug-BIfU0M6O.js +0 -97
  1245. package/dist/control-ui/assets/index-B8yry11C.js +0 -7383
  1246. package/dist/control-ui/assets/instances-B0NpHwtj.js +0 -57
  1247. package/dist/control-ui/assets/logs-BM5wwXiv.js +0 -74
  1248. package/dist/control-ui/assets/nodes-BaB8qLg7.js +0 -436
  1249. package/dist/control-ui/assets/sessions-BaOECVQl.js +0 -399
  1250. package/dist/control-ui/assets/skills-2z1YsycU.js +0 -314
  1251. package/dist/control-ui/assets/skills-shared-Bt3RJSs9.js +0 -11
  1252. package/dist/conversation-binding-runtime-BkGp1EEZ.js +0 -4
  1253. package/dist/conversation-runtime-Dc4kyn6I.js +0 -31
  1254. package/dist/core-DpTiro-3.d.ts +0 -224
  1255. package/dist/core-api-BPcKb_i8.js +0 -5
  1256. package/dist/core-api-CrZneTtL.js +0 -2
  1257. package/dist/core-xamtdH_H.js +0 -282
  1258. package/dist/crestodian-B5PR3Csv.js +0 -55
  1259. package/dist/daocore-runtime-J-ELfByH.d.ts +0 -151
  1260. package/dist/daocore-tools-DPiKwCwv.js +0 -11727
  1261. package/dist/delivery-C_DUWmlo.js +0 -1002
  1262. package/dist/dialogue-cb_e5YhL.js +0 -37
  1263. package/dist/dir-fetch-tool-_cwiSyyf.js +0 -565
  1264. package/dist/dir-list-tool-DSxITPsr.js +0 -100
  1265. package/dist/direct-dm-DMhQ_44G.js +0 -64
  1266. package/dist/directive-handling.fast-lane-BuQm7ATv.js +0 -68
  1267. package/dist/directive-handling.impl-Cg6BSZqs.js +0 -818
  1268. package/dist/directive-handling.impl-DRwZz8QP.js +0 -2
  1269. package/dist/directive-handling.model-selection-CBWMbJEe.js +0 -122
  1270. package/dist/directive-handling.persist.runtime-CaEXJRuV.js +0 -263
  1271. package/dist/dispatch-acp-transcript.runtime-BbofXji5.js +0 -40
  1272. package/dist/dispatch-acp.runtime-BU8Bae3g.js +0 -18
  1273. package/dist/dispatch-hUo7YYto.js +0 -1640
  1274. package/dist/doctor-BmpEwkgJ.js +0 -2
  1275. package/dist/doctor-CeWBv1YP.js +0 -6
  1276. package/dist/doctor-config-flow-CGcXqPz-.js +0 -1741
  1277. package/dist/doctor-core-checks-BoMbo6mo.js +0 -573
  1278. package/dist/doctor-core-checks-Cu-k7jeV.js +0 -2
  1279. package/dist/doctor-health-IPXcw-l8.js +0 -65
  1280. package/dist/doctor-health-contributions-Dd97b_jo.js +0 -696
  1281. package/dist/doctor-lint-CJYlzkQt.js +0 -94
  1282. package/dist/doctor-state-integrity-Bz2Rr3Vt.js +0 -1231
  1283. package/dist/dynamic-tools-BsuKduHL.js +0 -486
  1284. package/dist/embedded-backend-_BDuY59p.js +0 -579
  1285. package/dist/embedded-gateway-stub.runtime-CCqNQhO2.js +0 -12
  1286. package/dist/embedding-provider-BX4CsyuG.d.ts +0 -65
  1287. package/dist/embedding-provider-BafR2kLT.d.ts +0 -16
  1288. package/dist/embedding-provider-CuKrw02x.d.ts +0 -21
  1289. package/dist/exec-approvals-BrYMyTzJ.js +0 -149
  1290. package/dist/file-fetch-tool-CODN3g8W.js +0 -124
  1291. package/dist/file-write-tool-C5QX5QyL.js +0 -127
  1292. package/dist/format-DQD1KeRU.js +0 -1145
  1293. package/dist/gateway-cli-C8BSVGhP.js +0 -435
  1294. package/dist/gateway-method-runtime-D5R0_xou.js +0 -21
  1295. package/dist/gateway-runtime-aQ4wMOn2.d.ts +0 -163
  1296. package/dist/gemini-cli-provider-p3Wt-g9u.d.ts +0 -6
  1297. package/dist/get-reply-B7CRjKr0.js +0 -4689
  1298. package/dist/get-reply-from-config.runtime-Bek7_TGQ.js +0 -2
  1299. package/dist/graph-users-Dbx-kAHO.js +0 -1419
  1300. package/dist/group-access-CGZZ9Zw4.js +0 -112
  1301. package/dist/handle-action.guild-admin-DPadznSY.js +0 -288
  1302. package/dist/harness-Y5vRt57E.js +0 -61
  1303. package/dist/health-CHtCyyXR.js +0 -4
  1304. package/dist/heartbeat-runner-CJuMYFGu.js +0 -5
  1305. package/dist/heartbeat-runner.runtime-ByhmSsBe.js +0 -4
  1306. package/dist/hook-runtime-Cms52qXe.d.ts +0 -107
  1307. package/dist/hooks-DfljOLVZ.js +0 -534
  1308. package/dist/http-registry-d0cZOrH4.d.ts +0 -23
  1309. package/dist/image-generation-runtime-BlRZQfs9.d.ts +0 -21
  1310. package/dist/inbound-direct-dm-runtime-CHVQW2rF.js +0 -2
  1311. package/dist/inbound-reply-dispatch-Buij5TEj.js +0 -148
  1312. package/dist/index-Qw5t9uK1.d.ts +0 -3971
  1313. package/dist/init-D9v7y-FF.js +0 -59
  1314. package/dist/inline-buttons-DngFGXwn.js +0 -40
  1315. package/dist/interactive-dispatch-Bdx3Ptai.d.ts +0 -56
  1316. package/dist/interactive-dispatch-CuGcFHIV.d.ts +0 -143
  1317. package/dist/internal-events-Ds8vnNvI.js +0 -90
  1318. package/dist/isolated-agent-CJrXmjRj.js +0 -1118
  1319. package/dist/isolated-agent-DnYPilU1.js +0 -2
  1320. package/dist/lifecycle-PdHKP9n1.js +0 -571
  1321. package/dist/list.probe-YhLu64oF.js +0 -449
  1322. package/dist/list.status-command-CBJkDk3A.js +0 -789
  1323. package/dist/llm-slug-generator-MB_IGCMp.js +0 -78
  1324. package/dist/loader-Bsb9Q-7_.d.ts +0 -142
  1325. package/dist/local-dispatch.runtime-h4k2lNf4.js +0 -9
  1326. package/dist/manager-CnA4EvPT.d.ts +0 -356
  1327. package/dist/manager.runtime-PiNrwxz5.js +0 -2714
  1328. package/dist/markdown-to-line-CuK2f0hL.js +0 -811
  1329. package/dist/mcp-http-B1936hZb.js +0 -2
  1330. package/dist/mcp-http-DGaROkz-.js +0 -555
  1331. package/dist/media-understanding-provider-D2yWn-dA.js +0 -339
  1332. package/dist/memory-core-host-engine-storage-Cq883pVN.d.ts +0 -54
  1333. package/dist/memory-embedding-adapter-3e_lq-rm.d.ts +0 -5
  1334. package/dist/message-actions-C01D8aqb.js +0 -145
  1335. package/dist/message-handler-DZEKWg9c.js +0 -384
  1336. package/dist/message-handler-Du27mCw3.js +0 -1715
  1337. package/dist/message-handler.preflight-gns1j3RI.js +0 -1125
  1338. package/dist/message-handler.process-ZE6xLE14.js +0 -1484
  1339. package/dist/migration-G44j-xjn.d.ts +0 -45
  1340. package/dist/model-BGHBBM-O.d.ts +0 -33
  1341. package/dist/model-DJ-jxPF9.js +0 -74
  1342. package/dist/model-selection-D6zruNbW.js +0 -272
  1343. package/dist/models-BEgZUHwl.js +0 -2
  1344. package/dist/models-BSTiIZuV.d.ts +0 -24
  1345. package/dist/models-DsCExFRW.js +0 -104
  1346. package/dist/models-cli-YL6EOAYf.js +0 -256
  1347. package/dist/monitor-5mJ_6Wzx.js +0 -715
  1348. package/dist/monitor-AD4TBeSZ.js +0 -1370
  1349. package/dist/monitor-C0LL6WnG.js +0 -2788
  1350. package/dist/monitor-CGMdQbtS.js +0 -60
  1351. package/dist/monitor-D0gzAEpC.js +0 -2
  1352. package/dist/monitor-DBpZiNzR.js +0 -834
  1353. package/dist/monitor-DIscgnQq.js +0 -1657
  1354. package/dist/monitor-DxNTscWM.js +0 -4377
  1355. package/dist/monitor-auth-CZ5kmVt4.js +0 -179
  1356. package/dist/monitor-polling.runtime-DwyGOafD.js +0 -883
  1357. package/dist/monitor-webhook.runtime-B6_w-voh.js +0 -387
  1358. package/dist/monitor.account-KuaeFCBY.js +0 -5233
  1359. package/dist/monitor.runtime-Dgd6IOUP.js +0 -2
  1360. package/dist/monitor.webhook-DKXa_7tM.js +0 -180
  1361. package/dist/node-cli-sessions-Cdtj1-1g.js +0 -1228
  1362. package/dist/openai-codex-provider-BJ3yJOI3.d.ts +0 -5
  1363. package/dist/openai-http-Bk38iry7.js +0 -824
  1364. package/dist/openai-provider-BUw12ZYi.d.ts +0 -5
  1365. package/dist/openresponses-http-Qgd380KE.js +0 -1173
  1366. package/dist/operations-WiWTQ0I_.js +0 -805
  1367. package/dist/outbound-adapter-Dylibo_6.js +0 -543
  1368. package/dist/outbound-session-route-CpWkadYv.js +0 -45
  1369. package/dist/outbound.runtime-YzxRElat.js +0 -2
  1370. package/dist/pi-embedded-Cem9T4vC.js +0 -3796
  1371. package/dist/pi-embedded-ZBZLo58g.js +0 -4
  1372. package/dist/pi-embedded.runtime-B7bAepmQ.js +0 -4
  1373. package/dist/pi-tools-Bry00tVc.js +0 -2413
  1374. package/dist/plan-C6b20dqs.js +0 -112
  1375. package/dist/plan-CvgB19tJ.js +0 -81
  1376. package/dist/plugin-D7KMkiyc.d.ts +0 -17
  1377. package/dist/plugin-ROH9OSK3.js +0 -12396
  1378. package/dist/plugin-app-cache-key-gan6h73x.js +0 -46
  1379. package/dist/plugin-enabled-mitipa7w.js +0 -233
  1380. package/dist/plugin-entry-CbYkZjZt.d.ts +0 -47
  1381. package/dist/plugin-registration-CgEDAyCi.js +0 -88
  1382. package/dist/plugin-runtime-qBhXX4eH.d.ts +0 -117
  1383. package/dist/plugin-sdk/scripts/lib/plugin-sdk-doc-metadata.d.ts +0 -107
  1384. package/dist/plugin-service-BWR8ZdUE.d.ts +0 -24
  1385. package/dist/plugin-service-rjOmRHHQ.js +0 -1229
  1386. package/dist/policy-D3OiaSrk.js +0 -138
  1387. package/dist/policy-DJvRI7NG.js +0 -680
  1388. package/dist/prepare.runtime-DmEFjD0S.js +0 -732
  1389. package/dist/preview-warnings-DXJsCe7S.js +0 -392
  1390. package/dist/probe-BloeoAg3.js +0 -47
  1391. package/dist/probe-DStYFpUV.js +0 -2204
  1392. package/dist/probe-MNvi1pdT.js +0 -2
  1393. package/dist/probe-sd3F1m8C.js +0 -682
  1394. package/dist/program-B8yRIlce.js +0 -131
  1395. package/dist/prompt-overlay-DungN3Tg.d.ts +0 -23
  1396. package/dist/provider-BIILh9RN.js +0 -8735
  1397. package/dist/provider-ChMNiQ8y.js +0 -32
  1398. package/dist/provider-DaYEXjlT.js +0 -32
  1399. package/dist/provider-QIHXthAE.js +0 -152
  1400. package/dist/provider-api-key-auth-CzihUOtx.d.ts +0 -27
  1401. package/dist/provider-auth-result-C1jZuBOj.d.ts +0 -21
  1402. package/dist/provider-catalog-runtime-BM2WSwBe.d.ts +0 -23
  1403. package/dist/provider-catalog-shared-V3U8oPRH.d.ts +0 -62
  1404. package/dist/provider-dispatcher-CpK0h5AY.js +0 -22
  1405. package/dist/provider-hook-runtime-DbHl3OXn.d.ts +0 -61
  1406. package/dist/provider-model-shared-D8udcgvU.d.ts +0 -143
  1407. package/dist/provider-models-CvWNudCt.d.ts +0 -12
  1408. package/dist/provider-policy-B590y3eL.d.ts +0 -30
  1409. package/dist/provider-registration-DtgzXp4a.d.ts +0 -6
  1410. package/dist/provider-registry-CigB4WdJ.d.ts +0 -8
  1411. package/dist/provider-registry-DlH65cBa.d.ts +0 -8
  1412. package/dist/provider-registry-zJLmdAgk.d.ts +0 -30
  1413. package/dist/provider-runtime-DcaWH6cy.d.ts +0 -359
  1414. package/dist/provider-self-hosted-setup-BpYqU243.d.ts +0 -74
  1415. package/dist/provider-session.runtime-DJY43xlT.js +0 -9
  1416. package/dist/provider-stream-C9pnMwO3.d.ts +0 -140
  1417. package/dist/provider-stream-shared-C9CDeoV0.d.ts +0 -128
  1418. package/dist/provider.runtime-B-_NBu2e.js +0 -2
  1419. package/dist/providers.runtime-CQPWI0N5.d.ts +0 -25
  1420. package/dist/public-surface-loader-C3eBwXIg.js +0 -114
  1421. package/dist/pw-ai-D6ZZlCTy.js +0 -3029
  1422. package/dist/pw-role-snapshot-B9XPxSUy.js +0 -333
  1423. package/dist/reaction-level-D-RH3ng5.js +0 -19
  1424. package/dist/reaction-runtime-api-D7PX2U18.js +0 -116
  1425. package/dist/realtime-transcription-BymeE0SZ.d.ts +0 -43
  1426. package/dist/realtime-transcription-provider-B261RQvK.d.ts +0 -5
  1427. package/dist/realtime-transcription-provider-BClY1JJH.d.ts +0 -28
  1428. package/dist/realtime-transcription-provider-BIWIO9_b.d.ts +0 -37
  1429. package/dist/realtime-transcription-provider-DP9Cu2va.js +0 -205
  1430. package/dist/realtime-transcription-provider-FkfT2Hk3.d.ts +0 -32
  1431. package/dist/realtime-voice-DorWac4v.d.ts +0 -333
  1432. package/dist/realtime-voice-provider-WWskhne-.d.ts +0 -5
  1433. package/dist/register-DUQPmsog.js +0 -2178
  1434. package/dist/register.agent-7QUWl-mg.js +0 -156
  1435. package/dist/register.crestodian-DN_hJJH1.js +0 -24
  1436. package/dist/register.maintenance-Dl5VacCT.js +0 -105
  1437. package/dist/register.runtime-C-8r-Osn.d.ts +0 -6
  1438. package/dist/register.runtime-pqq4D7OJ.js +0 -54
  1439. package/dist/register.subclis-DVAI57l5.js +0 -3
  1440. package/dist/register.subclis-core-DzEQLEgH.js +0 -273
  1441. package/dist/register.subclis-gqMQ90b_.js +0 -31
  1442. package/dist/registry-Czro53aZ.d.ts +0 -91
  1443. package/dist/registry-types-CFAX_5Ui.d.ts +0 -392
  1444. package/dist/repair-sequencing-Bdyk-MVB.js +0 -640
  1445. package/dist/reply-delivery-L9WgGzuq.js +0 -196
  1446. package/dist/reply-runtime-BfCD9IoV.js +0 -11
  1447. package/dist/reply.runtime-Bek7_TGQ.js +0 -2
  1448. package/dist/request-C5DwZfwM.js +0 -54
  1449. package/dist/resolve-allowlist-CuSHqder.js +0 -220
  1450. package/dist/result-fallback-classifier-BZDCROBa.js +0 -79
  1451. package/dist/route-ekBW2AXH.js +0 -469
  1452. package/dist/route-resolution-BWtcJ_-D.js +0 -274
  1453. package/dist/routes-DMPqf3hd.js +0 -2
  1454. package/dist/routes-DUtl3-DF.js +0 -3602
  1455. package/dist/run-attempt-DTCeaaX-.js +0 -7704
  1456. package/dist/run-command-BGtXIREK.js +0 -23
  1457. package/dist/run-command-D6EmFc8P.js +0 -2
  1458. package/dist/run-d5W13SWa.js +0 -1163
  1459. package/dist/run-embedded.runtime-C6ks9Hqg.js +0 -4
  1460. package/dist/run-execution-cli.runtime-C-eqTPL4.js +0 -4
  1461. package/dist/run-subagent-registry.runtime-BdGQhmDX.js +0 -2
  1462. package/dist/runtime-BLf38bJo.js +0 -6179
  1463. package/dist/runtime-CixhcBxY.js +0 -438
  1464. package/dist/runtime-D_qs6GVc.js +0 -1287
  1465. package/dist/runtime-api-4_fW4Omx.js +0 -13
  1466. package/dist/runtime-api-BNSdaPaa.js +0 -24
  1467. package/dist/runtime-api-C0kMkp3-.js +0 -17
  1468. package/dist/runtime-api-CFHkeGQE.js +0 -21
  1469. package/dist/runtime-api-CQURxxdr.js +0 -13
  1470. package/dist/runtime-api-CdNqScg5.js +0 -4
  1471. package/dist/runtime-api-DZdhr1ci.js +0 -3
  1472. package/dist/runtime-api-IHGJb9tV2.d.ts +0 -5
  1473. package/dist/runtime-api.actions-djrdcuZB.js +0 -3
  1474. package/dist/runtime-api.monitor-CR0EcmlX.js +0 -6
  1475. package/dist/runtime-api.send-Bbf9nWLl.js +0 -4
  1476. package/dist/runtime-api.threads-DVkl2i5u.js +0 -2
  1477. package/dist/runtime-channel-DP-Msgik.js +0 -2
  1478. package/dist/runtime-channel-yjxvaHd0.js +0 -150
  1479. package/dist/runtime-embedded-pi.runtime-BP1s-cjH.js +0 -2
  1480. package/dist/runtime-taskflow-D6a3pmnd.d.ts +0 -435
  1481. package/dist/sanitize-outbound-o2fLEtBa.js +0 -127
  1482. package/dist/sdk-setup-tools-B1REDkEH.js +0 -8
  1483. package/dist/secrets-_CuKhs-n.js +0 -113
  1484. package/dist/security-audit-2FUh_yPu.js +0 -118
  1485. package/dist/security-audit-D4Alw1v_.js +0 -122
  1486. package/dist/security-audit.runtime-BVVS0ij4.js +0 -2
  1487. package/dist/selection-BzF03IWI.js +0 -16157
  1488. package/dist/selection-DzlB9-W6.js +0 -3
  1489. package/dist/send-BJgMjm-E.js +0 -192
  1490. package/dist/send-BfcWitEl.js +0 -1631
  1491. package/dist/send-D0UmueeV.js +0 -143
  1492. package/dist/send-DTaUxC6S.js +0 -2
  1493. package/dist/send.components-9bWOYgfb.js +0 -2
  1494. package/dist/send.components-CKS5pYj3.js +0 -500
  1495. package/dist/send.runtime-C6OAXLZ9.js +0 -2
  1496. package/dist/server-M6reilRN.js +0 -73
  1497. package/dist/server-cczsZaUW.js +0 -24
  1498. package/dist/server-context-16uMqket.js +0 -955
  1499. package/dist/server-context-DGgYp87O.js +0 -2
  1500. package/dist/server-cron-Cw5jKbSB.js +0 -2
  1501. package/dist/server-cron-D9PCFmDd.js +0 -2989
  1502. package/dist/server-methods-DOJObO5N.js +0 -16499
  1503. package/dist/server-node-events-CFN2vj4W.js +0 -596
  1504. package/dist/server-plugin-bootstrap-CPcmY78O.js +0 -70
  1505. package/dist/server-plugins-BaeejkCh.js +0 -432
  1506. package/dist/server-reload-handlers-yFcYI6rV.js +0 -714
  1507. package/dist/server-restart-sentinel-CQJiGJ1U.js +0 -2
  1508. package/dist/server-restart-sentinel-RjDAMiiP.js +0 -747
  1509. package/dist/server-runtime-services-CdLKIbjq.js +0 -2
  1510. package/dist/server-runtime-services-DDuY5ldE.js +0 -267
  1511. package/dist/server-startup-plugins-Nz4jNz3W.js +0 -113
  1512. package/dist/server-startup-post-attach-CDthyKUu.js +0 -716
  1513. package/dist/server-ws-runtime-3f3D7r9c.js +0 -349
  1514. package/dist/server.impl--oOf1RD7.js +0 -2587
  1515. package/dist/service-A6s6JO02.js +0 -1446
  1516. package/dist/session-binding-CXS_ROgc.js +0 -219
  1517. package/dist/session-binding-LlqV_wHK.js +0 -2
  1518. package/dist/session-kill-http-DWeCdcZV.js +0 -121
  1519. package/dist/session-reset-service-C8FMaj2F.js +0 -625
  1520. package/dist/session-route-c0eb134F.js +0 -93
  1521. package/dist/session-status.runtime-4B4eoskj.js +0 -2
  1522. package/dist/session-subagent-reactivation.runtime-Dxsic1Vo.js +0 -2
  1523. package/dist/session-tab-registry-DLrzWEP9.js +0 -521
  1524. package/dist/sessions-history-http-D1mmoA1J.js +0 -430
  1525. package/dist/sessions.runtime-XIAkLbgF.js +0 -2
  1526. package/dist/setup-api-BVJKYFuY.js +0 -29
  1527. package/dist/setup-core-CH42NHfS.js +0 -174
  1528. package/dist/setup-surface-B9zRmWOO.js +0 -221
  1529. package/dist/setup-surface-DwNH03av.js +0 -405
  1530. package/dist/setup-surface-IvUwWi_P.js +0 -320
  1531. package/dist/setup-surface-mxmGNrcM.js +0 -288
  1532. package/dist/shared-BvsCHhUg.js +0 -121
  1533. package/dist/shared-JT5TFl_s.d.ts +0 -115
  1534. package/dist/shared-client-CxD94nCE.js +0 -2
  1535. package/dist/shared-client-TOYmgvaC.js +0 -629
  1536. package/dist/side-question-BE6mVbcD.js +0 -683
  1537. package/dist/simple-completion-runtime-BNYV3r2K.d.ts +0 -73
  1538. package/dist/skill-tool-dispatch.runtime-DAdz7ONQ.js +0 -143
  1539. package/dist/slash-state-BlYkF4HO.js +0 -2166
  1540. package/dist/speech-Dkkm-1em.d.ts +0 -47
  1541. package/dist/speech-core-BTnv2bMx.d.ts +0 -36
  1542. package/dist/speech-provider-BIegxSO8.d.ts +0 -8
  1543. package/dist/speech-provider-BbnGVJ-Q.d.ts +0 -5
  1544. package/dist/speech-provider-BjO8o-1F.d.ts +0 -34
  1545. package/dist/speech-provider-Bxv4Hv93.d.ts +0 -5
  1546. package/dist/speech-provider-CSyESAFJ.d.ts +0 -8
  1547. package/dist/speech-provider-CzJIJL-v.js +0 -184
  1548. package/dist/speech-provider-DuchHb5M.d.ts +0 -5
  1549. package/dist/src-C5zGZbwb.js +0 -4256
  1550. package/dist/startup-context-jF2QVYSQ.js +0 -313
  1551. package/dist/status-subagents.runtime-DjG6zkZC.js +0 -18
  1552. package/dist/status-text-ByAKvG9S.js +0 -296
  1553. package/dist/sticker-cache-CuUwoUBk.js +0 -206
  1554. package/dist/sticker-vision.runtime-BeuYN8dE.js +0 -17
  1555. package/dist/stream-B1lSqoOr.d.ts +0 -10
  1556. package/dist/stream-C-YdDKb3.d.ts +0 -16
  1557. package/dist/stream-CKyJUQcf.d.ts +0 -5
  1558. package/dist/stream-CPlcW1BF.d.ts +0 -19
  1559. package/dist/stream-_S3dXQRr.d.ts +0 -120
  1560. package/dist/stream-wrappers-BwNnthW6.d.ts +0 -21
  1561. package/dist/subagent-announce-DpDbm9gc.js +0 -354
  1562. package/dist/subagent-announce-delivery-jVOqP73o.js +0 -958
  1563. package/dist/subagent-control-CwCeKTAf.js +0 -508
  1564. package/dist/subagent-hooks-BOiX61kK.js +0 -2
  1565. package/dist/subagent-hooks-BYR_t-tc.js +0 -2
  1566. package/dist/subagent-hooks-CsCYHmhg.js +0 -2
  1567. package/dist/subagent-hooks-EbIqnBfF.js +0 -230
  1568. package/dist/subagent-hooks-api-BQTHdfu9.js +0 -23
  1569. package/dist/subagent-hooks-api-BbPzDisR.js +0 -23
  1570. package/dist/subagent-hooks-api-CaK18xbV.js +0 -22
  1571. package/dist/subagent-hooks-iTEFxZsy.js +0 -146
  1572. package/dist/subagent-hooks-nC3xzxkl.js +0 -116
  1573. package/dist/subagent-orphan-recovery-8vmSTFgg.js +0 -352
  1574. package/dist/subagent-registry-BQiMVPpm.js +0 -3
  1575. package/dist/subagent-registry-Cbcg4B5r.js +0 -2351
  1576. package/dist/subagent-session-cleanup-C0rvXUHJ.js +0 -525
  1577. package/dist/subagent-spawn-C7qb6Xeh.js +0 -1164
  1578. package/dist/target-id-D8-jAcuu.js +0 -107
  1579. package/dist/targets-0zN3hrEr.d.ts +0 -10
  1580. package/dist/targets-Bb7vk38n.js +0 -19
  1581. package/dist/targets-CD00fPOp.js +0 -44
  1582. package/dist/targets-DSPJ8vAR.js +0 -19
  1583. package/dist/targets-LL8EOMbE.d.ts +0 -10
  1584. package/dist/test-fixtures-HY6a4nTW.d.ts +0 -26
  1585. package/dist/testing-CLnRANmm.js +0 -267
  1586. package/dist/thinking-policy-qgb27VHv.d.ts +0 -5
  1587. package/dist/thread-bindings-Bkwc2J66.js +0 -228
  1588. package/dist/thread-bindings-CNMoMUQb.js +0 -232
  1589. package/dist/thread-bindings-DgXKF9yY.js +0 -8
  1590. package/dist/thread-bindings-djvvwYbc.js +0 -571
  1591. package/dist/thread-bindings.discord-api-C4SqAw6w.js +0 -187
  1592. package/dist/thread-bindings.manager-BumlxAXA.js +0 -2
  1593. package/dist/thread-bindings.manager-DI4VzP2R.js +0 -536
  1594. package/dist/thread-lifecycle-iXf_pfx4.js +0 -1614
  1595. package/dist/token-Bb6OnAuJ.js +0 -134
  1596. package/dist/tool-PsNYA2Li.js +0 -139
  1597. package/dist/tool-actions.runtime-ImLggb3i.js +0 -534
  1598. package/dist/tool-plugin-DCe7qc4T.d.ts +0 -77
  1599. package/dist/tool-resolution-QBc_Wzpb.js +0 -149
  1600. package/dist/tool-split-BdJyMYry.d.ts +0 -19
  1601. package/dist/tools-effective-inventory-C-Z__vce.js +0 -204
  1602. package/dist/tools-invoke-http-Dj1KVZvJ.js +0 -67
  1603. package/dist/tools-invoke-shared-ayj1QlZ6.js +0 -200
  1604. package/dist/transport-stream-BDfZ4h_j.d.ts +0 -42
  1605. package/dist/tts-myCDkwXy.js +0 -66
  1606. package/dist/tui-CH0V-Adl.js +0 -4709
  1607. package/dist/tui-Dzfpgrzy.js +0 -2
  1608. package/dist/tui-backend-D6j5V1sg.js +0 -256
  1609. package/dist/tui-cli-B_n7W25g.js +0 -37
  1610. package/dist/typed-cases-BYRVKA1F.d.ts +0 -68
  1611. package/dist/types-Bq__KspS.d.ts +0 -786
  1612. package/dist/types-DnrQyzr_2.d.ts +0 -3650
  1613. package/dist/types.public-XxxJRbkm.d.ts +0 -70
  1614. package/dist/update-cli-B8pYwRG3.js +0 -3665
  1615. package/dist/video-generation-runtime-m6CZZJvU.d.ts +0 -21
  1616. package/dist/video-model-catalog-BjzFe2rQ.d.ts +0 -16
  1617. package/dist/vision-tools-_n3POB-p.js +0 -1409
  1618. package/dist/web-search-AzcGKmyk.js +0 -62
  1619. package/dist/web-search-provider.runtime-CXHenOTG.js +0 -2
  1620. package/dist/web-search-provider.runtime-CdnLsStq.js +0 -328
  1621. package/dist/webhook-targets-CMIRhqsl.d.ts +0 -99
  1622. package/dist/xai-oauth-DLHrEnjd.js +0 -479
  1623. package/dist/xai-user-agent-DE6yc3A1.js +0 -32
  1624. /package/dist/{acp-runtime-backend-D9tiyDVJ.js → acp-runtime-backend-g9H_CVLT.js} +0 -0
  1625. /package/dist/{channel-actions-BXNnIi_Z.js → channel-actions-DusdCKRy.js} +0 -0
  1626. /package/dist/{command-status-runtime-BoIMMMSM.js → command-status-runtime-LKbnzn5j.js} +0 -0
  1627. /package/dist/{delegate-RyMv0AoR.js → delegate-B4TYvL9i.js} +0 -0
  1628. /package/dist/{dispatch-acp-kTlTPqrk.js → dispatch-acp-B-04vNVY.js} +0 -0
  1629. /package/dist/{heartbeat-runner-ChrVDFRL.js → heartbeat-runner-Cp01i5b7.js} +0 -0
  1630. /package/dist/{library-BRqx411H.js → library-BnsODxr_.js} +0 -0
  1631. /package/dist/{run-executor.runtime-BcFbycTN.js → run-executor.runtime-DpQD-Pli.js} +0 -0
  1632. /package/dist/{shared-D843h85s.js → shared-C3GTxUg0.js} +0 -0
  1633. /package/dist/{runtime-api-BMFYHiAb.d.ts → test-support-BVVgDSdq.d.ts} +0 -0
@@ -1,1631 +0,0 @@
1
- import { a as normalizeLowercaseStringOrEmpty, c as normalizeOptionalString, s as normalizeOptionalLowercaseString } from "./string-coerce-DyL154ka.js";
2
- import { s as redactSensitiveText } from "./redact-k3QW092R.js";
3
- import { a as formatUncaughtError, i as formatErrorMessage } from "./errors-DcaOtHe_.js";
4
- import { t as isDiagnosticFlagEnabled } from "./diagnostic-flags-BbmySUrJ.js";
5
- import { i as replaceFileAtomicSync } from "./replace-file-DJ-yT_Qm.js";
6
- import { r as logVerbose } from "./globals-Csu8e9gS.js";
7
- import { t as createSubsystemLogger } from "./subsystem-DSOOUm_n.js";
8
- import { d as readConfigFileSnapshotForWrite } from "./io-DT0v1_Se.js";
9
- import { i as replaceConfigFile } from "./mutate-CVp_XCgE.js";
10
- import { u as resolveStorePath } from "./paths-BOlS_zKk.js";
11
- import { c as kindFromMime, s as isGifMedia } from "./mime-DppuT-pZ.js";
12
- import { i as saveCronStore, r as resolveCronStorePath, t as loadCronStore } from "./store-jjhplGXD.js";
13
- import { c as getImageMetadata, n as probeVideoDimensions } from "./media-services-Dxi1fbPj.js";
14
- import { t as loadWebMedia } from "./web-media-gN2-FRpj.js";
15
- import { n as normalizePollInput } from "./polls-C-v11_tu.js";
16
- import { r as makeProxyFetch } from "./proxy-fetch-_NoTGiSu.js";
17
- import { t as buildOutboundMediaLoadOptions } from "./load-options-LnfEFXDj.js";
18
- import { o as normalizeTelegramApiRoot, r as resolveTelegramTransport } from "./fetch-3hh3f3mA.js";
19
- import "./error-runtime-Czea1rVK.js";
20
- import "./runtime-env-VHMtsJ2y.js";
21
- import "./string-coerce-runtime-DcopKqDR.js";
22
- import { a as isRecoverableTelegramNetworkError, c as isTelegramMisdirectedRequestError, d as isTelegramServerError, f as tagTelegramNetworkError, o as isSafeToRetrySendError, r as resolveTelegramRequestTimeoutMs, u as isTelegramRateLimitError } from "./request-timeouts-DYVtzAge.js";
23
- import { t as resolveMarkdownTableMode } from "./markdown-tables-DS90xiWC.js";
24
- import { n as recordChannelActivity } from "./channel-activity-eMQlJ3BE.js";
25
- import { r as isVoiceCompatibleAudio } from "./audio-CVFIRHpA.js";
26
- import { t as requireRuntimeConfig } from "./plugin-config-runtime-BhkqZ7bA.js";
27
- import "./config-mutation-DB0ulDoY.js";
28
- import "./cron-store-runtime--UiQy5DN.js";
29
- import "./web-media-BDbBXv_6.js";
30
- import { n as createChannelApiRetryRunner } from "./retry-policy-DzSG5zEA.js";
31
- import "./ssrf-runtime-DLMlI4lg.js";
32
- import "./media-runtime-Fc7m-cWM.js";
33
- import "./security-runtime-BRJD4bO6.js";
34
- import "./logging-core-kzo6k1f0.js";
35
- import "./markdown-table-runtime-BSyifO2p.js";
36
- import "./session-store-runtime-CnexFgYq.js";
37
- import "./retry-runtime-DEVoznqZ.js";
38
- import { o as resolveTelegramAccount } from "./accounts-CIeBJ5eT.js";
39
- import { i as parseTelegramTarget, n as normalizeTelegramChatId, r as normalizeTelegramLookupTarget } from "./targets-D0gFWyUZ.js";
40
- import { J as normalizeTelegramReplyToMessageId, a as renderTelegramHtmlText, g as buildTypingThreadParams, h as buildTelegramThreadParams, o as splitTelegramHtmlChunks, s as telegramHtmlToPlainTextFallback } from "./format-DQD1KeRU.js";
41
- import fs from "node:fs";
42
- import * as grammy from "grammy";
43
- import { Bot, Bot as Bot$1, HttpError } from "grammy";
44
- import { sequentialize } from "@grammyjs/runner";
45
- import { apiThrottler } from "@grammyjs/transformer-throttler";
46
- //#region extensions/telegram/src/account-throttler.ts
47
- var GroupFairQueue = class {
48
- constructor() {
49
- this.lanes = /* @__PURE__ */ new Map();
50
- this.laneOrder = [];
51
- this.nextLaneIndex = 0;
52
- this.running = false;
53
- }
54
- enqueue(laneKey, run) {
55
- return new Promise((resolve, reject) => {
56
- const request = {
57
- run,
58
- resolve,
59
- reject
60
- };
61
- const existing = this.lanes.get(laneKey);
62
- if (existing) existing.push(request);
63
- else {
64
- this.lanes.set(laneKey, [request]);
65
- this.laneOrder.push(laneKey);
66
- }
67
- this.start();
68
- });
69
- }
70
- start() {
71
- if (this.running) return;
72
- this.running = true;
73
- this.drain();
74
- }
75
- async drain() {
76
- try {
77
- while (true) {
78
- const request = this.takeNext();
79
- if (!request) return;
80
- try {
81
- request.resolve(await request.run());
82
- } catch (err) {
83
- request.reject(err);
84
- }
85
- }
86
- } finally {
87
- this.running = false;
88
- if (this.laneOrder.length > 0) this.start();
89
- }
90
- }
91
- takeNext() {
92
- for (let scanned = 0; scanned < this.laneOrder.length; scanned += 1) {
93
- this.nextLaneIndex %= this.laneOrder.length;
94
- const laneKey = this.laneOrder[this.nextLaneIndex];
95
- const queue = this.lanes.get(laneKey);
96
- if (!queue || queue.length === 0) {
97
- this.lanes.delete(laneKey);
98
- this.laneOrder.splice(this.nextLaneIndex, 1);
99
- if (this.laneOrder.length === 0) {
100
- this.nextLaneIndex = 0;
101
- return;
102
- }
103
- continue;
104
- }
105
- const request = queue.shift();
106
- this.nextLaneIndex += 1;
107
- return request;
108
- }
109
- }
110
- };
111
- const throttlerByToken = /* @__PURE__ */ new Map();
112
- function readNumericId(value) {
113
- if (typeof value === "number") return Number.isFinite(value) ? Math.trunc(value) : void 0;
114
- if (typeof value !== "string") return;
115
- const numeric = Number(value.trim());
116
- return Number.isFinite(numeric) ? Math.trunc(numeric) : void 0;
117
- }
118
- function readPayload(payload) {
119
- return payload && typeof payload === "object" ? payload : void 0;
120
- }
121
- function resolveGroupChatKey(payload) {
122
- const chatId = readNumericId(payload.chat_id);
123
- return chatId !== void 0 && chatId < 0 ? String(chatId) : void 0;
124
- }
125
- function resolveForumLaneKey(payload) {
126
- const threadId = readNumericId(payload.message_thread_id);
127
- if (threadId !== void 0) return `topic:${threadId}`;
128
- const directTopicId = readNumericId(payload.direct_messages_topic_id);
129
- if (directTopicId !== void 0) return `direct-topic:${directTopicId}`;
130
- const messageId = readNumericId(payload.message_id);
131
- if (messageId !== void 0) return `message:${messageId}`;
132
- return "main";
133
- }
134
- function createTelegramAccountThrottler(createThrottler = apiThrottler) {
135
- const baseThrottler = createThrottler();
136
- const fairQueuesByChat = /* @__PURE__ */ new Map();
137
- return (prev, method, payload, signal) => {
138
- const apiPayload = readPayload(payload);
139
- const groupChatKey = apiPayload ? resolveGroupChatKey(apiPayload) : void 0;
140
- if (!apiPayload || !groupChatKey) return baseThrottler(prev, method, payload, signal);
141
- let fairQueue = fairQueuesByChat.get(groupChatKey);
142
- if (!fairQueue) {
143
- fairQueue = new GroupFairQueue();
144
- fairQueuesByChat.set(groupChatKey, fairQueue);
145
- }
146
- const laneKey = resolveForumLaneKey(apiPayload);
147
- return fairQueue.enqueue(laneKey, () => baseThrottler(prev, method, payload, signal));
148
- };
149
- }
150
- function getOrCreateAccountThrottler(token, createThrottler = apiThrottler) {
151
- let throttler = throttlerByToken.get(token);
152
- if (!throttler) {
153
- throttler = createTelegramAccountThrottler(createThrottler);
154
- throttlerByToken.set(token, throttler);
155
- }
156
- return throttler;
157
- }
158
- //#endregion
159
- //#region extensions/telegram/src/api-logging.ts
160
- const fallbackLogger = createSubsystemLogger("telegram/api");
161
- function resolveTelegramApiLogger(runtime, logger) {
162
- if (logger) return logger;
163
- if (runtime?.error) return runtime.error;
164
- return (message) => fallbackLogger.error(message);
165
- }
166
- async function withTelegramApiErrorLogging({ operation, fn, runtime, logger, shouldLog }) {
167
- try {
168
- return await fn();
169
- } catch (err) {
170
- if (!shouldLog || shouldLog(err)) {
171
- const errText = formatErrorMessage(err);
172
- resolveTelegramApiLogger(runtime, logger)(`telegram ${operation} failed: ${errText}`);
173
- }
174
- throw err;
175
- }
176
- }
177
- function splitTelegramCaption(text) {
178
- const trimmed = text?.trim() ?? "";
179
- if (!trimmed) return {
180
- caption: void 0,
181
- followUpText: void 0
182
- };
183
- if (trimmed.length > 1024) return {
184
- caption: void 0,
185
- followUpText: trimmed
186
- };
187
- return {
188
- caption: trimmed,
189
- followUpText: void 0
190
- };
191
- }
192
- //#endregion
193
- //#region extensions/telegram/src/client-fetch.ts
194
- function asTelegramClientFetch(fetchImpl) {
195
- return fetchImpl;
196
- }
197
- function asTelegramCompatFetch(fetchImpl) {
198
- return fetchImpl;
199
- }
200
- function isTelegramAbortSignalLike(value) {
201
- return typeof value === "object" && value !== null && "aborted" in value && typeof value.aborted === "boolean" && typeof value.addEventListener === "function" && typeof value.removeEventListener === "function";
202
- }
203
- function readRequestUrl(input) {
204
- if (typeof input === "string") return input;
205
- if (input instanceof URL) return input.toString();
206
- if (input instanceof Request) return input.url;
207
- return null;
208
- }
209
- function extractTelegramApiMethod(input) {
210
- const url = readRequestUrl(input);
211
- if (!url) return null;
212
- try {
213
- const segments = new URL(url).pathname.split("/").filter(Boolean);
214
- return normalizeOptionalLowercaseString(segments.length > 0 ? segments.at(-1) ?? null : null) ?? null;
215
- } catch {
216
- return null;
217
- }
218
- }
219
- const TELEGRAM_TIMEOUT_FALLBACK_METHODS = new Set([
220
- "deletemycommands",
221
- "deletewebhook",
222
- "getme",
223
- "sendchataction",
224
- "setmycommands",
225
- "setwebhook"
226
- ]);
227
- function shouldRetryTimedOutTelegramControlRequest(method) {
228
- return method !== null && TELEGRAM_TIMEOUT_FALLBACK_METHODS.has(method);
229
- }
230
- function resolveTelegramClientTimeoutSeconds(params) {
231
- const { value, minimum } = params;
232
- if (typeof value !== "number" || !Number.isFinite(value)) return;
233
- const configured = Math.max(1, Math.floor(value));
234
- if (typeof minimum !== "number" || !Number.isFinite(minimum)) return configured;
235
- return Math.max(configured, Math.max(1, Math.floor(minimum)));
236
- }
237
- function resolveTelegramClientTimeoutMinimumSeconds(values) {
238
- let minimum;
239
- for (const value of values) {
240
- if (typeof value !== "number" || !Number.isFinite(value)) continue;
241
- const normalized = Math.max(1, Math.ceil(value));
242
- minimum = minimum === void 0 ? normalized : Math.max(minimum, normalized);
243
- }
244
- return minimum;
245
- }
246
- function resolveTelegramOutboundClientTimeoutFloorSeconds(timeoutSeconds) {
247
- const timeoutMs = resolveTelegramRequestTimeoutMs("sendmessage", timeoutSeconds);
248
- return timeoutMs === void 0 ? void 0 : timeoutMs / 1e3;
249
- }
250
- function createTelegramClientFetch(params) {
251
- if (!params.fetchImpl && !params.shutdownSignal) return;
252
- const callFetch = asTelegramCompatFetch(params.fetchImpl ?? asTelegramClientFetch(globalThis.fetch));
253
- const wrappedFetch = async (input, init) => {
254
- const method = extractTelegramApiMethod(input);
255
- const requestTimeoutMs = resolveTelegramRequestTimeoutMs(method, params.timeoutSeconds);
256
- const shutdownSignal = isTelegramAbortSignalLike(params.shutdownSignal) ? params.shutdownSignal : void 0;
257
- const requestSignal = isTelegramAbortSignalLike(init?.signal) ? init.signal : void 0;
258
- const canForceTransportFallback = (reason) => !shutdownSignal?.aborted && !requestSignal?.aborted && params.transport?.forceFallback?.(reason) === true;
259
- const runFetch = async () => {
260
- const controller = new AbortController();
261
- const abortWith = (signal) => controller.abort(signal.reason);
262
- const onShutdown = () => {
263
- if (shutdownSignal) abortWith(shutdownSignal);
264
- };
265
- let requestTimeout;
266
- let onRequestAbort;
267
- let requestTimedOut = false;
268
- const timeoutError = requestTimeoutMs !== void 0 ? /* @__PURE__ */ new Error(`Telegram ${method} timed out after ${requestTimeoutMs}ms`) : void 0;
269
- if (shutdownSignal?.aborted) abortWith(shutdownSignal);
270
- else if (shutdownSignal) shutdownSignal.addEventListener("abort", onShutdown, { once: true });
271
- if (requestSignal) if (requestSignal.aborted) abortWith(requestSignal);
272
- else {
273
- onRequestAbort = () => abortWith(requestSignal);
274
- requestSignal.addEventListener("abort", onRequestAbort);
275
- }
276
- if (requestTimeoutMs && timeoutError) {
277
- requestTimeout = setTimeout(() => {
278
- requestTimedOut = true;
279
- controller.abort(timeoutError);
280
- }, requestTimeoutMs);
281
- requestTimeout.unref?.();
282
- }
283
- try {
284
- return await callFetch(input, {
285
- ...init,
286
- signal: controller.signal
287
- });
288
- } catch (err) {
289
- if (requestTimedOut && timeoutError) throw timeoutError;
290
- throw err;
291
- } finally {
292
- if (requestTimeout) clearTimeout(requestTimeout);
293
- shutdownSignal?.removeEventListener("abort", onShutdown);
294
- if (requestSignal && onRequestAbort) requestSignal.removeEventListener("abort", onRequestAbort);
295
- }
296
- };
297
- try {
298
- const response = await runFetch();
299
- if (response.status === 421 && canForceTransportFallback("misdirected-request")) return await runFetch();
300
- return response;
301
- } catch (err) {
302
- if (requestTimeoutMs && shouldRetryTimedOutTelegramControlRequest(method) && canForceTransportFallback("request-timeout")) return await runFetch();
303
- if (isTelegramMisdirectedRequestError(err) && canForceTransportFallback("misdirected-request")) return await runFetch();
304
- throw err;
305
- }
306
- };
307
- return (input, init) => {
308
- return Promise.resolve(wrappedFetch(input, init)).catch((err) => {
309
- try {
310
- tagTelegramNetworkError(err, {
311
- method: extractTelegramApiMethod(input),
312
- url: readRequestUrl(input)
313
- });
314
- } catch {}
315
- throw err;
316
- });
317
- };
318
- }
319
- //#endregion
320
- //#region extensions/telegram/src/inline-keyboard.ts
321
- function toInlineKeyboardButton(button) {
322
- if (!button?.text) return;
323
- if (button.url) return button.style ? {
324
- text: button.text,
325
- url: button.url,
326
- style: button.style
327
- } : {
328
- text: button.text,
329
- url: button.url
330
- };
331
- if (button.callback_data) return button.style ? {
332
- text: button.text,
333
- callback_data: button.callback_data,
334
- style: button.style
335
- } : {
336
- text: button.text,
337
- callback_data: button.callback_data
338
- };
339
- if (button.web_app?.url) return button.style ? {
340
- text: button.text,
341
- web_app: { url: button.web_app.url },
342
- style: button.style
343
- } : {
344
- text: button.text,
345
- web_app: { url: button.web_app.url }
346
- };
347
- }
348
- function buildInlineKeyboard(buttons) {
349
- if (!buttons?.length) return;
350
- const rows = buttons.map((row) => row.map(toInlineKeyboardButton).filter((button) => Boolean(button))).filter((row) => row.length > 0);
351
- if (rows.length === 0) return;
352
- return { inline_keyboard: rows };
353
- }
354
- //#endregion
355
- //#region extensions/telegram/src/reply-parameters.ts
356
- function resolveTelegramSendThreadSpec(params) {
357
- const messageThreadId = params.messageThreadId != null ? params.messageThreadId : params.targetMessageThreadId;
358
- if (messageThreadId == null) return;
359
- return {
360
- id: messageThreadId,
361
- scope: params.chatType === "direct" ? "dm" : "forum"
362
- };
363
- }
364
- function buildTelegramThreadReplyParams(opts) {
365
- const params = {};
366
- const threadParams = buildTelegramThreadParams(opts?.thread);
367
- if (threadParams) params.message_thread_id = threadParams.message_thread_id;
368
- const replyToMessageId = normalizeTelegramReplyToMessageId(opts?.replyToMessageId);
369
- if (replyToMessageId == null) return params;
370
- const defaultQuoteMessageId = opts?.useReplyIdAsQuoteSource === true ? replyToMessageId : void 0;
371
- const replyQuoteTextRaw = normalizeTelegramReplyToMessageId(opts?.replyQuoteMessageId ?? defaultQuoteMessageId) === replyToMessageId ? opts?.replyQuoteText : void 0;
372
- const replyQuoteText = replyQuoteTextRaw?.trim() ? replyQuoteTextRaw : void 0;
373
- if (!replyQuoteText) {
374
- params.reply_to_message_id = replyToMessageId;
375
- params.allow_sending_without_reply = true;
376
- return params;
377
- }
378
- const replyParameters = {
379
- message_id: replyToMessageId,
380
- quote: replyQuoteText,
381
- allow_sending_without_reply: true
382
- };
383
- if (typeof opts?.replyQuotePosition === "number" && Number.isFinite(opts.replyQuotePosition)) replyParameters.quote_position = Math.trunc(opts.replyQuotePosition);
384
- if (Array.isArray(opts?.replyQuoteEntities) && opts.replyQuoteEntities.length > 0) replyParameters.quote_entities = opts.replyQuoteEntities;
385
- params.reply_parameters = replyParameters;
386
- return params;
387
- }
388
- function buildTelegramSendParams(opts) {
389
- const params = { ...buildTelegramThreadReplyParams(opts) };
390
- if (opts?.silent === true) params.disable_notification = true;
391
- return params;
392
- }
393
- function getTelegramNativeQuoteReplyMessageId(params) {
394
- const replyParameters = params?.reply_parameters;
395
- if (!replyParameters || typeof replyParameters !== "object") return;
396
- const messageId = replyParameters.message_id;
397
- return typeof messageId === "number" && Number.isFinite(messageId) ? messageId : void 0;
398
- }
399
- function removeTelegramNativeQuoteParam(params) {
400
- if (!params) return {};
401
- const replyMessageId = getTelegramNativeQuoteReplyMessageId(params);
402
- const { reply_parameters: _ignored, ...rest } = params;
403
- if (replyMessageId != null) {
404
- rest.reply_to_message_id = replyMessageId;
405
- rest.allow_sending_without_reply = true;
406
- }
407
- return rest;
408
- }
409
- //#endregion
410
- //#region extensions/telegram/src/sent-message-cache.ts
411
- const TTL_MS = 1440 * 60 * 1e3;
412
- const TELEGRAM_SENT_MESSAGES_STATE_KEY = Symbol.for("daocore.telegramSentMessagesState");
413
- function getSentMessageState() {
414
- const globalStore = globalThis;
415
- const existing = globalStore[TELEGRAM_SENT_MESSAGES_STATE_KEY];
416
- if (existing) return existing;
417
- const state = { bucketsByPath: /* @__PURE__ */ new Map() };
418
- globalStore[TELEGRAM_SENT_MESSAGES_STATE_KEY] = state;
419
- return state;
420
- }
421
- function createSentMessageStore() {
422
- return /* @__PURE__ */ new Map();
423
- }
424
- function resolveSentMessageStorePath(cfg) {
425
- return `${resolveStorePath(cfg?.session?.store)}.telegram-sent-messages.json`;
426
- }
427
- function cleanupExpired(store, scopeKey, entry, now) {
428
- for (const [id, timestamp] of entry) if (now - timestamp > TTL_MS) entry.delete(id);
429
- if (entry.size === 0) store.delete(scopeKey);
430
- }
431
- function readPersistedSentMessages(filePath) {
432
- if (!fs.existsSync(filePath)) return createSentMessageStore();
433
- try {
434
- const raw = fs.readFileSync(filePath, "utf-8");
435
- const parsed = JSON.parse(raw);
436
- const now = Date.now();
437
- const store = createSentMessageStore();
438
- for (const [chatId, entry] of Object.entries(parsed)) {
439
- const messages = /* @__PURE__ */ new Map();
440
- for (const [messageId, timestamp] of Object.entries(entry)) if (typeof timestamp === "number" && Number.isFinite(timestamp) && now - timestamp <= TTL_MS) messages.set(messageId, timestamp);
441
- if (messages.size > 0) store.set(chatId, messages);
442
- }
443
- return store;
444
- } catch (error) {
445
- logVerbose(`telegram: failed to read sent-message cache: ${String(error)}`);
446
- return createSentMessageStore();
447
- }
448
- }
449
- function getSentMessageBucket(cfg) {
450
- const state = getSentMessageState();
451
- const persistedPath = resolveSentMessageStorePath(cfg);
452
- const existing = state.bucketsByPath.get(persistedPath);
453
- if (existing) return existing;
454
- const bucket = {
455
- persistedPath,
456
- store: readPersistedSentMessages(persistedPath)
457
- };
458
- state.bucketsByPath.set(persistedPath, bucket);
459
- return bucket;
460
- }
461
- function getSentMessages(cfg) {
462
- return getSentMessageBucket(cfg).store;
463
- }
464
- function persistSentMessages(bucket) {
465
- const { store, persistedPath } = bucket;
466
- const now = Date.now();
467
- const serialized = {};
468
- for (const [chatId, entry] of store) {
469
- cleanupExpired(store, chatId, entry, now);
470
- if (entry.size > 0) serialized[chatId] = Object.fromEntries(entry);
471
- }
472
- if (Object.keys(serialized).length === 0) {
473
- fs.rmSync(persistedPath, { force: true });
474
- return;
475
- }
476
- replaceFileAtomicSync({
477
- filePath: persistedPath,
478
- content: JSON.stringify(serialized),
479
- tempPrefix: ".telegram-sent-message-cache"
480
- });
481
- }
482
- function recordSentMessage(chatId, messageId, cfg) {
483
- const scopeKey = String(chatId);
484
- const idKey = String(messageId);
485
- const now = Date.now();
486
- const bucket = getSentMessageBucket(cfg);
487
- const { store } = bucket;
488
- let entry = store.get(scopeKey);
489
- if (!entry) {
490
- entry = /* @__PURE__ */ new Map();
491
- store.set(scopeKey, entry);
492
- }
493
- entry.set(idKey, now);
494
- if (entry.size > 100) cleanupExpired(store, scopeKey, entry, now);
495
- try {
496
- persistSentMessages(bucket);
497
- } catch (error) {
498
- logVerbose(`telegram: failed to persist sent-message cache: ${String(error)}`);
499
- }
500
- }
501
- function wasSentByBot(chatId, messageId, cfg) {
502
- const scopeKey = String(chatId);
503
- const idKey = String(messageId);
504
- const store = getSentMessages(cfg);
505
- const entry = store.get(scopeKey);
506
- if (!entry) return false;
507
- cleanupExpired(store, scopeKey, entry, Date.now());
508
- return entry.has(idKey);
509
- }
510
- //#endregion
511
- //#region extensions/telegram/src/target-writeback.ts
512
- const writebackLogger = createSubsystemLogger("telegram/target-writeback");
513
- const TELEGRAM_ADMIN_SCOPE = "operator.admin";
514
- function asObjectRecord(value) {
515
- if (!value || typeof value !== "object" || Array.isArray(value)) return null;
516
- return value;
517
- }
518
- function normalizeTelegramLookupTargetForMatch(raw) {
519
- const normalized = normalizeTelegramLookupTarget(raw);
520
- if (!normalized) return;
521
- return normalized.startsWith("@") ? normalizeLowercaseStringOrEmpty(normalized) : normalized;
522
- }
523
- function normalizeTelegramTargetForMatch(raw) {
524
- const parsed = parseTelegramTarget(raw);
525
- const normalized = normalizeTelegramLookupTargetForMatch(parsed.chatId);
526
- if (!normalized) return;
527
- return `${normalized}|${parsed.messageThreadId == null ? "" : String(parsed.messageThreadId)}`;
528
- }
529
- function buildResolvedTelegramTarget(params) {
530
- const { raw, parsed, resolvedChatId } = params;
531
- if (parsed.messageThreadId == null) return resolvedChatId;
532
- return raw.includes(":topic:") ? `${resolvedChatId}:topic:${parsed.messageThreadId}` : `${resolvedChatId}:${parsed.messageThreadId}`;
533
- }
534
- function resolveLegacyRewrite(params) {
535
- const parsed = parseTelegramTarget(params.raw);
536
- if (normalizeTelegramChatId(parsed.chatId)) return null;
537
- const normalized = normalizeTelegramLookupTargetForMatch(parsed.chatId);
538
- if (!normalized) return null;
539
- return {
540
- matchKey: `${normalized}|${parsed.messageThreadId == null ? "" : String(parsed.messageThreadId)}`,
541
- resolvedTarget: buildResolvedTelegramTarget({
542
- raw: params.raw,
543
- parsed,
544
- resolvedChatId: params.resolvedChatId
545
- })
546
- };
547
- }
548
- function rewriteTargetIfMatch(params) {
549
- if (typeof params.rawValue !== "string" && typeof params.rawValue !== "number") return null;
550
- const value = normalizeOptionalString(String(params.rawValue)) ?? "";
551
- if (!value) return null;
552
- if (normalizeTelegramTargetForMatch(value) !== params.matchKey) return null;
553
- return params.resolvedTarget;
554
- }
555
- function replaceTelegramDefaultToTargets(params) {
556
- let changed = false;
557
- const telegram = asObjectRecord(params.cfg.channels?.telegram);
558
- if (!telegram) return changed;
559
- const maybeReplace = (holder, key) => {
560
- const nextTarget = rewriteTargetIfMatch({
561
- rawValue: holder[key],
562
- matchKey: params.matchKey,
563
- resolvedTarget: params.resolvedTarget
564
- });
565
- if (!nextTarget) return;
566
- holder[key] = nextTarget;
567
- changed = true;
568
- };
569
- maybeReplace(telegram, "defaultTo");
570
- const accounts = asObjectRecord(telegram.accounts);
571
- if (!accounts) return changed;
572
- for (const accountId of Object.keys(accounts)) {
573
- const account = asObjectRecord(accounts[accountId]);
574
- if (!account) continue;
575
- maybeReplace(account, "defaultTo");
576
- }
577
- return changed;
578
- }
579
- async function maybePersistResolvedTelegramTarget(params) {
580
- const raw = params.rawTarget.trim();
581
- if (!raw) return;
582
- const rewrite = resolveLegacyRewrite({
583
- raw,
584
- resolvedChatId: params.resolvedChatId
585
- });
586
- if (!rewrite) return;
587
- const { matchKey, resolvedTarget } = rewrite;
588
- if (Array.isArray(params.gatewayClientScopes) && !params.gatewayClientScopes.includes(TELEGRAM_ADMIN_SCOPE)) {
589
- writebackLogger.warn(`skipping Telegram target writeback for ${raw} because gateway caller is missing ${TELEGRAM_ADMIN_SCOPE}`);
590
- return;
591
- }
592
- try {
593
- const { snapshot, writeOptions } = await readConfigFileSnapshotForWrite();
594
- const nextConfig = structuredClone(snapshot.config ?? {});
595
- if (replaceTelegramDefaultToTargets({
596
- cfg: nextConfig,
597
- matchKey,
598
- resolvedTarget
599
- })) {
600
- await replaceConfigFile({
601
- nextConfig,
602
- snapshot,
603
- writeOptions,
604
- afterWrite: { mode: "auto" }
605
- });
606
- if (params.verbose) writebackLogger.warn(`resolved Telegram defaultTo target ${raw} -> ${resolvedTarget}`);
607
- }
608
- } catch (err) {
609
- if (params.verbose) writebackLogger.warn(`failed to persist Telegram defaultTo target ${raw}: ${String(err)}`);
610
- }
611
- try {
612
- const storePath = resolveCronStorePath(params.cfg.cron?.store);
613
- const store = await loadCronStore(storePath);
614
- let cronChanged = false;
615
- for (const job of store.jobs) {
616
- if (job.delivery?.channel !== "telegram") continue;
617
- const nextTarget = rewriteTargetIfMatch({
618
- rawValue: job.delivery.to,
619
- matchKey,
620
- resolvedTarget
621
- });
622
- if (!nextTarget) continue;
623
- job.delivery.to = nextTarget;
624
- cronChanged = true;
625
- }
626
- if (cronChanged) {
627
- await saveCronStore(storePath, store);
628
- if (params.verbose) writebackLogger.warn(`resolved Telegram cron delivery target ${raw} -> ${resolvedTarget}`);
629
- }
630
- } catch (err) {
631
- if (params.verbose) writebackLogger.warn(`failed to persist Telegram cron target ${raw}: ${String(err)}`);
632
- }
633
- }
634
- //#endregion
635
- //#region extensions/telegram/src/voice.ts
636
- function resolveTelegramVoiceDecision(opts) {
637
- if (!opts.wantsVoice) return { useVoice: false };
638
- if (isVoiceCompatibleAudio(opts)) return { useVoice: true };
639
- return {
640
- useVoice: false,
641
- reason: `media is ${opts.contentType ?? "unknown"} (${opts.fileName ?? "unknown"})`
642
- };
643
- }
644
- function resolveTelegramVoiceSend(opts) {
645
- const decision = resolveTelegramVoiceDecision(opts);
646
- if (decision.reason && opts.logFallback) opts.logFallback(`Telegram voice requested but ${decision.reason}; sending as audio file instead.`);
647
- return { useVoice: decision.useVoice };
648
- }
649
- //#endregion
650
- //#region extensions/telegram/src/send.ts
651
- const InputFileCtor = grammy.InputFile;
652
- const MAX_TELEGRAM_PHOTO_DIMENSION_SUM = 1e4;
653
- const MAX_TELEGRAM_PHOTO_ASPECT_RATIO = 20;
654
- function resolveTelegramMessageIdOrThrow(result, context) {
655
- if (typeof result?.message_id === "number" && Number.isFinite(result.message_id)) return Math.trunc(result.message_id);
656
- throw new Error(`Telegram ${context} returned no message_id`);
657
- }
658
- function splitTelegramPlainTextChunks(text, limit) {
659
- if (!text) return [];
660
- const normalizedLimit = Math.max(1, Math.floor(limit));
661
- const chunks = [];
662
- for (let start = 0; start < text.length; start += normalizedLimit) chunks.push(text.slice(start, start + normalizedLimit));
663
- return chunks;
664
- }
665
- function splitTelegramPlainTextFallback(text, chunkCount, limit) {
666
- if (!text) return [];
667
- const normalizedLimit = Math.max(1, Math.floor(limit));
668
- const fixedChunks = splitTelegramPlainTextChunks(text, normalizedLimit);
669
- if (chunkCount <= 1 || fixedChunks.length >= chunkCount) return fixedChunks;
670
- const chunks = [];
671
- let offset = 0;
672
- for (let index = 0; index < chunkCount; index += 1) {
673
- const remainingChars = text.length - offset;
674
- const remainingChunks = chunkCount - index;
675
- const nextChunkLength = remainingChunks === 1 ? remainingChars : Math.min(normalizedLimit, Math.ceil(remainingChars / remainingChunks));
676
- chunks.push(text.slice(offset, offset + nextChunkLength));
677
- offset += nextChunkLength;
678
- }
679
- return chunks;
680
- }
681
- function logTelegramOutboundSendOk(params) {
682
- const parts = [
683
- "telegram outbound send ok",
684
- `accountId=${params.accountId}`,
685
- `chatId=${params.chatId}`,
686
- `messageId=${params.messageId}`,
687
- `operation=${params.operation}`
688
- ];
689
- if (params.deliveryKind) parts.push(`deliveryKind=${params.deliveryKind}`);
690
- if (typeof params.messageThreadId === "number") parts.push(`threadId=${params.messageThreadId}`);
691
- if (typeof params.replyToMessageId === "number") parts.push(`replyToMessageId=${params.replyToMessageId}`);
692
- if (params.silent === true) parts.push("silent=true");
693
- if (typeof params.chunkCount === "number") parts.push(`chunkCount=${params.chunkCount}`);
694
- sendLogger.info(parts.join(" "));
695
- }
696
- const PARSE_ERR_RE = /can't parse entities|parse entities|find end of the entity/i;
697
- const MESSAGE_NOT_MODIFIED_RE = /400:\s*Bad Request:\s*message is not modified|MESSAGE_NOT_MODIFIED/i;
698
- const MESSAGE_DELETE_NOOP_RE = /message to delete not found|message can't be deleted|MESSAGE_ID_INVALID|MESSAGE_DELETE_FORBIDDEN/i;
699
- const CHAT_NOT_FOUND_RE = /400: Bad Request: chat not found/i;
700
- const sendLogger = createSubsystemLogger("telegram/send");
701
- const diagLogger = createSubsystemLogger("telegram/diagnostic");
702
- const telegramClientOptionsCache = /* @__PURE__ */ new Map();
703
- const MAX_TELEGRAM_CLIENT_OPTIONS_CACHE_SIZE = 64;
704
- function resetTelegramClientOptionsCacheForTests() {
705
- telegramClientOptionsCache.clear();
706
- }
707
- function createTelegramHttpLogger(cfg) {
708
- if (!isDiagnosticFlagEnabled("telegram.http", cfg)) return () => {};
709
- return (label, err) => {
710
- if (!(err instanceof HttpError)) return;
711
- const detail = redactSensitiveText(formatUncaughtError(err.error ?? err));
712
- diagLogger.warn(`telegram http error (${label}): ${detail}`);
713
- };
714
- }
715
- function shouldUseTelegramClientOptionsCache() {
716
- return !process.env.VITEST && true;
717
- }
718
- function buildTelegramClientOptionsCacheKey(params) {
719
- const proxyKey = params.account.config.proxy?.trim() ?? "";
720
- const autoSelectFamily = params.account.config.network?.autoSelectFamily;
721
- const autoSelectFamilyKey = typeof autoSelectFamily === "boolean" ? String(autoSelectFamily) : "default";
722
- const dnsResultOrderKey = params.account.config.network?.dnsResultOrder ?? "default";
723
- const apiRootKey = params.account.config.apiRoot?.trim() ?? "";
724
- const timeoutSecondsKey = typeof params.timeoutSeconds === "number" ? String(params.timeoutSeconds) : "default";
725
- return `${params.account.accountId}::${proxyKey}::${autoSelectFamilyKey}::${dnsResultOrderKey}::${apiRootKey}::${timeoutSecondsKey}`;
726
- }
727
- function setCachedTelegramClientOptions(cacheKey, clientOptions) {
728
- telegramClientOptionsCache.set(cacheKey, clientOptions);
729
- if (telegramClientOptionsCache.size > MAX_TELEGRAM_CLIENT_OPTIONS_CACHE_SIZE) {
730
- const oldestKey = telegramClientOptionsCache.keys().next().value;
731
- if (oldestKey !== void 0) telegramClientOptionsCache.delete(oldestKey);
732
- }
733
- return clientOptions;
734
- }
735
- function resolveTelegramClientOptions(account) {
736
- const timeoutSeconds = typeof account.config.timeoutSeconds === "number" && Number.isFinite(account.config.timeoutSeconds) ? Math.max(1, Math.floor(account.config.timeoutSeconds)) : void 0;
737
- const cacheKey = shouldUseTelegramClientOptionsCache() ? buildTelegramClientOptionsCacheKey({
738
- account,
739
- timeoutSeconds
740
- }) : null;
741
- if (cacheKey && telegramClientOptionsCache.has(cacheKey)) return telegramClientOptionsCache.get(cacheKey);
742
- const proxyUrl = normalizeOptionalString(account.config.proxy);
743
- const proxyFetch = proxyUrl ? makeProxyFetch(proxyUrl) : void 0;
744
- const apiRoot = normalizeOptionalString(account.config.apiRoot);
745
- const normalizedApiRoot = apiRoot ? normalizeTelegramApiRoot(apiRoot) : void 0;
746
- const transport = resolveTelegramTransport(proxyFetch, { network: account.config.network });
747
- const fetchImpl = createTelegramClientFetch({
748
- fetchImpl: asTelegramClientFetch(transport.fetch),
749
- timeoutSeconds,
750
- transport
751
- });
752
- const clientOptions = fetchImpl || timeoutSeconds || normalizedApiRoot ? {
753
- ...fetchImpl ? { fetch: asTelegramClientFetch(fetchImpl) } : {},
754
- ...timeoutSeconds ? { timeoutSeconds } : {},
755
- ...normalizedApiRoot ? { apiRoot: normalizedApiRoot } : {}
756
- } : void 0;
757
- if (cacheKey) return setCachedTelegramClientOptions(cacheKey, clientOptions);
758
- return clientOptions;
759
- }
760
- function resolveToken(explicit, params) {
761
- if (explicit?.trim()) return explicit.trim();
762
- if (!params.token) throw new Error(`Telegram bot token missing for account "${params.accountId}" (set channels.telegram.accounts.${params.accountId}.botToken/tokenFile or TELEGRAM_BOT_TOKEN for default).`);
763
- return params.token.trim();
764
- }
765
- async function resolveChatId(to, params) {
766
- const numericChatId = normalizeTelegramChatId(to);
767
- if (numericChatId) return numericChatId;
768
- const lookupTarget = normalizeTelegramLookupTarget(to);
769
- const getChat = params.api.getChat;
770
- if (!lookupTarget || typeof getChat !== "function") throw new Error("Telegram recipient must be a numeric chat ID");
771
- try {
772
- const chat = await getChat.call(params.api, lookupTarget);
773
- const resolved = normalizeTelegramChatId(String(chat?.id ?? ""));
774
- if (!resolved) throw new Error(`resolved chat id is not numeric (${String(chat?.id ?? "")})`);
775
- if (params.verbose) sendLogger.warn(`telegram recipient ${lookupTarget} resolved to numeric chat id ${resolved}`);
776
- return resolved;
777
- } catch (err) {
778
- const detail = formatErrorMessage(err);
779
- throw new Error(`Telegram recipient ${lookupTarget} could not be resolved to a numeric chat ID (${detail})`, { cause: err });
780
- }
781
- }
782
- async function resolveAndPersistChatId(params) {
783
- const chatId = await resolveChatId(params.lookupTarget, {
784
- api: params.api,
785
- verbose: params.verbose
786
- });
787
- await maybePersistResolvedTelegramTarget({
788
- cfg: params.cfg,
789
- rawTarget: params.persistTarget,
790
- resolvedChatId: chatId,
791
- verbose: params.verbose,
792
- gatewayClientScopes: params.gatewayClientScopes
793
- });
794
- return chatId;
795
- }
796
- function normalizeMessageId(raw) {
797
- if (typeof raw === "number" && Number.isFinite(raw)) return Math.trunc(raw);
798
- if (typeof raw === "string") {
799
- const value = raw.trim();
800
- if (!value) throw new Error("Message id is required for Telegram actions");
801
- const parsed = Number.parseInt(value, 10);
802
- if (Number.isFinite(parsed)) return parsed;
803
- }
804
- throw new Error("Message id is required for Telegram actions");
805
- }
806
- function isTelegramMessageNotModifiedError(err) {
807
- return MESSAGE_NOT_MODIFIED_RE.test(formatErrorMessage(err));
808
- }
809
- function isTelegramMessageDeleteNoopError(err) {
810
- return MESSAGE_DELETE_NOOP_RE.test(formatErrorMessage(err));
811
- }
812
- function isTelegramHtmlParseError(err) {
813
- return PARSE_ERR_RE.test(formatErrorMessage(err));
814
- }
815
- async function withTelegramHtmlParseFallback(params) {
816
- try {
817
- return await params.requestHtml(params.label);
818
- } catch (err) {
819
- if (!isTelegramHtmlParseError(err)) throw err;
820
- if (params.verbose) sendLogger.warn(`telegram ${params.label} failed with HTML parse error, retrying as plain text: ${formatErrorMessage(err)}`);
821
- return await params.requestPlain(`${params.label}-plain`);
822
- }
823
- }
824
- function resolveTelegramApiContext(opts) {
825
- const cfg = requireRuntimeConfig(opts.cfg, "Telegram API context");
826
- const account = resolveTelegramAccount({
827
- cfg,
828
- accountId: opts.accountId
829
- });
830
- const token = resolveToken(opts.token, account);
831
- const client = resolveTelegramClientOptions(account);
832
- let api;
833
- if (opts.api) api = opts.api;
834
- else {
835
- const bot = new Bot(token, client ? { client } : void 0);
836
- bot.api.config.use(getOrCreateAccountThrottler(token));
837
- api = bot.api;
838
- }
839
- return {
840
- cfg,
841
- account,
842
- api
843
- };
844
- }
845
- function createTelegramRequestWithDiag(params) {
846
- const request = createChannelApiRetryRunner({
847
- retry: params.retry,
848
- configRetry: params.account.config.retry,
849
- verbose: params.verbose,
850
- ...params.shouldRetry ? { shouldRetry: params.shouldRetry } : {},
851
- ...params.strictShouldRetry ? { strictShouldRetry: true } : {}
852
- });
853
- const logHttpError = createTelegramHttpLogger(params.cfg);
854
- return (fn, label, options) => {
855
- const runRequest = () => request(fn, label);
856
- return (params.useApiErrorLogging === false ? runRequest() : withTelegramApiErrorLogging({
857
- operation: label ?? "request",
858
- fn: runRequest,
859
- ...options?.shouldLog ? { shouldLog: options.shouldLog } : {}
860
- })).catch((err) => {
861
- logHttpError(label ?? "request", err);
862
- throw err;
863
- });
864
- };
865
- }
866
- function wrapTelegramChatNotFoundError(err, params) {
867
- const errorMsg = formatErrorMessage(err);
868
- if (/403.*(bot.*not.*member|bot.*blocked|bot.*kicked)/i.test(errorMsg)) return new Error([
869
- `Telegram send failed: bot is not a member of the chat, was blocked, or was kicked (chat_id=${params.chatId}).`,
870
- `Telegram API said: ${errorMsg}.`,
871
- "Fix: Add the bot to the channel/group, or ensure it has not been removed/blocked/kicked by the user.",
872
- `Input was: ${JSON.stringify(params.input)}.`
873
- ].join(" "));
874
- if (!CHAT_NOT_FOUND_RE.test(errorMsg)) return err;
875
- return new Error([
876
- `Telegram send failed: chat not found (chat_id=${params.chatId}).`,
877
- "Likely: bot not started in DM, bot removed from group/channel, group migrated (new -100… id), or wrong bot token.",
878
- `Input was: ${JSON.stringify(params.input)}.`
879
- ].join(" "));
880
- }
881
- function createRequestWithChatNotFound(params) {
882
- return async (fn, label) => params.requestWithDiag(fn, label).catch((err) => {
883
- throw wrapTelegramChatNotFoundError(err, {
884
- chatId: params.chatId,
885
- input: params.input
886
- });
887
- });
888
- }
889
- function createTelegramNonIdempotentRequestWithDiag(params) {
890
- return createTelegramRequestWithDiag({
891
- cfg: params.cfg,
892
- account: params.account,
893
- retry: params.retry,
894
- verbose: params.verbose,
895
- useApiErrorLogging: params.useApiErrorLogging,
896
- shouldRetry: (err) => isSafeToRetrySendError(err) || isTelegramRateLimitError(err),
897
- strictShouldRetry: true
898
- });
899
- }
900
- async function sendMessageTelegram(to, text, opts) {
901
- const { cfg, account, api } = resolveTelegramApiContext(opts);
902
- const target = parseTelegramTarget(to);
903
- const chatId = await resolveAndPersistChatId({
904
- cfg,
905
- api,
906
- lookupTarget: target.chatId,
907
- persistTarget: to,
908
- verbose: opts.verbose,
909
- gatewayClientScopes: opts.gatewayClientScopes
910
- });
911
- const mediaUrl = opts.mediaUrl?.trim();
912
- const mediaMaxBytes = opts.maxBytes ?? (typeof account.config.mediaMaxMb === "number" ? account.config.mediaMaxMb : 100) * 1024 * 1024;
913
- const replyMarkup = buildInlineKeyboard(opts.buttons);
914
- const threadParams = buildTelegramThreadReplyParams({
915
- thread: resolveTelegramSendThreadSpec({
916
- targetMessageThreadId: target.messageThreadId,
917
- messageThreadId: opts.messageThreadId,
918
- chatType: target.chatType
919
- }),
920
- replyToMessageId: opts.replyToMessageId,
921
- replyQuoteText: opts.quoteText,
922
- useReplyIdAsQuoteSource: true
923
- });
924
- const hasThreadParams = Object.keys(threadParams).length > 0;
925
- const requestWithChatNotFound = createRequestWithChatNotFound({
926
- requestWithDiag: createTelegramNonIdempotentRequestWithDiag({
927
- cfg,
928
- account,
929
- retry: opts.retry,
930
- verbose: opts.verbose
931
- }),
932
- chatId,
933
- input: to
934
- });
935
- const textMode = opts.textMode ?? "markdown";
936
- const tableMode = resolveMarkdownTableMode({
937
- cfg,
938
- channel: "telegram",
939
- accountId: account.accountId
940
- });
941
- const renderHtmlText = (value) => renderTelegramHtmlText(value, {
942
- textMode,
943
- tableMode
944
- });
945
- const linkPreviewOptions = account.config.linkPreview ?? true ? void 0 : { is_disabled: true };
946
- const sendTelegramTextChunk = async (chunk, params) => {
947
- const baseParams = params ? { ...params } : {};
948
- if (linkPreviewOptions) baseParams.link_preview_options = linkPreviewOptions;
949
- const plainParams = {
950
- ...baseParams,
951
- ...opts.silent === true ? { disable_notification: true } : {}
952
- };
953
- const hasPlainParams = Object.keys(plainParams).length > 0;
954
- const requestPlain = (label) => requestWithChatNotFound(() => hasPlainParams ? api.sendMessage(chatId, chunk.plainText, plainParams) : api.sendMessage(chatId, chunk.plainText), label);
955
- return {
956
- result: !chunk.htmlText ? await requestPlain("message") : await withTelegramHtmlParseFallback({
957
- label: "message",
958
- verbose: opts.verbose,
959
- requestHtml: (label) => requestWithChatNotFound(() => api.sendMessage(chatId, chunk.htmlText ?? chunk.plainText, {
960
- parse_mode: "HTML",
961
- ...plainParams
962
- }), label),
963
- requestPlain
964
- }),
965
- acceptedParams: params
966
- };
967
- };
968
- const buildTextParams = (isLastChunk) => hasThreadParams || isLastChunk && replyMarkup ? {
969
- ...threadParams,
970
- ...isLastChunk && replyMarkup ? { reply_markup: replyMarkup } : {}
971
- } : void 0;
972
- const sendTelegramTextChunks = async (chunks, context) => {
973
- let lastMessageId = "";
974
- let lastChatId = chatId;
975
- let lastAcceptedParams;
976
- let sentChunkCount = 0;
977
- for (let index = 0; index < chunks.length; index += 1) {
978
- const chunk = chunks[index];
979
- if (!chunk) continue;
980
- const { result: res, acceptedParams } = await sendTelegramTextChunk(chunk, buildTextParams(index === chunks.length - 1));
981
- const messageId = resolveTelegramMessageIdOrThrow(res, context);
982
- recordSentMessage(chatId, messageId, cfg);
983
- lastMessageId = String(messageId);
984
- lastChatId = String(res?.chat?.id ?? chatId);
985
- lastAcceptedParams = acceptedParams;
986
- sentChunkCount += 1;
987
- }
988
- if (lastMessageId) logTelegramOutboundSendOk({
989
- accountId: account.accountId,
990
- chatId: lastChatId,
991
- messageId: lastMessageId,
992
- operation: "sendMessage",
993
- deliveryKind: "text",
994
- messageThreadId: lastAcceptedParams?.message_thread_id,
995
- replyToMessageId: opts.replyToMessageId,
996
- silent: opts.silent,
997
- chunkCount: sentChunkCount
998
- });
999
- return {
1000
- messageId: lastMessageId,
1001
- chatId: lastChatId
1002
- };
1003
- };
1004
- const buildChunkedTextPlan = (rawText, context) => {
1005
- const htmlText = renderHtmlText(rawText);
1006
- const fallbackText = opts.plainText ?? (textMode === "html" ? telegramHtmlToPlainTextFallback(htmlText) : rawText);
1007
- let htmlChunks;
1008
- try {
1009
- htmlChunks = splitTelegramHtmlChunks(htmlText, 4e3);
1010
- } catch (error) {
1011
- logVerbose(`telegram ${context} failed HTML chunk planning, retrying as plain text: ${formatErrorMessage(error)}`);
1012
- return splitTelegramPlainTextChunks(fallbackText, 4e3).map((plainText) => ({ plainText }));
1013
- }
1014
- const fixedPlainTextChunks = splitTelegramPlainTextChunks(fallbackText, 4e3);
1015
- if (fixedPlainTextChunks.length > htmlChunks.length) {
1016
- logVerbose(`telegram ${context} plain-text fallback needs more chunks than HTML; sending plain text`);
1017
- return fixedPlainTextChunks.map((plainText) => ({ plainText }));
1018
- }
1019
- const plainTextChunks = splitTelegramPlainTextFallback(fallbackText, htmlChunks.length, 4e3);
1020
- return htmlChunks.map((htmlText, index) => ({
1021
- htmlText,
1022
- plainText: plainTextChunks[index] ?? htmlText
1023
- }));
1024
- };
1025
- const sendChunkedText = async (rawText, context) => await sendTelegramTextChunks(buildChunkedTextPlan(rawText, context), context);
1026
- async function shouldSendTelegramImageAsPhoto(buffer) {
1027
- try {
1028
- const metadata = await getImageMetadata(buffer);
1029
- const width = metadata?.width;
1030
- const height = metadata?.height;
1031
- if (typeof width !== "number" || typeof height !== "number") {
1032
- sendLogger.warn("Photo dimensions are unavailable. Sending as document instead.");
1033
- return false;
1034
- }
1035
- const shorterSide = Math.min(width, height);
1036
- const longerSide = Math.max(width, height);
1037
- if (!(width + height <= MAX_TELEGRAM_PHOTO_DIMENSION_SUM && shorterSide > 0 && longerSide <= shorterSide * MAX_TELEGRAM_PHOTO_ASPECT_RATIO)) {
1038
- sendLogger.warn(`Photo dimensions (${width}x${height}) are not valid for Telegram photos. Sending as document instead.`);
1039
- return false;
1040
- }
1041
- return true;
1042
- } catch (err) {
1043
- sendLogger.warn(`Failed to validate photo dimensions: ${formatErrorMessage(err)}. Sending as document instead.`);
1044
- return false;
1045
- }
1046
- }
1047
- if (mediaUrl) {
1048
- const media = await loadWebMedia(mediaUrl, buildOutboundMediaLoadOptions({
1049
- maxBytes: mediaMaxBytes,
1050
- mediaLocalRoots: opts.mediaLocalRoots,
1051
- mediaReadFile: opts.mediaReadFile,
1052
- optimizeImages: opts.forceDocument ? false : void 0
1053
- }));
1054
- const kind = kindFromMime(media.contentType ?? void 0);
1055
- const isGif = isGifMedia({
1056
- contentType: media.contentType,
1057
- fileName: media.fileName
1058
- });
1059
- let sendImageAsPhoto = true;
1060
- const deliveryKind = opts.forceDocument === true && (kind === "image" || kind === "video") ? "document" : kind;
1061
- if (deliveryKind === "image" && !isGif) sendImageAsPhoto = await shouldSendTelegramImageAsPhoto(media.buffer);
1062
- const isVideoNote = deliveryKind === "video" && opts.asVideoNote === true;
1063
- const fileName = media.fileName ?? (isGif ? "animation.gif" : inferFilename(kind ?? "document")) ?? "file";
1064
- const file = new InputFileCtor(media.buffer, fileName);
1065
- let caption;
1066
- let followUpText;
1067
- if (isVideoNote) {
1068
- caption = void 0;
1069
- followUpText = text.trim() ? text : void 0;
1070
- } else {
1071
- const split = splitTelegramCaption(text);
1072
- caption = split.caption;
1073
- followUpText = split.followUpText;
1074
- }
1075
- const htmlCaption = caption ? renderHtmlText(caption) : void 0;
1076
- const needsSeparateText = Boolean(followUpText);
1077
- const baseMediaParams = {
1078
- ...hasThreadParams ? threadParams : {},
1079
- ...!needsSeparateText && replyMarkup ? { reply_markup: replyMarkup } : {}
1080
- };
1081
- const videoDimensions = deliveryKind === "video" && !isVideoNote ? await probeVideoDimensions(media.buffer) : void 0;
1082
- const mediaParams = {
1083
- ...htmlCaption ? {
1084
- caption: htmlCaption,
1085
- parse_mode: "HTML"
1086
- } : {},
1087
- ...baseMediaParams,
1088
- ...opts.silent === true ? { disable_notification: true } : {},
1089
- ...videoDimensions ? {
1090
- width: videoDimensions.width,
1091
- height: videoDimensions.height
1092
- } : {}
1093
- };
1094
- const sendMedia = async (label, sender) => await requestWithChatNotFound(() => sender(mediaParams), label);
1095
- const mediaSender = (() => {
1096
- if (isGif && deliveryKind !== "document") return {
1097
- label: "animation",
1098
- sender: (effectiveParams) => api.sendAnimation(chatId, file, effectiveParams)
1099
- };
1100
- if (deliveryKind === "image" && !isGif && sendImageAsPhoto) return {
1101
- label: "photo",
1102
- sender: (effectiveParams) => api.sendPhoto(chatId, file, effectiveParams)
1103
- };
1104
- if (deliveryKind === "video") {
1105
- if (isVideoNote) return {
1106
- label: "video_note",
1107
- sender: (effectiveParams) => api.sendVideoNote(chatId, file, effectiveParams)
1108
- };
1109
- return {
1110
- label: "video",
1111
- sender: (effectiveParams) => api.sendVideo(chatId, file, effectiveParams)
1112
- };
1113
- }
1114
- if (kind === "audio") {
1115
- const { useVoice } = resolveTelegramVoiceSend({
1116
- wantsVoice: opts.asVoice === true,
1117
- contentType: media.contentType,
1118
- fileName,
1119
- logFallback: logVerbose
1120
- });
1121
- if (useVoice) return {
1122
- label: "voice",
1123
- sender: (effectiveParams) => api.sendVoice(chatId, file, effectiveParams)
1124
- };
1125
- return {
1126
- label: "audio",
1127
- sender: (effectiveParams) => api.sendAudio(chatId, file, effectiveParams)
1128
- };
1129
- }
1130
- return {
1131
- label: "document",
1132
- sender: (effectiveParams) => api.sendDocument(chatId, file, opts.forceDocument ? {
1133
- ...effectiveParams,
1134
- disable_content_type_detection: true
1135
- } : effectiveParams)
1136
- };
1137
- })();
1138
- const result = await sendMedia(mediaSender.label, mediaSender.sender);
1139
- const mediaMessageId = resolveTelegramMessageIdOrThrow(result, "media send");
1140
- const resolvedChatId = String(result?.chat?.id ?? chatId);
1141
- recordSentMessage(chatId, mediaMessageId, cfg);
1142
- logTelegramOutboundSendOk({
1143
- accountId: account.accountId,
1144
- chatId: resolvedChatId,
1145
- messageId: String(mediaMessageId),
1146
- operation: `send${mediaSender.label.split("_").map((part) => part.charAt(0).toUpperCase() + part.slice(1)).join("")}`,
1147
- deliveryKind: mediaSender.label,
1148
- messageThreadId: mediaParams.message_thread_id,
1149
- replyToMessageId: opts.replyToMessageId,
1150
- silent: opts.silent
1151
- });
1152
- recordChannelActivity({
1153
- channel: "telegram",
1154
- accountId: account.accountId,
1155
- direction: "outbound"
1156
- });
1157
- if (needsSeparateText && followUpText) return {
1158
- messageId: (await sendChunkedText(followUpText, "text follow-up send")).messageId,
1159
- chatId: resolvedChatId
1160
- };
1161
- return {
1162
- messageId: String(mediaMessageId),
1163
- chatId: resolvedChatId
1164
- };
1165
- }
1166
- if (!text || !text.trim()) throw new Error("Message must be non-empty for Telegram sends");
1167
- const textResult = await sendChunkedText(text, "text send");
1168
- recordChannelActivity({
1169
- channel: "telegram",
1170
- accountId: account.accountId,
1171
- direction: "outbound"
1172
- });
1173
- return textResult;
1174
- }
1175
- async function sendTypingTelegram(to, opts) {
1176
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1177
- const target = parseTelegramTarget(to);
1178
- const chatId = await resolveAndPersistChatId({
1179
- cfg,
1180
- api,
1181
- lookupTarget: target.chatId,
1182
- persistTarget: to,
1183
- verbose: opts.verbose
1184
- });
1185
- const requestWithDiag = createTelegramRequestWithDiag({
1186
- cfg,
1187
- account,
1188
- retry: opts.retry,
1189
- verbose: opts.verbose,
1190
- shouldRetry: (err) => isRecoverableTelegramNetworkError(err, { context: "send" })
1191
- });
1192
- const threadParams = buildTypingThreadParams(target.messageThreadId ?? opts.messageThreadId);
1193
- await requestWithDiag(() => api.sendChatAction(chatId, "typing", threadParams), "typing");
1194
- return { ok: true };
1195
- }
1196
- async function reactMessageTelegram(chatIdInput, messageIdInput, emoji, opts) {
1197
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1198
- const rawTarget = String(chatIdInput);
1199
- const chatId = await resolveAndPersistChatId({
1200
- cfg,
1201
- api,
1202
- lookupTarget: rawTarget,
1203
- persistTarget: rawTarget,
1204
- verbose: opts.verbose,
1205
- gatewayClientScopes: opts.gatewayClientScopes
1206
- });
1207
- const messageId = normalizeMessageId(messageIdInput);
1208
- const requestWithDiag = createTelegramRequestWithDiag({
1209
- cfg,
1210
- account,
1211
- retry: opts.retry,
1212
- verbose: opts.verbose,
1213
- shouldRetry: (err) => isRecoverableTelegramNetworkError(err, { context: "send" })
1214
- });
1215
- const remove = opts.remove === true;
1216
- const trimmedEmoji = emoji.trim();
1217
- const reactions = remove || !trimmedEmoji ? [] : [{
1218
- type: "emoji",
1219
- emoji: trimmedEmoji
1220
- }];
1221
- if (typeof api.setMessageReaction !== "function") throw new Error("Telegram reactions are unavailable in this bot API.");
1222
- try {
1223
- await requestWithDiag(() => api.setMessageReaction(chatId, messageId, reactions), "reaction");
1224
- } catch (err) {
1225
- const msg = formatErrorMessage(err);
1226
- if (/REACTION_INVALID/i.test(msg)) return {
1227
- ok: false,
1228
- warning: `Reaction unavailable: ${trimmedEmoji}`
1229
- };
1230
- throw err;
1231
- }
1232
- return { ok: true };
1233
- }
1234
- async function deleteMessageTelegram(chatIdInput, messageIdInput, opts) {
1235
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1236
- const rawTarget = String(chatIdInput);
1237
- const chatId = await resolveAndPersistChatId({
1238
- cfg,
1239
- api,
1240
- lookupTarget: rawTarget,
1241
- persistTarget: rawTarget,
1242
- verbose: opts.verbose,
1243
- gatewayClientScopes: opts.gatewayClientScopes
1244
- });
1245
- const messageId = normalizeMessageId(messageIdInput);
1246
- const requestWithDiag = createTelegramRequestWithDiag({
1247
- cfg,
1248
- account,
1249
- retry: opts.retry,
1250
- verbose: opts.verbose,
1251
- shouldRetry: (err) => isRecoverableTelegramNetworkError(err, { context: "send" })
1252
- });
1253
- try {
1254
- await requestWithDiag(() => api.deleteMessage(chatId, messageId), "deleteMessage", { shouldLog: (err) => !isTelegramMessageDeleteNoopError(err) });
1255
- } catch (err) {
1256
- if (!isTelegramMessageDeleteNoopError(err)) throw err;
1257
- const detail = formatErrorMessage(err);
1258
- logVerbose(`[telegram] Delete skipped for message ${messageId} in chat ${chatId}: ${detail}`);
1259
- return {
1260
- ok: false,
1261
- warning: `Message ${messageId} was not deleted: ${detail}`
1262
- };
1263
- }
1264
- logVerbose(`[telegram] Deleted message ${messageId} from chat ${chatId}`);
1265
- return { ok: true };
1266
- }
1267
- async function pinMessageTelegram(chatIdInput, messageIdInput, opts) {
1268
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1269
- const rawTarget = String(chatIdInput);
1270
- const chatId = await resolveAndPersistChatId({
1271
- cfg,
1272
- api,
1273
- lookupTarget: rawTarget,
1274
- persistTarget: rawTarget,
1275
- verbose: opts.verbose,
1276
- gatewayClientScopes: opts.gatewayClientScopes
1277
- });
1278
- const messageId = normalizeMessageId(messageIdInput);
1279
- await createTelegramRequestWithDiag({
1280
- cfg,
1281
- account,
1282
- retry: opts.retry,
1283
- verbose: opts.verbose
1284
- })(() => api.pinChatMessage(chatId, messageId, { disable_notification: opts.notify !== true }), "pinChatMessage");
1285
- logVerbose(`[telegram] Pinned message ${messageId} in chat ${chatId}`);
1286
- return {
1287
- ok: true,
1288
- messageId: String(messageId),
1289
- chatId
1290
- };
1291
- }
1292
- async function unpinMessageTelegram(chatIdInput, messageIdInput, opts) {
1293
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1294
- const rawTarget = String(chatIdInput);
1295
- const chatId = await resolveAndPersistChatId({
1296
- cfg,
1297
- api,
1298
- lookupTarget: rawTarget,
1299
- persistTarget: rawTarget,
1300
- verbose: opts.verbose,
1301
- gatewayClientScopes: opts.gatewayClientScopes
1302
- });
1303
- const messageId = messageIdInput === void 0 ? void 0 : normalizeMessageId(messageIdInput);
1304
- await createTelegramRequestWithDiag({
1305
- cfg,
1306
- account,
1307
- retry: opts.retry,
1308
- verbose: opts.verbose
1309
- })(() => api.unpinChatMessage(chatId, messageId), "unpinChatMessage");
1310
- logVerbose(`[telegram] Unpinned ${messageId != null ? `message ${messageId}` : "active message"} in chat ${chatId}`);
1311
- return {
1312
- ok: true,
1313
- chatId,
1314
- ...messageId != null ? { messageId: String(messageId) } : {}
1315
- };
1316
- }
1317
- async function editForumTopicTelegram(chatIdInput, messageThreadIdInput, opts) {
1318
- const nameProvided = opts.name !== void 0;
1319
- const trimmedName = opts.name?.trim();
1320
- if (nameProvided && !trimmedName) throw new Error("Telegram forum topic name is required");
1321
- if (trimmedName && trimmedName.length > 128) throw new Error("Telegram forum topic name must be 128 characters or fewer");
1322
- const iconProvided = opts.iconCustomEmojiId !== void 0;
1323
- const trimmedIconCustomEmojiId = opts.iconCustomEmojiId?.trim();
1324
- if (iconProvided && !trimmedIconCustomEmojiId) throw new Error("Telegram forum topic icon custom emoji ID is required");
1325
- if (!trimmedName && !trimmedIconCustomEmojiId) throw new Error("Telegram forum topic update requires a name or iconCustomEmojiId");
1326
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1327
- const rawTarget = String(chatIdInput);
1328
- const chatId = await resolveAndPersistChatId({
1329
- cfg,
1330
- api,
1331
- lookupTarget: parseTelegramTarget(rawTarget).chatId,
1332
- persistTarget: rawTarget,
1333
- verbose: opts.verbose,
1334
- gatewayClientScopes: opts.gatewayClientScopes
1335
- });
1336
- const messageThreadId = normalizeMessageId(messageThreadIdInput);
1337
- const requestWithDiag = createTelegramRequestWithDiag({
1338
- cfg,
1339
- account,
1340
- retry: opts.retry,
1341
- verbose: opts.verbose
1342
- });
1343
- const payload = {
1344
- ...trimmedName ? { name: trimmedName } : {},
1345
- ...trimmedIconCustomEmojiId ? { icon_custom_emoji_id: trimmedIconCustomEmojiId } : {}
1346
- };
1347
- await requestWithDiag(() => api.editForumTopic(chatId, messageThreadId, payload), "editForumTopic");
1348
- logVerbose(`[telegram] Edited forum topic ${messageThreadId} in chat ${chatId}`);
1349
- return {
1350
- ok: true,
1351
- chatId,
1352
- messageThreadId,
1353
- ...trimmedName ? { name: trimmedName } : {},
1354
- ...trimmedIconCustomEmojiId ? { iconCustomEmojiId: trimmedIconCustomEmojiId } : {}
1355
- };
1356
- }
1357
- async function renameForumTopicTelegram(chatIdInput, messageThreadIdInput, name, opts) {
1358
- const result = await editForumTopicTelegram(chatIdInput, messageThreadIdInput, {
1359
- ...opts,
1360
- name
1361
- });
1362
- return {
1363
- ok: true,
1364
- chatId: result.chatId,
1365
- messageThreadId: result.messageThreadId,
1366
- name: result.name ?? name.trim()
1367
- };
1368
- }
1369
- async function editMessageReplyMarkupTelegram(chatIdInput, messageIdInput, buttons, opts) {
1370
- const { cfg, account, api } = resolveTelegramApiContext({
1371
- ...opts,
1372
- cfg: opts.cfg
1373
- });
1374
- const rawTarget = String(chatIdInput);
1375
- const chatId = await resolveAndPersistChatId({
1376
- cfg,
1377
- api,
1378
- lookupTarget: rawTarget,
1379
- persistTarget: rawTarget,
1380
- verbose: opts.verbose,
1381
- gatewayClientScopes: opts.gatewayClientScopes
1382
- });
1383
- const messageId = normalizeMessageId(messageIdInput);
1384
- const requestWithDiag = createTelegramRequestWithDiag({
1385
- cfg,
1386
- account,
1387
- retry: opts.retry,
1388
- verbose: opts.verbose
1389
- });
1390
- const replyMarkup = buildInlineKeyboard(buttons) ?? { inline_keyboard: [] };
1391
- try {
1392
- await requestWithDiag(() => api.editMessageReplyMarkup(chatId, messageId, { reply_markup: replyMarkup }), "editMessageReplyMarkup", { shouldLog: (err) => !isTelegramMessageNotModifiedError(err) });
1393
- } catch (err) {
1394
- if (!isTelegramMessageNotModifiedError(err)) throw err;
1395
- }
1396
- logVerbose(`[telegram] Edited reply markup for message ${messageId} in chat ${chatId}`);
1397
- return {
1398
- ok: true,
1399
- messageId: String(messageId),
1400
- chatId
1401
- };
1402
- }
1403
- async function editMessageTelegram(chatIdInput, messageIdInput, text, opts) {
1404
- const { cfg, account, api } = resolveTelegramApiContext({
1405
- ...opts,
1406
- cfg: opts.cfg
1407
- });
1408
- const rawTarget = String(chatIdInput);
1409
- const chatId = await resolveAndPersistChatId({
1410
- cfg,
1411
- api,
1412
- lookupTarget: rawTarget,
1413
- persistTarget: rawTarget,
1414
- verbose: opts.verbose,
1415
- gatewayClientScopes: opts.gatewayClientScopes
1416
- });
1417
- const messageId = normalizeMessageId(messageIdInput);
1418
- const requestWithDiag = createTelegramRequestWithDiag({
1419
- cfg,
1420
- account,
1421
- retry: opts.retry,
1422
- verbose: opts.verbose,
1423
- shouldRetry: (err) => isRecoverableTelegramNetworkError(err, { allowMessageMatch: true }) || isTelegramServerError(err)
1424
- });
1425
- const requestWithEditShouldLog = (fn, label, shouldLog) => requestWithDiag(fn, label, shouldLog ? { shouldLog } : void 0);
1426
- const textMode = opts.textMode ?? "markdown";
1427
- const htmlText = renderTelegramHtmlText(text, {
1428
- textMode,
1429
- tableMode: resolveMarkdownTableMode({
1430
- cfg,
1431
- channel: "telegram",
1432
- accountId: account.accountId
1433
- })
1434
- });
1435
- const plainText = textMode === "html" ? telegramHtmlToPlainTextFallback(htmlText) : text;
1436
- const shouldTouchButtons = opts.buttons !== void 0;
1437
- const builtKeyboard = shouldTouchButtons ? buildInlineKeyboard(opts.buttons) : void 0;
1438
- const replyMarkup = shouldTouchButtons ? builtKeyboard ?? { inline_keyboard: [] } : void 0;
1439
- const editParams = { parse_mode: "HTML" };
1440
- if (opts.linkPreview === false) editParams.link_preview_options = { is_disabled: true };
1441
- if (replyMarkup !== void 0) editParams.reply_markup = replyMarkup;
1442
- const plainParams = {};
1443
- if (opts.linkPreview === false) plainParams.link_preview_options = { is_disabled: true };
1444
- if (replyMarkup !== void 0) plainParams.reply_markup = replyMarkup;
1445
- try {
1446
- await withTelegramHtmlParseFallback({
1447
- label: "editMessage",
1448
- verbose: opts.verbose,
1449
- requestHtml: (retryLabel) => requestWithEditShouldLog(() => api.editMessageText(chatId, messageId, htmlText, editParams), retryLabel, (err) => !isTelegramMessageNotModifiedError(err)),
1450
- requestPlain: (retryLabel) => requestWithEditShouldLog(() => Object.keys(plainParams).length > 0 ? api.editMessageText(chatId, messageId, plainText, plainParams) : api.editMessageText(chatId, messageId, plainText), retryLabel, (plainErr) => !isTelegramMessageNotModifiedError(plainErr))
1451
- });
1452
- } catch (err) {
1453
- if (isTelegramMessageNotModifiedError(err)) {} else throw err;
1454
- }
1455
- logVerbose(`[telegram] Edited message ${messageId} in chat ${chatId}`);
1456
- return {
1457
- ok: true,
1458
- messageId: String(messageId),
1459
- chatId
1460
- };
1461
- }
1462
- function inferFilename(kind) {
1463
- switch (kind) {
1464
- case "image": return "image.jpg";
1465
- case "video": return "video.mp4";
1466
- case "audio": return "audio.ogg";
1467
- default: return "file.bin";
1468
- }
1469
- }
1470
- /**
1471
- * Send a sticker to a Telegram chat by file_id.
1472
- * @param to - Chat ID or username (e.g., "123456789" or "@username")
1473
- * @param fileId - Telegram file_id of the sticker to send
1474
- * @param opts - Optional configuration
1475
- */
1476
- async function sendStickerTelegram(to, fileId, opts) {
1477
- if (!fileId?.trim()) throw new Error("Telegram sticker file_id is required");
1478
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1479
- const target = parseTelegramTarget(to);
1480
- const chatId = await resolveAndPersistChatId({
1481
- cfg,
1482
- api,
1483
- lookupTarget: target.chatId,
1484
- persistTarget: to,
1485
- verbose: opts.verbose,
1486
- gatewayClientScopes: opts.gatewayClientScopes
1487
- });
1488
- const threadParams = buildTelegramThreadReplyParams({
1489
- thread: resolveTelegramSendThreadSpec({
1490
- targetMessageThreadId: target.messageThreadId,
1491
- messageThreadId: opts.messageThreadId,
1492
- chatType: target.chatType
1493
- }),
1494
- replyToMessageId: opts.replyToMessageId
1495
- });
1496
- const hasThreadParams = Object.keys(threadParams).length > 0;
1497
- const requestWithChatNotFound = createRequestWithChatNotFound({
1498
- requestWithDiag: createTelegramNonIdempotentRequestWithDiag({
1499
- cfg,
1500
- account,
1501
- retry: opts.retry,
1502
- verbose: opts.verbose,
1503
- useApiErrorLogging: false
1504
- }),
1505
- chatId,
1506
- input: to
1507
- });
1508
- const stickerParams = hasThreadParams ? threadParams : void 0;
1509
- const result = await requestWithChatNotFound(() => api.sendSticker(chatId, fileId.trim(), stickerParams), "sticker");
1510
- const messageId = resolveTelegramMessageIdOrThrow(result, "sticker send");
1511
- const resolvedChatId = String(result?.chat?.id ?? chatId);
1512
- recordSentMessage(chatId, messageId, opts.cfg);
1513
- recordChannelActivity({
1514
- channel: "telegram",
1515
- accountId: account.accountId,
1516
- direction: "outbound"
1517
- });
1518
- return {
1519
- messageId: String(messageId),
1520
- chatId: resolvedChatId
1521
- };
1522
- }
1523
- /**
1524
- * Send a poll to a Telegram chat.
1525
- * @param to - Chat ID or username (e.g., "123456789" or "@username")
1526
- * @param poll - Poll input with question, options, maxSelections, and optional durationHours
1527
- * @param opts - Optional configuration
1528
- */
1529
- async function sendPollTelegram(to, poll, opts) {
1530
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1531
- const target = parseTelegramTarget(to);
1532
- const chatId = await resolveAndPersistChatId({
1533
- cfg,
1534
- api,
1535
- lookupTarget: target.chatId,
1536
- persistTarget: to,
1537
- verbose: opts.verbose,
1538
- gatewayClientScopes: opts.gatewayClientScopes
1539
- });
1540
- const normalizedPoll = normalizePollInput(poll, { maxOptions: 10 });
1541
- const threadParams = buildTelegramThreadReplyParams({
1542
- thread: resolveTelegramSendThreadSpec({
1543
- targetMessageThreadId: target.messageThreadId,
1544
- messageThreadId: opts.messageThreadId,
1545
- chatType: target.chatType
1546
- }),
1547
- replyToMessageId: opts.replyToMessageId
1548
- });
1549
- const pollOptions = normalizedPoll.options;
1550
- const requestWithChatNotFound = createRequestWithChatNotFound({
1551
- requestWithDiag: createTelegramNonIdempotentRequestWithDiag({
1552
- cfg,
1553
- account,
1554
- retry: opts.retry,
1555
- verbose: opts.verbose
1556
- }),
1557
- chatId,
1558
- input: to
1559
- });
1560
- const durationSeconds = normalizedPoll.durationSeconds;
1561
- if (durationSeconds === void 0 && normalizedPoll.durationHours !== void 0) throw new Error("Telegram poll durationHours is not supported. Use durationSeconds (5-600) instead.");
1562
- if (durationSeconds !== void 0 && (durationSeconds < 5 || durationSeconds > 600)) throw new Error("Telegram poll durationSeconds must be between 5 and 600");
1563
- const pollParams = {
1564
- allows_multiple_answers: normalizedPoll.maxSelections > 1,
1565
- is_anonymous: opts.isAnonymous ?? true,
1566
- ...durationSeconds !== void 0 ? { open_period: durationSeconds } : {},
1567
- ...Object.keys(threadParams).length > 0 ? threadParams : {},
1568
- ...opts.silent === true ? { disable_notification: true } : {}
1569
- };
1570
- const result = await requestWithChatNotFound(() => api.sendPoll(chatId, normalizedPoll.question, pollOptions, pollParams), "poll");
1571
- const messageId = resolveTelegramMessageIdOrThrow(result, "poll send");
1572
- const resolvedChatId = String(result?.chat?.id ?? chatId);
1573
- const pollId = result?.poll?.id;
1574
- recordSentMessage(chatId, messageId, opts.cfg);
1575
- recordChannelActivity({
1576
- channel: "telegram",
1577
- accountId: account.accountId,
1578
- direction: "outbound"
1579
- });
1580
- return {
1581
- messageId: String(messageId),
1582
- chatId: resolvedChatId,
1583
- pollId
1584
- };
1585
- }
1586
- /**
1587
- * Create a forum topic in a Telegram supergroup.
1588
- * Requires the bot to have `can_manage_topics` permission.
1589
- *
1590
- * @param chatId - Supergroup chat ID
1591
- * @param name - Topic name (1-128 characters)
1592
- * @param opts - Optional configuration
1593
- */
1594
- async function createForumTopicTelegram(chatId, name, opts) {
1595
- if (!name?.trim()) throw new Error("Forum topic name is required");
1596
- const trimmedName = name.trim();
1597
- if (trimmedName.length > 128) throw new Error("Forum topic name must be 128 characters or fewer");
1598
- const { cfg, account, api } = resolveTelegramApiContext(opts);
1599
- const normalizedChatId = await resolveAndPersistChatId({
1600
- cfg,
1601
- api,
1602
- lookupTarget: parseTelegramTarget(chatId).chatId,
1603
- persistTarget: chatId,
1604
- verbose: opts.verbose,
1605
- gatewayClientScopes: opts.gatewayClientScopes
1606
- });
1607
- const requestWithDiag = createTelegramNonIdempotentRequestWithDiag({
1608
- cfg,
1609
- account,
1610
- retry: opts.retry,
1611
- verbose: opts.verbose
1612
- });
1613
- const extra = {};
1614
- if (opts.iconColor != null) extra.icon_color = opts.iconColor;
1615
- if (opts.iconCustomEmojiId?.trim()) extra.icon_custom_emoji_id = opts.iconCustomEmojiId.trim();
1616
- const hasExtra = Object.keys(extra).length > 0;
1617
- const result = await requestWithDiag(() => api.createForumTopic(normalizedChatId, trimmedName, hasExtra ? extra : void 0), "createForumTopic");
1618
- const topicId = result.message_thread_id;
1619
- recordChannelActivity({
1620
- channel: "telegram",
1621
- accountId: account.accountId,
1622
- direction: "outbound"
1623
- });
1624
- return {
1625
- topicId,
1626
- name: result.name ?? trimmedName,
1627
- chatId: normalizedChatId
1628
- };
1629
- }
1630
- //#endregion
1631
- export { Bot$1 as A, createTelegramClientFetch as C, splitTelegramCaption as D, resolveTelegramOutboundClientTimeoutFloorSeconds as E, sequentialize as M, withTelegramApiErrorLogging as O, asTelegramClientFetch as S, resolveTelegramClientTimeoutSeconds as T, wasSentByBot as _, editMessageTelegram as a, removeTelegramNativeQuoteParam as b, renameForumTopicTelegram as c, sendPollTelegram as d, sendStickerTelegram as f, recordSentMessage as g, resolveTelegramVoiceSend as h, editMessageReplyMarkupTelegram as i, apiThrottler as j, getOrCreateAccountThrottler as k, resetTelegramClientOptionsCacheForTests as l, unpinMessageTelegram as m, deleteMessageTelegram as n, pinMessageTelegram as o, sendTypingTelegram as p, editForumTopicTelegram as r, reactMessageTelegram as s, createForumTopicTelegram as t, sendMessageTelegram as u, buildTelegramSendParams as v, resolveTelegramClientTimeoutMinimumSeconds as w, buildInlineKeyboard as x, getTelegramNativeQuoteReplyMessageId as y };