@qqbrowser/openclaw-qbot 0.0.148 → 0.10.1

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 (1698) hide show
  1. package/dist/account-lookup-CW-_CL7y.js +0 -1
  2. package/dist/acp-cli-BHsTg1ac.js +0 -1
  3. package/dist/acp-cli-D_WC9SZX.js +0 -1
  4. package/dist/active-listener-1MJXk3Iq.js +0 -1
  5. package/dist/active-listener-D8VOdVx3.js +0 -1
  6. package/dist/active-listener-D8uP0H5W.js +0 -1
  7. package/dist/active-listener-DeKRt_UV.js +0 -1
  8. package/dist/agent-scope-DAWJwFfl.js +0 -1
  9. package/dist/agent-scope-DXZc3eNT.js +0 -1
  10. package/dist/agents-Cd1yL8fG.js +0 -1
  11. package/dist/agents.config-CaRMmWS8.js +0 -1
  12. package/dist/agents.config-DSCcdYtv.js +0 -1
  13. package/dist/allow-from-B6dI7oz8.js +0 -1
  14. package/dist/allow-from-DEeVIPKS.js +0 -1
  15. package/dist/api-BeG0ObSq.js +0 -1
  16. package/dist/api-Dx8x1KTs.js +0 -1
  17. package/dist/api-key-rotation-BLt5E2Cw.js +0 -1
  18. package/dist/api-key-rotation-BpEL4aeX.js +0 -1
  19. package/dist/api-key-rotation-DayEfYpa.js +0 -1
  20. package/dist/api-key-rotation-Rz2ESQSA.js +0 -1
  21. package/dist/arg-split-BOqSMBuf.js +0 -1
  22. package/dist/arg-split-DE5RqDHq.js +0 -1
  23. package/dist/audio-preflight-8WB1LJBS.js +0 -1
  24. package/dist/audio-preflight-BcPHPfr_.js +0 -1
  25. package/dist/audio-preflight-DTO631Yb.js +0 -1
  26. package/dist/audio-preflight-O-0lDeKh.js +0 -1
  27. package/dist/audio-transcription-runner-9H9eUZ1D.js +0 -1
  28. package/dist/audio-transcription-runner-BIKj1CBU.js +0 -1
  29. package/dist/audio-transcription-runner-BwjMhAUa.js +0 -1
  30. package/dist/audio-transcription-runner-CQ7rq0d_.js +0 -1
  31. package/dist/audit-9I53EvMQ.js +0 -1
  32. package/dist/audit-BGsUfJzD.js +0 -1
  33. package/dist/audit-membership-runtime-BpRsMj5-.js +0 -1
  34. package/dist/audit-membership-runtime-BsfLZNBj.js +0 -1
  35. package/dist/audit-membership-runtime-DRHirRmx.js +0 -1
  36. package/dist/audit-membership-runtime-g0dEWJTp.js +0 -1
  37. package/dist/audit-membership-runtime-kdyToskD.js +0 -1
  38. package/dist/auth-choice-BmI4sIGs.js +0 -1
  39. package/dist/auth-choice-DDsPJF6F.js +0 -1
  40. package/dist/auth-choice-Dy0jIOLV.js +0 -1
  41. package/dist/auth-choice-MqcWuVyu.js +0 -1
  42. package/dist/auth-choice-options-B3WQyS7I.js +0 -1
  43. package/dist/auth-choice-options-Dw14noox.js +0 -1
  44. package/dist/auth-choice-prompt-uegl56cf.js +0 -1
  45. package/dist/auth-choice-prompt-xYj13czb.js +0 -1
  46. package/dist/auth-choice.apply-helpers-D911bYcw.js +0 -1
  47. package/dist/auth-choice.apply-helpers-pJ4CPZCk.js +0 -1
  48. package/dist/auth-profiles-C8rZRS0X.js +0 -1
  49. package/dist/auth-token-DZLZ3d_I.js +0 -1
  50. package/dist/auth-token-Dp6bxT29.js +0 -1
  51. package/dist/banner-CAtilyXr.js +0 -1
  52. package/dist/bonjour-discovery-ClTijpMw.js +0 -1
  53. package/dist/bonjour-discovery-DMB6yrOF.js +0 -1
  54. package/dist/boolean-Ch3DfXPy.js +0 -1
  55. package/dist/boolean-D15s2V33.js +0 -1
  56. package/dist/boolean-DypnRoRK.js +0 -1
  57. package/dist/brew-COcDl8CB.js +0 -1
  58. package/dist/brew-DDPm_HfE.js +0 -1
  59. package/dist/browser-cli-Bf-Pzjxs.js +0 -1
  60. package/dist/browser-cli-DkrBCfYg.js +0 -1
  61. package/dist/build-info.json +3 -3
  62. package/dist/bundled/boot-md/handler.js +0 -1
  63. package/dist/bundled/bootstrap-extra-files/handler.js +0 -1
  64. package/dist/bundled/command-logger/handler.js +0 -1
  65. package/dist/bundled/session-memory/handler.js +0 -1
  66. package/dist/call-BWx7hNtl.js +0 -1
  67. package/dist/call-JB-cGR9n.js +0 -1
  68. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  69. package/dist/channel-account-context-BMPAMZEv.js +0 -1
  70. package/dist/channel-account-context-DAcarnqW.js +0 -1
  71. package/dist/channel-activity-B04WbrrK.js +0 -1
  72. package/dist/channel-activity-BhiLsKvM.js +0 -1
  73. package/dist/channel-activity-DmgWmSAG.js +0 -1
  74. package/dist/channel-activity-Dw6F-ehJ.js +0 -1
  75. package/dist/channel-activity-htoVXTET.js +0 -1
  76. package/dist/channel-options-CCqtIYCc.js +0 -1
  77. package/dist/channel-options-CKoyPq8p.js +0 -1
  78. package/dist/channel-selection-BPxE8JR7.js +0 -1
  79. package/dist/channel-selection-si1OzWyQ.js +0 -1
  80. package/dist/channel-web-CCSMlUux.js +0 -1
  81. package/dist/channel-web-CwUfYqjg.js +0 -1
  82. package/dist/channels/plugins/actions/discord.js +0 -1
  83. package/dist/channels/plugins/actions/signal.js +0 -1
  84. package/dist/channels/plugins/actions/telegram.js +0 -1
  85. package/dist/channels/plugins/agent-tools/whatsapp-login.js +0 -1
  86. package/dist/channels-cli-BfgVv5jH.js +0 -1
  87. package/dist/channels-cli-BvGXgERj.js +0 -1
  88. package/dist/channels-status-issues-8eFrGKyf.js +0 -1
  89. package/dist/channels-status-issues-PRgOT90w.js +0 -1
  90. package/dist/chat-envelope-Bznn2SoS.js +0 -1
  91. package/dist/chat-envelope-HVpKusFc.js +0 -1
  92. package/dist/clack-prompter-DBPdGdqp.js +0 -1
  93. package/dist/clack-prompter-Dq0aY6iM.js +0 -1
  94. package/dist/clawbot-cli-B0iTJ-pm.js +0 -1
  95. package/dist/clawbot-cli-BcEtQbFY.js +0 -1
  96. package/dist/cleanup-utils-BWm70DoD.js +0 -1
  97. package/dist/cleanup-utils-D-RhEX6F.js +0 -1
  98. package/dist/cli-Bt--1dhL.js +0 -1
  99. package/dist/cli-CBg8KhmQ.js +0 -1
  100. package/dist/cli-utils-BY7dLMFy.js +0 -1
  101. package/dist/cli-utils-BleB1eys.js +0 -1
  102. package/dist/clipboard-Bk8cviBt.js +0 -1
  103. package/dist/clipboard-CKT_VIkG.js +0 -1
  104. package/dist/cmd-argv-BBT5l8AV.js +0 -1
  105. package/dist/cmd-argv-Bh-KpaZ0.js +0 -1
  106. package/dist/command-format-BbDT1tlm.js +0 -1
  107. package/dist/command-format-CLxIPuLR.js +0 -1
  108. package/dist/command-options-BpOUDl2S.js +0 -1
  109. package/dist/command-options-Bq5nQxz6.js +0 -1
  110. package/dist/command-poll-backoff-BZLHYB2k.js +0 -1
  111. package/dist/command-poll-backoff-Cww_r-24.js +0 -1
  112. package/dist/command-poll-backoff-Df6cOQrX.js +0 -1
  113. package/dist/command-poll-backoff-endAPdwn.js +0 -1
  114. package/dist/{command-registry-BxNiXs5w.js → command-registry-D_jtBegA.js} +1 -2
  115. package/dist/command-secret-targets-BEjtBf5Z.js +0 -1
  116. package/dist/command-secret-targets-CfXtLkLF.js +0 -1
  117. package/dist/commands-CGpM84iR.js +0 -1
  118. package/dist/commands-Dy7duWlt.js +0 -1
  119. package/dist/commands-registry-C5Hg7gyk.js +0 -1
  120. package/dist/commands-registry-DT6FDUev.js +0 -1
  121. package/dist/commands-registry-DlvNUkXz.js +0 -1
  122. package/dist/commands-registry-gvMK7Pw9.js +0 -1
  123. package/dist/compact-CYbPi7_-.js +0 -1
  124. package/dist/{completion-cli-Yg5BF97F.js → completion-cli-BVbT_aR2.js} +1 -2
  125. package/dist/{completion-cli-BRE0F8Tu.js → completion-cli-Bw_hBrlA.js} +1 -2
  126. package/dist/config-BqW5S1xL.js +0 -1
  127. package/dist/config-Cji73to5.js +0 -1
  128. package/dist/config-cli-CwW76_j_.js +0 -1
  129. package/dist/config-cli-F-lkPjjz.js +0 -1
  130. package/dist/config-guard-0_afzaJz.js +0 -1
  131. package/dist/config-guard-CqUJ8uaF.js +0 -1
  132. package/dist/config-validation-6hk_fxD8.js +0 -1
  133. package/dist/config-validation-BAmmD9p4.js +0 -1
  134. package/dist/configure--c4tTVPz.js +0 -1
  135. package/dist/configure-DFlnM_zh.js +0 -1
  136. package/dist/connection-auth-CjaeEu5D.js +0 -1
  137. package/dist/connection-auth-smZlFWxD.js +0 -1
  138. package/dist/context-window-guard-7crlatf9.js +0 -1
  139. package/dist/context-window-guard-CPChk363.js +0 -1
  140. package/dist/control-ui-assets-BIa0GGDg.js +0 -1
  141. package/dist/control-ui-assets-CTHGGgaX.js +0 -1
  142. package/dist/cron-cli-BKS4L-uW.js +0 -1
  143. package/dist/cron-cli-L9wLLocl.js +0 -1
  144. package/dist/daemon-cli-BdDHNRqp.js +0 -1
  145. package/dist/daemon-cli-CEHkT-54.js +0 -1
  146. package/dist/daemon-cli.js +0 -1
  147. package/dist/daemon-install-CMNtsW5o.js +0 -1
  148. package/dist/daemon-install-D2gMiA0p.js +0 -1
  149. package/dist/daemon-install-plan.shared-BkwZgIAY.js +0 -1
  150. package/dist/daemon-install-plan.shared-Dx3DBXCG.js +0 -1
  151. package/dist/daemon-runtime-DHiDbRuC.js +0 -1
  152. package/dist/daemon-runtime-VcpeBRJV.js +0 -1
  153. package/dist/dangerous-name-matching-BOmvAibz.js +0 -1
  154. package/dist/dangerous-name-matching-DtllRqBD.js +0 -1
  155. package/dist/dangerous-tools-CFRYQJ6V.js +0 -1
  156. package/dist/dangerous-tools-oYCu5wfC.js +0 -1
  157. package/dist/deliver-AM3FP5rj.js +0 -1
  158. package/dist/deliver-BhWhLvQO.js +0 -1
  159. package/dist/deliver-DUNkj4hy.js +0 -1
  160. package/dist/deliver-SqSusZP3.js +0 -1
  161. package/dist/delivery-queue-CKbauSFq.js +0 -1
  162. package/dist/delivery-queue-nkPJu0fY.js +0 -1
  163. package/dist/device-pairing-DAzYy3vX.js +0 -1
  164. package/dist/device-pairing-DknI3IDo.js +0 -1
  165. package/dist/devices-cli-BYD6Sq88.js +0 -1
  166. package/dist/devices-cli-Dl-0fQmR.js +0 -1
  167. package/dist/diagnostic-BEZszppF.js +0 -1
  168. package/dist/diagnostic-D1H7_8QG.js +0 -1
  169. package/dist/diagnostic-DtuQPRbp.js +0 -1
  170. package/dist/diagnostic-VBPCgF9l.js +0 -1
  171. package/dist/diagnostics-BgbeL9KE.js +0 -1
  172. package/dist/diagnostics-Cdctg9K_.js +0 -1
  173. package/dist/directory-cli-CpMjutQb.js +0 -1
  174. package/dist/directory-cli-b_l3qJI_.js +0 -1
  175. package/dist/dns-cli-C7L4RYOm.js +0 -1
  176. package/dist/dns-cli-wKg6nn6f.js +0 -1
  177. package/dist/docs-cli-CwW4sqbC.js +0 -1
  178. package/dist/docs-cli-DnLLU7eX.js +0 -1
  179. package/dist/{doctor-completion-II0Wb435.js → doctor-completion-C9CPhCor.js} +1 -2
  180. package/dist/{doctor-completion-Bu-98ocm.js → doctor-completion-DI7mGC3D.js} +1 -2
  181. package/dist/doctor-config-flow-BVpr8-q9.js +0 -1
  182. package/dist/doctor-config-flow-Dio3s4x6.js +0 -1
  183. package/dist/enable-CjFPAUgo.js +0 -1
  184. package/dist/enable-PO3qN4Lf.js +0 -1
  185. package/dist/entry-status-CCwwKO43.js +0 -1
  186. package/dist/entry-status-CoXkbJcX.js +0 -1
  187. package/dist/entry.js +1 -2
  188. package/dist/env-D7wNuBx1.js +0 -1
  189. package/dist/env-overrides-DHtB4kK3.js +0 -1
  190. package/dist/env-overrides-DXJbFrwI.js +0 -1
  191. package/dist/errors-6SQWM9dj.js +0 -1
  192. package/dist/errors-Bunti32V.js +0 -1
  193. package/dist/exec-B3eleY5O.js +0 -1
  194. package/dist/exec-DHqLtFYt.js +0 -1
  195. package/dist/exec-approvals-BXO9Cezj.js +0 -1
  196. package/dist/exec-approvals-BpBNEy6i.js +0 -1
  197. package/dist/exec-approvals-allowlist-B-Yf6RsU.js +0 -1
  198. package/dist/exec-approvals-allowlist-CGjRWREs.js +0 -1
  199. package/dist/exec-approvals-cli-BokGzWFo.js +0 -1
  200. package/dist/exec-approvals-cli-CsUGu6m3.js +0 -1
  201. package/dist/exec-safe-bin-runtime-policy-CRPHdPbF.js +0 -1
  202. package/dist/exec-safe-bin-runtime-policy-v44u39fl.js +0 -1
  203. package/dist/fetch-B4bz67_N.js +0 -1
  204. package/dist/fetch-BJT3BrkJ.js +0 -1
  205. package/dist/fetch-Bn0mWg6a.js +0 -1
  206. package/dist/fetch-Ce-scEU-.js +0 -1
  207. package/dist/fetch-D0rZDHKO.js +0 -1
  208. package/dist/fetch-D5wrJ0AX.js +0 -1
  209. package/dist/fetch-DBat25iG.js +0 -1
  210. package/dist/fetch-DHo17YmK.js +0 -1
  211. package/dist/fetch-Dh-apy46.js +0 -1
  212. package/dist/fetch-Dikjvc5M.js +0 -1
  213. package/dist/fetch-DsjPfQlp.js +0 -1
  214. package/dist/fetch-_g8lZ8K8.js +0 -1
  215. package/dist/fetch-guard-7BAwnP4a.js +0 -1
  216. package/dist/fetch-guard-DaZmvp-L.js +0 -1
  217. package/dist/fetch-guard-DvaNcypz.js +0 -1
  218. package/dist/fetch-guard-oWKGrwV4.js +0 -1
  219. package/dist/fetch-hy0JKSsm.js +0 -1
  220. package/dist/fetch-timeout-CdYxWG9w.js +0 -1
  221. package/dist/fetch-timeout-Cj8_oAls.js +0 -1
  222. package/dist/fetch-timeout-DoOI_izT.js +0 -1
  223. package/dist/fetch-timeout-u8g99Ax0.js +0 -1
  224. package/dist/format-Bn1bwJKX.js +0 -1
  225. package/dist/format-Ce7I7s-k.js +0 -1
  226. package/dist/format-duration-C8AzNqKh.js +0 -1
  227. package/dist/format-duration-D5AMtmHa.js +0 -1
  228. package/dist/format-relative-B9pSIdGe.js +0 -1
  229. package/dist/format-relative-DkMjYy7z.js +0 -1
  230. package/dist/frontmatter-BkZkwkVO.js +0 -1
  231. package/dist/frontmatter-C7mzDNxd.js +0 -1
  232. package/dist/frontmatter-CzpfPBFl.js +0 -1
  233. package/dist/{gateway-cli-DBjTjdhJ.js → gateway-cli-BMmU2dsG.js} +1 -2
  234. package/dist/{gateway-cli-B-AX4-uD.js → gateway-cli-Kp-caOwI.js} +1 -2
  235. package/dist/gateway-install-token-Dt7hDXoR.js +0 -1
  236. package/dist/gateway-install-token-cSJrfU_1.js +0 -1
  237. package/dist/gateway-rpc-C78PzdZR.js +0 -1
  238. package/dist/gateway-rpc-CecloWA1.js +0 -1
  239. package/dist/github-copilot-token-C79yeDKS.js +0 -1
  240. package/dist/github-copilot-token-DGYAlOmV.js +0 -1
  241. package/dist/github-copilot-token-DePP-lIf.js +0 -1
  242. package/dist/github-copilot-token-wm6mbypz.js +0 -1
  243. package/dist/gmail-setup-utils-CYOH3zzx.js +0 -1
  244. package/dist/gmail-setup-utils-S-MyEGuj.js +0 -1
  245. package/dist/group-access-BHKVOhrj.js +0 -1
  246. package/dist/group-access-D2DOYMfr.js +0 -1
  247. package/dist/health-B_-ZE5FK.js +0 -1
  248. package/dist/health-CIZFVJEG.js +0 -1
  249. package/dist/health-format-B1nj3Wfn.js +0 -1
  250. package/dist/health-format-VBr6LEpt.js +0 -1
  251. package/dist/heartbeat-visibility-BQ_esv2m.js +0 -1
  252. package/dist/heartbeat-visibility-q74UdY8O.js +0 -1
  253. package/dist/help-format-B4aEI7V9.js +0 -1
  254. package/dist/help-format-BRbF_INg.js +0 -1
  255. package/dist/helpers-COz1ghcB.js +0 -1
  256. package/dist/helpers-Cp8gcO6u.js +0 -1
  257. package/dist/hooks-cli-BoxAnC-E.js +0 -1
  258. package/dist/hooks-cli-CnCOjVv0.js +0 -1
  259. package/dist/hooks-status-BHt-Xvh4.js +0 -1
  260. package/dist/hooks-status-CRJ4J0ZW.js +0 -1
  261. package/dist/image-BBO-0uLG.js +0 -1
  262. package/dist/image-BP1cfEh1.js +0 -1
  263. package/dist/image-BVbOr9yV.js +0 -1
  264. package/dist/image-CcsuUB1B.js +0 -1
  265. package/dist/index.js +1 -2
  266. package/dist/inspect-BKV-I1UE.js +0 -1
  267. package/dist/inspect-z59cgmYc.js +0 -1
  268. package/dist/install-safe-path-C6kc_8NW.js +0 -1
  269. package/dist/install-safe-path-iesxijn2.js +0 -1
  270. package/dist/installs-CKzq-YqL.js +0 -1
  271. package/dist/installs-DzSskdtJ.js +0 -1
  272. package/dist/ipv4-B05QVStj.js +0 -1
  273. package/dist/ipv4-SeeyR-DH.js +0 -1
  274. package/dist/ir-B7mdG27k.js +0 -1
  275. package/dist/ir-BTfsA9Dd.js +0 -1
  276. package/dist/ir-CNTx85qV.js +0 -1
  277. package/dist/ir-DdjufzKF.js +0 -1
  278. package/dist/is-main-DG5ueqhF.js +0 -1
  279. package/dist/issue-format-BtMzMXtZ.js +0 -1
  280. package/dist/issue-format-CN9PHzXY.js +0 -1
  281. package/dist/kill-tree-D6nPx1_o.js +0 -1
  282. package/dist/lifecycle-core-B1nrgJCw.js +0 -1
  283. package/dist/lifecycle-core-D_LWJeD_.js +0 -1
  284. package/dist/line/accounts.js +0 -1
  285. package/dist/line/send.js +0 -1
  286. package/dist/line/template-messages.js +0 -1
  287. package/dist/links-CBnmRP9D.js +0 -1
  288. package/dist/links-CySwdMcF.js +0 -1
  289. package/dist/llm-slug-generator.js +0 -1
  290. package/dist/load-options-BsOW74dp.js +0 -1
  291. package/dist/load-options-C7dLuybp.js +0 -1
  292. package/dist/load-options-DV4j6Aqb.js +0 -1
  293. package/dist/load-options-Dwt0CeEg.js +0 -1
  294. package/dist/local-roots-aA-4ohTq.js +0 -1
  295. package/dist/logger-5W0OocJW.js +0 -1
  296. package/dist/logger-Bl8URnrW.js +0 -1
  297. package/dist/logger-DwWqfo66.js +0 -1
  298. package/dist/logger-kQAOe3qp.js +0 -1
  299. package/dist/logging-B7XHbCNn.js +0 -1
  300. package/dist/logging-CbMVr2MA.js +0 -1
  301. package/dist/login-BGLWiksP.js +0 -1
  302. package/dist/login-CcYeF5T_.js +0 -1
  303. package/dist/login-DSZdCiDx.js +0 -1
  304. package/dist/login-DWZzj-P1.js +0 -1
  305. package/dist/login-qr-BGpGVMES.js +0 -1
  306. package/dist/login-qr-BUdgvi3v.js +0 -1
  307. package/dist/login-qr-Bx8skPB-.js +0 -1
  308. package/dist/login-qr-DYUCmP-W.js +0 -1
  309. package/dist/login-qr-_79eoRb4.js +0 -1
  310. package/dist/logs-cli-C52caOop.js +0 -1
  311. package/dist/logs-cli-Ch50TE-J.js +0 -1
  312. package/dist/manager-CI6O4QH6.js +0 -1
  313. package/dist/manager-CN_rQm1L.js +0 -1
  314. package/dist/manager-CxZRoQkE.js +0 -1
  315. package/dist/manager-iFi--Fru.js +0 -1
  316. package/dist/memory-cli-BouV_wyL.js +0 -1
  317. package/dist/memory-cli-C8fBBPgv.js +0 -1
  318. package/dist/model-catalog-D-hkNWin.js +0 -1
  319. package/dist/model-catalog-mt0IcDfR.js +0 -1
  320. package/dist/model-param-b-B0r2cPDw.js +0 -1
  321. package/dist/model-param-b-BqIr5rY5.js +0 -1
  322. package/dist/model-picker-BB0Zdvyu.js +0 -1
  323. package/dist/model-picker-DeiWyW0N.js +0 -1
  324. package/dist/model-selection-BLbnMb5E.js +0 -1
  325. package/dist/model-selection-D7mdJmGK.js +0 -1
  326. package/dist/model-selection-DvekK9rZ.js +0 -1
  327. package/dist/models-BBYqej07.js +0 -1
  328. package/dist/models-cli-CMMhnlHo.js +0 -1
  329. package/dist/models-cli-CqbDyDn2.js +0 -1
  330. package/dist/models-config-BlQ39qlq.js +0 -1
  331. package/dist/models-config-DZzS67GS.js +0 -1
  332. package/dist/mutable-allowlist-detectors-C4rNVag8.js +0 -1
  333. package/dist/mutable-allowlist-detectors-CL0qe54J.js +0 -1
  334. package/dist/node-cli-Bzu1efMB.js +0 -1
  335. package/dist/node-cli-Dv-Eib4o.js +0 -1
  336. package/dist/node-command-policy-D9yZu9zq.js +0 -1
  337. package/dist/node-command-policy-DyWp3Bjz.js +0 -1
  338. package/dist/node-commands-8GBOiktk.js +0 -1
  339. package/dist/node-commands-DdkziOTx.js +0 -1
  340. package/dist/node-resolve-B3BJbmQX.js +0 -1
  341. package/dist/node-resolve-DLZf3-1V.js +0 -1
  342. package/dist/node-service-BRfrNp8l.js +0 -1
  343. package/dist/node-service-C0bl7jcZ.js +0 -1
  344. package/dist/node-shell-BVZylVP6.js +0 -1
  345. package/dist/nodes-cli-B3aNQG30.js +0 -1
  346. package/dist/nodes-cli-DzO6PSFw.js +0 -1
  347. package/dist/nodes-screen-8nRBsfID.js +0 -1
  348. package/dist/note-D4GAwgha.js +0 -1
  349. package/dist/note-Dp-d_utk.js +0 -1
  350. package/dist/npm-pack-install-B23L-AtF.js +0 -1
  351. package/dist/npm-pack-install-C0te3Oap.js +0 -1
  352. package/dist/npm-resolution--_-0q2ks.js +0 -1
  353. package/dist/npm-resolution-CBlwQq3a.js +0 -1
  354. package/dist/oauth-env-DAamJ1oz.js +0 -1
  355. package/dist/oauth-env-DSLBTWb1.js +0 -1
  356. package/dist/oauth-tls-preflight-BSBRDIfC.js +0 -1
  357. package/dist/oauth-tls-preflight-ByNjbUR5.js +0 -1
  358. package/dist/ollama-setup-CGuyH3Ey.js +0 -1
  359. package/dist/ollama-setup-LVRPefmV.js +0 -1
  360. package/dist/{onboard-DMmLqys5.js → onboard-DZG0HnuP.js} +1 -2
  361. package/dist/{onboard-C2Ofvb_A.js → onboard-DlCEww7K.js} +1 -2
  362. package/dist/onboard-channels-BDMtq3ex.js +0 -1
  363. package/dist/onboard-channels-BO3AN_eA.js +0 -1
  364. package/dist/onboard-config-B7U20YRw.js +0 -1
  365. package/dist/onboard-config-DS9dUv8M.js +0 -1
  366. package/dist/onboard-custom--OylwoHQ.js +0 -1
  367. package/dist/onboard-custom-_Df_ciX2.js +0 -1
  368. package/dist/onboard-helpers-D90u4wVK.js +0 -1
  369. package/dist/onboard-helpers-DOlI17Ac.js +0 -1
  370. package/dist/onboard-hooks-CERzXObm.js +0 -1
  371. package/dist/onboard-hooks-gQ3sxBNi.js +0 -1
  372. package/dist/onboard-provider-auth-flags-CqbipO7D.js +0 -1
  373. package/dist/onboard-provider-auth-flags-Dvwzdz37.js +0 -1
  374. package/dist/onboard-remote-B1-SlmUN.js +0 -1
  375. package/dist/onboard-remote-C7Eg49Uf.js +0 -1
  376. package/dist/onboard-search-f2tJD4hg.js +0 -1
  377. package/dist/onboard-search-fslKKhyg.js +0 -1
  378. package/dist/onboard-skills-DCgTr6hW.js +0 -1
  379. package/dist/onboard-skills-_TBzISd2.js +0 -1
  380. package/dist/{onboarding-C82cKKNI.js → onboarding-CxRTJCBM.js} +1 -2
  381. package/dist/{onboarding-M80apW9t.js → onboarding-m-m__16h.js} +1 -2
  382. package/dist/{onboarding.finalize-D9nrrI1J.js → onboarding.finalize-BJxMhYUa.js} +1 -2
  383. package/dist/{onboarding.finalize-CVvwI1Qg.js → onboarding.finalize-UiX3YmbI.js} +1 -2
  384. package/dist/onboarding.gateway-config-CXjzrfwL.js +0 -1
  385. package/dist/onboarding.gateway-config-TSq70E-S.js +0 -1
  386. package/dist/onboarding.secret-input-BSmFS1Px.js +0 -1
  387. package/dist/onboarding.secret-input-CUD0t7Pk.js +0 -1
  388. package/dist/openai-codex-model-default-Bx8i3bOg.js +0 -1
  389. package/dist/openai-codex-model-default-DuRfnfUm.js +0 -1
  390. package/dist/openai-model-default-Bm9b0oR0.js +0 -1
  391. package/dist/openai-model-default-KMCphvoO.js +0 -1
  392. package/dist/openclaw-exec-env-BWbOu_YC.js +0 -1
  393. package/dist/openclaw-root-CnsBf6ZU.js +0 -1
  394. package/dist/openclaw-root-D_0Q6--h.js +0 -1
  395. package/dist/outbound-BevYwvMh.js +0 -1
  396. package/dist/outbound-CqDxMWLZ.js +0 -1
  397. package/dist/outbound-DmwQEFu0.js +0 -1
  398. package/dist/outbound-attachment-9-8VNvRG.js +0 -1
  399. package/dist/outbound-attachment-Bah4dvuM.js +0 -1
  400. package/dist/outbound-attachment-CVcDBkAD.js +0 -1
  401. package/dist/outbound-attachment-E89zumcH.js +0 -1
  402. package/dist/outbound-xlG_RqEu.js +0 -1
  403. package/dist/pairing-cli-ByPhOBWo.js +0 -1
  404. package/dist/pairing-cli-CxJy8LPo.js +0 -1
  405. package/dist/pairing-labels-CZ-aX-up.js +0 -1
  406. package/dist/pairing-labels-PIuZfthz.js +0 -1
  407. package/dist/pairing-store-BaaVy1zB.js +0 -1
  408. package/dist/pairing-store-EmfFQVcs.js +0 -1
  409. package/dist/pairing-token-B8RdfK2y.js +0 -1
  410. package/dist/pairing-token-zdbQ951y.js +0 -1
  411. package/dist/parse-duration-XTjMKl8s.js +0 -1
  412. package/dist/parse-finite-number-DqzUM-_s.js +0 -1
  413. package/dist/parse-finite-number-dBmDLLKL.js +0 -1
  414. package/dist/parse-log-line-CsYLg7Qu.js +0 -1
  415. package/dist/parse-log-line-NV-cipB_.js +0 -1
  416. package/dist/parse-port-Bv1Y9Wk5.js +0 -1
  417. package/dist/parse-port-JVwkxcZ8.js +0 -1
  418. package/dist/parse-timeout-DWSGfCkQ.js +0 -1
  419. package/dist/parse-timeout-Dx4QnVzo.js +0 -1
  420. package/dist/path-alias-guards-kY_ZbWs-.js +0 -1
  421. package/dist/path-alias-guards-mvyLCPlN.js +0 -1
  422. package/dist/path-env-BPd1Yd-i.js +0 -1
  423. package/dist/path-env-emdAQejM.js +0 -1
  424. package/dist/path-safety-BukYK8Kd.js +0 -1
  425. package/dist/path-safety-DaaMJFdt.js +0 -1
  426. package/dist/paths-B4IRk3wi.js +0 -1
  427. package/dist/paths-BfjJY2VL.js +0 -1
  428. package/dist/paths-BjD3T_xq.js +0 -1
  429. package/dist/paths-BpQOWYiT.js +0 -1
  430. package/dist/paths-CChBdtE8.js +0 -1
  431. package/dist/paths-CrCoPIVK.js +0 -1
  432. package/dist/paths-piJASC5k.js +0 -1
  433. package/dist/paths-yLEk_25I.js +0 -1
  434. package/dist/pi-embedded-6yGEd2xd.js +0 -1
  435. package/dist/pi-embedded-X_Svd4Wi.js +0 -1
  436. package/dist/pi-model-discovery-BPkhPDMr.js +0 -1
  437. package/dist/pi-model-discovery-BonZ1N3x.js +0 -1
  438. package/dist/pi-model-discovery-DVKXkQTR.js +0 -1
  439. package/dist/pi-model-discovery-DnJkNRc-.js +0 -1
  440. package/dist/pi-tools.before-tool-call.runtime-2-IJ8xox.js +0 -1
  441. package/dist/pi-tools.before-tool-call.runtime-CNesNgq0.js +0 -1
  442. package/dist/pi-tools.before-tool-call.runtime-CmtITCPP.js +0 -1
  443. package/dist/pi-tools.before-tool-call.runtime-VUjwIYJ7.js +0 -1
  444. package/dist/pi-tools.policy-B6q8YOfg.js +0 -1
  445. package/dist/plugin-auto-enable-CTgkkJK7.js +0 -1
  446. package/dist/plugin-auto-enable-adba5Evb.js +0 -1
  447. package/dist/plugin-install-plan-BmyB3dR1.js +0 -1
  448. package/dist/plugin-install-plan-sIOiMBS1.js +0 -1
  449. package/dist/plugin-registry-CN2aCPP7.js +0 -1
  450. package/dist/plugin-registry-DYwEy5eM.js +0 -1
  451. package/dist/plugin-sdk/account-id.cjs +0 -1
  452. package/dist/plugin-sdk/account-id.js +0 -1
  453. package/dist/plugin-sdk/acpx.cjs +0 -1
  454. package/dist/plugin-sdk/acpx.js +0 -1
  455. package/dist/plugin-sdk/active-listener-B1sd5Yrr.cjs +0 -1
  456. package/dist/plugin-sdk/active-listener-CVvtj4nc.cjs +0 -1
  457. package/dist/plugin-sdk/active-listener-D0Pag-jN.js +0 -1
  458. package/dist/plugin-sdk/active-listener-DIzG1nGC.js +0 -1
  459. package/dist/plugin-sdk/active-listener-DUT4_v5r.cjs +0 -1
  460. package/dist/plugin-sdk/active-listener-D_Cq4Tuy.cjs +0 -1
  461. package/dist/plugin-sdk/active-listener-HBuXCjdG.js +0 -1
  462. package/dist/plugin-sdk/active-listener-V7whA3d_.js +0 -1
  463. package/dist/plugin-sdk/active-listener-YOWDFFGG.js +0 -1
  464. package/dist/plugin-sdk/active-listener-kJidH-KZ.js +0 -1
  465. package/dist/plugin-sdk/active-listener-kmJHqUWY.cjs +0 -1
  466. package/dist/plugin-sdk/active-listener-vpxSd-kW.cjs +0 -1
  467. package/dist/plugin-sdk/api-key-rotation-BEhJdmXN.cjs +0 -1
  468. package/dist/plugin-sdk/api-key-rotation-BcDAQISn.js +0 -1
  469. package/dist/plugin-sdk/api-key-rotation-Bua813IH.cjs +0 -1
  470. package/dist/plugin-sdk/api-key-rotation-C7_ooC3N.js +0 -1
  471. package/dist/plugin-sdk/api-key-rotation-CiFfWYgL.js +0 -1
  472. package/dist/plugin-sdk/api-key-rotation-CrVpqlS6.cjs +0 -1
  473. package/dist/plugin-sdk/api-key-rotation-D-zSLAf_.cjs +0 -1
  474. package/dist/plugin-sdk/api-key-rotation-DInDOH-A.js +0 -1
  475. package/dist/plugin-sdk/api-key-rotation-DKp72Rw4.cjs +0 -1
  476. package/dist/plugin-sdk/api-key-rotation-YRRtbk9Y.cjs +0 -1
  477. package/dist/plugin-sdk/api-key-rotation-tVSHRH8D.js +0 -1
  478. package/dist/plugin-sdk/api-key-rotation-ta953lKF.js +0 -1
  479. package/dist/plugin-sdk/audio-preflight-5ZbcO1qy.js +0 -1
  480. package/dist/plugin-sdk/audio-preflight-BrAX9j6r.js +0 -1
  481. package/dist/plugin-sdk/audio-preflight-C2NpU5hR.cjs +0 -1
  482. package/dist/plugin-sdk/audio-preflight-CtWGsCje.js +0 -1
  483. package/dist/plugin-sdk/audio-preflight-CwjNHDro.cjs +0 -1
  484. package/dist/plugin-sdk/audio-preflight-D22cCCmn.js +0 -1
  485. package/dist/plugin-sdk/audio-preflight-DyK2q8OQ.cjs +0 -1
  486. package/dist/plugin-sdk/audio-preflight-F7lfchEO.cjs +0 -1
  487. package/dist/plugin-sdk/audio-preflight-ItHD-3bi.js +0 -1
  488. package/dist/plugin-sdk/audio-preflight-QWsN9gcK.cjs +0 -1
  489. package/dist/plugin-sdk/audio-preflight-k7Qt2rDs.cjs +0 -1
  490. package/dist/plugin-sdk/audio-preflight-wcMT_iUA.js +0 -1
  491. package/dist/plugin-sdk/audio-transcription-runner-B3bLoVvU.js +0 -1
  492. package/dist/plugin-sdk/audio-transcription-runner-BDfW3xeJ.cjs +0 -1
  493. package/dist/plugin-sdk/audio-transcription-runner-BZLASCWO.cjs +0 -1
  494. package/dist/plugin-sdk/audio-transcription-runner-CiRKTRED.cjs +0 -1
  495. package/dist/plugin-sdk/audio-transcription-runner-Cxs7u0B3.cjs +0 -1
  496. package/dist/plugin-sdk/audio-transcription-runner-D2IxJCfd.cjs +0 -1
  497. package/dist/plugin-sdk/audio-transcription-runner-DA6TwXrV.cjs +0 -1
  498. package/dist/plugin-sdk/audio-transcription-runner-DZIEX1Rl.js +0 -1
  499. package/dist/plugin-sdk/audio-transcription-runner-DZRGn6-f.js +0 -1
  500. package/dist/plugin-sdk/audio-transcription-runner-Dc-WF6zu.js +0 -1
  501. package/dist/plugin-sdk/audio-transcription-runner-DuBgVmcT.js +0 -1
  502. package/dist/plugin-sdk/audio-transcription-runner-nKI1rQ0R.js +0 -1
  503. package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +0 -1
  504. package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +0 -1
  505. package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +0 -1
  506. package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +0 -1
  507. package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +0 -1
  508. package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +0 -1
  509. package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +0 -1
  510. package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +0 -1
  511. package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +0 -1
  512. package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +0 -1
  513. package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +0 -1
  514. package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +0 -1
  515. package/dist/plugin-sdk/bluebubbles.cjs +0 -1
  516. package/dist/plugin-sdk/bluebubbles.js +0 -1
  517. package/dist/plugin-sdk/channel-activity--Ax2m0qQ.js +0 -1
  518. package/dist/plugin-sdk/channel-activity-BCsNxxNa.js +0 -1
  519. package/dist/plugin-sdk/channel-activity-BUieXBdg.cjs +0 -1
  520. package/dist/plugin-sdk/channel-activity-BXffAklf.js +0 -1
  521. package/dist/plugin-sdk/channel-activity-BlYTUiU4.js +0 -1
  522. package/dist/plugin-sdk/channel-activity-Bm-pvlXw.cjs +0 -1
  523. package/dist/plugin-sdk/channel-activity-Bnai3H2M.js +0 -1
  524. package/dist/plugin-sdk/channel-activity-CC3JLAxD.cjs +0 -1
  525. package/dist/plugin-sdk/channel-activity-CTmfXwYn.cjs +0 -1
  526. package/dist/plugin-sdk/channel-activity-D98aY9ZF.js +0 -1
  527. package/dist/plugin-sdk/channel-activity-DymcGybX.cjs +0 -1
  528. package/dist/plugin-sdk/channel-activity-gZBQEyOK.cjs +0 -1
  529. package/dist/plugin-sdk/channel-web-B795Ild9.cjs +0 -1
  530. package/dist/plugin-sdk/channel-web-Bg8DNyeb.js +0 -1
  531. package/dist/plugin-sdk/channel-web-CW42ALB5.cjs +0 -1
  532. package/dist/plugin-sdk/channel-web-D5zxPW-x.js +0 -1
  533. package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +0 -1
  534. package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +0 -1
  535. package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +0 -1
  536. package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +0 -1
  537. package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +0 -1
  538. package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +0 -1
  539. package/dist/plugin-sdk/commands-registry-BIGWymiv.cjs +0 -1
  540. package/dist/plugin-sdk/commands-registry-Bnadsir-.cjs +0 -1
  541. package/dist/plugin-sdk/commands-registry-C1Gb98lg.js +0 -1
  542. package/dist/plugin-sdk/commands-registry-CZcNTwNs.js +0 -1
  543. package/dist/plugin-sdk/commands-registry-CeJQPXIR.js +0 -1
  544. package/dist/plugin-sdk/commands-registry-CehvtLBA.js +0 -1
  545. package/dist/plugin-sdk/commands-registry-Cf8DaBmw.js +0 -1
  546. package/dist/plugin-sdk/commands-registry-Cfv6gDoQ.cjs +0 -1
  547. package/dist/plugin-sdk/commands-registry-D734s8r7.js +0 -1
  548. package/dist/plugin-sdk/commands-registry-DWx89vtR.cjs +0 -1
  549. package/dist/plugin-sdk/commands-registry-DviWu8J8.cjs +0 -1
  550. package/dist/plugin-sdk/commands-registry-wA0CkHGk.cjs +0 -1
  551. package/dist/plugin-sdk/common-BJ0tHoNJ.cjs +0 -1
  552. package/dist/plugin-sdk/common-CxLmdAIn.js +0 -1
  553. package/dist/plugin-sdk/compat.cjs +0 -1
  554. package/dist/plugin-sdk/compat.js +0 -1
  555. package/dist/plugin-sdk/config-C2-9m5-M.cjs +0 -1
  556. package/dist/plugin-sdk/config-Cx3SFBFW.js +0 -1
  557. package/dist/plugin-sdk/copilot-proxy.cjs +0 -1
  558. package/dist/plugin-sdk/copilot-proxy.js +0 -1
  559. package/dist/plugin-sdk/core.cjs +0 -1
  560. package/dist/plugin-sdk/core.js +0 -1
  561. package/dist/plugin-sdk/deliver--pOntbRC.cjs +0 -1
  562. package/dist/plugin-sdk/deliver-BLMe2eBS.js +0 -1
  563. package/dist/plugin-sdk/deliver-BcHzZPc2.js +0 -1
  564. package/dist/plugin-sdk/deliver-CSGTRHt1.js +0 -1
  565. package/dist/plugin-sdk/deliver-Cm8yUsWK.cjs +0 -1
  566. package/dist/plugin-sdk/deliver-DQDZRjZ0.js +0 -1
  567. package/dist/plugin-sdk/deliver-DRintVMn.js +0 -1
  568. package/dist/plugin-sdk/deliver-DehGdLxT.js +0 -1
  569. package/dist/plugin-sdk/deliver-EThzALwn.cjs +0 -1
  570. package/dist/plugin-sdk/deliver-d7VfVmTa.cjs +0 -1
  571. package/dist/plugin-sdk/deliver-rACJj8E9.cjs +0 -1
  572. package/dist/plugin-sdk/deliver-wteCze09.cjs +0 -1
  573. package/dist/plugin-sdk/device-pair.cjs +0 -1
  574. package/dist/plugin-sdk/device-pair.js +0 -1
  575. package/dist/plugin-sdk/diagnostic-BcBlExSy.cjs +0 -1
  576. package/dist/plugin-sdk/diagnostic-Bmp3zWQp.cjs +0 -1
  577. package/dist/plugin-sdk/diagnostic-BvrdTMl3.js +0 -1
  578. package/dist/plugin-sdk/diagnostic-C2jKFixS.cjs +0 -1
  579. package/dist/plugin-sdk/diagnostic-CSfBcIOI.js +0 -1
  580. package/dist/plugin-sdk/diagnostic-CYR5dxDE.cjs +0 -1
  581. package/dist/plugin-sdk/diagnostic-CdNZNyNv.cjs +0 -1
  582. package/dist/plugin-sdk/diagnostic-DE5k6C1E.js +0 -1
  583. package/dist/plugin-sdk/diagnostic-DMpxa640.cjs +0 -1
  584. package/dist/plugin-sdk/diagnostic-DSgf5Z4H.js +0 -1
  585. package/dist/plugin-sdk/diagnostic-DbRdunVt.js +0 -1
  586. package/dist/plugin-sdk/diagnostic-zCrcFAbJ.js +0 -1
  587. package/dist/plugin-sdk/diagnostics-otel.cjs +0 -1
  588. package/dist/plugin-sdk/diagnostics-otel.js +0 -1
  589. package/dist/plugin-sdk/diffs.cjs +0 -1
  590. package/dist/plugin-sdk/diffs.js +0 -1
  591. package/dist/plugin-sdk/discord.cjs +0 -1
  592. package/dist/plugin-sdk/discord.js +0 -1
  593. package/dist/plugin-sdk/dispatch-B13B2T1k.js +0 -1
  594. package/dist/plugin-sdk/dispatch-BaBcLOry.js +0 -1
  595. package/dist/plugin-sdk/dispatch-BlOkbw2U.js +0 -1
  596. package/dist/plugin-sdk/dispatch-D2Km7gvG.cjs +0 -1
  597. package/dist/plugin-sdk/dispatch-DAaOM5c1.cjs +0 -1
  598. package/dist/plugin-sdk/dispatch-DYRrW05S.js +0 -1
  599. package/dist/plugin-sdk/dispatch-Dap2ZPC9.js +0 -1
  600. package/dist/plugin-sdk/dispatch-Dl0eaYcY.cjs +0 -1
  601. package/dist/plugin-sdk/dispatch-_tJF5hSh.cjs +0 -1
  602. package/dist/plugin-sdk/dispatch-cPg1rBWu.cjs +0 -1
  603. package/dist/plugin-sdk/feishu.cjs +0 -1
  604. package/dist/plugin-sdk/feishu.js +0 -1
  605. package/dist/plugin-sdk/fetch-7Iq9POda.js +0 -1
  606. package/dist/plugin-sdk/fetch-B1GR6-u4.js +0 -1
  607. package/dist/plugin-sdk/fetch-B27H-XCf.js +0 -1
  608. package/dist/plugin-sdk/fetch-BMYDLRWo.js +0 -1
  609. package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +0 -1
  610. package/dist/plugin-sdk/fetch-BVEVk5YF.js +0 -1
  611. package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +0 -1
  612. package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +0 -1
  613. package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +0 -1
  614. package/dist/plugin-sdk/fetch-BtZY623f.js +0 -1
  615. package/dist/plugin-sdk/fetch-C-HRWp5R.js +0 -1
  616. package/dist/plugin-sdk/fetch-C3LEMysf.js +0 -1
  617. package/dist/plugin-sdk/fetch-CCLWsYaQ.js +0 -1
  618. package/dist/plugin-sdk/fetch-CZewCAvu.cjs +0 -1
  619. package/dist/plugin-sdk/fetch-ClKErpni.cjs +0 -1
  620. package/dist/plugin-sdk/fetch-DBRI0sKI.js +0 -1
  621. package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +0 -1
  622. package/dist/plugin-sdk/fetch-DUMEaqum.cjs +0 -1
  623. package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +0 -1
  624. package/dist/plugin-sdk/fetch-J0IzopiJ.js +0 -1
  625. package/dist/plugin-sdk/fetch-guard-7tObWdgY.cjs +0 -1
  626. package/dist/plugin-sdk/fetch-guard-ACKeLHgB.js +0 -1
  627. package/dist/plugin-sdk/fetch-guard-BI5z5sCg.cjs +0 -1
  628. package/dist/plugin-sdk/fetch-guard-BUOtcki7.cjs +0 -1
  629. package/dist/plugin-sdk/fetch-guard-BZi5e63X.js +0 -1
  630. package/dist/plugin-sdk/fetch-guard-CVnIQ0nI.cjs +0 -1
  631. package/dist/plugin-sdk/fetch-guard-DKS4LY4o.js +0 -1
  632. package/dist/plugin-sdk/fetch-guard-DcAQBHbg.cjs +0 -1
  633. package/dist/plugin-sdk/fetch-guard-Dj-DlPBS.cjs +0 -1
  634. package/dist/plugin-sdk/fetch-guard-Dm1nAvhl.js +0 -1
  635. package/dist/plugin-sdk/fetch-guard-GfhPo1Fa.js +0 -1
  636. package/dist/plugin-sdk/fetch-guard-nFWUH1s9.js +0 -1
  637. package/dist/plugin-sdk/fetch-lw-aF17e.cjs +0 -1
  638. package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +0 -1
  639. package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +0 -1
  640. package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +0 -1
  641. package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +0 -1
  642. package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +0 -1
  643. package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +0 -1
  644. package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +0 -1
  645. package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +0 -1
  646. package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +0 -1
  647. package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +0 -1
  648. package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +0 -1
  649. package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +0 -1
  650. package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +0 -1
  651. package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +0 -1
  652. package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +0 -1
  653. package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +0 -1
  654. package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +0 -1
  655. package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +0 -1
  656. package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +0 -1
  657. package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +0 -1
  658. package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +0 -1
  659. package/dist/plugin-sdk/google-gemini-cli-auth.cjs +0 -1
  660. package/dist/plugin-sdk/google-gemini-cli-auth.js +0 -1
  661. package/dist/plugin-sdk/googlechat.cjs +0 -1
  662. package/dist/plugin-sdk/googlechat.js +0 -1
  663. package/dist/plugin-sdk/image-BLG2OrjE.cjs +0 -1
  664. package/dist/plugin-sdk/image-BPUmI-kx.cjs +0 -1
  665. package/dist/plugin-sdk/image-Bt_w0o87.js +0 -1
  666. package/dist/plugin-sdk/image-CMeyJO2-.js +0 -1
  667. package/dist/plugin-sdk/image-CMiT6Fvk.cjs +0 -1
  668. package/dist/plugin-sdk/image-CNMuTe0Z.js +0 -1
  669. package/dist/plugin-sdk/image-CO9zxV0G.js +0 -1
  670. package/dist/plugin-sdk/image-CjVyB61p.cjs +0 -1
  671. package/dist/plugin-sdk/image-CkWikcPf.cjs +0 -1
  672. package/dist/plugin-sdk/image-Dk2gzO1U.js +0 -1
  673. package/dist/plugin-sdk/image-Jmj-a1pv.js +0 -1
  674. package/dist/plugin-sdk/image-UKq4Bn2r.cjs +0 -1
  675. package/dist/plugin-sdk/imessage.cjs +0 -1
  676. package/dist/plugin-sdk/imessage.js +0 -1
  677. package/dist/plugin-sdk/index.cjs +0 -1
  678. package/dist/plugin-sdk/index.js +0 -1
  679. package/dist/plugin-sdk/ir-Bg_avpt0.cjs +0 -1
  680. package/dist/plugin-sdk/ir-BiiaNbB9.cjs +0 -1
  681. package/dist/plugin-sdk/ir-CYJPM1_I.cjs +0 -1
  682. package/dist/plugin-sdk/ir-Ca3EdqFl.js +0 -1
  683. package/dist/plugin-sdk/ir-Cl_S_VBR.cjs +0 -1
  684. package/dist/plugin-sdk/ir-Cq7b_9v8.cjs +0 -1
  685. package/dist/plugin-sdk/ir-DcWa7gsX.cjs +0 -1
  686. package/dist/plugin-sdk/ir-DdA08iXJ.js +0 -1
  687. package/dist/plugin-sdk/ir-DqBwrJJd.js +0 -1
  688. package/dist/plugin-sdk/ir-EUD0qDem.js +0 -1
  689. package/dist/plugin-sdk/ir-c1MS26Ci.js +0 -1
  690. package/dist/plugin-sdk/ir-vhCxHELh.js +0 -1
  691. package/dist/plugin-sdk/irc.cjs +0 -1
  692. package/dist/plugin-sdk/irc.js +0 -1
  693. package/dist/plugin-sdk/keyed-async-queue.cjs +0 -1
  694. package/dist/plugin-sdk/keyed-async-queue.js +0 -1
  695. package/dist/plugin-sdk/line.cjs +0 -1
  696. package/dist/plugin-sdk/line.js +0 -1
  697. package/dist/plugin-sdk/llm-task.cjs +0 -1
  698. package/dist/plugin-sdk/llm-task.js +0 -1
  699. package/dist/plugin-sdk/load-options-B9Ss5YOO.js +0 -1
  700. package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +0 -1
  701. package/dist/plugin-sdk/load-options-BXvm8HVv.js +0 -1
  702. package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +0 -1
  703. package/dist/plugin-sdk/load-options-BcSg1ODN.js +0 -1
  704. package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +0 -1
  705. package/dist/plugin-sdk/lobster.cjs +0 -1
  706. package/dist/plugin-sdk/lobster.js +0 -1
  707. package/dist/plugin-sdk/local-roots-2OcKjfzk.js +0 -1
  708. package/dist/plugin-sdk/local-roots-ByrRvVBc.cjs +0 -1
  709. package/dist/plugin-sdk/local-roots-CXPxvx0J.js +0 -1
  710. package/dist/plugin-sdk/local-roots-CzbssMW1.cjs +0 -1
  711. package/dist/plugin-sdk/local-roots-DIijr8mK.cjs +0 -1
  712. package/dist/plugin-sdk/local-roots-DRv9Y_41.cjs +0 -1
  713. package/dist/plugin-sdk/local-roots-DTC7BJct.js +0 -1
  714. package/dist/plugin-sdk/local-roots-DU8RuiRi.js +0 -1
  715. package/dist/plugin-sdk/local-roots-DprQ5M3b.js +0 -1
  716. package/dist/plugin-sdk/local-roots-GqNj3vMl.cjs +0 -1
  717. package/dist/plugin-sdk/local-roots-I2icTm2P.cjs +0 -1
  718. package/dist/plugin-sdk/local-roots-qEhx-D42.js +0 -1
  719. package/dist/plugin-sdk/logger-6O6OsYBL.cjs +0 -1
  720. package/dist/plugin-sdk/logger-BlddiV_d.cjs +0 -1
  721. package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +0 -1
  722. package/dist/plugin-sdk/logger-BtrWb0dj.js +0 -1
  723. package/dist/plugin-sdk/logger-C210xuWx.js +0 -1
  724. package/dist/plugin-sdk/logger-DJGHvDbX.js +0 -1
  725. package/dist/plugin-sdk/logger-DPlqYkRm.cjs +0 -1
  726. package/dist/plugin-sdk/logger-DUYnS-W3.cjs +0 -1
  727. package/dist/plugin-sdk/logger-DwWqfo66.js +0 -1
  728. package/dist/plugin-sdk/logger-vBDTZWl3.js +0 -1
  729. package/dist/plugin-sdk/login-0ui1gfZM.cjs +0 -1
  730. package/dist/plugin-sdk/login-B0lIdwss.cjs +0 -1
  731. package/dist/plugin-sdk/login-B43p990Y.cjs +0 -1
  732. package/dist/plugin-sdk/login-DHBcWg4R.cjs +0 -1
  733. package/dist/plugin-sdk/login-DUCNg4lV.js +0 -1
  734. package/dist/plugin-sdk/login-DqVo92p1.js +0 -1
  735. package/dist/plugin-sdk/login-Dt4KiLgP.js +0 -1
  736. package/dist/plugin-sdk/login-IVBk3GwG.cjs +0 -1
  737. package/dist/plugin-sdk/login-T6tSC1Xl.js +0 -1
  738. package/dist/plugin-sdk/login-XruRHZe5.js +0 -1
  739. package/dist/plugin-sdk/login-p9hWVYO6.cjs +0 -1
  740. package/dist/plugin-sdk/login-qr-B4wf-15u.js +0 -1
  741. package/dist/plugin-sdk/login-qr-BQMm3yV_.cjs +0 -1
  742. package/dist/plugin-sdk/login-qr-BreyhXFQ.cjs +0 -1
  743. package/dist/plugin-sdk/login-qr-C6RPK8ld.js +0 -1
  744. package/dist/plugin-sdk/login-qr-C6cQueYq.js +0 -1
  745. package/dist/plugin-sdk/login-qr-CxznBK7s.cjs +0 -1
  746. package/dist/plugin-sdk/login-qr-D0dmb3Gr.js +0 -1
  747. package/dist/plugin-sdk/login-qr-DWW1FC-n.cjs +0 -1
  748. package/dist/plugin-sdk/login-qr-DjC-P7Vy.cjs +0 -1
  749. package/dist/plugin-sdk/login-qr-KeBTY1Mb.js +0 -1
  750. package/dist/plugin-sdk/login-qr-gQsVZ8en.js +0 -1
  751. package/dist/plugin-sdk/login-qr-xkqmSKC8.cjs +0 -1
  752. package/dist/plugin-sdk/login-x9vN5UnR.js +0 -1
  753. package/dist/plugin-sdk/manager-B38IH03I.cjs +0 -1
  754. package/dist/plugin-sdk/manager-BZVFXygg.cjs +0 -1
  755. package/dist/plugin-sdk/manager-BuNveORY.cjs +0 -1
  756. package/dist/plugin-sdk/manager-C4FEmxjq.cjs +0 -1
  757. package/dist/plugin-sdk/manager-CHnzSMNG.js +0 -1
  758. package/dist/plugin-sdk/manager-CN4wiVFz.js +0 -1
  759. package/dist/plugin-sdk/manager-D9RwKYCX.js +0 -1
  760. package/dist/plugin-sdk/manager-DAmjm61U.cjs +0 -1
  761. package/dist/plugin-sdk/manager-DJSpJkev.js +0 -1
  762. package/dist/plugin-sdk/manager-EO7deQzm.js +0 -1
  763. package/dist/plugin-sdk/manager-vyHAgafh.cjs +0 -1
  764. package/dist/plugin-sdk/manager-zyDhj7B-.js +0 -1
  765. package/dist/plugin-sdk/matrix.cjs +0 -1
  766. package/dist/plugin-sdk/matrix.js +0 -1
  767. package/dist/plugin-sdk/mattermost.cjs +0 -1
  768. package/dist/plugin-sdk/mattermost.js +0 -1
  769. package/dist/plugin-sdk/memory-core.cjs +0 -1
  770. package/dist/plugin-sdk/memory-core.js +0 -1
  771. package/dist/plugin-sdk/minimax-portal-auth.cjs +0 -1
  772. package/dist/plugin-sdk/minimax-portal-auth.js +0 -1
  773. package/dist/plugin-sdk/model-auth-1RA9nkQH.js +0 -1
  774. package/dist/plugin-sdk/model-auth-Cgqd2_sP.cjs +0 -1
  775. package/dist/plugin-sdk/model-auth-Cp2GSJwZ.js +0 -1
  776. package/dist/plugin-sdk/model-auth-Lv74A-Si.cjs +0 -1
  777. package/dist/plugin-sdk/model-auth-RI6NYvTO.js +0 -1
  778. package/dist/plugin-sdk/model-auth-exDkzEDR.js +0 -1
  779. package/dist/plugin-sdk/model-auth-igOM3blS.cjs +0 -1
  780. package/dist/plugin-sdk/model-auth-sjKLUCCz.cjs +0 -1
  781. package/dist/plugin-sdk/model-selection-C9HlFaXF.js +0 -1
  782. package/dist/plugin-sdk/model-selection-DpGE9eNM.cjs +0 -1
  783. package/dist/plugin-sdk/msteams.cjs +0 -1
  784. package/dist/plugin-sdk/msteams.js +0 -1
  785. package/dist/plugin-sdk/nextcloud-talk.cjs +0 -1
  786. package/dist/plugin-sdk/nextcloud-talk.js +0 -1
  787. package/dist/plugin-sdk/nostr.cjs +0 -1
  788. package/dist/plugin-sdk/nostr.js +0 -1
  789. package/dist/plugin-sdk/outbound-BO0tyeUH.js +0 -1
  790. package/dist/plugin-sdk/outbound-BYU5HTrX.js +0 -1
  791. package/dist/plugin-sdk/outbound-CBVlxGRf.cjs +0 -1
  792. package/dist/plugin-sdk/outbound-CTyu_gZh.js +0 -1
  793. package/dist/plugin-sdk/outbound-CwWXHNwp.cjs +0 -1
  794. package/dist/plugin-sdk/outbound-CySyQcmE.js +0 -1
  795. package/dist/plugin-sdk/outbound-DDPxEpHH.cjs +0 -1
  796. package/dist/plugin-sdk/outbound-DZhl7sHt.cjs +0 -1
  797. package/dist/plugin-sdk/outbound-DmeUAXdA.js +0 -1
  798. package/dist/plugin-sdk/outbound-DvFQ_6wQ.cjs +0 -1
  799. package/dist/plugin-sdk/outbound-Dy87UlCV.cjs +0 -1
  800. package/dist/plugin-sdk/outbound-attachment-5H1iYkTb.js +0 -1
  801. package/dist/plugin-sdk/outbound-attachment-BAHrn3r7.cjs +0 -1
  802. package/dist/plugin-sdk/outbound-attachment-BBJPbiLF.cjs +0 -1
  803. package/dist/plugin-sdk/outbound-attachment-BIGvZREF.cjs +0 -1
  804. package/dist/plugin-sdk/outbound-attachment-B_OTB3A8.js +0 -1
  805. package/dist/plugin-sdk/outbound-attachment-C94-r948.js +0 -1
  806. package/dist/plugin-sdk/outbound-attachment-CJatgPbm.js +0 -1
  807. package/dist/plugin-sdk/outbound-attachment-CLUVyl5e.js +0 -1
  808. package/dist/plugin-sdk/outbound-attachment-CTR1-VEH.js +0 -1
  809. package/dist/plugin-sdk/outbound-attachment-CmQ0SNgK.cjs +0 -1
  810. package/dist/plugin-sdk/outbound-attachment-Dbja7LQF.cjs +0 -1
  811. package/dist/plugin-sdk/outbound-attachment-DwzJ2l3T.cjs +0 -1
  812. package/dist/plugin-sdk/outbound-xMr8Xsxe.js +0 -1
  813. package/dist/plugin-sdk/paths-BPlgbwrb.cjs +0 -1
  814. package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +0 -1
  815. package/dist/plugin-sdk/paths-BpQOWYiT.js +0 -1
  816. package/dist/plugin-sdk/paths-BvlJvmRS.cjs +0 -1
  817. package/dist/plugin-sdk/paths-CIcxeNL-.cjs +0 -1
  818. package/dist/plugin-sdk/paths-CXgWvWAM.js +0 -1
  819. package/dist/plugin-sdk/paths-Chp3zwtq.cjs +0 -1
  820. package/dist/plugin-sdk/paths-CnHSNSeR.js +0 -1
  821. package/dist/plugin-sdk/paths-Cqca1YmF.cjs +0 -1
  822. package/dist/plugin-sdk/paths-CtrEseGU.js +0 -1
  823. package/dist/plugin-sdk/paths-D55o_j8-.js +0 -1
  824. package/dist/plugin-sdk/paths-D90l3h_o.cjs +0 -1
  825. package/dist/plugin-sdk/paths-DaRoqzBQ.js +0 -1
  826. package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +0 -1
  827. package/dist/plugin-sdk/paths-DhSjTRMz.js +0 -1
  828. package/dist/plugin-sdk/paths-Do0djuaj.js +0 -1
  829. package/dist/plugin-sdk/paths-J4JUiRsa.js +0 -1
  830. package/dist/plugin-sdk/paths-cBAF6Bj0.js +0 -1
  831. package/dist/plugin-sdk/paths-piJASC5k.js +0 -1
  832. package/dist/plugin-sdk/paths-rO4ehkyU.js +0 -1
  833. package/dist/plugin-sdk/pi-model-discovery-5wc5qlmB.cjs +0 -1
  834. package/dist/plugin-sdk/pi-model-discovery-BQiHbl8F.js +0 -1
  835. package/dist/plugin-sdk/pi-model-discovery-BZZVGcJl.js +0 -1
  836. package/dist/plugin-sdk/pi-model-discovery-Ba70onAm.js +0 -1
  837. package/dist/plugin-sdk/pi-model-discovery-BfuqD_Rv.cjs +0 -1
  838. package/dist/plugin-sdk/pi-model-discovery-BsdlRK-w.js +0 -1
  839. package/dist/plugin-sdk/pi-model-discovery-CAYSx-Lw.cjs +0 -1
  840. package/dist/plugin-sdk/pi-model-discovery-CyBFRafV.cjs +0 -1
  841. package/dist/plugin-sdk/pi-model-discovery-D1WW5m-Q.js +0 -1
  842. package/dist/plugin-sdk/pi-model-discovery-DRYpUnOa.cjs +0 -1
  843. package/dist/plugin-sdk/pi-model-discovery-DUbDLlc7.cjs +0 -1
  844. package/dist/plugin-sdk/pi-model-discovery-DcUDwgMg.cjs +0 -1
  845. package/dist/plugin-sdk/pi-model-discovery-DrZsxLaJ.js +0 -1
  846. package/dist/plugin-sdk/pi-model-discovery-gaVoL7I2.js +0 -1
  847. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BWmteuHS.js +0 -1
  848. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BmznXclG.cjs +0 -1
  849. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BzTifHML.cjs +0 -1
  850. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CEPsGtJk.cjs +0 -1
  851. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CYleOK1-.cjs +0 -1
  852. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Ctbk1Pq8.js +0 -1
  853. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-D-hwiLUl.js +0 -1
  854. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DDuUTLh8.js +0 -1
  855. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DLfogXKU.cjs +0 -1
  856. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Dd-VFim_.js +0 -1
  857. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Dvmcwf-j.cjs +0 -1
  858. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-i-IGFbqI.js +0 -1
  859. package/dist/plugin-sdk/polls-BuaJuIpV.cjs +0 -1
  860. package/dist/plugin-sdk/polls-CBAGZuJ6.js +0 -1
  861. package/dist/plugin-sdk/polls-CSKMbBIS.js +0 -1
  862. package/dist/plugin-sdk/polls-D0wY0FvT.cjs +0 -1
  863. package/dist/plugin-sdk/polls-PGxiE05J.js +0 -1
  864. package/dist/plugin-sdk/polls-yWqSCEP0.cjs +0 -1
  865. package/dist/plugin-sdk/proxy-env-B765haXA.js +0 -1
  866. package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +0 -1
  867. package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +0 -1
  868. package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +0 -1
  869. package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +0 -1
  870. package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +0 -1
  871. package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +0 -1
  872. package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +0 -1
  873. package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +0 -1
  874. package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +0 -1
  875. package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +0 -1
  876. package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +0 -1
  877. package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +0 -1
  878. package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +0 -1
  879. package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +0 -1
  880. package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +0 -1
  881. package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +0 -1
  882. package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +0 -1
  883. package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +0 -1
  884. package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +0 -1
  885. package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +0 -1
  886. package/dist/plugin-sdk/proxy-fetch-Del551nu.js +0 -1
  887. package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +0 -1
  888. package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +0 -1
  889. package/dist/plugin-sdk/pw-ai-B9PkuA_R.cjs +0 -1
  890. package/dist/plugin-sdk/pw-ai-BMJV0Hqt.cjs +0 -1
  891. package/dist/plugin-sdk/pw-ai-BRasSDsB.js +0 -1
  892. package/dist/plugin-sdk/pw-ai-BY57aH_o.js +0 -1
  893. package/dist/plugin-sdk/pw-ai-BbpImC35.cjs +0 -1
  894. package/dist/plugin-sdk/pw-ai-D7d16RB-.cjs +0 -1
  895. package/dist/plugin-sdk/pw-ai-DF7TX5Lc.cjs +0 -1
  896. package/dist/plugin-sdk/pw-ai-DHN1pktj.js +0 -1
  897. package/dist/plugin-sdk/pw-ai-QzImh8G0.cjs +0 -1
  898. package/dist/plugin-sdk/pw-ai-V1CVJi48.js +0 -1
  899. package/dist/plugin-sdk/pw-ai-mvXkpTxf.js +0 -1
  900. package/dist/plugin-sdk/pw-ai-tdgA-KlG.js +0 -1
  901. package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +0 -1
  902. package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +0 -1
  903. package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +0 -1
  904. package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +0 -1
  905. package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +0 -1
  906. package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +0 -1
  907. package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +0 -1
  908. package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +0 -1
  909. package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +0 -1
  910. package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +0 -1
  911. package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +0 -1
  912. package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +0 -1
  913. package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +0 -1
  914. package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +0 -1
  915. package/dist/plugin-sdk/query-expansion-CAboqtWr.js +0 -1
  916. package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +0 -1
  917. package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +0 -1
  918. package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +0 -1
  919. package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +0 -1
  920. package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +0 -1
  921. package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +0 -1
  922. package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +0 -1
  923. package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +0 -1
  924. package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +0 -1
  925. package/dist/plugin-sdk/qwen-portal-auth.cjs +0 -1
  926. package/dist/plugin-sdk/qwen-portal-auth.js +0 -1
  927. package/dist/plugin-sdk/render-6fCdtAr6.cjs +0 -1
  928. package/dist/plugin-sdk/render-CBsnn-2A.js +0 -1
  929. package/dist/plugin-sdk/render-CzHaQB0d.cjs +0 -1
  930. package/dist/plugin-sdk/render-DGmfCIRG.js +0 -1
  931. package/dist/plugin-sdk/render-DhTJXP1U.js +0 -1
  932. package/dist/plugin-sdk/render-Djx15dPh.js +0 -1
  933. package/dist/plugin-sdk/render-DxBO2Blp.cjs +0 -1
  934. package/dist/plugin-sdk/render-g5VlmgpF.cjs +0 -1
  935. package/dist/plugin-sdk/reply-73PF8kN_.js +0 -1
  936. package/dist/plugin-sdk/reply-JD6VIW5N.cjs +0 -1
  937. package/dist/plugin-sdk/resolve-outbound-target-BNv_T3Bk.js +0 -1
  938. package/dist/plugin-sdk/resolve-outbound-target-CDM7_xfU.cjs +0 -1
  939. package/dist/plugin-sdk/resolve-outbound-target-CvKfootv.js +0 -1
  940. package/dist/plugin-sdk/resolve-outbound-target-Fq8une1d.cjs +0 -1
  941. package/dist/plugin-sdk/send-0TzQg7Eo.js +0 -1
  942. package/dist/plugin-sdk/send-AyV5r86J.js +0 -1
  943. package/dist/plugin-sdk/send-B-GqqrNy.js +0 -1
  944. package/dist/plugin-sdk/send-B03So6fs.cjs +0 -1
  945. package/dist/plugin-sdk/send-B0oV0qgS.js +0 -1
  946. package/dist/plugin-sdk/send-B31Tjl_I.cjs +0 -1
  947. package/dist/plugin-sdk/send-B4LTVhTd.cjs +0 -1
  948. package/dist/plugin-sdk/send-BGXPpAqy.cjs +0 -1
  949. package/dist/plugin-sdk/send-BJ957TYU.js +0 -1
  950. package/dist/plugin-sdk/send-BJmf3HVn.cjs +0 -1
  951. package/dist/plugin-sdk/send-BW3UECzm.js +0 -1
  952. package/dist/plugin-sdk/send-BWEZ_8nL.cjs +0 -1
  953. package/dist/plugin-sdk/send-BXrh73qh.cjs +0 -1
  954. package/dist/plugin-sdk/send-BbudHjUi.cjs +0 -1
  955. package/dist/plugin-sdk/send-BkjnUdWv.cjs +0 -1
  956. package/dist/plugin-sdk/send-BxIt-s7G.cjs +0 -1
  957. package/dist/plugin-sdk/send-ByKNfU2S.js +0 -1
  958. package/dist/plugin-sdk/send-Bz2Loz_Q.cjs +0 -1
  959. package/dist/plugin-sdk/send-CAreQYLU.cjs +0 -1
  960. package/dist/plugin-sdk/send-CGMqeSaY.cjs +0 -1
  961. package/dist/plugin-sdk/send-CJmor6eC.js +0 -1
  962. package/dist/plugin-sdk/send-CL2pl8br.cjs +0 -1
  963. package/dist/plugin-sdk/send-CMeGMLko.js +0 -1
  964. package/dist/plugin-sdk/send-CceHBxiK.js +0 -1
  965. package/dist/plugin-sdk/send-Cdx_KGYb.js +0 -1
  966. package/dist/plugin-sdk/send-Cer1bA2g.cjs +0 -1
  967. package/dist/plugin-sdk/send-CimU95QQ.cjs +0 -1
  968. package/dist/plugin-sdk/send-CoEAieJt.cjs +0 -1
  969. package/dist/plugin-sdk/send-Cob_bnT32.js +0 -1
  970. package/dist/plugin-sdk/send-Cyp5hOpt.js +0 -1
  971. package/dist/plugin-sdk/send-CzEFjTpi.js +0 -1
  972. package/dist/plugin-sdk/send-D2LjU2py.js +0 -1
  973. package/dist/plugin-sdk/send-D9Gbseeh.cjs +0 -1
  974. package/dist/plugin-sdk/send-DIjQ2vB4.js +0 -1
  975. package/dist/plugin-sdk/send-DJ419AIX.cjs +0 -1
  976. package/dist/plugin-sdk/send-DLtYxO1e.cjs +0 -1
  977. package/dist/plugin-sdk/send-DMk529J8.js +0 -1
  978. package/dist/plugin-sdk/send-DMxohaL_.cjs +0 -1
  979. package/dist/plugin-sdk/send-DQlKz6Bj.js +0 -1
  980. package/dist/plugin-sdk/send-DTUW-YBy.js +0 -1
  981. package/dist/plugin-sdk/send-Dc43nN-I.js +0 -1
  982. package/dist/plugin-sdk/send-DcRj8DUU.cjs +0 -1
  983. package/dist/plugin-sdk/send-DmxxJFZd.cjs +0 -1
  984. package/dist/plugin-sdk/send-DnwN1vBU.cjs +0 -1
  985. package/dist/plugin-sdk/send-DogBiU4n.cjs +0 -1
  986. package/dist/plugin-sdk/send-MEvv6c7w.js +0 -1
  987. package/dist/plugin-sdk/send-TRwokuAm.cjs +0 -1
  988. package/dist/plugin-sdk/send-VUSa_wkg.js +0 -1
  989. package/dist/plugin-sdk/send-X1b7Cj9U.cjs +0 -1
  990. package/dist/plugin-sdk/send-XX5rP5bI.js +0 -1
  991. package/dist/plugin-sdk/send-_ZGBA2sz.js +0 -1
  992. package/dist/plugin-sdk/send-d5RoIkxA.js +0 -1
  993. package/dist/plugin-sdk/send-dCbQnCLx.js +0 -1
  994. package/dist/plugin-sdk/send-gSV6SR6F.cjs +0 -1
  995. package/dist/plugin-sdk/send-pC6ctwfQ.cjs +0 -1
  996. package/dist/plugin-sdk/send-pq2hNOwv.cjs +0 -1
  997. package/dist/plugin-sdk/send-q6C-1cdJ.js +0 -1
  998. package/dist/plugin-sdk/send-vnIJSD5l.js +0 -1
  999. package/dist/plugin-sdk/send-vtYROJNd.js +0 -1
  1000. package/dist/plugin-sdk/send-wk_Y38Eq.js +0 -1
  1001. package/dist/plugin-sdk/session-BSLJWzVk.cjs +0 -1
  1002. package/dist/plugin-sdk/session-BfWC0c92.js +0 -1
  1003. package/dist/plugin-sdk/session-BjsaXe-G.js +0 -1
  1004. package/dist/plugin-sdk/session-C20nSfk5.cjs +0 -1
  1005. package/dist/plugin-sdk/session-CR8fsPgs.js +0 -1
  1006. package/dist/plugin-sdk/session-CwinrWG4.cjs +0 -1
  1007. package/dist/plugin-sdk/session-DAtRSLdw.cjs +0 -1
  1008. package/dist/plugin-sdk/session-Djo63EGV.cjs +0 -1
  1009. package/dist/plugin-sdk/session-EJZkCm6l.js +0 -1
  1010. package/dist/plugin-sdk/session-UIRgeq02.cjs +0 -1
  1011. package/dist/plugin-sdk/session-aOZKTEyZ.js +0 -1
  1012. package/dist/plugin-sdk/session-nUw21fi0.js +0 -1
  1013. package/dist/plugin-sdk/sessions-B06a3AKE.js +0 -1
  1014. package/dist/plugin-sdk/sessions-BmhjMXlm.cjs +0 -1
  1015. package/dist/plugin-sdk/signal.cjs +0 -1
  1016. package/dist/plugin-sdk/signal.js +0 -1
  1017. package/dist/plugin-sdk/skill-commands-2LXH0aZR.cjs +0 -1
  1018. package/dist/plugin-sdk/skill-commands-B4AbCkKe.cjs +0 -1
  1019. package/dist/plugin-sdk/skill-commands-B_xNpuH_.cjs +0 -1
  1020. package/dist/plugin-sdk/skill-commands-BbAfKA1R.js +0 -1
  1021. package/dist/plugin-sdk/skill-commands-BcKIgHAP.cjs +0 -1
  1022. package/dist/plugin-sdk/skill-commands-C9g2UiKr.cjs +0 -1
  1023. package/dist/plugin-sdk/skill-commands-CPZ9Jvbj.js +0 -1
  1024. package/dist/plugin-sdk/skill-commands-CgDUjb3J.js +0 -1
  1025. package/dist/plugin-sdk/skill-commands-D83BLBEG.js +0 -1
  1026. package/dist/plugin-sdk/skill-commands-DI1TMUxQ.js +0 -1
  1027. package/dist/plugin-sdk/skill-commands-DldIiKD1.js +0 -1
  1028. package/dist/plugin-sdk/skill-commands-LCW6nWWC.cjs +0 -1
  1029. package/dist/plugin-sdk/slack.cjs +0 -1
  1030. package/dist/plugin-sdk/slack.js +0 -1
  1031. package/dist/plugin-sdk/synology-chat.cjs +0 -1
  1032. package/dist/plugin-sdk/synology-chat.js +0 -1
  1033. package/dist/plugin-sdk/tables-BXY1ms0X.js +0 -1
  1034. package/dist/plugin-sdk/tables-BlhpY72l.cjs +0 -1
  1035. package/dist/plugin-sdk/tables-BltHUi44.cjs +0 -1
  1036. package/dist/plugin-sdk/tables-Bp6t_Jkb.js +0 -1
  1037. package/dist/plugin-sdk/tables-BszYJkqX.cjs +0 -1
  1038. package/dist/plugin-sdk/tables-CAZJt5bp.js +0 -1
  1039. package/dist/plugin-sdk/tables-CcuiVH-P.cjs +0 -1
  1040. package/dist/plugin-sdk/tables-CuSMtUxt.cjs +0 -1
  1041. package/dist/plugin-sdk/tables-DOLEnfD6.js +0 -1
  1042. package/dist/plugin-sdk/tables-DiiF7bbj.cjs +0 -1
  1043. package/dist/plugin-sdk/tables-aSJP6Sef.js +0 -1
  1044. package/dist/plugin-sdk/tables-ib4GZqYB.js +0 -1
  1045. package/dist/plugin-sdk/target-errors--anbEDnm.js +0 -1
  1046. package/dist/plugin-sdk/target-errors-4q9SUsM_.js +0 -1
  1047. package/dist/plugin-sdk/target-errors-BFOTHcjO.js +0 -1
  1048. package/dist/plugin-sdk/target-errors-Bw4tI2Lc.cjs +0 -1
  1049. package/dist/plugin-sdk/target-errors-CAgwWHUv.js +0 -1
  1050. package/dist/plugin-sdk/target-errors-CUDKM0z-.js +0 -1
  1051. package/dist/plugin-sdk/target-errors-DIOJ6Eun.cjs +0 -1
  1052. package/dist/plugin-sdk/target-errors-DnZq9h4B.cjs +0 -1
  1053. package/dist/plugin-sdk/target-errors-DwAKh8KU.cjs +0 -1
  1054. package/dist/plugin-sdk/target-errors-QGzfLvuU.cjs +0 -1
  1055. package/dist/plugin-sdk/targets-BSc11Uk8.cjs +0 -1
  1056. package/dist/plugin-sdk/targets-BSkiizml.js +0 -1
  1057. package/dist/plugin-sdk/targets-CBI0xqve.cjs +0 -1
  1058. package/dist/plugin-sdk/targets-CL5fYQi7.js +0 -1
  1059. package/dist/plugin-sdk/targets-CUZWrFrm.cjs +0 -1
  1060. package/dist/plugin-sdk/targets-CVEYTFPQ.js +0 -1
  1061. package/dist/plugin-sdk/targets-Co2R6K14.cjs +0 -1
  1062. package/dist/plugin-sdk/targets-CrkJkzil.js +0 -1
  1063. package/dist/plugin-sdk/targets-D-m7SV9x.cjs +0 -1
  1064. package/dist/plugin-sdk/targets-D8HTxbo4.js +0 -1
  1065. package/dist/plugin-sdk/targets-DcGNB9nk.cjs +0 -1
  1066. package/dist/plugin-sdk/targets-Dn9gDiEw.js +0 -1
  1067. package/dist/plugin-sdk/targets-X28mff4s.cjs +0 -1
  1068. package/dist/plugin-sdk/targets-uycXZ8vQ.js +0 -1
  1069. package/dist/plugin-sdk/telegram.cjs +0 -1
  1070. package/dist/plugin-sdk/telegram.js +0 -1
  1071. package/dist/plugin-sdk/test-utils.cjs +0 -1
  1072. package/dist/plugin-sdk/test-utils.js +0 -1
  1073. package/dist/plugin-sdk/tlon.cjs +0 -1
  1074. package/dist/plugin-sdk/tlon.js +0 -1
  1075. package/dist/plugin-sdk/tokens-AAdZjj0M.js +0 -1
  1076. package/dist/plugin-sdk/tokens-B20KNIDD.js +0 -1
  1077. package/dist/plugin-sdk/tokens-B8ys7Q2e.js +0 -1
  1078. package/dist/plugin-sdk/tokens-BPc1fcZ3.js +0 -1
  1079. package/dist/plugin-sdk/tokens-BqABmXSe.js +0 -1
  1080. package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +0 -1
  1081. package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +0 -1
  1082. package/dist/plugin-sdk/tokens-CytSl1X8.cjs +0 -1
  1083. package/dist/plugin-sdk/tokens-DgPZk2Uu.js +0 -1
  1084. package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +0 -1
  1085. package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +0 -1
  1086. package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +0 -1
  1087. package/dist/plugin-sdk/twitch.cjs +0 -1
  1088. package/dist/plugin-sdk/twitch.js +0 -1
  1089. package/dist/plugin-sdk/utils-BJtJR72k.js +0 -1
  1090. package/dist/plugin-sdk/utils-PPIvU9qw.cjs +0 -1
  1091. package/dist/plugin-sdk/voice-call.cjs +0 -1
  1092. package/dist/plugin-sdk/voice-call.js +0 -1
  1093. package/dist/plugin-sdk/web--8MBOleK.js +0 -1
  1094. package/dist/plugin-sdk/web-B7d3p3kx.cjs +0 -1
  1095. package/dist/plugin-sdk/web-BEuW8Yqw.js +0 -1
  1096. package/dist/plugin-sdk/web-Bg2LIMdb.cjs +0 -1
  1097. package/dist/plugin-sdk/web-DFDao2So.cjs +0 -1
  1098. package/dist/plugin-sdk/web-DjbeDvyv.js +0 -1
  1099. package/dist/plugin-sdk/web-JciOW43P.js +0 -1
  1100. package/dist/plugin-sdk/web-vSFigMHz.cjs +0 -1
  1101. package/dist/plugin-sdk/weixin.cjs +0 -1
  1102. package/dist/plugin-sdk/weixin.js +0 -1
  1103. package/dist/plugin-sdk/whatsapp-actions-B67oFfeq.js +0 -1
  1104. package/dist/plugin-sdk/whatsapp-actions-BB0eACkf.cjs +0 -1
  1105. package/dist/plugin-sdk/whatsapp-actions-BIgrB0j5.cjs +0 -1
  1106. package/dist/plugin-sdk/whatsapp-actions-CFve14ju.cjs +0 -1
  1107. package/dist/plugin-sdk/whatsapp-actions-CdRkPw-b.js +0 -1
  1108. package/dist/plugin-sdk/whatsapp-actions-CtIBOGpJ.cjs +0 -1
  1109. package/dist/plugin-sdk/whatsapp-actions-CwAU7FuE.js +0 -1
  1110. package/dist/plugin-sdk/whatsapp-actions-DQ1t5QTc.cjs +0 -1
  1111. package/dist/plugin-sdk/whatsapp-actions-DkrN4BcG.js +0 -1
  1112. package/dist/plugin-sdk/whatsapp-actions-DnkKzVrU.js +0 -1
  1113. package/dist/plugin-sdk/whatsapp-actions-YcBsDZ88.js +0 -1
  1114. package/dist/plugin-sdk/whatsapp-actions-wk1U2IVU.cjs +0 -1
  1115. package/dist/plugin-sdk/whatsapp.cjs +0 -1
  1116. package/dist/plugin-sdk/whatsapp.js +0 -1
  1117. package/dist/plugin-sdk/zalo.cjs +0 -1
  1118. package/dist/plugin-sdk/zalo.js +0 -1
  1119. package/dist/plugin-sdk/zalouser.cjs +0 -1
  1120. package/dist/plugin-sdk/zalouser.js +0 -1
  1121. package/dist/plugins-CYLrFT4h.js +0 -1
  1122. package/dist/plugins-DNlgeTTc.js +0 -1
  1123. package/dist/plugins-cli-CnXgwZzI.js +0 -1
  1124. package/dist/plugins-cli-PVHBZeb8.js +0 -1
  1125. package/dist/polls-BIVz6a4F.js +0 -1
  1126. package/dist/polls-Bh5wc9-6.js +0 -1
  1127. package/dist/polls-C_XSFz3d.js +0 -1
  1128. package/dist/polls-DKJOFSzJ.js +0 -1
  1129. package/dist/ports-BAaLOkJp.js +2 -0
  1130. package/dist/ports-DDWP1p0X.js +2 -0
  1131. package/dist/probe-auth-C5nWfMS9.js +0 -1
  1132. package/dist/probe-auth-x4OHS_wa.js +0 -1
  1133. package/dist/profile-utils-CWmra1aY.js +0 -1
  1134. package/dist/{program-ppBAyCNf.js → program-D53eGuSf.js} +1 -2
  1135. package/dist/program-context-CH9p6anW.js +0 -1
  1136. package/dist/{program-context-BXNpM3b4.js → program-context-n-ovYq69.js} +1 -2
  1137. package/dist/progress-LNttnI-y.js +0 -1
  1138. package/dist/progress-d1m2sqR1.js +0 -1
  1139. package/dist/{prompt-select-styled-947JghKF.js → prompt-select-styled-DZnefcrY.js} +1 -2
  1140. package/dist/{prompt-select-styled-1abs2MvK.js → prompt-select-styled-DolCW-_j.js} +1 -2
  1141. package/dist/prompt-style-BThRSQJR.js +0 -1
  1142. package/dist/prompt-style-CXKekIBY.js +0 -1
  1143. package/dist/prompts-CMzglboN.js +0 -1
  1144. package/dist/prompts-wv-lfVrJ.js +0 -1
  1145. package/dist/provider-auth-helpers-BLm2bdp5.js +0 -1
  1146. package/dist/provider-auth-helpers-DPz0vN_c.js +0 -1
  1147. package/dist/provider-env-vars-D8p6Ohpj.js +0 -1
  1148. package/dist/provider-env-vars-Dt0Q29Su.js +0 -1
  1149. package/dist/proxy-env-BNhTHkd_.js +0 -1
  1150. package/dist/proxy-env-DcmW_urA.js +0 -1
  1151. package/dist/proxy-env-DrC3TIGh.js +0 -1
  1152. package/dist/proxy-env-FJr5nlvs.js +0 -1
  1153. package/dist/proxy-fetch-BADsUK4d.js +0 -1
  1154. package/dist/proxy-fetch-BZ9O8Dvj.js +0 -1
  1155. package/dist/proxy-fetch-DnjU1fEB.js +0 -1
  1156. package/dist/proxy-fetch-gWETR3cl.js +0 -1
  1157. package/dist/push-apns-BBv62ncV.js +0 -1
  1158. package/dist/push-apns-DIV5dBPP.js +0 -1
  1159. package/dist/pw-ai-C0gM3d-6.js +0 -1
  1160. package/dist/pw-ai-CQd14BQa.js +0 -1
  1161. package/dist/pw-ai-DiQuOf4W.js +0 -1
  1162. package/dist/pw-ai-jlhIn-aA.js +0 -1
  1163. package/dist/qmd-manager-C_e04BNg.js +0 -1
  1164. package/dist/qmd-manager-DSQ_mDCl.js +0 -1
  1165. package/dist/qmd-manager-DcBYbt_V.js +0 -1
  1166. package/dist/qmd-manager-NLI0R6kp.js +0 -1
  1167. package/dist/qr-cli-D06YZurm.js +0 -1
  1168. package/dist/qr-cli-ZtDsXyLO.js +0 -1
  1169. package/dist/query-expansion-0OxEb1Io.js +0 -1
  1170. package/dist/query-expansion-BUUx_oWg.js +0 -1
  1171. package/dist/query-expansion-r_iXkNzt.js +0 -1
  1172. package/dist/reaction-level-DVPHL14p.js +0 -1
  1173. package/dist/reaction-message-id-BEEe7X3D.js +0 -1
  1174. package/dist/read-only-account-inspect-B0cm8yrv.js +0 -1
  1175. package/dist/redact-3_CiXMY6.js +0 -1
  1176. package/dist/redact-CnRxK70G.js +0 -1
  1177. package/dist/register.agent-DHOTtB8X.js +0 -1
  1178. package/dist/register.agent-DQdoMfmw.js +0 -1
  1179. package/dist/register.backup-BDO3V0so.js +0 -1
  1180. package/dist/register.backup-Vh8RK6fp.js +0 -1
  1181. package/dist/register.configure-C2N82brC.js +0 -1
  1182. package/dist/register.configure-C6zjzaEo.js +0 -1
  1183. package/dist/{register.maintenance-Br9uoFKo.js → register.maintenance-CStaPxaB.js} +1 -2
  1184. package/dist/{register.maintenance-Cm3wq9bt.js → register.maintenance-aKBTd9Zp.js} +1 -2
  1185. package/dist/register.message-DHDcOA8X.js +0 -1
  1186. package/dist/register.message-Dh72QHKA.js +0 -1
  1187. package/dist/{register.onboard-AjrSlfCb.js → register.onboard-Bu9gpFlA.js} +1 -2
  1188. package/dist/{register.onboard-zCG1PNWc.js → register.onboard-DB9FWAKT.js} +1 -2
  1189. package/dist/{register.setup-DN0y_pth.js → register.setup-CeG2ETmr.js} +1 -2
  1190. package/dist/{register.setup-Blyl_QsK.js → register.setup-D76IRs4s.js} +1 -2
  1191. package/dist/register.status-health-sessions-Dtpd1P2M.js +0 -1
  1192. package/dist/register.status-health-sessions-mPGKFjIz.js +0 -1
  1193. package/dist/{register.subclis-5Pb-uEHk.js → register.subclis-Drp2dGBe.js} +1 -2
  1194. package/dist/registry-BptzrW8D.js +0 -1
  1195. package/dist/registry-hFAtCSWG.js +0 -1
  1196. package/dist/render-BXEUPIHe.js +0 -1
  1197. package/dist/render-CBsnn-2A.js +0 -1
  1198. package/dist/render-D8OWO2hT.js +0 -1
  1199. package/dist/render-DrrPmnMI.js +0 -1
  1200. package/dist/reply-DwfVhea1.js +0 -1
  1201. package/dist/restart-BeJuoXCx.js +0 -1
  1202. package/dist/rpc-BBdeIvn0.js +0 -1
  1203. package/dist/rpc-f85A4Ib_.js +0 -1
  1204. package/dist/{run-main-DGwq5DIc.js → run-main-CjwjyWA6.js} +1 -2
  1205. package/dist/runtime-CK7gqwEF.js +0 -1
  1206. package/dist/runtime-DYttInEE.js +0 -1
  1207. package/dist/runtime-guard-DFYBaYZS.js +0 -1
  1208. package/dist/runtime-guard-DX2Ie4ri.js +0 -1
  1209. package/dist/runtime-status-CqFBmdRd.js +0 -1
  1210. package/dist/runtime-status-DszMjvJK.js +0 -1
  1211. package/dist/runtime-web-tools-BYhCkBV8.js +0 -1
  1212. package/dist/runtime-web-tools-C4F6aaRh.js +0 -1
  1213. package/dist/sandbox-cli-BR0Lsru-.js +0 -1
  1214. package/dist/sandbox-cli-Jo5nYeug.js +0 -1
  1215. package/dist/scan-paths-C13EseXp.js +0 -1
  1216. package/dist/scan-paths-CWtvWW40.js +0 -1
  1217. package/dist/search-manager-CV2YsAym.js +0 -1
  1218. package/dist/secret-file-C7JffiM_.js +0 -1
  1219. package/dist/secret-file-D60EFEOe.js +0 -1
  1220. package/dist/secret-file-DuWm26jS.js +0 -1
  1221. package/dist/secrets-cli-B8kwyZFo.js +0 -1
  1222. package/dist/secrets-cli-BstBe0UA.js +0 -1
  1223. package/dist/secure-random-D7JQgiK-.js +0 -1
  1224. package/dist/security-cli-C6t8OxaE.js +0 -1
  1225. package/dist/security-cli-Cuc8IQKB.js +0 -1
  1226. package/dist/send--9G8eXo4.js +0 -1
  1227. package/dist/send-4h1tQwX3.js +0 -1
  1228. package/dist/send-7qgAI0ap.js +0 -1
  1229. package/dist/send-AQ3CJLpI.js +0 -1
  1230. package/dist/send-BjrfjBn9.js +0 -1
  1231. package/dist/send-BwblpWbK.js +0 -1
  1232. package/dist/send-C4Lm4nmt.js +0 -1
  1233. package/dist/send-C7rOdjPO.js +0 -1
  1234. package/dist/send-COpehmAB.js +0 -1
  1235. package/dist/send-CWVTcDAW.js +0 -1
  1236. package/dist/send-CciNyaWL.js +0 -1
  1237. package/dist/send-ChILboDj.js +0 -1
  1238. package/dist/send-CyarIb2w.js +0 -1
  1239. package/dist/send-DiHS8tKf.js +0 -1
  1240. package/dist/send-Dj7NBAWg.js +0 -1
  1241. package/dist/send-DmHpf5Fz.js +0 -1
  1242. package/dist/send-NbU9-scF2.js +0 -1
  1243. package/dist/send-hlES-kRl2.js +0 -1
  1244. package/dist/send-swTiQAeK2.js +0 -1
  1245. package/dist/send-vNcod64S.js +0 -1
  1246. package/dist/server-C-lb98FO.js +0 -1
  1247. package/dist/server-DwSkpKgC.js +0 -1
  1248. package/dist/server-node-events-CL0pWoMa.js +0 -1
  1249. package/dist/server-node-events-ChPQ984b.js +0 -1
  1250. package/dist/service-BtB9epJk.js +0 -1
  1251. package/dist/service-DZ9EbS15.js +0 -1
  1252. package/dist/session-BSRnpwSq.js +0 -1
  1253. package/dist/session-CfHCnrXh.js +0 -1
  1254. package/dist/session-JqCxWBM8.js +0 -1
  1255. package/dist/session-bk3gFwO4.js +0 -1
  1256. package/dist/session-cost-usage-BgqKixv0.js +0 -1
  1257. package/dist/session-cost-usage-CHtVgnE8.js +0 -1
  1258. package/dist/session-key-C7F_iqYg.js +0 -1
  1259. package/dist/session-key-D3P0tf5P.js +0 -1
  1260. package/dist/session-utils-Bpdyx2A2.js +0 -1
  1261. package/dist/sessions-Ca6ozRCQ.js +0 -1
  1262. package/dist/shared-9x5sqYRb.js +0 -1
  1263. package/dist/shared-BKWhOp64.js +0 -1
  1264. package/dist/shared-Ca5BFwta.js +0 -1
  1265. package/dist/skill-commands-CPZcaV8-.js +0 -1
  1266. package/dist/skill-commands-CtprBvm0.js +0 -1
  1267. package/dist/skill-commands-DCqPy_Aa.js +0 -1
  1268. package/dist/skill-commands-DlHVddAk.js +0 -1
  1269. package/dist/skill-scanner-CUUF3Fvo.js +0 -1
  1270. package/dist/skill-scanner-CkxXNioD.js +0 -1
  1271. package/dist/skills-Bz_S4lPh.js +0 -1
  1272. package/dist/skills-CzUpDbU-.js +0 -1
  1273. package/dist/skills-cli-DK0QDfln.js +0 -1
  1274. package/dist/skills-cli-DLmqhAB-.js +0 -1
  1275. package/dist/skills-install-D3YB2C-S.js +0 -1
  1276. package/dist/skills-install-cEcqzaX8.js +0 -1
  1277. package/dist/skills-status-D4Y1BJYL.js +0 -1
  1278. package/dist/skills-status-DpSboPY1.js +0 -1
  1279. package/dist/sqlite-CILF3z9U.js +0 -1
  1280. package/dist/stagger-DmFYysrJ.js +0 -1
  1281. package/dist/stagger-DxzgG2jd.js +0 -1
  1282. package/dist/status-BAat65xo.js +0 -1
  1283. package/dist/status-BSHWBrg0.js +0 -1
  1284. package/dist/status-o3Gfr-6l.js +0 -1
  1285. package/dist/status-w4NsjW2R.js +0 -1
  1286. package/dist/status.update-B_8Gumuc.js +0 -1
  1287. package/dist/status.update-_2r0S6Re.js +0 -1
  1288. package/dist/string-normalization-BrUPaXaM.js +0 -1
  1289. package/dist/string-normalization-DJT5zuUF.js +0 -1
  1290. package/dist/subsystem-BLbY429l.js +0 -1
  1291. package/dist/subsystem-Bc2XrjUz.js +0 -1
  1292. package/dist/subsystem-C5XF2Fy5.js +0 -1
  1293. package/dist/system-cli-Ddixb0SQ.js +0 -1
  1294. package/dist/system-cli-NAH97F2s.js +0 -1
  1295. package/dist/system-run-command-DsWBVvSK.js +0 -1
  1296. package/dist/system-run-command-E8ymBXHh.js +0 -1
  1297. package/dist/systemd-D7odsu4K.js +0 -1
  1298. package/dist/systemd-DbevZh65.js +0 -1
  1299. package/dist/systemd-hints-CEQj6yrs.js +0 -1
  1300. package/dist/systemd-hints-lXpMy-kY.js +0 -1
  1301. package/dist/systemd-linger-C2MJD6KG.js +0 -1
  1302. package/dist/systemd-linger-cWKbFNpu.js +0 -1
  1303. package/dist/table-CR7TFMew.js +0 -1
  1304. package/dist/table-CY440fI1.js +0 -1
  1305. package/dist/tables-D6J-isob.js +0 -1
  1306. package/dist/tables-DENKrP-W.js +0 -1
  1307. package/dist/tables-_t5V36m9.js +0 -1
  1308. package/dist/tables-fl9iXahm.js +0 -1
  1309. package/dist/target-errors-CoEHv_2r.js +0 -1
  1310. package/dist/target-errors-D6wejRd6.js +0 -1
  1311. package/dist/target-errors-Dnkqss9y.js +0 -1
  1312. package/dist/target-errors-sMFXKeAY.js +0 -1
  1313. package/dist/targets-4EaxWBal.js +0 -1
  1314. package/dist/targets-BJTo7bqu.js +0 -1
  1315. package/dist/targets-BYVMrXDf.js +0 -1
  1316. package/dist/targets-Bq6rS6-Z.js +0 -1
  1317. package/dist/targets-CL5fYQi7.js +0 -1
  1318. package/dist/targets-fozeWOOg.js +0 -1
  1319. package/dist/targets-m_41k_Mv.js +0 -1
  1320. package/dist/telegram/audit.js +0 -1
  1321. package/dist/text-format-CvrvBBre.js +0 -1
  1322. package/dist/text-format-DEWK6oCT.js +0 -1
  1323. package/dist/token-DnTmiyJu.js +0 -1
  1324. package/dist/tokens-B2fq-rL6.js +0 -1
  1325. package/dist/tokens-CL2fSjGl.js +0 -1
  1326. package/dist/tokens-DRM8vzJx.js +0 -1
  1327. package/dist/tokens-XGbQGn67.js +0 -1
  1328. package/dist/tool-display-DJDtttQg.js +0 -1
  1329. package/dist/tool-display-DjuSUUbH.js +0 -1
  1330. package/dist/tui-5Znjl2Rb.js +0 -1
  1331. package/dist/tui-Tlww_AcE.js +0 -1
  1332. package/dist/tui-cli-C9QPsw50.js +0 -1
  1333. package/dist/tui-cli-FxvETbln.js +0 -1
  1334. package/dist/types.secrets-C-5U96pc.js +0 -1
  1335. package/dist/types.secrets-D4tbc3Wq.js +0 -1
  1336. package/dist/update-CMneH_48.js +0 -1
  1337. package/dist/update-D9EwPybG.js +0 -1
  1338. package/dist/{update-cli-BQGwMpHe.js → update-cli-CL_cUjuq.js} +1 -2
  1339. package/dist/{update-cli-C7pZTXS8.js → update-cli-DU5tRH3c.js} +1 -2
  1340. package/dist/update-runner-DABdlxfN.js +0 -1
  1341. package/dist/update-runner-DG-1TYYc.js +0 -1
  1342. package/dist/usage-format-BWD8FJFL.js +0 -1
  1343. package/dist/usage-format-yPwal8Iz.js +0 -1
  1344. package/dist/utils-CGdo13HV.js +0 -1
  1345. package/dist/utils-D3t-vPka.js +0 -1
  1346. package/dist/utils-R-mFyVJi.js +0 -1
  1347. package/dist/utils-UGOV_184.js +0 -1
  1348. package/dist/version-q3SkUw2K.js +0 -1
  1349. package/dist/warning-filter.js +0 -1
  1350. package/dist/web-Dfi2WjvN.js +0 -1
  1351. package/dist/web-u71NbOpT.js +0 -1
  1352. package/dist/webhooks-cli-DMTzhfTv.js +0 -1
  1353. package/dist/webhooks-cli-ICOwBPSv.js +0 -1
  1354. package/dist/whatsapp-actions-Bdf-3-ne.js +0 -1
  1355. package/dist/whatsapp-actions-D2qMOK3a.js +0 -1
  1356. package/dist/whatsapp-actions-f5CsM5EM.js +0 -1
  1357. package/dist/whatsapp-actions-t88tyNUT.js +0 -1
  1358. package/dist/widearea-dns-BDx7vkV2.js +0 -1
  1359. package/dist/widearea-dns-BFjqKXu_.js +0 -1
  1360. package/dist/windows-spawn-7oINn5ao.js +0 -1
  1361. package/dist/windows-spawn-AB7ItGAE.js +0 -1
  1362. package/dist/with-timeout-WveKxvFV.js +0 -1
  1363. package/dist/with-timeout-c1CzdShT.js +0 -1
  1364. package/dist/workspace-B0ZQeHXg.js +0 -1
  1365. package/dist/workspace-C45T1Cxg.js +0 -1
  1366. package/dist/workspace-dirs-A8Vib9_B.js +0 -1
  1367. package/dist/workspace-dirs-BhF1Dzxt.js +0 -1
  1368. package/dist/workspace-xNEpaJvu.js +0 -1
  1369. package/dist/wsl-DHxB2Ew_.js +0 -1
  1370. package/dist/wsl-Ok7GaSJ6.js +0 -1
  1371. package/extensions/qqbrowser-skill-control/index.js +1 -1
  1372. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +2 -2
  1373. package/node_modules/@aws-sdk/token-providers/package.json +1 -1
  1374. package/node_modules/@google/genai/dist/index.cjs +341 -180
  1375. package/node_modules/@google/genai/dist/index.mjs +341 -180
  1376. package/node_modules/@google/genai/dist/node/index.cjs +341 -180
  1377. package/node_modules/@google/genai/dist/node/index.mjs +341 -180
  1378. package/node_modules/@google/genai/dist/tokenizer/node.cjs +100 -0
  1379. package/node_modules/@google/genai/dist/tokenizer/node.mjs +100 -0
  1380. package/node_modules/@google/genai/dist/vertex_internal/index.cjs +103 -2
  1381. package/node_modules/@google/genai/dist/vertex_internal/index.js +103 -2
  1382. package/node_modules/@google/genai/dist/web/index.mjs +342 -180
  1383. package/node_modules/@google/genai/package.json +1 -1
  1384. package/node_modules/@slack/web-api/dist/instrument.js +13 -1
  1385. package/node_modules/@slack/web-api/package.json +2 -2
  1386. package/node_modules/@smithy/config-resolver/package.json +2 -2
  1387. package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  1388. package/node_modules/@smithy/util-endpoints/dist-cjs/index.js +154 -61
  1389. package/node_modules/@smithy/util-endpoints/dist-es/bdd/BinaryDecisionDiagram.js +15 -0
  1390. package/node_modules/@smithy/util-endpoints/dist-es/decideEndpoint.js +41 -0
  1391. package/node_modules/@smithy/util-endpoints/dist-es/index.js +2 -0
  1392. package/node_modules/@smithy/util-endpoints/dist-es/lib/coalesce.js +8 -0
  1393. package/node_modules/@smithy/util-endpoints/dist-es/lib/index.js +3 -0
  1394. package/node_modules/@smithy/util-endpoints/dist-es/lib/ite.js +3 -0
  1395. package/node_modules/@smithy/util-endpoints/dist-es/lib/split.js +13 -0
  1396. package/node_modules/@smithy/util-endpoints/dist-es/lib/substring.js +1 -1
  1397. package/node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js +4 -1
  1398. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js +20 -5
  1399. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js +3 -6
  1400. package/node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js +1 -5
  1401. package/node_modules/@smithy/util-endpoints/package.json +1 -1
  1402. package/node_modules/discord-api-types/package.json +1 -1
  1403. package/node_modules/discord-api-types/payloads/index.mjs +3 -0
  1404. package/node_modules/discord-api-types/payloads/v10/index.mjs +3 -0
  1405. package/node_modules/discord-api-types/payloads/v10/message.js +55 -2
  1406. package/node_modules/discord-api-types/payloads/v10/user.js +2 -0
  1407. package/node_modules/discord-api-types/payloads/v9/index.mjs +3 -0
  1408. package/node_modules/discord-api-types/payloads/v9/message.js +55 -2
  1409. package/node_modules/discord-api-types/payloads/v9/user.js +2 -0
  1410. package/node_modules/discord-api-types/rest/v10/channel.js +6 -0
  1411. package/node_modules/discord-api-types/rest/v9/channel.js +6 -0
  1412. package/node_modules/discord-api-types/v10.mjs +3 -0
  1413. package/node_modules/discord-api-types/v9.mjs +3 -0
  1414. package/node_modules/undici/package.json +1 -1
  1415. package/package.json +2 -1
  1416. package/dist/ports-Dylc6TrH.js +0 -3
  1417. package/dist/ports-hkqQXSus.js +0 -3
  1418. package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/commander/LICENSE +0 -22
  1419. package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/commander/Readme.md +0 -1157
  1420. package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/zod/LICENSE +0 -21
  1421. package/node_modules/@anthropic-ai/sandbox-runtime/node_modules/zod/README.md +0 -208
  1422. package/node_modules/@anthropic-ai/sdk/src/_vendor/partial-json-parser/README.md +0 -3
  1423. package/node_modules/@anthropic-ai/sdk/src/core/README.md +0 -3
  1424. package/node_modules/@anthropic-ai/sdk/src/internal/README.md +0 -3
  1425. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer/LICENSE +0 -201
  1426. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer/README.md +0 -10
  1427. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from/LICENSE +0 -201
  1428. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from/README.md +0 -10
  1429. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8/LICENSE +0 -201
  1430. package/node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8/README.md +0 -4
  1431. package/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer/LICENSE +0 -201
  1432. package/node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer/README.md +0 -10
  1433. package/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from/LICENSE +0 -201
  1434. package/node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from/README.md +0 -10
  1435. package/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/LICENSE +0 -201
  1436. package/node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/README.md +0 -4
  1437. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/LICENSE +0 -201
  1438. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/README.md +0 -62
  1439. package/node_modules/@buape/carbon/node_modules/@discordjs/voice/LICENSE +0 -191
  1440. package/node_modules/@buape/carbon/node_modules/@discordjs/voice/README.md +0 -112
  1441. package/node_modules/@buape/carbon/node_modules/discord-api-types/LICENSE +0 -21
  1442. package/node_modules/@buape/carbon/node_modules/discord-api-types/README.md +0 -102
  1443. package/node_modules/@buape/carbon/node_modules/ws/LICENSE +0 -20
  1444. package/node_modules/@buape/carbon/node_modules/ws/README.md +0 -548
  1445. package/node_modules/@line/bot-sdk/node_modules/@types/node/LICENSE +0 -21
  1446. package/node_modules/@line/bot-sdk/node_modules/@types/node/README.md +0 -15
  1447. package/node_modules/@line/bot-sdk/node_modules/undici-types/LICENSE +0 -21
  1448. package/node_modules/@line/bot-sdk/node_modules/undici-types/README.md +0 -6
  1449. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1450. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
  1451. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
  1452. package/node_modules/@opentelemetry/exporter-logs-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
  1453. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1454. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/resources/README.md +0 -49
  1455. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
  1456. package/node_modules/@opentelemetry/exporter-metrics-otlp-http/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
  1457. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1458. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
  1459. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
  1460. package/node_modules/@opentelemetry/exporter-metrics-otlp-proto/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
  1461. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1462. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/resources/README.md +0 -49
  1463. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
  1464. package/node_modules/@opentelemetry/exporter-trace-otlp-proto/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
  1465. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1466. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/resources/README.md +0 -49
  1467. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics/LICENSE +0 -201
  1468. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-metrics/README.md +0 -100
  1469. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base/LICENSE +0 -201
  1470. package/node_modules/@opentelemetry/otlp-transformer/node_modules/@opentelemetry/sdk-trace-base/README.md +0 -185
  1471. package/node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core/LICENSE +0 -201
  1472. package/node_modules/@opentelemetry/resources/node_modules/@opentelemetry/core/README.md +0 -73
  1473. package/node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources/LICENSE +0 -201
  1474. package/node_modules/@opentelemetry/sdk-logs/node_modules/@opentelemetry/resources/README.md +0 -49
  1475. package/node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core/LICENSE +0 -201
  1476. package/node_modules/@opentelemetry/sdk-metrics/node_modules/@opentelemetry/core/README.md +0 -73
  1477. package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core/LICENSE +0 -201
  1478. package/node_modules/@opentelemetry/sdk-trace-base/node_modules/@opentelemetry/core/README.md +0 -73
  1479. package/node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core/LICENSE +0 -201
  1480. package/node_modules/@opentelemetry/sdk-trace-node/node_modules/@opentelemetry/core/README.md +0 -73
  1481. package/node_modules/@sinclair/typebox/license +0 -25
  1482. package/node_modules/@sinclair/typebox/readme.md +0 -1865
  1483. package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/license +0 -9
  1484. package/node_modules/@whiskeysockets/baileys/node_modules/p-queue/readme.md +0 -1077
  1485. package/node_modules/@whiskeysockets/baileys/node_modules/p-timeout/license +0 -9
  1486. package/node_modules/@whiskeysockets/baileys/node_modules/p-timeout/readme.md +0 -192
  1487. package/node_modules/ansi-regex/license +0 -9
  1488. package/node_modules/ansi-regex/readme.md +0 -66
  1489. package/node_modules/ansi-styles/license +0 -9
  1490. package/node_modules/ansi-styles/readme.md +0 -152
  1491. package/node_modules/atomic-sleep/readme.md +0 -58
  1492. package/node_modules/axios/lib/adapters/README.md +0 -36
  1493. package/node_modules/axios/lib/core/README.md +0 -8
  1494. package/node_modules/axios/lib/env/README.md +0 -3
  1495. package/node_modules/axios/lib/helpers/README.md +0 -7
  1496. package/node_modules/bytes/History.md +0 -97
  1497. package/node_modules/bytes/Readme.md +0 -152
  1498. package/node_modules/chalk/license +0 -9
  1499. package/node_modules/chalk/readme.md +0 -297
  1500. package/node_modules/cli-highlight/node_modules/chalk/license +0 -9
  1501. package/node_modules/cli-highlight/node_modules/chalk/readme.md +0 -341
  1502. package/node_modules/cliui/node_modules/ansi-regex/license +0 -9
  1503. package/node_modules/cliui/node_modules/ansi-regex/readme.md +0 -78
  1504. package/node_modules/cliui/node_modules/strip-ansi/license +0 -9
  1505. package/node_modules/cliui/node_modules/strip-ansi/readme.md +0 -46
  1506. package/node_modules/combined-stream/License +0 -19
  1507. package/node_modules/combined-stream/Readme.md +0 -138
  1508. package/node_modules/commander/Readme.md +0 -1176
  1509. package/node_modules/cookie-signature/History.md +0 -70
  1510. package/node_modules/cookie-signature/Readme.md +0 -23
  1511. package/node_modules/css-what/readme.md +0 -69
  1512. package/node_modules/delayed-stream/License +0 -19
  1513. package/node_modules/delayed-stream/Readme.md +0 -141
  1514. package/node_modules/depd/History.md +0 -103
  1515. package/node_modules/depd/Readme.md +0 -280
  1516. package/node_modules/domelementtype/readme.md +0 -1
  1517. package/node_modules/domhandler/readme.md +0 -92
  1518. package/node_modules/domutils/readme.md +0 -31
  1519. package/node_modules/entities/readme.md +0 -122
  1520. package/node_modules/escalade/license +0 -9
  1521. package/node_modules/escalade/readme.md +0 -211
  1522. package/node_modules/escape-html/Readme.md +0 -43
  1523. package/node_modules/express/Readme.md +0 -276
  1524. package/node_modules/express-rate-limit/license.md +0 -20
  1525. package/node_modules/express-rate-limit/readme.md +0 -136
  1526. package/node_modules/extract-zip/readme.md +0 -57
  1527. package/node_modules/fast-string-truncated-width/license +0 -21
  1528. package/node_modules/fast-string-truncated-width/readme.md +0 -60
  1529. package/node_modules/fast-string-width/license +0 -21
  1530. package/node_modules/fast-string-width/readme.md +0 -45
  1531. package/node_modules/file-type/license +0 -9
  1532. package/node_modules/file-type/readme.md +0 -667
  1533. package/node_modules/form-data/License +0 -19
  1534. package/node_modules/form-data/node_modules/mime-db/HISTORY.md +0 -507
  1535. package/node_modules/form-data/node_modules/mime-db/LICENSE +0 -23
  1536. package/node_modules/form-data/node_modules/mime-db/README.md +0 -100
  1537. package/node_modules/form-data/node_modules/mime-types/HISTORY.md +0 -397
  1538. package/node_modules/form-data/node_modules/mime-types/LICENSE +0 -23
  1539. package/node_modules/form-data/node_modules/mime-types/README.md +0 -113
  1540. package/node_modules/gaxios/node_modules/agent-base/LICENSE +0 -22
  1541. package/node_modules/gaxios/node_modules/agent-base/README.md +0 -69
  1542. package/node_modules/gaxios/node_modules/https-proxy-agent/LICENSE +0 -22
  1543. package/node_modules/gaxios/node_modules/https-proxy-agent/README.md +0 -70
  1544. package/node_modules/get-east-asian-width/license +0 -9
  1545. package/node_modules/get-east-asian-width/readme.md +0 -65
  1546. package/node_modules/get-stream/license +0 -9
  1547. package/node_modules/get-stream/readme.md +0 -124
  1548. package/node_modules/get-uri/node_modules/data-uri-to-buffer/LICENSE +0 -22
  1549. package/node_modules/get-uri/node_modules/data-uri-to-buffer/README.md +0 -61
  1550. package/node_modules/grammy/node_modules/node-fetch/LICENSE.md +0 -22
  1551. package/node_modules/grammy/node_modules/node-fetch/README.md +0 -634
  1552. package/node_modules/has-flag/license +0 -9
  1553. package/node_modules/has-flag/readme.md +0 -89
  1554. package/node_modules/htmlparser2/node_modules/entities/LICENSE +0 -11
  1555. package/node_modules/htmlparser2/node_modules/entities/readme.md +0 -143
  1556. package/node_modules/http-proxy-agent/node_modules/agent-base/LICENSE +0 -22
  1557. package/node_modules/http-proxy-agent/node_modules/agent-base/README.md +0 -69
  1558. package/node_modules/is-fullwidth-code-point/license +0 -9
  1559. package/node_modules/is-fullwidth-code-point/readme.md +0 -39
  1560. package/node_modules/is-stream/license +0 -9
  1561. package/node_modules/is-stream/readme.md +0 -60
  1562. package/node_modules/jws/readme.md +0 -255
  1563. package/node_modules/libsignal/native/ed25519/sha512/LICENSE.txt +0 -20
  1564. package/node_modules/libsignal/node_modules/@types/node/LICENSE +0 -21
  1565. package/node_modules/libsignal/node_modules/@types/node/README.md +0 -16
  1566. package/node_modules/libsignal/node_modules/long/LICENSE +0 -202
  1567. package/node_modules/libsignal/node_modules/long/README.md +0 -246
  1568. package/node_modules/libsignal/node_modules/protobufjs/LICENSE +0 -39
  1569. package/node_modules/libsignal/node_modules/protobufjs/README.md +0 -879
  1570. package/node_modules/libsignal/node_modules/protobufjs/cli/LICENSE +0 -33
  1571. package/node_modules/libsignal/node_modules/protobufjs/cli/README.md +0 -11
  1572. package/node_modules/libsignal/node_modules/protobufjs/cli/lib/tsd-jsdoc/LICENSE +0 -21
  1573. package/node_modules/libsignal/node_modules/protobufjs/cli/lib/tsd-jsdoc/README.md +0 -23
  1574. package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/os-tmpdir/license +0 -21
  1575. package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/os-tmpdir/readme.md +0 -32
  1576. package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/tmp/LICENSE +0 -21
  1577. package/node_modules/libsignal/node_modules/protobufjs/cli/node_modules/tmp/README.md +0 -314
  1578. package/node_modules/libsignal/node_modules/protobufjs/dist/README.md +0 -31
  1579. package/node_modules/libsignal/node_modules/protobufjs/dist/light/README.md +0 -31
  1580. package/node_modules/libsignal/node_modules/protobufjs/dist/minimal/README.md +0 -31
  1581. package/node_modules/libsignal/node_modules/protobufjs/ext/debug/README.md +0 -4
  1582. package/node_modules/libsignal/node_modules/protobufjs/ext/descriptor/README.md +0 -72
  1583. package/node_modules/libsignal/node_modules/protobufjs/google/LICENSE +0 -27
  1584. package/node_modules/libsignal/node_modules/protobufjs/google/README.md +0 -1
  1585. package/node_modules/lie/license.md +0 -7
  1586. package/node_modules/linkedom/node_modules/html-escaper/LICENSE.txt +0 -19
  1587. package/node_modules/linkedom/node_modules/html-escaper/README.md +0 -110
  1588. package/node_modules/merge-descriptors/license +0 -11
  1589. package/node_modules/merge-descriptors/readme.md +0 -55
  1590. package/node_modules/ms/license.md +0 -21
  1591. package/node_modules/ms/readme.md +0 -59
  1592. package/node_modules/node-edge-tts/node_modules/agent-base/LICENSE +0 -22
  1593. package/node_modules/node-edge-tts/node_modules/agent-base/README.md +0 -69
  1594. package/node_modules/node-edge-tts/node_modules/ansi-regex/license +0 -9
  1595. package/node_modules/node-edge-tts/node_modules/ansi-regex/readme.md +0 -78
  1596. package/node_modules/node-edge-tts/node_modules/cliui/LICENSE.txt +0 -14
  1597. package/node_modules/node-edge-tts/node_modules/cliui/README.md +0 -141
  1598. package/node_modules/node-edge-tts/node_modules/https-proxy-agent/LICENSE +0 -22
  1599. package/node_modules/node-edge-tts/node_modules/https-proxy-agent/README.md +0 -70
  1600. package/node_modules/node-edge-tts/node_modules/strip-ansi/license +0 -9
  1601. package/node_modules/node-edge-tts/node_modules/strip-ansi/readme.md +0 -46
  1602. package/node_modules/node-edge-tts/node_modules/yargs/LICENSE +0 -21
  1603. package/node_modules/node-edge-tts/node_modules/yargs/README.md +0 -204
  1604. package/node_modules/node-edge-tts/node_modules/yargs-parser/LICENSE.txt +0 -14
  1605. package/node_modules/node-edge-tts/node_modules/yargs-parser/README.md +0 -518
  1606. package/node_modules/object-assign/license +0 -21
  1607. package/node_modules/object-assign/readme.md +0 -61
  1608. package/node_modules/object-inspect/readme.markdown +0 -84
  1609. package/node_modules/openai/src/_vendor/partial-json-parser/README.md +0 -3
  1610. package/node_modules/openai/src/_vendor/zod-to-json-schema/LICENSE +0 -15
  1611. package/node_modules/openai/src/_vendor/zod-to-json-schema/README.md +0 -3
  1612. package/node_modules/openai/src/core/README.md +0 -3
  1613. package/node_modules/openai/src/internal/README.md +0 -3
  1614. package/node_modules/openai/src/internal/qs/LICENSE.md +0 -13
  1615. package/node_modules/openai/src/internal/qs/README.md +0 -3
  1616. package/node_modules/p-finally/license +0 -21
  1617. package/node_modules/p-finally/readme.md +0 -47
  1618. package/node_modules/p-queue/license +0 -9
  1619. package/node_modules/p-queue/node_modules/eventemitter3/LICENSE +0 -21
  1620. package/node_modules/p-queue/node_modules/eventemitter3/README.md +0 -94
  1621. package/node_modules/p-queue/readme.md +0 -400
  1622. package/node_modules/p-retry/license +0 -9
  1623. package/node_modules/p-retry/readme.md +0 -148
  1624. package/node_modules/p-timeout/license +0 -9
  1625. package/node_modules/p-timeout/readme.md +0 -87
  1626. package/node_modules/pac-proxy-agent/node_modules/agent-base/LICENSE +0 -22
  1627. package/node_modules/pac-proxy-agent/node_modules/agent-base/README.md +0 -69
  1628. package/node_modules/pac-proxy-agent/node_modules/https-proxy-agent/LICENSE +0 -22
  1629. package/node_modules/pac-proxy-agent/node_modules/https-proxy-agent/README.md +0 -70
  1630. package/node_modules/pako/lib/zlib/README +0 -59
  1631. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/LICENSE +0 -19
  1632. package/node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5/README.md +0 -38
  1633. package/node_modules/path-key/license +0 -9
  1634. package/node_modules/path-key/readme.md +0 -61
  1635. package/node_modules/path-to-regexp/Readme.md +0 -224
  1636. package/node_modules/pino-std-serializers/Readme.md +0 -182
  1637. package/node_modules/process-nextick-args/license.md +0 -19
  1638. package/node_modules/process-nextick-args/readme.md +0 -18
  1639. package/node_modules/proper-lockfile/node_modules/retry/License +0 -21
  1640. package/node_modules/proper-lockfile/node_modules/retry/README.md +0 -227
  1641. package/node_modules/protobufjs/ext/debug/README.md +0 -4
  1642. package/node_modules/protobufjs/ext/descriptor/README.md +0 -72
  1643. package/node_modules/proxy-addr/node_modules/ipaddr.js/LICENSE +0 -19
  1644. package/node_modules/proxy-addr/node_modules/ipaddr.js/README.md +0 -233
  1645. package/node_modules/proxy-agent/node_modules/agent-base/LICENSE +0 -22
  1646. package/node_modules/proxy-agent/node_modules/agent-base/README.md +0 -69
  1647. package/node_modules/proxy-agent/node_modules/https-proxy-agent/LICENSE +0 -22
  1648. package/node_modules/proxy-agent/node_modules/https-proxy-agent/README.md +0 -70
  1649. package/node_modules/proxy-agent/node_modules/lru-cache/LICENSE +0 -15
  1650. package/node_modules/proxy-agent/node_modules/lru-cache/README.md +0 -1117
  1651. package/node_modules/proxy-agent/node_modules/proxy-from-env/LICENSE +0 -20
  1652. package/node_modules/proxy-agent/node_modules/proxy-from-env/README.md +0 -131
  1653. package/node_modules/qified/node_modules/hookified/LICENSE +0 -19
  1654. package/node_modules/qified/node_modules/hookified/README.md +0 -1682
  1655. package/node_modules/quick-format-unescaped/readme.md +0 -66
  1656. package/node_modules/readable-stream/node_modules/safe-buffer/LICENSE +0 -21
  1657. package/node_modules/readable-stream/node_modules/safe-buffer/README.md +0 -584
  1658. package/node_modules/require-from-string/license +0 -21
  1659. package/node_modules/require-from-string/readme.md +0 -56
  1660. package/node_modules/retry/License +0 -21
  1661. package/node_modules/router/node_modules/is-promise/LICENSE +0 -19
  1662. package/node_modules/router/node_modules/is-promise/readme.md +0 -33
  1663. package/node_modules/safe-stable-stringify/readme.md +0 -179
  1664. package/node_modules/safer-buffer/Readme.md +0 -156
  1665. package/node_modules/shebang-command/license +0 -9
  1666. package/node_modules/shebang-command/readme.md +0 -34
  1667. package/node_modules/shebang-regex/license +0 -9
  1668. package/node_modules/shebang-regex/readme.md +0 -33
  1669. package/node_modules/sisteransi/license +0 -21
  1670. package/node_modules/sisteransi/readme.md +0 -113
  1671. package/node_modules/socks-proxy-agent/node_modules/agent-base/LICENSE +0 -22
  1672. package/node_modules/socks-proxy-agent/node_modules/agent-base/README.md +0 -69
  1673. package/node_modules/string-width/license +0 -9
  1674. package/node_modules/string-width/node_modules/ansi-regex/license +0 -9
  1675. package/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -78
  1676. package/node_modules/string-width/node_modules/strip-ansi/license +0 -9
  1677. package/node_modules/string-width/node_modules/strip-ansi/readme.md +0 -46
  1678. package/node_modules/string-width/readme.md +0 -50
  1679. package/node_modules/string_decoder/node_modules/safe-buffer/LICENSE +0 -21
  1680. package/node_modules/string_decoder/node_modules/safe-buffer/README.md +0 -584
  1681. package/node_modules/strip-ansi/license +0 -9
  1682. package/node_modules/strip-ansi/readme.md +0 -37
  1683. package/node_modules/supports-color/license +0 -9
  1684. package/node_modules/supports-color/readme.md +0 -76
  1685. package/node_modules/uint8array-extras/license +0 -9
  1686. package/node_modules/uint8array-extras/readme.md +0 -318
  1687. package/node_modules/undici/lib/web/fetch/LICENSE +0 -21
  1688. package/node_modules/undici/lib/web/subresource-integrity/Readme.md +0 -9
  1689. package/node_modules/util-deprecate/History.md +0 -16
  1690. package/node_modules/wrap-ansi/license +0 -9
  1691. package/node_modules/wrap-ansi/node_modules/ansi-regex/license +0 -9
  1692. package/node_modules/wrap-ansi/node_modules/ansi-regex/readme.md +0 -78
  1693. package/node_modules/wrap-ansi/node_modules/strip-ansi/license +0 -9
  1694. package/node_modules/wrap-ansi/node_modules/strip-ansi/readme.md +0 -46
  1695. package/node_modules/wrap-ansi/readme.md +0 -91
  1696. package/node_modules/yoctocolors/license +0 -9
  1697. package/node_modules/yoctocolors/readme.md +0 -138
  1698. package/node_modules/zod-to-json-schema/changelog.md +0 -83
