@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
@@ -1,3 +1,3 @@
1
1
  import{S as e}from"./subsystem-C5XF2Fy5.js";import{qs as t}from"./model-selection-I1ctjFOB.js";import{O as n,j as r}from"./plugins-CYLrFT4h.js";import{i,n as a,r as o,t as s}from"./targets-BJTo7bqu.js";import{r as c,t as l}from"./fetch-guard-Cji70DJW.js";import{i as u}from"./tokens-XGbQGn67.js";import{a as d,d as f,h as p,m,n as h,s as g,t as _}from"./ir-CZdZsdnI.js";import{t as v}from"./render-D8OWO2hT.js";import{WebClient as y}from"@slack/web-api";function b(e,t={}){let n=e.trim();return n?o({raw:n,mentionPattern:/^<@([A-Z0-9]+)>$/i,prefixes:[{prefix:`user:`,kind:`user`},{prefix:`channel:`,kind:`channel`},{prefix:`slack:`,kind:`user`}],atUserPattern:/^[A-Z0-9]+$/i,atUserErrorMessage:`Slack DMs require a user id (use user:<id> or <@id>)`})||(n.startsWith(`#`)?s(`channel`,a({candidate:n.slice(1).trim(),pattern:/^[A-Z0-9]+$/i,errorMessage:`Slack channels require a channel id (use channel:<id>)`}),n):t.defaultKind?s(t.defaultKind,n,n):s(`channel`,n,n)):void 0}function x(e){return i({platform:`Slack`,target:b(e,{defaultKind:`channel`}),kind:`channel`})}const S={retries:2,factor:2,minTimeout:500,maxTimeout:3e3,randomize:!0};function C(e={}){return{...e,retryConfig:e.retryConfig??S}}function w(e,t={}){return new y(e,C(t))}function T(e){if(typeof e!=`string`)return;let t=e.replace(/\s+/g,` `).trim();return t.length>0?t:void 0}function E(e){return T(e.text?.text)}function D(e){return T(e.text?.text)}function O(e){return T(e.alt_text)??T(e.title?.text)}function k(e){return T(e.title?.text)??T(e.alt_text)}function A(e){if(!Array.isArray(e.elements))return;let t=e.elements.map(e=>T(e.text)).filter(e=>!!e);return t.length>0?t.join(` `):void 0}function j(e){for(let t of e){let e=t;switch(e.type){case`header`:{let t=D(e);if(t)return t;break}case`section`:{let t=E(e);if(t)return t;break}case`image`:return O(e)||`Shared an image`;case`video`:return k(e)||`Shared a video`;case`file`:return`Shared a file`;case`context`:{let t=A(e);if(t)return t;break}default:break}}return`Shared a Block Kit message`}function M(e){try{return JSON.parse(e)}catch{throw Error(`blocks must be valid JSON`)}}function N(e){if(!Array.isArray(e))throw Error(`blocks must be an array`);if(e.length===0)throw Error(`blocks must contain at least one block`);if(e.length>50)throw Error(`blocks cannot exceed 50 items`);for(let t of e){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`each block must be an object`);let e=t.type;if(typeof e!=`string`||e.trim().length===0)throw Error(`each block must include a non-empty string type`)}}function P(e){return N(e),e}function F(e){if(e!=null)return P(typeof e==`string`?M(e):e)}function I(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}const L=/<[^>\n]+>/g;function R(e){if(!e.startsWith(`<`)||!e.endsWith(`>`))return!1;let t=e.slice(1,-1);return t.startsWith(`@`)||t.startsWith(`#`)||t.startsWith(`!`)||t.startsWith(`mailto:`)||t.startsWith(`tel:`)||t.startsWith(`http://`)||t.startsWith(`https://`)||t.startsWith(`slack://`)}function z(e){if(!e)return``;if(!e.includes(`&`)&&!e.includes(`<`)&&!e.includes(`>`))return e;L.lastIndex=0;let t=[],n=0;for(let r=L.exec(e);r;r=L.exec(e)){let i=r.index??0;t.push(I(e.slice(n,i)));let a=r[0]??``;t.push(R(a)?a:I(a)),n=i+a.length}return t.push(I(e.slice(n))),t.join(``)}function B(e){return e?!e.includes(`&`)&&!e.includes(`<`)&&!e.includes(`>`)?e:e.split(`
2
2
  `).map(e=>e.startsWith(`> `)?`> ${z(e.slice(2))}`:z(e)).join(`
3
- `):``}function V(e,t){let n=e.href.trim();if(!n)return null;let r=t.slice(e.start,e.end).trim(),i=n.startsWith(`mailto:`)?n.slice(7):n;if(!(r.length>0&&r!==n&&r!==i))return null;let a=I(n);return{start:e.start,end:e.end,open:`<${a}|`,close:`>`}}function H(){return{styleMarkers:{bold:{open:`*`,close:`*`},italic:{open:`_`,close:`_`},strikethrough:{open:`~`,close:`~`},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"}},escapeText:B,buildLink:V}}function U(e,t={}){return v(h(e??``,{linkify:!1,autolink:!1,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:t.tableMode}),H())}function W(e){return U(e??``)}function G(e,t,n={}){let r=_(h(e??``,{linkify:!1,autolink:!1,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:n.tableMode}),t),i=H();return r.map(e=>v(e,i))}const K={allowedHostnames:[`*.slack.com`,`*.slack-edge.com`,`*.slack-files.com`],allowRfc2544BenchmarkRange:!0};function q(e){return!!(e?.username||e?.iconUrl||e?.iconEmoji)}function J(e){if(!(e instanceof Error))return!1;let t=e;return t.data?.error?.toLowerCase()===`missing_scope`?(t.data?.needed?.toLowerCase())?.includes(`chat:write.customize`)?!0:[...t.data?.response_metadata?.scopes??[],...t.data?.response_metadata?.acceptedScopes??[]].map(e=>e.toLowerCase()).includes(`chat:write.customize`):!1}async function Y(t){let n={channel:t.channelId,text:t.text,thread_ts:t.threadTs,...t.blocks?.length?{blocks:t.blocks}:{}};try{return t.identity?.iconUrl?await t.client.chat.postMessage({...n,...t.identity.username?{username:t.identity.username}:{},icon_url:t.identity.iconUrl}):t.identity?.iconEmoji?await t.client.chat.postMessage({...n,...t.identity.username?{username:t.identity.username}:{},icon_emoji:t.identity.iconEmoji}):await t.client.chat.postMessage({...n,...t.identity?.username?{username:t.identity.username}:{}})}catch(r){if(!q(t.identity)||!J(r))throw r;return e(`slack send: missing chat:write.customize, retrying without custom identity`),t.client.chat.postMessage(n)}}function X(t){let n=r(t.explicit);if(n)return n;let i=r(t.fallbackToken);if(!i)throw e(`slack send: missing bot token for account=${t.accountId} explicit=${!!t.explicit} source=${t.fallbackSource??`unknown`}`),Error(`Slack bot token missing for account "${t.accountId}" (set channels.slack.accounts.${t.accountId}.botToken or SLACK_BOT_TOKEN for default).`);return i}function Z(e){let t=b(e);if(!t)throw Error(`Recipient is required for Slack sends`);return{kind:t.kind,id:t.id}}async function Q(e,t){if(!(t.kind===`user`||/^U[A-Z0-9]+$/i.test(t.id)))return{channelId:t.id};let n=(await e.conversations.open({users:t.id})).channel?.id;if(!n)throw Error(`Failed to open Slack DM channel`);return{channelId:n,isDm:!0}}async function $(e){let{buffer:t,contentType:n,fileName:r}=await d(e.mediaUrl,{maxBytes:e.maxBytes,localRoots:e.mediaLocalRoots}),i=await e.client.files.getUploadURLExternal({filename:r??`upload`,length:t.length});if(!i.ok||!i.upload_url||!i.file_id)throw Error(`Failed to get upload URL: ${i.error??`unknown error`}`);let a=new Uint8Array(t),{response:o,release:s}=await l(c({url:i.upload_url,init:{method:`POST`,...n?{headers:{"Content-Type":n}}:{},body:a},policy:K,auditContext:`slack-upload-file`}));try{if(!o.ok)throw Error(`Failed to upload file: HTTP ${o.status}`)}finally{await s()}let u=await e.client.files.completeUploadExternal({files:[{id:i.file_id,title:r??`upload`}],channel_id:e.channelId,...e.caption?{initial_comment:e.caption}:{},...e.threadTs?{thread_ts:e.threadTs}:{}});if(!u.ok)throw Error(`Failed to complete upload: ${u.error??`unknown error`}`);return i.file_id}async function ee(r,i,a={}){let o=i?.trim()??``;if(u(o)&&!a.mediaUrl&&!a.blocks)return e(`slack send: suppressed NO_REPLY token before API call`),{messageId:`suppressed`,channelId:``};let s=a.blocks==null?void 0:P(a.blocks);if(!o&&!a.mediaUrl&&!s)throw Error(`Slack send requires text, blocks, or media`);let c=a.cfg??t(),l=n({cfg:c,accountId:a.accountId}),d=X({explicit:a.token,accountId:l.accountId,fallbackToken:l.botToken,fallbackSource:l.botTokenSource}),h=a.client??w(d),{channelId:_}=await Q(h,Z(r));if(s){if(a.mediaUrl)throw Error(`Slack send does not support blocks with mediaUrl`);return{messageId:(await Y({client:h,channelId:_,text:o||j(s),threadTs:a.threadTs,identity:a.identity,blocks:s})).ts??`unknown`,channelId:_}}let v=p(c,`slack`,l.accountId),y=Math.min(v,4e3),b=g({cfg:c,channel:`slack`,accountId:l.accountId}),x=m(c,`slack`,l.accountId),S=(x===`newline`?f(o,y,x):[o]).flatMap(e=>G(e,y,{tableMode:b}));!S.length&&o&&S.push(o);let C=typeof l.config.mediaMaxMb==`number`?l.config.mediaMaxMb*1024*1024:void 0,T=``;if(a.mediaUrl){let[e,...t]=S;T=await $({client:h,channelId:_,mediaUrl:a.mediaUrl,mediaLocalRoots:a.mediaLocalRoots,caption:e,threadTs:a.threadTs,maxBytes:C});for(let e of t)T=(await Y({client:h,channelId:_,text:e,threadTs:a.threadTs,identity:a.identity})).ts??T}else for(let e of S.length?S:[``])T=(await Y({client:h,channelId:_,text:e,threadTs:a.threadTs,identity:a.identity})).ts??T;return{messageId:T||`unknown`,channelId:_}}export{P as a,C as c,F as i,b as l,G as n,j as o,W as r,w as s,ee as t,x as u};
3
+ `):``}function V(e,t){let n=e.href.trim();if(!n)return null;let r=t.slice(e.start,e.end).trim(),i=n.startsWith(`mailto:`)?n.slice(7):n;if(!(r.length>0&&r!==n&&r!==i))return null;let a=I(n);return{start:e.start,end:e.end,open:`<${a}|`,close:`>`}}function H(){return{styleMarkers:{bold:{open:`*`,close:`*`},italic:{open:`_`,close:`_`},strikethrough:{open:`~`,close:`~`},code:{open:"`",close:"`"},code_block:{open:"```\n",close:"```"}},escapeText:B,buildLink:V}}function U(e,t={}){return v(h(e??``,{linkify:!1,autolink:!1,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:t.tableMode}),H())}function W(e){return U(e??``)}function G(e,t,n={}){let r=_(h(e??``,{linkify:!1,autolink:!1,headingStyle:`bold`,blockquotePrefix:`> `,tableMode:n.tableMode}),t),i=H();return r.map(e=>v(e,i))}const K={allowedHostnames:[`*.slack.com`,`*.slack-edge.com`,`*.slack-files.com`],allowRfc2544BenchmarkRange:!0};function q(e){return!!(e?.username||e?.iconUrl||e?.iconEmoji)}function J(e){if(!(e instanceof Error))return!1;let t=e;return t.data?.error?.toLowerCase()===`missing_scope`?(t.data?.needed?.toLowerCase())?.includes(`chat:write.customize`)?!0:[...t.data?.response_metadata?.scopes??[],...t.data?.response_metadata?.acceptedScopes??[]].map(e=>e.toLowerCase()).includes(`chat:write.customize`):!1}async function Y(t){let n={channel:t.channelId,text:t.text,thread_ts:t.threadTs,...t.blocks?.length?{blocks:t.blocks}:{}};try{return t.identity?.iconUrl?await t.client.chat.postMessage({...n,...t.identity.username?{username:t.identity.username}:{},icon_url:t.identity.iconUrl}):t.identity?.iconEmoji?await t.client.chat.postMessage({...n,...t.identity.username?{username:t.identity.username}:{},icon_emoji:t.identity.iconEmoji}):await t.client.chat.postMessage({...n,...t.identity?.username?{username:t.identity.username}:{}})}catch(r){if(!q(t.identity)||!J(r))throw r;return e(`slack send: missing chat:write.customize, retrying without custom identity`),t.client.chat.postMessage(n)}}function X(t){let n=r(t.explicit);if(n)return n;let i=r(t.fallbackToken);if(!i)throw e(`slack send: missing bot token for account=${t.accountId} explicit=${!!t.explicit} source=${t.fallbackSource??`unknown`}`),Error(`Slack bot token missing for account "${t.accountId}" (set channels.slack.accounts.${t.accountId}.botToken or SLACK_BOT_TOKEN for default).`);return i}function Z(e){let t=b(e);if(!t)throw Error(`Recipient is required for Slack sends`);return{kind:t.kind,id:t.id}}async function Q(e,t){if(!(t.kind===`user`||/^U[A-Z0-9]+$/i.test(t.id)))return{channelId:t.id};let n=(await e.conversations.open({users:t.id})).channel?.id;if(!n)throw Error(`Failed to open Slack DM channel`);return{channelId:n,isDm:!0}}async function $(e){let{buffer:t,contentType:n,fileName:r}=await d(e.mediaUrl,{maxBytes:e.maxBytes,localRoots:e.mediaLocalRoots}),i=await e.client.files.getUploadURLExternal({filename:r??`upload`,length:t.length});if(!i.ok||!i.upload_url||!i.file_id)throw Error(`Failed to get upload URL: ${i.error??`unknown error`}`);let a=new Uint8Array(t),{response:o,release:s}=await l(c({url:i.upload_url,init:{method:`POST`,...n?{headers:{"Content-Type":n}}:{},body:a},policy:K,auditContext:`slack-upload-file`}));try{if(!o.ok)throw Error(`Failed to upload file: HTTP ${o.status}`)}finally{await s()}let u=await e.client.files.completeUploadExternal({files:[{id:i.file_id,title:r??`upload`}],channel_id:e.channelId,...e.caption?{initial_comment:e.caption}:{},...e.threadTs?{thread_ts:e.threadTs}:{}});if(!u.ok)throw Error(`Failed to complete upload: ${u.error??`unknown error`}`);return i.file_id}async function ee(r,i,a={}){let o=i?.trim()??``;if(u(o)&&!a.mediaUrl&&!a.blocks)return e(`slack send: suppressed NO_REPLY token before API call`),{messageId:`suppressed`,channelId:``};let s=a.blocks==null?void 0:P(a.blocks);if(!o&&!a.mediaUrl&&!s)throw Error(`Slack send requires text, blocks, or media`);let c=a.cfg??t(),l=n({cfg:c,accountId:a.accountId}),d=X({explicit:a.token,accountId:l.accountId,fallbackToken:l.botToken,fallbackSource:l.botTokenSource}),h=a.client??w(d),{channelId:_}=await Q(h,Z(r));if(s){if(a.mediaUrl)throw Error(`Slack send does not support blocks with mediaUrl`);return{messageId:(await Y({client:h,channelId:_,text:o||j(s),threadTs:a.threadTs,identity:a.identity,blocks:s})).ts??`unknown`,channelId:_}}let v=p(c,`slack`,l.accountId),y=Math.min(v,4e3),b=g({cfg:c,channel:`slack`,accountId:l.accountId}),x=m(c,`slack`,l.accountId),S=(x===`newline`?f(o,y,x):[o]).flatMap(e=>G(e,y,{tableMode:b}));!S.length&&o&&S.push(o);let C=typeof l.config.mediaMaxMb==`number`?l.config.mediaMaxMb*1024*1024:void 0,T=``;if(a.mediaUrl){let[e,...t]=S;T=await $({client:h,channelId:_,mediaUrl:a.mediaUrl,mediaLocalRoots:a.mediaLocalRoots,caption:e,threadTs:a.threadTs,maxBytes:C});for(let e of t)T=(await Y({client:h,channelId:_,text:e,threadTs:a.threadTs,identity:a.identity})).ts??T}else for(let e of S.length?S:[``])T=(await Y({client:h,channelId:_,text:e,threadTs:a.threadTs,identity:a.identity})).ts??T;return{messageId:T||`unknown`,channelId:_}}export{P as a,C as c,F as i,b as l,G as n,j as o,W as r,w as s,ee as t,x as u};
@@ -1 +1 @@
1
- import{N as e,_ as t,f as n,g as r,h as i}from"./paths-CrCoPIVK.js";import{c as a,d as o,l as s,o as c}from"./paths-CChBdtE8.js";import{d as l,l as u,t as d}from"./subsystem-Bc2XrjUz.js";import{W as f}from"./workspace-B0ZQeHXg.js";import{g as p,t as m}from"./utils-D3t-vPka.js";import{Bi as h,Hn as g,Li as _,Ri as v,Un as y,Us as b,Vi as x,Za as S,eo as C,er as w,ks as ee,li as T,ro as te,zi as E}from"./model-selection-qkByRv5A.js";import{n as ne,r as D,t as O}from"./targets-BYVMrXDf.js";import{n as re}from"./proxy-fetch-BZ9O8Dvj.js";import{a as ie,n as k,s as A,t as ae}from"./ir-BYCrFFZ9.js";import{t as oe}from"./render-CBsnn-2A.js";import{i as se,n as j}from"./channel-activity-D2VTmenR.js";import{t as ce}from"./load-options-C7dLuybp.js";import{n as le}from"./polls-C_XSFz3d.js";import{t as ue}from"./fetch-BJT3BrkJ.js";import de from"node:os";import M from"node:path";import N from"node:fs";import fe from"json5";import pe,{randomBytes as me}from"node:crypto";import{Bot as he,HttpError as ge,InputFile as _e}from"grammy";const ve=new Set([`.oga`,`.ogg`,`.opus`,`.mp3`,`.m4a`]),ye=new Set([`audio/ogg`,`audio/opus`,`audio/mpeg`,`audio/mp3`,`audio/mp4`,`audio/x-m4a`,`audio/m4a`]);function be(e){let r=t(e.contentType);if(r&&ye.has(r))return!0;let i=e.fileName?.trim();if(!i)return!1;let a=n(i);return a?ve.has(a):!1}function xe(e){return be(e)}function Se(){return y().filter(e=>e.pairing).map(e=>e.id)}function Ce(e){return g(e)?.pairing??null}async function we(e,t){try{let n=p(await N.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 Te(e,t){await T(e,t,{mode:384,trailingNewline:!0,ensureDirMode:448})}const Ee={retries:{retries:10,factor:2,minTimeout:100,maxTimeout:1e4,randomize:!0},stale:3e4},De=new Map;function Oe(e=process.env){return c(e,a(e,()=>o(e,de.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(Oe(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(Oe(t),`${r}-${je(i)}-allowFrom.json`):M.join(Oe(t),`${r}-allowFrom.json`)}async function Me(e,t){return await we(e,t)}async function F(e,t){await Te(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 N.promises.access(e)}catch{await F(e,t)}}async function Fe(e,t,n){return await Pe(e,t),await b(e,Ee,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=pe.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=Ce(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){De.set(e,$e(t))}function tt(e){let t=De.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 N.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 N.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}})}function mt(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 ht(e){return Number.isFinite(e)?` ±${Math.round(e??0)}m`:``}function gt(e,t){return`${e.toFixed(6)}, ${t.toFixed(6)}`}function _t(e){let t=mt(e),n=gt(t.latitude,t.longitude),r=ht(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 vt(e){let t=mt(e);return{LocationLat:t.latitude,LocationLon:t.longitude,LocationAccuracy:t.accuracy,LocationName:t.name,LocationAddress:t.address,LocationSource:t.source,LocationIsLive:t.isLive}}function yt(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function bt(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 xt(...e){for(let t of e)if(t!==void 0)return t}function St(e,t,n){return e.hasEntries?e.hasWildcard?!0:t?e.entries.includes(t):!1:n}const Ct=new Set,wt=d(`telegram/bot-access`);function Tt(e){if(!process.env.VITEST)for(let t of e)Ct.has(t)||(Ct.add(t),wt.warn([`Invalid allowFrom entry:`,JSON.stringify(t),`- allowFrom/groupAllowFrom authorization expects numeric Telegram sender user IDs only.`,`To allow a Telegram group or supergroup, add its negative chat ID under "channels.telegram.groups" instead.`,`If you had "@username" entries, re-run onboarding (it resolves @username to IDs) or replace them manually.`].join(` `)))}const Et=e=>{let t=(e??[]).map(e=>String(e).trim()).filter(Boolean),n=t.includes(`*`),r=t.filter(e=>e!==`*`).map(e=>e.replace(/^(telegram|tg):/i,``)),i=r.filter(e=>!/^\d+$/.test(e));return i.length>0&&Tt([...new Set(i)]),{entries:r.filter(e=>/^\d+$/.test(e)),hasWildcard:n,hasEntries:t.length>0,invalidEntries:i}},Dt=e=>Et(yt(e)),Ot=e=>{let{allow:t,senderId:n}=e;return St(t,n,!0)},kt=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 At(e){let t=f(e.accountId),n=Mt({isGroup:e.isGroup??!1,isForum:e.isForum,messageThreadId:e.messageThreadId}),r=n.scope===`forum`?n.id:void 0,i=n.scope===`dm`?n.id:void 0,a=r??i,o=await ct(`telegram`,process.env,t).catch(()=>[]),{groupConfig:s,topicConfig:c}=e.resolveTelegramGroupConfig(e.chatId,a),l=xt(c?.allowFrom,s?.allowFrom);return{resolvedThreadId:r,dmThreadId:i,storeAllowFrom:o,groupConfig:s,topicConfig:c,groupAllowOverride:l,effectiveGroupAllow:Et(l??e.groupAllowFrom),hasGroupAllowOverride:l!==void 0}}function jt(e){if(e.isForum)return e.messageThreadId==null?1:e.messageThreadId}function Mt(e){return e.isGroup?{id:jt({isForum:e.isForum,messageThreadId:e.messageThreadId}),scope:e.isForum?`forum`:`none`}:e.messageThreadId==null?{scope:`dm`}:{id:e.messageThreadId,scope:`dm`}}function Nt(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 Pt(e){if(e!=null)return{message_thread_id:Math.trunc(e)}}function Ft(e){return ee(e)}function It(e,t){return t==null?String(e):`${e}:topic:${t}`}function Lt(e){return(e.senderId==null?``:String(e.senderId).trim())||String(e.chatId)}function Rt(e,t){return`telegram:group:${It(e,t)}`}function zt(e){if(!(!e.isGroup||e.resolvedThreadId==null))return{kind:`group`,id:String(e.chatId)}}function Bt(e){return[e.from?.first_name,e.from?.last_name].filter(Boolean).join(` `).trim()||e.from?.username||void 0}function Vt(e){if(e){if(e.photo)return`<media:image>`;if(e.video||e.video_note)return`<media:video>`;if(e.audio||e.voice)return`<media:audio>`;if(e.document)return`<media:document>`;if(e.sticker)return`<media:sticker>`}}function Ht(e,t){let n=Bt(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 Ut(e,t,n){let r=e.chat?.title,i=n==null?``:` topic:${n}`;return r?`${r} id:${t}${i}`:`group:${t}${i}`}function Wt(e){return{text:e.text??e.caption??``,entities:e.entities??e.caption_entities??[]}}function Gt(e){return e!=null&&/[a-z0-9_]/i.test(e)}function Kt(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(!Gt(i)&&!Gt(a))return!0;n=r+1}return!1}function qt(e,t){let{text:n,entities:r}=Wt(e),i=`@${t}`.toLowerCase();if(Kt(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 Jt(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 Yt(e){if(!e)return;let t=Number(e);if(Number.isFinite(t))return t}function Xt(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=Vt(o)??``,!i))){let e=an(o);e&&(i=_t(e))}if(!i)return null;let s=(o?Bt(o):void 0)??`unknown sender`,c=o?.forward_origin?nn(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 Zt(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 Qt(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 $t(e){let{display:t,name:n,username:r,id:i}=Zt(e.user);return t?{from:t,date:e.date,fromType:e.type,fromId:i,fromUsername:r,fromTitle:n}:null}function en(e){let t=e.name?.trim();return t?{from:t,date:e.date,fromType:e.type,fromTitle:t}:null}function tn(e){let t=e.type===`channel`?`channel`:`chat`,{display:n,title:r,username:i,id:a}=Qt(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 nn(e){switch(e.type){case`user`:return $t({user:e.sender_user,date:e.date,type:`user`});case`hidden_user`:return en({name:e.sender_user_name,date:e.date,type:`hidden_user`});case`chat`:return tn({chat:e.sender_chat,date:e.date,type:`chat`,signature:e.author_signature});case`channel`:return tn({chat:e.chat,date:e.date,type:`channel`,signature:e.author_signature,messageId:e.message_id});default:return null}}function rn(e){return e.forward_origin?nn(e.forward_origin):null}function an(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}const on=M.join(m,`cron`),sn=M.join(on,`jobs.json`),I=new Map;function cn(e){if(e?.trim()){let t=e.trim();return t.startsWith(`~`)?M.resolve(s(t)):M.resolve(t)}return sn}async function ln(e){try{let t=await N.promises.readFile(e,`utf-8`),n;try{n=fe.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 I.set(e,JSON.stringify(i,null,2)),i}catch(t){if(t?.code===`ENOENT`)return I.delete(e),{version:1,jobs:[]};throw t}}async function un(e){await N.promises.chmod(e,384).catch(()=>void 0)}async function dn(e,t,n){let r=M.dirname(e);await N.promises.mkdir(r,{recursive:!0,mode:448}),await N.promises.chmod(r,448).catch(()=>void 0);let i=JSON.stringify(t,null,2),a=I.get(e);if(a===i)return;let o=a??null;if(o===null)try{o=await N.promises.readFile(e,`utf-8`)}catch(e){if(e.code!==`ENOENT`)throw e}if(o===i){I.set(e,i);return}let s=`${e}.${process.pid}.${me(8).toString(`hex`)}.tmp`;if(await N.promises.writeFile(s,i,{encoding:`utf-8`,mode:384}),await un(s),o!==null&&!n?.skipBackup)try{let t=`${e}.bak`;await N.promises.copyFile(e,t),await un(t)}catch{}await fn(s,e),await un(e),I.set(e,i)}async function fn(e,t){for(let n=0;n<=3;n++)try{await N.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 N.promises.copyFile(e,t),await N.promises.unlink(e).catch(()=>{});return}throw r}}function L(e){return e.trim().toLowerCase()}function pn(e){if(!e)return[];let t=e.trim();if(!t)return[];let n=t.toLowerCase();return[`0`,`false`,`off`,`none`].includes(n)?[]:[`1`,`true`,`all`,`*`].includes(n)?[`*`]:t.split(/[,\s]+/).map(L).filter(Boolean)}function mn(e){let t=new Set,n=[];for(let r of e){let e=L(r);!e||t.has(e)||(t.add(e),n.push(e))}return n}function hn(e,t=process.env){let n=Array.isArray(e?.diagnostics?.flags)?e?.diagnostics?.flags:[],r=pn(t.OPENCLAW_DIAGNOSTICS);return mn([...n,...r])}function gn(e,t){let n=L(e);if(!n)return!1;for(let e of t){let t=L(e);if(t){if(t===`*`||t===`all`)return!0;if(t.endsWith(`.*`)){let e=t.slice(0,-2);if(n===e||n.startsWith(`${e}.`))return!0}if(t.endsWith(`*`)){let e=t.slice(0,-1);if(n.startsWith(e))return!0}if(t===n)return!0}}return!1}function _n(e,t,n=process.env){return gn(e,hn(t,n))}const vn=d(`telegram/api`);function yn(e,t){return t||(e?.error?e.error:e=>vn.error(e))}async function bn({operation:e,fn:t,runtime:n,logger:r,shouldLog:i}){try{return await t()}catch(t){if(!i||i(t)){let i=E(t);yn(n,r)(u(`telegram ${e} failed: ${i}`))}throw t}}function xn(e){let t=e?.trim()??``;return t?t.length>1024?{caption:void 0,followUpText:t}:{caption:t,followUpText:void 0}:{caption:void 0,followUpText:void 0}}function R(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function Sn(e){return R(e).replace(/"/g,`&quot;`)}const Cn=new Set([`md`,`go`,`py`,`pl`,`sh`,`am`,`at`,`be`,`cc`]);function wn(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(!Cn.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 Tn(e,t){let n=e.href.trim();if(!n||e.start===e.end||wn(n,t.slice(e.start,e.end)))return null;let r=Sn(n);return{start:e.start,end:e.end,open:`<a href="${r}">`,close:`</a>`}}function En(e){return oe(e,{styleMarkers:{bold:{open:`<b>`,close:`</b>`},italic:{open:`<i>`,close:`</i>`},strikethrough:{open:`<s>`,close:`</s>`},code:{open:`<code>`,close:`</code>`},code_block:{open:`<pre><code>`,close:`</code></pre>`},spoiler:{open:`<tg-spoiler>`,close:`</tg-spoiler>`},blockquote:{open:`<blockquote>`,close:`</blockquote>`}},escapeText:R,buildLink:Tn})}function Dn(e,t={}){let n=En(k(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:t.tableMode}));return t.wrapFileRefs===!1?n:Fn(n)}function On(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}const kn=Array.from(Cn).map(On).join(`|`),An=/<a\s+href="https?:\/\/([^"]+)"[^>]*>\1<\/a>/gi,jn=RegExp(`(^|[^a-zA-Z0-9_\\-/])([a-zA-Z0-9_.\\-./]+\\.(?:${kn}))(?=$|[^a-zA-Z0-9_\\-/])`,`gi`),Mn=RegExp(`([^a-zA-Z0-9]|^)([A-Za-z]\\.(?:${kn}))(?=[^a-zA-Z0-9/]|$)`,`g`),z=/(<\/?)([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*?>/gi;function Nn(e,t,n){return n.startsWith(`//`)||/https?:\/\/$/i.test(t)?e:`${t}<code>${R(n)}</code>`}function Pn(e,t,n,r){return!e||t>0||n>0||r>0?e:e.replace(jn,Nn).replace(Mn,(e,t,n)=>t===`>`?e:`${t}<code>${R(n)}</code>`)}function Fn(e){An.lastIndex=0;let t=e.replace(An,(e,t)=>wn(`http://${t}`,t)?`<code>${R(t)}</code>`:e),n=0,r=0,i=0,a=``,o=0;z.lastIndex=0;let s;for(;(s=z.exec(t))!==null;){let e=s.index,c=z.lastIndex,l=s[1]===`</`,u=s[2].toLowerCase(),d=t.slice(o,e);a+=Pn(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+=Pn(c,n,r,i),a}function In(e,t={}){return(t.textMode??`markdown`)===`html`?e:Dn(e,{tableMode:t.tableMode})}const Ln=new Set([`br`]);function Rn(e){return e.map(e=>e.openTag).join(``)}function zn(e){return e.slice().toReversed().map(e=>e.closeTag).join(``)}function Bn(e){return e.reduce((e,t)=>e+t.closeTag.length,0)}function Vn(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 Hn(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=Vn(e,r);return i===-1||i<n?n:r}function Un(e,t){for(let n=e.length-1;n>=0;--n)if(e[n]?.name===t){e.splice(n,1);return}}function Wn(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=Rn(i),o=!1},c=()=>{o&&(r.push(`${a}${zn(i)}`),s())},l=e=>{let t=e;for(;t.length>0;){let e=n-a.length-Bn(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=Hn(t,e);if(r<=0){if(!o)throw Error(`Telegram HTML chunk limit exceeded by leading entity (limit=${n})`);c();continue}a+=t.slice(0,r),o=!0,t=t.slice(r),c()}};s(),z.lastIndex=0;let u=0,d;for(;(d=z.exec(e))!==null;){let t=d.index,r=z.lastIndex;l(e.slice(u,t));let s=d[0],f=d[1]===`</`,p=d[2].toLowerCase(),m=!f&&(Ln.has(p)||s.trimEnd().endsWith(`/>`));if(!f){let e=m?0:`</${p}>`.length;o&&a.length+s.length+Bn(i)+e>n&&c()}a+=s,m&&(o=!0),f?Un(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 Gn(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=Jn(e,Number.isFinite(a)&&a>0?a:Math.max(1,Math.floor(r/2)));return o.length>1?o:Jn(e,Math.max(1,Math.floor(r/2)))}function Kn(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 qn(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 Jn(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:Kn(e.styles,i,t),links:qn(e.links,i,t)}),i=t}return r}function Yn(e,t){let n=Math.max(1,Math.floor(t)),r=ae(e,n),i=[];for(;r.length>0;){let e=r.shift();if(!e)continue;let t=Fn(En(e));if(t.length<=n||e.text.length<=1){i.push({html:t,text:e.text});continue}let a=Gn(e,n,t.length);if(a.length<=1){i.push({html:t,text:e.text});continue}r.unshift(...a)}return i}function Xn(e,t,n={}){return Yn(k(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:n.tableMode}),t)}const Zn=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`]),Qn=new Set([`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`ENETUNREACH`,`EHOSTUNREACH`]),$n=new Set([`AbortError`,`TimeoutError`,`ConnectTimeoutError`,`HeadersTimeoutError`,`BodyTimeoutError`]),er=new Set([`fetch failed`,`typeerror: fetch failed`]),tr=/^network request(?:\s+for\s+["']?[^"']+["']?)?\s+failed\s+after\b.*[!.]?$/i,nr=[`undici`,`network error`,`network request`,`client network socket disconnected`,`socket hang up`,`getaddrinfo`,`timeout`,`timed out`];function rr(e){return _(e,e=>{let t=[e.cause,e.reason];return Array.isArray(e.errors)&&t.push(...e.errors),x(e)===`HttpError`&&t.push(e.error),t})}function ir(e){return e?.trim().toUpperCase()??``}function ar(e){let t=v(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 or(e){if(!e)return!1;for(let t of rr(e)){let e=ir(ar(t));if(e&&Qn.has(e))return!0}return!1}function sr(e,t){for(let n of rr(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 cr(e){return sr(e,e=>e>=500)}function lr(e){return sr(e,e=>e>=400&&e<500)}function B(e,t={}){if(!e)return!1;let n=typeof t.allowMessageMatch==`boolean`?t.allowMessageMatch:t.context!==`send`;for(let t of rr(e)){let e=ir(ar(t));if(e&&Zn.has(e))return!0;let r=x(t);if(r&&$n.has(r))return!0;let i=E(t).trim().toLowerCase();if(i&&er.has(i)||i&&tr.test(i)||n&&i&&nr.some(e=>i.includes(e)))return!0}return!1}const ur=new Map;function dr(e){return String(e)}function fr(e){let t=Date.now();for(let[n,r]of e.timestamps)t-r>864e5&&e.timestamps.delete(n)}function V(e,t){let n=dr(e),r=ur.get(n);r||(r={timestamps:new Map},ur.set(n,r)),r.timestamps.set(t,Date.now()),r.timestamps.size>100&&fr(r)}function pr(e,t){let n=dr(e),r=ur.get(n);return r?(fr(r),r.timestamps.has(t)):!1}const H=d(`telegram/target-writeback`);function U(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function mr(e){let t=ne(e);if(t)return t.startsWith(`@`)?t.toLowerCase():t}function hr(e){let t=D(e),n=mr(t.chatId);if(n)return`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`}function gr(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 _r(e){let t=D(e.raw);if(O(t.chatId))return null;let n=mr(t.chatId);return n?{matchKey:`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`,resolvedTarget:gr({raw:e.raw,parsed:t,resolvedChatId:e.resolvedChatId})}:null}function vr(e){if(typeof e.rawValue!=`string`&&typeof e.rawValue!=`number`)return null;let t=String(e.rawValue).trim();return!t||hr(t)!==e.matchKey?null:e.resolvedTarget}function yr(e){let t=!1,n=U(e.cfg.channels?.telegram);if(!n)return t;let r=(n,r)=>{let i=vr({rawValue:n[r],matchKey:e.matchKey,resolvedTarget:e.resolvedTarget});i&&(n[r]=i,t=!0)};r(n,`defaultTo`);let i=U(n.accounts);if(!i)return t;for(let e of Object.keys(i)){let t=U(i[e]);t&&r(t,`defaultTo`)}return t}async function br(e){let t=e.rawTarget.trim();if(!t)return;let n=_r({raw:t,resolvedChatId:e.resolvedChatId});if(!n)return;let{matchKey:r,resolvedTarget:i}=n;try{let{snapshot:n,writeOptions:a}=await C(),o=structuredClone(n.config??{});yr({cfg:o,matchKey:r,resolvedTarget:i})&&(await te(o,a),e.verbose&&H.warn(`resolved Telegram defaultTo target ${t} -> ${i}`))}catch(n){e.verbose&&H.warn(`failed to persist Telegram defaultTo target ${t}: ${String(n)}`)}try{let n=cn(e.cfg.cron?.store),a=await ln(n),o=!1;for(let e of a.jobs){if(e.delivery?.channel!==`telegram`)continue;let t=vr({rawValue:e.delivery.to,matchKey:r,resolvedTarget:i});t&&(e.delivery.to=t,o=!0)}o&&(await dn(n,a),e.verbose&&H.warn(`resolved Telegram cron delivery target ${t} -> ${i}`))}catch(n){e.verbose&&H.warn(`failed to persist Telegram cron target ${t}: ${String(n)}`)}}function xr(e){return e.wantsVoice?be(e)?{useVoice:!0}:{useVoice:!1,reason:`media is ${e.contentType??`unknown`} (${e.fileName??`unknown`})`}:{useVoice:!1}}function Sr(e){let t=xr(e);return t.reason&&e.logFallback&&e.logFallback(`Telegram voice requested but ${t.reason}; sending as audio file instead.`),{useVoice:t.useVoice}}function W(e,t){if(typeof e?.message_id==`number`&&Number.isFinite(e.message_id))return Math.trunc(e.message_id);throw Error(`Telegram ${t} returned no message_id`)}function Cr(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 wr(e,t,n){if(!e)return[];let r=Math.max(1,Math.floor(n)),i=Cr(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 Tr=/can't parse entities|parse entities|find end of the entity/i,Er=/400:\s*Bad Request:\s*message thread not found/i,Dr=/400:\s*Bad Request:\s*message is not modified|MESSAGE_NOT_MODIFIED/i,Or=/400: Bad Request: chat not found/i,kr=d(`telegram/send`),Ar=d(`telegram/diagnostic`),G=new Map;function jr(t){return _n(`telegram.http`,t)?(t,n)=>{if(!(n instanceof ge))return;let r=e(h(n.error??n));Ar.warn(`telegram http error (${t}): ${r}`)}:()=>{}}function Mr(){return!process.env.VITEST&&!0}function Nr(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 Pr(e,t){if(G.set(e,t),G.size>64){let e=G.keys().next().value;e!==void 0&&G.delete(e)}return t}function Fr(e){let t=typeof e.config.timeoutSeconds==`number`&&Number.isFinite(e.config.timeoutSeconds)?Math.max(1,Math.floor(e.config.timeoutSeconds)):void 0,n=Mr()?Nr({account:e,timeoutSeconds:t}):null;if(n&&G.has(n))return G.get(n);let r=e.config.proxy?.trim(),i=ue(r?re(r):void 0,{network:e.config.network}),a=i||t?{...i?{fetch:i}:{},...t?{timeoutSeconds:t}:{}}:void 0;return n?Pr(n,a):a}function Ir(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 Lr(e,t){let n=O(e);if(n)return n;let r=ne(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=O(String(e?.id??``));if(!n)throw Error(`resolved chat id is not numeric (${String(e?.id??``)})`);return t.verbose&&kr.warn(`telegram recipient ${r} resolved to numeric chat id ${n}`),n}catch(e){let t=E(e);throw Error(`Telegram recipient ${r} could not be resolved to a numeric chat ID (${t})`,{cause:e})}}async function K(e){let t=await Lr(e.lookupTarget,{api:e.api,verbose:e.verbose});return await br({cfg:e.cfg,rawTarget:e.persistTarget,resolvedChatId:t,verbose:e.verbose}),t}function q(e){if(typeof e==`number`&&Number.isFinite(e))return Math.trunc(e);if(typeof e==`string`){let t=e.trim();if(!t)throw Error(`Message id is required for Telegram actions`);let n=Number.parseInt(t,10);if(Number.isFinite(n))return n}throw Error(`Message id is required for Telegram actions`)}function Rr(e){return Er.test(E(e))}function J(e){return Dr.test(E(e))}function zr(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 Br(e){if(!e||!zr(e))return e;let t={...e};return delete t.message_thread_id,Object.keys(t).length>0?t:void 0}function Vr(e){return Tr.test(E(e))}function Hr(e){let t=e.messageThreadId==null?e.targetMessageThreadId:e.messageThreadId,n=e.chatType===`direct`?`dm`:`forum`,r=Nt(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 Ur(e){try{return await e.requestHtml(e.label)}catch(t){if(!Vr(t))throw t;return e.verbose&&kr.warn(`telegram ${e.label} failed with HTML parse error, retrying as plain text: ${E(t)}`),await e.requestPlain(`${e.label}-plain`)}}function Y(e){let t=e.cfg??S(),n=w({cfg:t,accountId:e.accountId}),r=Ir(e.token,n),i=Fr(n);return{cfg:t,account:n,api:e.api??new he(r,i?{client:i}:void 0).api}}function X(e){let t=se({retry:e.retry,configRetry:e.account.config.retry,verbose:e.verbose,...e.shouldRetry?{shouldRetry:e.shouldRetry}:{},...e.strictShouldRetry?{strictShouldRetry:!0}:{}}),n=jr(e.cfg);return(r,i,a)=>{let o=()=>t(r,i);return(e.useApiErrorLogging===!1?o():bn({operation:i??`request`,fn:o,...a?.shouldLog?{shouldLog:a.shouldLog}:{}})).catch(e=>{throw n(i??`request`,e),e})}}function Wr(e,t){return Or.test(E(e))?Error([`Telegram send failed: chat not found (chat_id=${t.chatId}).`,`Likely: bot not started in DM, bot removed from group/channel, group migrated (new -100… id), or wrong bot token.`,`Input was: ${JSON.stringify(t.input)}.`].join(` `)):e}async function Z(e,t,n,r){try{return await r(e,t)}catch(i){if(!zr(e)||!Rr(i))throw i;return n&&kr.warn(`telegram ${t} failed with message_thread_id, retrying without thread: ${E(i)}`),await r(Br(e),`${t}-threadless`)}}function Gr(e){return async(t,n)=>e.requestWithDiag(t,n).catch(t=>{throw Wr(t,{chatId:e.chatId,input:e.input})})}function Q(e){return X({cfg:e.cfg,account:e.account,retry:e.retry,verbose:e.verbose,useApiErrorLogging:e.useApiErrorLogging,shouldRetry:e=>or(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:a,account:o,api:s}=Y(n),c=D(e),u=await K({cfg:a,api:s,lookupTarget:c.chatId,persistTarget:e,verbose:n.verbose}),d=n.mediaUrl?.trim(),f=n.maxBytes??(typeof o.config.mediaMaxMb==`number`?o.config.mediaMaxMb:100)*1024*1024,p=$(n.buttons),m=Hr({targetMessageThreadId:c.messageThreadId,messageThreadId:n.messageThreadId,chatType:c.chatType,replyToMessageId:n.replyToMessageId,quoteText:n.quoteText}),h=Object.keys(m).length>0,g=Gr({requestWithDiag:Q({cfg:a,account:o,retry:n.retry,verbose:n.verbose}),chatId:u,input:e}),_=n.textMode??`markdown`,v=A({cfg:a,channel:`telegram`,accountId:o.accountId}),y=e=>In(e,{textMode:_,tableMode:v}),b=o.config.linkPreview??!0?void 0:{is_disabled:!0},x=async(e,t)=>await Z(t,`message`,n.verbose,async(t,r)=>{let i=t?{...t}:{};b&&(i.link_preview_options=b);let a={...i,...n.silent===!0?{disable_notification:!0}:{}},o=Object.keys(a).length>0,c=t=>g(()=>o?s.sendMessage(u,e.plainText,a):s.sendMessage(u,e.plainText),t);if(!e.htmlText)return await c(r);let l=e.htmlText,d={parse_mode:`HTML`,...a};return await Ur({label:r,verbose:n.verbose,requestHtml:e=>g(()=>s.sendMessage(u,l,d),e),requestPlain:c})}),S=e=>h||e&&p?{...m,...e&&p?{reply_markup:p}:{}}:void 0,C=async(e,t)=>{let n=``,r=u;for(let i=0;i<e.length;i+=1){let a=e[i];if(!a)continue;let o=await x(a,S(i===e.length-1)),s=W(o,t);V(u,s),n=String(s),r=String(o?.chat?.id??u)}return{messageId:n,chatId:r}},w=(e,t)=>{let r=n.plainText??e,i;try{i=Wn(e,4e3)}catch(e){return l(`telegram ${t} failed HTML chunk planning, retrying as plain text: ${E(e)}`),Cr(r,4e3).map(e=>({plainText:e}))}let a=Cr(r,4e3);if(a.length>i.length)return l(`telegram ${t} plain-text fallback needs more chunks than HTML; sending plain text`),a.map(e=>({plainText:e}));let o=wr(r,i.length,4e3);return i.map((e,t)=>({htmlText:e,plainText:o[t]??e}))},ee=async(e,t)=>await C(w(e,t),t);if(d){let e=await ie(d,ce({maxBytes:f,mediaLocalRoots:n.mediaLocalRoots})),a=r(e.contentType??void 0),c=i({contentType:e.contentType,fileName:e.fileName}),v=a===`video`&&n.asVideoNote===!0,b=e.fileName??(c?`animation.gif`:Qr(a??`document`))??`file`,x=new _e(e.buffer,b),S,w;if(v)S=void 0,w=t.trim()?t:void 0;else{let e=xn(t);S=e.caption,w=e.followUpText}let T=S?y(S):void 0,te=!!w,E={...h?m:{},...!te&&p?{reply_markup:p}:{}},ne={...T?{caption:T,parse_mode:`HTML`}:{},...E,...n.silent===!0?{disable_notification:!0}:{}},D=async(e,t)=>await Z(ne,e,n.verbose,async(e,n)=>g(()=>t(e),n)),O=(()=>{if(c)return{label:`animation`,sender:e=>s.sendAnimation(u,x,e)};if(a===`image`)return{label:`photo`,sender:e=>s.sendPhoto(u,x,e)};if(a===`video`)return v?{label:`video_note`,sender:e=>s.sendVideoNote(u,x,e)}:{label:`video`,sender:e=>s.sendVideo(u,x,e)};if(a===`audio`){let{useVoice:t}=Sr({wantsVoice:n.asVoice===!0,contentType:e.contentType,fileName:b,logFallback:l});return t?{label:`voice`,sender:e=>s.sendVoice(u,x,e)}:{label:`audio`,sender:e=>s.sendAudio(u,x,e)}}return{label:`document`,sender:e=>s.sendDocument(u,x,e)}})(),re=await D(O.label,O.sender),k=W(re,`media send`),A=String(re?.chat?.id??u);return V(u,k),j({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),te&&w?_===`html`?{messageId:(await ee(w,`text follow-up send`)).messageId,chatId:A}:{messageId:(await C([{plainText:w,htmlText:y(w)}],`text follow-up send`)).messageId,chatId:A}:{messageId:String(k),chatId:A}}if(!t||!t.trim())throw Error(`Message must be non-empty for Telegram sends`);let T;return T=_===`html`?await ee(t,`text send`):await C([{plainText:n.plainText??t,htmlText:y(t)}],`text send`),j({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),T}async function qr(e,t={}){let{cfg:n,account:r,api:i}=Y(t),a=D(e),o=await K({cfg:n,api:i,lookupTarget:a.chatId,persistTarget:e,verbose:t.verbose}),s=X({cfg:n,account:r,retry:t.retry,verbose:t.verbose,shouldRetry:e=>B(e,{context:`send`})}),c=Pt(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}=Y(r),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=q(t),u=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>B(e,{context:`send`})}),d=r.remove===!0,f=n.trim(),p=d||!f?[]:[{type:`emoji`,emoji:f}];if(typeof o.setMessageReaction!=`function`)throw Error(`Telegram reactions are unavailable in this bot API.`);try{await u(()=>o.setMessageReaction(c,l,p),`reaction`)}catch(e){let t=e instanceof Error?e.message:String(e);if(/REACTION_INVALID/i.test(t))return{ok:!1,warning:`Reaction unavailable: ${f}`};throw e}return{ok:!0}}async function Yr(e,t,n={}){let{cfg:r,account:i,api:a}=Y(n),o=String(e),s=await K({cfg:r,api:a,lookupTarget:o,persistTarget:o,verbose:n.verbose}),c=q(t);return await X({cfg:r,account:i,retry:n.retry,verbose:n.verbose,shouldRetry:e=>B(e,{context:`send`})})(()=>a.deleteMessage(s,c),`deleteMessage`),l(`[telegram] Deleted message ${c} from chat ${s}`),{ok:!0}}async function Xr(e,t,n,r={}){let{cfg:i,account:a,api:o}=Y({...r,cfg:r.cfg}),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),u=q(t),d=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose}),f=$(n)??{inline_keyboard:[]};try{await d(()=>o.editMessageReplyMarkup(c,u,{reply_markup:f}),`editMessageReplyMarkup`,{shouldLog:e=>!J(e)})}catch(e){if(!J(e))throw e}return l(`[telegram] Edited reply markup for message ${u} in chat ${c}`),{ok:!0,messageId:String(u),chatId:c}}async function Zr(e,t,n,r={}){let{cfg:i,account:a,api:o}=Y({...r,cfg:r.cfg}),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),u=q(t),d=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>B(e,{allowMessageMatch:!0})||cr(e)}),f=(e,t,n)=>d(e,t,n?{shouldLog:n}:void 0),p=In(n,{textMode:r.textMode??`markdown`,tableMode:A({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 Ur({label:`editMessage`,verbose:r.verbose,requestHtml:e=>f(()=>o.editMessageText(c,u,p,_),e,e=>!J(e)),requestPlain:e=>f(()=>Object.keys(v).length>0?o.editMessageText(c,u,n,v):o.editMessageText(c,u,n),e,e=>!J(e))})}catch(e){if(!J(e))throw e}return l(`[telegram] Edited message ${u} in chat ${c}`),{ok:!0,messageId:String(u),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}=Y(n),o=D(e),s=await K({cfg:r,api:a,lookupTarget:o.chatId,persistTarget:e,verbose:n.verbose}),c=Hr({targetMessageThreadId:o.messageThreadId,messageThreadId:n.messageThreadId,chatType:o.chatType,replyToMessageId:n.replyToMessageId}),l=Object.keys(c).length>0,u=Gr({requestWithDiag:X({cfg:r,account:i,retry:n.retry,verbose:n.verbose,useApiErrorLogging:!1}),chatId:s,input:e}),d=await Z(l?c:void 0,`sticker`,n.verbose,async(e,n)=>u(()=>a.sendSticker(s,t.trim(),e),n)),f=W(d,`sticker send`),p=String(d?.chat?.id??s);return V(s,f),j({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}=Y(n),o=D(e),s=await K({cfg:r,api:a,lookupTarget:o.chatId,persistTarget:e,verbose:n.verbose}),c=le(t,{maxOptions:10}),l=Hr({targetMessageThreadId:o.messageThreadId,messageThreadId:n.messageThreadId,chatType:o.chatType,replyToMessageId:n.replyToMessageId}),u=c.options,d=Gr({requestWithDiag:Q({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 Z({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=W(p,`poll send`),h=String(p?.chat?.id??s),g=p?.poll?.id;return V(s,m),j({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}=Y(n),s=await K({cfg:i,api:o,lookupTarget:D(e).chatId,persistTarget:e,verbose:n.verbose}),c=Q({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 j({channel:`telegram`,accountId:a.accountId,direction:`outbound`}),{topicId:f,name:d.name??r,chatId:s}}export{_t as $,Nt as A,At as B,cn as C,Rt as D,Bt as E,Wt as F,Ot as G,Yt as H,qt as I,kt as J,Et as K,rn as L,Xt as M,Jt as N,It as O,an as P,bt as Q,Lt as R,ln as S,Ht as T,Ft as U,Vt as V,Mt as W,St as X,xt as Y,yt as Z,Dn as _,Zr as a,we as at,xn as b,ei as c,Se as ct,Sr as d,vt as et,pr as f,Xn as g,lr as h,Xr as i,pt as it,Pt as j,zt as k,$r as l,xe as lt,or as m,ti as n,ct as nt,Jr as o,Te as ot,B as p,Dt as q,Yr as r,ft as rt,Kr as s,Ce as st,$ as t,dt as tt,qr as u,In as v,Ut as w,bn as x,Fn as y,jt as z};
1
+ import{N as e,_ as t,f as n,g as r,h as i}from"./paths-CrCoPIVK.js";import{c as a,d as o,l as s,o as c}from"./paths-CChBdtE8.js";import{d as l,l as u,t as d}from"./subsystem-Bc2XrjUz.js";import{W as f}from"./workspace-B0ZQeHXg.js";import{g as p,t as m}from"./utils-D3t-vPka.js";import{Bi as h,Hn as g,Li as _,Ri as v,Un as y,Us as b,Vi as x,Za as S,eo as C,er as w,ks as ee,li as T,ro as te,zi as E}from"./model-selection-qkByRv5A.js";import{n as ne,r as D,t as O}from"./targets-BYVMrXDf.js";import{n as re}from"./proxy-fetch-BZ9O8Dvj.js";import{a as ie,n as k,s as A,t as ae}from"./ir-BYCrFFZ9.js";import{t as oe}from"./render-CBsnn-2A.js";import{i as se,n as j}from"./channel-activity-D2VTmenR.js";import{t as ce}from"./load-options-C7dLuybp.js";import{n as le}from"./polls-C_XSFz3d.js";import{t as ue}from"./fetch-BJT3BrkJ.js";import de from"node:os";import M from"node:path";import N from"node:fs";import fe from"json5";import pe,{randomBytes as me}from"node:crypto";import{Bot as he,HttpError as ge,InputFile as _e}from"grammy";const ve=new Set([`.oga`,`.ogg`,`.opus`,`.mp3`,`.m4a`]),ye=new Set([`audio/ogg`,`audio/opus`,`audio/mpeg`,`audio/mp3`,`audio/mp4`,`audio/x-m4a`,`audio/m4a`]);function be(e){let r=t(e.contentType);if(r&&ye.has(r))return!0;let i=e.fileName?.trim();if(!i)return!1;let a=n(i);return a?ve.has(a):!1}function xe(e){return be(e)}function Se(){return y().filter(e=>e.pairing).map(e=>e.id)}function Ce(e){return g(e)?.pairing??null}async function we(e,t){try{let n=p(await N.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 Te(e,t){await T(e,t,{mode:384,trailingNewline:!0,ensureDirMode:448})}const Ee={retries:{retries:10,factor:2,minTimeout:100,maxTimeout:1e4,randomize:!0},stale:3e4},De=new Map;function Oe(e=process.env){return c(e,a(e,()=>o(e,de.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(Oe(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(Oe(t),`${r}-${je(i)}-allowFrom.json`):M.join(Oe(t),`${r}-allowFrom.json`)}async function Me(e,t){return await we(e,t)}async function F(e,t){await Te(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 N.promises.access(e)}catch{await F(e,t)}}async function Fe(e,t,n){return await Pe(e,t),await b(e,Ee,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=pe.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=Ce(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){De.set(e,$e(t))}function tt(e){let t=De.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 N.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 N.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}})}function mt(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 ht(e){return Number.isFinite(e)?` ±${Math.round(e??0)}m`:``}function gt(e,t){return`${e.toFixed(6)}, ${t.toFixed(6)}`}function _t(e){let t=mt(e),n=gt(t.latitude,t.longitude),r=ht(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 vt(e){let t=mt(e);return{LocationLat:t.latitude,LocationLon:t.longitude,LocationAccuracy:t.accuracy,LocationName:t.name,LocationAddress:t.address,LocationSource:t.source,LocationIsLive:t.isLive}}function yt(e){let t=e.dmPolicy===`allowlist`?[]:e.storeAllowFrom??[];return[...e.allowFrom??[],...t].map(e=>String(e).trim()).filter(Boolean)}function bt(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 xt(...e){for(let t of e)if(t!==void 0)return t}function St(e,t,n){return e.hasEntries?e.hasWildcard?!0:t?e.entries.includes(t):!1:n}const Ct=new Set,wt=d(`telegram/bot-access`);function Tt(e){if(!process.env.VITEST)for(let t of e)Ct.has(t)||(Ct.add(t),wt.warn([`Invalid allowFrom entry:`,JSON.stringify(t),`- allowFrom/groupAllowFrom authorization expects numeric Telegram sender user IDs only.`,`To allow a Telegram group or supergroup, add its negative chat ID under "channels.telegram.groups" instead.`,`If you had "@username" entries, re-run onboarding (it resolves @username to IDs) or replace them manually.`].join(` `)))}const Et=e=>{let t=(e??[]).map(e=>String(e).trim()).filter(Boolean),n=t.includes(`*`),r=t.filter(e=>e!==`*`).map(e=>e.replace(/^(telegram|tg):/i,``)),i=r.filter(e=>!/^\d+$/.test(e));return i.length>0&&Tt([...new Set(i)]),{entries:r.filter(e=>/^\d+$/.test(e)),hasWildcard:n,hasEntries:t.length>0,invalidEntries:i}},Dt=e=>Et(yt(e)),Ot=e=>{let{allow:t,senderId:n}=e;return St(t,n,!0)},kt=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 At(e){let t=f(e.accountId),n=Mt({isGroup:e.isGroup??!1,isForum:e.isForum,messageThreadId:e.messageThreadId}),r=n.scope===`forum`?n.id:void 0,i=n.scope===`dm`?n.id:void 0,a=r??i,o=await ct(`telegram`,process.env,t).catch(()=>[]),{groupConfig:s,topicConfig:c}=e.resolveTelegramGroupConfig(e.chatId,a),l=xt(c?.allowFrom,s?.allowFrom);return{resolvedThreadId:r,dmThreadId:i,storeAllowFrom:o,groupConfig:s,topicConfig:c,groupAllowOverride:l,effectiveGroupAllow:Et(l??e.groupAllowFrom),hasGroupAllowOverride:l!==void 0}}function jt(e){if(e.isForum)return e.messageThreadId==null?1:e.messageThreadId}function Mt(e){return e.isGroup?{id:jt({isForum:e.isForum,messageThreadId:e.messageThreadId}),scope:e.isForum?`forum`:`none`}:e.messageThreadId==null?{scope:`dm`}:{id:e.messageThreadId,scope:`dm`}}function Nt(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 Pt(e){if(e!=null)return{message_thread_id:Math.trunc(e)}}function Ft(e){return ee(e)}function It(e,t){return t==null?String(e):`${e}:topic:${t}`}function Lt(e){return(e.senderId==null?``:String(e.senderId).trim())||String(e.chatId)}function Rt(e,t){return`telegram:group:${It(e,t)}`}function zt(e){if(!(!e.isGroup||e.resolvedThreadId==null))return{kind:`group`,id:String(e.chatId)}}function Bt(e){return[e.from?.first_name,e.from?.last_name].filter(Boolean).join(` `).trim()||e.from?.username||void 0}function Vt(e){if(e){if(e.photo)return`<media:image>`;if(e.video||e.video_note)return`<media:video>`;if(e.audio||e.voice)return`<media:audio>`;if(e.document)return`<media:document>`;if(e.sticker)return`<media:sticker>`}}function Ht(e,t){let n=Bt(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 Ut(e,t,n){let r=e.chat?.title,i=n==null?``:` topic:${n}`;return r?`${r} id:${t}${i}`:`group:${t}${i}`}function Wt(e){return{text:e.text??e.caption??``,entities:e.entities??e.caption_entities??[]}}function Gt(e){return e!=null&&/[a-z0-9_]/i.test(e)}function Kt(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(!Gt(i)&&!Gt(a))return!0;n=r+1}return!1}function qt(e,t){let{text:n,entities:r}=Wt(e),i=`@${t}`.toLowerCase();if(Kt(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 Jt(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 Yt(e){if(!e)return;let t=Number(e);if(Number.isFinite(t))return t}function Xt(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=Vt(o)??``,!i))){let e=an(o);e&&(i=_t(e))}if(!i)return null;let s=(o?Bt(o):void 0)??`unknown sender`,c=o?.forward_origin?nn(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 Zt(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 Qt(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 $t(e){let{display:t,name:n,username:r,id:i}=Zt(e.user);return t?{from:t,date:e.date,fromType:e.type,fromId:i,fromUsername:r,fromTitle:n}:null}function en(e){let t=e.name?.trim();return t?{from:t,date:e.date,fromType:e.type,fromTitle:t}:null}function tn(e){let t=e.type===`channel`?`channel`:`chat`,{display:n,title:r,username:i,id:a}=Qt(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 nn(e){switch(e.type){case`user`:return $t({user:e.sender_user,date:e.date,type:`user`});case`hidden_user`:return en({name:e.sender_user_name,date:e.date,type:`hidden_user`});case`chat`:return tn({chat:e.sender_chat,date:e.date,type:`chat`,signature:e.author_signature});case`channel`:return tn({chat:e.chat,date:e.date,type:`channel`,signature:e.author_signature,messageId:e.message_id});default:return null}}function rn(e){return e.forward_origin?nn(e.forward_origin):null}function an(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}const on=M.join(m,`cron`),sn=M.join(on,`jobs.json`),I=new Map;function cn(e){if(e?.trim()){let t=e.trim();return t.startsWith(`~`)?M.resolve(s(t)):M.resolve(t)}return sn}async function ln(e){try{let t=await N.promises.readFile(e,`utf-8`),n;try{n=fe.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 I.set(e,JSON.stringify(i,null,2)),i}catch(t){if(t?.code===`ENOENT`)return I.delete(e),{version:1,jobs:[]};throw t}}async function un(e){await N.promises.chmod(e,384).catch(()=>void 0)}async function dn(e,t,n){let r=M.dirname(e);await N.promises.mkdir(r,{recursive:!0,mode:448}),await N.promises.chmod(r,448).catch(()=>void 0);let i=JSON.stringify(t,null,2),a=I.get(e);if(a===i)return;let o=a??null;if(o===null)try{o=await N.promises.readFile(e,`utf-8`)}catch(e){if(e.code!==`ENOENT`)throw e}if(o===i){I.set(e,i);return}let s=`${e}.${process.pid}.${me(8).toString(`hex`)}.tmp`;if(await N.promises.writeFile(s,i,{encoding:`utf-8`,mode:384}),await un(s),o!==null&&!n?.skipBackup)try{let t=`${e}.bak`;await N.promises.copyFile(e,t),await un(t)}catch{}await fn(s,e),await un(e),I.set(e,i)}async function fn(e,t){for(let n=0;n<=3;n++)try{await N.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 N.promises.copyFile(e,t),await N.promises.unlink(e).catch(()=>{});return}throw r}}function L(e){return e.trim().toLowerCase()}function pn(e){if(!e)return[];let t=e.trim();if(!t)return[];let n=t.toLowerCase();return[`0`,`false`,`off`,`none`].includes(n)?[]:[`1`,`true`,`all`,`*`].includes(n)?[`*`]:t.split(/[,\s]+/).map(L).filter(Boolean)}function mn(e){let t=new Set,n=[];for(let r of e){let e=L(r);!e||t.has(e)||(t.add(e),n.push(e))}return n}function hn(e,t=process.env){let n=Array.isArray(e?.diagnostics?.flags)?e?.diagnostics?.flags:[],r=pn(t.OPENCLAW_DIAGNOSTICS);return mn([...n,...r])}function gn(e,t){let n=L(e);if(!n)return!1;for(let e of t){let t=L(e);if(t){if(t===`*`||t===`all`)return!0;if(t.endsWith(`.*`)){let e=t.slice(0,-2);if(n===e||n.startsWith(`${e}.`))return!0}if(t.endsWith(`*`)){let e=t.slice(0,-1);if(n.startsWith(e))return!0}if(t===n)return!0}}return!1}function _n(e,t,n=process.env){return gn(e,hn(t,n))}const vn=d(`telegram/api`);function yn(e,t){return t||(e?.error?e.error:e=>vn.error(e))}async function bn({operation:e,fn:t,runtime:n,logger:r,shouldLog:i}){try{return await t()}catch(t){if(!i||i(t)){let i=E(t);yn(n,r)(u(`telegram ${e} failed: ${i}`))}throw t}}function xn(e){let t=e?.trim()??``;return t?t.length>1024?{caption:void 0,followUpText:t}:{caption:t,followUpText:void 0}:{caption:void 0,followUpText:void 0}}function R(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`)}function Sn(e){return R(e).replace(/"/g,`&quot;`)}const Cn=new Set([`md`,`go`,`py`,`pl`,`sh`,`am`,`at`,`be`,`cc`]);function wn(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(!Cn.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 Tn(e,t){let n=e.href.trim();if(!n||e.start===e.end||wn(n,t.slice(e.start,e.end)))return null;let r=Sn(n);return{start:e.start,end:e.end,open:`<a href="${r}">`,close:`</a>`}}function En(e){return oe(e,{styleMarkers:{bold:{open:`<b>`,close:`</b>`},italic:{open:`<i>`,close:`</i>`},strikethrough:{open:`<s>`,close:`</s>`},code:{open:`<code>`,close:`</code>`},code_block:{open:`<pre><code>`,close:`</code></pre>`},spoiler:{open:`<tg-spoiler>`,close:`</tg-spoiler>`},blockquote:{open:`<blockquote>`,close:`</blockquote>`}},escapeText:R,buildLink:Tn})}function Dn(e,t={}){let n=En(k(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:t.tableMode}));return t.wrapFileRefs===!1?n:Fn(n)}function On(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}const kn=Array.from(Cn).map(On).join(`|`),An=/<a\s+href="https?:\/\/([^"]+)"[^>]*>\1<\/a>/gi,jn=RegExp(`(^|[^a-zA-Z0-9_\\-/])([a-zA-Z0-9_.\\-./]+\\.(?:${kn}))(?=$|[^a-zA-Z0-9_\\-/])`,`gi`),Mn=RegExp(`([^a-zA-Z0-9]|^)([A-Za-z]\\.(?:${kn}))(?=[^a-zA-Z0-9/]|$)`,`g`),z=/(<\/?)([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*?>/gi;function Nn(e,t,n){return n.startsWith(`//`)||/https?:\/\/$/i.test(t)?e:`${t}<code>${R(n)}</code>`}function Pn(e,t,n,r){return!e||t>0||n>0||r>0?e:e.replace(jn,Nn).replace(Mn,(e,t,n)=>t===`>`?e:`${t}<code>${R(n)}</code>`)}function Fn(e){An.lastIndex=0;let t=e.replace(An,(e,t)=>wn(`http://${t}`,t)?`<code>${R(t)}</code>`:e),n=0,r=0,i=0,a=``,o=0;z.lastIndex=0;let s;for(;(s=z.exec(t))!==null;){let e=s.index,c=z.lastIndex,l=s[1]===`</`,u=s[2].toLowerCase(),d=t.slice(o,e);a+=Pn(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+=Pn(c,n,r,i),a}function In(e,t={}){return(t.textMode??`markdown`)===`html`?e:Dn(e,{tableMode:t.tableMode})}const Ln=new Set([`br`]);function Rn(e){return e.map(e=>e.openTag).join(``)}function zn(e){return e.slice().toReversed().map(e=>e.closeTag).join(``)}function Bn(e){return e.reduce((e,t)=>e+t.closeTag.length,0)}function Vn(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 Hn(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=Vn(e,r);return i===-1||i<n?n:r}function Un(e,t){for(let n=e.length-1;n>=0;--n)if(e[n]?.name===t){e.splice(n,1);return}}function Wn(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=Rn(i),o=!1},c=()=>{o&&(r.push(`${a}${zn(i)}`),s())},l=e=>{let t=e;for(;t.length>0;){let e=n-a.length-Bn(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=Hn(t,e);if(r<=0){if(!o)throw Error(`Telegram HTML chunk limit exceeded by leading entity (limit=${n})`);c();continue}a+=t.slice(0,r),o=!0,t=t.slice(r),c()}};s(),z.lastIndex=0;let u=0,d;for(;(d=z.exec(e))!==null;){let t=d.index,r=z.lastIndex;l(e.slice(u,t));let s=d[0],f=d[1]===`</`,p=d[2].toLowerCase(),m=!f&&(Ln.has(p)||s.trimEnd().endsWith(`/>`));if(!f){let e=m?0:`</${p}>`.length;o&&a.length+s.length+Bn(i)+e>n&&c()}a+=s,m&&(o=!0),f?Un(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 Gn(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=Jn(e,Number.isFinite(a)&&a>0?a:Math.max(1,Math.floor(r/2)));return o.length>1?o:Jn(e,Math.max(1,Math.floor(r/2)))}function Kn(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 qn(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 Jn(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:Kn(e.styles,i,t),links:qn(e.links,i,t)}),i=t}return r}function Yn(e,t){let n=Math.max(1,Math.floor(t)),r=ae(e,n),i=[];for(;r.length>0;){let e=r.shift();if(!e)continue;let t=Fn(En(e));if(t.length<=n||e.text.length<=1){i.push({html:t,text:e.text});continue}let a=Gn(e,n,t.length);if(a.length<=1){i.push({html:t,text:e.text});continue}r.unshift(...a)}return i}function Xn(e,t,n={}){return Yn(k(e??``,{linkify:!0,enableSpoilers:!0,headingStyle:`none`,blockquotePrefix:``,tableMode:n.tableMode}),t)}const Zn=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`]),Qn=new Set([`ECONNREFUSED`,`ENOTFOUND`,`EAI_AGAIN`,`ENETUNREACH`,`EHOSTUNREACH`]),$n=new Set([`AbortError`,`TimeoutError`,`ConnectTimeoutError`,`HeadersTimeoutError`,`BodyTimeoutError`]),er=new Set([`fetch failed`,`typeerror: fetch failed`]),tr=/^network request(?:\s+for\s+["']?[^"']+["']?)?\s+failed\s+after\b.*[!.]?$/i,nr=[`undici`,`network error`,`network request`,`client network socket disconnected`,`socket hang up`,`getaddrinfo`,`timeout`,`timed out`];function rr(e){return _(e,e=>{let t=[e.cause,e.reason];return Array.isArray(e.errors)&&t.push(...e.errors),x(e)===`HttpError`&&t.push(e.error),t})}function ir(e){return e?.trim().toUpperCase()??``}function ar(e){let t=v(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 or(e){if(!e)return!1;for(let t of rr(e)){let e=ir(ar(t));if(e&&Qn.has(e))return!0}return!1}function sr(e,t){for(let n of rr(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 cr(e){return sr(e,e=>e>=500)}function lr(e){return sr(e,e=>e>=400&&e<500)}function B(e,t={}){if(!e)return!1;let n=typeof t.allowMessageMatch==`boolean`?t.allowMessageMatch:t.context!==`send`;for(let t of rr(e)){let e=ir(ar(t));if(e&&Zn.has(e))return!0;let r=x(t);if(r&&$n.has(r))return!0;let i=E(t).trim().toLowerCase();if(i&&er.has(i)||i&&tr.test(i)||n&&i&&nr.some(e=>i.includes(e)))return!0}return!1}const ur=new Map;function dr(e){return String(e)}function fr(e){let t=Date.now();for(let[n,r]of e.timestamps)t-r>864e5&&e.timestamps.delete(n)}function V(e,t){let n=dr(e),r=ur.get(n);r||(r={timestamps:new Map},ur.set(n,r)),r.timestamps.set(t,Date.now()),r.timestamps.size>100&&fr(r)}function pr(e,t){let n=dr(e),r=ur.get(n);return r?(fr(r),r.timestamps.has(t)):!1}const H=d(`telegram/target-writeback`);function U(e){return!e||typeof e!=`object`||Array.isArray(e)?null:e}function mr(e){let t=ne(e);if(t)return t.startsWith(`@`)?t.toLowerCase():t}function hr(e){let t=D(e),n=mr(t.chatId);if(n)return`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`}function gr(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 _r(e){let t=D(e.raw);if(O(t.chatId))return null;let n=mr(t.chatId);return n?{matchKey:`${n}|${t.messageThreadId==null?``:String(t.messageThreadId)}`,resolvedTarget:gr({raw:e.raw,parsed:t,resolvedChatId:e.resolvedChatId})}:null}function vr(e){if(typeof e.rawValue!=`string`&&typeof e.rawValue!=`number`)return null;let t=String(e.rawValue).trim();return!t||hr(t)!==e.matchKey?null:e.resolvedTarget}function yr(e){let t=!1,n=U(e.cfg.channels?.telegram);if(!n)return t;let r=(n,r)=>{let i=vr({rawValue:n[r],matchKey:e.matchKey,resolvedTarget:e.resolvedTarget});i&&(n[r]=i,t=!0)};r(n,`defaultTo`);let i=U(n.accounts);if(!i)return t;for(let e of Object.keys(i)){let t=U(i[e]);t&&r(t,`defaultTo`)}return t}async function br(e){let t=e.rawTarget.trim();if(!t)return;let n=_r({raw:t,resolvedChatId:e.resolvedChatId});if(!n)return;let{matchKey:r,resolvedTarget:i}=n;try{let{snapshot:n,writeOptions:a}=await C(),o=structuredClone(n.config??{});yr({cfg:o,matchKey:r,resolvedTarget:i})&&(await te(o,a),e.verbose&&H.warn(`resolved Telegram defaultTo target ${t} -> ${i}`))}catch(n){e.verbose&&H.warn(`failed to persist Telegram defaultTo target ${t}: ${String(n)}`)}try{let n=cn(e.cfg.cron?.store),a=await ln(n),o=!1;for(let e of a.jobs){if(e.delivery?.channel!==`telegram`)continue;let t=vr({rawValue:e.delivery.to,matchKey:r,resolvedTarget:i});t&&(e.delivery.to=t,o=!0)}o&&(await dn(n,a),e.verbose&&H.warn(`resolved Telegram cron delivery target ${t} -> ${i}`))}catch(n){e.verbose&&H.warn(`failed to persist Telegram cron target ${t}: ${String(n)}`)}}function xr(e){return e.wantsVoice?be(e)?{useVoice:!0}:{useVoice:!1,reason:`media is ${e.contentType??`unknown`} (${e.fileName??`unknown`})`}:{useVoice:!1}}function Sr(e){let t=xr(e);return t.reason&&e.logFallback&&e.logFallback(`Telegram voice requested but ${t.reason}; sending as audio file instead.`),{useVoice:t.useVoice}}function W(e,t){if(typeof e?.message_id==`number`&&Number.isFinite(e.message_id))return Math.trunc(e.message_id);throw Error(`Telegram ${t} returned no message_id`)}function Cr(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 wr(e,t,n){if(!e)return[];let r=Math.max(1,Math.floor(n)),i=Cr(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 Tr=/can't parse entities|parse entities|find end of the entity/i,Er=/400:\s*Bad Request:\s*message thread not found/i,Dr=/400:\s*Bad Request:\s*message is not modified|MESSAGE_NOT_MODIFIED/i,Or=/400: Bad Request: chat not found/i,kr=d(`telegram/send`),Ar=d(`telegram/diagnostic`),G=new Map;function jr(t){return _n(`telegram.http`,t)?(t,n)=>{if(!(n instanceof ge))return;let r=e(h(n.error??n));Ar.warn(`telegram http error (${t}): ${r}`)}:()=>{}}function Mr(){return!process.env.VITEST&&!0}function Nr(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 Pr(e,t){if(G.set(e,t),G.size>64){let e=G.keys().next().value;e!==void 0&&G.delete(e)}return t}function Fr(e){let t=typeof e.config.timeoutSeconds==`number`&&Number.isFinite(e.config.timeoutSeconds)?Math.max(1,Math.floor(e.config.timeoutSeconds)):void 0,n=Mr()?Nr({account:e,timeoutSeconds:t}):null;if(n&&G.has(n))return G.get(n);let r=e.config.proxy?.trim(),i=ue(r?re(r):void 0,{network:e.config.network}),a=i||t?{...i?{fetch:i}:{},...t?{timeoutSeconds:t}:{}}:void 0;return n?Pr(n,a):a}function Ir(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 Lr(e,t){let n=O(e);if(n)return n;let r=ne(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=O(String(e?.id??``));if(!n)throw Error(`resolved chat id is not numeric (${String(e?.id??``)})`);return t.verbose&&kr.warn(`telegram recipient ${r} resolved to numeric chat id ${n}`),n}catch(e){let t=E(e);throw Error(`Telegram recipient ${r} could not be resolved to a numeric chat ID (${t})`,{cause:e})}}async function K(e){let t=await Lr(e.lookupTarget,{api:e.api,verbose:e.verbose});return await br({cfg:e.cfg,rawTarget:e.persistTarget,resolvedChatId:t,verbose:e.verbose}),t}function q(e){if(typeof e==`number`&&Number.isFinite(e))return Math.trunc(e);if(typeof e==`string`){let t=e.trim();if(!t)throw Error(`Message id is required for Telegram actions`);let n=Number.parseInt(t,10);if(Number.isFinite(n))return n}throw Error(`Message id is required for Telegram actions`)}function Rr(e){return Er.test(E(e))}function J(e){return Dr.test(E(e))}function zr(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 Br(e){if(!e||!zr(e))return e;let t={...e};return delete t.message_thread_id,Object.keys(t).length>0?t:void 0}function Vr(e){return Tr.test(E(e))}function Hr(e){let t=e.messageThreadId==null?e.targetMessageThreadId:e.messageThreadId,n=e.chatType===`direct`?`dm`:`forum`,r=Nt(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 Ur(e){try{return await e.requestHtml(e.label)}catch(t){if(!Vr(t))throw t;return e.verbose&&kr.warn(`telegram ${e.label} failed with HTML parse error, retrying as plain text: ${E(t)}`),await e.requestPlain(`${e.label}-plain`)}}function Y(e){let t=e.cfg??S(),n=w({cfg:t,accountId:e.accountId}),r=Ir(e.token,n),i=Fr(n);return{cfg:t,account:n,api:e.api??new he(r,i?{client:i}:void 0).api}}function X(e){let t=se({retry:e.retry,configRetry:e.account.config.retry,verbose:e.verbose,...e.shouldRetry?{shouldRetry:e.shouldRetry}:{},...e.strictShouldRetry?{strictShouldRetry:!0}:{}}),n=jr(e.cfg);return(r,i,a)=>{let o=()=>t(r,i);return(e.useApiErrorLogging===!1?o():bn({operation:i??`request`,fn:o,...a?.shouldLog?{shouldLog:a.shouldLog}:{}})).catch(e=>{throw n(i??`request`,e),e})}}function Wr(e,t){return Or.test(E(e))?Error([`Telegram send failed: chat not found (chat_id=${t.chatId}).`,`Likely: bot not started in DM, bot removed from group/channel, group migrated (new -100… id), or wrong bot token.`,`Input was: ${JSON.stringify(t.input)}.`].join(` `)):e}async function Z(e,t,n,r){try{return await r(e,t)}catch(i){if(!zr(e)||!Rr(i))throw i;return n&&kr.warn(`telegram ${t} failed with message_thread_id, retrying without thread: ${E(i)}`),await r(Br(e),`${t}-threadless`)}}function Gr(e){return async(t,n)=>e.requestWithDiag(t,n).catch(t=>{throw Wr(t,{chatId:e.chatId,input:e.input})})}function Q(e){return X({cfg:e.cfg,account:e.account,retry:e.retry,verbose:e.verbose,useApiErrorLogging:e.useApiErrorLogging,shouldRetry:e=>or(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:a,account:o,api:s}=Y(n),c=D(e),u=await K({cfg:a,api:s,lookupTarget:c.chatId,persistTarget:e,verbose:n.verbose}),d=n.mediaUrl?.trim(),f=n.maxBytes??(typeof o.config.mediaMaxMb==`number`?o.config.mediaMaxMb:100)*1024*1024,p=$(n.buttons),m=Hr({targetMessageThreadId:c.messageThreadId,messageThreadId:n.messageThreadId,chatType:c.chatType,replyToMessageId:n.replyToMessageId,quoteText:n.quoteText}),h=Object.keys(m).length>0,g=Gr({requestWithDiag:Q({cfg:a,account:o,retry:n.retry,verbose:n.verbose}),chatId:u,input:e}),_=n.textMode??`markdown`,v=A({cfg:a,channel:`telegram`,accountId:o.accountId}),y=e=>In(e,{textMode:_,tableMode:v}),b=o.config.linkPreview??!0?void 0:{is_disabled:!0},x=async(e,t)=>await Z(t,`message`,n.verbose,async(t,r)=>{let i=t?{...t}:{};b&&(i.link_preview_options=b);let a={...i,...n.silent===!0?{disable_notification:!0}:{}},o=Object.keys(a).length>0,c=t=>g(()=>o?s.sendMessage(u,e.plainText,a):s.sendMessage(u,e.plainText),t);if(!e.htmlText)return await c(r);let l=e.htmlText,d={parse_mode:`HTML`,...a};return await Ur({label:r,verbose:n.verbose,requestHtml:e=>g(()=>s.sendMessage(u,l,d),e),requestPlain:c})}),S=e=>h||e&&p?{...m,...e&&p?{reply_markup:p}:{}}:void 0,C=async(e,t)=>{let n=``,r=u;for(let i=0;i<e.length;i+=1){let a=e[i];if(!a)continue;let o=await x(a,S(i===e.length-1)),s=W(o,t);V(u,s),n=String(s),r=String(o?.chat?.id??u)}return{messageId:n,chatId:r}},w=(e,t)=>{let r=n.plainText??e,i;try{i=Wn(e,4e3)}catch(e){return l(`telegram ${t} failed HTML chunk planning, retrying as plain text: ${E(e)}`),Cr(r,4e3).map(e=>({plainText:e}))}let a=Cr(r,4e3);if(a.length>i.length)return l(`telegram ${t} plain-text fallback needs more chunks than HTML; sending plain text`),a.map(e=>({plainText:e}));let o=wr(r,i.length,4e3);return i.map((e,t)=>({htmlText:e,plainText:o[t]??e}))},ee=async(e,t)=>await C(w(e,t),t);if(d){let e=await ie(d,ce({maxBytes:f,mediaLocalRoots:n.mediaLocalRoots})),a=r(e.contentType??void 0),c=i({contentType:e.contentType,fileName:e.fileName}),v=a===`video`&&n.asVideoNote===!0,b=e.fileName??(c?`animation.gif`:Qr(a??`document`))??`file`,x=new _e(e.buffer,b),S,w;if(v)S=void 0,w=t.trim()?t:void 0;else{let e=xn(t);S=e.caption,w=e.followUpText}let T=S?y(S):void 0,te=!!w,E={...h?m:{},...!te&&p?{reply_markup:p}:{}},ne={...T?{caption:T,parse_mode:`HTML`}:{},...E,...n.silent===!0?{disable_notification:!0}:{}},D=async(e,t)=>await Z(ne,e,n.verbose,async(e,n)=>g(()=>t(e),n)),O=(()=>{if(c)return{label:`animation`,sender:e=>s.sendAnimation(u,x,e)};if(a===`image`)return{label:`photo`,sender:e=>s.sendPhoto(u,x,e)};if(a===`video`)return v?{label:`video_note`,sender:e=>s.sendVideoNote(u,x,e)}:{label:`video`,sender:e=>s.sendVideo(u,x,e)};if(a===`audio`){let{useVoice:t}=Sr({wantsVoice:n.asVoice===!0,contentType:e.contentType,fileName:b,logFallback:l});return t?{label:`voice`,sender:e=>s.sendVoice(u,x,e)}:{label:`audio`,sender:e=>s.sendAudio(u,x,e)}}return{label:`document`,sender:e=>s.sendDocument(u,x,e)}})(),re=await D(O.label,O.sender),k=W(re,`media send`),A=String(re?.chat?.id??u);return V(u,k),j({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),te&&w?_===`html`?{messageId:(await ee(w,`text follow-up send`)).messageId,chatId:A}:{messageId:(await C([{plainText:w,htmlText:y(w)}],`text follow-up send`)).messageId,chatId:A}:{messageId:String(k),chatId:A}}if(!t||!t.trim())throw Error(`Message must be non-empty for Telegram sends`);let T;return T=_===`html`?await ee(t,`text send`):await C([{plainText:n.plainText??t,htmlText:y(t)}],`text send`),j({channel:`telegram`,accountId:o.accountId,direction:`outbound`}),T}async function qr(e,t={}){let{cfg:n,account:r,api:i}=Y(t),a=D(e),o=await K({cfg:n,api:i,lookupTarget:a.chatId,persistTarget:e,verbose:t.verbose}),s=X({cfg:n,account:r,retry:t.retry,verbose:t.verbose,shouldRetry:e=>B(e,{context:`send`})}),c=Pt(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}=Y(r),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),l=q(t),u=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>B(e,{context:`send`})}),d=r.remove===!0,f=n.trim(),p=d||!f?[]:[{type:`emoji`,emoji:f}];if(typeof o.setMessageReaction!=`function`)throw Error(`Telegram reactions are unavailable in this bot API.`);try{await u(()=>o.setMessageReaction(c,l,p),`reaction`)}catch(e){let t=e instanceof Error?e.message:String(e);if(/REACTION_INVALID/i.test(t))return{ok:!1,warning:`Reaction unavailable: ${f}`};throw e}return{ok:!0}}async function Yr(e,t,n={}){let{cfg:r,account:i,api:a}=Y(n),o=String(e),s=await K({cfg:r,api:a,lookupTarget:o,persistTarget:o,verbose:n.verbose}),c=q(t);return await X({cfg:r,account:i,retry:n.retry,verbose:n.verbose,shouldRetry:e=>B(e,{context:`send`})})(()=>a.deleteMessage(s,c),`deleteMessage`),l(`[telegram] Deleted message ${c} from chat ${s}`),{ok:!0}}async function Xr(e,t,n,r={}){let{cfg:i,account:a,api:o}=Y({...r,cfg:r.cfg}),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),u=q(t),d=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose}),f=$(n)??{inline_keyboard:[]};try{await d(()=>o.editMessageReplyMarkup(c,u,{reply_markup:f}),`editMessageReplyMarkup`,{shouldLog:e=>!J(e)})}catch(e){if(!J(e))throw e}return l(`[telegram] Edited reply markup for message ${u} in chat ${c}`),{ok:!0,messageId:String(u),chatId:c}}async function Zr(e,t,n,r={}){let{cfg:i,account:a,api:o}=Y({...r,cfg:r.cfg}),s=String(e),c=await K({cfg:i,api:o,lookupTarget:s,persistTarget:s,verbose:r.verbose}),u=q(t),d=X({cfg:i,account:a,retry:r.retry,verbose:r.verbose,shouldRetry:e=>B(e,{allowMessageMatch:!0})||cr(e)}),f=(e,t,n)=>d(e,t,n?{shouldLog:n}:void 0),p=In(n,{textMode:r.textMode??`markdown`,tableMode:A({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 Ur({label:`editMessage`,verbose:r.verbose,requestHtml:e=>f(()=>o.editMessageText(c,u,p,_),e,e=>!J(e)),requestPlain:e=>f(()=>Object.keys(v).length>0?o.editMessageText(c,u,n,v):o.editMessageText(c,u,n),e,e=>!J(e))})}catch(e){if(!J(e))throw e}return l(`[telegram] Edited message ${u} in chat ${c}`),{ok:!0,messageId:String(u),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}=Y(n),o=D(e),s=await K({cfg:r,api:a,lookupTarget:o.chatId,persistTarget:e,verbose:n.verbose}),c=Hr({targetMessageThreadId:o.messageThreadId,messageThreadId:n.messageThreadId,chatType:o.chatType,replyToMessageId:n.replyToMessageId}),l=Object.keys(c).length>0,u=Gr({requestWithDiag:X({cfg:r,account:i,retry:n.retry,verbose:n.verbose,useApiErrorLogging:!1}),chatId:s,input:e}),d=await Z(l?c:void 0,`sticker`,n.verbose,async(e,n)=>u(()=>a.sendSticker(s,t.trim(),e),n)),f=W(d,`sticker send`),p=String(d?.chat?.id??s);return V(s,f),j({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}=Y(n),o=D(e),s=await K({cfg:r,api:a,lookupTarget:o.chatId,persistTarget:e,verbose:n.verbose}),c=le(t,{maxOptions:10}),l=Hr({targetMessageThreadId:o.messageThreadId,messageThreadId:n.messageThreadId,chatType:o.chatType,replyToMessageId:n.replyToMessageId}),u=c.options,d=Gr({requestWithDiag:Q({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 Z({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=W(p,`poll send`),h=String(p?.chat?.id??s),g=p?.poll?.id;return V(s,m),j({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}=Y(n),s=await K({cfg:i,api:o,lookupTarget:D(e).chatId,persistTarget:e,verbose:n.verbose}),c=Q({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 j({channel:`telegram`,accountId:a.accountId,direction:`outbound`}),{topicId:f,name:d.name??r,chatId:s}}export{_t as $,Nt as A,At as B,cn as C,Rt as D,Bt as E,Wt as F,Ot as G,Yt as H,qt as I,kt as J,Et as K,rn as L,Xt as M,Jt as N,It as O,an as P,bt as Q,Lt as R,ln as S,Ht as T,Ft as U,Vt as V,Mt as W,St as X,xt as Y,yt as Z,Dn as _,Zr as a,we as at,xn as b,ei as c,Se as ct,Sr as d,vt as et,pr as f,Xn as g,lr as h,Xr as i,pt as it,Pt as j,zt as k,$r as l,xe as lt,or as m,ti as n,ct as nt,Jr as o,Te as ot,B as p,Dt as q,Yr as r,ft as rt,Kr as s,Ce as st,$ as t,dt as tt,qr as u,In as v,Ut as w,bn as x,Fn as y,jt as z};
@@ -1 +1 @@
1
- import{t as e}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Br as t,Cr as n,Hr as r,Qr as i,Sr as a,Ti as o,Vr as s,jo as c,wi as l,xr as u}from"./auth-profiles-BhXA8Jy2.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import d from"express";let f=null;const p=e(`browser`).child(`server`);async function m(){if(f)return f;let e=c(),s=i(e.browser,e);if(!s.enabled)return null;let m=o(e),h=!1;try{let t=await l({cfg:e});m=t.auth,t.generatedToken&&p.info(`No browser auth configured; generated gateway.auth.token automatically.`)}catch(e){p.warn(`failed to auto-configure browser auth: ${String(e)}`),h=!0}if(h&&!m.token&&!m.password)return p.error(`browser control startup aborted: authentication bootstrap failed and no fallback auth is configured.`),null;let g=d();a(g),u(g,m),n(g,r({getState:()=>f,refreshConfigFromDisk:!0}));let _=s.controlPort,v=await new Promise((e,t)=>{let n=g.listen(_,`127.0.0.1`,()=>e(n));n.once(`error`,t)}).catch(e=>(p.error(`openclaw browser server failed to bind 127.0.0.1:${_}: ${String(e)}`),null));if(!v)return null;f=await t({server:v,port:_,resolved:s,onWarn:e=>p.warn(e)});let y=m.token?`token`:m.password?`password`:`off`;return p.info(`Browser control listening on http://127.0.0.1:${_}/ (auth=${y})`),f}async function h(){await s({current:f,getState:()=>f,clearState:()=>{f=null},closeServer:!0,onWarn:e=>p.warn(e)})}export{m as startBrowserControlServerFromConfig,h as stopBrowserControlServer};
1
+ import{t as e}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Br as t,Cr as n,Hr as r,Qr as i,Sr as a,Ti as o,Vr as s,jo as c,wi as l,xr as u}from"./auth-profiles-BhXA8Jy2.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import d from"express";let f=null;const p=e(`browser`).child(`server`);async function m(){if(f)return f;let e=c(),s=i(e.browser,e);if(!s.enabled)return null;let m=o(e),h=!1;try{let t=await l({cfg:e});m=t.auth,t.generatedToken&&p.info(`No browser auth configured; generated gateway.auth.token automatically.`)}catch(e){p.warn(`failed to auto-configure browser auth: ${String(e)}`),h=!0}if(h&&!m.token&&!m.password)return p.error(`browser control startup aborted: authentication bootstrap failed and no fallback auth is configured.`),null;let g=d();a(g),u(g,m),n(g,r({getState:()=>f,refreshConfigFromDisk:!0}));let _=s.controlPort,v=await new Promise((e,t)=>{let n=g.listen(_,`127.0.0.1`,()=>e(n));n.once(`error`,t)}).catch(e=>(p.error(`openclaw browser server failed to bind 127.0.0.1:${_}: ${String(e)}`),null));if(!v)return null;f=await t({server:v,port:_,resolved:s,onWarn:e=>p.warn(e)});let y=m.token?`token`:m.password?`password`:`off`;return p.info(`Browser control listening on http://127.0.0.1:${_}/ (auth=${y})`),f}async function h(){await s({current:f,getState:()=>f,clearState:()=>{f=null},closeServer:!0,onWarn:e=>p.warn(e)})}export{m as startBrowserControlServerFromConfig,h as stopBrowserControlServer};
@@ -1 +1 @@
1
- import"./paths-B4IRk3wi.js";import{p as e}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{Jn as t,qs as n}from"./model-selection-I1ctjFOB.js";import{Gn as r,Kt as i,M as a,Mt as o,N as s,Ot as c,Sn as l,br as u,j as d}from"./reply-r9KtzgpM.js";import"./agent-scope-DXZc3eNT.js";import{l as f,p}from"./session-key-D3P0tf5P.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import{r as m}from"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./send-YPQFx-fV.js";import"./send-Ds5sy22D.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-BJNP7vB8.js";import"./image-BJC11A7e.js";import"./models-config-CWIlroKT.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-Cji70DJW.js";import"./api-key-rotation-DYYvcqSG.js";import"./local-roots-Dxioh0C2.js";import"./model-catalog-vNCcsy4h.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import{t as h}from"./deliver-DHP2vHKB.js";import"./commands-CGpM84iR.js";import"./commands-registry-CxDVU5s9.js";import"./pairing-store-Bv4KSELv.js";import"./fetch-Dikjvc5M.js";import"./call-BA3O_Qpl.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-Bzd5vlKH.js";import"./send-D0y-r_hg2.js";import"./pi-model-discovery-6myCPEJE.js";import"./exec-approvals-allowlist-BKFaHvA5.js";import"./exec-safe-bin-runtime-policy-D2WexijZ.js";import"./ir-CZdZsdnI.js";import"./render-D8OWO2hT.js";import"./target-errors-DH0aw-m5.js";import"./read-only-account-inspect-DEnPVHTo.js";import"./channel-selection-oRONo9z3.js";import"./plugin-auto-enable-Cp7L8ko8.js";import"./send-CgeRzkWS.js";import"./outbound-attachment-aZWcoZ-N.js";import"./delivery-queue-CKbauSFq.js";import"./send-DIw8ExHc.js";import"./channel-activity-DHY5wAyl.js";import"./tables-h7y1Jhf4.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-O39uSj-k.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-CKX1ds78.js";import"./restart-CTfuVGfA.js";import"./runtime-web-tools-CCIXUISf.js";import"./command-secret-targets-BBTiqQKa.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-DZ-3Svr_.js";import"./onboard-helpers-CGJLUoxR.js";import"./prompt-style-CXKekIBY.js";import"./pairing-labels-ryOnuOFA.js";import"./memory-cli-DHvscp7X.js";import"./query-expansion-0OxEb1Io.js";import"./manager-BwrZfep3.js";import"./links-CySwdMcF.js";import"./cli-utils-BY7dLMFy.js";import"./help-format-BRbF_INg.js";import"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-C7-5RrbN.js";import"./system-run-command-DCzdgYyb.js";import"./runtime-DLxfCs7F.js";import"./stagger-DmFYysrJ.js";import{c as g,l as _,r as v,s as y}from"./push-apns-kySzOiJr.js";import{randomUUID as b}from"node:crypto";const x=1500,S=new Map;function C(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function w(e){return typeof e==`number`&&Number.isFinite(e)?Math.trunc(e):null}function T(e,t){let n=C(e.eventId)??C(e.providerEventId)??C(e.transcriptId);if(n)return`event:${n}`;let r=C(e.providerCallId)??C(e.callId),i=w(e.sequence)??w(e.seq);if(r&&i!==null)return`call-seq:${r}:${i}`;let a=w(e.timestamp)??w(e.ts)??w(e.eventTimestamp);return r&&a!==null?`call-ts:${r}:${a}`:a===null?`text:${t}`:`timestamp:${a}|text:${t}`}function E(e){let t=S.get(e.sessionKey);if(t&&t.fingerprint===e.fingerprint&&e.now-t.ts<=x)return!0;if(S.set(e.sessionKey,{fingerprint:e.fingerprint,ts:e.now}),S.size>200){let t=e.now-x*2;for(let[e,n]of S)if(n.ts<t&&S.delete(e),S.size<=200)break;for(;S.size>200;){let e=S.keys().next().value;if(e===void 0)break;S.delete(e)}}return!1}function D(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length<=180?t:`${t.slice(0,179)}…`:``}function O(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length<=120?t:`${t.slice(0,119)}…`:``}async function k(e){let{storePath:n}=e;n&&await t(n,t=>{let n=s({cfg:e.cfg,key:e.sessionKey,store:t});a({store:t,canonicalKey:n.canonicalKey,candidates:n.storeKeys}),t[e.canonicalKey]={sessionId:e.sessionId,updatedAt:e.now,thinkingLevel:e.entry?.thinkingLevel,verboseLevel:e.entry?.verboseLevel,reasoningLevel:e.entry?.reasoningLevel,systemSent:e.entry?.systemSent,sendPolicy:e.entry?.sendPolicy,lastChannel:e.entry?.lastChannel,lastTo:e.entry?.lastTo}})}function A(e){k({cfg:e.cfg,sessionKey:e.sessionKey,storePath:e.storePath,canonicalKey:e.canonicalKey,entry:e.entry,sessionId:e.sessionId,now:e.now}).catch(t=>{e.ctx.logGateway.warn(`voice session-store update failed: `+_(t))})}function j(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t,r=typeof n.sessionKey==`string`?n.sessionKey.trim():``;return r.length>0?r:null}function M(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}return typeof t==`object`&&t?t:null}async function N(e){let t=r({channel:e.channel,to:e.to,cfg:e.cfg,mode:`explicit`});if(!t.ok)throw Error(String(t.error));let n=u({cfg:e.cfg,sessionKey:e.sessionKey});await h({cfg:e.cfg,channel:e.channel,to:t.to,payloads:[{text:e.text}],session:n,bestEffort:!0,deps:o(e.deps)})}const P=async(t,r,a)=>{switch(a.event){case`voice.transcript`:{let i=M(a.payloadJSON);if(!i)return;let o=typeof i.text==`string`?i.text.trim():``;if(!o||o.length>2e4)return;let s=typeof i.sessionKey==`string`?i.sessionKey.trim():``,l=n(),u=f(l.session?.mainKey),p=s.length>0?s:u,{storePath:m,entry:h,canonicalKey:g}=d(p),v=Date.now();if(E({sessionKey:g,fingerprint:T(i,o),now:v}))return;let y=h?.sessionId??b();A({ctx:t,cfg:l,sessionKey:p,storePath:m,canonicalKey:g,entry:h,sessionId:y,now:v}),t.addChatRun(y,{sessionKey:g,clientRunId:`voice-${b()}`}),c({message:o,sessionId:y,sessionKey:g,thinking:`low`,deliver:!1,messageChannel:`node`,inputProvenance:{kind:`external_user`,sourceChannel:`voice`,sourceTool:`gateway.voice.transcript`},senderIsOwner:!1},e,t.deps).catch(e=>{t.logGateway.warn(`agent failed node=${r}: ${_(e)}`)});return}case`agent.request`:{if(!a.payloadJSON)return;let i=null;try{i=JSON.parse(a.payloadJSON)}catch{return}let o=(i?.message??``).trim(),s=y(i?.attachments??void 0),l=[];if(s.length>0)try{let e=await g(o,s,{maxBytes:5e6,log:t.logGateway});o=e.message.trim(),l=e.images}catch{return}if(!o||o.length>2e4)return;let u=m(typeof i?.channel==`string`?i.channel.trim():``)??void 0,f=typeof i?.to==`string`&&i.to.trim()?i.to.trim():void 0,p=!!i?.deliver,h=!!i?.receipt,v=(typeof i?.receiptText==`string`?i.receiptText.trim():``)||`Just received your iOS share + request, working on it.`,x=(i?.sessionKey??``).trim(),S=x.length>0?x:`node-${r}`,C=n(),{storePath:w,entry:T,canonicalKey:E}=d(S),D=Date.now(),O=T?.sessionId??b();if(await k({cfg:C,sessionKey:S,storePath:w,canonicalKey:E,entry:T,sessionId:O,now:D}),p&&(!u||!f)){let e=typeof T?.lastChannel==`string`?m(T.lastChannel):void 0,t=typeof T?.lastTo==`string`?T.lastTo.trim():``;!u&&e&&(u=e),!f&&t&&(f=t)}let A=p&&!!(u&&f),j=A?u:void 0,M=A?f:void 0;p&&!A&&t.logGateway.warn(`agent delivery disabled node=${r}: missing session delivery route (channel=${u??`-`} to=${f??`-`})`),h&&j&&M?N({cfg:C,deps:t.deps,sessionKey:E,channel:j,to:M,text:v}).catch(e=>{t.logGateway.warn(`agent receipt failed node=${r}: ${_(e)}`)}):h&&t.logGateway.warn(`agent receipt skipped node=${r}: missing delivery route (channel=${j??`-`} to=${M??`-`})`),c({message:o,images:l,sessionId:O,sessionKey:E,thinking:i?.thinking??void 0,deliver:A,to:M,channel:j,timeout:typeof i?.timeoutSeconds==`number`?i.timeoutSeconds.toString():void 0,messageChannel:`node`,senderIsOwner:!1},e,t.deps).catch(e=>{t.logGateway.warn(`agent failed node=${r}: ${_(e)}`)});return}case`notifications.changed`:{let e=M(a.payloadJSON);if(!e)return;let t=C(e.change)?.toLowerCase();if(t!==`posted`&&t!==`removed`)return;let n=C(e.key);if(!n)return;let{canonicalKey:o}=d(C(e.sessionKey)??`node-${r}`),s=C(e.packageName),c=O(C(e.title)??``),u=O(C(e.text)??``),f=`Notification ${t} (node=${r} key=${n}`;if(s&&(f+=` package=${s}`),f+=`)`,t===`posted`){let e=[c,u].filter(Boolean);e.length>0&&(f+=`: ${e.join(` - `)}`)}l(f,{sessionKey:o,contextKey:`notification:${n}`})&&i({reason:`notifications-event`,sessionKey:o});return}case`chat.subscribe`:{if(!a.payloadJSON)return;let e=j(a.payloadJSON);if(!e)return;t.nodeSubscribe(r,e);return}case`chat.unsubscribe`:{if(!a.payloadJSON)return;let e=j(a.payloadJSON);if(!e)return;t.nodeUnsubscribe(r,e);return}case`exec.started`:case`exec.finished`:case`exec.denied`:{let e=M(a.payloadJSON);if(!e)return;let t=typeof e.sessionKey==`string`?e.sessionKey.trim():`node-${r}`;if(!t||n().tools?.exec?.notifyOnExit===!1||e.suppressNotifyOnExit===!0)return;let o=typeof e.runId==`string`?e.runId.trim():``,s=typeof e.command==`string`?e.command.trim():``,c=typeof e.exitCode==`number`&&Number.isFinite(e.exitCode)?e.exitCode:void 0,u=e.timedOut===!0,d=typeof e.output==`string`?e.output.trim():``,f=typeof e.reason==`string`?e.reason.trim():``,m=``;if(a.event===`exec.started`)m=`Exec started (node=${r}${o?` id=${o}`:``})`,s&&(m+=`: ${s}`);else if(a.event===`exec.finished`){let e=u?`timeout`:`code ${c??`?`}`,t=D(d);if(!(u||c!==0||t.length>0))return;m=`Exec finished (node=${r}${o?` id=${o}`:``}, ${e})`,t&&(m+=`\n${t}`)}else m=`Exec denied (node=${r}${o?` id=${o}`:``}${f?`, ${f}`:``})`,s&&(m+=`: ${s}`);l(m,{sessionKey:t,contextKey:o?`exec:${o}`:`exec`}),i(p(t,{reason:`exec-event`}));return}case`push.apns.register`:{let e=M(a.payloadJSON);if(!e)return;let n=typeof e.token==`string`?e.token:``,i=typeof e.topic==`string`?e.topic:``,o=e.environment;try{await v({nodeId:r,token:n,topic:i,environment:o})}catch(e){t.logGateway.warn(`push apns register failed node=${r}: ${_(e)}`)}return}default:return}};export{P as handleNodeEvent};
1
+ import"./paths-B4IRk3wi.js";import{p as e}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{Jn as t,qs as n}from"./model-selection-I1ctjFOB.js";import{Gn as r,Kt as i,M as a,Mt as o,N as s,Ot as c,Sn as l,br as u,j as d}from"./reply-r9KtzgpM.js";import"./agent-scope-DXZc3eNT.js";import{l as f,p}from"./session-key-D3P0tf5P.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import{r as m}from"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./send-YPQFx-fV.js";import"./send-Ds5sy22D.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./audio-transcription-runner-BJNP7vB8.js";import"./image-BJC11A7e.js";import"./models-config-CWIlroKT.js";import"./tool-display-DjuSUUbH.js";import"./fetch-guard-Cji70DJW.js";import"./api-key-rotation-DYYvcqSG.js";import"./local-roots-Dxioh0C2.js";import"./model-catalog-vNCcsy4h.js";import"./proxy-fetch-BADsUK4d.js";import"./tokens-XGbQGn67.js";import{t as h}from"./deliver-DHP2vHKB.js";import"./commands-CGpM84iR.js";import"./commands-registry-CxDVU5s9.js";import"./pairing-store-Bv4KSELv.js";import"./fetch-Dikjvc5M.js";import"./call-BA3O_Qpl.js";import"./with-timeout-WveKxvFV.js";import"./diagnostic-Bzd5vlKH.js";import"./send-D0y-r_hg2.js";import"./pi-model-discovery-6myCPEJE.js";import"./exec-approvals-allowlist-BKFaHvA5.js";import"./exec-safe-bin-runtime-policy-D2WexijZ.js";import"./ir-CZdZsdnI.js";import"./render-D8OWO2hT.js";import"./target-errors-DH0aw-m5.js";import"./read-only-account-inspect-DEnPVHTo.js";import"./channel-selection-oRONo9z3.js";import"./plugin-auto-enable-Cp7L8ko8.js";import"./send-CgeRzkWS.js";import"./outbound-attachment-aZWcoZ-N.js";import"./delivery-queue-CKbauSFq.js";import"./send-DIw8ExHc.js";import"./channel-activity-DHY5wAyl.js";import"./tables-h7y1Jhf4.js";import"./fetch-Bn0mWg6a.js";import"./skill-commands-O39uSj-k.js";import"./workspace-dirs-BhF1Dzxt.js";import"./pairing-token-CKX1ds78.js";import"./restart-CTfuVGfA.js";import"./runtime-web-tools-CCIXUISf.js";import"./command-secret-targets-BBTiqQKa.js";import"./session-cost-usage-BgqKixv0.js";import"./connection-auth-DZ-3Svr_.js";import"./onboard-helpers-CGJLUoxR.js";import"./prompt-style-CXKekIBY.js";import"./pairing-labels-ryOnuOFA.js";import"./memory-cli-DHvscp7X.js";import"./query-expansion-0OxEb1Io.js";import"./manager-BwrZfep3.js";import"./links-CySwdMcF.js";import"./cli-utils-BY7dLMFy.js";import"./help-format-BRbF_INg.js";import"./progress-LNttnI-y.js";import"./exec-approvals-BpBNEy6i.js";import"./nodes-screen-C7-5RrbN.js";import"./system-run-command-DCzdgYyb.js";import"./runtime-DLxfCs7F.js";import"./stagger-DmFYysrJ.js";import{c as g,l as _,r as v,s as y}from"./push-apns-kySzOiJr.js";import{randomUUID as b}from"node:crypto";const x=1500,S=new Map;function C(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function w(e){return typeof e==`number`&&Number.isFinite(e)?Math.trunc(e):null}function T(e,t){let n=C(e.eventId)??C(e.providerEventId)??C(e.transcriptId);if(n)return`event:${n}`;let r=C(e.providerCallId)??C(e.callId),i=w(e.sequence)??w(e.seq);if(r&&i!==null)return`call-seq:${r}:${i}`;let a=w(e.timestamp)??w(e.ts)??w(e.eventTimestamp);return r&&a!==null?`call-ts:${r}:${a}`:a===null?`text:${t}`:`timestamp:${a}|text:${t}`}function E(e){let t=S.get(e.sessionKey);if(t&&t.fingerprint===e.fingerprint&&e.now-t.ts<=x)return!0;if(S.set(e.sessionKey,{fingerprint:e.fingerprint,ts:e.now}),S.size>200){let t=e.now-x*2;for(let[e,n]of S)if(n.ts<t&&S.delete(e),S.size<=200)break;for(;S.size>200;){let e=S.keys().next().value;if(e===void 0)break;S.delete(e)}}return!1}function D(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length<=180?t:`${t.slice(0,179)}…`:``}function O(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length<=120?t:`${t.slice(0,119)}…`:``}async function k(e){let{storePath:n}=e;n&&await t(n,t=>{let n=s({cfg:e.cfg,key:e.sessionKey,store:t});a({store:t,canonicalKey:n.canonicalKey,candidates:n.storeKeys}),t[e.canonicalKey]={sessionId:e.sessionId,updatedAt:e.now,thinkingLevel:e.entry?.thinkingLevel,verboseLevel:e.entry?.verboseLevel,reasoningLevel:e.entry?.reasoningLevel,systemSent:e.entry?.systemSent,sendPolicy:e.entry?.sendPolicy,lastChannel:e.entry?.lastChannel,lastTo:e.entry?.lastTo}})}function A(e){k({cfg:e.cfg,sessionKey:e.sessionKey,storePath:e.storePath,canonicalKey:e.canonicalKey,entry:e.entry,sessionId:e.sessionId,now:e.now}).catch(t=>{e.ctx.logGateway.warn(`voice session-store update failed: `+_(t))})}function j(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t,r=typeof n.sessionKey==`string`?n.sessionKey.trim():``;return r.length>0?r:null}function M(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}return typeof t==`object`&&t?t:null}async function N(e){let t=r({channel:e.channel,to:e.to,cfg:e.cfg,mode:`explicit`});if(!t.ok)throw Error(String(t.error));let n=u({cfg:e.cfg,sessionKey:e.sessionKey});await h({cfg:e.cfg,channel:e.channel,to:t.to,payloads:[{text:e.text}],session:n,bestEffort:!0,deps:o(e.deps)})}const P=async(t,r,a)=>{switch(a.event){case`voice.transcript`:{let i=M(a.payloadJSON);if(!i)return;let o=typeof i.text==`string`?i.text.trim():``;if(!o||o.length>2e4)return;let s=typeof i.sessionKey==`string`?i.sessionKey.trim():``,l=n(),u=f(l.session?.mainKey),p=s.length>0?s:u,{storePath:m,entry:h,canonicalKey:g}=d(p),v=Date.now();if(E({sessionKey:g,fingerprint:T(i,o),now:v}))return;let y=h?.sessionId??b();A({ctx:t,cfg:l,sessionKey:p,storePath:m,canonicalKey:g,entry:h,sessionId:y,now:v}),t.addChatRun(y,{sessionKey:g,clientRunId:`voice-${b()}`}),c({message:o,sessionId:y,sessionKey:g,thinking:`low`,deliver:!1,messageChannel:`node`,inputProvenance:{kind:`external_user`,sourceChannel:`voice`,sourceTool:`gateway.voice.transcript`},senderIsOwner:!1},e,t.deps).catch(e=>{t.logGateway.warn(`agent failed node=${r}: ${_(e)}`)});return}case`agent.request`:{if(!a.payloadJSON)return;let i=null;try{i=JSON.parse(a.payloadJSON)}catch{return}let o=(i?.message??``).trim(),s=y(i?.attachments??void 0),l=[];if(s.length>0)try{let e=await g(o,s,{maxBytes:5e6,log:t.logGateway});o=e.message.trim(),l=e.images}catch{return}if(!o||o.length>2e4)return;let u=m(typeof i?.channel==`string`?i.channel.trim():``)??void 0,f=typeof i?.to==`string`&&i.to.trim()?i.to.trim():void 0,p=!!i?.deliver,h=!!i?.receipt,v=(typeof i?.receiptText==`string`?i.receiptText.trim():``)||`Just received your iOS share + request, working on it.`,x=(i?.sessionKey??``).trim(),S=x.length>0?x:`node-${r}`,C=n(),{storePath:w,entry:T,canonicalKey:E}=d(S),D=Date.now(),O=T?.sessionId??b();if(await k({cfg:C,sessionKey:S,storePath:w,canonicalKey:E,entry:T,sessionId:O,now:D}),p&&(!u||!f)){let e=typeof T?.lastChannel==`string`?m(T.lastChannel):void 0,t=typeof T?.lastTo==`string`?T.lastTo.trim():``;!u&&e&&(u=e),!f&&t&&(f=t)}let A=p&&!!(u&&f),j=A?u:void 0,M=A?f:void 0;p&&!A&&t.logGateway.warn(`agent delivery disabled node=${r}: missing session delivery route (channel=${u??`-`} to=${f??`-`})`),h&&j&&M?N({cfg:C,deps:t.deps,sessionKey:E,channel:j,to:M,text:v}).catch(e=>{t.logGateway.warn(`agent receipt failed node=${r}: ${_(e)}`)}):h&&t.logGateway.warn(`agent receipt skipped node=${r}: missing delivery route (channel=${j??`-`} to=${M??`-`})`),c({message:o,images:l,sessionId:O,sessionKey:E,thinking:i?.thinking??void 0,deliver:A,to:M,channel:j,timeout:typeof i?.timeoutSeconds==`number`?i.timeoutSeconds.toString():void 0,messageChannel:`node`,senderIsOwner:!1},e,t.deps).catch(e=>{t.logGateway.warn(`agent failed node=${r}: ${_(e)}`)});return}case`notifications.changed`:{let e=M(a.payloadJSON);if(!e)return;let t=C(e.change)?.toLowerCase();if(t!==`posted`&&t!==`removed`)return;let n=C(e.key);if(!n)return;let{canonicalKey:o}=d(C(e.sessionKey)??`node-${r}`),s=C(e.packageName),c=O(C(e.title)??``),u=O(C(e.text)??``),f=`Notification ${t} (node=${r} key=${n}`;if(s&&(f+=` package=${s}`),f+=`)`,t===`posted`){let e=[c,u].filter(Boolean);e.length>0&&(f+=`: ${e.join(` - `)}`)}l(f,{sessionKey:o,contextKey:`notification:${n}`})&&i({reason:`notifications-event`,sessionKey:o});return}case`chat.subscribe`:{if(!a.payloadJSON)return;let e=j(a.payloadJSON);if(!e)return;t.nodeSubscribe(r,e);return}case`chat.unsubscribe`:{if(!a.payloadJSON)return;let e=j(a.payloadJSON);if(!e)return;t.nodeUnsubscribe(r,e);return}case`exec.started`:case`exec.finished`:case`exec.denied`:{let e=M(a.payloadJSON);if(!e)return;let t=typeof e.sessionKey==`string`?e.sessionKey.trim():`node-${r}`;if(!t||n().tools?.exec?.notifyOnExit===!1||e.suppressNotifyOnExit===!0)return;let o=typeof e.runId==`string`?e.runId.trim():``,s=typeof e.command==`string`?e.command.trim():``,c=typeof e.exitCode==`number`&&Number.isFinite(e.exitCode)?e.exitCode:void 0,u=e.timedOut===!0,d=typeof e.output==`string`?e.output.trim():``,f=typeof e.reason==`string`?e.reason.trim():``,m=``;if(a.event===`exec.started`)m=`Exec started (node=${r}${o?` id=${o}`:``})`,s&&(m+=`: ${s}`);else if(a.event===`exec.finished`){let e=u?`timeout`:`code ${c??`?`}`,t=D(d);if(!(u||c!==0||t.length>0))return;m=`Exec finished (node=${r}${o?` id=${o}`:``}, ${e})`,t&&(m+=`\n${t}`)}else m=`Exec denied (node=${r}${o?` id=${o}`:``}${f?`, ${f}`:``})`,s&&(m+=`: ${s}`);l(m,{sessionKey:t,contextKey:o?`exec:${o}`:`exec`}),i(p(t,{reason:`exec-event`}));return}case`push.apns.register`:{let e=M(a.payloadJSON);if(!e)return;let n=typeof e.token==`string`?e.token:``,i=typeof e.topic==`string`?e.topic:``,o=e.environment;try{await v({nodeId:r,token:n,topic:i,environment:o})}catch(e){t.logGateway.warn(`push apns register failed node=${r}: ${_(e)}`)}return}default:return}};export{P as handleNodeEvent};
@@ -1 +1 @@
1
- import{p as e}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Lt as t,jo as n}from"./auth-profiles-BhXA8Jy2.js";import"./agent-scope-DAWJwFfl.js";import{l as r,p as i}from"./session-key-C7F_iqYg.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import{r as a}from"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-DS5Quwb7.js";import"./send-BeZJ1zbp.js";import{Cn as o,O as s,bt as c,sr as l,st as u,w as d}from"./compact-CuBCVnVS.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-DN2Q51fC.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import{t as f}from"./deliver-COKdxPmA.js";import"./diagnostic-CW_Jv5UM.js";import"./send-DRm6AFp-.js";import"./pi-model-discovery-AiV9h8k6.js";import"./exec-approvals-allowlist-DBh9Pm77.js";import"./exec-safe-bin-runtime-policy-Ck3GO5AB.js";import"./model-catalog-BLdaFmIo.js";import"./fetch-CY5G3PDq.js";import"./audio-transcription-runner-BUsb6cqv.js";import"./fetch-guard-BaRbr_V6.js";import"./image-D-R3N1it.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-D8WsZ43x.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-CH7YvSi9.js";import"./render-DrrPmnMI.js";import"./target-errors-D55sWZ4E.js";import"./commands-Dy7duWlt.js";import"./commands-registry-Dn2uuNuy.js";import"./session-cost-usage-CHtVgnE8.js";import{c as p,o as m,s as h}from"./session-utils-CrR0wD3W.js";import"./sqlite-CILF3z9U.js";import"./call-BQT0zCgv.js";import"./pi-tools.policy-CeSKHaKa.js";import"./pairing-store-CjTPxq0X.js";import"./fetch-Dh-apy46.js";import"./skill-commands-C59b8Yso.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-CX0SUJsB.js";import"./channel-activity-DYpm-0Cz.js";import"./tables-D1pcaye7.js";import"./kill-tree-DBJW8_Q-.js";import"./runtime-web-tools-BWv0X5qp.js";import"./runtime-BlsMYeaw.js";import"./node-shell-dXp4vk-i.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-Ddyykqxv.js";import"./plugin-auto-enable-DCOxqfDQ.js";import"./send-8rJCpsDu.js";import"./outbound-attachment-DBNxdLYh.js";import"./delivery-queue-nkPJu0fY.js";import"./send-BPfl_1It.js";import"./system-run-command-FCk9hSMO.js";import"./fetch-Ce-scEU-.js";import"./command-secret-targets-KM3OecbM.js";import"./connection-auth-BcPbGyxw.js";import"./onboard-helpers-DbpWQoiB.js";import"./prompt-style-BThRSQJR.js";import"./pairing-labels-BP1h0iHy.js";import"./search-manager-KMRzwyPH.js";import"./manager-C5SBozw4.js";import"./memory-cli-CnruTL1h.js";import"./links-CBnmRP9D.js";import"./cli-utils-BleB1eys.js";import"./help-format-B4aEI7V9.js";import"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import{c as g,l as _,r as v,s as y}from"./push-apns-tM6G9LLm.js";import{randomUUID as b}from"node:crypto";const x=1500,S=new Map;function C(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function w(e){return typeof e==`number`&&Number.isFinite(e)?Math.trunc(e):null}function T(e,t){let n=C(e.eventId)??C(e.providerEventId)??C(e.transcriptId);if(n)return`event:${n}`;let r=C(e.providerCallId)??C(e.callId),i=w(e.sequence)??w(e.seq);if(r&&i!==null)return`call-seq:${r}:${i}`;let a=w(e.timestamp)??w(e.ts)??w(e.eventTimestamp);return r&&a!==null?`call-ts:${r}:${a}`:a===null?`text:${t}`:`timestamp:${a}|text:${t}`}function E(e){let t=S.get(e.sessionKey);if(t&&t.fingerprint===e.fingerprint&&e.now-t.ts<=x)return!0;if(S.set(e.sessionKey,{fingerprint:e.fingerprint,ts:e.now}),S.size>200){let t=e.now-x*2;for(let[e,n]of S)if(n.ts<t&&S.delete(e),S.size<=200)break;for(;S.size>200;){let e=S.keys().next().value;if(e===void 0)break;S.delete(e)}}return!1}function D(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length<=180?t:`${t.slice(0,179)}…`:``}function O(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length<=120?t:`${t.slice(0,119)}…`:``}async function k(e){let{storePath:n}=e;n&&await t(n,t=>{let n=p({cfg:e.cfg,key:e.sessionKey,store:t});h({store:t,canonicalKey:n.canonicalKey,candidates:n.storeKeys}),t[e.canonicalKey]={sessionId:e.sessionId,updatedAt:e.now,thinkingLevel:e.entry?.thinkingLevel,verboseLevel:e.entry?.verboseLevel,reasoningLevel:e.entry?.reasoningLevel,systemSent:e.entry?.systemSent,sendPolicy:e.entry?.sendPolicy,lastChannel:e.entry?.lastChannel,lastTo:e.entry?.lastTo}})}function A(e){k({cfg:e.cfg,sessionKey:e.sessionKey,storePath:e.storePath,canonicalKey:e.canonicalKey,entry:e.entry,sessionId:e.sessionId,now:e.now}).catch(t=>{e.ctx.logGateway.warn(`voice session-store update failed: `+_(t))})}function j(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t,r=typeof n.sessionKey==`string`?n.sessionKey.trim():``;return r.length>0?r:null}function M(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}return typeof t==`object`&&t?t:null}async function N(e){let t=c({channel:e.channel,to:e.to,cfg:e.cfg,mode:`explicit`});if(!t.ok)throw Error(String(t.error));let n=l({cfg:e.cfg,sessionKey:e.sessionKey});await f({cfg:e.cfg,channel:e.channel,to:t.to,payloads:[{text:e.text}],session:n,bestEffort:!0,deps:s(e.deps)})}const P=async(t,s,c)=>{switch(c.event){case`voice.transcript`:{let i=M(c.payloadJSON);if(!i)return;let a=typeof i.text==`string`?i.text.trim():``;if(!a||a.length>2e4)return;let o=typeof i.sessionKey==`string`?i.sessionKey.trim():``,l=n(),u=r(l.session?.mainKey),f=o.length>0?o:u,{storePath:p,entry:h,canonicalKey:g}=m(f),v=Date.now();if(E({sessionKey:g,fingerprint:T(i,a),now:v}))return;let y=h?.sessionId??b();A({ctx:t,cfg:l,sessionKey:f,storePath:p,canonicalKey:g,entry:h,sessionId:y,now:v}),t.addChatRun(y,{sessionKey:g,clientRunId:`voice-${b()}`}),d({message:a,sessionId:y,sessionKey:g,thinking:`low`,deliver:!1,messageChannel:`node`,inputProvenance:{kind:`external_user`,sourceChannel:`voice`,sourceTool:`gateway.voice.transcript`},senderIsOwner:!1},e,t.deps).catch(e=>{t.logGateway.warn(`agent failed node=${s}: ${_(e)}`)});return}case`agent.request`:{if(!c.payloadJSON)return;let r=null;try{r=JSON.parse(c.payloadJSON)}catch{return}let i=(r?.message??``).trim(),o=y(r?.attachments??void 0),l=[];if(o.length>0)try{let e=await g(i,o,{maxBytes:5e6,log:t.logGateway});i=e.message.trim(),l=e.images}catch{return}if(!i||i.length>2e4)return;let u=a(typeof r?.channel==`string`?r.channel.trim():``)??void 0,f=typeof r?.to==`string`&&r.to.trim()?r.to.trim():void 0,p=!!r?.deliver,h=!!r?.receipt,v=(typeof r?.receiptText==`string`?r.receiptText.trim():``)||`Just received your iOS share + request, working on it.`,x=(r?.sessionKey??``).trim(),S=x.length>0?x:`node-${s}`,C=n(),{storePath:w,entry:T,canonicalKey:E}=m(S),D=Date.now(),O=T?.sessionId??b();if(await k({cfg:C,sessionKey:S,storePath:w,canonicalKey:E,entry:T,sessionId:O,now:D}),p&&(!u||!f)){let e=typeof T?.lastChannel==`string`?a(T.lastChannel):void 0,t=typeof T?.lastTo==`string`?T.lastTo.trim():``;!u&&e&&(u=e),!f&&t&&(f=t)}let A=p&&!!(u&&f),j=A?u:void 0,M=A?f:void 0;p&&!A&&t.logGateway.warn(`agent delivery disabled node=${s}: missing session delivery route (channel=${u??`-`} to=${f??`-`})`),h&&j&&M?N({cfg:C,deps:t.deps,sessionKey:E,channel:j,to:M,text:v}).catch(e=>{t.logGateway.warn(`agent receipt failed node=${s}: ${_(e)}`)}):h&&t.logGateway.warn(`agent receipt skipped node=${s}: missing delivery route (channel=${j??`-`} to=${M??`-`})`),d({message:i,images:l,sessionId:O,sessionKey:E,thinking:r?.thinking??void 0,deliver:A,to:M,channel:j,timeout:typeof r?.timeoutSeconds==`number`?r.timeoutSeconds.toString():void 0,messageChannel:`node`,senderIsOwner:!1},e,t.deps).catch(e=>{t.logGateway.warn(`agent failed node=${s}: ${_(e)}`)});return}case`notifications.changed`:{let e=M(c.payloadJSON);if(!e)return;let t=C(e.change)?.toLowerCase();if(t!==`posted`&&t!==`removed`)return;let n=C(e.key);if(!n)return;let{canonicalKey:r}=m(C(e.sessionKey)??`node-${s}`),i=C(e.packageName),a=O(C(e.title)??``),l=O(C(e.text)??``),d=`Notification ${t} (node=${s} key=${n}`;if(i&&(d+=` package=${i}`),d+=`)`,t===`posted`){let e=[a,l].filter(Boolean);e.length>0&&(d+=`: ${e.join(` - `)}`)}o(d,{sessionKey:r,contextKey:`notification:${n}`})&&u({reason:`notifications-event`,sessionKey:r});return}case`chat.subscribe`:{if(!c.payloadJSON)return;let e=j(c.payloadJSON);if(!e)return;t.nodeSubscribe(s,e);return}case`chat.unsubscribe`:{if(!c.payloadJSON)return;let e=j(c.payloadJSON);if(!e)return;t.nodeUnsubscribe(s,e);return}case`exec.started`:case`exec.finished`:case`exec.denied`:{let e=M(c.payloadJSON);if(!e)return;let t=typeof e.sessionKey==`string`?e.sessionKey.trim():`node-${s}`;if(!t||n().tools?.exec?.notifyOnExit===!1||e.suppressNotifyOnExit===!0)return;let r=typeof e.runId==`string`?e.runId.trim():``,a=typeof e.command==`string`?e.command.trim():``,l=typeof e.exitCode==`number`&&Number.isFinite(e.exitCode)?e.exitCode:void 0,d=e.timedOut===!0,f=typeof e.output==`string`?e.output.trim():``,p=typeof e.reason==`string`?e.reason.trim():``,m=``;if(c.event===`exec.started`)m=`Exec started (node=${s}${r?` id=${r}`:``})`,a&&(m+=`: ${a}`);else if(c.event===`exec.finished`){let e=d?`timeout`:`code ${l??`?`}`,t=D(f);if(!(d||l!==0||t.length>0))return;m=`Exec finished (node=${s}${r?` id=${r}`:``}, ${e})`,t&&(m+=`\n${t}`)}else m=`Exec denied (node=${s}${r?` id=${r}`:``}${p?`, ${p}`:``})`,a&&(m+=`: ${a}`);o(m,{sessionKey:t,contextKey:r?`exec:${r}`:`exec`}),u(i(t,{reason:`exec-event`}));return}case`push.apns.register`:{let e=M(c.payloadJSON);if(!e)return;let n=typeof e.token==`string`?e.token:``,r=typeof e.topic==`string`?e.topic:``,i=e.environment;try{await v({nodeId:s,token:n,topic:r,environment:i})}catch(e){t.logGateway.warn(`push apns register failed node=${s}: ${_(e)}`)}return}default:return}};export{P as handleNodeEvent};
1
+ import{p as e}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Lt as t,jo as n}from"./auth-profiles-BhXA8Jy2.js";import"./agent-scope-DAWJwFfl.js";import{l as r,p as i}from"./session-key-C7F_iqYg.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import{r as a}from"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./send-DS5Quwb7.js";import"./send-BeZJ1zbp.js";import{Cn as o,O as s,bt as c,sr as l,st as u,w as d}from"./compact-CuBCVnVS.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./models-config-DN2Q51fC.js";import"./tokens-DRM8vzJx.js";import"./with-timeout-c1CzdShT.js";import{t as f}from"./deliver-COKdxPmA.js";import"./diagnostic-CW_Jv5UM.js";import"./send-DRm6AFp-.js";import"./pi-model-discovery-AiV9h8k6.js";import"./exec-approvals-allowlist-DBh9Pm77.js";import"./exec-safe-bin-runtime-policy-Ck3GO5AB.js";import"./model-catalog-BLdaFmIo.js";import"./fetch-CY5G3PDq.js";import"./audio-transcription-runner-BUsb6cqv.js";import"./fetch-guard-BaRbr_V6.js";import"./image-D-R3N1it.js";import"./tool-display-DJDtttQg.js";import"./api-key-rotation-D8WsZ43x.js";import"./proxy-fetch-gWETR3cl.js";import"./ir-CH7YvSi9.js";import"./render-DrrPmnMI.js";import"./target-errors-D55sWZ4E.js";import"./commands-Dy7duWlt.js";import"./commands-registry-Dn2uuNuy.js";import"./session-cost-usage-CHtVgnE8.js";import{c as p,o as m,s as h}from"./session-utils-CrR0wD3W.js";import"./sqlite-CILF3z9U.js";import"./call-BQT0zCgv.js";import"./pi-tools.policy-CeSKHaKa.js";import"./pairing-store-CjTPxq0X.js";import"./fetch-Dh-apy46.js";import"./skill-commands-C59b8Yso.js";import"./workspace-dirs-A8Vib9_B.js";import"./pairing-token-CX0SUJsB.js";import"./channel-activity-DYpm-0Cz.js";import"./tables-D1pcaye7.js";import"./kill-tree-DBJW8_Q-.js";import"./runtime-web-tools-BWv0X5qp.js";import"./runtime-BlsMYeaw.js";import"./node-shell-dXp4vk-i.js";import"./stagger-DxzgG2jd.js";import"./channel-selection-Ddyykqxv.js";import"./plugin-auto-enable-DCOxqfDQ.js";import"./send-8rJCpsDu.js";import"./outbound-attachment-DBNxdLYh.js";import"./delivery-queue-nkPJu0fY.js";import"./send-BPfl_1It.js";import"./system-run-command-FCk9hSMO.js";import"./fetch-Ce-scEU-.js";import"./command-secret-targets-KM3OecbM.js";import"./connection-auth-BcPbGyxw.js";import"./onboard-helpers-DbpWQoiB.js";import"./prompt-style-BThRSQJR.js";import"./pairing-labels-BP1h0iHy.js";import"./search-manager-KMRzwyPH.js";import"./manager-C5SBozw4.js";import"./memory-cli-CnruTL1h.js";import"./links-CBnmRP9D.js";import"./cli-utils-BleB1eys.js";import"./help-format-B4aEI7V9.js";import"./progress-d1m2sqR1.js";import"./exec-approvals-BXO9Cezj.js";import{c as g,l as _,r as v,s as y}from"./push-apns-tM6G9LLm.js";import{randomUUID as b}from"node:crypto";const x=1500,S=new Map;function C(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}function w(e){return typeof e==`number`&&Number.isFinite(e)?Math.trunc(e):null}function T(e,t){let n=C(e.eventId)??C(e.providerEventId)??C(e.transcriptId);if(n)return`event:${n}`;let r=C(e.providerCallId)??C(e.callId),i=w(e.sequence)??w(e.seq);if(r&&i!==null)return`call-seq:${r}:${i}`;let a=w(e.timestamp)??w(e.ts)??w(e.eventTimestamp);return r&&a!==null?`call-ts:${r}:${a}`:a===null?`text:${t}`:`timestamp:${a}|text:${t}`}function E(e){let t=S.get(e.sessionKey);if(t&&t.fingerprint===e.fingerprint&&e.now-t.ts<=x)return!0;if(S.set(e.sessionKey,{fingerprint:e.fingerprint,ts:e.now}),S.size>200){let t=e.now-x*2;for(let[e,n]of S)if(n.ts<t&&S.delete(e),S.size<=200)break;for(;S.size>200;){let e=S.keys().next().value;if(e===void 0)break;S.delete(e)}}return!1}function D(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length<=180?t:`${t.slice(0,179)}…`:``}function O(e){let t=e.replace(/\s+/g,` `).trim();return t?t.length<=120?t:`${t.slice(0,119)}…`:``}async function k(e){let{storePath:n}=e;n&&await t(n,t=>{let n=p({cfg:e.cfg,key:e.sessionKey,store:t});h({store:t,canonicalKey:n.canonicalKey,candidates:n.storeKeys}),t[e.canonicalKey]={sessionId:e.sessionId,updatedAt:e.now,thinkingLevel:e.entry?.thinkingLevel,verboseLevel:e.entry?.verboseLevel,reasoningLevel:e.entry?.reasoningLevel,systemSent:e.entry?.systemSent,sendPolicy:e.entry?.sendPolicy,lastChannel:e.entry?.lastChannel,lastTo:e.entry?.lastTo}})}function A(e){k({cfg:e.cfg,sessionKey:e.sessionKey,storePath:e.storePath,canonicalKey:e.canonicalKey,entry:e.entry,sessionId:e.sessionId,now:e.now}).catch(t=>{e.ctx.logGateway.warn(`voice session-store update failed: `+_(t))})}function j(e){let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t,r=typeof n.sessionKey==`string`?n.sessionKey.trim():``;return r.length>0?r:null}function M(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}return typeof t==`object`&&t?t:null}async function N(e){let t=c({channel:e.channel,to:e.to,cfg:e.cfg,mode:`explicit`});if(!t.ok)throw Error(String(t.error));let n=l({cfg:e.cfg,sessionKey:e.sessionKey});await f({cfg:e.cfg,channel:e.channel,to:t.to,payloads:[{text:e.text}],session:n,bestEffort:!0,deps:s(e.deps)})}const P=async(t,s,c)=>{switch(c.event){case`voice.transcript`:{let i=M(c.payloadJSON);if(!i)return;let a=typeof i.text==`string`?i.text.trim():``;if(!a||a.length>2e4)return;let o=typeof i.sessionKey==`string`?i.sessionKey.trim():``,l=n(),u=r(l.session?.mainKey),f=o.length>0?o:u,{storePath:p,entry:h,canonicalKey:g}=m(f),v=Date.now();if(E({sessionKey:g,fingerprint:T(i,a),now:v}))return;let y=h?.sessionId??b();A({ctx:t,cfg:l,sessionKey:f,storePath:p,canonicalKey:g,entry:h,sessionId:y,now:v}),t.addChatRun(y,{sessionKey:g,clientRunId:`voice-${b()}`}),d({message:a,sessionId:y,sessionKey:g,thinking:`low`,deliver:!1,messageChannel:`node`,inputProvenance:{kind:`external_user`,sourceChannel:`voice`,sourceTool:`gateway.voice.transcript`},senderIsOwner:!1},e,t.deps).catch(e=>{t.logGateway.warn(`agent failed node=${s}: ${_(e)}`)});return}case`agent.request`:{if(!c.payloadJSON)return;let r=null;try{r=JSON.parse(c.payloadJSON)}catch{return}let i=(r?.message??``).trim(),o=y(r?.attachments??void 0),l=[];if(o.length>0)try{let e=await g(i,o,{maxBytes:5e6,log:t.logGateway});i=e.message.trim(),l=e.images}catch{return}if(!i||i.length>2e4)return;let u=a(typeof r?.channel==`string`?r.channel.trim():``)??void 0,f=typeof r?.to==`string`&&r.to.trim()?r.to.trim():void 0,p=!!r?.deliver,h=!!r?.receipt,v=(typeof r?.receiptText==`string`?r.receiptText.trim():``)||`Just received your iOS share + request, working on it.`,x=(r?.sessionKey??``).trim(),S=x.length>0?x:`node-${s}`,C=n(),{storePath:w,entry:T,canonicalKey:E}=m(S),D=Date.now(),O=T?.sessionId??b();if(await k({cfg:C,sessionKey:S,storePath:w,canonicalKey:E,entry:T,sessionId:O,now:D}),p&&(!u||!f)){let e=typeof T?.lastChannel==`string`?a(T.lastChannel):void 0,t=typeof T?.lastTo==`string`?T.lastTo.trim():``;!u&&e&&(u=e),!f&&t&&(f=t)}let A=p&&!!(u&&f),j=A?u:void 0,M=A?f:void 0;p&&!A&&t.logGateway.warn(`agent delivery disabled node=${s}: missing session delivery route (channel=${u??`-`} to=${f??`-`})`),h&&j&&M?N({cfg:C,deps:t.deps,sessionKey:E,channel:j,to:M,text:v}).catch(e=>{t.logGateway.warn(`agent receipt failed node=${s}: ${_(e)}`)}):h&&t.logGateway.warn(`agent receipt skipped node=${s}: missing delivery route (channel=${j??`-`} to=${M??`-`})`),d({message:i,images:l,sessionId:O,sessionKey:E,thinking:r?.thinking??void 0,deliver:A,to:M,channel:j,timeout:typeof r?.timeoutSeconds==`number`?r.timeoutSeconds.toString():void 0,messageChannel:`node`,senderIsOwner:!1},e,t.deps).catch(e=>{t.logGateway.warn(`agent failed node=${s}: ${_(e)}`)});return}case`notifications.changed`:{let e=M(c.payloadJSON);if(!e)return;let t=C(e.change)?.toLowerCase();if(t!==`posted`&&t!==`removed`)return;let n=C(e.key);if(!n)return;let{canonicalKey:r}=m(C(e.sessionKey)??`node-${s}`),i=C(e.packageName),a=O(C(e.title)??``),l=O(C(e.text)??``),d=`Notification ${t} (node=${s} key=${n}`;if(i&&(d+=` package=${i}`),d+=`)`,t===`posted`){let e=[a,l].filter(Boolean);e.length>0&&(d+=`: ${e.join(` - `)}`)}o(d,{sessionKey:r,contextKey:`notification:${n}`})&&u({reason:`notifications-event`,sessionKey:r});return}case`chat.subscribe`:{if(!c.payloadJSON)return;let e=j(c.payloadJSON);if(!e)return;t.nodeSubscribe(s,e);return}case`chat.unsubscribe`:{if(!c.payloadJSON)return;let e=j(c.payloadJSON);if(!e)return;t.nodeUnsubscribe(s,e);return}case`exec.started`:case`exec.finished`:case`exec.denied`:{let e=M(c.payloadJSON);if(!e)return;let t=typeof e.sessionKey==`string`?e.sessionKey.trim():`node-${s}`;if(!t||n().tools?.exec?.notifyOnExit===!1||e.suppressNotifyOnExit===!0)return;let r=typeof e.runId==`string`?e.runId.trim():``,a=typeof e.command==`string`?e.command.trim():``,l=typeof e.exitCode==`number`&&Number.isFinite(e.exitCode)?e.exitCode:void 0,d=e.timedOut===!0,f=typeof e.output==`string`?e.output.trim():``,p=typeof e.reason==`string`?e.reason.trim():``,m=``;if(c.event===`exec.started`)m=`Exec started (node=${s}${r?` id=${r}`:``})`,a&&(m+=`: ${a}`);else if(c.event===`exec.finished`){let e=d?`timeout`:`code ${l??`?`}`,t=D(f);if(!(d||l!==0||t.length>0))return;m=`Exec finished (node=${s}${r?` id=${r}`:``}, ${e})`,t&&(m+=`\n${t}`)}else m=`Exec denied (node=${s}${r?` id=${r}`:``}${p?`, ${p}`:``})`,a&&(m+=`: ${a}`);o(m,{sessionKey:t,contextKey:r?`exec:${r}`:`exec`}),u(i(t,{reason:`exec-event`}));return}case`push.apns.register`:{let e=M(c.payloadJSON);if(!e)return;let n=typeof e.token==`string`?e.token:``,r=typeof e.topic==`string`?e.topic:``,i=e.environment;try{await v({nodeId:s,token:n,topic:r,environment:i})}catch(e){t.logGateway.warn(`push apns register failed node=${s}: ${_(e)}`)}return}default:return}};export{P as handleNodeEvent};
@@ -1 +1 @@
1
- import"./paths-B4IRk3wi.js";import{t as e}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{$i as t,Ba as n,Fi as r,Ni as i,Pi as a,Qi as o,ea as s,pa as c,qs as l,za as u}from"./model-selection-I1ctjFOB.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import d from"express";let f=null;const p=e(`browser`).child(`server`);async function m(){if(f)return f;let e=l(),t=c(e.browser,e);if(!t.enabled)return null;let m=n(e),h=!1;try{let t=await u({cfg:e});m=t.auth,t.generatedToken&&p.info(`No browser auth configured; generated gateway.auth.token automatically.`)}catch(e){p.warn(`failed to auto-configure browser auth: ${String(e)}`),h=!0}if(h&&!m.token&&!m.password)return p.error(`browser control startup aborted: authentication bootstrap failed and no fallback auth is configured.`),null;let g=d();a(g),i(g,m),r(g,s({getState:()=>f,refreshConfigFromDisk:!0}));let _=t.controlPort,v=await new Promise((e,t)=>{let n=g.listen(_,`127.0.0.1`,()=>e(n));n.once(`error`,t)}).catch(e=>(p.error(`openclaw browser server failed to bind 127.0.0.1:${_}: ${String(e)}`),null));if(!v)return null;f=await o({server:v,port:_,resolved:t,onWarn:e=>p.warn(e)});let y=m.token?`token`:m.password?`password`:`off`;return p.info(`Browser control listening on http://127.0.0.1:${_}/ (auth=${y})`),f}async function h(){await t({current:f,getState:()=>f,clearState:()=>{f=null},closeServer:!0,onWarn:e=>p.warn(e)})}export{m as startBrowserControlServerFromConfig,h as stopBrowserControlServer};
1
+ import"./paths-B4IRk3wi.js";import{t as e}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{$i as t,Ba as n,Fi as r,Ni as i,Pi as a,Qi as o,ea as s,pa as c,qs as l,za as u}from"./model-selection-I1ctjFOB.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import d from"express";let f=null;const p=e(`browser`).child(`server`);async function m(){if(f)return f;let e=l(),t=c(e.browser,e);if(!t.enabled)return null;let m=n(e),h=!1;try{let t=await u({cfg:e});m=t.auth,t.generatedToken&&p.info(`No browser auth configured; generated gateway.auth.token automatically.`)}catch(e){p.warn(`failed to auto-configure browser auth: ${String(e)}`),h=!0}if(h&&!m.token&&!m.password)return p.error(`browser control startup aborted: authentication bootstrap failed and no fallback auth is configured.`),null;let g=d();a(g),i(g,m),r(g,s({getState:()=>f,refreshConfigFromDisk:!0}));let _=t.controlPort,v=await new Promise((e,t)=>{let n=g.listen(_,`127.0.0.1`,()=>e(n));n.once(`error`,t)}).catch(e=>(p.error(`openclaw browser server failed to bind 127.0.0.1:${_}: ${String(e)}`),null));if(!v)return null;f=await o({server:v,port:_,resolved:t,onWarn:e=>p.warn(e)});let y=m.token?`token`:m.password?`password`:`off`;return p.info(`Browser control listening on http://127.0.0.1:${_}/ (auth=${y})`),f}async function h(){await t({current:f,getState:()=>f,clearState:()=>{f=null},closeServer:!0,onWarn:e=>p.warn(e)})}export{m as startBrowserControlServerFromConfig,h as stopBrowserControlServer};
@@ -29,4 +29,4 @@ fi
29
29
  `}function j(e){let t=se(e.env),n=typeof e.waitForPid==`number`&&Number.isFinite(e.waitForPid)?Math.floor(e.waitForPid):0;try{let r=ne(`/bin/sh`,[`-c`,A(e.mode),`openclaw-launchd-restart-handoff`,t.serviceTarget,t.domain,t.plistPath,String(n)],{detached:!0,stdio:`ignore`,env:{...process.env,...e.env}});return r.unref(),{ok:!0,pid:r.pid??void 0}}catch(e){return{ok:!1,detail:e instanceof Error?e.message:String(e)}}}function M(e){return e?.env?.OPENCLAW_LAUNCHD_LABEL?.trim()||o(e?.env?.OPENCLAW_PROFILE)}function N(e,t){let n=S(_(e));return T.posix.join(n,`Library`,`LaunchAgents`,`${t}.plist`)}function P(e){return N(e,M({env:e}))}function F(e){let t=v(e),n=T.join(t,`logs`),r=e.OPENCLAW_LOG_PREFIX?.trim()||`gateway`;return{logDir:n,stdoutPath:T.join(n,`${r}.log`),stderrPath:T.join(n,`${r}.err.log`)}}async function le(e){return ie(P(e))}function I({label:e=a,comment:t,programArguments:n,workingDirectory:r,stdoutPath:i,stderrPath:o,environment:s}){return ae({label:e,comment:t,programArguments:n,workingDirectory:r,stdoutPath:i,stderrPath:o,environment:s})}async function L(e){let t=process.platform===`win32`;return await m(t?process.env.ComSpec??`cmd.exe`:`launchctl`,t?[`/d`,`/s`,`/c`,`launchctl`,...e]:e,t?{windowsHide:!0}:{})}function R(){return typeof process.getuid==`function`?`gui/${process.getuid()}`:`gui/501`}async function z(e){await E.mkdir(e,{recursive:!0,mode:493});try{let t=(await E.stat(e)).mode&511,n=t&-19;n!==t&&await E.chmod(e,n)}catch{}}function B(n){let r=b(n,`=`),i={},a=r.state;a&&(i.state=a);let o=r.pid;if(o){let t=e(o);t!==void 0&&(i.pid=t)}let s=r[`last exit status`];if(s){let e=t(s);e!==void 0&&(i.lastExitStatus=e)}let c=r[`last exit reason`];return c&&(i.lastExitReason=c),i}async function V(e){return(await L([`print`,`${R()}/${M({env:e.env})}`])).code===0}async function H(e){let t=M({env:e.env}),n=await L([`list`]);return n.code===0?n.stdout.split(/\r?\n/).some(e=>e.trim().split(/\s+/).at(-1)===t):!1}async function U(e){try{let t=P(e);return await E.access(t),!0}catch{return!1}}async function W(e){let t=await L([`print`,`${R()}/${M({env:e})}`]);if(t.code!==0)return{status:`unknown`,detail:(t.stderr||t.stdout).trim()||void 0,missingUnit:!0};let n=B(t.stdout||t.stderr||``),r=await U(e),i=n.state?.toLowerCase();return{status:i===`running`||n.pid?`running`:i?`stopped`:`unknown`,state:n.state,pid:n.pid,lastExitStatus:n.lastExitStatus,lastExitReason:n.lastExitReason,cachedLabel:!r}}async function ue(e){let t=e.env??process.env,n=R(),r=M({env:t}),i=P(t);await L([`enable`,`${n}/${r}`]);let a=await L([`bootstrap`,n,i]);if(a.code!==0)return{ok:!1,detail:(a.stderr||a.stdout).trim()||void 0};let o=await L([`kickstart`,`-k`,`${n}/${r}`]);return o.code===0?{ok:!0}:{ok:!1,detail:(o.stderr||o.stdout).trim()||void 0}}async function de({env:e,stdout:t}){let n=R(),r=M({env:e}),i=P(e);await L([`bootout`,n,i]),await L([`unload`,i]);try{await E.access(i)}catch{t.write(`LaunchAgent not found at ${i}\n`);return}let a=S(_(e)),o=T.posix.join(a,`.Trash`),s=T.join(o,`${r}.plist`);try{await E.mkdir(o,{recursive:!0}),await E.rename(i,s),t.write(`${f(`Moved LaunchAgent to Trash`,s)}\n`)}catch{t.write(`LaunchAgent remains at ${i} (could not move)\n`)}}function G(e){let t=(e.stderr||e.stdout).toLowerCase();return t.includes(`no such process`)||t.includes(`could not find service`)||t.includes(`not found`)}function K(e){let t=e.toLowerCase();return t.includes(`domain does not support specified action`)||t.includes(`bootstrap failed: 125`)}async function fe({stdout:e,env:t}){let n=R(),r=M({env:t}),i=await L([`bootout`,`${n}/${r}`]);if(i.code!==0&&!G(i))throw Error(`launchctl bootout failed: ${i.stderr||i.stdout}`.trim());e.write(`${f(`Stopped LaunchAgent`,`${n}/${r}`)}\n`)}async function pe({env:e,stdout:t,programArguments:i,workingDirectory:a,environment:o,description:s}){let{logDir:c,stdoutPath:l,stderrPath:u}=F(e);await z(c);let d=R(),f=M({env:e});for(let t of r(e.OPENCLAW_PROFILE)){let n=N(e,t);await L([`bootout`,d,n]),await L([`unload`,n]);try{await E.unlink(n)}catch{}}let p=N(e,f),m=S(_(e)),h=T.posix.join(m,`Library`);await z(m),await z(h),await z(T.dirname(p));let g=I({label:f,comment:n({env:e,environment:o,description:s}),programArguments:i,workingDirectory:a,stdoutPath:l,stderrPath:u,environment:o});await E.writeFile(p,g,{encoding:`utf8`,mode:420}),await E.chmod(p,420).catch(()=>void 0),await L([`bootout`,d,p]),await L([`unload`,p]),await L([`enable`,`${d}/${f}`]);let v=await L([`bootstrap`,d,p]);if(v.code!==0){let e=(v.stderr||v.stdout).trim();throw K(e)?Error([`launchctl bootstrap failed: ${e}`,`LaunchAgent install requires a logged-in macOS GUI session for this user (${d}).`,`This usually means you are running from SSH/headless context or as the wrong user (including sudo).`,"Fix: sign in to the macOS desktop as the target user and rerun `openclaw gateway install --force`.",`Headless deployments should use a dedicated logged-in user session or a custom LaunchDaemon (not shipped): https://docs.openclaw.ai/gateway`].join(`
30
30
  `)):Error(`launchctl bootstrap failed: ${e}`)}return await L([`kickstart`,`-k`,`${d}/${f}`]),C(t,[{label:`Installed LaunchAgent`,value:p},{label:`Logs`,value:l}],{leadingBlankLine:!0}),{plistPath:p}}async function me({stdout:e,env:t}){let n=t??process.env,r=R(),i=M({env:n}),a=P(n),o=`${r}/${i}`;if(ce(i)){let t=j({env:n,mode:`kickstart`,waitForPid:process.pid});if(!t.ok)throw Error(`launchd restart handoff failed: ${t.detail??`unknown error`}`);try{e.write(`${f(`Scheduled LaunchAgent restart`,o)}\n`)}catch(e){if(e?.code!==`EPIPE`)throw e}return{outcome:`scheduled`}}let s=await L([`kickstart`,`-k`,o]);if(s.code===0){try{e.write(`${f(`Restarted LaunchAgent`,o)}\n`)}catch(e){if(e?.code!==`EPIPE`)throw e}return{outcome:`completed`}}if(!G(s))throw Error(`launchctl kickstart failed: ${s.stderr||s.stdout}`.trim());await L([`enable`,o]);let c=await L([`bootstrap`,r,a]);if(c.code!==0){let e=(c.stderr||c.stdout).trim();throw K(e)?Error([`launchctl bootstrap failed: ${e}`,`LaunchAgent restart requires a logged-in macOS GUI session for this user (${r}).`,`This usually means you are running from SSH/headless context or as the wrong user (including sudo).`,"Fix: sign in to the macOS desktop as the target user and rerun `openclaw gateway restart`.",`Headless deployments should use a dedicated logged-in user session or a custom LaunchDaemon (not shipped): https://docs.openclaw.ai/gateway`].join(`
31
31
  `)):Error(`launchctl bootstrap failed: ${e}`)}let l=await L([`kickstart`,`-k`,o]);if(l.code!==0)throw Error(`launchctl kickstart failed: ${l.stderr||l.stdout}`.trim());try{e.write(`${f(`Restarted LaunchAgent`,o)}\n`)}catch(e){if(e?.code!==`EPIPE`)throw e}return{outcome:`completed`}}async function q(e){return await m(`schtasks`,e,{windowsHide:!0})}function J(e){return e.OPENCLAW_WINDOWS_TASK_NAME?.trim()||i(e.OPENCLAW_PROFILE)}function Y(e){let t=e.OPENCLAW_TASK_SCRIPT?.trim();if(t)return t;let n=e.OPENCLAW_TASK_SCRIPT_NAME?.trim()||`gateway.cmd`,r=v(e);return T.join(r,n)}function he(e){return/[ \t"]/g.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function ge(e){let t=e.USERNAME||e.USER||e.LOGNAME;if(!t)return null;if(t.includes(`\\`))return t;let n=e.USERDOMAIN;return n?`${n}\\${t}`:t}async function _e(e){let t=Y(e);try{let e=await E.readFile(t,`utf8`),n=``,r=``,i={};for(let t of e.split(/\r?\n/)){let e=t.trim();if(!e)continue;let a=e.toLowerCase();if(!e.startsWith(`@echo`)&&!a.startsWith(`rem `)){if(a.startsWith(`set `)){let t=c(e.slice(4));t&&(i[t.key]=t.value);continue}if(a.startsWith(`cd /d `)){n=e.slice(6).trim().replace(/^"|"$/g,``);continue}r=e;break}}return r?{programArguments:d(r),...n?{workingDirectory:n}:{},...Object.keys(i).length>0?{environment:i}:{}}:null}catch{return null}}function ve(e){let t=b(e,`:`),n={},r=t.status;r&&(n.status=r);let i=t[`last run time`];i&&(n.lastRunTime=i);let a=t[`last run result`];return a&&(n.lastRunResult=a),n}function ye(e){if(!e)return null;let t=e.trim().toLowerCase();if(!t)return null;if(/^0x[0-9a-f]+$/.test(t))return`0x${t.slice(2).replace(/^0+/,``)||`0`}`;if(/^\d+$/.test(t)){let e=Number.parseInt(t,10);if(Number.isFinite(e))return`0x${e.toString(16)}`}return null}const be=new Set([`0x41301`]);function xe(e){let t=ye(e.lastRunResult);return t==null?e.status?.trim()?{status:`unknown`,detail:`Task status is locale-dependent and no numeric Last Run Result was available.`}:{status:`unknown`}:be.has(t)?{status:`running`}:{status:`stopped`,detail:`Task Last Run Result=${e.lastRunResult}; treating as not running.`}}function Se({description:e,programArguments:t,workingDirectory:n,environment:r}){let i=[`@echo off`],a=e?.trim();if(a&&(u(a,`Task description`),i.push(`rem ${a}`)),n&&i.push(`cd /d ${l(n)}`),r)for(let[e,t]of Object.entries(r))t&&e.toUpperCase()!==`PATH`&&i.push(s(e,t));let o=t.map(l).join(` `);return i.push(o),`${i.join(`\r
32
- `)}\r\n`}async function X(){let e=await q([`/Query`]);if(e.code===0)return;let t=e.stderr||e.stdout;throw Error(`schtasks unavailable: ${t||`unknown error`}`.trim())}async function Ce({env:e,stdout:t,programArguments:r,workingDirectory:i,environment:a,description:o}){await X();let s=Y(e);await E.mkdir(T.dirname(s),{recursive:!0});let c=Se({description:n({env:e,environment:a,description:o}),programArguments:r,workingDirectory:i,environment:a});await E.writeFile(s,c,`utf8`);let l=J(e),u=[`/Create`,`/F`,`/SC`,`ONLOGON`,`/RL`,`LIMITED`,`/TN`,l,`/TR`,he(s)],d=ge(e),f=await q(d?[...u,`/RU`,d,`/NP`,`/IT`]:u);if(f.code!==0&&d&&(f=await q(u)),f.code!==0){let e=f.stderr||f.stdout,t=/access is denied/i.test(e)?` Run PowerShell as Administrator or rerun without installing the daemon.`:``;throw Error(`schtasks create failed: ${e}${t}`.trim())}return await q([`/Run`,`/TN`,l]),C(t,[{label:`Installed Scheduled Task`,value:l},{label:`Task script`,value:s}],{leadingBlankLine:!0}),{scriptPath:s}}async function we({env:e,stdout:t}){await X(),await q([`/Delete`,`/F`,`/TN`,J(e)]);let n=Y(e);try{await E.unlink(n),t.write(`${f(`Removed task script`,n)}\n`)}catch{t.write(`Task script not found at ${n}\n`)}}function Z(e){return(e.stderr||e.stdout).toLowerCase().includes(`not running`)}async function Te({stdout:e,env:t}){await X();let n=J(t??process.env),r=await q([`/End`,`/TN`,n]);if(r.code!==0&&!Z(r))throw Error(`schtasks end failed: ${r.stderr||r.stdout}`.trim());e.write(`${f(`Stopped Scheduled Task`,n)}\n`)}async function Ee({stdout:e,env:t}){await X();let n=J(t??process.env);await q([`/End`,`/TN`,n]);let r=await q([`/Run`,`/TN`,n]);if(r.code!==0)throw Error(`schtasks run failed: ${r.stderr||r.stdout}`.trim());return e.write(`${f(`Restarted Scheduled Task`,n)}\n`),{outcome:`completed`}}async function De(e){return await X(),(await q([`/Query`,`/TN`,J(e.env??process.env)])).code===0}async function Oe(e=process.env){try{await X()}catch(e){return{status:`unknown`,detail:String(e)}}let t=await q([`/Query`,`/TN`,J(e),`/V`,`/FO`,`LIST`]);if(t.code!==0){let e=(t.stderr||t.stdout).trim(),n=e.toLowerCase().includes(`cannot find the file`);return{status:n?`stopped`:`unknown`,detail:e||void 0,missingUnit:n}}let n=ve(t.stdout||``),r=xe(n);return{status:r.status,state:n.status,lastRunTime:n.lastRunTime,lastRunResult:n.lastRunResult,...r.detail?{detail:r.detail}:{}}}function Q(e){return async t=>{await e(t)}}function ke(e,t){return t.outcome===`scheduled`?{scheduled:!0,daemonActionResult:`scheduled`,message:`restart scheduled, ${e.toLowerCase()} will restart momentarily`,progressMessage:`${e} service restart scheduled.`}:{scheduled:!1,daemonActionResult:`restarted`,message:`${e} service restarted.`,progressMessage:`${e} service restarted.`}}const $={darwin:{label:`LaunchAgent`,loadedText:`loaded`,notLoadedText:`not loaded`,install:Q(pe),uninstall:de,stop:fe,restart:me,isLoaded:V,readCommand:le,readRuntime:W},linux:{label:`systemd`,loadedText:`enabled`,notLoadedText:`disabled`,install:Q(te),uninstall:g,stop:y,restart:h,isLoaded:x,readCommand:p,readRuntime:ee},win32:{label:`Scheduled Task`,loadedText:`registered`,notLoadedText:`missing`,install:Q(Ce),uninstall:we,stop:Te,restart:Ee,isLoaded:De,readCommand:_e,readRuntime:Oe}};function Ae(e){return Object.hasOwn($,e)}function je(){if(Ae(process.platform))return $[process.platform];throw Error(`Gateway service install not supported on ${process.platform}`)}export{V as a,F as c,H as i,P as l,je as n,U as o,q as r,ue as s,ke as t,j as u};
32
+ `)}\r\n`}async function X(){let e=await q([`/Query`]);if(e.code===0)return;let t=e.stderr||e.stdout;throw Error(`schtasks unavailable: ${t||`unknown error`}`.trim())}async function Ce({env:e,stdout:t,programArguments:r,workingDirectory:i,environment:a,description:o}){await X();let s=Y(e);await E.mkdir(T.dirname(s),{recursive:!0});let c=Se({description:n({env:e,environment:a,description:o}),programArguments:r,workingDirectory:i,environment:a});await E.writeFile(s,c,`utf8`);let l=J(e),u=[`/Create`,`/F`,`/SC`,`ONLOGON`,`/RL`,`LIMITED`,`/TN`,l,`/TR`,he(s)],d=ge(e),f=await q(d?[...u,`/RU`,d,`/NP`,`/IT`]:u);if(f.code!==0&&d&&(f=await q(u)),f.code!==0){let e=f.stderr||f.stdout,t=/access is denied/i.test(e)?` Run PowerShell as Administrator or rerun without installing the daemon.`:``;throw Error(`schtasks create failed: ${e}${t}`.trim())}return await q([`/Run`,`/TN`,l]),C(t,[{label:`Installed Scheduled Task`,value:l},{label:`Task script`,value:s}],{leadingBlankLine:!0}),{scriptPath:s}}async function we({env:e,stdout:t}){await X(),await q([`/Delete`,`/F`,`/TN`,J(e)]);let n=Y(e);try{await E.unlink(n),t.write(`${f(`Removed task script`,n)}\n`)}catch{t.write(`Task script not found at ${n}\n`)}}function Z(e){return(e.stderr||e.stdout).toLowerCase().includes(`not running`)}async function Te({stdout:e,env:t}){await X();let n=J(t??process.env),r=await q([`/End`,`/TN`,n]);if(r.code!==0&&!Z(r))throw Error(`schtasks end failed: ${r.stderr||r.stdout}`.trim());e.write(`${f(`Stopped Scheduled Task`,n)}\n`)}async function Ee({stdout:e,env:t}){await X();let n=J(t??process.env);await q([`/End`,`/TN`,n]);let r=await q([`/Run`,`/TN`,n]);if(r.code!==0)throw Error(`schtasks run failed: ${r.stderr||r.stdout}`.trim());return e.write(`${f(`Restarted Scheduled Task`,n)}\n`),{outcome:`completed`}}async function De(e){return await X(),(await q([`/Query`,`/TN`,J(e.env??process.env)])).code===0}async function Oe(e=process.env){try{await X()}catch(e){return{status:`unknown`,detail:String(e)}}let t=await q([`/Query`,`/TN`,J(e),`/V`,`/FO`,`LIST`]);if(t.code!==0){let e=(t.stderr||t.stdout).trim(),n=e.toLowerCase().includes(`cannot find the file`);return{status:n?`stopped`:`unknown`,detail:e||void 0,missingUnit:n}}let n=ve(t.stdout||``),r=xe(n);return{status:r.status,state:n.status,lastRunTime:n.lastRunTime,lastRunResult:n.lastRunResult,...r.detail?{detail:r.detail}:{}}}function Q(e){return async t=>{await e(t)}}function ke(e,t){return t.outcome===`scheduled`?{scheduled:!0,daemonActionResult:`scheduled`,message:`restart scheduled, ${e.toLowerCase()} will restart momentarily`,progressMessage:`${e} service restart scheduled.`}:{scheduled:!1,daemonActionResult:`restarted`,message:`${e} service restarted.`,progressMessage:`${e} service restarted.`}}const $={darwin:{label:`LaunchAgent`,loadedText:`loaded`,notLoadedText:`not loaded`,install:Q(pe),uninstall:de,stop:fe,restart:me,isLoaded:V,readCommand:le,readRuntime:W},linux:{label:`systemd`,loadedText:`enabled`,notLoadedText:`disabled`,install:Q(te),uninstall:g,stop:y,restart:h,isLoaded:x,readCommand:p,readRuntime:ee},win32:{label:`Scheduled Task`,loadedText:`registered`,notLoadedText:`missing`,install:Q(Ce),uninstall:we,stop:Te,restart:Ee,isLoaded:De,readCommand:_e,readRuntime:Oe}};function Ae(e){return Object.hasOwn($,e)}function je(){if(Ae(process.platform))return $[process.platform];throw Error(`Gateway service install not supported on ${process.platform}`)}export{V as a,F as c,H as i,P as l,je as n,U as o,q as r,ue as s,ke as t,j as u};
@@ -29,4 +29,4 @@ fi
29
29
  `}function j(e){let t=se(e.env),n=typeof e.waitForPid==`number`&&Number.isFinite(e.waitForPid)?Math.floor(e.waitForPid):0;try{let r=C(`/bin/sh`,[`-c`,A(e.mode),`openclaw-launchd-restart-handoff`,t.serviceTarget,t.domain,t.plistPath,String(n)],{detached:!0,stdio:`ignore`,env:{...process.env,...e.env}});return r.unref(),{ok:!0,pid:r.pid??void 0}}catch(e){return{ok:!1,detail:e instanceof Error?e.message:String(e)}}}function M(e){return e?.env?.OPENCLAW_LAUNCHD_LABEL?.trim()||o(e?.env?.OPENCLAW_PROFILE)}function N(e,t){let n=x(_(e));return T.posix.join(n,`Library`,`LaunchAgents`,`${t}.plist`)}function P(e){return N(e,M({env:e}))}function F(e){let t=v(e),n=T.join(t,`logs`),r=e.OPENCLAW_LOG_PREFIX?.trim()||`gateway`;return{logDir:n,stdoutPath:T.join(n,`${r}.log`),stderrPath:T.join(n,`${r}.err.log`)}}async function le(e){return ie(P(e))}function I({label:e=a,comment:t,programArguments:n,workingDirectory:r,stdoutPath:i,stderrPath:o,environment:s}){return ae({label:e,comment:t,programArguments:n,workingDirectory:r,stdoutPath:i,stderrPath:o,environment:s})}async function L(e){let t=process.platform===`win32`;return await m(t?process.env.ComSpec??`cmd.exe`:`launchctl`,t?[`/d`,`/s`,`/c`,`launchctl`,...e]:e,t?{windowsHide:!0}:{})}function R(){return typeof process.getuid==`function`?`gui/${process.getuid()}`:`gui/501`}async function z(e){await E.mkdir(e,{recursive:!0,mode:493});try{let t=(await E.stat(e)).mode&511,n=t&-19;n!==t&&await E.chmod(e,n)}catch{}}function B(n){let r=y(n,`=`),i={},a=r.state;a&&(i.state=a);let o=r.pid;if(o){let t=e(o);t!==void 0&&(i.pid=t)}let s=r[`last exit status`];if(s){let e=t(s);e!==void 0&&(i.lastExitStatus=e)}let c=r[`last exit reason`];return c&&(i.lastExitReason=c),i}async function V(e){return(await L([`print`,`${R()}/${M({env:e.env})}`])).code===0}async function H(e){let t=M({env:e.env}),n=await L([`list`]);return n.code===0?n.stdout.split(/\r?\n/).some(e=>e.trim().split(/\s+/).at(-1)===t):!1}async function U(e){try{let t=P(e);return await E.access(t),!0}catch{return!1}}async function W(e){let t=await L([`print`,`${R()}/${M({env:e})}`]);if(t.code!==0)return{status:`unknown`,detail:(t.stderr||t.stdout).trim()||void 0,missingUnit:!0};let n=B(t.stdout||t.stderr||``),r=await U(e),i=n.state?.toLowerCase();return{status:i===`running`||n.pid?`running`:i?`stopped`:`unknown`,state:n.state,pid:n.pid,lastExitStatus:n.lastExitStatus,lastExitReason:n.lastExitReason,cachedLabel:!r}}async function ue(e){let t=e.env??process.env,n=R(),r=M({env:t}),i=P(t);await L([`enable`,`${n}/${r}`]);let a=await L([`bootstrap`,n,i]);if(a.code!==0)return{ok:!1,detail:(a.stderr||a.stdout).trim()||void 0};let o=await L([`kickstart`,`-k`,`${n}/${r}`]);return o.code===0?{ok:!0}:{ok:!1,detail:(o.stderr||o.stdout).trim()||void 0}}async function de({env:e,stdout:t}){let n=R(),r=M({env:e}),i=P(e);await L([`bootout`,n,i]),await L([`unload`,i]);try{await E.access(i)}catch{t.write(`LaunchAgent not found at ${i}\n`);return}let a=x(_(e)),o=T.posix.join(a,`.Trash`),s=T.join(o,`${r}.plist`);try{await E.mkdir(o,{recursive:!0}),await E.rename(i,s),t.write(`${f(`Moved LaunchAgent to Trash`,s)}\n`)}catch{t.write(`LaunchAgent remains at ${i} (could not move)\n`)}}function G(e){let t=(e.stderr||e.stdout).toLowerCase();return t.includes(`no such process`)||t.includes(`could not find service`)||t.includes(`not found`)}function K(e){let t=e.toLowerCase();return t.includes(`domain does not support specified action`)||t.includes(`bootstrap failed: 125`)}async function fe({stdout:e,env:t}){let n=R(),r=M({env:t}),i=await L([`bootout`,`${n}/${r}`]);if(i.code!==0&&!G(i))throw Error(`launchctl bootout failed: ${i.stderr||i.stdout}`.trim());e.write(`${f(`Stopped LaunchAgent`,`${n}/${r}`)}\n`)}async function pe({env:e,stdout:t,programArguments:i,workingDirectory:a,environment:o,description:s}){let{logDir:c,stdoutPath:l,stderrPath:u}=F(e);await z(c);let d=R(),f=M({env:e});for(let t of r(e.OPENCLAW_PROFILE)){let n=N(e,t);await L([`bootout`,d,n]),await L([`unload`,n]);try{await E.unlink(n)}catch{}}let p=N(e,f),m=x(_(e)),h=T.posix.join(m,`Library`);await z(m),await z(h),await z(T.dirname(p));let g=I({label:f,comment:n({env:e,environment:o,description:s}),programArguments:i,workingDirectory:a,stdoutPath:l,stderrPath:u,environment:o});await E.writeFile(p,g,{encoding:`utf8`,mode:420}),await E.chmod(p,420).catch(()=>void 0),await L([`bootout`,d,p]),await L([`unload`,p]),await L([`enable`,`${d}/${f}`]);let v=await L([`bootstrap`,d,p]);if(v.code!==0){let e=(v.stderr||v.stdout).trim();throw K(e)?Error([`launchctl bootstrap failed: ${e}`,`LaunchAgent install requires a logged-in macOS GUI session for this user (${d}).`,`This usually means you are running from SSH/headless context or as the wrong user (including sudo).`,"Fix: sign in to the macOS desktop as the target user and rerun `openclaw gateway install --force`.",`Headless deployments should use a dedicated logged-in user session or a custom LaunchDaemon (not shipped): https://docs.openclaw.ai/gateway`].join(`
30
30
  `)):Error(`launchctl bootstrap failed: ${e}`)}return await L([`kickstart`,`-k`,`${d}/${f}`]),S(t,[{label:`Installed LaunchAgent`,value:p},{label:`Logs`,value:l}],{leadingBlankLine:!0}),{plistPath:p}}async function me({stdout:e,env:t}){let n=t??process.env,r=R(),i=M({env:n}),a=P(n),o=`${r}/${i}`;if(ce(i)){let t=j({env:n,mode:`kickstart`,waitForPid:process.pid});if(!t.ok)throw Error(`launchd restart handoff failed: ${t.detail??`unknown error`}`);try{e.write(`${f(`Scheduled LaunchAgent restart`,o)}\n`)}catch(e){if(e?.code!==`EPIPE`)throw e}return{outcome:`scheduled`}}let s=await L([`kickstart`,`-k`,o]);if(s.code===0){try{e.write(`${f(`Restarted LaunchAgent`,o)}\n`)}catch(e){if(e?.code!==`EPIPE`)throw e}return{outcome:`completed`}}if(!G(s))throw Error(`launchctl kickstart failed: ${s.stderr||s.stdout}`.trim());await L([`enable`,o]);let c=await L([`bootstrap`,r,a]);if(c.code!==0){let e=(c.stderr||c.stdout).trim();throw K(e)?Error([`launchctl bootstrap failed: ${e}`,`LaunchAgent restart requires a logged-in macOS GUI session for this user (${r}).`,`This usually means you are running from SSH/headless context or as the wrong user (including sudo).`,"Fix: sign in to the macOS desktop as the target user and rerun `openclaw gateway restart`.",`Headless deployments should use a dedicated logged-in user session or a custom LaunchDaemon (not shipped): https://docs.openclaw.ai/gateway`].join(`
31
31
  `)):Error(`launchctl bootstrap failed: ${e}`)}let l=await L([`kickstart`,`-k`,o]);if(l.code!==0)throw Error(`launchctl kickstart failed: ${l.stderr||l.stdout}`.trim());try{e.write(`${f(`Restarted LaunchAgent`,o)}\n`)}catch(e){if(e?.code!==`EPIPE`)throw e}return{outcome:`completed`}}async function q(e){return await m(`schtasks`,e,{windowsHide:!0})}function J(e){return e.OPENCLAW_WINDOWS_TASK_NAME?.trim()||i(e.OPENCLAW_PROFILE)}function Y(e){let t=e.OPENCLAW_TASK_SCRIPT?.trim();if(t)return t;let n=e.OPENCLAW_TASK_SCRIPT_NAME?.trim()||`gateway.cmd`,r=v(e);return T.join(r,n)}function he(e){return/[ \t"]/g.test(e)?`"${e.replace(/"/g,`\\"`)}"`:e}function ge(e){let t=e.USERNAME||e.USER||e.LOGNAME;if(!t)return null;if(t.includes(`\\`))return t;let n=e.USERDOMAIN;return n?`${n}\\${t}`:t}async function _e(e){let t=Y(e);try{let e=await E.readFile(t,`utf8`),n=``,r=``,i={};for(let t of e.split(/\r?\n/)){let e=t.trim();if(!e)continue;let a=e.toLowerCase();if(!e.startsWith(`@echo`)&&!a.startsWith(`rem `)){if(a.startsWith(`set `)){let t=c(e.slice(4));t&&(i[t.key]=t.value);continue}if(a.startsWith(`cd /d `)){n=e.slice(6).trim().replace(/^"|"$/g,``);continue}r=e;break}}return r?{programArguments:d(r),...n?{workingDirectory:n}:{},...Object.keys(i).length>0?{environment:i}:{}}:null}catch{return null}}function ve(e){let t=y(e,`:`),n={},r=t.status;r&&(n.status=r);let i=t[`last run time`];i&&(n.lastRunTime=i);let a=t[`last run result`];return a&&(n.lastRunResult=a),n}function ye(e){if(!e)return null;let t=e.trim().toLowerCase();if(!t)return null;if(/^0x[0-9a-f]+$/.test(t))return`0x${t.slice(2).replace(/^0+/,``)||`0`}`;if(/^\d+$/.test(t)){let e=Number.parseInt(t,10);if(Number.isFinite(e))return`0x${e.toString(16)}`}return null}const be=new Set([`0x41301`]);function xe(e){let t=ye(e.lastRunResult);return t==null?e.status?.trim()?{status:`unknown`,detail:`Task status is locale-dependent and no numeric Last Run Result was available.`}:{status:`unknown`}:be.has(t)?{status:`running`}:{status:`stopped`,detail:`Task Last Run Result=${e.lastRunResult}; treating as not running.`}}function Se({description:e,programArguments:t,workingDirectory:n,environment:r}){let i=[`@echo off`],a=e?.trim();if(a&&(u(a,`Task description`),i.push(`rem ${a}`)),n&&i.push(`cd /d ${l(n)}`),r)for(let[e,t]of Object.entries(r))t&&e.toUpperCase()!==`PATH`&&i.push(s(e,t));let o=t.map(l).join(` `);return i.push(o),`${i.join(`\r
32
- `)}\r\n`}async function X(){let e=await q([`/Query`]);if(e.code===0)return;let t=e.stderr||e.stdout;throw Error(`schtasks unavailable: ${t||`unknown error`}`.trim())}async function Ce({env:e,stdout:t,programArguments:r,workingDirectory:i,environment:a,description:o}){await X();let s=Y(e);await E.mkdir(T.dirname(s),{recursive:!0});let c=Se({description:n({env:e,environment:a,description:o}),programArguments:r,workingDirectory:i,environment:a});await E.writeFile(s,c,`utf8`);let l=J(e),u=[`/Create`,`/F`,`/SC`,`ONLOGON`,`/RL`,`LIMITED`,`/TN`,l,`/TR`,he(s)],d=ge(e),f=await q(d?[...u,`/RU`,d,`/NP`,`/IT`]:u);if(f.code!==0&&d&&(f=await q(u)),f.code!==0){let e=f.stderr||f.stdout,t=/access is denied/i.test(e)?` Run PowerShell as Administrator or rerun without installing the daemon.`:``;throw Error(`schtasks create failed: ${e}${t}`.trim())}return await q([`/Run`,`/TN`,l]),S(t,[{label:`Installed Scheduled Task`,value:l},{label:`Task script`,value:s}],{leadingBlankLine:!0}),{scriptPath:s}}async function we({env:e,stdout:t}){await X(),await q([`/Delete`,`/F`,`/TN`,J(e)]);let n=Y(e);try{await E.unlink(n),t.write(`${f(`Removed task script`,n)}\n`)}catch{t.write(`Task script not found at ${n}\n`)}}function Z(e){return(e.stderr||e.stdout).toLowerCase().includes(`not running`)}async function Te({stdout:e,env:t}){await X();let n=J(t??process.env),r=await q([`/End`,`/TN`,n]);if(r.code!==0&&!Z(r))throw Error(`schtasks end failed: ${r.stderr||r.stdout}`.trim());e.write(`${f(`Stopped Scheduled Task`,n)}\n`)}async function Ee({stdout:e,env:t}){await X();let n=J(t??process.env);await q([`/End`,`/TN`,n]);let r=await q([`/Run`,`/TN`,n]);if(r.code!==0)throw Error(`schtasks run failed: ${r.stderr||r.stdout}`.trim());return e.write(`${f(`Restarted Scheduled Task`,n)}\n`),{outcome:`completed`}}async function De(e){return await X(),(await q([`/Query`,`/TN`,J(e.env??process.env)])).code===0}async function Oe(e=process.env){try{await X()}catch(e){return{status:`unknown`,detail:String(e)}}let t=await q([`/Query`,`/TN`,J(e),`/V`,`/FO`,`LIST`]);if(t.code!==0){let e=(t.stderr||t.stdout).trim(),n=e.toLowerCase().includes(`cannot find the file`);return{status:n?`stopped`:`unknown`,detail:e||void 0,missingUnit:n}}let n=ve(t.stdout||``),r=xe(n);return{status:r.status,state:n.status,lastRunTime:n.lastRunTime,lastRunResult:n.lastRunResult,...r.detail?{detail:r.detail}:{}}}function Q(e){return async t=>{await e(t)}}function ke(e,t){return t.outcome===`scheduled`?{scheduled:!0,daemonActionResult:`scheduled`,message:`restart scheduled, ${e.toLowerCase()} will restart momentarily`,progressMessage:`${e} service restart scheduled.`}:{scheduled:!1,daemonActionResult:`restarted`,message:`${e} service restarted.`,progressMessage:`${e} service restarted.`}}const $={darwin:{label:`LaunchAgent`,loadedText:`loaded`,notLoadedText:`not loaded`,install:Q(pe),uninstall:de,stop:fe,restart:me,isLoaded:V,readCommand:le,readRuntime:W},linux:{label:`systemd`,loadedText:`enabled`,notLoadedText:`disabled`,install:Q(ne),uninstall:g,stop:ee,restart:h,isLoaded:b,readCommand:p,readRuntime:te},win32:{label:`Scheduled Task`,loadedText:`registered`,notLoadedText:`missing`,install:Q(Ce),uninstall:we,stop:Te,restart:Ee,isLoaded:De,readCommand:_e,readRuntime:Oe}};function Ae(e){return Object.hasOwn($,e)}function je(){if(Ae(process.platform))return $[process.platform];throw Error(`Gateway service install not supported on ${process.platform}`)}export{V as a,F as c,H as i,P as l,je as n,U as o,q as r,ue as s,ke as t,j as u};
32
+ `)}\r\n`}async function X(){let e=await q([`/Query`]);if(e.code===0)return;let t=e.stderr||e.stdout;throw Error(`schtasks unavailable: ${t||`unknown error`}`.trim())}async function Ce({env:e,stdout:t,programArguments:r,workingDirectory:i,environment:a,description:o}){await X();let s=Y(e);await E.mkdir(T.dirname(s),{recursive:!0});let c=Se({description:n({env:e,environment:a,description:o}),programArguments:r,workingDirectory:i,environment:a});await E.writeFile(s,c,`utf8`);let l=J(e),u=[`/Create`,`/F`,`/SC`,`ONLOGON`,`/RL`,`LIMITED`,`/TN`,l,`/TR`,he(s)],d=ge(e),f=await q(d?[...u,`/RU`,d,`/NP`,`/IT`]:u);if(f.code!==0&&d&&(f=await q(u)),f.code!==0){let e=f.stderr||f.stdout,t=/access is denied/i.test(e)?` Run PowerShell as Administrator or rerun without installing the daemon.`:``;throw Error(`schtasks create failed: ${e}${t}`.trim())}return await q([`/Run`,`/TN`,l]),S(t,[{label:`Installed Scheduled Task`,value:l},{label:`Task script`,value:s}],{leadingBlankLine:!0}),{scriptPath:s}}async function we({env:e,stdout:t}){await X(),await q([`/Delete`,`/F`,`/TN`,J(e)]);let n=Y(e);try{await E.unlink(n),t.write(`${f(`Removed task script`,n)}\n`)}catch{t.write(`Task script not found at ${n}\n`)}}function Z(e){return(e.stderr||e.stdout).toLowerCase().includes(`not running`)}async function Te({stdout:e,env:t}){await X();let n=J(t??process.env),r=await q([`/End`,`/TN`,n]);if(r.code!==0&&!Z(r))throw Error(`schtasks end failed: ${r.stderr||r.stdout}`.trim());e.write(`${f(`Stopped Scheduled Task`,n)}\n`)}async function Ee({stdout:e,env:t}){await X();let n=J(t??process.env);await q([`/End`,`/TN`,n]);let r=await q([`/Run`,`/TN`,n]);if(r.code!==0)throw Error(`schtasks run failed: ${r.stderr||r.stdout}`.trim());return e.write(`${f(`Restarted Scheduled Task`,n)}\n`),{outcome:`completed`}}async function De(e){return await X(),(await q([`/Query`,`/TN`,J(e.env??process.env)])).code===0}async function Oe(e=process.env){try{await X()}catch(e){return{status:`unknown`,detail:String(e)}}let t=await q([`/Query`,`/TN`,J(e),`/V`,`/FO`,`LIST`]);if(t.code!==0){let e=(t.stderr||t.stdout).trim(),n=e.toLowerCase().includes(`cannot find the file`);return{status:n?`stopped`:`unknown`,detail:e||void 0,missingUnit:n}}let n=ve(t.stdout||``),r=xe(n);return{status:r.status,state:n.status,lastRunTime:n.lastRunTime,lastRunResult:n.lastRunResult,...r.detail?{detail:r.detail}:{}}}function Q(e){return async t=>{await e(t)}}function ke(e,t){return t.outcome===`scheduled`?{scheduled:!0,daemonActionResult:`scheduled`,message:`restart scheduled, ${e.toLowerCase()} will restart momentarily`,progressMessage:`${e} service restart scheduled.`}:{scheduled:!1,daemonActionResult:`restarted`,message:`${e} service restarted.`,progressMessage:`${e} service restarted.`}}const $={darwin:{label:`LaunchAgent`,loadedText:`loaded`,notLoadedText:`not loaded`,install:Q(pe),uninstall:de,stop:fe,restart:me,isLoaded:V,readCommand:le,readRuntime:W},linux:{label:`systemd`,loadedText:`enabled`,notLoadedText:`disabled`,install:Q(ne),uninstall:g,stop:ee,restart:h,isLoaded:b,readCommand:p,readRuntime:te},win32:{label:`Scheduled Task`,loadedText:`registered`,notLoadedText:`missing`,install:Q(Ce),uninstall:we,stop:Te,restart:Ee,isLoaded:De,readCommand:_e,readRuntime:Oe}};function Ae(e){return Object.hasOwn($,e)}function je(){if(Ae(process.platform))return $[process.platform];throw Error(`Gateway service install not supported on ${process.platform}`)}export{V as a,F as c,H as i,P as l,je as n,U as o,q as r,ue as s,ke as t,j as u};
@@ -1 +1 @@
1
- import{S as e,b as t,h as n,l as r}from"./subsystem-Bc2XrjUz.js";import{a as i,h as a}from"./utils-D3t-vPka.js";import{Dr as o,Er as s,Ms as c,Or as l,Sr as u,Ws as d,wr as f}from"./model-selection-qkByRv5A.js";import p from"node:fs";import"node:crypto";import{DisconnectReason as m,fetchLatestBaileysVersion as h,makeCacheableSignalKeyStore as g,makeWASocket as _,useMultiFileAuthState as v}from"@whiskeysockets/baileys";import y from"qrcode-terminal";let b=Promise.resolve();function x(e,t,n){b=b.then(()=>S(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function S(e,t,n){try{let t=l(e),n=o(e),r=f(t);if(r)try{JSON.parse(r),p.copyFileSync(t,n);try{p.chmodSync(n,384)}catch{}}catch{}}catch{}try{await Promise.resolve(t());try{p.chmodSync(l(e),384)}catch{}}catch(e){n.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function C(o,l,f={}){let p=e(t({module:`baileys`},{level:l?`info`:`silent`}),l?`info`:`silent`),b=a(f.authDir??s());await i(b);let S=t({module:`web-session`});u(b);let{state:C,saveCreds:w}=await v(b),{version:E}=await h(),D=_({auth:{creds:C.creds,keys:g(C.keys,p)},version:E,logger:p,printQRInTerminal:!1,browser:[`openclaw`,`cli`,c],syncFullHistory:!1,markOnlineOnConnect:!1});return D.ev.on(`creds.update`,()=>x(b,w,S)),D.ev.on(`connection.update`,e=>{try{let{connection:t,lastDisconnect:i,qr:a}=e;a&&(f.onQr?.(a),o&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),y.generate(a,{small:!0}))),t===`close`&&T(i?.error)===m.loggedOut&&console.error(r(`WhatsApp session logged out. Run: ${d(`openclaw channels login`)}`)),t===`open`&&l&&console.log(n(`WhatsApp Web connected.`))}catch(e){S.error({error:String(e)},`connection.update handler error`)}}),D.ws&&typeof D.ws.on==`function`&&D.ws.on(`error`,e=>{S.error({error:String(e)},`WebSocket error`)}),D}async function w(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function T(e){return e?.output?.statusCode??e?.status}function E(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function D(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function O(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=D(e)??D(e?.error)??D(e?.lastDisconnect?.error),n=t?.statusCode??T(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):E(e)}export{w as i,O as n,T as r,C as t};
1
+ import{S as e,b as t,h as n,l as r}from"./subsystem-Bc2XrjUz.js";import{a as i,h as a}from"./utils-D3t-vPka.js";import{Dr as o,Er as s,Ms as c,Or as l,Sr as u,Ws as d,wr as f}from"./model-selection-qkByRv5A.js";import p from"node:fs";import"node:crypto";import{DisconnectReason as m,fetchLatestBaileysVersion as h,makeCacheableSignalKeyStore as g,makeWASocket as _,useMultiFileAuthState as v}from"@whiskeysockets/baileys";import y from"qrcode-terminal";let b=Promise.resolve();function x(e,t,n){b=b.then(()=>S(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function S(e,t,n){try{let t=l(e),n=o(e),r=f(t);if(r)try{JSON.parse(r),p.copyFileSync(t,n);try{p.chmodSync(n,384)}catch{}}catch{}}catch{}try{await Promise.resolve(t());try{p.chmodSync(l(e),384)}catch{}}catch(e){n.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function C(o,l,f={}){let p=e(t({module:`baileys`},{level:l?`info`:`silent`}),l?`info`:`silent`),b=a(f.authDir??s());await i(b);let S=t({module:`web-session`});u(b);let{state:C,saveCreds:w}=await v(b),{version:E}=await h(),D=_({auth:{creds:C.creds,keys:g(C.keys,p)},version:E,logger:p,printQRInTerminal:!1,browser:[`openclaw`,`cli`,c],syncFullHistory:!1,markOnlineOnConnect:!1});return D.ev.on(`creds.update`,()=>x(b,w,S)),D.ev.on(`connection.update`,e=>{try{let{connection:t,lastDisconnect:i,qr:a}=e;a&&(f.onQr?.(a),o&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),y.generate(a,{small:!0}))),t===`close`&&T(i?.error)===m.loggedOut&&console.error(r(`WhatsApp session logged out. Run: ${d(`openclaw channels login`)}`)),t===`open`&&l&&console.log(n(`WhatsApp Web connected.`))}catch(e){S.error({error:String(e)},`connection.update handler error`)}}),D.ws&&typeof D.ws.on==`function`&&D.ws.on(`error`,e=>{S.error({error:String(e)},`WebSocket error`)}),D}async function w(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function T(e){return e?.output?.statusCode??e?.status}function E(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function D(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function O(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=D(e)??D(e?.error)??D(e?.lastDisconnect?.error),n=t?.statusCode??T(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):E(e)}export{w as i,O as n,T as r,C as t};
@@ -1 +1 @@
1
- import{I as e,K as t,V as n,l as r,q as i,y as a}from"./logger-DwWqfo66.js";import{Dr as o,Er as s,Fs as c,Or as l,Sr as u,qs as d,wr as f}from"./model-selection-C2QwHmXT.js";import p from"node:fs";import"node:crypto";import{DisconnectReason as m,fetchLatestBaileysVersion as h,makeCacheableSignalKeyStore as g,makeWASocket as _,useMultiFileAuthState as v}from"@whiskeysockets/baileys";import y from"qrcode-terminal";let b=Promise.resolve();function x(e,t,n){b=b.then(()=>S(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function S(e,t,n){try{let t=l(e),n=o(e),r=f(t);if(r)try{JSON.parse(r),p.copyFileSync(t,n);try{p.chmodSync(n,384)}catch{}}catch{}}catch{}try{await Promise.resolve(t());try{p.chmodSync(l(e),384)}catch{}}catch(e){n.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function C(o,l,f={}){let p=i(t({module:`baileys`},{level:l?`info`:`silent`}),l?`info`:`silent`),b=a(f.authDir??s());await r(b);let S=t({module:`web-session`});u(b);let{state:C,saveCreds:w}=await v(b),{version:E}=await h(),D=_({auth:{creds:C.creds,keys:g(C.keys,p)},version:E,logger:p,printQRInTerminal:!1,browser:[`openclaw`,`cli`,c],syncFullHistory:!1,markOnlineOnConnect:!1});return D.ev.on(`creds.update`,()=>x(b,w,S)),D.ev.on(`connection.update`,t=>{try{let{connection:r,lastDisconnect:i,qr:a}=t;a&&(f.onQr?.(a),o&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),y.generate(a,{small:!0}))),r===`close`&&T(i?.error)===m.loggedOut&&console.error(e(`WhatsApp session logged out. Run: ${d(`openclaw channels login`)}`)),r===`open`&&l&&console.log(n(`WhatsApp Web connected.`))}catch(e){S.error({error:String(e)},`connection.update handler error`)}}),D.ws&&typeof D.ws.on==`function`&&D.ws.on(`error`,e=>{S.error({error:String(e)},`WebSocket error`)}),D}async function w(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function T(e){return e?.output?.statusCode??e?.status}function E(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function D(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function O(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=D(e)??D(e?.error)??D(e?.lastDisconnect?.error),n=t?.statusCode??T(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):E(e)}export{w as i,O as n,T as r,C as t};
1
+ import{I as e,K as t,V as n,l as r,q as i,y as a}from"./logger-DwWqfo66.js";import{Dr as o,Er as s,Fs as c,Or as l,Sr as u,qs as d,wr as f}from"./model-selection-C2QwHmXT.js";import p from"node:fs";import"node:crypto";import{DisconnectReason as m,fetchLatestBaileysVersion as h,makeCacheableSignalKeyStore as g,makeWASocket as _,useMultiFileAuthState as v}from"@whiskeysockets/baileys";import y from"qrcode-terminal";let b=Promise.resolve();function x(e,t,n){b=b.then(()=>S(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function S(e,t,n){try{let t=l(e),n=o(e),r=f(t);if(r)try{JSON.parse(r),p.copyFileSync(t,n);try{p.chmodSync(n,384)}catch{}}catch{}}catch{}try{await Promise.resolve(t());try{p.chmodSync(l(e),384)}catch{}}catch(e){n.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function C(o,l,f={}){let p=i(t({module:`baileys`},{level:l?`info`:`silent`}),l?`info`:`silent`),b=a(f.authDir??s());await r(b);let S=t({module:`web-session`});u(b);let{state:C,saveCreds:w}=await v(b),{version:E}=await h(),D=_({auth:{creds:C.creds,keys:g(C.keys,p)},version:E,logger:p,printQRInTerminal:!1,browser:[`openclaw`,`cli`,c],syncFullHistory:!1,markOnlineOnConnect:!1});return D.ev.on(`creds.update`,()=>x(b,w,S)),D.ev.on(`connection.update`,t=>{try{let{connection:r,lastDisconnect:i,qr:a}=t;a&&(f.onQr?.(a),o&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),y.generate(a,{small:!0}))),r===`close`&&T(i?.error)===m.loggedOut&&console.error(e(`WhatsApp session logged out. Run: ${d(`openclaw channels login`)}`)),r===`open`&&l&&console.log(n(`WhatsApp Web connected.`))}catch(e){S.error({error:String(e)},`connection.update handler error`)}}),D.ws&&typeof D.ws.on==`function`&&D.ws.on(`error`,e=>{S.error({error:String(e)},`WebSocket error`)}),D}async function w(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function T(e){return e?.output?.statusCode??e?.status}function E(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function D(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function O(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=D(e)??D(e?.error)??D(e?.lastDisconnect?.error),n=t?.statusCode??T(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):E(e)}export{w as i,O as n,T as r,C as t};
@@ -1 +1 @@
1
- import{E as e,P as t,j as n,v as r}from"./subsystem-C5XF2Fy5.js";import{c as i,y as a}from"./utils-UGOV_184.js";import{Ml as o}from"./model-selection-I1ctjFOB.js";import{t as s}from"./command-format-BbDT1tlm.js";import{Q as c,X as l,et as u,nt as d,tt as f}from"./plugins-CYLrFT4h.js";import p from"node:fs";import"node:crypto";import{DisconnectReason as m,fetchLatestBaileysVersion as h,makeCacheableSignalKeyStore as g,makeWASocket as _,useMultiFileAuthState as v}from"@whiskeysockets/baileys";import y from"qrcode-terminal";let b=Promise.resolve();function x(e,t,n){b=b.then(()=>S(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function S(e,t,n){try{let t=d(e),n=f(e),r=c(t);if(r)try{JSON.parse(r),p.copyFileSync(t,n);try{p.chmodSync(n,384)}catch{}}catch{}}catch{}try{await Promise.resolve(t());try{p.chmodSync(d(e),384)}catch{}}catch(e){n.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function C(c,d,f={}){let p=t(n({module:`baileys`},{level:d?`info`:`silent`}),d?`info`:`silent`),b=a(f.authDir??u());await i(b);let S=n({module:`web-session`});l(b);let{state:C,saveCreds:w}=await v(b),{version:E}=await h(),D=_({auth:{creds:C.creds,keys:g(C.keys,p)},version:E,logger:p,printQRInTerminal:!1,browser:[`openclaw`,`cli`,o],syncFullHistory:!1,markOnlineOnConnect:!1});return D.ev.on(`creds.update`,()=>x(b,w,S)),D.ev.on(`connection.update`,t=>{try{let{connection:n,lastDisconnect:i,qr:a}=t;a&&(f.onQr?.(a),c&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),y.generate(a,{small:!0}))),n===`close`&&T(i?.error)===m.loggedOut&&console.error(r(`WhatsApp session logged out. Run: ${s(`openclaw channels login`)}`)),n===`open`&&d&&console.log(e(`WhatsApp Web connected.`))}catch(e){S.error({error:String(e)},`connection.update handler error`)}}),D.ws&&typeof D.ws.on==`function`&&D.ws.on(`error`,e=>{S.error({error:String(e)},`WebSocket error`)}),D}async function w(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function T(e){return e?.output?.statusCode??e?.status}function E(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function D(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function O(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=D(e)??D(e?.error)??D(e?.lastDisconnect?.error),n=t?.statusCode??T(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):E(e)}export{w as i,O as n,T as r,C as t};
1
+ import{E as e,P as t,j as n,v as r}from"./subsystem-C5XF2Fy5.js";import{c as i,y as a}from"./utils-UGOV_184.js";import{Ml as o}from"./model-selection-I1ctjFOB.js";import{t as s}from"./command-format-BbDT1tlm.js";import{Q as c,X as l,et as u,nt as d,tt as f}from"./plugins-CYLrFT4h.js";import p from"node:fs";import"node:crypto";import{DisconnectReason as m,fetchLatestBaileysVersion as h,makeCacheableSignalKeyStore as g,makeWASocket as _,useMultiFileAuthState as v}from"@whiskeysockets/baileys";import y from"qrcode-terminal";let b=Promise.resolve();function x(e,t,n){b=b.then(()=>S(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function S(e,t,n){try{let t=d(e),n=f(e),r=c(t);if(r)try{JSON.parse(r),p.copyFileSync(t,n);try{p.chmodSync(n,384)}catch{}}catch{}}catch{}try{await Promise.resolve(t());try{p.chmodSync(d(e),384)}catch{}}catch(e){n.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function C(c,d,f={}){let p=t(n({module:`baileys`},{level:d?`info`:`silent`}),d?`info`:`silent`),b=a(f.authDir??u());await i(b);let S=n({module:`web-session`});l(b);let{state:C,saveCreds:w}=await v(b),{version:E}=await h(),D=_({auth:{creds:C.creds,keys:g(C.keys,p)},version:E,logger:p,printQRInTerminal:!1,browser:[`openclaw`,`cli`,o],syncFullHistory:!1,markOnlineOnConnect:!1});return D.ev.on(`creds.update`,()=>x(b,w,S)),D.ev.on(`connection.update`,t=>{try{let{connection:n,lastDisconnect:i,qr:a}=t;a&&(f.onQr?.(a),c&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),y.generate(a,{small:!0}))),n===`close`&&T(i?.error)===m.loggedOut&&console.error(r(`WhatsApp session logged out. Run: ${s(`openclaw channels login`)}`)),n===`open`&&d&&console.log(e(`WhatsApp Web connected.`))}catch(e){S.error({error:String(e)},`connection.update handler error`)}}),D.ws&&typeof D.ws.on==`function`&&D.ws.on(`error`,e=>{S.error({error:String(e)},`WebSocket error`)}),D}async function w(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function T(e){return e?.output?.statusCode??e?.status}function E(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function D(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function O(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=D(e)??D(e?.error)??D(e?.lastDisconnect?.error),n=t?.statusCode??T(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):E(e)}export{w as i,O as n,T as r,C as t};
@@ -1 +1 @@
1
- import{E as e,P as t,j as n,v as r}from"./subsystem-BLbY429l.js";import{t as i}from"./command-format-CLxIPuLR.js";import{s as a,v as o}from"./utils-CGdo13HV.js";import{t as s}from"./version-q3SkUw2K.js";import{Q as c,X as l,et as u,nt as d,tt as f}from"./plugins-DNlgeTTc.js";import p from"node:fs";import"node:crypto";import{DisconnectReason as m,fetchLatestBaileysVersion as h,makeCacheableSignalKeyStore as g,makeWASocket as _,useMultiFileAuthState as v}from"@whiskeysockets/baileys";import y from"qrcode-terminal";let b=Promise.resolve();function x(e,t,n){b=b.then(()=>S(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function S(e,t,n){try{let t=d(e),n=f(e),r=c(t);if(r)try{JSON.parse(r),p.copyFileSync(t,n);try{p.chmodSync(n,384)}catch{}}catch{}}catch{}try{await Promise.resolve(t());try{p.chmodSync(d(e),384)}catch{}}catch(e){n.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function C(c,d,f={}){let p=t(n({module:`baileys`},{level:d?`info`:`silent`}),d?`info`:`silent`),b=o(f.authDir??u());await a(b);let S=n({module:`web-session`});l(b);let{state:C,saveCreds:w}=await v(b),{version:E}=await h(),D=_({auth:{creds:C.creds,keys:g(C.keys,p)},version:E,logger:p,printQRInTerminal:!1,browser:[`openclaw`,`cli`,s],syncFullHistory:!1,markOnlineOnConnect:!1});return D.ev.on(`creds.update`,()=>x(b,w,S)),D.ev.on(`connection.update`,t=>{try{let{connection:n,lastDisconnect:a,qr:o}=t;o&&(f.onQr?.(o),c&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),y.generate(o,{small:!0}))),n===`close`&&T(a?.error)===m.loggedOut&&console.error(r(`WhatsApp session logged out. Run: ${i(`openclaw channels login`)}`)),n===`open`&&d&&console.log(e(`WhatsApp Web connected.`))}catch(e){S.error({error:String(e)},`connection.update handler error`)}}),D.ws&&typeof D.ws.on==`function`&&D.ws.on(`error`,e=>{S.error({error:String(e)},`WebSocket error`)}),D}async function w(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function T(e){return e?.output?.statusCode??e?.status}function E(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function D(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function O(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=D(e)??D(e?.error)??D(e?.lastDisconnect?.error),n=t?.statusCode??T(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):E(e)}export{w as i,O as n,T as r,C as t};
1
+ import{E as e,P as t,j as n,v as r}from"./subsystem-BLbY429l.js";import{t as i}from"./command-format-CLxIPuLR.js";import{s as a,v as o}from"./utils-CGdo13HV.js";import{t as s}from"./version-q3SkUw2K.js";import{Q as c,X as l,et as u,nt as d,tt as f}from"./plugins-DNlgeTTc.js";import p from"node:fs";import"node:crypto";import{DisconnectReason as m,fetchLatestBaileysVersion as h,makeCacheableSignalKeyStore as g,makeWASocket as _,useMultiFileAuthState as v}from"@whiskeysockets/baileys";import y from"qrcode-terminal";let b=Promise.resolve();function x(e,t,n){b=b.then(()=>S(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function S(e,t,n){try{let t=d(e),n=f(e),r=c(t);if(r)try{JSON.parse(r),p.copyFileSync(t,n);try{p.chmodSync(n,384)}catch{}}catch{}}catch{}try{await Promise.resolve(t());try{p.chmodSync(d(e),384)}catch{}}catch(e){n.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function C(c,d,f={}){let p=t(n({module:`baileys`},{level:d?`info`:`silent`}),d?`info`:`silent`),b=o(f.authDir??u());await a(b);let S=n({module:`web-session`});l(b);let{state:C,saveCreds:w}=await v(b),{version:E}=await h(),D=_({auth:{creds:C.creds,keys:g(C.keys,p)},version:E,logger:p,printQRInTerminal:!1,browser:[`openclaw`,`cli`,s],syncFullHistory:!1,markOnlineOnConnect:!1});return D.ev.on(`creds.update`,()=>x(b,w,S)),D.ev.on(`connection.update`,t=>{try{let{connection:n,lastDisconnect:a,qr:o}=t;o&&(f.onQr?.(o),c&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),y.generate(o,{small:!0}))),n===`close`&&T(a?.error)===m.loggedOut&&console.error(r(`WhatsApp session logged out. Run: ${i(`openclaw channels login`)}`)),n===`open`&&d&&console.log(e(`WhatsApp Web connected.`))}catch(e){S.error({error:String(e)},`connection.update handler error`)}}),D.ws&&typeof D.ws.on==`function`&&D.ws.on(`error`,e=>{S.error({error:String(e)},`WebSocket error`)}),D}async function w(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function T(e){return e?.output?.statusCode??e?.status}function E(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function D(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function O(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=D(e)??D(e?.error)??D(e?.lastDisconnect?.error),n=t?.statusCode??T(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):E(e)}export{w as i,O as n,T as r,C as t};