@qqbrowser/openclaw-qbot 0.0.127 → 0.0.129

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 (1470) hide show
  1. package/dist/account-lookup-CW-_CL7y.js +1 -1
  2. package/dist/acp-cli-01SGjPGi.js +1 -1
  3. package/dist/acp-cli-uxN405XG.js +1 -1
  4. package/dist/active-listener-BZ6loNaF.js +1 -1
  5. package/dist/active-listener-D8VOdVx3.js +1 -1
  6. package/dist/active-listener-DB5mhDuO.js +1 -1
  7. package/dist/active-listener-DeKRt_UV.js +1 -1
  8. package/dist/agent-scope-DAWJwFfl.js +1 -1
  9. package/dist/agent-scope-DXZc3eNT.js +1 -1
  10. package/dist/agents-BMh3ZeoB.js +1 -1
  11. package/dist/agents.config-B-0lZSmb.js +1 -1
  12. package/dist/agents.config-BDEN2Eph.js +1 -1
  13. package/dist/allow-from-B6dI7oz8.js +1 -1
  14. package/dist/allow-from-DEeVIPKS.js +1 -1
  15. package/dist/api-BeG0ObSq.js +1 -1
  16. package/dist/api-Dx8x1KTs.js +1 -1
  17. package/dist/api-key-rotation-C_MG2y1D.js +1 -1
  18. package/dist/api-key-rotation-D8WsZ43x.js +1 -1
  19. package/dist/api-key-rotation-DYYvcqSG.js +1 -1
  20. package/dist/api-key-rotation-dNu0GxPN.js +1 -1
  21. package/dist/arg-split-BOqSMBuf.js +1 -1
  22. package/dist/arg-split-DE5RqDHq.js +1 -1
  23. package/dist/audio-preflight--K4-eUVY.js +1 -1
  24. package/dist/audio-preflight-BKIm58PG.js +1 -1
  25. package/dist/audio-preflight-CAfi10dl.js +1 -1
  26. package/dist/audio-preflight-Xm0NL5JA.js +1 -1
  27. package/dist/audio-transcription-runner-BJNP7vB8.js +1 -1
  28. package/dist/audio-transcription-runner-BUsb6cqv.js +1 -1
  29. package/dist/audio-transcription-runner-C_31Yoq0.js +1 -1
  30. package/dist/audio-transcription-runner-CjKLRVPo.js +1 -1
  31. package/dist/audit-7DFnKINd.js +1 -1
  32. package/dist/audit-B6LsW3Ai.js +1 -1
  33. package/dist/audit-membership-runtime-BpRsMj5-.js +1 -1
  34. package/dist/audit-membership-runtime-BsfLZNBj.js +1 -1
  35. package/dist/audit-membership-runtime-DRHirRmx.js +1 -1
  36. package/dist/audit-membership-runtime-g0dEWJTp.js +1 -1
  37. package/dist/audit-membership-runtime-kdyToskD.js +1 -1
  38. package/dist/auth-choice-BNd2SNjJ.js +1 -1
  39. package/dist/auth-choice-C3aUWXx9.js +1 -1
  40. package/dist/auth-choice-DViEjgMg.js +1 -1
  41. package/dist/auth-choice-edozMf7r.js +1 -1
  42. package/dist/auth-choice-options-B3WQyS7I.js +1 -1
  43. package/dist/auth-choice-options-Dw14noox.js +1 -1
  44. package/dist/auth-choice-prompt-uegl56cf.js +1 -1
  45. package/dist/auth-choice-prompt-xYj13czb.js +1 -1
  46. package/dist/auth-choice.apply-helpers-CNLYnRxx.js +1 -1
  47. package/dist/auth-choice.apply-helpers-DCe5nTyP.js +1 -1
  48. package/dist/auth-profiles-BhXA8Jy2.js +1 -1
  49. package/dist/auth-token-C75IOb_K.js +1 -1
  50. package/dist/auth-token-CzgZf-ta.js +1 -1
  51. package/dist/banner-mIDEloRy.js +1 -1
  52. package/dist/bonjour-discovery-CpvzLjyB.js +1 -1
  53. package/dist/bonjour-discovery-wsh3Si1Q.js +1 -1
  54. package/dist/boolean-Ch3DfXPy.js +1 -1
  55. package/dist/boolean-D15s2V33.js +1 -1
  56. package/dist/boolean-DypnRoRK.js +1 -1
  57. package/dist/brew-COcDl8CB.js +1 -1
  58. package/dist/brew-DDPm_HfE.js +1 -1
  59. package/dist/browser-cli-BjzNbvF9.js +1 -1
  60. package/dist/browser-cli-CgHkgtgV.js +1 -1
  61. package/dist/build-info.json +3 -3
  62. package/dist/bundled/boot-md/handler.js +1 -1
  63. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  64. package/dist/bundled/command-logger/handler.js +1 -1
  65. package/dist/bundled/session-memory/handler.js +1 -1
  66. package/dist/call-BA3O_Qpl.js +1 -1
  67. package/dist/call-BQT0zCgv.js +1 -1
  68. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  69. package/dist/channel-account-context-BMPAMZEv.js +1 -1
  70. package/dist/channel-account-context-DAcarnqW.js +1 -1
  71. package/dist/channel-activity-B04WbrrK.js +1 -1
  72. package/dist/channel-activity-BPRCQpI6.js +1 -1
  73. package/dist/channel-activity-D2VTmenR.js +1 -1
  74. package/dist/channel-activity-DHY5wAyl.js +1 -1
  75. package/dist/channel-activity-DYpm-0Cz.js +1 -1
  76. package/dist/channel-options-BYmHreMn.js +1 -1
  77. package/dist/channel-options-Cbv7VETu.js +1 -1
  78. package/dist/channel-selection-Ddyykqxv.js +1 -1
  79. package/dist/channel-selection-oRONo9z3.js +1 -1
  80. package/dist/channel-web-CK4RqVCH.js +1 -1
  81. package/dist/channel-web-Xw89Exy3.js +1 -1
  82. package/dist/channels/plugins/actions/discord.js +1 -1
  83. package/dist/channels/plugins/actions/signal.js +1 -1
  84. package/dist/channels/plugins/actions/telegram.js +1 -1
  85. package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -1
  86. package/dist/channels-cli-D2y5Xk5i.js +1 -1
  87. package/dist/channels-cli-cwFjBXcP.js +1 -1
  88. package/dist/channels-status-issues-8eFrGKyf.js +1 -1
  89. package/dist/channels-status-issues-PRgOT90w.js +1 -1
  90. package/dist/chat-envelope-Bznn2SoS.js +1 -1
  91. package/dist/chat-envelope-HVpKusFc.js +1 -1
  92. package/dist/clack-prompter-DBPdGdqp.js +1 -1
  93. package/dist/clack-prompter-Dq0aY6iM.js +1 -1
  94. package/dist/clawbot-cli-BwG1-8A9.js +1 -1
  95. package/dist/clawbot-cli-CaNu5A0G.js +1 -1
  96. package/dist/cleanup-utils-BWm70DoD.js +1 -1
  97. package/dist/cleanup-utils-D-RhEX6F.js +1 -1
  98. package/dist/cli-CQKA38bc.js +1 -1
  99. package/dist/cli-i7P4bYBg.js +1 -1
  100. package/dist/cli-utils-BY7dLMFy.js +1 -1
  101. package/dist/cli-utils-BleB1eys.js +1 -1
  102. package/dist/clipboard-Bk8cviBt.js +1 -1
  103. package/dist/clipboard-CKT_VIkG.js +1 -1
  104. package/dist/cmd-argv-BBT5l8AV.js +1 -1
  105. package/dist/cmd-argv-Bh-KpaZ0.js +1 -1
  106. package/dist/command-format-BbDT1tlm.js +1 -1
  107. package/dist/command-format-CLxIPuLR.js +1 -1
  108. package/dist/command-options-BpOUDl2S.js +1 -1
  109. package/dist/command-options-Bq5nQxz6.js +1 -1
  110. package/dist/command-poll-backoff-BZLHYB2k.js +1 -1
  111. package/dist/command-poll-backoff-Cww_r-24.js +1 -1
  112. package/dist/command-poll-backoff-Df6cOQrX.js +1 -1
  113. package/dist/command-poll-backoff-endAPdwn.js +1 -1
  114. package/dist/command-registry-BYk36N_R.js +1 -1
  115. package/dist/command-secret-targets-BBTiqQKa.js +1 -1
  116. package/dist/command-secret-targets-KM3OecbM.js +1 -1
  117. package/dist/commands-CGpM84iR.js +1 -1
  118. package/dist/commands-Dy7duWlt.js +1 -1
  119. package/dist/commands-registry-B3FI6TSl.js +1 -1
  120. package/dist/commands-registry-CxDVU5s9.js +1 -1
  121. package/dist/commands-registry-Dn2uuNuy.js +1 -1
  122. package/dist/commands-registry-Du79fdAL.js +1 -1
  123. package/dist/compact-CuBCVnVS.js +1 -1
  124. package/dist/completion-cli-CRNTbZlR.js +1 -1
  125. package/dist/completion-cli-DbGDCoiM.js +1 -1
  126. package/dist/config-BqW5S1xL.js +1 -1
  127. package/dist/config-DAQjvwZw.js +1 -1
  128. package/dist/config-cli-D_coAWd9.js +1 -1
  129. package/dist/config-cli-EKXoNzLf.js +1 -1
  130. package/dist/config-guard-U0wlYLUN.js +1 -1
  131. package/dist/config-guard-XayIkveC.js +1 -1
  132. package/dist/config-validation-B0nN9egx.js +1 -1
  133. package/dist/config-validation-CAHnpjrk.js +1 -1
  134. package/dist/configure-DNnQRKy8.js +1 -1
  135. package/dist/configure-NCNskZPe.js +1 -1
  136. package/dist/connection-auth-BcPbGyxw.js +1 -1
  137. package/dist/connection-auth-DZ-3Svr_.js +1 -1
  138. package/dist/context-window-guard-7crlatf9.js +1 -1
  139. package/dist/context-window-guard-CPChk363.js +1 -1
  140. package/dist/control-ui/apple-touch-icon.png +0 -0
  141. package/dist/control-ui/assets/de-DuUYLvt1.js +1 -0
  142. package/dist/control-ui/assets/es-DHtyqUQZ.js +1 -0
  143. package/dist/control-ui/assets/index-CYbiPp9k.js +8383 -0
  144. package/dist/control-ui/assets/index-C_GaJ8wS.css +1 -0
  145. package/dist/control-ui/assets/pt-BR-D2dJb9G8.js +1 -0
  146. package/dist/control-ui/assets/zh-CN-BgJ8_lE3.js +1 -0
  147. package/dist/control-ui/assets/zh-TW-cW5xB87I.js +1 -0
  148. package/dist/control-ui/favicon-32.png +0 -0
  149. package/dist/control-ui/favicon.ico +0 -0
  150. package/dist/control-ui/favicon.svg +22 -0
  151. package/dist/control-ui/index.html +17 -0
  152. package/dist/control-ui-assets-BIa0GGDg.js +1 -1
  153. package/dist/control-ui-assets-CTHGGgaX.js +1 -1
  154. package/dist/cron-cli-Cro66JtU.js +1 -1
  155. package/dist/cron-cli-DIeBukvk.js +1 -1
  156. package/dist/daemon-cli-Cw_fxNgE.js +1 -1
  157. package/dist/daemon-cli-DQsKS3pT.js +1 -1
  158. package/dist/daemon-cli.js +1 -1
  159. package/dist/daemon-install-C_DmJEkV.js +1 -1
  160. package/dist/daemon-install-D1DacLbM.js +1 -1
  161. package/dist/daemon-install-plan.shared-BSDdwWjB.js +1 -1
  162. package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -1
  163. package/dist/daemon-runtime-DHiDbRuC.js +1 -1
  164. package/dist/daemon-runtime-VcpeBRJV.js +1 -1
  165. package/dist/dangerous-name-matching-BOmvAibz.js +1 -1
  166. package/dist/dangerous-name-matching-DtllRqBD.js +1 -1
  167. package/dist/dangerous-tools-CFRYQJ6V.js +1 -1
  168. package/dist/dangerous-tools-oYCu5wfC.js +1 -1
  169. package/dist/deliver-2c-EsQ_W.js +1 -1
  170. package/dist/deliver-BudDnEIb.js +1 -1
  171. package/dist/deliver-COKdxPmA.js +1 -1
  172. package/dist/deliver-DHP2vHKB.js +1 -1
  173. package/dist/delivery-queue-CKbauSFq.js +1 -1
  174. package/dist/delivery-queue-nkPJu0fY.js +1 -1
  175. package/dist/device-pairing-4eDo43Kk.js +1 -1
  176. package/dist/device-pairing-B7ZXiXp3.js +1 -1
  177. package/dist/devices-cli-BXUIb_UN.js +1 -1
  178. package/dist/devices-cli-D7PkbnHO.js +1 -1
  179. package/dist/diagnostic-Bzd5vlKH.js +1 -1
  180. package/dist/diagnostic-CFmHdXHP.js +1 -1
  181. package/dist/diagnostic-CW_Jv5UM.js +1 -1
  182. package/dist/diagnostic-Dza7-pMC.js +1 -1
  183. package/dist/diagnostics-BgbeL9KE.js +1 -1
  184. package/dist/diagnostics-Cdctg9K_.js +1 -1
  185. package/dist/directory-cli-CxeuNJcC.js +1 -1
  186. package/dist/directory-cli-DFlYCB5L.js +1 -1
  187. package/dist/dns-cli-BDbHznhi.js +1 -1
  188. package/dist/dns-cli-OuwliJ60.js +1 -1
  189. package/dist/docs-cli-Cdw9Iz9a.js +1 -1
  190. package/dist/docs-cli-ClD2UyX1.js +1 -1
  191. package/dist/doctor-completion-BSOX-LSq.js +1 -1
  192. package/dist/doctor-completion-DXqdpdlo.js +1 -1
  193. package/dist/doctor-config-flow-DHB8N7tT.js +1 -1
  194. package/dist/doctor-config-flow-MjfHBDlw.js +1 -1
  195. package/dist/enable-DVuqWT2a.js +1 -1
  196. package/dist/enable-DWaSH1HY.js +1 -1
  197. package/dist/entry-status-CCwwKO43.js +1 -1
  198. package/dist/entry-status-CoXkbJcX.js +1 -1
  199. package/dist/entry.js +1 -1
  200. package/dist/env-D7wNuBx1.js +1 -1
  201. package/dist/env-overrides-DHtB4kK3.js +1 -1
  202. package/dist/env-overrides-DXJbFrwI.js +1 -1
  203. package/dist/errors-6SQWM9dj.js +1 -1
  204. package/dist/errors-Bunti32V.js +1 -1
  205. package/dist/exec-B3eleY5O.js +1 -1
  206. package/dist/exec-DHqLtFYt.js +1 -1
  207. package/dist/exec-approvals-BXO9Cezj.js +1 -1
  208. package/dist/exec-approvals-BpBNEy6i.js +1 -1
  209. package/dist/exec-approvals-allowlist-BKFaHvA5.js +1 -1
  210. package/dist/exec-approvals-allowlist-DBh9Pm77.js +1 -1
  211. package/dist/exec-approvals-cli-0neCwpk-.js +1 -1
  212. package/dist/exec-approvals-cli-BuHSw09B.js +1 -1
  213. package/dist/exec-safe-bin-runtime-policy-Ck3GO5AB.js +1 -1
  214. package/dist/exec-safe-bin-runtime-policy-D2WexijZ.js +1 -1
  215. package/dist/fetch-BI3CnKE3.js +1 -1
  216. package/dist/fetch-BJT3BrkJ.js +1 -1
  217. package/dist/fetch-Bn0mWg6a.js +1 -1
  218. package/dist/fetch-CY5G3PDq.js +1 -1
  219. package/dist/fetch-Ce-scEU-.js +1 -1
  220. package/dist/fetch-D0rZDHKO.js +1 -1
  221. package/dist/fetch-DHo17YmK.js +1 -1
  222. package/dist/fetch-Dh-apy46.js +1 -1
  223. package/dist/fetch-Dikjvc5M.js +1 -1
  224. package/dist/fetch-DsjPfQlp.js +1 -1
  225. package/dist/fetch-_g8lZ8K8.js +1 -1
  226. package/dist/fetch-guard-BaRbr_V6.js +1 -1
  227. package/dist/fetch-guard-BmNIhXP-.js +1 -1
  228. package/dist/fetch-guard-ChVqc0HF.js +1 -1
  229. package/dist/fetch-guard-Cji70DJW.js +1 -1
  230. package/dist/fetch-hy0JKSsm.js +1 -1
  231. package/dist/fetch-timeout-CdYxWG9w.js +1 -1
  232. package/dist/fetch-timeout-Cj8_oAls.js +1 -1
  233. package/dist/fetch-timeout-DoOI_izT.js +1 -1
  234. package/dist/fetch-timeout-u8g99Ax0.js +1 -1
  235. package/dist/fetch-xT2jRpqs.js +1 -1
  236. package/dist/format-Bn1bwJKX.js +1 -1
  237. package/dist/format-Ce7I7s-k.js +1 -1
  238. package/dist/format-duration-C8AzNqKh.js +1 -1
  239. package/dist/format-duration-D5AMtmHa.js +1 -1
  240. package/dist/format-relative-B9pSIdGe.js +1 -1
  241. package/dist/format-relative-DkMjYy7z.js +1 -1
  242. package/dist/frontmatter-BkZkwkVO.js +1 -1
  243. package/dist/frontmatter-C7mzDNxd.js +1 -1
  244. package/dist/frontmatter-CzpfPBFl.js +1 -1
  245. package/dist/gateway-cli-Bj-BYgGN.js +1 -1
  246. package/dist/gateway-cli-DP65otLl.js +1 -1
  247. package/dist/gateway-install-token-BIqlEgy0.js +1 -1
  248. package/dist/gateway-install-token-CtUJl3A3.js +1 -1
  249. package/dist/gateway-rpc-DJHjmEZz.js +1 -1
  250. package/dist/gateway-rpc-XRAMeV67.js +1 -1
  251. package/dist/github-copilot-token-C79yeDKS.js +1 -1
  252. package/dist/github-copilot-token-DGYAlOmV.js +1 -1
  253. package/dist/github-copilot-token-DePP-lIf.js +1 -1
  254. package/dist/github-copilot-token-wm6mbypz.js +1 -1
  255. package/dist/gmail-setup-utils-CYOH3zzx.js +1 -1
  256. package/dist/gmail-setup-utils-S-MyEGuj.js +1 -1
  257. package/dist/group-access-BHKVOhrj.js +1 -1
  258. package/dist/group-access-D2DOYMfr.js +1 -1
  259. package/dist/health-Bedsiigi.js +1 -1
  260. package/dist/health-Cy_CvKbX.js +1 -1
  261. package/dist/health-format-B1nj3Wfn.js +1 -1
  262. package/dist/health-format-VBr6LEpt.js +1 -1
  263. package/dist/heartbeat-visibility-BQ_esv2m.js +1 -1
  264. package/dist/heartbeat-visibility-q74UdY8O.js +1 -1
  265. package/dist/help-format-B4aEI7V9.js +1 -1
  266. package/dist/help-format-BRbF_INg.js +1 -1
  267. package/dist/helpers-COz1ghcB.js +1 -1
  268. package/dist/helpers-Cp8gcO6u.js +1 -1
  269. package/dist/hooks-cli-DrnH2iDk.js +1 -1
  270. package/dist/hooks-cli-DvfZKyZl.js +1 -1
  271. package/dist/hooks-status-BHt-Xvh4.js +1 -1
  272. package/dist/hooks-status-CRJ4J0ZW.js +1 -1
  273. package/dist/image-BJC11A7e.js +1 -1
  274. package/dist/image-BKPxWO_2.js +1 -1
  275. package/dist/image-Ba-mOMMV.js +1 -1
  276. package/dist/image-D-R3N1it.js +1 -1
  277. package/dist/index.js +1 -1
  278. package/dist/inspect-BKV-I1UE.js +1 -1
  279. package/dist/inspect-z59cgmYc.js +1 -1
  280. package/dist/install-safe-path-C6kc_8NW.js +1 -1
  281. package/dist/install-safe-path-iesxijn2.js +1 -1
  282. package/dist/installs-BNeI_oML.js +1 -1
  283. package/dist/installs-C1xQLuby.js +1 -1
  284. package/dist/ipv4-BXZDlz5C.js +1 -1
  285. package/dist/ipv4-BnPLbv6y.js +1 -1
  286. package/dist/ir-BYCrFFZ9.js +1 -1
  287. package/dist/ir-CH7YvSi9.js +1 -1
  288. package/dist/ir-CSysIkNU.js +1 -1
  289. package/dist/ir-CZdZsdnI.js +1 -1
  290. package/dist/is-main-DG5ueqhF.js +1 -1
  291. package/dist/issue-format-CpTuk_rQ.js +1 -1
  292. package/dist/issue-format-kj7FXHhi.js +1 -1
  293. package/dist/kill-tree-DBJW8_Q-.js +1 -1
  294. package/dist/lifecycle-core-B72WHNHV.js +1 -1
  295. package/dist/lifecycle-core-dhkH_Nux.js +1 -1
  296. package/dist/line/accounts.js +1 -1
  297. package/dist/line/send.js +1 -1
  298. package/dist/line/template-messages.js +1 -1
  299. package/dist/links-CBnmRP9D.js +1 -1
  300. package/dist/links-CySwdMcF.js +1 -1
  301. package/dist/llm-slug-generator.js +1 -1
  302. package/dist/load-options-BsOW74dp.js +1 -1
  303. package/dist/load-options-C7dLuybp.js +1 -1
  304. package/dist/load-options-DV4j6Aqb.js +1 -1
  305. package/dist/load-options-Dwt0CeEg.js +1 -1
  306. package/dist/local-roots-Dxioh0C2.js +1 -1
  307. package/dist/logger-5W0OocJW.js +1 -1
  308. package/dist/logger-Bl8URnrW.js +1 -1
  309. package/dist/logger-DwWqfo66.js +1 -1
  310. package/dist/logger-kQAOe3qp.js +1 -1
  311. package/dist/logging-Dz4Qg6th.js +1 -1
  312. package/dist/logging-KiJmOmw4.js +1 -1
  313. package/dist/login-BMZxDYaU.js +1 -1
  314. package/dist/login-BdzP8F8J.js +1 -1
  315. package/dist/login-BzU0cMck.js +1 -1
  316. package/dist/login-Cb1A6qwM.js +1 -1
  317. package/dist/login-qr-BgsmAwKm.js +1 -1
  318. package/dist/login-qr-Bux8gWTO.js +1 -1
  319. package/dist/login-qr-COr_25Hx.js +1 -1
  320. package/dist/login-qr-CxBPOOAK.js +1 -1
  321. package/dist/login-qr-DnQm7bM4.js +1 -1
  322. package/dist/logs-cli-BM2XCmrH.js +1 -1
  323. package/dist/logs-cli-HKhyxaUs.js +1 -1
  324. package/dist/manager-B6zZuJEB.js +1 -1
  325. package/dist/manager-BwrZfep3.js +1 -1
  326. package/dist/manager-C5SBozw4.js +1 -1
  327. package/dist/manager-CjihRbGa.js +1 -1
  328. package/dist/memory-cli-CnruTL1h.js +1 -1
  329. package/dist/memory-cli-DHvscp7X.js +1 -1
  330. package/dist/model-catalog-BLdaFmIo.js +1 -1
  331. package/dist/model-catalog-vNCcsy4h.js +1 -1
  332. package/dist/model-param-b-B0r2cPDw.js +1 -1
  333. package/dist/model-param-b-BqIr5rY5.js +1 -1
  334. package/dist/model-picker-BaeW3tiV.js +1 -1
  335. package/dist/model-picker-DN0czUYS.js +1 -1
  336. package/dist/model-selection-C2QwHmXT.js +1 -1
  337. package/dist/model-selection-I1ctjFOB.js +1 -1
  338. package/dist/model-selection-qkByRv5A.js +1 -1
  339. package/dist/models-UTdl0vXO.js +1 -1
  340. package/dist/models-cli-QRONP7EL.js +1 -1
  341. package/dist/models-cli-vRoB_gfX.js +1 -1
  342. package/dist/models-config-CWIlroKT.js +1 -1
  343. package/dist/models-config-DN2Q51fC.js +1 -1
  344. package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -1
  345. package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -1
  346. package/dist/node-cli-2-E4-83G.js +1 -1
  347. package/dist/node-cli-DUI7Zctj.js +1 -1
  348. package/dist/node-command-policy-Bbmnc16l.js +1 -1
  349. package/dist/node-command-policy-DgkwfoCs.js +1 -1
  350. package/dist/node-commands-8GBOiktk.js +1 -1
  351. package/dist/node-commands-DdkziOTx.js +1 -1
  352. package/dist/node-resolve-B3BJbmQX.js +1 -1
  353. package/dist/node-resolve-DLZf3-1V.js +1 -1
  354. package/dist/node-service-BRfrNp8l.js +1 -1
  355. package/dist/node-service-C0bl7jcZ.js +1 -1
  356. package/dist/node-shell-dXp4vk-i.js +1 -1
  357. package/dist/nodes-cli-DU13-dCL.js +1 -1
  358. package/dist/nodes-cli-rPeIRj_f.js +1 -1
  359. package/dist/nodes-screen-C7-5RrbN.js +1 -1
  360. package/dist/note-D4GAwgha.js +1 -1
  361. package/dist/note-Dp-d_utk.js +1 -1
  362. package/dist/npm-pack-install-B23L-AtF.js +1 -1
  363. package/dist/npm-pack-install-C0te3Oap.js +1 -1
  364. package/dist/npm-resolution-BCXCw93f.js +1 -1
  365. package/dist/npm-resolution-Cmm82lui.js +1 -1
  366. package/dist/oauth-env-DAamJ1oz.js +1 -1
  367. package/dist/oauth-env-DSLBTWb1.js +1 -1
  368. package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -1
  369. package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -1
  370. package/dist/ollama-setup-CKt3tF-S.js +1 -1
  371. package/dist/ollama-setup-I8lghdX1.js +1 -1
  372. package/dist/onboard-B3WSjKCu.js +1 -1
  373. package/dist/onboard-C65vdb94.js +1 -1
  374. package/dist/onboard-channels-9CmG3Jgn.js +1 -1
  375. package/dist/onboard-channels-CV1AK9jY.js +1 -1
  376. package/dist/onboard-config-B7U20YRw.js +1 -1
  377. package/dist/onboard-config-DS9dUv8M.js +1 -1
  378. package/dist/onboard-custom-CwHYUB0T.js +1 -1
  379. package/dist/onboard-custom-uwufXtQf.js +1 -1
  380. package/dist/onboard-helpers-CGJLUoxR.js +1 -1
  381. package/dist/onboard-helpers-DbpWQoiB.js +1 -1
  382. package/dist/onboard-hooks-CERzXObm.js +1 -1
  383. package/dist/onboard-hooks-gQ3sxBNi.js +1 -1
  384. package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -1
  385. package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -1
  386. package/dist/onboard-remote-BeDZ_gbH.js +1 -1
  387. package/dist/onboard-remote-KTUx-3G1.js +1 -1
  388. package/dist/onboard-search-f2tJD4hg.js +1 -1
  389. package/dist/onboard-search-fslKKhyg.js +1 -1
  390. package/dist/onboard-skills-BoS_oVdm.js +1 -1
  391. package/dist/onboard-skills-C4omGWoD.js +1 -1
  392. package/dist/onboarding-B8icigkk.js +1 -1
  393. package/dist/onboarding-BJRqNsZ8.js +1 -1
  394. package/dist/onboarding.finalize-D0qISqn-.js +1 -1
  395. package/dist/onboarding.finalize-Ds9NwPBL.js +1 -1
  396. package/dist/onboarding.gateway-config-F8n_QFUR.js +1 -1
  397. package/dist/onboarding.gateway-config-eno73eHw.js +1 -1
  398. package/dist/onboarding.secret-input-B6fzeucQ.js +1 -1
  399. package/dist/onboarding.secret-input-CBuD3c32.js +1 -1
  400. package/dist/openai-codex-model-default-Df2T3foI.js +1 -1
  401. package/dist/openai-codex-model-default-DtIeKJm0.js +1 -1
  402. package/dist/openai-model-default-DIE55yBt.js +1 -1
  403. package/dist/openai-model-default-sqvWk4kB.js +1 -1
  404. package/dist/openclaw-exec-env-BWbOu_YC.js +1 -1
  405. package/dist/openclaw-root-CnsBf6ZU.js +1 -1
  406. package/dist/openclaw-root-D_0Q6--h.js +1 -1
  407. package/dist/outbound-B88MLJN3.js +1 -1
  408. package/dist/outbound-C-4qToKv.js +1 -1
  409. package/dist/outbound-CSk4oF0g.js +1 -1
  410. package/dist/outbound-DKMI_4xm.js +1 -1
  411. package/dist/outbound-attachment-BOax42-M.js +1 -1
  412. package/dist/outbound-attachment-DBNxdLYh.js +1 -1
  413. package/dist/outbound-attachment-DVjJQ3V6.js +1 -1
  414. package/dist/outbound-attachment-aZWcoZ-N.js +1 -1
  415. package/dist/pairing-cli-Cby6Ww8F.js +1 -1
  416. package/dist/pairing-cli-DiJb_a0V.js +1 -1
  417. package/dist/pairing-labels-BP1h0iHy.js +1 -1
  418. package/dist/pairing-labels-ryOnuOFA.js +1 -1
  419. package/dist/pairing-store-Bv4KSELv.js +1 -1
  420. package/dist/pairing-store-CjTPxq0X.js +1 -1
  421. package/dist/pairing-token-CKX1ds78.js +1 -1
  422. package/dist/pairing-token-CX0SUJsB.js +1 -1
  423. package/dist/parse-duration-XTjMKl8s.js +1 -1
  424. package/dist/parse-finite-number-DqzUM-_s.js +1 -1
  425. package/dist/parse-finite-number-dBmDLLKL.js +1 -1
  426. package/dist/parse-log-line-CsYLg7Qu.js +1 -1
  427. package/dist/parse-log-line-NV-cipB_.js +1 -1
  428. package/dist/parse-port-Bv1Y9Wk5.js +1 -1
  429. package/dist/parse-port-JVwkxcZ8.js +1 -1
  430. package/dist/parse-timeout-DWSGfCkQ.js +1 -1
  431. package/dist/parse-timeout-Dx4QnVzo.js +1 -1
  432. package/dist/path-alias-guards-kY_ZbWs-.js +1 -1
  433. package/dist/path-alias-guards-mvyLCPlN.js +1 -1
  434. package/dist/path-env-BPd1Yd-i.js +1 -1
  435. package/dist/path-env-emdAQejM.js +1 -1
  436. package/dist/path-safety-BukYK8Kd.js +1 -1
  437. package/dist/path-safety-DaaMJFdt.js +1 -1
  438. package/dist/paths-B4IRk3wi.js +1 -1
  439. package/dist/paths-BfjJY2VL.js +1 -1
  440. package/dist/paths-BjD3T_xq.js +1 -1
  441. package/dist/paths-BpQOWYiT.js +1 -1
  442. package/dist/paths-CChBdtE8.js +1 -1
  443. package/dist/paths-CrCoPIVK.js +1 -1
  444. package/dist/paths-piJASC5k.js +1 -1
  445. package/dist/paths-yLEk_25I.js +1 -1
  446. package/dist/pi-embedded-ZEWNj7P5.js +1 -1
  447. package/dist/pi-embedded-bqE4EmdD.js +1 -1
  448. package/dist/pi-model-discovery-6myCPEJE.js +1 -1
  449. package/dist/pi-model-discovery-AiV9h8k6.js +1 -1
  450. package/dist/pi-model-discovery-BzqdozHB.js +1 -1
  451. package/dist/pi-model-discovery-C8YBu6D4.js +1 -1
  452. package/dist/pi-tools.before-tool-call.runtime-CPAJMO7J.js +1 -1
  453. package/dist/pi-tools.before-tool-call.runtime-CYmLHod0.js +1 -1
  454. package/dist/pi-tools.before-tool-call.runtime-CfVqI0Ng.js +1 -1
  455. package/dist/pi-tools.before-tool-call.runtime-D9FlPJ_v.js +1 -1
  456. package/dist/pi-tools.policy-CeSKHaKa.js +1 -1
  457. package/dist/plugin-auto-enable-Cp7L8ko8.js +1 -1
  458. package/dist/plugin-auto-enable-DCOxqfDQ.js +1 -1
  459. package/dist/plugin-install-plan-BobX0y9S.js +1 -1
  460. package/dist/plugin-install-plan-NvDGp0d8.js +1 -1
  461. package/dist/plugin-registry-Fg000e4I.js +1 -1
  462. package/dist/plugin-registry-fm5tDUbE.js +1 -1
  463. package/dist/plugin-sdk/account-id.cjs +1 -1
  464. package/dist/plugin-sdk/account-id.js +1 -1
  465. package/dist/plugin-sdk/acpx.cjs +1 -1
  466. package/dist/plugin-sdk/acpx.js +1 -1
  467. package/dist/plugin-sdk/active-listener-BFeaYGID.js +1 -1
  468. package/dist/plugin-sdk/active-listener-BszCM2Au.cjs +1 -1
  469. package/dist/plugin-sdk/active-listener-CIcleJgU.cjs +1 -1
  470. package/dist/plugin-sdk/active-listener-Cqgd7xVh.cjs +1 -1
  471. package/dist/plugin-sdk/active-listener-D578zEtk.cjs +1 -1
  472. package/dist/plugin-sdk/active-listener-D6gGPLq-.js +1 -1
  473. package/dist/plugin-sdk/active-listener-DKSZRn4x.cjs +1 -1
  474. package/dist/plugin-sdk/active-listener-DNO10F1L.js +1 -1
  475. package/dist/plugin-sdk/active-listener-DQq07Aar.js +1 -1
  476. package/dist/plugin-sdk/active-listener-Dle_kYqb.js +1 -1
  477. package/dist/plugin-sdk/active-listener-DmJcHkMC.js +1 -1
  478. package/dist/plugin-sdk/active-listener-UmFpcYFY.cjs +1 -1
  479. package/dist/plugin-sdk/api-key-rotation-39TRXDEA.cjs +1 -1
  480. package/dist/plugin-sdk/api-key-rotation-7qlqJ_ou.js +1 -1
  481. package/dist/plugin-sdk/api-key-rotation-BY7fLi9z.js +1 -1
  482. package/dist/plugin-sdk/api-key-rotation-CF9_CKS-.cjs +1 -1
  483. package/dist/plugin-sdk/api-key-rotation-CWylhFOt.cjs +1 -1
  484. package/dist/plugin-sdk/api-key-rotation-ClZmonv2.js +1 -1
  485. package/dist/plugin-sdk/api-key-rotation-CmesQWXP.cjs +1 -1
  486. package/dist/plugin-sdk/api-key-rotation-Cs6II2__.js +1 -1
  487. package/dist/plugin-sdk/api-key-rotation-CxaiMcI1.js +1 -1
  488. package/dist/plugin-sdk/api-key-rotation-D5cfmg7E.cjs +1 -1
  489. package/dist/plugin-sdk/api-key-rotation-DkP7KnSm.cjs +1 -1
  490. package/dist/plugin-sdk/api-key-rotation-mDqgBFMG.js +1 -1
  491. package/dist/plugin-sdk/audio-preflight-B-HrF5Oc.js +1 -1
  492. package/dist/plugin-sdk/audio-preflight-B2MGeSoT.js +1 -1
  493. package/dist/plugin-sdk/audio-preflight-BVjiz_Qk.cjs +1 -1
  494. package/dist/plugin-sdk/audio-preflight-Behqe7F3.cjs +1 -1
  495. package/dist/plugin-sdk/audio-preflight-C0ncOCbK.cjs +1 -1
  496. package/dist/plugin-sdk/audio-preflight-C1o1n-KK.js +1 -1
  497. package/dist/plugin-sdk/audio-preflight-CzLYTZ5P.cjs +1 -1
  498. package/dist/plugin-sdk/audio-preflight-DDiBwIB9.js +1 -1
  499. package/dist/plugin-sdk/audio-preflight-DQyh-XSn.cjs +1 -1
  500. package/dist/plugin-sdk/audio-preflight-WH9WDR81.cjs +1 -1
  501. package/dist/plugin-sdk/audio-preflight-ZPLO3G1S.js +1 -1
  502. package/dist/plugin-sdk/audio-preflight-s3BAID12.js +1 -1
  503. package/dist/plugin-sdk/audio-transcription-runner-2-ZQ5Md-.cjs +1 -1
  504. package/dist/plugin-sdk/audio-transcription-runner-BO7T_SzP.cjs +1 -1
  505. package/dist/plugin-sdk/audio-transcription-runner-CRYJlAeP.js +1 -1
  506. package/dist/plugin-sdk/audio-transcription-runner-CmW24oVR.js +1 -1
  507. package/dist/plugin-sdk/audio-transcription-runner-CmYuWS0_.cjs +1 -1
  508. package/dist/plugin-sdk/audio-transcription-runner-CslXJs5c.js +1 -1
  509. package/dist/plugin-sdk/audio-transcription-runner-DE1tKTQV.cjs +1 -1
  510. package/dist/plugin-sdk/audio-transcription-runner-DZR84B28.js +1 -1
  511. package/dist/plugin-sdk/audio-transcription-runner-DoR-NOcV.cjs +1 -1
  512. package/dist/plugin-sdk/audio-transcription-runner-IE4olXkd.cjs +1 -1
  513. package/dist/plugin-sdk/audio-transcription-runner-YiDQM_Rb.js +1 -1
  514. package/dist/plugin-sdk/audio-transcription-runner-kAVM4YFR.js +1 -1
  515. package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -1
  516. package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -1
  517. package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -1
  518. package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -1
  519. package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -1
  520. package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -1
  521. package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -1
  522. package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -1
  523. package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -1
  524. package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -1
  525. package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -1
  526. package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -1
  527. package/dist/plugin-sdk/bluebubbles.cjs +1 -1
  528. package/dist/plugin-sdk/bluebubbles.js +1 -1
  529. package/dist/plugin-sdk/channel-activity-Bed876M5.js +1 -1
  530. package/dist/plugin-sdk/channel-activity-Bu8tAmGa.cjs +1 -1
  531. package/dist/plugin-sdk/channel-activity-C01Im_o1.js +1 -1
  532. package/dist/plugin-sdk/channel-activity-CIycjzUC.js +1 -1
  533. package/dist/plugin-sdk/channel-activity-Cdkn3O_i.js +1 -1
  534. package/dist/plugin-sdk/channel-activity-Cia2G3v5.js +1 -1
  535. package/dist/plugin-sdk/channel-activity-D6d2wU8H.cjs +1 -1
  536. package/dist/plugin-sdk/channel-activity-DNv7JLBx.cjs +1 -1
  537. package/dist/plugin-sdk/channel-activity-Df3DfYyZ.cjs +1 -1
  538. package/dist/plugin-sdk/channel-activity-Rut-HCfT.cjs +1 -1
  539. package/dist/plugin-sdk/channel-activity-mffNSQrX.cjs +1 -1
  540. package/dist/plugin-sdk/channel-activity-qjwFifkE.js +1 -1
  541. package/dist/plugin-sdk/channel-web-Ces_xx2T.js +1 -1
  542. package/dist/plugin-sdk/channel-web-CsmEnYD8.cjs +1 -1
  543. package/dist/plugin-sdk/channel-web-DtzNv49H.cjs +1 -1
  544. package/dist/plugin-sdk/channel-web-VEZVrMYU.js +1 -1
  545. package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -1
  546. package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -1
  547. package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -1
  548. package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -1
  549. package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -1
  550. package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -1
  551. package/dist/plugin-sdk/commands-registry-33H8WYTk.cjs +1 -1
  552. package/dist/plugin-sdk/commands-registry-BGdm1KdC.js +1 -1
  553. package/dist/plugin-sdk/commands-registry-BgV9i-bj.cjs +1 -1
  554. package/dist/plugin-sdk/commands-registry-BifdCfty.cjs +1 -1
  555. package/dist/plugin-sdk/commands-registry-CJLBIIIp.js +1 -1
  556. package/dist/plugin-sdk/commands-registry-CWK9ARbc.js +1 -1
  557. package/dist/plugin-sdk/commands-registry-CfVD1h8L.cjs +1 -1
  558. package/dist/plugin-sdk/commands-registry-CpG4pxrA.js +1 -1
  559. package/dist/plugin-sdk/commands-registry-D-AnIQWz.cjs +1 -1
  560. package/dist/plugin-sdk/commands-registry-DBI4cPqT.cjs +1 -1
  561. package/dist/plugin-sdk/commands-registry-DOBe9cWq.js +1 -1
  562. package/dist/plugin-sdk/commands-registry-DqemUyiv.js +1 -1
  563. package/dist/plugin-sdk/common-CEe87dmX.js +1 -1
  564. package/dist/plugin-sdk/common-CjMKHm2Z.cjs +1 -1
  565. package/dist/plugin-sdk/compat.cjs +1 -1
  566. package/dist/plugin-sdk/compat.js +1 -1
  567. package/dist/plugin-sdk/config-DT_csBcZ.cjs +1 -1
  568. package/dist/plugin-sdk/config-LR8GH3Ws.js +1 -1
  569. package/dist/plugin-sdk/copilot-proxy.cjs +1 -1
  570. package/dist/plugin-sdk/copilot-proxy.js +1 -1
  571. package/dist/plugin-sdk/core.cjs +1 -1
  572. package/dist/plugin-sdk/core.js +1 -1
  573. package/dist/plugin-sdk/deliver-AORlkcbD.cjs +1 -1
  574. package/dist/plugin-sdk/deliver-BiBFW5fm.cjs +1 -1
  575. package/dist/plugin-sdk/deliver-BpqEPwLO.cjs +1 -1
  576. package/dist/plugin-sdk/deliver-BvC6aUKM.js +1 -1
  577. package/dist/plugin-sdk/deliver-CT0AIuK1.cjs +1 -1
  578. package/dist/plugin-sdk/deliver-CmddcjtG.cjs +1 -1
  579. package/dist/plugin-sdk/deliver-DFz5N1Eh.js +1 -1
  580. package/dist/plugin-sdk/deliver-DcJWpoqf.cjs +1 -1
  581. package/dist/plugin-sdk/deliver-ILim6ANU.js +1 -1
  582. package/dist/plugin-sdk/deliver-QgxW9IxV.js +1 -1
  583. package/dist/plugin-sdk/deliver-cT-Q8v0h.js +1 -1
  584. package/dist/plugin-sdk/deliver-cu_NQTmb.js +1 -1
  585. package/dist/plugin-sdk/device-pair.cjs +1 -1
  586. package/dist/plugin-sdk/device-pair.js +1 -1
  587. package/dist/plugin-sdk/diagnostic-BCyE1aYH.cjs +1 -1
  588. package/dist/plugin-sdk/diagnostic-BFea3l_a.js +1 -1
  589. package/dist/plugin-sdk/diagnostic-BvR96WdC.js +1 -1
  590. package/dist/plugin-sdk/diagnostic-C0xDsk89.cjs +1 -1
  591. package/dist/plugin-sdk/diagnostic-CEPhLgsW.cjs +1 -1
  592. package/dist/plugin-sdk/diagnostic-CbLwUqTE.cjs +1 -1
  593. package/dist/plugin-sdk/diagnostic-CbfxoqI_.cjs +1 -1
  594. package/dist/plugin-sdk/diagnostic-DDwUPG1m.js +1 -1
  595. package/dist/plugin-sdk/diagnostic-DS_mKKOu.js +1 -1
  596. package/dist/plugin-sdk/diagnostic-DYpehqHU.cjs +1 -1
  597. package/dist/plugin-sdk/diagnostic-DkncnZ3G.js +1 -1
  598. package/dist/plugin-sdk/diagnostic-Dz8HPEDe.js +1 -1
  599. package/dist/plugin-sdk/diagnostics-otel.cjs +1 -1
  600. package/dist/plugin-sdk/diagnostics-otel.js +1 -1
  601. package/dist/plugin-sdk/diffs.cjs +1 -1
  602. package/dist/plugin-sdk/diffs.js +1 -1
  603. package/dist/plugin-sdk/discord.cjs +1 -1
  604. package/dist/plugin-sdk/discord.js +1 -1
  605. package/dist/plugin-sdk/dispatch-6m3206FH.js +1 -1
  606. package/dist/plugin-sdk/dispatch-BYZNaz0n.cjs +1 -1
  607. package/dist/plugin-sdk/dispatch-BahZCe-D.js +1 -1
  608. package/dist/plugin-sdk/dispatch-Bi3yeWxb.cjs +1 -1
  609. package/dist/plugin-sdk/dispatch-BjB_TqWy.cjs +1 -1
  610. package/dist/plugin-sdk/dispatch-CNR186B3.js +1 -1
  611. package/dist/plugin-sdk/dispatch-CStT30wi.cjs +1 -1
  612. package/dist/plugin-sdk/dispatch-CdZAW9dg.cjs +1 -1
  613. package/dist/plugin-sdk/dispatch-Ewg2Jgw9.js +1 -1
  614. package/dist/plugin-sdk/dispatch-HRTsdeCV.js +1 -1
  615. package/dist/plugin-sdk/feishu.cjs +1 -1
  616. package/dist/plugin-sdk/feishu.js +1 -1
  617. package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -1
  618. package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -1
  619. package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -1
  620. package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -1
  621. package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -1
  622. package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -1
  623. package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -1
  624. package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -1
  625. package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -1
  626. package/dist/plugin-sdk/fetch-BtZY623f.js +1 -1
  627. package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -1
  628. package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -1
  629. package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -1
  630. package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -1
  631. package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -1
  632. package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -1
  633. package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -1
  634. package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -1
  635. package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -1
  636. package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -1
  637. package/dist/plugin-sdk/fetch-guard-D8TdhTHU.js +1 -1
  638. package/dist/plugin-sdk/fetch-guard-DC_pFJEy.js +1 -1
  639. package/dist/plugin-sdk/fetch-guard-DDkd30BG.js +1 -1
  640. package/dist/plugin-sdk/fetch-guard-DELiFG5g.js +1 -1
  641. package/dist/plugin-sdk/fetch-guard-DIYjBRpq.cjs +1 -1
  642. package/dist/plugin-sdk/fetch-guard-DPVfELS7.js +1 -1
  643. package/dist/plugin-sdk/fetch-guard-Dpz6CnJY.cjs +1 -1
  644. package/dist/plugin-sdk/fetch-guard-DqNKwgHP.cjs +1 -1
  645. package/dist/plugin-sdk/fetch-guard-DqTxZ3G8.cjs +1 -1
  646. package/dist/plugin-sdk/fetch-guard-EoAitPe9.cjs +1 -1
  647. package/dist/plugin-sdk/fetch-guard-qfU6iTvp.js +1 -1
  648. package/dist/plugin-sdk/fetch-guard-u2Dt6P9i.cjs +1 -1
  649. package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -1
  650. package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -1
  651. package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -1
  652. package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -1
  653. package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -1
  654. package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -1
  655. package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -1
  656. package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -1
  657. package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -1
  658. package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -1
  659. package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -1
  660. package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -1
  661. package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -1
  662. package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -1
  663. package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -1
  664. package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -1
  665. package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -1
  666. package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -1
  667. package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -1
  668. package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -1
  669. package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -1
  670. package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -1
  671. package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -1
  672. package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -1
  673. package/dist/plugin-sdk/googlechat.cjs +1 -1
  674. package/dist/plugin-sdk/googlechat.js +1 -1
  675. package/dist/plugin-sdk/image-0OHO98b9.cjs +1 -1
  676. package/dist/plugin-sdk/image-B9SLKAOs.cjs +1 -1
  677. package/dist/plugin-sdk/image-BVnZq5Y4.js +1 -1
  678. package/dist/plugin-sdk/image-CKLAyhco.js +1 -1
  679. package/dist/plugin-sdk/image-DUHEJeBF.js +1 -1
  680. package/dist/plugin-sdk/image-DngxW2Nh.cjs +1 -1
  681. package/dist/plugin-sdk/image-DrPh2689.cjs +1 -1
  682. package/dist/plugin-sdk/image-ISWO0Dwt.js +1 -1
  683. package/dist/plugin-sdk/image-KfZYW6Lh.cjs +1 -1
  684. package/dist/plugin-sdk/image-YVlw68CK.js +1 -1
  685. package/dist/plugin-sdk/image-gehqJnV6.js +1 -1
  686. package/dist/plugin-sdk/image-jUYo-0eT.cjs +1 -1
  687. package/dist/plugin-sdk/imessage.cjs +1 -1
  688. package/dist/plugin-sdk/imessage.js +1 -1
  689. package/dist/plugin-sdk/index.cjs +1 -1
  690. package/dist/plugin-sdk/index.js +1 -1
  691. package/dist/plugin-sdk/ir-78toXVqC.cjs +1 -1
  692. package/dist/plugin-sdk/ir-A_TqKaXP.cjs +1 -1
  693. package/dist/plugin-sdk/ir-B0_rUT7m.js +1 -1
  694. package/dist/plugin-sdk/ir-B7agH4cQ.cjs +1 -1
  695. package/dist/plugin-sdk/ir-B9ap_YNW.cjs +1 -1
  696. package/dist/plugin-sdk/ir-BxKSHYao.cjs +1 -1
  697. package/dist/plugin-sdk/ir-BzZArF6l.js +1 -1
  698. package/dist/plugin-sdk/ir-CpkEWZD6.js +1 -1
  699. package/dist/plugin-sdk/ir-D4Dz-giw.cjs +1 -1
  700. package/dist/plugin-sdk/ir-DJ08DSkk.js +1 -1
  701. package/dist/plugin-sdk/ir-L2vhtuGx.js +1 -1
  702. package/dist/plugin-sdk/ir-ntSck5Kp.js +1 -1
  703. package/dist/plugin-sdk/irc.cjs +1 -1
  704. package/dist/plugin-sdk/irc.js +1 -1
  705. package/dist/plugin-sdk/keyed-async-queue.cjs +1 -1
  706. package/dist/plugin-sdk/keyed-async-queue.js +1 -1
  707. package/dist/plugin-sdk/line.cjs +1 -1
  708. package/dist/plugin-sdk/line.js +1 -1
  709. package/dist/plugin-sdk/llm-task.cjs +1 -1
  710. package/dist/plugin-sdk/llm-task.js +1 -1
  711. package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -1
  712. package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -1
  713. package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -1
  714. package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -1
  715. package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -1
  716. package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -1
  717. package/dist/plugin-sdk/lobster.cjs +1 -1
  718. package/dist/plugin-sdk/lobster.js +1 -1
  719. package/dist/plugin-sdk/local-roots-B0zm186S.js +1 -1
  720. package/dist/plugin-sdk/local-roots-B4Uy4kG3.cjs +1 -1
  721. package/dist/plugin-sdk/local-roots-CM1R1Ncr.cjs +1 -1
  722. package/dist/plugin-sdk/local-roots-CW78ZeZV.js +1 -1
  723. package/dist/plugin-sdk/local-roots-CnsaE7a_.js +1 -1
  724. package/dist/plugin-sdk/local-roots-D1k-fAlE.cjs +1 -1
  725. package/dist/plugin-sdk/local-roots-DQ_vfJPK.js +1 -1
  726. package/dist/plugin-sdk/local-roots-DYlB1au6.cjs +1 -1
  727. package/dist/plugin-sdk/local-roots-H4-t0qG_.js +1 -1
  728. package/dist/plugin-sdk/local-roots-SCyeUfM3.cjs +1 -1
  729. package/dist/plugin-sdk/local-roots-l4PqCmiU.js +1 -1
  730. package/dist/plugin-sdk/local-roots-xHoEq1Fq.cjs +1 -1
  731. package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -1
  732. package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -1
  733. package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -1
  734. package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -1
  735. package/dist/plugin-sdk/logger-C210xuWx.js +1 -1
  736. package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -1
  737. package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -1
  738. package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -1
  739. package/dist/plugin-sdk/logger-DwWqfo66.js +1 -1
  740. package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -1
  741. package/dist/plugin-sdk/login-BN1TsFp4.cjs +1 -1
  742. package/dist/plugin-sdk/login-BXUtcSnB.cjs +1 -1
  743. package/dist/plugin-sdk/login-BoMH2iJT.js +1 -1
  744. package/dist/plugin-sdk/login-BtT7yRJO.js +1 -1
  745. package/dist/plugin-sdk/login-COzybMRK.js +1 -1
  746. package/dist/plugin-sdk/login-Cw1jFbel.cjs +1 -1
  747. package/dist/plugin-sdk/login-DEmpr5YK.js +1 -1
  748. package/dist/plugin-sdk/login-Dln00cFs.cjs +1 -1
  749. package/dist/plugin-sdk/login-S2Fe5n5K.cjs +1 -1
  750. package/dist/plugin-sdk/login-TieaF0ts.cjs +1 -1
  751. package/dist/plugin-sdk/login-ZQK4uJLw.js +1 -1
  752. package/dist/plugin-sdk/login-fKxJv0_F.js +1 -1
  753. package/dist/plugin-sdk/login-qr-1ilmySGx.js +1 -1
  754. package/dist/plugin-sdk/login-qr-B0ZSZaNI.js +1 -1
  755. package/dist/plugin-sdk/login-qr-B2P2Ky4j.js +1 -1
  756. package/dist/plugin-sdk/login-qr-B2U87iU8.js +1 -1
  757. package/dist/plugin-sdk/login-qr-B4x_eWI_.js +1 -1
  758. package/dist/plugin-sdk/login-qr-BIaJB24t.cjs +1 -1
  759. package/dist/plugin-sdk/login-qr-BMl5Beq2.cjs +1 -1
  760. package/dist/plugin-sdk/login-qr-Bkm3QorK.cjs +1 -1
  761. package/dist/plugin-sdk/login-qr-ClL8FMAJ.cjs +1 -1
  762. package/dist/plugin-sdk/login-qr-DFVK1lg-.js +1 -1
  763. package/dist/plugin-sdk/login-qr-DhieI9fL.cjs +1 -1
  764. package/dist/plugin-sdk/login-qr-DyQT1QnE.cjs +1 -1
  765. package/dist/plugin-sdk/manager-0tvX3Z_N.cjs +1 -1
  766. package/dist/plugin-sdk/manager-8uylP7PH.cjs +1 -1
  767. package/dist/plugin-sdk/manager-B6hWglXe.js +1 -1
  768. package/dist/plugin-sdk/manager-BGoKN9ur.js +1 -1
  769. package/dist/plugin-sdk/manager-BRP1lzb6.js +1 -1
  770. package/dist/plugin-sdk/manager-BeLNhsXC.cjs +1 -1
  771. package/dist/plugin-sdk/manager-BnytMgmq.js +1 -1
  772. package/dist/plugin-sdk/manager-BoMQeM1I.cjs +1 -1
  773. package/dist/plugin-sdk/manager-CYZY9vcM.js +1 -1
  774. package/dist/plugin-sdk/manager-DCDy2V1U.cjs +1 -1
  775. package/dist/plugin-sdk/manager-DE7sDip8.cjs +1 -1
  776. package/dist/plugin-sdk/manager-PwgQZNK1.js +1 -1
  777. package/dist/plugin-sdk/matrix.cjs +1 -1
  778. package/dist/plugin-sdk/matrix.js +1 -1
  779. package/dist/plugin-sdk/mattermost.cjs +1 -1
  780. package/dist/plugin-sdk/mattermost.js +1 -1
  781. package/dist/plugin-sdk/memory-core.cjs +1 -1
  782. package/dist/plugin-sdk/memory-core.js +1 -1
  783. package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -1
  784. package/dist/plugin-sdk/minimax-portal-auth.js +1 -1
  785. package/dist/plugin-sdk/model-auth-BgS7ynQw.cjs +1 -1
  786. package/dist/plugin-sdk/model-auth-CKlA2xRB.cjs +1 -1
  787. package/dist/plugin-sdk/model-auth-CLnFIqcf.cjs +1 -1
  788. package/dist/plugin-sdk/model-auth-D7YupJDS.js +1 -1
  789. package/dist/plugin-sdk/model-auth-eNVBeC-B.js +1 -1
  790. package/dist/plugin-sdk/model-auth-fJrNIbke.cjs +1 -1
  791. package/dist/plugin-sdk/model-auth-g6eGgTwR.js +1 -1
  792. package/dist/plugin-sdk/model-auth-wcxJptQX.js +1 -1
  793. package/dist/plugin-sdk/model-selection-4ExiFkaW.js +1 -1
  794. package/dist/plugin-sdk/model-selection-CZY_x2-a.cjs +1 -1
  795. package/dist/plugin-sdk/msteams.cjs +1 -1
  796. package/dist/plugin-sdk/msteams.js +1 -1
  797. package/dist/plugin-sdk/nextcloud-talk.cjs +1 -1
  798. package/dist/plugin-sdk/nextcloud-talk.js +1 -1
  799. package/dist/plugin-sdk/nostr.cjs +1 -1
  800. package/dist/plugin-sdk/nostr.js +1 -1
  801. package/dist/plugin-sdk/outbound-2VVSR_d4.js +1 -1
  802. package/dist/plugin-sdk/outbound-B03BQa7T.cjs +1 -1
  803. package/dist/plugin-sdk/outbound-BE8CJ9c_.js +1 -1
  804. package/dist/plugin-sdk/outbound-BWtGs0dn.cjs +1 -1
  805. package/dist/plugin-sdk/outbound-BrD0UsX0.js +1 -1
  806. package/dist/plugin-sdk/outbound-Bvu4LbQx.js +1 -1
  807. package/dist/plugin-sdk/outbound-C5rNt-8z.cjs +1 -1
  808. package/dist/plugin-sdk/outbound-C6BJCoYf.cjs +1 -1
  809. package/dist/plugin-sdk/outbound-Cgc0JJtB.js +1 -1
  810. package/dist/plugin-sdk/outbound-DAHIkpiA.cjs +1 -1
  811. package/dist/plugin-sdk/outbound-DnO_udAm.cjs +1 -1
  812. package/dist/plugin-sdk/outbound-UAHsCNyW.js +1 -1
  813. package/dist/plugin-sdk/outbound-attachment-0QahtSQB.cjs +1 -1
  814. package/dist/plugin-sdk/outbound-attachment-8qvAj1MK.js +1 -1
  815. package/dist/plugin-sdk/outbound-attachment-B6SJy_CG.js +1 -1
  816. package/dist/plugin-sdk/outbound-attachment-BVdSGifg.js +1 -1
  817. package/dist/plugin-sdk/outbound-attachment-C-QqSQ79.cjs +1 -1
  818. package/dist/plugin-sdk/outbound-attachment-CYGrnygD.cjs +1 -1
  819. package/dist/plugin-sdk/outbound-attachment-CtA5eBgj.cjs +1 -1
  820. package/dist/plugin-sdk/outbound-attachment-D8Ng5uVX.cjs +1 -1
  821. package/dist/plugin-sdk/outbound-attachment-DS0S0NLK.js +1 -1
  822. package/dist/plugin-sdk/outbound-attachment-Ds2XsjQl.js +1 -1
  823. package/dist/plugin-sdk/outbound-attachment-acB4qID1.js +1 -1
  824. package/dist/plugin-sdk/outbound-attachment-x4Q2SVIA.cjs +1 -1
  825. package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -1
  826. package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -1
  827. package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -1
  828. package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -1
  829. package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -1
  830. package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -1
  831. package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -1
  832. package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -1
  833. package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -1
  834. package/dist/plugin-sdk/paths-CtrEseGU.js +1 -1
  835. package/dist/plugin-sdk/paths-D55o_j8-.js +1 -1
  836. package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -1
  837. package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -1
  838. package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -1
  839. package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -1
  840. package/dist/plugin-sdk/paths-Do0djuaj.js +1 -1
  841. package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -1
  842. package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -1
  843. package/dist/plugin-sdk/paths-piJASC5k.js +1 -1
  844. package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -1
  845. package/dist/plugin-sdk/pi-model-discovery--UcCzdQg.js +1 -1
  846. package/dist/plugin-sdk/pi-model-discovery-Bi4dKtW0.cjs +1 -1
  847. package/dist/plugin-sdk/pi-model-discovery-CCK2Ppj9.js +1 -1
  848. package/dist/plugin-sdk/pi-model-discovery-CRSZ0OFi.js +1 -1
  849. package/dist/plugin-sdk/pi-model-discovery-Cx_r4FGY.js +1 -1
  850. package/dist/plugin-sdk/pi-model-discovery-D3JQMjAa.cjs +1 -1
  851. package/dist/plugin-sdk/pi-model-discovery-DN1RHetG.cjs +1 -1
  852. package/dist/plugin-sdk/pi-model-discovery-DVFSU0-f.cjs +1 -1
  853. package/dist/plugin-sdk/pi-model-discovery-DWMAAhA-.cjs +1 -1
  854. package/dist/plugin-sdk/pi-model-discovery-DYOHzCjs.js +1 -1
  855. package/dist/plugin-sdk/pi-model-discovery-DdSVvbQ5.cjs +1 -1
  856. package/dist/plugin-sdk/pi-model-discovery-DejkxBol.js +1 -1
  857. package/dist/plugin-sdk/pi-model-discovery-SmVAFMj_.cjs +1 -1
  858. package/dist/plugin-sdk/pi-model-discovery-ma8st1Ek.js +1 -1
  859. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-B2WodYBY.cjs +1 -1
  860. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BC114tUb.js +1 -1
  861. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BF6jP1nM.js +1 -1
  862. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Beg-U7Z-.cjs +1 -1
  863. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BkEYsSLL.js +1 -1
  864. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-C21sWtkh.js +1 -1
  865. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CKkgBGIj.cjs +1 -1
  866. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CNun__L-.js +1 -1
  867. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Clulhv2X.cjs +1 -1
  868. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DvwL5in9.cjs +1 -1
  869. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-FnzjmZqP.js +1 -1
  870. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Rq5y0QJ2.cjs +1 -1
  871. package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -1
  872. package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -1
  873. package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -1
  874. package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -1
  875. package/dist/plugin-sdk/polls-PGxiE05J.js +1 -1
  876. package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -1
  877. package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -1
  878. package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -1
  879. package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -1
  880. package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -1
  881. package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -1
  882. package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -1
  883. package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -1
  884. package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -1
  885. package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -1
  886. package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -1
  887. package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -1
  888. package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -1
  889. package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -1
  890. package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -1
  891. package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -1
  892. package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -1
  893. package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -1
  894. package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -1
  895. package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -1
  896. package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -1
  897. package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -1
  898. package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -1
  899. package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -1
  900. package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -1
  901. package/dist/plugin-sdk/pw-ai-3piACPqP.cjs +1 -1
  902. package/dist/plugin-sdk/pw-ai-8dajXBkZ.js +1 -1
  903. package/dist/plugin-sdk/pw-ai-B7mrBDW5.js +1 -1
  904. package/dist/plugin-sdk/pw-ai-BLD7x-3a.js +1 -1
  905. package/dist/plugin-sdk/pw-ai-BYmANcaC.cjs +1 -1
  906. package/dist/plugin-sdk/pw-ai-C1rVW06B.cjs +1 -1
  907. package/dist/plugin-sdk/pw-ai-CCDvaBUm.cjs +1 -1
  908. package/dist/plugin-sdk/pw-ai-CVYUOcKM.js +1 -1
  909. package/dist/plugin-sdk/pw-ai-DBg5CCXp.cjs +1 -1
  910. package/dist/plugin-sdk/pw-ai-DY11CCd3.cjs +1 -1
  911. package/dist/plugin-sdk/pw-ai-Kf2RyA25.js +1 -1
  912. package/dist/plugin-sdk/pw-ai-f5yF3n3t.js +1 -1
  913. package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -1
  914. package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -1
  915. package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -1
  916. package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -1
  917. package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -1
  918. package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -1
  919. package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -1
  920. package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -1
  921. package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -1
  922. package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -1
  923. package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -1
  924. package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -1
  925. package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -1
  926. package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -1
  927. package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -1
  928. package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -1
  929. package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -1
  930. package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -1
  931. package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -1
  932. package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -1
  933. package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -1
  934. package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -1
  935. package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -1
  936. package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -1
  937. package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -1
  938. package/dist/plugin-sdk/qwen-portal-auth.js +1 -1
  939. package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -1
  940. package/dist/plugin-sdk/render-CBsnn-2A.js +1 -1
  941. package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -1
  942. package/dist/plugin-sdk/render-DGmfCIRG.js +1 -1
  943. package/dist/plugin-sdk/render-DhTJXP1U.js +1 -1
  944. package/dist/plugin-sdk/render-Djx15dPh.js +1 -1
  945. package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -1
  946. package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -1
  947. package/dist/plugin-sdk/reply-BrHB7v5V.cjs +1 -1
  948. package/dist/plugin-sdk/reply-Clex4c2R.js +1 -1
  949. package/dist/plugin-sdk/resolve-outbound-target-BHLQMMp-.cjs +1 -1
  950. package/dist/plugin-sdk/resolve-outbound-target-Cvz2WXAk.cjs +1 -1
  951. package/dist/plugin-sdk/resolve-outbound-target-DDqGniMw.js +1 -1
  952. package/dist/plugin-sdk/resolve-outbound-target-DEpmpEep.js +1 -1
  953. package/dist/plugin-sdk/send--HeMLLzj.js +1 -1
  954. package/dist/plugin-sdk/send-2IhtEEzb.js +1 -1
  955. package/dist/plugin-sdk/send-9tPLnqkc.js +1 -1
  956. package/dist/plugin-sdk/send-B-exJfkg.js +1 -1
  957. package/dist/plugin-sdk/send-B4kzPtcN.js +1 -1
  958. package/dist/plugin-sdk/send-BCSkdYN6.cjs +1 -1
  959. package/dist/plugin-sdk/send-BEmZxBcF.js +1 -1
  960. package/dist/plugin-sdk/send-BHvZIrbJ.cjs +1 -1
  961. package/dist/plugin-sdk/send-BLbCBxeF.js +1 -1
  962. package/dist/plugin-sdk/send-BOkABdQu.cjs +1 -1
  963. package/dist/plugin-sdk/send-BPNd63Qs.js +1 -1
  964. package/dist/plugin-sdk/send-BVAm6Zbr.cjs +1 -1
  965. package/dist/plugin-sdk/send-B_619b3s.js +1 -1
  966. package/dist/plugin-sdk/send-BcuylzbX.js +1 -1
  967. package/dist/plugin-sdk/send-BdFvK9Wc2.js +1 -1
  968. package/dist/plugin-sdk/send-Bh-J7XWZ.cjs +1 -1
  969. package/dist/plugin-sdk/send-BkREPc90.cjs +1 -1
  970. package/dist/plugin-sdk/send-Bp4f-KJu.cjs +1 -1
  971. package/dist/plugin-sdk/send-BtF36kYb.js +1 -1
  972. package/dist/plugin-sdk/send-C6S8tkTA.cjs +1 -1
  973. package/dist/plugin-sdk/send-CDQF_izk.js +1 -1
  974. package/dist/plugin-sdk/send-CF3qas-K.js +1 -1
  975. package/dist/plugin-sdk/send-CFKQX2Wo.js +1 -1
  976. package/dist/plugin-sdk/send-CIP1u5a-.js +1 -1
  977. package/dist/plugin-sdk/send-CIxh7PV0.cjs +1 -1
  978. package/dist/plugin-sdk/send-CJJdcDHX.js +1 -1
  979. package/dist/plugin-sdk/send-COtvydDt.cjs +1 -1
  980. package/dist/plugin-sdk/send-CPwh7tRu.js +1 -1
  981. package/dist/plugin-sdk/send-CRnIqXN9.cjs +1 -1
  982. package/dist/plugin-sdk/send-CSqipUeV.cjs +1 -1
  983. package/dist/plugin-sdk/send-Chfe8tPY.js +1 -1
  984. package/dist/plugin-sdk/send-ClMvdjfg.js +1 -1
  985. package/dist/plugin-sdk/send-CmoJSYhT.js +1 -1
  986. package/dist/plugin-sdk/send-Cs5jSTw0.cjs +1 -1
  987. package/dist/plugin-sdk/send-D-6Et_9H.js +1 -1
  988. package/dist/plugin-sdk/send-D13uFnzH.cjs +1 -1
  989. package/dist/plugin-sdk/send-D3eT0F4N.cjs +1 -1
  990. package/dist/plugin-sdk/send-DAtg_VHa.js +1 -1
  991. package/dist/plugin-sdk/send-DCF59ijQ.cjs +1 -1
  992. package/dist/plugin-sdk/send-DN2xic3w.cjs +1 -1
  993. package/dist/plugin-sdk/send-DOjSTB6D.cjs +1 -1
  994. package/dist/plugin-sdk/send-DavwL7cF.js +1 -1
  995. package/dist/plugin-sdk/send-Dbmn1rgD.cjs +1 -1
  996. package/dist/plugin-sdk/send-DhfDqcwc.cjs +1 -1
  997. package/dist/plugin-sdk/send-DsDCrJWq.js +1 -1
  998. package/dist/plugin-sdk/send-DyR5Lpl-.js +1 -1
  999. package/dist/plugin-sdk/send-DyzuwDjE.js +1 -1
  1000. package/dist/plugin-sdk/send-GtphEa1b.cjs +1 -1
  1001. package/dist/plugin-sdk/send-HZNY_u3L.cjs +1 -1
  1002. package/dist/plugin-sdk/send-IM-76QZu.js +1 -1
  1003. package/dist/plugin-sdk/send-IqcgAO8b.cjs +1 -1
  1004. package/dist/plugin-sdk/send-OQcuL9tP.js +1 -1
  1005. package/dist/plugin-sdk/send-_92aOzWU.cjs +1 -1
  1006. package/dist/plugin-sdk/send-h_kE-cAK.js +1 -1
  1007. package/dist/plugin-sdk/send-jOMdGt0L.cjs +1 -1
  1008. package/dist/plugin-sdk/send-mZ_d-t_3.cjs +1 -1
  1009. package/dist/plugin-sdk/send-puyUta4_.cjs +1 -1
  1010. package/dist/plugin-sdk/send-t5U34FhY.cjs +1 -1
  1011. package/dist/plugin-sdk/send-tvw8j-Se.cjs +1 -1
  1012. package/dist/plugin-sdk/send-z1vaCgF3.cjs +1 -1
  1013. package/dist/plugin-sdk/session--K1m5v7m.js +1 -1
  1014. package/dist/plugin-sdk/session-B1DJ45om.js +1 -1
  1015. package/dist/plugin-sdk/session-B80NWO1m.js +1 -1
  1016. package/dist/plugin-sdk/session-BKPBr445.js +1 -1
  1017. package/dist/plugin-sdk/session-BQLjsBwL.cjs +1 -1
  1018. package/dist/plugin-sdk/session-BZHltxdM.js +1 -1
  1019. package/dist/plugin-sdk/session-Bt5yI-VW.cjs +1 -1
  1020. package/dist/plugin-sdk/session-CC1GqwiM.cjs +1 -1
  1021. package/dist/plugin-sdk/session-C_yqyp3P.cjs +1 -1
  1022. package/dist/plugin-sdk/session-ClISxvtJ.js +1 -1
  1023. package/dist/plugin-sdk/session-D4nn-nXX.cjs +1 -1
  1024. package/dist/plugin-sdk/session-DOA4CJgj.cjs +1 -1
  1025. package/dist/plugin-sdk/sessions-BwTjGneU.js +1 -1
  1026. package/dist/plugin-sdk/sessions-CJbvfO6m.cjs +1 -1
  1027. package/dist/plugin-sdk/signal.cjs +1 -1
  1028. package/dist/plugin-sdk/signal.js +1 -1
  1029. package/dist/plugin-sdk/skill-commands-5WGHyr3h.cjs +1 -1
  1030. package/dist/plugin-sdk/skill-commands-BZlF3g3o.js +1 -1
  1031. package/dist/plugin-sdk/skill-commands-BmBQSmNH.js +1 -1
  1032. package/dist/plugin-sdk/skill-commands-CD4GQXTR.cjs +1 -1
  1033. package/dist/plugin-sdk/skill-commands-CGOPOT-r.js +1 -1
  1034. package/dist/plugin-sdk/skill-commands-CM9ziCQY.cjs +1 -1
  1035. package/dist/plugin-sdk/skill-commands-CVsU5rEy.js +1 -1
  1036. package/dist/plugin-sdk/skill-commands-DNPxE-kc.cjs +1 -1
  1037. package/dist/plugin-sdk/skill-commands-DcgKCVDt.js +1 -1
  1038. package/dist/plugin-sdk/skill-commands-IAwkVeOe.js +1 -1
  1039. package/dist/plugin-sdk/skill-commands-ZyLkXbR_.cjs +1 -1
  1040. package/dist/plugin-sdk/skill-commands-xJWQthd5.cjs +1 -1
  1041. package/dist/plugin-sdk/slack.cjs +1 -1
  1042. package/dist/plugin-sdk/slack.js +1 -1
  1043. package/dist/plugin-sdk/synology-chat.cjs +1 -1
  1044. package/dist/plugin-sdk/synology-chat.js +1 -1
  1045. package/dist/plugin-sdk/tables-BZUVdTR-.cjs +1 -1
  1046. package/dist/plugin-sdk/tables-Bbodvj_s.cjs +1 -1
  1047. package/dist/plugin-sdk/tables-C5b2CtNw.cjs +1 -1
  1048. package/dist/plugin-sdk/tables-C6TX2QvW.js +1 -1
  1049. package/dist/plugin-sdk/tables-Cz5osenc.js +1 -1
  1050. package/dist/plugin-sdk/tables-DBSeZ07-.cjs +1 -1
  1051. package/dist/plugin-sdk/tables-DLSXY2-Q.js +1 -1
  1052. package/dist/plugin-sdk/tables-DQad-z2Z.cjs +1 -1
  1053. package/dist/plugin-sdk/tables-DYuLwL1d.js +1 -1
  1054. package/dist/plugin-sdk/tables-D_J655yN.js +1 -1
  1055. package/dist/plugin-sdk/tables-_vqK8P0T.js +1 -1
  1056. package/dist/plugin-sdk/tables-bSgb8OzP.cjs +1 -1
  1057. package/dist/plugin-sdk/target-errors-B-mJ4s4b.cjs +1 -1
  1058. package/dist/plugin-sdk/target-errors-BAHAHc8f.js +1 -1
  1059. package/dist/plugin-sdk/target-errors-BKruhz8r.js +1 -1
  1060. package/dist/plugin-sdk/target-errors-BbQBR5da.js +1 -1
  1061. package/dist/plugin-sdk/target-errors-BjgLCOTm.cjs +1 -1
  1062. package/dist/plugin-sdk/target-errors-CQbFkOae.js +1 -1
  1063. package/dist/plugin-sdk/target-errors-C_HYvghh.cjs +1 -1
  1064. package/dist/plugin-sdk/target-errors-CaaKhU6m.js +1 -1
  1065. package/dist/plugin-sdk/target-errors-QWTCk98R.cjs +1 -1
  1066. package/dist/plugin-sdk/target-errors-oh0u5K2w.cjs +1 -1
  1067. package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -1
  1068. package/dist/plugin-sdk/targets-BSkiizml.js +1 -1
  1069. package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -1
  1070. package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -1
  1071. package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -1
  1072. package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -1
  1073. package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -1
  1074. package/dist/plugin-sdk/targets-CrkJkzil.js +1 -1
  1075. package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -1
  1076. package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -1
  1077. package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -1
  1078. package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -1
  1079. package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -1
  1080. package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -1
  1081. package/dist/plugin-sdk/telegram.cjs +1 -1
  1082. package/dist/plugin-sdk/telegram.js +1 -1
  1083. package/dist/plugin-sdk/test-utils.cjs +1 -1
  1084. package/dist/plugin-sdk/test-utils.js +1 -1
  1085. package/dist/plugin-sdk/tlon.cjs +1 -1
  1086. package/dist/plugin-sdk/tlon.js +1 -1
  1087. package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -1
  1088. package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -1
  1089. package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -1
  1090. package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -1
  1091. package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -1
  1092. package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -1
  1093. package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -1
  1094. package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -1
  1095. package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -1
  1096. package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -1
  1097. package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -1
  1098. package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -1
  1099. package/dist/plugin-sdk/twitch.cjs +1 -1
  1100. package/dist/plugin-sdk/twitch.js +1 -1
  1101. package/dist/plugin-sdk/utils-BJtJR72k.js +1 -1
  1102. package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -1
  1103. package/dist/plugin-sdk/voice-call.cjs +1 -1
  1104. package/dist/plugin-sdk/voice-call.js +1 -1
  1105. package/dist/plugin-sdk/web-B4A8zBP9.cjs +1 -1
  1106. package/dist/plugin-sdk/web-BKKx3jqf.cjs +1 -1
  1107. package/dist/plugin-sdk/web-BTBgpaEi.js +1 -1
  1108. package/dist/plugin-sdk/web-BfjArU7g.js +1 -1
  1109. package/dist/plugin-sdk/web-C7KhecaH.cjs +1 -1
  1110. package/dist/plugin-sdk/web-CFMrBQv7.js +1 -1
  1111. package/dist/plugin-sdk/web-CS0AvKLx.js +1 -1
  1112. package/dist/plugin-sdk/web-EfgEjg15.cjs +1 -1
  1113. package/dist/plugin-sdk/weixin.cjs +1 -1
  1114. package/dist/plugin-sdk/weixin.js +1 -1
  1115. package/dist/plugin-sdk/whatsapp-actions-6N2LIWVD.js +1 -1
  1116. package/dist/plugin-sdk/whatsapp-actions-BGEghean.js +1 -1
  1117. package/dist/plugin-sdk/whatsapp-actions-BP_fSzB9.cjs +1 -1
  1118. package/dist/plugin-sdk/whatsapp-actions-BSx6-Onq.cjs +1 -1
  1119. package/dist/plugin-sdk/whatsapp-actions-BZAMGDn8.cjs +1 -1
  1120. package/dist/plugin-sdk/whatsapp-actions-BvZMduqd.js +1 -1
  1121. package/dist/plugin-sdk/whatsapp-actions-CDUbwNdp.cjs +1 -1
  1122. package/dist/plugin-sdk/whatsapp-actions-DNVIKnqz.cjs +1 -1
  1123. package/dist/plugin-sdk/whatsapp-actions-DTVbVkOo.js +1 -1
  1124. package/dist/plugin-sdk/whatsapp-actions-DjMYqpSS.js +1 -1
  1125. package/dist/plugin-sdk/whatsapp-actions-P1DVqKhD.cjs +1 -1
  1126. package/dist/plugin-sdk/whatsapp-actions-shElOKKX.js +1 -1
  1127. package/dist/plugin-sdk/whatsapp.cjs +1 -1
  1128. package/dist/plugin-sdk/whatsapp.js +1 -1
  1129. package/dist/plugin-sdk/zalo.cjs +1 -1
  1130. package/dist/plugin-sdk/zalo.js +1 -1
  1131. package/dist/plugin-sdk/zalouser.cjs +1 -1
  1132. package/dist/plugin-sdk/zalouser.js +1 -1
  1133. package/dist/plugins-CYLrFT4h.js +1 -1
  1134. package/dist/plugins-DNlgeTTc.js +1 -1
  1135. package/dist/plugins-cli-BiV4FaGs.js +1 -1
  1136. package/dist/plugins-cli-C0PLRxT0.js +1 -1
  1137. package/dist/polls-BIVz6a4F.js +1 -1
  1138. package/dist/polls-Bh5wc9-6.js +1 -1
  1139. package/dist/polls-C_XSFz3d.js +1 -1
  1140. package/dist/polls-DKJOFSzJ.js +1 -1
  1141. package/dist/ports-Bjc9q__g.js +1 -1
  1142. package/dist/ports-Di2_MOUb.js +1 -1
  1143. package/dist/probe-auth-9RrZOStc.js +1 -1
  1144. package/dist/probe-auth-Cg6SAov9.js +1 -1
  1145. package/dist/profile-utils-CWmra1aY.js +1 -1
  1146. package/dist/program-CI--7377.js +1 -1
  1147. package/dist/program-context-CH9p6anW.js +1 -1
  1148. package/dist/program-context-Cu8fVR-O.js +1 -1
  1149. package/dist/progress-LNttnI-y.js +1 -1
  1150. package/dist/progress-d1m2sqR1.js +1 -1
  1151. package/dist/prompt-select-styled-CbTtKeIC.js +1 -1
  1152. package/dist/prompt-select-styled-sYEl0gMg.js +1 -1
  1153. package/dist/prompt-style-BThRSQJR.js +1 -1
  1154. package/dist/prompt-style-CXKekIBY.js +1 -1
  1155. package/dist/prompts-CMzglboN.js +1 -1
  1156. package/dist/prompts-wv-lfVrJ.js +1 -1
  1157. package/dist/provider-auth-helpers-C3OaF218.js +1 -1
  1158. package/dist/provider-auth-helpers-CZyb7LUg.js +1 -1
  1159. package/dist/provider-env-vars-D8p6Ohpj.js +1 -1
  1160. package/dist/provider-env-vars-Dt0Q29Su.js +1 -1
  1161. package/dist/proxy-env-BNhTHkd_.js +1 -1
  1162. package/dist/proxy-env-DcmW_urA.js +1 -1
  1163. package/dist/proxy-env-DrC3TIGh.js +1 -1
  1164. package/dist/proxy-env-FJr5nlvs.js +1 -1
  1165. package/dist/proxy-fetch-BADsUK4d.js +1 -1
  1166. package/dist/proxy-fetch-BZ9O8Dvj.js +1 -1
  1167. package/dist/proxy-fetch-DnjU1fEB.js +1 -1
  1168. package/dist/proxy-fetch-gWETR3cl.js +1 -1
  1169. package/dist/push-apns-kySzOiJr.js +1 -1
  1170. package/dist/push-apns-tM6G9LLm.js +1 -1
  1171. package/dist/pw-ai-B7YMA_4Q.js +1 -1
  1172. package/dist/pw-ai-C7peCONw.js +1 -1
  1173. package/dist/pw-ai-CojtT9WR.js +1 -1
  1174. package/dist/pw-ai-DWJWFzTA.js +1 -1
  1175. package/dist/qmd-manager-C_e04BNg.js +1 -1
  1176. package/dist/qmd-manager-DSQ_mDCl.js +1 -1
  1177. package/dist/qmd-manager-DcBYbt_V.js +1 -1
  1178. package/dist/qmd-manager-NLI0R6kp.js +1 -1
  1179. package/dist/qr-cli-DUR7oW0_.js +1 -1
  1180. package/dist/qr-cli-kb3ygh9I.js +1 -1
  1181. package/dist/query-expansion-0OxEb1Io.js +1 -1
  1182. package/dist/query-expansion-BUUx_oWg.js +1 -1
  1183. package/dist/query-expansion-r_iXkNzt.js +1 -1
  1184. package/dist/reaction-level-DVPHL14p.js +1 -1
  1185. package/dist/reaction-message-id-BEEe7X3D.js +1 -1
  1186. package/dist/read-only-account-inspect-DEnPVHTo.js +1 -1
  1187. package/dist/redact-3_CiXMY6.js +1 -1
  1188. package/dist/redact-CnRxK70G.js +1 -1
  1189. package/dist/register.agent-BwmE1VD-.js +1 -1
  1190. package/dist/register.agent-D1hQi_68.js +1 -1
  1191. package/dist/register.backup-8s5jgnHQ.js +1 -1
  1192. package/dist/register.backup-CAiwLaIW.js +1 -1
  1193. package/dist/register.configure-BsTw4XfK.js +1 -1
  1194. package/dist/register.configure-DxR84Ot6.js +1 -1
  1195. package/dist/register.maintenance-3nzWAo_a.js +1 -1
  1196. package/dist/register.maintenance-DxKGQ9Jo.js +1 -1
  1197. package/dist/register.message-Bk1pHVSK.js +1 -1
  1198. package/dist/register.message-PcFtBR0-.js +1 -1
  1199. package/dist/register.onboard-AWxbhU7j.js +1 -1
  1200. package/dist/register.onboard-BTOZN8ro.js +1 -1
  1201. package/dist/register.setup-B-e1qIbc.js +1 -1
  1202. package/dist/register.setup-CweJJdt8.js +1 -1
  1203. package/dist/register.status-health-sessions-B1R_nl6P.js +1 -1
  1204. package/dist/register.status-health-sessions-CWNLXpAn.js +1 -1
  1205. package/dist/register.subclis-C0VQ_HfZ.js +1 -1
  1206. package/dist/registry-BptzrW8D.js +1 -1
  1207. package/dist/registry-hFAtCSWG.js +1 -1
  1208. package/dist/render-BXEUPIHe.js +1 -1
  1209. package/dist/render-CBsnn-2A.js +1 -1
  1210. package/dist/render-D8OWO2hT.js +1 -1
  1211. package/dist/render-DrrPmnMI.js +1 -1
  1212. package/dist/reply-r9KtzgpM.js +1 -1
  1213. package/dist/restart-CTfuVGfA.js +1 -1
  1214. package/dist/rpc-BQXfCyCw.js +1 -1
  1215. package/dist/rpc-CcrILVsV.js +1 -1
  1216. package/dist/run-main-CuQQyoU3.js +1 -1
  1217. package/dist/runtime-BlsMYeaw.js +1 -1
  1218. package/dist/runtime-DLxfCs7F.js +1 -1
  1219. package/dist/runtime-guard-DFYBaYZS.js +1 -1
  1220. package/dist/runtime-guard-DX2Ie4ri.js +1 -1
  1221. package/dist/runtime-status-CqFBmdRd.js +1 -1
  1222. package/dist/runtime-status-DszMjvJK.js +1 -1
  1223. package/dist/runtime-web-tools-BWv0X5qp.js +1 -1
  1224. package/dist/runtime-web-tools-CCIXUISf.js +1 -1
  1225. package/dist/sandbox-cli-CxluKLFV.js +1 -1
  1226. package/dist/sandbox-cli-xCX6FV4Z.js +1 -1
  1227. package/dist/scan-paths-C13EseXp.js +1 -1
  1228. package/dist/scan-paths-CWtvWW40.js +1 -1
  1229. package/dist/search-manager-KMRzwyPH.js +1 -1
  1230. package/dist/secret-file-C7JffiM_.js +1 -1
  1231. package/dist/secret-file-D60EFEOe.js +1 -1
  1232. package/dist/secret-file-DuWm26jS.js +1 -1
  1233. package/dist/secrets-cli-Be6OBr6Q.js +1 -1
  1234. package/dist/secrets-cli-DmDZiX17.js +1 -1
  1235. package/dist/secure-random-D7JQgiK-.js +1 -1
  1236. package/dist/security-cli-CllLwpQ-.js +1 -1
  1237. package/dist/security-cli-DcA9keUK.js +1 -1
  1238. package/dist/send-8rJCpsDu.js +1 -1
  1239. package/dist/send-BJjoLBo3.js +1 -1
  1240. package/dist/send-BOxuQt9L.js +1 -1
  1241. package/dist/send-BPfl_1It.js +1 -1
  1242. package/dist/send-BdS6jUBa.js +1 -1
  1243. package/dist/send-BeZJ1zbp.js +1 -1
  1244. package/dist/send-BkZ8dWQV2.js +1 -1
  1245. package/dist/send-CDAeI9xB2.js +1 -1
  1246. package/dist/send-CgeRzkWS.js +1 -1
  1247. package/dist/send-CiTZ4p2t.js +1 -1
  1248. package/dist/send-D0y-r_hg2.js +1 -1
  1249. package/dist/send-DIw8ExHc.js +1 -1
  1250. package/dist/send-DRm6AFp-.js +1 -1
  1251. package/dist/send-DS5Quwb7.js +1 -1
  1252. package/dist/send-DVmPgxm7.js +1 -1
  1253. package/dist/send-Ds5sy22D.js +1 -1
  1254. package/dist/send-DvGzdoKK.js +1 -1
  1255. package/dist/send-OVet2uKx.js +1 -1
  1256. package/dist/send-YPQFx-fV.js +1 -1
  1257. package/dist/send-e2ppdA_R.js +1 -1
  1258. package/dist/server-Dzqb5Tau.js +1 -1
  1259. package/dist/server-node-events-B2irOUJ_.js +1 -1
  1260. package/dist/server-node-events-DSr6P0VG.js +1 -1
  1261. package/dist/server-w7sUBJEA.js +1 -1
  1262. package/dist/service-BtB9epJk.js +1 -1
  1263. package/dist/service-DZ9EbS15.js +1 -1
  1264. package/dist/session-BYYOduc1.js +1 -1
  1265. package/dist/session-B_qrXLsR.js +1 -1
  1266. package/dist/session-Be0RV2V1.js +1 -1
  1267. package/dist/session-bk3gFwO4.js +1 -1
  1268. package/dist/session-cost-usage-BgqKixv0.js +1 -1
  1269. package/dist/session-cost-usage-CHtVgnE8.js +1 -1
  1270. package/dist/session-key-C7F_iqYg.js +1 -1
  1271. package/dist/session-key-D3P0tf5P.js +1 -1
  1272. package/dist/session-utils-CrR0wD3W.js +1 -1
  1273. package/dist/sessions-BvTGb3rW.js +1 -1
  1274. package/dist/shared-9x5sqYRb.js +1 -1
  1275. package/dist/shared-BKWhOp64.js +1 -1
  1276. package/dist/shared-BV-hfJ3h.js +1 -1
  1277. package/dist/skill-commands-C59b8Yso.js +1 -1
  1278. package/dist/skill-commands-CqIEajsA.js +1 -1
  1279. package/dist/skill-commands-F5NFH0NR.js +1 -1
  1280. package/dist/skill-commands-O39uSj-k.js +1 -1
  1281. package/dist/skill-scanner-CUUF3Fvo.js +1 -1
  1282. package/dist/skill-scanner-CkxXNioD.js +1 -1
  1283. package/dist/skills-CKTicUKS.js +1 -1
  1284. package/dist/skills-DHbOKEGc.js +1 -1
  1285. package/dist/skills-cli-CZD1Ng18.js +1 -1
  1286. package/dist/skills-cli-nj0w4fe0.js +1 -1
  1287. package/dist/skills-install-D0I6c17J.js +1 -1
  1288. package/dist/skills-install-XHpqMBWl.js +1 -1
  1289. package/dist/skills-status-BWIugRCz.js +1 -1
  1290. package/dist/skills-status-DswSl5aD.js +1 -1
  1291. package/dist/sqlite-CILF3z9U.js +1 -1
  1292. package/dist/stagger-DmFYysrJ.js +1 -1
  1293. package/dist/stagger-DxzgG2jd.js +1 -1
  1294. package/dist/status-DKB9gdSp.js +1 -1
  1295. package/dist/status-DgRrUxyg.js +1 -1
  1296. package/dist/status-YZD9V9xi.js +1 -1
  1297. package/dist/status-isxcm8Xz.js +1 -1
  1298. package/dist/status.update-B_8Gumuc.js +1 -1
  1299. package/dist/status.update-Cf2e-l9d.js +1 -1
  1300. package/dist/string-normalization-BrUPaXaM.js +1 -1
  1301. package/dist/string-normalization-DJT5zuUF.js +1 -1
  1302. package/dist/subsystem-BLbY429l.js +1 -1
  1303. package/dist/subsystem-Bc2XrjUz.js +1 -1
  1304. package/dist/subsystem-C5XF2Fy5.js +1 -1
  1305. package/dist/system-cli-CRs3TOTw.js +1 -1
  1306. package/dist/system-cli-GyoLZQpj.js +1 -1
  1307. package/dist/system-run-command-DCzdgYyb.js +1 -1
  1308. package/dist/system-run-command-FCk9hSMO.js +1 -1
  1309. package/dist/systemd-D7odsu4K.js +1 -1
  1310. package/dist/systemd-DbevZh65.js +1 -1
  1311. package/dist/systemd-hints-lXpMy-kY.js +1 -1
  1312. package/dist/systemd-hints-x1lJAOxS.js +1 -1
  1313. package/dist/systemd-linger-C2MJD6KG.js +1 -1
  1314. package/dist/systemd-linger-cWKbFNpu.js +1 -1
  1315. package/dist/table-CR7TFMew.js +1 -1
  1316. package/dist/table-CY440fI1.js +1 -1
  1317. package/dist/tables-3Rjt6nwZ.js +1 -1
  1318. package/dist/tables-B9wFKQvT.js +1 -1
  1319. package/dist/tables-D1pcaye7.js +1 -1
  1320. package/dist/tables-h7y1Jhf4.js +1 -1
  1321. package/dist/target-errors-CUQcIty1.js +1 -1
  1322. package/dist/target-errors-D55sWZ4E.js +1 -1
  1323. package/dist/target-errors-DH0aw-m5.js +1 -1
  1324. package/dist/target-errors-LuLROpta.js +1 -1
  1325. package/dist/targets-4EaxWBal.js +1 -1
  1326. package/dist/targets-BJTo7bqu.js +1 -1
  1327. package/dist/targets-BYVMrXDf.js +1 -1
  1328. package/dist/targets-Bq6rS6-Z.js +1 -1
  1329. package/dist/targets-CL5fYQi7.js +1 -1
  1330. package/dist/targets-fozeWOOg.js +1 -1
  1331. package/dist/targets-m_41k_Mv.js +1 -1
  1332. package/dist/telegram/audit.js +1 -1
  1333. package/dist/text-format-CvrvBBre.js +1 -1
  1334. package/dist/text-format-DEWK6oCT.js +1 -1
  1335. package/dist/token-DnTmiyJu.js +1 -1
  1336. package/dist/tokens-B2fq-rL6.js +1 -1
  1337. package/dist/tokens-CL2fSjGl.js +1 -1
  1338. package/dist/tokens-DRM8vzJx.js +1 -1
  1339. package/dist/tokens-XGbQGn67.js +1 -1
  1340. package/dist/tool-display-DJDtttQg.js +1 -1
  1341. package/dist/tool-display-DjuSUUbH.js +1 -1
  1342. package/dist/tui-CqEb9hrT.js +1 -1
  1343. package/dist/tui-DdZ8SpNW.js +1 -1
  1344. package/dist/tui-cli-Bj0okLCf.js +1 -1
  1345. package/dist/tui-cli-CYvBshyB.js +1 -1
  1346. package/dist/types.secrets-C-5U96pc.js +1 -1
  1347. package/dist/types.secrets-D4tbc3Wq.js +1 -1
  1348. package/dist/update-BGrxUIyz.js +1 -1
  1349. package/dist/update-CwTy5DPl.js +1 -1
  1350. package/dist/update-cli-lciKU8_L.js +1 -1
  1351. package/dist/update-cli-xb0jHjE8.js +1 -1
  1352. package/dist/update-runner-8Hto6X-M.js +1 -1
  1353. package/dist/update-runner-LVJcy569.js +1 -1
  1354. package/dist/usage-format-BWD8FJFL.js +1 -1
  1355. package/dist/usage-format-yPwal8Iz.js +1 -1
  1356. package/dist/utils-CGdo13HV.js +1 -1
  1357. package/dist/utils-D3t-vPka.js +1 -1
  1358. package/dist/utils-R-mFyVJi.js +1 -1
  1359. package/dist/utils-UGOV_184.js +1 -1
  1360. package/dist/version-q3SkUw2K.js +1 -1
  1361. package/dist/warning-filter.js +1 -1
  1362. package/dist/web-Bfz_qlYe.js +1 -1
  1363. package/dist/web-ClbIohhf.js +1 -1
  1364. package/dist/webhooks-cli-DKfKihmJ.js +1 -1
  1365. package/dist/webhooks-cli-LU2ADRQp.js +1 -1
  1366. package/dist/whatsapp-actions-1TJ8dlv0.js +1 -1
  1367. package/dist/whatsapp-actions-CuDiuPGa.js +1 -1
  1368. package/dist/whatsapp-actions-DkLDOIk1.js +1 -1
  1369. package/dist/whatsapp-actions-EnduXWui.js +1 -1
  1370. package/dist/widearea-dns-BDx7vkV2.js +1 -1
  1371. package/dist/widearea-dns-BFjqKXu_.js +1 -1
  1372. package/dist/windows-spawn-7oINn5ao.js +1 -1
  1373. package/dist/windows-spawn-AB7ItGAE.js +1 -1
  1374. package/dist/with-timeout-WveKxvFV.js +1 -1
  1375. package/dist/with-timeout-c1CzdShT.js +1 -1
  1376. package/dist/workspace-B0ZQeHXg.js +1 -1
  1377. package/dist/workspace-C45T1Cxg.js +1 -1
  1378. package/dist/workspace-dirs-A8Vib9_B.js +1 -1
  1379. package/dist/workspace-dirs-BhF1Dzxt.js +1 -1
  1380. package/dist/workspace-xNEpaJvu.js +1 -1
  1381. package/dist/wsl-DHxB2Ew_.js +1 -1
  1382. package/dist/wsl-Ok7GaSJ6.js +1 -1
  1383. package/extensions/memory-core/index.js +1 -0
  1384. package/extensions/memory-core/package.json +1 -1
  1385. package/extensions/openclaw-telemetry-galileo-embedded/index.js +4 -0
  1386. package/extensions/openclaw-telemetry-galileo-embedded/package.json +2 -2
  1387. package/extensions/openclaw-telemetry-galileo-embedded/src/service.js +13 -0
  1388. package/extensions/openclaw-weixin/index.js +1 -0
  1389. package/extensions/openclaw-weixin/package.json +3 -3
  1390. package/extensions/openclaw-weixin/src/api/api.js +1 -0
  1391. package/extensions/openclaw-weixin/src/api/config-cache.js +1 -0
  1392. package/extensions/openclaw-weixin/src/api/session-guard.js +1 -0
  1393. package/extensions/openclaw-weixin/src/api/types.js +1 -0
  1394. package/extensions/openclaw-weixin/src/auth/accounts.js +1 -0
  1395. package/extensions/openclaw-weixin/src/auth/login-qr.js +11 -0
  1396. package/extensions/openclaw-weixin/src/auth/pairing.js +1 -0
  1397. package/extensions/openclaw-weixin/src/cdn/aes-ecb.js +1 -0
  1398. package/extensions/openclaw-weixin/src/cdn/cdn-upload.js +1 -0
  1399. package/extensions/openclaw-weixin/src/cdn/cdn-url.js +1 -0
  1400. package/extensions/openclaw-weixin/src/cdn/pic-decrypt.js +1 -0
  1401. package/extensions/openclaw-weixin/src/cdn/upload.js +1 -0
  1402. package/extensions/openclaw-weixin/src/channel.js +6 -0
  1403. package/extensions/openclaw-weixin/src/config/config-schema.js +1 -0
  1404. package/extensions/openclaw-weixin/src/log-upload.js +4 -0
  1405. package/extensions/openclaw-weixin/src/media/media-download.js +1 -0
  1406. package/extensions/openclaw-weixin/src/media/mime.js +1 -0
  1407. package/extensions/openclaw-weixin/src/media/silk-transcode.js +1 -0
  1408. package/extensions/openclaw-weixin/src/messaging/debug-mode.js +1 -0
  1409. package/extensions/openclaw-weixin/src/messaging/error-notice.js +1 -0
  1410. package/extensions/openclaw-weixin/src/messaging/inbound.js +2 -0
  1411. package/extensions/openclaw-weixin/src/messaging/process-message.js +3 -0
  1412. package/extensions/openclaw-weixin/src/messaging/send-media.js +1 -0
  1413. package/extensions/openclaw-weixin/src/messaging/send.js +1 -0
  1414. package/extensions/openclaw-weixin/src/messaging/slash-commands.js +2 -0
  1415. package/extensions/openclaw-weixin/src/monitor/monitor.js +1 -0
  1416. package/extensions/openclaw-weixin/src/runtime.js +1 -0
  1417. package/extensions/openclaw-weixin/src/storage/state-dir.js +1 -0
  1418. package/extensions/openclaw-weixin/src/storage/sync-buf.js +1 -0
  1419. package/extensions/openclaw-weixin/src/util/logger.js +2 -0
  1420. package/extensions/openclaw-weixin/src/util/random.js +1 -0
  1421. package/extensions/openclaw-weixin/src/util/redact.js +1 -0
  1422. package/extensions/qbagent-mcp-server-x5uselocal-node/index.js +1 -0
  1423. package/extensions/qbagent-mcp-server-x5uselocal-node/package.json +1 -1
  1424. package/extensions/qbagent-mcp-server-x5uselocal-node/src/browser-use-tool.js +1 -0
  1425. package/extensions/qbagent-mcp-server-x5uselocal-node/src/server.js +1 -0
  1426. package/extensions/qbagent-mcp-server-x5uselocal-node/src/tools.js +1 -0
  1427. package/extensions/qbagent-mcp-server-x5uselocal-node/src/websocket-manager.js +1 -0
  1428. package/package.json +1 -1
  1429. package/extensions/memory-core/index.ts +0 -38
  1430. package/extensions/openclaw-telemetry-galileo-embedded/index.ts +0 -663
  1431. package/extensions/openclaw-telemetry-galileo-embedded/src/service.ts +0 -1590
  1432. package/extensions/openclaw-weixin/index.ts +0 -26
  1433. package/extensions/openclaw-weixin/src/api/api.ts +0 -238
  1434. package/extensions/openclaw-weixin/src/api/config-cache.ts +0 -79
  1435. package/extensions/openclaw-weixin/src/api/session-guard.ts +0 -58
  1436. package/extensions/openclaw-weixin/src/api/types.ts +0 -222
  1437. package/extensions/openclaw-weixin/src/auth/accounts.ts +0 -363
  1438. package/extensions/openclaw-weixin/src/auth/login-qr.ts +0 -344
  1439. package/extensions/openclaw-weixin/src/auth/pairing.ts +0 -120
  1440. package/extensions/openclaw-weixin/src/cdn/aes-ecb.ts +0 -21
  1441. package/extensions/openclaw-weixin/src/cdn/cdn-upload.ts +0 -75
  1442. package/extensions/openclaw-weixin/src/cdn/cdn-url.ts +0 -17
  1443. package/extensions/openclaw-weixin/src/cdn/pic-decrypt.ts +0 -85
  1444. package/extensions/openclaw-weixin/src/cdn/upload.ts +0 -154
  1445. package/extensions/openclaw-weixin/src/channel.ts +0 -483
  1446. package/extensions/openclaw-weixin/src/config/config-schema.ts +0 -21
  1447. package/extensions/openclaw-weixin/src/log-upload.ts +0 -129
  1448. package/extensions/openclaw-weixin/src/media/media-download.ts +0 -138
  1449. package/extensions/openclaw-weixin/src/media/mime.ts +0 -76
  1450. package/extensions/openclaw-weixin/src/media/silk-transcode.ts +0 -74
  1451. package/extensions/openclaw-weixin/src/messaging/debug-mode.ts +0 -68
  1452. package/extensions/openclaw-weixin/src/messaging/error-notice.ts +0 -36
  1453. package/extensions/openclaw-weixin/src/messaging/inbound.ts +0 -283
  1454. package/extensions/openclaw-weixin/src/messaging/process-message.ts +0 -488
  1455. package/extensions/openclaw-weixin/src/messaging/send-media.ts +0 -76
  1456. package/extensions/openclaw-weixin/src/messaging/send.ts +0 -267
  1457. package/extensions/openclaw-weixin/src/messaging/slash-commands.ts +0 -105
  1458. package/extensions/openclaw-weixin/src/monitor/monitor.ts +0 -225
  1459. package/extensions/openclaw-weixin/src/runtime.ts +0 -67
  1460. package/extensions/openclaw-weixin/src/storage/state-dir.ts +0 -11
  1461. package/extensions/openclaw-weixin/src/storage/sync-buf.ts +0 -79
  1462. package/extensions/openclaw-weixin/src/util/logger.ts +0 -146
  1463. package/extensions/openclaw-weixin/src/util/random.ts +0 -17
  1464. package/extensions/openclaw-weixin/src/util/redact.ts +0 -57
  1465. package/extensions/openclaw-weixin/src/vendor.d.ts +0 -21
  1466. package/extensions/qbagent-mcp-server-x5uselocal-node/index.ts +0 -140
  1467. package/extensions/qbagent-mcp-server-x5uselocal-node/src/browser-use-tool.ts +0 -157
  1468. package/extensions/qbagent-mcp-server-x5uselocal-node/src/server.ts +0 -135
  1469. package/extensions/qbagent-mcp-server-x5uselocal-node/src/tools.ts +0 -205
  1470. package/extensions/qbagent-mcp-server-x5uselocal-node/src/websocket-manager.ts +0 -351
