@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
@@ -0,0 +1 @@
1
+ import g from"node:crypto";import u from"node:fs/promises";import h from"node:path";import{getUploadUrl as $}from"../api/api.js";import{UploadMediaType as c}from"../api/types.js";import{getExtensionFromContentTypeOrUrl as I}from"../media/mime.js";import{logger as r}from"../util/logger.js";import{tempFileName as b}from"../util/random.js";import{aesEcbPaddedSize as P}from"./aes-ecb.js";import{uploadBufferToCdn as F}from"./cdn-upload.js";async function C(e,a){r.debug(`downloadRemoteImageToTemp: fetching url=${e}`);const t=await fetch(e);if(!t.ok){const i=`remote media download failed: ${t.status} ${t.statusText} url=${e}`;throw r.error(`downloadRemoteImageToTemp: ${i}`),new Error(i)}const d=Buffer.from(await t.arrayBuffer());r.debug(`downloadRemoteImageToTemp: downloaded ${d.length} bytes`),await u.mkdir(a,{recursive:!0});const s=I(t.headers.get("content-type"),e),p=b("weixin-remote",s),o=h.join(a,p);return await u.writeFile(o,d),r.debug(`downloadRemoteImageToTemp: saved to ${o} ext=${s}`),o}async function y(e){const{filePath:a,toUserId:t,opts:d,cdnBaseUrl:s,mediaType:p,label:o}=e,i=await u.readFile(a),l=i.length,x=g.createHash("md5").update(i).digest("hex"),m=P(l),n=g.randomBytes(16).toString("hex"),f=g.randomBytes(16);r.debug(`${o}: file=${a} rawsize=${l} filesize=${m} md5=${x} filekey=${n}`);const T=await $({...d,filekey:n,media_type:p,to_user_id:t,rawsize:l,rawfilemd5:x,filesize:m,no_need_thumb:!0,aeskey:f.toString("hex")}),w=T.upload_param;if(!w)throw r.error(`${o}: getUploadUrl returned no upload_param, resp=${JSON.stringify(T)}`),new Error(`${o}: getUploadUrl returned no upload_param`);const{downloadParam:U}=await F({buf:i,uploadParam:w,filekey:n,cdnBaseUrl:s,aeskey:f,label:`${o}[orig filekey=${n}]`});return{filekey:n,downloadEncryptedQueryParam:U,aeskey:f.toString("hex"),fileSize:l,fileSizeCiphertext:m}}async function M(e){return y({...e,mediaType:c.IMAGE,label:"uploadFileToWeixin"})}async function N(e){return y({...e,mediaType:c.VIDEO,label:"uploadVideoToWeixin"})}async function V(e){return y({...e,mediaType:c.FILE,label:"uploadFileAttachmentToWeixin"})}export{C as downloadRemoteImageToTemp,V as uploadFileAttachmentToWeixin,M as uploadFileToWeixin,N as uploadVideoToWeixin};
@@ -0,0 +1,6 @@
1
+ import g from"node:path";import{normalizeAccountId as h,resolvePreferredOpenClawTmpDir as L}from"openclaw/plugin-sdk/weixin";import{assertSessionActive as p}from"./api/session-guard.js";import{registerWeixinAccountId as x,unregisterWeixinAccountId as O,loadWeixinAccount as y,saveWeixinAccount as A,clearWeixinAccount as M,listWeixinAccountIds as W,resolveWeixinAccount as u,triggerWeixinChannelReload as w,clearStaleAccountsForUserId as v,DEFAULT_BASE_URL as f}from"./auth/accounts.js";import{DEFAULT_ILINK_BOT_TYPE as m,startWeixinLoginWithQr as U,waitForWeixinLogin as T}from"./auth/login-qr.js";import{downloadRemoteImageToTemp as C}from"./cdn/upload.js";import{getContextToken as I,findAccountIdsByContextToken as E,restoreContextTokens as B,clearContextTokensForAccount as b}from"./messaging/inbound.js";import{sendWeixinMediaFile as D}from"./messaging/send-media.js";import{sendMessageWeixin as Q}from"./messaging/send.js";import{monitorWeixinProvider as _}from"./monitor/monitor.js";import{logger as a}from"./util/logger.js";function k(e){return!e.includes("://")}function q(e){return e.startsWith("http://")||e.startsWith("https://")}const F=g.join(L(),"weixin/media/outbound-temp");function K(e){return e.startsWith("file://")?new URL(e).pathname:g.isAbsolute(e)?e:g.resolve(e)}function $(e,t){const o=W(e);if(o.length===0)throw new Error("weixin: no accounts registered \u2014 run `openclaw channels login --channel openclaw-weixin`");if(o.length===1)return a.info(`resolveOutboundAccountId: single account, using ${o[0]}`),o[0];const n=E(o,t);if(n.length===1)return a.info(`resolveOutboundAccountId: matched accountId=${n[0]} for to=${t}`),n[0];throw n.length>1?(a.warn(`resolveOutboundAccountId: ambiguous \u2014 ${n.length} accounts matched for to=${t}: ${n.join(", ")}`),new Error(`weixin: ambiguous account for to=${t} (${n.length} accounts have active sessions with this recipient: ${n.join(", ")}). Specify accountId in the delivery config to disambiguate.`)):new Error(`weixin: cannot determine which account to use for to=${t} (${o.length} accounts registered, none has an active session with this recipient). Specify accountId in the delivery config, or ensure the recipient has recently messaged the bot.`)}async function S(e){const t=u(e.cfg,e.accountId),o=a.withAccount(t.accountId);if(p(t.accountId),!t.configured)throw o.error("sendWeixinOutbound: account not configured"),new Error("weixin not configured: please run `openclaw channels login --channel openclaw-weixin`");return e.contextToken||o.warn(`sendWeixinOutbound: contextToken missing for to=${e.to}, sending without context`),{channel:"openclaw-weixin",messageId:(await Q({to:e.to,text:e.text,opts:{baseUrl:t.baseUrl,token:t.token,contextToken:e.contextToken}})).messageId}}const te={id:"openclaw-weixin",gatewayMethods:["web.login.start","web.login.wait"],meta:{id:"openclaw-weixin",label:"openclaw-weixin",selectionLabel:"openclaw-weixin (long-poll)",docsPath:"/channels/openclaw-weixin",docsLabel:"openclaw-weixin",blurb:"getUpdates long-poll upstream, sendMessage downstream; token auth.",order:75},configSchema:{schema:{type:"object",additionalProperties:!1,properties:{}}},capabilities:{chatTypes:["direct"],media:!0,blockStreaming:!0},streaming:{blockStreamingCoalesceDefaults:{minChars:200,idleMs:3e3}},messaging:{targetResolver:{looksLikeId:e=>e.endsWith("@im.wechat")}},agentPrompt:{messageToolHints:()=>["To send an image or file to the current user, use the message tool with action='send' and set 'media' to a local file path or a remote URL. You do not need to specify 'to' \u2014 the current conversation recipient is used automatically.","When the user asks you to find an image from the web, use a web search or browser tool to find a suitable image URL, then send it using the message tool with 'media' set to that HTTPS image URL \u2014 do NOT download the image first.","IMPORTANT: When generating or saving a file to send, always use an absolute path (e.g. /tmp/photo.png), never a relative path like ./photo.png. Relative paths cannot be resolved and the file will not be delivered.","IMPORTANT: When creating a cron job (scheduled task) for the current Weixin user, you MUST set delivery.to to the user's Weixin ID (the xxx@im.wechat address from the current conversation) AND set delivery.accountId to the current AccountId. Without an explicit 'to', the cron delivery will fail with 'requires target'. Without an explicit 'accountId', the message may be sent from the wrong bot account. Example: delivery: { mode: 'announce', channel: 'openclaw-weixin', to: '<current_user_id@im.wechat>', accountId: '<current_AccountId>' }."]},reload:{configPrefixes:["channels.openclaw-weixin"]},config:{listAccountIds:e=>W(e),resolveAccount:(e,t)=>u(e,t),isConfigured:e=>e.configured,describeAccount:e=>({accountId:e.accountId,name:e.name,enabled:e.enabled,configured:e.configured})},outbound:{deliveryMode:"direct",textChunkLimit:4e3,sendText:async e=>{const t=e.accountId||$(e.cfg,e.to);return await S({cfg:e.cfg,to:e.to,text:e.text,accountId:t,contextToken:I(t,e.to)})},sendMedia:async e=>{const t=e.accountId||$(e.cfg,e.to),o=u(e.cfg,t),n=a.withAccount(o.accountId);if(p(o.accountId),!o.configured)throw n.error("sendMedia: account not configured"),new Error("weixin not configured: please run `openclaw channels login --channel openclaw-weixin`");const i=e.mediaUrl;if(i&&(k(i)||q(i))){let c;k(i)?(c=K(i),n.debug(`sendMedia: uploading local file ${c}`)):(n.debug(`sendMedia: downloading remote mediaUrl=${i.slice(0,80)}...`),c=await C(i,F),n.debug(`sendMedia: remote image downloaded to ${c}`));const d=I(o.accountId,e.to);return{channel:"openclaw-weixin",messageId:(await D({filePath:c,to:e.to,text:e.text??"",opts:{baseUrl:o.baseUrl,token:o.token,contextToken:d},cdnBaseUrl:o.cdnBaseUrl})).messageId}}return await S({cfg:e.cfg,to:e.to,text:e.text??"",accountId:t,contextToken:I(o.accountId,e.to)})}},status:{defaultRuntime:{accountId:"",lastError:null,lastInboundAt:null,lastOutboundAt:null},collectStatusIssues:()=>[],buildChannelSummary:({snapshot:e})=>({configured:e.configured??!1,lastError:e.lastError??null,lastInboundAt:e.lastInboundAt??null,lastOutboundAt:e.lastOutboundAt??null}),buildAccountSnapshot:({account:e,runtime:t})=>({...t,accountId:e.accountId,name:e.name,enabled:e.enabled,configured:e.configured})},auth:{login:async({cfg:e,accountId:t,verbose:o,runtime:n})=>{const i=u(e,t),r=l=>{n?.log?.(l)};r("\u6B63\u5728\u542F\u52A8\u5FAE\u4FE1\u626B\u7801\u767B\u5F55...");const c=await U({accountId:i.accountId,apiBaseUrl:i.baseUrl,botType:m,verbose:!!o});if(!c.qrcodeUrl)throw a.warn(`auth.login: failed to get QR code accountId=${i.accountId} message=${c.message}`),r(c.message),new Error(c.message);r(`
2
+ \u4F7F\u7528\u5FAE\u4FE1\u626B\u63CF\u4EE5\u4E0B\u4E8C\u7EF4\u7801\uFF0C\u4EE5\u5B8C\u6210\u8FDE\u63A5\uFF1A
3
+ `);try{const l=await import("qrcode-terminal");await new Promise(R=>{l.default.generate(c.qrcodeUrl,{small:!0},P=>{console.log(P),r("\u5982\u679C\u4E8C\u7EF4\u7801\u672A\u80FD\u6210\u529F\u5C55\u793A\uFF0C\u8BF7\u7528\u6D4F\u89C8\u5668\u6253\u5F00\u4EE5\u4E0B\u94FE\u63A5\u626B\u7801\uFF1A"),r(c.qrcodeUrl),R()})})}catch(l){a.warn(`auth.login: qrcode-terminal unavailable, falling back to URL err=${String(l)}`),r("\u4E8C\u7EF4\u7801\u672A\u52A0\u8F7D\u6210\u529F\uFF0C\u8BF7\u7528\u6D4F\u89C8\u5668\u6253\u5F00\u4EE5\u4E0B\u94FE\u63A5\u626B\u7801\uFF1A"),r(c.qrcodeUrl)}const d=48e4;r(`
4
+ \u7B49\u5F85\u8FDE\u63A5\u7ED3\u679C...
5
+ `);const s=await T({sessionKey:c.sessionKey,apiBaseUrl:i.baseUrl,timeoutMs:d,verbose:!!o,botType:m});if(s.connected&&s.botToken&&s.accountId)try{const l=h(s.accountId);A(l,{token:s.botToken,baseUrl:s.baseUrl,userId:s.userId}),x(l),s.userId&&v(l,s.userId,b),w(),r(`
6
+ \u2705 \u4E0E\u5FAE\u4FE1\u8FDE\u63A5\u6210\u529F\uFF01`)}catch(l){a.error(`auth.login: failed to save account data accountId=${s.accountId} err=${String(l)}`),r(`\u26A0\uFE0F \u4FDD\u5B58\u8D26\u53F7\u6570\u636E\u5931\u8D25: ${String(l)}`)}else throw a.warn(`auth.login: login did not complete accountId=${i.accountId} message=${s.message}`),new Error(s.message)}},gateway:{startAccount:async e=>{if(a.debug("startAccount entry"),!e){a.warn("gateway.startAccount: called with undefined ctx, skipping");return}const t=e.account,o=a.withAccount(t.accountId);if(o.debug("about to call monitorWeixinProvider"),B(t.accountId),o.info("starting weixin webhook"),e.setStatus?.({accountId:t.accountId,running:!0,lastStartAt:Date.now(),lastEventAt:Date.now()}),!t.configured)throw o.error("account not configured"),e.log?.error?.(`[${t.accountId}] weixin not logged in \u2014 run: openclaw channels login --channel openclaw-weixin`),e.setStatus?.({accountId:t.accountId,running:!1}),new Error("weixin not configured: missing token");e.log?.info?.(`[${t.accountId}] starting weixin provider (${f})`);const n=o.getLogFilePath();return e.log?.info?.(`[${t.accountId}] weixin logs: ${n}`),_({baseUrl:t.baseUrl,cdnBaseUrl:t.cdnBaseUrl,token:t.token,accountId:t.accountId,config:e.cfg,runtime:e.runtime,abortSignal:e.abortSignal,setStatus:e.setStatus})},logoutAccount:async({accountId:e})=>{const t=h(e);return a.info(`logoutAccount: clearing account ${t}`),b(t),M(t),O(t),w(),a.info(`logoutAccount: account ${t} cleared successfully`),{cleared:!0,loggedOut:!0}},loginWithQrStart:async({accountId:e,force:t,timeoutMs:o,verbose:n})=>{const i=e?y(e)?.baseUrl?.trim():"",r=await U({accountId:e??void 0,apiBaseUrl:i||f,botType:m,force:t,timeoutMs:o,verbose:n});return{qrDataUrl:r.qrcodeUrl,message:r.message,sessionKey:r.sessionKey}},loginWithQrWait:async e=>{const t=e.sessionKey||e.accountId||"",o=e.accountId?y(e.accountId)?.baseUrl?.trim():"",n=await T({sessionKey:t,apiBaseUrl:o||f,timeoutMs:e.timeoutMs});if(n.connected&&n.botToken&&n.accountId)try{const i=h(n.accountId);A(i,{token:n.botToken,baseUrl:n.baseUrl,userId:n.userId}),x(i),n.userId&&v(i,n.userId,b),w(),a.info(`loginWithQrWait: saved account data for accountId=${i}`)}catch(i){a.error(`loginWithQrWait: failed to save account data err=${String(i)}`)}return{connected:n.connected,message:n.message,accountId:n.accountId}}}};export{te as weixinPlugin};
@@ -0,0 +1 @@
1
+ import{z as o}from"zod";import{CDN_BASE_URL as t,DEFAULT_BASE_URL as e}from"../auth/accounts.js";const n=o.object({name:o.string().optional(),enabled:o.boolean().optional(),baseUrl:o.string().default(e),cdnBaseUrl:o.string().default(t),routeTag:o.number().optional()}),r=n.extend({accounts:o.record(o.string(),n).optional(),logUploadUrl:o.string().optional()});export{r as WeixinConfigSchema};
@@ -0,0 +1,4 @@
1
+ import C from"node:fs/promises";import m from"node:path";import{resolvePreferredOpenClawTmpDir as $}from"openclaw/plugin-sdk/weixin";function h(){const e=new Date,o=-e.getTimezoneOffset()*6e4;return`qbotclaw-${new Date(e.getTime()+o).toISOString().slice(0,10)}.log`}function U(e){if(/^\d{8}$/.test(e)){const o=e.slice(0,4),i=e.slice(4,6),r=e.slice(6,8);return`qbotclaw-${o}-${i}-${r}.log`}if(/^\d{10}$/.test(e)){const o=e.slice(0,4),i=e.slice(4,6),r=e.slice(6,8);return`qbotclaw-${o}-${i}-${r}.log`}return e}function T(){return $()}function D(e){return e.channels?.["openclaw-weixin"]?.logUploadUrl}function S(e){const{program:o,config:i}=e;o.command("openclaw-weixin").description("Weixin channel utilities").command("logs-upload").description("Upload a Weixin log file to a remote URL via HTTP POST").option("--url <url>","Remote URL to POST the log file to (overrides config)").option("--file <file>","Log file to upload: full filename or 8-digit date YYYYMMDD (default: today)").action(async g=>{const l=g.url??D(i);l||(console.error(`[weixin] No upload URL specified. Pass --url or set it with:
2
+ openclaw config set channels.openclaw-weixin.logUploadUrl <url>`),process.exit(1));const u=T(),w=g.file??h(),s=U(w),a=m.isAbsolute(s)?s:m.join(u,s);let c;try{c=await C.readFile(a)}catch(t){console.error(`[weixin] Failed to read log file: ${a}
3
+ ${String(t)}`),process.exit(1)}console.log(`[weixin] Uploading ${a} (${c.length} bytes) to ${l} ...`);const f=new FormData;f.append("file",new Blob([new Uint8Array(c)],{type:"text/plain"}),s);let n;try{n=await fetch(l,{method:"POST",body:f})}catch(t){console.error(`[weixin] Upload request failed: ${String(t)}`),process.exit(1)}const d=await n.text().catch(()=>"");n.ok||(console.error(`[weixin] Upload failed: HTTP ${n.status} ${n.statusText}
4
+ ${d}`),process.exit(1)),console.log(`[weixin] Upload succeeded (HTTP ${n.status})`);const p=n.headers.get("fileid");if(p)console.log(`fileid: ${p}`);else{const t={};n.headers.forEach((y,x)=>{t[x]=y}),console.log("headers:",JSON.stringify(t,null,2))}d&&console.log("body:",d)})}export{S as registerWeixinCli};
@@ -0,0 +1 @@
1
+ import{MessageItemType as y}from"../api/types.js";import{downloadAndDecryptBuffer as l,downloadPlainCdnBuffer as u}from"../cdn/pic-decrypt.js";import{logger as n}from"../util/logger.js";import{getMimeFromFilename as g}from"./mime.js";import{silkToWav as _}from"./silk-transcode.js";const c=100*1024*1024;async function M(o,f){const{cdnBaseUrl:s,saveMedia:m,log:v,errLog:p,label:a}=f,r={};if(o.type===y.IMAGE){const e=o.image_item;if(!e?.media?.encrypt_query_param)return r;const i=e.aeskey?Buffer.from(e.aeskey,"hex").toString("base64"):e.media.aes_key;n.debug(`${a} image: encrypt_query_param=${e.media.encrypt_query_param.slice(0,40)}... hasAesKey=${!!i} aeskeySource=${e.aeskey?"image_item.aeskey":"media.aes_key"}`);try{const t=i?await l(e.media.encrypt_query_param,i,s,`${a} image`):await u(e.media.encrypt_query_param,s,`${a} image-plain`),d=await m(t,void 0,"inbound",c);r.decryptedPicPath=d.path,n.debug(`${a} image saved: ${d.path}`)}catch(t){n.error(`${a} image download/decrypt failed: ${String(t)}`),p(`weixin ${a} image download/decrypt failed: ${String(t)}`)}}else if(o.type===y.VOICE){const e=o.voice_item;if(!e?.media?.encrypt_query_param||!e.media.aes_key)return r;try{const i=await l(e.media.encrypt_query_param,e.media.aes_key,s,`${a} voice`);n.debug(`${a} voice: decrypted ${i.length} bytes, attempting silk transcode`);const t=await _(i);if(t){const d=await m(t,"audio/wav","inbound",c);r.decryptedVoicePath=d.path,r.voiceMediaType="audio/wav",n.debug(`${a} voice: saved WAV to ${d.path}`)}else{const d=await m(i,"audio/silk","inbound",c);r.decryptedVoicePath=d.path,r.voiceMediaType="audio/silk",n.debug(`${a} voice: silk transcode unavailable, saved raw SILK to ${d.path}`)}}catch(i){n.error(`${a} voice download/transcode failed: ${String(i)}`),p(`weixin ${a} voice download/transcode failed: ${String(i)}`)}}else if(o.type===y.FILE){const e=o.file_item;if(!e?.media?.encrypt_query_param||!e.media.aes_key)return r;try{const i=await l(e.media.encrypt_query_param,e.media.aes_key,s,`${a} file`),t=g(e.file_name??"file.bin"),d=await m(i,t,"inbound",c,e.file_name??void 0);r.decryptedFilePath=d.path,r.fileMediaType=t,n.debug(`${a} file: saved to ${d.path} mime=${t}`)}catch(i){n.error(`${a} file download failed: ${String(i)}`),p(`weixin ${a} file download failed: ${String(i)}`)}}else if(o.type===y.VIDEO){const e=o.video_item;if(!e?.media?.encrypt_query_param||!e.media.aes_key)return r;try{const i=await l(e.media.encrypt_query_param,e.media.aes_key,s,`${a} video`),t=await m(i,"video/mp4","inbound",c);r.decryptedVideoPath=t.path,n.debug(`${a} video: saved to ${t.path}`)}catch(i){n.error(`${a} video download failed: ${String(i)}`),p(`weixin ${a} video download failed: ${String(i)}`)}}return r}export{M as downloadMediaFromItem};
@@ -0,0 +1 @@
1
+ import p from"node:path";const n={".pdf":"application/pdf",".doc":"application/msword",".docx":"application/vnd.openxmlformats-officedocument.wordprocessingml.document",".xls":"application/vnd.ms-excel",".xlsx":"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",".ppt":"application/vnd.ms-powerpoint",".pptx":"application/vnd.openxmlformats-officedocument.presentationml.presentation",".txt":"text/plain",".csv":"text/csv",".zip":"application/zip",".tar":"application/x-tar",".gz":"application/gzip",".mp3":"audio/mpeg",".ogg":"audio/ogg",".wav":"audio/wav",".mp4":"video/mp4",".mov":"video/quicktime",".webm":"video/webm",".mkv":"video/x-matroska",".avi":"video/x-msvideo",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".bmp":"image/bmp"},a={"image/jpeg":".jpg","image/jpg":".jpg","image/png":".png","image/gif":".gif","image/webp":".webp","image/bmp":".bmp","video/mp4":".mp4","video/quicktime":".mov","video/webm":".webm","video/x-matroska":".mkv","video/x-msvideo":".avi","audio/mpeg":".mp3","audio/ogg":".ogg","audio/wav":".wav","application/pdf":".pdf","application/zip":".zip","application/x-tar":".tar","application/gzip":".gz","text/plain":".txt","text/csv":".csv"};function s(i){const e=p.extname(i).toLowerCase();return n[e]??"application/octet-stream"}function m(i){const e=i.split(";")[0].trim().toLowerCase();return a[e]??".bin"}function c(i,e){if(i){const o=m(i);if(o!==".bin")return o}const t=p.extname(new URL(e).pathname).toLowerCase();return new Set(Object.keys(n)).has(t)?t:".bin"}export{c as getExtensionFromContentTypeOrUrl,m as getExtensionFromMime,s as getMimeFromFilename};
@@ -0,0 +1 @@
1
+ import{logger as a}from"../util/logger.js";const s=24e3;function f(r,n){const i=r.byteLength,o=44+i,e=Buffer.allocUnsafe(o);let t=0;return e.write("RIFF",t),t+=4,e.writeUInt32LE(o-8,t),t+=4,e.write("WAVE",t),t+=4,e.write("fmt ",t),t+=4,e.writeUInt32LE(16,t),t+=4,e.writeUInt16LE(1,t),t+=2,e.writeUInt16LE(1,t),t+=2,e.writeUInt32LE(n,t),t+=4,e.writeUInt32LE(n*2,t),t+=4,e.writeUInt16LE(2,t),t+=2,e.writeUInt16LE(16,t),t+=2,e.write("data",t),t+=4,e.writeUInt32LE(i,t),t+=4,Buffer.from(r.buffer,r.byteOffset,r.byteLength).copy(e,t),e}async function l(r){try{const{decode:n}=await import("silk-wasm");a.debug(`silkToWav: decoding ${r.length} bytes of SILK`);const i=await n(r,s);a.debug(`silkToWav: decoded duration=${i.duration}ms pcmBytes=${i.data.byteLength}`);const o=f(i.data,s);return a.debug(`silkToWav: WAV size=${o.length}`),o}catch(n){return a.warn(`silkToWav: transcode failed, will use raw silk err=${String(n)}`),null}}export{l as silkToWav};
@@ -0,0 +1 @@
1
+ import o from"node:fs";import c from"node:path";import{resolveStateDir as s}from"../storage/state-dir.js";import{logger as u}from"../util/logger.js";function r(){return c.join(s(),"openclaw-weixin","debug-mode.json")}function i(){try{const e=o.readFileSync(r(),"utf-8"),t=JSON.parse(e);if(t&&typeof t.accounts=="object")return t}catch{}return{accounts:{}}}function d(e){const t=r();o.mkdirSync(c.dirname(t),{recursive:!0}),o.writeFileSync(t,JSON.stringify(e,null,2),"utf-8")}function b(e){const t=i(),n=!t.accounts[e];t.accounts[e]=n;try{d(t)}catch(a){u.error(`debug-mode: failed to persist state: ${String(a)}`)}return n}function p(e){return i().accounts[e]===!0}function m(){try{o.unlinkSync(r())}catch{}}export{m as _resetForTest,p as isDebugMode,b as toggleDebugMode};
@@ -0,0 +1 @@
1
+ import{logger as t}from"../util/logger.js";import{sendMessageWeixin as n}from"./send.js";async function g(e){e.contextToken||t.warn(`sendWeixinErrorNotice: no contextToken for to=${e.to}, sending without context`);try{await n({to:e.to,text:e.message,opts:{baseUrl:e.baseUrl,token:e.token,contextToken:e.contextToken}}),t.debug(`sendWeixinErrorNotice: sent to=${e.to}`)}catch(o){e.errLog(`[weixin] sendWeixinErrorNotice failed to=${e.to}: ${String(o)}`)}}export{g as sendWeixinErrorNotice};
@@ -0,0 +1,2 @@
1
+ import o from"node:fs";import y from"node:path";import{MessageItemType as g}from"../api/types.js";import{resolveStateDir as l}from"../storage/state-dir.js";import{logger as a}from"../util/logger.js";import{generateId as m}from"../util/random.js";const s=new Map,d=new Set;function f(e,i){return`${e}:${i}`}function x(e){return y.join(l(),"openclaw-weixin","accounts",`${e}.context-tokens.json`)}function h(e){if(d.has(e))return;const i=`${e}:`,t={};for(const[r,c]of s)r.startsWith(i)&&(t[r.slice(i.length)]=c);const n=x(e);if(Object.keys(t).length===0){try{o.existsSync(n)&&o.unlinkSync(n)}catch{}return}try{const r=y.dirname(n);o.mkdirSync(r,{recursive:!0}),o.writeFileSync(n,JSON.stringify(t,null,0),"utf-8")}catch(r){a.warn(`persistContextTokens: failed to write ${n}: ${String(r)}`)}}function $(e){d.delete(e);const i=x(e);try{if(!o.existsSync(i))return;const t=o.readFileSync(i,"utf-8"),n=JSON.parse(t);let r=0;for(const[c,p]of Object.entries(n))typeof p=="string"&&p&&(s.set(f(e,c),p),r++);a.info(`restoreContextTokens: restored ${r} tokens for account=${e}`)}catch(t){a.warn(`restoreContextTokens: failed to read ${i}: ${String(t)}`)}}function v(e){d.add(e);const i=`${e}:`;for(const n of[...s.keys()])n.startsWith(i)&&s.delete(n);const t=x(e);try{o.existsSync(t)&&o.unlinkSync(t)}catch(n){a.warn(`clearContextTokensForAccount: failed to remove ${t}: ${String(n)}`)}a.info(`clearContextTokensForAccount: cleared tokens for account=${e}`)}function F(e,i,t){if(d.has(e))return;const n=f(e,i);a.debug(`setContextToken: key=${n}`),s.set(n,t),h(e)}function O(e,i){const t=f(e,i),n=s.get(t);return a.debug(`getContextToken: key=${t} found=${n!==void 0} storeSize=${s.size}`),n}function b(e,i){return e.filter(t=>s.has(f(t,i)))}function k(){return m("openclaw-weixin")}function T(e){return e.type===g.IMAGE||e.type===g.VIDEO||e.type===g.FILE||e.type===g.VOICE}function u(e){if(!e?.length)return"";for(const i of e){if(i.type===g.TEXT&&i.text_item?.text!=null){const t=String(i.text_item.text),n=i.ref_msg;if(!n||n.message_item&&T(n.message_item))return t;const r=[];if(n.title&&r.push(n.title),n.message_item){const c=u([n.message_item]);c&&r.push(c)}return r.length?`[\u5F15\u7528: ${r.join(" | ")}]
2
+ ${t}`:t}if(i.type===g.VOICE&&i.voice_item?.text)return i.voice_item.text}return""}function W(e,i,t){const n=e.from_user_id??"",r={Body:u(e.item_list),From:n,To:n,AccountId:i,OriginatingChannel:"openclaw-weixin",OriginatingTo:n,MessageSid:k(),Timestamp:e.create_time_ms,Provider:"openclaw-weixin",ChatType:"direct"};return e.context_token&&(r.context_token=e.context_token),t?.decryptedPicPath?(r.MediaPath=t.decryptedPicPath,r.MediaType="image/*"):t?.decryptedVideoPath?(r.MediaPath=t.decryptedVideoPath,r.MediaType="video/mp4"):t?.decryptedFilePath?(r.MediaPath=t.decryptedFilePath,r.MediaType=t.fileMediaType??"application/octet-stream"):t?.decryptedVoicePath&&(r.MediaPath=t.decryptedVoicePath,r.MediaType=t.voiceMediaType??"audio/wav"),r}function A(e){return e.context_token}export{v as clearContextTokensForAccount,b as findAccountIdsByContextToken,O as getContextToken,A as getContextTokenFromMsgContext,T as isMediaItem,$ as restoreContextTokens,F as setContextToken,W as weixinMessageToMsgContext};
@@ -0,0 +1,3 @@
1
+ import k from"node:path";import{createTypingCallbacks as G,resolveSenderCommandAuthorizationWithRuntime as J,resolveDirectDmAuthorizationOutcome as V,resolvePreferredOpenClawTmpDir as X}from"openclaw/plugin-sdk/weixin";import{sendTyping as L}from"../api/api.js";import{MessageItemType as p,TypingStatus as P}from"../api/types.js";import{loadWeixinAccount as H}from"../auth/accounts.js";import{readFrameworkAllowFromList as Y}from"../auth/pairing.js";import{downloadRemoteImageToTemp as Q}from"../cdn/upload.js";import{downloadMediaFromItem as Z}from"../media/media-download.js";import{logger as n}from"../util/logger.js";import{redactBody as E,redactToken as ee}from"../util/redact.js";import{isDebugMode as te}from"./debug-mode.js";import{sendWeixinErrorNotice as ne}from"./error-notice.js";import{setContextToken as oe,weixinMessageToMsgContext as ie,getContextTokenFromMsgContext as re,isMediaItem as se}from"./inbound.js";import{sendWeixinMediaFile as ae}from"./send-media.js";import{markdownToPlainText as ce,sendMessageWeixin as D}from"./send.js";import{handleSlashCommand as me}from"./slash-commands.js";const de=k.join(X(),"weixin/media/outbound-temp");function ge(r){if(!r?.length)return"";for(const e of r)if(e.type===p.TEXT&&e.text_item?.text!=null)return String(e.text_item.text);return""}async function Re(r,e){if(!e?.channelRuntime){n.error(`processOneMessage: channelRuntime is undefined, skipping message from=${r.from_user_id}`),e.errLog("processOneMessage: channelRuntime is undefined, skip");return}const l=Date.now(),u=te(e.accountId),m=[],$={received:l},f=ge(r.item_list);if(f.startsWith("/")&&(await me(f,{to:r.from_user_id??"",contextToken:r.context_token,baseUrl:e.baseUrl,token:e.token,accountId:e.accountId,log:e.log,errLog:e.errLog},l,r.create_time_ms)).handled){n.info("[weixin] Slash command handled, skipping AI pipeline");return}if(u){const t=r.item_list?.map(o=>o.type).join(",")??"none";m.push("\u2500\u2500 \u6536\u6D88\u606F \u2500\u2500",`\u2502 seq=${r.seq??"?"} msgId=${r.message_id??"?"} from=${r.from_user_id??"?"}`,`\u2502 body="${f.slice(0,40)}${f.length>40?"\u2026":""}" (len=${f.length}) itemTypes=[${t}]`,`\u2502 sessionId=${r.session_id??"?"} contextToken=${r.context_token?"present":"none"}`)}const S={},R=r.item_list?.find(t=>t.type===p.IMAGE&&t.image_item?.media?.encrypt_query_param)??r.item_list?.find(t=>t.type===p.VIDEO&&t.video_item?.media?.encrypt_query_param)??r.item_list?.find(t=>t.type===p.FILE&&t.file_item?.media?.encrypt_query_param)??r.item_list?.find(t=>t.type===p.VOICE&&t.voice_item?.media?.encrypt_query_param&&!t.voice_item.text),v=R?void 0:r.item_list?.find(t=>t.type===p.TEXT&&t.ref_msg?.message_item&&se(t.ref_msg.message_item))?.ref_msg?.message_item,B=Date.now(),h=R??v;if(h){const t=v?"ref":"inbound",o=await Z(h,{cdnBaseUrl:e.cdnBaseUrl,saveMedia:e.channelRuntime.media.saveMediaBuffer,log:e.log,errLog:e.errLog,label:t});Object.assign(S,o)}const U=Date.now()-B;u&&m.push(h?`\u2502 mediaDownload: type=${h.type} cost=${U}ms`:"\u2502 mediaDownload: none");const s=ie(r,e.accountId,S),M=s.Body?.trim()??"";s.CommandBody=M;const b=r.from_user_id??"",{senderAllowedForCommands:I,commandAuthorized:w}=await J({cfg:e.config,rawBody:M,isGroup:!1,dmPolicy:"pairing",configuredAllowFrom:[],configuredGroupAllowFrom:[],senderId:b,isSenderAllowed:(t,o)=>o.length===0||o.includes(t),readAllowFromStore:async()=>{const t=Y(e.accountId);if(t.length>0)return t;const o=H(e.accountId)?.userId?.trim();return o?[o]:[]},runtime:e.channelRuntime.commands}),T=V({isGroup:!1,dmPolicy:"pairing",senderAllowedForCommands:I});if(T==="disabled"||T==="unauthorized"){n.info(`authorization: dropping message from=${b} outcome=${T}`);return}s.CommandAuthorized=w,n.debug(`authorization: senderId=${b} commandAuthorized=${String(w)} senderAllowed=${String(I)}`),u&&m.push("\u2500\u2500 \u9274\u6743 & \u8DEF\u7531 \u2500\u2500",`\u2502 auth: cmdAuthorized=${String(w)} senderAllowed=${String(I)}`);const c=e.channelRuntime.routing.resolveAgentRoute({cfg:e.config,channel:"openclaw-weixin",accountId:e.accountId,peer:{kind:"direct",id:s.To}});n.debug(`resolveAgentRoute: agentId=${c.agentId??"(none)"} sessionKey=${c.sessionKey??"(none)"} mainSessionKey=${c.mainSessionKey??"(none)"}`),c.agentId||n.error(`resolveAgentRoute: no agentId resolved for peer=${s.To} accountId=${e.accountId} \u2014 message will not be dispatched`),u&&(m.push(`\u2502 route: agent=${c.agentId??"none"} session=${c.sessionKey??"none"}`),$.preDispatch=Date.now()),s.SessionKey=c.sessionKey;const A=e.channelRuntime.session.resolveStorePath(e.config.session?.store,{agentId:c.agentId}),g=e.channelRuntime.reply.finalizeInboundContext(s);n.info(`inbound: from=${g.From} to=${g.To} bodyLen=${(g.Body??"").length} hasMedia=${!!(g.MediaPath??g.MediaUrl)}`),n.debug(`inbound context: ${E(JSON.stringify(g))}`),await e.channelRuntime.session.recordInboundSession({storePath:A,sessionKey:c.sessionKey,ctx:g,updateLastRoute:{sessionKey:c.mainSessionKey,channel:"openclaw-weixin",to:s.To,accountId:e.accountId},onRecordError:t=>e.errLog(`recordInboundSession: ${String(t)}`)}),n.debug(`recordInboundSession: done storePath=${A} sessionKey=${c.sessionKey??"(none)"}`);const d=re(s);d&&oe(e.accountId,r.from_user_id??"",d);const F=e.channelRuntime.reply.resolveHumanDelayConfig(e.config,c.agentId),C=!!e.typingTicket,K=G({start:C?()=>L({baseUrl:e.baseUrl,token:e.token,body:{ilink_user_id:s.To,typing_ticket:e.typingTicket,status:P.TYPING}}):async()=>{},stop:C?()=>L({baseUrl:e.baseUrl,token:e.token,body:{ilink_user_id:s.To,typing_ticket:e.typingTicket,status:P.CANCEL}}):async()=>{},onStartError:t=>e.log(`[weixin] typing send error: ${String(t)}`),onStopError:t=>e.log(`[weixin] typing cancel error: ${String(t)}`),keepaliveIntervalMs:5e3}),y=[],{dispatcher:O,replyOptions:W,markDispatchIdle:z}=e.channelRuntime.reply.createReplyDispatcherWithTyping({humanDelay:F,typingCallbacks:K,deliver:async t=>{const o=ce(t.text??""),i=t.mediaUrl??t.mediaUrls?.[0];n.debug(`outbound payload: ${E(JSON.stringify(t))}`),n.info(`outbound: to=${s.To} contextToken=${ee(d)} textLen=${o.length} mediaUrl=${i?"present":"none"}`),u&&y.push({textLen:o.length,media:i?"present":"none",preview:`${o.slice(0,60)}${o.length>60?"\u2026":""}`,ts:Date.now()});try{if(i){let a;if(!i.includes("://")||i.startsWith("file://"))i.startsWith("file://")?a=new URL(i).pathname:k.isAbsolute(i)?a=i:(a=k.resolve(i),n.debug(`outbound: resolved relative path ${i} -> ${a}`)),n.debug(`outbound: local file path resolved filePath=${a}`);else if(i.startsWith("http://")||i.startsWith("https://"))n.debug(`outbound: downloading remote mediaUrl=${i.slice(0,80)}...`),a=await Q(i,de),n.debug(`outbound: remote image downloaded to filePath=${a}`);else{n.warn(`outbound: unrecognized mediaUrl scheme, sending text only mediaUrl=${i.slice(0,80)}`),await D({to:s.To,text:o,opts:{baseUrl:e.baseUrl,token:e.token,contextToken:d}}),n.info(`outbound: text sent to=${s.To}`);return}await ae({filePath:a,to:s.To,text:o,opts:{baseUrl:e.baseUrl,token:e.token,contextToken:d},cdnBaseUrl:e.cdnBaseUrl}),n.info(`outbound: media sent OK to=${s.To}`)}else n.debug(`outbound: sending text message to=${s.To}`),await D({to:s.To,text:o,opts:{baseUrl:e.baseUrl,token:e.token,contextToken:d}}),n.info(`outbound: text sent OK to=${s.To}`)}catch(a){throw n.error(`outbound: FAILED to=${s.To} mediaUrl=${i??"none"} err=${String(a)} stack=${a.stack??""}`),a}},onError:(t,o)=>{e.errLog(`weixin reply ${o.kind}: ${String(t)}`);const i=t instanceof Error?t.message:String(t);let a;i.includes("remote media download failed")||i.includes("fetch")?a="\u26A0\uFE0F \u5A92\u4F53\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25\uFF0C\u8BF7\u68C0\u67E5\u94FE\u63A5\u662F\u5426\u53EF\u8BBF\u95EE\u3002":i.includes("getUploadUrl")||i.includes("CDN upload")||i.includes("upload_param")?a="\u26A0\uFE0F \u5A92\u4F53\u6587\u4EF6\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u3002":a=`\u26A0\uFE0F \u6D88\u606F\u53D1\u9001\u5931\u8D25\uFF1A${i}`,ne({to:s.To,contextToken:d,message:a,baseUrl:e.baseUrl,token:e.token,errLog:e.errLog})}});n.debug(`dispatchReplyFromConfig: starting agentId=${c.agentId??"(none)"}`);try{await e.channelRuntime.reply.withReplyDispatcher({dispatcher:O,run:()=>e.channelRuntime.reply.dispatchReplyFromConfig({ctx:g,cfg:e.config,dispatcher:O,replyOptions:{...W,disableBlockStreaming:!1}})}),n.debug(`dispatchReplyFromConfig: done agentId=${c.agentId??"(none)"}`)}catch(t){throw n.error(`dispatchReplyFromConfig: error agentId=${c.agentId??"(none)"} err=${String(t)}`),t}finally{if(z(),n.info(`debug-check: accountId=${e.accountId} debug=${String(u)} hasContextToken=${!!d} stateDir=${process.env.OPENCLAW_STATE_DIR??"(unset)"}`),u&&d){const t=Date.now(),o=r.create_time_ms??0,i=o>0?`${l-o}ms`:"N/A",a=($.preDispatch??l)-l,N=t-($.preDispatch??l),j=o>0?`${t-o}ms`:`${t-l}ms`;if(y.length>0){m.push("\u2500\u2500 \u56DE\u590D \u2500\u2500");for(const _ of y)m.push(`\u2502 textLen=${_.textLen} media=${_.media}`,`\u2502 text="${_.preview}"`);const x=y[0].ts;m.push(`\u2502 deliver\u8017\u65F6: ${t-x}ms`)}else m.push("\u2500\u2500 \u56DE\u590D \u2500\u2500","\u2502 (deliver\u672A\u6355\u83B7)");m.push("\u2500\u2500 \u8017\u65F6 \u2500\u2500",`\u251C \u5E73\u53F0\u2192\u63D2\u4EF6: ${i}`,`\u251C \u5165\u7AD9\u5904\u7406(auth+route+media): ${a}ms (mediaDownload: ${U}ms)`,`\u251C AI\u751F\u6210+\u56DE\u590D: ${N}ms`,`\u251C \u603B\u8017\u65F6: ${j}`,`\u2514 eventTime: ${o>0?new Date(o).toISOString():"N/A"}`);const q=`\u23F1 Debug \u5168\u94FE\u8DEF
2
+ ${m.join(`
3
+ `)}`;n.info(`debug-timing: sending to=${s.To}`);try{await D({to:s.To,text:q,opts:{baseUrl:e.baseUrl,token:e.token,contextToken:d}}),n.info("debug-timing: sent OK")}catch(x){n.error(`debug-timing: send FAILED err=${String(x)}`)}}}}export{Re as processOneMessage};
@@ -0,0 +1 @@
1
+ import m from"node:path";import{uploadFileAttachmentToWeixin as x,uploadFileToWeixin as g,uploadVideoToWeixin as W}from"../cdn/upload.js";import{getMimeFromFilename as u}from"../media/mime.js";import{logger as o}from"../util/logger.js";import{sendFileMessageWeixin as c,sendImageMessageWeixin as $,sendVideoMessageWeixin as F}from"./send.js";async function U(f){const{filePath:e,to:i,text:s,opts:t,cdnBaseUrl:a}=f,p=u(e),d={baseUrl:t.baseUrl,token:t.token};if(p.startsWith("video/")){o.info(`[weixin] sendWeixinMediaFile: uploading video filePath=${e} to=${i}`);const n=await W({filePath:e,toUserId:i,opts:d,cdnBaseUrl:a});return o.info(`[weixin] sendWeixinMediaFile: video upload done filekey=${n.filekey} size=${n.fileSize}`),F({to:i,text:s,uploaded:n,opts:t})}if(p.startsWith("image/")){o.info(`[weixin] sendWeixinMediaFile: uploading image filePath=${e} to=${i}`);const n=await g({filePath:e,toUserId:i,opts:d,cdnBaseUrl:a});return o.info(`[weixin] sendWeixinMediaFile: image upload done filekey=${n.filekey} size=${n.fileSize}`),$({to:i,text:s,uploaded:n,opts:t})}const l=m.basename(e);o.info(`[weixin] sendWeixinMediaFile: uploading file attachment filePath=${e} name=${l} to=${i}`);const r=await x({filePath:e,fileName:l,toUserId:i,opts:d,cdnBaseUrl:a});return o.info(`[weixin] sendWeixinMediaFile: file upload done filekey=${r.filekey} size=${r.fileSize}`),c({to:i,text:s,fileName:l,uploaded:r,opts:t})}export{U as sendWeixinMediaFile};
@@ -0,0 +1 @@
1
+ import{stripMarkdown as I}from"openclaw/plugin-sdk/weixin";import{sendMessage as l}from"../api/api.js";import{MessageItemType as g,MessageState as c,MessageType as x}from"../api/types.js";import{logger as a}from"../util/logger.js";import{generateId as _}from"../util/random.js";function f(){return _("openclaw-weixin")}function b(s){let e=s;return e=e.replace(/```[^\n]*\n?([\s\S]*?)```/g,(i,t)=>t.trim()),e=e.replace(/!\[[^\]]*\]\([^)]*\)/g,""),e=e.replace(/\[([^\]]+)\]\([^)]*\)/g,"$1"),e=e.replace(/^\|[\s:|-]+\|$/gm,""),e=e.replace(/^\|(.+)\|$/gm,(i,t)=>t.split("|").map(n=>n.trim()).join(" ")),e=I(e),e}function k(s){const{to:e,text:i,contextToken:t,clientId:n}=s,o=i?[{type:g.TEXT,text_item:{text:i}}]:[];return{msg:{from_user_id:"",to_user_id:e,client_id:n,message_type:x.BOT,message_state:c.FINISH,item_list:o.length?o:void 0,context_token:t??void 0}}}function M(s){const{to:e,contextToken:i,payload:t,clientId:n}=s;return k({to:e,text:t.text??"",contextToken:i,clientId:n})}async function h(s){const{to:e,text:i,opts:t}=s;t.contextToken||a.warn(`sendMessageWeixin: contextToken missing for to=${e}, sending without context`);const n=f(),o=M({to:e,contextToken:t.contextToken,payload:{text:i},clientId:n});try{await l({baseUrl:t.baseUrl,token:t.token,timeoutMs:t.timeoutMs,body:o})}catch(r){throw a.error(`sendMessageWeixin: failed to=${e} clientId=${n} err=${String(r)}`),r}return{messageId:n}}async function m(s){const{to:e,text:i,mediaItem:t,opts:n,label:o}=s,r=[];i&&r.push({type:g.TEXT,text_item:{text:i}}),r.push(t);let d="";for(const y of r){d=f();const u={msg:{from_user_id:"",to_user_id:e,client_id:d,message_type:x.BOT,message_state:c.FINISH,item_list:[y],context_token:n.contextToken??void 0}};try{await l({baseUrl:n.baseUrl,token:n.token,timeoutMs:n.timeoutMs,body:u})}catch(p){throw a.error(`${o}: failed to=${e} clientId=${d} err=${String(p)}`),p}}return a.info(`${o}: success to=${e} clientId=${d}`),{messageId:d}}async function q(s){const{to:e,text:i,uploaded:t,opts:n}=s;n.contextToken||a.warn(`sendImageMessageWeixin: contextToken missing for to=${e}, sending without context`),a.info(`sendImageMessageWeixin: to=${e} filekey=${t.filekey} fileSize=${t.fileSize} aeskey=present`);const o={type:g.IMAGE,image_item:{media:{encrypt_query_param:t.downloadEncryptedQueryParam,aes_key:Buffer.from(t.aeskey).toString("base64"),encrypt_type:1},mid_size:t.fileSizeCiphertext}};return m({to:e,text:i,mediaItem:o,opts:n,label:"sendImageMessageWeixin"})}async function P(s){const{to:e,text:i,uploaded:t,opts:n}=s;n.contextToken||a.warn(`sendVideoMessageWeixin: contextToken missing for to=${e}, sending without context`);const o={type:g.VIDEO,video_item:{media:{encrypt_query_param:t.downloadEncryptedQueryParam,aes_key:Buffer.from(t.aeskey).toString("base64"),encrypt_type:1},video_size:t.fileSizeCiphertext}};return m({to:e,text:i,mediaItem:o,opts:n,label:"sendVideoMessageWeixin"})}async function F(s){const{to:e,text:i,fileName:t,uploaded:n,opts:o}=s;o.contextToken||a.warn(`sendFileMessageWeixin: contextToken missing for to=${e}, sending without context`);const r={type:g.FILE,file_item:{media:{encrypt_query_param:n.downloadEncryptedQueryParam,aes_key:Buffer.from(n.aeskey).toString("base64"),encrypt_type:1},file_name:t,len:String(n.fileSize)}};return m({to:e,text:i,mediaItem:r,opts:o,label:"sendFileMessageWeixin"})}export{b as markdownToPlainText,F as sendFileMessageWeixin,q as sendImageMessageWeixin,h as sendMessageWeixin,P as sendVideoMessageWeixin};
@@ -0,0 +1,2 @@
1
+ import{logger as l}from"../util/logger.js";import{toggleDebugMode as c}from"./debug-mode.js";import{sendMessageWeixin as g}from"./send.js";async function m(e,t){const s={baseUrl:e.baseUrl,token:e.token,contextToken:e.contextToken};await g({to:e.to,text:t,opts:s})}async function u(e,t,s,d){const o=t.trim();o&&await m(e,o);const n=d??0,a=n>0?`${s-n}ms`:"N/A",r=["\u23F1 \u901A\u9053\u8017\u65F6",`\u251C \u4E8B\u4EF6\u65F6\u95F4: ${n>0?new Date(n).toISOString():"N/A"}`,`\u251C \u5E73\u53F0\u2192\u63D2\u4EF6: ${a}`,`\u2514 \u63D2\u4EF6\u5904\u7406: ${Date.now()-s}ms`].join(`
2
+ `);await m(e,r)}async function w(e,t,s,d){const o=e.trim();if(!o.startsWith("/"))return{handled:!1};const n=o.indexOf(" "),a=n===-1?o.toLowerCase():o.slice(0,n).toLowerCase(),r=n===-1?"":o.slice(n+1);l.info(`[weixin] Slash command: ${a}, args: ${r.slice(0,50)}`);try{switch(a){case"/echo":return await u(t,r,s,d),{handled:!0};case"/toggle-debug":{const i=c(t.accountId);return await m(t,i?"Debug \u6A21\u5F0F\u5DF2\u5F00\u542F":"Debug \u6A21\u5F0F\u5DF2\u5173\u95ED"),{handled:!0}}default:return{handled:!1}}}catch(i){l.error(`[weixin] Slash command error: ${String(i)}`);try{await m(t,`\u274C \u6307\u4EE4\u6267\u884C\u5931\u8D25: ${String(i).slice(0,200)}`)}catch{}return{handled:!0}}}export{w as handleSlashCommand};
@@ -0,0 +1 @@
1
+ import{getUpdates as P}from"../api/api.js";import{WeixinConfigManager as k}from"../api/config-cache.js";import{SESSION_EXPIRED_ERRCODE as w,pauseSession as F,getRemainingPauseMs as L}from"../api/session-guard.js";import{processOneMessage as O}from"../messaging/process-message.js";import{waitForWeixinRuntime as T}from"../runtime.js";import{getSyncBufFilePath as C,loadGetUpdatesBuf as B,saveGetUpdatesBuf as I}from"../storage/sync-buf.js";import{logger as W}from"../util/logger.js";import{redactBody as D}from"../util/redact.js";const S=35e3,o=3,N=3e4,G=2e3;async function Z(a){const{baseUrl:s,cdnBaseUrl:_,token:d,accountId:i,config:M,abortSignal:r,longPollTimeoutMs:U,setStatus:x}=a,p=a.runtime?.log??(()=>{}),g=a.runtime?.error??(e=>p(e)),t=W.withAccount(i);t.info("waiting for Weixin runtime...");let b;try{b=(await T()).channel,t.info(`Weixin runtime acquired, channelRuntime type: ${typeof b}`)}catch(e){throw t.error(`waitForWeixinRuntime() failed: ${String(e)}`),e}p(`weixin monitor started (${s}, account=${i})`),t.info(`Monitor started: baseUrl=${s} timeoutMs=${U??S}`);const $=C(i);t.debug(`syncFilePath: ${$}`);const h=B($);let u=h??"";h?(p(`[weixin] resuming from previous sync buf (${u.length} bytes)`),t.debug(`Using previous get_updates_buf (${u.length} bytes)`)):(p("[weixin] no previous sync buf, starting fresh"),t.info("No previous get_updates_buf found, starting fresh"));const y=new k({baseUrl:s,token:d},p);let m=U??S,n=0;for(;!r?.aborted;)try{t.debug(`getUpdates: get_updates_buf=${u.substring(0,50)}..., timeoutMs=${m}`);const e=await P({baseUrl:s,token:d,get_updates_buf:u,timeoutMs:m});if(t.debug(`getUpdates response: ret=${e.ret}, msgs=${e.msgs?.length??0}, get_updates_buf_length=${e.get_updates_buf?.length??0}`),e.longpolling_timeout_ms!=null&&e.longpolling_timeout_ms>0&&(m=e.longpolling_timeout_ms,t.debug(`Updated next poll timeout: ${m}ms`)),e.ret!==void 0&&e.ret!==0||e.errcode!==void 0&&e.errcode!==0){if(e.errcode===w||e.ret===w){F(i);const l=L(i);g(`weixin getUpdates: session expired (errcode ${w}), pausing bot for ${Math.ceil(l/6e4)} min`),t.error(`getUpdates: session expired (errcode=${e.errcode} ret=${e.ret}), pausing all requests for ${Math.ceil(l/6e4)} min`),n=0,await f(l,r);continue}n+=1,g(`weixin getUpdates failed: ret=${e.ret} errcode=${e.errcode} errmsg=${e.errmsg??""} (${n}/${o})`),t.error(`getUpdates failed: ret=${e.ret} errcode=${e.errcode} errmsg=${e.errmsg} response=${D(JSON.stringify(e))}`),n>=o?(g(`weixin getUpdates: ${o} consecutive failures, backing off 30s`),t.error(`getUpdates: ${o} consecutive failures, backing off 30s`),n=0,await f(N,r)):await f(G,r);continue}n=0,x?.({accountId:i,lastEventAt:Date.now()}),e.get_updates_buf!=null&&e.get_updates_buf!==""&&(r?.aborted||I($,e.get_updates_buf),u=e.get_updates_buf,t.debug(`Saved new get_updates_buf (${u.length} bytes)`));const E=e.msgs??[];for(const c of E){t.info(`inbound message: from=${c.from_user_id} types=${c.item_list?.map(R=>R.type).join(",")??"none"}`);const l=Date.now();x?.({accountId:i,lastEventAt:l,lastInboundAt:l});const v=c.from_user_id??"",A=await y.getForUser(v,c.context_token);await O(c,{accountId:i,config:M,channelRuntime:b,baseUrl:s,cdnBaseUrl:_,token:d,typingTicket:A.typingTicket,log:a.runtime?.log??(()=>{}),errLog:g})}}catch(e){if(r?.aborted){t.info("Monitor stopped (aborted)");return}n+=1,g(`weixin getUpdates error (${n}/${o}): ${String(e)}`),t.error(`getUpdates error: ${String(e)}, stack=${e.stack}`),n>=o?(g(`weixin getUpdates: ${o} consecutive failures, backing off 30s`),t.error(`getUpdates: ${o} consecutive failures, backing off 30s`),n=0,await f(3e4,r)):await f(2e3,r)}t.info("Monitor ended")}function f(a,s){return new Promise((_,d)=>{const i=setTimeout(_,a);s?.addEventListener("abort",()=>{clearTimeout(i),d(new Error("aborted"))},{once:!0})})}export{Z as monitorWeixinProvider};
@@ -0,0 +1 @@
1
+ import{logger as i}from"./util/logger.js";let e=null;function a(n){e=n,i.info("[runtime] setWeixinRuntime called, runtime set successfully")}function c(){if(!e)throw new Error("Weixin runtime not initialized");return e}const o=100,u=1e4;async function l(n=u){const t=Date.now();for(;!e;){if(Date.now()-t>n)throw new Error("Weixin runtime initialization timeout");await new Promise(r=>setTimeout(r,o))}return e}async function g(n){return n.channelRuntime?(i.debug("[runtime] channelRuntime from gateway context"),n.channelRuntime):e?(i.debug("[runtime] channelRuntime from register() global"),e.channel):(i.warn("[runtime] no channelRuntime on ctx and no global runtime yet; waiting for register()"),(await l(n.waitTimeoutMs??u)).channel)}export{c as getWeixinRuntime,g as resolveWeixinChannelRuntime,a as setWeixinRuntime,l as waitForWeixinRuntime};
@@ -0,0 +1 @@
1
+ import r from"node:os";import o from"node:path";function i(){return process.env.OPENCLAW_STATE_DIR?.trim()||process.env.CLAWDBOT_STATE_DIR?.trim()||o.join(r.homedir(),".openclaw")}export{i as resolveStateDir};
@@ -0,0 +1 @@
1
+ import i from"node:fs";import r from"node:path";import{deriveRawAccountId as d}from"../auth/accounts.js";import{resolveStateDir as c}from"./state-dir.js";function a(){return r.join(c(),"openclaw-weixin","accounts")}function S(n){return r.join(a(),`${n}.sync.json`)}function g(){return r.join(c(),"agents","default","sessions",".openclaw-weixin-sync","default.json")}function s(n){try{const t=i.readFileSync(n,"utf-8"),e=JSON.parse(t);if(typeof e.get_updates_buf=="string")return e.get_updates_buf}catch{}}function _(n){const t=s(n);if(t!==void 0)return t;const e=r.basename(n,".sync.json"),o=d(e);if(o){const f=r.join(a(),`${o}.sync.json`),u=s(f);if(u!==void 0)return u}return s(g())}function j(n,t){const e=r.dirname(n);i.mkdirSync(e,{recursive:!0}),i.writeFileSync(n,JSON.stringify({get_updates_buf:t},null,0),"utf-8")}export{S as getSyncBufFilePath,_ as loadGetUpdatesBuf,j as saveGetUpdatesBuf};
@@ -0,0 +1,2 @@
1
+ import a from"node:fs";import E from"node:os";import O from"node:path";import{resolvePreferredOpenClawTmpDir as N}from"openclaw/plugin-sdk/weixin";const c=N(),l="gateway/channels/openclaw-weixin",S="node",w=process.versions.node,R=E.hostname()||"unknown",I=["qbotclaw"],n={TRACE:1,DEBUG:2,INFO:3,WARN:4,ERROR:5,FATAL:6},h="INFO";function A(){const e=process.env.OPENCLAW_LOG_LEVEL?.toUpperCase();return e&&e in n?n[e]:n[h]}let f=A();function y(e){const t=e.toUpperCase();if(!(t in n))throw new Error(`Invalid log level: ${e}. Valid levels: ${Object.keys(n).join(", ")}`);f=n[t]}function m(e){const t=-e.getTimezoneOffset()*6e4,r=t>=0?"+":"-",s=Math.abs(e.getTimezoneOffset()),o=`${r}${String(Math.floor(s/60)).padStart(2,"0")}:${String(s%60).padStart(2,"0")}`;return new Date(e.getTime()+t).toISOString().replace("Z",o)}function D(e){return m(e).slice(0,10)}function L(){const e=D(new Date);return O.join(c,`qbotclaw-${e}.log`)}let u=!1;function M(e){return e?`${l}/${e}`:l}function i(e,t,r){if((n[e]??n.INFO)<f)return;const o=new Date,g=M(r),p=r?`[${r}] ${t}`:t,v=JSON.stringify({0:g,1:p,_meta:{runtime:S,runtimeVersion:w,hostname:R,name:g,parentNames:I,date:o.toISOString(),logLevelId:n[e]??n.INFO,logLevelName:e},time:m(o)});try{u||(a.mkdirSync(c,{recursive:!0}),u=!0),a.appendFileSync(L(),`${v}
2
+ `,"utf-8")}catch{}}function d(e){return{info(t){i("INFO",t,e)},debug(t){i("DEBUG",t,e)},warn(t){i("WARN",t,e)},error(t){i("ERROR",t,e)},withAccount(t){return d(t)},getLogFilePath(){return L()},close(){}}}const F=d();export{F as logger,y as setLogLevel};
@@ -0,0 +1 @@
1
+ import r from"node:crypto";function o(t){return`${t}:${Date.now()}-${r.randomBytes(4).toString("hex")}`}function i(t,n){return`${t}-${Date.now()}-${r.randomBytes(4).toString("hex")}${n}`}export{o as generateId,i as tempFileName};
@@ -0,0 +1 @@
1
+ const i=200,o=6;function r(t,n){return t?t.length<=n?t:`${t.slice(0,n)}\u2026(len=${t.length})`:""}function c(t,n=6){return t?t.length<=n?`****(len=${t.length})`:`${t.slice(0,n)}\u2026(len=${t.length})`:"(none)"}const u=/\b(context_token|bot_token|token|authorization|Authorization)\b/;function a(t,n=200){if(!t)return"(empty)";const e=t.replace(/"(context_token|bot_token|token|authorization|Authorization)"\s*:\s*"[^"]*"/g,'"$1":"<redacted>"');return e.length<=n?e:`${e.slice(0,n)}\u2026(truncated, totalLen=${e.length})`}function g(t){try{const n=new URL(t),e=`${n.origin}${n.pathname}`;return n.search?`${e}?<redacted>`:e}catch{return r(t,80)}}export{a as redactBody,c as redactToken,g as redactUrl,r as truncate};
@@ -0,0 +1 @@
1
+ import{spawn as a}from"node:child_process";import m from"node:path";import{fileURLToPath as f}from"node:url";const w=m.dirname(f(import.meta.url)),S={id:"x5use-browser-control",name:"X5use Browser Control",description:"\u542F\u52A8\u672C\u5730 MCP SSE \u670D\u52A1\uFF0C\u901A\u8FC7 WebSocket \u4E0E\u6D4F\u89C8\u5668\u63D2\u4EF6\u901A\u4FE1\uFF0C\u63D0\u4F9B\u6D4F\u89C8\u5668\u8FDC\u7A0B\u63A7\u5236\u80FD\u529B\u3002",register(e){const t=e.pluginConfig??{};if(!(t.enabled!==!1)){e.logger.info("[x5use-browser-control] \u63D2\u4EF6\u5DF2\u7981\u7528");return}const s=t.httpPort??38789,l=t.wsPort??8765,u=t.wsHost??"127.0.0.1",c=t.toolTimeoutMs??3e4;process.env.X5_MCP_HTTP_PORT=String(s),console.log("x5use-browser-control",{httpPort:s,wsPort:l,wsHost:u,toolTimeoutMs:c});let o=null;e.registerService({id:"x5use-browser-control",start:async()=>{e.logger.info("[x5use-browser-control] \u6B63\u5728\u542F\u52A8 MCP SSE \u670D\u52A1...");const n=m.join(w,"src","server.ts");o=a(process.execPath,["--import","tsx/esm",n],{cwd:w,env:{...process.env,MCP_HTTP_PORT:String(s),WS_PORT:String(l),WS_HOST:u,TOOL_TIMEOUT_MS:String(c)},stdio:["pipe","pipe","pipe"],detached:!1}),o.stdout?.on("data",r=>{e.logger.info(`[x5use-browser-control] ${r.toString().trim()}`)}),o.stderr?.on("data",r=>{e.logger.error(`[x5use-browser-control] ${r.toString().trim()}`)}),o.on("exit",(r,i)=>{e.logger.info(`[x5use-browser-control] \u5B50\u8FDB\u7A0B\u9000\u51FA code=${r} signal=${i}`),o=null}),o.on("error",r=>{e.logger.error(`[x5use-browser-control] \u5B50\u8FDB\u7A0B\u542F\u52A8\u5931\u8D25: ${r.message}`),o=null}),await new Promise((r,i)=>{const g=setTimeout(()=>{i(new Error("MCP SSE \u670D\u52A1\u542F\u52A8\u8D85\u65F6"))},15e3);o.stdout?.on("data",P=>{P.toString().includes("MCP SSE \u670D\u52A1\u5DF2\u542F\u52A8")&&(clearTimeout(g),r())}),o.on("exit",()=>{clearTimeout(g),i(new Error("\u5B50\u8FDB\u7A0B\u610F\u5916\u9000\u51FA"))})}),e.logger.info(`[x5use-browser-control] MCP SSE \u670D\u52A1\u5DF2\u5C31\u7EEA http://127.0.0.1:${s}/sse`)},stop:async()=>{o&&(e.logger.info("[x5use-browser-control] \u6B63\u5728\u5173\u95ED MCP SSE \u670D\u52A1..."),o.kill("SIGTERM"),await new Promise(n=>{const r=setTimeout(()=>{o?.kill("SIGKILL"),n()},5e3);o.on("exit",()=>{clearTimeout(r),n()})}),o=null,e.logger.info("[x5use-browser-control] MCP SSE \u670D\u52A1\u5DF2\u5173\u95ED"))}})}};var x=S;export{x as default};
@@ -12,7 +12,7 @@
12
12
  },