@@ -44,4 +44,3 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Cqca1YmF.cjs`),n=requ
44
44
  throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
45
45
  }
46
46
  `);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let a=r?j(t,r):t.locator(i).first(),o=await n.li({rootDir:n.si,requestedPaths:e.paths,scopeLabel:`uploads directory (${n.si})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,r||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let r=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,r)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),r(Error(`Response not found for url pattern "${t}". Run '${n.ec(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>r?u.slice(0,r):u,truncated:u.length>r?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),r=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(r);let i=await f({cdpUrl:e.cdpUrl,page:r,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:n.Hr(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},r=String(e.url??``).trim();if(!r)throw Error(`url is required`);await n.gi({url:r,...n.yi(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(r,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await n._i({request:s?.request(),...n.yi(e.ssrfPolicy)});let c=a.url();return await n.vi({url:c,...n.yi(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),r=T(t);if(!r.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:n.oi,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),r.traceActive=!1}n.$r(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
47
- //# sourceMappingURL=pw-ai-D7d16RB-.cjs.map
@@ -44,4 +44,3 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-BPlgbwrb.cjs`),n=requ
44
44
  throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
45
45
  }
46
46
  `);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let a=r?j(t,r):t.locator(i).first(),o=await n.ks({rootDir:n.Ds,requestedPaths:e.paths,scopeLabel:`uploads directory (${n.Ds})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,r||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let r=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,r)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),r(Error(`Response not found for url pattern "${t}". Run '${n.Hl(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>r?u.slice(0,r):u,truncated:u.length>r?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),r=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(r);let i=await f({cdpUrl:e.cdpUrl,page:r,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:n.ss(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},r=String(e.url??``).trim();if(!r)throw Error(`url is required`);await n.Is({url:r,...n.zs(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(r,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await n.Ls({request:s?.request(),...n.zs(e.ssrfPolicy)});let c=a.url();return await n.Rs({url:c,...n.zs(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),r=T(t);if(!r.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:n.Es,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),r.traceActive=!1}n.vs(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
47
- //# sourceMappingURL=pw-ai-DF7TX5Lc.cjs.map
@@ -44,4 +44,3 @@ import{O as e}from"./paths-cBAF6Bj0.js";import{$r as t,Ai as n,Ci as r,Di as i,E
44
44
  throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
45
45
  }
46
46
  `);return await $(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Z(e),n=Y(e.timeoutMs,2e4),r=J(e.ref),i=U(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw X(e,r)}}async function ut(e){let t=await H(e);P(t);let n=Y(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await U(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await U(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let t=await H(e);if(P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let n=typeof e.inputRef==`string`?e.inputRef.trim():``,r=typeof e.element==`string`?e.element.trim():``;if(n&&r)throw Error(`inputRef and element are mutually exclusive`);if(!n&&!r)throw Error(`inputRef or element is required`);let i=n?U(t,n):t.locator(r).first(),a=await l({rootDir:v,requestedPaths:e.paths,scopeLabel:`uploads directory (${v})`});if(!a.ok)throw Error(a.error);let o=a.paths;try{await i.setInputFiles(o)}catch(e){throw X(e,n||r)}try{let e=await i.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=Y(e.timeoutMs,2e4),i=await H(e);P(i);let a=await new Promise((e,n)=>{let a=!1,o,s,c=()=>{o&&clearTimeout(o),o=void 0,s&&i.off(`response`,s)};s=n=>{a||mt(t,n.url?.()||``)&&(a=!0,c(),e(n))},i.on(`response`,s),o=setTimeout(()=>{a||(a=!0,c(),n(Error(`Response not found for url pattern "${t}". Run '${ee(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,s=a.status?.(),c=a.headers?.(),l=``;try{if(typeof a.text==`function`)l=await a.text();else if(typeof a.body==`function`){let e=await a.body();l=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:s,headers:c,body:l.length>n?l.slice(0,n):l,truncated:l.length>n?!0:void 0}}async function gt(e){let n=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),r=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(r);let i=await C({cdpUrl:e.cdpUrl,page:r,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:t(Array.isArray(i?.nodes)?i.nodes:[],n)}}async function _t(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=ze(i);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});if(P(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=ze(String(r?.full??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:Ae(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Le(String(i??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:Ae(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},r=String(e.url??``).trim();if(!r)throw Error(`url is required`);await i({url:r,...n(e.ssrfPolicy)});let a=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),s=await H(e);P(s);let c=async()=>await s.goto(r,{timeout:a}),l;try{l=await c()}catch(n){if(!t(n))throw n;await W({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),s=await H(e),P(s),l=await c()}await o({request:l?.request(),...n(e.ssrfPolicy)});let u=s.url();return await p({url:u,...n(e.ssrfPolicy)}),{url:u}}async function bt(e){let t=await H(e);P(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await H(e);P(t),await t.close()}async function St(e){let t=await H(e);return P(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await H(e);P(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await H(e);P(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await H(e);if(P(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await H(e);P(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await H(e);P(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await H(e);P(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await H(e);P(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await H(e);P(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=ie[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await H(e);return P(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await H(e);P(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await H(e);P(t),await t.context().clearCookies()}async function Pt(e){let t=await H(e);P(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await H(e);P(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await H(e);P(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await H(e)).context(),n=F(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await H(e)).context(),n=F(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await De({rootDir:s,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}te();export{Ze as armDialogViaPlaywright,Xe as armFileUploadViaPlaywright,tt as clickViaPlaywright,ye as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,me as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,ve as createPageViaPlaywright,$e as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,P as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,be as focusPageByTargetIdViaPlaywright,W as forceDisconnectPlaywrightForTarget,we as getConsoleMessagesViaPlaywright,Se as getNetworkRequestsViaPlaywright,xe as getPageErrorsViaPlaywright,H as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,_e as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,U as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Qe as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
47
- //# sourceMappingURL=pw-ai-DHN1pktj.js.map
@@ -44,4 +44,3 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-Chp3zwtq.cjs`),n=requ
44
44
  throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
45
45
  }
46
46
  `);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let n=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(n&&i)throw Error(`inputRef and element are mutually exclusive`);if(!n&&!i)throw Error(`inputRef or element is required`);let a=n?j(t,n):t.locator(i).first(),o=await r.or({rootDir:r.ir,requestedPaths:e.paths,scopeLabel:`uploads directory (${r.ir})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,n||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,n)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),n(Error(`Response not found for url pattern "${t}". Run '${r.Js(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>n?u.slice(0,n):u,truncated:u.length>n?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(n);let i=await f({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:r.Rn(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},n=String(e.url??``).trim();if(!n)throw Error(`url is required`);await r.pr({url:n,...r.gr(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(n,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await r.mr({request:s?.request(),...r.gr(e.ssrfPolicy)});let c=a.url();return await r.hr({url:c,...r.gr(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),n=T(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:r.rr,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}r.Yn(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
47
- //# sourceMappingURL=pw-ai-QzImh8G0.cjs.map
@@ -44,4 +44,3 @@ import{_ as e}from"./paths-CXgWvWAM.js";import{Z as t}from"./utils-BJtJR72k.js";
44
44
  throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
45
45
  }
46
46
  `);return await $(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Z(e),n=Y(e.timeoutMs,2e4),r=J(e.ref),i=U(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw X(e,r)}}async function ut(e){let t=await H(e);P(t);let n=Y(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await U(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await U(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let t=await H(e);if(P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let a=r?U(t,r):t.locator(i).first(),s=await o({rootDir:n,requestedPaths:e.paths,scopeLabel:`uploads directory (${n})`});if(!s.ok)throw Error(s.error);let c=s.paths;try{await a.setInputFiles(c)}catch(e){throw X(e,r||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=Y(e.timeoutMs,2e4),i=await H(e);P(i);let a=await new Promise((e,n)=>{let a=!1,o,s,c=()=>{o&&clearTimeout(o),o=void 0,s&&i.off(`response`,s)};s=n=>{a||mt(t,n.url?.()||``)&&(a=!0,c(),e(n))},i.on(`response`,s),o=setTimeout(()=>{a||(a=!0,c(),n(Error(`Response not found for url pattern "${t}". Run '${ee(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,s=a.status?.(),c=a.headers?.(),l=``;try{if(typeof a.text==`function`)l=await a.text();else if(typeof a.body==`function`){let e=await a.body();l=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:s,headers:c,body:l.length>n?l.slice(0,n):l,truncated:l.length>n?!0:void 0}}async function gt(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(n);let r=await C({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:d(Array.isArray(r?.nodes)?r.nodes:[],t)}}async function _t(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=ze(i);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});if(P(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=ze(String(r?.full??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:Ae(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Le(String(i??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:Ae(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},n=String(e.url??``).trim();if(!n)throw Error(`url is required`);await y({url:n,...a(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),o=await H(e);P(o);let s=async()=>await o.goto(n,{timeout:i}),c;try{c=await s()}catch(n){if(!t(n))throw n;await W({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),o=await H(e),P(o),c=await s()}await r({request:c?.request(),...a(e.ssrfPolicy)});let u=o.url();return await l({url:u,...a(e.ssrfPolicy)}),{url:u}}async function bt(e){let t=await H(e);P(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await H(e);P(t),await t.close()}async function St(e){let t=await H(e);return P(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await H(e);P(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await H(e);P(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await H(e);if(P(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await H(e);P(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await H(e);P(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await H(e);P(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await H(e);P(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await H(e);P(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=ie[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await H(e);return P(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await H(e);P(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await H(e);P(t),await t.context().clearCookies()}async function Pt(e){let t=await H(e);P(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await H(e);P(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await H(e);P(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await H(e)).context(),n=F(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await H(e)).context(),n=F(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await De({rootDir:h,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}c();export{Ze as armDialogViaPlaywright,Xe as armFileUploadViaPlaywright,tt as clickViaPlaywright,ye as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,me as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,ve as createPageViaPlaywright,$e as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,P as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,be as focusPageByTargetIdViaPlaywright,W as forceDisconnectPlaywrightForTarget,we as getConsoleMessagesViaPlaywright,Se as getNetworkRequestsViaPlaywright,xe as getPageErrorsViaPlaywright,H as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,_e as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,U as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Qe as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
47
- //# sourceMappingURL=pw-ai-V1CVJi48.js.map
@@ -44,4 +44,3 @@ import{O as e}from"./paths-Do0djuaj.js";import{Gr as t,Hr as n,Kr as r,Qr as i,U
44
44
  throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
45
45
  }
46
46
  `);return await $e(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=W(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function ut(e){let t=await U(e);F(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await U(e);F(t),P({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await W(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await U(e);F(t),P({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await W(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let t=await U(e);if(F(t),P({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let n=typeof e.inputRef==`string`?e.inputRef.trim():``,r=typeof e.element==`string`?e.element.trim():``;if(n&&r)throw Error(`inputRef and element are mutually exclusive`);if(!n&&!r)throw Error(`inputRef or element is required`);let i=n?W(t,n):t.locator(r).first(),a=await f({rootDir:v,requestedPaths:e.paths,scopeLabel:`uploads directory (${v})`});if(!a.ok)throw Error(a.error);let o=a.paths;try{await i.setInputFiles(o)}catch(e){throw Z(e,n||r)}try{let e=await i.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=X(e.timeoutMs,2e4),i=await U(e);F(i);let a=await new Promise((e,n)=>{let a=!1,o,s,l=()=>{o&&clearTimeout(o),o=void 0,s&&i.off(`response`,s)};s=n=>{a||mt(t,n.url?.()||``)&&(a=!0,l(),e(n))},i.on(`response`,s),o=setTimeout(()=>{a||(a=!0,l(),n(Error(`Response not found for url pattern "${t}". Run '${c(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,s=a.status?.(),l=a.headers?.(),u=``;try{if(typeof a.text==`function`)u=await a.text();else if(typeof a.body==`function`){let e=await a.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:s,headers:l,body:u.length>n?u.slice(0,n):u,truncated:u.length>n?!0:void 0}}async function gt(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await U({cdpUrl:e.cdpUrl,targetId:e.targetId});F(n);let r=await w({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:o(Array.isArray(r?.nodes)?r.nodes:[],t)}}async function _t(e){let t=await U({cdpUrl:e.cdpUrl,targetId:e.targetId});F(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=Re(i);return N({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await U({cdpUrl:e.cdpUrl,targetId:e.targetId});if(F(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=Re(String(r?.full??``),e.options);return N({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:ke(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ie(String(i??``),e.options);return N({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:ke(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},n=String(e.url??``).trim();if(!n)throw Error(`url is required`);await g({url:n,...y(e.ssrfPolicy)});let r=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),i=await U(e);F(i);let a=async()=>await i.goto(n,{timeout:r}),o;try{o=await a()}catch(n){if(!t(n))throw n;await G({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),i=await U(e),F(i),o=await a()}await h({request:o?.request(),...y(e.ssrfPolicy)});let s=i.url();return await u({url:s,...y(e.ssrfPolicy)}),{url:s}}async function bt(e){let t=await U(e);F(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await U(e);F(t),await t.close()}async function St(e){let t=await U(e);return F(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await U(e);F(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await U(e);F(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await U(e);if(F(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await U(e);F(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await U(e);F(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await U(e);F(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await w({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await U(e);F(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await w({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await U(e);F(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=re[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await w({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await U(e);return F(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await U(e);F(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await U(e);F(t),await t.context().clearCookies()}async function Pt(e){let t=await U(e);F(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await U(e);F(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await U(e);F(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await U(e)).context(),n=I(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await U(e)).context(),n=I(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await Ee({rootDir:d,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}i();export{Xe as armDialogViaPlaywright,Ye as armFileUploadViaPlaywright,tt as clickViaPlaywright,ve as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,pe as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,_e as createPageViaPlaywright,Qe as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,F as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,ye as focusPageByTargetIdViaPlaywright,G as forceDisconnectPlaywrightForTarget,Ce as getConsoleMessagesViaPlaywright,xe as getNetworkRequestsViaPlaywright,be as getPageErrorsViaPlaywright,U as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,ge as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,W as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Ze as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
47
- //# sourceMappingURL=pw-ai-mvXkpTxf.js.map
@@ -44,4 +44,3 @@ import{M as e}from"./paths-J4JUiRsa.js";import{Es as t,Fs as n,Is as r,Ls as i,O
44
44
  throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
45
45
  }
46
46
  `);return await $(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Z(e),n=Y(e.timeoutMs,2e4),r=J(e.ref),i=V(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw X(e,r)}}async function ut(e){let t=await B(e);M(t);let n=Y(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await B(e);M(t),j({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await V(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await B(e);M(t),j({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await V(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let n=await B(e);if(M(n),j({cdpUrl:e.cdpUrl,targetId:e.targetId,page:n}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let o=r?V(n,r):n.locator(i).first(),s=await a({rootDir:t,requestedPaths:e.paths,scopeLabel:`uploads directory (${t})`});if(!s.ok)throw Error(s.error);let c=s.paths;try{await o.setInputFiles(c)}catch(e){throw X(e,r||i)}try{let e=await o.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=Y(e.timeoutMs,2e4),i=await B(e);M(i);let a=await new Promise((e,n)=>{let a=!1,o,c,l=()=>{o&&clearTimeout(o),o=void 0,c&&i.off(`response`,c)};c=n=>{a||mt(t,n.url?.()||``)&&(a=!0,l(),e(n))},i.on(`response`,c),o=setTimeout(()=>{a||(a=!0,l(),n(Error(`Response not found for url pattern "${t}". Run '${s(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,c=a.status?.(),l=a.headers?.(),u=``;try{if(typeof a.text==`function`)u=await a.text();else if(typeof a.body==`function`){let e=await a.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:c,headers:l,body:u.length>n?u.slice(0,n):u,truncated:u.length>n?!0:void 0}}async function gt(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await B({cdpUrl:e.cdpUrl,targetId:e.targetId});M(n);let r=await S({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:_(Array.isArray(r?.nodes)?r.nodes:[],t)}}async function _t(e){let t=await B({cdpUrl:e.cdpUrl,targetId:e.targetId});M(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=ze(i);return A({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await B({cdpUrl:e.cdpUrl,targetId:e.targetId});if(M(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=ze(String(r?.full??``),e.options);return A({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:Ae(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Le(String(i??``),e.options);return A({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:Ae(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},a=String(e.url??``).trim();if(!a)throw Error(`url is required`);await n({url:a,...c(e.ssrfPolicy)});let o=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),s=await B(e);M(s);let l=async()=>await s.goto(a,{timeout:o}),u;try{u=await l()}catch(n){if(!t(n))throw n;await H({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),s=await B(e),M(s),u=await l()}await r({request:u?.request(),...c(e.ssrfPolicy)});let d=s.url();return await i({url:d,...c(e.ssrfPolicy)}),{url:d}}async function bt(e){let t=await B(e);M(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await B(e);M(t),await t.close()}async function St(e){let t=await B(e);return M(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await B(e);M(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await B(e);M(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await B(e);if(M(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await B(e);M(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await B(e);M(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await B(e);M(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await S({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await B(e);M(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await S({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await B(e);M(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=ae[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await S({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await B(e);return M(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await B(e);M(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await B(e);M(t),await t.context().clearCookies()}async function Pt(e){let t=await B(e);M(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await B(e);M(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await B(e);M(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await B(e)).context(),n=N(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await B(e)).context(),n=N(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await De({rootDir:l,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}u();export{Ze as armDialogViaPlaywright,Xe as armFileUploadViaPlaywright,tt as clickViaPlaywright,xe as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,ge as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,be as createPageViaPlaywright,$e as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,M as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,Se as focusPageByTargetIdViaPlaywright,H as forceDisconnectPlaywrightForTarget,Te as getConsoleMessagesViaPlaywright,we as getNetworkRequestsViaPlaywright,Ce as getPageErrorsViaPlaywright,B as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,ye as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,V as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Qe as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
47
- //# sourceMappingURL=pw-ai-tdgA-KlG.js.map
@@ -3,4 +3,3 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Dd7r1qlB.cjs`),n=requ
3
3
  `),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await N(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);E.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,E.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||i.default.join(o.default.homedir(),`.cache`),t=i.default.join(e,`qmd`,`models`),n=i.default.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await s.default.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await s.default.lstat(n);return}catch{}try{await s.default.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await s.default.symlink(t,n,`junction`);else throw e}E.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){E.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await f({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:u({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,E.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){E.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await f({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=u({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!d({err:t,command:r.command,commandBase:`mcporter`}))throw t;return E.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let i=Math.max(1,t??1),a=Math.max(1,n??1/0),o;try{o=await s.default.open(e)}catch(e){if(r.C(e))return{missing:!0};throw e}let l=o.createReadStream({encoding:`utf-8`}),u=c.default.createInterface({input:l,crlfDelay:1/0}),d=[],f=0;try{for await(let e of u)if(f+=1,!(f<i)){if(d.length>=a)break;d.push(e)}}finally{u.close(),await o.close()}return{missing:!1,text:d.slice(0,a).join(`
4
4
  `)}}async readFullText(e){try{return{missing:!1,text:await s.default.readFile(e,`utf-8`)}}catch(e){if(r.C(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=r.r();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await s.default.mkdir(e,{recursive:!0});let n=await r.a(this.agentId),a=new Set,o=new Set,c=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let s of n){let n=await r.i(s);if(!n||c&&n.mtimeMs<c)continue;let l=`${i.default.basename(s,`.jsonl`)}.md`,u=i.default.join(e,l);o.add(s);let d=this.exportedSessionState.get(s);(!d||d.hash!==n.hash||d.mtimeMs!==n.mtimeMs)&&await t.k({rootDir:e,relativePath:l,data:this.renderSessionMarkdown(n),encoding:`utf-8`}),this.exportedSessionState.set(s,{hash:n.hash,mtimeMs:n.mtimeMs,target:u}),a.add(u)}let l=await s.default.readdir(e).catch(()=>[]);for(let t of l){if(!t.endsWith(`.md`))continue;let n=i.default.join(e,t);a.has(n)||await s.default.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!o.has(t)||!n.target.startsWith(e+i.default.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${i.default.basename(e.absPath,i.default.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(E.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let a=i.default.normalize(r),o=i.default.isAbsolute(a)?a:i.default.resolve(n.path,a);if(!this.isWithinRoot(n.path,o))return null;let s=i.default.relative(n.path,o);return!s||s===`.`?null:s.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=i.default.normalize(t.preferredFile);for(let t of e){let e=i.default.normalize(t.path);if(e!==n&&!e.endsWith(i.default.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=D.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
5
5
  `).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return E.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=h(e)??`unknown`,n=g(e)??`unknown`,r=e?.trim()||`<none>`;E.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return m(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),a=i.default.normalize(i.default.resolve(n.path,t)),o=i.default.relative(this.workspaceDir,a);return{rel:this.buildSearchPath(e,r,o,a),abs:a,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||i.default.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${i.default.sep}`)?!1:!i.default.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let a=n.join(`/`),o=i.default.resolve(r.path,a);if(!this.isWithinRoot(r.path,o))throw Error(`qmd path escapes collection`);return o}let t=i.default.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(i.default.sep)?this.workspaceDir:`${this.workspaceDir}${i.default.sep}`;return e===this.workspaceDir?!0:(e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`;return t===e?!0:(t.endsWith(i.default.sep)?t:`${t}${i.default.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){E.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=b(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?M(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};exports.QmdMemoryManager=P;
6
- //# sourceMappingURL=qmd-manager-B3xNbdye.cjs.map
@@ -3,4 +3,3 @@ import{W as e,c as t,k as n,l as r,qt as i}from"./paths-cBAF6Bj0.js";import{O as
3
3
  `),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await H(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);F.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,F.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||p.join(m.homedir(),`.cache`),t=p.join(e,`qmd`,`models`),n=p.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await h.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await h.lstat(n);return}catch{}try{await h.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await h.symlink(t,n,`junction`);else throw e}F.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){F.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await x({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:y({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,F.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){F.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await x({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=y({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!b({err:t,command:r.command,commandBase:`mcporter`}))throw t;return F.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let r=Math.max(1,t??1),i=Math.max(1,n??1/0),a;try{a=await h.open(e)}catch(e){if(s(e))return{missing:!0};throw e}let o=a.createReadStream({encoding:`utf-8`}),c=_.createInterface({input:o,crlfDelay:1/0}),l=[],u=0;try{for await(let e of c)if(u+=1,!(u<r)){if(l.length>=i)break;l.push(e)}}finally{c.close(),await a.close()}return{missing:!1,text:l.slice(0,i).join(`
4
4
  `)}}async readFullText(e){try{return{missing:!1,text:await h.readFile(e,`utf-8`)}}catch(e){if(s(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=u();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await h.mkdir(e,{recursive:!0});let t=await c(this.agentId),r=new Set,i=new Set,a=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let o of t){let t=await l(o);if(!t||a&&t.mtimeMs<a)continue;let s=`${p.basename(o,`.jsonl`)}.md`,c=p.join(e,s);i.add(o);let u=this.exportedSessionState.get(o);(!u||u.hash!==t.hash||u.mtimeMs!==t.mtimeMs)&&await n({rootDir:e,relativePath:s,data:this.renderSessionMarkdown(t),encoding:`utf-8`}),this.exportedSessionState.set(o,{hash:t.hash,mtimeMs:t.mtimeMs,target:c}),r.add(c)}let o=await h.readdir(e).catch(()=>[]);for(let t of o){if(!t.endsWith(`.md`))continue;let n=p.join(e,t);r.has(n)||await h.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!i.has(t)||!n.target.startsWith(e+p.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${p.basename(e.absPath,p.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(F.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let i=p.normalize(r),a=p.isAbsolute(i)?i:p.resolve(n.path,i);if(!this.isWithinRoot(n.path,a))return null;let o=p.relative(n.path,a);return!o||o===`.`?null:o.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=p.normalize(t.preferredFile);for(let t of e){let e=p.normalize(t.path);if(e!==n&&!e.endsWith(p.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=I.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
5
5
  `).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return F.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=w(e)??`unknown`,n=T(e)??`unknown`,r=e?.trim()||`<none>`;F.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return C(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),i=p.normalize(p.resolve(n.path,t)),a=p.relative(this.workspaceDir,i);return{rel:this.buildSearchPath(e,r,a,i),abs:i,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||p.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${p.sep}`)?!1:!p.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let i=n.join(`/`),a=p.resolve(r.path,i);if(!this.isWithinRoot(r.path,a))throw Error(`qmd path escapes collection`);return a}let t=p.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(p.sep)?this.workspaceDir:`${this.workspaceDir}${p.sep}`;return e===this.workspaceDir?!0:(e.endsWith(p.sep)?e:`${e}${p.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(p.sep)?e:`${e}${p.sep}`;return t===e?!0:(t.endsWith(p.sep)?t:`${t}${p.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){F.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=k(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?V(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};export{U as QmdMemoryManager};
6
- //# sourceMappingURL=qmd-manager-BMyDNBPi.js.map
@@ -3,4 +3,3 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Cqca1YmF.cjs`),n=requ
3
3
  `),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await N(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);E.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,E.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||i.default.join(o.default.homedir(),`.cache`),t=i.default.join(e,`qmd`,`models`),n=i.default.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await s.default.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await s.default.lstat(n);return}catch{}try{await s.default.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await s.default.symlink(t,n,`junction`);else throw e}E.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){E.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await f({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:u({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,E.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){E.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await f({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=u({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!d({err:t,command:r.command,commandBase:`mcporter`}))throw t;return E.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let i=Math.max(1,t??1),a=Math.max(1,n??1/0),o;try{o=await s.default.open(e)}catch(e){if(r.C(e))return{missing:!0};throw e}let l=o.createReadStream({encoding:`utf-8`}),u=c.default.createInterface({input:l,crlfDelay:1/0}),d=[],f=0;try{for await(let e of u)if(f+=1,!(f<i)){if(d.length>=a)break;d.push(e)}}finally{u.close(),await o.close()}return{missing:!1,text:d.slice(0,a).join(`
4
4
  `)}}async readFullText(e){try{return{missing:!1,text:await s.default.readFile(e,`utf-8`)}}catch(e){if(r.C(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=r.r();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await s.default.mkdir(e,{recursive:!0});let n=await r.a(this.agentId),a=new Set,o=new Set,c=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let s of n){let n=await r.i(s);if(!n||c&&n.mtimeMs<c)continue;let l=`${i.default.basename(s,`.jsonl`)}.md`,u=i.default.join(e,l);o.add(s);let d=this.exportedSessionState.get(s);(!d||d.hash!==n.hash||d.mtimeMs!==n.mtimeMs)&&await t.k({rootDir:e,relativePath:l,data:this.renderSessionMarkdown(n),encoding:`utf-8`}),this.exportedSessionState.set(s,{hash:n.hash,mtimeMs:n.mtimeMs,target:u}),a.add(u)}let l=await s.default.readdir(e).catch(()=>[]);for(let t of l){if(!t.endsWith(`.md`))continue;let n=i.default.join(e,t);a.has(n)||await s.default.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!o.has(t)||!n.target.startsWith(e+i.default.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${i.default.basename(e.absPath,i.default.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(E.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let a=i.default.normalize(r),o=i.default.isAbsolute(a)?a:i.default.resolve(n.path,a);if(!this.isWithinRoot(n.path,o))return null;let s=i.default.relative(n.path,o);return!s||s===`.`?null:s.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=i.default.normalize(t.preferredFile);for(let t of e){let e=i.default.normalize(t.path);if(e!==n&&!e.endsWith(i.default.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=D.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
5
5
  `).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return E.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=h(e)??`unknown`,n=g(e)??`unknown`,r=e?.trim()||`<none>`;E.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return m(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),a=i.default.normalize(i.default.resolve(n.path,t)),o=i.default.relative(this.workspaceDir,a);return{rel:this.buildSearchPath(e,r,o,a),abs:a,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||i.default.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${i.default.sep}`)?!1:!i.default.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let a=n.join(`/`),o=i.default.resolve(r.path,a);if(!this.isWithinRoot(r.path,o))throw Error(`qmd path escapes collection`);return o}let t=i.default.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(i.default.sep)?this.workspaceDir:`${this.workspaceDir}${i.default.sep}`;return e===this.workspaceDir?!0:(e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`;return t===e?!0:(t.endsWith(i.default.sep)?t:`${t}${i.default.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){E.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=b(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?M(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};exports.QmdMemoryManager=P;
6
- //# sourceMappingURL=qmd-manager-BZhiv_zq.cjs.map
@@ -3,4 +3,3 @@ import{J as e,N as t,Qt as n,d as r,l as i}from"./paths-J4JUiRsa.js";import{c as
3
3
  `),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await H(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);F.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,F.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||p.join(m.homedir(),`.cache`),t=p.join(e,`qmd`,`models`),n=p.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await h.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await h.lstat(n);return}catch{}try{await h.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await h.symlink(t,n,`junction`);else throw e}F.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){F.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await x({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:y({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,F.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){F.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await x({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=y({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!b({err:t,command:r.command,commandBase:`mcporter`}))throw t;return F.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let r=Math.max(1,t??1),i=Math.max(1,n??1/0),a;try{a=await h.open(e)}catch(e){if(s(e))return{missing:!0};throw e}let o=a.createReadStream({encoding:`utf-8`}),c=_.createInterface({input:o,crlfDelay:1/0}),l=[],u=0;try{for await(let e of c)if(u+=1,!(u<r)){if(l.length>=i)break;l.push(e)}}finally{c.close(),await a.close()}return{missing:!1,text:l.slice(0,i).join(`
4
4
  `)}}async readFullText(e){try{return{missing:!1,text:await h.readFile(e,`utf-8`)}}catch(e){if(s(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=u();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await h.mkdir(e,{recursive:!0});let n=await c(this.agentId),r=new Set,i=new Set,a=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let o of n){let n=await l(o);if(!n||a&&n.mtimeMs<a)continue;let s=`${p.basename(o,`.jsonl`)}.md`,c=p.join(e,s);i.add(o);let u=this.exportedSessionState.get(o);(!u||u.hash!==n.hash||u.mtimeMs!==n.mtimeMs)&&await t({rootDir:e,relativePath:s,data:this.renderSessionMarkdown(n),encoding:`utf-8`}),this.exportedSessionState.set(o,{hash:n.hash,mtimeMs:n.mtimeMs,target:c}),r.add(c)}let o=await h.readdir(e).catch(()=>[]);for(let t of o){if(!t.endsWith(`.md`))continue;let n=p.join(e,t);r.has(n)||await h.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!i.has(t)||!n.target.startsWith(e+p.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${p.basename(e.absPath,p.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(F.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let i=p.normalize(r),a=p.isAbsolute(i)?i:p.resolve(n.path,i);if(!this.isWithinRoot(n.path,a))return null;let o=p.relative(n.path,a);return!o||o===`.`?null:o.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=p.normalize(t.preferredFile);for(let t of e){let e=p.normalize(t.path);if(e!==n&&!e.endsWith(p.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=I.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
5
5
  `).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return F.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=w(e)??`unknown`,n=T(e)??`unknown`,r=e?.trim()||`<none>`;F.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return C(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),i=p.normalize(p.resolve(n.path,t)),a=p.relative(this.workspaceDir,i);return{rel:this.buildSearchPath(e,r,a,i),abs:i,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||p.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${p.sep}`)?!1:!p.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let i=n.join(`/`),a=p.resolve(r.path,i);if(!this.isWithinRoot(r.path,a))throw Error(`qmd path escapes collection`);return a}let t=p.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(p.sep)?this.workspaceDir:`${this.workspaceDir}${p.sep}`;return e===this.workspaceDir?!0:(e.endsWith(p.sep)?e:`${e}${p.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(p.sep)?e:`${e}${p.sep}`;return t===e?!0:(t.endsWith(p.sep)?t:`${t}${p.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){F.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=k(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?V(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};export{U as QmdMemoryManager};
6
- //# sourceMappingURL=qmd-manager-C3uVDbhW.js.map
@@ -3,4 +3,3 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-D90l3h_o.cjs`),n=requ
3
3
  `),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await N(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);E.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,E.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||i.default.join(a.default.homedir(),`.cache`),t=i.default.join(e,`qmd`,`models`),n=i.default.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await o.default.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await o.default.lstat(n);return}catch{}try{await o.default.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await o.default.symlink(t,n,`junction`);else throw e}E.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){E.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await f({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:u({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,E.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){E.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await f({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=u({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!d({err:t,command:r.command,commandBase:`mcporter`}))throw t;return E.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let i=Math.max(1,t??1),a=Math.max(1,n??1/0),s;try{s=await o.default.open(e)}catch(e){if(r.C(e))return{missing:!0};throw e}let l=s.createReadStream({encoding:`utf-8`}),u=c.default.createInterface({input:l,crlfDelay:1/0}),d=[],f=0;try{for await(let e of u)if(f+=1,!(f<i)){if(d.length>=a)break;d.push(e)}}finally{u.close(),await s.close()}return{missing:!1,text:d.slice(0,a).join(`
4
4
  `)}}async readFullText(e){try{return{missing:!1,text:await o.default.readFile(e,`utf-8`)}}catch(e){if(r.C(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=r.r();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await o.default.mkdir(e,{recursive:!0});let n=await r.a(this.agentId),a=new Set,s=new Set,c=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let o of n){let n=await r.i(o);if(!n||c&&n.mtimeMs<c)continue;let l=`${i.default.basename(o,`.jsonl`)}.md`,u=i.default.join(e,l);s.add(o);let d=this.exportedSessionState.get(o);(!d||d.hash!==n.hash||d.mtimeMs!==n.mtimeMs)&&await t.k({rootDir:e,relativePath:l,data:this.renderSessionMarkdown(n),encoding:`utf-8`}),this.exportedSessionState.set(o,{hash:n.hash,mtimeMs:n.mtimeMs,target:u}),a.add(u)}let l=await o.default.readdir(e).catch(()=>[]);for(let t of l){if(!t.endsWith(`.md`))continue;let n=i.default.join(e,t);a.has(n)||await o.default.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!s.has(t)||!n.target.startsWith(e+i.default.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${i.default.basename(e.absPath,i.default.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(E.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let a=i.default.normalize(r),o=i.default.isAbsolute(a)?a:i.default.resolve(n.path,a);if(!this.isWithinRoot(n.path,o))return null;let s=i.default.relative(n.path,o);return!s||s===`.`?null:s.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=i.default.normalize(t.preferredFile);for(let t of e){let e=i.default.normalize(t.path);if(e!==n&&!e.endsWith(i.default.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=D.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
5
5
  `).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return E.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=h(e)??`unknown`,n=g(e)??`unknown`,r=e?.trim()||`<none>`;E.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return m(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),a=i.default.normalize(i.default.resolve(n.path,t)),o=i.default.relative(this.workspaceDir,a);return{rel:this.buildSearchPath(e,r,o,a),abs:a,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||i.default.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${i.default.sep}`)?!1:!i.default.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let a=n.join(`/`),o=i.default.resolve(r.path,a);if(!this.isWithinRoot(r.path,o))throw Error(`qmd path escapes collection`);return o}let t=i.default.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(i.default.sep)?this.workspaceDir:`${this.workspaceDir}${i.default.sep}`;return e===this.workspaceDir?!0:(e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`;return t===e?!0:(t.endsWith(i.default.sep)?t:`${t}${i.default.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){E.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=b(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?M(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};exports.QmdMemoryManager=P;
6
- //# sourceMappingURL=qmd-manager-CW46NrS-.cjs.map
@@ -3,4 +3,3 @@ import{W as e,Wt as t,c as n,k as r,l as i}from"./paths-piJASC5k.js";import{c as
3
3
  `),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await H(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);F.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,F.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||p.join(m.homedir(),`.cache`),t=p.join(e,`qmd`,`models`),n=p.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await h.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await h.lstat(n);return}catch{}try{await h.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await h.symlink(t,n,`junction`);else throw e}F.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){F.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await x({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:y({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,F.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){F.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await x({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=y({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!b({err:t,command:r.command,commandBase:`mcporter`}))throw t;return F.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let r=Math.max(1,t??1),i=Math.max(1,n??1/0),a;try{a=await h.open(e)}catch(e){if(s(e))return{missing:!0};throw e}let o=a.createReadStream({encoding:`utf-8`}),c=_.createInterface({input:o,crlfDelay:1/0}),l=[],u=0;try{for await(let e of c)if(u+=1,!(u<r)){if(l.length>=i)break;l.push(e)}}finally{c.close(),await a.close()}return{missing:!1,text:l.slice(0,i).join(`
4
4
  `)}}async readFullText(e){try{return{missing:!1,text:await h.readFile(e,`utf-8`)}}catch(e){if(s(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=u();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await h.mkdir(e,{recursive:!0});let t=await c(this.agentId),n=new Set,i=new Set,a=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let o of t){let t=await l(o);if(!t||a&&t.mtimeMs<a)continue;let s=`${p.basename(o,`.jsonl`)}.md`,c=p.join(e,s);i.add(o);let u=this.exportedSessionState.get(o);(!u||u.hash!==t.hash||u.mtimeMs!==t.mtimeMs)&&await r({rootDir:e,relativePath:s,data:this.renderSessionMarkdown(t),encoding:`utf-8`}),this.exportedSessionState.set(o,{hash:t.hash,mtimeMs:t.mtimeMs,target:c}),n.add(c)}let o=await h.readdir(e).catch(()=>[]);for(let t of o){if(!t.endsWith(`.md`))continue;let r=p.join(e,t);n.has(r)||await h.rm(r,{force:!0})}for(let[t,n]of this.exportedSessionState)(!i.has(t)||!n.target.startsWith(e+p.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${p.basename(e.absPath,p.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(F.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let i=p.normalize(r),a=p.isAbsolute(i)?i:p.resolve(n.path,i);if(!this.isWithinRoot(n.path,a))return null;let o=p.relative(n.path,a);return!o||o===`.`?null:o.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=p.normalize(t.preferredFile);for(let t of e){let e=p.normalize(t.path);if(e!==n&&!e.endsWith(p.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=I.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
5
5
  `).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return F.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=w(e)??`unknown`,n=T(e)??`unknown`,r=e?.trim()||`<none>`;F.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return C(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),i=p.normalize(p.resolve(n.path,t)),a=p.relative(this.workspaceDir,i);return{rel:this.buildSearchPath(e,r,a,i),abs:i,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||p.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${p.sep}`)?!1:!p.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let i=n.join(`/`),a=p.resolve(r.path,i);if(!this.isWithinRoot(r.path,a))throw Error(`qmd path escapes collection`);return a}let t=p.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(p.sep)?this.workspaceDir:`${this.workspaceDir}${p.sep}`;return e===this.workspaceDir?!0:(e.endsWith(p.sep)?e:`${e}${p.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(p.sep)?e:`${e}${p.sep}`;return t===e?!0:(t.endsWith(p.sep)?t:`${t}${p.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){F.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=k(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?V(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};export{U as QmdMemoryManager};
6
- //# sourceMappingURL=qmd-manager-C_e04BNg.js.map