@@ -538,4 +538,4 @@ To prevent this, increase your compaction buffer by setting \`agents.defaults.co
538
538
  `),Ue=Le?[Le,Re,He].filter(Boolean).join(`
539
539
  `).trim():He,We=Bw({cfg:r,channel:n.Provider,sessionEntry:R,inlineMode:S,inlineOptions:C}),Ge=K6(N??Be),Ke=q_(Ge);We.mode===`interrupt`&&Ke>0&&K(`Interrupting ${Ge} (cleared ${J_(Ge)}, aborted=${E5(Be)})`);let qe=N??Be,Je=D5(Be),Ye=NBe(Be),Xe=We.mode===`steer`||We.mode===`steer-backlog`,Ze=We.mode===`followup`||We.mode===`collect`||We.mode===`steer-backlog`,Qe=await MF({cfg:r,provider:b,agentDir:a,sessionEntry:R,sessionStore:L,sessionKey:N,storePath:F,isNewSession:A}),$e=R?.authProfileOverrideSource;return SWe({commandBody:ze,followupRun:{prompt:Ue,messageId:n.MessageSidFull??n.MessageSid,summaryLine:he,enqueuedAt:Date.now(),originatingChannel:t.OriginatingChannel,originatingTo:t.OriginatingTo,originatingAccountId:t.AccountId,originatingThreadId:t.MessageThreadId,originatingChatType:t.ChatType,run:{agentId:i,agentDir:a,sessionId:Be,sessionKey:N,messageProvider:l9({originatingChannel:t.OriginatingChannel??n.OriginatingChannel,provider:t.Provider??t.Surface??n.Provider}),agentAccountId:n.AccountId,groupId:to(n)?.id??void 0,groupChannel:n.GroupChannel?.trim()??n.GroupSubject?.trim(),groupSpace:n.GroupSpace?.trim()??void 0,senderId:n.SenderId?.trim()||void 0,senderName:n.SenderName?.trim()||void 0,senderUsername:n.SenderUsername?.trim()||void 0,senderE164:n.SenderE164?.trim()||void 0,senderIsOwner:l.senderIsOwner,sessionFile:Ve,workspaceDir:I,config:r,skillsSnapshot:Fe,provider:b,model:x,authProfileId:Qe,authProfileIdSource:$e,thinkLevel:z,verboseLevel:B,reasoningLevel:V,elevatedLevel:H,execOverrides:U,bashElevated:{enabled:m,allowed:h,defaultLevel:H??`off`},timeoutMs:k,blockReplyBreak:v,ownerNumbers:l.ownerList.length>0?l.ownerList:void 0,inputProvenance:t.InputProvenance??n.InputProvenance,extraSystemPrompt:fe.join(`
540
540
 
541
- `)||void 0,...Nb(b)?{enforceFinalTag:!0}:{}}},queueKey:qe,resolvedQueue:We,shouldSteer:Xe,shouldFollowup:Ze,isActive:Je,isStreaming:Ye,opts:E,typing:T,sessionEntry:R,sessionStore:L,sessionKey:N,storePath:F,defaultModel:O,agentCfgContextTokens:o?.contextTokens,resolvedVerboseLevel:B??`off`,isNewSession:A,blockStreamingEnabled:g,blockReplyChunking:_,resolvedBlockStreamingBreak:v,sessionCtx:n,shouldInjectGroupIntro:se,typingMode:oe})}function NWe(e){if(e.isFastTestEnv)return;let t=e.ctx.SessionKey?.trim();if(!t)return;let n=Iu(e.ctx);n.transcript&&Lu(Xi(Tr(`message`,`transcribed`,t,Bne(n,e.cfg))),`get-reply: message:transcribed internal hook failed`),Lu(Xi(Tr(`message`,`preprocessed`,t,Ine(n,e.cfg))),`get-reply: message:preprocessed internal hook failed`)}function PWe(e){let t=e.split(/\s+/).filter(Boolean);return{tokens:t,first:t[0],second:t[1],rest:t.slice(2)}}function FWe(e){let t=Aa({raw:e.raw,defaultProvider:e.defaultProvider,aliasIndex:e.aliasIndex});if(!t)return;let n=Ui(t.ref.provider,t.ref.model);if(e.allowedModelKeys.size>0&&!e.allowedModelKeys.has(n))return;let r=t.ref.provider===e.defaultProvider&&t.ref.model===e.defaultModel;return{provider:t.ref.provider,model:t.ref.model,isDefault:r,...t.alias?{alias:t.alias}:void 0}}function IWe(e){let{selection:t,sessionEntry:n,sessionStore:r,sessionKey:i,storePath:a}=e;if(!n||!r||!i)return;let{updated:o}=$F({entry:n,selection:t});o&&(r[i]=n,a&&ra(a,e=>{e[i]=n}).catch(()=>{}))}async function LWe(e){if(!e.resetTriggered)return{};let t=e.bodyStripped?.trim();if(!t)return{};let{tokens:n,first:r,second:i}=PWe(t);if(!r)return{};let a=await Ql({config:e.cfg}),o=_r({cfg:e.cfg,catalog:a,defaultProvider:e.defaultProvider,defaultModel:e.defaultModel}).allowedKeys;if(o.size===0)return{};let s=new Set;for(let e of o){let t=e.indexOf(`/`);t<=0||s.add(Ci(e.slice(0,t)))}let c=t=>sI({raw:t,defaultProvider:e.defaultProvider,defaultModel:e.defaultModel,aliasIndex:e.aliasIndex,allowedModelKeys:o}),l,u=0;if(s.has(Ci(r))&&i){let e=c(`${Ci(r)}/${i}`);e.selection&&(l=e.selection,u=2)}if(l||(l=FWe({raw:r,defaultProvider:e.defaultProvider,defaultModel:e.defaultModel,aliasIndex:e.aliasIndex,allowedModelKeys:o}),l&&(u=1)),!l){let e=c(r);(s.has(Ci(r))||r.trim().length>=6)&&(l=e.selection,l&&(u=1))}if(!l)return{};let d=n.slice(u).join(` `).trim();return e.sessionCtx.BodyStripped=d,e.sessionCtx.BodyForCommands=d,IWe({selection:l,sessionEntry:e.sessionEntry,sessionStore:e.sessionStore,sessionKey:e.sessionKey,storePath:e.storePath}),{selection:l,cleanedBody:d}}const R9=new Map,RWe=Io(`session-maintenance-warning`);let z9=null;function zWe(){return z9??=import(`./deliver-runtime-CAIY3HKc.js`),z9}function BWe(){return!process.env.VITEST&&!0}function VWe(e){let{warning:t}=e;return[t.activeSessionKey,t.pruneAfterMs,t.maxEntries,t.wouldPrune?`prune`:``,t.wouldCap?`cap`:``].filter(Boolean).join(`|`)}function HWe(e){if(e>=864e5){let t=Math.round(e/864e5);return`${t} day${t===1?``:`s`}`}if(e>=36e5){let t=Math.round(e/36e5);return`${t} hour${t===1?``:`s`}`}if(e>=6e4){let t=Math.round(e/6e4);return`${t} minute${t===1?``:`s`}`}let t=Math.round(e/1e3);return`${t} second${t===1?``:`s`}`}function UWe(e){let t=[];return e.wouldPrune&&t.push(`older than ${HWe(e.pruneAfterMs)}`),e.wouldCap&&t.push(`not in the most recent ${e.maxEntries} sessions`),`⚠️ Session maintenance warning: this active session would be evicted (${t.length>0?t.join(` and `):`over maintenance limits`}). Maintenance is set to warn-only, so nothing was reset. To enforce cleanup, set \`session.maintenance.mode: "enforce"\` or increase the limits.`}async function WWe(e){if(!BWe())return;let t=VWe(e);if(R9.get(e.sessionKey)===t)return;R9.set(e.sessionKey,t);let n=UWe(e.warning),r=NO({entry:e.entry,requestedChannel:`last`});if(!r.channel||!r.to){BA(n,{sessionKey:e.sessionKey});return}let i=Rn(r.channel)??r.channel;if(!Fr(i)){BA(n,{sessionKey:e.sessionKey});return}try{let{deliverOutboundPayloads:t}=await zWe(),a=Ew({cfg:e.cfg,sessionKey:e.sessionKey});await t({cfg:e.cfg,channel:i,to:r.to,accountId:r.accountId,threadId:r.threadId,payloads:[{text:n}],session:a})}catch(t){RWe.warn(`Failed to deliver session maintenance warning: ${String(t)}`),BA(n,{sessionKey:e.sessionKey})}}function B9(e){return e?.trim()??``}function GWe(e){let t=B9(e.activeSessionKey),n=t&&R(t)?t:void 0,r=!!t&&!n,i=B9(e.channel).toLowerCase(),a=B9(e.conversationId);if(!i||!a)return n;let o=B9(e.accountId)||`default`,s=B9(e.parentConversationId)||void 0,c=!!e.allowNonAcpBindingSessionKey,l=Qw().resolveByConversation({channel:i,accountId:o,conversationId:a,parentConversationId:s}),u=l?.targetKind===`session`?l.targetSessionKey.trim():``;if(u)return c||R(u)?u:void 0;if(r&&e.skipConfiguredFallbackWhenActiveSessionNonAcp)return;let d=_P({cfg:e.cfg,channel:i,accountId:o,conversationId:a,parentConversationId:s}),f=d?.record.targetKind===`session`?d.record.targetSessionKey.trim():``;if(f)return c||R(f)?f:void 0;if(e.fallbackToActiveAcpWhenUnbound!==!1)return n}function V9(e){let t=he(e);if(!t?.rest)return;let n=t.rest.split(`:`)[0]?.trim().toLowerCase();if(!(!n||n===`main`||n===`cron`||n===`subagent`||n===`acp`))return Rn(n)}function H9(e){let t=he(e);return t?t.rest.trim().toLowerCase()===`main`:(e??``).trim().toLowerCase()===`main`}const U9=new Set([`direct`,`dm`]),KWe=new Set([`thread`,`topic`]);function W9(e,t){if(!e[t+1]?.trim())return!1;let n=e.slice(t+2);return n.length===0?!0:n.length===2&&KWe.has(n[0]??``)&&!!n[1]?.trim()}function G9(e){let t=(e??``).trim().toLowerCase();if(!t)return!1;let n=(he(t)?.rest??t).split(`:`).filter(Boolean);if(n.length<2)return!1;if(U9.has(n[0]??``))return W9(n,0);let r=Rn(n[0]);return!r||!Fr(r)?!1:U9.has(n[1]??``)?W9(n,1):n[1]?.trim()&&U9.has(n[2]??``)?W9(n,2):!1}function K9(e){return!!(e&&e!==`webchat`&&Fr(e))}function qWe(e){let t=Rn(e.originatingChannelRaw);if(t===`webchat`&&(H9(e.sessionKey)||G9(e.sessionKey)))return e.originatingChannelRaw;let n=Rn(e.persistedLastChannel),r=V9(e.sessionKey),i=e.originatingChannelRaw||e.persistedLastChannel;return K9(t)||(K9(n)?i=n:K9(r)&&(i=r)),i}function JWe(e){let t=Rn(e.originatingChannelRaw);if(t===`webchat`&&(H9(e.sessionKey)||G9(e.sessionKey)))return e.originatingToRaw||e.toRaw;let n=Rn(e.persistedLastChannel),r=V9(e.sessionKey);return!K9(t)&&(K9(n)||K9(r))&&e.persistedLastTo?e.persistedLastTo:e.originatingToRaw||e.toRaw||e.persistedLastTo}function YWe(e){if((e.sessionCfg?.dmScope??`main`)===`main`||e.isGroup)return;let t=o({agentId:e.agentId,mainKey:e.mainKey}).toLowerCase();if(e.sessionKey===t)return;let n=e.sessionStore[t];if(!n)return;let r=yo(Xa(n));if(!r)return;let i=yo(po({channel:e.ctx.OriginatingChannel,to:e.ctx.OriginatingTo||e.ctx.To,accountId:e.ctx.AccountId,threadId:e.ctx.MessageThreadId}));if(!(!i||i!==r)&&!(n.deliveryContext===void 0&&n.lastChannel===void 0&&n.lastTo===void 0&&n.lastAccountId===void 0&&n.lastThreadId===void 0))return{key:t,entry:{...n,deliveryContext:void 0,lastChannel:void 0,lastTo:void 0,lastAccountId:void 0,lastThreadId:void 0}}}function XWe(e){let t=e.session?.parentForkMaxTokens;return typeof t==`number`&&Number.isFinite(t)&&t>=0?Math.floor(t):1e5}function ZWe(e){let t=ue(e.parentEntry.sessionId,e.parentEntry,{agentId:e.agentId,sessionsDir:e.sessionsDir});if(!t||!Ef.existsSync(t))return null;try{let e=op.open(t),n=e.getLeafId();if(n){let t=e.createBranchedSession(n)??e.getSessionFile(),r=e.getSessionId();if(t&&r)return{sessionId:r,sessionFile:t}}let r=Jf.randomUUID(),i=new Date().toISOString(),a=i.replace(/[:.]/g,`-`),o=Y.join(e.getSessionDir(),`${a}_${r}.jsonl`),s={type:`session`,version:ip,id:r,timestamp:i,cwd:e.getCwd(),parentSession:t};return Ef.writeFileSync(o,`${JSON.stringify(s)}\n`,`utf-8`),{sessionId:r,sessionFile:o}}catch{return null}}function q9(e){return{sessionId:e.sessionId,sessionKey:e.sessionKey,agentId:g({sessionKey:e.sessionKey,config:e.cfg})}}function QWe(e){return{event:{sessionId:e.sessionId,sessionKey:e.sessionKey,resumedFrom:e.resumedFrom},context:q9({sessionId:e.sessionId,sessionKey:e.sessionKey,cfg:e.cfg})}}function $We(e){return{event:{sessionId:e.sessionId,sessionKey:e.sessionKey,messageCount:e.messageCount??0},context:q9({sessionId:e.sessionId,sessionKey:e.sessionKey,cfg:e.cfg})}}const J9=Io(`session-init`);function Y9(e){return typeof e==`string`?e.trim():typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`?`${e}`.trim():``}function eGe(e){let t=Y9(e);if(!t)return;let n=(he(t)?.rest??t.toLowerCase()).match(/(?:^|:)channel:([^:]+)$/);if(n?.[1])return n[1]}function tGe(e){let t=Y9(e.OriginatingChannel??e.Surface??e.Provider??``).toLowerCase();if(!t)return null;let n=Y9(e.AccountId)||`default`,r=e.MessageThreadId==null?``:Y9(String(e.MessageThreadId));if(t===`telegram`){let i=lP(e.OriginatingTo)??lP(e.To),a=Q0({threadId:r||void 0,targets:[e.OriginatingTo,e.To]})??``;return r&&i&&(a=uP({chatId:i,topicId:r})??a),a?{channel:t,accountId:n,conversationId:a,...i?{parentConversationId:i}:{}}:null}let i=Q0({threadId:r||void 0,targets:[e.OriginatingTo,e.To]});if(!i)return null;let a;if(t===`discord`&&r){let t=Y9(e.ThreadParentId);if(t&&t!==i)a=t;else{let t=eGe(e.ParentSessionKey);if(t&&t!==i)a=t;else{let t=Q0({targets:[e.OriginatingTo,e.To]});t&&t!==i&&(a=t)}}}return{channel:t,accountId:n,conversationId:i,...a?{parentConversationId:a}:{}}}function nGe(e){let t=Y9(e.ctx.SessionKey),n=tGe(e.ctx);return GWe({cfg:e.cfg,channel:n?.channel,accountId:n?.accountId,conversationId:n?.conversationId,parentConversationId:n?.parentConversationId,activeSessionKey:t,allowNonAcpBindingSessionKey:!1,skipConfiguredFallbackWhenActiveSessionNonAcp:!0,fallbackToActiveAcpWhenUnbound:!1})}async function rGe(e){let{ctx:t,cfg:n,commandAuthorized:r}=e,i=t.CommandSource===`native`?t.CommandTargetSessionKey?.trim():void 0,a=i&&i!==t.SessionKey?{...t,SessionKey:i}:t,o=n.session,s=w(o?.mainKey),c=g({sessionKey:a.SessionKey,config:n}),l=to(a)??void 0,u=o?.resetTriggers?.length?o.resetTriggers:Ue,d=XWe(n),f=o?.scope??`per-sender`,p=_e(o?.store,{agentId:c}),m=zr(p,{skipCache:!0}),h,_,v,y=!1,b,x=!1,S=!1,C=!1,T,E,D,O,k,A,j,M=wi(t.ChatType),N=M!=null&&M!==`direct`?!0:!!l,P=t.BodyForCommands??t.CommandBody??t.RawBody??t.Body??``,F=rD(P).trim(),I=P.trim(),L=sh({ctx:t,cfg:n,commandAuthorized:r}).isAuthorizedSender,R=N?iD(F,t,n,c):F,z=!!nGe({cfg:n,ctx:a}),B=e=>z&&Ue.some(t=>t.toLowerCase()===e),V=I.toLowerCase(),H=R.toLowerCase();for(let e of u){if(!e)continue;if(!L)break;let t=e.toLowerCase();if(V===t||H===t){if(B(t))break;y=!0,b=``,C=!0;break}let n=`${t} `;if(V.startsWith(n)||H.startsWith(n)){if(B(t))break;y=!0,b=R.slice(e.length).trimStart(),C=!0;break}}h=mn(f,a,s);let U=YWe({sessionCfg:o,sessionKey:h,sessionStore:m,agentId:c,mainKey:s,isGroup:N,ctx:t});U&&(m[U.key]=U.entry);let W=m[h],ee=Date.now(),te=ite({sessionKey:h,messageThreadId:t.MessageThreadId,threadLabel:t.ThreadLabel,threadStarterBody:t.ThreadStarterBody,parentSessionKey:t.ParentSessionKey}),ne=Jt({sessionCfg:o,resetType:Sn({sessionKey:h,isGroup:N,isThread:te}),resetOverride:Ft({sessionCfg:o,channel:l?.channel??t.OriginatingChannel??t.Surface??t.Provider})}),re=W?ht({updatedAt:W.updatedAt,now:ee,policy:ne}).fresh:!1,ie=(C||!re)&&W?{...W}:void 0;Lb({sessionKey:h,previousSessionId:ie?.sessionId}),!y&&re?(v=W.sessionId,x=W.systemSent??!1,S=W.abortedLastRun??!1,T=W.thinkingLevel,E=W.verboseLevel,D=W.reasoningLevel,O=W.ttsAuto,k=W.modelOverride,A=W.providerOverride,j=W.label):(v=Jf.randomUUID(),y=!0,x=!1,S=!1,C&&W&&(T=W.thinkingLevel,E=W.verboseLevel,D=W.reasoningLevel,O=W.ttsAuto,k=W.modelOverride,A=W.providerOverride,j=W.label));let G=!y&&re?W:void 0,oe=t.OriginatingChannel,se=qWe({originatingChannelRaw:oe,persistedLastChannel:G?.lastChannel,sessionKey:h}),ce=JWe({originatingChannelRaw:oe,originatingToRaw:t.OriginatingTo,toRaw:t.To,persistedLastTo:G?.lastTo,persistedLastChannel:G?.lastChannel,sessionKey:h}),le=t.AccountId||G?.lastAccountId,ue=t.MessageThreadId||(te?G?.lastThreadId:void 0),de=kn({deliveryContext:{channel:se,to:ce,accountId:le,threadId:ue}}),fe=de.lastChannel??se,pe=de.lastTo??ce,me=de.lastAccountId??le,he=de.lastThreadId??ue;_={...G,sessionId:v,updatedAt:Date.now(),systemSent:x,abortedLastRun:S,thinkingLevel:T??G?.thinkingLevel,verboseLevel:E??G?.verboseLevel,reasoningLevel:D??G?.reasoningLevel,ttsAuto:O??G?.ttsAuto,responseUsage:G?.responseUsage,modelOverride:k??G?.modelOverride,providerOverride:A??G?.providerOverride,label:j??G?.label,sendPolicy:G?.sendPolicy,queueMode:G?.queueMode,queueDebounceMs:G?.queueDebounceMs,queueCap:G?.queueCap,queueDrop:G?.queueDrop,displayName:G?.displayName,chatType:G?.chatType,channel:G?.channel,groupId:G?.groupId,subject:G?.subject,groupChannel:G?.groupChannel,space:G?.space,deliveryContext:de.deliveryContext,lastChannel:fe,lastTo:pe,lastAccountId:me,lastThreadId:he};let ge=ja({ctx:a,sessionKey:h,existing:_,groupResolution:l});ge&&(_={..._,...ge}),_.chatType||=`direct`;let ve=t.ThreadLabel?.trim();ve&&(_.displayName=ve);let ye=t.ParentSessionKey?.trim(),be=_.forkedFromParent===!0;if(ye&&ye!==h&&m[ye]&&!be){let e=m[ye].totalTokens??0;if(d>0&&e>d)J9.warn(`skipping parent fork (parent too large): parentKey=${ye} → sessionKey=${h} parentTokens=${e} maxTokens=${d}`),_.forkedFromParent=!0;else{J9.warn(`forking from parent session: parentKey=${ye} → sessionKey=${h} parentTokens=${e}`);let t=ZWe({parentEntry:m[ye],agentId:c,sessionsDir:Y.dirname(p)});t&&(v=t.sessionId,_.sessionId=t.sessionId,_.sessionFile=t.sessionFile,_.forkedFromParent=!0,J9.warn(`forked session created: file=${t.sessionFile}`))}}let xe=_.sessionFile?void 0:ae(_.sessionId,c,t.MessageThreadId);_=(await Fee({sessionId:_.sessionId,sessionKey:h,sessionStore:m,storePath:p,sessionEntry:_,agentId:c,sessionsDir:Y.dirname(p),fallbackSessionFile:xe,activeSessionKey:h})).sessionEntry,y&&(_.compactionCount=0,_.memoryFlushCompactionCount=void 0,_.memoryFlushAt=void 0,_.totalTokens=void 0,_.inputTokens=void 0,_.outputTokens=void 0,_.contextTokens=void 0),m[h]={...m[h],..._},await ra(p,e=>{e[h]={...e[h],..._},U&&(e[U.key]=U.entry)},{activeSessionKey:h,onWarn:e=>WWe({cfg:n,sessionKey:h,entry:_,warning:e})}),ie?.sessionId&&io({sessionId:ie.sessionId,storePath:p,sessionFile:ie.sessionFile,agentId:c,reason:`reset`});let Se={...t,BodyStripped:Rm(b??t.BodyForAgent??t.Body??t.CommandBody??t.RawBody??t.BodyForCommands??``),SessionId:v,IsNewSession:y?`true`:`false`},Ce=ju();if(Ce&&y){let e=v??``;if(ie?.sessionId&&ie.sessionId!==e&&Ce.hasHooks(`session_end`)){let e=$We({sessionId:ie.sessionId,sessionKey:h,cfg:n});Ce.runSessionEnd(e.event,e.context).catch(()=>{})}if(Ce.hasHooks(`session_start`)){let t=QWe({sessionId:e,sessionKey:h,cfg:n,resumedFrom:ie?.sessionId});Ce.runSessionStart(t.event,t.context).catch(()=>{})}}return{sessionCtx:Se,sessionEntry:_,previousSessionEntry:ie,sessionStore:m,sessionKey:h,sessionId:v??Jf.randomUUID(),isNewSession:y,resetTriggered:C,systemSent:x,abortedLastRun:S,storePath:p,sessionScope:f,groupResolution:l,isGroup:N,bodyStripped:b,triggerBodyNormalized:F}}const X9=Yee;async function iGe(e){let{ctx:t,sessionCtx:n,cfg:r,sessionKey:i,workspaceDir:a}=e,o=Array.isArray(t.MediaPaths)&&t.MediaPaths.length>0,s=oGe(t);if(s.length===0||!i)return;let c=await En({config:r,sessionKey:i,workspaceDir:a}),l=t.MediaRemoteHost?Y.join(Vo,`media`,`remote-cache`,i):null,u=c?.workspaceDir??l;if(!u)return;await Wf.mkdir(u,{recursive:!0});let d=ei({cfg:r,accountId:t.AccountId}),f=new Set,p=new Map;for(let e of s){let n=Q9(e);if(!n||p.has(n)||!await sGe({source:n,mediaRemoteHost:t.MediaRemoteHost,remoteAttachmentRoots:d}))continue;let r=cGe(n,f);if(!r)continue;let i=c?Y.join(`media`,`inbound`,r):r,a=Y.join(u,i);try{t.MediaRemoteHost?await aGe({remoteHost:t.MediaRemoteHost,remotePath:n,rootDir:u,relativeDestPath:i,maxBytes:X9}):await Z9({sourcePath:n,rootDir:u,relativeDestPath:i,maxBytes:X9})}catch(e){e instanceof Te&&e.code===`too-large`?K(`Blocking inbound media staging above ${X9} bytes: ${n}`):K(`Failed to stage inbound media path ${n}: ${String(e)}`);continue}let o=c?Y.posix.join(`media`,`inbound`,r):a;p.set(n,o)}lGe({ctx:t,sessionCtx:n,rawPaths:s,staged:p,hasPathsArray:o})}async function Z9(e){await i({sourcePath:e.sourcePath,rootDir:e.rootDir,relativePath:e.relativeDestPath,maxBytes:e.maxBytes})}async function aGe(e){let t=Bo();await Wf.mkdir(t,{recursive:!0});let n=await Wf.mkdtemp(Y.join(t,`stage-sandbox-media-`)),r=Y.join(n,`download`);try{await uGe(e.remoteHost,e.remotePath,r),await Z9({sourcePath:r,rootDir:e.rootDir,relativeDestPath:e.relativeDestPath,maxBytes:e.maxBytes})}finally{await Wf.rm(n,{recursive:!0,force:!0}).catch(()=>{})}}function oGe(e){let t=Array.isArray(e.MediaPaths)?e.MediaPaths:void 0;return t&&t.length>0?t:e.MediaPath?.trim()?[e.MediaPath.trim()]:[]}function Q9(e){let t=e.trim();if(!t)return null;if(t.startsWith(`file://`))try{t=qf(t)}catch{return null}return Y.isAbsolute(t)?t:null}async function sGe(e){if(e.mediaRemoteHost)return Kr({filePath:e.source,roots:e.remoteAttachmentRoots})?!0:(K(`Blocking remote media staging from disallowed attachment path: ${e.source}`),!1);let t=Pee();if(!Kr({filePath:e.source,roots:[t]}))return K(`Blocking attempt to stage media from outside media directory: ${e.source}`),!1;try{return await yn({filePath:e.source,cwd:t,root:t}),!0}catch{return K(`Blocking attempt to stage media from outside media directory: ${e.source}`),!1}}function cGe(e,t){let n=Y.basename(e);if(!n)return null;let r=Y.parse(n),i=n,a=1;for(;t.has(i);)i=`${r.name}-${a}${r.ext}`,a+=1;return t.add(i),i}function lGe(e){let t=t=>{let n=t?.trim();if(!n)return t;let r=Q9(n);return r?e.staged.get(r)??t:t},n=e.hasPathsArray?e.rawPaths.map(e=>t(e)??e):void 0;if(n)e.ctx.MediaPaths=n,e.sessionCtx.MediaPaths=n,e.ctx.MediaPath=n[0],e.sessionCtx.MediaPath=n[0];else{let n=t(e.ctx.MediaPath);n&&n!==e.ctx.MediaPath&&(e.ctx.MediaPath=n,e.sessionCtx.MediaPath=n)}if(Array.isArray(e.ctx.MediaUrls)&&e.ctx.MediaUrls.length>0){let n=e.ctx.MediaUrls.map(e=>t(e)??e);e.ctx.MediaUrls=n,e.sessionCtx.MediaUrls=n}let r=t(e.ctx.MediaUrl);r&&r!==e.ctx.MediaUrl&&(e.ctx.MediaUrl=r,e.sessionCtx.MediaUrl=r)}async function uGe(e,t,n){let r=fi(e);if(!r)throw Error(`invalid remote host for SCP`);return new Promise((e,i)=>{let a=np(`/usr/bin/scp`,[`-o`,`BatchMode=yes`,`-o`,`StrictHostKeyChecking=yes`,`--`,`${r}:${t}`,n],{stdio:[`ignore`,`ignore`,`pipe`]}),o=``;a.stderr?.setEncoding(`utf8`),a.stderr?.on(`data`,e=>{o+=e}),a.once(`error`,i),a.once(`exit`,t=>{t===0?e():i(Error(`scp failed (${t}): ${o.trim()}`))})})}function dGe(e){let{onReplyStart:t,onCleanup:n,typingIntervalSeconds:r=6,typingTtlMs:i=2*6e4,silentToken:a=ql,log:o}=e,s=!1,c=!1,l=!1,u=!1,d=!1,f,p=r*1e3,m=e=>e%6e4==0?`${e/6e4}m`:`${Math.round(e/1e3)}s`,h=()=>{s=!1,c=!1,l=!1,u=!1},g=()=>{d||=(f&&=(clearTimeout(f),void 0),E&&=(clearTimeout(E),void 0),x.stop(),c&&n?.(),h(),!0)},_=()=>{d||!p||p<=0||i<=0||(f&&clearTimeout(f),f=setTimeout(()=>{x.isRunning()&&(o?.(`typing TTL reached (${m(i)}); stopping typing indicator`),g())},i))},v=()=>c&&!d,y=PM({isSealed:()=>d,shouldBlock:()=>l,rethrowOnError:!0}),b=async()=>{await y.run(async()=>{await t?.()})},x=NM({intervalMs:p,onTick:b}),S=async()=>{d||l||(c||=!0,!s&&(s=!0,await b()))},C=()=>{c&&l&&u&&g()},w=async()=>{d||l||(_(),t&&(x.isRunning()||(await S(),x.start())))},T=async e=>{if(d)return;let t=e?.trim();t&&(a&&(Kl(t,a)||Jl(t,a))||(_(),await w()))},E;return{onReplyStart:S,startTypingLoop:w,startTypingOnText:T,refreshTypingTtl:_,isActive:v,markRunComplete:()=>{l=!0,C(),!d&&!u&&(E=setTimeout(()=>{!d&&!u&&(o?.(`typing: dispatch idle not received after run complete; forcing cleanup`),g())},1e4))},markDispatchIdle:()=>{u=!0,E&&=(clearTimeout(E),void 0),C()},cleanup:g}}function fGe(e,t){let n=e=>{if(Array.isArray(e))return a(e)},r=n(e),i=n(t);if(!r&&!i)return;if(!r)return i;if(!i)return r;if(r.length===0||i.length===0)return[];let o=new Set(i);return r.filter(e=>o.has(e))}async function $9(e,t,n){let r=process.env.OPENCLAW_TEST_FAST===`1`,i=n??ur(),a=g({sessionKey:(e.CommandSource===`native`?e.CommandTargetSessionKey?.trim():void 0)||e.SessionKey,config:i}),o=fGe(t?.skillFilter,N(i,a)),s=o===void 0?t:{...t,skillFilter:o},c=i.agents?.defaults,l=i.session,{defaultProvider:u,defaultModel:d,aliasIndex:f}=qHe({cfg:i,agentId:a}),p=u,m=d,h=!1;if(t?.isHeartbeat){let e=t.heartbeatModelOverride?.trim()??c?.heartbeat?.model?.trim()??``,n=e?Aa({raw:e,defaultProvider:u,aliasIndex:f}):null;n&&(p=n.ref.provider,m=n.ref.model,h=!0)}let _=(await oe({dir:L(i,a)??B,ensureBootstrapFiles:!c?.skipBootstrap&&!r})).dir,v=F(i,a),y=Pm({cfg:i,overrideSeconds:t?.timeoutOverrideSeconds}),b=c?.typingIntervalSeconds??l?.typingIntervalSeconds,x=typeof b==`number`?b:6,S=dGe({onReplyStart:t?.onReplyStart,onCleanup:t?.onTypingCleanup,typingIntervalSeconds:x,silentToken:ql,log:Po.log});t?.onTypingController?.(S);let C=Um(e);r||(await rh({ctx:C,cfg:i,agentDir:v,activeModel:{provider:p,model:m}}),await Kre({ctx:C,cfg:i})),NWe({ctx:C,cfg:i,isFastTestEnv:r});let w=C.CommandAuthorized;sh({ctx:C,cfg:i,commandAuthorized:w});let{sessionCtx:T,sessionEntry:E,previousSessionEntry:D,sessionStore:O,sessionKey:k,sessionId:A,isNewSession:j,resetTriggered:M,systemSent:P,abortedLastRun:I,storePath:R,sessionScope:z,groupResolution:V,isGroup:H,triggerBodyNormalized:U,bodyStripped:W}=await rGe({ctx:C,cfg:i,commandAuthorized:w});await LWe({cfg:i,resetTriggered:M,bodyStripped:W,sessionCtx:T,ctx:C,sessionEntry:E,sessionStore:O,sessionKey:k,storePath:R,defaultProvider:u,defaultModel:d,aliasIndex:f});let ee=Lm({cfg:i,channel:V?.channel??E.channel??E.origin?.provider??(typeof C.OriginatingChannel==`string`?C.OriginatingChannel:void 0)??C.Provider,groupId:V?.id??E.groupId,groupChannel:E.groupChannel??T.GroupChannel??C.GroupChannel,groupSubject:E.subject??T.GroupSubject??C.GroupSubject,parentSessionKey:T.ParentSessionKey}),te=!!(E.modelOverride?.trim()||E.providerOverride?.trim());if(!h&&!te&&ee){let e=Aa({raw:ee.model,defaultProvider:u,aliasIndex:f});e&&(p=e.ref.provider,m=e.ref.model)}let ne=await vUe({ctx:C,cfg:i,agentId:a,agentDir:v,workspaceDir:_,agentCfg:c,sessionCtx:T,sessionEntry:E,sessionStore:O,sessionKey:k,storePath:R,sessionScope:z,groupResolution:V,isGroup:H,triggerBodyNormalized:U,commandAuthorized:w,defaultProvider:u,defaultModel:d,aliasIndex:f,provider:p,model:m,hasResolvedHeartbeatModelOverride:h,typing:S,opts:s,skillFilter:o});if(ne.kind===`reply`){let e=AHe(U);return e?(S.cleanup(),{text:e}):ne.reply}let{commandSource:re,command:ie,allowTextCommands:G,skillCommands:ae,directives:se,cleanedBody:ce,elevatedEnabled:le,elevatedAllowed:ue,elevatedFailures:de,defaultActivation:fe,resolvedThinkLevel:pe,resolvedVerboseLevel:me,resolvedReasoningLevel:he,resolvedElevatedLevel:ge,execOverrides:_e,blockStreamingEnabled:ve,blockReplyChunking:ye,resolvedBlockStreamingBreak:be,provider:xe,model:Se,modelState:Ce,contextTokens:we,inlineStatusRequested:Te,directiveAck:Ee,perMessageQueueMode:De,perMessageQueueOptions:Oe}=ne.result;p=xe,m=Se;let ke=async()=>{if(!M||!ie.isAuthorizedSender||ie.resetHookTriggered)return;let t=ie.commandBodyNormalized.match(/^\/(new|reset)(?:\s|$)/);t&&await P7({action:t[1]===`reset`?`reset`:`new`,ctx:e,cfg:i,command:ie,sessionKey:k,sessionEntry:E,previousSessionEntry:D,workspaceDir:_})},Ae=await SUe({ctx:e,sessionCtx:T,cfg:i,agentId:a,agentDir:v,sessionEntry:E,previousSessionEntry:D,sessionStore:O,sessionKey:k,storePath:R,sessionScope:z,workspaceDir:_,isGroup:H,opts:s,typing:S,allowTextCommands:G,inlineStatusRequested:Te,command:ie,skillCommands:ae,directives:se,cleanedBody:ce,elevatedEnabled:le,elevatedAllowed:ue,elevatedFailures:de,defaultActivation:()=>fe,resolvedThinkLevel:pe,resolvedVerboseLevel:me,resolvedReasoningLevel:he,resolvedElevatedLevel:ge,resolveDefaultThinkingLevel:Ce.resolveDefaultThinkingLevel,provider:p,model:m,contextTokens:we,directiveAck:Ee,abortedLastRun:I,skillFilter:o});return Ae.kind===`reply`?(await ke(),Ae.reply):(await ke(),se=Ae.directives,I=Ae.abortedLastRun??I,await iGe({ctx:e,sessionCtx:T,cfg:i,sessionKey:k,workspaceDir:_}),MWe({ctx:e,sessionCtx:T,cfg:i,agentId:a,agentDir:v,agentCfg:c,sessionCfg:l,commandAuthorized:w,command:ie,commandSource:re,allowTextCommands:G,directives:se,defaultActivation:fe,resolvedThinkLevel:pe,resolvedVerboseLevel:me,resolvedReasoningLevel:he,resolvedElevatedLevel:ge,execOverrides:_e,elevatedEnabled:le,elevatedAllowed:ue,blockStreamingEnabled:ve,blockReplyChunking:ye,resolvedBlockStreamingBreak:be,modelState:Ce,provider:p,model:m,perMessageQueueMode:De,perMessageQueueOptions:Oe,typing:S,opts:s,defaultProvider:u,defaultModel:d,timeoutMs:y,isNewSession:j,resetTriggered:M,systemSent:P,sessionEntry:E,sessionStore:O,sessionKey:k,sessionId:A,storePath:R,workspaceDir:_,abortedLastRun:I}))}export{BO as A,Jue as B,the as C,eA as D,tA as E,$E as F,Lw as G,LE as H,eD as I,Um as J,Kx as K,Zue as L,VO as M,mD as N,Zk as O,gD as P,UE as R,LA as S,rA as T,que as U,VE as V,Yue as W,UA as _,MX as a,VA as b,Fq as c,PF as d,AP as f,_M as g,xM as h,wZ as i,rk as j,WO as k,sR as l,EM as m,PLe as n,Jxe as o,SP as p,Jx as q,fQ as r,Wye as s,$9 as t,NF as u,Khe as v,nA as w,BA as x,WA as y,Que as z};
541
+ `)||void 0,...Nb(b)?{enforceFinalTag:!0}:{}}},queueKey:qe,resolvedQueue:We,shouldSteer:Xe,shouldFollowup:Ze,isActive:Je,isStreaming:Ye,opts:E,typing:T,sessionEntry:R,sessionStore:L,sessionKey:N,storePath:F,defaultModel:O,agentCfgContextTokens:o?.contextTokens,resolvedVerboseLevel:B??`off`,isNewSession:A,blockStreamingEnabled:g,blockReplyChunking:_,resolvedBlockStreamingBreak:v,sessionCtx:n,shouldInjectGroupIntro:se,typingMode:oe})}function NWe(e){if(e.isFastTestEnv)return;let t=e.ctx.SessionKey?.trim();if(!t)return;let n=Iu(e.ctx);n.transcript&&Lu(Xi(Tr(`message`,`transcribed`,t,Bne(n,e.cfg))),`get-reply: message:transcribed internal hook failed`),Lu(Xi(Tr(`message`,`preprocessed`,t,Ine(n,e.cfg))),`get-reply: message:preprocessed internal hook failed`)}function PWe(e){let t=e.split(/\s+/).filter(Boolean);return{tokens:t,first:t[0],second:t[1],rest:t.slice(2)}}function FWe(e){let t=Aa({raw:e.raw,defaultProvider:e.defaultProvider,aliasIndex:e.aliasIndex});if(!t)return;let n=Ui(t.ref.provider,t.ref.model);if(e.allowedModelKeys.size>0&&!e.allowedModelKeys.has(n))return;let r=t.ref.provider===e.defaultProvider&&t.ref.model===e.defaultModel;return{provider:t.ref.provider,model:t.ref.model,isDefault:r,...t.alias?{alias:t.alias}:void 0}}function IWe(e){let{selection:t,sessionEntry:n,sessionStore:r,sessionKey:i,storePath:a}=e;if(!n||!r||!i)return;let{updated:o}=$F({entry:n,selection:t});o&&(r[i]=n,a&&ra(a,e=>{e[i]=n}).catch(()=>{}))}async function LWe(e){if(!e.resetTriggered)return{};let t=e.bodyStripped?.trim();if(!t)return{};let{tokens:n,first:r,second:i}=PWe(t);if(!r)return{};let a=await Ql({config:e.cfg}),o=_r({cfg:e.cfg,catalog:a,defaultProvider:e.defaultProvider,defaultModel:e.defaultModel}).allowedKeys;if(o.size===0)return{};let s=new Set;for(let e of o){let t=e.indexOf(`/`);t<=0||s.add(Ci(e.slice(0,t)))}let c=t=>sI({raw:t,defaultProvider:e.defaultProvider,defaultModel:e.defaultModel,aliasIndex:e.aliasIndex,allowedModelKeys:o}),l,u=0;if(s.has(Ci(r))&&i){let e=c(`${Ci(r)}/${i}`);e.selection&&(l=e.selection,u=2)}if(l||(l=FWe({raw:r,defaultProvider:e.defaultProvider,defaultModel:e.defaultModel,aliasIndex:e.aliasIndex,allowedModelKeys:o}),l&&(u=1)),!l){let e=c(r);(s.has(Ci(r))||r.trim().length>=6)&&(l=e.selection,l&&(u=1))}if(!l)return{};let d=n.slice(u).join(` `).trim();return e.sessionCtx.BodyStripped=d,e.sessionCtx.BodyForCommands=d,IWe({selection:l,sessionEntry:e.sessionEntry,sessionStore:e.sessionStore,sessionKey:e.sessionKey,storePath:e.storePath}),{selection:l,cleanedBody:d}}const R9=new Map,RWe=Io(`session-maintenance-warning`);let z9=null;function zWe(){return z9??=import(`./deliver-runtime-CAIY3HKc.js`),z9}function BWe(){return!process.env.VITEST&&!0}function VWe(e){let{warning:t}=e;return[t.activeSessionKey,t.pruneAfterMs,t.maxEntries,t.wouldPrune?`prune`:``,t.wouldCap?`cap`:``].filter(Boolean).join(`|`)}function HWe(e){if(e>=864e5){let t=Math.round(e/864e5);return`${t} day${t===1?``:`s`}`}if(e>=36e5){let t=Math.round(e/36e5);return`${t} hour${t===1?``:`s`}`}if(e>=6e4){let t=Math.round(e/6e4);return`${t} minute${t===1?``:`s`}`}let t=Math.round(e/1e3);return`${t} second${t===1?``:`s`}`}function UWe(e){let t=[];return e.wouldPrune&&t.push(`older than ${HWe(e.pruneAfterMs)}`),e.wouldCap&&t.push(`not in the most recent ${e.maxEntries} sessions`),`⚠️ Session maintenance warning: this active session would be evicted (${t.length>0?t.join(` and `):`over maintenance limits`}). Maintenance is set to warn-only, so nothing was reset. To enforce cleanup, set \`session.maintenance.mode: "enforce"\` or increase the limits.`}async function WWe(e){if(!BWe())return;let t=VWe(e);if(R9.get(e.sessionKey)===t)return;R9.set(e.sessionKey,t);let n=UWe(e.warning),r=NO({entry:e.entry,requestedChannel:`last`});if(!r.channel||!r.to){BA(n,{sessionKey:e.sessionKey});return}let i=Rn(r.channel)??r.channel;if(!Fr(i)){BA(n,{sessionKey:e.sessionKey});return}try{let{deliverOutboundPayloads:t}=await zWe(),a=Ew({cfg:e.cfg,sessionKey:e.sessionKey});await t({cfg:e.cfg,channel:i,to:r.to,accountId:r.accountId,threadId:r.threadId,payloads:[{text:n}],session:a})}catch(t){RWe.warn(`Failed to deliver session maintenance warning: ${String(t)}`),BA(n,{sessionKey:e.sessionKey})}}function B9(e){return e?.trim()??``}function GWe(e){let t=B9(e.activeSessionKey),n=t&&R(t)?t:void 0,r=!!t&&!n,i=B9(e.channel).toLowerCase(),a=B9(e.conversationId);if(!i||!a)return n;let o=B9(e.accountId)||`default`,s=B9(e.parentConversationId)||void 0,c=!!e.allowNonAcpBindingSessionKey,l=Qw().resolveByConversation({channel:i,accountId:o,conversationId:a,parentConversationId:s}),u=l?.targetKind===`session`?l.targetSessionKey.trim():``;if(u)return c||R(u)?u:void 0;if(r&&e.skipConfiguredFallbackWhenActiveSessionNonAcp)return;let d=_P({cfg:e.cfg,channel:i,accountId:o,conversationId:a,parentConversationId:s}),f=d?.record.targetKind===`session`?d.record.targetSessionKey.trim():``;if(f)return c||R(f)?f:void 0;if(e.fallbackToActiveAcpWhenUnbound!==!1)return n}function V9(e){let t=he(e);if(!t?.rest)return;let n=t.rest.split(`:`)[0]?.trim().toLowerCase();if(!(!n||n===`main`||n===`cron`||n===`subagent`||n===`acp`))return Rn(n)}function H9(e){let t=he(e);return t?t.rest.trim().toLowerCase()===`main`:(e??``).trim().toLowerCase()===`main`}const U9=new Set([`direct`,`dm`]),KWe=new Set([`thread`,`topic`]);function W9(e,t){if(!e[t+1]?.trim())return!1;let n=e.slice(t+2);return n.length===0?!0:n.length===2&&KWe.has(n[0]??``)&&!!n[1]?.trim()}function G9(e){let t=(e??``).trim().toLowerCase();if(!t)return!1;let n=(he(t)?.rest??t).split(`:`).filter(Boolean);if(n.length<2)return!1;if(U9.has(n[0]??``))return W9(n,0);let r=Rn(n[0]);return!r||!Fr(r)?!1:U9.has(n[1]??``)?W9(n,1):n[1]?.trim()&&U9.has(n[2]??``)?W9(n,2):!1}function K9(e){return!!(e&&e!==`webchat`&&Fr(e))}function qWe(e){let t=Rn(e.originatingChannelRaw);if(t===`webchat`&&(H9(e.sessionKey)||G9(e.sessionKey)))return e.originatingChannelRaw;let n=Rn(e.persistedLastChannel),r=V9(e.sessionKey),i=e.originatingChannelRaw||e.persistedLastChannel;return K9(t)||(K9(n)?i=n:K9(r)&&(i=r)),i}function JWe(e){let t=Rn(e.originatingChannelRaw);if(t===`webchat`&&(H9(e.sessionKey)||G9(e.sessionKey)))return e.originatingToRaw||e.toRaw;let n=Rn(e.persistedLastChannel),r=V9(e.sessionKey);return!K9(t)&&(K9(n)||K9(r))&&e.persistedLastTo?e.persistedLastTo:e.originatingToRaw||e.toRaw||e.persistedLastTo}function YWe(e){if((e.sessionCfg?.dmScope??`main`)===`main`||e.isGroup)return;let t=o({agentId:e.agentId,mainKey:e.mainKey}).toLowerCase();if(e.sessionKey===t)return;let n=e.sessionStore[t];if(!n)return;let r=yo(Xa(n));if(!r)return;let i=yo(po({channel:e.ctx.OriginatingChannel,to:e.ctx.OriginatingTo||e.ctx.To,accountId:e.ctx.AccountId,threadId:e.ctx.MessageThreadId}));if(!(!i||i!==r)&&!(n.deliveryContext===void 0&&n.lastChannel===void 0&&n.lastTo===void 0&&n.lastAccountId===void 0&&n.lastThreadId===void 0))return{key:t,entry:{...n,deliveryContext:void 0,lastChannel:void 0,lastTo:void 0,lastAccountId:void 0,lastThreadId:void 0}}}function XWe(e){let t=e.session?.parentForkMaxTokens;return typeof t==`number`&&Number.isFinite(t)&&t>=0?Math.floor(t):1e5}function ZWe(e){let t=ue(e.parentEntry.sessionId,e.parentEntry,{agentId:e.agentId,sessionsDir:e.sessionsDir});if(!t||!Ef.existsSync(t))return null;try{let e=op.open(t),n=e.getLeafId();if(n){let t=e.createBranchedSession(n)??e.getSessionFile(),r=e.getSessionId();if(t&&r)return{sessionId:r,sessionFile:t}}let r=Jf.randomUUID(),i=new Date().toISOString(),a=i.replace(/[:.]/g,`-`),o=Y.join(e.getSessionDir(),`${a}_${r}.jsonl`),s={type:`session`,version:ip,id:r,timestamp:i,cwd:e.getCwd(),parentSession:t};return Ef.writeFileSync(o,`${JSON.stringify(s)}\n`,`utf-8`),{sessionId:r,sessionFile:o}}catch{return null}}function q9(e){return{sessionId:e.sessionId,sessionKey:e.sessionKey,agentId:g({sessionKey:e.sessionKey,config:e.cfg})}}function QWe(e){return{event:{sessionId:e.sessionId,sessionKey:e.sessionKey,resumedFrom:e.resumedFrom},context:q9({sessionId:e.sessionId,sessionKey:e.sessionKey,cfg:e.cfg})}}function $We(e){return{event:{sessionId:e.sessionId,sessionKey:e.sessionKey,messageCount:e.messageCount??0},context:q9({sessionId:e.sessionId,sessionKey:e.sessionKey,cfg:e.cfg})}}const J9=Io(`session-init`);function Y9(e){return typeof e==`string`?e.trim():typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`?`${e}`.trim():``}function eGe(e){let t=Y9(e);if(!t)return;let n=(he(t)?.rest??t.toLowerCase()).match(/(?:^|:)channel:([^:]+)$/);if(n?.[1])return n[1]}function tGe(e){let t=Y9(e.OriginatingChannel??e.Surface??e.Provider??``).toLowerCase();if(!t)return null;let n=Y9(e.AccountId)||`default`,r=e.MessageThreadId==null?``:Y9(String(e.MessageThreadId));if(t===`telegram`){let i=lP(e.OriginatingTo)??lP(e.To),a=Q0({threadId:r||void 0,targets:[e.OriginatingTo,e.To]})??``;return r&&i&&(a=uP({chatId:i,topicId:r})??a),a?{channel:t,accountId:n,conversationId:a,...i?{parentConversationId:i}:{}}:null}let i=Q0({threadId:r||void 0,targets:[e.OriginatingTo,e.To]});if(!i)return null;let a;if(t===`discord`&&r){let t=Y9(e.ThreadParentId);if(t&&t!==i)a=t;else{let t=eGe(e.ParentSessionKey);if(t&&t!==i)a=t;else{let t=Q0({targets:[e.OriginatingTo,e.To]});t&&t!==i&&(a=t)}}}return{channel:t,accountId:n,conversationId:i,...a?{parentConversationId:a}:{}}}function nGe(e){let t=Y9(e.ctx.SessionKey),n=tGe(e.ctx);return GWe({cfg:e.cfg,channel:n?.channel,accountId:n?.accountId,conversationId:n?.conversationId,parentConversationId:n?.parentConversationId,activeSessionKey:t,allowNonAcpBindingSessionKey:!1,skipConfiguredFallbackWhenActiveSessionNonAcp:!0,fallbackToActiveAcpWhenUnbound:!1})}async function rGe(e){let{ctx:t,cfg:n,commandAuthorized:r}=e,i=t.CommandSource===`native`?t.CommandTargetSessionKey?.trim():void 0,a=i&&i!==t.SessionKey?{...t,SessionKey:i}:t,o=n.session,s=w(o?.mainKey),c=g({sessionKey:a.SessionKey,config:n}),l=to(a)??void 0,u=o?.resetTriggers?.length?o.resetTriggers:Ue,d=XWe(n),f=o?.scope??`per-sender`,p=_e(o?.store,{agentId:c}),m=zr(p,{skipCache:!0}),h,_,v,y=!1,b,x=!1,S=!1,C=!1,T,E,D,O,k,A,j,M=wi(t.ChatType),N=M!=null&&M!==`direct`?!0:!!l,P=t.BodyForCommands??t.CommandBody??t.RawBody??t.Body??``,F=rD(P).trim(),I=P.trim(),L=sh({ctx:t,cfg:n,commandAuthorized:r}).isAuthorizedSender,R=N?iD(F,t,n,c):F,z=!!nGe({cfg:n,ctx:a}),B=e=>z&&Ue.some(t=>t.toLowerCase()===e),V=I.toLowerCase(),H=R.toLowerCase();for(let e of u){if(!e)continue;if(!L)break;let t=e.toLowerCase();if(V===t||H===t){if(B(t))break;y=!0,b=``,C=!0;break}let n=`${t} `;if(V.startsWith(n)||H.startsWith(n)){if(B(t))break;y=!0,b=R.slice(e.length).trimStart(),C=!0;break}}h=mn(f,a,s);let U=YWe({sessionCfg:o,sessionKey:h,sessionStore:m,agentId:c,mainKey:s,isGroup:N,ctx:t});U&&(m[U.key]=U.entry);let W=m[h],ee=Date.now(),te=ite({sessionKey:h,messageThreadId:t.MessageThreadId,threadLabel:t.ThreadLabel,threadStarterBody:t.ThreadStarterBody,parentSessionKey:t.ParentSessionKey}),ne=Jt({sessionCfg:o,resetType:Sn({sessionKey:h,isGroup:N,isThread:te}),resetOverride:Ft({sessionCfg:o,channel:l?.channel??t.OriginatingChannel??t.Surface??t.Provider})}),re=W?ht({updatedAt:W.updatedAt,now:ee,policy:ne}).fresh:!1,ie=(C||!re)&&W?{...W}:void 0;Lb({sessionKey:h,previousSessionId:ie?.sessionId}),!y&&re?(v=W.sessionId,x=W.systemSent??!1,S=W.abortedLastRun??!1,T=W.thinkingLevel,E=W.verboseLevel,D=W.reasoningLevel,O=W.ttsAuto,k=W.modelOverride,A=W.providerOverride,j=W.label):(v=Jf.randomUUID(),y=!0,x=!1,S=!1,C&&W&&(T=W.thinkingLevel,E=W.verboseLevel,D=W.reasoningLevel,O=W.ttsAuto,k=W.modelOverride,A=W.providerOverride,j=W.label));let G=!y&&re?W:void 0,oe=t.OriginatingChannel,se=qWe({originatingChannelRaw:oe,persistedLastChannel:G?.lastChannel,sessionKey:h}),ce=JWe({originatingChannelRaw:oe,originatingToRaw:t.OriginatingTo,toRaw:t.To,persistedLastTo:G?.lastTo,persistedLastChannel:G?.lastChannel,sessionKey:h}),le=t.AccountId||G?.lastAccountId,ue=t.MessageThreadId||(te?G?.lastThreadId:void 0),de=kn({deliveryContext:{channel:se,to:ce,accountId:le,threadId:ue}}),fe=de.lastChannel??se,pe=de.lastTo??ce,me=de.lastAccountId??le,he=de.lastThreadId??ue;_={...G,sessionId:v,updatedAt:Date.now(),systemSent:x,abortedLastRun:S,thinkingLevel:T??G?.thinkingLevel,verboseLevel:E??G?.verboseLevel,reasoningLevel:D??G?.reasoningLevel,ttsAuto:O??G?.ttsAuto,responseUsage:G?.responseUsage,modelOverride:k??G?.modelOverride,providerOverride:A??G?.providerOverride,label:j??G?.label,sendPolicy:G?.sendPolicy,queueMode:G?.queueMode,queueDebounceMs:G?.queueDebounceMs,queueCap:G?.queueCap,queueDrop:G?.queueDrop,displayName:G?.displayName,chatType:G?.chatType,channel:G?.channel,groupId:G?.groupId,subject:G?.subject,groupChannel:G?.groupChannel,space:G?.space,deliveryContext:de.deliveryContext,lastChannel:fe,lastTo:pe,lastAccountId:me,lastThreadId:he};let ge=ja({ctx:a,sessionKey:h,existing:_,groupResolution:l});ge&&(_={..._,...ge}),_.chatType||=`direct`;let ve=t.ThreadLabel?.trim();ve&&(_.displayName=ve);let ye=t.ParentSessionKey?.trim(),be=_.forkedFromParent===!0;if(ye&&ye!==h&&m[ye]&&!be){let e=m[ye].totalTokens??0;if(d>0&&e>d)J9.warn(`skipping parent fork (parent too large): parentKey=${ye} → sessionKey=${h} parentTokens=${e} maxTokens=${d}`),_.forkedFromParent=!0;else{J9.warn(`forking from parent session: parentKey=${ye} → sessionKey=${h} parentTokens=${e}`);let t=ZWe({parentEntry:m[ye],agentId:c,sessionsDir:Y.dirname(p)});t&&(v=t.sessionId,_.sessionId=t.sessionId,_.sessionFile=t.sessionFile,_.forkedFromParent=!0,J9.warn(`forked session created: file=${t.sessionFile}`))}}let xe=_.sessionFile?void 0:ae(_.sessionId,c,t.MessageThreadId);_=(await Fee({sessionId:_.sessionId,sessionKey:h,sessionStore:m,storePath:p,sessionEntry:_,agentId:c,sessionsDir:Y.dirname(p),fallbackSessionFile:xe,activeSessionKey:h})).sessionEntry,y&&(_.compactionCount=0,_.memoryFlushCompactionCount=void 0,_.memoryFlushAt=void 0,_.totalTokens=void 0,_.inputTokens=void 0,_.outputTokens=void 0,_.contextTokens=void 0),m[h]={...m[h],..._},await ra(p,e=>{e[h]={...e[h],..._},U&&(e[U.key]=U.entry)},{activeSessionKey:h,onWarn:e=>WWe({cfg:n,sessionKey:h,entry:_,warning:e})}),ie?.sessionId&&io({sessionId:ie.sessionId,storePath:p,sessionFile:ie.sessionFile,agentId:c,reason:`reset`});let Se={...t,BodyStripped:Rm(b??t.BodyForAgent??t.Body??t.CommandBody??t.RawBody??t.BodyForCommands??``),SessionId:v,IsNewSession:y?`true`:`false`},Ce=ju();if(Ce&&y){let e=v??``;if(ie?.sessionId&&ie.sessionId!==e&&Ce.hasHooks(`session_end`)){let e=$We({sessionId:ie.sessionId,sessionKey:h,cfg:n});Ce.runSessionEnd(e.event,e.context).catch(()=>{})}if(Ce.hasHooks(`session_start`)){let t=QWe({sessionId:e,sessionKey:h,cfg:n,resumedFrom:ie?.sessionId});Ce.runSessionStart(t.event,t.context).catch(()=>{})}}return{sessionCtx:Se,sessionEntry:_,previousSessionEntry:ie,sessionStore:m,sessionKey:h,sessionId:v??Jf.randomUUID(),isNewSession:y,resetTriggered:C,systemSent:x,abortedLastRun:S,storePath:p,sessionScope:f,groupResolution:l,isGroup:N,bodyStripped:b,triggerBodyNormalized:F}}const X9=Yee;async function iGe(e){let{ctx:t,sessionCtx:n,cfg:r,sessionKey:i,workspaceDir:a}=e,o=Array.isArray(t.MediaPaths)&&t.MediaPaths.length>0,s=oGe(t);if(s.length===0||!i)return;let c=await En({config:r,sessionKey:i,workspaceDir:a}),l=t.MediaRemoteHost?Y.join(Vo,`media`,`remote-cache`,i):null,u=c?.workspaceDir??l;if(!u)return;await Wf.mkdir(u,{recursive:!0});let d=ei({cfg:r,accountId:t.AccountId}),f=new Set,p=new Map;for(let e of s){let n=Q9(e);if(!n||p.has(n)||!await sGe({source:n,mediaRemoteHost:t.MediaRemoteHost,remoteAttachmentRoots:d}))continue;let r=cGe(n,f);if(!r)continue;let i=c?Y.join(`media`,`inbound`,r):r,a=Y.join(u,i);try{t.MediaRemoteHost?await aGe({remoteHost:t.MediaRemoteHost,remotePath:n,rootDir:u,relativeDestPath:i,maxBytes:X9}):await Z9({sourcePath:n,rootDir:u,relativeDestPath:i,maxBytes:X9})}catch(e){e instanceof Te&&e.code===`too-large`?K(`Blocking inbound media staging above ${X9} bytes: ${n}`):K(`Failed to stage inbound media path ${n}: ${String(e)}`);continue}let o=c?Y.posix.join(`media`,`inbound`,r):a;p.set(n,o)}lGe({ctx:t,sessionCtx:n,rawPaths:s,staged:p,hasPathsArray:o})}async function Z9(e){await i({sourcePath:e.sourcePath,rootDir:e.rootDir,relativePath:e.relativeDestPath,maxBytes:e.maxBytes})}async function aGe(e){let t=Bo();await Wf.mkdir(t,{recursive:!0});let n=await Wf.mkdtemp(Y.join(t,`stage-sandbox-media-`)),r=Y.join(n,`download`);try{await uGe(e.remoteHost,e.remotePath,r),await Z9({sourcePath:r,rootDir:e.rootDir,relativeDestPath:e.relativeDestPath,maxBytes:e.maxBytes})}finally{await Wf.rm(n,{recursive:!0,force:!0}).catch(()=>{})}}function oGe(e){let t=Array.isArray(e.MediaPaths)?e.MediaPaths:void 0;return t&&t.length>0?t:e.MediaPath?.trim()?[e.MediaPath.trim()]:[]}function Q9(e){let t=e.trim();if(!t)return null;if(t.startsWith(`file://`))try{t=qf(t)}catch{return null}return Y.isAbsolute(t)?t:null}async function sGe(e){if(e.mediaRemoteHost)return Kr({filePath:e.source,roots:e.remoteAttachmentRoots})?!0:(K(`Blocking remote media staging from disallowed attachment path: ${e.source}`),!1);let t=Pee();if(!Kr({filePath:e.source,roots:[t]}))return K(`Blocking attempt to stage media from outside media directory: ${e.source}`),!1;try{return await yn({filePath:e.source,cwd:t,root:t}),!0}catch{return K(`Blocking attempt to stage media from outside media directory: ${e.source}`),!1}}function cGe(e,t){let n=Y.basename(e);if(!n)return null;let r=Y.parse(n),i=n,a=1;for(;t.has(i);)i=`${r.name}-${a}${r.ext}`,a+=1;return t.add(i),i}function lGe(e){let t=t=>{let n=t?.trim();if(!n)return t;let r=Q9(n);return r?e.staged.get(r)??t:t},n=e.hasPathsArray?e.rawPaths.map(e=>t(e)??e):void 0;if(n)e.ctx.MediaPaths=n,e.sessionCtx.MediaPaths=n,e.ctx.MediaPath=n[0],e.sessionCtx.MediaPath=n[0];else{let n=t(e.ctx.MediaPath);n&&n!==e.ctx.MediaPath&&(e.ctx.MediaPath=n,e.sessionCtx.MediaPath=n)}if(Array.isArray(e.ctx.MediaUrls)&&e.ctx.MediaUrls.length>0){let n=e.ctx.MediaUrls.map(e=>t(e)??e);e.ctx.MediaUrls=n,e.sessionCtx.MediaUrls=n}let r=t(e.ctx.MediaUrl);r&&r!==e.ctx.MediaUrl&&(e.ctx.MediaUrl=r,e.sessionCtx.MediaUrl=r)}async function uGe(e,t,n){let r=fi(e);if(!r)throw Error(`invalid remote host for SCP`);return new Promise((e,i)=>{let a=np(`/usr/bin/scp`,[`-o`,`BatchMode=yes`,`-o`,`StrictHostKeyChecking=yes`,`--`,`${r}:${t}`,n],{stdio:[`ignore`,`ignore`,`pipe`]}),o=``;a.stderr?.setEncoding(`utf8`),a.stderr?.on(`data`,e=>{o+=e}),a.once(`error`,i),a.once(`exit`,t=>{t===0?e():i(Error(`scp failed (${t}): ${o.trim()}`))})})}function dGe(e){let{onReplyStart:t,onCleanup:n,typingIntervalSeconds:r=6,typingTtlMs:i=2*6e4,silentToken:a=ql,log:o}=e,s=!1,c=!1,l=!1,u=!1,d=!1,f,p=r*1e3,m=e=>e%6e4==0?`${e/6e4}m`:`${Math.round(e/1e3)}s`,h=()=>{s=!1,c=!1,l=!1,u=!1},g=()=>{d||=(f&&=(clearTimeout(f),void 0),E&&=(clearTimeout(E),void 0),x.stop(),c&&n?.(),h(),!0)},_=()=>{d||!p||p<=0||i<=0||(f&&clearTimeout(f),f=setTimeout(()=>{x.isRunning()&&(o?.(`typing TTL reached (${m(i)}); stopping typing indicator`),g())},i))},v=()=>c&&!d,y=PM({isSealed:()=>d,shouldBlock:()=>l,rethrowOnError:!0}),b=async()=>{await y.run(async()=>{await t?.()})},x=NM({intervalMs:p,onTick:b}),S=async()=>{d||l||(c||=!0,!s&&(s=!0,await b()))},C=()=>{c&&l&&u&&g()},w=async()=>{d||l||(_(),t&&(x.isRunning()||(await S(),x.start())))},T=async e=>{if(d)return;let t=e?.trim();t&&(a&&(Kl(t,a)||Jl(t,a))||(_(),await w()))},E;return{onReplyStart:S,startTypingLoop:w,startTypingOnText:T,refreshTypingTtl:_,isActive:v,markRunComplete:()=>{l=!0,C(),!d&&!u&&(E=setTimeout(()=>{!d&&!u&&(o?.(`typing: dispatch idle not received after run complete; forcing cleanup`),g())},1e4))},markDispatchIdle:()=>{u=!0,E&&=(clearTimeout(E),void 0),C()},cleanup:g}}function fGe(e,t){let n=e=>{if(Array.isArray(e))return a(e)},r=n(e),i=n(t);if(!r&&!i)return;if(!r)return i;if(!i)return r;if(r.length===0||i.length===0)return[];let o=new Set(i);return r.filter(e=>o.has(e))}async function $9(e,t,n){let r=process.env.OPENCLAW_TEST_FAST===`1`,i=n??ur(),a=g({sessionKey:(e.CommandSource===`native`?e.CommandTargetSessionKey?.trim():void 0)||e.SessionKey,config:i}),o=fGe(t?.skillFilter,N(i,a)),s=o===void 0?t:{...t,skillFilter:o},c=i.agents?.defaults,l=i.session,{defaultProvider:u,defaultModel:d,aliasIndex:f}=qHe({cfg:i,agentId:a}),p=u,m=d,h=!1;if(t?.isHeartbeat){let e=t.heartbeatModelOverride?.trim()??c?.heartbeat?.model?.trim()??``,n=e?Aa({raw:e,defaultProvider:u,aliasIndex:f}):null;n&&(p=n.ref.provider,m=n.ref.model,h=!0)}let _=(await oe({dir:L(i,a)??B,ensureBootstrapFiles:!c?.skipBootstrap&&!r})).dir,v=F(i,a),y=Pm({cfg:i,overrideSeconds:t?.timeoutOverrideSeconds}),b=c?.typingIntervalSeconds??l?.typingIntervalSeconds,x=typeof b==`number`?b:6,S=dGe({onReplyStart:t?.onReplyStart,onCleanup:t?.onTypingCleanup,typingIntervalSeconds:x,silentToken:ql,log:Po.log});t?.onTypingController?.(S);let C=Um(e);r||(await rh({ctx:C,cfg:i,agentDir:v,activeModel:{provider:p,model:m}}),await Kre({ctx:C,cfg:i})),NWe({ctx:C,cfg:i,isFastTestEnv:r});let w=C.CommandAuthorized;sh({ctx:C,cfg:i,commandAuthorized:w});let{sessionCtx:T,sessionEntry:E,previousSessionEntry:D,sessionStore:O,sessionKey:k,sessionId:A,isNewSession:j,resetTriggered:M,systemSent:P,abortedLastRun:I,storePath:R,sessionScope:z,groupResolution:V,isGroup:H,triggerBodyNormalized:U,bodyStripped:W}=await rGe({ctx:C,cfg:i,commandAuthorized:w});await LWe({cfg:i,resetTriggered:M,bodyStripped:W,sessionCtx:T,ctx:C,sessionEntry:E,sessionStore:O,sessionKey:k,storePath:R,defaultProvider:u,defaultModel:d,aliasIndex:f});let ee=Lm({cfg:i,channel:V?.channel??E.channel??E.origin?.provider??(typeof C.OriginatingChannel==`string`?C.OriginatingChannel:void 0)??C.Provider,groupId:V?.id??E.groupId,groupChannel:E.groupChannel??T.GroupChannel??C.GroupChannel,groupSubject:E.subject??T.GroupSubject??C.GroupSubject,parentSessionKey:T.ParentSessionKey}),te=!!(E.modelOverride?.trim()||E.providerOverride?.trim());if(!h&&!te&&ee){let e=Aa({raw:ee.model,defaultProvider:u,aliasIndex:f});e&&(p=e.ref.provider,m=e.ref.model)}let ne=await vUe({ctx:C,cfg:i,agentId:a,agentDir:v,workspaceDir:_,agentCfg:c,sessionCtx:T,sessionEntry:E,sessionStore:O,sessionKey:k,storePath:R,sessionScope:z,groupResolution:V,isGroup:H,triggerBodyNormalized:U,commandAuthorized:w,defaultProvider:u,defaultModel:d,aliasIndex:f,provider:p,model:m,hasResolvedHeartbeatModelOverride:h,typing:S,opts:s,skillFilter:o});if(ne.kind===`reply`){let e=AHe(U);return e?(S.cleanup(),{text:e}):ne.reply}let{commandSource:re,command:ie,allowTextCommands:G,skillCommands:ae,directives:se,cleanedBody:ce,elevatedEnabled:le,elevatedAllowed:ue,elevatedFailures:de,defaultActivation:fe,resolvedThinkLevel:pe,resolvedVerboseLevel:me,resolvedReasoningLevel:he,resolvedElevatedLevel:ge,execOverrides:_e,blockStreamingEnabled:ve,blockReplyChunking:ye,resolvedBlockStreamingBreak:be,provider:xe,model:Se,modelState:Ce,contextTokens:we,inlineStatusRequested:Te,directiveAck:Ee,perMessageQueueMode:De,perMessageQueueOptions:Oe}=ne.result;p=xe,m=Se;let ke=async()=>{if(!M||!ie.isAuthorizedSender||ie.resetHookTriggered)return;let t=ie.commandBodyNormalized.match(/^\/(new|reset)(?:\s|$)/);t&&await P7({action:t[1]===`reset`?`reset`:`new`,ctx:e,cfg:i,command:ie,sessionKey:k,sessionEntry:E,previousSessionEntry:D,workspaceDir:_})},Ae=await SUe({ctx:e,sessionCtx:T,cfg:i,agentId:a,agentDir:v,sessionEntry:E,previousSessionEntry:D,sessionStore:O,sessionKey:k,storePath:R,sessionScope:z,workspaceDir:_,isGroup:H,opts:s,typing:S,allowTextCommands:G,inlineStatusRequested:Te,command:ie,skillCommands:ae,directives:se,cleanedBody:ce,elevatedEnabled:le,elevatedAllowed:ue,elevatedFailures:de,defaultActivation:()=>fe,resolvedThinkLevel:pe,resolvedVerboseLevel:me,resolvedReasoningLevel:he,resolvedElevatedLevel:ge,resolveDefaultThinkingLevel:Ce.resolveDefaultThinkingLevel,provider:p,model:m,contextTokens:we,directiveAck:Ee,abortedLastRun:I,skillFilter:o});return Ae.kind===`reply`?(await ke(),Ae.reply):(await ke(),se=Ae.directives,I=Ae.abortedLastRun??I,await iGe({ctx:e,sessionCtx:T,cfg:i,sessionKey:k,workspaceDir:_}),MWe({ctx:e,sessionCtx:T,cfg:i,agentId:a,agentDir:v,agentCfg:c,sessionCfg:l,commandAuthorized:w,command:ie,commandSource:re,allowTextCommands:G,directives:se,defaultActivation:fe,resolvedThinkLevel:pe,resolvedVerboseLevel:me,resolvedReasoningLevel:he,resolvedElevatedLevel:ge,execOverrides:_e,elevatedEnabled:le,elevatedAllowed:ue,blockStreamingEnabled:ve,blockReplyChunking:ye,resolvedBlockStreamingBreak:be,modelState:Ce,provider:p,model:m,perMessageQueueMode:De,perMessageQueueOptions:Oe,typing:S,opts:s,defaultProvider:u,defaultModel:d,timeoutMs:y,isNewSession:j,resetTriggered:M,systemSent:P,sessionEntry:E,sessionStore:O,sessionKey:k,sessionId:A,storePath:R,workspaceDir:_,abortedLastRun:I}))}export{BO as A,Jue as B,the as C,eA as D,tA as E,$E as F,Lw as G,LE as H,eD as I,Um as J,Kx as K,Zue as L,VO as M,mD as N,Zk as O,gD as P,UE as R,LA as S,rA as T,que as U,VE as V,Yue as W,UA as _,MX as a,VA as b,Fq as c,PF as d,AP as f,_M as g,xM as h,wZ as i,rk as j,WO as k,sR as l,EM as m,PLe as n,Jxe as o,SP as p,Jx as q,fQ as r,Wye as s,$9 as t,NF as u,Khe as v,nA as w,BA as x,WA as y,Que as z};
@@ -1 +1 @@
1
- const e=require(`./config-DT_csBcZ.cjs`),t=require(`./target-errors-QWTCk98R.cjs`);function n(n){let r=n.to?.trim()??``,i=(n.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e.fo(t)).filter(e=>!!e);if(r){let n=e.fo(r);return n&&(e.do(n)||a||o.length===0||o.includes(n))?{ok:!0,to:n}:{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
1
+ const e=require(`./config-DT_csBcZ.cjs`),t=require(`./target-errors-QWTCk98R.cjs`);function n(n){let r=n.to?.trim()??``,i=(n.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e.fo(t)).filter(e=>!!e);if(r){let n=e.fo(r);return n&&(e.do(n)||a||o.length===0||o.includes(n))?{ok:!0,to:n}:{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:t.n(`WhatsApp`,`<E.164|group JID>`)}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -1 +1 @@
1
- const e=require(`./sessions-CJbvfO6m.cjs`),t=require(`./common-CjMKHm2Z.cjs`);function n(n){let r=n.to?.trim()??``,i=(n.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e.ws(t)).filter(e=>!!e);if(r){let n=e.ws(r);return n&&(e.Cs(n)||a||o.length===0||o.includes(n))?{ok:!0,to:n}:{ok:!1,error:t.m(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:t.m(`WhatsApp`,`<E.164|group JID>`)}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
1
+ const e=require(`./sessions-CJbvfO6m.cjs`),t=require(`./common-CjMKHm2Z.cjs`);function n(n){let r=n.to?.trim()??``,i=(n.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),a=i.includes(`*`),o=i.filter(e=>e!==`*`).map(t=>e.ws(t)).filter(e=>!!e);if(r){let n=e.ws(r);return n&&(e.Cs(n)||a||o.length===0||o.includes(n))?{ok:!0,to:n}:{ok:!1,error:t.m(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:t.m(`WhatsApp`,`<E.164|group JID>`)}}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -1 +1 @@
1
- import{bs as e,ys as t}from"./sessions-BwTjGneU.js";import{m as n}from"./common-CEe87dmX.js";function r(r){let i=r.to?.trim()??``,a=(r.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),o=a.includes(`*`),s=a.filter(e=>e!==`*`).map(t=>e(t)).filter(e=>!!e);if(i){let r=e(i);return r&&(t(r)||o||s.length===0||s.includes(r))?{ok:!0,to:r}:{ok:!1,error:n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:n(`WhatsApp`,`<E.164|group JID>`)}}export{r as t};
1
+ import{bs as e,ys as t}from"./sessions-BwTjGneU.js";import{m as n}from"./common-CEe87dmX.js";function r(r){let i=r.to?.trim()??``,a=(r.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),o=a.includes(`*`),s=a.filter(e=>e!==`*`).map(t=>e(t)).filter(e=>!!e);if(i){let r=e(i);return r&&(t(r)||o||s.length===0||s.includes(r))?{ok:!0,to:r}:{ok:!1,error:n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:n(`WhatsApp`,`<E.164|group JID>`)}}export{r as t};
@@ -1 +1 @@
1
- import{do as e,uo as t}from"./config-LR8GH3Ws.js";import{n}from"./target-errors-BbQBR5da.js";function r(r){let i=r.to?.trim()??``,a=(r.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),o=a.includes(`*`),s=a.filter(e=>e!==`*`).map(t=>e(t)).filter(e=>!!e);if(i){let r=e(i);return r&&(t(r)||o||s.length===0||s.includes(r))?{ok:!0,to:r}:{ok:!1,error:n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:n(`WhatsApp`,`<E.164|group JID>`)}}export{r as t};
1
+ import{do as e,uo as t}from"./config-LR8GH3Ws.js";import{n}from"./target-errors-BbQBR5da.js";function r(r){let i=r.to?.trim()??``,a=(r.allowFrom??[]).map(e=>String(e).trim()).filter(Boolean),o=a.includes(`*`),s=a.filter(e=>e!==`*`).map(t=>e(t)).filter(e=>!!e);if(i){let r=e(i);return r&&(t(r)||o||s.length===0||s.includes(r))?{ok:!0,to:r}:{ok:!1,error:n(`WhatsApp`,`<E.164|group JID>`)}}return{ok:!1,error:n(`WhatsApp`,`<E.164|group JID>`)}}export{r as t};
@@ -1 +1 @@
1
- import{It as e,N as t,_ as n,f as r,g as i,h as a}from"./paths-piJASC5k.js";import{c as o,d as s,l as c,o as l}from"./paths-BpQOWYiT.js";import{I as u,O as d,R as f,a as p,b as m}from"./logger-DwWqfo66.js";import{Ba as h,Di as g,Eo as _,Lo as v,To as y,cr as b,jn as x,ka as S,lr as C,or as w,sr as T,ur as E,wi as D,xi as ee}from"./model-auth-eNVBeC-B.js";import{_ as te,i as ne,n as re,t as ie}from"./ir-BzZArF6l.js";import{n as ae}from"./proxy-fetch-Del551nu.js";import{n as O,r as k,t as oe}from"./targets-BSkiizml.js";import{t as se}from"./render-DhTJXP1U.js";import{t as ce}from"./load-options-BcSg1ODN.js";import{n as le}from"./polls-CSKMbBIS.js";import{i as ue,n as A}from"./channel-activity-Cia2G3v5.js";import{t as de}from"./fetch-B27H-XCf.js";import j from"node:fs";import M from"node:path";import fe from"node:os";import pe from"json5";import me,{randomBytes as he}from"node:crypto";import{Bot as ge,HttpError as _e,InputFile as ve}from"grammy";function ye(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function be(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 xe(...e){for(let t of e)if(t!==void 0)return t}function Se(e,t,n){return e.hasEntries?e.hasWildcard?!0:t?e.entries.includes(t):!1:n}function Ce(){return _().filter(e=>e.pairing).map(e=>e.id)}function we(e){return y(e)?.pairing??null}async function Te(e,t){try{let n=m(await j.promises.readFile(e,`utf-8`));return n==null?{value:t,exists:!0}:{value:n,exists:!0}}catch(e){return e.code,{value:t,exists:!1}}}async function Ee(e,t){await x(e,t,{mode:384,trailingNewline:!0,ensureDirMode:448})}const De={retries:{retries:10,factor:2,minTimeout:100,maxTimeout:1e4,randomize:!0},stale:3e4},Oe=new Map;function N(e=process.env){return l(e,o(e,()=>s(e,fe.homedir)))}function ke(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 Ae(e,t=process.env){return M.join(N(t),`${ke(e)}-pairing.json`)}function je(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 P(e,t=process.env,n){let r=ke(e),i=typeof n==`string`?n.trim():``;return i?M.join(N(t),`${r}-${je(i)}-allowFrom.json`):M.join(N(t),`${r}-allowFrom.json`)}async function Me(e,t){return await Te(e,t)}async function F(e,t){await Ee(e,t)}async function Ne(e){let{value:t}=await Me(e,{version:1,requests:[]});return Array.isArray(t.requests)?t.requests:[]}async function Pe(e,t){try{await j.promises.access(e)}catch{await F(e,t)}}async function Fe(e,t,n){return await Pe(e,t),await h(e,De,async()=>await n())}function Ie(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function Le(e,t){let n=Ie(e.createdAt);return n?t-n>36e5:!0}function Re(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 ze(e){return Ie(e.lastSeenAt)??Ie(e.createdAt)??0}function Be(e,t){return t<=0||e.length<=t?{requests:e,removed:!1}:{requests:e.slice().toSorted((e,t)=>ze(e)-ze(t)).slice(-t),removed:!0}}function Ve(){let e=``;for(let t=0;t<8;t++){let t=me.randomInt(0,32);e+=`ABCDEFGHJKLMNPQRSTUVWXYZ23456789`[t]}return e}function He(e){for(let t=0;t<500;t+=1){let t=Ve();if(!e.has(t))return t}throw Error(`failed to generate unique pairing code`)}function Ue(e){return e?.trim().toLowerCase()||``}function We(e,t){return t?String(e.meta?.accountId??``).trim().toLowerCase()===t:!0}function Ge(e){return!e||e===`default`}function Ke(e){return Ue(e)||`default`}function qe(e){return String(e).trim()}function Je(e,t){let n=t.trim();if(!n||n===`*`)return``;let r=we(e),i=r?.normalizeAllowEntry?r.normalizeAllowEntry(n):n;return String(i).trim()}function Ye(e,t){return Ze((Array.isArray(t.allowFrom)?t.allowFrom:[]).map(t=>Je(e,String(t))).filter(Boolean))}function Xe(e,t){return Je(e,qe(t))}function Ze(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 Qe(e,t){return(await rt(e,t)).entries}function $e(e){return{exists:e.exists,mtimeMs:e.mtimeMs,size:e.size,entries:e.entries.slice()}}function et(e,t){Oe.set(e,$e(t))}function tt(e){let t=Oe.get(e.filePath);return!t||t.exists!==e.exists||e.exists&&(t.mtimeMs!==e.mtimeMs||t.size!==e.size)?null:$e(t)}function nt(e,t){let n=tt({filePath:e,exists:!!t,mtimeMs:t?.mtimeMs??null,size:t?.size??null});return n?{entries:n.entries,exists:n.exists}:t?null:(et(e,{exists:!1,mtimeMs:null,size:null,entries:[]}),{entries:[],exists:!1})}async function rt(e,t){let n=null;try{n=await j.promises.stat(t)}catch(e){if(e.code!==`ENOENT`)throw e}let r=nt(t,n);if(r)return r;if(!n)return{entries:[],exists:!1};let{value:i,exists:a}=await Me(t,{version:1,allowFrom:[]}),o=Ye(e,i);return et(t,{exists:a,mtimeMs:n.mtimeMs,size:n.size,entries:o}),{entries:o,exists:a}}async function it(e){let{value:t}=await Me(e.filePath,{version:1,allowFrom:[]});return{current:Ye(e.channel,t),normalized:Xe(e.channel,e.entry)||null}}async function at(e,t){await F(e,{version:1,allowFrom:t});let n=null;try{n=await j.promises.stat(e)}catch{}et(e,{exists:!0,mtimeMs:n?.mtimeMs??null,size:n?.size??null,entries:t.slice()})}async function ot(e){let t=P(e.channel,e.env,e.accountId);return await Qe(e.channel,t)}async function st(e){let t=e.env??process.env,n=P(e.channel,t,e.accountId);return await Fe(n,{version:1,allowFrom:[]},async()=>{let{current:t,normalized:r}=await it({channel:e.channel,entry:e.entry,filePath:n});if(!r)return{changed:!1,allowFrom:t};let i=e.apply(t,r);return i?(await at(n,i),{changed:!0,allowFrom:i}):{changed:!1,allowFrom:t}})}async function ct(e,t=process.env,n){let r=Ke(n);if(!Ge(r))return await ot({channel:e,env:t,accountId:r});let i=await Qe(e,P(e,t,r)),a=await Qe(e,P(e,t));return Ze([...i,...a])}async function lt(e){return await st({channel:e.channel,entry:e.entry,accountId:e.accountId,env:e.env,apply:e.apply})}async function ut(e,t){return await lt({...e,apply:t})}async function dt(e){return await ut(e,(e,t)=>e.includes(t)?null:[...e,t])}async function ft(e){return await ut(e,(e,t)=>{let n=e.filter(e=>e!==t);return n.length===e.length?null:n})}async function pt(e){let t=e.env??process.env,n=Ae(e.channel,t);return await Fe(n,{version:1,requests:[]},async()=>{let t=new Date().toISOString(),r=Date.now(),i=qe(e.id),a=Ue(e.accountId)||`default`,o={...e.meta&&typeof e.meta==`object`?Object.fromEntries(Object.entries(e.meta).map(([e,t])=>[e,String(t??``).trim()]).filter(([e,t])=>!!t)):void 0,accountId:a},s=await Ne(n),{requests:c,removed:l}=Re(s,r);s=c;let u=a,d=s.findIndex(e=>e.id===i?We(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():``)||He(f),a={id:i,code:r,createdAt:e?.createdAt??t,lastSeenAt:t,meta:o??e?.meta};s[d]=a;let{requests:c}=Be(s,3);return await F(n,{version:1,requests:c}),{code:r,created:!1}}let{requests:p,removed:m}=Be(s,3);if(s=p,s.length>=3)return(l||m)&&await F(n,{version:1,requests:s}),{code:``,created:!1};let h=He(f),g={id:i,code:h,createdAt:t,lastSeenAt:t,...o?{meta:o}:{}};return await F(n,{version:1,requests:[...s,g]}),{code:h,created:!0}})}const mt=new Set([`.oga`,`.ogg`,`.opus`,`.mp3`,`.m4a`]),ht=new Set([`audio/ogg`,`audio/opus`,`audio/mpeg`,`audio/mp3`,`audio/mp4`,`audio/x-m4a`,`audio/m4a`]);function gt(e){let t=n(e.contentType);if(t&&ht.has(t))return!0;let i=e.fileName?.trim();if(!i)return!1;let a=r(i);return a?mt.has(a):!1}function _t(e){return gt(e)}function I(e){return e.trim().toLowerCase()}function vt(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 yt(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 bt(e,t=process.env){let n=Array.isArray(e?.diagnostics?.flags)?e?.diagnostics?.flags:[],r=vt(t.OPENCLAW_DIAGNOSTICS);return yt([...n,...r])}function xt(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 St(e,t,n=process.env){return xt(e,bt(t,n))}const Ct=d(`telegram/api`);function wt(e,t){return t||(e?.error?e.error:e=>Ct.error(e))}async function Tt({operation:e,fn:t,runtime:n,logger:r,shouldLog:i}){try{return await t()}catch(t){if(!i||i(t)){let i=b(t);wt(n,r)(u(`telegram ${e} failed: ${i}`))}throw t}}function Et(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 Dt(e){return Number.isFinite(e)?` ±${Math.round(e??0)}m`:``}function Ot(e,t){return`${e.toFixed(6)}, ${t.toFixed(6)}`}function kt(e){let t=Et(e),n=Ot(t.latitude,t.longitude),r=Dt(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 At(e){let t=Et(e);return{LocationLat:t.latitude,LocationLon:t.longitude,LocationAccuracy:t.accuracy,LocationName:t.name,LocationAddress:t.address,LocationSource:t.source,LocationIsLive:t.isLive}}const jt=new Set,Mt=d(`telegram/bot-access`);function Nt(e){if(!process.env.VITEST)for(let t of e)jt.has(t)||(jt.add(t),Mt.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 Pt=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&&Nt([...new Set(i)]),{entries:r.filter(e=>/^\d+$/.test(e)),hasWildcard:n,hasEntries:t.length>0,invalidEntries:i}},Ft=e=>Pt(ye(e)),It=e=>{let{allow:t,senderId:n}=e;return Se(t,n,!0)},Lt=e=>{let{allow:t,senderId:n}=e;return t.hasWildcard?{allowed:!0,matchKey:`*`,matchSource:`wildcard`}:t.hasEntries&&n&&t.entries.includes(n)?{allowed:!0,matchKey:n,matchSource:`id`}:{allowed:!1}};async function Rt(t){let n=e(t.accountId),r=Bt({isGroup:t.isGroup??!1,isForum:t.isForum,messageThreadId:t.messageThreadId}),i=r.scope===`forum`?r.id:void 0,a=r.scope===`dm`?r.id:void 0,o=i??a,s=await ct(`telegram`,process.env,n).catch(()=>[]),{groupConfig:c,topicConfig:l}=t.resolveTelegramGroupConfig(t.chatId,o),u=xe(l?.allowFrom,c?.allowFrom);return{resolvedThreadId:i,dmThreadId:a,storeAllowFrom:s,groupConfig:c,topicConfig:l,groupAllowOverride:u,effectiveGroupAllow:Pt(u??t.groupAllowFrom),hasGroupAllowOverride:u!==void 0}}function zt(e){if(e.isForum)return e.messageThreadId==null?1:e.messageThreadId}function Bt(e){return e.isGroup?{id:zt({isForum:e.isForum,messageThreadId:e.messageThreadId}),scope:e.isForum?`forum`:`none`}:e.messageThreadId==null?{scope:`dm`}:{id:e.messageThreadId,scope:`dm`}}function Vt(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 Ht(e){if(e!=null)return{message_thread_id:Math.trunc(e)}}function Ut(e){return S(e)}function Wt(e,t){return t==null?String(e):`${e}:topic:${t}`}function Gt(e){return(e.senderId==null?``:String(e.senderId).trim())||String(e.chatId)}function Kt(e,t){return`telegram:group:${Wt(e,t)}`}function qt(e){if(!(!e.isGroup||e.resolvedThreadId==null))return{kind:`group`,id:String(e.chatId)}}function Jt(e){return[e.from?.first_name,e.from?.last_name].filter(Boolean).join(` `).trim()||e.from?.username||void 0}function Yt(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 Xt(e,t){let n=Jt(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 Zt(e,t,n){let r=e.chat?.title,i=n==null?``:` topic:${n}`;return r?`${r} id:${t}${i}`:`group:${t}${i}`}function Qt(e){return{text:e.text??e.caption??``,entities:e.entities??e.caption_entities??[]}}function $t(e){return e!=null&&/[a-z0-9_]/i.test(e)}function en(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(!$t(i)&&!$t(a))return!0;n=r+1}return!1}function tn(e,t){let{text:n,entities:r}=Qt(e),i=`@${t}`.toLowerCase();if(en(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 nn(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 rn(e){if(!e)return;let t=Number(e);if(Number.isFinite(t))return t}function an(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=Yt(o)??``,!i))){let e=pn(o);e&&(i=kt(e))}if(!i)return null;let s=(o?Jt(o):void 0)??`unknown sender`,c=o?.forward_origin?dn(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 on(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 sn(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 cn(e){let{display:t,name:n,username:r,id:i}=on(e.user);return t?{from:t,date:e.date,fromType:e.type,fromId:i,fromUsername:r,fromTitle:n}:null}function ln(e){let t=e.name?.trim();return t?{from:t,date:e.date,fromType:e.type,fromTitle:t}:null}function un(e){let t=e.type===`channel`?`channel`:`chat`,{display:n,title:r,username:i,id:a}=sn(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 dn(e){switch(e.type){case`user`:return cn({user:e.sender_user,date:e.date,type:`user`});case`hidden_user`:return ln({name:e.sender_user_name,date:e.date,type:`hidden_user`});case`chat`:return un({chat:e.sender_chat,date:e.date,type:`chat`,signature:e.author_signature});case`channel`:return un({chat:e.chat,date:e.date,type:`channel`,signature:e.author_signature,messageId:e.message_id});default:return null}}function fn(e){return e.forward_origin?dn(e.forward_origin):null}function pn(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 mn(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 hn(e){return L(e).replace(/"/g,`&quot;`)}const gn=new Set([`md`,`go`,`py`,`pl`,`sh`,`am`,`at`,`be`,`cc`]);function _n(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(!gn.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 vn(e,t){let n=e.href.trim();if(!n||e.start===e.end||_n(n,t.slice(e.start,e.end)))return null;let r=hn(n);return{start:e.start,end:e.end,open:`<a href="${r}">`,close:`</a>`}}function yn(e){return se(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:vn})}function bn(e,t={}){let n=yn(re(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:t.tableMode}));return t.wrapFileRefs===!1?n:On(n)}function xn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}const Sn=Array.from(gn).map(xn).join(`|`),Cn=/<a\s+href="https?:\/\/([^"]+)"[^>]*>\1<\/a>/gi,wn=RegExp(`(^|[^a-zA-Z0-9_\\-/])([a-zA-Z0-9_.\\-./]+\\.(?:${Sn}))(?=$|[^a-zA-Z0-9_\\-/])`,`gi`),Tn=RegExp(`([^a-zA-Z0-9]|^)([A-Za-z]\\.(?:${Sn}))(?=[^a-zA-Z0-9/]|$)`,`g`),R=/(<\/?)([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*?>/gi;function En(e,t,n){return n.startsWith(`//`)||/https?:\/\/$/i.test(t)?e:`${t}<code>${L(n)}</code>`}function Dn(e,t,n,r){return!e||t>0||n>0||r>0?e:e.replace(wn,En).replace(Tn,(e,t,n)=>t===`>`?e:`${t}<code>${L(n)}</code>`)}function On(e){Cn.lastIndex=0;let t=e.replace(Cn,(e,t)=>_n(`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+=Dn(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+=Dn(c,n,r,i),a}function z(e,t={}){return(t.textMode??`markdown`)===`html`?e:bn(e,{tableMode:t.tableMode})}const kn=new Set([`br`]);function An(e){return e.map(e=>e.openTag).join(``)}function jn(e){return e.slice().toReversed().map(e=>e.closeTag).join(``)}function Mn(e){return e.reduce((e,t)=>e+t.closeTag.length,0)}function Nn(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 Pn(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=Nn(e,r);return i===-1||i<n?n:r}function Fn(e,t){for(let n=e.length-1;n>=0;--n)if(e[n]?.name===t){e.splice(n,1);return}}function In(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=An(i),o=!1},c=()=>{o&&(r.push(`${a}${jn(i)}`),s())},l=e=>{let t=e;for(;t.length>0;){let e=n-a.length-Mn(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=Pn(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&&(kn.has(p)||s.trimEnd().endsWith(`/>`));if(!f){let e=m?0:`</${p}>`.length;o&&a.length+s.length+Mn(i)+e>n&&c()}a+=s,m&&(o=!0),f?Fn(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 Ln(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=Bn(e,Number.isFinite(a)&&a>0?a:Math.max(1,Math.floor(r/2)));return o.length>1?o:Bn(e,Math.max(1,Math.floor(r/2)))}function Rn(e,t,n){return e.flatMap(e=>{if(e.end<=t||e.start>=n)return[];let r=Math.max(e.start,t)-t,i=Math.min(e.end,n)-t;return i<=r?[]:[{...e,start:r,end:i}]})}function zn(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 Bn(e,t){if(!e.text)return[];let n=Math.max(1,Math.floor(t));if(n<=0||e.text.length<=n)return[e];let r=[],i=0;for(;i<e.text.length;){let t=Math.min(e.text.length,i+n);r.push({text:e.text.slice(i,t),styles:Rn(e.styles,i,t),links:zn(e.links,i,t)}),i=t}return r}function Vn(e,t){let n=Math.max(1,Math.floor(t)),r=ie(e,n),i=[];for(;r.length>0;){let e=r.shift();if(!e)continue;let t=On(yn(e));if(t.length<=n||e.text.length<=1){i.push({html:t,text:e.text});continue}let a=Ln(e,n,t.length);if(a.length<=1){i.push({html:t,text:e.text});continue}r.unshift(...a)}return i}function Hn(e,t,n={}){return Vn(re(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`]),Wn=new Set([`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`ENETUNREACH`,`EHOSTUNREACH`]),Gn=new Set([`AbortError`,`TimeoutError`,`ConnectTimeoutError`,`HeadersTimeoutError`,`BodyTimeoutError`]),Kn=new Set([`fetch failed`,`typeerror: fetch failed`]),qn=/^network request(?:\s+for\s+["']?[^"']+["']?)?\s+failed\s+after\b.*[!.]?$/i,Jn=[`undici`,`network error`,`network request`,`client network socket disconnected`,`socket hang up`,`getaddrinfo`,`timeout`,`timed out`];function B(e){return w(e,e=>{let t=[e.cause,e.reason];return Array.isArray(e.errors)&&t.push(...e.errors),E(e)===`HttpError`&&t.push(e.error),t})}function Yn(e){return e?.trim().toUpperCase()??``}function Xn(e){let t=T(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 Zn(e){if(!e)return!1;for(let t of B(e)){let e=Yn(Xn(t));if(e&&Wn.has(e))return!0}return!1}function Qn(e,t){for(let n of B(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 $n(e){return Qn(e,e=>e>=500)}function er(e){return Qn(e,e=>e>=400&&e<500)}function V(e,t={}){if(!e)return!1;let n=typeof t.allowMessageMatch==`boolean`?t.allowMessageMatch:t.context!==`send`;for(let t of B(e)){let e=Yn(Xn(t));if(e&&Un.has(e))return!0;let r=E(t);if(r&&Gn.has(r))return!0;let i=b(t).trim().toLowerCase();if(i&&Kn.has(i)||i&&qn.test(i)||n&&i&&Jn.some(e=>i.includes(e)))return!0}return!1}const tr=new Map;function nr(e){return String(e)}function rr(e){let t=Date.now();for(let[n,r]of e.timestamps)t-r>864e5&&e.timestamps.delete(n)}function H(e,t){let n=nr(e),r=tr.get(n);r||(r={timestamps:new Map},tr.set(n,r)),r.timestamps.set(t,Date.now()),r.timestamps.size>100&&rr(r)}function ir(e,t){let n=nr(e),r=tr.get(n);return r?(rr(r),r.timestamps.has(t)):!1}const ar=M.join(p,`cron`),or=M.join(ar,`jobs.json`),U=new Map;function sr(e){if(e?.trim()){let t=e.trim();return t.startsWith(`~`)?M.resolve(c(t)):M.resolve(t)}return or}async function cr(e){try{let t=await j.promises.readFile(e,`utf-8`),n;try{n=pe.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 U.set(e,JSON.stringify(i,null,2)),i}catch(t){if(t?.code===`ENOENT`)return U.delete(e),{version:1,jobs:[]};throw t}}async function lr(e){await j.promises.chmod(e,384).catch(()=>void 0)}async function ur(e,t,n){let r=M.dirname(e);await j.promises.mkdir(r,{recursive:!0,mode:448}),await j.promises.chmod(r,448).catch(()=>void 0);let i=JSON.stringify(t,null,2),a=U.get(e);if(a===i)return;let o=a??null;if(o===null)try{o=await j.promises.readFile(e,`utf-8`)}catch(e){if(e.code!==`ENOENT`)throw e}if(o===i){U.set(e,i);return}let s=`${e}.${process.pid}.${he(8).toString(`hex`)}.tmp`;if(await j.promises.writeFile(s,i,{encoding:`utf-8`,mode:384}),await lr(s),o!==null&&!n?.skipBackup)try{let t=`${e}.bak`;await j.promises.copyFile(e,t),await lr(t)}catch{}await dr(s,e),await lr(e),U.set(e,i)}async function dr(e,t){for(let n=0;n<=3;n++)try{await j.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 j.promises.copyFile(e,t),await j.promises.unlink(e).catch(()=>{});return}throw r}}const W=d(`telegram/target-writeback`);function fr(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function pr(e){let t=O(e);if(t)return t.startsWith(`@`)?t.toLowerCase():t}function mr(e){let t=k(e),n=pr(t.chatId);if(n)return`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`}function hr(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 gr(e){let t=k(e.raw);if(oe(t.chatId))return null;let n=pr(t.chatId);return n?{matchKey:`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`,resolvedTarget:hr({raw:e.raw,parsed:t,resolvedChatId:e.resolvedChatId})}:null}function _r(e){if(typeof e.rawValue!=`string`&&typeof e.rawValue!=`number`)return null;let t=String(e.rawValue).trim();return!t||mr(t)!==e.matchKey?null:e.resolvedTarget}function vr(e){let t=!1,n=fr(e.cfg.channels?.telegram);if(!n)return t;let r=(n,r)=>{let i=_r({rawValue:n[r],matchKey:e.matchKey,resolvedTarget:e.resolvedTarget});i&&(n[r]=i,t=!0)};r(n,`defaultTo`);let i=fr(n.accounts);if(!i)return t;for(let e of Object.keys(i)){let t=fr(i[e]);t&&r(t,`defaultTo`)}return t}async function yr(e){let t=e.rawTarget.trim();if(!t)return;let n=gr({raw:t,resolvedChatId:e.resolvedChatId});if(!n)return;let{matchKey:r,resolvedTarget:i}=n;try{let{snapshot:n,writeOptions:a}=await D(),o=structuredClone(n.config??{});vr({cfg:o,matchKey:r,resolvedTarget:i})&&(await g(o,a),e.verbose&&W.warn(`resolved Telegram defaultTo target ${t} -> ${i}`))}catch(n){e.verbose&&W.warn(`failed to persist Telegram defaultTo target ${t}: ${String(n)}`)}try{let n=sr(e.cfg.cron?.store),a=await cr(n),o=!1;for(let e of a.jobs){if(e.delivery?.channel!==`telegram`)continue;let t=_r({rawValue:e.delivery.to,matchKey:r,resolvedTarget:i});t&&(e.delivery.to=t,o=!0)}o&&(await ur(n,a),e.verbose&&W.warn(`resolved Telegram cron delivery target ${t} -> ${i}`))}catch(n){e.verbose&&W.warn(`failed to persist Telegram cron target ${t}: ${String(n)}`)}}function br(e){return e.wantsVoice?gt(e)?{useVoice:!0}:{useVoice:!1,reason:`media is ${e.contentType??`unknown`} (${e.fileName??`unknown`})`}:{useVoice:!1}}function xr(e){let t=br(e);return t.reason&&e.logFallback&&e.logFallback(`Telegram voice requested but ${t.reason}; sending as audio file instead.`),{useVoice:t.useVoice}}function G(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 Sr(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 Cr(e,t,n){if(!e)return[];let r=Math.max(1,Math.floor(n)),i=Sr(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 wr=/can't parse entities|parse entities|find end of the entity/i,Tr=/400:\s*Bad Request:\s*message thread not found/i,Er=/400:\s*Bad Request:\s*message is not modified|MESSAGE_NOT_MODIFIED/i,Dr=/400: Bad Request: chat not found/i,Or=d(`telegram/send`),kr=d(`telegram/diagnostic`),K=new Map;function Ar(e){return St(`telegram.http`,e)?(e,n)=>{if(!(n instanceof _e))return;let r=t(C(n.error??n));kr.warn(`telegram http error (${e}): ${r}`)}:()=>{}}function jr(){return!process.env.VITEST&&!0}function Mr(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 Nr(e,t){if(K.set(e,t),K.size>64){let e=K.keys().next().value;e!==void 0&&K.delete(e)}return t}function Pr(e){let t=typeof e.config.timeoutSeconds==`number`&&Number.isFinite(e.config.timeoutSeconds)?Math.max(1,Math.floor(e.config.timeoutSeconds)):void 0,n=jr()?Mr({account:e,timeoutSeconds:t}):null;if(n&&K.has(n))return K.get(n);let r=e.config.proxy?.trim(),i=de(r?ae(r):void 0,{network:e.config.network}),a=i||t?{...i?{fetch:i}:{},...t?{timeoutSeconds:t}:{}}:void 0;return n?Nr(n,a):a}function Fr(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=oe(e);if(n)return n;let r=O(e),i=t.api.getChat;if(!r||typeof i!=`function`)throw Error(`Telegram recipient must be a numeric chat ID`);try{let e=await i.call(t.api,r),n=oe(String(e?.id??``));if(!n)throw Error(`resolved chat id is not numeric (${String(e?.id??``)})`);return t.verbose&&Or.warn(`telegram recipient ${r} resolved to numeric chat id ${n}`),n}catch(e){let t=b(e);throw Error(`Telegram recipient ${r} could not be resolved to a numeric chat ID (${t})`,{cause:e})}}async function q(e){let t=await Ir(e.lookupTarget,{api:e.api,verbose:e.verbose});return await yr({cfg:e.cfg,rawTarget:e.persistTarget,resolvedChatId:t,verbose:e.verbose}),t}function J(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 Lr(e){return Tr.test(b(e))}function Y(e){return Er.test(b(e))}function Rr(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 zr(e){if(!e||!Rr(e))return e;let t={...e};return delete t.message_thread_id,Object.keys(t).length>0?t:void 0}function Br(e){return wr.test(b(e))}function Vr(e){let t=e.messageThreadId==null?e.targetMessageThreadId:e.messageThreadId,n=e.chatType===`direct`?`dm`:`forum`,r=Vt(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 Hr(e){try{return await e.requestHtml(e.label)}catch(t){if(!Br(t))throw t;return e.verbose&&Or.warn(`telegram ${e.label} failed with HTML parse error, retrying as plain text: ${b(t)}`),await e.requestPlain(`${e.label}-plain`)}}function X(e){let t=e.cfg??ee(),n=v({cfg:t,accountId:e.accountId}),r=Fr(e.token,n),i=Pr(n);return{cfg:t,account:n,api:e.api??new ge(r,i?{client:i}:void 0).api}}function Z(e){let t=ue({retry:e.retry,configRetry:e.account.config.retry,verbose:e.verbose,...e.shouldRetry?{shouldRetry:e.shouldRetry}:{},...e.strictShouldRetry?{strictShouldRetry:!0}:{}}),n=Ar(e.cfg);return(r,i,a)=>{let o=()=>t(r,i);return(e.useApiErrorLogging===!1?o():Tt({operation:i??`request`,fn:o,...a?.shouldLog?{shouldLog:a.shouldLog}:{}})).catch(e=>{throw n(i??`request`,e),e})}}function Ur(e,t){return Dr.test(b(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 Q(e,t,n,r){try{return await r(e,t)}catch(i){if(!Rr(e)||!Lr(i))throw i;return n&&Or.warn(`telegram ${t} failed with message_thread_id, retrying without thread: ${b(i)}`),await r(zr(e),`${t}-threadless`)}}function Wr(e){return async(t,n)=>e.requestWithDiag(t,n).catch(t=>{throw Ur(t,{chatId:e.chatId,input:e.input})})}function Gr(e){return Z({cfg:e.cfg,account:e.account,retry:e.retry,verbose:e.verbose,useApiErrorLogging:e.useApiErrorLogging,shouldRetry:e=>Zn(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 Kr(e,t,n={}){let{cfg:r,account:o,api:s}=X(n),c=k(e),l=await q({cfg:r,api:s,lookupTarget:c.chatId,persistTarget:e,verbose:n.verbose}),u=n.mediaUrl?.trim(),d=n.maxBytes??(typeof o.config.mediaMaxMb==`number`?o.config.mediaMaxMb:100)*1024*1024,p=$(n.buttons),m=Vr({targetMessageThreadId:c.messageThreadId,messageThreadId:n.messageThreadId,chatType:c.chatType,replyToMessageId:n.replyToMessageId,quoteText:n.quoteText}),h=Object.keys(m).length>0,g=Wr({requestWithDiag:Gr({cfg:r,account:o,retry:n.retry,verbose:n.verbose}),chatId:l,input:e}),_=n.textMode??`markdown`,v=ne({cfg:r,channel:`telegram`,accountId:o.accountId}),y=e=>z(e,{textMode:_,tableMode:v}),x=o.config.linkPreview??!0?void 0:{is_disabled:!0},S=async(e,t)=>await Q(t,`message`,n.verbose,async(t,r)=>{let i=t?{...t}:{};x&&(i.link_preview_options=x);let a={...i,...n.silent===!0?{disable_notification:!0}:{}},o=Object.keys(a).length>0,c=t=>g(()=>o?s.sendMessage(l,e.plainText,a):s.sendMessage(l,e.plainText),t);if(!e.htmlText)return await c(r);let u=e.htmlText,d={parse_mode:`HTML`,...a};return await Hr({label:r,verbose:n.verbose,requestHtml:e=>g(()=>s.sendMessage(l,u,d),e),requestPlain:c})}),C=e=>h||e&&p?{...m,...e&&p?{reply_markup:p}:{}}:void 0,w=async(e,t)=>{let n=``,r=l;for(let i=0;i<e.length;i+=1){let a=e[i];if(!a)continue;let o=await S(a,C(i===e.length-1)),s=G(o,t);H(l,s),n=String(s),r=String(o?.chat?.id??l)}return{messageId:n,chatId:r}},T=(e,t)=>{let r=n.plainText??e,i;try{i=In(e,4e3)}catch(e){return f(`telegram ${t} failed HTML chunk planning, retrying as plain text: ${b(e)}`),Sr(r,4e3).map(e=>({plainText:e}))}let a=Sr(r,4e3);if(a.length>i.length)return f(`telegram ${t} plain-text fallback needs more chunks than HTML; sending plain text`),a.map(e=>({plainText:e}));let o=Cr(r,i.length,4e3);return i.map((e,t)=>({htmlText:e,plainText:o[t]??e}))},E=async(e,t)=>await w(T(e,t),t);if(u){let e=await te(u,ce({maxBytes:d,mediaLocalRoots:n.mediaLocalRoots})),r=i(e.contentType??void 0),c=a({contentType:e.contentType,fileName:e.fileName}),v=r===`video`&&n.asVideoNote===!0,b=e.fileName??(c?`animation.gif`:Qr(r??`document`))??`file`,x=new ve(e.buffer,b),S,C;if(v)S=void 0,C=t.trim()?t:void 0;else{let e=mn(t);S=e.caption,C=e.followUpText}let T=S?y(S):void 0,D=!!C,ee={...h?m:{},...!D&&p?{reply_markup:p}:{}},ne={...T?{caption:T,parse_mode:`HTML`}:{},...ee,...n.silent===!0?{disable_notification:!0}:{}},re=async(e,t)=>await Q(ne,e,n.verbose,async(e,n)=>g(()=>t(e),n)),ie=(()=>{if(c)return{label:`animation`,sender:e=>s.sendAnimation(l,x,e)};if(r===`image`)return{label:`photo`,sender:e=>s.sendPhoto(l,x,e)};if(r===`video`)return v?{label:`video_note`,sender:e=>s.sendVideoNote(l,x,e)}:{label:`video`,sender:e=>s.sendVideo(l,x,e)};if(r===`audio`){let{useVoice:t}=xr({wantsVoice:n.asVoice===!0,contentType:e.contentType,fileName:b,logFallback:f});return t?{label:`voice`,sender:e=>s.sendVoice(l,x,e)}:{label:`audio`,sender:e=>s.sendAudio(l,x,e)}}return{label:`document`,sender:e=>s.sendDocument(l,x,e)}})(),ae=await re(ie.label,ie.sender),O=G(ae,`media send`),k=String(ae?.chat?.id??l);return H(l,O),A({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),D&&C?_===`html`?{messageId:(await E(C,`text follow-up send`)).messageId,chatId:k}:{messageId:(await w([{plainText:C,htmlText:y(C)}],`text follow-up send`)).messageId,chatId:k}:{messageId:String(O),chatId:k}}if(!t||!t.trim())throw Error(`Message must be non-empty for Telegram sends`);let D;return D=_===`html`?await E(t,`text send`):await w([{plainText:n.plainText??t,htmlText:y(t)}],`text send`),A({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),D}async function qr(e,t={}){let{cfg:n,account:r,api:i}=X(t),a=k(e),o=await q({cfg:n,api:i,lookupTarget:a.chatId,persistTarget:e,verbose:t.verbose}),s=Z({cfg:n,account:r,retry:t.retry,verbose:t.verbose,shouldRetry:e=>V(e,{context:`send`})}),c=Ht(a.messageThreadId??t.messageThreadId);return await s(()=>i.sendChatAction(o,`typing`,c),`typing`),{ok:!0}}async function Jr(e,t,n,r={}){let{cfg:i,account:a,api:o}=X(r),s=String(e),c=await q({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=J(t),u=Z({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>V(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 Yr(e,t,n={}){let{cfg:r,account:i,api:a}=X(n),o=String(e),s=await q({cfg:r,api:a,lookupTarget:o,persistTarget:o,verbose:n.verbose}),c=J(t);return await Z({cfg:r,account:i,retry:n.retry,verbose:n.verbose,shouldRetry:e=>V(e,{context:`send`})})(()=>a.deleteMessage(s,c),`deleteMessage`),f(`[telegram] Deleted message ${c} from chat ${s}`),{ok:!0}}async function Xr(e,t,n,r={}){let{cfg:i,account:a,api:o}=X({...r,cfg:r.cfg}),s=String(e),c=await q({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=J(t),u=Z({cfg:i,account:a,retry:r.retry,verbose:r.verbose}),d=$(n)??{inline_keyboard:[]};try{await u(()=>o.editMessageReplyMarkup(c,l,{reply_markup:d}),`editMessageReplyMarkup`,{shouldLog:e=>!Y(e)})}catch(e){if(!Y(e))throw e}return f(`[telegram] Edited reply markup for message ${l} in chat ${c}`),{ok:!0,messageId:String(l),chatId:c}}async function Zr(e,t,n,r={}){let{cfg:i,account:a,api:o}=X({...r,cfg:r.cfg}),s=String(e),c=await q({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=J(t),u=Z({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>V(e,{allowMessageMatch:!0})||$n(e)}),d=(e,t,n)=>u(e,t,n?{shouldLog:n}:void 0),p=z(n,{textMode:r.textMode??`markdown`,tableMode:ne({cfg:i,channel:`telegram`,accountId:a.accountId})}),m=r.buttons!==void 0,h=m?$(r.buttons):void 0,g=m?h??{inline_keyboard:[]}:void 0,_={parse_mode:`HTML`};r.linkPreview===!1&&(_.link_preview_options={is_disabled:!0}),g!==void 0&&(_.reply_markup=g);let v={};r.linkPreview===!1&&(v.link_preview_options={is_disabled:!0}),g!==void 0&&(v.reply_markup=g);try{await Hr({label:`editMessage`,verbose:r.verbose,requestHtml:e=>d(()=>o.editMessageText(c,l,p,_),e,e=>!Y(e)),requestPlain:e=>d(()=>Object.keys(v).length>0?o.editMessageText(c,l,n,v):o.editMessageText(c,l,n),e,e=>!Y(e))})}catch(e){if(!Y(e))throw e}return f(`[telegram] Edited message ${l} in chat ${c}`),{ok:!0,messageId:String(l),chatId:c}}function Qr(e){switch(e){case`image`:return`image.jpg`;case`video`:return`video.mp4`;case`audio`:return`audio.ogg`;default:return`file.bin`}}async function $r(e,t,n={}){if(!t?.trim())throw Error(`Telegram sticker file_id is required`);let{cfg:r,account:i,api:a}=X(n),o=k(e),s=await q({cfg:r,api:a,lookupTarget:o.chatId,persistTarget:e,verbose:n.verbose}),c=Vr({targetMessageThreadId:o.messageThreadId,messageThreadId:n.messageThreadId,chatType:o.chatType,replyToMessageId:n.replyToMessageId}),l=Object.keys(c).length>0,u=Wr({requestWithDiag:Z({cfg:r,account:i,retry:n.retry,verbose:n.verbose,useApiErrorLogging:!1}),chatId:s,input:e}),d=await Q(l?c:void 0,`sticker`,n.verbose,async(e,n)=>u(()=>a.sendSticker(s,t.trim(),e),n)),f=G(d,`sticker send`),p=String(d?.chat?.id??s);return H(s,f),A({channel:`telegram`,accountId:i.accountId,direction:`outbound`}),{messageId:String(f),chatId:p}}async function ei(e,t,n={}){let{cfg:r,account:i,api:a}=X(n),o=k(e),s=await q({cfg:r,api:a,lookupTarget:o.chatId,persistTarget:e,verbose:n.verbose}),c=le(t,{maxOptions:10}),l=Vr({targetMessageThreadId:o.messageThreadId,messageThreadId:n.messageThreadId,chatType:o.chatType,replyToMessageId:n.replyToMessageId}),u=c.options,d=Wr({requestWithDiag:Gr({cfg:r,account:i,retry:n.retry,verbose:n.verbose}),chatId:s,input:e}),f=c.durationSeconds;if(f===void 0&&c.durationHours!==void 0)throw Error(`Telegram poll durationHours is not supported. Use durationSeconds (5-600) instead.`);if(f!==void 0&&(f<5||f>600))throw Error(`Telegram poll durationSeconds must be between 5 and 600`);let p=await Q({allows_multiple_answers:c.maxSelections>1,is_anonymous:n.isAnonymous??!0,...f===void 0?{}:{open_period:f},...Object.keys(l).length>0?l:{},...n.silent===!0?{disable_notification:!0}:{}},`poll`,n.verbose,async(e,t)=>d(()=>a.sendPoll(s,c.question,u,e),t)),m=G(p,`poll send`),h=String(p?.chat?.id??s),g=p?.poll?.id;return H(s,m),A({channel:`telegram`,accountId:i.accountId,direction:`outbound`}),{messageId:String(m),chatId:h,pollId:g}}async function ti(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:a,api:o}=X(n),s=await q({cfg:i,api:o,lookupTarget:k(e).chatId,persistTarget:e,verbose:n.verbose}),c=Gr({cfg:i,account:a,retry:n.retry,verbose:n.verbose}),l={};n.iconColor!=null&&(l.icon_color=n.iconColor),n.iconCustomEmojiId?.trim()&&(l.icon_custom_emoji_id=n.iconCustomEmojiId.trim());let u=Object.keys(l).length>0,d=await c(()=>o.createForumTopic(s,r,u?l:void 0),`createForumTopic`),f=d.message_thread_id;return A({channel:`telegram`,accountId:a.accountId,direction:`outbound`}),{topicId:f,name:d.name??r,chatId:s}}export{ct as $,Ht as A,Yt as B,Zt as C,Wt as D,Kt as E,tn as F,Pt as G,Ut as H,fn as I,kt as J,Ft as K,Gt as L,nn as M,pn as N,qt as O,Qt as P,dt as Q,zt as R,mn as S,Jt as T,Bt as U,rn as V,It as W,Tt as X,At as Y,_t as Z,er as _,Zr as a,Ce as at,z as b,ei as c,ye as ct,xr as d,ft as et,cr as f,Zn as g,V as h,Xr as i,we as it,an as j,Vt as k,$r as l,be as lt,ir as m,ti as n,Te as nt,Jr as o,xe as ot,sr as p,Lt as q,Yr as r,Ee as rt,Kr as s,Se as st,$ as t,pt as tt,qr as u,Hn as v,Xt as w,On as x,bn as y,Rt as z};
1
+ import{It as e,N as t,_ as n,f as r,g as i,h as a}from"./paths-piJASC5k.js";import{c as o,d as s,l as c,o as l}from"./paths-BpQOWYiT.js";import{I as u,O as d,R as f,a as p,b as m}from"./logger-DwWqfo66.js";import{Ba as h,Di as g,Eo as _,Lo as v,To as y,cr as b,jn as x,ka as S,lr as C,or as w,sr as T,ur as E,wi as D,xi as ee}from"./model-auth-eNVBeC-B.js";import{_ as te,i as ne,n as re,t as ie}from"./ir-BzZArF6l.js";import{n as ae}from"./proxy-fetch-Del551nu.js";import{n as O,r as k,t as oe}from"./targets-BSkiizml.js";import{t as se}from"./render-DhTJXP1U.js";import{t as ce}from"./load-options-BcSg1ODN.js";import{n as le}from"./polls-CSKMbBIS.js";import{i as ue,n as A}from"./channel-activity-Cia2G3v5.js";import{t as de}from"./fetch-B27H-XCf.js";import j from"node:fs";import M from"node:path";import fe from"node:os";import pe from"json5";import me,{randomBytes as he}from"node:crypto";import{Bot as ge,HttpError as _e,InputFile as ve}from"grammy";function ye(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function be(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 xe(...e){for(let t of e)if(t!==void 0)return t}function Se(e,t,n){return e.hasEntries?e.hasWildcard?!0:t?e.entries.includes(t):!1:n}function Ce(){return _().filter(e=>e.pairing).map(e=>e.id)}function we(e){return y(e)?.pairing??null}async function Te(e,t){try{let n=m(await j.promises.readFile(e,`utf-8`));return n==null?{value:t,exists:!0}:{value:n,exists:!0}}catch(e){return e.code,{value:t,exists:!1}}}async function Ee(e,t){await x(e,t,{mode:384,trailingNewline:!0,ensureDirMode:448})}const De={retries:{retries:10,factor:2,minTimeout:100,maxTimeout:1e4,randomize:!0},stale:3e4},Oe=new Map;function N(e=process.env){return l(e,o(e,()=>s(e,fe.homedir)))}function ke(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 Ae(e,t=process.env){return M.join(N(t),`${ke(e)}-pairing.json`)}function je(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 P(e,t=process.env,n){let r=ke(e),i=typeof n==`string`?n.trim():``;return i?M.join(N(t),`${r}-${je(i)}-allowFrom.json`):M.join(N(t),`${r}-allowFrom.json`)}async function Me(e,t){return await Te(e,t)}async function F(e,t){await Ee(e,t)}async function Ne(e){let{value:t}=await Me(e,{version:1,requests:[]});return Array.isArray(t.requests)?t.requests:[]}async function Pe(e,t){try{await j.promises.access(e)}catch{await F(e,t)}}async function Fe(e,t,n){return await Pe(e,t),await h(e,De,async()=>await n())}function Ie(e){if(!e)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function Le(e,t){let n=Ie(e.createdAt);return n?t-n>36e5:!0}function Re(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 ze(e){return Ie(e.lastSeenAt)??Ie(e.createdAt)??0}function Be(e,t){return t<=0||e.length<=t?{requests:e,removed:!1}:{requests:e.slice().toSorted((e,t)=>ze(e)-ze(t)).slice(-t),removed:!0}}function Ve(){let e=``;for(let t=0;t<8;t++){let t=me.randomInt(0,32);e+=`ABCDEFGHJKLMNPQRSTUVWXYZ23456789`[t]}return e}function He(e){for(let t=0;t<500;t+=1){let t=Ve();if(!e.has(t))return t}throw Error(`failed to generate unique pairing code`)}function Ue(e){return e?.trim().toLowerCase()||``}function We(e,t){return t?String(e.meta?.accountId??``).trim().toLowerCase()===t:!0}function Ge(e){return!e||e===`default`}function Ke(e){return Ue(e)||`default`}function qe(e){return String(e).trim()}function Je(e,t){let n=t.trim();if(!n||n===`*`)return``;let r=we(e),i=r?.normalizeAllowEntry?r.normalizeAllowEntry(n):n;return String(i).trim()}function Ye(e,t){return Ze((Array.isArray(t.allowFrom)?t.allowFrom:[]).map(t=>Je(e,String(t))).filter(Boolean))}function Xe(e,t){return Je(e,qe(t))}function Ze(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 Qe(e,t){return(await rt(e,t)).entries}function $e(e){return{exists:e.exists,mtimeMs:e.mtimeMs,size:e.size,entries:e.entries.slice()}}function et(e,t){Oe.set(e,$e(t))}function tt(e){let t=Oe.get(e.filePath);return!t||t.exists!==e.exists||e.exists&&(t.mtimeMs!==e.mtimeMs||t.size!==e.size)?null:$e(t)}function nt(e,t){let n=tt({filePath:e,exists:!!t,mtimeMs:t?.mtimeMs??null,size:t?.size??null});return n?{entries:n.entries,exists:n.exists}:t?null:(et(e,{exists:!1,mtimeMs:null,size:null,entries:[]}),{entries:[],exists:!1})}async function rt(e,t){let n=null;try{n=await j.promises.stat(t)}catch(e){if(e.code!==`ENOENT`)throw e}let r=nt(t,n);if(r)return r;if(!n)return{entries:[],exists:!1};let{value:i,exists:a}=await Me(t,{version:1,allowFrom:[]}),o=Ye(e,i);return et(t,{exists:a,mtimeMs:n.mtimeMs,size:n.size,entries:o}),{entries:o,exists:a}}async function it(e){let{value:t}=await Me(e.filePath,{version:1,allowFrom:[]});return{current:Ye(e.channel,t),normalized:Xe(e.channel,e.entry)||null}}async function at(e,t){await F(e,{version:1,allowFrom:t});let n=null;try{n=await j.promises.stat(e)}catch{}et(e,{exists:!0,mtimeMs:n?.mtimeMs??null,size:n?.size??null,entries:t.slice()})}async function ot(e){let t=P(e.channel,e.env,e.accountId);return await Qe(e.channel,t)}async function st(e){let t=e.env??process.env,n=P(e.channel,t,e.accountId);return await Fe(n,{version:1,allowFrom:[]},async()=>{let{current:t,normalized:r}=await it({channel:e.channel,entry:e.entry,filePath:n});if(!r)return{changed:!1,allowFrom:t};let i=e.apply(t,r);return i?(await at(n,i),{changed:!0,allowFrom:i}):{changed:!1,allowFrom:t}})}async function ct(e,t=process.env,n){let r=Ke(n);if(!Ge(r))return await ot({channel:e,env:t,accountId:r});let i=await Qe(e,P(e,t,r)),a=await Qe(e,P(e,t));return Ze([...i,...a])}async function lt(e){return await st({channel:e.channel,entry:e.entry,accountId:e.accountId,env:e.env,apply:e.apply})}async function ut(e,t){return await lt({...e,apply:t})}async function dt(e){return await ut(e,(e,t)=>e.includes(t)?null:[...e,t])}async function ft(e){return await ut(e,(e,t)=>{let n=e.filter(e=>e!==t);return n.length===e.length?null:n})}async function pt(e){let t=e.env??process.env,n=Ae(e.channel,t);return await Fe(n,{version:1,requests:[]},async()=>{let t=new Date().toISOString(),r=Date.now(),i=qe(e.id),a=Ue(e.accountId)||`default`,o={...e.meta&&typeof e.meta==`object`?Object.fromEntries(Object.entries(e.meta).map(([e,t])=>[e,String(t??``).trim()]).filter(([e,t])=>!!t)):void 0,accountId:a},s=await Ne(n),{requests:c,removed:l}=Re(s,r);s=c;let u=a,d=s.findIndex(e=>e.id===i?We(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():``)||He(f),a={id:i,code:r,createdAt:e?.createdAt??t,lastSeenAt:t,meta:o??e?.meta};s[d]=a;let{requests:c}=Be(s,3);return await F(n,{version:1,requests:c}),{code:r,created:!1}}let{requests:p,removed:m}=Be(s,3);if(s=p,s.length>=3)return(l||m)&&await F(n,{version:1,requests:s}),{code:``,created:!1};let h=He(f),g={id:i,code:h,createdAt:t,lastSeenAt:t,...o?{meta:o}:{}};return await F(n,{version:1,requests:[...s,g]}),{code:h,created:!0}})}const mt=new Set([`.oga`,`.ogg`,`.opus`,`.mp3`,`.m4a`]),ht=new Set([`audio/ogg`,`audio/opus`,`audio/mpeg`,`audio/mp3`,`audio/mp4`,`audio/x-m4a`,`audio/m4a`]);function gt(e){let t=n(e.contentType);if(t&&ht.has(t))return!0;let i=e.fileName?.trim();if(!i)return!1;let a=r(i);return a?mt.has(a):!1}function _t(e){return gt(e)}function I(e){return e.trim().toLowerCase()}function vt(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 yt(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 bt(e,t=process.env){let n=Array.isArray(e?.diagnostics?.flags)?e?.diagnostics?.flags:[],r=vt(t.OPENCLAW_DIAGNOSTICS);return yt([...n,...r])}function xt(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 St(e,t,n=process.env){return xt(e,bt(t,n))}const Ct=d(`telegram/api`);function wt(e,t){return t||(e?.error?e.error:e=>Ct.error(e))}async function Tt({operation:e,fn:t,runtime:n,logger:r,shouldLog:i}){try{return await t()}catch(t){if(!i||i(t)){let i=b(t);wt(n,r)(u(`telegram ${e} failed: ${i}`))}throw t}}function Et(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 Dt(e){return Number.isFinite(e)?` ±${Math.round(e??0)}m`:``}function Ot(e,t){return`${e.toFixed(6)}, ${t.toFixed(6)}`}function kt(e){let t=Et(e),n=Ot(t.latitude,t.longitude),r=Dt(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 At(e){let t=Et(e);return{LocationLat:t.latitude,LocationLon:t.longitude,LocationAccuracy:t.accuracy,LocationName:t.name,LocationAddress:t.address,LocationSource:t.source,LocationIsLive:t.isLive}}const jt=new Set,Mt=d(`telegram/bot-access`);function Nt(e){if(!process.env.VITEST)for(let t of e)jt.has(t)||(jt.add(t),Mt.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 Pt=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&&Nt([...new Set(i)]),{entries:r.filter(e=>/^\d+$/.test(e)),hasWildcard:n,hasEntries:t.length>0,invalidEntries:i}},Ft=e=>Pt(ye(e)),It=e=>{let{allow:t,senderId:n}=e;return Se(t,n,!0)},Lt=e=>{let{allow:t,senderId:n}=e;return t.hasWildcard?{allowed:!0,matchKey:`*`,matchSource:`wildcard`}:t.hasEntries&&n&&t.entries.includes(n)?{allowed:!0,matchKey:n,matchSource:`id`}:{allowed:!1}};async function Rt(t){let n=e(t.accountId),r=Bt({isGroup:t.isGroup??!1,isForum:t.isForum,messageThreadId:t.messageThreadId}),i=r.scope===`forum`?r.id:void 0,a=r.scope===`dm`?r.id:void 0,o=i??a,s=await ct(`telegram`,process.env,n).catch(()=>[]),{groupConfig:c,topicConfig:l}=t.resolveTelegramGroupConfig(t.chatId,o),u=xe(l?.allowFrom,c?.allowFrom);return{resolvedThreadId:i,dmThreadId:a,storeAllowFrom:s,groupConfig:c,topicConfig:l,groupAllowOverride:u,effectiveGroupAllow:Pt(u??t.groupAllowFrom),hasGroupAllowOverride:u!==void 0}}function zt(e){if(e.isForum)return e.messageThreadId==null?1:e.messageThreadId}function Bt(e){return e.isGroup?{id:zt({isForum:e.isForum,messageThreadId:e.messageThreadId}),scope:e.isForum?`forum`:`none`}:e.messageThreadId==null?{scope:`dm`}:{id:e.messageThreadId,scope:`dm`}}function Vt(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 Ht(e){if(e!=null)return{message_thread_id:Math.trunc(e)}}function Ut(e){return S(e)}function Wt(e,t){return t==null?String(e):`${e}:topic:${t}`}function Gt(e){return(e.senderId==null?``:String(e.senderId).trim())||String(e.chatId)}function Kt(e,t){return`telegram:group:${Wt(e,t)}`}function qt(e){if(!(!e.isGroup||e.resolvedThreadId==null))return{kind:`group`,id:String(e.chatId)}}function Jt(e){return[e.from?.first_name,e.from?.last_name].filter(Boolean).join(` `).trim()||e.from?.username||void 0}function Yt(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 Xt(e,t){let n=Jt(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 Zt(e,t,n){let r=e.chat?.title,i=n==null?``:` topic:${n}`;return r?`${r} id:${t}${i}`:`group:${t}${i}`}function Qt(e){return{text:e.text??e.caption??``,entities:e.entities??e.caption_entities??[]}}function $t(e){return e!=null&&/[a-z0-9_]/i.test(e)}function en(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(!$t(i)&&!$t(a))return!0;n=r+1}return!1}function tn(e,t){let{text:n,entities:r}=Qt(e),i=`@${t}`.toLowerCase();if(en(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 nn(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 rn(e){if(!e)return;let t=Number(e);if(Number.isFinite(t))return t}function an(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=Yt(o)??``,!i))){let e=pn(o);e&&(i=kt(e))}if(!i)return null;let s=(o?Jt(o):void 0)??`unknown sender`,c=o?.forward_origin?dn(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 on(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 sn(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 cn(e){let{display:t,name:n,username:r,id:i}=on(e.user);return t?{from:t,date:e.date,fromType:e.type,fromId:i,fromUsername:r,fromTitle:n}:null}function ln(e){let t=e.name?.trim();return t?{from:t,date:e.date,fromType:e.type,fromTitle:t}:null}function un(e){let t=e.type===`channel`?`channel`:`chat`,{display:n,title:r,username:i,id:a}=sn(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 dn(e){switch(e.type){case`user`:return cn({user:e.sender_user,date:e.date,type:`user`});case`hidden_user`:return ln({name:e.sender_user_name,date:e.date,type:`hidden_user`});case`chat`:return un({chat:e.sender_chat,date:e.date,type:`chat`,signature:e.author_signature});case`channel`:return un({chat:e.chat,date:e.date,type:`channel`,signature:e.author_signature,messageId:e.message_id});default:return null}}function fn(e){return e.forward_origin?dn(e.forward_origin):null}function pn(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 mn(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 hn(e){return L(e).replace(/"/g,`&quot;`)}const gn=new Set([`md`,`go`,`py`,`pl`,`sh`,`am`,`at`,`be`,`cc`]);function _n(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(!gn.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 vn(e,t){let n=e.href.trim();if(!n||e.start===e.end||_n(n,t.slice(e.start,e.end)))return null;let r=hn(n);return{start:e.start,end:e.end,open:`<a href="${r}">`,close:`</a>`}}function yn(e){return se(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:vn})}function bn(e,t={}){let n=yn(re(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:t.tableMode}));return t.wrapFileRefs===!1?n:On(n)}function xn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}const Sn=Array.from(gn).map(xn).join(`|`),Cn=/<a\s+href="https?:\/\/([^"]+)"[^>]*>\1<\/a>/gi,wn=RegExp(`(^|[^a-zA-Z0-9_\\-/])([a-zA-Z0-9_.\\-./]+\\.(?:${Sn}))(?=$|[^a-zA-Z0-9_\\-/])`,`gi`),Tn=RegExp(`([^a-zA-Z0-9]|^)([A-Za-z]\\.(?:${Sn}))(?=[^a-zA-Z0-9/]|$)`,`g`),R=/(<\/?)([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*?>/gi;function En(e,t,n){return n.startsWith(`//`)||/https?:\/\/$/i.test(t)?e:`${t}<code>${L(n)}</code>`}function Dn(e,t,n,r){return!e||t>0||n>0||r>0?e:e.replace(wn,En).replace(Tn,(e,t,n)=>t===`>`?e:`${t}<code>${L(n)}</code>`)}function On(e){Cn.lastIndex=0;let t=e.replace(Cn,(e,t)=>_n(`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+=Dn(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+=Dn(c,n,r,i),a}function z(e,t={}){return(t.textMode??`markdown`)===`html`?e:bn(e,{tableMode:t.tableMode})}const kn=new Set([`br`]);function An(e){return e.map(e=>e.openTag).join(``)}function jn(e){return e.slice().toReversed().map(e=>e.closeTag).join(``)}function Mn(e){return e.reduce((e,t)=>e+t.closeTag.length,0)}function Nn(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 Pn(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=Nn(e,r);return i===-1||i<n?n:r}function Fn(e,t){for(let n=e.length-1;n>=0;--n)if(e[n]?.name===t){e.splice(n,1);return}}function In(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=An(i),o=!1},c=()=>{o&&(r.push(`${a}${jn(i)}`),s())},l=e=>{let t=e;for(;t.length>0;){let e=n-a.length-Mn(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=Pn(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&&(kn.has(p)||s.trimEnd().endsWith(`/>`));if(!f){let e=m?0:`</${p}>`.length;o&&a.length+s.length+Mn(i)+e>n&&c()}a+=s,m&&(o=!0),f?Fn(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 Ln(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=Bn(e,Number.isFinite(a)&&a>0?a:Math.max(1,Math.floor(r/2)));return o.length>1?o:Bn(e,Math.max(1,Math.floor(r/2)))}function Rn(e,t,n){return e.flatMap(e=>{if(e.end<=t||e.start>=n)return[];let r=Math.max(e.start,t)-t,i=Math.min(e.end,n)-t;return i<=r?[]:[{...e,start:r,end:i}]})}function zn(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 Bn(e,t){if(!e.text)return[];let n=Math.max(1,Math.floor(t));if(n<=0||e.text.length<=n)return[e];let r=[],i=0;for(;i<e.text.length;){let t=Math.min(e.text.length,i+n);r.push({text:e.text.slice(i,t),styles:Rn(e.styles,i,t),links:zn(e.links,i,t)}),i=t}return r}function Vn(e,t){let n=Math.max(1,Math.floor(t)),r=ie(e,n),i=[];for(;r.length>0;){let e=r.shift();if(!e)continue;let t=On(yn(e));if(t.length<=n||e.text.length<=1){i.push({html:t,text:e.text});continue}let a=Ln(e,n,t.length);if(a.length<=1){i.push({html:t,text:e.text});continue}r.unshift(...a)}return i}function Hn(e,t,n={}){return Vn(re(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`]),Wn=new Set([`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`ENETUNREACH`,`EHOSTUNREACH`]),Gn=new Set([`AbortError`,`TimeoutError`,`ConnectTimeoutError`,`HeadersTimeoutError`,`BodyTimeoutError`]),Kn=new Set([`fetch failed`,`typeerror: fetch failed`]),qn=/^network request(?:\s+for\s+["']?[^"']+["']?)?\s+failed\s+after\b.*[!.]?$/i,Jn=[`undici`,`network error`,`network request`,`client network socket disconnected`,`socket hang up`,`getaddrinfo`,`timeout`,`timed out`];function B(e){return w(e,e=>{let t=[e.cause,e.reason];return Array.isArray(e.errors)&&t.push(...e.errors),E(e)===`HttpError`&&t.push(e.error),t})}function Yn(e){return e?.trim().toUpperCase()??``}function Xn(e){let t=T(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 Zn(e){if(!e)return!1;for(let t of B(e)){let e=Yn(Xn(t));if(e&&Wn.has(e))return!0}return!1}function Qn(e,t){for(let n of B(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 $n(e){return Qn(e,e=>e>=500)}function er(e){return Qn(e,e=>e>=400&&e<500)}function V(e,t={}){if(!e)return!1;let n=typeof t.allowMessageMatch==`boolean`?t.allowMessageMatch:t.context!==`send`;for(let t of B(e)){let e=Yn(Xn(t));if(e&&Un.has(e))return!0;let r=E(t);if(r&&Gn.has(r))return!0;let i=b(t).trim().toLowerCase();if(i&&Kn.has(i)||i&&qn.test(i)||n&&i&&Jn.some(e=>i.includes(e)))return!0}return!1}const tr=new Map;function nr(e){return String(e)}function rr(e){let t=Date.now();for(let[n,r]of e.timestamps)t-r>864e5&&e.timestamps.delete(n)}function H(e,t){let n=nr(e),r=tr.get(n);r||(r={timestamps:new Map},tr.set(n,r)),r.timestamps.set(t,Date.now()),r.timestamps.size>100&&rr(r)}function ir(e,t){let n=nr(e),r=tr.get(n);return r?(rr(r),r.timestamps.has(t)):!1}const ar=M.join(p,`cron`),or=M.join(ar,`jobs.json`),U=new Map;function sr(e){if(e?.trim()){let t=e.trim();return t.startsWith(`~`)?M.resolve(c(t)):M.resolve(t)}return or}async function cr(e){try{let t=await j.promises.readFile(e,`utf-8`),n;try{n=pe.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 U.set(e,JSON.stringify(i,null,2)),i}catch(t){if(t?.code===`ENOENT`)return U.delete(e),{version:1,jobs:[]};throw t}}async function lr(e){await j.promises.chmod(e,384).catch(()=>void 0)}async function ur(e,t,n){let r=M.dirname(e);await j.promises.mkdir(r,{recursive:!0,mode:448}),await j.promises.chmod(r,448).catch(()=>void 0);let i=JSON.stringify(t,null,2),a=U.get(e);if(a===i)return;let o=a??null;if(o===null)try{o=await j.promises.readFile(e,`utf-8`)}catch(e){if(e.code!==`ENOENT`)throw e}if(o===i){U.set(e,i);return}let s=`${e}.${process.pid}.${he(8).toString(`hex`)}.tmp`;if(await j.promises.writeFile(s,i,{encoding:`utf-8`,mode:384}),await lr(s),o!==null&&!n?.skipBackup)try{let t=`${e}.bak`;await j.promises.copyFile(e,t),await lr(t)}catch{}await dr(s,e),await lr(e),U.set(e,i)}async function dr(e,t){for(let n=0;n<=3;n++)try{await j.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 j.promises.copyFile(e,t),await j.promises.unlink(e).catch(()=>{});return}throw r}}const W=d(`telegram/target-writeback`);function fr(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function pr(e){let t=O(e);if(t)return t.startsWith(`@`)?t.toLowerCase():t}function mr(e){let t=k(e),n=pr(t.chatId);if(n)return`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`}function hr(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 gr(e){let t=k(e.raw);if(oe(t.chatId))return null;let n=pr(t.chatId);return n?{matchKey:`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`,resolvedTarget:hr({raw:e.raw,parsed:t,resolvedChatId:e.resolvedChatId})}:null}function _r(e){if(typeof e.rawValue!=`string`&&typeof e.rawValue!=`number`)return null;let t=String(e.rawValue).trim();return!t||mr(t)!==e.matchKey?null:e.resolvedTarget}function vr(e){let t=!1,n=fr(e.cfg.channels?.telegram);if(!n)return t;let r=(n,r)=>{let i=_r({rawValue:n[r],matchKey:e.matchKey,resolvedTarget:e.resolvedTarget});i&&(n[r]=i,t=!0)};r(n,`defaultTo`);let i=fr(n.accounts);if(!i)return t;for(let e of Object.keys(i)){let t=fr(i[e]);t&&r(t,`defaultTo`)}return t}async function yr(e){let t=e.rawTarget.trim();if(!t)return;let n=gr({raw:t,resolvedChatId:e.resolvedChatId});if(!n)return;let{matchKey:r,resolvedTarget:i}=n;try{let{snapshot:n,writeOptions:a}=await D(),o=structuredClone(n.config??{});vr({cfg:o,matchKey:r,resolvedTarget:i})&&(await g(o,a),e.verbose&&W.warn(`resolved Telegram defaultTo target ${t} -> ${i}`))}catch(n){e.verbose&&W.warn(`failed to persist Telegram defaultTo target ${t}: ${String(n)}`)}try{let n=sr(e.cfg.cron?.store),a=await cr(n),o=!1;for(let e of a.jobs){if(e.delivery?.channel!==`telegram`)continue;let t=_r({rawValue:e.delivery.to,matchKey:r,resolvedTarget:i});t&&(e.delivery.to=t,o=!0)}o&&(await ur(n,a),e.verbose&&W.warn(`resolved Telegram cron delivery target ${t} -> ${i}`))}catch(n){e.verbose&&W.warn(`failed to persist Telegram cron target ${t}: ${String(n)}`)}}function br(e){return e.wantsVoice?gt(e)?{useVoice:!0}:{useVoice:!1,reason:`media is ${e.contentType??`unknown`} (${e.fileName??`unknown`})`}:{useVoice:!1}}function xr(e){let t=br(e);return t.reason&&e.logFallback&&e.logFallback(`Telegram voice requested but ${t.reason}; sending as audio file instead.`),{useVoice:t.useVoice}}function G(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 Sr(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 Cr(e,t,n){if(!e)return[];let r=Math.max(1,Math.floor(n)),i=Sr(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 wr=/can't parse entities|parse entities|find end of the entity/i,Tr=/400:\s*Bad Request:\s*message thread not found/i,Er=/400:\s*Bad Request:\s*message is not modified|MESSAGE_NOT_MODIFIED/i,Dr=/400: Bad Request: chat not found/i,Or=d(`telegram/send`),kr=d(`telegram/diagnostic`),K=new Map;function Ar(e){return St(`telegram.http`,e)?(e,n)=>{if(!(n instanceof _e))return;let r=t(C(n.error??n));kr.warn(`telegram http error (${e}): ${r}`)}:()=>{}}function jr(){return!process.env.VITEST&&!0}function Mr(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 Nr(e,t){if(K.set(e,t),K.size>64){let e=K.keys().next().value;e!==void 0&&K.delete(e)}return t}function Pr(e){let t=typeof e.config.timeoutSeconds==`number`&&Number.isFinite(e.config.timeoutSeconds)?Math.max(1,Math.floor(e.config.timeoutSeconds)):void 0,n=jr()?Mr({account:e,timeoutSeconds:t}):null;if(n&&K.has(n))return K.get(n);let r=e.config.proxy?.trim(),i=de(r?ae(r):void 0,{network:e.config.network}),a=i||t?{...i?{fetch:i}:{},...t?{timeoutSeconds:t}:{}}:void 0;return n?Nr(n,a):a}function Fr(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=oe(e);if(n)return n;let r=O(e),i=t.api.getChat;if(!r||typeof i!=`function`)throw Error(`Telegram recipient must be a numeric chat ID`);try{let e=await i.call(t.api,r),n=oe(String(e?.id??``));if(!n)throw Error(`resolved chat id is not numeric (${String(e?.id??``)})`);return t.verbose&&Or.warn(`telegram recipient ${r} resolved to numeric chat id ${n}`),n}catch(e){let t=b(e);throw Error(`Telegram recipient ${r} could not be resolved to a numeric chat ID (${t})`,{cause:e})}}async function q(e){let t=await Ir(e.lookupTarget,{api:e.api,verbose:e.verbose});return await yr({cfg:e.cfg,rawTarget:e.persistTarget,resolvedChatId:t,verbose:e.verbose}),t}function J(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 Lr(e){return Tr.test(b(e))}function Y(e){return Er.test(b(e))}function Rr(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 zr(e){if(!e||!Rr(e))return e;let t={...e};return delete t.message_thread_id,Object.keys(t).length>0?t:void 0}function Br(e){return wr.test(b(e))}function Vr(e){let t=e.messageThreadId==null?e.targetMessageThreadId:e.messageThreadId,n=e.chatType===`direct`?`dm`:`forum`,r=Vt(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 Hr(e){try{return await e.requestHtml(e.label)}catch(t){if(!Br(t))throw t;return e.verbose&&Or.warn(`telegram ${e.label} failed with HTML parse error, retrying as plain text: ${b(t)}`),await e.requestPlain(`${e.label}-plain`)}}function X(e){let t=e.cfg??ee(),n=v({cfg:t,accountId:e.accountId}),r=Fr(e.token,n),i=Pr(n);return{cfg:t,account:n,api:e.api??new ge(r,i?{client:i}:void 0).api}}function Z(e){let t=ue({retry:e.retry,configRetry:e.account.config.retry,verbose:e.verbose,...e.shouldRetry?{shouldRetry:e.shouldRetry}:{},...e.strictShouldRetry?{strictShouldRetry:!0}:{}}),n=Ar(e.cfg);return(r,i,a)=>{let o=()=>t(r,i);return(e.useApiErrorLogging===!1?o():Tt({operation:i??`request`,fn:o,...a?.shouldLog?{shouldLog:a.shouldLog}:{}})).catch(e=>{throw n(i??`request`,e),e})}}function Ur(e,t){return Dr.test(b(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 Q(e,t,n,r){try{return await r(e,t)}catch(i){if(!Rr(e)||!Lr(i))throw i;return n&&Or.warn(`telegram ${t} failed with message_thread_id, retrying without thread: ${b(i)}`),await r(zr(e),`${t}-threadless`)}}function Wr(e){return async(t,n)=>e.requestWithDiag(t,n).catch(t=>{throw Ur(t,{chatId:e.chatId,input:e.input})})}function Gr(e){return Z({cfg:e.cfg,account:e.account,retry:e.retry,verbose:e.verbose,useApiErrorLogging:e.useApiErrorLogging,shouldRetry:e=>Zn(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 Kr(e,t,n={}){let{cfg:r,account:o,api:s}=X(n),c=k(e),l=await q({cfg:r,api:s,lookupTarget:c.chatId,persistTarget:e,verbose:n.verbose}),u=n.mediaUrl?.trim(),d=n.maxBytes??(typeof o.config.mediaMaxMb==`number`?o.config.mediaMaxMb:100)*1024*1024,p=$(n.buttons),m=Vr({targetMessageThreadId:c.messageThreadId,messageThreadId:n.messageThreadId,chatType:c.chatType,replyToMessageId:n.replyToMessageId,quoteText:n.quoteText}),h=Object.keys(m).length>0,g=Wr({requestWithDiag:Gr({cfg:r,account:o,retry:n.retry,verbose:n.verbose}),chatId:l,input:e}),_=n.textMode??`markdown`,v=ne({cfg:r,channel:`telegram`,accountId:o.accountId}),y=e=>z(e,{textMode:_,tableMode:v}),x=o.config.linkPreview??!0?void 0:{is_disabled:!0},S=async(e,t)=>await Q(t,`message`,n.verbose,async(t,r)=>{let i=t?{...t}:{};x&&(i.link_preview_options=x);let a={...i,...n.silent===!0?{disable_notification:!0}:{}},o=Object.keys(a).length>0,c=t=>g(()=>o?s.sendMessage(l,e.plainText,a):s.sendMessage(l,e.plainText),t);if(!e.htmlText)return await c(r);let u=e.htmlText,d={parse_mode:`HTML`,...a};return await Hr({label:r,verbose:n.verbose,requestHtml:e=>g(()=>s.sendMessage(l,u,d),e),requestPlain:c})}),C=e=>h||e&&p?{...m,...e&&p?{reply_markup:p}:{}}:void 0,w=async(e,t)=>{let n=``,r=l;for(let i=0;i<e.length;i+=1){let a=e[i];if(!a)continue;let o=await S(a,C(i===e.length-1)),s=G(o,t);H(l,s),n=String(s),r=String(o?.chat?.id??l)}return{messageId:n,chatId:r}},T=(e,t)=>{let r=n.plainText??e,i;try{i=In(e,4e3)}catch(e){return f(`telegram ${t} failed HTML chunk planning, retrying as plain text: ${b(e)}`),Sr(r,4e3).map(e=>({plainText:e}))}let a=Sr(r,4e3);if(a.length>i.length)return f(`telegram ${t} plain-text fallback needs more chunks than HTML; sending plain text`),a.map(e=>({plainText:e}));let o=Cr(r,i.length,4e3);return i.map((e,t)=>({htmlText:e,plainText:o[t]??e}))},E=async(e,t)=>await w(T(e,t),t);if(u){let e=await te(u,ce({maxBytes:d,mediaLocalRoots:n.mediaLocalRoots})),r=i(e.contentType??void 0),c=a({contentType:e.contentType,fileName:e.fileName}),v=r===`video`&&n.asVideoNote===!0,b=e.fileName??(c?`animation.gif`:Qr(r??`document`))??`file`,x=new ve(e.buffer,b),S,C;if(v)S=void 0,C=t.trim()?t:void 0;else{let e=mn(t);S=e.caption,C=e.followUpText}let T=S?y(S):void 0,D=!!C,ee={...h?m:{},...!D&&p?{reply_markup:p}:{}},ne={...T?{caption:T,parse_mode:`HTML`}:{},...ee,...n.silent===!0?{disable_notification:!0}:{}},re=async(e,t)=>await Q(ne,e,n.verbose,async(e,n)=>g(()=>t(e),n)),ie=(()=>{if(c)return{label:`animation`,sender:e=>s.sendAnimation(l,x,e)};if(r===`image`)return{label:`photo`,sender:e=>s.sendPhoto(l,x,e)};if(r===`video`)return v?{label:`video_note`,sender:e=>s.sendVideoNote(l,x,e)}:{label:`video`,sender:e=>s.sendVideo(l,x,e)};if(r===`audio`){let{useVoice:t}=xr({wantsVoice:n.asVoice===!0,contentType:e.contentType,fileName:b,logFallback:f});return t?{label:`voice`,sender:e=>s.sendVoice(l,x,e)}:{label:`audio`,sender:e=>s.sendAudio(l,x,e)}}return{label:`document`,sender:e=>s.sendDocument(l,x,e)}})(),ae=await re(ie.label,ie.sender),O=G(ae,`media send`),k=String(ae?.chat?.id??l);return H(l,O),A({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),D&&C?_===`html`?{messageId:(await E(C,`text follow-up send`)).messageId,chatId:k}:{messageId:(await w([{plainText:C,htmlText:y(C)}],`text follow-up send`)).messageId,chatId:k}:{messageId:String(O),chatId:k}}if(!t||!t.trim())throw Error(`Message must be non-empty for Telegram sends`);let D;return D=_===`html`?await E(t,`text send`):await w([{plainText:n.plainText??t,htmlText:y(t)}],`text send`),A({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),D}async function qr(e,t={}){let{cfg:n,account:r,api:i}=X(t),a=k(e),o=await q({cfg:n,api:i,lookupTarget:a.chatId,persistTarget:e,verbose:t.verbose}),s=Z({cfg:n,account:r,retry:t.retry,verbose:t.verbose,shouldRetry:e=>V(e,{context:`send`})}),c=Ht(a.messageThreadId??t.messageThreadId);return await s(()=>i.sendChatAction(o,`typing`,c),`typing`),{ok:!0}}async function Jr(e,t,n,r={}){let{cfg:i,account:a,api:o}=X(r),s=String(e),c=await q({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=J(t),u=Z({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>V(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 Yr(e,t,n={}){let{cfg:r,account:i,api:a}=X(n),o=String(e),s=await q({cfg:r,api:a,lookupTarget:o,persistTarget:o,verbose:n.verbose}),c=J(t);return await Z({cfg:r,account:i,retry:n.retry,verbose:n.verbose,shouldRetry:e=>V(e,{context:`send`})})(()=>a.deleteMessage(s,c),`deleteMessage`),f(`[telegram] Deleted message ${c} from chat ${s}`),{ok:!0}}async function Xr(e,t,n,r={}){let{cfg:i,account:a,api:o}=X({...r,cfg:r.cfg}),s=String(e),c=await q({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=J(t),u=Z({cfg:i,account:a,retry:r.retry,verbose:r.verbose}),d=$(n)??{inline_keyboard:[]};try{await u(()=>o.editMessageReplyMarkup(c,l,{reply_markup:d}),`editMessageReplyMarkup`,{shouldLog:e=>!Y(e)})}catch(e){if(!Y(e))throw e}return f(`[telegram] Edited reply markup for message ${l} in chat ${c}`),{ok:!0,messageId:String(l),chatId:c}}async function Zr(e,t,n,r={}){let{cfg:i,account:a,api:o}=X({...r,cfg:r.cfg}),s=String(e),c=await q({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=J(t),u=Z({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>V(e,{allowMessageMatch:!0})||$n(e)}),d=(e,t,n)=>u(e,t,n?{shouldLog:n}:void 0),p=z(n,{textMode:r.textMode??`markdown`,tableMode:ne({cfg:i,channel:`telegram`,accountId:a.accountId})}),m=r.buttons!==void 0,h=m?$(r.buttons):void 0,g=m?h??{inline_keyboard:[]}:void 0,_={parse_mode:`HTML`};r.linkPreview===!1&&(_.link_preview_options={is_disabled:!0}),g!==void 0&&(_.reply_markup=g);let v={};r.linkPreview===!1&&(v.link_preview_options={is_disabled:!0}),g!==void 0&&(v.reply_markup=g);try{await Hr({label:`editMessage`,verbose:r.verbose,requestHtml:e=>d(()=>o.editMessageText(c,l,p,_),e,e=>!Y(e)),requestPlain:e=>d(()=>Object.keys(v).length>0?o.editMessageText(c,l,n,v):o.editMessageText(c,l,n),e,e=>!Y(e))})}catch(e){if(!Y(e))throw e}return f(`[telegram] Edited message ${l} in chat ${c}`),{ok:!0,messageId:String(l),chatId:c}}function Qr(e){switch(e){case`image`:return`image.jpg`;case`video`:return`video.mp4`;case`audio`:return`audio.ogg`;default:return`file.bin`}}async function $r(e,t,n={}){if(!t?.trim())throw Error(`Telegram sticker file_id is required`);let{cfg:r,account:i,api:a}=X(n),o=k(e),s=await q({cfg:r,api:a,lookupTarget:o.chatId,persistTarget:e,verbose:n.verbose}),c=Vr({targetMessageThreadId:o.messageThreadId,messageThreadId:n.messageThreadId,chatType:o.chatType,replyToMessageId:n.replyToMessageId}),l=Object.keys(c).length>0,u=Wr({requestWithDiag:Z({cfg:r,account:i,retry:n.retry,verbose:n.verbose,useApiErrorLogging:!1}),chatId:s,input:e}),d=await Q(l?c:void 0,`sticker`,n.verbose,async(e,n)=>u(()=>a.sendSticker(s,t.trim(),e),n)),f=G(d,`sticker send`),p=String(d?.chat?.id??s);return H(s,f),A({channel:`telegram`,accountId:i.accountId,direction:`outbound`}),{messageId:String(f),chatId:p}}async function ei(e,t,n={}){let{cfg:r,account:i,api:a}=X(n),o=k(e),s=await q({cfg:r,api:a,lookupTarget:o.chatId,persistTarget:e,verbose:n.verbose}),c=le(t,{maxOptions:10}),l=Vr({targetMessageThreadId:o.messageThreadId,messageThreadId:n.messageThreadId,chatType:o.chatType,replyToMessageId:n.replyToMessageId}),u=c.options,d=Wr({requestWithDiag:Gr({cfg:r,account:i,retry:n.retry,verbose:n.verbose}),chatId:s,input:e}),f=c.durationSeconds;if(f===void 0&&c.durationHours!==void 0)throw Error(`Telegram poll durationHours is not supported. Use durationSeconds (5-600) instead.`);if(f!==void 0&&(f<5||f>600))throw Error(`Telegram poll durationSeconds must be between 5 and 600`);let p=await Q({allows_multiple_answers:c.maxSelections>1,is_anonymous:n.isAnonymous??!0,...f===void 0?{}:{open_period:f},...Object.keys(l).length>0?l:{},...n.silent===!0?{disable_notification:!0}:{}},`poll`,n.verbose,async(e,t)=>d(()=>a.sendPoll(s,c.question,u,e),t)),m=G(p,`poll send`),h=String(p?.chat?.id??s),g=p?.poll?.id;return H(s,m),A({channel:`telegram`,accountId:i.accountId,direction:`outbound`}),{messageId:String(m),chatId:h,pollId:g}}async function ti(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:a,api:o}=X(n),s=await q({cfg:i,api:o,lookupTarget:k(e).chatId,persistTarget:e,verbose:n.verbose}),c=Gr({cfg:i,account:a,retry:n.retry,verbose:n.verbose}),l={};n.iconColor!=null&&(l.icon_color=n.iconColor),n.iconCustomEmojiId?.trim()&&(l.icon_custom_emoji_id=n.iconCustomEmojiId.trim());let u=Object.keys(l).length>0,d=await c(()=>o.createForumTopic(s,r,u?l:void 0),`createForumTopic`),f=d.message_thread_id;return A({channel:`telegram`,accountId:a.accountId,direction:`outbound`}),{topicId:f,name:d.name??r,chatId:s}}export{ct as $,Ht as A,Yt as B,Zt as C,Wt as D,Kt as E,tn as F,Pt as G,Ut as H,fn as I,kt as J,Ft as K,Gt as L,nn as M,pn as N,qt as O,Qt as P,dt as Q,zt as R,mn as S,Jt as T,Bt as U,rn as V,It as W,Tt as X,At as Y,_t as Z,er as _,Zr as a,Ce as at,z as b,ei as c,ye as ct,xr as d,ft as et,cr as f,Zn as g,V as h,Xr as i,we as it,an as j,Vt as k,$r as l,be as lt,ir as m,ti as n,Te as nt,Jr as o,xe as ot,sr as p,Lt as q,Yr as r,Ee as rt,Kr as s,Se as st,$ as t,pt as tt,qr as u,Hn as v,Xt as w,On as x,bn as y,Rt as z};
@@ -1 +1 @@
1
- import{y as e}from"./paths-J4JUiRsa.js";import{io as t,r as n,yo as r}from"./config-LR8GH3Ws.js";import{C as i,D as a}from"./logger-BtrWb0dj.js";import{i as o}from"./ir-ntSck5Kp.js";import{t as s}from"./tables-Cz5osenc.js";import{t as c}from"./outbound-attachment-acB4qID1.js";import{spawn as l}from"node:child_process";import{createInterface as u}from"node:readline";const d=1e4;function f(){return!!process.env.VITEST?.trim().toLowerCase()}var p=class{constructor(e={}){this.pending=new Map,this.closedResolve=null,this.child=null,this.reader=null,this.nextId=1,this.cliPath=e.cliPath?.trim()||`imsg`,this.dbPath=e.dbPath?.trim()?a(e.dbPath):void 0,this.runtime=e.runtime,this.onNotification=e.onNotification,this.closed=new Promise(e=>{this.closedResolve=e})}async start(){if(this.child)return;if(f())throw Error(`Refusing to start imsg rpc in test environment; mock iMessage RPC client`);let e=[`rpc`];this.dbPath&&e.push(`--db`,this.dbPath);let t=l(this.cliPath,e,{stdio:[`pipe`,`pipe`,`pipe`]});this.child=t,this.reader=u({input:t.stdout}),this.reader.on(`line`,e=>{let t=e.trim();t&&this.handleLine(t)}),t.stderr?.on(`data`,e=>{let t=e.toString().split(/\r?\n/);for(let e of t)e.trim()&&this.runtime?.error?.(`imsg rpc: ${e.trim()}`)}),t.on(`error`,e=>{this.failAll(e instanceof Error?e:Error(String(e))),this.closedResolve?.()}),t.on(`close`,(e,t)=>{if(e!==0&&e!==null){let n=t?`signal ${t}`:`code ${e}`;this.failAll(Error(`imsg rpc exited (${n})`))}else this.failAll(Error(`imsg rpc closed`));this.closedResolve?.()})}async stop(){if(!this.child)return;this.reader?.close(),this.reader=null,this.child.stdin?.end();let e=this.child;this.child=null,await Promise.race([this.closed,new Promise(t=>{setTimeout(()=>{e.killed||e.kill(`SIGTERM`),t()},500)})])}async waitForClose(){await this.closed}async request(e,t,n){if(!this.child||!this.child.stdin)throw Error(`imsg rpc not running`);let r=this.nextId++,i={jsonrpc:`2.0`,id:r,method:e,params:t??{}},a=`${JSON.stringify(i)}\n`,o=n?.timeoutMs??1e4,s=new Promise((t,n)=>{let i=String(r),a=o>0?setTimeout(()=>{this.pending.delete(i),n(Error(`imsg rpc timeout (${e})`))},o):void 0;this.pending.set(i,{resolve:e=>t(e),reject:n,timer:a})});return this.child.stdin.write(a),await s}handleLine(e){let t;try{t=JSON.parse(e)}catch(t){let n=t instanceof Error?t.message:String(t);this.runtime?.error?.(`imsg rpc: failed to parse ${e}: ${n}`);return}if(t.id!==void 0&&t.id!==null){let e=String(t.id),n=this.pending.get(e);if(!n)return;if(n.timer&&clearTimeout(n.timer),this.pending.delete(e),t.error){let e=t.error.message??`imsg rpc error`,r=t.error.data,i=t.error.code,a=[];if(typeof i==`number`&&a.push(`code=${i}`),r!==void 0){let e=typeof r==`string`?r:JSON.stringify(r,null,2);e&&a.push(e)}let o=a.length>0?`${e}: ${a.join(` `)}`:e;n.reject(Error(o));return}n.resolve(t.result);return}t.method&&this.onNotification?.({method:t.method,params:t.params})}failAll(e){for(let[t,n]of this.pending.entries())n.timer&&clearTimeout(n.timer),n.reject(e),this.pending.delete(t)}};async function m(e={}){let t=new p(e);return await t.start(),t}function h(e,t){return e.slice(t.length).trim()}function g(e,t){return t.some(t=>e.startsWith(t))}function _(e){for(let{prefix:t,service:n}of e.servicePrefixes){if(!e.lower.startsWith(t))continue;let r=h(e.trimmed,t);if(!r)throw Error(`${t} target is required`);let i=r.toLowerCase();return e.isChatTarget(i)?e.parseTarget(r):{kind:`handle`,to:r,service:n}}return null}function v(e){let t=[...e.chatIdPrefixes,...e.chatGuidPrefixes,...e.chatIdentifierPrefixes,...e.extraChatPrefixes??[]];return _({trimmed:e.trimmed,lower:e.lower,servicePrefixes:e.servicePrefixes,isChatTarget:e=>g(e,t),parseTarget:e.parseTarget})}function y(e){for(let t of e.chatIdPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t),r=Number.parseInt(n,10);if(!Number.isFinite(r))throw Error(`Invalid chat_id: ${n}`);return{kind:`chat_id`,chatId:r}}for(let t of e.chatGuidPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(!n)throw Error(`chat_guid is required`);return{kind:`chat_guid`,chatGuid:n}}for(let t of e.chatIdentifierPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(!n)throw Error(`chat_identifier is required`);return{kind:`chat_identifier`,chatIdentifier:n}}return null}function b(e){for(let{prefix:t}of e.servicePrefixes){if(!e.lower.startsWith(t))continue;let n=h(e.trimmed,t);return n?e.parseAllowTarget(n):{kind:`handle`,handle:``}}return null}function x(e){return b({trimmed:e.trimmed,lower:e.lower,servicePrefixes:e.servicePrefixes,parseAllowTarget:e.parseAllowTarget})||C({trimmed:e.trimmed,lower:e.lower,chatIdPrefixes:e.chatIdPrefixes,chatGuidPrefixes:e.chatGuidPrefixes,chatIdentifierPrefixes:e.chatIdentifierPrefixes})||null}function S(e){return t=>r({allowFrom:t.allowFrom,sender:t.sender,chatId:t.chatId,chatGuid:t.chatGuid,chatIdentifier:t.chatIdentifier,normalizeSender:e.normalizeSender,parseAllowTarget:e.parseAllowTarget})}function C(e){for(let t of e.chatIdPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t),r=Number.parseInt(n,10);if(Number.isFinite(r))return{kind:`chat_id`,chatId:r}}for(let t of e.chatGuidPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(n)return{kind:`chat_guid`,chatGuid:n}}for(let t of e.chatIdentifierPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(n)return{kind:`chat_identifier`,chatIdentifier:n}}return null}const w=[`chat_id:`,`chatid:`,`chat:`],T=[`chat_guid:`,`chatguid:`,`guid:`],E=[`chat_identifier:`,`chatidentifier:`,`chatident:`],D=[{prefix:`imessage:`,service:`imessage`},{prefix:`sms:`,service:`sms`},{prefix:`auto:`,service:`auto`}];function O(e){let t=e.trim();if(!t)return``;let n=t.toLowerCase();if(n.startsWith(`imessage:`))return O(t.slice(9));if(n.startsWith(`sms:`))return O(t.slice(4));if(n.startsWith(`auto:`))return O(t.slice(5));for(let e of w)if(n.startsWith(e))return`chat_id:${t.slice(e.length).trim()}`;for(let e of T)if(n.startsWith(e))return`chat_guid:${t.slice(e.length).trim()}`;for(let e of E)if(n.startsWith(e))return`chat_identifier:${t.slice(e.length).trim()}`;return t.includes(`@`)?t.toLowerCase():i(t)||t.replace(/\s+/g,``)}function k(e){let t=e.trim();if(!t)throw Error(`iMessage target is required`);let n=t.toLowerCase();return v({trimmed:t,lower:n,servicePrefixes:D,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E,parseTarget:k})||y({trimmed:t,lower:n,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E})||{kind:`handle`,to:t,service:`auto`}}function A(e){let t=e.trim();return t?x({trimmed:t,lower:t.toLowerCase(),servicePrefixes:D,parseAllowTarget:A,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E})||{kind:`handle`,handle:O(t)}:{kind:`handle`,handle:``}}const j=S({normalizeSender:O,parseAllowTarget:A});function M(e){return j(e)}function N(e){return!e||!Number.isFinite(e)?``:`chat_id:${e}`}const P=/^\s*\[\[\s*reply_to\s*:\s*([^\]\n]+)\s*\]\]\s*/i;function F(e){let t=``;for(let n of e){let e=n.charCodeAt(0);e>=0&&e<=31||e===127||n===`[`||n===`]`||(t+=n)}return t}function I(e){let t=e?.trim();if(!t)return;let n=F(t).trim();if(n)return n.length>256?n.slice(0,256):n}function L(e,t){let n=I(t);if(!n)return e;let r=`[[reply_to:${n}]]`,i=e.match(P);if(i){let t=e.slice(i[0].length).trimStart();return t?`${r} ${t}`:r}let a=e.trimStart();return a?`${r} ${a}`:r}function R(e){if(!e)return null;let t=typeof e.messageId==`string`&&e.messageId.trim()||typeof e.message_id==`string`&&e.message_id.trim()||typeof e.id==`string`&&e.id.trim()||typeof e.guid==`string`&&e.guid.trim()||(typeof e.message_id==`number`?String(e.message_id):null)||(typeof e.id==`number`?String(e.id):null);return t?String(t).trim():null}async function z(r,i,a={}){let l=a.config??n(),u=a.account??t({cfg:l,accountId:a.accountId}),d=a.cliPath?.trim()||u.config.cliPath?.trim()||`imsg`,f=a.dbPath?.trim()||u.config.dbPath?.trim(),p=k(a.chatId?N(a.chatId):r),h=a.service??(p.kind===`handle`?p.service:void 0)??u.config.service,g=a.region?.trim()||u.config.region?.trim()||`US`,_=typeof a.maxBytes==`number`?a.maxBytes:typeof u.config.mediaMaxMb==`number`?u.config.mediaMaxMb*1024*1024:16*1024*1024,v=i??``,y;if(a.mediaUrl?.trim()){let t=await(a.resolveAttachmentImpl??c)(a.mediaUrl.trim(),_,{localRoots:a.mediaLocalRoots});if(y=t.path,!v.trim()){let n=e(t.contentType??void 0);n&&(v=n===`image`?`<media:image>`:`<media:${n}>`)}}if(!v.trim()&&!y)throw Error(`iMessage send requires text or media`);if(v.trim()){let e=o({cfg:l,channel:`imessage`,accountId:u.accountId});v=s(v,e)}v=L(v,a.replyToId);let b={text:v,service:h||`auto`,region:g};y&&(b.file=y),p.kind===`chat_id`?b.chat_id=p.chatId:p.kind===`chat_guid`?b.chat_guid=p.chatGuid:p.kind===`chat_identifier`?b.chat_identifier=p.chatIdentifier:b.to=p.to;let x=a.client??(a.createClient?await a.createClient({cliPath:d,dbPath:f}):await m({cliPath:d,dbPath:f})),S=!a.client;try{let e=await x.request(`send`,b,{timeoutMs:a.timeoutMs});return{messageId:R(e)??(e?.ok?`ok`:`unknown`)}}finally{S&&await x.stop()}}export{k as a,y as c,x as d,_ as f,O as i,b as l,d as m,N as n,S as o,m as p,M as r,C as s,z as t,v as u};
1
+ import{y as e}from"./paths-J4JUiRsa.js";import{io as t,r as n,yo as r}from"./config-LR8GH3Ws.js";import{C as i,D as a}from"./logger-BtrWb0dj.js";import{i as o}from"./ir-ntSck5Kp.js";import{t as s}from"./tables-Cz5osenc.js";import{t as c}from"./outbound-attachment-acB4qID1.js";import{spawn as l}from"node:child_process";import{createInterface as u}from"node:readline";const d=1e4;function f(){return!!process.env.VITEST?.trim().toLowerCase()}var p=class{constructor(e={}){this.pending=new Map,this.closedResolve=null,this.child=null,this.reader=null,this.nextId=1,this.cliPath=e.cliPath?.trim()||`imsg`,this.dbPath=e.dbPath?.trim()?a(e.dbPath):void 0,this.runtime=e.runtime,this.onNotification=e.onNotification,this.closed=new Promise(e=>{this.closedResolve=e})}async start(){if(this.child)return;if(f())throw Error(`Refusing to start imsg rpc in test environment; mock iMessage RPC client`);let e=[`rpc`];this.dbPath&&e.push(`--db`,this.dbPath);let t=l(this.cliPath,e,{stdio:[`pipe`,`pipe`,`pipe`]});this.child=t,this.reader=u({input:t.stdout}),this.reader.on(`line`,e=>{let t=e.trim();t&&this.handleLine(t)}),t.stderr?.on(`data`,e=>{let t=e.toString().split(/\r?\n/);for(let e of t)e.trim()&&this.runtime?.error?.(`imsg rpc: ${e.trim()}`)}),t.on(`error`,e=>{this.failAll(e instanceof Error?e:Error(String(e))),this.closedResolve?.()}),t.on(`close`,(e,t)=>{if(e!==0&&e!==null){let n=t?`signal ${t}`:`code ${e}`;this.failAll(Error(`imsg rpc exited (${n})`))}else this.failAll(Error(`imsg rpc closed`));this.closedResolve?.()})}async stop(){if(!this.child)return;this.reader?.close(),this.reader=null,this.child.stdin?.end();let e=this.child;this.child=null,await Promise.race([this.closed,new Promise(t=>{setTimeout(()=>{e.killed||e.kill(`SIGTERM`),t()},500)})])}async waitForClose(){await this.closed}async request(e,t,n){if(!this.child||!this.child.stdin)throw Error(`imsg rpc not running`);let r=this.nextId++,i={jsonrpc:`2.0`,id:r,method:e,params:t??{}},a=`${JSON.stringify(i)}\n`,o=n?.timeoutMs??1e4,s=new Promise((t,n)=>{let i=String(r),a=o>0?setTimeout(()=>{this.pending.delete(i),n(Error(`imsg rpc timeout (${e})`))},o):void 0;this.pending.set(i,{resolve:e=>t(e),reject:n,timer:a})});return this.child.stdin.write(a),await s}handleLine(e){let t;try{t=JSON.parse(e)}catch(t){let n=t instanceof Error?t.message:String(t);this.runtime?.error?.(`imsg rpc: failed to parse ${e}: ${n}`);return}if(t.id!==void 0&&t.id!==null){let e=String(t.id),n=this.pending.get(e);if(!n)return;if(n.timer&&clearTimeout(n.timer),this.pending.delete(e),t.error){let e=t.error.message??`imsg rpc error`,r=t.error.data,i=t.error.code,a=[];if(typeof i==`number`&&a.push(`code=${i}`),r!==void 0){let e=typeof r==`string`?r:JSON.stringify(r,null,2);e&&a.push(e)}let o=a.length>0?`${e}: ${a.join(` `)}`:e;n.reject(Error(o));return}n.resolve(t.result);return}t.method&&this.onNotification?.({method:t.method,params:t.params})}failAll(e){for(let[t,n]of this.pending.entries())n.timer&&clearTimeout(n.timer),n.reject(e),this.pending.delete(t)}};async function m(e={}){let t=new p(e);return await t.start(),t}function h(e,t){return e.slice(t.length).trim()}function g(e,t){return t.some(t=>e.startsWith(t))}function _(e){for(let{prefix:t,service:n}of e.servicePrefixes){if(!e.lower.startsWith(t))continue;let r=h(e.trimmed,t);if(!r)throw Error(`${t} target is required`);let i=r.toLowerCase();return e.isChatTarget(i)?e.parseTarget(r):{kind:`handle`,to:r,service:n}}return null}function v(e){let t=[...e.chatIdPrefixes,...e.chatGuidPrefixes,...e.chatIdentifierPrefixes,...e.extraChatPrefixes??[]];return _({trimmed:e.trimmed,lower:e.lower,servicePrefixes:e.servicePrefixes,isChatTarget:e=>g(e,t),parseTarget:e.parseTarget})}function y(e){for(let t of e.chatIdPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t),r=Number.parseInt(n,10);if(!Number.isFinite(r))throw Error(`Invalid chat_id: ${n}`);return{kind:`chat_id`,chatId:r}}for(let t of e.chatGuidPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(!n)throw Error(`chat_guid is required`);return{kind:`chat_guid`,chatGuid:n}}for(let t of e.chatIdentifierPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(!n)throw Error(`chat_identifier is required`);return{kind:`chat_identifier`,chatIdentifier:n}}return null}function b(e){for(let{prefix:t}of e.servicePrefixes){if(!e.lower.startsWith(t))continue;let n=h(e.trimmed,t);return n?e.parseAllowTarget(n):{kind:`handle`,handle:``}}return null}function x(e){return b({trimmed:e.trimmed,lower:e.lower,servicePrefixes:e.servicePrefixes,parseAllowTarget:e.parseAllowTarget})||C({trimmed:e.trimmed,lower:e.lower,chatIdPrefixes:e.chatIdPrefixes,chatGuidPrefixes:e.chatGuidPrefixes,chatIdentifierPrefixes:e.chatIdentifierPrefixes})||null}function S(e){return t=>r({allowFrom:t.allowFrom,sender:t.sender,chatId:t.chatId,chatGuid:t.chatGuid,chatIdentifier:t.chatIdentifier,normalizeSender:e.normalizeSender,parseAllowTarget:e.parseAllowTarget})}function C(e){for(let t of e.chatIdPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t),r=Number.parseInt(n,10);if(Number.isFinite(r))return{kind:`chat_id`,chatId:r}}for(let t of e.chatGuidPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(n)return{kind:`chat_guid`,chatGuid:n}}for(let t of e.chatIdentifierPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(n)return{kind:`chat_identifier`,chatIdentifier:n}}return null}const w=[`chat_id:`,`chatid:`,`chat:`],T=[`chat_guid:`,`chatguid:`,`guid:`],E=[`chat_identifier:`,`chatidentifier:`,`chatident:`],D=[{prefix:`imessage:`,service:`imessage`},{prefix:`sms:`,service:`sms`},{prefix:`auto:`,service:`auto`}];function O(e){let t=e.trim();if(!t)return``;let n=t.toLowerCase();if(n.startsWith(`imessage:`))return O(t.slice(9));if(n.startsWith(`sms:`))return O(t.slice(4));if(n.startsWith(`auto:`))return O(t.slice(5));for(let e of w)if(n.startsWith(e))return`chat_id:${t.slice(e.length).trim()}`;for(let e of T)if(n.startsWith(e))return`chat_guid:${t.slice(e.length).trim()}`;for(let e of E)if(n.startsWith(e))return`chat_identifier:${t.slice(e.length).trim()}`;return t.includes(`@`)?t.toLowerCase():i(t)||t.replace(/\s+/g,``)}function k(e){let t=e.trim();if(!t)throw Error(`iMessage target is required`);let n=t.toLowerCase();return v({trimmed:t,lower:n,servicePrefixes:D,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E,parseTarget:k})||y({trimmed:t,lower:n,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E})||{kind:`handle`,to:t,service:`auto`}}function A(e){let t=e.trim();return t?x({trimmed:t,lower:t.toLowerCase(),servicePrefixes:D,parseAllowTarget:A,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E})||{kind:`handle`,handle:O(t)}:{kind:`handle`,handle:``}}const j=S({normalizeSender:O,parseAllowTarget:A});function M(e){return j(e)}function N(e){return!e||!Number.isFinite(e)?``:`chat_id:${e}`}const P=/^\s*\[\[\s*reply_to\s*:\s*([^\]\n]+)\s*\]\]\s*/i;function F(e){let t=``;for(let n of e){let e=n.charCodeAt(0);e>=0&&e<=31||e===127||n===`[`||n===`]`||(t+=n)}return t}function I(e){let t=e?.trim();if(!t)return;let n=F(t).trim();if(n)return n.length>256?n.slice(0,256):n}function L(e,t){let n=I(t);if(!n)return e;let r=`[[reply_to:${n}]]`,i=e.match(P);if(i){let t=e.slice(i[0].length).trimStart();return t?`${r} ${t}`:r}let a=e.trimStart();return a?`${r} ${a}`:r}function R(e){if(!e)return null;let t=typeof e.messageId==`string`&&e.messageId.trim()||typeof e.message_id==`string`&&e.message_id.trim()||typeof e.id==`string`&&e.id.trim()||typeof e.guid==`string`&&e.guid.trim()||(typeof e.message_id==`number`?String(e.message_id):null)||(typeof e.id==`number`?String(e.id):null);return t?String(t).trim():null}async function z(r,i,a={}){let l=a.config??n(),u=a.account??t({cfg:l,accountId:a.accountId}),d=a.cliPath?.trim()||u.config.cliPath?.trim()||`imsg`,f=a.dbPath?.trim()||u.config.dbPath?.trim(),p=k(a.chatId?N(a.chatId):r),h=a.service??(p.kind===`handle`?p.service:void 0)??u.config.service,g=a.region?.trim()||u.config.region?.trim()||`US`,_=typeof a.maxBytes==`number`?a.maxBytes:typeof u.config.mediaMaxMb==`number`?u.config.mediaMaxMb*1024*1024:16*1024*1024,v=i??``,y;if(a.mediaUrl?.trim()){let t=await(a.resolveAttachmentImpl??c)(a.mediaUrl.trim(),_,{localRoots:a.mediaLocalRoots});if(y=t.path,!v.trim()){let n=e(t.contentType??void 0);n&&(v=n===`image`?`<media:image>`:`<media:${n}>`)}}if(!v.trim()&&!y)throw Error(`iMessage send requires text or media`);if(v.trim()){let e=o({cfg:l,channel:`imessage`,accountId:u.accountId});v=s(v,e)}v=L(v,a.replyToId);let b={text:v,service:h||`auto`,region:g};y&&(b.file=y),p.kind===`chat_id`?b.chat_id=p.chatId:p.kind===`chat_guid`?b.chat_guid=p.chatGuid:p.kind===`chat_identifier`?b.chat_identifier=p.chatIdentifier:b.to=p.to;let x=a.client??(a.createClient?await a.createClient({cliPath:d,dbPath:f}):await m({cliPath:d,dbPath:f})),S=!a.client;try{let e=await x.request(`send`,b,{timeoutMs:a.timeoutMs});return{messageId:R(e)??(e?.ok?`ok`:`unknown`)}}finally{S&&await x.stop()}}export{k as a,y as c,x as d,_ as f,O as i,b as l,d as m,N as n,S as o,m as p,M as r,C as s,z as t,v as u};
@@ -3,4 +3,4 @@ import{g as e}from"./paths-Do0djuaj.js";import{Ca as t,Xr as n,zn as r}from"./mo
3
3
  `);continue}if(e.startsWith(`:`)){n=c.indexOf(`
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,n){let i=!!e.baseUrl?.trim(),a=!!e.account?.trim(),o=n||(!i||!a?r({cfg:t(),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
- `?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(n,i,a={}){let o=a.cfg??t(),c=r({cfg:o,accountId:a.accountId}),{baseUrl:u,account:d}=_(a,c),f=k(n),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};
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(n,i,a={}){let o=a.cfg??t(),c=r({cfg:o,accountId:a.accountId}),{baseUrl:u,account:d}=_(a,c),f=k(n),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};
@@ -1 +1 @@
1
- import{g as e}from"./paths-D55o_j8-.js";import{Da as t,ir as n,sr as r}from"./model-auth-D7YupJDS.js";import{h as i,y as a}from"./logger-C210xuWx.js";import{s as o}from"./ir-DJ08DSkk.js";import{t as s}from"./tables-DLSXY2-Q.js";import{t as c}from"./outbound-attachment-8qvAj1MK.js";import{spawn as l}from"node:child_process";import{createInterface as u}from"node:readline";const d=1e4;function f(){return!!process.env.VITEST?.trim().toLowerCase()}var p=class{constructor(e={}){this.pending=new Map,this.closedResolve=null,this.child=null,this.reader=null,this.nextId=1,this.cliPath=e.cliPath?.trim()||`imsg`,this.dbPath=e.dbPath?.trim()?a(e.dbPath):void 0,this.runtime=e.runtime,this.onNotification=e.onNotification,this.closed=new Promise(e=>{this.closedResolve=e})}async start(){if(this.child)return;if(f())throw Error(`Refusing to start imsg rpc in test environment; mock iMessage RPC client`);let e=[`rpc`];this.dbPath&&e.push(`--db`,this.dbPath);let t=l(this.cliPath,e,{stdio:[`pipe`,`pipe`,`pipe`]});this.child=t,this.reader=u({input:t.stdout}),this.reader.on(`line`,e=>{let t=e.trim();t&&this.handleLine(t)}),t.stderr?.on(`data`,e=>{let t=e.toString().split(/\r?\n/);for(let e of t)e.trim()&&this.runtime?.error?.(`imsg rpc: ${e.trim()}`)}),t.on(`error`,e=>{this.failAll(e instanceof Error?e:Error(String(e))),this.closedResolve?.()}),t.on(`close`,(e,t)=>{if(e!==0&&e!==null){let n=t?`signal ${t}`:`code ${e}`;this.failAll(Error(`imsg rpc exited (${n})`))}else this.failAll(Error(`imsg rpc closed`));this.closedResolve?.()})}async stop(){if(!this.child)return;this.reader?.close(),this.reader=null,this.child.stdin?.end();let e=this.child;this.child=null,await Promise.race([this.closed,new Promise(t=>{setTimeout(()=>{e.killed||e.kill(`SIGTERM`),t()},500)})])}async waitForClose(){await this.closed}async request(e,t,n){if(!this.child||!this.child.stdin)throw Error(`imsg rpc not running`);let r=this.nextId++,i={jsonrpc:`2.0`,id:r,method:e,params:t??{}},a=`${JSON.stringify(i)}\n`,o=n?.timeoutMs??1e4,s=new Promise((t,n)=>{let i=String(r),a=o>0?setTimeout(()=>{this.pending.delete(i),n(Error(`imsg rpc timeout (${e})`))},o):void 0;this.pending.set(i,{resolve:e=>t(e),reject:n,timer:a})});return this.child.stdin.write(a),await s}handleLine(e){let t;try{t=JSON.parse(e)}catch(t){let n=t instanceof Error?t.message:String(t);this.runtime?.error?.(`imsg rpc: failed to parse ${e}: ${n}`);return}if(t.id!==void 0&&t.id!==null){let e=String(t.id),n=this.pending.get(e);if(!n)return;if(n.timer&&clearTimeout(n.timer),this.pending.delete(e),t.error){let e=t.error.message??`imsg rpc error`,r=t.error.data,i=t.error.code,a=[];if(typeof i==`number`&&a.push(`code=${i}`),r!==void 0){let e=typeof r==`string`?r:JSON.stringify(r,null,2);e&&a.push(e)}let o=a.length>0?`${e}: ${a.join(` `)}`:e;n.reject(Error(o));return}n.resolve(t.result);return}t.method&&this.onNotification?.({method:t.method,params:t.params})}failAll(e){for(let[t,n]of this.pending.entries())n.timer&&clearTimeout(n.timer),n.reject(e),this.pending.delete(t)}};async function m(e={}){let t=new p(e);return await t.start(),t}function h(e,t){return e.slice(t.length).trim()}function g(e,t){return t.some(t=>e.startsWith(t))}function _(e){for(let{prefix:t,service:n}of e.servicePrefixes){if(!e.lower.startsWith(t))continue;let r=h(e.trimmed,t);if(!r)throw Error(`${t} target is required`);let i=r.toLowerCase();return e.isChatTarget(i)?e.parseTarget(r):{kind:`handle`,to:r,service:n}}return null}function v(e){let t=[...e.chatIdPrefixes,...e.chatGuidPrefixes,...e.chatIdentifierPrefixes,...e.extraChatPrefixes??[]];return _({trimmed:e.trimmed,lower:e.lower,servicePrefixes:e.servicePrefixes,isChatTarget:e=>g(e,t),parseTarget:e.parseTarget})}function y(e){for(let t of e.chatIdPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t),r=Number.parseInt(n,10);if(!Number.isFinite(r))throw Error(`Invalid chat_id: ${n}`);return{kind:`chat_id`,chatId:r}}for(let t of e.chatGuidPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(!n)throw Error(`chat_guid is required`);return{kind:`chat_guid`,chatGuid:n}}for(let t of e.chatIdentifierPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(!n)throw Error(`chat_identifier is required`);return{kind:`chat_identifier`,chatIdentifier:n}}return null}function b(e){for(let{prefix:t}of e.servicePrefixes){if(!e.lower.startsWith(t))continue;let n=h(e.trimmed,t);return n?e.parseAllowTarget(n):{kind:`handle`,handle:``}}return null}function x(e){return b({trimmed:e.trimmed,lower:e.lower,servicePrefixes:e.servicePrefixes,parseAllowTarget:e.parseAllowTarget})||C({trimmed:e.trimmed,lower:e.lower,chatIdPrefixes:e.chatIdPrefixes,chatGuidPrefixes:e.chatGuidPrefixes,chatIdentifierPrefixes:e.chatIdentifierPrefixes})||null}function S(e){return t=>r({allowFrom:t.allowFrom,sender:t.sender,chatId:t.chatId,chatGuid:t.chatGuid,chatIdentifier:t.chatIdentifier,normalizeSender:e.normalizeSender,parseAllowTarget:e.parseAllowTarget})}function C(e){for(let t of e.chatIdPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t),r=Number.parseInt(n,10);if(Number.isFinite(r))return{kind:`chat_id`,chatId:r}}for(let t of e.chatGuidPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(n)return{kind:`chat_guid`,chatGuid:n}}for(let t of e.chatIdentifierPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(n)return{kind:`chat_identifier`,chatIdentifier:n}}return null}const w=[`chat_id:`,`chatid:`,`chat:`],T=[`chat_guid:`,`chatguid:`,`guid:`],E=[`chat_identifier:`,`chatidentifier:`,`chatident:`],D=[{prefix:`imessage:`,service:`imessage`},{prefix:`sms:`,service:`sms`},{prefix:`auto:`,service:`auto`}];function O(e){let t=e.trim();if(!t)return``;let n=t.toLowerCase();if(n.startsWith(`imessage:`))return O(t.slice(9));if(n.startsWith(`sms:`))return O(t.slice(4));if(n.startsWith(`auto:`))return O(t.slice(5));for(let e of w)if(n.startsWith(e))return`chat_id:${t.slice(e.length).trim()}`;for(let e of T)if(n.startsWith(e))return`chat_guid:${t.slice(e.length).trim()}`;for(let e of E)if(n.startsWith(e))return`chat_identifier:${t.slice(e.length).trim()}`;return t.includes(`@`)?t.toLowerCase():i(t)||t.replace(/\s+/g,``)}function k(e){let t=e.trim();if(!t)throw Error(`iMessage target is required`);let n=t.toLowerCase();return v({trimmed:t,lower:n,servicePrefixes:D,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E,parseTarget:k})||y({trimmed:t,lower:n,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E})||{kind:`handle`,to:t,service:`auto`}}function A(e){let t=e.trim();return t?x({trimmed:t,lower:t.toLowerCase(),servicePrefixes:D,parseAllowTarget:A,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E})||{kind:`handle`,handle:O(t)}:{kind:`handle`,handle:``}}const j=S({normalizeSender:O,parseAllowTarget:A});function M(e){return j(e)}function N(e){return!e||!Number.isFinite(e)?``:`chat_id:${e}`}const P=/^\s*\[\[\s*reply_to\s*:\s*([^\]\n]+)\s*\]\]\s*/i;function F(e){let t=``;for(let n of e){let e=n.charCodeAt(0);e>=0&&e<=31||e===127||n===`[`||n===`]`||(t+=n)}return t}function I(e){let t=e?.trim();if(!t)return;let n=F(t).trim();if(n)return n.length>256?n.slice(0,256):n}function L(e,t){let n=I(t);if(!n)return e;let r=`[[reply_to:${n}]]`,i=e.match(P);if(i){let t=e.slice(i[0].length).trimStart();return t?`${r} ${t}`:r}let a=e.trimStart();return a?`${r} ${a}`:r}function R(e){if(!e)return null;let t=typeof e.messageId==`string`&&e.messageId.trim()||typeof e.message_id==`string`&&e.message_id.trim()||typeof e.id==`string`&&e.id.trim()||typeof e.guid==`string`&&e.guid.trim()||(typeof e.message_id==`number`?String(e.message_id):null)||(typeof e.id==`number`?String(e.id):null);return t?String(t).trim():null}async function z(r,i,a={}){let l=a.config??t(),u=a.account??n({cfg:l,accountId:a.accountId}),d=a.cliPath?.trim()||u.config.cliPath?.trim()||`imsg`,f=a.dbPath?.trim()||u.config.dbPath?.trim(),p=k(a.chatId?N(a.chatId):r),h=a.service??(p.kind===`handle`?p.service:void 0)??u.config.service,g=a.region?.trim()||u.config.region?.trim()||`US`,_=typeof a.maxBytes==`number`?a.maxBytes:typeof u.config.mediaMaxMb==`number`?u.config.mediaMaxMb*1024*1024:16*1024*1024,v=i??``,y;if(a.mediaUrl?.trim()){let t=await(a.resolveAttachmentImpl??c)(a.mediaUrl.trim(),_,{localRoots:a.mediaLocalRoots});if(y=t.path,!v.trim()){let n=e(t.contentType??void 0);n&&(v=n===`image`?`<media:image>`:`<media:${n}>`)}}if(!v.trim()&&!y)throw Error(`iMessage send requires text or media`);if(v.trim()){let e=o({cfg:l,channel:`imessage`,accountId:u.accountId});v=s(v,e)}v=L(v,a.replyToId);let b={text:v,service:h||`auto`,region:g};y&&(b.file=y),p.kind===`chat_id`?b.chat_id=p.chatId:p.kind===`chat_guid`?b.chat_guid=p.chatGuid:p.kind===`chat_identifier`?b.chat_identifier=p.chatIdentifier:b.to=p.to;let x=a.client??(a.createClient?await a.createClient({cliPath:d,dbPath:f}):await m({cliPath:d,dbPath:f})),S=!a.client;try{let e=await x.request(`send`,b,{timeoutMs:a.timeoutMs});return{messageId:R(e)??(e?.ok?`ok`:`unknown`)}}finally{S&&await x.stop()}}export{k as a,O as i,N as n,m as o,M as r,d as s,z as t};
1
+ import{g as e}from"./paths-D55o_j8-.js";import{Da as t,ir as n,sr as r}from"./model-auth-D7YupJDS.js";import{h as i,y as a}from"./logger-C210xuWx.js";import{s as o}from"./ir-DJ08DSkk.js";import{t as s}from"./tables-DLSXY2-Q.js";import{t as c}from"./outbound-attachment-8qvAj1MK.js";import{spawn as l}from"node:child_process";import{createInterface as u}from"node:readline";const d=1e4;function f(){return!!process.env.VITEST?.trim().toLowerCase()}var p=class{constructor(e={}){this.pending=new Map,this.closedResolve=null,this.child=null,this.reader=null,this.nextId=1,this.cliPath=e.cliPath?.trim()||`imsg`,this.dbPath=e.dbPath?.trim()?a(e.dbPath):void 0,this.runtime=e.runtime,this.onNotification=e.onNotification,this.closed=new Promise(e=>{this.closedResolve=e})}async start(){if(this.child)return;if(f())throw Error(`Refusing to start imsg rpc in test environment; mock iMessage RPC client`);let e=[`rpc`];this.dbPath&&e.push(`--db`,this.dbPath);let t=l(this.cliPath,e,{stdio:[`pipe`,`pipe`,`pipe`]});this.child=t,this.reader=u({input:t.stdout}),this.reader.on(`line`,e=>{let t=e.trim();t&&this.handleLine(t)}),t.stderr?.on(`data`,e=>{let t=e.toString().split(/\r?\n/);for(let e of t)e.trim()&&this.runtime?.error?.(`imsg rpc: ${e.trim()}`)}),t.on(`error`,e=>{this.failAll(e instanceof Error?e:Error(String(e))),this.closedResolve?.()}),t.on(`close`,(e,t)=>{if(e!==0&&e!==null){let n=t?`signal ${t}`:`code ${e}`;this.failAll(Error(`imsg rpc exited (${n})`))}else this.failAll(Error(`imsg rpc closed`));this.closedResolve?.()})}async stop(){if(!this.child)return;this.reader?.close(),this.reader=null,this.child.stdin?.end();let e=this.child;this.child=null,await Promise.race([this.closed,new Promise(t=>{setTimeout(()=>{e.killed||e.kill(`SIGTERM`),t()},500)})])}async waitForClose(){await this.closed}async request(e,t,n){if(!this.child||!this.child.stdin)throw Error(`imsg rpc not running`);let r=this.nextId++,i={jsonrpc:`2.0`,id:r,method:e,params:t??{}},a=`${JSON.stringify(i)}\n`,o=n?.timeoutMs??1e4,s=new Promise((t,n)=>{let i=String(r),a=o>0?setTimeout(()=>{this.pending.delete(i),n(Error(`imsg rpc timeout (${e})`))},o):void 0;this.pending.set(i,{resolve:e=>t(e),reject:n,timer:a})});return this.child.stdin.write(a),await s}handleLine(e){let t;try{t=JSON.parse(e)}catch(t){let n=t instanceof Error?t.message:String(t);this.runtime?.error?.(`imsg rpc: failed to parse ${e}: ${n}`);return}if(t.id!==void 0&&t.id!==null){let e=String(t.id),n=this.pending.get(e);if(!n)return;if(n.timer&&clearTimeout(n.timer),this.pending.delete(e),t.error){let e=t.error.message??`imsg rpc error`,r=t.error.data,i=t.error.code,a=[];if(typeof i==`number`&&a.push(`code=${i}`),r!==void 0){let e=typeof r==`string`?r:JSON.stringify(r,null,2);e&&a.push(e)}let o=a.length>0?`${e}: ${a.join(` `)}`:e;n.reject(Error(o));return}n.resolve(t.result);return}t.method&&this.onNotification?.({method:t.method,params:t.params})}failAll(e){for(let[t,n]of this.pending.entries())n.timer&&clearTimeout(n.timer),n.reject(e),this.pending.delete(t)}};async function m(e={}){let t=new p(e);return await t.start(),t}function h(e,t){return e.slice(t.length).trim()}function g(e,t){return t.some(t=>e.startsWith(t))}function _(e){for(let{prefix:t,service:n}of e.servicePrefixes){if(!e.lower.startsWith(t))continue;let r=h(e.trimmed,t);if(!r)throw Error(`${t} target is required`);let i=r.toLowerCase();return e.isChatTarget(i)?e.parseTarget(r):{kind:`handle`,to:r,service:n}}return null}function v(e){let t=[...e.chatIdPrefixes,...e.chatGuidPrefixes,...e.chatIdentifierPrefixes,...e.extraChatPrefixes??[]];return _({trimmed:e.trimmed,lower:e.lower,servicePrefixes:e.servicePrefixes,isChatTarget:e=>g(e,t),parseTarget:e.parseTarget})}function y(e){for(let t of e.chatIdPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t),r=Number.parseInt(n,10);if(!Number.isFinite(r))throw Error(`Invalid chat_id: ${n}`);return{kind:`chat_id`,chatId:r}}for(let t of e.chatGuidPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(!n)throw Error(`chat_guid is required`);return{kind:`chat_guid`,chatGuid:n}}for(let t of e.chatIdentifierPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(!n)throw Error(`chat_identifier is required`);return{kind:`chat_identifier`,chatIdentifier:n}}return null}function b(e){for(let{prefix:t}of e.servicePrefixes){if(!e.lower.startsWith(t))continue;let n=h(e.trimmed,t);return n?e.parseAllowTarget(n):{kind:`handle`,handle:``}}return null}function x(e){return b({trimmed:e.trimmed,lower:e.lower,servicePrefixes:e.servicePrefixes,parseAllowTarget:e.parseAllowTarget})||C({trimmed:e.trimmed,lower:e.lower,chatIdPrefixes:e.chatIdPrefixes,chatGuidPrefixes:e.chatGuidPrefixes,chatIdentifierPrefixes:e.chatIdentifierPrefixes})||null}function S(e){return t=>r({allowFrom:t.allowFrom,sender:t.sender,chatId:t.chatId,chatGuid:t.chatGuid,chatIdentifier:t.chatIdentifier,normalizeSender:e.normalizeSender,parseAllowTarget:e.parseAllowTarget})}function C(e){for(let t of e.chatIdPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t),r=Number.parseInt(n,10);if(Number.isFinite(r))return{kind:`chat_id`,chatId:r}}for(let t of e.chatGuidPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(n)return{kind:`chat_guid`,chatGuid:n}}for(let t of e.chatIdentifierPrefixes)if(e.lower.startsWith(t)){let n=h(e.trimmed,t);if(n)return{kind:`chat_identifier`,chatIdentifier:n}}return null}const w=[`chat_id:`,`chatid:`,`chat:`],T=[`chat_guid:`,`chatguid:`,`guid:`],E=[`chat_identifier:`,`chatidentifier:`,`chatident:`],D=[{prefix:`imessage:`,service:`imessage`},{prefix:`sms:`,service:`sms`},{prefix:`auto:`,service:`auto`}];function O(e){let t=e.trim();if(!t)return``;let n=t.toLowerCase();if(n.startsWith(`imessage:`))return O(t.slice(9));if(n.startsWith(`sms:`))return O(t.slice(4));if(n.startsWith(`auto:`))return O(t.slice(5));for(let e of w)if(n.startsWith(e))return`chat_id:${t.slice(e.length).trim()}`;for(let e of T)if(n.startsWith(e))return`chat_guid:${t.slice(e.length).trim()}`;for(let e of E)if(n.startsWith(e))return`chat_identifier:${t.slice(e.length).trim()}`;return t.includes(`@`)?t.toLowerCase():i(t)||t.replace(/\s+/g,``)}function k(e){let t=e.trim();if(!t)throw Error(`iMessage target is required`);let n=t.toLowerCase();return v({trimmed:t,lower:n,servicePrefixes:D,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E,parseTarget:k})||y({trimmed:t,lower:n,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E})||{kind:`handle`,to:t,service:`auto`}}function A(e){let t=e.trim();return t?x({trimmed:t,lower:t.toLowerCase(),servicePrefixes:D,parseAllowTarget:A,chatIdPrefixes:w,chatGuidPrefixes:T,chatIdentifierPrefixes:E})||{kind:`handle`,handle:O(t)}:{kind:`handle`,handle:``}}const j=S({normalizeSender:O,parseAllowTarget:A});function M(e){return j(e)}function N(e){return!e||!Number.isFinite(e)?``:`chat_id:${e}`}const P=/^\s*\[\[\s*reply_to\s*:\s*([^\]\n]+)\s*\]\]\s*/i;function F(e){let t=``;for(let n of e){let e=n.charCodeAt(0);e>=0&&e<=31||e===127||n===`[`||n===`]`||(t+=n)}return t}function I(e){let t=e?.trim();if(!t)return;let n=F(t).trim();if(n)return n.length>256?n.slice(0,256):n}function L(e,t){let n=I(t);if(!n)return e;let r=`[[reply_to:${n}]]`,i=e.match(P);if(i){let t=e.slice(i[0].length).trimStart();return t?`${r} ${t}`:r}let a=e.trimStart();return a?`${r} ${a}`:r}function R(e){if(!e)return null;let t=typeof e.messageId==`string`&&e.messageId.trim()||typeof e.message_id==`string`&&e.message_id.trim()||typeof e.id==`string`&&e.id.trim()||typeof e.guid==`string`&&e.guid.trim()||(typeof e.message_id==`number`?String(e.message_id):null)||(typeof e.id==`number`?String(e.id):null);return t?String(t).trim():null}async function z(r,i,a={}){let l=a.config??t(),u=a.account??n({cfg:l,accountId:a.accountId}),d=a.cliPath?.trim()||u.config.cliPath?.trim()||`imsg`,f=a.dbPath?.trim()||u.config.dbPath?.trim(),p=k(a.chatId?N(a.chatId):r),h=a.service??(p.kind===`handle`?p.service:void 0)??u.config.service,g=a.region?.trim()||u.config.region?.trim()||`US`,_=typeof a.maxBytes==`number`?a.maxBytes:typeof u.config.mediaMaxMb==`number`?u.config.mediaMaxMb*1024*1024:16*1024*1024,v=i??``,y;if(a.mediaUrl?.trim()){let t=await(a.resolveAttachmentImpl??c)(a.mediaUrl.trim(),_,{localRoots:a.mediaLocalRoots});if(y=t.path,!v.trim()){let n=e(t.contentType??void 0);n&&(v=n===`image`?`<media:image>`:`<media:${n}>`)}}if(!v.trim()&&!y)throw Error(`iMessage send requires text or media`);if(v.trim()){let e=o({cfg:l,channel:`imessage`,accountId:u.accountId});v=s(v,e)}v=L(v,a.replyToId);let b={text:v,service:h||`auto`,region:g};y&&(b.file=y),p.kind===`chat_id`?b.chat_id=p.chatId:p.kind===`chat_guid`?b.chat_guid=p.chatGuid:p.kind===`chat_identifier`?b.chat_identifier=p.chatIdentifier:b.to=p.to;let x=a.client??(a.createClient?await a.createClient({cliPath:d,dbPath:f}):await m({cliPath:d,dbPath:f})),S=!a.client;try{let e=await x.request(`send`,b,{timeoutMs:a.timeoutMs});return{messageId:R(e)??(e?.ok?`ok`:`unknown`)}}finally{S&&await x.stop()}}export{k as a,O as i,N as n,m as o,M as r,d as s,z as t};
@@ -3,4 +3,4 @@ import{Wt as e}from"./paths-CXgWvWAM.js";import{Pn as t,Wi as n,br as r}from"./m
3
3
  `);continue}if(e.startsWith(`:`)){n=c.indexOf(`
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,r){let i=!!e.baseUrl?.trim(),a=!!e.account?.trim(),o=r||(!i||!a?t({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
- `?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(r,i,a={}){let o=a.cfg??n(),c=t({cfg:o,accountId:a.accountId}),{baseUrl:u,account:d}=_(a,c),f=k(r),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};
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(r,i,a={}){let o=a.cfg??n(),c=t({cfg:o,accountId:a.accountId}),{baseUrl:u,account:d}=_(a,c),f=k(r),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};