@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
@@ -5,3 +5,4 @@ import{d as e,y as t,zt as n}from"./paths-Do0djuaj.js";import{As as r,Ca as i,fr
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=Et(s,l);e.trim().length&&o.push(e)}return At(e,o)}function kt(e,t){if((t.chunkMode??`length`)!==`newline`)return Ot(e,t);let n=h(e,Math.max(1,Math.floor(t.maxChars??xt)),`newline`),r=[];for(let e of n){let n=Ot(e,t);if(!n.length&&e){r.push(e);continue}r.push(...n)}return r}function At(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 jt(e){let t=a(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 Mt(e,t){return t??new xe(e)}function Nt(e){let t=n(e.accountId),r=s(e.cfg,t),i=e.cfg.channels?.discord?.enabled!==!1,a=r.enabled!==!1;return{accountId:t,enabled:i&&a,name:r.name?.trim()||void 0,token:``,tokenSource:`none`,config:r}}function Pt(e,t){let n=e.cfg??t??i(),r=a(e.token,`channels.discord.token`),o=r?Nt({cfg:n,accountId:e.accountId}):c({cfg:n,accountId:e.accountId}),s=r??jt({accountId:o.accountId,fallbackToken:o.token});return{token:s,rest:Mt(s,e.rest),account:o}}function F(e,t){let{token:n,rest:r,account:i}=Pt(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 Pt(e,e.cfg).rest}const Ft=Object.entries(oe).filter(([,e])=>typeof e==`bigint`),It=Ft.reduce((e,[,t])=>e|t,0n),Lt=oe.Administrator;function L(e,t){return t?e|BigInt(t):e}function Rt(e,t){return t?e&~BigInt(t):e}function zt(e){return Ft.filter(([,t])=>(e&t)===t).map(([e])=>e).toSorted()}function Bt(e){return(e&Lt)===Lt}function Vt(e,t){return(e&t)===t}function Ht(e){return e===E.GuildNewsThread||e===E.GuildPublicThread||e===E.GuildPrivateThread}async function Ut(e){let t=await e.get(D.user(`@me`));if(!t?.id)throw Error(`Failed to resolve bot user id`);return t.id}async function Wt(e,t,n={}){let r=I(n);try{let[n,i]=await Promise.all([r.get(D.guild(e)),r.get(D.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 Gt(e,t,n,r,i={}){let a=await Wt(e,t,i);return a===null?!1:Bt(a)?!0:r(a,n)}async function Kt(e,t,n,r={}){return await Gt(e,t,n,(e,t)=>t.some(t=>Vt(e,t)),r)}async function qt(e,t={}){let n=I(t),r=await n.get(D.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 Ut(n),[s,c]=await Promise.all([n.get(D.guild(a)),n.get(D.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(Bt(d))return{channelId:e,guildId:a,permissions:zt(It),raw:It.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=Rt(f,e.deny??`0`),f=L(f,e.allow??`0`));for(let e of p)c.roles?.includes(e.id)&&(f=Rt(f,e.deny??`0`),f=L(f,e.allow??`0`));for(let e of p)e.id===o&&(f=Rt(f,e.deny??`0`),f=L(f,e.allow??`0`));return{channelId:e,guildId:a,permissions:zt(f),raw:f.toString(),isDm:!1,channelType:i}}var Jt=class extends Error{constructor(e,t){super(e),this.name=`DiscordSendError`,t&&Object.assign(this,t)}toString(){return this.message}};const Yt=/#\d{4}$/,Xt=new Map;function Zt(e){return n(e??`default`)||`default`}function Qt(e){let t=String(e??``).trim();return/^\d+$/.test(t)?t:null}function $t(e){let t=e.trim();return!t||(t.startsWith(`@`)&&(t=t.slice(1).trim()),!t||/\s/.test(t))?null:t.toLowerCase()}function en(e){let t=Zt(e),n=Xt.get(t);if(n)return n;let r=new Map;return Xt.set(t,r),r}function tn(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 nn(e){let t=Qt(e.userId);if(!t)return;let n=en(e.accountId);for(let r of e.handles){if(typeof r!=`string`)continue;let e=$t(r);if(!e)continue;tn(n,e,t);let i=e.replace(Yt,``);i&&i!==e&&tn(n,i,t)}}function rn(e){let t=Xt.get(Zt(e.accountId));if(!t)return;let n=$t(e.handle);if(!n)return;let r=t.get(n);if(r)return r;let i=n.replace(Yt,``);if(!(!i||i===n))return t.get(i)}function an(e){return e?.trim().toLowerCase()??``}function on(e){return e.bot?0:1}function sn(e){let t=a(c({cfg:e.cfg,accountId:e.accountId}).token,`channels.discord.token`);return t?{token:t,query:an(e.query)}:null}async function cn(e){return(await Xe(`/users/@me/guilds`,e)).filter(e=>e.id&&e.name)}async function ln(e){let t=sn(e);if(!t)return[];let{token:n,query:r}=t,i=await cn(n),a=[];for(let t of i){let i=await Xe(`/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 un(e){let t=sn(e);if(!t)return[];let{token:n,query:r}=t;if(!r)return[];let i=await cn(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 Xe(`/guilds/${t.id}/members/search?${i.toString()}`,n);for(let t of s){let n=t.user;if(!n?.id)continue;nn({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:on(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 dn(e){return u({platform:`Discord`,target:R(e,{defaultKind:`channel`}),kind:`channel`})}async function fn(e,t,n={}){let r=e.trim();if(!r)return;let i=hn(r),a=mn(r,n)||i,o=pn(r,n);if(o&&o.kind!==`channel`&&!i)return o;if(!a)return o??R(r,n);try{let e=(await un({...t,query:r,limit:1}))[0];if(e&&e.kind===`user`){let n=e.id.replace(/^user:/,``);return nn({accountId:t.accountId,userId:n,handles:[r,e.name,e.handle]}),f(`user`,n,r)}}catch{}return R(r,n)}function pn(e,t){try{return R(e,t)}catch{return}}function mn(e,t){return/^<@!?(\d+)>$/.test(e)||/^(user:|discord:)/.test(e)||e.startsWith(`@`)?!0:/^\d+$/.test(e)?t.defaultKind===`user`:!1}function hn(e){return!/^(user:|channel:|discord:|@|<@!?)|[\d]+$/.test(e)}function gn(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 z(e,t,n){let r=n??i(),a=c({cfg:r,accountId:t}),o=e.trim(),s={ambiguousMessage:`Ambiguous Discord recipient "${o}". Use "user:${o}" for DMs or "channel:${o}" for channel messages.`},l=await fn(e,{cfg:r,accountId:a.accountId},s);if(l)return{kind:l.kind,id:l.id};let u=R(e,s);if(!u)throw Error(`Recipient is required for Discord sends`);return{kind:u.kind,id:u.id}}function _n(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 B(e,t){let n=e.trim();if(!n)throw Error(`${t} is required`);return n}function vn(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:ke.Default}}function yn(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 V(e,t){if(e instanceof Jt)return e;let n=yn(e);if(n===50007)return new Jt(`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 qt(t.channelId,{rest:t.rest,token:t.token}),n=new Set(e.permissions),i=[`ViewChannel`,`SendMessages`];Ht(e.channelType)&&i.push(`SendMessagesInThreads`),t.hasMedia&&i.push(`AttachFiles`),r=i.filter(e=>!n.has(e))}catch{}return new Jt(`${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 H(e,t,n){if(t.kind===`channel`)return{channelId:t.id};let r=await n(()=>e.post(D.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 bn(e,t){try{return(await e.get(D.channel(t)))?.type}catch{return}}const U=4096;function xn(e,t={}){if(!e)return[];let n=kt(e,{maxChars:t.maxChars??2e3,maxLines:t.maxLinesPerMessage,chunkMode:t.chunkMode});return!n.length&&e&&n.push(e),n}function Sn(e){return!!e?.some(e=>`isV2`in e&&e.isV2)}function Cn(e){if(!(!e.components||!e.isFirst))return typeof e.components==`function`?e.components(e.text):e.components}function wn(e){if(e?.length)return e.map(e=>e instanceof fe?e:new fe(e))}function Tn(e){if(!(!e.embeds||!e.isFirst))return wn(e.embeds)}function En(e){let t={},n=Sn(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 W(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Dn(e){if(e instanceof Blob)return e;let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),new Blob([t])}async function G(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?U:void 0,f=xn(n,{maxLinesPerMessage:a,chunkMode:c}),p=async(n,r)=>{let a=W({...j(En({text:n,components:Cn({components:o,text:n,isFirst:r}),embeds:Tn({embeds:s,isFirst:r}),flags:d})),...u?{message_reference:u}:{}});return await i(()=>e.post(D.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 On(e,t,n,r,i,a,o,s,c,l,u,d,f){let p=await m(r,y({maxBytes:a,mediaLocalRoots:i})),h=n?xn(n,{maxLinesPerMessage:c,chunkMode:d}):[],g=h[0]??``,_=o?{message_id:o,fail_if_not_exists:!1}:void 0,v=f?U:void 0,b=Dn(p.buffer),ee=En({text:g,components:Cn({components:l,text:g,isFirst:!0}),embeds:Tn({embeds:u,isFirst:!0}),flags:v,files:[{data:b,name:p.fileName??`upload`}]}),x=await s(()=>e.post(D.channelMessages(t),{body:W({...j(ee),..._?{message_reference:_}:{}})}),`media`);for(let n of h.slice(1))n.trim()&&await G(e,t,n,o,s,c,void 0,void 0,d,f);return x}function kn(e){return e.id&&e.name?`${e.name}:${e.id}`:e.name??``}function An(e){return kn(e)}async function jn(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(D.guildChannels(e.guildId),{body:r})}async function Mn(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(D.channel(e.channelId),{body:r})}async function Nn(e,t={}){return await I(t).delete(D.channel(e)),{ok:!0,channelId:e}}async function Pn(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(D.guildChannels(e.guildId),{body:r}),{ok:!0}}async function Fn(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 In(e,t,n={}){return await I(n).delete(`/channels/${e}/permissions/${t}`),{ok:!0}}async function Ln(e,t={}){return await I(t).get(D.guildEmojis(e))}async function Rn(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(D.guildEmojis(e.guildId),{body:{name:B(e.name,`Emoji name`),image:a,roles:o.length?o:void 0}})}async function zn(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(D.guildStickers(e.guildId),{body:{name:B(e.name,`Sticker name`),description:B(e.description,`Sticker description`),tags:B(e.tags,`Sticker tags`),files:[{data:r.buffer,name:r.fileName??`sticker`,contentType:i}]}})}async function Bn(e,t,n={}){return await I(n).get(D.guildMember(e,t))}async function Vn(e,t={}){return await I(t).get(D.guildRoles(e))}async function Hn(e,t={}){return await I(t).put(D.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function Un(e,t={}){return await I(t).delete(D.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function Wn(e,t={}){return await I(t).get(D.channel(e))}async function Gn(e,t={}){return await I(t).get(D.guildChannels(e))}async function Kn(e,t,n={}){return await I(n).get(D.guildVoiceState(e,t))}async function qn(e,t={}){return await I(t).get(D.guildScheduledEvents(e))}async function Jn(e,t,n={}){return await I(n).post(D.guildScheduledEvents(e),{body:t})}async function Yn(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(D.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 Xn(e,t={}){return await I(t).delete(D.guildMember(e.guildId,e.userId),{headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0}),{ok:!0}}async function Zn(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(D.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 Qn(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(D.channelMessages(e),a)}async function $n(e,t,n={}){return await I(n).get(D.channelMessage(e,t))}async function er(e,t,n,r={}){return await I(r).patch(D.channelMessage(e,t),{body:{content:n.content}})}async function tr(e,t,n={}){return await I(n).delete(D.channelMessage(e,t)),{ok:!0}}async function nr(e,t,n={}){return await I(n).put(D.channelPin(e,t)),{ok:!0}}async function rr(e,t,n={}){return await I(n).delete(D.channelPin(e,t)),{ok:!0}}async function ir(e,t={}){return await I(t).get(D.channelPins(e))}async function ar(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(D.channel(e)))?.type}catch{a=void 0}let o=a===E.GuildForum||a===E.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=E.PublicThread);let s=t.messageId?D.threads(e,t.messageId):D.threads(e),c=await r.post(s,{body:i});return!o&&t.content?.trim()&&await r.post(D.channelMessages(c.id),{body:{content:t.content}}),c}async function or(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(D.channelThreads(e.channelId,`public`),t)}return await n.get(D.guildActiveThreads(e.guildId))}async function sr(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 cr(e){if(e)try{await w.unlink(e)}catch{}}const lr=/```[\s\S]*?```|`[^`\n]*`/g,ur=/(^|[\s([{"'.,;:!?])@([a-z0-9_.-]{2,32}(?:#[0-9]{4})?)/gi,dr=new Set([`everyone`,`here`]);function fr(e){let t=String(e??``).trim();return/^\d+$/.test(t)?t:null}function pr(e){let t=e.userId==null?null:fr(e.userId),n=e.roleId==null?null:fr(e.roleId),r=e.channelId==null?null:fr(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 mr(e,t){return e.includes(`@`)?e.replace(ur,(e,n,r)=>{let i=String(r??``).trim();if(!i)return e;let a=i.toLowerCase();if(dr.has(a))return e;let o=rn({accountId:t,handle:i});return o?`${String(n??``)}${pr({userId:o})}`:e}):e}function K(e,t){if(!e.includes(`@`))return e;let n=``,r=0;lr.lastIndex=0;for(let i of e.matchAll(lr)){let a=i.index??0;n+=mr(e.slice(r,a),t.accountId),n+=i[0],r=a+i[0].length}return n+=mr(e.slice(r),t.accountId),n}const hr=re(ne);function gr(e,t){return{timeout:t?.timeoutMs??e,maxBuffer:t?.maxBufferBytes??10485760}}async function _r(e,t){let{stdout:n}=await hr(`ffprobe`,e,gr(1e4,t));return n.toString()}async function vr(e,t){let{stdout:n}=await hr(`ffmpeg`,e,gr(45e3,t));return n.toString()}function yr(e,t){return e.trim().toLowerCase().split(/[,\r\n]+/,t).map(e=>e.trim())}function br(e){let[t,n]=yr(e,2),r=t||null,i=n?Number.parseInt(n,10):NaN;return{codec:r,sampleRateHz:Number.isFinite(i)?i:null}}const xr=8192;async function Sr(e){try{let t=await _r([`-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 Cr(e){try{return await wr(e)}catch{return Tr()}}async function wr(e){let t=l(),n=C.join(t,`waveform-${ie.randomUUID()}.raw`);try{await vr([`-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 cr(n)}}function Tr(){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 Er(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}=br(await _r([`-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=l(),r=C.join(n,`voice-${ie.randomUUID()}.ogg`);return await vr([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-ar`,`48000`,`-c:a`,`libopus`,`-b:a`,`64k`,r]),{path:r,cleanup:!0}}async function Dr(e){let[t,n]=await Promise.all([Sr(e),Cr(e)]);return{durationSecs:t,waveform:n}}async function Or(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 be(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?xr|4096:xr,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 kr(e){for(let t of e.chunks)await G(e.rest,e.threadId,t,void 0,e.request,e.maxLinesPerMessage,void 0,void 0,e.chunkMode,e.silent)}function Ar(e){return(e.split(`
7
7
  `).find(e=>e.trim())?.trim()??``).slice(0,100)||new Date().toISOString().slice(0,16)}function jr(e){return e===E.GuildForum||e===E.GuildMedia}function q(e,t){return{messageId:e.id?String(e.id):`unknown`,channelId:String(e.channel_id??t)}}async function Mr(e,t){let n=t.cfg??i(),{rest:r,request:a}=F(t,n),{channelId:o}=await H(r,await z(e,t.accountId,n),a);return{rest:r,request:a,channelId:o}}async function Nr(e,t,n={}){let r=n.cfg??i(),a=c({cfg:r,accountId:n.accountId}),o=v({cfg:r,channel:`discord`,accountId:a.accountId}),s=g(r,`discord`,a.accountId),l=typeof a.config.mediaMaxMb==`number`?a.config.mediaMaxMb*1024*1024:8*1024*1024,u=te(t??``,o),d=K(u,{accountId:a.accountId}),{token:f,rest:p,request:m}=F(n,r),{channelId:h}=await H(p,await z(e,n.accountId,r),m);if(jr(await bn(p,h))){let e=Ar(u),t=xn(d,{maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:s}),r=t[0]?.trim()?t[0]:e,i=En({text:r,components:Cn({components:n.components,text:r,isFirst:!0}),embeds:Tn({embeds:n.embeds,isFirst:!0}),flags:n.silent?4096:void 0}),o;try{o=await m(()=>p.post(D.threads(h),{body:{name:e,message:W(j(i))}}),`forum-thread`)}catch(e){throw await V(e,{channelId:h,rest:p,token:f,hasMedia:!!n.mediaUrl})}let c=o.id,g=o.message?.id??c,_=o.message?.channel_id??c,v=t.slice(1);try{if(n.mediaUrl){let[e,...t]=v;await On(p,c,e??``,n.mediaUrl,n.mediaLocalRoots,l,void 0,m,a.config.maxLinesPerMessage,void 0,void 0,s,n.silent),await kr({rest:p,threadId:c,chunks:t,request:m,maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:s,silent:n.silent})}else await kr({rest:p,threadId:c,chunks:v,request:m,maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:s,silent:n.silent})}catch(e){throw await V(e,{channelId:c,rest:p,token:f,hasMedia:!!n.mediaUrl})}return x({channel:`discord`,accountId:a.accountId,direction:`outbound`}),q({id:g,channel_id:_},h)}let _;try{_=n.mediaUrl?await On(p,h,d,n.mediaUrl,n.mediaLocalRoots,l,n.replyTo,m,a.config.maxLinesPerMessage,n.components,n.embeds,s,n.silent):await G(p,h,d,n.replyTo,m,a.config.maxLinesPerMessage,n.components,n.embeds,s,n.silent)}catch(e){throw await V(e,{channelId:h,rest:p,token:f,hasMedia:!!n.mediaUrl})}return x({channel:`discord`,accountId:a.accountId,direction:`outbound`}),q(_,h)}function Pr(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 Fr(e,t){let n=t.webhookId.trim(),r=t.webhookToken.trim();if(!n||!r)throw Error(`Discord webhook id/token are required`);let a=K(e,{accountId:t.accountId}),o=typeof t.replyTo==`string`?t.replyTo.trim():``,s=o?{message_id:o,fail_if_not_exists:!1}:void 0,l=await fetch(Pr({webhookId:n,webhookToken:r,threadId:t.threadId,wait:t.wait}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({content:a,username:t.username?.trim()||void 0,avatar_url:t.avatarUrl?.trim()||void 0,...s?{message_reference:s}:{}})});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{x({channel:`discord`,accountId:c({cfg:t.cfg??i(),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 Ir(e,t,n={}){let{rest:r,request:i,channelId:a}=await Mr(e,n),o=n.content?.trim(),s=o?K(o,{accountId:n.accountId}):void 0,c=_n(t);return q(await i(()=>r.post(D.channelMessages(a),{body:{content:s||void 0,sticker_ids:c}}),`sticker`),a)}async function Lr(e,t,n={}){let{rest:r,request:i,channelId:a}=await Mr(e,n),o=n.content?.trim(),s=o?K(o,{accountId:n.accountId}):void 0;if(t.durationSeconds!==void 0)throw Error(`Discord polls do not support durationSeconds; use durationHours`);let c=vn(t),l=n.silent?U:void 0;return q(await i(()=>r.post(D.channelMessages(a),{body:{content:s||void 0,poll:c,...l?{flags:l}:{}}}),`poll`),a)}async function Rr(n){let r=await _(n,t(`audio`)),i=r.fileName?C.extname(r.fileName):``,a=r.contentType?e(r.contentType):``,o=i||a||`.bin`,s=l(),c=C.join(s,`voice-src-${ie.randomUUID()}${o}`);return await w.writeFile(c,r.buffer,{mode:384}),{filePath:c}}async function zr(e,t,n={}){let{filePath:r}=await Rr(t),a=null,o=!1,s,l,u;try{let t=n.cfg??i(),d=c({cfg:t,accountId:n.accountId}),f=F(n,t);s=f.token,l=f.rest;let p=f.request,m=await z(e,n.accountId,t);u=(await H(l,m,p)).channelId;let h=await Er(r);a=h.path,o=h.cleanup;let g=await Dr(a),_=await w.readFile(a),v=await Or(l,u,_,g,n.replyTo,p,n.silent,s);return x({channel:`discord`,accountId:d.accountId,direction:`outbound`}),q(v,u)}catch(e){throw u&&l&&s?await V(e,{channelId:u,rest:l,token:s,hasMedia:!0}):e}finally{await cr(o?a:null),await cr(r)}}const J=new Map,Y=new Map;function Br(e,t){return typeof e.expiresAt==`number`&&e.expiresAt<=t}function Vr(e,t,n){let r=e.createdAt??t,i=e.expiresAt??r+n;return{...e,createdAt:r,expiresAt:i}}function Hr(e){let t=Date.now(),n=e.ttlMs??18e5;for(let r of e.entries){let i=Vr({...r,messageId:e.messageId??r.messageId},t,n);J.set(r.id,i)}for(let r of e.modals){let i=Vr({...r,messageId:e.messageId??r.messageId},t,n);Y.set(r.id,i)}}function Ur(e){let t=J.get(e.id);return t?Br(t,Date.now())?(J.delete(e.id),null):(e.consume!==!1&&J.delete(e.id),t):null}function Wr(e){let t=Y.get(e.id);return t?Br(t,Date.now())?(Y.delete(e.id),null):(e.consume!==!1&&Y.delete(e.id),t):null}const Gr=`attachment://`,Kr=new Map([[`row`,`actions`],[`action-row`,`actions`]]);function qr(e){return`${e}${ie.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 Jr(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 Yr(e,t){return e?.trim()||`field_${t+1}`}function Xr(e,t){let n=e.trim();if(!n.startsWith(`attachment://`))throw Error(`${t} must start with "${Gr}"`);let r=n.slice(13).trim();if(!r)throw Error(`${t} must include an attachment filename`);return`${Gr}${r}`}function Zr(e){let t=e.trim();if(!t.startsWith(`attachment://`))throw Error(`Attachment reference must start with "${Gr}"`);let n=t.slice(13).trim();if(!n)throw Error(`Attachment reference must include a filename`);return n}function Qr(e){switch((e??`primary`).toLowerCase()){case`secondary`:return T.Secondary;case`success`:return T.Success;case`danger`:return T.Danger;case`link`:return T.Link;default:return T.Primary}}function $r(e){return e===`paragraph`?se.Paragraph:se.Short}function ei(e){let t=e.trim().toLowerCase();return Kr.get(t)??t}function ti(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 ni(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:Jr(n.allowedUsers,`${t}.allowedUsers`)}}function ri(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:ti(n.options,`${t}.options`)}}function ii(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=ti(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:Yr(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 ai(e,t){let n=X(e,t);switch(ei(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:ni(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)=>ni(e,`${t}.buttons[${n}]`)):void 0,i=n.select?ri(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:Xr(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 oi(e){if(e==null)return null;let t=X(e,`components`),n=t.blocks,r=Array.isArray(n)?n.map((e,t)=>ai(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)=>ii(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 si(e){let t=`occomp:cid=${e.componentId}`;return e.modalId?`${t};mid=${e.modalId}`:t}function ci(e){return`ocmodal:mid=${e}`}function li(e){let t=A(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 ui(e){let t=A(e);if(t.key!==`ocmodal`)return null;let n=t.data.mid;return typeof n!=`string`||!n.trim()?null:n}function di(e){return/^__openclaw_discord_component_[a-z_]+_wildcard__$/.test(e)}function fi(e){if(e===`*`||di(e))return{key:`*`,data:{}};let t=A(e);return t.key===`occomp`?{key:`*`,data:t.data}:t}function pi(e){if(e===`*`||di(e))return{key:`*`,data:{}};let t=A(e);return t.key===`ocmodal`?{key:`*`,data:t.data}:t}function mi(e,t){return t&&t.length>0?t.map(e=>new k(e)):e?[new k(e)]:[]}function hi(e){let t=Qr(e.spec.style);if(t===T.Link||e.spec.url){if(!e.spec.url)throw Error(`Link buttons require a url`);let t=e.spec.url;class n extends he{constructor(...n){super(...n),this.label=e.spec.label,this.url=t}}return{component:new n}}let n=e.componentId??qr(`btn_`),r=si({componentId:n,modalId:e.modalId});class i extends ce{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 gi(e){let t=(e.spec.type??`string`).toLowerCase(),n=e.componentId??qr(`sel_`),r=si({componentId:n});if(t===`string`){let t=e.spec.options??[];if(t.length===0)throw Error(`String select menus require options`);class i extends Te{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 Oe{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 Se{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 _e{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 le{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 _i(e){return e instanceof Te||e instanceof Oe||e instanceof Se||e instanceof _e||e instanceof le}function vi(e){if(e.type===`text`){class t extends Ee{constructor(...t){super(...t),this.customId=e.id,this.style=$r(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 Te{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 Se{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 Oe{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 ue{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 ye{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 yi(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 k(o));for(let t of e.spec.blocks??[]){if(t.type===`text`){i.push(new k(t.text));continue}if(t.type===`section`){let e=mi(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 De(t.accessory.url);else if(t.accessory?.type===`button`){let{component:e,entry:r}=hi({spec:t.accessory.button});n=e,r&&a(r)}i.push(new Ce(e,n));continue}if(t.type===`separator`){i.push(new we({spacing:t.spacing,divider:t.divider}));continue}if(t.type===`media-gallery`){i.push(new ge(t.items));continue}if(t.type===`file`){i.push(new pe(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}=hi({spec:n});e.push(t),r&&a(r)}}else if(t.select){let{component:n,entry:r}=gi({spec:t.select});e.push(n),a(r)}i.push(new O(e))}}if(e.spec.modal){let t=qr(`mdl_`),r=e.spec.modal.fields.map((e,t)=>({id:qr(`fld_`),name:Yr(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}=hi({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 O){let e=c,t=e.components.some(e=>_i(e));e.components.length<5&&!t?e.addComponent(o):i.push(new O([o]))}else i.push(new O([o]))}if(i.length===0)throw Error(`components must include at least one block, text, or modal trigger`);let s=new de(i,e.spec.container);return r.push(s),{components:r,entries:t,modals:n}}function bi(e){return e.some(e=>e.isV2)?ae.IsComponentsV2:void 0}var xi=class extends ve{constructor(e){super(),this.customIdParser=pi,this.title=e.title,this.customId=ci(e.modalId),this.components=e.fields.map(e=>{let t=vi(e);class n extends me{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 Si(e){return new xi({modalId:e.id,title:e.title,fields:e.fields})}function Ci(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 wi=new Set([E.GuildForum,E.GuildMedia]);function Ti(e){let t=[];for(let n of e.blocks??[])n.type===`file`&&t.push(Zr(n.file));return t}async function Ei(e,t,n={}){let r=n.cfg??i(),a=c({cfg:r,accountId:n.accountId}),{token:o,rest:s,request:l}=F(n,r),{channelId:u}=await H(s,await z(e,n.accountId,r),l),d=await bn(s,u);if(d&&wi.has(d))throw Error(`Discord components are not supported in forum-style channels`);let f=yi({spec:t,sessionKey:n.sessionKey,agentId:n.agentId,accountId:a.accountId}),p=bi(f.components),h=n.silent?(p??0)|U:p??void 0,g=n.replyTo?{message_id:n.replyTo,fail_if_not_exists:!1}:void 0,_=Ti(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 m(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:Dn(e.buffer),name:t}]}else if(y)throw Error(`Discord component file blocks require a media attachment (media/path/filePath).`);let ee=W({...j({components:f.components,...h?{flags:h}:{},...b?{files:b}:{}}),...g?{message_reference:g}:{}}),S;try{S=await l(()=>s.post(D.channelMessages(u),{body:ee}),`components`)}catch(e){throw await V(e,{channelId:u,rest:s,token:o,hasMedia:!!b?.length})}return Hr({entries:f.entries,modals:f.modals,messageId:S.id}),x({channel:`discord`,accountId:a.accountId,direction:`outbound`}),{messageId:S.id??`unknown`,channelId:S.channel_id??u}}async function Di(e,t,n,r={}){let{rest:a,request:o}=F(r,r.cfg??i()),s=gn(n);return await o(()=>a.put(D.channelMessageOwnReaction(e,t,s)),`react`),{ok:!0}}async function Oi(e,t,n,r={}){let{rest:a}=F(r,r.cfg??i()),o=gn(n);return await a.delete(D.channelMessageOwnReaction(e,t,o)),{ok:!0}}async function ki(e,t,n={}){let{rest:r}=F(n,n.cfg??i()),a=await r.get(D.channelMessage(e,t)),o=new Set;for(let e of a.reactions??[]){let t=kn(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),r.delete(D.channelMessageOwnReaction(e,t,gn(n)))))),{ok:!0,removed:s}}async function Ai(e,t,n={}){let{rest:r}=F(n,n.cfg??i()),a=(await r.get(D.channelMessage(e,t))).reactions??[];if(a.length===0)return[];let o=typeof n.limit==`number`&&Number.isFinite(n.limit)?Math.min(Math.max(Math.floor(n.limit),1),100):100,s=[];for(let n of a){let i=kn(n.emoji);if(!i)continue;let a=encodeURIComponent(i),c=await r.get(D.channelMessageReaction(e,t,a),{limit:o});s.push({emoji:{id:n.emoji.id??null,name:n.emoji.name??null,raw:An(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}export{W as $,rr as A,Be as At,qn as B,er as C,Ze as Ct,nr as D,Ue as Dt,or as E,Xe as Et,Bn as F,Ne as Ft,zn as G,Yn as H,Vn as I,Me as It,Mn as J,jn as K,Kn as L,Fe as Lt,Zn as M,ze as Mt,Jn as N,He as Nt,Qn as O,We as Ot,Wn as P,Ae as Pt,G as Q,Xn as R,tr as S,$e as St,ir as T,M as Tt,Ln as U,Un as V,Rn as W,In as X,Pn as Y,Fn as Z,Ir as _,ct as _t,Ei as a,Kt as at,pr as b,bt,li as c,kt as ct,pi as d,P as dt,R as et,oi as f,rt as ft,Lr as g,lt as gt,Nr as h,st as ht,Oi as i,qt as it,Hn as j,Le as jt,sr as k,Re as kt,fi as l,vt as lt,Wr as m,ut as mt,Di as n,ln as nt,Si as o,F as ot,Ur as p,ht as pt,Nn as q,ki as r,un as rt,Ci as s,Pt as st,Ai as t,dn as tt,ui as u,N as ut,zr as v,gt as vt,$n as w,et as wt,ar as x,Qe as xt,Fr as y,yt,Gn as z};
8
+ //# sourceMappingURL=send-CicLiXB4.js.map
@@ -1,3 +1,4 @@
1
1
  require(`./paths-BvlJvmRS.cjs`);const e=require(`./logger-BlddiV_d.cjs`),t=require(`./model-auth-BpS4IWDi.cjs`),n=require(`./targets-DcGNB9nk.cjs`),r=require(`./tokens-DtrljGtQ.cjs`),i=require(`./fetch-guard-Cz-cgYmR.cjs`),a=require(`./ir-CZOtKajq.cjs`),o=require(`./render-DxBO2Blp.cjs`);let s=require(`@slack/web-api`);function c(e,t={}){let r=e.trim();return r?n.r({raw:r,mentionPattern:/^<@([A-Z0-9]+)>$/i,prefixes:[{prefix:`user:`,kind:`user`},{prefix:`channel:`,kind:`channel`},{prefix:`slack:`,kind:`user`}],atUserPattern:/^[A-Z0-9]+$/i,atUserErrorMessage:`Slack DMs require a user id (use user:<id> or <@id>)`})||(r.startsWith(`#`)?n.t(`channel`,n.n({candidate:r.slice(1).trim(),pattern:/^[A-Z0-9]+$/i,errorMessage:`Slack channels require a channel id (use channel:<id>)`}),r):t.defaultKind?n.t(t.defaultKind,r,r):n.t(`channel`,r,r)):void 0}function l(e){return n.i({platform:`Slack`,target:c(e,{defaultKind:`channel`}),kind:`channel`})}const u={retries:2,factor:2,minTimeout:500,maxTimeout:3e3,randomize:!0};function d(e={}){return{...e,retryConfig:e.retryConfig??u}}function f(e,t={}){return new s.WebClient(e,d(t))}function p(e){if(typeof e!=`string`)return;let t=e.replace(/\s+/g,` `).trim();return t.length>0?t:void 0}function m(e){return p(e.text?.text)}function h(e){return p(e.text?.text)}function g(e){return p(e.alt_text)??p(e.title?.text)}function _(e){return p(e.title?.text)??p(e.alt_text)}function v(e){if(!Array.isArray(e.elements))return;let t=e.elements.map(e=>p(e.text)).filter(e=>!!e);return t.length>0?t.join(` `):void 0}function y(e){for(let t of e){let e=t;switch(e.type){case`header`:{let t=h(e);if(t)return t;break}case`section`:{let t=m(e);if(t)return t;break}case`image`:return g(e)||`Shared an image`;case`video`:return _(e)||`Shared a video`;case`file`:return`Shared a file`;case`context`:{let t=v(e);if(t)return t;break}default:break}}return`Shared a Block Kit message`}function b(e){try{return JSON.parse(e)}catch{throw Error(`blocks must be valid JSON`)}}function x(e){if(!Array.isArray(e))throw Error(`blocks must be an array`);if(e.length===0)throw Error(`blocks must contain at least one block`);if(e.length>50)throw Error(`blocks cannot exceed 50 items`);for(let t of e){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`each block must be an object`);let e=t.type;if(typeof e!=`string`||e.trim().length===0)throw Error(`each block must include a non-empty string type`)}}function S(e){return x(e),e}function C(e){if(e!=null)return S(typeof e==`string`?b(e):e)}function w(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}const T=/<[^>\n]+>/g;function E(e){if(!e.startsWith(`<`)||!e.endsWith(`>`))return!1;let t=e.slice(1,-1);return t.startsWith(`@`)||t.startsWith(`#`)||t.startsWith(`!`)||t.startsWith(`mailto:`)||t.startsWith(`tel:`)||t.startsWith(`http://`)||t.startsWith(`https://`)||t.startsWith(`slack://`)}function D(e){if(!e)return``;if(!e.includes(`&`)&&!e.includes(`<`)&&!e.includes(`>`))return e;T.lastIndex=0;let t=[],n=0;for(let r=T.exec(e);r;r=T.exec(e)){let i=r.index??0;t.push(w(e.slice(n,i)));let a=r[0]??``;t.push(E(a)?a:w(a)),n=i+a.length}return t.push(w(e.slice(n))),t.join(``)}function O(e){return e?!e.includes(`&`)&&!e.includes(`<`)&&!e.includes(`>`)?e:e.split(`
2
2
  `).map(e=>e.startsWith(`> `)?`> ${D(e.slice(2))}`:D(e)).join(`
3
3
  `):``}function k(e,t){let n=e.href.trim();if(!n)return null;let r=t.slice(e.start,e.end).trim(),i=n.startsWith(`mailto:`)?n.slice(7):n;if(!(r.length>0&&r!==n&&r!==i))return null;let a=w(n);return{start:e.start,end:e.end,open:`<${a}|`,close:`>`}}function A(){return{styleMarkers:{bold:{open:`*`,close:`*`},italic:{open:`_`,close:`_`},strikethrough:{open:`~`,close:`~`},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"}},escapeText:O,buildLink:k}}function j(e,t={}){return o.t(a.n(e??``,{linkify:!1,autolink:!1,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:t.tableMode}),A())}function M(e){return j(e??``)}function N(e,t,n={}){let r=a.t(a.n(e??``,{linkify:!1,autolink:!1,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:n.tableMode}),t),i=A();return r.map(e=>o.t(e,i))}const P={allowedHostnames:[`*.slack.com`,`*.slack-edge.com`,`*.slack-files.com`],allowRfc2544BenchmarkRange:!0};function F(e){return!!(e?.username||e?.iconUrl||e?.iconEmoji)}function I(e){if(!(e instanceof Error))return!1;let t=e;return t.data?.error?.toLowerCase()===`missing_scope`?(t.data?.needed?.toLowerCase())?.includes(`chat:write.customize`)?!0:[...t.data?.response_metadata?.scopes??[],...t.data?.response_metadata?.acceptedScopes??[]].map(e=>e.toLowerCase()).includes(`chat:write.customize`):!1}async function L(t){let n={channel:t.channelId,text:t.text,thread_ts:t.threadTs,...t.blocks?.length?{blocks:t.blocks}:{}};try{return t.identity?.iconUrl?await t.client.chat.postMessage({...n,...t.identity.username?{username:t.identity.username}:{},icon_url:t.identity.iconUrl}):t.identity?.iconEmoji?await t.client.chat.postMessage({...n,...t.identity.username?{username:t.identity.username}:{},icon_emoji:t.identity.iconEmoji}):await t.client.chat.postMessage({...n,...t.identity?.username?{username:t.identity.username}:{}})}catch(r){if(!F(t.identity)||!I(r))throw r;return e.R(`slack send: missing chat:write.customize, retrying without custom identity`),t.client.chat.postMessage(n)}}function R(n){let r=t.cs(n.explicit);if(r)return r;let i=t.cs(n.fallbackToken);if(!i)throw e.R(`slack send: missing bot token for account=${n.accountId} explicit=${!!n.explicit} source=${n.fallbackSource??`unknown`}`),Error(`Slack bot token missing for account "${n.accountId}" (set channels.slack.accounts.${n.accountId}.botToken or SLACK_BOT_TOKEN for default).`);return i}function z(e){let t=c(e);if(!t)throw Error(`Recipient is required for Slack sends`);return{kind:t.kind,id:t.id}}async function B(e,t){if(!(t.kind===`user`||/^U[A-Z0-9]+$/i.test(t.id)))return{channelId:t.id};let n=(await e.conversations.open({users:t.id})).channel?.id;if(!n)throw Error(`Failed to open Slack DM channel`);return{channelId:n,isDm:!0}}async function V(e){let{buffer:t,contentType:n,fileName:r}=await a._(e.mediaUrl,{maxBytes:e.maxBytes,localRoots:e.mediaLocalRoots}),o=await e.client.files.getUploadURLExternal({filename:r??`upload`,length:t.length});if(!o.ok||!o.upload_url||!o.file_id)throw Error(`Failed to get upload URL: ${o.error??`unknown error`}`);let s=new Uint8Array(t),{response:c,release:l}=await i.t(i.r({url:o.upload_url,init:{method:`POST`,...n?{headers:{"Content-Type":n}}:{},body:s},policy:P,auditContext:`slack-upload-file`}));try{if(!c.ok)throw Error(`Failed to upload file: HTTP ${c.status}`)}finally{await l()}let u=await e.client.files.completeUploadExternal({files:[{id:o.file_id,title:r??`upload`}],channel_id:e.channelId,...e.caption?{initial_comment:e.caption}:{},...e.threadTs?{thread_ts:e.threadTs}:{}});if(!u.ok)throw Error(`Failed to complete upload: ${u.error??`unknown error`}`);return o.file_id}async function H(n,i,o={}){let s=i?.trim()??``;if(r.i(s)&&!o.mediaUrl&&!o.blocks)return e.R(`slack send: suppressed NO_REPLY token before API call`),{messageId:`suppressed`,channelId:``};let c=o.blocks==null?void 0:S(o.blocks);if(!s&&!o.mediaUrl&&!c)throw Error(`Slack send requires text, blocks, or media`);let l=o.cfg??t.Si(),u=t.as({cfg:l,accountId:o.accountId}),d=R({explicit:o.token,accountId:u.accountId,fallbackToken:u.botToken,fallbackSource:u.botTokenSource}),p=o.client??f(d),{channelId:m}=await B(p,z(n));if(c){if(o.mediaUrl)throw Error(`Slack send does not support blocks with mediaUrl`);return{messageId:(await L({client:p,channelId:m,text:s||y(c),threadTs:o.threadTs,identity:o.identity,blocks:c})).ts??`unknown`,channelId:m}}let h=a.f(l,`slack`,u.accountId),g=Math.min(h,4e3),_=a.i({cfg:l,channel:`slack`,accountId:u.accountId}),v=a.d(l,`slack`,u.accountId),b=(v===`newline`?a.c(s,g,v):[s]).flatMap(e=>N(e,g,{tableMode:_}));!b.length&&s&&b.push(s);let x=typeof u.config.mediaMaxMb==`number`?u.config.mediaMaxMb*1024*1024:void 0,C=``;if(o.mediaUrl){let[e,...t]=b;C=await V({client:p,channelId:m,mediaUrl:o.mediaUrl,mediaLocalRoots:o.mediaLocalRoots,caption:e,threadTs:o.threadTs,maxBytes:x});for(let e of t)C=(await L({client:p,channelId:m,text:e,threadTs:o.threadTs,identity:o.identity})).ts??C}else for(let e of b.length?b:[``])C=(await L({client:p,channelId:m,text:e,threadTs:o.threadTs,identity:o.identity})).ts??C;return{messageId:C||`unknown`,channelId:m}}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return l}});
4
+ //# sourceMappingURL=send-Cm7bEwx-.cjs.map
@@ -1,3 +1,4 @@
1
1
  import{Ca as e,Ln as t,Pn as n}from"./model-auth-CycDtQl-.js";import{R as r}from"./logger-DJGHvDbX.js";import{i,n as a,r as o,t as s}from"./targets-CL5fYQi7.js";import{r as c,t as l}from"./fetch-guard-_fifU0fX.js";import{i as u}from"./tokens-BqABmXSe.js";import{a as d,d as f,h as p,m,n as h,s as g,t as _}from"./ir-Dgc6qZMX.js";import{t as v}from"./render-DhTJXP1U.js";import{WebClient as y}from"@slack/web-api";function b(e,t={}){let n=e.trim();return n?o({raw:n,mentionPattern:/^<@([A-Z0-9]+)>$/i,prefixes:[{prefix:`user:`,kind:`user`},{prefix:`channel:`,kind:`channel`},{prefix:`slack:`,kind:`user`}],atUserPattern:/^[A-Z0-9]+$/i,atUserErrorMessage:`Slack DMs require a user id (use user:<id> or <@id>)`})||(n.startsWith(`#`)?s(`channel`,a({candidate:n.slice(1).trim(),pattern:/^[A-Z0-9]+$/i,errorMessage:`Slack channels require a channel id (use channel:<id>)`}),n):t.defaultKind?s(t.defaultKind,n,n):s(`channel`,n,n)):void 0}function x(e){return i({platform:`Slack`,target:b(e,{defaultKind:`channel`}),kind:`channel`})}const S={retries:2,factor:2,minTimeout:500,maxTimeout:3e3,randomize:!0};function C(e={}){return{...e,retryConfig:e.retryConfig??S}}function w(e,t={}){return new y(e,C(t))}function T(e){if(typeof e!=`string`)return;let t=e.replace(/\s+/g,` `).trim();return t.length>0?t:void 0}function E(e){return T(e.text?.text)}function D(e){return T(e.text?.text)}function O(e){return T(e.alt_text)??T(e.title?.text)}function k(e){return T(e.title?.text)??T(e.alt_text)}function A(e){if(!Array.isArray(e.elements))return;let t=e.elements.map(e=>T(e.text)).filter(e=>!!e);return t.length>0?t.join(` `):void 0}function j(e){for(let t of e){let e=t;switch(e.type){case`header`:{let t=D(e);if(t)return t;break}case`section`:{let t=E(e);if(t)return t;break}case`image`:return O(e)||`Shared an image`;case`video`:return k(e)||`Shared a video`;case`file`:return`Shared a file`;case`context`:{let t=A(e);if(t)return t;break}default:break}}return`Shared a Block Kit message`}function M(e){try{return JSON.parse(e)}catch{throw Error(`blocks must be valid JSON`)}}function N(e){if(!Array.isArray(e))throw Error(`blocks must be an array`);if(e.length===0)throw Error(`blocks must contain at least one block`);if(e.length>50)throw Error(`blocks cannot exceed 50 items`);for(let t of e){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`each block must be an object`);let e=t.type;if(typeof e!=`string`||e.trim().length===0)throw Error(`each block must include a non-empty string type`)}}function P(e){return N(e),e}function F(e){if(e!=null)return P(typeof e==`string`?M(e):e)}function I(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}const L=/<[^>\n]+>/g;function R(e){if(!e.startsWith(`<`)||!e.endsWith(`>`))return!1;let t=e.slice(1,-1);return t.startsWith(`@`)||t.startsWith(`#`)||t.startsWith(`!`)||t.startsWith(`mailto:`)||t.startsWith(`tel:`)||t.startsWith(`http://`)||t.startsWith(`https://`)||t.startsWith(`slack://`)}function z(e){if(!e)return``;if(!e.includes(`&`)&&!e.includes(`<`)&&!e.includes(`>`))return e;L.lastIndex=0;let t=[],n=0;for(let r=L.exec(e);r;r=L.exec(e)){let i=r.index??0;t.push(I(e.slice(n,i)));let a=r[0]??``;t.push(R(a)?a:I(a)),n=i+a.length}return t.push(I(e.slice(n))),t.join(``)}function B(e){return e?!e.includes(`&`)&&!e.includes(`<`)&&!e.includes(`>`)?e:e.split(`
2
2
  `).map(e=>e.startsWith(`> `)?`> ${z(e.slice(2))}`:z(e)).join(`
3
3
  `):``}function V(e,t){let n=e.href.trim();if(!n)return null;let r=t.slice(e.start,e.end).trim(),i=n.startsWith(`mailto:`)?n.slice(7):n;if(!(r.length>0&&r!==n&&r!==i))return null;let a=I(n);return{start:e.start,end:e.end,open:`<${a}|`,close:`>`}}function H(){return{styleMarkers:{bold:{open:`*`,close:`*`},italic:{open:`_`,close:`_`},strikethrough:{open:`~`,close:`~`},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"}},escapeText:B,buildLink:V}}function U(e,t={}){return v(h(e??``,{linkify:!1,autolink:!1,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:t.tableMode}),H())}function W(e){return U(e??``)}function G(e,t,n={}){let r=_(h(e??``,{linkify:!1,autolink:!1,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:n.tableMode}),t),i=H();return r.map(e=>v(e,i))}const K={allowedHostnames:[`*.slack.com`,`*.slack-edge.com`,`*.slack-files.com`],allowRfc2544BenchmarkRange:!0};function q(e){return!!(e?.username||e?.iconUrl||e?.iconEmoji)}function J(e){if(!(e instanceof Error))return!1;let t=e;return t.data?.error?.toLowerCase()===`missing_scope`?(t.data?.needed?.toLowerCase())?.includes(`chat:write.customize`)?!0:[...t.data?.response_metadata?.scopes??[],...t.data?.response_metadata?.acceptedScopes??[]].map(e=>e.toLowerCase()).includes(`chat:write.customize`):!1}async function Y(e){let t={channel:e.channelId,text:e.text,thread_ts:e.threadTs,...e.blocks?.length?{blocks:e.blocks}:{}};try{return e.identity?.iconUrl?await e.client.chat.postMessage({...t,...e.identity.username?{username:e.identity.username}:{},icon_url:e.identity.iconUrl}):e.identity?.iconEmoji?await e.client.chat.postMessage({...t,...e.identity.username?{username:e.identity.username}:{},icon_emoji:e.identity.iconEmoji}):await e.client.chat.postMessage({...t,...e.identity?.username?{username:e.identity.username}:{}})}catch(n){if(!q(e.identity)||!J(n))throw n;return r(`slack send: missing chat:write.customize, retrying without custom identity`),e.client.chat.postMessage(t)}}function X(e){let n=t(e.explicit);if(n)return n;let i=t(e.fallbackToken);if(!i)throw r(`slack send: missing bot token for account=${e.accountId} explicit=${!!e.explicit} source=${e.fallbackSource??`unknown`}`),Error(`Slack bot token missing for account "${e.accountId}" (set channels.slack.accounts.${e.accountId}.botToken or SLACK_BOT_TOKEN for default).`);return i}function Z(e){let t=b(e);if(!t)throw Error(`Recipient is required for Slack sends`);return{kind:t.kind,id:t.id}}async function Q(e,t){if(!(t.kind===`user`||/^U[A-Z0-9]+$/i.test(t.id)))return{channelId:t.id};let n=(await e.conversations.open({users:t.id})).channel?.id;if(!n)throw Error(`Failed to open Slack DM channel`);return{channelId:n,isDm:!0}}async function $(e){let{buffer:t,contentType:n,fileName:r}=await d(e.mediaUrl,{maxBytes:e.maxBytes,localRoots:e.mediaLocalRoots}),i=await e.client.files.getUploadURLExternal({filename:r??`upload`,length:t.length});if(!i.ok||!i.upload_url||!i.file_id)throw Error(`Failed to get upload URL: ${i.error??`unknown error`}`);let a=new Uint8Array(t),{response:o,release:s}=await l(c({url:i.upload_url,init:{method:`POST`,...n?{headers:{"Content-Type":n}}:{},body:a},policy:K,auditContext:`slack-upload-file`}));try{if(!o.ok)throw Error(`Failed to upload file: HTTP ${o.status}`)}finally{await s()}let u=await e.client.files.completeUploadExternal({files:[{id:i.file_id,title:r??`upload`}],channel_id:e.channelId,...e.caption?{initial_comment:e.caption}:{},...e.threadTs?{thread_ts:e.threadTs}:{}});if(!u.ok)throw Error(`Failed to complete upload: ${u.error??`unknown error`}`);return i.file_id}async function ee(t,i,a={}){let o=i?.trim()??``;if(u(o)&&!a.mediaUrl&&!a.blocks)return r(`slack send: suppressed NO_REPLY token before API call`),{messageId:`suppressed`,channelId:``};let s=a.blocks==null?void 0:P(a.blocks);if(!o&&!a.mediaUrl&&!s)throw Error(`Slack send requires text, blocks, or media`);let c=a.cfg??e(),l=n({cfg:c,accountId:a.accountId}),d=X({explicit:a.token,accountId:l.accountId,fallbackToken:l.botToken,fallbackSource:l.botTokenSource}),h=a.client??w(d),{channelId:_}=await Q(h,Z(t));if(s){if(a.mediaUrl)throw Error(`Slack send does not support blocks with mediaUrl`);return{messageId:(await Y({client:h,channelId:_,text:o||j(s),threadTs:a.threadTs,identity:a.identity,blocks:s})).ts??`unknown`,channelId:_}}let v=p(c,`slack`,l.accountId),y=Math.min(v,4e3),b=g({cfg:c,channel:`slack`,accountId:l.accountId}),x=m(c,`slack`,l.accountId),S=(x===`newline`?f(o,y,x):[o]).flatMap(e=>G(e,y,{tableMode:b}));!S.length&&o&&S.push(o);let C=typeof l.config.mediaMaxMb==`number`?l.config.mediaMaxMb*1024*1024:void 0,T=``;if(a.mediaUrl){let[e,...t]=S;T=await $({client:h,channelId:_,mediaUrl:a.mediaUrl,mediaLocalRoots:a.mediaLocalRoots,caption:e,threadTs:a.threadTs,maxBytes:C});for(let e of t)T=(await Y({client:h,channelId:_,text:e,threadTs:a.threadTs,identity:a.identity})).ts??T}else for(let e of S.length?S:[``])T=(await Y({client:h,channelId:_,text:e,threadTs:a.threadTs,identity:a.identity})).ts??T;return{messageId:T||`unknown`,channelId:_}}export{P as a,C as c,F as i,b as l,G as n,j as o,W as r,w as s,ee as t,x as u};
4
+ //# sourceMappingURL=send-CmO9z2-b.js.map
@@ -5,3 +5,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-D90l3h_o.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=ut(s,l);e.trim().length&&o.push(e)}return mt(e,o)}function pt(e,t){if((t.chunkMode??`length`)!==`newline`)return ft(e,t);let n=o.d(e,Math.max(1,Math.floor(t.maxChars??at)),`newline`),r=[];for(let e of n){let n=ft(e,t);if(!n.length&&e){r.push(e);continue}r.push(...n)}return r}function mt(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 ht(e){let t=n.hs(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 gt(e,t){return t??new g.RequestClient(e)}function _t(e){let r=t.zt(e.accountId),i=n.fs(e.cfg,r),a=e.cfg.channels?.discord?.enabled!==!1,o=i.enabled!==!1;return{accountId:r,enabled:a&&o,name:i.name?.trim()||void 0,token:``,tokenSource:`none`,config:i}}function vt(e,t){let r=e.cfg??t??n.Y(),i=n.hs(e.token,`channels.discord.token`),a=i?_t({cfg:r,accountId:e.accountId}):n.ps({cfg:r,accountId:e.accountId}),o=i??ht({accountId:a.accountId,fallbackToken:a.token});return{token:o,rest:gt(o,e.rest),account:a}}function k(e,t){let{token:n,rest:r,account:i}=vt(e,e.cfg??t);return{token:n,rest:r,request:l.r({retry:e.retry,configRetry:i.config.retry,verbose:e.verbose})}}function A(e){return vt(e,e.cfg).rest}const yt=Object.entries(_.PermissionFlagsBits).filter(([,e])=>typeof e==`bigint`),bt=yt.reduce((e,[,t])=>e|t,0n),xt=_.PermissionFlagsBits.Administrator;function j(e,t){return t?e|BigInt(t):e}function M(e,t){return t?e&~BigInt(t):e}function St(e){return yt.filter(([,t])=>(e&t)===t).map(([e])=>e).toSorted()}function Ct(e){return(e&xt)===xt}function wt(e,t){return(e&t)===t}function Tt(e){return e===_.ChannelType.GuildNewsThread||e===_.ChannelType.GuildPublicThread||e===_.ChannelType.GuildPrivateThread}async function Et(e){let t=await e.get(_.Routes.user(`@me`));if(!t?.id)throw Error(`Failed to resolve bot user id`);return t.id}async function Dt(e,t,n={}){let r=A(n);try{let[n,i]=await Promise.all([r.get(_.Routes.guild(e)),r.get(_.Routes.guildMember(e,t))]),a=new Map((n.roles??[]).map(e=>[e.id,e])),o=a.get(e),s=0n;o?.permissions&&(s=j(s,o.permissions));for(let e of i.roles??[]){let t=a.get(e);t?.permissions&&(s=j(s,t.permissions))}return s}catch{return null}}async function Ot(e,t,n,r,i={}){let a=await Dt(e,t,i);return a===null?!1:Ct(a)?!0:r(a,n)}async function kt(e,t,n,r={}){return await Ot(e,t,n,(e,t)=>t.some(t=>wt(e,t)),r)}async function At(e,t={}){let n=A(t),r=await n.get(_.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 Et(n),[s,c]=await Promise.all([n.get(_.Routes.guild(a)),n.get(_.Routes.guildMember(a,o))]),l=new Map((s.roles??[]).map(e=>[e.id,e])),u=l.get(a),d=0n;u?.permissions&&(d=j(d,u.permissions));for(let e of c.roles??[]){let t=l.get(e);t?.permissions&&(d=j(d,t.permissions))}if(Ct(d))return{channelId:e,guildId:a,permissions:St(bt),raw:bt.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=M(f,e.deny??`0`),f=j(f,e.allow??`0`));for(let e of p)c.roles?.includes(e.id)&&(f=M(f,e.deny??`0`),f=j(f,e.allow??`0`));for(let e of p)e.id===o&&(f=M(f,e.deny??`0`),f=j(f,e.allow??`0`));return{channelId:e,guildId:a,permissions:St(f),raw:f.toString(),isDm:!1,channelType:i}}var N=class extends Error{constructor(e,t){super(e),this.name=`DiscordSendError`,t&&Object.assign(this,t)}toString(){return this.message}};function P(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 F(e,t,r){let i=r??n.Y(),a=n.ps({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 tt(e,{cfg:i,accountId:a.accountId},s);if(c)return{kind:c.kind,id:c.id};let l=O(e,s);if(!l)throw Error(`Recipient is required for Discord sends`);return{kind:l.kind,id:l.id}}function jt(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 I(e,t){let n=e.trim();if(!n)throw Error(`${t} is required`);return n}function Mt(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:v.PollLayoutType.Default}}function Nt(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 L(e,t){if(e instanceof N)return e;let n=Nt(e);if(n===50007)return new N(`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 At(t.channelId,{rest:t.rest,token:t.token}),n=new Set(e.permissions),i=[`ViewChannel`,`SendMessages`];Tt(e.channelType)&&i.push(`SendMessagesInThreads`),t.hasMedia&&i.push(`AttachFiles`),r=i.filter(e=>!n.has(e))}catch{}return new N(`${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 R(e,t,n){if(t.kind===`channel`)return{channelId:t.id};let r=await n(()=>e.post(_.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 Pt(e,t){try{return(await e.get(_.Routes.channel(t)))?.type}catch{return}}const z=4096;function B(e,t={}){if(!e)return[];let n=pt(e,{maxChars:t.maxChars??2e3,maxLines:t.maxLinesPerMessage,chunkMode:t.chunkMode});return!n.length&&e&&n.push(e),n}function Ft(e){return!!e?.some(e=>`isV2`in e&&e.isV2)}function V(e){if(!(!e.components||!e.isFirst))return typeof e.components==`function`?e.components(e.text):e.components}function It(e){if(e?.length)return e.map(e=>e instanceof g.Embed?e:new g.Embed(e))}function H(e){if(!(!e.embeds||!e.isFirst))return It(e.embeds)}function Lt(e){let t={},n=Ft(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 Rt(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?z:void 0,f=B(n,{maxLinesPerMessage:a,chunkMode:c}),p=async(n,r)=>{let a=U({...(0,g.serializePayload)(Lt({text:n,components:V({components:o,text:n,isFirst:r}),embeds:H({embeds:s,isFirst:r}),flags:d})),...u?{message_reference:u}:{}});return await i(()=>e.post(_.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 zt(e,t,n,r,i,a,s,l,u,d,f,p,m){let h=await o.a(r,c.t({maxBytes:a,mediaLocalRoots:i})),v=n?B(n,{maxLinesPerMessage:u,chunkMode:p}):[],y=v[0]??``,b=s?{message_id:s,fail_if_not_exists:!1}:void 0,x=m?z:void 0,S=Rt(h.buffer),ee=Lt({text:y,components:V({components:d,text:y,isFirst:!0}),embeds:H({embeds:f,isFirst:!0}),flags:x,files:[{data:S,name:h.fileName??`upload`}]}),C=await l(()=>e.post(_.Routes.channelMessages(t),{body:U({...(0,g.serializePayload)(ee),...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 C}function Bt(e){return e.id&&e.name?`${e.name}:${e.id}`:e.name??``}function Vt(e){return Bt(e)}async function Ht(e,t={}){let n=A(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(_.Routes.guildChannels(e.guildId),{body:r})}async function Ut(e,t={}){let n=A(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(_.Routes.channel(e.channelId),{body:r})}async function Wt(e,t={}){return await A(t).delete(_.Routes.channel(e)),{ok:!0,channelId:e}}async function Gt(e,t={}){let n=A(t),r=[{id:e.channelId,...e.parentId!==void 0&&{parent_id:e.parentId},...e.position!==void 0&&{position:e.position}}];return await n.patch(_.Routes.guildChannels(e.guildId),{body:r}),{ok:!0}}async function Kt(e,t={}){let n=A(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 qt(e,t,n={}){return await A(n).delete(`/channels/${e}/permissions/${t}`),{ok:!0}}async function Jt(e,t={}){return await A(t).get(_.Routes.guildEmojis(e))}async function Yt(e,t={}){let n=A(t),r=await o.o(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`)}`,s=(e.roleIds??[]).map(e=>e.trim()).filter(Boolean);return await n.post(_.Routes.guildEmojis(e.guildId),{body:{name:I(e.name,`Emoji name`),image:a,roles:s.length?s:void 0}})}async function Xt(e,t={}){let n=A(t),r=await o.o(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(_.Routes.guildStickers(e.guildId),{body:{name:I(e.name,`Sticker name`),description:I(e.description,`Sticker description`),tags:I(e.tags,`Sticker tags`),files:[{data:r.buffer,name:r.fileName??`sticker`,contentType:i}]}})}async function Zt(e,t,n={}){return await A(n).get(_.Routes.guildMember(e,t))}async function Qt(e,t={}){return await A(t).get(_.Routes.guildRoles(e))}async function $t(e,t={}){return await A(t).put(_.Routes.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function en(e,t={}){return await A(t).delete(_.Routes.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function tn(e,t={}){return await A(t).get(_.Routes.channel(e))}async function nn(e,t={}){return await A(t).get(_.Routes.guildChannels(e))}async function rn(e,t,n={}){return await A(n).get(_.Routes.guildVoiceState(e,t))}async function an(e,t={}){return await A(t).get(_.Routes.guildScheduledEvents(e))}async function on(e,t,n={}){return await A(n).post(_.Routes.guildScheduledEvents(e),{body:t})}async function sn(e,t={}){let n=A(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(_.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 cn(e,t={}){return await A(t).delete(_.Routes.guildMember(e.guildId,e.userId),{headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0}),{ok:!0}}async function ln(e,t={}){let n=A(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(_.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 un(e,t={},n={}){let r=A(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(_.Routes.channelMessages(e),a)}async function dn(e,t,n={}){return await A(n).get(_.Routes.channelMessage(e,t))}async function fn(e,t,n,r={}){return await A(r).patch(_.Routes.channelMessage(e,t),{body:{content:n.content}})}async function pn(e,t,n={}){return await A(n).delete(_.Routes.channelMessage(e,t)),{ok:!0}}async function mn(e,t,n={}){return await A(n).put(_.Routes.channelPin(e,t)),{ok:!0}}async function hn(e,t,n={}){return await A(n).delete(_.Routes.channelPin(e,t)),{ok:!0}}async function gn(e,t={}){return await A(t).get(_.Routes.channelPins(e))}async function _n(e,t,n={}){let r=A(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(_.Routes.channel(e)))?.type}catch{a=void 0}let o=a===_.ChannelType.GuildForum||a===_.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=_.ChannelType.PublicThread);let s=t.messageId?_.Routes.threads(e,t.messageId):_.Routes.threads(e),c=await r.post(s,{body:i});return!o&&t.content?.trim()&&await r.post(_.Routes.channelMessages(c.id),{body:{content:t.content}}),c}async function vn(e,t={}){let n=A(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(_.Routes.channelThreads(e.channelId,`public`),t)}return await n.get(_.Routes.guildActiveThreads(e.guildId))}async function yn(e,t={}){let n=A(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 bn(e){if(e)try{await p.default.unlink(e)}catch{}}const xn=/```[\s\S]*?```|`[^`\n]*`/g,Sn=/(^|[\s([{"'.,;:!?])@([a-z0-9_.-]{2,32}(?:#[0-9]{4})?)/gi,Cn=new Set([`everyone`,`here`]);function wn(e){let t=String(e??``).trim();return/^\d+$/.test(t)?t:null}function Tn(e){let t=e.userId==null?null:wn(e.userId),n=e.roleId==null?null:wn(e.roleId),r=e.channelId==null?null:wn(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 En(e,t){return e.includes(`@`)?e.replace(Sn,(e,n,r)=>{let i=String(r??``).trim();if(!i)return e;let a=i.toLowerCase();if(Cn.has(a))return e;let o=qe({accountId:t,handle:i});return o?`${String(n??``)}${Tn({userId:o})}`:e}):e}function G(e,t){if(!e.includes(`@`))return e;let n=``,r=0;xn.lastIndex=0;for(let i of e.matchAll(xn)){let a=i.index??0;n+=En(e.slice(r,a),t.accountId),n+=i[0],r=a+i[0].length}return n+=En(e.slice(r),t.accountId),n}const Dn=(0,f.promisify)(h.execFile);function On(e,t){return{timeout:t?.timeoutMs??e,maxBuffer:t?.maxBufferBytes??10485760}}async function kn(e,t){let{stdout:n}=await Dn(`ffprobe`,e,On(1e4,t));return n.toString()}async function An(e,t){let{stdout:n}=await Dn(`ffmpeg`,e,On(45e3,t));return n.toString()}function jn(e,t){return e.trim().toLowerCase().split(/[,\r\n]+/,t).map(e=>e.trim())}function Mn(e){let[t,n]=jn(e,2),r=t||null,i=n?Number.parseInt(n,10):NaN;return{codec:r,sampleRateHz:Number.isFinite(i)?i:null}}const Nn=8192;async function Pn(e){try{let t=await kn([`-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 Fn(e){try{return await In(e)}catch{return Ln()}}async function In(e){let t=r.Z(),n=d.default.join(t,`waveform-${m.default.randomUUID()}.raw`);try{await An([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-f`,`s16le`,`-acodec`,`pcm_s16le`,`-ac`,`1`,`-ar`,`8000`,n]);let t=await p.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 bn(n)}}function Ln(){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 Rn(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(d.default.extname(e).toLowerCase()===`.ogg`)try{let{codec:t,sampleRateHz:n}=Mn(await kn([`-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.Z(),i=d.default.join(n,`voice-${m.default.randomUUID()}.ogg`);return await An([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-ar`,`48000`,`-c:a`,`libopus`,`-b:a`,`64k`,i]),{path:i,cleanup:!0}}async function zn(e){let[t,n]=await Promise.all([Pn(e),Fn(e)]);return{durationSecs:t,waveform:n}}async function Bn(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?Nn|4096:Nn,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 Vn(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 Hn(e){return(e.split(`
7
7
  `).find(e=>e.trim())?.trim()??``).slice(0,100)||new Date().toISOString().slice(0,16)}function Un(e){return e===_.ChannelType.GuildForum||e===_.ChannelType.GuildMedia}function K(e,t){return{messageId:e.id?String(e.id):`unknown`,channelId:String(e.channel_id??t)}}async function Wn(e,t){let r=t.cfg??n.Y(),{rest:i,request:a}=k(t,r),{channelId:o}=await R(i,await F(e,t.accountId,r),a);return{rest:i,request:a,channelId:o}}async function Gn(e,t,r={}){let i=r.cfg??n.Y(),a=n.ps({cfg:i,accountId:r.accountId}),s=o.s({cfg:i,channel:`discord`,accountId:a.accountId}),c=o.m(i,`discord`,a.accountId),d=typeof a.config.mediaMaxMb==`number`?a.config.mediaMaxMb*1024*1024:8*1024*1024,f=u.t(t??``,s),p=G(f,{accountId:a.accountId}),{token:m,rest:h,request:v}=k(r,i),{channelId:y}=await R(h,await F(e,r.accountId,i),v);if(Un(await Pt(h,y))){let e=Hn(f),t=B(p,{maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:c}),n=t[0]?.trim()?t[0]:e,i=Lt({text:n,components:V({components:r.components,text:n,isFirst:!0}),embeds:H({embeds:r.embeds,isFirst:!0}),flags:r.silent?4096:void 0}),o;try{o=await v(()=>h.post(_.Routes.threads(y),{body:{name:e,message:U((0,g.serializePayload)(i))}}),`forum-thread`)}catch(e){throw await L(e,{channelId:y,rest:h,token:m,hasMedia:!!r.mediaUrl})}let s=o.id,u=o.message?.id??s,b=o.message?.channel_id??s,x=t.slice(1);try{if(r.mediaUrl){let[e,...t]=x;await zt(h,s,e??``,r.mediaUrl,r.mediaLocalRoots,d,void 0,v,a.config.maxLinesPerMessage,void 0,void 0,c,r.silent),await Vn({rest:h,threadId:s,chunks:t,request:v,maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:c,silent:r.silent})}else await Vn({rest:h,threadId:s,chunks:x,request:v,maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:c,silent:r.silent})}catch(e){throw await L(e,{channelId:s,rest:h,token:m,hasMedia:!!r.mediaUrl})}return l.n({channel:`discord`,accountId:a.accountId,direction:`outbound`}),K({id:u,channel_id:b},y)}let b;try{b=r.mediaUrl?await zt(h,y,p,r.mediaUrl,r.mediaLocalRoots,d,r.replyTo,v,a.config.maxLinesPerMessage,r.components,r.embeds,c,r.silent):await W(h,y,p,r.replyTo,v,a.config.maxLinesPerMessage,r.components,r.embeds,c,r.silent)}catch(e){throw await L(e,{channelId:y,rest:h,token:m,hasMedia:!!r.mediaUrl})}return l.n({channel:`discord`,accountId:a.accountId,direction:`outbound`}),K(b,y)}function Kn(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 qn(e,t){let r=t.webhookId.trim(),i=t.webhookToken.trim();if(!r||!i)throw Error(`Discord webhook id/token are required`);let a=G(e,{accountId:t.accountId}),o=typeof t.replyTo==`string`?t.replyTo.trim():``,s=o?{message_id:o,fail_if_not_exists:!1}:void 0,c=await fetch(Kn({webhookId:r,webhookToken:i,threadId:t.threadId,wait:t.wait}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({content:a,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{l.n({channel:`discord`,accountId:n.ps({cfg:t.cfg??n.Y(),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 Jn(e,t,n={}){let{rest:r,request:i,channelId:a}=await Wn(e,n),o=n.content?.trim(),s=o?G(o,{accountId:n.accountId}):void 0,c=jt(t);return K(await i(()=>r.post(_.Routes.channelMessages(a),{body:{content:s||void 0,sticker_ids:c}}),`sticker`),a)}async function Yn(e,t,n={}){let{rest:r,request:i,channelId:a}=await Wn(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=Mt(t),l=n.silent?z:void 0;return K(await i(()=>r.post(_.Routes.channelMessages(a),{body:{content:s||void 0,poll:c,...l?{flags:l}:{}}}),`poll`),a)}async function Xn(e){let n=await o.o(e,t.y(`audio`)),i=n.fileName?d.default.extname(n.fileName):``,a=n.contentType?t.d(n.contentType):``,s=i||a||`.bin`,c=r.Z(),l=d.default.join(c,`voice-src-${m.default.randomUUID()}${s}`);return await p.default.writeFile(l,n.buffer,{mode:384}),{filePath:l}}async function Zn(e,t,r={}){let{filePath:i}=await Xn(t),a=null,o=!1,s,c,u;try{let t=r.cfg??n.Y(),d=n.ps({cfg:t,accountId:r.accountId}),f=k(r,t);s=f.token,c=f.rest;let m=f.request,h=await F(e,r.accountId,t);u=(await R(c,h,m)).channelId;let g=await Rn(i);a=g.path,o=g.cleanup;let _=await zn(a),v=await p.default.readFile(a),y=await Bn(c,u,v,_,r.replyTo,m,r.silent,s);return l.n({channel:`discord`,accountId:d.accountId,direction:`outbound`}),K(y,u)}catch(e){throw u&&c&&s?await L(e,{channelId:u,rest:c,token:s,hasMedia:!0}):e}finally{await bn(o?a:null),await bn(i)}}const q=new Map,J=new Map;function Qn(e,t){return typeof e.expiresAt==`number`&&e.expiresAt<=t}function $n(e,t,n){let r=e.createdAt??t,i=e.expiresAt??r+n;return{...e,createdAt:r,expiresAt:i}}function er(e){let t=Date.now(),n=e.ttlMs??18e5;for(let r of e.entries){let i=$n({...r,messageId:e.messageId??r.messageId},t,n);q.set(r.id,i)}for(let r of e.modals){let i=$n({...r,messageId:e.messageId??r.messageId},t,n);J.set(r.id,i)}}function tr(e){let t=q.get(e.id);return t?Qn(t,Date.now())?(q.delete(e.id),null):(e.consume!==!1&&q.delete(e.id),t):null}function nr(e){let t=J.get(e.id);return t?Qn(t,Date.now())?(J.delete(e.id),null):(e.consume!==!1&&J.delete(e.id),t):null}const rr=`attachment://`,ir=new Map([[`row`,`actions`],[`action-row`,`actions`]]);function Y(e){return`${e}${m.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 ar(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 or(e,t){return e?.trim()||`field_${t+1}`}function sr(e,t){let n=e.trim();if(!n.startsWith(`attachment://`))throw Error(`${t} must start with "${rr}"`);let r=n.slice(13).trim();if(!r)throw Error(`${t} must include an attachment filename`);return`${rr}${r}`}function cr(e){let t=e.trim();if(!t.startsWith(`attachment://`))throw Error(`Attachment reference must start with "${rr}"`);let n=t.slice(13).trim();if(!n)throw Error(`Attachment reference must include a filename`);return n}function lr(e){switch((e??`primary`).toLowerCase()){case`secondary`:return _.ButtonStyle.Secondary;case`success`:return _.ButtonStyle.Success;case`danger`:return _.ButtonStyle.Danger;case`link`:return _.ButtonStyle.Link;default:return _.ButtonStyle.Primary}}function ur(e){return e===`paragraph`?_.TextInputStyle.Paragraph:_.TextInputStyle.Short}function dr(e){let t=e.trim().toLowerCase();return ir.get(t)??t}function fr(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 pr(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:ar(n.allowedUsers,`${t}.allowedUsers`)}}function mr(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:fr(n.options,`${t}.options`)}}function hr(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=fr(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:or(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 gr(e,t){let n=X(e,t);switch(dr(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:pr(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)=>pr(e,`${t}.buttons[${n}]`)):void 0,i=n.select?mr(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:sr(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 _r(e){if(e==null)return null;let t=X(e,`components`),n=t.blocks,r=Array.isArray(n)?n.map((e,t)=>gr(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)=>hr(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 vr(e){let t=`occomp:cid=${e.componentId}`;return e.modalId?`${t};mid=${e.modalId}`:t}function yr(e){return`ocmodal:mid=${e}`}function br(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 xr(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 Sr(e){return/^__openclaw_discord_component_[a-z_]+_wildcard__$/.test(e)}function Cr(e){if(e===`*`||Sr(e))return{key:`*`,data:{}};let t=(0,g.parseCustomId)(e);return t.key===`occomp`?{key:`*`,data:t.data}:t}function wr(e){if(e===`*`||Sr(e))return{key:`*`,data:{}};let t=(0,g.parseCustomId)(e);return t.key===`ocmodal`?{key:`*`,data:t.data}:t}function Tr(e,t){return t&&t.length>0?t.map(e=>new g.TextDisplay(e)):e?[new g.TextDisplay(e)]:[]}function Er(e){let t=lr(e.spec.style);if(t===_.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=vr({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 Dr(e){let t=(e.spec.type??`string`).toLowerCase(),n=e.componentId??Y(`sel_`),r=vr({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 Or(e){return e instanceof g.StringSelectMenu||e instanceof g.UserSelectMenu||e instanceof g.RoleSelectMenu||e instanceof g.MentionableSelectMenu||e instanceof g.ChannelSelectMenu}function kr(e){if(e.type===`text`){class t extends g.TextInput{constructor(...t){super(...t),this.customId=e.id,this.style=ur(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 Ar(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=Tr(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}=Er({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}=Er({spec:n});e.push(t),r&&a(r)}}else if(t.select){let{component:n,entry:r}=Dr({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:or(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}=Er({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=>Or(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 jr(e){return e.some(e=>e.isV2)?_.MessageFlags.IsComponentsV2:void 0}var Mr=class extends g.Modal{constructor(e){super(),this.customIdParser=wr,this.title=e.title,this.customId=yr(e.modalId),this.components=e.fields.map(e=>{let t=kr(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 Nr(e){return new Mr({modalId:e.id,title:e.title,fields:e.fields})}function Pr(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 Fr=new Set([_.ChannelType.GuildForum,_.ChannelType.GuildMedia]);function Ir(e){let t=[];for(let n of e.blocks??[])n.type===`file`&&t.push(cr(n.file));return t}async function Lr(e,t,r={}){let i=r.cfg??n.Y(),a=n.ps({cfg:i,accountId:r.accountId}),{token:s,rest:c,request:u}=k(r,i),{channelId:d}=await R(c,await F(e,r.accountId,i),u),f=await Pt(c,d);if(f&&Fr.has(f))throw Error(`Discord components are not supported in forum-style channels`);let p=Ar({spec:t,sessionKey:r.sessionKey,agentId:r.agentId,accountId:a.accountId}),m=jr(p.components),h=r.silent?(m??0)|z:m??void 0,v=r.replyTo?{message_id:r.replyTo,fail_if_not_exists:!1}:void 0,y=Ir(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 o.a(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:Rt(e.buffer),name:t}]}else if(x)throw Error(`Discord component file blocks require a media attachment (media/path/filePath).`);let ee=U({...(0,g.serializePayload)({components:p.components,...h?{flags:h}:{},...S?{files:S}:{}}),...v?{message_reference:v}:{}}),C;try{C=await u(()=>c.post(_.Routes.channelMessages(d),{body:ee}),`components`)}catch(e){throw await L(e,{channelId:d,rest:c,token:s,hasMedia:!!S?.length})}return er({entries:p.entries,modals:p.modals,messageId:C.id}),l.n({channel:`discord`,accountId:a.accountId,direction:`outbound`}),{messageId:C.id??`unknown`,channelId:C.channel_id??d}}async function Rr(e,t,r,i={}){let{rest:a,request:o}=k(i,i.cfg??n.Y()),s=P(r);return await o(()=>a.put(_.Routes.channelMessageOwnReaction(e,t,s)),`react`),{ok:!0}}async function zr(e,t,r,i={}){let{rest:a}=k(i,i.cfg??n.Y()),o=P(r);return await a.delete(_.Routes.channelMessageOwnReaction(e,t,o)),{ok:!0}}async function Br(e,t,r={}){let{rest:i}=k(r,r.cfg??n.Y()),a=await i.get(_.Routes.channelMessage(e,t)),o=new Set;for(let e of a.reactions??[]){let t=Bt(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(_.Routes.channelMessageOwnReaction(e,t,P(n)))))),{ok:!0,removed:s}}async function Vr(e,t,r={}){let{rest:i}=k(r,r.cfg??n.Y()),a=(await i.get(_.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=Bt(n.emoji);if(!r)continue;let a=encodeURIComponent(r),c=await i.get(_.Routes.channelMessageReaction(e,t,a),{limit:o});s.push({emoji:{id:n.emoji.id??null,name:n.emoji.name??null,raw:Vt(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 hn}}),Object.defineProperty(exports,`At`,{enumerable:!0,get:function(){return ae}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return an}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return fn}}),Object.defineProperty(exports,`Ct`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return mn}}),Object.defineProperty(exports,`Dt`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return vn}}),Object.defineProperty(exports,`Et`,{enumerable:!0,get:function(){return me}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,`Ft`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return Xt}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`It`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return Ut}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return Ht}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,`Lt`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return ln}}),Object.defineProperty(exports,`Mt`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return on}}),Object.defineProperty(exports,`Nt`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return un}}),Object.defineProperty(exports,`Ot`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,`Pt`,{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return cn}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return pn}}),Object.defineProperty(exports,`St`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return gn}}),Object.defineProperty(exports,`Tt`,{enumerable:!0,get:function(){return pe}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Jn}}),Object.defineProperty(exports,`_t`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Lr}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return Tn}}),Object.defineProperty(exports,`bt`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return $e}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return wr}}),Object.defineProperty(exports,`dt`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return At}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return _r}}),Object.defineProperty(exports,`ft`,{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return Yn}}),Object.defineProperty(exports,`gt`,{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return Gn}}),Object.defineProperty(exports,`ht`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return zr}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return $t}}),Object.defineProperty(exports,`jt`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return yn}}),Object.defineProperty(exports,`kt`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Cr}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return nr}}),Object.defineProperty(exports,`mt`,{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Nr}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return tr}}),Object.defineProperty(exports,`pt`,{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Br}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Pr}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return Qe}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Vr}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return kt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`ut`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return Zn}}),Object.defineProperty(exports,`vt`,{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return dn}}),Object.defineProperty(exports,`wt`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return _n}}),Object.defineProperty(exports,`xt`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return qn}}),Object.defineProperty(exports,`yt`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return nn}});
8
+ //# sourceMappingURL=send-Co_Wy2kT.cjs.map
@@ -4,3 +4,4 @@ const e=require(`./paths-D90l3h_o.cjs`),t=require(`./sessions-Dz5JUL8j.cjs`),n=r
4
4
  `);continue}if(e.startsWith(`:`)){n=c.indexOf(`
5
5
  `);continue}let[t,...r]=e.split(`:`),i=t.trim(),a=r.join(`:`),o=a.startsWith(` `)?a.slice(1):a;i===`event`?l.event=o:i===`data`?l.data=l.data?`${l.data}\n${o}`:o:i===`id`&&(l.id=o),n=c.indexOf(`
6
6
  `)}}u()}function w(e,n){let r=!!e.baseUrl?.trim(),i=!!e.account?.trim(),a=n||(!r||!i?t.yo({cfg:t.Y(),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 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,r,o={}){let s=o.cfg??t.Y(),c=t.yo({cfg:s,accountId:o.accountId}),{baseUrl:l,account:u}=w(o,c),d=T(n),p=r??``,m=!1,h=[],g=o.textMode??`markdown`,_=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,v;if(o.mediaUrl?.trim()){let t=await a.t(o.mediaUrl.trim(),_,{localRoots:o.mediaLocalRoots});v=[t.path];let n=e.g(t.contentType??void 0);!p&&n&&(p=n===`image`?`<media:image>`:`<media:${n}>`,m=!0)}if(p.trim()&&!m)if(g===`plain`)h=o.textStyles??[];else{let e=i.s({cfg:s,channel:`signal`,accountId:c.accountId}),t=f(p,{tableMode:e});p=t.text,h=t.styles}if(!p.trim()&&(!v||v.length===0))throw Error(`Signal send requires text or media`);let y={message:p};h.length>0&&(y[`text-style`]=h.map(e=>`${e.start}:${e.length}:${e.style}`)),u&&(y.account=u),v&&v.length>0&&(y.attachments=v);let b=E(d,{recipient:!0,group:!0,username:!0});if(!b)throw Error(`Signal recipient is required`);Object.assign(y,b);let S=(await x(`send`,y,{baseUrl:l,timeoutMs:o.timeoutMs}))?.timestamp;return{messageId:S?String(S):`unknown`,timestamp:S}}async function O(e,t={}){let{baseUrl:n,account:r}=w(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 x(`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}=w(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 x(`sendReceipt`,o,{baseUrl:r,timeoutMs:n.timeoutMs}),!0}Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return g}}),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 x}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return D}});
7
+ //# sourceMappingURL=send-Cox_iyYB.cjs.map
@@ -5,3 +5,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-CIcxeNL-.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=We(s,l);e.trim().length&&o.push(e)}return Je(e,o)}function qe(e,t){if((t.chunkMode??`length`)!==`newline`)return Ke(e,t);let n=o.d(e,Math.max(1,Math.floor(t.maxChars??ze)),`newline`),r=[];for(let e of n){let n=Ke(e,t);if(!n.length&&e){r.push(e);continue}r.push(...n)}return r}function Je(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 Ye(e){let t=r.Un(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 Xe(e,t){return t??new _.RequestClient(e)}function Ze(e){let n=t.Ot(e.accountId),i=r.Bn(e.cfg,n),a=e.cfg.channels?.discord?.enabled!==!1,o=i.enabled!==!1;return{accountId:n,enabled:a&&o,name:i.name?.trim()||void 0,token:``,tokenSource:`none`,config:i}}function k(e,t){let n=e.cfg??t??r.Gi(),i=r.Un(e.token,`channels.discord.token`),a=i?Ze({cfg:n,accountId:e.accountId}):r.Vn({cfg:n,accountId:e.accountId}),o=i??Ye({accountId:a.accountId,fallbackToken:a.token});return{token:o,rest:Xe(o,e.rest),account:a}}function A(e,t){let{token:n,rest:r,account:i}=k(e,e.cfg??t);return{token:n,rest:r,request:l.r({retry:e.retry,configRetry:i.config.retry,verbose:e.verbose})}}function j(e){return k(e,e.cfg).rest}const Qe=Object.entries(g.PermissionFlagsBits).filter(([,e])=>typeof e==`bigint`),$e=Qe.reduce((e,[,t])=>e|t,0n),et=g.PermissionFlagsBits.Administrator;function M(e,t){return t?e|BigInt(t):e}function N(e,t){return t?e&~BigInt(t):e}function tt(e){return Qe.filter(([,t])=>(e&t)===t).map(([e])=>e).toSorted()}function nt(e){return(e&et)===et}function rt(e,t){return(e&t)===t}function it(e){return e===g.ChannelType.GuildNewsThread||e===g.ChannelType.GuildPublicThread||e===g.ChannelType.GuildPrivateThread}async function at(e){let t=await e.get(g.Routes.user(`@me`));if(!t?.id)throw Error(`Failed to resolve bot user id`);return t.id}async function ot(e,t,n={}){let r=j(n);try{let[n,i]=await Promise.all([r.get(g.Routes.guild(e)),r.get(g.Routes.guildMember(e,t))]),a=new Map((n.roles??[]).map(e=>[e.id,e])),o=a.get(e),s=0n;o?.permissions&&(s=M(s,o.permissions));for(let e of i.roles??[]){let t=a.get(e);t?.permissions&&(s=M(s,t.permissions))}return s}catch{return null}}async function st(e,t,n,r,i={}){let a=await ot(e,t,i);return a===null?!1:nt(a)?!0:r(a,n)}async function ct(e,t,n,r={}){return await st(e,t,n,(e,t)=>t.some(t=>rt(e,t)),r)}async function lt(e,t={}){let n=j(t),r=await n.get(g.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 at(n),[s,c]=await Promise.all([n.get(g.Routes.guild(a)),n.get(g.Routes.guildMember(a,o))]),l=new Map((s.roles??[]).map(e=>[e.id,e])),u=l.get(a),d=0n;u?.permissions&&(d=M(d,u.permissions));for(let e of c.roles??[]){let t=l.get(e);t?.permissions&&(d=M(d,t.permissions))}if(nt(d))return{channelId:e,guildId:a,permissions:tt($e),raw:$e.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=N(f,e.deny??`0`),f=M(f,e.allow??`0`));for(let e of p)c.roles?.includes(e.id)&&(f=N(f,e.deny??`0`),f=M(f,e.allow??`0`));for(let e of p)e.id===o&&(f=N(f,e.deny??`0`),f=M(f,e.allow??`0`));return{channelId:e,guildId:a,permissions:tt(f),raw:f.toString(),isDm:!1,channelType:i}}var P=class extends Error{constructor(e,t){super(e),this.name=`DiscordSendError`,t&&Object.assign(this,t)}toString(){return this.message}};const ut=/#\d{4}$/,F=new Map;function dt(e){return t.Ot(e??`default`)||`default`}function ft(e){let t=String(e??``).trim();return/^\d+$/.test(t)?t:null}function pt(e){let t=e.trim();return!t||(t.startsWith(`@`)&&(t=t.slice(1).trim()),!t||/\s/.test(t))?null:t.toLowerCase()}function mt(e){let t=dt(e),n=F.get(t);if(n)return n;let r=new Map;return F.set(t,r),r}function ht(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 gt(e){let t=ft(e.userId);if(!t)return;let n=mt(e.accountId);for(let r of e.handles){if(typeof r!=`string`)continue;let e=pt(r);if(!e)continue;ht(n,e,t);let i=e.replace(ut,``);i&&i!==e&&ht(n,i,t)}}function _t(e){let t=F.get(dt(e.accountId));if(!t)return;let n=pt(e.handle);if(!n)return;let r=t.get(n);if(r)return r;let i=n.replace(ut,``);if(!(!i||i===n))return t.get(i)}function vt(e){return e?.trim().toLowerCase()??``}function yt(e){return e.bot?0:1}function bt(e){let t=r.Un(r.Vn({cfg:e.cfg,accountId:e.accountId}).token,`channels.discord.token`);return t?{token:t,query:vt(e.query)}:null}async function xt(e){return(await E(`/users/@me/guilds`,e)).filter(e=>e.id&&e.name)}async function St(e){let t=bt(e);if(!t)return[];let{token:n,query:r}=t,i=await xt(n),a=[];for(let t of i){let i=await E(`/guilds/${t.id}/channels`,n);for(let t of i){let n=t.name?.trim();if(n&&!(r&&!O(n).includes(O(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 Ct(e){let t=bt(e);if(!t)return[];let{token:n,query:r}=t;if(!r)return[];let i=await xt(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 E(`/guilds/${t.id}/members/search?${i.toString()}`,n);for(let t of s){let n=t.user;if(!n?.id)continue;gt({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:yt(n),raw:t}),a.length>=o)return a}}return a}function I(e,t={}){let n=e.trim();if(!n)return;let r=i.r({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 i.t(t.defaultKind,n,n);throw Error(t.ambiguousMessage??`Ambiguous Discord recipient "${n}". Use "user:${n}" for DMs or "channel:${n}" for channel messages.`)}return i.t(`channel`,n,n)}function wt(e){return i.i({platform:`Discord`,target:I(e,{defaultKind:`channel`}),kind:`channel`})}async function Tt(e,t,n={}){let r=e.trim();if(!r)return;let a=Ot(r),o=Dt(r,n)||a,s=Et(r,n);if(s&&s.kind!==`channel`&&!a)return s;if(!o)return s??I(r,n);try{let e=(await Ct({...t,query:r,limit:1}))[0];if(e&&e.kind===`user`){let n=e.id.replace(/^user:/,``);return gt({accountId:t.accountId,userId:n,handles:[r,e.name,e.handle]}),i.t(`user`,n,r)}}catch{}return I(r,n)}function Et(e,t){try{return I(e,t)}catch{return}}function Dt(e,t){return/^<@!?(\d+)>$/.test(e)||/^(user:|discord:)/.test(e)||e.startsWith(`@`)?!0:/^\d+$/.test(e)?t.defaultKind===`user`:!1}function Ot(e){return!/^(user:|channel:|discord:|@|<@!?)|[\d]+$/.test(e)}function kt(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 L(e,t,n){let i=n??r.Gi(),a=r.Vn({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 Tt(e,{cfg:i,accountId:a.accountId},s);if(c)return{kind:c.kind,id:c.id};let l=I(e,s);if(!l)throw Error(`Recipient is required for Discord sends`);return{kind:l.kind,id:l.id}}function At(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 R(e,t){let n=e.trim();if(!n)throw Error(`${t} is required`);return n}function jt(e){let t=c.n(e,{maxOptions:10}),n=c.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:v.PollLayoutType.Default}}function Mt(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 z(e,t){if(e instanceof P)return e;let n=Mt(e);if(n===50007)return new P(`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 lt(t.channelId,{rest:t.rest,token:t.token}),n=new Set(e.permissions),i=[`ViewChannel`,`SendMessages`];it(e.channelType)&&i.push(`SendMessagesInThreads`),t.hasMedia&&i.push(`AttachFiles`),r=i.filter(e=>!n.has(e))}catch{}return new P(`${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 B(e,t,n){if(t.kind===`channel`)return{channelId:t.id};let r=await n(()=>e.post(g.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 Nt(e,t){try{return(await e.get(g.Routes.channel(t)))?.type}catch{return}}const V=4096;function Pt(e,t={}){if(!e)return[];let n=qe(e,{maxChars:t.maxChars??2e3,maxLines:t.maxLinesPerMessage,chunkMode:t.chunkMode});return!n.length&&e&&n.push(e),n}function Ft(e){return!!e?.some(e=>`isV2`in e&&e.isV2)}function It(e){if(!(!e.components||!e.isFirst))return typeof e.components==`function`?e.components(e.text):e.components}function Lt(e){if(e?.length)return e.map(e=>e instanceof _.Embed?e:new _.Embed(e))}function Rt(e){if(!(!e.embeds||!e.isFirst))return Lt(e.embeds)}function zt(e){let t={},n=Ft(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 H(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Bt(e){if(e instanceof Blob)return e;let t=new ArrayBuffer(e.byteLength);return new Uint8Array(t).set(e),new Blob([t])}async function U(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?V:void 0,f=Pt(n,{maxLinesPerMessage:a,chunkMode:c}),p=async(n,r)=>{let a=H({...(0,_.serializePayload)(zt({text:n,components:It({components:o,text:n,isFirst:r}),embeds:Rt({embeds:s,isFirst:r}),flags:d})),...u?{message_reference:u}:{}});return await i(()=>e.post(g.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 Vt(e,t,n,r,i,a,c,l,u,d,f,p,m){let h=await o.a(r,s.t({maxBytes:a,mediaLocalRoots:i})),v=n?Pt(n,{maxLinesPerMessage:u,chunkMode:p}):[],y=v[0]??``,b=c?{message_id:c,fail_if_not_exists:!1}:void 0,x=m?V:void 0,S=Bt(h.buffer),C=zt({text:y,components:It({components:d,text:y,isFirst:!0}),embeds:Rt({embeds:f,isFirst:!0}),flags:x,files:[{data:S,name:h.fileName??`upload`}]}),w=await l(()=>e.post(g.Routes.channelMessages(t),{body:H({...(0,_.serializePayload)(C),...b?{message_reference:b}:{}})}),`media`);for(let n of v.slice(1))n.trim()&&await U(e,t,n,c,l,u,void 0,void 0,p,m);return w}function Ht(e){return e.id&&e.name?`${e.name}:${e.id}`:e.name??``}function Ut(e){return Ht(e)}async function Wt(e,t={}){let n=j(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(g.Routes.guildChannels(e.guildId),{body:r})}async function Gt(e,t={}){let n=j(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(g.Routes.channel(e.channelId),{body:r})}async function Kt(e,t={}){return await j(t).delete(g.Routes.channel(e)),{ok:!0,channelId:e}}async function qt(e,t={}){let n=j(t),r=[{id:e.channelId,...e.parentId!==void 0&&{parent_id:e.parentId},...e.position!==void 0&&{position:e.position}}];return await n.patch(g.Routes.guildChannels(e.guildId),{body:r}),{ok:!0}}async function Jt(e,t={}){let n=j(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 Yt(e,t,n={}){return await j(n).delete(`/channels/${e}/permissions/${t}`),{ok:!0}}async function Xt(e,t={}){return await j(t).get(g.Routes.guildEmojis(e))}async function Zt(e,t={}){let n=j(t),r=await o.o(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`)}`,s=(e.roleIds??[]).map(e=>e.trim()).filter(Boolean);return await n.post(g.Routes.guildEmojis(e.guildId),{body:{name:R(e.name,`Emoji name`),image:a,roles:s.length?s:void 0}})}async function Qt(e,t={}){let n=j(t),r=await o.o(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(g.Routes.guildStickers(e.guildId),{body:{name:R(e.name,`Sticker name`),description:R(e.description,`Sticker description`),tags:R(e.tags,`Sticker tags`),files:[{data:r.buffer,name:r.fileName??`sticker`,contentType:i}]}})}async function $t(e,t,n={}){return await j(n).get(g.Routes.guildMember(e,t))}async function en(e,t={}){return await j(t).get(g.Routes.guildRoles(e))}async function tn(e,t={}){return await j(t).put(g.Routes.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function nn(e,t={}){return await j(t).delete(g.Routes.guildMemberRole(e.guildId,e.userId,e.roleId)),{ok:!0}}async function rn(e,t={}){return await j(t).get(g.Routes.channel(e))}async function an(e,t={}){return await j(t).get(g.Routes.guildChannels(e))}async function on(e,t,n={}){return await j(n).get(g.Routes.guildVoiceState(e,t))}async function sn(e,t={}){return await j(t).get(g.Routes.guildScheduledEvents(e))}async function cn(e,t,n={}){return await j(n).post(g.Routes.guildScheduledEvents(e),{body:t})}async function ln(e,t={}){let n=j(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(g.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 un(e,t={}){return await j(t).delete(g.Routes.guildMember(e.guildId,e.userId),{headers:e.reason?{"X-Audit-Log-Reason":encodeURIComponent(e.reason)}:void 0}),{ok:!0}}async function dn(e,t={}){let n=j(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(g.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 fn(e,t={},n={}){let r=j(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(g.Routes.channelMessages(e),a)}async function pn(e,t,n={}){return await j(n).get(g.Routes.channelMessage(e,t))}async function mn(e,t,n,r={}){return await j(r).patch(g.Routes.channelMessage(e,t),{body:{content:n.content}})}async function hn(e,t,n={}){return await j(n).delete(g.Routes.channelMessage(e,t)),{ok:!0}}async function gn(e,t,n={}){return await j(n).put(g.Routes.channelPin(e,t)),{ok:!0}}async function _n(e,t,n={}){return await j(n).delete(g.Routes.channelPin(e,t)),{ok:!0}}async function vn(e,t={}){return await j(t).get(g.Routes.channelPins(e))}async function yn(e,t,n={}){let r=j(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(g.Routes.channel(e)))?.type}catch{a=void 0}let o=a===g.ChannelType.GuildForum||a===g.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=g.ChannelType.PublicThread);let s=t.messageId?g.Routes.threads(e,t.messageId):g.Routes.threads(e),c=await r.post(s,{body:i});return!o&&t.content?.trim()&&await r.post(g.Routes.channelMessages(c.id),{body:{content:t.content}}),c}async function bn(e,t={}){let n=j(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(g.Routes.channelThreads(e.channelId,`public`),t)}return await n.get(g.Routes.guildActiveThreads(e.guildId))}async function xn(e,t={}){let n=j(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 Sn(e){if(e)try{await d.default.unlink(e)}catch{}}const Cn=/```[\s\S]*?```|`[^`\n]*`/g,wn=/(^|[\s([{"'.,;:!?])@([a-z0-9_.-]{2,32}(?:#[0-9]{4})?)/gi,Tn=new Set([`everyone`,`here`]);function En(e){let t=String(e??``).trim();return/^\d+$/.test(t)?t:null}function Dn(e){let t=e.userId==null?null:En(e.userId),n=e.roleId==null?null:En(e.roleId),r=e.channelId==null?null:En(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 On(e,t){return e.includes(`@`)?e.replace(wn,(e,n,r)=>{let i=String(r??``).trim();if(!i)return e;let a=i.toLowerCase();if(Tn.has(a))return e;let o=_t({accountId:t,handle:i});return o?`${String(n??``)}${Dn({userId:o})}`:e}):e}function W(e,t){if(!e.includes(`@`))return e;let n=``,r=0;Cn.lastIndex=0;for(let i of e.matchAll(Cn)){let a=i.index??0;n+=On(e.slice(r,a),t.accountId),n+=i[0],r=a+i[0].length}return n+=On(e.slice(r),t.accountId),n}const kn=(0,p.promisify)(m.execFile);function An(e,t){return{timeout:t?.timeoutMs??e,maxBuffer:t?.maxBufferBytes??10485760}}async function jn(e,t){let{stdout:n}=await kn(`ffprobe`,e,An(1e4,t));return n.toString()}async function Mn(e,t){let{stdout:n}=await kn(`ffmpeg`,e,An(45e3,t));return n.toString()}function Nn(e,t){return e.trim().toLowerCase().split(/[,\r\n]+/,t).map(e=>e.trim())}function Pn(e){let[t,n]=Nn(e,2),r=t||null,i=n?Number.parseInt(n,10):NaN;return{codec:r,sampleRateHz:Number.isFinite(i)?i:null}}const Fn=8192;async function In(e){try{let t=await jn([`-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 Ln(e){try{return await Rn(e)}catch{return zn()}}async function Rn(e){let t=n.Z(),r=f.default.join(t,`waveform-${h.default.randomUUID()}.raw`);try{await Mn([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-f`,`s16le`,`-acodec`,`pcm_s16le`,`-ac`,`1`,`-ar`,`8000`,r]);let t=await d.default.readFile(r),n=new Int16Array(t.buffer,t.byteOffset,t.byteLength/2),i=Math.max(1,Math.floor(n.length/256)),a=[];for(let e=0;e<256&&e*i<n.length;e++){let t=0,r=0;for(let a=0;a<i&&e*i+a<n.length;a++)t+=Math.abs(n[e*i+a]),r++;let o=r>0?t/r: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 Sn(r)}}function zn(){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 Bn(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(f.default.extname(e).toLowerCase()===`.ogg`)try{let{codec:t,sampleRateHz:n}=Pn(await jn([`-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 r=n.Z(),i=f.default.join(r,`voice-${h.default.randomUUID()}.ogg`);return await Mn([`-y`,`-i`,e,`-vn`,`-sn`,`-dn`,`-t`,`1200`,`-ar`,`48000`,`-c:a`,`libopus`,`-b:a`,`64k`,i]),{path:i,cleanup:!0}}async function Vn(e){let[t,n]=await Promise.all([In(e),Ln(e)]);return{durationSecs:t,waveform:n}}async function Hn(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 _.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?Fn|4096:Fn,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 Un(e){for(let t of e.chunks)await U(e.rest,e.threadId,t,void 0,e.request,e.maxLinesPerMessage,void 0,void 0,e.chunkMode,e.silent)}function Wn(e){return(e.split(`
7
7
  `).find(e=>e.trim())?.trim()??``).slice(0,100)||new Date().toISOString().slice(0,16)}function Gn(e){return e===g.ChannelType.GuildForum||e===g.ChannelType.GuildMedia}function G(e,t){return{messageId:e.id?String(e.id):`unknown`,channelId:String(e.channel_id??t)}}async function Kn(e,t){let n=t.cfg??r.Gi(),{rest:i,request:a}=A(t,n),{channelId:o}=await B(i,await L(e,t.accountId,n),a);return{rest:i,request:a,channelId:o}}async function qn(e,t,n={}){let i=n.cfg??r.Gi(),a=r.Vn({cfg:i,accountId:n.accountId}),s=o.s({cfg:i,channel:`discord`,accountId:a.accountId}),c=o.m(i,`discord`,a.accountId),d=typeof a.config.mediaMaxMb==`number`?a.config.mediaMaxMb*1024*1024:8*1024*1024,f=u.t(t??``,s),p=W(f,{accountId:a.accountId}),{token:m,rest:h,request:v}=A(n,i),{channelId:y}=await B(h,await L(e,n.accountId,i),v);if(Gn(await Nt(h,y))){let e=Wn(f),t=Pt(p,{maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:c}),r=t[0]?.trim()?t[0]:e,i=zt({text:r,components:It({components:n.components,text:r,isFirst:!0}),embeds:Rt({embeds:n.embeds,isFirst:!0}),flags:n.silent?4096:void 0}),o;try{o=await v(()=>h.post(g.Routes.threads(y),{body:{name:e,message:H((0,_.serializePayload)(i))}}),`forum-thread`)}catch(e){throw await z(e,{channelId:y,rest:h,token:m,hasMedia:!!n.mediaUrl})}let s=o.id,u=o.message?.id??s,b=o.message?.channel_id??s,x=t.slice(1);try{if(n.mediaUrl){let[e,...t]=x;await Vt(h,s,e??``,n.mediaUrl,n.mediaLocalRoots,d,void 0,v,a.config.maxLinesPerMessage,void 0,void 0,c,n.silent),await Un({rest:h,threadId:s,chunks:t,request:v,maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:c,silent:n.silent})}else await Un({rest:h,threadId:s,chunks:x,request:v,maxLinesPerMessage:a.config.maxLinesPerMessage,chunkMode:c,silent:n.silent})}catch(e){throw await z(e,{channelId:s,rest:h,token:m,hasMedia:!!n.mediaUrl})}return l.n({channel:`discord`,accountId:a.accountId,direction:`outbound`}),G({id:u,channel_id:b},y)}let b;try{b=n.mediaUrl?await Vt(h,y,p,n.mediaUrl,n.mediaLocalRoots,d,n.replyTo,v,a.config.maxLinesPerMessage,n.components,n.embeds,c,n.silent):await U(h,y,p,n.replyTo,v,a.config.maxLinesPerMessage,n.components,n.embeds,c,n.silent)}catch(e){throw await z(e,{channelId:y,rest:h,token:m,hasMedia:!!n.mediaUrl})}return l.n({channel:`discord`,accountId:a.accountId,direction:`outbound`}),G(b,y)}function Jn(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 Yn(e,t){let n=t.webhookId.trim(),i=t.webhookToken.trim();if(!n||!i)throw Error(`Discord webhook id/token are required`);let a=W(e,{accountId:t.accountId}),o=typeof t.replyTo==`string`?t.replyTo.trim():``,s=o?{message_id:o,fail_if_not_exists:!1}:void 0,c=await fetch(Jn({webhookId:n,webhookToken:i,threadId:t.threadId,wait:t.wait}),{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({content:a,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{l.n({channel:`discord`,accountId:r.Vn({cfg:t.cfg??r.Gi(),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 Xn(e,t,n={}){let{rest:r,request:i,channelId:a}=await Kn(e,n),o=n.content?.trim(),s=o?W(o,{accountId:n.accountId}):void 0,c=At(t);return G(await i(()=>r.post(g.Routes.channelMessages(a),{body:{content:s||void 0,sticker_ids:c}}),`sticker`),a)}async function Zn(e,t,n={}){let{rest:r,request:i,channelId:a}=await Kn(e,n),o=n.content?.trim(),s=o?W(o,{accountId:n.accountId}):void 0;if(t.durationSeconds!==void 0)throw Error(`Discord polls do not support durationSeconds; use durationHours`);let c=jt(t),l=n.silent?V:void 0;return G(await i(()=>r.post(g.Routes.channelMessages(a),{body:{content:s||void 0,poll:c,...l?{flags:l}:{}}}),`poll`),a)}async function Qn(e){let r=await o.o(e,t.qt(`audio`)),i=r.fileName?f.default.extname(r.fileName):``,a=r.contentType?t.zt(r.contentType):``,s=i||a||`.bin`,c=n.Z(),l=f.default.join(c,`voice-src-${h.default.randomUUID()}${s}`);return await d.default.writeFile(l,r.buffer,{mode:384}),{filePath:l}}async function $n(e,t,n={}){let{filePath:i}=await Qn(t),a=null,o=!1,s,c,u;try{let t=n.cfg??r.Gi(),f=r.Vn({cfg:t,accountId:n.accountId}),p=A(n,t);s=p.token,c=p.rest;let m=p.request,h=await L(e,n.accountId,t);u=(await B(c,h,m)).channelId;let g=await Bn(i);a=g.path,o=g.cleanup;let _=await Vn(a),v=await d.default.readFile(a),y=await Hn(c,u,v,_,n.replyTo,m,n.silent,s);return l.n({channel:`discord`,accountId:f.accountId,direction:`outbound`}),G(y,u)}catch(e){throw u&&c&&s?await z(e,{channelId:u,rest:c,token:s,hasMedia:!0}):e}finally{await Sn(o?a:null),await Sn(i)}}const K=new Map,q=new Map;function er(e,t){return typeof e.expiresAt==`number`&&e.expiresAt<=t}function tr(e,t,n){let r=e.createdAt??t,i=e.expiresAt??r+n;return{...e,createdAt:r,expiresAt:i}}function nr(e){let t=Date.now(),n=e.ttlMs??18e5;for(let r of e.entries){let i=tr({...r,messageId:e.messageId??r.messageId},t,n);K.set(r.id,i)}for(let r of e.modals){let i=tr({...r,messageId:e.messageId??r.messageId},t,n);q.set(r.id,i)}}function rr(e){let t=K.get(e.id);return t?er(t,Date.now())?(K.delete(e.id),null):(e.consume!==!1&&K.delete(e.id),t):null}function ir(e){let t=q.get(e.id);return t?er(t,Date.now())?(q.delete(e.id),null):(e.consume!==!1&&q.delete(e.id),t):null}const ar=`attachment://`,or=new Map([[`row`,`actions`],[`action-row`,`actions`]]);function J(e){return`${e}${h.default.randomBytes(6).toString(`base64url`)}`}function Y(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`${t} must be an object`);return e}function X(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 Z(e){return typeof e==`string`&&e.trim()||void 0}function sr(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)=>X(e,`${t}[${n}]`))}}function Q(e){if(!(typeof e!=`number`||!Number.isFinite(e)))return e}function cr(e,t){return e?.trim()||`field_${t+1}`}function lr(e,t){let n=e.trim();if(!n.startsWith(`attachment://`))throw Error(`${t} must start with "${ar}"`);let r=n.slice(13).trim();if(!r)throw Error(`${t} must include an attachment filename`);return`${ar}${r}`}function ur(e){let t=e.trim();if(!t.startsWith(`attachment://`))throw Error(`Attachment reference must start with "${ar}"`);let n=t.slice(13).trim();if(!n)throw Error(`Attachment reference must include a filename`);return n}function dr(e){switch((e??`primary`).toLowerCase()){case`secondary`:return g.ButtonStyle.Secondary;case`success`:return g.ButtonStyle.Success;case`danger`:return g.ButtonStyle.Danger;case`link`:return g.ButtonStyle.Link;default:return g.ButtonStyle.Primary}}function fr(e){return e===`paragraph`?g.TextInputStyle.Paragraph:g.TextInputStyle.Short}function pr(e){let t=e.trim().toLowerCase();return or.get(t)??t}function mr(e,t){if(e!==void 0){if(!Array.isArray(e))throw Error(`${t} must be an array`);return e.map((e,n)=>{let r=Y(e,`${t}[${n}]`);return{label:X(r.label,`${t}[${n}].label`),value:X(r.value,`${t}[${n}].value`),description:Z(r.description),emoji:typeof r.emoji==`object`&&r.emoji&&!Array.isArray(r.emoji)?{name:X(r.emoji.name,`${t}[${n}].emoji.name`),id:Z(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 hr(e,t){let n=Y(e,t),r=Z(n.style),i=Z(n.url);if((r===`link`||i)&&!i)throw Error(`${t}.url is required for link buttons`);return{label:X(n.label,`${t}.label`),style:r,url:i,emoji:typeof n.emoji==`object`&&n.emoji&&!Array.isArray(n.emoji)?{name:X(n.emoji.name,`${t}.emoji.name`),id:Z(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:sr(n.allowedUsers,`${t}.allowedUsers`)}}function gr(e,t){let n=Y(e,t),r=Z(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:Z(n.placeholder),minValues:Q(n.minValues),maxValues:Q(n.maxValues),options:mr(n.options,`${t}.options`)}}function _r(e,t,n){let r=Y(e,t),i=X(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=mr(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:cr(Z(r.name),n),label:X(r.label,`${t}.label`),description:Z(r.description),placeholder:Z(r.placeholder),required:typeof r.required==`boolean`?r.required:void 0,options:o,minValues:Q(r.minValues),maxValues:Q(r.maxValues),minLength:Q(r.minLength),maxLength:Q(r.maxLength),style:Z(r.style)}}function vr(e,t){let n=Y(e,t);switch(pr(X(n.type,`${t}.type`).toLowerCase())){case`text`:return{type:`text`,text:X(n.text,`${t}.text`)};case`section`:{let e=Z(n.text),r=n.texts,i=Array.isArray(r)?r.map((e,n)=>X(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=Y(n.accessory,`${t}.accessory`),r=X(e.type,`${t}.accessory.type`).toLowerCase();if(r===`thumbnail`)a={type:`thumbnail`,url:X(e.url,`${t}.accessory.url`)};else if(r===`button`)a={type:`button`,button:hr(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)=>hr(e,`${t}.buttons[${n}]`)):void 0,i=n.select?gr(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=Y(e,`${t}.items[${n}]`);return{url:X(r.url,`${t}.items[${n}].url`),description:Z(r.description),spoiler:typeof r.spoiler==`boolean`?r.spoiler:void 0}})}}case`file`:return{type:`file`,file:lr(X(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 yr(e){if(e==null)return null;let t=Y(e,`components`),n=t.blocks,r=Array.isArray(n)?n.map((e,t)=>vr(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=Y(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)=>_r(e,`components.modal.fields[${t}]`,t));o={title:X(e.title,`components.modal.title`),triggerLabel:Z(e.triggerLabel),triggerStyle:Z(e.triggerStyle),fields:n}}return{text:Z(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 br(e){let t=`occomp:cid=${e.componentId}`;return e.modalId?`${t};mid=${e.modalId}`:t}function xr(e){return`ocmodal:mid=${e}`}function Sr(e){let t=(0,_.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 Cr(e){let t=(0,_.parseCustomId)(e);if(t.key!==`ocmodal`)return null;let n=t.data.mid;return typeof n!=`string`||!n.trim()?null:n}function wr(e){return/^__openclaw_discord_component_[a-z_]+_wildcard__$/.test(e)}function Tr(e){if(e===`*`||wr(e))return{key:`*`,data:{}};let t=(0,_.parseCustomId)(e);return t.key===`occomp`?{key:`*`,data:t.data}:t}function Er(e){if(e===`*`||wr(e))return{key:`*`,data:{}};let t=(0,_.parseCustomId)(e);return t.key===`ocmodal`?{key:`*`,data:t.data}:t}function Dr(e,t){return t&&t.length>0?t.map(e=>new _.TextDisplay(e)):e?[new _.TextDisplay(e)]:[]}function $(e){let t=dr(e.spec.style);if(t===g.ButtonStyle.Link||e.spec.url){if(!e.spec.url)throw Error(`Link buttons require a url`);let t=e.spec.url;class n extends _.LinkButton{constructor(...n){super(...n),this.label=e.spec.label,this.url=t}}return{component:new n}}let n=e.componentId??J(`btn_`),r=br({componentId:n,modalId:e.modalId});class i extends _.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 Or(e){let t=(e.spec.type??`string`).toLowerCase(),n=e.componentId??J(`sel_`),r=br({componentId:n});if(t===`string`){let t=e.spec.options??[];if(t.length===0)throw Error(`String select menus require options`);class i extends _.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 _.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 _.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 _.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 _.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 kr(e){return e instanceof _.StringSelectMenu||e instanceof _.UserSelectMenu||e instanceof _.RoleSelectMenu||e instanceof _.MentionableSelectMenu||e instanceof _.ChannelSelectMenu}function Ar(e){if(e.type===`text`){class t extends _.TextInput{constructor(...t){super(...t),this.customId=e.id,this.style=fr(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 _.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 _.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 _.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 _.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 _.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 jr(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 _.TextDisplay(o));for(let t of e.spec.blocks??[]){if(t.type===`text`){i.push(new _.TextDisplay(t.text));continue}if(t.type===`section`){let e=Dr(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 _.Thumbnail(t.accessory.url);else if(t.accessory?.type===`button`){let{component:e,entry:r}=$({spec:t.accessory.button});n=e,r&&a(r)}i.push(new _.Section(e,n));continue}if(t.type===`separator`){i.push(new _.Separator({spacing:t.spacing,divider:t.divider}));continue}if(t.type===`media-gallery`){i.push(new _.MediaGallery(t.items));continue}if(t.type===`file`){i.push(new _.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}=$({spec:n});e.push(t),r&&a(r)}}else if(t.select){let{component:n,entry:r}=Or({spec:t.select});e.push(n),a(r)}i.push(new _.Row(e))}}if(e.spec.modal){let t=J(`mdl_`),r=e.spec.modal.fields.map((e,t)=>({id:J(`fld_`),name:cr(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}=$({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 _.Row){let e=c,t=e.components.some(e=>kr(e));e.components.length<5&&!t?e.addComponent(o):i.push(new _.Row([o]))}else i.push(new _.Row([o]))}if(i.length===0)throw Error(`components must include at least one block, text, or modal trigger`);let s=new _.Container(i,e.spec.container);return r.push(s),{components:r,entries:t,modals:n}}function Mr(e){return e.some(e=>e.isV2)?g.MessageFlags.IsComponentsV2:void 0}var Nr=class extends _.Modal{constructor(e){super(),this.customIdParser=Er,this.title=e.title,this.customId=xr(e.modalId),this.components=e.fields.map(e=>{let t=Ar(e);class n extends _.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 Pr(e){return new Nr({modalId:e.id,title:e.title,fields:e.fields})}function Fr(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 Ir=new Set([g.ChannelType.GuildForum,g.ChannelType.GuildMedia]);function Lr(e){let t=[];for(let n of e.blocks??[])n.type===`file`&&t.push(ur(n.file));return t}async function Rr(e,t,n={}){let i=n.cfg??r.Gi(),a=r.Vn({cfg:i,accountId:n.accountId}),{token:s,rest:c,request:u}=A(n,i),{channelId:d}=await B(c,await L(e,n.accountId,i),u),f=await Nt(c,d);if(f&&Ir.has(f))throw Error(`Discord components are not supported in forum-style channels`);let p=jr({spec:t,sessionKey:n.sessionKey,agentId:n.agentId,accountId:a.accountId}),m=Mr(p.components),h=n.silent?(m??0)|V:m??void 0,v=n.replyTo?{message_id:n.replyTo,fail_if_not_exists:!1}:void 0,y=Lr(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(n.mediaUrl){let e=await o.a(n.mediaUrl,{localRoots:n.mediaLocalRoots}),t=n.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:Bt(e.buffer),name:t}]}else if(x)throw Error(`Discord component file blocks require a media attachment (media/path/filePath).`);let C=H({...(0,_.serializePayload)({components:p.components,...h?{flags:h}:{},...S?{files:S}:{}}),...v?{message_reference:v}:{}}),w;try{w=await u(()=>c.post(g.Routes.channelMessages(d),{body:C}),`components`)}catch(e){throw await z(e,{channelId:d,rest:c,token:s,hasMedia:!!S?.length})}return nr({entries:p.entries,modals:p.modals,messageId:w.id}),l.n({channel:`discord`,accountId:a.accountId,direction:`outbound`}),{messageId:w.id??`unknown`,channelId:w.channel_id??d}}async function zr(e,t,n,i={}){let{rest:a,request:o}=A(i,i.cfg??r.Gi()),s=kt(n);return await o(()=>a.put(g.Routes.channelMessageOwnReaction(e,t,s)),`react`),{ok:!0}}async function Br(e,t,n,i={}){let{rest:a}=A(i,i.cfg??r.Gi()),o=kt(n);return await a.delete(g.Routes.channelMessageOwnReaction(e,t,o)),{ok:!0}}async function Vr(e,t,n={}){let{rest:i}=A(n,n.cfg??r.Gi()),a=await i.get(g.Routes.channelMessage(e,t)),o=new Set;for(let e of a.reactions??[]){let t=Ht(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(g.Routes.channelMessageOwnReaction(e,t,kt(n)))))),{ok:!0,removed:s}}async function Hr(e,t,n={}){let{rest:i}=A(n,n.cfg??r.Gi()),a=(await i.get(g.Routes.channelMessage(e,t))).reactions??[];if(a.length===0)return[];let o=typeof n.limit==`number`&&Number.isFinite(n.limit)?Math.min(Math.max(Math.floor(n.limit),1),100):100,s=[];for(let n of a){let r=Ht(n.emoji);if(!r)continue;let a=encodeURIComponent(r),c=await i.get(g.Routes.channelMessageReaction(e,t,a),{limit:o});s.push({emoji:{id:n.emoji.id??null,name:n.emoji.name??null,raw:Ut(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 H}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return _n}}),Object.defineProperty(exports,`At`,{enumerable:!0,get:function(){return ne}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return mn}}),Object.defineProperty(exports,`Ct`,{enumerable:!0,get:function(){return he}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return gn}}),Object.defineProperty(exports,`Dt`,{enumerable:!0,get:function(){return ce}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return bn}}),Object.defineProperty(exports,`Et`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return $t}}),Object.defineProperty(exports,`Ft`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return Qt}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return ln}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return en}}),Object.defineProperty(exports,`It`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return Gt}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return Wt}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return on}}),Object.defineProperty(exports,`Lt`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return dn}}),Object.defineProperty(exports,`Mt`,{enumerable:!0,get:function(){return te}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return cn}}),Object.defineProperty(exports,`Nt`,{enumerable:!0,get:function(){return re}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return fn}}),Object.defineProperty(exports,`Ot`,{enumerable:!0,get:function(){return le}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return rn}}),Object.defineProperty(exports,`Pt`,{enumerable:!0,get:function(){return oe}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return un}}),Object.defineProperty(exports,`Rt`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return hn}}),Object.defineProperty(exports,`St`,{enumerable:!0,get:function(){return _e}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return vn}}),Object.defineProperty(exports,`Tt`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return Xt}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return nn}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return Zt}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return Yt}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Xn}}),Object.defineProperty(exports,`_t`,{enumerable:!0,get:function(){return Ee}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return Rr}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return Dn}}),Object.defineProperty(exports,`bt`,{enumerable:!0,get:function(){return Re}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return Sr}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return qe}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Er}}),Object.defineProperty(exports,`dt`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return yr}}),Object.defineProperty(exports,`ft`,{enumerable:!0,get:function(){return xe}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return Zn}}),Object.defineProperty(exports,`gt`,{enumerable:!0,get:function(){return De}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return qn}}),Object.defineProperty(exports,`ht`,{enumerable:!0,get:function(){return Te}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return Br}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return tn}}),Object.defineProperty(exports,`jt`,{enumerable:!0,get:function(){return ie}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return xn}}),Object.defineProperty(exports,`kt`,{enumerable:!0,get:function(){return se}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return Tr}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return ir}}),Object.defineProperty(exports,`mt`,{enumerable:!0,get:function(){return Oe}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return zr}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return Pr}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return rr}}),Object.defineProperty(exports,`pt`,{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return Kt}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return Vr}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return Hr}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return Cr}}),Object.defineProperty(exports,`ut`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return $n}}),Object.defineProperty(exports,`vt`,{enumerable:!0,get:function(){return Pe}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return pn}}),Object.defineProperty(exports,`wt`,{enumerable:!0,get:function(){return ve}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return yn}}),Object.defineProperty(exports,`xt`,{enumerable:!0,get:function(){return ge}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return Yn}}),Object.defineProperty(exports,`yt`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return an}}),Object.defineProperty(exports,`zt`,{enumerable:!0,get:function(){return w}});
8
+ //# sourceMappingURL=send-CuX4LcJ3.cjs.map
@@ -1 +1,2 @@
1
1
  const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-CIcxeNL-.cjs`),n=require(`./utils-PPIvU9qw.cjs`),r=require(`./model-auth-BwajGuoF.cjs`),i=require(`./proxy-fetch-BwXFVsHE.cjs`),a=require(`./targets-CBI0xqve.cjs`),o=require(`./ir-DSuLr2UE.cjs`),s=require(`./render-g5VlmgpF.cjs`),c=require(`./load-options-Bb7u8yZz.cjs`),l=require(`./polls-BuaJuIpV.cjs`),u=require(`./channel-activity-CgXnZ0GC.cjs`),d=require(`./fetch-BN9y3kTg.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.source??(e.isLive?`live`:e.name||e.address?`place`:`pin`),n=!!(e.isLive??t===`live`);return{...e,source:t,isLive:n}}function y(e){return Number.isFinite(e)?` ±${Math.round(e??0)}m`:``}function ee(e,t){return`${e.toFixed(6)}, ${t.toFixed(6)}`}function b(e){let t=v(e),n=ee(t.latitude,t.longitude),r=y(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 x(e){let t=v(e);return{LocationLat:t.latitude,LocationLon:t.longitude,LocationAccuracy:t.accuracy,LocationName:t.name,LocationAddress:t.address,LocationSource:t.source,LocationIsLive:t.isLive}}function S(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function C(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 w(...e){for(let t of e)if(t!==void 0)return t}function T(e,t,n){return e.hasEntries?e.hasWildcard?!0:t?e.entries.includes(t):!1:n}function E(){return r.dn().filter(e=>e.pairing).map(e=>e.id)}function D(e){return r.un(e)?.pairing??null}async function O(e,t){try{let r=n.g(await p.default.promises.readFile(e,`utf-8`));return r==null?{value:t,exists:!0}:{value:r,exists:!0}}catch(e){return e.code,{value:t,exists:!1}}}async function k(e,t){await r.dr(e,t,{mode:384,trailingNewline:!0,ensureDirMode:448})}const A={retries:{retries:10,factor:2,minTimeout:100,maxTimeout:1e4,randomize:!0},stale:3e4},te=new Map;function j(t=process.env){return e.o(t,e.c(t,()=>e.d(t,m.default.homedir)))}function M(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 ne(e,t=process.env){return f.default.join(j(t),`${M(e)}-pairing.json`)}function re(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 N(e,t=process.env,n){let r=M(e),i=typeof n==`string`?n.trim():``;return i?f.default.join(j(t),`${r}-${re(i)}-allowFrom.json`):f.default.join(j(t),`${r}-allowFrom.json`)}async function ie(e,t){return await O(e,t)}async function P(e,t){await k(e,t)}async function ae(e){let{value:t}=await ie(e,{version:1,requests:[]});return Array.isArray(t.requests)?t.requests:[]}async function oe(e,t){try{await p.default.promises.access(e)}catch{await P(e,t)}}async function se(e,t,n){return await oe(e,t),await r.Io(e,A,async()=>await n())}function ce(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function le(e,t){let n=ce(e.createdAt);return n?t-n>36e5:!0}function ue(e,t){let n=[],r=!1;for(let i of e){if(le(i,t)){r=!0;continue}n.push(i)}return{requests:n,removed:r}}function de(e){return ce(e.lastSeenAt)??ce(e.createdAt)??0}function fe(e,t){return t<=0||e.length<=t?{requests:e,removed:!1}:{requests:e.slice().toSorted((e,t)=>de(e)-de(t)).slice(-t),removed:!0}}function pe(){let e=``;for(let t=0;t<8;t++){let t=g.default.randomInt(0,32);e+=`ABCDEFGHJKLMNPQRSTUVWXYZ23456789`[t]}return e}function me(e){for(let t=0;t<500;t+=1){let t=pe();if(!e.has(t))return t}throw Error(`failed to generate unique pairing code`)}function he(e){return e?.trim().toLowerCase()||``}function ge(e,t){return t?String(e.meta?.accountId??``).trim().toLowerCase()===t:!0}function _e(e){return!e||e===`default`}function ve(e){return he(e)||`default`}function ye(e){return String(e).trim()}function be(e,t){let n=t.trim();if(!n||n===`*`)return``;let r=D(e),i=r?.normalizeAllowEntry?r.normalizeAllowEntry(n):n;return String(i).trim()}function xe(e,t){return Ce((Array.isArray(t.allowFrom)?t.allowFrom:[]).map(t=>be(e,String(t))).filter(Boolean))}function Se(e,t){return be(e,ye(t))}function Ce(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 Oe(e,t)).entries}function we(e){return{exists:e.exists,mtimeMs:e.mtimeMs,size:e.size,entries:e.entries.slice()}}function Te(e,t){te.set(e,we(t))}function Ee(e){let t=te.get(e.filePath);return!t||t.exists!==e.exists||e.exists&&(t.mtimeMs!==e.mtimeMs||t.size!==e.size)?null:we(t)}function De(e,t){let n=Ee({filePath:e,exists:!!t,mtimeMs:t?.mtimeMs??null,size:t?.size??null});return n?{entries:n.entries,exists:n.exists}:t?null:(Te(e,{exists:!1,mtimeMs:null,size:null,entries:[]}),{entries:[],exists:!1})}async function Oe(e,t){let n=null;try{n=await p.default.promises.stat(t)}catch(e){if(e.code!==`ENOENT`)throw e}let r=De(t,n);if(r)return r;if(!n)return{entries:[],exists:!1};let{value:i,exists:a}=await ie(t,{version:1,allowFrom:[]}),o=xe(e,i);return Te(t,{exists:a,mtimeMs:n.mtimeMs,size:n.size,entries:o}),{entries:o,exists:a}}async function ke(e){let{value:t}=await ie(e.filePath,{version:1,allowFrom:[]});return{current:xe(e.channel,t),normalized:Se(e.channel,e.entry)||null}}async function Ae(e,t){await P(e,{version:1,allowFrom:t});let n=null;try{n=await p.default.promises.stat(e)}catch{}Te(e,{exists:!0,mtimeMs:n?.mtimeMs??null,size:n?.size??null,entries:t.slice()})}async function je(e){let t=N(e.channel,e.env,e.accountId);return await F(e.channel,t)}async function Me(e){let t=e.env??process.env,n=N(e.channel,t,e.accountId);return await se(n,{version:1,allowFrom:[]},async()=>{let{current:t,normalized:r}=await ke({channel:e.channel,entry:e.entry,filePath:n});if(!r)return{changed:!1,allowFrom:t};let i=e.apply(t,r);return i?(await Ae(n,i),{changed:!0,allowFrom:i}):{changed:!1,allowFrom:t}})}async function Ne(e,t=process.env,n){let r=ve(n);if(!_e(r))return await je({channel:e,env:t,accountId:r});let i=await F(e,N(e,t,r)),a=await F(e,N(e,t));return Ce([...i,...a])}async function Pe(e){return await Me({channel:e.channel,entry:e.entry,accountId:e.accountId,env:e.env,apply:e.apply})}async function Fe(e,t){return await Pe({...e,apply:t})}async function Ie(e){return await Fe(e,(e,t)=>e.includes(t)?null:[...e,t])}async function Le(e){return await Fe(e,(e,t)=>{let n=e.filter(e=>e!==t);return n.length===e.length?null:n})}async function Re(e){let t=e.env??process.env,n=ne(e.channel,t);return await se(n,{version:1,requests:[]},async()=>{let t=new Date().toISOString(),r=Date.now(),i=ye(e.id),a=he(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 ae(n),{requests:c,removed:l}=ue(s,r);s=c;let u=a,d=s.findIndex(e=>e.id===i?ge(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():``)||me(f),a={id:i,code:r,createdAt:e?.createdAt??t,lastSeenAt:t,meta:o??e?.meta};s[d]=a;let{requests:c}=fe(s,3);return await P(n,{version:1,requests:c}),{code:r,created:!1}}let{requests:p,removed:m}=fe(s,3);if(s=p,s.length>=3)return(l||m)&&await P(n,{version:1,requests:s}),{code:``,created:!1};let h=me(f),g={id:i,code:h,createdAt:t,lastSeenAt:t,...o?{meta:o}:{}};return await P(n,{version:1,requests:[...s,g]}),{code:h,created:!0}})}const ze=new Set([`.oga`,`.ogg`,`.opus`,`.mp3`,`.m4a`]),Be=new Set([`audio/ogg`,`audio/opus`,`audio/mpeg`,`audio/mp3`,`audio/mp4`,`audio/x-m4a`,`audio/m4a`]);function Ve(e){let n=t.Gt(e.contentType);if(n&&Be.has(n))return!0;let r=e.fileName?.trim();if(!r)return!1;let i=t.Bt(r);return i?ze.has(i):!1}function He(e){return Ve(e)}function I(e){return e.trim().toLowerCase()}function Ue(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(I).filter(Boolean)}function We(e){let t=new Set,n=[];for(let r of e){let e=I(r);!e||t.has(e)||(t.add(e),n.push(e))}return n}function Ge(e,t=process.env){let n=Array.isArray(e?.diagnostics?.flags)?e?.diagnostics?.flags:[],r=Ue(t.OPENCLAW_DIAGNOSTICS);return We([...n,...r])}function Ke(e,t){let n=I(e);if(!n)return!1;for(let e of t){let t=I(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 qe(e,t,n=process.env){return Ke(e,Ge(t,n))}const Je=n.O(`telegram/api`);function Ye(e,t){return t||(e?.error?e.error:e=>Je.error(e))}async function Xe({operation:e,fn:t,runtime:i,logger:a,shouldLog:o}){try{return await t()}catch(t){if(!o||o(t)){let o=r.Ir(t);Ye(i,a)(n.I(`telegram ${e} failed: ${o}`))}throw t}}const Ze=new Set,Qe=n.O(`telegram/bot-access`);function $e(e){if(!process.env.VITEST)for(let t of e)Ze.has(t)||(Ze.add(t),Qe.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 et=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&&$e([...new Set(i)]),{entries:r.filter(e=>/^\d+$/.test(e)),hasWildcard:n,hasEntries:t.length>0,invalidEntries:i}},tt=e=>et(S(e)),nt=e=>{let{allow:t,senderId:n}=e;return T(t,n,!0)},rt=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 it(e){let n=t.Ot(e.accountId),r=ot({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 Ne(`telegram`,process.env,n).catch(()=>[]),{groupConfig:c,topicConfig:l}=e.resolveTelegramGroupConfig(e.chatId,o),u=w(l?.allowFrom,c?.allowFrom);return{resolvedThreadId:i,dmThreadId:a,storeAllowFrom:s,groupConfig:c,topicConfig:l,groupAllowOverride:u,effectiveGroupAllow:et(u??e.groupAllowFrom),hasGroupAllowOverride:u!==void 0}}function at(e){if(e.isForum)return e.messageThreadId==null?1:e.messageThreadId}function ot(e){return e.isGroup?{id:at({isForum:e.isForum,messageThreadId:e.messageThreadId}),scope:e.isForum?`forum`:`none`}:e.messageThreadId==null?{scope:`dm`}:{id:e.messageThreadId,scope:`dm`}}function st(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 ct(e){if(e!=null)return{message_thread_id:Math.trunc(e)}}function lt(e){return r.So(e)}function ut(e,t){return t==null?String(e):`${e}:topic:${t}`}function dt(e){return(e.senderId==null?``:String(e.senderId).trim())||String(e.chatId)}function ft(e,t){return`telegram:group:${ut(e,t)}`}function pt(e){if(!(!e.isGroup||e.resolvedThreadId==null))return{kind:`group`,id:String(e.chatId)}}function mt(e){return[e.from?.first_name,e.from?.last_name].filter(Boolean).join(` `).trim()||e.from?.username||void 0}function ht(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 gt(e,t){let n=mt(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 _t(e,t,n){let r=e.chat?.title,i=n==null?``:` topic:${n}`;return r?`${r} id:${t}${i}`:`group:${t}${i}`}function vt(e){return{text:e.text??e.caption??``,entities:e.entities??e.caption_entities??[]}}function yt(e){return e!=null&&/[a-z0-9_]/i.test(e)}function bt(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(!yt(i)&&!yt(a))return!0;n=r+1}return!1}function xt(e,t){let{text:n,entities:r}=vt(e),i=`@${t}`.toLowerCase();if(bt(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 St(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 Ct(e){if(!e)return;let t=Number(e);if(Number.isFinite(t))return t}function wt(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=ht(o)??``,!i))){let e=Mt(o);e&&(i=b(e))}if(!i)return null;let s=(o?mt(o):void 0)??`unknown sender`,c=o?.forward_origin?At(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 Tt(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 Et(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 Dt(e){let{display:t,name:n,username:r,id:i}=Tt(e.user);return t?{from:t,date:e.date,fromType:e.type,fromId:i,fromUsername:r,fromTitle:n}:null}function Ot(e){let t=e.name?.trim();return t?{from:t,date:e.date,fromType:e.type,fromTitle:t}:null}function kt(e){let t=e.type===`channel`?`channel`:`chat`,{display:n,title:r,username:i,id:a}=Et(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 At(e){switch(e.type){case`user`:return Dt({user:e.sender_user,date:e.date,type:`user`});case`hidden_user`:return Ot({name:e.sender_user_name,date:e.date,type:`hidden_user`});case`chat`:return kt({chat:e.sender_chat,date:e.date,type:`chat`,signature:e.author_signature});case`channel`:return kt({chat:e.chat,date:e.date,type:`channel`,signature:e.author_signature,messageId:e.message_id});default:return null}}function jt(e){return e.forward_origin?At(e.forward_origin):null}function Mt(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 Nt(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 L(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function Pt(e){return L(e).replace(/"/g,`&quot;`)}const Ft=new Set([`md`,`go`,`py`,`pl`,`sh`,`am`,`at`,`be`,`cc`]);function It(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(!Ft.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 Lt(e,t){let n=e.href.trim();if(!n||e.start===e.end||It(n,t.slice(e.start,e.end)))return null;let r=Pt(n);return{start:e.start,end:e.end,open:`<a href="${r}">`,close:`</a>`}}function Rt(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:L,buildLink:Lt})}function zt(e,t={}){let n=Rt(o.n(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:t.tableMode}));return t.wrapFileRefs===!1?n:qt(n)}function Bt(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}const Vt=Array.from(Ft).map(Bt).join(`|`),Ht=/<a\s+href="https?:\/\/([^"]+)"[^>]*>\1<\/a>/gi,Ut=RegExp(`(^|[^a-zA-Z0-9_\\-/])([a-zA-Z0-9_.\\-./]+\\.(?:${Vt}))(?=$|[^a-zA-Z0-9_\\-/])`,`gi`),Wt=RegExp(`([^a-zA-Z0-9]|^)([A-Za-z]\\.(?:${Vt}))(?=[^a-zA-Z0-9/]|$)`,`g`),R=/(<\/?)([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*?>/gi;function Gt(e,t,n){return n.startsWith(`//`)||/https?:\/\/$/i.test(t)?e:`${t}<code>${L(n)}</code>`}function Kt(e,t,n,r){return!e||t>0||n>0||r>0?e:e.replace(Ut,Gt).replace(Wt,(e,t,n)=>t===`>`?e:`${t}<code>${L(n)}</code>`)}function qt(e){Ht.lastIndex=0;let t=e.replace(Ht,(e,t)=>It(`http://${t}`,t)?`<code>${L(t)}</code>`:e),n=0,r=0,i=0,a=``,o=0;R.lastIndex=0;let s;for(;(s=R.exec(t))!==null;){let e=s.index,c=R.lastIndex,l=s[1]===`</`,u=s[2].toLowerCase(),d=t.slice(o,e);a+=Kt(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+=Kt(c,n,r,i),a}function Jt(e,t={}){return(t.textMode??`markdown`)===`html`?e:zt(e,{tableMode:t.tableMode})}const Yt=new Set([`br`]);function Xt(e){return e.map(e=>e.openTag).join(``)}function Zt(e){return e.slice().toReversed().map(e=>e.closeTag).join(``)}function Qt(e){return e.reduce((e,t)=>e+t.closeTag.length,0)}function $t(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 en(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=$t(e,r);return i===-1||i<n?n:r}function tn(e,t){for(let n=e.length-1;n>=0;--n)if(e[n]?.name===t){e.splice(n,1);return}}function nn(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=Xt(i),o=!1},c=()=>{o&&(r.push(`${a}${Zt(i)}`),s())},l=e=>{let t=e;for(;t.length>0;){let e=n-a.length-Qt(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=en(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(),R.lastIndex=0;let u=0,d;for(;(d=R.exec(e))!==null;){let t=d.index,r=R.lastIndex;l(e.slice(u,t));let s=d[0],f=d[1]===`</`,p=d[2].toLowerCase(),m=!f&&(Yt.has(p)||s.trimEnd().endsWith(`/>`));if(!f){let e=m?0:`</${p}>`.length;o&&a.length+s.length+Qt(i)+e>n&&c()}a+=s,m&&(o=!0),f?tn(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 rn(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=sn(e,Number.isFinite(a)&&a>0?a:Math.max(1,Math.floor(r/2)));return o.length>1?o:sn(e,Math.max(1,Math.floor(r/2)))}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,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 sn(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:an(e.styles,i,t),links:on(e.links,i,t)}),i=t}return r}function cn(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=qt(Rt(e));if(t.length<=n||e.text.length<=1){i.push({html:t,text:e.text});continue}let a=rn(e,n,t.length);if(a.length<=1){i.push({html:t,text:e.text});continue}r.unshift(...a)}return i}function ln(e,t,n={}){return cn(o.n(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:n.tableMode}),t)}const un=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`]),dn=new Set([`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`ENETUNREACH`,`EHOSTUNREACH`]),fn=new Set([`AbortError`,`TimeoutError`,`ConnectTimeoutError`,`HeadersTimeoutError`,`BodyTimeoutError`]),pn=new Set([`fetch failed`,`typeerror: fetch failed`]),mn=/^network request(?:\s+for\s+["']?[^"']+["']?)?\s+failed\s+after\b.*[!.]?$/i,hn=[`undici`,`network error`,`network request`,`client network socket disconnected`,`socket hang up`,`getaddrinfo`,`timeout`,`timed out`];function gn(e){return r.Pr(e,e=>{let t=[e.cause,e.reason];return Array.isArray(e.errors)&&t.push(...e.errors),r.Rr(e)===`HttpError`&&t.push(e.error),t})}function _n(e){return e?.trim().toUpperCase()??``}function vn(e){let t=r.Fr(e);if(t)return t;if(!e||typeof e!=`object`)return;let n=e.errno;if(typeof n==`string`)return n;if(typeof n==`number`)return String(n)}function yn(e){if(!e)return!1;for(let t of gn(e)){let e=_n(vn(t));if(e&&dn.has(e))return!0}return!1}function bn(e,t){for(let n of gn(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 xn(e){return bn(e,e=>e>=500)}function Sn(e){return bn(e,e=>e>=400&&e<500)}function z(e,t={}){if(!e)return!1;let n=typeof t.allowMessageMatch==`boolean`?t.allowMessageMatch:t.context!==`send`;for(let t of gn(e)){let e=_n(vn(t));if(e&&un.has(e))return!0;let i=r.Rr(t);if(i&&fn.has(i))return!0;let a=r.Ir(t).trim().toLowerCase();if(a&&pn.has(a)||a&&mn.test(a)||n&&a&&hn.some(e=>a.includes(e)))return!0}return!1}const Cn=new Map;function wn(e){return String(e)}function Tn(e){let t=Date.now();for(let[n,r]of e.timestamps)t-r>864e5&&e.timestamps.delete(n)}function B(e,t){let n=wn(e),r=Cn.get(n);r||(r={timestamps:new Map},Cn.set(n,r)),r.timestamps.set(t,Date.now()),r.timestamps.size>100&&Tn(r)}function En(e,t){let n=wn(e),r=Cn.get(n);return r?(Tn(r),r.timestamps.has(t)):!1}const Dn=f.default.join(n.t,`cron`),On=f.default.join(Dn,`jobs.json`),V=new Map;function kn(t){if(t?.trim()){let n=t.trim();return n.startsWith(`~`)?f.default.resolve(e.l(n)):f.default.resolve(n)}return On}async function An(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 V.set(e,JSON.stringify(i,null,2)),i}catch(t){if(t?.code===`ENOENT`)return V.delete(e),{version:1,jobs:[]};throw t}}async function jn(e){await p.default.promises.chmod(e,384).catch(()=>void 0)}async function Mn(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=V.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){V.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 jn(s),o!==null&&!n?.skipBackup)try{let t=`${e}.bak`;await p.default.promises.copyFile(e,t),await jn(t)}catch{}await Nn(s,e),await jn(e),V.set(e,i)}async function Nn(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 H=n.O(`telegram/target-writeback`);function Pn(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function Fn(e){let t=a.n(e);if(t)return t.startsWith(`@`)?t.toLowerCase():t}function In(e){let t=a.r(e),n=Fn(t.chatId);if(n)return`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`}function Ln(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 Rn(e){let t=a.r(e.raw);if(a.t(t.chatId))return null;let n=Fn(t.chatId);return n?{matchKey:`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`,resolvedTarget:Ln({raw:e.raw,parsed:t,resolvedChatId:e.resolvedChatId})}:null}function zn(e){if(typeof e.rawValue!=`string`&&typeof e.rawValue!=`number`)return null;let t=String(e.rawValue).trim();return!t||In(t)!==e.matchKey?null:e.resolvedTarget}function Bn(e){let t=!1,n=Pn(e.cfg.channels?.telegram);if(!n)return t;let r=(n,r)=>{let i=zn({rawValue:n[r],matchKey:e.matchKey,resolvedTarget:e.resolvedTarget});i&&(n[r]=i,t=!0)};r(n,`defaultTo`);let i=Pn(n.accounts);if(!i)return t;for(let e of Object.keys(i)){let t=Pn(i[e]);t&&r(t,`defaultTo`)}return t}async function Vn(e){let t=e.rawTarget.trim();if(!t)return;let n=Rn({raw:t,resolvedChatId:e.resolvedChatId});if(!n)return;let{matchKey:i,resolvedTarget:a}=n;try{let{snapshot:n,writeOptions:o}=await r.Ji(),s=structuredClone(n.config??{});Bn({cfg:s,matchKey:i,resolvedTarget:a})&&(await r.Zi(s,o),e.verbose&&H.warn(`resolved Telegram defaultTo target ${t} -> ${a}`))}catch(n){e.verbose&&H.warn(`failed to persist Telegram defaultTo target ${t}: ${String(n)}`)}try{let n=kn(e.cfg.cron?.store),r=await An(n),o=!1;for(let e of r.jobs){if(e.delivery?.channel!==`telegram`)continue;let t=zn({rawValue:e.delivery.to,matchKey:i,resolvedTarget:a});t&&(e.delivery.to=t,o=!0)}o&&(await Mn(n,r),e.verbose&&H.warn(`resolved Telegram cron delivery target ${t} -> ${a}`))}catch(n){e.verbose&&H.warn(`failed to persist Telegram cron target ${t}: ${String(n)}`)}}function Hn(e){return e.wantsVoice?Ve(e)?{useVoice:!0}:{useVoice:!1,reason:`media is ${e.contentType??`unknown`} (${e.fileName??`unknown`})`}:{useVoice:!1}}function Un(e){let t=Hn(e);return t.reason&&e.logFallback&&e.logFallback(`Telegram voice requested but ${t.reason}; sending as audio file instead.`),{useVoice:t.useVoice}}function U(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 Wn(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 Gn(e,t,n){if(!e)return[];let r=Math.max(1,Math.floor(n)),i=Wn(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 Kn=/can't parse entities|parse entities|find end of the entity/i,qn=/400:\s*Bad Request:\s*message thread not found/i,Jn=/400:\s*Bad Request:\s*message is not modified|MESSAGE_NOT_MODIFIED/i,Yn=/400: Bad Request: chat not found/i,Xn=n.O(`telegram/send`),Zn=n.O(`telegram/diagnostic`),W=new Map;function Qn(e){return qe(`telegram.http`,e)?(e,n)=>{if(!(n instanceof _.HttpError))return;let i=t.S(r.Lr(n.error??n));Zn.warn(`telegram http error (${e}): ${i}`)}:()=>{}}function $n(){return!process.env.VITEST&&!0}function er(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 tr(e,t){if(W.set(e,t),W.size>64){let e=W.keys().next().value;e!==void 0&&W.delete(e)}return t}function nr(e){let t=typeof e.config.timeoutSeconds==`number`&&Number.isFinite(e.config.timeoutSeconds)?Math.max(1,Math.floor(e.config.timeoutSeconds)):void 0,n=$n()?er({account:e,timeoutSeconds:t}):null;if(n&&W.has(n))return W.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?tr(n,o):o}function rr(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 ir(e,t){let n=a.t(e);if(n)return n;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&&Xn.warn(`telegram recipient ${i} resolved to numeric chat id ${n}`),n}catch(e){let t=r.Ir(e);throw Error(`Telegram recipient ${i} could not be resolved to a numeric chat ID (${t})`,{cause:e})}}async function G(e){let t=await ir(e.lookupTarget,{api:e.api,verbose:e.verbose});return await Vn({cfg:e.cfg,rawTarget:e.persistTarget,resolvedChatId:t,verbose:e.verbose}),t}function K(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 ar(e){return qn.test(r.Ir(e))}function q(e){return Jn.test(r.Ir(e))}function or(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 sr(e){if(!e||!or(e))return e;let t={...e};return delete t.message_thread_id,Object.keys(t).length>0?t:void 0}function cr(e){return Kn.test(r.Ir(e))}function J(e){let t=e.messageThreadId==null?e.targetMessageThreadId:e.messageThreadId,n=e.chatType===`direct`?`dm`:`forum`,r=st(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(!cr(t))throw t;return e.verbose&&Xn.warn(`telegram ${e.label} failed with HTML parse error, retrying as plain text: ${r.Ir(t)}`),await e.requestPlain(`${e.label}-plain`)}}function Y(e){let t=e.cfg??r.Gi(),n=r.Sn({cfg:t,accountId:e.accountId}),i=rr(e.token,n),a=nr(n);return{cfg:t,account:n,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=Qn(e.cfg);return(r,i,a)=>{let o=()=>t(r,i);return(e.useApiErrorLogging===!1?o():Xe({operation:i??`request`,fn:o,...a?.shouldLog?{shouldLog:a.shouldLog}:{}})).catch(e=>{throw n(i??`request`,e),e})}}function ur(e,t){return Yn.test(r.Ir(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,n,i){try{return await i(e,t)}catch(a){if(!or(e)||!ar(a))throw a;return n&&Xn.warn(`telegram ${t} failed with message_thread_id, retrying without thread: ${r.Ir(a)}`),await i(sr(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=>yn(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 G({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=J({targetMessageThreadId:p.messageThreadId,messageThreadId:s.messageThreadId,chatType:p.chatType,replyToMessageId:s.replyToMessageId,quoteText:s.quoteText}),ee=Object.keys(y).length>0,b=Q({requestWithDiag:dr({cfg:l,account:d,retry:s.retry,verbose:s.verbose}),chatId:m,input:e}),x=s.textMode??`markdown`,S=o.s({cfg:l,channel:`telegram`,accountId:d.accountId}),C=e=>Jt(e,{textMode:x,tableMode:S}),w=d.config.linkPreview??!0?void 0:{is_disabled:!0},T=async(e,t)=>await Z(t,`message`,s.verbose,async(t,n)=>{let r=t?{...t}:{};w&&(r.link_preview_options=w);let i={...r,...s.silent===!0?{disable_notification:!0}:{}},a=Object.keys(i).length>0,o=t=>b(()=>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=>b(()=>f.sendMessage(m,c,l),e),requestPlain:o})}),E=e=>ee||e&&v?{...y,...e&&v?{reply_markup:v}:{}}:void 0,D=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 T(a,E(i===e.length-1)),s=U(o,t);B(m,s),n=String(s),r=String(o?.chat?.id??m)}return{messageId:n,chatId:r}},O=(e,t)=>{let i=s.plainText??e,a;try{a=nn(e,4e3)}catch(e){return n.R(`telegram ${t} failed HTML chunk planning, retrying as plain text: ${r.Ir(e)}`),Wn(i,4e3).map(e=>({plainText:e}))}let o=Wn(i,4e3);if(o.length>a.length)return n.R(`telegram ${t} plain-text fallback needs more chunks than HTML; sending plain text`),o.map(e=>({plainText:e}));let c=Gn(i,a.length,4e3);return a.map((e,t)=>({htmlText:e,plainText:c[t]??e}))},k=async(e,t)=>await D(O(e,t),t);if(h){let e=await o.a(h,c.t({maxBytes:g,mediaLocalRoots:s.mediaLocalRoots})),r=t.Wt(e.contentType??void 0),a=t.Ut({contentType:e.contentType,fileName:e.fileName}),l=r===`video`&&s.asVideoNote===!0,p=e.fileName??(a?`animation.gif`:vr(r??`document`))??`file`,S=new _.InputFile(e.buffer,p),w,T;if(l)w=void 0,T=i.trim()?i:void 0;else{let e=Nt(i);w=e.caption,T=e.followUpText}let E=w?C(w):void 0,O=!!T,A={...ee?y:{},...!O&&v?{reply_markup:v}:{}},te={...E?{caption:E,parse_mode:`HTML`}:{},...A,...s.silent===!0?{disable_notification:!0}:{}},j=async(e,t)=>await Z(te,e,s.verbose,async(e,n)=>b(()=>t(e),n)),M=(()=>{if(a)return{label:`animation`,sender:e=>f.sendAnimation(m,S,e)};if(r===`image`)return{label:`photo`,sender:e=>f.sendPhoto(m,S,e)};if(r===`video`)return l?{label:`video_note`,sender:e=>f.sendVideoNote(m,S,e)}:{label:`video`,sender:e=>f.sendVideo(m,S,e)};if(r===`audio`){let{useVoice:t}=Un({wantsVoice:s.asVoice===!0,contentType:e.contentType,fileName:p,logFallback:n.R});return t?{label:`voice`,sender:e=>f.sendVoice(m,S,e)}:{label:`audio`,sender:e=>f.sendAudio(m,S,e)}}return{label:`document`,sender:e=>f.sendDocument(m,S,e)}})(),ne=await j(M.label,M.sender),re=U(ne,`media send`),N=String(ne?.chat?.id??m);return B(m,re),u.n({channel:`telegram`,accountId:d.accountId,direction:`outbound`}),O&&T?x===`html`?{messageId:(await k(T,`text follow-up send`)).messageId,chatId:N}:{messageId:(await D([{plainText:T,htmlText:C(T)}],`text follow-up send`)).messageId,chatId:N}:{messageId:String(re),chatId:N}}if(!i||!i.trim())throw Error(`Message must be non-empty for Telegram sends`);let A;return A=x===`html`?await k(i,`text send`):await D([{plainText:s.plainText??i,htmlText:C(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 G({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=>z(e,{context:`send`})}),l=ct(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 G({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=K(t),u=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>z(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,r={}){let{cfg:i,account:a,api:o}=Y(r),s=String(e),c=await G({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=K(t);return await X({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>z(e,{context:`send`})})(()=>o.deleteMessage(c,l),`deleteMessage`),n.R(`[telegram] Deleted message ${l} from chat ${c}`),{ok:!0}}async function gr(e,t,r,i={}){let{cfg:a,account:o,api:s}=Y({...i,cfg:i.cfg}),c=String(e),l=await G({cfg:a,api:s,lookupTarget:c,persistTarget:c,verbose:i.verbose}),u=K(t),d=X({cfg:a,account:o,retry:i.retry,verbose:i.verbose}),f=$(r)??{inline_keyboard:[]};try{await d(()=>s.editMessageReplyMarkup(l,u,{reply_markup:f}),`editMessageReplyMarkup`,{shouldLog:e=>!q(e)})}catch(e){if(!q(e))throw e}return n.R(`[telegram] Edited reply markup for message ${u} in chat ${l}`),{ok:!0,messageId:String(u),chatId:l}}async function _r(e,t,r,i={}){let{cfg:a,account:s,api:c}=Y({...i,cfg:i.cfg}),l=String(e),u=await G({cfg:a,api:c,lookupTarget:l,persistTarget:l,verbose:i.verbose}),d=K(t),f=X({cfg:a,account:s,retry:i.retry,verbose:i.verbose,shouldRetry:e=>z(e,{allowMessageMatch:!0})||xn(e)}),p=(e,t,n)=>f(e,t,n?{shouldLog:n}:void 0),m=Jt(r,{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=>!q(e)),requestPlain:e=>p(()=>Object.keys(y).length>0?c.editMessageText(u,d,r,y):c.editMessageText(u,d,r),e,e=>!q(e))})}catch(e){if(!q(e))throw e}return n.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 G({cfg:r,api:o,lookupTarget:s.chatId,persistTarget:e,verbose:n.verbose}),l=J({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=U(p,`sticker send`),h=String(p?.chat?.id??c);return B(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 G({cfg:r,api:o,lookupTarget:s.chatId,persistTarget:e,verbose:n.verbose}),d=l.n(t,{maxOptions:10}),f=J({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)),_=U(g,`poll send`),v=String(g?.chat?.id??c),y=g?.poll?.id;return B(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 G({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 Re}}),Object.defineProperty(exports,`A`,{enumerable:!0,get:function(){return ct}}),Object.defineProperty(exports,`B`,{enumerable:!0,get:function(){return ht}}),Object.defineProperty(exports,`C`,{enumerable:!0,get:function(){return _t}}),Object.defineProperty(exports,`D`,{enumerable:!0,get:function(){return ut}}),Object.defineProperty(exports,`E`,{enumerable:!0,get:function(){return ft}}),Object.defineProperty(exports,`F`,{enumerable:!0,get:function(){return xt}}),Object.defineProperty(exports,`G`,{enumerable:!0,get:function(){return et}}),Object.defineProperty(exports,`H`,{enumerable:!0,get:function(){return lt}}),Object.defineProperty(exports,`I`,{enumerable:!0,get:function(){return jt}}),Object.defineProperty(exports,`J`,{enumerable:!0,get:function(){return Xe}}),Object.defineProperty(exports,`K`,{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,`L`,{enumerable:!0,get:function(){return dt}}),Object.defineProperty(exports,`M`,{enumerable:!0,get:function(){return St}}),Object.defineProperty(exports,`N`,{enumerable:!0,get:function(){return Mt}}),Object.defineProperty(exports,`O`,{enumerable:!0,get:function(){return pt}}),Object.defineProperty(exports,`P`,{enumerable:!0,get:function(){return vt}}),Object.defineProperty(exports,`Q`,{enumerable:!0,get:function(){return Le}}),Object.defineProperty(exports,`R`,{enumerable:!0,get:function(){return at}}),Object.defineProperty(exports,`S`,{enumerable:!0,get:function(){return Nt}}),Object.defineProperty(exports,`T`,{enumerable:!0,get:function(){return mt}}),Object.defineProperty(exports,`U`,{enumerable:!0,get:function(){return ot}}),Object.defineProperty(exports,`V`,{enumerable:!0,get:function(){return Ct}}),Object.defineProperty(exports,`W`,{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,`X`,{enumerable:!0,get:function(){return Ie}}),Object.defineProperty(exports,`Y`,{enumerable:!0,get:function(){return He}}),Object.defineProperty(exports,`Z`,{enumerable:!0,get:function(){return Ne}}),Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return Sn}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return _r}}),Object.defineProperty(exports,`at`,{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return Jt}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return br}}),Object.defineProperty(exports,`ct`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return Un}}),Object.defineProperty(exports,`et`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return An}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return yn}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return gr}}),Object.defineProperty(exports,`it`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`j`,{enumerable:!0,get:function(){return wt}}),Object.defineProperty(exports,`k`,{enumerable:!0,get:function(){return st}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return yr}}),Object.defineProperty(exports,`lt`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return En}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return xr}}),Object.defineProperty(exports,`nt`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return mr}}),Object.defineProperty(exports,`ot`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return kn}}),Object.defineProperty(exports,`q`,{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return hr}}),Object.defineProperty(exports,`rt`,{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return fr}}),Object.defineProperty(exports,`st`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,`tt`,{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return pr}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return ln}}),Object.defineProperty(exports,`w`,{enumerable:!0,get:function(){return gt}}),Object.defineProperty(exports,`x`,{enumerable:!0,get:function(){return qt}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return zt}}),Object.defineProperty(exports,`z`,{enumerable:!0,get:function(){return it}});
2
+ //# sourceMappingURL=send-CxMiTtxI.cjs.map
@@ -4,3 +4,4 @@ import{g as e}from"./paths-D55o_j8-.js";import{$r as t,Da as n,Vn as r}from"./mo
4
4
  `);continue}let[t,...r]=e.split(`:`),i=t.trim(),a=r.join(`:`),o=a.startsWith(` `)?a.slice(1):a;i===`event`?l.event=o:i===`data`?l.data=l.data?`${l.data}\n${o}`:o:i===`id`&&(l.id=o),n=c.indexOf(`
5
5
  `)}}u()}function _(e,t){let i=!!e.baseUrl?.trim(),a=!!e.account?.trim(),o=t||(!i||!a?r({cfg:n(),accountId:e.accountId}):void 0),s=e.baseUrl?.trim()||o?.baseUrl;if(!s)throw Error(`Signal base URL is required`);return{baseUrl:s,account:e.account?.trim()||o?.config.account?.trim()}}function v(e){let t=e.toLowerCase();return t=t.replace(/^https?:\/\//,``),t=t.replace(/^www\./,``),t=t.replace(/\/+$/,``),t}function y(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 b(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 x(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 S(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 C(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=v(o),i=n;if(n.startsWith(`mailto:`)&&(i=n.slice(7)),t!==v(i)){let t=` (${n})`;r+=t,a.push({pos:e.end,length:t.length})}}i=e.end}r+=t.slice(i);let o=S(e.styles.map(e=>{let t=y(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:b(x(o.map(e=>({start:e.start,length:e.end-e.start,style:e.style})),c))}}function w(e,t={}){return C(o(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:t.tableMode}))}function T(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 E(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:b(T(r,o,o+e.length))});break}let e=D(a.slice(0,t));e<=0&&(e=t);let s=a.slice(0,e).trimEnd();s.length>0&&i.push({text:s,styles:b(T(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 D(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 O(e,t,n={}){let r=c(o(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:n.tableMode}),t),i=[];for(let e of r){let n=C(e);n.text.length>t?i.push(...E(n,t)):i.push(n)}return i}function k(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 A(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 j(t,i,a={}){let o=a.cfg??n(),c=r({cfg:o,accountId:a.accountId}),{baseUrl:u,account:d}=_(a,c),f=k(t),p=i??``,h=!1,g=[],v=a.textMode??`markdown`,y=typeof a.maxBytes==`number`?a.maxBytes:typeof c.config.mediaMaxMb==`number`?c.config.mediaMaxMb*1024*1024:typeof o.agents?.defaults?.mediaMaxMb==`number`?o.agents.defaults.mediaMaxMb*1024*1024:8*1024*1024,b;if(a.mediaUrl?.trim()){let t=await l(a.mediaUrl.trim(),y,{localRoots:a.mediaLocalRoots});b=[t.path];let n=e(t.contentType??void 0);!p&&n&&(p=n===`image`?`<media:image>`:`<media:${n}>`,h=!0)}if(p.trim()&&!h)if(v===`plain`)g=a.textStyles??[];else{let e=s({cfg:o,channel:`signal`,accountId:c.accountId}),t=w(p,{tableMode:e});p=t.text,g=t.styles}if(!p.trim()&&(!b||b.length===0))throw Error(`Signal send requires text or media`);let x={message:p};g.length>0&&(x[`text-style`]=g.map(e=>`${e.start}:${e.length}:${e.style}`)),d&&(x.account=d),b&&b.length>0&&(x.attachments=b);let S=A(f,{recipient:!0,group:!0,username:!0});if(!S)throw Error(`Signal recipient is required`);Object.assign(x,S);let C=(await m(`send`,x,{baseUrl:u,timeoutMs:a.timeoutMs}))?.timestamp;return{messageId:C?String(C):`unknown`,timestamp:C}}async function M(e,t={}){let{baseUrl:n,account:r}=_(t),i=A(k(e),{recipient:!0,group:!0});if(!i)return!1;let a={...i};return r&&(a.account=r),t.stop&&(a.stop=!0),await m(`sendTyping`,a,{baseUrl:n,timeoutMs:t.timeoutMs}),!0}async function N(e,t,n={}){if(!Number.isFinite(t)||t<=0)return!1;let{baseUrl:r,account:i}=_(n),a=A(k(e),{recipient:!0});if(!a)return!1;let o={...a,targetTimestamp:t,type:n.type??`read`};return i&&(o.account=i),await m(`sendReceipt`,o,{baseUrl:r,timeoutMs:n.timeoutMs}),!0}export{_ as a,g as c,O as i,N as n,h as o,M as r,m as s,j as t};
7
+ //# sourceMappingURL=send-CyyzWwDr.js.map