@qqbrowser/openclaw-qbot 0.0.139 → 0.0.142

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 (1565) hide show
  1. package/dist/account-lookup-CW-_CL7y.js +1 -0
  2. package/dist/acp-cli-BaslDuk6.js +1 -0
  3. package/dist/acp-cli-f5-uI85a.js +1 -0
  4. package/dist/active-listener-Cce5tcPa.js +1 -0
  5. package/dist/active-listener-D8VOdVx3.js +1 -0
  6. package/dist/active-listener-DeKRt_UV.js +1 -0
  7. package/dist/active-listener-Dle9QX40.js +1 -0
  8. package/dist/agent-scope-DAWJwFfl.js +1 -0
  9. package/dist/agent-scope-DXZc3eNT.js +1 -0
  10. package/dist/agents-Bpp_F5In.js +1 -0
  11. package/dist/agents.config-B6LRG9eP.js +1 -0
  12. package/dist/agents.config-DfIJAGcd.js +1 -0
  13. package/dist/allow-from-B6dI7oz8.js +1 -0
  14. package/dist/allow-from-DEeVIPKS.js +1 -0
  15. package/dist/api-BeG0ObSq.js +1 -0
  16. package/dist/api-Dx8x1KTs.js +1 -0
  17. package/dist/api-key-rotation-BRt-vnRV.js +1 -0
  18. package/dist/api-key-rotation-CCH1wYVU.js +1 -0
  19. package/dist/api-key-rotation-D0QU-kQ9.js +1 -0
  20. package/dist/api-key-rotation-Di6QgXx7.js +1 -0
  21. package/dist/arg-split-BOqSMBuf.js +1 -0
  22. package/dist/arg-split-DE5RqDHq.js +1 -0
  23. package/dist/audio-preflight-B5o7P9qi.js +1 -0
  24. package/dist/audio-preflight-CxD7VCHW.js +1 -0
  25. package/dist/audio-preflight-DKSCBKRb.js +1 -0
  26. package/dist/audio-preflight-Dpk8-Bmk.js +1 -0
  27. package/dist/audio-transcription-runner-Bd1OZC6K.js +1 -0
  28. package/dist/audio-transcription-runner-D4Bp6MM7.js +1 -0
  29. package/dist/audio-transcription-runner-DPwmBYQj.js +1 -0
  30. package/dist/audio-transcription-runner-DSr6OIz1.js +1 -0
  31. package/dist/audit-C7RP7G_g.js +1 -0
  32. package/dist/audit-jkdcAUep.js +1 -0
  33. package/dist/audit-membership-runtime-BpRsMj5-.js +1 -0
  34. package/dist/audit-membership-runtime-BsfLZNBj.js +1 -0
  35. package/dist/audit-membership-runtime-DRHirRmx.js +1 -0
  36. package/dist/audit-membership-runtime-g0dEWJTp.js +1 -0
  37. package/dist/audit-membership-runtime-kdyToskD.js +1 -0
  38. package/dist/auth-choice-B7LSoXZ_.js +1 -0
  39. package/dist/auth-choice-CxMH4c-u.js +1 -0
  40. package/dist/auth-choice-DvTApGhx.js +1 -0
  41. package/dist/auth-choice-EQdNd7jO.js +1 -0
  42. package/dist/auth-choice-options-B3WQyS7I.js +1 -0
  43. package/dist/auth-choice-options-Dw14noox.js +1 -0
  44. package/dist/auth-choice-prompt-uegl56cf.js +1 -0
  45. package/dist/auth-choice-prompt-xYj13czb.js +1 -0
  46. package/dist/auth-choice.apply-helpers-B7S-PcH_.js +1 -0
  47. package/dist/auth-choice.apply-helpers-gaL-oSft.js +1 -0
  48. package/dist/auth-profiles-T8DuH3ax.js +1 -0
  49. package/dist/auth-token-9OTF1FmL.js +1 -0
  50. package/dist/auth-token-kGltuM6S.js +1 -0
  51. package/dist/banner-9u45RL26.js +1 -0
  52. package/dist/bonjour-discovery-CFZXPega.js +1 -0
  53. package/dist/bonjour-discovery-CjivQOxi.js +1 -0
  54. package/dist/boolean-Ch3DfXPy.js +1 -0
  55. package/dist/boolean-D15s2V33.js +1 -0
  56. package/dist/boolean-DypnRoRK.js +1 -0
  57. package/dist/brew-COcDl8CB.js +1 -0
  58. package/dist/brew-DDPm_HfE.js +1 -0
  59. package/dist/browser-cli-DQHE2iPY.js +1 -0
  60. package/dist/browser-cli-Dt0ds-an.js +1 -0
  61. package/dist/build-info.json +3 -3
  62. package/dist/bundled/boot-md/handler.js +1 -0
  63. package/dist/bundled/bootstrap-extra-files/handler.js +1 -0
  64. package/dist/bundled/command-logger/handler.js +1 -0
  65. package/dist/bundled/session-memory/handler.js +1 -0
  66. package/dist/call-B8Fb4_oh.js +1 -0
  67. package/dist/call-CqoMqP5b.js +1 -0
  68. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  69. package/dist/canvas-host/a2ui/a2ui.bundle.js +1705 -2
  70. package/dist/channel-account-context-BMPAMZEv.js +1 -0
  71. package/dist/channel-account-context-DAcarnqW.js +1 -0
  72. package/dist/channel-activity-B04WbrrK.js +1 -0
  73. package/dist/channel-activity-BBrgoad1.js +1 -0
  74. package/dist/channel-activity-CgbOWaay.js +1 -0
  75. package/dist/channel-activity-YIMhOAUo.js +1 -0
  76. package/dist/channel-activity-YjYNzCpJ.js +1 -0
  77. package/dist/channel-options-CEIzjOno.js +1 -0
  78. package/dist/channel-options-D2syI791.js +1 -0
  79. package/dist/channel-selection-BBeE1TmB.js +1 -0
  80. package/dist/channel-selection-CbNtbAEf.js +1 -0
  81. package/dist/channel-web-BrElpZAc.js +1 -0
  82. package/dist/channel-web-CxHbET4B.js +1 -0
  83. package/dist/channels/plugins/actions/discord.js +1 -0
  84. package/dist/channels/plugins/actions/signal.js +1 -0
  85. package/dist/channels/plugins/actions/telegram.js +1 -0
  86. package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -0
  87. package/dist/channels-cli-BmAJuuRs.js +1 -0
  88. package/dist/channels-cli-Dgosczr6.js +1 -0
  89. package/dist/channels-status-issues-8eFrGKyf.js +1 -0
  90. package/dist/channels-status-issues-PRgOT90w.js +1 -0
  91. package/dist/chat-envelope-Bznn2SoS.js +1 -0
  92. package/dist/chat-envelope-HVpKusFc.js +1 -0
  93. package/dist/clack-prompter-DBPdGdqp.js +1 -0
  94. package/dist/clack-prompter-Dq0aY6iM.js +1 -0
  95. package/dist/clawbot-cli-CgS7TkEx.js +1 -0
  96. package/dist/clawbot-cli-DZ2K0OTk.js +1 -0
  97. package/dist/cleanup-utils-BWm70DoD.js +1 -0
  98. package/dist/cleanup-utils-D-RhEX6F.js +1 -0
  99. package/dist/cli-BcnoCo4z.js +1 -0
  100. package/dist/cli-D8T2tphD.js +1 -0
  101. package/dist/cli-utils-BY7dLMFy.js +1 -0
  102. package/dist/cli-utils-BleB1eys.js +1 -0
  103. package/dist/clipboard-Bk8cviBt.js +1 -0
  104. package/dist/clipboard-CKT_VIkG.js +1 -0
  105. package/dist/cmd-argv-BBT5l8AV.js +1 -0
  106. package/dist/cmd-argv-Bh-KpaZ0.js +1 -0
  107. package/dist/command-format-BbDT1tlm.js +1 -0
  108. package/dist/command-format-CLxIPuLR.js +1 -0
  109. package/dist/command-options-BpOUDl2S.js +1 -0
  110. package/dist/command-options-Bq5nQxz6.js +1 -0
  111. package/dist/command-poll-backoff-BZLHYB2k.js +1 -0
  112. package/dist/command-poll-backoff-Cww_r-24.js +1 -0
  113. package/dist/command-poll-backoff-Df6cOQrX.js +1 -0
  114. package/dist/command-poll-backoff-endAPdwn.js +1 -0
  115. package/dist/command-registry-CfuXCRwV.js +1 -0
  116. package/dist/command-secret-targets-BVN3kiT9.js +1 -0
  117. package/dist/command-secret-targets-BlN-J_fA.js +1 -0
  118. package/dist/commands-CGpM84iR.js +1 -0
  119. package/dist/commands-Dy7duWlt.js +1 -0
  120. package/dist/commands-registry-B1x54ukc.js +1 -0
  121. package/dist/commands-registry-Cpl4QnG4.js +1 -0
  122. package/dist/commands-registry-D40KqYOm.js +1 -0
  123. package/dist/commands-registry-SeddSmFK.js +1 -0
  124. package/dist/compact-Dg66DXx_.js +1 -0
  125. package/dist/completion-cli-BZi4nuQb.js +1 -0
  126. package/dist/completion-cli-C40TWdsv.js +1 -0
  127. package/dist/config-BqW5S1xL.js +1 -0
  128. package/dist/config-D12ZLKqh.js +1 -0
  129. package/dist/config-cli-1ojSLwAj.js +1 -0
  130. package/dist/config-cli-CBte2b1h.js +1 -0
  131. package/dist/config-guard-BTNXbWoO.js +1 -0
  132. package/dist/config-guard-sYYx9zEF.js +1 -0
  133. package/dist/config-validation-C1La_IZU.js +1 -0
  134. package/dist/config-validation-DviYxW8Y.js +1 -0
  135. package/dist/configure-DJrNDEpR.js +1 -0
  136. package/dist/configure-kod4tmZa.js +1 -0
  137. package/dist/connection-auth-B_Uk6Vk8.js +1 -0
  138. package/dist/connection-auth-C8iru0UB.js +1 -0
  139. package/dist/context-window-guard-7crlatf9.js +1 -0
  140. package/dist/context-window-guard-CPChk363.js +1 -0
  141. package/dist/control-ui-assets-BIa0GGDg.js +1 -0
  142. package/dist/control-ui-assets-CTHGGgaX.js +1 -0
  143. package/dist/cron-cli-Dha16Lo-.js +1 -0
  144. package/dist/cron-cli-QHS2pKZ_.js +1 -0
  145. package/dist/daemon-cli-BuXTzSnU.js +1 -0
  146. package/dist/daemon-cli-DOTKuS7d.js +1 -0
  147. package/dist/daemon-cli.js +1 -0
  148. package/dist/daemon-install-C30rBssi.js +1 -0
  149. package/dist/daemon-install-HrqlOCrc.js +1 -0
  150. package/dist/daemon-install-plan.shared-CfA37Ut_.js +1 -0
  151. package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -0
  152. package/dist/daemon-runtime-DHiDbRuC.js +1 -0
  153. package/dist/daemon-runtime-VcpeBRJV.js +1 -0
  154. package/dist/dangerous-name-matching-BOmvAibz.js +1 -0
  155. package/dist/dangerous-name-matching-DtllRqBD.js +1 -0
  156. package/dist/dangerous-tools-CFRYQJ6V.js +1 -0
  157. package/dist/dangerous-tools-oYCu5wfC.js +1 -0
  158. package/dist/deliver-56mQkDw3.js +1 -0
  159. package/dist/deliver-BFQ4Zx9z.js +1 -0
  160. package/dist/deliver-BHuhHfkH.js +1 -0
  161. package/dist/deliver-ClBkV2eD.js +1 -0
  162. package/dist/delivery-queue-CKbauSFq.js +1 -0
  163. package/dist/delivery-queue-nkPJu0fY.js +1 -0
  164. package/dist/device-pairing-CTFpaTrD.js +1 -0
  165. package/dist/device-pairing-QTK0dod3.js +1 -0
  166. package/dist/devices-cli-Ckxd0k0I.js +1 -0
  167. package/dist/devices-cli-Db36mBHq.js +1 -0
  168. package/dist/diagnostic-BrE4lMIf.js +1 -0
  169. package/dist/diagnostic-CDxNevIQ.js +1 -0
  170. package/dist/diagnostic-DOzHPnht.js +1 -0
  171. package/dist/diagnostic-DQq4Bwrs.js +1 -0
  172. package/dist/diagnostics-BgbeL9KE.js +1 -0
  173. package/dist/diagnostics-Cdctg9K_.js +1 -0
  174. package/dist/directory-cli-DDTaUkjW.js +1 -0
  175. package/dist/directory-cli-_gTFSHMW.js +1 -0
  176. package/dist/dns-cli--4PwtR2Y.js +1 -0
  177. package/dist/dns-cli-C4DwKquN.js +1 -0
  178. package/dist/docs-cli-Cdw9Iz9a.js +1 -0
  179. package/dist/docs-cli-ClD2UyX1.js +1 -0
  180. package/dist/doctor-completion-BJ6steqx.js +1 -0
  181. package/dist/doctor-completion-DMJhfrtC.js +1 -0
  182. package/dist/doctor-config-flow-D4F3mz4h.js +1 -0
  183. package/dist/doctor-config-flow-DnOyVZhQ.js +1 -0
  184. package/dist/enable-BhD84GhD.js +1 -0
  185. package/dist/enable-Ccf9wSM8.js +1 -0
  186. package/dist/entry-status-CCwwKO43.js +1 -0
  187. package/dist/entry-status-CoXkbJcX.js +1 -0
  188. package/dist/entry.js +1 -0
  189. package/dist/env-D7wNuBx1.js +1 -0
  190. package/dist/env-overrides-DHtB4kK3.js +1 -0
  191. package/dist/env-overrides-DXJbFrwI.js +1 -0
  192. package/dist/errors-6SQWM9dj.js +1 -0
  193. package/dist/errors-Bunti32V.js +1 -0
  194. package/dist/exec-B3eleY5O.js +1 -0
  195. package/dist/exec-DHqLtFYt.js +1 -0
  196. package/dist/exec-approvals-BXO9Cezj.js +1 -0
  197. package/dist/exec-approvals-BpBNEy6i.js +1 -0
  198. package/dist/exec-approvals-allowlist-CE3nYh0K.js +1 -0
  199. package/dist/exec-approvals-allowlist-D8mN7nxV.js +1 -0
  200. package/dist/exec-approvals-cli-CUcuN63y.js +1 -0
  201. package/dist/exec-approvals-cli-CxUGD08t.js +1 -0
  202. package/dist/exec-safe-bin-runtime-policy-Dt0GchLp.js +1 -0
  203. package/dist/exec-safe-bin-runtime-policy-dcCS_Adf.js +1 -0
  204. package/dist/fetch-B9tORjG8.js +1 -0
  205. package/dist/fetch-BJT3BrkJ.js +1 -0
  206. package/dist/fetch-B_wRifvZ.js +1 -0
  207. package/dist/fetch-Bn0mWg6a.js +1 -0
  208. package/dist/fetch-CQaNr5J1.js +1 -0
  209. package/dist/fetch-Ce-scEU-.js +1 -0
  210. package/dist/fetch-D0rZDHKO.js +1 -0
  211. package/dist/fetch-DHo17YmK.js +1 -0
  212. package/dist/fetch-Dh-apy46.js +1 -0
  213. package/dist/fetch-Dikjvc5M.js +1 -0
  214. package/dist/fetch-DsjPfQlp.js +1 -0
  215. package/dist/fetch-_g8lZ8K8.js +1 -0
  216. package/dist/fetch-guard-BrTtJw7h.js +1 -0
  217. package/dist/fetch-guard-D10s0raB.js +1 -0
  218. package/dist/fetch-guard-DPdY0NXR.js +1 -0
  219. package/dist/fetch-guard-cu7DGSRF.js +1 -0
  220. package/dist/fetch-hy0JKSsm.js +1 -0
  221. package/dist/fetch-timeout-CdYxWG9w.js +1 -0
  222. package/dist/fetch-timeout-Cj8_oAls.js +1 -0
  223. package/dist/fetch-timeout-DoOI_izT.js +1 -0
  224. package/dist/fetch-timeout-u8g99Ax0.js +1 -0
  225. package/dist/format-Bn1bwJKX.js +1 -0
  226. package/dist/format-Ce7I7s-k.js +1 -0
  227. package/dist/format-duration-C8AzNqKh.js +1 -0
  228. package/dist/format-duration-D5AMtmHa.js +1 -0
  229. package/dist/format-relative-B9pSIdGe.js +1 -0
  230. package/dist/format-relative-DkMjYy7z.js +1 -0
  231. package/dist/frontmatter-BkZkwkVO.js +1 -0
  232. package/dist/frontmatter-C7mzDNxd.js +1 -0
  233. package/dist/frontmatter-CzpfPBFl.js +1 -0
  234. package/dist/gateway-cli-CKu0FA7D.js +1 -0
  235. package/dist/gateway-cli-C_s9eMlC.js +1 -0
  236. package/dist/gateway-install-token-BCnuZeh1.js +1 -0
  237. package/dist/gateway-install-token-DiDvDPJQ.js +1 -0
  238. package/dist/gateway-rpc-iFvDyHYd.js +1 -0
  239. package/dist/gateway-rpc-tEEvY0kH.js +1 -0
  240. package/dist/github-copilot-token-C79yeDKS.js +1 -0
  241. package/dist/github-copilot-token-DGYAlOmV.js +1 -0
  242. package/dist/github-copilot-token-DePP-lIf.js +1 -0
  243. package/dist/github-copilot-token-wm6mbypz.js +1 -0
  244. package/dist/gmail-setup-utils-CYOH3zzx.js +1 -0
  245. package/dist/gmail-setup-utils-S-MyEGuj.js +1 -0
  246. package/dist/group-access-BHKVOhrj.js +1 -0
  247. package/dist/group-access-D2DOYMfr.js +1 -0
  248. package/dist/health-BgOggK9k.js +1 -0
  249. package/dist/health-PaRHFItm.js +1 -0
  250. package/dist/health-format-B1nj3Wfn.js +1 -0
  251. package/dist/health-format-VBr6LEpt.js +1 -0
  252. package/dist/heartbeat-visibility-BQ_esv2m.js +1 -0
  253. package/dist/heartbeat-visibility-q74UdY8O.js +1 -0
  254. package/dist/help-format-B4aEI7V9.js +1 -0
  255. package/dist/help-format-BRbF_INg.js +1 -0
  256. package/dist/helpers-COz1ghcB.js +1 -0
  257. package/dist/helpers-Cp8gcO6u.js +1 -0
  258. package/dist/hooks-cli-BzyzTNBx.js +1 -0
  259. package/dist/hooks-cli-CsBrScq0.js +1 -0
  260. package/dist/hooks-status-BHt-Xvh4.js +1 -0
  261. package/dist/hooks-status-CRJ4J0ZW.js +1 -0
  262. package/dist/image-BkWwI54C.js +1 -0
  263. package/dist/image-CcVQg-YN.js +1 -0
  264. package/dist/image-Cm1RUBqD.js +1 -0
  265. package/dist/image-DsoO5VP5.js +1 -0
  266. package/dist/index.js +1 -0
  267. package/dist/inspect-BKV-I1UE.js +1 -0
  268. package/dist/inspect-z59cgmYc.js +1 -0
  269. package/dist/install-safe-path-C6kc_8NW.js +1 -0
  270. package/dist/install-safe-path-iesxijn2.js +1 -0
  271. package/dist/installs-BNeI_oML.js +1 -0
  272. package/dist/installs-C1xQLuby.js +1 -0
  273. package/dist/ipv4-BOuNtoGn.js +1 -0
  274. package/dist/ipv4-CWdaEiVH.js +1 -0
  275. package/dist/ir-BF0M2kGp.js +1 -0
  276. package/dist/ir-D8Hh84ab.js +1 -0
  277. package/dist/ir-DBWscfBd.js +1 -0
  278. package/dist/ir-Dk7OQ4bA.js +1 -0
  279. package/dist/is-main-DG5ueqhF.js +1 -0
  280. package/dist/issue-format-BT7cQEt3.js +1 -0
  281. package/dist/issue-format-C_lNzrKa.js +1 -0
  282. package/dist/kill-tree-B3g7HrAO.js +1 -0
  283. package/dist/lifecycle-core-D9KNCvxY.js +1 -0
  284. package/dist/lifecycle-core-LM5UUUB1.js +1 -0
  285. package/dist/line/accounts.js +1 -0
  286. package/dist/line/send.js +1 -0
  287. package/dist/line/template-messages.js +1 -0
  288. package/dist/links-CBnmRP9D.js +1 -0
  289. package/dist/links-CySwdMcF.js +1 -0
  290. package/dist/llm-slug-generator.js +1 -0
  291. package/dist/load-options-BsOW74dp.js +1 -0
  292. package/dist/load-options-C7dLuybp.js +1 -0
  293. package/dist/load-options-DV4j6Aqb.js +1 -0
  294. package/dist/load-options-Dwt0CeEg.js +1 -0
  295. package/dist/local-roots-6waH0SZ0.js +1 -0
  296. package/dist/logger-5W0OocJW.js +1 -0
  297. package/dist/logger-Bl8URnrW.js +1 -0
  298. package/dist/logger-DwWqfo66.js +1 -0
  299. package/dist/logger-kQAOe3qp.js +1 -0
  300. package/dist/logging-Dqe9dxSX.js +1 -0
  301. package/dist/logging-tYw1NbJd.js +1 -0
  302. package/dist/login-BOlqRyr0.js +1 -0
  303. package/dist/login-CkWesqf_.js +1 -0
  304. package/dist/login-Do_NA1Je.js +1 -0
  305. package/dist/login-op9S8yqv.js +1 -0
  306. package/dist/login-qr-B6rxvoTS.js +1 -0
  307. package/dist/login-qr-BGH9zmhw.js +1 -0
  308. package/dist/login-qr-CiENvgog.js +1 -0
  309. package/dist/login-qr-DsV-lxFd.js +1 -0
  310. package/dist/login-qr-QcDMg23y.js +1 -0
  311. package/dist/logs-cli-B4eUg_87.js +1 -0
  312. package/dist/logs-cli-BA3Aso8a.js +1 -0
  313. package/dist/manager-4Y9fRgdw.js +1 -0
  314. package/dist/manager-C2YW7Hkq.js +1 -0
  315. package/dist/manager-Dtd_loL8.js +1 -0
  316. package/dist/manager-M1GKhLUC.js +1 -0
  317. package/dist/memory-cli-XaxtBQm1.js +1 -0
  318. package/dist/memory-cli-jhzJ3as7.js +1 -0
  319. package/dist/model-catalog-C1kpjR75.js +1 -0
  320. package/dist/model-catalog-COVzoZD9.js +1 -0
  321. package/dist/model-param-b-B0r2cPDw.js +1 -0
  322. package/dist/model-param-b-BqIr5rY5.js +1 -0
  323. package/dist/model-picker-D3ZSpr0i.js +1 -0
  324. package/dist/model-picker-bZNuI66U.js +1 -0
  325. package/dist/model-selection-B5JsBS9D.js +1 -0
  326. package/dist/model-selection-BlC_rXAN.js +1 -0
  327. package/dist/model-selection-vfhBuN9O.js +1 -0
  328. package/dist/models-C_Vg3Cty.js +1 -0
  329. package/dist/models-cli-CDZliTXq.js +1 -0
  330. package/dist/models-cli-bGr8jwAb.js +1 -0
  331. package/dist/models-config-CdMhNxKV.js +1 -0
  332. package/dist/models-config-_htt7eY5.js +1 -0
  333. package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -0
  334. package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -0
  335. package/dist/node-cli-5lYbDZ70.js +1 -0
  336. package/dist/node-cli-Br04Qmqo.js +1 -0
  337. package/dist/node-command-policy-CejeQemH.js +1 -0
  338. package/dist/node-command-policy-CqXhdnHh.js +1 -0
  339. package/dist/node-commands-8GBOiktk.js +1 -0
  340. package/dist/node-commands-DdkziOTx.js +1 -0
  341. package/dist/node-resolve-B3BJbmQX.js +1 -0
  342. package/dist/node-resolve-DLZf3-1V.js +1 -0
  343. package/dist/node-service-BRfrNp8l.js +1 -0
  344. package/dist/node-service-C0bl7jcZ.js +1 -0
  345. package/dist/node-shell-DyOfwHrh.js +1 -0
  346. package/dist/nodes-cli-8By8--bW.js +1 -0
  347. package/dist/nodes-cli-zq41EwJN.js +1 -0
  348. package/dist/nodes-screen-DECgxo6A.js +1 -0
  349. package/dist/note-D4GAwgha.js +1 -0
  350. package/dist/note-Dp-d_utk.js +1 -0
  351. package/dist/npm-pack-install-B23L-AtF.js +1 -0
  352. package/dist/npm-pack-install-C0te3Oap.js +1 -0
  353. package/dist/npm-resolution-BnJGLwhi.js +1 -0
  354. package/dist/npm-resolution-DWPloph4.js +1 -0
  355. package/dist/oauth-env-DAamJ1oz.js +1 -0
  356. package/dist/oauth-env-DSLBTWb1.js +1 -0
  357. package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -0
  358. package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -0
  359. package/dist/ollama-setup-BMEKWyIE.js +1 -0
  360. package/dist/ollama-setup-DlwS6Gl-.js +1 -0
  361. package/dist/onboard-B0BNCQaO.js +1 -0
  362. package/dist/onboard-CjVhdaiR.js +1 -0
  363. package/dist/onboard-channels-BMIOddLN.js +1 -0
  364. package/dist/onboard-channels-CZK_7xMR.js +1 -0
  365. package/dist/onboard-config-B7U20YRw.js +1 -0
  366. package/dist/onboard-config-DS9dUv8M.js +1 -0
  367. package/dist/onboard-custom-B03SlEHB.js +1 -0
  368. package/dist/onboard-custom-Bl0y8c-g.js +1 -0
  369. package/dist/onboard-helpers-PGl5bVPE.js +1 -0
  370. package/dist/onboard-helpers-zwybUJWu.js +1 -0
  371. package/dist/onboard-hooks-CERzXObm.js +1 -0
  372. package/dist/onboard-hooks-gQ3sxBNi.js +1 -0
  373. package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -0
  374. package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -0
  375. package/dist/onboard-remote-BOpIRdDu.js +1 -0
  376. package/dist/onboard-remote-DPU-H_2O.js +1 -0
  377. package/dist/onboard-search-f2tJD4hg.js +1 -0
  378. package/dist/onboard-search-fslKKhyg.js +1 -0
  379. package/dist/onboard-skills-BMAJs6ly.js +1 -0
  380. package/dist/onboard-skills-CMSQc2Mm.js +1 -0
  381. package/dist/onboarding-B6ixWwgp.js +1 -0
  382. package/dist/onboarding-ouEqUuUr.js +1 -0
  383. package/dist/onboarding.finalize-Bgat5Npc.js +1 -0
  384. package/dist/onboarding.finalize-DsMVlTcH.js +1 -0
  385. package/dist/onboarding.gateway-config-BtLDJWJ2.js +1 -0
  386. package/dist/onboarding.gateway-config-y3pqsL9i.js +1 -0
  387. package/dist/onboarding.secret-input-BsBgh8Tc.js +1 -0
  388. package/dist/onboarding.secret-input-kO5OzYC7.js +1 -0
  389. package/dist/openai-codex-model-default-DuE2_wN7.js +1 -0
  390. package/dist/openai-codex-model-default-yVfRw-Mm.js +1 -0
  391. package/dist/openai-model-default-Bl8MHPb6.js +1 -0
  392. package/dist/openai-model-default-DJObMvLJ.js +1 -0
  393. package/dist/openclaw-exec-env-BWbOu_YC.js +1 -0
  394. package/dist/openclaw-root-CnsBf6ZU.js +1 -0
  395. package/dist/openclaw-root-D_0Q6--h.js +1 -0
  396. package/dist/outbound-BOSIEiEY.js +1 -0
  397. package/dist/outbound-BtUeDLjU.js +1 -0
  398. package/dist/outbound-Bx2Z2aYK.js +1 -0
  399. package/dist/outbound-Bz8bbrMI.js +1 -0
  400. package/dist/outbound-attachment-B7wMxwj6.js +1 -0
  401. package/dist/outbound-attachment-BgAe99RM.js +1 -0
  402. package/dist/outbound-attachment-Dds8xirj.js +1 -0
  403. package/dist/outbound-attachment-DqEKghQp.js +1 -0
  404. package/dist/pairing-cli-Bya9M-I_.js +1 -0
  405. package/dist/pairing-cli-D2JEhufv.js +1 -0
  406. package/dist/pairing-labels-BUU_-70B.js +1 -0
  407. package/dist/pairing-labels-D-kzQEL2.js +1 -0
  408. package/dist/pairing-store-BH-FTYkn.js +1 -0
  409. package/dist/pairing-store-Cg2UxreQ.js +1 -0
  410. package/dist/pairing-token-BjYBuREl.js +1 -0
  411. package/dist/pairing-token-DAR7V7FJ.js +1 -0
  412. package/dist/parse-duration-XTjMKl8s.js +1 -0
  413. package/dist/parse-finite-number-DqzUM-_s.js +1 -0
  414. package/dist/parse-finite-number-dBmDLLKL.js +1 -0
  415. package/dist/parse-log-line-CsYLg7Qu.js +1 -0
  416. package/dist/parse-log-line-NV-cipB_.js +1 -0
  417. package/dist/parse-port-Bv1Y9Wk5.js +1 -0
  418. package/dist/parse-port-JVwkxcZ8.js +1 -0
  419. package/dist/parse-timeout-DWSGfCkQ.js +1 -0
  420. package/dist/parse-timeout-Dx4QnVzo.js +1 -0
  421. package/dist/path-alias-guards-kY_ZbWs-.js +1 -0
  422. package/dist/path-alias-guards-mvyLCPlN.js +1 -0
  423. package/dist/path-env-BPd1Yd-i.js +1 -0
  424. package/dist/path-env-emdAQejM.js +1 -0
  425. package/dist/path-safety-BukYK8Kd.js +1 -0
  426. package/dist/path-safety-DaaMJFdt.js +1 -0
  427. package/dist/paths-B4IRk3wi.js +1 -0
  428. package/dist/paths-BfjJY2VL.js +1 -0
  429. package/dist/paths-BjD3T_xq.js +1 -0
  430. package/dist/paths-BpQOWYiT.js +1 -0
  431. package/dist/paths-CChBdtE8.js +1 -0
  432. package/dist/paths-CrCoPIVK.js +1 -0
  433. package/dist/paths-piJASC5k.js +1 -0
  434. package/dist/paths-yLEk_25I.js +1 -0
  435. package/dist/pi-embedded-BZSn84Bh.js +1 -0
  436. package/dist/pi-embedded-Dsz7p3MF.js +1 -0
  437. package/dist/pi-model-discovery-BbD1YJNx.js +1 -0
  438. package/dist/pi-model-discovery-CpjYoBQf.js +1 -0
  439. package/dist/pi-model-discovery-DeQdHV8O.js +1 -0
  440. package/dist/pi-model-discovery-Dps1PPWz.js +1 -0
  441. package/dist/pi-tools.before-tool-call.runtime-DseAq0gm.js +1 -0
  442. package/dist/pi-tools.before-tool-call.runtime-KKGILAuK.js +1 -0
  443. package/dist/pi-tools.before-tool-call.runtime-Pck2WdIO.js +1 -0
  444. package/dist/pi-tools.before-tool-call.runtime-ZzMJQ1BP.js +1 -0
  445. package/dist/pi-tools.policy-D40r0HmD.js +1 -0
  446. package/dist/plugin-auto-enable-DpVL6-ES.js +1 -0
  447. package/dist/plugin-auto-enable-NzmNh4oU.js +1 -0
  448. package/dist/plugin-install-plan-BobX0y9S.js +1 -0
  449. package/dist/plugin-install-plan-NvDGp0d8.js +1 -0
  450. package/dist/plugin-registry-C6dY-Et7.js +1 -0
  451. package/dist/plugin-registry-CIBiHZH1.js +1 -0
  452. package/dist/plugin-sdk/account-id.cjs +1 -0
  453. package/dist/plugin-sdk/account-id.js +1 -0
  454. package/dist/plugin-sdk/acpx.cjs +1 -0
  455. package/dist/plugin-sdk/acpx.js +1 -0
  456. package/dist/plugin-sdk/active-listener-BApFQlQn.js +1 -0
  457. package/dist/plugin-sdk/active-listener-BETopzG5.cjs +1 -0
  458. package/dist/plugin-sdk/active-listener-BEcmvyxh.cjs +1 -0
  459. package/dist/plugin-sdk/active-listener-BZPPbsNy.cjs +1 -0
  460. package/dist/plugin-sdk/active-listener-B_Mxemq7.cjs +1 -0
  461. package/dist/plugin-sdk/active-listener-BgW_qfd3.js +1 -0
  462. package/dist/plugin-sdk/active-listener-Coet66pF.cjs +1 -0
  463. package/dist/plugin-sdk/active-listener-CvML9qVF.js +1 -0
  464. package/dist/plugin-sdk/active-listener-DuO6KMXJ.js +1 -0
  465. package/dist/plugin-sdk/active-listener-DymzfmOG.cjs +1 -0
  466. package/dist/plugin-sdk/active-listener-ILBdBHMv.js +1 -0
  467. package/dist/plugin-sdk/active-listener-gRRIfN1q.js +1 -0
  468. package/dist/plugin-sdk/api-key-rotation-Bj1A9Slo.cjs +1 -0
  469. package/dist/plugin-sdk/api-key-rotation-CFPNzksf.cjs +1 -0
  470. package/dist/plugin-sdk/api-key-rotation-CXY0AyM1.js +1 -0
  471. package/dist/plugin-sdk/api-key-rotation-ClIwV8yq.js +1 -0
  472. package/dist/plugin-sdk/api-key-rotation-D5Nr1xl3.js +1 -0
  473. package/dist/plugin-sdk/api-key-rotation-DDCwA0KM.cjs +1 -0
  474. package/dist/plugin-sdk/api-key-rotation-DHMvXm70.cjs +1 -0
  475. package/dist/plugin-sdk/api-key-rotation-DaFFZfk5.js +1 -0
  476. package/dist/plugin-sdk/api-key-rotation-DcREl_0x.js +1 -0
  477. package/dist/plugin-sdk/api-key-rotation-X-5Fb7av.cjs +1 -0
  478. package/dist/plugin-sdk/api-key-rotation-_VfXYfHS.js +1 -0
  479. package/dist/plugin-sdk/api-key-rotation-wFUVOOfM.cjs +1 -0
  480. package/dist/plugin-sdk/audio-preflight-B1MP5_bc.cjs +1 -0
  481. package/dist/plugin-sdk/audio-preflight-BETx142T.cjs +1 -0
  482. package/dist/plugin-sdk/audio-preflight-BGRLhCLc.cjs +1 -0
  483. package/dist/plugin-sdk/audio-preflight-BNICfOY5.cjs +1 -0
  484. package/dist/plugin-sdk/audio-preflight-BV3Cav8M.js +1 -0
  485. package/dist/plugin-sdk/audio-preflight-BmO72Cqr.cjs +1 -0
  486. package/dist/plugin-sdk/audio-preflight-BpE8wFQc.js +1 -0
  487. package/dist/plugin-sdk/audio-preflight-CTAafaiH.js +1 -0
  488. package/dist/plugin-sdk/audio-preflight-D82aewIt.js +1 -0
  489. package/dist/plugin-sdk/audio-preflight-DmzxEaq3.cjs +1 -0
  490. package/dist/plugin-sdk/audio-preflight-DrSIYRnD.js +1 -0
  491. package/dist/plugin-sdk/audio-preflight-SZZoA2Ff.js +1 -0
  492. package/dist/plugin-sdk/audio-transcription-runner-B54MyF1_.js +1 -0
  493. package/dist/plugin-sdk/audio-transcription-runner-BIqM5H5q.js +1 -0
  494. package/dist/plugin-sdk/audio-transcription-runner-BLAxZL-U.js +1 -0
  495. package/dist/plugin-sdk/audio-transcription-runner-BVmaaA2k.js +1 -0
  496. package/dist/plugin-sdk/audio-transcription-runner-BdY-TMcc.js +1 -0
  497. package/dist/plugin-sdk/audio-transcription-runner-By3lSLub.cjs +1 -0
  498. package/dist/plugin-sdk/audio-transcription-runner-CH5CoZrF.cjs +1 -0
  499. package/dist/plugin-sdk/audio-transcription-runner-CMsp7bhn.cjs +1 -0
  500. package/dist/plugin-sdk/audio-transcription-runner-ClGibmMi.cjs +1 -0
  501. package/dist/plugin-sdk/audio-transcription-runner-QfEC19vE.cjs +1 -0
  502. package/dist/plugin-sdk/audio-transcription-runner-g7L0m-Z5.cjs +1 -0
  503. package/dist/plugin-sdk/audio-transcription-runner-pVTD93vq.js +1 -0
  504. package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -0
  505. package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -0
  506. package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -0
  507. package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -0
  508. package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -0
  509. package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -0
  510. package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -0
  511. package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -0
  512. package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -0
  513. package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -0
  514. package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -0
  515. package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -0
  516. package/dist/plugin-sdk/bluebubbles.cjs +1 -0
  517. package/dist/plugin-sdk/bluebubbles.js +1 -0
  518. package/dist/plugin-sdk/channel-activity-BGK-Bj2_.cjs +1 -0
  519. package/dist/plugin-sdk/channel-activity-BRHvpV0C.js +1 -0
  520. package/dist/plugin-sdk/channel-activity-CKfWFchu.js +1 -0
  521. package/dist/plugin-sdk/channel-activity-CLUi31fX.cjs +1 -0
  522. package/dist/plugin-sdk/channel-activity-CVOp-PL4.cjs +1 -0
  523. package/dist/plugin-sdk/channel-activity-CgXnZ0GC.cjs +1 -0
  524. package/dist/plugin-sdk/channel-activity-CmYpOPAn.js +1 -0
  525. package/dist/plugin-sdk/channel-activity-CwaMf9qT.cjs +1 -0
  526. package/dist/plugin-sdk/channel-activity-D5D5tBWf.cjs +1 -0
  527. package/dist/plugin-sdk/channel-activity-D7tpmatp.js +1 -0
  528. package/dist/plugin-sdk/channel-activity-DpxSOlXF.js +1 -0
  529. package/dist/plugin-sdk/channel-activity-spvDzlTl.js +1 -0
  530. package/dist/plugin-sdk/channel-web-4ZQVqsrt.js +1 -0
  531. package/dist/plugin-sdk/channel-web-9zn1Itpg.cjs +1 -0
  532. package/dist/plugin-sdk/channel-web-BrB00HKH.js +1 -0
  533. package/dist/plugin-sdk/channel-web-DN5La-Ol.cjs +1 -0
  534. package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -0
  535. package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -0
  536. package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -0
  537. package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -0
  538. package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -0
  539. package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -0
  540. package/dist/plugin-sdk/commands-registry-5lStNoKW.cjs +1 -0
  541. package/dist/plugin-sdk/commands-registry-C8wnXqNa.cjs +1 -0
  542. package/dist/plugin-sdk/commands-registry-Cnr6PvIw.js +1 -0
  543. package/dist/plugin-sdk/commands-registry-CtYCWfuM.cjs +1 -0
  544. package/dist/plugin-sdk/commands-registry-D2gv242l.js +1 -0
  545. package/dist/plugin-sdk/commands-registry-DI2vPscP.js +1 -0
  546. package/dist/plugin-sdk/commands-registry-DcBvmwSU.js +1 -0
  547. package/dist/plugin-sdk/commands-registry-DkUhCIDk.cjs +1 -0
  548. package/dist/plugin-sdk/commands-registry-DsMbmie-.cjs +1 -0
  549. package/dist/plugin-sdk/commands-registry-MCsWR5Vf.js +1 -0
  550. package/dist/plugin-sdk/commands-registry-SHZVq_qf.cjs +1 -0
  551. package/dist/plugin-sdk/commands-registry-kRjFifgj.js +1 -0
  552. package/dist/plugin-sdk/common-B4iFXuoZ.cjs +1 -0
  553. package/dist/plugin-sdk/common-B6fDMl_i.js +1 -0
  554. package/dist/plugin-sdk/compat.cjs +1 -0
  555. package/dist/plugin-sdk/compat.js +1 -0
  556. package/dist/plugin-sdk/config-ByA2hluR.js +1 -0
  557. package/dist/plugin-sdk/config-rBz8C_Hi.cjs +1 -0
  558. package/dist/plugin-sdk/copilot-proxy.cjs +1 -0
  559. package/dist/plugin-sdk/copilot-proxy.js +1 -0
  560. package/dist/plugin-sdk/core.cjs +1 -0
  561. package/dist/plugin-sdk/core.js +1 -0
  562. package/dist/plugin-sdk/deliver-B0fB4hAV.js +1 -0
  563. package/dist/plugin-sdk/deliver-BOLmjIJ3.js +1 -0
  564. package/dist/plugin-sdk/deliver-BrfVwkYz.cjs +1 -0
  565. package/dist/plugin-sdk/deliver-C-tChWTI.cjs +1 -0
  566. package/dist/plugin-sdk/deliver-CjQPkWS-.cjs +1 -0
  567. package/dist/plugin-sdk/deliver-D1P0FNTu.js +1 -0
  568. package/dist/plugin-sdk/deliver-DCrO9mvv.cjs +1 -0
  569. package/dist/plugin-sdk/deliver-DQLekoj2.cjs +1 -0
  570. package/dist/plugin-sdk/deliver-DkfCVM78.js +1 -0
  571. package/dist/plugin-sdk/deliver-Dkh3lqXR.js +1 -0
  572. package/dist/plugin-sdk/deliver-DsFtXFyr.cjs +1 -0
  573. package/dist/plugin-sdk/deliver-vYe_sYOL.js +1 -0
  574. package/dist/plugin-sdk/device-pair.cjs +1 -0
  575. package/dist/plugin-sdk/device-pair.js +1 -0
  576. package/dist/plugin-sdk/diagnostic-8iX73nz_.cjs +1 -0
  577. package/dist/plugin-sdk/diagnostic-CLUtpxAp.js +1 -0
  578. package/dist/plugin-sdk/diagnostic-CVS4k9hh.cjs +1 -0
  579. package/dist/plugin-sdk/diagnostic-CkePwN5F.js +1 -0
  580. package/dist/plugin-sdk/diagnostic-Cu1PGj0E.cjs +1 -0
  581. package/dist/plugin-sdk/diagnostic-D0oCfBju.cjs +1 -0
  582. package/dist/plugin-sdk/diagnostic-D7A9cQYf.cjs +1 -0
  583. package/dist/plugin-sdk/diagnostic-DGLX0zXU.js +1 -0
  584. package/dist/plugin-sdk/diagnostic-DXscFT8t.cjs +1 -0
  585. package/dist/plugin-sdk/diagnostic-Efe4b81B.js +1 -0
  586. package/dist/plugin-sdk/diagnostic-EqHqw9xo.js +1 -0
  587. package/dist/plugin-sdk/diagnostic-vsjHZ_fY.js +1 -0
  588. package/dist/plugin-sdk/diagnostics-otel.cjs +1 -0
  589. package/dist/plugin-sdk/diagnostics-otel.js +1 -0
  590. package/dist/plugin-sdk/diffs.cjs +1 -0
  591. package/dist/plugin-sdk/diffs.js +1 -0
  592. package/dist/plugin-sdk/discord.cjs +1 -0
  593. package/dist/plugin-sdk/discord.js +1 -0
  594. package/dist/plugin-sdk/dispatch-5v3v8zzA.js +1 -0
  595. package/dist/plugin-sdk/dispatch-B6UbZCpL.cjs +1 -0
  596. package/dist/plugin-sdk/dispatch-BYlcmJ9u.js +1 -0
  597. package/dist/plugin-sdk/dispatch-C2YTqGlf.js +1 -0
  598. package/dist/plugin-sdk/dispatch-CNy3g9ma.cjs +1 -0
  599. package/dist/plugin-sdk/dispatch-DCSwqteL.js +1 -0
  600. package/dist/plugin-sdk/dispatch-DHbSBeFJ.js +1 -0
  601. package/dist/plugin-sdk/dispatch-DK5ub8qa.cjs +1 -0
  602. package/dist/plugin-sdk/dispatch-SWyfAZT0.cjs +1 -0
  603. package/dist/plugin-sdk/dispatch-mR2vLkGa.cjs +1 -0
  604. package/dist/plugin-sdk/feishu.cjs +1 -0
  605. package/dist/plugin-sdk/feishu.js +1 -0
  606. package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -0
  607. package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -0
  608. package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -0
  609. package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -0
  610. package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -0
  611. package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -0
  612. package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -0
  613. package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -0
  614. package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -0
  615. package/dist/plugin-sdk/fetch-BtZY623f.js +1 -0
  616. package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -0
  617. package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -0
  618. package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -0
  619. package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -0
  620. package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -0
  621. package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -0
  622. package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -0
  623. package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -0
  624. package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -0
  625. package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -0
  626. package/dist/plugin-sdk/fetch-guard-8I7EHbDM.cjs +1 -0
  627. package/dist/plugin-sdk/fetch-guard-CIJUkBIL.cjs +1 -0
  628. package/dist/plugin-sdk/fetch-guard-CY03i4gu.js +1 -0
  629. package/dist/plugin-sdk/fetch-guard-Cz-cgYmR.cjs +1 -0
  630. package/dist/plugin-sdk/fetch-guard-DB85MORy.cjs +1 -0
  631. package/dist/plugin-sdk/fetch-guard-DE9BslxX.js +1 -0
  632. package/dist/plugin-sdk/fetch-guard-DLNzldn9.cjs +1 -0
  633. package/dist/plugin-sdk/fetch-guard-DSvAbvSx.js +1 -0
  634. package/dist/plugin-sdk/fetch-guard-DXe8oqEE.js +1 -0
  635. package/dist/plugin-sdk/fetch-guard-DY9jpsXo.cjs +1 -0
  636. package/dist/plugin-sdk/fetch-guard-DbOZYxyN.js +1 -0
  637. package/dist/plugin-sdk/fetch-guard-_fifU0fX.js +1 -0
  638. package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -0
  639. package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -0
  640. package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -0
  641. package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -0
  642. package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -0
  643. package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -0
  644. package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -0
  645. package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -0
  646. package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -0
  647. package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -0
  648. package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -0
  649. package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -0
  650. package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -0
  651. package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -0
  652. package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -0
  653. package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -0
  654. package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -0
  655. package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -0
  656. package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -0
  657. package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -0
  658. package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -0
  659. package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -0
  660. package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -0
  661. package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -0
  662. package/dist/plugin-sdk/googlechat.cjs +1 -0
  663. package/dist/plugin-sdk/googlechat.js +1 -0
  664. package/dist/plugin-sdk/image-B6HEHWlJ.js +1 -0
  665. package/dist/plugin-sdk/image-Bte8cr4F.js +1 -0
  666. package/dist/plugin-sdk/image-BxafJgQ6.cjs +1 -0
  667. package/dist/plugin-sdk/image-CDI5SqeR.js +1 -0
  668. package/dist/plugin-sdk/image-CTgwucug.cjs +1 -0
  669. package/dist/plugin-sdk/image-CWnsS03L.js +1 -0
  670. package/dist/plugin-sdk/image-CoksjGBL.cjs +1 -0
  671. package/dist/plugin-sdk/image-CuOIoxl2.cjs +1 -0
  672. package/dist/plugin-sdk/image-DJyEMzkq.cjs +1 -0
  673. package/dist/plugin-sdk/image-DegWnAZU.cjs +1 -0
  674. package/dist/plugin-sdk/image-TCSQZpr6.js +1 -0
  675. package/dist/plugin-sdk/image-aG-5S1vd.js +1 -0
  676. package/dist/plugin-sdk/imessage.cjs +1 -0
  677. package/dist/plugin-sdk/imessage.js +1 -0
  678. package/dist/plugin-sdk/index.cjs +1 -0
  679. package/dist/plugin-sdk/index.js +1 -0
  680. package/dist/plugin-sdk/ir-8rDh7div.js +1 -0
  681. package/dist/plugin-sdk/ir-Bh6lKGdS.js +1 -0
  682. package/dist/plugin-sdk/ir-C3VNqnc2.cjs +1 -0
  683. package/dist/plugin-sdk/ir-CZOtKajq.cjs +1 -0
  684. package/dist/plugin-sdk/ir-CveCWs8q.cjs +1 -0
  685. package/dist/plugin-sdk/ir-DAxY-7c1.cjs +1 -0
  686. package/dist/plugin-sdk/ir-DSuLr2UE.cjs +1 -0
  687. package/dist/plugin-sdk/ir-DanxCjD-.cjs +1 -0
  688. package/dist/plugin-sdk/ir-Dgc6qZMX.js +1 -0
  689. package/dist/plugin-sdk/ir-OBi5zaEW.js +1 -0
  690. package/dist/plugin-sdk/ir-hQ6EW92h.js +1 -0
  691. package/dist/plugin-sdk/ir-ynWQeZD9.js +1 -0
  692. package/dist/plugin-sdk/irc.cjs +1 -0
  693. package/dist/plugin-sdk/irc.js +1 -0
  694. package/dist/plugin-sdk/keyed-async-queue.cjs +1 -0
  695. package/dist/plugin-sdk/keyed-async-queue.js +1 -0
  696. package/dist/plugin-sdk/line.cjs +1 -0
  697. package/dist/plugin-sdk/line.js +1 -0
  698. package/dist/plugin-sdk/llm-task.cjs +1 -0
  699. package/dist/plugin-sdk/llm-task.js +1 -0
  700. package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -0
  701. package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -0
  702. package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -0
  703. package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -0
  704. package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -0
  705. package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -0
  706. package/dist/plugin-sdk/lobster.cjs +1 -0
  707. package/dist/plugin-sdk/lobster.js +1 -0
  708. package/dist/plugin-sdk/local-roots-5udQUs81.js +1 -0
  709. package/dist/plugin-sdk/local-roots-BmhNPIJm.cjs +1 -0
  710. package/dist/plugin-sdk/local-roots-C5UoE741.cjs +1 -0
  711. package/dist/plugin-sdk/local-roots-Ca8KoAAp.js +1 -0
  712. package/dist/plugin-sdk/local-roots-CeAYfmPb.cjs +1 -0
  713. package/dist/plugin-sdk/local-roots-Cu7YCpql.cjs +1 -0
  714. package/dist/plugin-sdk/local-roots-D0yN794S.js +1 -0
  715. package/dist/plugin-sdk/local-roots-D4i3H0UG.cjs +1 -0
  716. package/dist/plugin-sdk/local-roots-DGe-SRNu.js +1 -0
  717. package/dist/plugin-sdk/local-roots-bWA2msT0.js +1 -0
  718. package/dist/plugin-sdk/local-roots-tee85Q-1.js +1 -0
  719. package/dist/plugin-sdk/local-roots-wTkpE7go.cjs +1 -0
  720. package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -0
  721. package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -0
  722. package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -0
  723. package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -0
  724. package/dist/plugin-sdk/logger-C210xuWx.js +1 -0
  725. package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -0
  726. package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -0
  727. package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -0
  728. package/dist/plugin-sdk/logger-DwWqfo66.js +1 -0
  729. package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -0
  730. package/dist/plugin-sdk/login-B5IwNcl4.cjs +1 -0
  731. package/dist/plugin-sdk/login-BIbt7ZL_.js +1 -0
  732. package/dist/plugin-sdk/login-CxnDKwXC.js +1 -0
  733. package/dist/plugin-sdk/login-D5iTWowo.cjs +1 -0
  734. package/dist/plugin-sdk/login-DHE1rzB1.js +1 -0
  735. package/dist/plugin-sdk/login-DIPBcPQc.cjs +1 -0
  736. package/dist/plugin-sdk/login-DtDOozuU.js +1 -0
  737. package/dist/plugin-sdk/login-UrWNtI80.cjs +1 -0
  738. package/dist/plugin-sdk/login-VviMkBU2.js +1 -0
  739. package/dist/plugin-sdk/login-jQwwt6C-.js +1 -0
  740. package/dist/plugin-sdk/login-mGjCzJzb.cjs +1 -0
  741. package/dist/plugin-sdk/login-pZnnpj38.cjs +1 -0
  742. package/dist/plugin-sdk/login-qr-BexuTIDJ.cjs +1 -0
  743. package/dist/plugin-sdk/login-qr-C366Qlh-.cjs +1 -0
  744. package/dist/plugin-sdk/login-qr-CQY4ty0o.js +1 -0
  745. package/dist/plugin-sdk/login-qr-CSabEb-n.cjs +1 -0
  746. package/dist/plugin-sdk/login-qr-CUgNKijx.js +1 -0
  747. package/dist/plugin-sdk/login-qr-C_LEw1Bi.js +1 -0
  748. package/dist/plugin-sdk/login-qr-CcPvldsG.js +1 -0
  749. package/dist/plugin-sdk/login-qr-CnNGKwDR.cjs +1 -0
  750. package/dist/plugin-sdk/login-qr-DQm50pXk.js +1 -0
  751. package/dist/plugin-sdk/login-qr-DayvAWkx.js +1 -0
  752. package/dist/plugin-sdk/login-qr-eodIsL9V.cjs +1 -0
  753. package/dist/plugin-sdk/login-qr-yIJE7MmY.cjs +1 -0
  754. package/dist/plugin-sdk/manager-932XljTT.js +1 -0
  755. package/dist/plugin-sdk/manager-CGHd5p2T.js +1 -0
  756. package/dist/plugin-sdk/manager-CbGA_JDa.js +1 -0
  757. package/dist/plugin-sdk/manager-CdD7HaGW.cjs +1 -0
  758. package/dist/plugin-sdk/manager-CmAH_a7A.cjs +1 -0
  759. package/dist/plugin-sdk/manager-DIS4ywpb.cjs +1 -0
  760. package/dist/plugin-sdk/manager-DQ2C-2IU.cjs +1 -0
  761. package/dist/plugin-sdk/manager-DdvFnsT7.cjs +1 -0
  762. package/dist/plugin-sdk/manager-DfdDglld.js +1 -0
  763. package/dist/plugin-sdk/manager-MR9stU_p.js +1 -0
  764. package/dist/plugin-sdk/manager-WwW37IUu.js +1 -0
  765. package/dist/plugin-sdk/manager-gE9187gu.cjs +1 -0
  766. package/dist/plugin-sdk/matrix.cjs +1 -0
  767. package/dist/plugin-sdk/matrix.js +1 -0
  768. package/dist/plugin-sdk/mattermost.cjs +1 -0
  769. package/dist/plugin-sdk/mattermost.js +1 -0
  770. package/dist/plugin-sdk/memory-core.cjs +1 -0
  771. package/dist/plugin-sdk/memory-core.js +1 -0
  772. package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -0
  773. package/dist/plugin-sdk/minimax-portal-auth.js +1 -0
  774. package/dist/plugin-sdk/model-auth-BpS4IWDi.cjs +1 -0
  775. package/dist/plugin-sdk/model-auth-BwajGuoF.cjs +1 -0
  776. package/dist/plugin-sdk/model-auth-C1YL9HcW.js +1 -0
  777. package/dist/plugin-sdk/model-auth-Cc-8H6Cu.js +1 -0
  778. package/dist/plugin-sdk/model-auth-Cw3fuhm_.js +1 -0
  779. package/dist/plugin-sdk/model-auth-CycDtQl-.js +1 -0
  780. package/dist/plugin-sdk/model-auth-D-7xiXhK.cjs +1 -0
  781. package/dist/plugin-sdk/model-auth-TFUxaK0f.cjs +1 -0
  782. package/dist/plugin-sdk/model-selection-BADTZM9n.cjs +1 -0
  783. package/dist/plugin-sdk/model-selection-DUAudCtL.js +1 -0
  784. package/dist/plugin-sdk/msteams.cjs +1 -0
  785. package/dist/plugin-sdk/msteams.js +1 -0
  786. package/dist/plugin-sdk/nextcloud-talk.cjs +1 -0
  787. package/dist/plugin-sdk/nextcloud-talk.js +1 -0
  788. package/dist/plugin-sdk/nostr.cjs +1 -0
  789. package/dist/plugin-sdk/nostr.js +1 -0
  790. package/dist/plugin-sdk/outbound-2Lo6mZEY.js +1 -0
  791. package/dist/plugin-sdk/outbound-9XFlZzaF.cjs +1 -0
  792. package/dist/plugin-sdk/outbound-BlWsUmjQ.js +1 -0
  793. package/dist/plugin-sdk/outbound-Bs2rUcWZ.cjs +1 -0
  794. package/dist/plugin-sdk/outbound-C18nEOFP.js +1 -0
  795. package/dist/plugin-sdk/outbound-CW3o4Eng.cjs +1 -0
  796. package/dist/plugin-sdk/outbound-CzsdW5sy.js +1 -0
  797. package/dist/plugin-sdk/outbound-DcP22VOo.cjs +1 -0
  798. package/dist/plugin-sdk/outbound-QhOJAEO8.cjs +1 -0
  799. package/dist/plugin-sdk/outbound-attachment-1pf06Oiu.cjs +1 -0
  800. package/dist/plugin-sdk/outbound-attachment-B8-ZVX2i.cjs +1 -0
  801. package/dist/plugin-sdk/outbound-attachment-BDwI_tn0.cjs +1 -0
  802. package/dist/plugin-sdk/outbound-attachment-BXhbJils.js +1 -0
  803. package/dist/plugin-sdk/outbound-attachment-Bgf1pCh8.js +1 -0
  804. package/dist/plugin-sdk/outbound-attachment-COgf85S8.cjs +1 -0
  805. package/dist/plugin-sdk/outbound-attachment-CfN9OvMC.js +1 -0
  806. package/dist/plugin-sdk/outbound-attachment-CftilZWd.js +1 -0
  807. package/dist/plugin-sdk/outbound-attachment-Cujprd6T.cjs +1 -0
  808. package/dist/plugin-sdk/outbound-attachment-CvSHb9ci.js +1 -0
  809. package/dist/plugin-sdk/outbound-attachment-DQYtdTUw.js +1 -0
  810. package/dist/plugin-sdk/outbound-attachment-FqWC0WJx.cjs +1 -0
  811. package/dist/plugin-sdk/outbound-dTvIiFIZ.js +1 -0
  812. package/dist/plugin-sdk/outbound-fZ1WJGfe.cjs +1 -0
  813. package/dist/plugin-sdk/outbound-oHoWYWxf.js +1 -0
  814. package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -0
  815. package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -0
  816. package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -0
  817. package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -0
  818. package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -0
  819. package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -0
  820. package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -0
  821. package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -0
  822. package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -0
  823. package/dist/plugin-sdk/paths-CtrEseGU.js +1 -0
  824. package/dist/plugin-sdk/paths-D55o_j8-.js +1 -0
  825. package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -0
  826. package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -0
  827. package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -0
  828. package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -0
  829. package/dist/plugin-sdk/paths-Do0djuaj.js +1 -0
  830. package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -0
  831. package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -0
  832. package/dist/plugin-sdk/paths-piJASC5k.js +1 -0
  833. package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -0
  834. package/dist/plugin-sdk/pi-model-discovery-B9boErNZ.cjs +1 -0
  835. package/dist/plugin-sdk/pi-model-discovery-BJ8wTgFH.cjs +1 -0
  836. package/dist/plugin-sdk/pi-model-discovery-Bb2vCP6M.js +1 -0
  837. package/dist/plugin-sdk/pi-model-discovery-Bor7jHYd.js +1 -0
  838. package/dist/plugin-sdk/pi-model-discovery-BrTw1qE2.cjs +1 -0
  839. package/dist/plugin-sdk/pi-model-discovery-BuEMyAsU.js +1 -0
  840. package/dist/plugin-sdk/pi-model-discovery-CV9NTjC4.js +1 -0
  841. package/dist/plugin-sdk/pi-model-discovery-D5tLf04u.js +1 -0
  842. package/dist/plugin-sdk/pi-model-discovery-D5xlUS2J.cjs +1 -0
  843. package/dist/plugin-sdk/pi-model-discovery-DGoPUzBj.cjs +1 -0
  844. package/dist/plugin-sdk/pi-model-discovery-DMrqvV1O.cjs +1 -0
  845. package/dist/plugin-sdk/pi-model-discovery-DoY7qnlI.cjs +1 -0
  846. package/dist/plugin-sdk/pi-model-discovery-Dqq9Vm8o.js +1 -0
  847. package/dist/plugin-sdk/pi-model-discovery-zCuISPPq.js +1 -0
  848. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-4238P8NF.js +1 -0
  849. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BEoqzgFe.cjs +1 -0
  850. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BGPjibRD.js +1 -0
  851. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BJ_amISU.cjs +1 -0
  852. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BX2r_qPT.cjs +1 -0
  853. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CGLHFxSr.js +1 -0
  854. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsNn_Lv8.js +1 -0
  855. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsiKBTHg.cjs +1 -0
  856. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CuXQQk4F.cjs +1 -0
  857. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DNatrz-3.cjs +1 -0
  858. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-PApjB0tY.js +1 -0
  859. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-xsXDBYNq.js +1 -0
  860. package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -0
  861. package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -0
  862. package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -0
  863. package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -0
  864. package/dist/plugin-sdk/polls-PGxiE05J.js +1 -0
  865. package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -0
  866. package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -0
  867. package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -0
  868. package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -0
  869. package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -0
  870. package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -0
  871. package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -0
  872. package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -0
  873. package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -0
  874. package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -0
  875. package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -0
  876. package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -0
  877. package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -0
  878. package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -0
  879. package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -0
  880. package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -0
  881. package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -0
  882. package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -0
  883. package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -0
  884. package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -0
  885. package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -0
  886. package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -0
  887. package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -0
  888. package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -0
  889. package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -0
  890. package/dist/plugin-sdk/pw-ai-B0_rvdfF.js +1 -0
  891. package/dist/plugin-sdk/pw-ai-BqdrA15F.js +1 -0
  892. package/dist/plugin-sdk/pw-ai-CDzxu5B3.js +1 -0
  893. package/dist/plugin-sdk/pw-ai-CJIogpwF.cjs +1 -0
  894. package/dist/plugin-sdk/pw-ai-CL_gU5PJ.cjs +1 -0
  895. package/dist/plugin-sdk/pw-ai-Ca4aZTaG.cjs +1 -0
  896. package/dist/plugin-sdk/pw-ai-CrfYxLI8.cjs +1 -0
  897. package/dist/plugin-sdk/pw-ai-DCiFlwP8.js +1 -0
  898. package/dist/plugin-sdk/pw-ai-DSqXNmNZ.js +1 -0
  899. package/dist/plugin-sdk/pw-ai-Dh55xTz1.cjs +1 -0
  900. package/dist/plugin-sdk/pw-ai-DxAvipyK.cjs +1 -0
  901. package/dist/plugin-sdk/pw-ai-U9nPHH-0.js +1 -0
  902. package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -0
  903. package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -0
  904. package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -0
  905. package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -0
  906. package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -0
  907. package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -0
  908. package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -0
  909. package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -0
  910. package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -0
  911. package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -0
  912. package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -0
  913. package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -0
  914. package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -0
  915. package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -0
  916. package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -0
  917. package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -0
  918. package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -0
  919. package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -0
  920. package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -0
  921. package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -0
  922. package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -0
  923. package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -0
  924. package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -0
  925. package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -0
  926. package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -0
  927. package/dist/plugin-sdk/qwen-portal-auth.js +1 -0
  928. package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -0
  929. package/dist/plugin-sdk/render-CBsnn-2A.js +1 -0
  930. package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -0
  931. package/dist/plugin-sdk/render-DGmfCIRG.js +1 -0
  932. package/dist/plugin-sdk/render-DhTJXP1U.js +1 -0
  933. package/dist/plugin-sdk/render-Djx15dPh.js +1 -0
  934. package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -0
  935. package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -0
  936. package/dist/plugin-sdk/reply-0zCEbT4w.cjs +1 -0
  937. package/dist/plugin-sdk/reply-D-f2bbXy.js +1 -0
  938. package/dist/plugin-sdk/resolve-outbound-target-CrQGbaua.js +1 -0
  939. package/dist/plugin-sdk/resolve-outbound-target-H7Q9HcfW.js +1 -0
  940. package/dist/plugin-sdk/resolve-outbound-target-MS6Xpp17.cjs +1 -0
  941. package/dist/plugin-sdk/resolve-outbound-target-cDxjy3TL.cjs +1 -0
  942. package/dist/plugin-sdk/send-3VNTSIhr.js +1 -0
  943. package/dist/plugin-sdk/send-61GHLNYP.cjs +1 -0
  944. package/dist/plugin-sdk/send-6q4owAw0.js +1 -0
  945. package/dist/plugin-sdk/send-A2s5sPTd.js +1 -0
  946. package/dist/plugin-sdk/send-B2qa7CSk.js +1 -0
  947. package/dist/plugin-sdk/send-B3aEYvqG.cjs +1 -0
  948. package/dist/plugin-sdk/send-BAoqP09M.cjs +1 -0
  949. package/dist/plugin-sdk/send-BNBJ4CF8.js +1 -0
  950. package/dist/plugin-sdk/send-BTE2rI1E.js +1 -0
  951. package/dist/plugin-sdk/send-BlWuQHYB.js +1 -0
  952. package/dist/plugin-sdk/send-Bnvt7ZUE.cjs +1 -0
  953. package/dist/plugin-sdk/send-Bq6Mqs9G.cjs +1 -0
  954. package/dist/plugin-sdk/send-Bq787fi_.js +1 -0
  955. package/dist/plugin-sdk/send-BrAHLYBR.js +1 -0
  956. package/dist/plugin-sdk/send-Bt2eFBk2.js +1 -0
  957. package/dist/plugin-sdk/send-C4ZFbUux.js +1 -0
  958. package/dist/plugin-sdk/send-C4cyMW4S.cjs +1 -0
  959. package/dist/plugin-sdk/send-C8f5H4XV.cjs +1 -0
  960. package/dist/plugin-sdk/send-CDwTrbgT.cjs +1 -0
  961. package/dist/plugin-sdk/send-CEfs0Fsr.js +1 -0
  962. package/dist/plugin-sdk/send-CFuJjCNB.cjs +1 -0
  963. package/dist/plugin-sdk/send-CJGLeSJ8.cjs +1 -0
  964. package/dist/plugin-sdk/send-CL0W7jLW.js +1 -0
  965. package/dist/plugin-sdk/send-CLl490Gb.cjs +1 -0
  966. package/dist/plugin-sdk/send-CQtITZ7k.cjs +1 -0
  967. package/dist/plugin-sdk/send-CSGh_GVr.cjs +1 -0
  968. package/dist/plugin-sdk/send-CicLiXB4.js +1 -0
  969. package/dist/plugin-sdk/send-Cm7bEwx-.cjs +1 -0
  970. package/dist/plugin-sdk/send-CmO9z2-b.js +1 -0
  971. package/dist/plugin-sdk/send-Co_Wy2kT.cjs +1 -0
  972. package/dist/plugin-sdk/send-Cox_iyYB.cjs +1 -0
  973. package/dist/plugin-sdk/send-CuX4LcJ3.cjs +1 -0
  974. package/dist/plugin-sdk/send-CxMiTtxI.cjs +1 -0
  975. package/dist/plugin-sdk/send-CyyzWwDr.js +1 -0
  976. package/dist/plugin-sdk/send-D-HZnehy.cjs +1 -0
  977. package/dist/plugin-sdk/send-D-qD7BCb.js +1 -0
  978. package/dist/plugin-sdk/send-D3imkSlz.cjs +1 -0
  979. package/dist/plugin-sdk/send-D5UwpCoU.cjs +1 -0
  980. package/dist/plugin-sdk/send-D75OGJco.js +1 -0
  981. package/dist/plugin-sdk/send-DB4i1kUy.cjs +1 -0
  982. package/dist/plugin-sdk/send-DBjzdBda.cjs +1 -0
  983. package/dist/plugin-sdk/send-DPgRTM8s.js +1 -0
  984. package/dist/plugin-sdk/send-DPpBLiL4.js +1 -0
  985. package/dist/plugin-sdk/send-DV_afQnj.cjs +1 -0
  986. package/dist/plugin-sdk/send-DWuChr46.js +1 -0
  987. package/dist/plugin-sdk/send-DZ4szmEa.cjs +1 -0
  988. package/dist/plugin-sdk/send-DZr98eqE.cjs +1 -0
  989. package/dist/plugin-sdk/send-D_1K0zmx.cjs +1 -0
  990. package/dist/plugin-sdk/send-DaLB9Lca.js +1 -0
  991. package/dist/plugin-sdk/send-De4qiprb.js +1 -0
  992. package/dist/plugin-sdk/send-DeU-T5ps.js +1 -0
  993. package/dist/plugin-sdk/send-DtjJM0LO.js +1 -0
  994. package/dist/plugin-sdk/send-DvDCmTQf.js +1 -0
  995. package/dist/plugin-sdk/send-EvcsiFBC.cjs +1 -0
  996. package/dist/plugin-sdk/send-GuISe9C82.js +1 -0
  997. package/dist/plugin-sdk/send-IoGcE0w2.js +1 -0
  998. package/dist/plugin-sdk/send-JVdUTsN1.cjs +1 -0
  999. package/dist/plugin-sdk/send-NpNVFRmY.js +1 -0
  1000. package/dist/plugin-sdk/send-XMOZsJcs.js +1 -0
  1001. package/dist/plugin-sdk/send-h--iKoQE.cjs +1 -0
  1002. package/dist/plugin-sdk/session-8BcB905y.cjs +1 -0
  1003. package/dist/plugin-sdk/session-B2oURX5K.js +1 -0
  1004. package/dist/plugin-sdk/session-BJhNqIOi.js +1 -0
  1005. package/dist/plugin-sdk/session-BRgGsw96.cjs +1 -0
  1006. package/dist/plugin-sdk/session-Be_7rXAz.js +1 -0
  1007. package/dist/plugin-sdk/session-C66IXbE-.js +1 -0
  1008. package/dist/plugin-sdk/session-CCYDbcyV.js +1 -0
  1009. package/dist/plugin-sdk/session-CHu3C2m0.cjs +1 -0
  1010. package/dist/plugin-sdk/session-DUlmK2IL.cjs +1 -0
  1011. package/dist/plugin-sdk/session-DxTRZTnu.js +1 -0
  1012. package/dist/plugin-sdk/session-DzhI0nj-.cjs +1 -0
  1013. package/dist/plugin-sdk/session-WRCBgAzG.cjs +1 -0
  1014. package/dist/plugin-sdk/sessions-DxXXAfdI.js +1 -0
  1015. package/dist/plugin-sdk/sessions-Dz5JUL8j.cjs +1 -0
  1016. package/dist/plugin-sdk/signal.cjs +1 -0
  1017. package/dist/plugin-sdk/signal.js +1 -0
  1018. package/dist/plugin-sdk/skill-commands-B4wI8ETo.cjs +1 -0
  1019. package/dist/plugin-sdk/skill-commands-BoTeA376.cjs +1 -0
  1020. package/dist/plugin-sdk/skill-commands-BwrYJu7Z.js +1 -0
  1021. package/dist/plugin-sdk/skill-commands-BzkMuA58.cjs +1 -0
  1022. package/dist/plugin-sdk/skill-commands-CIAf9cWN.cjs +1 -0
  1023. package/dist/plugin-sdk/skill-commands-CKc7JO_c.cjs +1 -0
  1024. package/dist/plugin-sdk/skill-commands-Cvb6oXym.js +1 -0
  1025. package/dist/plugin-sdk/skill-commands-DWDtyCtB.js +1 -0
  1026. package/dist/plugin-sdk/skill-commands-Hmuw0PPK.js +1 -0
  1027. package/dist/plugin-sdk/skill-commands-KyN0FGaC.cjs +1 -0
  1028. package/dist/plugin-sdk/skill-commands-KzwEqk5p.js +1 -0
  1029. package/dist/plugin-sdk/skill-commands-Ny38ZFIC.js +1 -0
  1030. package/dist/plugin-sdk/slack.cjs +1 -0
  1031. package/dist/plugin-sdk/slack.js +1 -0
  1032. package/dist/plugin-sdk/synology-chat.cjs +1 -0
  1033. package/dist/plugin-sdk/synology-chat.js +1 -0
  1034. package/dist/plugin-sdk/tables-BIDWwpX8.js +1 -0
  1035. package/dist/plugin-sdk/tables-Bk8lHaPx.cjs +1 -0
  1036. package/dist/plugin-sdk/tables-BlNIkMV8.js +1 -0
  1037. package/dist/plugin-sdk/tables-Bp0a2WRP.cjs +1 -0
  1038. package/dist/plugin-sdk/tables-BtVUf77b.cjs +1 -0
  1039. package/dist/plugin-sdk/tables-C4j5Bar_.js +1 -0
  1040. package/dist/plugin-sdk/tables-CZGtYzDC.cjs +1 -0
  1041. package/dist/plugin-sdk/tables-CnrHab5d.cjs +1 -0
  1042. package/dist/plugin-sdk/tables-DtslIPYw.js +1 -0
  1043. package/dist/plugin-sdk/tables-NrdtIJGp.cjs +1 -0
  1044. package/dist/plugin-sdk/tables-XYb3T-vE.js +1 -0
  1045. package/dist/plugin-sdk/tables-lbv-0tl3.js +1 -0
  1046. package/dist/plugin-sdk/target-errors-9cdJA1L2.cjs +1 -0
  1047. package/dist/plugin-sdk/target-errors-BEkhKWCq.cjs +1 -0
  1048. package/dist/plugin-sdk/target-errors-BZRN-lPd.js +1 -0
  1049. package/dist/plugin-sdk/target-errors-BrwqillR.cjs +1 -0
  1050. package/dist/plugin-sdk/target-errors-Buo5pfom.js +1 -0
  1051. package/dist/plugin-sdk/target-errors-CFzzcffg.js +1 -0
  1052. package/dist/plugin-sdk/target-errors-DFmK5loi.js +1 -0
  1053. package/dist/plugin-sdk/target-errors-DXqwykNX.js +1 -0
  1054. package/dist/plugin-sdk/target-errors-Dd6CopYF.cjs +1 -0
  1055. package/dist/plugin-sdk/target-errors-DeNJ10ks.cjs +1 -0
  1056. package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -0
  1057. package/dist/plugin-sdk/targets-BSkiizml.js +1 -0
  1058. package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -0
  1059. package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -0
  1060. package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -0
  1061. package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -0
  1062. package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -0
  1063. package/dist/plugin-sdk/targets-CrkJkzil.js +1 -0
  1064. package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -0
  1065. package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -0
  1066. package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -0
  1067. package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -0
  1068. package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -0
  1069. package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -0
  1070. package/dist/plugin-sdk/telegram.cjs +1 -0
  1071. package/dist/plugin-sdk/telegram.js +1 -0
  1072. package/dist/plugin-sdk/test-utils.cjs +1 -0
  1073. package/dist/plugin-sdk/test-utils.js +1 -0
  1074. package/dist/plugin-sdk/tlon.cjs +1 -0
  1075. package/dist/plugin-sdk/tlon.js +1 -0
  1076. package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -0
  1077. package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -0
  1078. package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -0
  1079. package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -0
  1080. package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -0
  1081. package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -0
  1082. package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -0
  1083. package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -0
  1084. package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -0
  1085. package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -0
  1086. package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -0
  1087. package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -0
  1088. package/dist/plugin-sdk/twitch.cjs +1 -0
  1089. package/dist/plugin-sdk/twitch.js +1 -0
  1090. package/dist/plugin-sdk/utils-BJtJR72k.js +1 -0
  1091. package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -0
  1092. package/dist/plugin-sdk/voice-call.cjs +1 -0
  1093. package/dist/plugin-sdk/voice-call.js +1 -0
  1094. package/dist/plugin-sdk/web-B-QDcVRv.cjs +1 -0
  1095. package/dist/plugin-sdk/web-B2PwjHsu.cjs +1 -0
  1096. package/dist/plugin-sdk/web-BdnQzLgF.js +1 -0
  1097. package/dist/plugin-sdk/web-C9T7tf6w.js +1 -0
  1098. package/dist/plugin-sdk/web-CODD4ksc.cjs +1 -0
  1099. package/dist/plugin-sdk/web-CkdCvvR-.js +1 -0
  1100. package/dist/plugin-sdk/web-_tj8xNZE.js +1 -0
  1101. package/dist/plugin-sdk/web-pcTha_l7.cjs +1 -0
  1102. package/dist/plugin-sdk/weixin.cjs +1 -0
  1103. package/dist/plugin-sdk/weixin.js +1 -0
  1104. package/dist/plugin-sdk/whatsapp-actions-Bhz2j1uz.cjs +1 -0
  1105. package/dist/plugin-sdk/whatsapp-actions-Bm2UyRYg.cjs +1 -0
  1106. package/dist/plugin-sdk/whatsapp-actions-Bolz0jl5.js +1 -0
  1107. package/dist/plugin-sdk/whatsapp-actions-CJ3LDpaG.js +1 -0
  1108. package/dist/plugin-sdk/whatsapp-actions-CL1Gmkb0.js +1 -0
  1109. package/dist/plugin-sdk/whatsapp-actions-D-bZRT7s.js +1 -0
  1110. package/dist/plugin-sdk/whatsapp-actions-DSGTTE8M.cjs +1 -0
  1111. package/dist/plugin-sdk/whatsapp-actions-DjQxgMpW.cjs +1 -0
  1112. package/dist/plugin-sdk/whatsapp-actions-DrPBBi5t.cjs +1 -0
  1113. package/dist/plugin-sdk/whatsapp-actions-DtK657CZ.cjs +1 -0
  1114. package/dist/plugin-sdk/whatsapp-actions-Xwev51_N.js +1 -0
  1115. package/dist/plugin-sdk/whatsapp-actions-m7vLtNAA.js +1 -0
  1116. package/dist/plugin-sdk/whatsapp.cjs +1 -0
  1117. package/dist/plugin-sdk/whatsapp.js +1 -0
  1118. package/dist/plugin-sdk/zalo.cjs +1 -0
  1119. package/dist/plugin-sdk/zalo.js +1 -0
  1120. package/dist/plugin-sdk/zalouser.cjs +1 -0
  1121. package/dist/plugin-sdk/zalouser.js +1 -0
  1122. package/dist/plugins-CYLrFT4h.js +1 -0
  1123. package/dist/plugins-DNlgeTTc.js +1 -0
  1124. package/dist/plugins-cli-BbjMbzJU.js +1 -0
  1125. package/dist/plugins-cli-BiVMAr5T.js +1 -0
  1126. package/dist/polls-BIVz6a4F.js +1 -0
  1127. package/dist/polls-Bh5wc9-6.js +1 -0
  1128. package/dist/polls-C_XSFz3d.js +1 -0
  1129. package/dist/polls-DKJOFSzJ.js +1 -0
  1130. package/dist/ports-B0XdGTfS.js +1 -0
  1131. package/dist/ports-BR0PLRtq.js +1 -0
  1132. package/dist/probe-auth-BMA0yM94.js +1 -0
  1133. package/dist/probe-auth-VI96zmTK.js +1 -0
  1134. package/dist/profile-utils-CWmra1aY.js +1 -0
  1135. package/dist/program-BrAZTwFr.js +1 -0
  1136. package/dist/program-context-B9ydtPje.js +1 -0
  1137. package/dist/program-context-CH9p6anW.js +1 -0
  1138. package/dist/progress-LNttnI-y.js +1 -0
  1139. package/dist/progress-d1m2sqR1.js +1 -0
  1140. package/dist/prompt-select-styled-BeJNbzSa.js +1 -0
  1141. package/dist/prompt-select-styled-DIOWLjl0.js +1 -0
  1142. package/dist/prompt-style-BThRSQJR.js +1 -0
  1143. package/dist/prompt-style-CXKekIBY.js +1 -0
  1144. package/dist/prompts-CMzglboN.js +1 -0
  1145. package/dist/prompts-wv-lfVrJ.js +1 -0
  1146. package/dist/provider-auth-helpers-1lU43eTW.js +1 -0
  1147. package/dist/provider-auth-helpers-pBVCjBj9.js +1 -0
  1148. package/dist/provider-env-vars-D8p6Ohpj.js +1 -0
  1149. package/dist/provider-env-vars-Dt0Q29Su.js +1 -0
  1150. package/dist/proxy-env-BNhTHkd_.js +1 -0
  1151. package/dist/proxy-env-DcmW_urA.js +1 -0
  1152. package/dist/proxy-env-DrC3TIGh.js +1 -0
  1153. package/dist/proxy-env-FJr5nlvs.js +1 -0
  1154. package/dist/proxy-fetch-BADsUK4d.js +1 -0
  1155. package/dist/proxy-fetch-BZ9O8Dvj.js +1 -0
  1156. package/dist/proxy-fetch-DnjU1fEB.js +1 -0
  1157. package/dist/proxy-fetch-gWETR3cl.js +1 -0
  1158. package/dist/push-apns-BGUOmD5M.js +1 -0
  1159. package/dist/push-apns-B_a2MBJ4.js +1 -0
  1160. package/dist/pw-ai-C-Ffkwai.js +1 -0
  1161. package/dist/pw-ai-CV1H1Vrs.js +1 -0
  1162. package/dist/pw-ai-D_MB1lrR.js +1 -0
  1163. package/dist/pw-ai-_l9lVice.js +1 -0
  1164. package/dist/qmd-manager-C_e04BNg.js +1 -0
  1165. package/dist/qmd-manager-DSQ_mDCl.js +1 -0
  1166. package/dist/qmd-manager-DcBYbt_V.js +1 -0
  1167. package/dist/qmd-manager-NLI0R6kp.js +1 -0
  1168. package/dist/qr-cli-3aG6CB6K.js +1 -0
  1169. package/dist/qr-cli-fiJxD5M4.js +1 -0
  1170. package/dist/query-expansion-0OxEb1Io.js +1 -0
  1171. package/dist/query-expansion-BUUx_oWg.js +1 -0
  1172. package/dist/query-expansion-r_iXkNzt.js +1 -0
  1173. package/dist/reaction-level-DVPHL14p.js +1 -0
  1174. package/dist/reaction-message-id-BEEe7X3D.js +1 -0
  1175. package/dist/read-only-account-inspect-DBwAwB3_.js +1 -0
  1176. package/dist/redact-3_CiXMY6.js +1 -0
  1177. package/dist/redact-CnRxK70G.js +1 -0
  1178. package/dist/register.agent-CX78s_X9.js +1 -0
  1179. package/dist/register.agent-DLDKQENq.js +1 -0
  1180. package/dist/register.backup-DkFoTcuT.js +1 -0
  1181. package/dist/register.backup-PzF5rmeU.js +1 -0
  1182. package/dist/register.configure-BA5u9hT3.js +1 -0
  1183. package/dist/register.configure-BhPtf3Qo.js +1 -0
  1184. package/dist/register.maintenance-BhsBepKS.js +1 -0
  1185. package/dist/register.maintenance-r_MzNK3-.js +1 -0
  1186. package/dist/register.message-CTF--Z2a.js +1 -0
  1187. package/dist/register.message-jcZ875be.js +1 -0
  1188. package/dist/register.onboard-C3yL50_c.js +1 -0
  1189. package/dist/register.onboard-CNwnStUk.js +1 -0
  1190. package/dist/register.setup-BRJMzgfU.js +1 -0
  1191. package/dist/register.setup-BvsS-zgm.js +1 -0
  1192. package/dist/register.status-health-sessions-DVc__2pc.js +1 -0
  1193. package/dist/register.status-health-sessions-Dqmkw820.js +1 -0
  1194. package/dist/register.subclis-D-24j83X.js +1 -0
  1195. package/dist/registry-BptzrW8D.js +1 -0
  1196. package/dist/registry-hFAtCSWG.js +1 -0
  1197. package/dist/render-BXEUPIHe.js +1 -0
  1198. package/dist/render-CBsnn-2A.js +1 -0
  1199. package/dist/render-D8OWO2hT.js +1 -0
  1200. package/dist/render-DrrPmnMI.js +1 -0
  1201. package/dist/reply-l-Y47HP4.js +1 -0
  1202. package/dist/restart-CHXEHdSC.js +1 -0
  1203. package/dist/rpc-B3ReBNXG.js +1 -0
  1204. package/dist/rpc-DumDLalJ.js +1 -0
  1205. package/dist/run-main-B_YBE_TN.js +1 -0
  1206. package/dist/runtime-BC5Ep2pJ.js +1 -0
  1207. package/dist/runtime-Dlg2-Omq.js +1 -0
  1208. package/dist/runtime-guard-DFYBaYZS.js +1 -0
  1209. package/dist/runtime-guard-DX2Ie4ri.js +1 -0
  1210. package/dist/runtime-status-CqFBmdRd.js +1 -0
  1211. package/dist/runtime-status-DszMjvJK.js +1 -0
  1212. package/dist/runtime-web-tools-D8fms06-.js +1 -0
  1213. package/dist/runtime-web-tools-bz76ZaRc.js +1 -0
  1214. package/dist/sandbox-cli-BDorUBm-.js +1 -0
  1215. package/dist/sandbox-cli-Bq40R5Vs.js +1 -0
  1216. package/dist/scan-paths-C13EseXp.js +1 -0
  1217. package/dist/scan-paths-CWtvWW40.js +1 -0
  1218. package/dist/search-manager-Bp9x20r6.js +1 -0
  1219. package/dist/secret-file-C7JffiM_.js +1 -0
  1220. package/dist/secret-file-D60EFEOe.js +1 -0
  1221. package/dist/secret-file-DuWm26jS.js +1 -0
  1222. package/dist/secrets-cli-Bo6PC32U.js +1 -0
  1223. package/dist/secrets-cli-CoXJv3Jp.js +1 -0
  1224. package/dist/secure-random-D7JQgiK-.js +1 -0
  1225. package/dist/security-cli-CgZL2KKh.js +1 -0
  1226. package/dist/security-cli-DVOfhwAP.js +1 -0
  1227. package/dist/send-B7sHR38c2.js +1 -0
  1228. package/dist/send-Bx2Qr7VH.js +1 -0
  1229. package/dist/send-C-AP01PR.js +1 -0
  1230. package/dist/send-C1CJ-GHU.js +1 -0
  1231. package/dist/send-C48Y9SAq.js +1 -0
  1232. package/dist/send-CVplsJpw.js +1 -0
  1233. package/dist/send-CW81y5Wz.js +1 -0
  1234. package/dist/send-CYgHok1p.js +1 -0
  1235. package/dist/send-Cgd_VJHR.js +1 -0
  1236. package/dist/send-Chz0YMoJ.js +1 -0
  1237. package/dist/send-D9hVVn7p2.js +1 -0
  1238. package/dist/send-DKrzj_Ts.js +1 -0
  1239. package/dist/send-DRLSCwCk.js +1 -0
  1240. package/dist/send-DavpkzhH.js +1 -0
  1241. package/dist/send-DbeEC2a3.js +1 -0
  1242. package/dist/send-DkiKKUkt.js +1 -0
  1243. package/dist/send-DlfVd5mL.js +1 -0
  1244. package/dist/send-JYgM9Sm-2.js +1 -0
  1245. package/dist/send-hZFDcGLM.js +1 -0
  1246. package/dist/send-vthbs31u.js +1 -0
  1247. package/dist/server-DpyBukwA.js +1 -0
  1248. package/dist/server-IgiSKzXH.js +1 -0
  1249. package/dist/server-node-events-CFSY_-4t.js +1 -0
  1250. package/dist/server-node-events-ZFwmPwQ-.js +1 -0
  1251. package/dist/service-BtB9epJk.js +1 -0
  1252. package/dist/service-DZ9EbS15.js +1 -0
  1253. package/dist/session-C9TDmUS7.js +1 -0
  1254. package/dist/session-CUUGjiV3.js +1 -0
  1255. package/dist/session-DA-i5xQ-.js +1 -0
  1256. package/dist/session-bk3gFwO4.js +1 -0
  1257. package/dist/session-cost-usage-BgqKixv0.js +1 -0
  1258. package/dist/session-cost-usage-CHtVgnE8.js +1 -0
  1259. package/dist/session-key-C7F_iqYg.js +1 -0
  1260. package/dist/session-key-D3P0tf5P.js +1 -0
  1261. package/dist/session-utils-8acNlxwP.js +1 -0
  1262. package/dist/sessions-BsxT0V2m.js +1 -0
  1263. package/dist/shared-9x5sqYRb.js +1 -0
  1264. package/dist/shared-BKWhOp64.js +1 -0
  1265. package/dist/shared-GesXrZzd.js +1 -0
  1266. package/dist/skill-commands-BWW6mc6t.js +1 -0
  1267. package/dist/skill-commands-CSF6wVPU.js +1 -0
  1268. package/dist/skill-commands-Db232ZRp.js +1 -0
  1269. package/dist/skill-commands-HJHHZqt6.js +1 -0
  1270. package/dist/skill-scanner-CUUF3Fvo.js +1 -0
  1271. package/dist/skill-scanner-CkxXNioD.js +1 -0
  1272. package/dist/skills-CKTicUKS.js +1 -0
  1273. package/dist/skills-DHbOKEGc.js +1 -0
  1274. package/dist/skills-cli-9Ls94z5H.js +1 -0
  1275. package/dist/skills-cli-BY7OhJzj.js +1 -0
  1276. package/dist/skills-install-CIdGCXSy.js +1 -0
  1277. package/dist/skills-install-DIdiVt9Y.js +1 -0
  1278. package/dist/skills-status-BWIugRCz.js +1 -0
  1279. package/dist/skills-status-DswSl5aD.js +1 -0
  1280. package/dist/sqlite-CILF3z9U.js +1 -0
  1281. package/dist/stagger-DmFYysrJ.js +1 -0
  1282. package/dist/stagger-DxzgG2jd.js +1 -0
  1283. package/dist/status-C-9fSiMn.js +1 -0
  1284. package/dist/status-CeBGmSAz.js +1 -0
  1285. package/dist/status-DYqPF0rB.js +1 -0
  1286. package/dist/status-JIPeVrsc.js +1 -0
  1287. package/dist/status.update-B_8Gumuc.js +1 -0
  1288. package/dist/status.update-DoSzHu2F.js +1 -0
  1289. package/dist/string-normalization-BrUPaXaM.js +1 -0
  1290. package/dist/string-normalization-DJT5zuUF.js +1 -0
  1291. package/dist/subsystem-BLbY429l.js +1 -0
  1292. package/dist/subsystem-Bc2XrjUz.js +1 -0
  1293. package/dist/subsystem-C5XF2Fy5.js +1 -0
  1294. package/dist/system-cli-CeZfoVPN.js +1 -0
  1295. package/dist/system-cli-DZkTYB9d.js +1 -0
  1296. package/dist/system-run-command-BKfMiqQM.js +1 -0
  1297. package/dist/system-run-command-DEWnZE0r.js +1 -0
  1298. package/dist/systemd-D7odsu4K.js +1 -0
  1299. package/dist/systemd-DbevZh65.js +1 -0
  1300. package/dist/systemd-hints-C0DKDl35.js +1 -0
  1301. package/dist/systemd-hints-lXpMy-kY.js +1 -0
  1302. package/dist/systemd-linger-C2MJD6KG.js +1 -0
  1303. package/dist/systemd-linger-cWKbFNpu.js +1 -0
  1304. package/dist/table-CR7TFMew.js +1 -0
  1305. package/dist/table-CY440fI1.js +1 -0
  1306. package/dist/tables-Brc2lNcB.js +1 -0
  1307. package/dist/tables-CrXdLc_6.js +1 -0
  1308. package/dist/tables-Oieq7UbT.js +1 -0
  1309. package/dist/tables-btcG3yFT.js +1 -0
  1310. package/dist/target-errors-CRlevJJ5.js +1 -0
  1311. package/dist/target-errors-CgWAJOam.js +1 -0
  1312. package/dist/target-errors-CpKXh2RS.js +1 -0
  1313. package/dist/target-errors-a35Md15n.js +1 -0
  1314. package/dist/targets-4EaxWBal.js +1 -0
  1315. package/dist/targets-BJTo7bqu.js +1 -0
  1316. package/dist/targets-BYVMrXDf.js +1 -0
  1317. package/dist/targets-Bq6rS6-Z.js +1 -0
  1318. package/dist/targets-CL5fYQi7.js +1 -0
  1319. package/dist/targets-fozeWOOg.js +1 -0
  1320. package/dist/targets-m_41k_Mv.js +1 -0
  1321. package/dist/telegram/audit.js +1 -0
  1322. package/dist/text-format-CvrvBBre.js +1 -0
  1323. package/dist/text-format-DEWK6oCT.js +1 -0
  1324. package/dist/token-DnTmiyJu.js +1 -0
  1325. package/dist/tokens-B2fq-rL6.js +1 -0
  1326. package/dist/tokens-CL2fSjGl.js +1 -0
  1327. package/dist/tokens-DRM8vzJx.js +1 -0
  1328. package/dist/tokens-XGbQGn67.js +1 -0
  1329. package/dist/tool-display-DJDtttQg.js +1 -0
  1330. package/dist/tool-display-DjuSUUbH.js +1 -0
  1331. package/dist/tui-B506apla.js +1 -0
  1332. package/dist/tui-CJUkUxHb.js +1 -0
  1333. package/dist/tui-cli-BEdGHmhc.js +1 -0
  1334. package/dist/tui-cli-Cq_eXDAV.js +1 -0
  1335. package/dist/types.secrets-C-5U96pc.js +1 -0
  1336. package/dist/types.secrets-D4tbc3Wq.js +1 -0
  1337. package/dist/update-BGrxUIyz.js +1 -0
  1338. package/dist/update-CwTy5DPl.js +1 -0
  1339. package/dist/update-cli-BwBMOeP0.js +1 -0
  1340. package/dist/update-cli-YrBbmw4f.js +1 -0
  1341. package/dist/update-runner-BvtyRBD2.js +1 -0
  1342. package/dist/update-runner-DYamgo1V.js +1 -0
  1343. package/dist/usage-format-BWD8FJFL.js +1 -0
  1344. package/dist/usage-format-yPwal8Iz.js +1 -0
  1345. package/dist/utils-CGdo13HV.js +1 -0
  1346. package/dist/utils-D3t-vPka.js +1 -0
  1347. package/dist/utils-R-mFyVJi.js +1 -0
  1348. package/dist/utils-UGOV_184.js +1 -0
  1349. package/dist/version-q3SkUw2K.js +1 -0
  1350. package/dist/warning-filter.js +1 -0
  1351. package/dist/web-Cq3xWCaD.js +1 -0
  1352. package/dist/web-DwcxsgH0.js +1 -0
  1353. package/dist/webhooks-cli-CIeyainW.js +1 -0
  1354. package/dist/webhooks-cli-DSNAve_D.js +1 -0
  1355. package/dist/whatsapp-actions-B6gt1KeB.js +1 -0
  1356. package/dist/whatsapp-actions-DACoH7qd.js +1 -0
  1357. package/dist/whatsapp-actions-iQhIeMya.js +1 -0
  1358. package/dist/whatsapp-actions-tmjID75a.js +1 -0
  1359. package/dist/widearea-dns-BDx7vkV2.js +1 -0
  1360. package/dist/widearea-dns-BFjqKXu_.js +1 -0
  1361. package/dist/windows-spawn-7oINn5ao.js +1 -0
  1362. package/dist/windows-spawn-AB7ItGAE.js +1 -0
  1363. package/dist/with-timeout-WveKxvFV.js +1 -0
  1364. package/dist/with-timeout-c1CzdShT.js +1 -0
  1365. package/dist/workspace-B0ZQeHXg.js +1 -0
  1366. package/dist/workspace-C45T1Cxg.js +1 -0
  1367. package/dist/workspace-dirs-A8Vib9_B.js +1 -0
  1368. package/dist/workspace-dirs-BhF1Dzxt.js +1 -0
  1369. package/dist/workspace-xNEpaJvu.js +1 -0
  1370. package/dist/wsl-DHxB2Ew_.js +1 -0
  1371. package/dist/wsl-Ok7GaSJ6.js +1 -0
  1372. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +2 -2
  1373. package/node_modules/@aws-sdk/token-providers/package.json +1 -1
  1374. package/node_modules/@grammyjs/types/package.json +1 -1
  1375. package/node_modules/@line/bot-sdk/dist/channel-access-token/api/channelAccessTokenClient.js +49 -3
  1376. package/node_modules/@line/bot-sdk/dist/cjs/channel-access-token/api/channelAccessTokenClient.js +49 -3
  1377. package/node_modules/@line/bot-sdk/dist/cjs/client.js +636 -0
  1378. package/node_modules/@line/bot-sdk/dist/cjs/endpoints.js +7 -0
  1379. package/node_modules/@line/bot-sdk/dist/cjs/exceptions.js +15 -1
  1380. package/node_modules/@line/bot-sdk/dist/cjs/http-axios.js +2 -6
  1381. package/node_modules/@line/bot-sdk/dist/cjs/http-fetch.js +5 -13
  1382. package/node_modules/@line/bot-sdk/dist/cjs/index.js +3 -1
  1383. package/node_modules/@line/bot-sdk/dist/cjs/insight/api/insightClient.js +3 -0
  1384. package/node_modules/@line/bot-sdk/dist/cjs/liff/api/liffClient.js +3 -0
  1385. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.factory.generated.js +66 -0
  1386. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.generated.js +1999 -0
  1387. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.js +61 -0
  1388. package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceBlobClient.js +3 -0
  1389. package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceClient.js +3 -0
  1390. package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiBlobClient.js +3 -0
  1391. package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiClient.js +3 -0
  1392. package/node_modules/@line/bot-sdk/dist/cjs/module/api/lineModuleClient.js +3 -0
  1393. package/node_modules/@line/bot-sdk/dist/cjs/module-attach/api/lineModuleAttachClient.js +3 -0
  1394. package/node_modules/@line/bot-sdk/dist/cjs/shop/api/shopClient.js +3 -0
  1395. package/node_modules/@line/bot-sdk/dist/cjs/utils.js +10 -0
  1396. package/node_modules/@line/bot-sdk/dist/cjs/version.js +1 -1
  1397. package/node_modules/@line/bot-sdk/dist/client.js +636 -0
  1398. package/node_modules/@line/bot-sdk/dist/endpoints.js +7 -0
  1399. package/node_modules/@line/bot-sdk/dist/exceptions.js +15 -1
  1400. package/node_modules/@line/bot-sdk/dist/http-axios.js +2 -6
  1401. package/node_modules/@line/bot-sdk/dist/http-fetch.js +5 -13
  1402. package/node_modules/@line/bot-sdk/dist/index.js +1 -0
  1403. package/node_modules/@line/bot-sdk/dist/insight/api/insightClient.js +3 -0
  1404. package/node_modules/@line/bot-sdk/dist/liff/api/liffClient.js +3 -0
  1405. package/node_modules/@line/bot-sdk/dist/line-bot-client.factory.generated.js +63 -0
  1406. package/node_modules/@line/bot-sdk/dist/line-bot-client.generated.js +1995 -0
  1407. package/node_modules/@line/bot-sdk/dist/line-bot-client.js +58 -0
  1408. package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceBlobClient.js +3 -0
  1409. package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceClient.js +3 -0
  1410. package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiBlobClient.js +3 -0
  1411. package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiClient.js +3 -0
  1412. package/node_modules/@line/bot-sdk/dist/module/api/lineModuleClient.js +3 -0
  1413. package/node_modules/@line/bot-sdk/dist/module-attach/api/lineModuleAttachClient.js +3 -0
  1414. package/node_modules/@line/bot-sdk/dist/shop/api/shopClient.js +3 -0
  1415. package/node_modules/@line/bot-sdk/dist/utils.js +9 -0
  1416. package/node_modules/@line/bot-sdk/dist/version.js +1 -1
  1417. package/node_modules/@line/bot-sdk/package.json +10 -7
  1418. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
  1419. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +25 -0
  1420. package/node_modules/@mariozechner/clipboard-linux-x64-musl/clipboard.linux-x64-musl.node +0 -0
  1421. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +25 -0
  1422. package/node_modules/@slack/bolt/dist/App.js +22 -30
  1423. package/node_modules/@slack/bolt/dist/Assistant.js +21 -37
  1424. package/node_modules/@slack/bolt/dist/CustomFunction.js +1 -43
  1425. package/node_modules/@slack/bolt/dist/context/create-function-complete.js +23 -0
  1426. package/node_modules/@slack/bolt/dist/context/create-function-fail.js +23 -0
  1427. package/node_modules/@slack/bolt/dist/context/create-respond.js +11 -0
  1428. package/node_modules/@slack/bolt/dist/context/create-say-stream.js +16 -0
  1429. package/node_modules/@slack/bolt/dist/context/create-say.js +17 -0
  1430. package/node_modules/@slack/bolt/dist/context/create-set-status.js +21 -0
  1431. package/node_modules/@slack/bolt/dist/context/index.js +16 -0
  1432. package/node_modules/@slack/bolt/dist/helpers.js +79 -3
  1433. package/node_modules/@slack/bolt/dist/index.js +10 -8
  1434. package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +5 -1
  1435. package/node_modules/@slack/bolt/dist/types/events/index.js +0 -4
  1436. package/node_modules/@slack/bolt/package.json +7 -7
  1437. package/node_modules/@smithy/config-resolver/package.json +10 -11
  1438. package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +6 -0
  1439. package/node_modules/@smithy/core/dist-cjs/index.js +1 -1
  1440. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +21 -0
  1441. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +21 -0
  1442. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +46 -0
  1443. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +6 -0
  1444. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +24 -0
  1445. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +19 -0
  1446. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +27 -0
  1447. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +5 -0
  1448. package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +10 -0
  1449. package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +44 -0
  1450. package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +5 -0
  1451. package/node_modules/@smithy/core/dist-cjs/setFeature.js +14 -0
  1452. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +17 -0
  1453. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +38 -0
  1454. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +15 -0
  1455. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +6 -0
  1456. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +9 -0
  1457. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +6 -0
  1458. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +61 -0
  1459. package/node_modules/@smithy/core/package.json +15 -16
  1460. package/node_modules/@smithy/credential-provider-imds/package.json +9 -10
  1461. package/node_modules/@smithy/eventstream-codec/dist-cjs/index.js +13 -0
  1462. package/node_modules/@smithy/eventstream-codec/package.json +6 -7
  1463. package/node_modules/@smithy/eventstream-serde-browser/package.json +7 -8
  1464. package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +7 -8
  1465. package/node_modules/@smithy/eventstream-serde-node/package.json +7 -8
  1466. package/node_modules/@smithy/eventstream-serde-universal/package.json +9 -10
  1467. package/node_modules/@smithy/fetch-http-handler/package.json +12 -13
  1468. package/node_modules/@smithy/hash-node/package.json +6 -7
  1469. package/node_modules/@smithy/invalid-dependency/package.json +6 -7
  1470. package/node_modules/@smithy/middleware-content-length/package.json +7 -8
  1471. package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +2 -2
  1472. package/node_modules/@smithy/middleware-endpoint/package.json +13 -14
  1473. package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +70 -29
  1474. package/node_modules/@smithy/middleware-retry/dist-es/index.js +5 -4
  1475. package/node_modules/@smithy/middleware-retry/dist-es/longPollMiddleware.js +15 -0
  1476. package/node_modules/@smithy/middleware-retry/dist-es/parseRetryAfterHeader.js +49 -0
  1477. package/node_modules/@smithy/middleware-retry/dist-es/{StandardRetryStrategy.js → retry-pre-sra-deprecated/StandardRetryStrategy.js} +1 -1
  1478. package/node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js +13 -20
  1479. package/node_modules/@smithy/middleware-retry/package.json +16 -16
  1480. package/node_modules/@smithy/middleware-serde/package.json +10 -11
  1481. package/node_modules/@smithy/middleware-stack/package.json +7 -8
  1482. package/node_modules/@smithy/node-config-provider/package.json +8 -9
  1483. package/node_modules/@smithy/node-http-handler/package.json +10 -11
  1484. package/node_modules/@smithy/property-provider/package.json +6 -7
  1485. package/node_modules/@smithy/protocol-http/package.json +6 -7
  1486. package/node_modules/@smithy/querystring-builder/package.json +6 -7
  1487. package/node_modules/@smithy/querystring-parser/package.json +6 -7
  1488. package/node_modules/@smithy/service-error-classification/package.json +6 -7
  1489. package/node_modules/@smithy/shared-ini-file-loader/package.json +7 -8
  1490. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +13 -0
  1491. package/node_modules/@smithy/signature-v4/package.json +9 -10
  1492. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +1 -1
  1493. package/node_modules/@smithy/smithy-client/package.json +14 -15
  1494. package/node_modules/@smithy/types/package.json +7 -8
  1495. package/node_modules/@smithy/url-parser/package.json +7 -8
  1496. package/node_modules/@smithy/util-defaults-mode-browser/package.json +8 -9
  1497. package/node_modules/@smithy/util-defaults-mode-node/package.json +11 -12
  1498. package/node_modules/@smithy/util-endpoints/package.json +9 -10
  1499. package/node_modules/@smithy/util-middleware/package.json +6 -7
  1500. package/node_modules/@smithy/util-retry/dist-cjs/index.js +123 -76
  1501. package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +7 -4
  1502. package/node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js +2 -2
  1503. package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +24 -25
  1504. package/node_modules/@smithy/util-retry/dist-es/DefaultRetryBackoffStrategy.js +14 -0
  1505. package/node_modules/@smithy/util-retry/dist-es/DefaultRetryToken.js +25 -0
  1506. package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +39 -26
  1507. package/node_modules/@smithy/util-retry/dist-es/index.js +1 -0
  1508. package/node_modules/@smithy/util-retry/dist-es/retries-2026-config.js +18 -0
  1509. package/node_modules/@smithy/util-retry/package.json +10 -11
  1510. package/node_modules/@smithy/util-stream/package.json +12 -13
  1511. package/node_modules/@snazzah/davey-linux-x64-gnu/davey.linux-x64-gnu.node +0 -0
  1512. package/node_modules/@snazzah/davey-linux-x64-gnu/package.json +43 -0
  1513. package/node_modules/@snazzah/davey-linux-x64-musl/davey.linux-x64-musl.node +0 -0
  1514. package/node_modules/@snazzah/davey-linux-x64-musl/package.json +43 -0
  1515. package/node_modules/dotenv/lib/main.js +1 -1
  1516. package/node_modules/dotenv/package.json +1 -1
  1517. package/node_modules/dotenv/skills/dotenv/SKILL.md +32 -52
  1518. package/node_modules/dotenv/skills/dotenvx/SKILL.md +57 -273
  1519. package/node_modules/grammy/out/bot.js +1 -0
  1520. package/node_modules/grammy/out/context.js +35 -0
  1521. package/node_modules/grammy/out/convenience/keyboard.js +30 -2
  1522. package/node_modules/grammy/out/core/api.js +34 -0
  1523. package/node_modules/grammy/out/filter.js +6 -2
  1524. package/node_modules/grammy/out/web.mjs +58 -10
  1525. package/node_modules/grammy/package.json +2 -2
  1526. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +12 -0
  1527. package/node_modules/lru-cache/dist/commonjs/index.js +227 -130
  1528. package/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
  1529. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  1530. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +17 -0
  1531. package/node_modules/lru-cache/dist/esm/index.js +227 -130
  1532. package/node_modules/lru-cache/dist/esm/index.min.js +1 -1
  1533. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.mts.map +1 -0
  1534. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +8 -0
  1535. package/node_modules/lru-cache/dist/esm/node/index.js +1688 -0
  1536. package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  1537. package/node_modules/lru-cache/package.json +29 -9
  1538. package/node_modules/netmask/dist/netmask.js +58 -0
  1539. package/node_modules/netmask/dist/netmask4.js +189 -0
  1540. package/node_modules/netmask/dist/netmask6.js +187 -0
  1541. package/node_modules/netmask/package.json +15 -6
  1542. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
  1543. package/node_modules/path-expression-matcher/lib/pem.d.cts +93 -0
  1544. package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
  1545. package/node_modules/path-expression-matcher/package.json +1 -1
  1546. package/node_modules/path-expression-matcher/src/ExpressionSet.js +189 -0
  1547. package/node_modules/path-expression-matcher/src/Matcher.js +50 -20
  1548. package/node_modules/path-expression-matcher/src/index.js +3 -2
  1549. package/node_modules/strnum/package.json +1 -1
  1550. package/package.json +1 -1
  1551. package/preset-config.json +12 -0
  1552. package/node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js +0 -14
  1553. package/node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js +0 -11
  1554. package/node_modules/netmask/CREDITS.md +0 -30
  1555. package/node_modules/netmask/lib/netmask.coffee +0 -167
  1556. package/node_modules/netmask/lib/netmask.js +0 -208
  1557. package/node_modules/strnum/.github/SECURITY.md +0 -5
  1558. package/node_modules/strnum/.vscode/launch.json +0 -25
  1559. package/node_modules/strnum/algo.stflow +0 -84
  1560. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
  1561. /package/node_modules/@smithy/middleware-retry/dist-es/{AdaptiveRetryStrategy.js → retry-pre-sra-deprecated/AdaptiveRetryStrategy.js} +0 -0
  1562. /package/node_modules/@smithy/middleware-retry/dist-es/{defaultRetryQuota.js → retry-pre-sra-deprecated/defaultRetryQuota.js} +0 -0
  1563. /package/node_modules/@smithy/middleware-retry/dist-es/{delayDecider.js → retry-pre-sra-deprecated/delayDecider.js} +0 -0
  1564. /package/node_modules/@smithy/middleware-retry/dist-es/{retryDecider.js → retry-pre-sra-deprecated/retryDecider.js} +0 -0
  1565. /package/node_modules/@smithy/middleware-retry/dist-es/{types.js → retry-pre-sra-deprecated/types.js} +0 -0
@@ -1 +1,2 @@
1
1
  const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Cqca1YmF.cjs`),n=require(`./model-auth-TFUxaK0f.cjs`),r=require(`./logger-DPlqYkRm.cjs`),i=require(`./proxy-fetch-DPOhfrou.cjs`),a=require(`./targets-X28mff4s.cjs`),o=require(`./ir-CveCWs8q.cjs`),s=require(`./render-DxBO2Blp.cjs`),c=require(`./load-options-Bb7u8yZz.cjs`),l=require(`./polls-BuaJuIpV.cjs`),u=require(`./channel-activity-CVOp-PL4.cjs`),d=require(`./fetch-BY6lVRlY.cjs`);let f=require(`node:path`);f=e.p(f);let p=require(`node:fs`);p=e.p(p);let m=require(`node:os`);m=e.p(m);let h=require(`json5`);h=e.p(h);let g=require(`node:crypto`);g=e.p(g);let _=require(`grammy`);function v(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function y(e){return((Array.isArray(e.groupAllowFrom)&&e.groupAllowFrom.length>0?e.groupAllowFrom:void 0)||(e.fallbackToAllowFrom===!1?[]:e.allowFrom??[])).map(e=>String(e).trim()).filter(Boolean)}function b(...e){for(let t of e)if(t!==void 0)return t}function x(e,t,n){return e.hasEntries?e.hasWildcard?!0:t?e.entries.includes(t):!1:n}function S(){return n.gn().filter(e=>e.pairing).map(e=>e.id)}function C(e){return n.hn(e)?.pairing??null}async function w(e,t){try{let n=r.b(await p.default.promises.readFile(e,`utf-8`));return n==null?{value:t,exists:!0}:{value:n,exists:!0}}catch(e){return e.code,{value:t,exists:!1}}}async function T(e,t){await n.Ir(e,t,{mode:384,trailingNewline:!0,ensureDirMode:448})}const E={retries:{retries:10,factor:2,minTimeout:100,maxTimeout:1e4,randomize:!0},stale:3e4},D=new Map;function O(t=process.env){return e.o(t,e.c(t,()=>e.d(t,m.default.homedir)))}function k(e){let t=String(e).trim().toLowerCase();if(!t)throw Error(`invalid pairing channel`);let n=t.replace(/[\\/:*?"<>|]/g,`_`).replace(/\.\./g,`_`);if(!n||n===`_`)throw Error(`invalid pairing channel`);return n}function ee(e,t=process.env){return f.default.join(O(t),`${k(e)}-pairing.json`)}function A(e){let t=String(e).trim().toLowerCase();if(!t)throw Error(`invalid pairing account id`);let n=t.replace(/[\\/:*?"<>|]/g,`_`).replace(/\.\./g,`_`);if(!n||n===`_`)throw Error(`invalid pairing account id`);return n}function j(e,t=process.env,n){let r=k(e),i=typeof n==`string`?n.trim():``;return i?f.default.join(O(t),`${r}-${A(i)}-allowFrom.json`):f.default.join(O(t),`${r}-allowFrom.json`)}async function M(e,t){return await w(e,t)}async function N(e,t){await T(e,t)}async function te(e){let{value:t}=await M(e,{version:1,requests:[]});return Array.isArray(t.requests)?t.requests:[]}async function ne(e,t){try{await p.default.promises.access(e)}catch{await N(e,t)}}async function P(e,t,r){return await ne(e,t),await n.hs(e,E,async()=>await r())}function re(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function ie(e,t){let n=re(e.createdAt);return n?t-n>36e5:!0}function ae(e,t){let n=[],r=!1;for(let i of e){if(ie(i,t)){r=!0;continue}n.push(i)}return{requests:n,removed:r}}function oe(e){return re(e.lastSeenAt)??re(e.createdAt)??0}function se(e,t){return t<=0||e.length<=t?{requests:e,removed:!1}:{requests:e.slice().toSorted((e,t)=>oe(e)-oe(t)).slice(-t),removed:!0}}function ce(){let e=``;for(let t=0;t<8;t++){let t=g.default.randomInt(0,32);e+=`ABCDEFGHJKLMNPQRSTUVWXYZ23456789`[t]}return e}function le(e){for(let t=0;t<500;t+=1){let t=ce();if(!e.has(t))return t}throw Error(`failed to generate unique pairing code`)}function ue(e){return e?.trim().toLowerCase()||``}function de(e,t){return t?String(e.meta?.accountId??``).trim().toLowerCase()===t:!0}function fe(e){return!e||e===`default`}function pe(e){return ue(e)||`default`}function me(e){return String(e).trim()}function he(e,t){let n=t.trim();if(!n||n===`*`)return``;let r=C(e),i=r?.normalizeAllowEntry?r.normalizeAllowEntry(n):n;return String(i).trim()}function ge(e,t){return ve((Array.isArray(t.allowFrom)?t.allowFrom:[]).map(t=>he(e,String(t))).filter(Boolean))}function _e(e,t){return he(e,me(t))}function ve(e){let t=new Set,n=[];for(let r of e){let e=String(r).trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}async function F(e,t){return(await Se(e,t)).entries}function ye(e){return{exists:e.exists,mtimeMs:e.mtimeMs,size:e.size,entries:e.entries.slice()}}function I(e,t){D.set(e,ye(t))}function be(e){let t=D.get(e.filePath);return!t||t.exists!==e.exists||e.exists&&(t.mtimeMs!==e.mtimeMs||t.size!==e.size)?null:ye(t)}function xe(e,t){let n=be({filePath:e,exists:!!t,mtimeMs:t?.mtimeMs??null,size:t?.size??null});return n?{entries:n.entries,exists:n.exists}:t?null:(I(e,{exists:!1,mtimeMs:null,size:null,entries:[]}),{entries:[],exists:!1})}async function Se(e,t){let n=null;try{n=await p.default.promises.stat(t)}catch(e){if(e.code!==`ENOENT`)throw e}let r=xe(t,n);if(r)return r;if(!n)return{entries:[],exists:!1};let{value:i,exists:a}=await M(t,{version:1,allowFrom:[]}),o=ge(e,i);return I(t,{exists:a,mtimeMs:n.mtimeMs,size:n.size,entries:o}),{entries:o,exists:a}}async function Ce(e){let{value:t}=await M(e.filePath,{version:1,allowFrom:[]});return{current:ge(e.channel,t),normalized:_e(e.channel,e.entry)||null}}async function we(e,t){await N(e,{version:1,allowFrom:t});let n=null;try{n=await p.default.promises.stat(e)}catch{}I(e,{exists:!0,mtimeMs:n?.mtimeMs??null,size:n?.size??null,entries:t.slice()})}async function Te(e){let t=j(e.channel,e.env,e.accountId);return await F(e.channel,t)}async function Ee(e){let t=e.env??process.env,n=j(e.channel,t,e.accountId);return await P(n,{version:1,allowFrom:[]},async()=>{let{current:t,normalized:r}=await Ce({channel:e.channel,entry:e.entry,filePath:n});if(!r)return{changed:!1,allowFrom:t};let i=e.apply(t,r);return i?(await we(n,i),{changed:!0,allowFrom:i}):{changed:!1,allowFrom:t}})}async function De(e,t=process.env,n){let r=pe(n);if(!fe(r))return await Te({channel:e,env:t,accountId:r});let i=await F(e,j(e,t,r)),a=await F(e,j(e,t));return ve([...i,...a])}async function Oe(e){return await Ee({channel:e.channel,entry:e.entry,accountId:e.accountId,env:e.env,apply:e.apply})}async function ke(e,t){return await Oe({...e,apply:t})}async function Ae(e){return await ke(e,(e,t)=>e.includes(t)?null:[...e,t])}async function je(e){return await ke(e,(e,t)=>{let n=e.filter(e=>e!==t);return n.length===e.length?null:n})}async function Me(e){let t=e.env??process.env,n=ee(e.channel,t);return await P(n,{version:1,requests:[]},async()=>{let t=new Date().toISOString(),r=Date.now(),i=me(e.id),a=ue(e.accountId)||`default`,o={...e.meta&&typeof e.meta==`object`?Object.fromEntries(Object.entries(e.meta).map(([e,t])=>[e,String(t??``).trim()]).filter(([e,t])=>!!t)):void 0,accountId:a},s=await te(n),{requests:c,removed:l}=ae(s,r);s=c;let u=a,d=s.findIndex(e=>e.id===i?de(e,u):!1),f=new Set(s.map(e=>String(e.code??``).trim().toUpperCase()));if(d>=0){let e=s[d],r=(e&&typeof e.code==`string`?e.code.trim():``)||le(f),a={id:i,code:r,createdAt:e?.createdAt??t,lastSeenAt:t,meta:o??e?.meta};s[d]=a;let{requests:c}=se(s,3);return await N(n,{version:1,requests:c}),{code:r,created:!1}}let{requests:p,removed:m}=se(s,3);if(s=p,s.length>=3)return(l||m)&&await N(n,{version:1,requests:s}),{code:``,created:!1};let h=le(f),g={id:i,code:h,createdAt:t,lastSeenAt:t,...o?{meta:o}:{}};return await N(n,{version:1,requests:[...s,g]}),{code:h,created:!0}})}const Ne=new Set([`.oga`,`.ogg`,`.opus`,`.mp3`,`.m4a`]),Pe=new Set([`audio/ogg`,`audio/opus`,`audio/mpeg`,`audio/mp3`,`audio/mp4`,`audio/x-m4a`,`audio/m4a`]);function Fe(e){let n=t._(e.contentType);if(n&&Pe.has(n))return!0;let r=e.fileName?.trim();if(!r)return!1;let i=t.f(r);return i?Ne.has(i):!1}function Ie(e){return Fe(e)}function L(e){return e.trim().toLowerCase()}function Le(e){if(!e)return[];let t=e.trim();if(!t)return[];let n=t.toLowerCase();return[`0`,`false`,`off`,`none`].includes(n)?[]:[`1`,`true`,`all`,`*`].includes(n)?[`*`]:t.split(/[,\s]+/).map(L).filter(Boolean)}function Re(e){let t=new Set,n=[];for(let r of e){let e=L(r);!e||t.has(e)||(t.add(e),n.push(e))}return n}function ze(e,t=process.env){let n=Array.isArray(e?.diagnostics?.flags)?e?.diagnostics?.flags:[],r=Le(t.OPENCLAW_DIAGNOSTICS);return Re([...n,...r])}function Be(e,t){let n=L(e);if(!n)return!1;for(let e of t){let t=L(e);if(t){if(t===`*`||t===`all`)return!0;if(t.endsWith(`.*`)){let e=t.slice(0,-2);if(n===e||n.startsWith(`${e}.`))return!0}if(t.endsWith(`*`)){let e=t.slice(0,-1);if(n.startsWith(e))return!0}if(t===n)return!0}}return!1}function Ve(e,t,n=process.env){return Be(e,ze(t,n))}const He=r.O(`telegram/api`);function Ue(e,t){return t||(e?.error?e.error:e=>He.error(e))}async function We({operation:e,fn:t,runtime:i,logger:a,shouldLog:o}){try{return await t()}catch(t){if(!o||o(t)){let o=n.fi(t);Ue(i,a)(r.I(`telegram ${e} failed: ${o}`))}throw t}}function Ge(e){let t=e.source??(e.isLive?`live`:e.name||e.address?`place`:`pin`),n=!!(e.isLive??t===`live`);return{...e,source:t,isLive:n}}function Ke(e){return Number.isFinite(e)?` ±${Math.round(e??0)}m`:``}function qe(e,t){return`${e.toFixed(6)}, ${t.toFixed(6)}`}function Je(e){let t=Ge(e),n=qe(t.latitude,t.longitude),r=Ke(t.accuracy),i=t.caption?.trim(),a=``;return a=t.source===`live`||t.isLive?`🛰 Live location: ${n}${r}`:t.name||t.address?`📍 ${[t.name,t.address].filter(Boolean).join(` — `)} (${n}${r})`:`📍 ${n}${r}`,i?`${a}\n${i}`:a}function Ye(e){let t=Ge(e);return{LocationLat:t.latitude,LocationLon:t.longitude,LocationAccuracy:t.accuracy,LocationName:t.name,LocationAddress:t.address,LocationSource:t.source,LocationIsLive:t.isLive}}const Xe=new Set,Ze=r.O(`telegram/bot-access`);function Qe(e){if(!process.env.VITEST)for(let t of e)Xe.has(t)||(Xe.add(t),Ze.warn([`Invalid allowFrom entry:`,JSON.stringify(t),`- allowFrom/groupAllowFrom authorization expects numeric Telegram sender user IDs only.`,`To allow a Telegram group or supergroup, add its negative chat ID under "channels.telegram.groups" instead.`,`If you had "@username" entries, re-run onboarding (it resolves @username to IDs) or replace them manually.`].join(` `)))}const $e=e=>{let t=(e??[]).map(e=>String(e).trim()).filter(Boolean),n=t.includes(`*`),r=t.filter(e=>e!==`*`).map(e=>e.replace(/^(telegram|tg):/i,``)),i=r.filter(e=>!/^\d+$/.test(e));return i.length>0&&Qe([...new Set(i)]),{entries:r.filter(e=>/^\d+$/.test(e)),hasWildcard:n,hasEntries:t.length>0,invalidEntries:i}},et=e=>$e(v(e)),tt=e=>{let{allow:t,senderId:n}=e;return x(t,n,!0)},nt=e=>{let{allow:t,senderId:n}=e;return t.hasWildcard?{allowed:!0,matchKey:`*`,matchSource:`wildcard`}:t.hasEntries&&n&&t.entries.includes(n)?{allowed:!0,matchKey:n,matchSource:`id`}:{allowed:!1}};async function rt(e){let n=t.zt(e.accountId),r=at({isGroup:e.isGroup??!1,isForum:e.isForum,messageThreadId:e.messageThreadId}),i=r.scope===`forum`?r.id:void 0,a=r.scope===`dm`?r.id:void 0,o=i??a,s=await De(`telegram`,process.env,n).catch(()=>[]),{groupConfig:c,topicConfig:l}=e.resolveTelegramGroupConfig(e.chatId,o),u=b(l?.allowFrom,c?.allowFrom);return{resolvedThreadId:i,dmThreadId:a,storeAllowFrom:s,groupConfig:c,topicConfig:l,groupAllowOverride:u,effectiveGroupAllow:$e(u??e.groupAllowFrom),hasGroupAllowOverride:u!==void 0}}function it(e){if(e.isForum)return e.messageThreadId==null?1:e.messageThreadId}function at(e){return e.isGroup?{id:it({isForum:e.isForum,messageThreadId:e.messageThreadId}),scope:e.isForum?`forum`:`none`}:e.messageThreadId==null?{scope:`dm`}:{id:e.messageThreadId,scope:`dm`}}function ot(e){if(e?.id==null)return;let t=Math.trunc(e.id);if(e.scope===`dm`)return t>0?{message_thread_id:t}:void 0;if(t!==1)return{message_thread_id:t}}function st(e){if(e!=null)return{message_thread_id:Math.trunc(e)}}function ct(e){return n.ts(e)}function lt(e,t){return t==null?String(e):`${e}:topic:${t}`}function ut(e){return(e.senderId==null?``:String(e.senderId).trim())||String(e.chatId)}function dt(e,t){return`telegram:group:${lt(e,t)}`}function ft(e){if(!(!e.isGroup||e.resolvedThreadId==null))return{kind:`group`,id:String(e.chatId)}}function pt(e){return[e.from?.first_name,e.from?.last_name].filter(Boolean).join(` `).trim()||e.from?.username||void 0}function mt(e){if(e){if(e.photo)return`<media:image>`;if(e.video||e.video_note)return`<media:video>`;if(e.audio||e.voice)return`<media:audio>`;if(e.document)return`<media:document>`;if(e.sticker)return`<media:sticker>`}}function ht(e,t){let n=pt(e),r=e.from?.username?`@${e.from.username}`:void 0,i=n;n&&r?i=`${n} (${r})`:!n&&r&&(i=r);let a=(t!=null&&`${t}`.trim()?`${t}`.trim():void 0)??(e.from?.id==null?void 0:String(e.from.id)),o=a?`id:${a}`:void 0;return i&&o?`${i} ${o}`:i||(o??`id:unknown`)}function gt(e,t,n){let r=e.chat?.title,i=n==null?``:` topic:${n}`;return r?`${r} id:${t}${i}`:`group:${t}${i}`}function _t(e){return{text:e.text??e.caption??``,entities:e.entities??e.caption_entities??[]}}function vt(e){return e!=null&&/[a-z0-9_]/i.test(e)}function yt(e,t){let n=0;for(;n<e.length;){let r=e.indexOf(t,n);if(r===-1)return!1;let i=r>0?e[r-1]:void 0,a=e[r+t.length];if(!vt(i)&&!vt(a))return!0;n=r+1}return!1}function bt(e,t){let{text:n,entities:r}=_t(e),i=`@${t}`.toLowerCase();if(yt(n.toLowerCase(),i))return!0;for(let e of r)if(e.type===`mention`&&n.slice(e.offset,e.offset+e.length).toLowerCase()===i)return!0;return!1}function xt(e,t){if(!e||!t?.length)return e;let n=t.filter(e=>e.type===`text_link`&&!!e.url).toSorted((e,t)=>t.offset-e.offset);if(n.length===0)return e;let r=e;for(let t of n){let n=`[${e.slice(t.offset,t.offset+t.length)}](${t.url})`;r=r.slice(0,t.offset)+n+r.slice(t.offset+t.length)}return r}function St(e){if(!e)return;let t=Number(e);if(Number.isFinite(t))return t}function Ct(e){let t=e.reply_to_message,n=e.external_reply,r=e.quote?.text??n?.quote?.text,i=``,a=`reply`;typeof r==`string`&&(i=r.trim(),i&&(a=`quote`));let o=t??n;if(!i&&o&&(i=(o.text??o.caption??``).trim(),!i&&(i=mt(o)??``,!i))){let e=jt(o);e&&(i=Je(e))}if(!i)return null;let s=(o?pt(o):void 0)??`unknown sender`,c=o?.forward_origin?kt(o.forward_origin)??void 0:void 0;return{id:o?.message_id?String(o.message_id):void 0,sender:s,body:i,kind:a,forwardedFrom:c}}function wt(e){let t=[e.first_name,e.last_name].filter(Boolean).join(` `).trim(),n=e.username?.trim()||void 0,r=String(e.id);return{display:(t&&n?`${t} (@${n})`:t||(n?`@${n}`:void 0))||`user:${r}`,name:t||void 0,username:n,id:r}}function Tt(e,t){let n=e.title?.trim()||void 0,r=e.username?.trim()||void 0,i=String(e.id);return{display:n||(r?`@${r}`:void 0)||`${t}:${i}`,title:n,username:r,id:i}}function Et(e){let{display:t,name:n,username:r,id:i}=wt(e.user);return t?{from:t,date:e.date,fromType:e.type,fromId:i,fromUsername:r,fromTitle:n}:null}function Dt(e){let t=e.name?.trim();return t?{from:t,date:e.date,fromType:e.type,fromTitle:t}:null}function Ot(e){let t=e.type===`channel`?`channel`:`chat`,{display:n,title:r,username:i,id:a}=Tt(e.chat,t);if(!n)return null;let o=e.signature?.trim()||void 0,s=o?`${n} (${o})`:n,c=e.chat.type?.trim()||void 0;return{from:s,date:e.date,fromType:e.type,fromId:a,fromUsername:i,fromTitle:r,fromSignature:o,fromChatType:c,fromMessageId:e.messageId}}function kt(e){switch(e.type){case`user`:return Et({user:e.sender_user,date:e.date,type:`user`});case`hidden_user`:return Dt({name:e.sender_user_name,date:e.date,type:`hidden_user`});case`chat`:return Ot({chat:e.sender_chat,date:e.date,type:`chat`,signature:e.author_signature});case`channel`:return Ot({chat:e.chat,date:e.date,type:`channel`,signature:e.author_signature,messageId:e.message_id});default:return null}}function At(e){return e.forward_origin?kt(e.forward_origin):null}function jt(e){let{venue:t,location:n}=e;if(t)return{latitude:t.location.latitude,longitude:t.location.longitude,accuracy:t.location.horizontal_accuracy,name:t.title,address:t.address,source:`place`,isLive:!1};if(n){let e=typeof n.live_period==`number`&&n.live_period>0;return{latitude:n.latitude,longitude:n.longitude,accuracy:n.horizontal_accuracy,source:e?`live`:`pin`,isLive:e}}return null}function Mt(e){let t=e?.trim()??``;return t?t.length>1024?{caption:void 0,followUpText:t}:{caption:t,followUpText:void 0}:{caption:void 0,followUpText:void 0}}function R(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function Nt(e){return R(e).replace(/"/g,`&quot;`)}const Pt=new Set([`md`,`go`,`py`,`pl`,`sh`,`am`,`at`,`be`,`cc`]);function Ft(e,t){if(e.replace(/^https?:\/\//i,``)!==t)return!1;let n=t.lastIndexOf(`.`);if(n<1)return!1;let r=t.slice(n+1).toLowerCase();if(!Pt.has(r))return!1;let i=t.split(`/`);if(i.length>1){for(let e=0;e<i.length-1;e++)if(i[e].includes(`.`))return!1}return!0}function It(e,t){let n=e.href.trim();if(!n||e.start===e.end||Ft(n,t.slice(e.start,e.end)))return null;let r=Nt(n);return{start:e.start,end:e.end,open:`<a href="${r}">`,close:`</a>`}}function Lt(e){return s.t(e,{styleMarkers:{bold:{open:`<b>`,close:`</b>`},italic:{open:`<i>`,close:`</i>`},strikethrough:{open:`<s>`,close:`</s>`},code:{open:`<code>`,close:`</code>`},code_block:{open:`<pre><code>`,close:`</code></pre>`},spoiler:{open:`<tg-spoiler>`,close:`</tg-spoiler>`},blockquote:{open:`<blockquote>`,close:`</blockquote>`}},escapeText:R,buildLink:It})}function Rt(e,t={}){let n=Lt(o.n(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:t.tableMode}));return t.wrapFileRefs===!1?n:Kt(n)}function zt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}const Bt=Array.from(Pt).map(zt).join(`|`),Vt=/<a\s+href="https?:\/\/([^"]+)"[^>]*>\1<\/a>/gi,Ht=RegExp(`(^|[^a-zA-Z0-9_\\-/])([a-zA-Z0-9_.\\-./]+\\.(?:${Bt}))(?=$|[^a-zA-Z0-9_\\-/])`,`gi`),Ut=RegExp(`([^a-zA-Z0-9]|^)([A-Za-z]\\.(?:${Bt}))(?=[^a-zA-Z0-9/]|$)`,`g`),z=/(<\/?)([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*?>/gi;function Wt(e,t,n){return n.startsWith(`//`)||/https?:\/\/$/i.test(t)?e:`${t}<code>${R(n)}</code>`}function Gt(e,t,n,r){return!e||t>0||n>0||r>0?e:e.replace(Ht,Wt).replace(Ut,(e,t,n)=>t===`>`?e:`${t}<code>${R(n)}</code>`)}function Kt(e){Vt.lastIndex=0;let t=e.replace(Vt,(e,t)=>Ft(`http://${t}`,t)?`<code>${R(t)}</code>`:e),n=0,r=0,i=0,a=``,o=0;z.lastIndex=0;let s;for(;(s=z.exec(t))!==null;){let e=s.index,c=z.lastIndex,l=s[1]===`</`,u=s[2].toLowerCase(),d=t.slice(o,e);a+=Gt(d,n,r,i),u===`code`?n=l?Math.max(0,n-1):n+1:u===`pre`?r=l?Math.max(0,r-1):r+1:u===`a`&&(i=l?Math.max(0,i-1):i+1),a+=t.slice(e,c),o=c}let c=t.slice(o);return a+=Gt(c,n,r,i),a}function qt(e,t={}){return(t.textMode??`markdown`)===`html`?e:Rt(e,{tableMode:t.tableMode})}const Jt=new Set([`br`]);function Yt(e){return e.map(e=>e.openTag).join(``)}function Xt(e){return e.slice().toReversed().map(e=>e.closeTag).join(``)}function Zt(e){return e.reduce((e,t)=>e+t.closeTag.length,0)}function Qt(e,t){if(e[t]!==`&`)return-1;let n=t+1;if(n>=e.length)return-1;if(e[n]===`#`){if(n+=1,n>=e.length)return-1;if(e[n]===`x`||e[n]===`X`){n+=1;let t=n;for(;/[0-9A-Fa-f]/.test(e[n]??``);)n+=1;if(n===t)return-1}else{let t=n;for(;/[0-9]/.test(e[n]??``);)n+=1;if(n===t)return-1}}else{let t=n;for(;/[A-Za-z0-9]/.test(e[n]??``);)n+=1;if(n===t)return-1}return e[n]===`;`?n:-1}function $t(e,t){if(e.length<=t)return e.length;let n=Math.max(1,Math.floor(t)),r=e.lastIndexOf(`&`,n-1);if(r===-1||r<e.lastIndexOf(`;`,n-1))return n;let i=Qt(e,r);return i===-1||i<n?n:r}function en(e,t){for(let n=e.length-1;n>=0;--n)if(e[n]?.name===t){e.splice(n,1);return}}function tn(e,t){if(!e)return[];let n=Math.max(1,Math.floor(t));if(e.length<=n)return[e];let r=[],i=[],a=``,o=!1,s=()=>{a=Yt(i),o=!1},c=()=>{o&&(r.push(`${a}${Xt(i)}`),s())},l=e=>{let t=e;for(;t.length>0;){let e=n-a.length-Zt(i);if(e<=0){if(!o)throw Error(`Telegram HTML chunk limit exceeded by tag overhead (limit=${n})`);c();continue}if(t.length<=e){a+=t,o=!0;break}let r=$t(t,e);if(r<=0){if(!o)throw Error(`Telegram HTML chunk limit exceeded by leading entity (limit=${n})`);c();continue}a+=t.slice(0,r),o=!0,t=t.slice(r),c()}};s(),z.lastIndex=0;let u=0,d;for(;(d=z.exec(e))!==null;){let t=d.index,r=z.lastIndex;l(e.slice(u,t));let s=d[0],f=d[1]===`</`,p=d[2].toLowerCase(),m=!f&&(Jt.has(p)||s.trimEnd().endsWith(`/>`));if(!f){let e=m?0:`</${p}>`.length;o&&a.length+s.length+Zt(i)+e>n&&c()}a+=s,m&&(o=!0),f?en(i,p):m||i.push({name:p,openTag:s,closeTag:`</${p}>`}),u=r}return l(e.slice(u)),c(),r.length>0?r:[e]}function nn(e,t,n){let r=e.text.length;if(r<=1)return[e];let i=Math.floor(r*t/Math.max(n,1)),a=Math.min(r-1,i),o=on(e,Number.isFinite(a)&&a>0?a:Math.max(1,Math.floor(r/2)));return o.length>1?o:on(e,Math.max(1,Math.floor(r/2)))}function rn(e,t,n){return e.flatMap(e=>{if(e.end<=t||e.start>=n)return[];let r=Math.max(e.start,t)-t,i=Math.min(e.end,n)-t;return i<=r?[]:[{...e,start:r,end:i}]})}function an(e,t,n){return e.flatMap(e=>{if(e.end<=t||e.start>=n)return[];let r=Math.max(e.start,t)-t,i=Math.min(e.end,n)-t;return i<=r?[]:[{...e,start:r,end:i}]})}function on(e,t){if(!e.text)return[];let n=Math.max(1,Math.floor(t));if(n<=0||e.text.length<=n)return[e];let r=[],i=0;for(;i<e.text.length;){let t=Math.min(e.text.length,i+n);r.push({text:e.text.slice(i,t),styles:rn(e.styles,i,t),links:an(e.links,i,t)}),i=t}return r}function sn(e,t){let n=Math.max(1,Math.floor(t)),r=o.t(e,n),i=[];for(;r.length>0;){let e=r.shift();if(!e)continue;let t=Kt(Lt(e));if(t.length<=n||e.text.length<=1){i.push({html:t,text:e.text});continue}let a=nn(e,n,t.length);if(a.length<=1){i.push({html:t,text:e.text});continue}r.unshift(...a)}return i}function cn(e,t,n={}){return sn(o.n(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:n.tableMode}),t)}const ln=new Set([`ECONNRESET`,`ECONNREFUSED`,`EPIPE`,`ETIMEDOUT`,`ESOCKETTIMEDOUT`,`ENETUNREACH`,`EHOSTUNREACH`,`ENOTFOUND`,`EAI_AGAIN`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`UND_ERR_SOCKET`,`UND_ERR_ABORTED`,`ECONNABORTED`,`ERR_NETWORK`]),un=new Set([`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`ENETUNREACH`,`EHOSTUNREACH`]),dn=new Set([`AbortError`,`TimeoutError`,`ConnectTimeoutError`,`HeadersTimeoutError`,`BodyTimeoutError`]),fn=new Set([`fetch failed`,`typeerror: fetch failed`]),pn=/^network request(?:\s+for\s+["']?[^"']+["']?)?\s+failed\s+after\b.*[!.]?$/i,mn=[`undici`,`network error`,`network request`,`client network socket disconnected`,`socket hang up`,`getaddrinfo`,`timeout`,`timed out`];function hn(e){return n.ui(e,e=>{let t=[e.cause,e.reason];return Array.isArray(e.errors)&&t.push(...e.errors),n.mi(e)===`HttpError`&&t.push(e.error),t})}function gn(e){return e?.trim().toUpperCase()??``}function _n(e){let t=n.di(e);if(t)return t;if(!e||typeof e!=`object`)return;let r=e.errno;if(typeof r==`string`)return r;if(typeof r==`number`)return String(r)}function vn(e){if(!e)return!1;for(let t of hn(e)){let e=gn(_n(t));if(e&&un.has(e))return!0}return!1}function yn(e,t){for(let n of hn(e)){if(!n||typeof n!=`object`||!(`error_code`in n))continue;let e=n.error_code;if(typeof e==`number`&&t(e))return!0}return!1}function bn(e){return yn(e,e=>e>=500)}function xn(e){return yn(e,e=>e>=400&&e<500)}function B(e,t={}){if(!e)return!1;let r=typeof t.allowMessageMatch==`boolean`?t.allowMessageMatch:t.context!==`send`;for(let t of hn(e)){let e=gn(_n(t));if(e&&ln.has(e))return!0;let i=n.mi(t);if(i&&dn.has(i))return!0;let a=n.fi(t).trim().toLowerCase();if(a&&fn.has(a)||a&&pn.test(a)||r&&a&&mn.some(e=>a.includes(e)))return!0}return!1}const Sn=new Map;function Cn(e){return String(e)}function wn(e){let t=Date.now();for(let[n,r]of e.timestamps)t-r>864e5&&e.timestamps.delete(n)}function V(e,t){let n=Cn(e),r=Sn.get(n);r||(r={timestamps:new Map},Sn.set(n,r)),r.timestamps.set(t,Date.now()),r.timestamps.size>100&&wn(r)}function Tn(e,t){let n=Cn(e),r=Sn.get(n);return r?(wn(r),r.timestamps.has(t)):!1}const En=f.default.join(r.a,`cron`),Dn=f.default.join(En,`jobs.json`),H=new Map;function On(t){if(t?.trim()){let n=t.trim();return n.startsWith(`~`)?f.default.resolve(e.l(n)):f.default.resolve(n)}return Dn}async function kn(e){try{let t=await p.default.promises.readFile(e,`utf-8`),n;try{n=h.default.parse(t)}catch(t){throw Error(`Failed to parse cron store at ${e}: ${String(t)}`,{cause:t})}let r=n&&typeof n==`object`&&!Array.isArray(n)?n:{},i={version:1,jobs:(Array.isArray(r.jobs)?r.jobs:[]).filter(Boolean)};return H.set(e,JSON.stringify(i,null,2)),i}catch(t){if(t?.code===`ENOENT`)return H.delete(e),{version:1,jobs:[]};throw t}}async function An(e){await p.default.promises.chmod(e,384).catch(()=>void 0)}async function jn(e,t,n){let r=f.default.dirname(e);await p.default.promises.mkdir(r,{recursive:!0,mode:448}),await p.default.promises.chmod(r,448).catch(()=>void 0);let i=JSON.stringify(t,null,2),a=H.get(e);if(a===i)return;let o=a??null;if(o===null)try{o=await p.default.promises.readFile(e,`utf-8`)}catch(e){if(e.code!==`ENOENT`)throw e}if(o===i){H.set(e,i);return}let s=`${e}.${process.pid}.${(0,g.randomBytes)(8).toString(`hex`)}.tmp`;if(await p.default.promises.writeFile(s,i,{encoding:`utf-8`,mode:384}),await An(s),o!==null&&!n?.skipBackup)try{let t=`${e}.bak`;await p.default.promises.copyFile(e,t),await An(t)}catch{}await Mn(s,e),await An(e),H.set(e,i)}async function Mn(e,t){for(let n=0;n<=3;n++)try{await p.default.promises.rename(e,t);return}catch(r){let i=r.code;if(i===`EBUSY`&&n<3){await new Promise(e=>setTimeout(e,50*2**n));continue}if(i===`EPERM`||i===`EEXIST`){await p.default.promises.copyFile(e,t),await p.default.promises.unlink(e).catch(()=>{});return}throw r}}const U=r.O(`telegram/target-writeback`);function Nn(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function Pn(e){let t=a.n(e);if(t)return t.startsWith(`@`)?t.toLowerCase():t}function Fn(e){let t=a.r(e),n=Pn(t.chatId);if(n)return`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`}function In(e){let{raw:t,parsed:n,resolvedChatId:r}=e;return n.messageThreadId==null?r:t.includes(`:topic:`)?`${r}:topic:${n.messageThreadId}`:`${r}:${n.messageThreadId}`}function Ln(e){let t=a.r(e.raw);if(a.t(t.chatId))return null;let n=Pn(t.chatId);return n?{matchKey:`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`,resolvedTarget:In({raw:e.raw,parsed:t,resolvedChatId:e.resolvedChatId})}:null}function Rn(e){if(typeof e.rawValue!=`string`&&typeof e.rawValue!=`number`)return null;let t=String(e.rawValue).trim();return!t||Fn(t)!==e.matchKey?null:e.resolvedTarget}function zn(e){let t=!1,n=Nn(e.cfg.channels?.telegram);if(!n)return t;let r=(n,r)=>{let i=Rn({rawValue:n[r],matchKey:e.matchKey,resolvedTarget:e.resolvedTarget});i&&(n[r]=i,t=!0)};r(n,`defaultTo`);let i=Nn(n.accounts);if(!i)return t;for(let e of Object.keys(i)){let t=Nn(i[e]);t&&r(t,`defaultTo`)}return t}async function Bn(e){let t=e.rawTarget.trim();if(!t)return;let r=Ln({raw:t,resolvedChatId:e.resolvedChatId});if(!r)return;let{matchKey:i,resolvedTarget:a}=r;try{let{snapshot:r,writeOptions:o}=await n.Da(),s=structuredClone(r.config??{});zn({cfg:s,matchKey:i,resolvedTarget:a})&&(await n.Aa(s,o),e.verbose&&U.warn(`resolved Telegram defaultTo target ${t} -> ${a}`))}catch(n){e.verbose&&U.warn(`failed to persist Telegram defaultTo target ${t}: ${String(n)}`)}try{let n=On(e.cfg.cron?.store),r=await kn(n),o=!1;for(let e of r.jobs){if(e.delivery?.channel!==`telegram`)continue;let t=Rn({rawValue:e.delivery.to,matchKey:i,resolvedTarget:a});t&&(e.delivery.to=t,o=!0)}o&&(await jn(n,r),e.verbose&&U.warn(`resolved Telegram cron delivery target ${t} -> ${a}`))}catch(n){e.verbose&&U.warn(`failed to persist Telegram cron target ${t}: ${String(n)}`)}}function Vn(e){return e.wantsVoice?Fe(e)?{useVoice:!0}:{useVoice:!1,reason:`media is ${e.contentType??`unknown`} (${e.fileName??`unknown`})`}:{useVoice:!1}}function Hn(e){let t=Vn(e);return t.reason&&e.logFallback&&e.logFallback(`Telegram voice requested but ${t.reason}; sending as audio file instead.`),{useVoice:t.useVoice}}function W(e,t){if(typeof e?.message_id==`number`&&Number.isFinite(e.message_id))return Math.trunc(e.message_id);throw Error(`Telegram ${t} returned no message_id`)}function Un(e,t){if(!e)return[];let n=Math.max(1,Math.floor(t)),r=[];for(let t=0;t<e.length;t+=n)r.push(e.slice(t,t+n));return r}function Wn(e,t,n){if(!e)return[];let r=Math.max(1,Math.floor(n)),i=Un(e,r);if(t<=1||i.length>=t)return i;let a=[],o=0;for(let n=0;n<t;n+=1){let i=e.length-o,s=t-n,c=s===1?i:Math.min(r,Math.ceil(i/s));a.push(e.slice(o,o+c)),o+=c}return a}const Gn=/can't parse entities|parse entities|find end of the entity/i,Kn=/400:\s*Bad Request:\s*message thread not found/i,qn=/400:\s*Bad Request:\s*message is not modified|MESSAGE_NOT_MODIFIED/i,Jn=/400: Bad Request: chat not found/i,Yn=r.O(`telegram/send`),Xn=r.O(`telegram/diagnostic`),G=new Map;function Zn(e){return Ve(`telegram.http`,e)?(e,r)=>{if(!(r instanceof _.HttpError))return;let i=t.N(n.pi(r.error??r));Xn.warn(`telegram http error (${e}): ${i}`)}:()=>{}}function Qn(){return!process.env.VITEST&&!0}function $n(e){let t=e.account.config.proxy?.trim()??``,n=e.account.config.network?.autoSelectFamily,r=typeof n==`boolean`?String(n):`default`,i=e.account.config.network?.dnsResultOrder??`default`,a=typeof e.timeoutSeconds==`number`?String(e.timeoutSeconds):`default`;return`${e.account.accountId}::${t}::${r}::${i}::${a}`}function er(e,t){if(G.set(e,t),G.size>64){let e=G.keys().next().value;e!==void 0&&G.delete(e)}return t}function tr(e){let t=typeof e.config.timeoutSeconds==`number`&&Number.isFinite(e.config.timeoutSeconds)?Math.max(1,Math.floor(e.config.timeoutSeconds)):void 0,n=Qn()?$n({account:e,timeoutSeconds:t}):null;if(n&&G.has(n))return G.get(n);let r=e.config.proxy?.trim(),a=d.t(r?i.n(r):void 0,{network:e.config.network}),o=a||t?{...a?{fetch:a}:{},...t?{timeoutSeconds:t}:{}}:void 0;return n?er(n,o):o}function nr(e,t){if(e?.trim())return e.trim();if(!t.token)throw Error(`Telegram bot token missing for account "${t.accountId}" (set channels.telegram.accounts.${t.accountId}.botToken/tokenFile or TELEGRAM_BOT_TOKEN for default).`);return t.token.trim()}async function rr(e,t){let r=a.t(e);if(r)return r;let i=a.n(e),o=t.api.getChat;if(!i||typeof o!=`function`)throw Error(`Telegram recipient must be a numeric chat ID`);try{let e=await o.call(t.api,i),n=a.t(String(e?.id??``));if(!n)throw Error(`resolved chat id is not numeric (${String(e?.id??``)})`);return t.verbose&&Yn.warn(`telegram recipient ${i} resolved to numeric chat id ${n}`),n}catch(e){let t=n.fi(e);throw Error(`Telegram recipient ${i} could not be resolved to a numeric chat ID (${t})`,{cause:e})}}async function K(e){let t=await rr(e.lookupTarget,{api:e.api,verbose:e.verbose});return await Bn({cfg:e.cfg,rawTarget:e.persistTarget,resolvedChatId:t,verbose:e.verbose}),t}function q(e){if(typeof e==`number`&&Number.isFinite(e))return Math.trunc(e);if(typeof e==`string`){let t=e.trim();if(!t)throw Error(`Message id is required for Telegram actions`);let n=Number.parseInt(t,10);if(Number.isFinite(n))return n}throw Error(`Message id is required for Telegram actions`)}function ir(e){return Kn.test(n.fi(e))}function J(e){return qn.test(n.fi(e))}function ar(e){if(!e)return!1;let t=e.message_thread_id;return typeof t==`number`?Number.isFinite(t):typeof t==`string`?t.trim().length>0:!1}function or(e){if(!e||!ar(e))return e;let t={...e};return delete t.message_thread_id,Object.keys(t).length>0?t:void 0}function sr(e){return Gn.test(n.fi(e))}function cr(e){let t=e.messageThreadId==null?e.targetMessageThreadId:e.messageThreadId,n=e.chatType===`direct`?`dm`:`forum`,r=ot(t==null?void 0:{id:t,scope:n}),i=r?{...r}:{};if(e.replyToMessageId!=null){let t=Math.trunc(e.replyToMessageId);e.quoteText?.trim()?i.reply_parameters={message_id:t,quote:e.quoteText.trim()}:i.reply_to_message_id=t}return i}async function lr(e){try{return await e.requestHtml(e.label)}catch(t){if(!sr(t))throw t;return e.verbose&&Yn.warn(`telegram ${e.label} failed with HTML parse error, retrying as plain text: ${n.fi(t)}`),await e.requestPlain(`${e.label}-plain`)}}function Y(e){let t=e.cfg??n.wa(),r=n.Dn({cfg:t,accountId:e.accountId}),i=nr(e.token,r),a=tr(r);return{cfg:t,account:r,api:e.api??new _.Bot(i,a?{client:a}:void 0).api}}function X(e){let t=u.i({retry:e.retry,configRetry:e.account.config.retry,verbose:e.verbose,...e.shouldRetry?{shouldRetry:e.shouldRetry}:{},...e.strictShouldRetry?{strictShouldRetry:!0}:{}}),n=Zn(e.cfg);return(r,i,a)=>{let o=()=>t(r,i);return(e.useApiErrorLogging===!1?o():We({operation:i??`request`,fn:o,...a?.shouldLog?{shouldLog:a.shouldLog}:{}})).catch(e=>{throw n(i??`request`,e),e})}}function ur(e,t){return Jn.test(n.fi(e))?Error([`Telegram send failed: chat not found (chat_id=${t.chatId}).`,`Likely: bot not started in DM, bot removed from group/channel, group migrated (new -100… id), or wrong bot token.`,`Input was: ${JSON.stringify(t.input)}.`].join(` `)):e}async function Z(e,t,r,i){try{return await i(e,t)}catch(a){if(!ar(e)||!ir(a))throw a;return r&&Yn.warn(`telegram ${t} failed with message_thread_id, retrying without thread: ${n.fi(a)}`),await i(or(e),`${t}-threadless`)}}function Q(e){return async(t,n)=>e.requestWithDiag(t,n).catch(t=>{throw ur(t,{chatId:e.chatId,input:e.input})})}function dr(e){return X({cfg:e.cfg,account:e.account,retry:e.retry,verbose:e.verbose,useApiErrorLogging:e.useApiErrorLogging,shouldRetry:e=>vn(e),strictShouldRetry:!0})}function $(e){if(!e?.length)return;let t=e.map(e=>e.filter(e=>e?.text&&e?.callback_data).map(e=>({text:e.text,callback_data:e.callback_data,...e.style?{style:e.style}:{}}))).filter(e=>e.length>0);if(t.length!==0)return{inline_keyboard:t}}async function fr(e,i,s={}){let{cfg:l,account:d,api:f}=Y(s),p=a.r(e),m=await K({cfg:l,api:f,lookupTarget:p.chatId,persistTarget:e,verbose:s.verbose}),h=s.mediaUrl?.trim(),g=s.maxBytes??(typeof d.config.mediaMaxMb==`number`?d.config.mediaMaxMb:100)*1024*1024,v=$(s.buttons),y=cr({targetMessageThreadId:p.messageThreadId,messageThreadId:s.messageThreadId,chatType:p.chatType,replyToMessageId:s.replyToMessageId,quoteText:s.quoteText}),b=Object.keys(y).length>0,x=Q({requestWithDiag:dr({cfg:l,account:d,retry:s.retry,verbose:s.verbose}),chatId:m,input:e}),S=s.textMode??`markdown`,C=o.s({cfg:l,channel:`telegram`,accountId:d.accountId}),w=e=>qt(e,{textMode:S,tableMode:C}),T=d.config.linkPreview??!0?void 0:{is_disabled:!0},E=async(e,t)=>await Z(t,`message`,s.verbose,async(t,n)=>{let r=t?{...t}:{};T&&(r.link_preview_options=T);let i={...r,...s.silent===!0?{disable_notification:!0}:{}},a=Object.keys(i).length>0,o=t=>x(()=>a?f.sendMessage(m,e.plainText,i):f.sendMessage(m,e.plainText),t);if(!e.htmlText)return await o(n);let c=e.htmlText,l={parse_mode:`HTML`,...i};return await lr({label:n,verbose:s.verbose,requestHtml:e=>x(()=>f.sendMessage(m,c,l),e),requestPlain:o})}),D=e=>b||e&&v?{...y,...e&&v?{reply_markup:v}:{}}:void 0,O=async(e,t)=>{let n=``,r=m;for(let i=0;i<e.length;i+=1){let a=e[i];if(!a)continue;let o=await E(a,D(i===e.length-1)),s=W(o,t);V(m,s),n=String(s),r=String(o?.chat?.id??m)}return{messageId:n,chatId:r}},k=(e,t)=>{let i=s.plainText??e,a;try{a=tn(e,4e3)}catch(e){return r.R(`telegram ${t} failed HTML chunk planning, retrying as plain text: ${n.fi(e)}`),Un(i,4e3).map(e=>({plainText:e}))}let o=Un(i,4e3);if(o.length>a.length)return r.R(`telegram ${t} plain-text fallback needs more chunks than HTML; sending plain text`),o.map(e=>({plainText:e}));let c=Wn(i,a.length,4e3);return a.map((e,t)=>({htmlText:e,plainText:c[t]??e}))},ee=async(e,t)=>await O(k(e,t),t);if(h){let e=await o.a(h,c.t({maxBytes:g,mediaLocalRoots:s.mediaLocalRoots})),n=t.g(e.contentType??void 0),a=t.h({contentType:e.contentType,fileName:e.fileName}),l=n===`video`&&s.asVideoNote===!0,p=e.fileName??(a?`animation.gif`:vr(n??`document`))??`file`,C=new _.InputFile(e.buffer,p),T,E;if(l)T=void 0,E=i.trim()?i:void 0;else{let e=Mt(i);T=e.caption,E=e.followUpText}let D=T?w(T):void 0,k=!!E,A={...b?y:{},...!k&&v?{reply_markup:v}:{}},j={...D?{caption:D,parse_mode:`HTML`}:{},...A,...s.silent===!0?{disable_notification:!0}:{}},M=async(e,t)=>await Z(j,e,s.verbose,async(e,n)=>x(()=>t(e),n)),N=(()=>{if(a)return{label:`animation`,sender:e=>f.sendAnimation(m,C,e)};if(n===`image`)return{label:`photo`,sender:e=>f.sendPhoto(m,C,e)};if(n===`video`)return l?{label:`video_note`,sender:e=>f.sendVideoNote(m,C,e)}:{label:`video`,sender:e=>f.sendVideo(m,C,e)};if(n===`audio`){let{useVoice:t}=Hn({wantsVoice:s.asVoice===!0,contentType:e.contentType,fileName:p,logFallback:r.R});return t?{label:`voice`,sender:e=>f.sendVoice(m,C,e)}:{label:`audio`,sender:e=>f.sendAudio(m,C,e)}}return{label:`document`,sender:e=>f.sendDocument(m,C,e)}})(),te=await M(N.label,N.sender),ne=W(te,`media send`),P=String(te?.chat?.id??m);return V(m,ne),u.n({channel:`telegram`,accountId:d.accountId,direction:`outbound`}),k&&E?S===`html`?{messageId:(await ee(E,`text follow-up send`)).messageId,chatId:P}:{messageId:(await O([{plainText:E,htmlText:w(E)}],`text follow-up send`)).messageId,chatId:P}:{messageId:String(ne),chatId:P}}if(!i||!i.trim())throw Error(`Message must be non-empty for Telegram sends`);let A;return A=S===`html`?await ee(i,`text send`):await O([{plainText:s.plainText??i,htmlText:w(i)}],`text send`),u.n({channel:`telegram`,accountId:d.accountId,direction:`outbound`}),A}async function pr(e,t={}){let{cfg:n,account:r,api:i}=Y(t),o=a.r(e),s=await K({cfg:n,api:i,lookupTarget:o.chatId,persistTarget:e,verbose:t.verbose}),c=X({cfg:n,account:r,retry:t.retry,verbose:t.verbose,shouldRetry:e=>B(e,{context:`send`})}),l=st(o.messageThreadId??t.messageThreadId);return await c(()=>i.sendChatAction(s,`typing`,l),`typing`),{ok:!0}}async function mr(e,t,n,r={}){let{cfg:i,account:a,api:o}=Y(r),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=q(t),u=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>B(e,{context:`send`})}),d=r.remove===!0,f=n.trim(),p=d||!f?[]:[{type:`emoji`,emoji:f}];if(typeof o.setMessageReaction!=`function`)throw Error(`Telegram reactions are unavailable in this bot API.`);try{await u(()=>o.setMessageReaction(c,l,p),`reaction`)}catch(e){let t=e instanceof Error?e.message:String(e);if(/REACTION_INVALID/i.test(t))return{ok:!1,warning:`Reaction unavailable: ${f}`};throw e}return{ok:!0}}async function hr(e,t,n={}){let{cfg:i,account:a,api:o}=Y(n),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:n.verbose}),l=q(t);return await X({cfg:i,account:a,retry:n.retry,verbose:n.verbose,shouldRetry:e=>B(e,{context:`send`})})(()=>o.deleteMessage(c,l),`deleteMessage`),r.R(`[telegram] Deleted message ${l} from chat ${c}`),{ok:!0}}async function gr(e,t,n,i={}){let{cfg:a,account:o,api:s}=Y({...i,cfg:i.cfg}),c=String(e),l=await K({cfg:a,api:s,lookupTarget:c,persistTarget:c,verbose:i.verbose}),u=q(t),d=X({cfg:a,account:o,retry:i.retry,verbose:i.verbose}),f=$(n)??{inline_keyboard:[]};try{await d(()=>s.editMessageReplyMarkup(l,u,{reply_markup:f}),`editMessageReplyMarkup`,{shouldLog:e=>!J(e)})}catch(e){if(!J(e))throw e}return r.R(`[telegram] Edited reply markup for message ${u} in chat ${l}`),{ok:!0,messageId:String(u),chatId:l}}async function _r(e,t,n,i={}){let{cfg:a,account:s,api:c}=Y({...i,cfg:i.cfg}),l=String(e),u=await K({cfg:a,api:c,lookupTarget:l,persistTarget:l,verbose:i.verbose}),d=q(t),f=X({cfg:a,account:s,retry:i.retry,verbose:i.verbose,shouldRetry:e=>B(e,{allowMessageMatch:!0})||bn(e)}),p=(e,t,n)=>f(e,t,n?{shouldLog:n}:void 0),m=qt(n,{textMode:i.textMode??`markdown`,tableMode:o.s({cfg:a,channel:`telegram`,accountId:s.accountId})}),h=i.buttons!==void 0,g=h?$(i.buttons):void 0,_=h?g??{inline_keyboard:[]}:void 0,v={parse_mode:`HTML`};i.linkPreview===!1&&(v.link_preview_options={is_disabled:!0}),_!==void 0&&(v.reply_markup=_);let y={};i.linkPreview===!1&&(y.link_preview_options={is_disabled:!0}),_!==void 0&&(y.reply_markup=_);try{await lr({label:`editMessage`,verbose:i.verbose,requestHtml:e=>p(()=>c.editMessageText(u,d,m,v),e,e=>!J(e)),requestPlain:e=>p(()=>Object.keys(y).length>0?c.editMessageText(u,d,n,y):c.editMessageText(u,d,n),e,e=>!J(e))})}catch(e){if(!J(e))throw e}return r.R(`[telegram] Edited message ${d} in chat ${u}`),{ok:!0,messageId:String(d),chatId:u}}function vr(e){switch(e){case`image`:return`image.jpg`;case`video`:return`video.mp4`;case`audio`:return`audio.ogg`;default:return`file.bin`}}async function yr(e,t,n={}){if(!t?.trim())throw Error(`Telegram sticker file_id is required`);let{cfg:r,account:i,api:o}=Y(n),s=a.r(e),c=await K({cfg:r,api:o,lookupTarget:s.chatId,persistTarget:e,verbose:n.verbose}),l=cr({targetMessageThreadId:s.messageThreadId,messageThreadId:n.messageThreadId,chatType:s.chatType,replyToMessageId:n.replyToMessageId}),d=Object.keys(l).length>0,f=Q({requestWithDiag:X({cfg:r,account:i,retry:n.retry,verbose:n.verbose,useApiErrorLogging:!1}),chatId:c,input:e}),p=await Z(d?l:void 0,`sticker`,n.verbose,async(e,n)=>f(()=>o.sendSticker(c,t.trim(),e),n)),m=W(p,`sticker send`),h=String(p?.chat?.id??c);return V(c,m),u.n({channel:`telegram`,accountId:i.accountId,direction:`outbound`}),{messageId:String(m),chatId:h}}async function br(e,t,n={}){let{cfg:r,account:i,api:o}=Y(n),s=a.r(e),c=await K({cfg:r,api:o,lookupTarget:s.chatId,persistTarget:e,verbose:n.verbose}),d=l.n(t,{maxOptions:10}),f=cr({targetMessageThreadId:s.messageThreadId,messageThreadId:n.messageThreadId,chatType:s.chatType,replyToMessageId:n.replyToMessageId}),p=d.options,m=Q({requestWithDiag:dr({cfg:r,account:i,retry:n.retry,verbose:n.verbose}),chatId:c,input:e}),h=d.durationSeconds;if(h===void 0&&d.durationHours!==void 0)throw Error(`Telegram poll durationHours is not supported. Use durationSeconds (5-600) instead.`);if(h!==void 0&&(h<5||h>600))throw Error(`Telegram poll durationSeconds must be between 5 and 600`);let g=await Z({allows_multiple_answers:d.maxSelections>1,is_anonymous:n.isAnonymous??!0,...h===void 0?{}:{open_period:h},...Object.keys(f).length>0?f:{},...n.silent===!0?{disable_notification:!0}:{}},`poll`,n.verbose,async(e,t)=>m(()=>o.sendPoll(c,d.question,p,e),t)),_=W(g,`poll send`),v=String(g?.chat?.id??c),y=g?.poll?.id;return V(c,_),u.n({channel:`telegram`,accountId:i.accountId,direction:`outbound`}),{messageId:String(_),chatId:v,pollId:y}}async function xr(e,t,n={}){if(!t?.trim())throw Error(`Forum topic name is required`);let r=t.trim();if(r.length>128)throw Error(`Forum topic name must be 128 characters or fewer`);let{cfg:i,account:o,api:s}=Y(n),c=await K({cfg:i,api:s,lookupTarget:a.r(e).chatId,persistTarget:e,verbose:n.verbose}),l=dr({cfg:i,account:o,retry:n.retry,verbose:n.verbose}),d={};n.iconColor!=null&&(d.icon_color=n.iconColor),n.iconCustomEmojiId?.trim()&&(d.icon_custom_emoji_id=n.iconCustomEmojiId.trim());let f=Object.keys(d).length>0,p=await l(()=>s.createForumTopic(c,r,f?d:void 0),`createForumTopic`),m=p.message_thread_id;return u.n({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),{topicId:m,name:p.name??r,chatId:c}}Object.defineProperty(exports,`$`,{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return it}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return xn}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return _r}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Hn}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return vn}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return yr}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Tn}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return mr}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return On}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return hr}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return fr}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return pr}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return cn}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return rt}});
2
+ //# sourceMappingURL=send-CJGLeSJ8.cjs.map
@@ -5,3 +5,4 @@ import{It as e,d as t,y as n}from"./paths-piJASC5k.js";import{Z as r}from"./logg
5
5
  `:``}${t}`,i=s.length+r.length,a=c+(n?0:1);(i>m||a>h)&&s.length>0&&u(),s.length>0?(s+=r,n||(c+=1)):(s=t,c=1)}l=a}if(s.length){let e=kt(s,l);e.trim().length&&o.push(e)}return Nt(e,o)}function Mt(e,t){if((t.chunkMode??`length`)!==`newline`)return jt(e,t);let n=m(e,Math.max(1,Math.floor(t.maxChars??wt)),`newline`),r=[];for(let e of n){let n=jt(e,t);if(!n.length&&e){r.push(e);continue}r.push(...n)}return r}function Nt(e,t){if(t.length<=1||!(e.startsWith(`Reasoning:
6
6
  _`)&&e.trimEnd().endsWith(`_`)))return t;let n=[...t];for(let e=0;e<n.length;e++){let t=e===n.length-1,r=n[e];if(r.trimEnd().endsWith(`_`)||(n[e]=`${r}_`),t)break;let i=n[e+1],a=i.length-i.trimStart().length,o=i.slice(0,a),s=i.slice(a);s.startsWith(`_`)||(n[e+1]=`${o}_${s}`)}return n}function Pt(e){let t=i(e.fallbackToken,`channels.discord.token`);if(!t)throw Error(`Discord bot token missing for account "${e.accountId}" (set discord.accounts.${e.accountId}.token or DISCORD_BOT_TOKEN for default).`);return t}function Ft(e,t){return t??new be(e)}function It(t){let n=e(t.accountId),r=a(t.cfg,n),i=t.cfg.channels?.discord?.enabled!==!1,o=r.enabled!==!1;return{accountId:n,enabled:i&&o,name:r.name?.trim()||void 0,token:``,tokenSource:`none`,config:r}}function Lt(e,t){let n=e.cfg??t??l(),r=i(e.token,`channels.discord.token`),a=r?It({cfg:n,accountId:e.accountId}):o({cfg:n,accountId:e.accountId}),s=r??Pt({accountId:a.accountId,fallbackToken:a.token});return{token:s,rest:Ft(s,e.rest),account:a}}function F(e,t){let{token:n,rest:r,account:i}=Lt(e,e.cfg??t);return{token:n,rest:r,request:S({retry:e.retry,configRetry:i.config.retry,verbose:e.verbose})}}function I(e){return Lt(e,e.cfg).rest}const Rt=Object.entries(ae).filter(([,e])=>typeof e==`bigint`),zt=Rt.reduce((e,[,t])=>e|t,0n),Bt=ae.Administrator;function L(e,t){return t?e|BigInt(t):e}function Vt(e,t){return t?e&~BigInt(t):e}function Ht(e){return Rt.filter(([,t])=>(e&t)===t).map(([e])=>e).toSorted()}function Ut(e){return(e&Bt)===Bt}function Wt(e,t){return(e&t)===t}function Gt(e){return e===D.GuildNewsThread||e===D.GuildPublicThread||e===D.GuildPrivateThread}async function Kt(e){let t=await e.get(O.user(`@me`));if(!t?.id)throw Error(`Failed to resolve bot user id`);return t.id}async function qt(e,t,n={}){let r=I(n);try{let[n,i]=await Promise.all([r.get(O.guild(e)),r.get(O.guildMember(e,t))]),a=new Map((n.roles??[]).map(e=>[e.id,e])),o=a.get(e),s=0n;o?.permissions&&(s=L(s,o.permissions));for(let e of i.roles??[]){let t=a.get(e);t?.permissions&&(s=L(s,t.permissions))}return s}catch{return null}}async function Jt(e,t,n,r,i={}){let a=await qt(e,t,i);return a===null?!1:Ut(a)?!0:r(a,n)}async function Yt(e,t,n,r={}){return await Jt(e,t,n,(e,t)=>t.some(t=>Wt(e,t)),r)}async function Xt(e,t={}){let n=I(t),r=await n.get(O.channel(e)),i=`type`in r?r.type:void 0,a=`guild_id`in r?r.guild_id:void 0;if(!a)return{channelId:e,permissions:[],raw:`0`,isDm:!0,channelType:i};let o=await Kt(n),[s,c]=await Promise.all([n.get(O.guild(a)),n.get(O.guildMember(a,o))]),l=new Map((s.roles??[]).map(e=>[e.id,e])),u=l.get(a),d=0n;u?.permissions&&(d=L(d,u.permissions));for(let e of c.roles??[]){let t=l.get(e);t?.permissions&&(d=L(d,t.permissions))}if(Ut(d))return{channelId:e,guildId:a,permissions:Ht(zt),raw:zt.toString(),isDm:!1,channelType:i};let f=d,p=`permission_overwrites`in r?r.permission_overwrites??[]:[];for(let e of p)e.id===a&&(f=Vt(f,e.deny??`0`),f=L(f,e.allow??`0`));for(let e of p)c.roles?.includes(e.id)&&(f=Vt(f,e.deny??`0`),f=L(f,e.allow??`0`));for(let e of p)e.id===o&&(f=Vt(f,e.deny??`0`),f=L(f,e.allow??`0`));return{channelId:e,guildId:a,permissions:Ht(f),raw:f.toString(),isDm:!1,channelType:i}}var Zt=class extends Error{constructor(e,t){super(e),this.name=`DiscordSendError`,t&&Object.assign(this,t)}toString(){return this.message}};const Qt=/#\d{4}$/,$t=new Map;function en(t){return e(t??`default`)||`default`}function tn(e){let t=String(e??``).trim();return/^\d+$/.test(t)?t:null}function nn(e){let t=e.trim();return!t||(t.startsWith(`@`)&&(t=t.slice(1).trim()),!t||/\s/.test(t))?null:t.toLowerCase()}function rn(e){let t=en(e),n=$t.get(t);if(n)return n;let r=new Map;return $t.set(t,r),r}function an(e,t,n){if(e.has(t)&&e.delete(t),e.set(t,n),e.size<=4e3)return;let r=e.keys().next();r.done||e.delete(r.value)}function on(e){let t=tn(e.userId);if(!t)return;let n=rn(e.accountId);for(let r of e.handles){if(typeof r!=`string`)continue;let e=nn(r);if(!e)continue;an(n,e,t);let i=e.replace(Qt,``);i&&i!==e&&an(n,i,t)}}function sn(e){let t=$t.get(en(e.accountId));if(!t)return;let n=nn(e.handle);if(!n)return;let r=t.get(n);if(r)return r;let i=n.replace(Qt,``);if(!(!i||i===n))return t.get(i)}function cn(e){return e?.trim().toLowerCase()??``}function ln(e){return e.bot?0:1}function un(e){let t=i(o({cfg:e.cfg,accountId:e.accountId}).token,`channels.discord.token`);return t?{token:t,query:cn(e.query)}:null}async function dn(e){return(await M(`/users/@me/guilds`,e)).filter(e=>e.id&&e.name)}async function fn(e){let t=un(e);if(!t)return[];let{token:n,query:r}=t,i=await dn(n),a=[];for(let t of i){let i=await M(`/guilds/${t.id}/channels`,n);for(let t of i){let n=t.name?.trim();if(n&&!(r&&!P(n).includes(P(r)))&&(a.push({kind:`group`,id:`channel:${t.id}`,name:n,handle:`#${n}`,raw:t}),typeof e.limit==`number`&&e.limit>0&&a.length>=e.limit))return a}}return a}async function pn(e){let t=un(e);if(!t)return[];let{token:n,query:r}=t;if(!r)return[];let i=await dn(n),a=[],o=typeof e.limit==`number`&&e.limit>0?e.limit:25;for(let t of i){let i=new URLSearchParams({query:r,limit:String(Math.min(o,100))}),s=await M(`/guilds/${t.id}/members/search?${i.toString()}`,n);for(let t of s){let n=t.user;if(!n?.id)continue;on({accountId:e.accountId,userId:n.id,handles:[n.username,n.global_name,t.nick,n.username?`@${n.username}`:null]});let r=t.nick?.trim()||n.global_name?.trim()||n.username?.trim();if(a.push({kind:`user`,id:`user:${n.id}`,name:r||void 0,handle:n.username?`@${n.username}`:void 0,rank:ln(n),raw:t}),a.length>=o)return a}}return a}function R(e,t={}){let n=e.trim();if(!n)return;let r=d({raw:n,mentionPattern:/^<@!?(\d+)>$/,prefixes:[{prefix:`user:`,kind:`user`},{prefix:`channel:`,kind:`channel`},{prefix:`discord:`,kind:`user`}],atUserPattern:/^\d+$/,atUserErrorMessage:`Discord DMs require a user id (use user:<id> or a <@id> mention)`});if(r)return r;if(/^\d+$/.test(n)){if(t.defaultKind)return f(t.defaultKind,n,n);throw Error(t.ambiguousMessage??`Ambiguous Discord recipient "${n}". Use "user:${n}" for DMs or "channel:${n}" for channel messages.`)}return f(`channel`,n,n)}function mn(e){return u({platform:`Discord`,target:R(e,{defaultKind:`channel`}),kind:`channel`})}async function hn(e,t,n={}){let r=e.trim();if(!r)return;let i=vn(r),a=_n(r,n)||i,o=gn(r,n);if(o&&o.kind!==`channel`&&!i)return o;if(!a)return o??R(r,n);try{let e=(await pn({...t,query:r,limit:1}))[0];if(e&&e.kind===`user`){let n=e.id.replace(/^user:/,``);return on({accountId:t.accountId,userId:n,handles:[r,e.name,e.handle]}),f(`user`,n,r)}}catch{}return R(r,n)}function gn(e,t){try{return R(e,t)}catch{return}}function _n(e,t){return/^<@!?(\d+)>$/.test(e)||/^(user:|discord:)/.test(e)||e.startsWith(`@`)?!0:/^\d+$/.test(e)?t.defaultKind===`user`:!1}function vn(e){return!/^(user:|channel:|discord:|@|<@!?)|[\d]+$/.test(e)}function yn(e){let t=e.trim();if(!t)throw Error(`emoji required`);let n=t.match(/^<a?:([^:>]+):(\d+)>$/),r=n?`${n[1]}:${n[2]}`:t.replace(/[\uFE0E\uFE0F]/g,``);return encodeURIComponent(r)}async function bn(e,t,n){let r=n??l(),i=o({cfg:r,accountId:t}),a=e.trim(),s={ambiguousMessage:`Ambiguous Discord recipient "${a}". Use "user:${a}" for DMs or "channel:${a}" for channel messages.`},c=await hn(e,{cfg:r,accountId:i.accountId},s);if(c)return{kind:c.kind,id:c.id};let u=R(e,s);if(!u)throw Error(`Recipient is required for Discord sends`);return{kind:u.kind,id:u.id}}function xn(e){let t=e.map(e=>e.trim()).filter(Boolean);if(t.length===0)throw Error(`At least one sticker id is required`);if(t.length>3)throw Error(`Discord supports up to 3 stickers per message`);return t}function z(e,t){let n=e.trim();if(!n)throw Error(`${t} is required`);return n}function Sn(e){let t=b(e,{maxOptions:10}),n=ee(t.durationHours,{defaultHours:24,maxHours:768});return{question:{text:t.question},answers:t.options.map(e=>({poll_media:{text:e}})),duration:n,allow_multiselect:t.maxSelections>1,layout_type:Ae.Default}}function Cn(e){if(!e||typeof e!=`object`)return;let t=`code`in e&&e.code!==void 0?e.code:`rawError`in e&&e.rawError&&typeof e.rawError==`object`?e.rawError.code:void 0;if(typeof t==`number`)return t;if(typeof t==`string`&&/^\d+$/.test(t))return Number(t)}async function B(e,t){if(e instanceof Zt)return e;let n=Cn(e);if(n===50007)return new Zt(`discord dm failed: user blocks dms or privacy settings disallow it`,{kind:`dm-blocked`});if(n!==50013)return e;let r=[];try{let e=await Xt(t.channelId,{rest:t.rest,token:t.token}),n=new Set(e.permissions),i=[`ViewChannel`,`SendMessages`];Gt(e.channelType)&&i.push(`SendMessagesInThreads`),t.hasMedia&&i.push(`AttachFiles`),r=i.filter(e=>!n.has(e))}catch{}return new Zt(`${r.length?`missing permissions in channel ${t.channelId}: ${r.join(`, `)}`:`missing permissions in channel ${t.channelId}`}. bot might be muted or blocked by role/channel overrides`,{kind:`missing-permissions`,channelId:t.channelId,missingPermissions:r})}async function V(e,t,n){if(t.kind===`channel`)return{channelId:t.id};let r=await n(()=>e.post(O.userChannels(),{body:{recipient_id:t.id}}),`dm-channel`);if(!r?.id)throw Error(`Failed to create Discord DM channel`);return{channelId:r.id,dm:!0}}async function wn(e,t){try{return(await e.get(O.channel(t)))?.type}catch{return}}const H=4096;function Tn(e,t={}){if(!e)return[];let n=Mt(e,{maxChars:t.maxChars??2e3,maxLines:t.maxLinesPerMessage,chunkMode:t.chunkMode});return!n.length&&e&&n.push(e),n}function En(e){return!!e?.some(e=>`isV2`in e&&e.isV2)}function Dn(e){if(!(!e.components||!e.isFirst))return typeof e.components==`function`?e.components(e.text):e.components}function On(e){if(e?.length)return e.map(e=>e instanceof de?e:new de(e))}function kn(e){if(!(!e.embeds||!e.isFirst))return On(e.embeds)}function An(e){let t={},n=En(e.components),r=e.text.trim();return!n&&r&&(t.content=e.text),e.components?.length&&(t.components=e.components),!n&&e.embeds?.length&&(t.embeds=e.embeds),e.flags!==void 0&&(t.flags=e.flags),e.files?.length&&(t.files=e.files),t}function U(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function jn(e){if(e instanceof Blob)return e;let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),new Blob([t])}async function W(e,t,n,r,i,a,o,s,c,l){if(!n.trim())throw Error(`Message must be non-empty for Discord sends`);let u=r?{message_id:r,fail_if_not_exists:!1}:void 0,d=l?H:void 0,f=Tn(n,{maxLinesPerMessage:a,chunkMode:c}),p=async(n,r)=>{let a=U({...ke(An({text:n,components:Dn({components:o,text:n,isFirst:r}),embeds:kn({embeds:s,isFirst:r}),flags:d})),...u?{message_reference:u}:{}});return await i(()=>e.post(O.channelMessages(t),{body:a}),`text`)};if(f.length===1)return await p(f[0],!0);let m=null;for(let[e,t]of f.entries())m=await p(t,e===0);if(!m)throw Error(`Discord send failed (empty chunk result)`);return m}async function Mn(e,t,n,r,i,a,o,s,c,l,u,d,f){let m=await p(r,y({maxBytes:a,mediaLocalRoots:i})),h=n?Tn(n,{maxLinesPerMessage:c,chunkMode:d}):[],g=h[0]??``,_=o?{message_id:o,fail_if_not_exists:!1}:void 0,v=f?H:void 0,b=jn(m.buffer),ee=An({text:g,components:Dn({components:l,text:g,isFirst:!0}),embeds:kn({embeds:u,isFirst:!0}),flags:v,files:[{data:b,name:m.fileName??`upload`}]}),x=await s(()=>e.post(O.channelMessages(t),{body:U({...ke(ee),..._?{message_reference:_}:{}})}),`media`);for(let n of h.slice(1))n.trim()&&await W(e,t,n,o,s,c,void 0,void 0,d,f);return x}function Nn(e){return e.id&&e.name?`${e.name}:${e.id}`:e.name??``}function Pn(e){return Nn(e)}async function Fn(e,t={}){let n=I(t),r={name:e.name};return e.type!==void 0&&(r.type=e.type),e.parentId&&(r.parent_id=e.parentId),e.topic&&(r.topic=e.topic),e.position!==void 0&&(r.position=e.position),e.nsfw!==void 0&&(r.nsfw=e.nsfw),await n.post(O.guildChannels(e.guildId),{body:r})}async function In(e,t={}){let n=I(t),r={};return e.name!==void 0&&(r.name=e.name),e.topic!==void 0&&(r.topic=e.topic),e.position!==void 0&&(r.position=e.position),e.parentId!==void 0&&(r.parent_id=e.parentId),e.nsfw!==void 0&&(r.nsfw=e.nsfw),e.rateLimitPerUser!==void 0&&(r.rate_limit_per_user=e.rateLimitPerUser),e.archived!==void 0&&(r.archived=e.archived),e.locked!==void 0&&(r.locked=e.locked),e.autoArchiveDuration!==void 0&&(r.auto_archive_duration=e.autoArchiveDuration),e.availableTags!==void 0&&(r.available_tags=e.availableTags.map(e=>({...e.id!==void 0&&{id:e.id},name:e.name,...e.moderated!==void 0&&{moderated:e.moderated},...e.emoji_id!==void 0&&{emoji_id:e.emoji_id},...e.emoji_name!==void 0&&{emoji_name:e.emoji_name}}))),await n.patch(O.channel(e.channelId),{body:r})}async function Ln(e,t={}){return await I(t).delete(O.channel(e)),{ok:!0,channelId:e}}async function Rn(e,t={}){let n=I(t),r=[{id:e.channelId,...e.parentId!==void 0&&{parent_id:e.parentId},...e.position!==void 0&&{position:e.position}}];return await n.patch(O.guildChannels(e.guildId),{body:r}),{ok:!0}}async function zn(e,t={}){let n=I(t),r={type:e.targetType};return e.allow!==void 0&&(r.allow=e.allow),e.deny!==void 0&&(r.deny=e.deny),await n.put(`/channels/${e.channelId}/permissions/${e.targetId}`,{body:r}),{ok:!0}}async function Bn(e,t,n={}){return await I(n).delete(`/channels/${e}/permissions/${t}`),{ok:!0}}async function Vn(e,t={}){return await I(t).get(O.guildEmojis(e))}async function Hn(e,t={}){let n=I(t),r=await _(e.mediaUrl,262144),i=r.contentType?.toLowerCase();if(!i||![`image/png`,`image/jpeg`,`image/jpg`,`image/gif`].includes(i))throw Error(`Discord emoji uploads require a PNG, JPG, or GIF image`);let a=`data:${i};base64,${r.buffer.toString(`base64`)}`,o=(e.roleIds??[]).map(e=>e.trim()).filter(Boolean);return await n.post(O.guildEmojis(e.guildId),{body:{name:z(e.name,`Emoji name`),image:a,roles:o.length?o:void 0}})}async function Un(e,t={}){let n=I(t),r=await _(e.mediaUrl,524288),i=r.contentType?.toLowerCase();if(!i||![`image/png`,`image/apng`,`application/json`].includes(i))throw Error(`Discord sticker uploads require a PNG, APNG, or Lottie JSON file`);return await n.post(O.guildStickers(e.guildId),{body:{name:z(e.name,`Sticker name`),description:z(e.description,`Sticker description`),tags:z(e.tags,`Sticker tags`),files:[{data:r.buffer,name:r.fileName??`sticker`,contentType:i}]}})}async function Wn(e,t,n={}){return await I(n).get(O.guildMember(e,t))}async function Gn(e,t={}){return await I(t).get(O.guildRoles(e))}async function Kn(e,t={}){return await I(t).put(O.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function qn(e,t={}){return await I(t).delete(O.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function Jn(e,t={}){return await I(t).get(O.channel(e))}async function Yn(e,t={}){return await I(t).get(O.guildChannels(e))}async function Xn(e,t,n={}){return await I(n).get(O.guildVoiceState(e,t))}async function Zn(e,t={}){return await I(t).get(O.guildScheduledEvents(e))}async function Qn(e,t,n={}){return await I(n).post(O.guildScheduledEvents(e),{body:t})}async function $n(e,t={}){let n=I(t),r=e.until;if(!r&&e.durationMinutes){let t=e.durationMinutes*60*1e3;r=new Date(Date.now()+t).toISOString()}return await n.patch(O.guildMember(e.guildId,e.userId),{body:{communication_disabled_until:r??null},headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0})}async function er(e,t={}){return await I(t).delete(O.guildMember(e.guildId,e.userId),{headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0}),{ok:!0}}async function tr(e,t={}){let n=I(t),r=typeof e.deleteMessageDays==`number`&&Number.isFinite(e.deleteMessageDays)?Math.min(Math.max(Math.floor(e.deleteMessageDays),0),7):void 0;return await n.put(O.guildBan(e.guildId,e.userId),{body:r===void 0?void 0:{delete_message_days:r},headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0}),{ok:!0}}async function nr(e,t={},n={}){let r=I(n),i=typeof t.limit==`number`&&Number.isFinite(t.limit)?Math.min(Math.max(Math.floor(t.limit),1),100):void 0,a={};return i&&(a.limit=i),t.before&&(a.before=t.before),t.after&&(a.after=t.after),t.around&&(a.around=t.around),await r.get(O.channelMessages(e),a)}async function rr(e,t,n={}){return await I(n).get(O.channelMessage(e,t))}async function ir(e,t,n,r={}){return await I(r).patch(O.channelMessage(e,t),{body:{content:n.content}})}async function ar(e,t,n={}){return await I(n).delete(O.channelMessage(e,t)),{ok:!0}}async function or(e,t,n={}){return await I(n).put(O.channelPin(e,t)),{ok:!0}}async function sr(e,t,n={}){return await I(n).delete(O.channelPin(e,t)),{ok:!0}}async function cr(e,t={}){return await I(t).get(O.channelPins(e))}async function lr(e,t,n={}){let r=I(n),i={name:t.name};t.autoArchiveMinutes&&(i.auto_archive_duration=t.autoArchiveMinutes),!t.messageId&&t.type!==void 0&&(i.type=t.type);let a;if(!t.messageId)try{a=(await r.get(O.channel(e)))?.type}catch{a=void 0}let o=a===D.GuildForum||a===D.GuildMedia;o&&(i.message={content:t.content?.trim()?t.content:t.name},t.appliedTags?.length&&(i.applied_tags=t.appliedTags)),!t.messageId&&!o&&i.type===void 0&&(i.type=D.PublicThread);let s=t.messageId?O.threads(e,t.messageId):O.threads(e),c=await r.post(s,{body:i});return!o&&t.content?.trim()&&await r.post(O.channelMessages(c.id),{body:{content:t.content}}),c}async function ur(e,t={}){let n=I(t);if(e.includeArchived){if(!e.channelId)throw Error(`channelId required to list archived threads`);let t={};return e.before&&(t.before=e.before),e.limit&&(t.limit=e.limit),await n.get(O.channelThreads(e.channelId,`public`),t)}return await n.get(O.guildActiveThreads(e.guildId))}async function dr(e,t={}){let n=I(t),r=new URLSearchParams;if(r.set(`content`,e.content),e.channelIds?.length)for(let t of e.channelIds)r.append(`channel_id`,t);if(e.authorIds?.length)for(let t of e.authorIds)r.append(`author_id`,t);if(e.limit){let t=Math.min(Math.max(Math.floor(e.limit),1),25);r.set(`limit`,String(t))}return await n.get(`/guilds/${e.guildId}/messages/search?${r.toString()}`)}async function fr(e){if(e)try{await w.unlink(e)}catch{}}const pr=/```[\s\S]*?```|`[^`\n]*`/g,mr=/(^|[\s([{"'.,;:!?])@([a-z0-9_.-]{2,32}(?:#[0-9]{4})?)/gi,hr=new Set([`everyone`,`here`]);function gr(e){let t=String(e??``).trim();return/^\d+$/.test(t)?t:null}function _r(e){let t=e.userId==null?null:gr(e.userId),n=e.roleId==null?null:gr(e.roleId),r=e.channelId==null?null:gr(e.channelId),i=[t?{kind:`user`,id:t}:null,n?{kind:`role`,id:n}:null,r?{kind:`channel`,id:r}:null].filter(e=>!!e);if(i.length!==1)throw Error(`formatMention requires exactly one of userId, roleId, or channelId`);let a=i[0];return a.kind===`user`?`<@${a.id}>`:a.kind===`role`?`<@&${a.id}>`:`<#${a.id}>`}function vr(e,t){return e.includes(`@`)?e.replace(mr,(e,n,r)=>{let i=String(r??``).trim();if(!i)return e;let a=i.toLowerCase();if(hr.has(a))return e;let o=sn({accountId:t,handle:i});return o?`${String(n??``)}${_r({userId:o})}`:e}):e}function G(e,t){if(!e.includes(`@`))return e;let n=``,r=0;pr.lastIndex=0;for(let i of e.matchAll(pr)){let a=i.index??0;n+=vr(e.slice(r,a),t.accountId),n+=i[0],r=a+i[0].length}return n+=vr(e.slice(r),t.accountId),n}const yr=ne(re);function br(e,t){return{timeout:t?.timeoutMs??e,maxBuffer:t?.maxBufferBytes??10485760}}async function xr(e,t){let{stdout:n}=await yr(`ffprobe`,e,br(1e4,t));return n.toString()}async function Sr(e,t){let{stdout:n}=await yr(`ffmpeg`,e,br(45e3,t));return n.toString()}function Cr(e,t){return e.trim().toLowerCase().split(/[,\r\n]+/,t).map(e=>e.trim())}function wr(e){let[t,n]=Cr(e,2),r=t||null,i=n?Number.parseInt(n,10):NaN;return{codec:r,sampleRateHz:Number.isFinite(i)?i:null}}const Tr=8192;async function Er(e){try{let t=await xr([`-v`,`error`,`-show_entries`,`format=duration`,`-of`,`csv=p=0`,e]),n=parseFloat(t.trim());if(isNaN(n))throw Error(`Could not parse duration`);return Math.round(n*100)/100}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to get audio duration: ${t}`,{cause:e})}}async function Dr(e){try{return await Or(e)}catch{return kr()}}async function Or(e){let t=r(),n=C.join(t,`waveform-${T.randomUUID()}.raw`);try{await Sr([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-f`,`s16le`,`-acodec`,`pcm_s16le`,`-ac`,`1`,`-ar`,`8000`,n]);let t=await w.readFile(n),r=new Int16Array(t.buffer,t.byteOffset,t.byteLength/2),i=Math.max(1,Math.floor(r.length/256)),a=[];for(let e=0;e<256&&e*i<r.length;e++){let t=0,n=0;for(let a=0;a<i&&e*i+a<r.length;a++)t+=Math.abs(r[e*i+a]),n++;let o=n>0?t/n:0,s=Math.min(255,Math.round(o/32767*255));a.push(s)}for(;a.length<256;)a.push(0);return Buffer.from(a).toString(`base64`)}finally{await fr(n)}}function kr(){let e=[];for(let t=0;t<256;t++){let n=Math.round(128+64*Math.sin(t/256*Math.PI*8));e.push(Math.min(255,Math.max(0,n)))}return Buffer.from(e).toString(`base64`)}async function Ar(e){let t=e.trim();if(/^[a-z][a-z0-9+.-]*:\/\//i.test(t))throw Error(`Voice message conversion requires a local file path; received a URL/protocol source: ${t}`);if(C.extname(e).toLowerCase()===`.ogg`)try{let{codec:t,sampleRateHz:n}=wr(await xr([`-v`,`error`,`-select_streams`,`a:0`,`-show_entries`,`stream=codec_name,sample_rate`,`-of`,`csv=p=0`,e]));if(t===`opus`&&n===48e3)return{path:e,cleanup:!1}}catch{}let n=r(),i=C.join(n,`voice-${T.randomUUID()}.ogg`);return await Sr([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-ar`,`48000`,`-c:a`,`libopus`,`-b:a`,`64k`,i]),{path:i,cleanup:!0}}async function jr(e){let[t,n]=await Promise.all([Er(e),Dr(e)]);return{durationSecs:t,waveform:n}}async function Mr(e,t,n,r,i,a,o,s){let c=`voice-message.ogg`,l=n.byteLength,u=s;if(!u)throw Error(`Discord bot token is required for voice message upload`);let d=await a(async()=>{let n=`${e.options?.baseUrl??`https://discord.com/api`}/channels/${t}/attachments`,r=await fetch(n,{method:`POST`,headers:{Authorization:`Bot ${u}`,"Content-Type":`application/json`},body:JSON.stringify({files:[{filename:c,file_size:l,id:`0`}]})});if(!r.ok){if(r.status===429){let e=await r.json().catch(()=>({}));throw new ye(r,{message:e.message??`You are being rate limited.`,retry_after:e.retry_after??1,global:e.global??!1})}let e=await r.json().catch(()=>null),t=Error(`Upload URL request failed: ${r.status} ${e?.message??``}`);throw e?.code!==void 0&&(t.code=e.code),t}return await r.json()},`voice-upload-url`);if(!d.attachments?.[0])throw Error(`Failed to get upload URL for voice message`);let{upload_url:f,upload_filename:p}=d.attachments[0],m=await fetch(f,{method:`PUT`,headers:{"Content-Type":`audio/ogg`},body:new Uint8Array(n)});if(!m.ok)throw Error(`Failed to upload voice message: ${m.status}`);let h={flags:o?Tr|4096:Tr,attachments:[{id:`0`,filename:c,uploaded_filename:p,duration_secs:r.durationSecs,waveform:r.waveform}]};return i&&(h.message_reference={message_id:i,fail_if_not_exists:!1}),await a(()=>e.post(`/channels/${t}/messages`,{body:h}),`voice-message`)}async function Nr(e){for(let t of e.chunks)await W(e.rest,e.threadId,t,void 0,e.request,e.maxLinesPerMessage,void 0,void 0,e.chunkMode,e.silent)}function Pr(e){return(e.split(`
7
7
  `).find(e=>e.trim())?.trim()??``).slice(0,100)||new Date().toISOString().slice(0,16)}function Fr(e){return e===D.GuildForum||e===D.GuildMedia}function K(e,t){return{messageId:e.id?String(e.id):`unknown`,channelId:String(e.channel_id??t)}}async function Ir(e,t){let n=t.cfg??l(),{rest:r,request:i}=F(t,n),{channelId:a}=await V(r,await bn(e,t.accountId,n),i);return{rest:r,request:i,channelId:a}}async function Lr(e,t,n={}){let r=n.cfg??l(),i=o({cfg:r,accountId:n.accountId}),a=g({cfg:r,channel:`discord`,accountId:i.accountId}),s=h(r,`discord`,i.accountId),c=typeof i.config.mediaMaxMb==`number`?i.config.mediaMaxMb*1024*1024:8*1024*1024,u=te(t??``,a),d=G(u,{accountId:i.accountId}),{token:f,rest:p,request:m}=F(n,r),{channelId:_}=await V(p,await bn(e,n.accountId,r),m);if(Fr(await wn(p,_))){let e=Pr(u),t=Tn(d,{maxLinesPerMessage:i.config.maxLinesPerMessage,chunkMode:s}),r=t[0]?.trim()?t[0]:e,a=An({text:r,components:Dn({components:n.components,text:r,isFirst:!0}),embeds:kn({embeds:n.embeds,isFirst:!0}),flags:n.silent?4096:void 0}),o;try{o=await m(()=>p.post(O.threads(_),{body:{name:e,message:U(ke(a))}}),`forum-thread`)}catch(e){throw await B(e,{channelId:_,rest:p,token:f,hasMedia:!!n.mediaUrl})}let l=o.id,h=o.message?.id??l,g=o.message?.channel_id??l,v=t.slice(1);try{if(n.mediaUrl){let[e,...t]=v;await Mn(p,l,e??``,n.mediaUrl,n.mediaLocalRoots,c,void 0,m,i.config.maxLinesPerMessage,void 0,void 0,s,n.silent),await Nr({rest:p,threadId:l,chunks:t,request:m,maxLinesPerMessage:i.config.maxLinesPerMessage,chunkMode:s,silent:n.silent})}else await Nr({rest:p,threadId:l,chunks:v,request:m,maxLinesPerMessage:i.config.maxLinesPerMessage,chunkMode:s,silent:n.silent})}catch(e){throw await B(e,{channelId:l,rest:p,token:f,hasMedia:!!n.mediaUrl})}return x({channel:`discord`,accountId:i.accountId,direction:`outbound`}),K({id:h,channel_id:g},_)}let v;try{v=n.mediaUrl?await Mn(p,_,d,n.mediaUrl,n.mediaLocalRoots,c,n.replyTo,m,i.config.maxLinesPerMessage,n.components,n.embeds,s,n.silent):await W(p,_,d,n.replyTo,m,i.config.maxLinesPerMessage,n.components,n.embeds,s,n.silent)}catch(e){throw await B(e,{channelId:_,rest:p,token:f,hasMedia:!!n.mediaUrl})}return x({channel:`discord`,accountId:i.accountId,direction:`outbound`}),K(v,_)}function Rr(e){let t=new URL(`https://discord.com/api/v10/webhooks/${encodeURIComponent(e.webhookId)}/${encodeURIComponent(e.webhookToken)}`);return t.searchParams.set(`wait`,e.wait===!1?`false`:`true`),e.threadId!==void 0&&e.threadId!==null&&e.threadId!==``&&t.searchParams.set(`thread_id`,String(e.threadId)),t.toString()}async function zr(e,t){let n=t.webhookId.trim(),r=t.webhookToken.trim();if(!n||!r)throw Error(`Discord webhook id/token are required`);let i=G(e,{accountId:t.accountId}),a=typeof t.replyTo==`string`?t.replyTo.trim():``,s=a?{message_id:a,fail_if_not_exists:!1}:void 0,c=await fetch(Rr({webhookId:n,webhookToken:r,threadId:t.threadId,wait:t.wait}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({content:i,username:t.username?.trim()||void 0,avatar_url:t.avatarUrl?.trim()||void 0,...s?{message_reference:s}:{}})});if(!c.ok){let e=await c.text().catch(()=>``);throw Error(`Discord webhook send failed (${c.status}${e?`: ${e.slice(0,200)}`:``})`)}let u=await c.json().catch(()=>({}));try{x({channel:`discord`,accountId:o({cfg:t.cfg??l(),accountId:t.accountId}).accountId,direction:`outbound`})}catch{}return{messageId:u.id?String(u.id):`unknown`,channelId:u.channel_id?String(u.channel_id):t.threadId?String(t.threadId):``}}async function Br(e,t,n={}){let{rest:r,request:i,channelId:a}=await Ir(e,n),o=n.content?.trim(),s=o?G(o,{accountId:n.accountId}):void 0,c=xn(t);return K(await i(()=>r.post(O.channelMessages(a),{body:{content:s||void 0,sticker_ids:c}}),`sticker`),a)}async function Vr(e,t,n={}){let{rest:r,request:i,channelId:a}=await Ir(e,n),o=n.content?.trim(),s=o?G(o,{accountId:n.accountId}):void 0;if(t.durationSeconds!==void 0)throw Error(`Discord polls do not support durationSeconds; use durationHours`);let c=Sn(t),l=n.silent?H:void 0;return K(await i(()=>r.post(O.channelMessages(a),{body:{content:s||void 0,poll:c,...l?{flags:l}:{}}}),`poll`),a)}async function Hr(e){let i=await _(e,n(`audio`)),a=i.fileName?C.extname(i.fileName):``,o=i.contentType?t(i.contentType):``,s=a||o||`.bin`,c=r(),l=C.join(c,`voice-src-${T.randomUUID()}${s}`);return await w.writeFile(l,i.buffer,{mode:384}),{filePath:l}}async function Ur(e,t,n={}){let{filePath:r}=await Hr(t),i=null,a=!1,s,c,u;try{let t=n.cfg??l(),d=o({cfg:t,accountId:n.accountId}),f=F(n,t);s=f.token,c=f.rest;let p=f.request,m=await bn(e,n.accountId,t);u=(await V(c,m,p)).channelId;let h=await Ar(r);i=h.path,a=h.cleanup;let g=await jr(i),_=await w.readFile(i),v=await Mr(c,u,_,g,n.replyTo,p,n.silent,s);return x({channel:`discord`,accountId:d.accountId,direction:`outbound`}),K(v,u)}catch(e){throw u&&c&&s?await B(e,{channelId:u,rest:c,token:s,hasMedia:!0}):e}finally{await fr(a?i:null),await fr(r)}}const q=new Map,J=new Map;function Wr(e,t){return typeof e.expiresAt==`number`&&e.expiresAt<=t}function Gr(e,t,n){let r=e.createdAt??t,i=e.expiresAt??r+n;return{...e,createdAt:r,expiresAt:i}}function Kr(e){let t=Date.now(),n=e.ttlMs??18e5;for(let r of e.entries){let i=Gr({...r,messageId:e.messageId??r.messageId},t,n);q.set(r.id,i)}for(let r of e.modals){let i=Gr({...r,messageId:e.messageId??r.messageId},t,n);J.set(r.id,i)}}function qr(e){let t=q.get(e.id);return t?Wr(t,Date.now())?(q.delete(e.id),null):(e.consume!==!1&&q.delete(e.id),t):null}function Jr(e){let t=J.get(e.id);return t?Wr(t,Date.now())?(J.delete(e.id),null):(e.consume!==!1&&J.delete(e.id),t):null}const Yr=`attachment://`,Xr=new Map([[`row`,`actions`],[`action-row`,`actions`]]);function Y(e){return`${e}${T.randomBytes(6).toString(`base64url`)}`}function X(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function Z(e,t,n){if(typeof e!=`string`)throw Error(`${t} must be a string`);let r=e.trim();if(!n?.allowEmpty&&!r)throw Error(`${t} cannot be empty`);return n?.allowEmpty?e:r}function Q(e){return typeof e==`string`&&e.trim()||void 0}function Zr(e,t){if(e!==void 0){if(!Array.isArray(e))throw Error(`${t} must be an array`);if(e.length!==0)return e.map((e,n)=>Z(e,`${t}[${n}]`))}}function $(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return e}function Qr(e,t){return e?.trim()||`field_${t+1}`}function $r(e,t){let n=e.trim();if(!n.startsWith(`attachment://`))throw Error(`${t} must start with "${Yr}"`);let r=n.slice(13).trim();if(!r)throw Error(`${t} must include an attachment filename`);return`${Yr}${r}`}function ei(e){let t=e.trim();if(!t.startsWith(`attachment://`))throw Error(`Attachment reference must start with "${Yr}"`);let n=t.slice(13).trim();if(!n)throw Error(`Attachment reference must include a filename`);return n}function ti(e){switch((e??`primary`).toLowerCase()){case`secondary`:return E.Secondary;case`success`:return E.Success;case`danger`:return E.Danger;case`link`:return E.Link;default:return E.Primary}}function ni(e){return e===`paragraph`?oe.Paragraph:oe.Short}function ri(e){let t=e.trim().toLowerCase();return Xr.get(t)??t}function ii(e,t){if(e!==void 0){if(!Array.isArray(e))throw Error(`${t} must be an array`);return e.map((e,n)=>{let r=X(e,`${t}[${n}]`);return{label:Z(r.label,`${t}[${n}].label`),value:Z(r.value,`${t}[${n}].value`),description:Q(r.description),emoji:typeof r.emoji==`object`&&r.emoji&&!Array.isArray(r.emoji)?{name:Z(r.emoji.name,`${t}[${n}].emoji.name`),id:Q(r.emoji.id),animated:typeof r.emoji.animated==`boolean`?r.emoji.animated:void 0}:void 0,default:typeof r.default==`boolean`?r.default:void 0}})}}function ai(e,t){let n=X(e,t),r=Q(n.style),i=Q(n.url);if((r===`link`||i)&&!i)throw Error(`${t}.url is required for link buttons`);return{label:Z(n.label,`${t}.label`),style:r,url:i,emoji:typeof n.emoji==`object`&&n.emoji&&!Array.isArray(n.emoji)?{name:Z(n.emoji.name,`${t}.emoji.name`),id:Q(n.emoji.id),animated:typeof n.emoji.animated==`boolean`?n.emoji.animated:void 0}:void 0,disabled:typeof n.disabled==`boolean`?n.disabled:void 0,allowedUsers:Zr(n.allowedUsers,`${t}.allowedUsers`)}}function oi(e,t){let n=X(e,t),r=Q(n.type),i=[`string`,`user`,`role`,`mentionable`,`channel`];if(r&&!i.includes(r))throw Error(`${t}.type must be one of ${i.join(`, `)}`);return{type:r,placeholder:Q(n.placeholder),minValues:$(n.minValues),maxValues:$(n.maxValues),options:ii(n.options,`${t}.options`)}}function si(e,t,n){let r=X(e,t),i=Z(r.type,`${t}.type`).toLowerCase(),a=[`text`,`checkbox`,`radio`,`select`,`role-select`,`user-select`];if(!a.includes(i))throw Error(`${t}.type must be one of ${a.join(`, `)}`);let o=ii(r.options,`${t}.options`);if([`checkbox`,`radio`,`select`].includes(i)&&(!o||o.length===0))throw Error(`${t}.options is required for ${i} fields`);return{type:i,name:Qr(Q(r.name),n),label:Z(r.label,`${t}.label`),description:Q(r.description),placeholder:Q(r.placeholder),required:typeof r.required==`boolean`?r.required:void 0,options:o,minValues:$(r.minValues),maxValues:$(r.maxValues),minLength:$(r.minLength),maxLength:$(r.maxLength),style:Q(r.style)}}function ci(e,t){let n=X(e,t);switch(ri(Z(n.type,`${t}.type`).toLowerCase())){case`text`:return{type:`text`,text:Z(n.text,`${t}.text`)};case`section`:{let e=Q(n.text),r=n.texts,i=Array.isArray(r)?r.map((e,n)=>Z(e,`${t}.texts[${n}]`)):void 0;if(!e&&(!i||i.length===0))throw Error(`${t}.text or ${t}.texts is required for section blocks`);let a;if(n.accessory!==void 0){let e=X(n.accessory,`${t}.accessory`),r=Z(e.type,`${t}.accessory.type`).toLowerCase();if(r===`thumbnail`)a={type:`thumbnail`,url:Z(e.url,`${t}.accessory.url`)};else if(r===`button`)a={type:`button`,button:ai(e.button,`${t}.accessory.button`)};else throw Error(`${t}.accessory.type must be "thumbnail" or "button"`)}return{type:`section`,text:e,texts:i,accessory:a}}case`separator`:{let e=n.spacing,r;if(e===`small`||e===`large`)r=e;else if(e===1||e===2)r=e;else if(e!==void 0)throw Error(`${t}.spacing must be "small", "large", 1, or 2`);let i=typeof n.divider==`boolean`?n.divider:void 0;return{type:`separator`,spacing:r,divider:i}}case`actions`:{let e=n.buttons,r=Array.isArray(e)?e.map((e,n)=>ai(e,`${t}.buttons[${n}]`)):void 0,i=n.select?oi(n.select,`${t}.select`):void 0;if((!r||r.length===0)&&!i)throw Error(`${t} requires buttons or select`);if(r&&i)throw Error(`${t} cannot include both buttons and select`);return{type:`actions`,buttons:r,select:i}}case`media-gallery`:{let e=n.items;if(!Array.isArray(e)||e.length===0)throw Error(`${t}.items must be a non-empty array`);return{type:`media-gallery`,items:e.map((e,n)=>{let r=X(e,`${t}.items[${n}]`);return{url:Z(r.url,`${t}.items[${n}].url`),description:Q(r.description),spoiler:typeof r.spoiler==`boolean`?r.spoiler:void 0}})}}case`file`:return{type:`file`,file:$r(Z(n.file,`${t}.file`),`${t}.file`),spoiler:typeof n.spoiler==`boolean`?n.spoiler:void 0};default:throw Error(`${t}.type must be a supported component block`)}}function li(e){if(e==null)return null;let t=X(e,`components`),n=t.blocks,r=Array.isArray(n)?n.map((e,t)=>ci(e,`components.blocks[${t}]`)):void 0,i=t.modal,a=typeof t.reusable==`boolean`?t.reusable:void 0,o;if(i!==void 0){let e=X(i,`components.modal`),t=e.fields;if(!Array.isArray(t)||t.length===0)throw Error(`components.modal.fields must be a non-empty array`);if(t.length>5)throw Error(`components.modal.fields supports up to 5 inputs`);let n=t.map((e,t)=>si(e,`components.modal.fields[${t}]`,t));o={title:Z(e.title,`components.modal.title`),triggerLabel:Q(e.triggerLabel),triggerStyle:Q(e.triggerStyle),fields:n}}return{text:Q(t.text),reusable:a,container:typeof t.container==`object`&&t.container&&!Array.isArray(t.container)?{accentColor:t.container.accentColor,spoiler:typeof t.container.spoiler==`boolean`?t.container.spoiler:void 0}:void 0,blocks:r,modal:o}}function ui(e){let t=`occomp:cid=${e.componentId}`;return e.modalId?`${t};mid=${e.modalId}`:t}function di(e){return`ocmodal:mid=${e}`}function fi(e){let t=Oe(e);if(t.key!==`occomp`)return null;let n=t.data.cid;if(typeof n!=`string`||!n.trim())return null;let r=t.data.mid;return{componentId:n,modalId:typeof r==`string`&&r.trim()?r:void 0}}function pi(e){let t=Oe(e);if(t.key!==`ocmodal`)return null;let n=t.data.mid;return typeof n!=`string`||!n.trim()?null:n}function mi(e){return/^__openclaw_discord_component_[a-z_]+_wildcard__$/.test(e)}function hi(e){if(e===`*`||mi(e))return{key:`*`,data:{}};let t=Oe(e);return t.key===`occomp`?{key:`*`,data:t.data}:t}function gi(e){if(e===`*`||mi(e))return{key:`*`,data:{}};let t=Oe(e);return t.key===`ocmodal`?{key:`*`,data:t.data}:t}function _i(e,t){return t&&t.length>0?t.map(e=>new A(e)):e?[new A(e)]:[]}function vi(e){let t=ti(e.spec.style);if(t===E.Link||e.spec.url){if(!e.spec.url)throw Error(`Link buttons require a url`);let t=e.spec.url;class n extends me{constructor(...n){super(...n),this.label=e.spec.label,this.url=t}}return{component:new n}}let n=e.componentId??Y(`btn_`),r=ui({componentId:n,modalId:e.modalId});class i extends se{constructor(...n){super(...n),this.label=e.spec.label,this.customId=r,this.style=t,this.emoji=e.spec.emoji,this.disabled=e.spec.disabled??!1}}return{component:new i,entry:{id:n,kind:e.modalId?`modal-trigger`:`button`,label:e.spec.label,modalId:e.modalId,allowedUsers:e.spec.allowedUsers}}}function yi(e){let t=(e.spec.type??`string`).toLowerCase(),n=e.componentId??Y(`sel_`),r=ui({componentId:n});if(t===`string`){let t=e.spec.options??[];if(t.length===0)throw Error(`String select menus require options`);class i extends we{constructor(...n){super(...n),this.customId=r,this.options=t,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new i,entry:{id:n,kind:`select`,label:e.spec.placeholder??`select`,selectType:`string`,options:t.map(e=>({value:e.value,label:e.label}))}}}if(t===`user`){class t extends De{constructor(...t){super(...t),this.customId=r,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new t,entry:{id:n,kind:`select`,label:e.spec.placeholder??`user select`,selectType:`user`}}}if(t===`role`){class t extends xe{constructor(...t){super(...t),this.customId=r,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new t,entry:{id:n,kind:`select`,label:e.spec.placeholder??`role select`,selectType:`role`}}}if(t===`mentionable`){class t extends ge{constructor(...t){super(...t),this.customId=r,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new t,entry:{id:n,kind:`select`,label:e.spec.placeholder??`mentionable select`,selectType:`mentionable`}}}class i extends ce{constructor(...t){super(...t),this.customId=r,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new i,entry:{id:n,kind:`select`,label:e.spec.placeholder??`channel select`,selectType:`channel`}}}function bi(e){return e instanceof we||e instanceof De||e instanceof xe||e instanceof ge||e instanceof ce}function xi(e){if(e.type===`text`){class t extends Te{constructor(...t){super(...t),this.customId=e.id,this.style=ni(e.style),this.placeholder=e.placeholder,this.required=e.required,this.minLength=e.minLength,this.maxLength=e.maxLength}}return new t}if(e.type===`select`){let t=e.options??[];class n extends we{constructor(...n){super(...n),this.customId=e.id,this.options=t,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues,this.placeholder=e.placeholder}}return new n}if(e.type===`role-select`){class t extends xe{constructor(...t){super(...t),this.customId=e.id,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues,this.placeholder=e.placeholder}}return new t}if(e.type===`user-select`){class t extends De{constructor(...t){super(...t),this.customId=e.id,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues,this.placeholder=e.placeholder}}return new t}if(e.type===`checkbox`){let t=e.options??[];class n extends le{constructor(...n){super(...n),this.customId=e.id,this.options=t,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues}}return new n}let t=e.options??[];class n extends ve{constructor(...n){super(...n),this.customId=e.id,this.options=t,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues}}return new n}function Si(e){let t=[],n=[],r=[],i=[],a=n=>{t.push({...n,sessionKey:e.sessionKey,agentId:e.agentId,accountId:e.accountId,reusable:n.reusable??e.spec.reusable})},o=e.spec.text??e.fallbackText;o&&i.push(new A(o));for(let t of e.spec.blocks??[]){if(t.type===`text`){i.push(new A(t.text));continue}if(t.type===`section`){let e=_i(t.text,t.texts);if(e.length>3)throw Error(`Section blocks support up to 3 text displays`);let n;if(t.accessory?.type===`thumbnail`)n=new Ee(t.accessory.url);else if(t.accessory?.type===`button`){let{component:e,entry:r}=vi({spec:t.accessory.button});n=e,r&&a(r)}i.push(new Se(e,n));continue}if(t.type===`separator`){i.push(new Ce({spacing:t.spacing,divider:t.divider}));continue}if(t.type===`media-gallery`){i.push(new he(t.items));continue}if(t.type===`file`){i.push(new fe(t.file,t.spoiler));continue}if(t.type===`actions`){let e=[];if(t.buttons){if(t.buttons.length>5)throw Error(`Action rows support up to 5 buttons`);for(let n of t.buttons){let{component:t,entry:r}=vi({spec:n});e.push(t),r&&a(r)}}else if(t.select){let{component:n,entry:r}=yi({spec:t.select});e.push(n),a(r)}i.push(new k(e))}}if(e.spec.modal){let t=Y(`mdl_`),r=e.spec.modal.fields.map((e,t)=>({id:Y(`fld_`),name:Qr(e.name,t),label:e.label,type:e.type,description:e.description,placeholder:e.placeholder,required:e.required,options:e.options,minValues:e.minValues,maxValues:e.maxValues,minLength:e.minLength,maxLength:e.maxLength,style:e.style}));n.push({id:t,title:e.spec.modal.title,fields:r,sessionKey:e.sessionKey,agentId:e.agentId,accountId:e.accountId,reusable:e.spec.reusable});let{component:o,entry:s}=vi({spec:{label:e.spec.modal.triggerLabel??`Open form`,style:e.spec.modal.triggerStyle??`primary`},modalId:t});s&&a(s);let c=i.at(-1);if(c instanceof k){let e=c,t=e.components.some(e=>bi(e));e.components.length<5&&!t?e.addComponent(o):i.push(new k([o]))}else i.push(new k([o]))}if(i.length===0)throw Error(`components must include at least one block, text, or modal trigger`);let s=new ue(i,e.spec.container);return r.push(s),{components:r,entries:t,modals:n}}function Ci(e){return e.some(e=>e.isV2)?ie.IsComponentsV2:void 0}var wi=class extends _e{constructor(e){super(),this.customIdParser=gi,this.title=e.title,this.customId=di(e.modalId),this.components=e.fields.map(e=>{let t=xi(e);class n extends pe{constructor(...n){super(...n),this.label=e.label,this.description=e.description,this.component=t,this.customId=e.id}}return new n(t)})}async run(){throw Error(`Modal handler is not registered for dynamic forms`)}};function Ti(e){return new wi({modalId:e.id,title:e.title,fields:e.fields})}function Ei(e){if(e.kind===`button`)return`Clicked "${e.label}".`;let t=e.values??[];return t.length===0?`Updated "${e.label}".`:`Selected ${t.join(`, `)} from "${e.label}".`}const Di=new Set([D.GuildForum,D.GuildMedia]);function Oi(e){let t=[];for(let n of e.blocks??[])n.type===`file`&&t.push(ei(n.file));return t}async function ki(e,t,n={}){let r=n.cfg??l(),i=o({cfg:r,accountId:n.accountId}),{token:a,rest:s,request:c}=F(n,r),{channelId:u}=await V(s,await bn(e,n.accountId,r),c),d=await wn(s,u);if(d&&Di.has(d))throw Error(`Discord components are not supported in forum-style channels`);let f=Si({spec:t,sessionKey:n.sessionKey,agentId:n.agentId,accountId:i.accountId}),m=Ci(f.components),h=n.silent?(m??0)|H:m??void 0,g=n.replyTo?{message_id:n.replyTo,fail_if_not_exists:!1}:void 0,_=Oi(t),v=[...new Set(_)];if(v.length>1)throw Error(`Discord component attachments currently support a single file. Use media-gallery for multiple files.`);let y=v[0],b;if(n.mediaUrl){let e=await p(n.mediaUrl,{localRoots:n.mediaLocalRoots}),t=n.filename?.trim()||e.fileName||`upload`;if(y&&y!==t)throw Error(`Component file block expects attachment "${y}", but the uploaded file is "${t}". Update components.blocks[].file or provide a matching filename.`);b=[{data:jn(e.buffer),name:t}]}else if(y)throw Error(`Discord component file blocks require a media attachment (media/path/filePath).`);let ee=U({...ke({components:f.components,...h?{flags:h}:{},...b?{files:b}:{}}),...g?{message_reference:g}:{}}),S;try{S=await c(()=>s.post(O.channelMessages(u),{body:ee}),`components`)}catch(e){throw await B(e,{channelId:u,rest:s,token:a,hasMedia:!!b?.length})}return Kr({entries:f.entries,modals:f.modals,messageId:S.id}),x({channel:`discord`,accountId:i.accountId,direction:`outbound`}),{messageId:S.id??`unknown`,channelId:S.channel_id??u}}async function Ai(e,t,n,r={}){let{rest:i,request:a}=F(r,r.cfg??l()),o=yn(n);return await a(()=>i.put(O.channelMessageOwnReaction(e,t,o)),`react`),{ok:!0}}async function ji(e,t,n,r={}){let{rest:i}=F(r,r.cfg??l()),a=yn(n);return await i.delete(O.channelMessageOwnReaction(e,t,a)),{ok:!0}}async function Mi(e,t,n={}){let{rest:r}=F(n,n.cfg??l()),i=await r.get(O.channelMessage(e,t)),a=new Set;for(let e of i.reactions??[]){let t=Nn(e.emoji);t&&a.add(t)}if(a.size===0)return{ok:!0,removed:[]};let o=[];return await Promise.allSettled(Array.from(a,n=>(o.push(n),r.delete(O.channelMessageOwnReaction(e,t,yn(n)))))),{ok:!0,removed:o}}async function Ni(e,t,n={}){let{rest:r}=F(n,n.cfg??l()),i=(await r.get(O.channelMessage(e,t))).reactions??[];if(i.length===0)return[];let a=typeof n.limit==`number`&&Number.isFinite(n.limit)?Math.min(Math.max(Math.floor(n.limit),1),100):100,o=[];for(let n of i){let i=Nn(n.emoji);if(!i)continue;let s=encodeURIComponent(i),c=await r.get(O.channelMessageReaction(e,t,s),{limit:a});o.push({emoji:{id:n.emoji.id??null,name:n.emoji.name??null,raw:Pn(n.emoji)},count:n.count,users:c.map(e=>({id:e.id,username:e.username,tag:e.username&&e.discriminator?`${e.username}#${e.discriminator}`:e.username}))})}return o}export{U as $,sr as A,Ge as At,Zn as B,Le as Bt,ir as C,et as Ct,or as D,Ke as Dt,ur as E,M as Et,Wn as F,We as Ft,Un as G,$n as H,Gn as I,je as It,In as J,Fn as K,Xn as L,Pe as Lt,tr as M,He as Mt,Qn as N,ze as Nt,nr as O,qe as Ot,Jn as P,Ve as Pt,W as Q,er as R,Ne as Rt,ar as S,nt as St,cr as T,j as Tt,Vn as U,qn as V,Hn as W,Bn as X,Rn as Y,zn as Z,Br as _,dt as _t,ki as a,Yt as at,_r as b,Ct as bt,fi as c,Mt as ct,gi as d,P as dt,R as et,li as f,ot as ft,Vr as g,ft as gt,Lr as h,ut as ht,ji as i,Xt as it,Kn as j,Be as jt,dr as k,Je as kt,hi as l,xt as lt,Jr as m,pt as mt,Ai as n,fn as nt,Ti as o,F as ot,qr as p,vt as pt,Ln as q,Mi as r,pn as rt,Ei as s,Lt as st,Ni as t,mn as tt,pi as u,N as ut,Ur as v,yt as vt,rr as w,rt as wt,lr as x,tt as xt,zr as y,St as yt,Yn as z,Ie as zt};
8
+ //# sourceMappingURL=send-CL0W7jLW.js.map
@@ -5,3 +5,4 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-BPlgbwrb.cjs`),n=requ
5
5
  `:``}${t}`,i=s.length+r.length,a=c+(n?0:1);(i>m||a>h)&&s.length>0&&u(),s.length>0?(s+=r,n||(c+=1)):(s=t,c=1)}l=a}if(s.length){let e=gt(s,l);e.trim().length&&o.push(e)}return bt(e,o)}function yt(e,t){if((t.chunkMode??`length`)!==`newline`)return vt(e,t);let n=c.c(e,Math.max(1,Math.floor(t.maxChars??dt)),`newline`),r=[];for(let e of n){let n=vt(e,t);if(!n.length&&e){r.push(e);continue}r.push(...n)}return r}function bt(e,t){if(t.length<=1||!(e.startsWith(`Reasoning:
6
6
  _`)&&e.trimEnd().endsWith(`_`)))return t;let n=[...t];for(let e=0;e<n.length;e++){let t=e===n.length-1,r=n[e];if(r.trimEnd().endsWith(`_`)||(n[e]=`${r}_`),t)break;let i=n[e+1],a=i.length-i.trimStart().length,o=i.slice(0,a),s=i.slice(a);s.startsWith(`_`)||(n[e+1]=`${o}_${s}`)}return n}const xt=Object.entries(h.PermissionFlagsBits).filter(([,e])=>typeof e==`bigint`),St=xt.reduce((e,[,t])=>e|t,0n),Ct=h.PermissionFlagsBits.Administrator;function N(e,t){return t?e|BigInt(t):e}function wt(e,t){return t?e&~BigInt(t):e}function Tt(e){return xt.filter(([,t])=>(e&t)===t).map(([e])=>e).toSorted()}function Et(e){return(e&Ct)===Ct}function Dt(e,t){return(e&t)===t}function Ot(e){return e===h.ChannelType.GuildNewsThread||e===h.ChannelType.GuildPublicThread||e===h.ChannelType.GuildPrivateThread}async function kt(e){let t=await e.get(h.Routes.user(`@me`));if(!t?.id)throw Error(`Failed to resolve bot user id`);return t.id}async function At(e,t,n={}){let r=M(n);try{let[n,i]=await Promise.all([r.get(h.Routes.guild(e)),r.get(h.Routes.guildMember(e,t))]),a=new Map((n.roles??[]).map(e=>[e.id,e])),o=a.get(e),s=0n;o?.permissions&&(s=N(s,o.permissions));for(let e of i.roles??[]){let t=a.get(e);t?.permissions&&(s=N(s,t.permissions))}return s}catch{return null}}async function jt(e,t,n,r,i={}){let a=await At(e,t,i);return a===null?!1:Et(a)?!0:r(a,n)}async function Mt(e,t,n,r={}){return await jt(e,t,n,(e,t)=>t.some(t=>Dt(e,t)),r)}async function Nt(e,t={}){let n=M(t),r=await n.get(h.Routes.channel(e)),i=`type`in r?r.type:void 0,a=`guild_id`in r?r.guild_id:void 0;if(!a)return{channelId:e,permissions:[],raw:`0`,isDm:!0,channelType:i};let o=await kt(n),[s,c]=await Promise.all([n.get(h.Routes.guild(a)),n.get(h.Routes.guildMember(a,o))]),l=new Map((s.roles??[]).map(e=>[e.id,e])),u=l.get(a),d=0n;u?.permissions&&(d=N(d,u.permissions));for(let e of c.roles??[]){let t=l.get(e);t?.permissions&&(d=N(d,t.permissions))}if(Et(d))return{channelId:e,guildId:a,permissions:Tt(St),raw:St.toString(),isDm:!1,channelType:i};let f=d,p=`permission_overwrites`in r?r.permission_overwrites??[]:[];for(let e of p)e.id===a&&(f=wt(f,e.deny??`0`),f=N(f,e.allow??`0`));for(let e of p)c.roles?.includes(e.id)&&(f=wt(f,e.deny??`0`),f=N(f,e.allow??`0`));for(let e of p)e.id===o&&(f=wt(f,e.deny??`0`),f=N(f,e.allow??`0`));return{channelId:e,guildId:a,permissions:Tt(f),raw:f.toString(),isDm:!1,channelType:i}}var Pt=class extends Error{constructor(e,t){super(e),this.name=`DiscordSendError`,t&&Object.assign(this,t)}toString(){return this.message}};function Ft(e){let t=e.trim();if(!t)throw Error(`emoji required`);let n=t.match(/^<a?:([^:>]+):(\d+)>$/),r=n?`${n[1]}:${n[2]}`:t.replace(/[\uFE0E\uFE0F]/g,``);return encodeURIComponent(r)}async function P(e,t,r){let i=r??n.r(),a=n.Oo({cfg:i,accountId:t}),o=e.trim(),s={ambiguousMessage:`Ambiguous Discord recipient "${o}". Use "user:${o}" for DMs or "channel:${o}" for channel messages.`},c=await rt(e,{cfg:i,accountId:a.accountId},s);if(c)return{kind:c.kind,id:c.id};let l=A(e,s);if(!l)throw Error(`Recipient is required for Discord sends`);return{kind:l.kind,id:l.id}}function It(e){let t=e.map(e=>e.trim()).filter(Boolean);if(t.length===0)throw Error(`At least one sticker id is required`);if(t.length>3)throw Error(`Discord supports up to 3 stickers per message`);return t}function F(e,t){let n=e.trim();if(!n)throw Error(`${t} is required`);return n}function Lt(e){let t=s.n(e,{maxOptions:10}),n=s.t(t.durationHours,{defaultHours:24,maxHours:768});return{question:{text:t.question},answers:t.options.map(e=>({poll_media:{text:e}})),duration:n,allow_multiselect:t.maxSelections>1,layout_type:_.PollLayoutType.Default}}function Rt(e){if(!e||typeof e!=`object`)return;let t=`code`in e&&e.code!==void 0?e.code:`rawError`in e&&e.rawError&&typeof e.rawError==`object`?e.rawError.code:void 0;if(typeof t==`number`)return t;if(typeof t==`string`&&/^\d+$/.test(t))return Number(t)}async function I(e,t){if(e instanceof Pt)return e;let n=Rt(e);if(n===50007)return new Pt(`discord dm failed: user blocks dms or privacy settings disallow it`,{kind:`dm-blocked`});if(n!==50013)return e;let r=[];try{let e=await Nt(t.channelId,{rest:t.rest,token:t.token}),n=new Set(e.permissions),i=[`ViewChannel`,`SendMessages`];Ot(e.channelType)&&i.push(`SendMessagesInThreads`),t.hasMedia&&i.push(`AttachFiles`),r=i.filter(e=>!n.has(e))}catch{}return new Pt(`${r.length?`missing permissions in channel ${t.channelId}: ${r.join(`, `)}`:`missing permissions in channel ${t.channelId}`}. bot might be muted or blocked by role/channel overrides`,{kind:`missing-permissions`,channelId:t.channelId,missingPermissions:r})}async function L(e,t,n){if(t.kind===`channel`)return{channelId:t.id};let r=await n(()=>e.post(h.Routes.userChannels(),{body:{recipient_id:t.id}}),`dm-channel`);if(!r?.id)throw Error(`Failed to create Discord DM channel`);return{channelId:r.id,dm:!0}}async function zt(e,t){try{return(await e.get(h.Routes.channel(t)))?.type}catch{return}}const R=4096;function z(e,t={}){if(!e)return[];let n=yt(e,{maxChars:t.maxChars??2e3,maxLines:t.maxLinesPerMessage,chunkMode:t.chunkMode});return!n.length&&e&&n.push(e),n}function Bt(e){return!!e?.some(e=>`isV2`in e&&e.isV2)}function B(e){if(!(!e.components||!e.isFirst))return typeof e.components==`function`?e.components(e.text):e.components}function Vt(e){if(e?.length)return e.map(e=>e instanceof g.Embed?e:new g.Embed(e))}function V(e){if(!(!e.embeds||!e.isFirst))return Vt(e.embeds)}function H(e){let t={},n=Bt(e.components),r=e.text.trim();return!n&&r&&(t.content=e.text),e.components?.length&&(t.components=e.components),!n&&e.embeds?.length&&(t.embeds=e.embeds),e.flags!==void 0&&(t.flags=e.flags),e.files?.length&&(t.files=e.files),t}function U(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Ht(e){if(e instanceof Blob)return e;let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),new Blob([t])}async function W(e,t,n,r,i,a,o,s,c,l){if(!n.trim())throw Error(`Message must be non-empty for Discord sends`);let u=r?{message_id:r,fail_if_not_exists:!1}:void 0,d=l?R:void 0,f=z(n,{maxLinesPerMessage:a,chunkMode:c}),p=async(n,r)=>{let a=U({...(0,g.serializePayload)(H({text:n,components:B({components:o,text:n,isFirst:r}),embeds:V({embeds:s,isFirst:r}),flags:d})),...u?{message_reference:u}:{}});return await i(()=>e.post(h.Routes.channelMessages(t),{body:a}),`text`)};if(f.length===1)return await p(f[0],!0);let m=null;for(let[e,t]of f.entries())m=await p(t,e===0);if(!m)throw Error(`Discord send failed (empty chunk result)`);return m}async function Ut(e,t,n,r,i,a,s,l,u,d,f,p,m){let _=await c.v(r,o.t({maxBytes:a,mediaLocalRoots:i})),v=n?z(n,{maxLinesPerMessage:u,chunkMode:p}):[],y=v[0]??``,b=s?{message_id:s,fail_if_not_exists:!1}:void 0,x=m?R:void 0,S=Ht(_.buffer),C=H({text:y,components:B({components:d,text:y,isFirst:!0}),embeds:V({embeds:f,isFirst:!0}),flags:x,files:[{data:S,name:_.fileName??`upload`}]}),w=await l(()=>e.post(h.Routes.channelMessages(t),{body:U({...(0,g.serializePayload)(C),...b?{message_reference:b}:{}})}),`media`);for(let n of v.slice(1))n.trim()&&await W(e,t,n,s,l,u,void 0,void 0,p,m);return w}function Wt(e){return e.id&&e.name?`${e.name}:${e.id}`:e.name??``}function Gt(e){return Wt(e)}async function Kt(e,t={}){let n=M(t),r={name:e.name};return e.type!==void 0&&(r.type=e.type),e.parentId&&(r.parent_id=e.parentId),e.topic&&(r.topic=e.topic),e.position!==void 0&&(r.position=e.position),e.nsfw!==void 0&&(r.nsfw=e.nsfw),await n.post(h.Routes.guildChannels(e.guildId),{body:r})}async function qt(e,t={}){let n=M(t),r={};return e.name!==void 0&&(r.name=e.name),e.topic!==void 0&&(r.topic=e.topic),e.position!==void 0&&(r.position=e.position),e.parentId!==void 0&&(r.parent_id=e.parentId),e.nsfw!==void 0&&(r.nsfw=e.nsfw),e.rateLimitPerUser!==void 0&&(r.rate_limit_per_user=e.rateLimitPerUser),e.archived!==void 0&&(r.archived=e.archived),e.locked!==void 0&&(r.locked=e.locked),e.autoArchiveDuration!==void 0&&(r.auto_archive_duration=e.autoArchiveDuration),e.availableTags!==void 0&&(r.available_tags=e.availableTags.map(e=>({...e.id!==void 0&&{id:e.id},name:e.name,...e.moderated!==void 0&&{moderated:e.moderated},...e.emoji_id!==void 0&&{emoji_id:e.emoji_id},...e.emoji_name!==void 0&&{emoji_name:e.emoji_name}}))),await n.patch(h.Routes.channel(e.channelId),{body:r})}async function Jt(e,t={}){return await M(t).delete(h.Routes.channel(e)),{ok:!0,channelId:e}}async function Yt(e,t={}){let n=M(t),r=[{id:e.channelId,...e.parentId!==void 0&&{parent_id:e.parentId},...e.position!==void 0&&{position:e.position}}];return await n.patch(h.Routes.guildChannels(e.guildId),{body:r}),{ok:!0}}async function Xt(e,t={}){let n=M(t),r={type:e.targetType};return e.allow!==void 0&&(r.allow=e.allow),e.deny!==void 0&&(r.deny=e.deny),await n.put(`/channels/${e.channelId}/permissions/${e.targetId}`,{body:r}),{ok:!0}}async function Zt(e,t,n={}){return await M(n).delete(`/channels/${e}/permissions/${t}`),{ok:!0}}async function Qt(e,t={}){return await M(t).get(h.Routes.guildEmojis(e))}async function $t(e,t={}){let n=M(t),r=await c.y(e.mediaUrl,262144),i=r.contentType?.toLowerCase();if(!i||![`image/png`,`image/jpeg`,`image/jpg`,`image/gif`].includes(i))throw Error(`Discord emoji uploads require a PNG, JPG, or GIF image`);let a=`data:${i};base64,${r.buffer.toString(`base64`)}`,o=(e.roleIds??[]).map(e=>e.trim()).filter(Boolean);return await n.post(h.Routes.guildEmojis(e.guildId),{body:{name:F(e.name,`Emoji name`),image:a,roles:o.length?o:void 0}})}async function en(e,t={}){let n=M(t),r=await c.y(e.mediaUrl,524288),i=r.contentType?.toLowerCase();if(!i||![`image/png`,`image/apng`,`application/json`].includes(i))throw Error(`Discord sticker uploads require a PNG, APNG, or Lottie JSON file`);return await n.post(h.Routes.guildStickers(e.guildId),{body:{name:F(e.name,`Sticker name`),description:F(e.description,`Sticker description`),tags:F(e.tags,`Sticker tags`),files:[{data:r.buffer,name:r.fileName??`sticker`,contentType:i}]}})}async function tn(e,t,n={}){return await M(n).get(h.Routes.guildMember(e,t))}async function nn(e,t={}){return await M(t).get(h.Routes.guildRoles(e))}async function rn(e,t={}){return await M(t).put(h.Routes.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function an(e,t={}){return await M(t).delete(h.Routes.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function on(e,t={}){return await M(t).get(h.Routes.channel(e))}async function sn(e,t={}){return await M(t).get(h.Routes.guildChannels(e))}async function cn(e,t,n={}){return await M(n).get(h.Routes.guildVoiceState(e,t))}async function ln(e,t={}){return await M(t).get(h.Routes.guildScheduledEvents(e))}async function un(e,t,n={}){return await M(n).post(h.Routes.guildScheduledEvents(e),{body:t})}async function dn(e,t={}){let n=M(t),r=e.until;if(!r&&e.durationMinutes){let t=e.durationMinutes*60*1e3;r=new Date(Date.now()+t).toISOString()}return await n.patch(h.Routes.guildMember(e.guildId,e.userId),{body:{communication_disabled_until:r??null},headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0})}async function fn(e,t={}){return await M(t).delete(h.Routes.guildMember(e.guildId,e.userId),{headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0}),{ok:!0}}async function pn(e,t={}){let n=M(t),r=typeof e.deleteMessageDays==`number`&&Number.isFinite(e.deleteMessageDays)?Math.min(Math.max(Math.floor(e.deleteMessageDays),0),7):void 0;return await n.put(h.Routes.guildBan(e.guildId,e.userId),{body:r===void 0?void 0:{delete_message_days:r},headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0}),{ok:!0}}async function mn(e,t={},n={}){let r=M(n),i=typeof t.limit==`number`&&Number.isFinite(t.limit)?Math.min(Math.max(Math.floor(t.limit),1),100):void 0,a={};return i&&(a.limit=i),t.before&&(a.before=t.before),t.after&&(a.after=t.after),t.around&&(a.around=t.around),await r.get(h.Routes.channelMessages(e),a)}async function hn(e,t,n={}){return await M(n).get(h.Routes.channelMessage(e,t))}async function gn(e,t,n,r={}){return await M(r).patch(h.Routes.channelMessage(e,t),{body:{content:n.content}})}async function _n(e,t,n={}){return await M(n).delete(h.Routes.channelMessage(e,t)),{ok:!0}}async function vn(e,t,n={}){return await M(n).put(h.Routes.channelPin(e,t)),{ok:!0}}async function yn(e,t,n={}){return await M(n).delete(h.Routes.channelPin(e,t)),{ok:!0}}async function bn(e,t={}){return await M(t).get(h.Routes.channelPins(e))}async function xn(e,t,n={}){let r=M(n),i={name:t.name};t.autoArchiveMinutes&&(i.auto_archive_duration=t.autoArchiveMinutes),!t.messageId&&t.type!==void 0&&(i.type=t.type);let a;if(!t.messageId)try{a=(await r.get(h.Routes.channel(e)))?.type}catch{a=void 0}let o=a===h.ChannelType.GuildForum||a===h.ChannelType.GuildMedia;o&&(i.message={content:t.content?.trim()?t.content:t.name},t.appliedTags?.length&&(i.applied_tags=t.appliedTags)),!t.messageId&&!o&&i.type===void 0&&(i.type=h.ChannelType.PublicThread);let s=t.messageId?h.Routes.threads(e,t.messageId):h.Routes.threads(e),c=await r.post(s,{body:i});return!o&&t.content?.trim()&&await r.post(h.Routes.channelMessages(c.id),{body:{content:t.content}}),c}async function Sn(e,t={}){let n=M(t);if(e.includeArchived){if(!e.channelId)throw Error(`channelId required to list archived threads`);let t={};return e.before&&(t.before=e.before),e.limit&&(t.limit=e.limit),await n.get(h.Routes.channelThreads(e.channelId,`public`),t)}return await n.get(h.Routes.guildActiveThreads(e.guildId))}async function Cn(e,t={}){let n=M(t),r=new URLSearchParams;if(r.set(`content`,e.content),e.channelIds?.length)for(let t of e.channelIds)r.append(`channel_id`,t);if(e.authorIds?.length)for(let t of e.authorIds)r.append(`author_id`,t);if(e.limit){let t=Math.min(Math.max(Math.floor(e.limit),1),25);r.set(`limit`,String(t))}return await n.get(`/guilds/${e.guildId}/messages/search?${r.toString()}`)}async function wn(e){if(e)try{await d.default.unlink(e)}catch{}}const Tn=/```[\s\S]*?```|`[^`\n]*`/g,En=/(^|[\s([{"'.,;:!?])@([a-z0-9_.-]{2,32}(?:#[0-9]{4})?)/gi,Dn=new Set([`everyone`,`here`]);function On(e){let t=String(e??``).trim();return/^\d+$/.test(t)?t:null}function kn(e){let t=e.userId==null?null:On(e.userId),n=e.roleId==null?null:On(e.roleId),r=e.channelId==null?null:On(e.channelId),i=[t?{kind:`user`,id:t}:null,n?{kind:`role`,id:n}:null,r?{kind:`channel`,id:r}:null].filter(e=>!!e);if(i.length!==1)throw Error(`formatMention requires exactly one of userId, roleId, or channelId`);let a=i[0];return a.kind===`user`?`<@${a.id}>`:a.kind===`role`?`<@&${a.id}>`:`<#${a.id}>`}function An(e,t){return e.includes(`@`)?e.replace(En,(e,n,r)=>{let i=String(r??``).trim();if(!i)return e;let a=i.toLowerCase();if(Dn.has(a))return e;let o=se({accountId:t,handle:i});return o?`${String(n??``)}${kn({userId:o})}`:e}):e}function G(e,t){if(!e.includes(`@`))return e;let n=``,r=0;Tn.lastIndex=0;for(let i of e.matchAll(Tn)){let a=i.index??0;n+=An(e.slice(r,a),t.accountId),n+=i[0],r=a+i[0].length}return n+=An(e.slice(r),t.accountId),n}const jn=(0,p.promisify)(m.execFile);function Mn(e,t){return{timeout:t?.timeoutMs??e,maxBuffer:t?.maxBufferBytes??10485760}}async function Nn(e,t){let{stdout:n}=await jn(`ffprobe`,e,Mn(1e4,t));return n.toString()}async function Pn(e,t){let{stdout:n}=await jn(`ffmpeg`,e,Mn(45e3,t));return n.toString()}function Fn(e,t){return e.trim().toLowerCase().split(/[,\r\n]+/,t).map(e=>e.trim())}function In(e){let[t,n]=Fn(e,2),r=t||null,i=n?Number.parseInt(n,10):NaN;return{codec:r,sampleRateHz:Number.isFinite(i)?i:null}}const Ln=8192;async function Rn(e){try{let t=await Nn([`-v`,`error`,`-show_entries`,`format=duration`,`-of`,`csv=p=0`,e]),n=parseFloat(t.trim());if(isNaN(n))throw Error(`Could not parse duration`);return Math.round(n*100)/100}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to get audio duration: ${t}`,{cause:e})}}async function zn(e){try{return await Bn(e)}catch{return Vn()}}async function Bn(e){let t=r.Q(),n=u.default.join(t,`waveform-${f.default.randomUUID()}.raw`);try{await Pn([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-f`,`s16le`,`-acodec`,`pcm_s16le`,`-ac`,`1`,`-ar`,`8000`,n]);let t=await d.default.readFile(n),r=new Int16Array(t.buffer,t.byteOffset,t.byteLength/2),i=Math.max(1,Math.floor(r.length/256)),a=[];for(let e=0;e<256&&e*i<r.length;e++){let t=0,n=0;for(let a=0;a<i&&e*i+a<r.length;a++)t+=Math.abs(r[e*i+a]),n++;let o=n>0?t/n:0,s=Math.min(255,Math.round(o/32767*255));a.push(s)}for(;a.length<256;)a.push(0);return Buffer.from(a).toString(`base64`)}finally{await wn(n)}}function Vn(){let e=[];for(let t=0;t<256;t++){let n=Math.round(128+64*Math.sin(t/256*Math.PI*8));e.push(Math.min(255,Math.max(0,n)))}return Buffer.from(e).toString(`base64`)}async function Hn(e){let t=e.trim();if(/^[a-z][a-z0-9+.-]*:\/\//i.test(t))throw Error(`Voice message conversion requires a local file path; received a URL/protocol source: ${t}`);if(u.default.extname(e).toLowerCase()===`.ogg`)try{let{codec:t,sampleRateHz:n}=In(await Nn([`-v`,`error`,`-select_streams`,`a:0`,`-show_entries`,`stream=codec_name,sample_rate`,`-of`,`csv=p=0`,e]));if(t===`opus`&&n===48e3)return{path:e,cleanup:!1}}catch{}let n=r.Q(),i=u.default.join(n,`voice-${f.default.randomUUID()}.ogg`);return await Pn([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-ar`,`48000`,`-c:a`,`libopus`,`-b:a`,`64k`,i]),{path:i,cleanup:!0}}async function Un(e){let[t,n]=await Promise.all([Rn(e),zn(e)]);return{durationSecs:t,waveform:n}}async function Wn(e,t,n,r,i,a,o,s){let c=`voice-message.ogg`,l=n.byteLength,u=s;if(!u)throw Error(`Discord bot token is required for voice message upload`);let d=await a(async()=>{let n=`${e.options?.baseUrl??`https://discord.com/api`}/channels/${t}/attachments`,r=await fetch(n,{method:`POST`,headers:{Authorization:`Bot ${u}`,"Content-Type":`application/json`},body:JSON.stringify({files:[{filename:c,file_size:l,id:`0`}]})});if(!r.ok){if(r.status===429){let e=await r.json().catch(()=>({}));throw new g.RateLimitError(r,{message:e.message??`You are being rate limited.`,retry_after:e.retry_after??1,global:e.global??!1})}let e=await r.json().catch(()=>null),t=Error(`Upload URL request failed: ${r.status} ${e?.message??``}`);throw e?.code!==void 0&&(t.code=e.code),t}return await r.json()},`voice-upload-url`);if(!d.attachments?.[0])throw Error(`Failed to get upload URL for voice message`);let{upload_url:f,upload_filename:p}=d.attachments[0],m=await fetch(f,{method:`PUT`,headers:{"Content-Type":`audio/ogg`},body:new Uint8Array(n)});if(!m.ok)throw Error(`Failed to upload voice message: ${m.status}`);let h={flags:o?Ln|4096:Ln,attachments:[{id:`0`,filename:c,uploaded_filename:p,duration_secs:r.durationSecs,waveform:r.waveform}]};return i&&(h.message_reference={message_id:i,fail_if_not_exists:!1}),await a(()=>e.post(`/channels/${t}/messages`,{body:h}),`voice-message`)}async function Gn(e){for(let t of e.chunks)await W(e.rest,e.threadId,t,void 0,e.request,e.maxLinesPerMessage,void 0,void 0,e.chunkMode,e.silent)}function Kn(e){return(e.split(`
7
7
  `).find(e=>e.trim())?.trim()??``).slice(0,100)||new Date().toISOString().slice(0,16)}function qn(e){return e===h.ChannelType.GuildForum||e===h.ChannelType.GuildMedia}function K(e,t){return{messageId:e.id?String(e.id):`unknown`,channelId:String(e.channel_id??t)}}async function Jn(e,t){let r=t.cfg??n.r(),{rest:i,request:a}=j(t,r),{channelId:o}=await L(i,await P(e,t.accountId,r),a);return{rest:i,request:a,channelId:o}}async function Yn(e,t,r={}){let i=r.cfg??n.r(),o=n.Oo({cfg:i,accountId:r.accountId}),s=c.i({cfg:i,channel:`discord`,accountId:o.accountId}),u=c.d(i,`discord`,o.accountId),d=typeof o.config.mediaMaxMb==`number`?o.config.mediaMaxMb*1024*1024:8*1024*1024,f=l.t(t??``,s),p=G(f,{accountId:o.accountId}),{token:m,rest:_,request:v}=j(r,i),{channelId:y}=await L(_,await P(e,r.accountId,i),v);if(qn(await zt(_,y))){let e=Kn(f),t=z(p,{maxLinesPerMessage:o.config.maxLinesPerMessage,chunkMode:u}),n=t[0]?.trim()?t[0]:e,i=H({text:n,components:B({components:r.components,text:n,isFirst:!0}),embeds:V({embeds:r.embeds,isFirst:!0}),flags:r.silent?4096:void 0}),s;try{s=await v(()=>_.post(h.Routes.threads(y),{body:{name:e,message:U((0,g.serializePayload)(i))}}),`forum-thread`)}catch(e){throw await I(e,{channelId:y,rest:_,token:m,hasMedia:!!r.mediaUrl})}let c=s.id,l=s.message?.id??c,b=s.message?.channel_id??c,x=t.slice(1);try{if(r.mediaUrl){let[e,...t]=x;await Ut(_,c,e??``,r.mediaUrl,r.mediaLocalRoots,d,void 0,v,o.config.maxLinesPerMessage,void 0,void 0,u,r.silent),await Gn({rest:_,threadId:c,chunks:t,request:v,maxLinesPerMessage:o.config.maxLinesPerMessage,chunkMode:u,silent:r.silent})}else await Gn({rest:_,threadId:c,chunks:x,request:v,maxLinesPerMessage:o.config.maxLinesPerMessage,chunkMode:u,silent:r.silent})}catch(e){throw await I(e,{channelId:c,rest:_,token:m,hasMedia:!!r.mediaUrl})}return a.n({channel:`discord`,accountId:o.accountId,direction:`outbound`}),K({id:l,channel_id:b},y)}let b;try{b=r.mediaUrl?await Ut(_,y,p,r.mediaUrl,r.mediaLocalRoots,d,r.replyTo,v,o.config.maxLinesPerMessage,r.components,r.embeds,u,r.silent):await W(_,y,p,r.replyTo,v,o.config.maxLinesPerMessage,r.components,r.embeds,u,r.silent)}catch(e){throw await I(e,{channelId:y,rest:_,token:m,hasMedia:!!r.mediaUrl})}return a.n({channel:`discord`,accountId:o.accountId,direction:`outbound`}),K(b,y)}function Xn(e){let t=new URL(`https://discord.com/api/v10/webhooks/${encodeURIComponent(e.webhookId)}/${encodeURIComponent(e.webhookToken)}`);return t.searchParams.set(`wait`,e.wait===!1?`false`:`true`),e.threadId!==void 0&&e.threadId!==null&&e.threadId!==``&&t.searchParams.set(`thread_id`,String(e.threadId)),t.toString()}async function Zn(e,t){let r=t.webhookId.trim(),i=t.webhookToken.trim();if(!r||!i)throw Error(`Discord webhook id/token are required`);let o=G(e,{accountId:t.accountId}),s=typeof t.replyTo==`string`?t.replyTo.trim():``,c=s?{message_id:s,fail_if_not_exists:!1}:void 0,l=await fetch(Xn({webhookId:r,webhookToken:i,threadId:t.threadId,wait:t.wait}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({content:o,username:t.username?.trim()||void 0,avatar_url:t.avatarUrl?.trim()||void 0,...c?{message_reference:c}:{}})});if(!l.ok){let e=await l.text().catch(()=>``);throw Error(`Discord webhook send failed (${l.status}${e?`: ${e.slice(0,200)}`:``})`)}let u=await l.json().catch(()=>({}));try{a.n({channel:`discord`,accountId:n.Oo({cfg:t.cfg??n.r(),accountId:t.accountId}).accountId,direction:`outbound`})}catch{}return{messageId:u.id?String(u.id):`unknown`,channelId:u.channel_id?String(u.channel_id):t.threadId?String(t.threadId):``}}async function Qn(e,t,n={}){let{rest:r,request:i,channelId:a}=await Jn(e,n),o=n.content?.trim(),s=o?G(o,{accountId:n.accountId}):void 0,c=It(t);return K(await i(()=>r.post(h.Routes.channelMessages(a),{body:{content:s||void 0,sticker_ids:c}}),`sticker`),a)}async function $n(e,t,n={}){let{rest:r,request:i,channelId:a}=await Jn(e,n),o=n.content?.trim(),s=o?G(o,{accountId:n.accountId}):void 0;if(t.durationSeconds!==void 0)throw Error(`Discord polls do not support durationSeconds; use durationHours`);let c=Lt(t),l=n.silent?R:void 0;return K(await i(()=>r.post(h.Routes.channelMessages(a),{body:{content:s||void 0,poll:c,...l?{flags:l}:{}}}),`poll`),a)}async function er(e){let n=await c.y(e,t.S(`audio`)),i=n.fileName?u.default.extname(n.fileName):``,a=n.contentType?t.m(n.contentType):``,o=i||a||`.bin`,s=r.Q(),l=u.default.join(s,`voice-src-${f.default.randomUUID()}${o}`);return await d.default.writeFile(l,n.buffer,{mode:384}),{filePath:l}}async function tr(e,t,r={}){let{filePath:i}=await er(t),o=null,s=!1,c,l,u;try{let t=r.cfg??n.r(),f=n.Oo({cfg:t,accountId:r.accountId}),p=j(r,t);c=p.token,l=p.rest;let m=p.request,h=await P(e,r.accountId,t);u=(await L(l,h,m)).channelId;let g=await Hn(i);o=g.path,s=g.cleanup;let _=await Un(o),v=await d.default.readFile(o),y=await Wn(l,u,v,_,r.replyTo,m,r.silent,c);return a.n({channel:`discord`,accountId:f.accountId,direction:`outbound`}),K(y,u)}catch(e){throw u&&l&&c?await I(e,{channelId:u,rest:l,token:c,hasMedia:!0}):e}finally{await wn(s?o:null),await wn(i)}}const q=new Map,J=new Map;function nr(e,t){return typeof e.expiresAt==`number`&&e.expiresAt<=t}function rr(e,t,n){let r=e.createdAt??t,i=e.expiresAt??r+n;return{...e,createdAt:r,expiresAt:i}}function ir(e){let t=Date.now(),n=e.ttlMs??18e5;for(let r of e.entries){let i=rr({...r,messageId:e.messageId??r.messageId},t,n);q.set(r.id,i)}for(let r of e.modals){let i=rr({...r,messageId:e.messageId??r.messageId},t,n);J.set(r.id,i)}}function ar(e){let t=q.get(e.id);return t?nr(t,Date.now())?(q.delete(e.id),null):(e.consume!==!1&&q.delete(e.id),t):null}function or(e){let t=J.get(e.id);return t?nr(t,Date.now())?(J.delete(e.id),null):(e.consume!==!1&&J.delete(e.id),t):null}const sr=`attachment://`,cr=new Map([[`row`,`actions`],[`action-row`,`actions`]]);function Y(e){return`${e}${f.default.randomBytes(6).toString(`base64url`)}`}function X(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function Z(e,t,n){if(typeof e!=`string`)throw Error(`${t} must be a string`);let r=e.trim();if(!n?.allowEmpty&&!r)throw Error(`${t} cannot be empty`);return n?.allowEmpty?e:r}function Q(e){return typeof e==`string`&&e.trim()||void 0}function lr(e,t){if(e!==void 0){if(!Array.isArray(e))throw Error(`${t} must be an array`);if(e.length!==0)return e.map((e,n)=>Z(e,`${t}[${n}]`))}}function $(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return e}function ur(e,t){return e?.trim()||`field_${t+1}`}function dr(e,t){let n=e.trim();if(!n.startsWith(`attachment://`))throw Error(`${t} must start with "${sr}"`);let r=n.slice(13).trim();if(!r)throw Error(`${t} must include an attachment filename`);return`${sr}${r}`}function fr(e){let t=e.trim();if(!t.startsWith(`attachment://`))throw Error(`Attachment reference must start with "${sr}"`);let n=t.slice(13).trim();if(!n)throw Error(`Attachment reference must include a filename`);return n}function pr(e){switch((e??`primary`).toLowerCase()){case`secondary`:return h.ButtonStyle.Secondary;case`success`:return h.ButtonStyle.Success;case`danger`:return h.ButtonStyle.Danger;case`link`:return h.ButtonStyle.Link;default:return h.ButtonStyle.Primary}}function mr(e){return e===`paragraph`?h.TextInputStyle.Paragraph:h.TextInputStyle.Short}function hr(e){let t=e.trim().toLowerCase();return cr.get(t)??t}function gr(e,t){if(e!==void 0){if(!Array.isArray(e))throw Error(`${t} must be an array`);return e.map((e,n)=>{let r=X(e,`${t}[${n}]`);return{label:Z(r.label,`${t}[${n}].label`),value:Z(r.value,`${t}[${n}].value`),description:Q(r.description),emoji:typeof r.emoji==`object`&&r.emoji&&!Array.isArray(r.emoji)?{name:Z(r.emoji.name,`${t}[${n}].emoji.name`),id:Q(r.emoji.id),animated:typeof r.emoji.animated==`boolean`?r.emoji.animated:void 0}:void 0,default:typeof r.default==`boolean`?r.default:void 0}})}}function _r(e,t){let n=X(e,t),r=Q(n.style),i=Q(n.url);if((r===`link`||i)&&!i)throw Error(`${t}.url is required for link buttons`);return{label:Z(n.label,`${t}.label`),style:r,url:i,emoji:typeof n.emoji==`object`&&n.emoji&&!Array.isArray(n.emoji)?{name:Z(n.emoji.name,`${t}.emoji.name`),id:Q(n.emoji.id),animated:typeof n.emoji.animated==`boolean`?n.emoji.animated:void 0}:void 0,disabled:typeof n.disabled==`boolean`?n.disabled:void 0,allowedUsers:lr(n.allowedUsers,`${t}.allowedUsers`)}}function vr(e,t){let n=X(e,t),r=Q(n.type),i=[`string`,`user`,`role`,`mentionable`,`channel`];if(r&&!i.includes(r))throw Error(`${t}.type must be one of ${i.join(`, `)}`);return{type:r,placeholder:Q(n.placeholder),minValues:$(n.minValues),maxValues:$(n.maxValues),options:gr(n.options,`${t}.options`)}}function yr(e,t,n){let r=X(e,t),i=Z(r.type,`${t}.type`).toLowerCase(),a=[`text`,`checkbox`,`radio`,`select`,`role-select`,`user-select`];if(!a.includes(i))throw Error(`${t}.type must be one of ${a.join(`, `)}`);let o=gr(r.options,`${t}.options`);if([`checkbox`,`radio`,`select`].includes(i)&&(!o||o.length===0))throw Error(`${t}.options is required for ${i} fields`);return{type:i,name:ur(Q(r.name),n),label:Z(r.label,`${t}.label`),description:Q(r.description),placeholder:Q(r.placeholder),required:typeof r.required==`boolean`?r.required:void 0,options:o,minValues:$(r.minValues),maxValues:$(r.maxValues),minLength:$(r.minLength),maxLength:$(r.maxLength),style:Q(r.style)}}function br(e,t){let n=X(e,t);switch(hr(Z(n.type,`${t}.type`).toLowerCase())){case`text`:return{type:`text`,text:Z(n.text,`${t}.text`)};case`section`:{let e=Q(n.text),r=n.texts,i=Array.isArray(r)?r.map((e,n)=>Z(e,`${t}.texts[${n}]`)):void 0;if(!e&&(!i||i.length===0))throw Error(`${t}.text or ${t}.texts is required for section blocks`);let a;if(n.accessory!==void 0){let e=X(n.accessory,`${t}.accessory`),r=Z(e.type,`${t}.accessory.type`).toLowerCase();if(r===`thumbnail`)a={type:`thumbnail`,url:Z(e.url,`${t}.accessory.url`)};else if(r===`button`)a={type:`button`,button:_r(e.button,`${t}.accessory.button`)};else throw Error(`${t}.accessory.type must be "thumbnail" or "button"`)}return{type:`section`,text:e,texts:i,accessory:a}}case`separator`:{let e=n.spacing,r;if(e===`small`||e===`large`)r=e;else if(e===1||e===2)r=e;else if(e!==void 0)throw Error(`${t}.spacing must be "small", "large", 1, or 2`);let i=typeof n.divider==`boolean`?n.divider:void 0;return{type:`separator`,spacing:r,divider:i}}case`actions`:{let e=n.buttons,r=Array.isArray(e)?e.map((e,n)=>_r(e,`${t}.buttons[${n}]`)):void 0,i=n.select?vr(n.select,`${t}.select`):void 0;if((!r||r.length===0)&&!i)throw Error(`${t} requires buttons or select`);if(r&&i)throw Error(`${t} cannot include both buttons and select`);return{type:`actions`,buttons:r,select:i}}case`media-gallery`:{let e=n.items;if(!Array.isArray(e)||e.length===0)throw Error(`${t}.items must be a non-empty array`);return{type:`media-gallery`,items:e.map((e,n)=>{let r=X(e,`${t}.items[${n}]`);return{url:Z(r.url,`${t}.items[${n}].url`),description:Q(r.description),spoiler:typeof r.spoiler==`boolean`?r.spoiler:void 0}})}}case`file`:return{type:`file`,file:dr(Z(n.file,`${t}.file`),`${t}.file`),spoiler:typeof n.spoiler==`boolean`?n.spoiler:void 0};default:throw Error(`${t}.type must be a supported component block`)}}function xr(e){if(e==null)return null;let t=X(e,`components`),n=t.blocks,r=Array.isArray(n)?n.map((e,t)=>br(e,`components.blocks[${t}]`)):void 0,i=t.modal,a=typeof t.reusable==`boolean`?t.reusable:void 0,o;if(i!==void 0){let e=X(i,`components.modal`),t=e.fields;if(!Array.isArray(t)||t.length===0)throw Error(`components.modal.fields must be a non-empty array`);if(t.length>5)throw Error(`components.modal.fields supports up to 5 inputs`);let n=t.map((e,t)=>yr(e,`components.modal.fields[${t}]`,t));o={title:Z(e.title,`components.modal.title`),triggerLabel:Q(e.triggerLabel),triggerStyle:Q(e.triggerStyle),fields:n}}return{text:Q(t.text),reusable:a,container:typeof t.container==`object`&&t.container&&!Array.isArray(t.container)?{accentColor:t.container.accentColor,spoiler:typeof t.container.spoiler==`boolean`?t.container.spoiler:void 0}:void 0,blocks:r,modal:o}}function Sr(e){let t=`occomp:cid=${e.componentId}`;return e.modalId?`${t};mid=${e.modalId}`:t}function Cr(e){return`ocmodal:mid=${e}`}function wr(e){let t=(0,g.parseCustomId)(e);if(t.key!==`occomp`)return null;let n=t.data.cid;if(typeof n!=`string`||!n.trim())return null;let r=t.data.mid;return{componentId:n,modalId:typeof r==`string`&&r.trim()?r:void 0}}function Tr(e){let t=(0,g.parseCustomId)(e);if(t.key!==`ocmodal`)return null;let n=t.data.mid;return typeof n!=`string`||!n.trim()?null:n}function Er(e){return/^__openclaw_discord_component_[a-z_]+_wildcard__$/.test(e)}function Dr(e){if(e===`*`||Er(e))return{key:`*`,data:{}};let t=(0,g.parseCustomId)(e);return t.key===`occomp`?{key:`*`,data:t.data}:t}function Or(e){if(e===`*`||Er(e))return{key:`*`,data:{}};let t=(0,g.parseCustomId)(e);return t.key===`ocmodal`?{key:`*`,data:t.data}:t}function kr(e,t){return t&&t.length>0?t.map(e=>new g.TextDisplay(e)):e?[new g.TextDisplay(e)]:[]}function Ar(e){let t=pr(e.spec.style);if(t===h.ButtonStyle.Link||e.spec.url){if(!e.spec.url)throw Error(`Link buttons require a url`);let t=e.spec.url;class n extends g.LinkButton{constructor(...n){super(...n),this.label=e.spec.label,this.url=t}}return{component:new n}}let n=e.componentId??Y(`btn_`),r=Sr({componentId:n,modalId:e.modalId});class i extends g.Button{constructor(...n){super(...n),this.label=e.spec.label,this.customId=r,this.style=t,this.emoji=e.spec.emoji,this.disabled=e.spec.disabled??!1}}return{component:new i,entry:{id:n,kind:e.modalId?`modal-trigger`:`button`,label:e.spec.label,modalId:e.modalId,allowedUsers:e.spec.allowedUsers}}}function jr(e){let t=(e.spec.type??`string`).toLowerCase(),n=e.componentId??Y(`sel_`),r=Sr({componentId:n});if(t===`string`){let t=e.spec.options??[];if(t.length===0)throw Error(`String select menus require options`);class i extends g.StringSelectMenu{constructor(...n){super(...n),this.customId=r,this.options=t,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new i,entry:{id:n,kind:`select`,label:e.spec.placeholder??`select`,selectType:`string`,options:t.map(e=>({value:e.value,label:e.label}))}}}if(t===`user`){class t extends g.UserSelectMenu{constructor(...t){super(...t),this.customId=r,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new t,entry:{id:n,kind:`select`,label:e.spec.placeholder??`user select`,selectType:`user`}}}if(t===`role`){class t extends g.RoleSelectMenu{constructor(...t){super(...t),this.customId=r,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new t,entry:{id:n,kind:`select`,label:e.spec.placeholder??`role select`,selectType:`role`}}}if(t===`mentionable`){class t extends g.MentionableSelectMenu{constructor(...t){super(...t),this.customId=r,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new t,entry:{id:n,kind:`select`,label:e.spec.placeholder??`mentionable select`,selectType:`mentionable`}}}class i extends g.ChannelSelectMenu{constructor(...t){super(...t),this.customId=r,this.minValues=e.spec.minValues,this.maxValues=e.spec.maxValues,this.placeholder=e.spec.placeholder,this.disabled=!1}}return{component:new i,entry:{id:n,kind:`select`,label:e.spec.placeholder??`channel select`,selectType:`channel`}}}function Mr(e){return e instanceof g.StringSelectMenu||e instanceof g.UserSelectMenu||e instanceof g.RoleSelectMenu||e instanceof g.MentionableSelectMenu||e instanceof g.ChannelSelectMenu}function Nr(e){if(e.type===`text`){class t extends g.TextInput{constructor(...t){super(...t),this.customId=e.id,this.style=mr(e.style),this.placeholder=e.placeholder,this.required=e.required,this.minLength=e.minLength,this.maxLength=e.maxLength}}return new t}if(e.type===`select`){let t=e.options??[];class n extends g.StringSelectMenu{constructor(...n){super(...n),this.customId=e.id,this.options=t,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues,this.placeholder=e.placeholder}}return new n}if(e.type===`role-select`){class t extends g.RoleSelectMenu{constructor(...t){super(...t),this.customId=e.id,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues,this.placeholder=e.placeholder}}return new t}if(e.type===`user-select`){class t extends g.UserSelectMenu{constructor(...t){super(...t),this.customId=e.id,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues,this.placeholder=e.placeholder}}return new t}if(e.type===`checkbox`){let t=e.options??[];class n extends g.CheckboxGroup{constructor(...n){super(...n),this.customId=e.id,this.options=t,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues}}return new n}let t=e.options??[];class n extends g.RadioGroup{constructor(...n){super(...n),this.customId=e.id,this.options=t,this.required=e.required,this.minValues=e.minValues,this.maxValues=e.maxValues}}return new n}function Pr(e){let t=[],n=[],r=[],i=[],a=n=>{t.push({...n,sessionKey:e.sessionKey,agentId:e.agentId,accountId:e.accountId,reusable:n.reusable??e.spec.reusable})},o=e.spec.text??e.fallbackText;o&&i.push(new g.TextDisplay(o));for(let t of e.spec.blocks??[]){if(t.type===`text`){i.push(new g.TextDisplay(t.text));continue}if(t.type===`section`){let e=kr(t.text,t.texts);if(e.length>3)throw Error(`Section blocks support up to 3 text displays`);let n;if(t.accessory?.type===`thumbnail`)n=new g.Thumbnail(t.accessory.url);else if(t.accessory?.type===`button`){let{component:e,entry:r}=Ar({spec:t.accessory.button});n=e,r&&a(r)}i.push(new g.Section(e,n));continue}if(t.type===`separator`){i.push(new g.Separator({spacing:t.spacing,divider:t.divider}));continue}if(t.type===`media-gallery`){i.push(new g.MediaGallery(t.items));continue}if(t.type===`file`){i.push(new g.File(t.file,t.spoiler));continue}if(t.type===`actions`){let e=[];if(t.buttons){if(t.buttons.length>5)throw Error(`Action rows support up to 5 buttons`);for(let n of t.buttons){let{component:t,entry:r}=Ar({spec:n});e.push(t),r&&a(r)}}else if(t.select){let{component:n,entry:r}=jr({spec:t.select});e.push(n),a(r)}i.push(new g.Row(e))}}if(e.spec.modal){let t=Y(`mdl_`),r=e.spec.modal.fields.map((e,t)=>({id:Y(`fld_`),name:ur(e.name,t),label:e.label,type:e.type,description:e.description,placeholder:e.placeholder,required:e.required,options:e.options,minValues:e.minValues,maxValues:e.maxValues,minLength:e.minLength,maxLength:e.maxLength,style:e.style}));n.push({id:t,title:e.spec.modal.title,fields:r,sessionKey:e.sessionKey,agentId:e.agentId,accountId:e.accountId,reusable:e.spec.reusable});let{component:o,entry:s}=Ar({spec:{label:e.spec.modal.triggerLabel??`Open form`,style:e.spec.modal.triggerStyle??`primary`},modalId:t});s&&a(s);let c=i.at(-1);if(c instanceof g.Row){let e=c,t=e.components.some(e=>Mr(e));e.components.length<5&&!t?e.addComponent(o):i.push(new g.Row([o]))}else i.push(new g.Row([o]))}if(i.length===0)throw Error(`components must include at least one block, text, or modal trigger`);let s=new g.Container(i,e.spec.container);return r.push(s),{components:r,entries:t,modals:n}}function Fr(e){return e.some(e=>e.isV2)?h.MessageFlags.IsComponentsV2:void 0}var Ir=class extends g.Modal{constructor(e){super(),this.customIdParser=Or,this.title=e.title,this.customId=Cr(e.modalId),this.components=e.fields.map(e=>{let t=Nr(e);class n extends g.Label{constructor(...n){super(...n),this.label=e.label,this.description=e.description,this.component=t,this.customId=e.id}}return new n(t)})}async run(){throw Error(`Modal handler is not registered for dynamic forms`)}};function Lr(e){return new Ir({modalId:e.id,title:e.title,fields:e.fields})}function Rr(e){if(e.kind===`button`)return`Clicked "${e.label}".`;let t=e.values??[];return t.length===0?`Updated "${e.label}".`:`Selected ${t.join(`, `)} from "${e.label}".`}const zr=new Set([h.ChannelType.GuildForum,h.ChannelType.GuildMedia]);function Br(e){let t=[];for(let n of e.blocks??[])n.type===`file`&&t.push(fr(n.file));return t}async function Vr(e,t,r={}){let i=r.cfg??n.r(),o=n.Oo({cfg:i,accountId:r.accountId}),{token:s,rest:l,request:u}=j(r,i),{channelId:d}=await L(l,await P(e,r.accountId,i),u),f=await zt(l,d);if(f&&zr.has(f))throw Error(`Discord components are not supported in forum-style channels`);let p=Pr({spec:t,sessionKey:r.sessionKey,agentId:r.agentId,accountId:o.accountId}),m=Fr(p.components),_=r.silent?(m??0)|R:m??void 0,v=r.replyTo?{message_id:r.replyTo,fail_if_not_exists:!1}:void 0,y=Br(t),b=[...new Set(y)];if(b.length>1)throw Error(`Discord component attachments currently support a single file. Use media-gallery for multiple files.`);let x=b[0],S;if(r.mediaUrl){let e=await c.v(r.mediaUrl,{localRoots:r.mediaLocalRoots}),t=r.filename?.trim()||e.fileName||`upload`;if(x&&x!==t)throw Error(`Component file block expects attachment "${x}", but the uploaded file is "${t}". Update components.blocks[].file or provide a matching filename.`);S=[{data:Ht(e.buffer),name:t}]}else if(x)throw Error(`Discord component file blocks require a media attachment (media/path/filePath).`);let C=U({...(0,g.serializePayload)({components:p.components,..._?{flags:_}:{},...S?{files:S}:{}}),...v?{message_reference:v}:{}}),w;try{w=await u(()=>l.post(h.Routes.channelMessages(d),{body:C}),`components`)}catch(e){throw await I(e,{channelId:d,rest:l,token:s,hasMedia:!!S?.length})}return ir({entries:p.entries,modals:p.modals,messageId:w.id}),a.n({channel:`discord`,accountId:o.accountId,direction:`outbound`}),{messageId:w.id??`unknown`,channelId:w.channel_id??d}}async function Hr(e,t,r,i={}){let{rest:a,request:o}=j(i,i.cfg??n.r()),s=Ft(r);return await o(()=>a.put(h.Routes.channelMessageOwnReaction(e,t,s)),`react`),{ok:!0}}async function Ur(e,t,r,i={}){let{rest:a}=j(i,i.cfg??n.r()),o=Ft(r);return await a.delete(h.Routes.channelMessageOwnReaction(e,t,o)),{ok:!0}}async function Wr(e,t,r={}){let{rest:i}=j(r,r.cfg??n.r()),a=await i.get(h.Routes.channelMessage(e,t)),o=new Set;for(let e of a.reactions??[]){let t=Wt(e.emoji);t&&o.add(t)}if(o.size===0)return{ok:!0,removed:[]};let s=[];return await Promise.allSettled(Array.from(o,n=>(s.push(n),i.delete(h.Routes.channelMessageOwnReaction(e,t,Ft(n)))))),{ok:!0,removed:s}}async function Gr(e,t,r={}){let{rest:i}=j(r,r.cfg??n.r()),a=(await i.get(h.Routes.channelMessage(e,t))).reactions??[];if(a.length===0)return[];let o=typeof r.limit==`number`&&Number.isFinite(r.limit)?Math.min(Math.max(Math.floor(r.limit),1),100):100,s=[];for(let n of a){let r=Wt(n.emoji);if(!r)continue;let a=encodeURIComponent(r),c=await i.get(h.Routes.channelMessageReaction(e,t,a),{limit:o});s.push({emoji:{id:n.emoji.id??null,name:n.emoji.name??null,raw:Gt(n.emoji)},count:n.count,users:c.map(e=>({id:e.id,username:e.username,tag:e.username&&e.discriminator?`${e.username}#${e.discriminator}`:e.username}))})}return s}Object.defineProperty(exports,`$`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return yn}}),Object.defineProperty(exports,`At`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return ln}}),Object.defineProperty(exports,`Bt`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return gn}}),Object.defineProperty(exports,`Ct`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return vn}}),Object.defineProperty(exports,`Dt`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return Sn}}),Object.defineProperty(exports,`Et`,{enumerable:!0,get:function(){return Ce}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,`Ft`,{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return dn}}),Object.defineProperty(exports,`Ht`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return nn}}),Object.defineProperty(exports,`It`,{enumerable:!0,get:function(){return ye}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return cn}}),Object.defineProperty(exports,`Lt`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return pn}}),Object.defineProperty(exports,`Mt`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return un}}),Object.defineProperty(exports,`Nt`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return mn}}),Object.defineProperty(exports,`Ot`,{enumerable:!0,get:function(){return we}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return on}}),Object.defineProperty(exports,`Pt`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return fn}}),Object.defineProperty(exports,`Rt`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return _n}}),Object.defineProperty(exports,`St`,{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return bn}}),Object.defineProperty(exports,`Tt`,{enumerable:!0,get:function(){return Se}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`Ut`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return an}}),Object.defineProperty(exports,`Vt`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return $t}}),Object.defineProperty(exports,`Wt`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return Xt}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Qn}}),Object.defineProperty(exports,`_t`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Vr}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,`bt`,{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return wr}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Or}}),Object.defineProperty(exports,`dt`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`ft`,{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return $n}}),Object.defineProperty(exports,`gt`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return Yn}}),Object.defineProperty(exports,`ht`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Ur}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,`jt`,{enumerable:!0,get:function(){return be}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return Cn}}),Object.defineProperty(exports,`kt`,{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Dr}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return qe}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return or}}),Object.defineProperty(exports,`mt`,{enumerable:!0,get:function(){return ze}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Hr}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return yt}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return ar}}),Object.defineProperty(exports,`pt`,{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Wr}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Gr}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Tr}}),Object.defineProperty(exports,`ut`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return tr}}),Object.defineProperty(exports,`vt`,{enumerable:!0,get:function(){return Ge}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return hn}}),Object.defineProperty(exports,`wt`,{enumerable:!0,get:function(){return ke}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return xn}}),Object.defineProperty(exports,`xt`,{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return Zn}}),Object.defineProperty(exports,`yt`,{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`zt`,{enumerable:!0,get:function(){return v}});
8
+ //# sourceMappingURL=send-CLl490Gb.cjs.map
@@ -1 +1,2 @@
1
1
  const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Dd7r1qlB.cjs`),n=require(`./model-auth-D-7xiXhK.cjs`),r=require(`./logger-6O6OsYBL.cjs`),i=require(`./proxy-fetch-qbrYAz8k.cjs`),a=require(`./targets-X28mff4s.cjs`),o=require(`./ir-DanxCjD-.cjs`),s=require(`./render-DxBO2Blp.cjs`),c=require(`./load-options-Bb7u8yZz.cjs`),l=require(`./polls-BuaJuIpV.cjs`),u=require(`./channel-activity-D5D5tBWf.cjs`),d=require(`./fetch-BjXhwqrE.cjs`);let f=require(`node:path`);f=e.p(f);let p=require(`node:fs`);p=e.p(p);let m=require(`node:os`);m=e.p(m);let h=require(`json5`);h=e.p(h);let g=require(`node:crypto`);g=e.p(g);let _=require(`grammy`);function v(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function y(e){return((Array.isArray(e.groupAllowFrom)&&e.groupAllowFrom.length>0?e.groupAllowFrom:void 0)||(e.fallbackToAllowFrom===!1?[]:e.allowFrom??[])).map(e=>String(e).trim()).filter(Boolean)}function b(...e){for(let t of e)if(t!==void 0)return t}function x(e,t,n){return e.hasEntries?e.hasWildcard?!0:t?e.entries.includes(t):!1:n}function S(){return n.gn().filter(e=>e.pairing).map(e=>e.id)}function C(e){return n.hn(e)?.pairing??null}async function w(e,t){try{let n=r.b(await p.default.promises.readFile(e,`utf-8`));return n==null?{value:t,exists:!0}:{value:n,exists:!0}}catch(e){return e.code,{value:t,exists:!1}}}async function T(e,t){await n.zr(e,t,{mode:384,trailingNewline:!0,ensureDirMode:448})}const E={retries:{retries:10,factor:2,minTimeout:100,maxTimeout:1e4,randomize:!0},stale:3e4},D=new Map;function O(t=process.env){return e.o(t,e.c(t,()=>e.d(t,m.default.homedir)))}function k(e){let t=String(e).trim().toLowerCase();if(!t)throw Error(`invalid pairing channel`);let n=t.replace(/[\\/:*?"<>|]/g,`_`).replace(/\.\./g,`_`);if(!n||n===`_`)throw Error(`invalid pairing channel`);return n}function ee(e,t=process.env){return f.default.join(O(t),`${k(e)}-pairing.json`)}function A(e){let t=String(e).trim().toLowerCase();if(!t)throw Error(`invalid pairing account id`);let n=t.replace(/[\\/:*?"<>|]/g,`_`).replace(/\.\./g,`_`);if(!n||n===`_`)throw Error(`invalid pairing account id`);return n}function j(e,t=process.env,n){let r=k(e),i=typeof n==`string`?n.trim():``;return i?f.default.join(O(t),`${r}-${A(i)}-allowFrom.json`):f.default.join(O(t),`${r}-allowFrom.json`)}async function M(e,t){return await w(e,t)}async function N(e,t){await T(e,t)}async function te(e){let{value:t}=await M(e,{version:1,requests:[]});return Array.isArray(t.requests)?t.requests:[]}async function ne(e,t){try{await p.default.promises.access(e)}catch{await N(e,t)}}async function P(e,t,r){return await ne(e,t),await n.ys(e,E,async()=>await r())}function re(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function ie(e,t){let n=re(e.createdAt);return n?t-n>36e5:!0}function ae(e,t){let n=[],r=!1;for(let i of e){if(ie(i,t)){r=!0;continue}n.push(i)}return{requests:n,removed:r}}function oe(e){return re(e.lastSeenAt)??re(e.createdAt)??0}function se(e,t){return t<=0||e.length<=t?{requests:e,removed:!1}:{requests:e.slice().toSorted((e,t)=>oe(e)-oe(t)).slice(-t),removed:!0}}function ce(){let e=``;for(let t=0;t<8;t++){let t=g.default.randomInt(0,32);e+=`ABCDEFGHJKLMNPQRSTUVWXYZ23456789`[t]}return e}function le(e){for(let t=0;t<500;t+=1){let t=ce();if(!e.has(t))return t}throw Error(`failed to generate unique pairing code`)}function ue(e){return e?.trim().toLowerCase()||``}function de(e,t){return t?String(e.meta?.accountId??``).trim().toLowerCase()===t:!0}function fe(e){return!e||e===`default`}function pe(e){return ue(e)||`default`}function me(e){return String(e).trim()}function he(e,t){let n=t.trim();if(!n||n===`*`)return``;let r=C(e),i=r?.normalizeAllowEntry?r.normalizeAllowEntry(n):n;return String(i).trim()}function ge(e,t){return ve((Array.isArray(t.allowFrom)?t.allowFrom:[]).map(t=>he(e,String(t))).filter(Boolean))}function _e(e,t){return he(e,me(t))}function ve(e){let t=new Set,n=[];for(let r of e){let e=String(r).trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}async function F(e,t){return(await Se(e,t)).entries}function ye(e){return{exists:e.exists,mtimeMs:e.mtimeMs,size:e.size,entries:e.entries.slice()}}function I(e,t){D.set(e,ye(t))}function be(e){let t=D.get(e.filePath);return!t||t.exists!==e.exists||e.exists&&(t.mtimeMs!==e.mtimeMs||t.size!==e.size)?null:ye(t)}function xe(e,t){let n=be({filePath:e,exists:!!t,mtimeMs:t?.mtimeMs??null,size:t?.size??null});return n?{entries:n.entries,exists:n.exists}:t?null:(I(e,{exists:!1,mtimeMs:null,size:null,entries:[]}),{entries:[],exists:!1})}async function Se(e,t){let n=null;try{n=await p.default.promises.stat(t)}catch(e){if(e.code!==`ENOENT`)throw e}let r=xe(t,n);if(r)return r;if(!n)return{entries:[],exists:!1};let{value:i,exists:a}=await M(t,{version:1,allowFrom:[]}),o=ge(e,i);return I(t,{exists:a,mtimeMs:n.mtimeMs,size:n.size,entries:o}),{entries:o,exists:a}}async function Ce(e){let{value:t}=await M(e.filePath,{version:1,allowFrom:[]});return{current:ge(e.channel,t),normalized:_e(e.channel,e.entry)||null}}async function we(e,t){await N(e,{version:1,allowFrom:t});let n=null;try{n=await p.default.promises.stat(e)}catch{}I(e,{exists:!0,mtimeMs:n?.mtimeMs??null,size:n?.size??null,entries:t.slice()})}async function Te(e){let t=j(e.channel,e.env,e.accountId);return await F(e.channel,t)}async function Ee(e){let t=e.env??process.env,n=j(e.channel,t,e.accountId);return await P(n,{version:1,allowFrom:[]},async()=>{let{current:t,normalized:r}=await Ce({channel:e.channel,entry:e.entry,filePath:n});if(!r)return{changed:!1,allowFrom:t};let i=e.apply(t,r);return i?(await we(n,i),{changed:!0,allowFrom:i}):{changed:!1,allowFrom:t}})}async function De(e,t=process.env,n){let r=pe(n);if(!fe(r))return await Te({channel:e,env:t,accountId:r});let i=await F(e,j(e,t,r)),a=await F(e,j(e,t));return ve([...i,...a])}async function Oe(e){return await Ee({channel:e.channel,entry:e.entry,accountId:e.accountId,env:e.env,apply:e.apply})}async function ke(e,t){return await Oe({...e,apply:t})}async function Ae(e){return await ke(e,(e,t)=>e.includes(t)?null:[...e,t])}async function je(e){return await ke(e,(e,t)=>{let n=e.filter(e=>e!==t);return n.length===e.length?null:n})}async function Me(e){let t=e.env??process.env,n=ee(e.channel,t);return await P(n,{version:1,requests:[]},async()=>{let t=new Date().toISOString(),r=Date.now(),i=me(e.id),a=ue(e.accountId)||`default`,o={...e.meta&&typeof e.meta==`object`?Object.fromEntries(Object.entries(e.meta).map(([e,t])=>[e,String(t??``).trim()]).filter(([e,t])=>!!t)):void 0,accountId:a},s=await te(n),{requests:c,removed:l}=ae(s,r);s=c;let u=a,d=s.findIndex(e=>e.id===i?de(e,u):!1),f=new Set(s.map(e=>String(e.code??``).trim().toUpperCase()));if(d>=0){let e=s[d],r=(e&&typeof e.code==`string`?e.code.trim():``)||le(f),a={id:i,code:r,createdAt:e?.createdAt??t,lastSeenAt:t,meta:o??e?.meta};s[d]=a;let{requests:c}=se(s,3);return await N(n,{version:1,requests:c}),{code:r,created:!1}}let{requests:p,removed:m}=se(s,3);if(s=p,s.length>=3)return(l||m)&&await N(n,{version:1,requests:s}),{code:``,created:!1};let h=le(f),g={id:i,code:h,createdAt:t,lastSeenAt:t,...o?{meta:o}:{}};return await N(n,{version:1,requests:[...s,g]}),{code:h,created:!0}})}const Ne=new Set([`.oga`,`.ogg`,`.opus`,`.mp3`,`.m4a`]),Pe=new Set([`audio/ogg`,`audio/opus`,`audio/mpeg`,`audio/mp3`,`audio/mp4`,`audio/x-m4a`,`audio/m4a`]);function Fe(e){let n=t._(e.contentType);if(n&&Pe.has(n))return!0;let r=e.fileName?.trim();if(!r)return!1;let i=t.f(r);return i?Ne.has(i):!1}function Ie(e){return Fe(e)}function L(e){return e.trim().toLowerCase()}function Le(e){if(!e)return[];let t=e.trim();if(!t)return[];let n=t.toLowerCase();return[`0`,`false`,`off`,`none`].includes(n)?[]:[`1`,`true`,`all`,`*`].includes(n)?[`*`]:t.split(/[,\s]+/).map(L).filter(Boolean)}function Re(e){let t=new Set,n=[];for(let r of e){let e=L(r);!e||t.has(e)||(t.add(e),n.push(e))}return n}function ze(e,t=process.env){let n=Array.isArray(e?.diagnostics?.flags)?e?.diagnostics?.flags:[],r=Le(t.OPENCLAW_DIAGNOSTICS);return Re([...n,...r])}function Be(e,t){let n=L(e);if(!n)return!1;for(let e of t){let t=L(e);if(t){if(t===`*`||t===`all`)return!0;if(t.endsWith(`.*`)){let e=t.slice(0,-2);if(n===e||n.startsWith(`${e}.`))return!0}if(t.endsWith(`*`)){let e=t.slice(0,-1);if(n.startsWith(e))return!0}if(t===n)return!0}}return!1}function Ve(e,t,n=process.env){return Be(e,ze(t,n))}const He=r.O(`telegram/api`);function Ue(e,t){return t||(e?.error?e.error:e=>He.error(e))}async function We({operation:e,fn:t,runtime:i,logger:a,shouldLog:o}){try{return await t()}catch(t){if(!o||o(t)){let o=n.hi(t);Ue(i,a)(r.I(`telegram ${e} failed: ${o}`))}throw t}}function Ge(e){let t=e.source??(e.isLive?`live`:e.name||e.address?`place`:`pin`),n=!!(e.isLive??t===`live`);return{...e,source:t,isLive:n}}function Ke(e){return Number.isFinite(e)?` ±${Math.round(e??0)}m`:``}function qe(e,t){return`${e.toFixed(6)}, ${t.toFixed(6)}`}function Je(e){let t=Ge(e),n=qe(t.latitude,t.longitude),r=Ke(t.accuracy),i=t.caption?.trim(),a=``;return a=t.source===`live`||t.isLive?`🛰 Live location: ${n}${r}`:t.name||t.address?`📍 ${[t.name,t.address].filter(Boolean).join(` — `)} (${n}${r})`:`📍 ${n}${r}`,i?`${a}\n${i}`:a}function Ye(e){let t=Ge(e);return{LocationLat:t.latitude,LocationLon:t.longitude,LocationAccuracy:t.accuracy,LocationName:t.name,LocationAddress:t.address,LocationSource:t.source,LocationIsLive:t.isLive}}const Xe=new Set,Ze=r.O(`telegram/bot-access`);function Qe(e){if(!process.env.VITEST)for(let t of e)Xe.has(t)||(Xe.add(t),Ze.warn([`Invalid allowFrom entry:`,JSON.stringify(t),`- allowFrom/groupAllowFrom authorization expects numeric Telegram sender user IDs only.`,`To allow a Telegram group or supergroup, add its negative chat ID under "channels.telegram.groups" instead.`,`If you had "@username" entries, re-run onboarding (it resolves @username to IDs) or replace them manually.`].join(` `)))}const $e=e=>{let t=(e??[]).map(e=>String(e).trim()).filter(Boolean),n=t.includes(`*`),r=t.filter(e=>e!==`*`).map(e=>e.replace(/^(telegram|tg):/i,``)),i=r.filter(e=>!/^\d+$/.test(e));return i.length>0&&Qe([...new Set(i)]),{entries:r.filter(e=>/^\d+$/.test(e)),hasWildcard:n,hasEntries:t.length>0,invalidEntries:i}},et=e=>$e(v(e)),tt=e=>{let{allow:t,senderId:n}=e;return x(t,n,!0)},nt=e=>{let{allow:t,senderId:n}=e;return t.hasWildcard?{allowed:!0,matchKey:`*`,matchSource:`wildcard`}:t.hasEntries&&n&&t.entries.includes(n)?{allowed:!0,matchKey:n,matchSource:`id`}:{allowed:!1}};async function rt(e){let n=t.zt(e.accountId),r=at({isGroup:e.isGroup??!1,isForum:e.isForum,messageThreadId:e.messageThreadId}),i=r.scope===`forum`?r.id:void 0,a=r.scope===`dm`?r.id:void 0,o=i??a,s=await De(`telegram`,process.env,n).catch(()=>[]),{groupConfig:c,topicConfig:l}=e.resolveTelegramGroupConfig(e.chatId,o),u=b(l?.allowFrom,c?.allowFrom);return{resolvedThreadId:i,dmThreadId:a,storeAllowFrom:s,groupConfig:c,topicConfig:l,groupAllowOverride:u,effectiveGroupAllow:$e(u??e.groupAllowFrom),hasGroupAllowOverride:u!==void 0}}function it(e){if(e.isForum)return e.messageThreadId==null?1:e.messageThreadId}function at(e){return e.isGroup?{id:it({isForum:e.isForum,messageThreadId:e.messageThreadId}),scope:e.isForum?`forum`:`none`}:e.messageThreadId==null?{scope:`dm`}:{id:e.messageThreadId,scope:`dm`}}function ot(e){if(e?.id==null)return;let t=Math.trunc(e.id);if(e.scope===`dm`)return t>0?{message_thread_id:t}:void 0;if(t!==1)return{message_thread_id:t}}function st(e){if(e!=null)return{message_thread_id:Math.trunc(e)}}function ct(e){return n.as(e)}function lt(e,t){return t==null?String(e):`${e}:topic:${t}`}function ut(e){return(e.senderId==null?``:String(e.senderId).trim())||String(e.chatId)}function dt(e,t){return`telegram:group:${lt(e,t)}`}function ft(e){if(!(!e.isGroup||e.resolvedThreadId==null))return{kind:`group`,id:String(e.chatId)}}function pt(e){return[e.from?.first_name,e.from?.last_name].filter(Boolean).join(` `).trim()||e.from?.username||void 0}function mt(e){if(e){if(e.photo)return`<media:image>`;if(e.video||e.video_note)return`<media:video>`;if(e.audio||e.voice)return`<media:audio>`;if(e.document)return`<media:document>`;if(e.sticker)return`<media:sticker>`}}function ht(e,t){let n=pt(e),r=e.from?.username?`@${e.from.username}`:void 0,i=n;n&&r?i=`${n} (${r})`:!n&&r&&(i=r);let a=(t!=null&&`${t}`.trim()?`${t}`.trim():void 0)??(e.from?.id==null?void 0:String(e.from.id)),o=a?`id:${a}`:void 0;return i&&o?`${i} ${o}`:i||(o??`id:unknown`)}function gt(e,t,n){let r=e.chat?.title,i=n==null?``:` topic:${n}`;return r?`${r} id:${t}${i}`:`group:${t}${i}`}function _t(e){return{text:e.text??e.caption??``,entities:e.entities??e.caption_entities??[]}}function vt(e){return e!=null&&/[a-z0-9_]/i.test(e)}function yt(e,t){let n=0;for(;n<e.length;){let r=e.indexOf(t,n);if(r===-1)return!1;let i=r>0?e[r-1]:void 0,a=e[r+t.length];if(!vt(i)&&!vt(a))return!0;n=r+1}return!1}function bt(e,t){let{text:n,entities:r}=_t(e),i=`@${t}`.toLowerCase();if(yt(n.toLowerCase(),i))return!0;for(let e of r)if(e.type===`mention`&&n.slice(e.offset,e.offset+e.length).toLowerCase()===i)return!0;return!1}function xt(e,t){if(!e||!t?.length)return e;let n=t.filter(e=>e.type===`text_link`&&!!e.url).toSorted((e,t)=>t.offset-e.offset);if(n.length===0)return e;let r=e;for(let t of n){let n=`[${e.slice(t.offset,t.offset+t.length)}](${t.url})`;r=r.slice(0,t.offset)+n+r.slice(t.offset+t.length)}return r}function St(e){if(!e)return;let t=Number(e);if(Number.isFinite(t))return t}function Ct(e){let t=e.reply_to_message,n=e.external_reply,r=e.quote?.text??n?.quote?.text,i=``,a=`reply`;typeof r==`string`&&(i=r.trim(),i&&(a=`quote`));let o=t??n;if(!i&&o&&(i=(o.text??o.caption??``).trim(),!i&&(i=mt(o)??``,!i))){let e=jt(o);e&&(i=Je(e))}if(!i)return null;let s=(o?pt(o):void 0)??`unknown sender`,c=o?.forward_origin?kt(o.forward_origin)??void 0:void 0;return{id:o?.message_id?String(o.message_id):void 0,sender:s,body:i,kind:a,forwardedFrom:c}}function wt(e){let t=[e.first_name,e.last_name].filter(Boolean).join(` `).trim(),n=e.username?.trim()||void 0,r=String(e.id);return{display:(t&&n?`${t} (@${n})`:t||(n?`@${n}`:void 0))||`user:${r}`,name:t||void 0,username:n,id:r}}function Tt(e,t){let n=e.title?.trim()||void 0,r=e.username?.trim()||void 0,i=String(e.id);return{display:n||(r?`@${r}`:void 0)||`${t}:${i}`,title:n,username:r,id:i}}function Et(e){let{display:t,name:n,username:r,id:i}=wt(e.user);return t?{from:t,date:e.date,fromType:e.type,fromId:i,fromUsername:r,fromTitle:n}:null}function Dt(e){let t=e.name?.trim();return t?{from:t,date:e.date,fromType:e.type,fromTitle:t}:null}function Ot(e){let t=e.type===`channel`?`channel`:`chat`,{display:n,title:r,username:i,id:a}=Tt(e.chat,t);if(!n)return null;let o=e.signature?.trim()||void 0,s=o?`${n} (${o})`:n,c=e.chat.type?.trim()||void 0;return{from:s,date:e.date,fromType:e.type,fromId:a,fromUsername:i,fromTitle:r,fromSignature:o,fromChatType:c,fromMessageId:e.messageId}}function kt(e){switch(e.type){case`user`:return Et({user:e.sender_user,date:e.date,type:`user`});case`hidden_user`:return Dt({name:e.sender_user_name,date:e.date,type:`hidden_user`});case`chat`:return Ot({chat:e.sender_chat,date:e.date,type:`chat`,signature:e.author_signature});case`channel`:return Ot({chat:e.chat,date:e.date,type:`channel`,signature:e.author_signature,messageId:e.message_id});default:return null}}function At(e){return e.forward_origin?kt(e.forward_origin):null}function jt(e){let{venue:t,location:n}=e;if(t)return{latitude:t.location.latitude,longitude:t.location.longitude,accuracy:t.location.horizontal_accuracy,name:t.title,address:t.address,source:`place`,isLive:!1};if(n){let e=typeof n.live_period==`number`&&n.live_period>0;return{latitude:n.latitude,longitude:n.longitude,accuracy:n.horizontal_accuracy,source:e?`live`:`pin`,isLive:e}}return null}function Mt(e){let t=e?.trim()??``;return t?t.length>1024?{caption:void 0,followUpText:t}:{caption:t,followUpText:void 0}:{caption:void 0,followUpText:void 0}}function R(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function Nt(e){return R(e).replace(/"/g,`&quot;`)}const Pt=new Set([`md`,`go`,`py`,`pl`,`sh`,`am`,`at`,`be`,`cc`]);function Ft(e,t){if(e.replace(/^https?:\/\//i,``)!==t)return!1;let n=t.lastIndexOf(`.`);if(n<1)return!1;let r=t.slice(n+1).toLowerCase();if(!Pt.has(r))return!1;let i=t.split(`/`);if(i.length>1){for(let e=0;e<i.length-1;e++)if(i[e].includes(`.`))return!1}return!0}function It(e,t){let n=e.href.trim();if(!n||e.start===e.end||Ft(n,t.slice(e.start,e.end)))return null;let r=Nt(n);return{start:e.start,end:e.end,open:`<a href="${r}">`,close:`</a>`}}function Lt(e){return s.t(e,{styleMarkers:{bold:{open:`<b>`,close:`</b>`},italic:{open:`<i>`,close:`</i>`},strikethrough:{open:`<s>`,close:`</s>`},code:{open:`<code>`,close:`</code>`},code_block:{open:`<pre><code>`,close:`</code></pre>`},spoiler:{open:`<tg-spoiler>`,close:`</tg-spoiler>`},blockquote:{open:`<blockquote>`,close:`</blockquote>`}},escapeText:R,buildLink:It})}function Rt(e,t={}){let n=Lt(o.n(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:t.tableMode}));return t.wrapFileRefs===!1?n:Kt(n)}function zt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}const Bt=Array.from(Pt).map(zt).join(`|`),Vt=/<a\s+href="https?:\/\/([^"]+)"[^>]*>\1<\/a>/gi,Ht=RegExp(`(^|[^a-zA-Z0-9_\\-/])([a-zA-Z0-9_.\\-./]+\\.(?:${Bt}))(?=$|[^a-zA-Z0-9_\\-/])`,`gi`),Ut=RegExp(`([^a-zA-Z0-9]|^)([A-Za-z]\\.(?:${Bt}))(?=[^a-zA-Z0-9/]|$)`,`g`),z=/(<\/?)([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*?>/gi;function Wt(e,t,n){return n.startsWith(`//`)||/https?:\/\/$/i.test(t)?e:`${t}<code>${R(n)}</code>`}function Gt(e,t,n,r){return!e||t>0||n>0||r>0?e:e.replace(Ht,Wt).replace(Ut,(e,t,n)=>t===`>`?e:`${t}<code>${R(n)}</code>`)}function Kt(e){Vt.lastIndex=0;let t=e.replace(Vt,(e,t)=>Ft(`http://${t}`,t)?`<code>${R(t)}</code>`:e),n=0,r=0,i=0,a=``,o=0;z.lastIndex=0;let s;for(;(s=z.exec(t))!==null;){let e=s.index,c=z.lastIndex,l=s[1]===`</`,u=s[2].toLowerCase(),d=t.slice(o,e);a+=Gt(d,n,r,i),u===`code`?n=l?Math.max(0,n-1):n+1:u===`pre`?r=l?Math.max(0,r-1):r+1:u===`a`&&(i=l?Math.max(0,i-1):i+1),a+=t.slice(e,c),o=c}let c=t.slice(o);return a+=Gt(c,n,r,i),a}function qt(e,t={}){return(t.textMode??`markdown`)===`html`?e:Rt(e,{tableMode:t.tableMode})}const Jt=new Set([`br`]);function Yt(e){return e.map(e=>e.openTag).join(``)}function Xt(e){return e.slice().toReversed().map(e=>e.closeTag).join(``)}function Zt(e){return e.reduce((e,t)=>e+t.closeTag.length,0)}function Qt(e,t){if(e[t]!==`&`)return-1;let n=t+1;if(n>=e.length)return-1;if(e[n]===`#`){if(n+=1,n>=e.length)return-1;if(e[n]===`x`||e[n]===`X`){n+=1;let t=n;for(;/[0-9A-Fa-f]/.test(e[n]??``);)n+=1;if(n===t)return-1}else{let t=n;for(;/[0-9]/.test(e[n]??``);)n+=1;if(n===t)return-1}}else{let t=n;for(;/[A-Za-z0-9]/.test(e[n]??``);)n+=1;if(n===t)return-1}return e[n]===`;`?n:-1}function $t(e,t){if(e.length<=t)return e.length;let n=Math.max(1,Math.floor(t)),r=e.lastIndexOf(`&`,n-1);if(r===-1||r<e.lastIndexOf(`;`,n-1))return n;let i=Qt(e,r);return i===-1||i<n?n:r}function en(e,t){for(let n=e.length-1;n>=0;--n)if(e[n]?.name===t){e.splice(n,1);return}}function tn(e,t){if(!e)return[];let n=Math.max(1,Math.floor(t));if(e.length<=n)return[e];let r=[],i=[],a=``,o=!1,s=()=>{a=Yt(i),o=!1},c=()=>{o&&(r.push(`${a}${Xt(i)}`),s())},l=e=>{let t=e;for(;t.length>0;){let e=n-a.length-Zt(i);if(e<=0){if(!o)throw Error(`Telegram HTML chunk limit exceeded by tag overhead (limit=${n})`);c();continue}if(t.length<=e){a+=t,o=!0;break}let r=$t(t,e);if(r<=0){if(!o)throw Error(`Telegram HTML chunk limit exceeded by leading entity (limit=${n})`);c();continue}a+=t.slice(0,r),o=!0,t=t.slice(r),c()}};s(),z.lastIndex=0;let u=0,d;for(;(d=z.exec(e))!==null;){let t=d.index,r=z.lastIndex;l(e.slice(u,t));let s=d[0],f=d[1]===`</`,p=d[2].toLowerCase(),m=!f&&(Jt.has(p)||s.trimEnd().endsWith(`/>`));if(!f){let e=m?0:`</${p}>`.length;o&&a.length+s.length+Zt(i)+e>n&&c()}a+=s,m&&(o=!0),f?en(i,p):m||i.push({name:p,openTag:s,closeTag:`</${p}>`}),u=r}return l(e.slice(u)),c(),r.length>0?r:[e]}function nn(e,t,n){let r=e.text.length;if(r<=1)return[e];let i=Math.floor(r*t/Math.max(n,1)),a=Math.min(r-1,i),o=on(e,Number.isFinite(a)&&a>0?a:Math.max(1,Math.floor(r/2)));return o.length>1?o:on(e,Math.max(1,Math.floor(r/2)))}function rn(e,t,n){return e.flatMap(e=>{if(e.end<=t||e.start>=n)return[];let r=Math.max(e.start,t)-t,i=Math.min(e.end,n)-t;return i<=r?[]:[{...e,start:r,end:i}]})}function an(e,t,n){return e.flatMap(e=>{if(e.end<=t||e.start>=n)return[];let r=Math.max(e.start,t)-t,i=Math.min(e.end,n)-t;return i<=r?[]:[{...e,start:r,end:i}]})}function on(e,t){if(!e.text)return[];let n=Math.max(1,Math.floor(t));if(n<=0||e.text.length<=n)return[e];let r=[],i=0;for(;i<e.text.length;){let t=Math.min(e.text.length,i+n);r.push({text:e.text.slice(i,t),styles:rn(e.styles,i,t),links:an(e.links,i,t)}),i=t}return r}function sn(e,t){let n=Math.max(1,Math.floor(t)),r=o.t(e,n),i=[];for(;r.length>0;){let e=r.shift();if(!e)continue;let t=Kt(Lt(e));if(t.length<=n||e.text.length<=1){i.push({html:t,text:e.text});continue}let a=nn(e,n,t.length);if(a.length<=1){i.push({html:t,text:e.text});continue}r.unshift(...a)}return i}function cn(e,t,n={}){return sn(o.n(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:n.tableMode}),t)}const ln=new Set([`ECONNRESET`,`ECONNREFUSED`,`EPIPE`,`ETIMEDOUT`,`ESOCKETTIMEDOUT`,`ENETUNREACH`,`EHOSTUNREACH`,`ENOTFOUND`,`EAI_AGAIN`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`,`UND_ERR_SOCKET`,`UND_ERR_ABORTED`,`ECONNABORTED`,`ERR_NETWORK`]),un=new Set([`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`ENETUNREACH`,`EHOSTUNREACH`]),dn=new Set([`AbortError`,`TimeoutError`,`ConnectTimeoutError`,`HeadersTimeoutError`,`BodyTimeoutError`]),fn=new Set([`fetch failed`,`typeerror: fetch failed`]),pn=/^network request(?:\s+for\s+["']?[^"']+["']?)?\s+failed\s+after\b.*[!.]?$/i,mn=[`undici`,`network error`,`network request`,`client network socket disconnected`,`socket hang up`,`getaddrinfo`,`timeout`,`timed out`];function hn(e){return n.pi(e,e=>{let t=[e.cause,e.reason];return Array.isArray(e.errors)&&t.push(...e.errors),n._i(e)===`HttpError`&&t.push(e.error),t})}function gn(e){return e?.trim().toUpperCase()??``}function _n(e){let t=n.mi(e);if(t)return t;if(!e||typeof e!=`object`)return;let r=e.errno;if(typeof r==`string`)return r;if(typeof r==`number`)return String(r)}function vn(e){if(!e)return!1;for(let t of hn(e)){let e=gn(_n(t));if(e&&un.has(e))return!0}return!1}function yn(e,t){for(let n of hn(e)){if(!n||typeof n!=`object`||!(`error_code`in n))continue;let e=n.error_code;if(typeof e==`number`&&t(e))return!0}return!1}function bn(e){return yn(e,e=>e>=500)}function xn(e){return yn(e,e=>e>=400&&e<500)}function B(e,t={}){if(!e)return!1;let r=typeof t.allowMessageMatch==`boolean`?t.allowMessageMatch:t.context!==`send`;for(let t of hn(e)){let e=gn(_n(t));if(e&&ln.has(e))return!0;let i=n._i(t);if(i&&dn.has(i))return!0;let a=n.hi(t).trim().toLowerCase();if(a&&fn.has(a)||a&&pn.test(a)||r&&a&&mn.some(e=>a.includes(e)))return!0}return!1}const Sn=new Map;function Cn(e){return String(e)}function wn(e){let t=Date.now();for(let[n,r]of e.timestamps)t-r>864e5&&e.timestamps.delete(n)}function V(e,t){let n=Cn(e),r=Sn.get(n);r||(r={timestamps:new Map},Sn.set(n,r)),r.timestamps.set(t,Date.now()),r.timestamps.size>100&&wn(r)}function Tn(e,t){let n=Cn(e),r=Sn.get(n);return r?(wn(r),r.timestamps.has(t)):!1}const En=f.default.join(r.a,`cron`),Dn=f.default.join(En,`jobs.json`),H=new Map;function On(t){if(t?.trim()){let n=t.trim();return n.startsWith(`~`)?f.default.resolve(e.l(n)):f.default.resolve(n)}return Dn}async function kn(e){try{let t=await p.default.promises.readFile(e,`utf-8`),n;try{n=h.default.parse(t)}catch(t){throw Error(`Failed to parse cron store at ${e}: ${String(t)}`,{cause:t})}let r=n&&typeof n==`object`&&!Array.isArray(n)?n:{},i={version:1,jobs:(Array.isArray(r.jobs)?r.jobs:[]).filter(Boolean)};return H.set(e,JSON.stringify(i,null,2)),i}catch(t){if(t?.code===`ENOENT`)return H.delete(e),{version:1,jobs:[]};throw t}}async function An(e){await p.default.promises.chmod(e,384).catch(()=>void 0)}async function jn(e,t,n){let r=f.default.dirname(e);await p.default.promises.mkdir(r,{recursive:!0,mode:448}),await p.default.promises.chmod(r,448).catch(()=>void 0);let i=JSON.stringify(t,null,2),a=H.get(e);if(a===i)return;let o=a??null;if(o===null)try{o=await p.default.promises.readFile(e,`utf-8`)}catch(e){if(e.code!==`ENOENT`)throw e}if(o===i){H.set(e,i);return}let s=`${e}.${process.pid}.${(0,g.randomBytes)(8).toString(`hex`)}.tmp`;if(await p.default.promises.writeFile(s,i,{encoding:`utf-8`,mode:384}),await An(s),o!==null&&!n?.skipBackup)try{let t=`${e}.bak`;await p.default.promises.copyFile(e,t),await An(t)}catch{}await Mn(s,e),await An(e),H.set(e,i)}async function Mn(e,t){for(let n=0;n<=3;n++)try{await p.default.promises.rename(e,t);return}catch(r){let i=r.code;if(i===`EBUSY`&&n<3){await new Promise(e=>setTimeout(e,50*2**n));continue}if(i===`EPERM`||i===`EEXIST`){await p.default.promises.copyFile(e,t),await p.default.promises.unlink(e).catch(()=>{});return}throw r}}const U=r.O(`telegram/target-writeback`);function Nn(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function Pn(e){let t=a.n(e);if(t)return t.startsWith(`@`)?t.toLowerCase():t}function Fn(e){let t=a.r(e),n=Pn(t.chatId);if(n)return`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`}function In(e){let{raw:t,parsed:n,resolvedChatId:r}=e;return n.messageThreadId==null?r:t.includes(`:topic:`)?`${r}:topic:${n.messageThreadId}`:`${r}:${n.messageThreadId}`}function Ln(e){let t=a.r(e.raw);if(a.t(t.chatId))return null;let n=Pn(t.chatId);return n?{matchKey:`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`,resolvedTarget:In({raw:e.raw,parsed:t,resolvedChatId:e.resolvedChatId})}:null}function Rn(e){if(typeof e.rawValue!=`string`&&typeof e.rawValue!=`number`)return null;let t=String(e.rawValue).trim();return!t||Fn(t)!==e.matchKey?null:e.resolvedTarget}function zn(e){let t=!1,n=Nn(e.cfg.channels?.telegram);if(!n)return t;let r=(n,r)=>{let i=Rn({rawValue:n[r],matchKey:e.matchKey,resolvedTarget:e.resolvedTarget});i&&(n[r]=i,t=!0)};r(n,`defaultTo`);let i=Nn(n.accounts);if(!i)return t;for(let e of Object.keys(i)){let t=Nn(i[e]);t&&r(t,`defaultTo`)}return t}async function Bn(e){let t=e.rawTarget.trim();if(!t)return;let r=Ln({raw:t,resolvedChatId:e.resolvedChatId});if(!r)return;let{matchKey:i,resolvedTarget:a}=r;try{let{snapshot:r,writeOptions:o}=await n.ja(),s=structuredClone(r.config??{});zn({cfg:s,matchKey:i,resolvedTarget:a})&&(await n.Pa(s,o),e.verbose&&U.warn(`resolved Telegram defaultTo target ${t} -> ${a}`))}catch(n){e.verbose&&U.warn(`failed to persist Telegram defaultTo target ${t}: ${String(n)}`)}try{let n=On(e.cfg.cron?.store),r=await kn(n),o=!1;for(let e of r.jobs){if(e.delivery?.channel!==`telegram`)continue;let t=Rn({rawValue:e.delivery.to,matchKey:i,resolvedTarget:a});t&&(e.delivery.to=t,o=!0)}o&&(await jn(n,r),e.verbose&&U.warn(`resolved Telegram cron delivery target ${t} -> ${a}`))}catch(n){e.verbose&&U.warn(`failed to persist Telegram cron target ${t}: ${String(n)}`)}}function Vn(e){return e.wantsVoice?Fe(e)?{useVoice:!0}:{useVoice:!1,reason:`media is ${e.contentType??`unknown`} (${e.fileName??`unknown`})`}:{useVoice:!1}}function Hn(e){let t=Vn(e);return t.reason&&e.logFallback&&e.logFallback(`Telegram voice requested but ${t.reason}; sending as audio file instead.`),{useVoice:t.useVoice}}function W(e,t){if(typeof e?.message_id==`number`&&Number.isFinite(e.message_id))return Math.trunc(e.message_id);throw Error(`Telegram ${t} returned no message_id`)}function Un(e,t){if(!e)return[];let n=Math.max(1,Math.floor(t)),r=[];for(let t=0;t<e.length;t+=n)r.push(e.slice(t,t+n));return r}function Wn(e,t,n){if(!e)return[];let r=Math.max(1,Math.floor(n)),i=Un(e,r);if(t<=1||i.length>=t)return i;let a=[],o=0;for(let n=0;n<t;n+=1){let i=e.length-o,s=t-n,c=s===1?i:Math.min(r,Math.ceil(i/s));a.push(e.slice(o,o+c)),o+=c}return a}const Gn=/can't parse entities|parse entities|find end of the entity/i,Kn=/400:\s*Bad Request:\s*message thread not found/i,qn=/400:\s*Bad Request:\s*message is not modified|MESSAGE_NOT_MODIFIED/i,Jn=/400: Bad Request: chat not found/i,Yn=r.O(`telegram/send`),Xn=r.O(`telegram/diagnostic`),G=new Map;function Zn(e){return Ve(`telegram.http`,e)?(e,r)=>{if(!(r instanceof _.HttpError))return;let i=t.N(n.gi(r.error??r));Xn.warn(`telegram http error (${e}): ${i}`)}:()=>{}}function Qn(){return!process.env.VITEST&&!0}function $n(e){let t=e.account.config.proxy?.trim()??``,n=e.account.config.network?.autoSelectFamily,r=typeof n==`boolean`?String(n):`default`,i=e.account.config.network?.dnsResultOrder??`default`,a=typeof e.timeoutSeconds==`number`?String(e.timeoutSeconds):`default`;return`${e.account.accountId}::${t}::${r}::${i}::${a}`}function er(e,t){if(G.set(e,t),G.size>64){let e=G.keys().next().value;e!==void 0&&G.delete(e)}return t}function tr(e){let t=typeof e.config.timeoutSeconds==`number`&&Number.isFinite(e.config.timeoutSeconds)?Math.max(1,Math.floor(e.config.timeoutSeconds)):void 0,n=Qn()?$n({account:e,timeoutSeconds:t}):null;if(n&&G.has(n))return G.get(n);let r=e.config.proxy?.trim(),a=d.t(r?i.n(r):void 0,{network:e.config.network}),o=a||t?{...a?{fetch:a}:{},...t?{timeoutSeconds:t}:{}}:void 0;return n?er(n,o):o}function nr(e,t){if(e?.trim())return e.trim();if(!t.token)throw Error(`Telegram bot token missing for account "${t.accountId}" (set channels.telegram.accounts.${t.accountId}.botToken/tokenFile or TELEGRAM_BOT_TOKEN for default).`);return t.token.trim()}async function rr(e,t){let r=a.t(e);if(r)return r;let i=a.n(e),o=t.api.getChat;if(!i||typeof o!=`function`)throw Error(`Telegram recipient must be a numeric chat ID`);try{let e=await o.call(t.api,i),n=a.t(String(e?.id??``));if(!n)throw Error(`resolved chat id is not numeric (${String(e?.id??``)})`);return t.verbose&&Yn.warn(`telegram recipient ${i} resolved to numeric chat id ${n}`),n}catch(e){let t=n.hi(e);throw Error(`Telegram recipient ${i} could not be resolved to a numeric chat ID (${t})`,{cause:e})}}async function K(e){let t=await rr(e.lookupTarget,{api:e.api,verbose:e.verbose});return await Bn({cfg:e.cfg,rawTarget:e.persistTarget,resolvedChatId:t,verbose:e.verbose}),t}function q(e){if(typeof e==`number`&&Number.isFinite(e))return Math.trunc(e);if(typeof e==`string`){let t=e.trim();if(!t)throw Error(`Message id is required for Telegram actions`);let n=Number.parseInt(t,10);if(Number.isFinite(n))return n}throw Error(`Message id is required for Telegram actions`)}function ir(e){return Kn.test(n.hi(e))}function J(e){return qn.test(n.hi(e))}function ar(e){if(!e)return!1;let t=e.message_thread_id;return typeof t==`number`?Number.isFinite(t):typeof t==`string`?t.trim().length>0:!1}function or(e){if(!e||!ar(e))return e;let t={...e};return delete t.message_thread_id,Object.keys(t).length>0?t:void 0}function sr(e){return Gn.test(n.hi(e))}function cr(e){let t=e.messageThreadId==null?e.targetMessageThreadId:e.messageThreadId,n=e.chatType===`direct`?`dm`:`forum`,r=ot(t==null?void 0:{id:t,scope:n}),i=r?{...r}:{};if(e.replyToMessageId!=null){let t=Math.trunc(e.replyToMessageId);e.quoteText?.trim()?i.reply_parameters={message_id:t,quote:e.quoteText.trim()}:i.reply_to_message_id=t}return i}async function lr(e){try{return await e.requestHtml(e.label)}catch(t){if(!sr(t))throw t;return e.verbose&&Yn.warn(`telegram ${e.label} failed with HTML parse error, retrying as plain text: ${n.hi(t)}`),await e.requestPlain(`${e.label}-plain`)}}function Y(e){let t=e.cfg??n.Oa(),r=n.Dn({cfg:t,accountId:e.accountId}),i=nr(e.token,r),a=tr(r);return{cfg:t,account:r,api:e.api??new _.Bot(i,a?{client:a}:void 0).api}}function X(e){let t=u.i({retry:e.retry,configRetry:e.account.config.retry,verbose:e.verbose,...e.shouldRetry?{shouldRetry:e.shouldRetry}:{},...e.strictShouldRetry?{strictShouldRetry:!0}:{}}),n=Zn(e.cfg);return(r,i,a)=>{let o=()=>t(r,i);return(e.useApiErrorLogging===!1?o():We({operation:i??`request`,fn:o,...a?.shouldLog?{shouldLog:a.shouldLog}:{}})).catch(e=>{throw n(i??`request`,e),e})}}function ur(e,t){return Jn.test(n.hi(e))?Error([`Telegram send failed: chat not found (chat_id=${t.chatId}).`,`Likely: bot not started in DM, bot removed from group/channel, group migrated (new -100… id), or wrong bot token.`,`Input was: ${JSON.stringify(t.input)}.`].join(` `)):e}async function Z(e,t,r,i){try{return await i(e,t)}catch(a){if(!ar(e)||!ir(a))throw a;return r&&Yn.warn(`telegram ${t} failed with message_thread_id, retrying without thread: ${n.hi(a)}`),await i(or(e),`${t}-threadless`)}}function Q(e){return async(t,n)=>e.requestWithDiag(t,n).catch(t=>{throw ur(t,{chatId:e.chatId,input:e.input})})}function dr(e){return X({cfg:e.cfg,account:e.account,retry:e.retry,verbose:e.verbose,useApiErrorLogging:e.useApiErrorLogging,shouldRetry:e=>vn(e),strictShouldRetry:!0})}function $(e){if(!e?.length)return;let t=e.map(e=>e.filter(e=>e?.text&&e?.callback_data).map(e=>({text:e.text,callback_data:e.callback_data,...e.style?{style:e.style}:{}}))).filter(e=>e.length>0);if(t.length!==0)return{inline_keyboard:t}}async function fr(e,i,s={}){let{cfg:l,account:d,api:f}=Y(s),p=a.r(e),m=await K({cfg:l,api:f,lookupTarget:p.chatId,persistTarget:e,verbose:s.verbose}),h=s.mediaUrl?.trim(),g=s.maxBytes??(typeof d.config.mediaMaxMb==`number`?d.config.mediaMaxMb:100)*1024*1024,v=$(s.buttons),y=cr({targetMessageThreadId:p.messageThreadId,messageThreadId:s.messageThreadId,chatType:p.chatType,replyToMessageId:s.replyToMessageId,quoteText:s.quoteText}),b=Object.keys(y).length>0,x=Q({requestWithDiag:dr({cfg:l,account:d,retry:s.retry,verbose:s.verbose}),chatId:m,input:e}),S=s.textMode??`markdown`,C=o.s({cfg:l,channel:`telegram`,accountId:d.accountId}),w=e=>qt(e,{textMode:S,tableMode:C}),T=d.config.linkPreview??!0?void 0:{is_disabled:!0},E=async(e,t)=>await Z(t,`message`,s.verbose,async(t,n)=>{let r=t?{...t}:{};T&&(r.link_preview_options=T);let i={...r,...s.silent===!0?{disable_notification:!0}:{}},a=Object.keys(i).length>0,o=t=>x(()=>a?f.sendMessage(m,e.plainText,i):f.sendMessage(m,e.plainText),t);if(!e.htmlText)return await o(n);let c=e.htmlText,l={parse_mode:`HTML`,...i};return await lr({label:n,verbose:s.verbose,requestHtml:e=>x(()=>f.sendMessage(m,c,l),e),requestPlain:o})}),D=e=>b||e&&v?{...y,...e&&v?{reply_markup:v}:{}}:void 0,O=async(e,t)=>{let n=``,r=m;for(let i=0;i<e.length;i+=1){let a=e[i];if(!a)continue;let o=await E(a,D(i===e.length-1)),s=W(o,t);V(m,s),n=String(s),r=String(o?.chat?.id??m)}return{messageId:n,chatId:r}},k=(e,t)=>{let i=s.plainText??e,a;try{a=tn(e,4e3)}catch(e){return r.R(`telegram ${t} failed HTML chunk planning, retrying as plain text: ${n.hi(e)}`),Un(i,4e3).map(e=>({plainText:e}))}let o=Un(i,4e3);if(o.length>a.length)return r.R(`telegram ${t} plain-text fallback needs more chunks than HTML; sending plain text`),o.map(e=>({plainText:e}));let c=Wn(i,a.length,4e3);return a.map((e,t)=>({htmlText:e,plainText:c[t]??e}))},ee=async(e,t)=>await O(k(e,t),t);if(h){let e=await o.a(h,c.t({maxBytes:g,mediaLocalRoots:s.mediaLocalRoots})),n=t.g(e.contentType??void 0),a=t.h({contentType:e.contentType,fileName:e.fileName}),l=n===`video`&&s.asVideoNote===!0,p=e.fileName??(a?`animation.gif`:vr(n??`document`))??`file`,C=new _.InputFile(e.buffer,p),T,E;if(l)T=void 0,E=i.trim()?i:void 0;else{let e=Mt(i);T=e.caption,E=e.followUpText}let D=T?w(T):void 0,k=!!E,A={...b?y:{},...!k&&v?{reply_markup:v}:{}},j={...D?{caption:D,parse_mode:`HTML`}:{},...A,...s.silent===!0?{disable_notification:!0}:{}},M=async(e,t)=>await Z(j,e,s.verbose,async(e,n)=>x(()=>t(e),n)),N=(()=>{if(a)return{label:`animation`,sender:e=>f.sendAnimation(m,C,e)};if(n===`image`)return{label:`photo`,sender:e=>f.sendPhoto(m,C,e)};if(n===`video`)return l?{label:`video_note`,sender:e=>f.sendVideoNote(m,C,e)}:{label:`video`,sender:e=>f.sendVideo(m,C,e)};if(n===`audio`){let{useVoice:t}=Hn({wantsVoice:s.asVoice===!0,contentType:e.contentType,fileName:p,logFallback:r.R});return t?{label:`voice`,sender:e=>f.sendVoice(m,C,e)}:{label:`audio`,sender:e=>f.sendAudio(m,C,e)}}return{label:`document`,sender:e=>f.sendDocument(m,C,e)}})(),te=await M(N.label,N.sender),ne=W(te,`media send`),P=String(te?.chat?.id??m);return V(m,ne),u.n({channel:`telegram`,accountId:d.accountId,direction:`outbound`}),k&&E?S===`html`?{messageId:(await ee(E,`text follow-up send`)).messageId,chatId:P}:{messageId:(await O([{plainText:E,htmlText:w(E)}],`text follow-up send`)).messageId,chatId:P}:{messageId:String(ne),chatId:P}}if(!i||!i.trim())throw Error(`Message must be non-empty for Telegram sends`);let A;return A=S===`html`?await ee(i,`text send`):await O([{plainText:s.plainText??i,htmlText:w(i)}],`text send`),u.n({channel:`telegram`,accountId:d.accountId,direction:`outbound`}),A}async function pr(e,t={}){let{cfg:n,account:r,api:i}=Y(t),o=a.r(e),s=await K({cfg:n,api:i,lookupTarget:o.chatId,persistTarget:e,verbose:t.verbose}),c=X({cfg:n,account:r,retry:t.retry,verbose:t.verbose,shouldRetry:e=>B(e,{context:`send`})}),l=st(o.messageThreadId??t.messageThreadId);return await c(()=>i.sendChatAction(s,`typing`,l),`typing`),{ok:!0}}async function mr(e,t,n,r={}){let{cfg:i,account:a,api:o}=Y(r),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=q(t),u=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>B(e,{context:`send`})}),d=r.remove===!0,f=n.trim(),p=d||!f?[]:[{type:`emoji`,emoji:f}];if(typeof o.setMessageReaction!=`function`)throw Error(`Telegram reactions are unavailable in this bot API.`);try{await u(()=>o.setMessageReaction(c,l,p),`reaction`)}catch(e){let t=e instanceof Error?e.message:String(e);if(/REACTION_INVALID/i.test(t))return{ok:!1,warning:`Reaction unavailable: ${f}`};throw e}return{ok:!0}}async function hr(e,t,n={}){let{cfg:i,account:a,api:o}=Y(n),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:n.verbose}),l=q(t);return await X({cfg:i,account:a,retry:n.retry,verbose:n.verbose,shouldRetry:e=>B(e,{context:`send`})})(()=>o.deleteMessage(c,l),`deleteMessage`),r.R(`[telegram] Deleted message ${l} from chat ${c}`),{ok:!0}}async function gr(e,t,n,i={}){let{cfg:a,account:o,api:s}=Y({...i,cfg:i.cfg}),c=String(e),l=await K({cfg:a,api:s,lookupTarget:c,persistTarget:c,verbose:i.verbose}),u=q(t),d=X({cfg:a,account:o,retry:i.retry,verbose:i.verbose}),f=$(n)??{inline_keyboard:[]};try{await d(()=>s.editMessageReplyMarkup(l,u,{reply_markup:f}),`editMessageReplyMarkup`,{shouldLog:e=>!J(e)})}catch(e){if(!J(e))throw e}return r.R(`[telegram] Edited reply markup for message ${u} in chat ${l}`),{ok:!0,messageId:String(u),chatId:l}}async function _r(e,t,n,i={}){let{cfg:a,account:s,api:c}=Y({...i,cfg:i.cfg}),l=String(e),u=await K({cfg:a,api:c,lookupTarget:l,persistTarget:l,verbose:i.verbose}),d=q(t),f=X({cfg:a,account:s,retry:i.retry,verbose:i.verbose,shouldRetry:e=>B(e,{allowMessageMatch:!0})||bn(e)}),p=(e,t,n)=>f(e,t,n?{shouldLog:n}:void 0),m=qt(n,{textMode:i.textMode??`markdown`,tableMode:o.s({cfg:a,channel:`telegram`,accountId:s.accountId})}),h=i.buttons!==void 0,g=h?$(i.buttons):void 0,_=h?g??{inline_keyboard:[]}:void 0,v={parse_mode:`HTML`};i.linkPreview===!1&&(v.link_preview_options={is_disabled:!0}),_!==void 0&&(v.reply_markup=_);let y={};i.linkPreview===!1&&(y.link_preview_options={is_disabled:!0}),_!==void 0&&(y.reply_markup=_);try{await lr({label:`editMessage`,verbose:i.verbose,requestHtml:e=>p(()=>c.editMessageText(u,d,m,v),e,e=>!J(e)),requestPlain:e=>p(()=>Object.keys(y).length>0?c.editMessageText(u,d,n,y):c.editMessageText(u,d,n),e,e=>!J(e))})}catch(e){if(!J(e))throw e}return r.R(`[telegram] Edited message ${d} in chat ${u}`),{ok:!0,messageId:String(d),chatId:u}}function vr(e){switch(e){case`image`:return`image.jpg`;case`video`:return`video.mp4`;case`audio`:return`audio.ogg`;default:return`file.bin`}}async function yr(e,t,n={}){if(!t?.trim())throw Error(`Telegram sticker file_id is required`);let{cfg:r,account:i,api:o}=Y(n),s=a.r(e),c=await K({cfg:r,api:o,lookupTarget:s.chatId,persistTarget:e,verbose:n.verbose}),l=cr({targetMessageThreadId:s.messageThreadId,messageThreadId:n.messageThreadId,chatType:s.chatType,replyToMessageId:n.replyToMessageId}),d=Object.keys(l).length>0,f=Q({requestWithDiag:X({cfg:r,account:i,retry:n.retry,verbose:n.verbose,useApiErrorLogging:!1}),chatId:c,input:e}),p=await Z(d?l:void 0,`sticker`,n.verbose,async(e,n)=>f(()=>o.sendSticker(c,t.trim(),e),n)),m=W(p,`sticker send`),h=String(p?.chat?.id??c);return V(c,m),u.n({channel:`telegram`,accountId:i.accountId,direction:`outbound`}),{messageId:String(m),chatId:h}}async function br(e,t,n={}){let{cfg:r,account:i,api:o}=Y(n),s=a.r(e),c=await K({cfg:r,api:o,lookupTarget:s.chatId,persistTarget:e,verbose:n.verbose}),d=l.n(t,{maxOptions:10}),f=cr({targetMessageThreadId:s.messageThreadId,messageThreadId:n.messageThreadId,chatType:s.chatType,replyToMessageId:n.replyToMessageId}),p=d.options,m=Q({requestWithDiag:dr({cfg:r,account:i,retry:n.retry,verbose:n.verbose}),chatId:c,input:e}),h=d.durationSeconds;if(h===void 0&&d.durationHours!==void 0)throw Error(`Telegram poll durationHours is not supported. Use durationSeconds (5-600) instead.`);if(h!==void 0&&(h<5||h>600))throw Error(`Telegram poll durationSeconds must be between 5 and 600`);let g=await Z({allows_multiple_answers:d.maxSelections>1,is_anonymous:n.isAnonymous??!0,...h===void 0?{}:{open_period:h},...Object.keys(f).length>0?f:{},...n.silent===!0?{disable_notification:!0}:{}},`poll`,n.verbose,async(e,t)=>m(()=>o.sendPoll(c,d.question,p,e),t)),_=W(g,`poll send`),v=String(g?.chat?.id??c),y=g?.poll?.id;return V(c,_),u.n({channel:`telegram`,accountId:i.accountId,direction:`outbound`}),{messageId:String(_),chatId:v,pollId:y}}async function xr(e,t,n={}){if(!t?.trim())throw Error(`Forum topic name is required`);let r=t.trim();if(r.length>128)throw Error(`Forum topic name must be 128 characters or fewer`);let{cfg:i,account:o,api:s}=Y(n),c=await K({cfg:i,api:s,lookupTarget:a.r(e).chatId,persistTarget:e,verbose:n.verbose}),l=dr({cfg:i,account:o,retry:n.retry,verbose:n.verbose}),d={};n.iconColor!=null&&(d.icon_color=n.iconColor),n.iconCustomEmojiId?.trim()&&(d.icon_custom_emoji_id=n.iconCustomEmojiId.trim());let f=Object.keys(d).length>0,p=await l(()=>s.createForumTopic(c,r,f?d:void 0),`createForumTopic`),m=p.message_thread_id;return u.n({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),{topicId:m,name:p.name??r,chatId:c}}Object.defineProperty(exports,`$`,{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return bt}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return Je}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return Ae}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return it}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return We}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return Ye}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return xn}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return _r}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Hn}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return je}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return vn}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return yr}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return Tn}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return mr}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return On}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return hr}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return fr}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return pr}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return cn}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return Rt}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return rt}});
2
+ //# sourceMappingURL=send-CQtITZ7k.cjs.map
@@ -4,3 +4,4 @@ const e=require(`./paths-Chp3zwtq.cjs`),t=require(`./model-auth-BpS4IWDi.cjs`),n
4
4
  `);continue}let[t,...r]=e.split(`:`),i=t.trim(),a=r.join(`:`),o=a.startsWith(` `)?a.slice(1):a;i===`event`?u.event=o:i===`data`?u.data=u.data?`${u.data}\n${o}`:o:i===`id`&&(u.id=o),n=l.indexOf(`
5
5
  `)}}d()}function p(e,n){let r=!!e.baseUrl?.trim(),i=!!e.account?.trim(),a=n||(!r||!i?t.ds({cfg:t.Si(),accountId:e.accountId}):void 0),o=e.baseUrl?.trim()||a?.baseUrl;if(!o)throw Error(`Signal base URL is required`);return{baseUrl:o,account:e.account?.trim()||a?.config.account?.trim()}}function m(e){let t=e.toLowerCase();return t=t.replace(/^https?:\/\//,``),t=t.replace(/^www\./,``),t=t.replace(/\/+$/,``),t}function h(e){switch(e){case`bold`:return`BOLD`;case`italic`:return`ITALIC`;case`strikethrough`:return`STRIKETHROUGH`;case`code`:case`code_block`:return`MONOSPACE`;case`spoiler`:return`SPOILER`;default:return null}}function g(e){let t=[...e].toSorted((e,t)=>e.start===t.start?e.length===t.length?e.style.localeCompare(t.style):e.length-t.length:e.start-t.start),n=[];for(let e of t){let t=n[n.length-1];if(t&&t.style===e.style&&e.start<=t.start+t.length){let n=t.start+t.length;t.length=Math.max(n,e.start+e.length)-t.start;continue}n.push({...e})}return n}function _(e,t){let n=[];for(let r of e){let e=Math.max(0,Math.min(r.start,t)),i=Math.min(r.start+r.length,t)-e;i>0&&n.push({start:e,length:i,style:r.style})}return n}function v(e,t){if(t.length===0)return e;let n=[...t].toSorted((e,t)=>e.pos-t.pos),r=e,i=0;for(let e of n){let t=e.pos+i,n=[];for(let i of r){if(i.end<=t){n.push(i);continue}if(i.start>=t){n.push({start:i.start+e.length,end:i.end+e.length,style:i.style});continue}if(i.start<t&&i.end>t){t>i.start&&n.push({start:i.start,end:t,style:i.style});let r=t+e.length,a=i.end+e.length;a>r&&n.push({start:r,end:a,style:i.style})}}r=n,i+=e.length}return r}function y(e){let t=e.text??``;if(!t)return{text:``,styles:[]};let n=[...e.links].toSorted((e,t)=>e.start-t.start),r=``,i=0,a=[];for(let e of n){if(e.start<i)continue;r+=t.slice(i,e.end);let n=e.href.trim(),o=t.slice(e.start,e.end).trim();if(n)if(!o)r+=n,a.push({pos:e.end,length:n.length});else{let t=m(o),i=n;if(n.startsWith(`mailto:`)&&(i=n.slice(7)),t!==m(i)){let t=` (${n})`;r+=t,a.push({pos:e.end,length:t.length})}}i=e.end}r+=t.slice(i);let o=v(e.styles.map(e=>{let t=h(e.style);return t?{start:e.start,end:e.end,style:t}:null}).filter(e=>e!==null),a),s=r.trimEnd(),c=s.length;return{text:s,styles:g(_(o.map(e=>({start:e.start,length:e.end-e.start,style:e.style})),c))}}function b(e,t={}){return y(r.n(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:t.tableMode}))}function x(e,t,n){let r=[];for(let i of e){let e=i.start+i.length,a=Math.max(i.start,t),o=Math.min(e,n);o>a&&r.push({start:a-t,length:o-a,style:i.style})}return r}function S(e,t){let{text:n,styles:r}=e;if(n.length<=t)return[e];let i=[],a=n,o=0;for(;a.length>0;){if(a.length<=t){let e=a.trimEnd();e.length>0&&i.push({text:e,styles:g(x(r,o,o+e.length))});break}let e=C(a.slice(0,t));e<=0&&(e=t);let s=a.slice(0,e).trimEnd();s.length>0&&i.push({text:s,styles:g(x(r,o,o+s.length))});let c=e<a.length&&/\s/.test(a[e]),l=Math.min(a.length,e+(c?1:0));a=a.slice(l).trimStart(),o=n.length-a.length}return i}function C(e){let t=-1,n=-1,r=0;for(let i=0;i<e.length;i++){let a=e[i];if(a===`(`){r++;continue}if(a===`)`&&r>0){r--;continue}r===0&&(a===`
6
6
  `?t=i:/\s/.test(a)&&(n=i))}return t>0?t:n}function w(e,t,n={}){let i=r.t(r.n(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:n.tableMode}),t),a=[];for(let e of i){let n=y(e);n.text.length>t?a.push(...S(n,t)):a.push(n)}return a}function T(e){let t=e.trim();if(!t)throw Error(`Signal recipient is required`);t.toLowerCase().startsWith(`signal:`)&&(t=t.slice(7).trim());let n=t.toLowerCase();return n.startsWith(`group:`)?{type:`group`,groupId:t.slice(6).trim()}:n.startsWith(`username:`)?{type:`username`,username:t.slice(9).trim()}:n.startsWith(`u:`)?{type:`username`,username:t.trim()}:{type:`recipient`,recipient:t}}function E(e,t){return e.type===`recipient`?t.recipient?{recipient:[e.recipient]}:null:e.type===`group`?t.group?{groupId:e.groupId}:null:e.type===`username`&&t.username?{username:[e.username]}:null}async function D(n,i,o={}){let s=o.cfg??t.Si(),c=t.ds({cfg:s,accountId:o.accountId}),{baseUrl:l,account:d}=p(o,c),f=T(n),m=i??``,h=!1,g=[],_=o.textMode??`markdown`,v=typeof o.maxBytes==`number`?o.maxBytes:typeof c.config.mediaMaxMb==`number`?c.config.mediaMaxMb*1024*1024:typeof s.agents?.defaults?.mediaMaxMb==`number`?s.agents.defaults.mediaMaxMb*1024*1024:8*1024*1024,y;if(o.mediaUrl?.trim()){let t=await a.t(o.mediaUrl.trim(),v,{localRoots:o.mediaLocalRoots});y=[t.path];let n=e.g(t.contentType??void 0);!m&&n&&(m=n===`image`?`<media:image>`:`<media:${n}>`,h=!0)}if(m.trim()&&!h)if(_===`plain`)g=o.textStyles??[];else{let e=r.i({cfg:s,channel:`signal`,accountId:c.accountId}),t=b(m,{tableMode:e});m=t.text,g=t.styles}if(!m.trim()&&(!y||y.length===0))throw Error(`Signal send requires text or media`);let x={message:m};g.length>0&&(x[`text-style`]=g.map(e=>`${e.start}:${e.length}:${e.style}`)),d&&(x.account=d),y&&y.length>0&&(x.attachments=y);let S=E(f,{recipient:!0,group:!0,username:!0});if(!S)throw Error(`Signal recipient is required`);Object.assign(x,S);let C=(await u(`send`,x,{baseUrl:l,timeoutMs:o.timeoutMs}))?.timestamp;return{messageId:C?String(C):`unknown`,timestamp:C}}async function O(e,t={}){let{baseUrl:n,account:r}=p(t),i=E(T(e),{recipient:!0,group:!0});if(!i)return!1;let a={...i};return r&&(a.account=r),t.stop&&(a.stop=!0),await u(`sendTyping`,a,{baseUrl:n,timeoutMs:t.timeoutMs}),!0}async function k(e,t,n={}){if(!Number.isFinite(t)||t<=0)return!1;let{baseUrl:r,account:i}=p(n),a=E(T(e),{recipient:!0});if(!a)return!1;let o={...a,targetTimestamp:t,type:n.type??`read`};return i&&(o.account=i),await u(`sendReceipt`,o,{baseUrl:r,timeoutMs:n.timeoutMs}),!0}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
7
+ //# sourceMappingURL=send-CSGh_GVr.cjs.map