13
13
  "openclaw": {
14
14
  "extensions": [
15
- "./index.ts"
15
+ "./index.js"
16
16
  ]
17
17
  }
18
18
  }
@@ -0,0 +1 @@
1
+ import{WebSocketManager as a}from"./websocket-manager.js";const l=["_user_guid","_user_qimei36","_user_task_id","_user_qua2","signal","sessionId","requestId","requestInfo"];class g{name="browser_use_tool";_wsManager;_locked=!1;_waitQueue=[];_toolTimeoutMs;constructor(e={}){this._wsManager=new a({host:e.wsHost,port:e.wsPort}),this._toolTimeoutMs=e.toolTimeoutMs??3e4}async startWebSocket(){this._wsManager._serverStarted||(await this._wsManager.startServer(),console.log("[BrowserUseTool] WebSocket \u670D\u52A1\u5668\u5DF2\u901A\u8FC7 startWebSocket \u542F\u52A8"))}async _ensureConnected(){this._wsManager._serverStarted||(console.log("[BrowserUseTool] WebSocket \u5C1A\u672A\u542F\u52A8\uFF0C\u6B63\u5728\u542F\u52A8..."),await this._wsManager.startServer(),console.log("[BrowserUseTool] WebSocket \u5DF2\u542F\u52A8\u5B8C\u6210"))}_filterArguments(e){const s={...e};for(const t of l)delete s[t];return s}async _acquireLock(){if(!this._locked){this._locked=!0;return}return new Promise(e=>{this._waitQueue.push(e)})}_releaseLock(){this._waitQueue.length>0?this._waitQueue.shift()():this._locked=!1}async execute(e,s){await this._acquireLock();try{await this._ensureConnected(),console.log(`[BrowserUseTool] Execute: ${e} \u539F\u59CB args:`,JSON.stringify(s,null,2));let t=s;if(typeof s=="string")try{t=JSON.parse(s),console.log("[BrowserUseTool] args \u662F JSON \u5B57\u7B26\u4E32\uFF0C\u5DF2\u89E3\u6790:",JSON.stringify(t,null,2))}catch{console.warn("[BrowserUseTool] args \u662F\u5B57\u7B26\u4E32\u4F46\u65E0\u6CD5\u89E3\u6790\u4E3A JSON:",s)}const o=this._filterArguments(t);console.log(`[BrowserUseTool] Execute: ${e} \u8FC7\u6EE4\u540E args:`,JSON.stringify(o,null,2));const i={[e]:o},n={actionName:e,actionParams:JSON.stringify(i)},r=await this._wsManager.sendMessage(n,this._toolTimeoutMs);return[{type:"text",text:typeof r=="string"?r:JSON.stringify(r)}]}catch(t){return[{type:"text",text:`Error executing action ${e}: ${t instanceof Error?t.message:String(t)}`}]}finally{this._releaseLock()}}async cleanup(){await this._wsManager.cleanup()}}export{g as BrowserUseTool};
@@ -0,0 +1 @@
1
+ import{Server as g}from"@modelcontextprotocol/sdk/server/index.js";import{SSEServerTransport as d}from"@modelcontextprotocol/sdk/server/sse.js";import{ListToolsRequestSchema as w,CallToolRequestSchema as O}from"@modelcontextprotocol/sdk/types.js";import f from"express";import{BrowserUseTool as I}from"./browser-use-tool.js";import{BROWSER_TOOLS as P}from"./tools.js";const c=Number(process.env.MCP_HTTP_PORT??38789),p=process.env.WS_HOST??"127.0.0.1",S=Number(process.env.WS_PORT??8765),R=Number(process.env.TOOL_TIMEOUT_MS??12e4),a=f(),l=new I({wsHost:p,wsPort:S,toolTimeoutMs:R});await l.startWebSocket(),console.log(`[server] WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5728 ws://${p}:${S}`);const i=new Map;a.get("/sse",async(r,e)=>{const o=new d("/messages",e),s=o.sessionId;i.set(s,o),e.on("close",()=>{i.delete(s),console.log(`[server] SSE \u8FDE\u63A5\u65AD\u5F00: ${s}`)}),await h().connect(o),console.log(`[server] SSE \u8FDE\u63A5\u5EFA\u7ACB: ${s}`)}),a.post("/messages",async(r,e)=>{const o=r.query.sessionId,s=i.get(o);if(!s){e.status(404).json({error:"Session not found"});return}await s.handlePostMessage(r,e)});function h(){const r=new g({name:"x5use-browser-control",version:"0.1.0"},{capabilities:{tools:{}}});return r.setRequestHandler(w,async()=>({tools:P.map(e=>({name:e.name,description:e.description,inputSchema:e.schema}))})),r.setRequestHandler(O,async e=>{const{name:o,arguments:s={}}=e.params;return console.log(`[server] Tool "${o}" \u6536\u5230\u539F\u59CB args:`,JSON.stringify(s,null,2)),{content:(await l.execute(o,s)).map(n=>({type:"text",text:typeof n.text=="string"?n.text:JSON.stringify(n)}))}}),r}const M=a.listen(c,"127.0.0.1",()=>{console.log(`[server] MCP SSE \u670D\u52A1\u5DF2\u542F\u52A8\u5728 http://127.0.0.1:${c}`),console.log(`[server] SSE \u7AEF\u70B9: http://127.0.0.1:${c}/sse`)});process.stdin.resume(),process.stdin.on("end",()=>{console.log("[server] \u68C0\u6D4B\u5230 stdin \u5173\u95ED\uFF08\u7236\u8FDB\u7A0B\u53EF\u80FD\u5DF2\u9000\u51FA\uFF09\uFF0C\u6B63\u5728\u81EA\u52A8\u5173\u95ED\u670D\u52A1..."),t()}),process.stdin.on("error",()=>{console.log("[server] \u68C0\u6D4B\u5230 stdin \u9519\u8BEF\uFF08\u7236\u8FDB\u7A0B\u53EF\u80FD\u5DF2\u9000\u51FA\uFF09\uFF0C\u6B63\u5728\u81EA\u52A8\u5173\u95ED\u670D\u52A1..."),t()});const u=process.ppid,m=setInterval(()=>{try{process.kill(u,0)}catch{console.log(`[server] \u7236\u8FDB\u7A0B (PID: ${u}) \u5DF2\u9000\u51FA\uFF0C\u6B63\u5728\u81EA\u52A8\u5173\u95ED\u670D\u52A1...`),clearInterval(m),t()}},2e3);let v=!1;async function t(){v||(v=!0,console.log("[server] \u6B63\u5728\u5173\u95ED\u670D\u52A1..."),clearInterval(m),M.close(()=>{console.log("[server] HTTP \u670D\u52A1\u5668\u5DF2\u5173\u95ED")}),await l.cleanup(),process.exit(0))}process.on("SIGINT",t),process.on("SIGTERM",t);
@@ -0,0 +1 @@
1
+ const t=[{name:"go_to_url",description:"Visit a specific URL",schema:{type:"object",properties:{url:{type:"string",description:"The URL to navigate to"}},required:["url"]}},{name:"go_back",description:"Navigate back",schema:{type:"object",properties:{}}},{name:"wait",description:"Wait for a specified amount of time",schema:{type:"object",properties:{seconds:{type:"integer",description:"Number of seconds to wait"}},required:["seconds"]}},{name:"click_element",description:"Click on a specific element",schema:{type:"object",properties:{index:{type:"integer",description:"Element index"},xpath:{type:"string",description:"Element XPath"}},required:["index"]}},{name:"input_text",description:"Input text into a specific element",schema:{type:"object",properties:{index:{type:"integer",description:"Element index"},text:{type:"string",description:"Text to input"},xpath:{type:"string",description:"Element XPath"}},required:["index","text"]}},{name:"switch_tab",description:"Switch to <page_id> tab",schema:{type:"object",properties:{page_id:{type:"integer",description:"Tab page ID"}},required:["page_id"]}},{name:"open_tab",description:"Open a new tab",schema:{type:"object",properties:{url:{type:"string",description:"URL to open in new tab"}},required:["url"]}},{name:"get_content",description:"Get the content of the current page, in Markdown. Use this tool if you want to record the detailed information of the page, e.g. to generate cross-webpage report.",schema:{type:"object",properties:{}}},{name:"scroll_down",description:"Scroll the page down",schema:{type:"object",properties:{amount:{type:"integer",description:"Scroll amount in pixels"}},required:["amount"]}},{name:"scroll_up",description:"Scroll the page up",schema:{type:"object",properties:{amount:{type:"integer",description:"Scroll amount in pixels"}},required:["amount"]}},{name:"send_keys",description:"Send special keys (e.g., Enter, Control+O)",schema:{type:"object",properties:{keys:{type:"string",description:"Keys to send, e.g. Enter, Control+O"}},required:["keys"]}},{name:"scroll_to_text",description:"Scroll to a specific text on the page",schema:{type:"object",properties:{text:{type:"string",description:"Text to scroll to"}},required:["text"]}},{name:"get_dropdown_options",description:"Get all options from a dropdown element",schema:{type:"object",properties:{index:{type:"integer",description:"Dropdown element index"}},required:["index"]}},{name:"select_dropdown_option",description:"Select an option from a dropdown element",schema:{type:"object",properties:{index:{type:"integer",description:"Dropdown element index"},text:{type:"string",description:"Option text to select"}},required:["index","text"]}},{name:"done",description:"Complete task with return text and success status",schema:{type:"object",properties:{text:{type:"string",description:"Result text"},success:{type:"boolean",description:"Whether the task succeeded"}},required:["text","success"]}},{name:"find_text_on_page",description:"Searches for the specified text on the current webpage and scrolls to its location. If the function is called multiple times with the same text, it will navigate to the next occurrence of the text on subsequent calls.",schema:{type:"object",properties:{search_text:{type:"string",description:"Text to search for"}},required:["search_text"]}},{name:"scroll_to_bottom",description:"Scrolls the current webpage to the bottom. This can be useful for loading additional content on infinite scrolling pages or for reaching the footer quickly.",schema:{type:"object",properties:{}}},{name:"scroll_to_top",description:"Scrolls the current webpage to the top. This is useful for quickly returning to the beginning of the page.",schema:{type:"object",properties:{}}},{name:"download_file",description:"Download a file with the given index ID. It returns whether start downloading.",schema:{type:"object",properties:{index:{type:"integer",description:"File element index"}},required:["index"]}}],i=new Set(t.map(e=>e.name));export{t as BROWSER_TOOLS,i as TOOL_NAMES};
@@ -0,0 +1 @@
1
+ import{v4 as b}from"uuid";import{WebSocketServer as k,WebSocket as v}from"ws";const M=["127.0.0.1","::1","::ffff:127.0.0.1"];class C{_connectedClients=new Set;_clientConnections=new Map;_serverStarted=!1;_server=null;_pendingFuture=null;_requestQueue=[];_processing=!1;_host;_port;constructor(e={}){this._host=e.host??"127.0.0.1",this._port=e.port??8765}async startServer(){return new Promise((e,t)=>{try{this._server=new k({host:this._host,port:this._port}),this._server.on("listening",()=>{console.log(`[WebSocketManager] WebSocket \u670D\u52A1\u5668\u5DF2\u542F\u52A8\u5728 ws://${this._host}:${this._port}`),console.log(`[WebSocketManager] \u5141\u8BB8\u8FDE\u63A5\u7684IP\u5730\u5740: ${M.join(", ")}`),this._serverStarted=!0,e()}),this._server.on("connection",(o,n)=>{this._handleClient(o,n)}),this._server.on("error",o=>{console.error("[WebSocketManager] \u542F\u52A8 WebSocket \u670D\u52A1\u5668\u5931\u8D25:",o),t(o)})}catch(o){console.error("[WebSocketManager] \u542F\u52A8 WebSocket \u670D\u52A1\u5668\u5931\u8D25:",o),t(o)}})}_handleClient(e,t){const o=t.socket.remoteAddress??"unknown",n=b();this._clientConnections.set(n,{ip:o,connectedAt:Date.now(),ws:e}),this._connectedClients.add(e),console.log(`[WebSocketManager] \u65B0\u5BA2\u6237\u7AEF\u8FDE\u63A5 (ID: ${n}, IP: ${o})`);const a=JSON.stringify({type:"init",client_id:n,message:"\u8BF7\u53D1\u9001 connection_confirm \u6D88\u606F\u4EE5\u786E\u8BA4\u8FDE\u63A5"});e.send(a),console.log(`[WebSocketManager] >>> \u53D1\u9001\u7ED9\u5BA2\u6237\u7AEF ${n}: ${a}`),e.isAlive=!0,e.on("pong",()=>{e.isAlive=!0}),e.on("message",r=>{try{const u=r.toString();console.log(`[WebSocketManager] <<< \u6536\u5230\u5BA2\u6237\u7AEF ${n} \u7684\u6D88\u606F: ${String(u).slice(0,50)}`);const g=JSON.parse(u);if(g.type==="connection_confirm"){console.log(`[WebSocketManager] \u5BA2\u6237\u7AEF ${n} \u5DF2\u786E\u8BA4\u8FDE\u63A5`);return}if(this._pendingFuture){const i=this._pendingFuture;this._pendingFuture=null;const p=g.actionResult!==void 0?g.actionResult:g;i.resolve(p);return}console.warn(`[WebSocketManager] \u6536\u5230\u54CD\u5E94\u4F46\u6CA1\u6709\u7B49\u5F85\u4E2D\u7684\u8BF7\u6C42\uFF0C\u5FFD\u7565: ${u}`)}catch{console.log(`[WebSocketManager] <<< \u6536\u5230\u5BA2\u6237\u7AEF ${n} \u7684\u539F\u59CB\u6D88\u606F(\u975EJSON): ${r.toString()}`)}}),e.on("close",(r,u)=>{console.log(`[WebSocketManager] \u5BA2\u6237\u7AEF ${n} \u65AD\u5F00\u8FDE\u63A5 - \u72B6\u6001\u7801: ${r}, \u539F\u56E0: ${u.toString()}`),this._handleConnectionClosed(e,n)}),e.on("error",r=>{console.error(`[WebSocketManager] \u5BA2\u6237\u7AEF ${n} \u8FDE\u63A5\u9519\u8BEF:`,r),this._handleConnectionClosed(e,n)})}_handleConnectionClosed(e,t){console.log(`[WebSocketManager] \u5BA2\u6237\u7AEF ${t} \u65AD\u5F00\u8FDE\u63A5`),this._connectedClients.delete(e),this._clientConnections.delete(t),console.log(`[WebSocketManager] \u5F53\u524D\u8FDE\u63A5\u6570: ${this._connectedClients.size}`)}async sendMessage(e,t=3e4){return new Promise((o,n)=>{this._requestQueue.push({message:e,timeout:t,resolve:o,reject:n}),this._processQueue()})}_processQueue(){if(this._processing||this._requestQueue.length===0)return;this._processing=!0;const e=this._requestQueue.shift();this._executeRequest(e).finally(()=>{this._processing=!1,this._processQueue()})}async _executeRequest(e){const{message:t,timeout:o,resolve:n,reject:h}=e,a=t.actionName,r=Date.now()+o;for(;this._connectedClients.size===0;){if(Date.now()>=r){console.warn(`[WebSocketManager] \u7B49\u5F85\u5BA2\u6237\u7AEF\u8FDE\u63A5\u8D85\u65F6\uFF0C\u653E\u5F03\u8BF7\u6C42: ${a}`),h(new Error(`\u7B49\u5F85\u5BA2\u6237\u7AEF\u8FDE\u63A5\u8D85\u65F6: ${a}`));return}console.log("[WebSocketManager] \u7B49\u5F85\u5BA2\u6237\u7AEF\u8FDE\u63A5..."),await new Promise(s=>setTimeout(s,1e3))}const u=Date.now(),g=r-Date.now();if(g<=0){console.warn(`[WebSocketManager] \u7B49\u5F85\u5BA2\u6237\u7AEF\u8FDE\u63A5\u540E\u5DF2\u65E0\u5269\u4F59\u65F6\u95F4\uFF0C\u653E\u5F03\u8BF7\u6C42: ${a}`),h(new Error(`\u7B49\u5F85\u5BA2\u6237\u7AEF\u8FDE\u63A5\u540E\u5DF2\u65E0\u5269\u4F59\u65F6\u95F4: ${a}`));return}let i=null;const p=new Promise((s,d)=>{this._pendingFuture={resolve:s,reject:d},i=setTimeout(()=>{this._pendingFuture&&(this._pendingFuture=null,d(new Error(`\u7B49\u5F85\u54CD\u5E94\u8D85\u65F6: ${JSON.stringify(t)}`)))},g)});try{console.log(`[WebSocketManager] \u53D1\u9001\u6D88\u606F: ${JSON.stringify(t)}`);const s=new Set;let d=0;for(const l of this._connectedClients)try{let c=null;for(const[S,m]of this._clientConnections.entries())if(m.ws===l){c=S;break}if(c&&l.readyState===v.OPEN){const S=JSON.stringify(t);console.log(`[WebSocketManager] >>> \u53D1\u9001\u7ED9\u5BA2\u6237\u7AEF ${c}: ${S}`),l.send(S),d++}else console.warn("[WebSocketManager] \u627E\u4E0D\u5230\u5BA2\u6237\u7AEFID\u6216\u8FDE\u63A5\u4E0D\u53EF\u7528\uFF0C\u8DF3\u8FC7\u53D1\u9001\u6D88\u606F"),s.add(l)}catch(c){console.warn(`[WebSocketManager] \u5411\u5BA2\u6237\u7AEF\u53D1\u9001\u6D88\u606F\u5931\u8D25: ${c instanceof Error?c.message:String(c)}`),s.add(l)}for(const l of s){this._connectedClients.delete(l);for(const[c,S]of this._clientConnections.entries())if(S.ws===l){this._clientConnections.delete(c);break}}if(d===0){i&&clearTimeout(i),this._pendingFuture=null,n("Error: No active client connections");return}console.log(`[WebSocketManager] \u6D88\u606F\u5DF2\u6210\u529F\u53D1\u9001\u7ED9 ${d} \u4E2A\u5BA2\u6237\u7AEF`);const _=await p;i&&clearTimeout(i);const f=Date.now()-u;console.log(`[WebSocketManager] \u6536\u5230\u54CD\u5E94: ${JSON.stringify(_)}`),console.log(`[WebSocketManager] \u23F1 \u8BF7\u6C42\u8017\u65F6 [${a}]: ${f}ms`),n(typeof _=="string"?_:JSON.stringify(_))}catch(s){i&&clearTimeout(i),this._pendingFuture=null,console.error(`[WebSocketManager] \u53D1\u9001\u6D88\u606F\u65F6\u51FA\u9519: ${s instanceof Error?s.message:String(s)}`),h(s)}}async cleanup(){console.log(`[WebSocketManager] \u5F00\u59CB\u6E05\u7406\u8FDE\u63A5 - \u5F53\u524D\u8FDE\u63A5\u6570: ${this._connectedClients.size}`);for(const e of this._connectedClients)try{e.close()}catch(t){console.error("[WebSocketManager] \u5173\u95ED\u5BA2\u6237\u7AEF\u8FDE\u63A5\u65F6\u51FA\u9519:",t)}if(this._connectedClients.clear(),this._clientConnections.clear(),console.log("[WebSocketManager] \u6240\u6709\u5BA2\u6237\u7AEF\u8FDE\u63A5\u5DF2\u5173\u95ED"),this._server)return new Promise(e=>{this._server.close(()=>{this._server=null,console.log("[WebSocketManager] WebSocket \u670D\u52A1\u5668\u5DF2\u5173\u95ED"),e()})})}}export{C as WebSocketManager};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qqbrowser/openclaw-qbot",
3
- "version": "0.0.127",
3
+ "version": "0.0.129",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/openclaw/openclaw#readme",
@@ -1,38 +0,0 @@
1
- import type { OpenClawPluginApi } from "openclaw/plugin-sdk/memory-core";
2
- import { emptyPluginConfigSchema } from "openclaw/plugin-sdk/memory-core";
3
-
4
- const memoryCorePlugin = {
5
- id: "memory-core",
6
- name: "Memory (Core)",
7
- description: "File-backed memory search tools and CLI",
8
- kind: "memory",
9
- configSchema: emptyPluginConfigSchema(),
10
- register(api: OpenClawPluginApi) {
11
- api.registerTool(
12
- (ctx) => {
13
- const memorySearchTool = api.runtime.tools.createMemorySearchTool({
14
- config: ctx.config,
15
- agentSessionKey: ctx.sessionKey,
16
- });
17
- const memoryGetTool = api.runtime.tools.createMemoryGetTool({
18
- config: ctx.config,
19
- agentSessionKey: ctx.sessionKey,
20
- });
21
- if (!memorySearchTool || !memoryGetTool) {
22
- return null;
23
- }
24
- return [memorySearchTool, memoryGetTool];
25
- },
26
- { names: ["memory_search", "memory_get"] },
27
- );
28
-
29
- api.registerCli(
30
- ({ program }) => {
31
- api.runtime.tools.registerMemoryCli(program);
32
- },
33
- { commands: ["memory"] },
34
- );
35
- },
36
- };
37
-
38
- export default memoryCorePlugin;