@qqbrowser/openclaw-qbot 0.0.139 → 0.0.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1565) hide show
  1. package/dist/account-lookup-CW-_CL7y.js +1 -0
  2. package/dist/acp-cli-BaslDuk6.js +1 -0
  3. package/dist/acp-cli-f5-uI85a.js +1 -0
  4. package/dist/active-listener-Cce5tcPa.js +1 -0
  5. package/dist/active-listener-D8VOdVx3.js +1 -0
  6. package/dist/active-listener-DeKRt_UV.js +1 -0
  7. package/dist/active-listener-Dle9QX40.js +1 -0
  8. package/dist/agent-scope-DAWJwFfl.js +1 -0
  9. package/dist/agent-scope-DXZc3eNT.js +1 -0
  10. package/dist/agents-Bpp_F5In.js +1 -0
  11. package/dist/agents.config-B6LRG9eP.js +1 -0
  12. package/dist/agents.config-DfIJAGcd.js +1 -0
  13. package/dist/allow-from-B6dI7oz8.js +1 -0
  14. package/dist/allow-from-DEeVIPKS.js +1 -0
  15. package/dist/api-BeG0ObSq.js +1 -0
  16. package/dist/api-Dx8x1KTs.js +1 -0
  17. package/dist/api-key-rotation-BRt-vnRV.js +1 -0
  18. package/dist/api-key-rotation-CCH1wYVU.js +1 -0
  19. package/dist/api-key-rotation-D0QU-kQ9.js +1 -0
  20. package/dist/api-key-rotation-Di6QgXx7.js +1 -0
  21. package/dist/arg-split-BOqSMBuf.js +1 -0
  22. package/dist/arg-split-DE5RqDHq.js +1 -0
  23. package/dist/audio-preflight-B5o7P9qi.js +1 -0
  24. package/dist/audio-preflight-CxD7VCHW.js +1 -0
  25. package/dist/audio-preflight-DKSCBKRb.js +1 -0
  26. package/dist/audio-preflight-Dpk8-Bmk.js +1 -0
  27. package/dist/audio-transcription-runner-Bd1OZC6K.js +1 -0
  28. package/dist/audio-transcription-runner-D4Bp6MM7.js +1 -0
  29. package/dist/audio-transcription-runner-DPwmBYQj.js +1 -0
  30. package/dist/audio-transcription-runner-DSr6OIz1.js +1 -0
  31. package/dist/audit-C7RP7G_g.js +1 -0
  32. package/dist/audit-jkdcAUep.js +1 -0
  33. package/dist/audit-membership-runtime-BpRsMj5-.js +1 -0
  34. package/dist/audit-membership-runtime-BsfLZNBj.js +1 -0
  35. package/dist/audit-membership-runtime-DRHirRmx.js +1 -0
  36. package/dist/audit-membership-runtime-g0dEWJTp.js +1 -0
  37. package/dist/audit-membership-runtime-kdyToskD.js +1 -0
  38. package/dist/auth-choice-B7LSoXZ_.js +1 -0
  39. package/dist/auth-choice-CxMH4c-u.js +1 -0
  40. package/dist/auth-choice-DvTApGhx.js +1 -0
  41. package/dist/auth-choice-EQdNd7jO.js +1 -0
  42. package/dist/auth-choice-options-B3WQyS7I.js +1 -0
  43. package/dist/auth-choice-options-Dw14noox.js +1 -0
  44. package/dist/auth-choice-prompt-uegl56cf.js +1 -0
  45. package/dist/auth-choice-prompt-xYj13czb.js +1 -0
  46. package/dist/auth-choice.apply-helpers-B7S-PcH_.js +1 -0
  47. package/dist/auth-choice.apply-helpers-gaL-oSft.js +1 -0
  48. package/dist/auth-profiles-T8DuH3ax.js +1 -0
  49. package/dist/auth-token-9OTF1FmL.js +1 -0
  50. package/dist/auth-token-kGltuM6S.js +1 -0
  51. package/dist/banner-9u45RL26.js +1 -0
  52. package/dist/bonjour-discovery-CFZXPega.js +1 -0
  53. package/dist/bonjour-discovery-CjivQOxi.js +1 -0
  54. package/dist/boolean-Ch3DfXPy.js +1 -0
  55. package/dist/boolean-D15s2V33.js +1 -0
  56. package/dist/boolean-DypnRoRK.js +1 -0
  57. package/dist/brew-COcDl8CB.js +1 -0
  58. package/dist/brew-DDPm_HfE.js +1 -0
  59. package/dist/browser-cli-DQHE2iPY.js +1 -0
  60. package/dist/browser-cli-Dt0ds-an.js +1 -0
  61. package/dist/build-info.json +3 -3
  62. package/dist/bundled/boot-md/handler.js +1 -0
  63. package/dist/bundled/bootstrap-extra-files/handler.js +1 -0
  64. package/dist/bundled/command-logger/handler.js +1 -0
  65. package/dist/bundled/session-memory/handler.js +1 -0
  66. package/dist/call-B8Fb4_oh.js +1 -0
  67. package/dist/call-CqoMqP5b.js +1 -0
  68. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  69. package/dist/canvas-host/a2ui/a2ui.bundle.js +1705 -2
  70. package/dist/channel-account-context-BMPAMZEv.js +1 -0
  71. package/dist/channel-account-context-DAcarnqW.js +1 -0
  72. package/dist/channel-activity-B04WbrrK.js +1 -0
  73. package/dist/channel-activity-BBrgoad1.js +1 -0
  74. package/dist/channel-activity-CgbOWaay.js +1 -0
  75. package/dist/channel-activity-YIMhOAUo.js +1 -0
  76. package/dist/channel-activity-YjYNzCpJ.js +1 -0
  77. package/dist/channel-options-CEIzjOno.js +1 -0
  78. package/dist/channel-options-D2syI791.js +1 -0
  79. package/dist/channel-selection-BBeE1TmB.js +1 -0
  80. package/dist/channel-selection-CbNtbAEf.js +1 -0
  81. package/dist/channel-web-BrElpZAc.js +1 -0
  82. package/dist/channel-web-CxHbET4B.js +1 -0
  83. package/dist/channels/plugins/actions/discord.js +1 -0
  84. package/dist/channels/plugins/actions/signal.js +1 -0
  85. package/dist/channels/plugins/actions/telegram.js +1 -0
  86. package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -0
  87. package/dist/channels-cli-BmAJuuRs.js +1 -0
  88. package/dist/channels-cli-Dgosczr6.js +1 -0
  89. package/dist/channels-status-issues-8eFrGKyf.js +1 -0
  90. package/dist/channels-status-issues-PRgOT90w.js +1 -0
  91. package/dist/chat-envelope-Bznn2SoS.js +1 -0
  92. package/dist/chat-envelope-HVpKusFc.js +1 -0
  93. package/dist/clack-prompter-DBPdGdqp.js +1 -0
  94. package/dist/clack-prompter-Dq0aY6iM.js +1 -0
  95. package/dist/clawbot-cli-CgS7TkEx.js +1 -0
  96. package/dist/clawbot-cli-DZ2K0OTk.js +1 -0
  97. package/dist/cleanup-utils-BWm70DoD.js +1 -0
  98. package/dist/cleanup-utils-D-RhEX6F.js +1 -0
  99. package/dist/cli-BcnoCo4z.js +1 -0
  100. package/dist/cli-D8T2tphD.js +1 -0
  101. package/dist/cli-utils-BY7dLMFy.js +1 -0
  102. package/dist/cli-utils-BleB1eys.js +1 -0
  103. package/dist/clipboard-Bk8cviBt.js +1 -0
  104. package/dist/clipboard-CKT_VIkG.js +1 -0
  105. package/dist/cmd-argv-BBT5l8AV.js +1 -0
  106. package/dist/cmd-argv-Bh-KpaZ0.js +1 -0
  107. package/dist/command-format-BbDT1tlm.js +1 -0
  108. package/dist/command-format-CLxIPuLR.js +1 -0
  109. package/dist/command-options-BpOUDl2S.js +1 -0
  110. package/dist/command-options-Bq5nQxz6.js +1 -0
  111. package/dist/command-poll-backoff-BZLHYB2k.js +1 -0
  112. package/dist/command-poll-backoff-Cww_r-24.js +1 -0
  113. package/dist/command-poll-backoff-Df6cOQrX.js +1 -0
  114. package/dist/command-poll-backoff-endAPdwn.js +1 -0
  115. package/dist/command-registry-CfuXCRwV.js +1 -0
  116. package/dist/command-secret-targets-BVN3kiT9.js +1 -0
  117. package/dist/command-secret-targets-BlN-J_fA.js +1 -0
  118. package/dist/commands-CGpM84iR.js +1 -0
  119. package/dist/commands-Dy7duWlt.js +1 -0
  120. package/dist/commands-registry-B1x54ukc.js +1 -0
  121. package/dist/commands-registry-Cpl4QnG4.js +1 -0
  122. package/dist/commands-registry-D40KqYOm.js +1 -0
  123. package/dist/commands-registry-SeddSmFK.js +1 -0
  124. package/dist/compact-Dg66DXx_.js +1 -0
  125. package/dist/completion-cli-BZi4nuQb.js +1 -0
  126. package/dist/completion-cli-C40TWdsv.js +1 -0
  127. package/dist/config-BqW5S1xL.js +1 -0
  128. package/dist/config-D12ZLKqh.js +1 -0
  129. package/dist/config-cli-1ojSLwAj.js +1 -0
  130. package/dist/config-cli-CBte2b1h.js +1 -0
  131. package/dist/config-guard-BTNXbWoO.js +1 -0
  132. package/dist/config-guard-sYYx9zEF.js +1 -0
  133. package/dist/config-validation-C1La_IZU.js +1 -0
  134. package/dist/config-validation-DviYxW8Y.js +1 -0
  135. package/dist/configure-DJrNDEpR.js +1 -0
  136. package/dist/configure-kod4tmZa.js +1 -0
  137. package/dist/connection-auth-B_Uk6Vk8.js +1 -0
  138. package/dist/connection-auth-C8iru0UB.js +1 -0
  139. package/dist/context-window-guard-7crlatf9.js +1 -0
  140. package/dist/context-window-guard-CPChk363.js +1 -0
  141. package/dist/control-ui-assets-BIa0GGDg.js +1 -0
  142. package/dist/control-ui-assets-CTHGGgaX.js +1 -0
  143. package/dist/cron-cli-Dha16Lo-.js +1 -0
  144. package/dist/cron-cli-QHS2pKZ_.js +1 -0
  145. package/dist/daemon-cli-BuXTzSnU.js +1 -0
  146. package/dist/daemon-cli-DOTKuS7d.js +1 -0
  147. package/dist/daemon-cli.js +1 -0
  148. package/dist/daemon-install-C30rBssi.js +1 -0
  149. package/dist/daemon-install-HrqlOCrc.js +1 -0
  150. package/dist/daemon-install-plan.shared-CfA37Ut_.js +1 -0
  151. package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -0
  152. package/dist/daemon-runtime-DHiDbRuC.js +1 -0
  153. package/dist/daemon-runtime-VcpeBRJV.js +1 -0
  154. package/dist/dangerous-name-matching-BOmvAibz.js +1 -0
  155. package/dist/dangerous-name-matching-DtllRqBD.js +1 -0
  156. package/dist/dangerous-tools-CFRYQJ6V.js +1 -0
  157. package/dist/dangerous-tools-oYCu5wfC.js +1 -0
  158. package/dist/deliver-56mQkDw3.js +1 -0
  159. package/dist/deliver-BFQ4Zx9z.js +1 -0
  160. package/dist/deliver-BHuhHfkH.js +1 -0
  161. package/dist/deliver-ClBkV2eD.js +1 -0
  162. package/dist/delivery-queue-CKbauSFq.js +1 -0
  163. package/dist/delivery-queue-nkPJu0fY.js +1 -0
  164. package/dist/device-pairing-CTFpaTrD.js +1 -0
  165. package/dist/device-pairing-QTK0dod3.js +1 -0
  166. package/dist/devices-cli-Ckxd0k0I.js +1 -0
  167. package/dist/devices-cli-Db36mBHq.js +1 -0
  168. package/dist/diagnostic-BrE4lMIf.js +1 -0
  169. package/dist/diagnostic-CDxNevIQ.js +1 -0
  170. package/dist/diagnostic-DOzHPnht.js +1 -0
  171. package/dist/diagnostic-DQq4Bwrs.js +1 -0
  172. package/dist/diagnostics-BgbeL9KE.js +1 -0
  173. package/dist/diagnostics-Cdctg9K_.js +1 -0
  174. package/dist/directory-cli-DDTaUkjW.js +1 -0
  175. package/dist/directory-cli-_gTFSHMW.js +1 -0
  176. package/dist/dns-cli--4PwtR2Y.js +1 -0
  177. package/dist/dns-cli-C4DwKquN.js +1 -0
  178. package/dist/docs-cli-Cdw9Iz9a.js +1 -0
  179. package/dist/docs-cli-ClD2UyX1.js +1 -0
  180. package/dist/doctor-completion-BJ6steqx.js +1 -0
  181. package/dist/doctor-completion-DMJhfrtC.js +1 -0
  182. package/dist/doctor-config-flow-D4F3mz4h.js +1 -0
  183. package/dist/doctor-config-flow-DnOyVZhQ.js +1 -0
  184. package/dist/enable-BhD84GhD.js +1 -0
  185. package/dist/enable-Ccf9wSM8.js +1 -0
  186. package/dist/entry-status-CCwwKO43.js +1 -0
  187. package/dist/entry-status-CoXkbJcX.js +1 -0
  188. package/dist/entry.js +1 -0
  189. package/dist/env-D7wNuBx1.js +1 -0
  190. package/dist/env-overrides-DHtB4kK3.js +1 -0
  191. package/dist/env-overrides-DXJbFrwI.js +1 -0
  192. package/dist/errors-6SQWM9dj.js +1 -0
  193. package/dist/errors-Bunti32V.js +1 -0
  194. package/dist/exec-B3eleY5O.js +1 -0
  195. package/dist/exec-DHqLtFYt.js +1 -0
  196. package/dist/exec-approvals-BXO9Cezj.js +1 -0
  197. package/dist/exec-approvals-BpBNEy6i.js +1 -0
  198. package/dist/exec-approvals-allowlist-CE3nYh0K.js +1 -0
  199. package/dist/exec-approvals-allowlist-D8mN7nxV.js +1 -0
  200. package/dist/exec-approvals-cli-CUcuN63y.js +1 -0
  201. package/dist/exec-approvals-cli-CxUGD08t.js +1 -0
  202. package/dist/exec-safe-bin-runtime-policy-Dt0GchLp.js +1 -0
  203. package/dist/exec-safe-bin-runtime-policy-dcCS_Adf.js +1 -0
  204. package/dist/fetch-B9tORjG8.js +1 -0
  205. package/dist/fetch-BJT3BrkJ.js +1 -0
  206. package/dist/fetch-B_wRifvZ.js +1 -0
  207. package/dist/fetch-Bn0mWg6a.js +1 -0
  208. package/dist/fetch-CQaNr5J1.js +1 -0
  209. package/dist/fetch-Ce-scEU-.js +1 -0
  210. package/dist/fetch-D0rZDHKO.js +1 -0
  211. package/dist/fetch-DHo17YmK.js +1 -0
  212. package/dist/fetch-Dh-apy46.js +1 -0
  213. package/dist/fetch-Dikjvc5M.js +1 -0
  214. package/dist/fetch-DsjPfQlp.js +1 -0
  215. package/dist/fetch-_g8lZ8K8.js +1 -0
  216. package/dist/fetch-guard-BrTtJw7h.js +1 -0
  217. package/dist/fetch-guard-D10s0raB.js +1 -0
  218. package/dist/fetch-guard-DPdY0NXR.js +1 -0
  219. package/dist/fetch-guard-cu7DGSRF.js +1 -0
  220. package/dist/fetch-hy0JKSsm.js +1 -0
  221. package/dist/fetch-timeout-CdYxWG9w.js +1 -0
  222. package/dist/fetch-timeout-Cj8_oAls.js +1 -0
  223. package/dist/fetch-timeout-DoOI_izT.js +1 -0
  224. package/dist/fetch-timeout-u8g99Ax0.js +1 -0
  225. package/dist/format-Bn1bwJKX.js +1 -0
  226. package/dist/format-Ce7I7s-k.js +1 -0
  227. package/dist/format-duration-C8AzNqKh.js +1 -0
  228. package/dist/format-duration-D5AMtmHa.js +1 -0
  229. package/dist/format-relative-B9pSIdGe.js +1 -0
  230. package/dist/format-relative-DkMjYy7z.js +1 -0
  231. package/dist/frontmatter-BkZkwkVO.js +1 -0
  232. package/dist/frontmatter-C7mzDNxd.js +1 -0
  233. package/dist/frontmatter-CzpfPBFl.js +1 -0
  234. package/dist/gateway-cli-CKu0FA7D.js +1 -0
  235. package/dist/gateway-cli-C_s9eMlC.js +1 -0
  236. package/dist/gateway-install-token-BCnuZeh1.js +1 -0
  237. package/dist/gateway-install-token-DiDvDPJQ.js +1 -0
  238. package/dist/gateway-rpc-iFvDyHYd.js +1 -0
  239. package/dist/gateway-rpc-tEEvY0kH.js +1 -0
  240. package/dist/github-copilot-token-C79yeDKS.js +1 -0
  241. package/dist/github-copilot-token-DGYAlOmV.js +1 -0
  242. package/dist/github-copilot-token-DePP-lIf.js +1 -0
  243. package/dist/github-copilot-token-wm6mbypz.js +1 -0
  244. package/dist/gmail-setup-utils-CYOH3zzx.js +1 -0
  245. package/dist/gmail-setup-utils-S-MyEGuj.js +1 -0
  246. package/dist/group-access-BHKVOhrj.js +1 -0
  247. package/dist/group-access-D2DOYMfr.js +1 -0
  248. package/dist/health-BgOggK9k.js +1 -0
  249. package/dist/health-PaRHFItm.js +1 -0
  250. package/dist/health-format-B1nj3Wfn.js +1 -0
  251. package/dist/health-format-VBr6LEpt.js +1 -0
  252. package/dist/heartbeat-visibility-BQ_esv2m.js +1 -0
  253. package/dist/heartbeat-visibility-q74UdY8O.js +1 -0
  254. package/dist/help-format-B4aEI7V9.js +1 -0
  255. package/dist/help-format-BRbF_INg.js +1 -0
  256. package/dist/helpers-COz1ghcB.js +1 -0
  257. package/dist/helpers-Cp8gcO6u.js +1 -0
  258. package/dist/hooks-cli-BzyzTNBx.js +1 -0
  259. package/dist/hooks-cli-CsBrScq0.js +1 -0
  260. package/dist/hooks-status-BHt-Xvh4.js +1 -0
  261. package/dist/hooks-status-CRJ4J0ZW.js +1 -0
  262. package/dist/image-BkWwI54C.js +1 -0
  263. package/dist/image-CcVQg-YN.js +1 -0
  264. package/dist/image-Cm1RUBqD.js +1 -0
  265. package/dist/image-DsoO5VP5.js +1 -0
  266. package/dist/index.js +1 -0
  267. package/dist/inspect-BKV-I1UE.js +1 -0
  268. package/dist/inspect-z59cgmYc.js +1 -0
  269. package/dist/install-safe-path-C6kc_8NW.js +1 -0
  270. package/dist/install-safe-path-iesxijn2.js +1 -0
  271. package/dist/installs-BNeI_oML.js +1 -0
  272. package/dist/installs-C1xQLuby.js +1 -0
  273. package/dist/ipv4-BOuNtoGn.js +1 -0
  274. package/dist/ipv4-CWdaEiVH.js +1 -0
  275. package/dist/ir-BF0M2kGp.js +1 -0
  276. package/dist/ir-D8Hh84ab.js +1 -0
  277. package/dist/ir-DBWscfBd.js +1 -0
  278. package/dist/ir-Dk7OQ4bA.js +1 -0
  279. package/dist/is-main-DG5ueqhF.js +1 -0
  280. package/dist/issue-format-BT7cQEt3.js +1 -0
  281. package/dist/issue-format-C_lNzrKa.js +1 -0
  282. package/dist/kill-tree-B3g7HrAO.js +1 -0
  283. package/dist/lifecycle-core-D9KNCvxY.js +1 -0
  284. package/dist/lifecycle-core-LM5UUUB1.js +1 -0
  285. package/dist/line/accounts.js +1 -0
  286. package/dist/line/send.js +1 -0
  287. package/dist/line/template-messages.js +1 -0
  288. package/dist/links-CBnmRP9D.js +1 -0
  289. package/dist/links-CySwdMcF.js +1 -0
  290. package/dist/llm-slug-generator.js +1 -0
  291. package/dist/load-options-BsOW74dp.js +1 -0
  292. package/dist/load-options-C7dLuybp.js +1 -0
  293. package/dist/load-options-DV4j6Aqb.js +1 -0
  294. package/dist/load-options-Dwt0CeEg.js +1 -0
  295. package/dist/local-roots-6waH0SZ0.js +1 -0
  296. package/dist/logger-5W0OocJW.js +1 -0
  297. package/dist/logger-Bl8URnrW.js +1 -0
  298. package/dist/logger-DwWqfo66.js +1 -0
  299. package/dist/logger-kQAOe3qp.js +1 -0
  300. package/dist/logging-Dqe9dxSX.js +1 -0
  301. package/dist/logging-tYw1NbJd.js +1 -0
  302. package/dist/login-BOlqRyr0.js +1 -0
  303. package/dist/login-CkWesqf_.js +1 -0
  304. package/dist/login-Do_NA1Je.js +1 -0
  305. package/dist/login-op9S8yqv.js +1 -0
  306. package/dist/login-qr-B6rxvoTS.js +1 -0
  307. package/dist/login-qr-BGH9zmhw.js +1 -0
  308. package/dist/login-qr-CiENvgog.js +1 -0
  309. package/dist/login-qr-DsV-lxFd.js +1 -0
  310. package/dist/login-qr-QcDMg23y.js +1 -0
  311. package/dist/logs-cli-B4eUg_87.js +1 -0
  312. package/dist/logs-cli-BA3Aso8a.js +1 -0
  313. package/dist/manager-4Y9fRgdw.js +1 -0
  314. package/dist/manager-C2YW7Hkq.js +1 -0
  315. package/dist/manager-Dtd_loL8.js +1 -0
  316. package/dist/manager-M1GKhLUC.js +1 -0
  317. package/dist/memory-cli-XaxtBQm1.js +1 -0
  318. package/dist/memory-cli-jhzJ3as7.js +1 -0
  319. package/dist/model-catalog-C1kpjR75.js +1 -0
  320. package/dist/model-catalog-COVzoZD9.js +1 -0
  321. package/dist/model-param-b-B0r2cPDw.js +1 -0
  322. package/dist/model-param-b-BqIr5rY5.js +1 -0
  323. package/dist/model-picker-D3ZSpr0i.js +1 -0
  324. package/dist/model-picker-bZNuI66U.js +1 -0
  325. package/dist/model-selection-B5JsBS9D.js +1 -0
  326. package/dist/model-selection-BlC_rXAN.js +1 -0
  327. package/dist/model-selection-vfhBuN9O.js +1 -0
  328. package/dist/models-C_Vg3Cty.js +1 -0
  329. package/dist/models-cli-CDZliTXq.js +1 -0
  330. package/dist/models-cli-bGr8jwAb.js +1 -0
  331. package/dist/models-config-CdMhNxKV.js +1 -0
  332. package/dist/models-config-_htt7eY5.js +1 -0
  333. package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -0
  334. package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -0
  335. package/dist/node-cli-5lYbDZ70.js +1 -0
  336. package/dist/node-cli-Br04Qmqo.js +1 -0
  337. package/dist/node-command-policy-CejeQemH.js +1 -0
  338. package/dist/node-command-policy-CqXhdnHh.js +1 -0
  339. package/dist/node-commands-8GBOiktk.js +1 -0
  340. package/dist/node-commands-DdkziOTx.js +1 -0
  341. package/dist/node-resolve-B3BJbmQX.js +1 -0
  342. package/dist/node-resolve-DLZf3-1V.js +1 -0
  343. package/dist/node-service-BRfrNp8l.js +1 -0
  344. package/dist/node-service-C0bl7jcZ.js +1 -0
  345. package/dist/node-shell-DyOfwHrh.js +1 -0
  346. package/dist/nodes-cli-8By8--bW.js +1 -0
  347. package/dist/nodes-cli-zq41EwJN.js +1 -0
  348. package/dist/nodes-screen-DECgxo6A.js +1 -0
  349. package/dist/note-D4GAwgha.js +1 -0
  350. package/dist/note-Dp-d_utk.js +1 -0
  351. package/dist/npm-pack-install-B23L-AtF.js +1 -0
  352. package/dist/npm-pack-install-C0te3Oap.js +1 -0
  353. package/dist/npm-resolution-BnJGLwhi.js +1 -0
  354. package/dist/npm-resolution-DWPloph4.js +1 -0
  355. package/dist/oauth-env-DAamJ1oz.js +1 -0
  356. package/dist/oauth-env-DSLBTWb1.js +1 -0
  357. package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -0
  358. package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -0
  359. package/dist/ollama-setup-BMEKWyIE.js +1 -0
  360. package/dist/ollama-setup-DlwS6Gl-.js +1 -0
  361. package/dist/onboard-B0BNCQaO.js +1 -0
  362. package/dist/onboard-CjVhdaiR.js +1 -0
  363. package/dist/onboard-channels-BMIOddLN.js +1 -0
  364. package/dist/onboard-channels-CZK_7xMR.js +1 -0
  365. package/dist/onboard-config-B7U20YRw.js +1 -0
  366. package/dist/onboard-config-DS9dUv8M.js +1 -0
  367. package/dist/onboard-custom-B03SlEHB.js +1 -0
  368. package/dist/onboard-custom-Bl0y8c-g.js +1 -0
  369. package/dist/onboard-helpers-PGl5bVPE.js +1 -0
  370. package/dist/onboard-helpers-zwybUJWu.js +1 -0
  371. package/dist/onboard-hooks-CERzXObm.js +1 -0
  372. package/dist/onboard-hooks-gQ3sxBNi.js +1 -0
  373. package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -0
  374. package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -0
  375. package/dist/onboard-remote-BOpIRdDu.js +1 -0
  376. package/dist/onboard-remote-DPU-H_2O.js +1 -0
  377. package/dist/onboard-search-f2tJD4hg.js +1 -0
  378. package/dist/onboard-search-fslKKhyg.js +1 -0
  379. package/dist/onboard-skills-BMAJs6ly.js +1 -0
  380. package/dist/onboard-skills-CMSQc2Mm.js +1 -0
  381. package/dist/onboarding-B6ixWwgp.js +1 -0
  382. package/dist/onboarding-ouEqUuUr.js +1 -0
  383. package/dist/onboarding.finalize-Bgat5Npc.js +1 -0
  384. package/dist/onboarding.finalize-DsMVlTcH.js +1 -0
  385. package/dist/onboarding.gateway-config-BtLDJWJ2.js +1 -0
  386. package/dist/onboarding.gateway-config-y3pqsL9i.js +1 -0
  387. package/dist/onboarding.secret-input-BsBgh8Tc.js +1 -0
  388. package/dist/onboarding.secret-input-kO5OzYC7.js +1 -0
  389. package/dist/openai-codex-model-default-DuE2_wN7.js +1 -0
  390. package/dist/openai-codex-model-default-yVfRw-Mm.js +1 -0
  391. package/dist/openai-model-default-Bl8MHPb6.js +1 -0
  392. package/dist/openai-model-default-DJObMvLJ.js +1 -0
  393. package/dist/openclaw-exec-env-BWbOu_YC.js +1 -0
  394. package/dist/openclaw-root-CnsBf6ZU.js +1 -0
  395. package/dist/openclaw-root-D_0Q6--h.js +1 -0
  396. package/dist/outbound-BOSIEiEY.js +1 -0
  397. package/dist/outbound-BtUeDLjU.js +1 -0
  398. package/dist/outbound-Bx2Z2aYK.js +1 -0
  399. package/dist/outbound-Bz8bbrMI.js +1 -0
  400. package/dist/outbound-attachment-B7wMxwj6.js +1 -0
  401. package/dist/outbound-attachment-BgAe99RM.js +1 -0
  402. package/dist/outbound-attachment-Dds8xirj.js +1 -0
  403. package/dist/outbound-attachment-DqEKghQp.js +1 -0
  404. package/dist/pairing-cli-Bya9M-I_.js +1 -0
  405. package/dist/pairing-cli-D2JEhufv.js +1 -0
  406. package/dist/pairing-labels-BUU_-70B.js +1 -0
  407. package/dist/pairing-labels-D-kzQEL2.js +1 -0
  408. package/dist/pairing-store-BH-FTYkn.js +1 -0
  409. package/dist/pairing-store-Cg2UxreQ.js +1 -0
  410. package/dist/pairing-token-BjYBuREl.js +1 -0
  411. package/dist/pairing-token-DAR7V7FJ.js +1 -0
  412. package/dist/parse-duration-XTjMKl8s.js +1 -0
  413. package/dist/parse-finite-number-DqzUM-_s.js +1 -0
  414. package/dist/parse-finite-number-dBmDLLKL.js +1 -0
  415. package/dist/parse-log-line-CsYLg7Qu.js +1 -0
  416. package/dist/parse-log-line-NV-cipB_.js +1 -0
  417. package/dist/parse-port-Bv1Y9Wk5.js +1 -0
  418. package/dist/parse-port-JVwkxcZ8.js +1 -0
  419. package/dist/parse-timeout-DWSGfCkQ.js +1 -0
  420. package/dist/parse-timeout-Dx4QnVzo.js +1 -0
  421. package/dist/path-alias-guards-kY_ZbWs-.js +1 -0
  422. package/dist/path-alias-guards-mvyLCPlN.js +1 -0
  423. package/dist/path-env-BPd1Yd-i.js +1 -0
  424. package/dist/path-env-emdAQejM.js +1 -0
  425. package/dist/path-safety-BukYK8Kd.js +1 -0
  426. package/dist/path-safety-DaaMJFdt.js +1 -0
  427. package/dist/paths-B4IRk3wi.js +1 -0
  428. package/dist/paths-BfjJY2VL.js +1 -0
  429. package/dist/paths-BjD3T_xq.js +1 -0
  430. package/dist/paths-BpQOWYiT.js +1 -0
  431. package/dist/paths-CChBdtE8.js +1 -0
  432. package/dist/paths-CrCoPIVK.js +1 -0
  433. package/dist/paths-piJASC5k.js +1 -0
  434. package/dist/paths-yLEk_25I.js +1 -0
  435. package/dist/pi-embedded-BZSn84Bh.js +1 -0
  436. package/dist/pi-embedded-Dsz7p3MF.js +1 -0
  437. package/dist/pi-model-discovery-BbD1YJNx.js +1 -0
  438. package/dist/pi-model-discovery-CpjYoBQf.js +1 -0
  439. package/dist/pi-model-discovery-DeQdHV8O.js +1 -0
  440. package/dist/pi-model-discovery-Dps1PPWz.js +1 -0
  441. package/dist/pi-tools.before-tool-call.runtime-DseAq0gm.js +1 -0
  442. package/dist/pi-tools.before-tool-call.runtime-KKGILAuK.js +1 -0
  443. package/dist/pi-tools.before-tool-call.runtime-Pck2WdIO.js +1 -0
  444. package/dist/pi-tools.before-tool-call.runtime-ZzMJQ1BP.js +1 -0
  445. package/dist/pi-tools.policy-D40r0HmD.js +1 -0
  446. package/dist/plugin-auto-enable-DpVL6-ES.js +1 -0
  447. package/dist/plugin-auto-enable-NzmNh4oU.js +1 -0
  448. package/dist/plugin-install-plan-BobX0y9S.js +1 -0
  449. package/dist/plugin-install-plan-NvDGp0d8.js +1 -0
  450. package/dist/plugin-registry-C6dY-Et7.js +1 -0
  451. package/dist/plugin-registry-CIBiHZH1.js +1 -0
  452. package/dist/plugin-sdk/account-id.cjs +1 -0
  453. package/dist/plugin-sdk/account-id.js +1 -0
  454. package/dist/plugin-sdk/acpx.cjs +1 -0
  455. package/dist/plugin-sdk/acpx.js +1 -0
  456. package/dist/plugin-sdk/active-listener-BApFQlQn.js +1 -0
  457. package/dist/plugin-sdk/active-listener-BETopzG5.cjs +1 -0
  458. package/dist/plugin-sdk/active-listener-BEcmvyxh.cjs +1 -0
  459. package/dist/plugin-sdk/active-listener-BZPPbsNy.cjs +1 -0
  460. package/dist/plugin-sdk/active-listener-B_Mxemq7.cjs +1 -0
  461. package/dist/plugin-sdk/active-listener-BgW_qfd3.js +1 -0
  462. package/dist/plugin-sdk/active-listener-Coet66pF.cjs +1 -0
  463. package/dist/plugin-sdk/active-listener-CvML9qVF.js +1 -0
  464. package/dist/plugin-sdk/active-listener-DuO6KMXJ.js +1 -0
  465. package/dist/plugin-sdk/active-listener-DymzfmOG.cjs +1 -0
  466. package/dist/plugin-sdk/active-listener-ILBdBHMv.js +1 -0
  467. package/dist/plugin-sdk/active-listener-gRRIfN1q.js +1 -0
  468. package/dist/plugin-sdk/api-key-rotation-Bj1A9Slo.cjs +1 -0
  469. package/dist/plugin-sdk/api-key-rotation-CFPNzksf.cjs +1 -0
  470. package/dist/plugin-sdk/api-key-rotation-CXY0AyM1.js +1 -0
  471. package/dist/plugin-sdk/api-key-rotation-ClIwV8yq.js +1 -0
  472. package/dist/plugin-sdk/api-key-rotation-D5Nr1xl3.js +1 -0
  473. package/dist/plugin-sdk/api-key-rotation-DDCwA0KM.cjs +1 -0
  474. package/dist/plugin-sdk/api-key-rotation-DHMvXm70.cjs +1 -0
  475. package/dist/plugin-sdk/api-key-rotation-DaFFZfk5.js +1 -0
  476. package/dist/plugin-sdk/api-key-rotation-DcREl_0x.js +1 -0
  477. package/dist/plugin-sdk/api-key-rotation-X-5Fb7av.cjs +1 -0
  478. package/dist/plugin-sdk/api-key-rotation-_VfXYfHS.js +1 -0
  479. package/dist/plugin-sdk/api-key-rotation-wFUVOOfM.cjs +1 -0
  480. package/dist/plugin-sdk/audio-preflight-B1MP5_bc.cjs +1 -0
  481. package/dist/plugin-sdk/audio-preflight-BETx142T.cjs +1 -0
  482. package/dist/plugin-sdk/audio-preflight-BGRLhCLc.cjs +1 -0
  483. package/dist/plugin-sdk/audio-preflight-BNICfOY5.cjs +1 -0
  484. package/dist/plugin-sdk/audio-preflight-BV3Cav8M.js +1 -0
  485. package/dist/plugin-sdk/audio-preflight-BmO72Cqr.cjs +1 -0
  486. package/dist/plugin-sdk/audio-preflight-BpE8wFQc.js +1 -0
  487. package/dist/plugin-sdk/audio-preflight-CTAafaiH.js +1 -0
  488. package/dist/plugin-sdk/audio-preflight-D82aewIt.js +1 -0
  489. package/dist/plugin-sdk/audio-preflight-DmzxEaq3.cjs +1 -0
  490. package/dist/plugin-sdk/audio-preflight-DrSIYRnD.js +1 -0
  491. package/dist/plugin-sdk/audio-preflight-SZZoA2Ff.js +1 -0
  492. package/dist/plugin-sdk/audio-transcription-runner-B54MyF1_.js +1 -0
  493. package/dist/plugin-sdk/audio-transcription-runner-BIqM5H5q.js +1 -0
  494. package/dist/plugin-sdk/audio-transcription-runner-BLAxZL-U.js +1 -0
  495. package/dist/plugin-sdk/audio-transcription-runner-BVmaaA2k.js +1 -0
  496. package/dist/plugin-sdk/audio-transcription-runner-BdY-TMcc.js +1 -0
  497. package/dist/plugin-sdk/audio-transcription-runner-By3lSLub.cjs +1 -0
  498. package/dist/plugin-sdk/audio-transcription-runner-CH5CoZrF.cjs +1 -0
  499. package/dist/plugin-sdk/audio-transcription-runner-CMsp7bhn.cjs +1 -0
  500. package/dist/plugin-sdk/audio-transcription-runner-ClGibmMi.cjs +1 -0
  501. package/dist/plugin-sdk/audio-transcription-runner-QfEC19vE.cjs +1 -0
  502. package/dist/plugin-sdk/audio-transcription-runner-g7L0m-Z5.cjs +1 -0
  503. package/dist/plugin-sdk/audio-transcription-runner-pVTD93vq.js +1 -0
  504. package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -0
  505. package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -0
  506. package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -0
  507. package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -0
  508. package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -0
  509. package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -0
  510. package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -0
  511. package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -0
  512. package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -0
  513. package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -0
  514. package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -0
  515. package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -0
  516. package/dist/plugin-sdk/bluebubbles.cjs +1 -0
  517. package/dist/plugin-sdk/bluebubbles.js +1 -0
  518. package/dist/plugin-sdk/channel-activity-BGK-Bj2_.cjs +1 -0
  519. package/dist/plugin-sdk/channel-activity-BRHvpV0C.js +1 -0
  520. package/dist/plugin-sdk/channel-activity-CKfWFchu.js +1 -0
  521. package/dist/plugin-sdk/channel-activity-CLUi31fX.cjs +1 -0
  522. package/dist/plugin-sdk/channel-activity-CVOp-PL4.cjs +1 -0
  523. package/dist/plugin-sdk/channel-activity-CgXnZ0GC.cjs +1 -0
  524. package/dist/plugin-sdk/channel-activity-CmYpOPAn.js +1 -0
  525. package/dist/plugin-sdk/channel-activity-CwaMf9qT.cjs +1 -0
  526. package/dist/plugin-sdk/channel-activity-D5D5tBWf.cjs +1 -0
  527. package/dist/plugin-sdk/channel-activity-D7tpmatp.js +1 -0
  528. package/dist/plugin-sdk/channel-activity-DpxSOlXF.js +1 -0
  529. package/dist/plugin-sdk/channel-activity-spvDzlTl.js +1 -0
  530. package/dist/plugin-sdk/channel-web-4ZQVqsrt.js +1 -0
  531. package/dist/plugin-sdk/channel-web-9zn1Itpg.cjs +1 -0
  532. package/dist/plugin-sdk/channel-web-BrB00HKH.js +1 -0
  533. package/dist/plugin-sdk/channel-web-DN5La-Ol.cjs +1 -0
  534. package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -0
  535. package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -0
  536. package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -0
  537. package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -0
  538. package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -0
  539. package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -0
  540. package/dist/plugin-sdk/commands-registry-5lStNoKW.cjs +1 -0
  541. package/dist/plugin-sdk/commands-registry-C8wnXqNa.cjs +1 -0
  542. package/dist/plugin-sdk/commands-registry-Cnr6PvIw.js +1 -0
  543. package/dist/plugin-sdk/commands-registry-CtYCWfuM.cjs +1 -0
  544. package/dist/plugin-sdk/commands-registry-D2gv242l.js +1 -0
  545. package/dist/plugin-sdk/commands-registry-DI2vPscP.js +1 -0
  546. package/dist/plugin-sdk/commands-registry-DcBvmwSU.js +1 -0
  547. package/dist/plugin-sdk/commands-registry-DkUhCIDk.cjs +1 -0
  548. package/dist/plugin-sdk/commands-registry-DsMbmie-.cjs +1 -0
  549. package/dist/plugin-sdk/commands-registry-MCsWR5Vf.js +1 -0
  550. package/dist/plugin-sdk/commands-registry-SHZVq_qf.cjs +1 -0
  551. package/dist/plugin-sdk/commands-registry-kRjFifgj.js +1 -0
  552. package/dist/plugin-sdk/common-B4iFXuoZ.cjs +1 -0
  553. package/dist/plugin-sdk/common-B6fDMl_i.js +1 -0
  554. package/dist/plugin-sdk/compat.cjs +1 -0
  555. package/dist/plugin-sdk/compat.js +1 -0
  556. package/dist/plugin-sdk/config-ByA2hluR.js +1 -0
  557. package/dist/plugin-sdk/config-rBz8C_Hi.cjs +1 -0
  558. package/dist/plugin-sdk/copilot-proxy.cjs +1 -0
  559. package/dist/plugin-sdk/copilot-proxy.js +1 -0
  560. package/dist/plugin-sdk/core.cjs +1 -0
  561. package/dist/plugin-sdk/core.js +1 -0
  562. package/dist/plugin-sdk/deliver-B0fB4hAV.js +1 -0
  563. package/dist/plugin-sdk/deliver-BOLmjIJ3.js +1 -0
  564. package/dist/plugin-sdk/deliver-BrfVwkYz.cjs +1 -0
  565. package/dist/plugin-sdk/deliver-C-tChWTI.cjs +1 -0
  566. package/dist/plugin-sdk/deliver-CjQPkWS-.cjs +1 -0
  567. package/dist/plugin-sdk/deliver-D1P0FNTu.js +1 -0
  568. package/dist/plugin-sdk/deliver-DCrO9mvv.cjs +1 -0
  569. package/dist/plugin-sdk/deliver-DQLekoj2.cjs +1 -0
  570. package/dist/plugin-sdk/deliver-DkfCVM78.js +1 -0
  571. package/dist/plugin-sdk/deliver-Dkh3lqXR.js +1 -0
  572. package/dist/plugin-sdk/deliver-DsFtXFyr.cjs +1 -0
  573. package/dist/plugin-sdk/deliver-vYe_sYOL.js +1 -0
  574. package/dist/plugin-sdk/device-pair.cjs +1 -0
  575. package/dist/plugin-sdk/device-pair.js +1 -0
  576. package/dist/plugin-sdk/diagnostic-8iX73nz_.cjs +1 -0
  577. package/dist/plugin-sdk/diagnostic-CLUtpxAp.js +1 -0
  578. package/dist/plugin-sdk/diagnostic-CVS4k9hh.cjs +1 -0
  579. package/dist/plugin-sdk/diagnostic-CkePwN5F.js +1 -0
  580. package/dist/plugin-sdk/diagnostic-Cu1PGj0E.cjs +1 -0
  581. package/dist/plugin-sdk/diagnostic-D0oCfBju.cjs +1 -0
  582. package/dist/plugin-sdk/diagnostic-D7A9cQYf.cjs +1 -0
  583. package/dist/plugin-sdk/diagnostic-DGLX0zXU.js +1 -0
  584. package/dist/plugin-sdk/diagnostic-DXscFT8t.cjs +1 -0
  585. package/dist/plugin-sdk/diagnostic-Efe4b81B.js +1 -0
  586. package/dist/plugin-sdk/diagnostic-EqHqw9xo.js +1 -0
  587. package/dist/plugin-sdk/diagnostic-vsjHZ_fY.js +1 -0
  588. package/dist/plugin-sdk/diagnostics-otel.cjs +1 -0
  589. package/dist/plugin-sdk/diagnostics-otel.js +1 -0
  590. package/dist/plugin-sdk/diffs.cjs +1 -0
  591. package/dist/plugin-sdk/diffs.js +1 -0
  592. package/dist/plugin-sdk/discord.cjs +1 -0
  593. package/dist/plugin-sdk/discord.js +1 -0
  594. package/dist/plugin-sdk/dispatch-5v3v8zzA.js +1 -0
  595. package/dist/plugin-sdk/dispatch-B6UbZCpL.cjs +1 -0
  596. package/dist/plugin-sdk/dispatch-BYlcmJ9u.js +1 -0
  597. package/dist/plugin-sdk/dispatch-C2YTqGlf.js +1 -0
  598. package/dist/plugin-sdk/dispatch-CNy3g9ma.cjs +1 -0
  599. package/dist/plugin-sdk/dispatch-DCSwqteL.js +1 -0
  600. package/dist/plugin-sdk/dispatch-DHbSBeFJ.js +1 -0
  601. package/dist/plugin-sdk/dispatch-DK5ub8qa.cjs +1 -0
  602. package/dist/plugin-sdk/dispatch-SWyfAZT0.cjs +1 -0
  603. package/dist/plugin-sdk/dispatch-mR2vLkGa.cjs +1 -0
  604. package/dist/plugin-sdk/feishu.cjs +1 -0
  605. package/dist/plugin-sdk/feishu.js +1 -0
  606. package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -0
  607. package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -0
  608. package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -0
  609. package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -0
  610. package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -0
  611. package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -0
  612. package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -0
  613. package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -0
  614. package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -0
  615. package/dist/plugin-sdk/fetch-BtZY623f.js +1 -0
  616. package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -0
  617. package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -0
  618. package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -0
  619. package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -0
  620. package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -0
  621. package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -0
  622. package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -0
  623. package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -0
  624. package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -0
  625. package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -0
  626. package/dist/plugin-sdk/fetch-guard-8I7EHbDM.cjs +1 -0
  627. package/dist/plugin-sdk/fetch-guard-CIJUkBIL.cjs +1 -0
  628. package/dist/plugin-sdk/fetch-guard-CY03i4gu.js +1 -0
  629. package/dist/plugin-sdk/fetch-guard-Cz-cgYmR.cjs +1 -0
  630. package/dist/plugin-sdk/fetch-guard-DB85MORy.cjs +1 -0
  631. package/dist/plugin-sdk/fetch-guard-DE9BslxX.js +1 -0
  632. package/dist/plugin-sdk/fetch-guard-DLNzldn9.cjs +1 -0
  633. package/dist/plugin-sdk/fetch-guard-DSvAbvSx.js +1 -0
  634. package/dist/plugin-sdk/fetch-guard-DXe8oqEE.js +1 -0
  635. package/dist/plugin-sdk/fetch-guard-DY9jpsXo.cjs +1 -0
  636. package/dist/plugin-sdk/fetch-guard-DbOZYxyN.js +1 -0
  637. package/dist/plugin-sdk/fetch-guard-_fifU0fX.js +1 -0
  638. package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -0
  639. package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -0
  640. package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -0
  641. package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -0
  642. package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -0
  643. package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -0
  644. package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -0
  645. package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -0
  646. package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -0
  647. package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -0
  648. package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -0
  649. package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -0
  650. package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -0
  651. package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -0
  652. package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -0
  653. package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -0
  654. package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -0
  655. package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -0
  656. package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -0
  657. package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -0
  658. package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -0
  659. package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -0
  660. package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -0
  661. package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -0
  662. package/dist/plugin-sdk/googlechat.cjs +1 -0
  663. package/dist/plugin-sdk/googlechat.js +1 -0
  664. package/dist/plugin-sdk/image-B6HEHWlJ.js +1 -0
  665. package/dist/plugin-sdk/image-Bte8cr4F.js +1 -0
  666. package/dist/plugin-sdk/image-BxafJgQ6.cjs +1 -0
  667. package/dist/plugin-sdk/image-CDI5SqeR.js +1 -0
  668. package/dist/plugin-sdk/image-CTgwucug.cjs +1 -0
  669. package/dist/plugin-sdk/image-CWnsS03L.js +1 -0
  670. package/dist/plugin-sdk/image-CoksjGBL.cjs +1 -0
  671. package/dist/plugin-sdk/image-CuOIoxl2.cjs +1 -0
  672. package/dist/plugin-sdk/image-DJyEMzkq.cjs +1 -0
  673. package/dist/plugin-sdk/image-DegWnAZU.cjs +1 -0
  674. package/dist/plugin-sdk/image-TCSQZpr6.js +1 -0
  675. package/dist/plugin-sdk/image-aG-5S1vd.js +1 -0
  676. package/dist/plugin-sdk/imessage.cjs +1 -0
  677. package/dist/plugin-sdk/imessage.js +1 -0
  678. package/dist/plugin-sdk/index.cjs +1 -0
  679. package/dist/plugin-sdk/index.js +1 -0
  680. package/dist/plugin-sdk/ir-8rDh7div.js +1 -0
  681. package/dist/plugin-sdk/ir-Bh6lKGdS.js +1 -0
  682. package/dist/plugin-sdk/ir-C3VNqnc2.cjs +1 -0
  683. package/dist/plugin-sdk/ir-CZOtKajq.cjs +1 -0
  684. package/dist/plugin-sdk/ir-CveCWs8q.cjs +1 -0
  685. package/dist/plugin-sdk/ir-DAxY-7c1.cjs +1 -0
  686. package/dist/plugin-sdk/ir-DSuLr2UE.cjs +1 -0
  687. package/dist/plugin-sdk/ir-DanxCjD-.cjs +1 -0
  688. package/dist/plugin-sdk/ir-Dgc6qZMX.js +1 -0
  689. package/dist/plugin-sdk/ir-OBi5zaEW.js +1 -0
  690. package/dist/plugin-sdk/ir-hQ6EW92h.js +1 -0
  691. package/dist/plugin-sdk/ir-ynWQeZD9.js +1 -0
  692. package/dist/plugin-sdk/irc.cjs +1 -0
  693. package/dist/plugin-sdk/irc.js +1 -0
  694. package/dist/plugin-sdk/keyed-async-queue.cjs +1 -0
  695. package/dist/plugin-sdk/keyed-async-queue.js +1 -0
  696. package/dist/plugin-sdk/line.cjs +1 -0
  697. package/dist/plugin-sdk/line.js +1 -0
  698. package/dist/plugin-sdk/llm-task.cjs +1 -0
  699. package/dist/plugin-sdk/llm-task.js +1 -0
  700. package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -0
  701. package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -0
  702. package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -0
  703. package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -0
  704. package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -0
  705. package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -0
  706. package/dist/plugin-sdk/lobster.cjs +1 -0
  707. package/dist/plugin-sdk/lobster.js +1 -0
  708. package/dist/plugin-sdk/local-roots-5udQUs81.js +1 -0
  709. package/dist/plugin-sdk/local-roots-BmhNPIJm.cjs +1 -0
  710. package/dist/plugin-sdk/local-roots-C5UoE741.cjs +1 -0
  711. package/dist/plugin-sdk/local-roots-Ca8KoAAp.js +1 -0
  712. package/dist/plugin-sdk/local-roots-CeAYfmPb.cjs +1 -0
  713. package/dist/plugin-sdk/local-roots-Cu7YCpql.cjs +1 -0
  714. package/dist/plugin-sdk/local-roots-D0yN794S.js +1 -0
  715. package/dist/plugin-sdk/local-roots-D4i3H0UG.cjs +1 -0
  716. package/dist/plugin-sdk/local-roots-DGe-SRNu.js +1 -0
  717. package/dist/plugin-sdk/local-roots-bWA2msT0.js +1 -0
  718. package/dist/plugin-sdk/local-roots-tee85Q-1.js +1 -0
  719. package/dist/plugin-sdk/local-roots-wTkpE7go.cjs +1 -0
  720. package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -0
  721. package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -0
  722. package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -0
  723. package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -0
  724. package/dist/plugin-sdk/logger-C210xuWx.js +1 -0
  725. package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -0
  726. package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -0
  727. package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -0
  728. package/dist/plugin-sdk/logger-DwWqfo66.js +1 -0
  729. package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -0
  730. package/dist/plugin-sdk/login-B5IwNcl4.cjs +1 -0
  731. package/dist/plugin-sdk/login-BIbt7ZL_.js +1 -0
  732. package/dist/plugin-sdk/login-CxnDKwXC.js +1 -0
  733. package/dist/plugin-sdk/login-D5iTWowo.cjs +1 -0
  734. package/dist/plugin-sdk/login-DHE1rzB1.js +1 -0
  735. package/dist/plugin-sdk/login-DIPBcPQc.cjs +1 -0
  736. package/dist/plugin-sdk/login-DtDOozuU.js +1 -0
  737. package/dist/plugin-sdk/login-UrWNtI80.cjs +1 -0
  738. package/dist/plugin-sdk/login-VviMkBU2.js +1 -0
  739. package/dist/plugin-sdk/login-jQwwt6C-.js +1 -0
  740. package/dist/plugin-sdk/login-mGjCzJzb.cjs +1 -0
  741. package/dist/plugin-sdk/login-pZnnpj38.cjs +1 -0
  742. package/dist/plugin-sdk/login-qr-BexuTIDJ.cjs +1 -0
  743. package/dist/plugin-sdk/login-qr-C366Qlh-.cjs +1 -0
  744. package/dist/plugin-sdk/login-qr-CQY4ty0o.js +1 -0
  745. package/dist/plugin-sdk/login-qr-CSabEb-n.cjs +1 -0
  746. package/dist/plugin-sdk/login-qr-CUgNKijx.js +1 -0
  747. package/dist/plugin-sdk/login-qr-C_LEw1Bi.js +1 -0
  748. package/dist/plugin-sdk/login-qr-CcPvldsG.js +1 -0
  749. package/dist/plugin-sdk/login-qr-CnNGKwDR.cjs +1 -0
  750. package/dist/plugin-sdk/login-qr-DQm50pXk.js +1 -0
  751. package/dist/plugin-sdk/login-qr-DayvAWkx.js +1 -0
  752. package/dist/plugin-sdk/login-qr-eodIsL9V.cjs +1 -0
  753. package/dist/plugin-sdk/login-qr-yIJE7MmY.cjs +1 -0
  754. package/dist/plugin-sdk/manager-932XljTT.js +1 -0
  755. package/dist/plugin-sdk/manager-CGHd5p2T.js +1 -0
  756. package/dist/plugin-sdk/manager-CbGA_JDa.js +1 -0
  757. package/dist/plugin-sdk/manager-CdD7HaGW.cjs +1 -0
  758. package/dist/plugin-sdk/manager-CmAH_a7A.cjs +1 -0
  759. package/dist/plugin-sdk/manager-DIS4ywpb.cjs +1 -0
  760. package/dist/plugin-sdk/manager-DQ2C-2IU.cjs +1 -0
  761. package/dist/plugin-sdk/manager-DdvFnsT7.cjs +1 -0
  762. package/dist/plugin-sdk/manager-DfdDglld.js +1 -0
  763. package/dist/plugin-sdk/manager-MR9stU_p.js +1 -0
  764. package/dist/plugin-sdk/manager-WwW37IUu.js +1 -0
  765. package/dist/plugin-sdk/manager-gE9187gu.cjs +1 -0
  766. package/dist/plugin-sdk/matrix.cjs +1 -0
  767. package/dist/plugin-sdk/matrix.js +1 -0
  768. package/dist/plugin-sdk/mattermost.cjs +1 -0
  769. package/dist/plugin-sdk/mattermost.js +1 -0
  770. package/dist/plugin-sdk/memory-core.cjs +1 -0
  771. package/dist/plugin-sdk/memory-core.js +1 -0
  772. package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -0
  773. package/dist/plugin-sdk/minimax-portal-auth.js +1 -0
  774. package/dist/plugin-sdk/model-auth-BpS4IWDi.cjs +1 -0
  775. package/dist/plugin-sdk/model-auth-BwajGuoF.cjs +1 -0
  776. package/dist/plugin-sdk/model-auth-C1YL9HcW.js +1 -0
  777. package/dist/plugin-sdk/model-auth-Cc-8H6Cu.js +1 -0
  778. package/dist/plugin-sdk/model-auth-Cw3fuhm_.js +1 -0
  779. package/dist/plugin-sdk/model-auth-CycDtQl-.js +1 -0
  780. package/dist/plugin-sdk/model-auth-D-7xiXhK.cjs +1 -0
  781. package/dist/plugin-sdk/model-auth-TFUxaK0f.cjs +1 -0
  782. package/dist/plugin-sdk/model-selection-BADTZM9n.cjs +1 -0
  783. package/dist/plugin-sdk/model-selection-DUAudCtL.js +1 -0
  784. package/dist/plugin-sdk/msteams.cjs +1 -0
  785. package/dist/plugin-sdk/msteams.js +1 -0
  786. package/dist/plugin-sdk/nextcloud-talk.cjs +1 -0
  787. package/dist/plugin-sdk/nextcloud-talk.js +1 -0
  788. package/dist/plugin-sdk/nostr.cjs +1 -0
  789. package/dist/plugin-sdk/nostr.js +1 -0
  790. package/dist/plugin-sdk/outbound-2Lo6mZEY.js +1 -0
  791. package/dist/plugin-sdk/outbound-9XFlZzaF.cjs +1 -0
  792. package/dist/plugin-sdk/outbound-BlWsUmjQ.js +1 -0
  793. package/dist/plugin-sdk/outbound-Bs2rUcWZ.cjs +1 -0
  794. package/dist/plugin-sdk/outbound-C18nEOFP.js +1 -0
  795. package/dist/plugin-sdk/outbound-CW3o4Eng.cjs +1 -0
  796. package/dist/plugin-sdk/outbound-CzsdW5sy.js +1 -0
  797. package/dist/plugin-sdk/outbound-DcP22VOo.cjs +1 -0
  798. package/dist/plugin-sdk/outbound-QhOJAEO8.cjs +1 -0
  799. package/dist/plugin-sdk/outbound-attachment-1pf06Oiu.cjs +1 -0
  800. package/dist/plugin-sdk/outbound-attachment-B8-ZVX2i.cjs +1 -0
  801. package/dist/plugin-sdk/outbound-attachment-BDwI_tn0.cjs +1 -0
  802. package/dist/plugin-sdk/outbound-attachment-BXhbJils.js +1 -0
  803. package/dist/plugin-sdk/outbound-attachment-Bgf1pCh8.js +1 -0
  804. package/dist/plugin-sdk/outbound-attachment-COgf85S8.cjs +1 -0
  805. package/dist/plugin-sdk/outbound-attachment-CfN9OvMC.js +1 -0
  806. package/dist/plugin-sdk/outbound-attachment-CftilZWd.js +1 -0
  807. package/dist/plugin-sdk/outbound-attachment-Cujprd6T.cjs +1 -0
  808. package/dist/plugin-sdk/outbound-attachment-CvSHb9ci.js +1 -0
  809. package/dist/plugin-sdk/outbound-attachment-DQYtdTUw.js +1 -0
  810. package/dist/plugin-sdk/outbound-attachment-FqWC0WJx.cjs +1 -0
  811. package/dist/plugin-sdk/outbound-dTvIiFIZ.js +1 -0
  812. package/dist/plugin-sdk/outbound-fZ1WJGfe.cjs +1 -0
  813. package/dist/plugin-sdk/outbound-oHoWYWxf.js +1 -0
  814. package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -0
  815. package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -0
  816. package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -0
  817. package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -0
  818. package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -0
  819. package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -0
  820. package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -0
  821. package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -0
  822. package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -0
  823. package/dist/plugin-sdk/paths-CtrEseGU.js +1 -0
  824. package/dist/plugin-sdk/paths-D55o_j8-.js +1 -0
  825. package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -0
  826. package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -0
  827. package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -0
  828. package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -0
  829. package/dist/plugin-sdk/paths-Do0djuaj.js +1 -0
  830. package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -0
  831. package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -0
  832. package/dist/plugin-sdk/paths-piJASC5k.js +1 -0
  833. package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -0
  834. package/dist/plugin-sdk/pi-model-discovery-B9boErNZ.cjs +1 -0
  835. package/dist/plugin-sdk/pi-model-discovery-BJ8wTgFH.cjs +1 -0
  836. package/dist/plugin-sdk/pi-model-discovery-Bb2vCP6M.js +1 -0
  837. package/dist/plugin-sdk/pi-model-discovery-Bor7jHYd.js +1 -0
  838. package/dist/plugin-sdk/pi-model-discovery-BrTw1qE2.cjs +1 -0
  839. package/dist/plugin-sdk/pi-model-discovery-BuEMyAsU.js +1 -0
  840. package/dist/plugin-sdk/pi-model-discovery-CV9NTjC4.js +1 -0
  841. package/dist/plugin-sdk/pi-model-discovery-D5tLf04u.js +1 -0
  842. package/dist/plugin-sdk/pi-model-discovery-D5xlUS2J.cjs +1 -0
  843. package/dist/plugin-sdk/pi-model-discovery-DGoPUzBj.cjs +1 -0
  844. package/dist/plugin-sdk/pi-model-discovery-DMrqvV1O.cjs +1 -0
  845. package/dist/plugin-sdk/pi-model-discovery-DoY7qnlI.cjs +1 -0
  846. package/dist/plugin-sdk/pi-model-discovery-Dqq9Vm8o.js +1 -0
  847. package/dist/plugin-sdk/pi-model-discovery-zCuISPPq.js +1 -0
  848. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-4238P8NF.js +1 -0
  849. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BEoqzgFe.cjs +1 -0
  850. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BGPjibRD.js +1 -0
  851. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BJ_amISU.cjs +1 -0
  852. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BX2r_qPT.cjs +1 -0
  853. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CGLHFxSr.js +1 -0
  854. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsNn_Lv8.js +1 -0
  855. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsiKBTHg.cjs +1 -0
  856. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CuXQQk4F.cjs +1 -0
  857. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DNatrz-3.cjs +1 -0
  858. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-PApjB0tY.js +1 -0
  859. package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-xsXDBYNq.js +1 -0
  860. package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -0
  861. package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -0
  862. package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -0
  863. package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -0
  864. package/dist/plugin-sdk/polls-PGxiE05J.js +1 -0
  865. package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -0
  866. package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -0
  867. package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -0
  868. package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -0
  869. package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -0
  870. package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -0
  871. package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -0
  872. package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -0
  873. package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -0
  874. package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -0
  875. package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -0
  876. package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -0
  877. package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -0
  878. package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -0
  879. package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -0
  880. package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -0
  881. package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -0
  882. package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -0
  883. package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -0
  884. package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -0
  885. package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -0
  886. package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -0
  887. package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -0
  888. package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -0
  889. package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -0
  890. package/dist/plugin-sdk/pw-ai-B0_rvdfF.js +1 -0
  891. package/dist/plugin-sdk/pw-ai-BqdrA15F.js +1 -0
  892. package/dist/plugin-sdk/pw-ai-CDzxu5B3.js +1 -0
  893. package/dist/plugin-sdk/pw-ai-CJIogpwF.cjs +1 -0
  894. package/dist/plugin-sdk/pw-ai-CL_gU5PJ.cjs +1 -0
  895. package/dist/plugin-sdk/pw-ai-Ca4aZTaG.cjs +1 -0
  896. package/dist/plugin-sdk/pw-ai-CrfYxLI8.cjs +1 -0
  897. package/dist/plugin-sdk/pw-ai-DCiFlwP8.js +1 -0
  898. package/dist/plugin-sdk/pw-ai-DSqXNmNZ.js +1 -0
  899. package/dist/plugin-sdk/pw-ai-Dh55xTz1.cjs +1 -0
  900. package/dist/plugin-sdk/pw-ai-DxAvipyK.cjs +1 -0
  901. package/dist/plugin-sdk/pw-ai-U9nPHH-0.js +1 -0
  902. package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -0
  903. package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -0
  904. package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -0
  905. package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -0
  906. package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -0
  907. package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -0
  908. package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -0
  909. package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -0
  910. package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -0
  911. package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -0
  912. package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -0
  913. package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -0
  914. package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -0
  915. package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -0
  916. package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -0
  917. package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -0
  918. package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -0
  919. package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -0
  920. package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -0
  921. package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -0
  922. package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -0
  923. package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -0
  924. package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -0
  925. package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -0
  926. package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -0
  927. package/dist/plugin-sdk/qwen-portal-auth.js +1 -0
  928. package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -0
  929. package/dist/plugin-sdk/render-CBsnn-2A.js +1 -0
  930. package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -0
  931. package/dist/plugin-sdk/render-DGmfCIRG.js +1 -0
  932. package/dist/plugin-sdk/render-DhTJXP1U.js +1 -0
  933. package/dist/plugin-sdk/render-Djx15dPh.js +1 -0
  934. package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -0
  935. package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -0
  936. package/dist/plugin-sdk/reply-0zCEbT4w.cjs +1 -0
  937. package/dist/plugin-sdk/reply-D-f2bbXy.js +1 -0
  938. package/dist/plugin-sdk/resolve-outbound-target-CrQGbaua.js +1 -0
  939. package/dist/plugin-sdk/resolve-outbound-target-H7Q9HcfW.js +1 -0
  940. package/dist/plugin-sdk/resolve-outbound-target-MS6Xpp17.cjs +1 -0
  941. package/dist/plugin-sdk/resolve-outbound-target-cDxjy3TL.cjs +1 -0
  942. package/dist/plugin-sdk/send-3VNTSIhr.js +1 -0
  943. package/dist/plugin-sdk/send-61GHLNYP.cjs +1 -0
  944. package/dist/plugin-sdk/send-6q4owAw0.js +1 -0
  945. package/dist/plugin-sdk/send-A2s5sPTd.js +1 -0
  946. package/dist/plugin-sdk/send-B2qa7CSk.js +1 -0
  947. package/dist/plugin-sdk/send-B3aEYvqG.cjs +1 -0
  948. package/dist/plugin-sdk/send-BAoqP09M.cjs +1 -0
  949. package/dist/plugin-sdk/send-BNBJ4CF8.js +1 -0
  950. package/dist/plugin-sdk/send-BTE2rI1E.js +1 -0
  951. package/dist/plugin-sdk/send-BlWuQHYB.js +1 -0
  952. package/dist/plugin-sdk/send-Bnvt7ZUE.cjs +1 -0
  953. package/dist/plugin-sdk/send-Bq6Mqs9G.cjs +1 -0
  954. package/dist/plugin-sdk/send-Bq787fi_.js +1 -0
  955. package/dist/plugin-sdk/send-BrAHLYBR.js +1 -0
  956. package/dist/plugin-sdk/send-Bt2eFBk2.js +1 -0
  957. package/dist/plugin-sdk/send-C4ZFbUux.js +1 -0
  958. package/dist/plugin-sdk/send-C4cyMW4S.cjs +1 -0
  959. package/dist/plugin-sdk/send-C8f5H4XV.cjs +1 -0
  960. package/dist/plugin-sdk/send-CDwTrbgT.cjs +1 -0
  961. package/dist/plugin-sdk/send-CEfs0Fsr.js +1 -0
  962. package/dist/plugin-sdk/send-CFuJjCNB.cjs +1 -0
  963. package/dist/plugin-sdk/send-CJGLeSJ8.cjs +1 -0
  964. package/dist/plugin-sdk/send-CL0W7jLW.js +1 -0
  965. package/dist/plugin-sdk/send-CLl490Gb.cjs +1 -0
  966. package/dist/plugin-sdk/send-CQtITZ7k.cjs +1 -0
  967. package/dist/plugin-sdk/send-CSGh_GVr.cjs +1 -0
  968. package/dist/plugin-sdk/send-CicLiXB4.js +1 -0
  969. package/dist/plugin-sdk/send-Cm7bEwx-.cjs +1 -0
  970. package/dist/plugin-sdk/send-CmO9z2-b.js +1 -0
  971. package/dist/plugin-sdk/send-Co_Wy2kT.cjs +1 -0
  972. package/dist/plugin-sdk/send-Cox_iyYB.cjs +1 -0
  973. package/dist/plugin-sdk/send-CuX4LcJ3.cjs +1 -0
  974. package/dist/plugin-sdk/send-CxMiTtxI.cjs +1 -0
  975. package/dist/plugin-sdk/send-CyyzWwDr.js +1 -0
  976. package/dist/plugin-sdk/send-D-HZnehy.cjs +1 -0
  977. package/dist/plugin-sdk/send-D-qD7BCb.js +1 -0
  978. package/dist/plugin-sdk/send-D3imkSlz.cjs +1 -0
  979. package/dist/plugin-sdk/send-D5UwpCoU.cjs +1 -0
  980. package/dist/plugin-sdk/send-D75OGJco.js +1 -0
  981. package/dist/plugin-sdk/send-DB4i1kUy.cjs +1 -0
  982. package/dist/plugin-sdk/send-DBjzdBda.cjs +1 -0
  983. package/dist/plugin-sdk/send-DPgRTM8s.js +1 -0
  984. package/dist/plugin-sdk/send-DPpBLiL4.js +1 -0
  985. package/dist/plugin-sdk/send-DV_afQnj.cjs +1 -0
  986. package/dist/plugin-sdk/send-DWuChr46.js +1 -0
  987. package/dist/plugin-sdk/send-DZ4szmEa.cjs +1 -0
  988. package/dist/plugin-sdk/send-DZr98eqE.cjs +1 -0
  989. package/dist/plugin-sdk/send-D_1K0zmx.cjs +1 -0
  990. package/dist/plugin-sdk/send-DaLB9Lca.js +1 -0
  991. package/dist/plugin-sdk/send-De4qiprb.js +1 -0
  992. package/dist/plugin-sdk/send-DeU-T5ps.js +1 -0
  993. package/dist/plugin-sdk/send-DtjJM0LO.js +1 -0
  994. package/dist/plugin-sdk/send-DvDCmTQf.js +1 -0
  995. package/dist/plugin-sdk/send-EvcsiFBC.cjs +1 -0
  996. package/dist/plugin-sdk/send-GuISe9C82.js +1 -0
  997. package/dist/plugin-sdk/send-IoGcE0w2.js +1 -0
  998. package/dist/plugin-sdk/send-JVdUTsN1.cjs +1 -0
  999. package/dist/plugin-sdk/send-NpNVFRmY.js +1 -0
  1000. package/dist/plugin-sdk/send-XMOZsJcs.js +1 -0
  1001. package/dist/plugin-sdk/send-h--iKoQE.cjs +1 -0
  1002. package/dist/plugin-sdk/session-8BcB905y.cjs +1 -0
  1003. package/dist/plugin-sdk/session-B2oURX5K.js +1 -0
  1004. package/dist/plugin-sdk/session-BJhNqIOi.js +1 -0
  1005. package/dist/plugin-sdk/session-BRgGsw96.cjs +1 -0
  1006. package/dist/plugin-sdk/session-Be_7rXAz.js +1 -0
  1007. package/dist/plugin-sdk/session-C66IXbE-.js +1 -0
  1008. package/dist/plugin-sdk/session-CCYDbcyV.js +1 -0
  1009. package/dist/plugin-sdk/session-CHu3C2m0.cjs +1 -0
  1010. package/dist/plugin-sdk/session-DUlmK2IL.cjs +1 -0
  1011. package/dist/plugin-sdk/session-DxTRZTnu.js +1 -0
  1012. package/dist/plugin-sdk/session-DzhI0nj-.cjs +1 -0
  1013. package/dist/plugin-sdk/session-WRCBgAzG.cjs +1 -0
  1014. package/dist/plugin-sdk/sessions-DxXXAfdI.js +1 -0
  1015. package/dist/plugin-sdk/sessions-Dz5JUL8j.cjs +1 -0
  1016. package/dist/plugin-sdk/signal.cjs +1 -0
  1017. package/dist/plugin-sdk/signal.js +1 -0
  1018. package/dist/plugin-sdk/skill-commands-B4wI8ETo.cjs +1 -0
  1019. package/dist/plugin-sdk/skill-commands-BoTeA376.cjs +1 -0
  1020. package/dist/plugin-sdk/skill-commands-BwrYJu7Z.js +1 -0
  1021. package/dist/plugin-sdk/skill-commands-BzkMuA58.cjs +1 -0
  1022. package/dist/plugin-sdk/skill-commands-CIAf9cWN.cjs +1 -0
  1023. package/dist/plugin-sdk/skill-commands-CKc7JO_c.cjs +1 -0
  1024. package/dist/plugin-sdk/skill-commands-Cvb6oXym.js +1 -0
  1025. package/dist/plugin-sdk/skill-commands-DWDtyCtB.js +1 -0
  1026. package/dist/plugin-sdk/skill-commands-Hmuw0PPK.js +1 -0
  1027. package/dist/plugin-sdk/skill-commands-KyN0FGaC.cjs +1 -0
  1028. package/dist/plugin-sdk/skill-commands-KzwEqk5p.js +1 -0
  1029. package/dist/plugin-sdk/skill-commands-Ny38ZFIC.js +1 -0
  1030. package/dist/plugin-sdk/slack.cjs +1 -0
  1031. package/dist/plugin-sdk/slack.js +1 -0
  1032. package/dist/plugin-sdk/synology-chat.cjs +1 -0
  1033. package/dist/plugin-sdk/synology-chat.js +1 -0
  1034. package/dist/plugin-sdk/tables-BIDWwpX8.js +1 -0
  1035. package/dist/plugin-sdk/tables-Bk8lHaPx.cjs +1 -0
  1036. package/dist/plugin-sdk/tables-BlNIkMV8.js +1 -0
  1037. package/dist/plugin-sdk/tables-Bp0a2WRP.cjs +1 -0
  1038. package/dist/plugin-sdk/tables-BtVUf77b.cjs +1 -0
  1039. package/dist/plugin-sdk/tables-C4j5Bar_.js +1 -0
  1040. package/dist/plugin-sdk/tables-CZGtYzDC.cjs +1 -0
  1041. package/dist/plugin-sdk/tables-CnrHab5d.cjs +1 -0
  1042. package/dist/plugin-sdk/tables-DtslIPYw.js +1 -0
  1043. package/dist/plugin-sdk/tables-NrdtIJGp.cjs +1 -0
  1044. package/dist/plugin-sdk/tables-XYb3T-vE.js +1 -0
  1045. package/dist/plugin-sdk/tables-lbv-0tl3.js +1 -0
  1046. package/dist/plugin-sdk/target-errors-9cdJA1L2.cjs +1 -0
  1047. package/dist/plugin-sdk/target-errors-BEkhKWCq.cjs +1 -0
  1048. package/dist/plugin-sdk/target-errors-BZRN-lPd.js +1 -0
  1049. package/dist/plugin-sdk/target-errors-BrwqillR.cjs +1 -0
  1050. package/dist/plugin-sdk/target-errors-Buo5pfom.js +1 -0
  1051. package/dist/plugin-sdk/target-errors-CFzzcffg.js +1 -0
  1052. package/dist/plugin-sdk/target-errors-DFmK5loi.js +1 -0
  1053. package/dist/plugin-sdk/target-errors-DXqwykNX.js +1 -0
  1054. package/dist/plugin-sdk/target-errors-Dd6CopYF.cjs +1 -0
  1055. package/dist/plugin-sdk/target-errors-DeNJ10ks.cjs +1 -0
  1056. package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -0
  1057. package/dist/plugin-sdk/targets-BSkiizml.js +1 -0
  1058. package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -0
  1059. package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -0
  1060. package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -0
  1061. package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -0
  1062. package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -0
  1063. package/dist/plugin-sdk/targets-CrkJkzil.js +1 -0
  1064. package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -0
  1065. package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -0
  1066. package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -0
  1067. package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -0
  1068. package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -0
  1069. package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -0
  1070. package/dist/plugin-sdk/telegram.cjs +1 -0
  1071. package/dist/plugin-sdk/telegram.js +1 -0
  1072. package/dist/plugin-sdk/test-utils.cjs +1 -0
  1073. package/dist/plugin-sdk/test-utils.js +1 -0
  1074. package/dist/plugin-sdk/tlon.cjs +1 -0
  1075. package/dist/plugin-sdk/tlon.js +1 -0
  1076. package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -0
  1077. package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -0
  1078. package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -0
  1079. package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -0
  1080. package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -0
  1081. package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -0
  1082. package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -0
  1083. package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -0
  1084. package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -0
  1085. package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -0
  1086. package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -0
  1087. package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -0
  1088. package/dist/plugin-sdk/twitch.cjs +1 -0
  1089. package/dist/plugin-sdk/twitch.js +1 -0
  1090. package/dist/plugin-sdk/utils-BJtJR72k.js +1 -0
  1091. package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -0
  1092. package/dist/plugin-sdk/voice-call.cjs +1 -0
  1093. package/dist/plugin-sdk/voice-call.js +1 -0
  1094. package/dist/plugin-sdk/web-B-QDcVRv.cjs +1 -0
  1095. package/dist/plugin-sdk/web-B2PwjHsu.cjs +1 -0
  1096. package/dist/plugin-sdk/web-BdnQzLgF.js +1 -0
  1097. package/dist/plugin-sdk/web-C9T7tf6w.js +1 -0
  1098. package/dist/plugin-sdk/web-CODD4ksc.cjs +1 -0
  1099. package/dist/plugin-sdk/web-CkdCvvR-.js +1 -0
  1100. package/dist/plugin-sdk/web-_tj8xNZE.js +1 -0
  1101. package/dist/plugin-sdk/web-pcTha_l7.cjs +1 -0
  1102. package/dist/plugin-sdk/weixin.cjs +1 -0
  1103. package/dist/plugin-sdk/weixin.js +1 -0
  1104. package/dist/plugin-sdk/whatsapp-actions-Bhz2j1uz.cjs +1 -0
  1105. package/dist/plugin-sdk/whatsapp-actions-Bm2UyRYg.cjs +1 -0
  1106. package/dist/plugin-sdk/whatsapp-actions-Bolz0jl5.js +1 -0
  1107. package/dist/plugin-sdk/whatsapp-actions-CJ3LDpaG.js +1 -0
  1108. package/dist/plugin-sdk/whatsapp-actions-CL1Gmkb0.js +1 -0
  1109. package/dist/plugin-sdk/whatsapp-actions-D-bZRT7s.js +1 -0
  1110. package/dist/plugin-sdk/whatsapp-actions-DSGTTE8M.cjs +1 -0
  1111. package/dist/plugin-sdk/whatsapp-actions-DjQxgMpW.cjs +1 -0
  1112. package/dist/plugin-sdk/whatsapp-actions-DrPBBi5t.cjs +1 -0
  1113. package/dist/plugin-sdk/whatsapp-actions-DtK657CZ.cjs +1 -0
  1114. package/dist/plugin-sdk/whatsapp-actions-Xwev51_N.js +1 -0
  1115. package/dist/plugin-sdk/whatsapp-actions-m7vLtNAA.js +1 -0
  1116. package/dist/plugin-sdk/whatsapp.cjs +1 -0
  1117. package/dist/plugin-sdk/whatsapp.js +1 -0
  1118. package/dist/plugin-sdk/zalo.cjs +1 -0
  1119. package/dist/plugin-sdk/zalo.js +1 -0
  1120. package/dist/plugin-sdk/zalouser.cjs +1 -0
  1121. package/dist/plugin-sdk/zalouser.js +1 -0
  1122. package/dist/plugins-CYLrFT4h.js +1 -0
  1123. package/dist/plugins-DNlgeTTc.js +1 -0
  1124. package/dist/plugins-cli-BbjMbzJU.js +1 -0
  1125. package/dist/plugins-cli-BiVMAr5T.js +1 -0
  1126. package/dist/polls-BIVz6a4F.js +1 -0
  1127. package/dist/polls-Bh5wc9-6.js +1 -0
  1128. package/dist/polls-C_XSFz3d.js +1 -0
  1129. package/dist/polls-DKJOFSzJ.js +1 -0
  1130. package/dist/ports-B0XdGTfS.js +1 -0
  1131. package/dist/ports-BR0PLRtq.js +1 -0
  1132. package/dist/probe-auth-BMA0yM94.js +1 -0
  1133. package/dist/probe-auth-VI96zmTK.js +1 -0
  1134. package/dist/profile-utils-CWmra1aY.js +1 -0
  1135. package/dist/program-BrAZTwFr.js +1 -0
  1136. package/dist/program-context-B9ydtPje.js +1 -0
  1137. package/dist/program-context-CH9p6anW.js +1 -0
  1138. package/dist/progress-LNttnI-y.js +1 -0
  1139. package/dist/progress-d1m2sqR1.js +1 -0
  1140. package/dist/prompt-select-styled-BeJNbzSa.js +1 -0
  1141. package/dist/prompt-select-styled-DIOWLjl0.js +1 -0
  1142. package/dist/prompt-style-BThRSQJR.js +1 -0
  1143. package/dist/prompt-style-CXKekIBY.js +1 -0
  1144. package/dist/prompts-CMzglboN.js +1 -0
  1145. package/dist/prompts-wv-lfVrJ.js +1 -0
  1146. package/dist/provider-auth-helpers-1lU43eTW.js +1 -0
  1147. package/dist/provider-auth-helpers-pBVCjBj9.js +1 -0
  1148. package/dist/provider-env-vars-D8p6Ohpj.js +1 -0
  1149. package/dist/provider-env-vars-Dt0Q29Su.js +1 -0
  1150. package/dist/proxy-env-BNhTHkd_.js +1 -0
  1151. package/dist/proxy-env-DcmW_urA.js +1 -0
  1152. package/dist/proxy-env-DrC3TIGh.js +1 -0
  1153. package/dist/proxy-env-FJr5nlvs.js +1 -0
  1154. package/dist/proxy-fetch-BADsUK4d.js +1 -0
  1155. package/dist/proxy-fetch-BZ9O8Dvj.js +1 -0
  1156. package/dist/proxy-fetch-DnjU1fEB.js +1 -0
  1157. package/dist/proxy-fetch-gWETR3cl.js +1 -0
  1158. package/dist/push-apns-BGUOmD5M.js +1 -0
  1159. package/dist/push-apns-B_a2MBJ4.js +1 -0
  1160. package/dist/pw-ai-C-Ffkwai.js +1 -0
  1161. package/dist/pw-ai-CV1H1Vrs.js +1 -0
  1162. package/dist/pw-ai-D_MB1lrR.js +1 -0
  1163. package/dist/pw-ai-_l9lVice.js +1 -0
  1164. package/dist/qmd-manager-C_e04BNg.js +1 -0
  1165. package/dist/qmd-manager-DSQ_mDCl.js +1 -0
  1166. package/dist/qmd-manager-DcBYbt_V.js +1 -0
  1167. package/dist/qmd-manager-NLI0R6kp.js +1 -0
  1168. package/dist/qr-cli-3aG6CB6K.js +1 -0
  1169. package/dist/qr-cli-fiJxD5M4.js +1 -0
  1170. package/dist/query-expansion-0OxEb1Io.js +1 -0
  1171. package/dist/query-expansion-BUUx_oWg.js +1 -0
  1172. package/dist/query-expansion-r_iXkNzt.js +1 -0
  1173. package/dist/reaction-level-DVPHL14p.js +1 -0
  1174. package/dist/reaction-message-id-BEEe7X3D.js +1 -0
  1175. package/dist/read-only-account-inspect-DBwAwB3_.js +1 -0
  1176. package/dist/redact-3_CiXMY6.js +1 -0
  1177. package/dist/redact-CnRxK70G.js +1 -0
  1178. package/dist/register.agent-CX78s_X9.js +1 -0
  1179. package/dist/register.agent-DLDKQENq.js +1 -0
  1180. package/dist/register.backup-DkFoTcuT.js +1 -0
  1181. package/dist/register.backup-PzF5rmeU.js +1 -0
  1182. package/dist/register.configure-BA5u9hT3.js +1 -0
  1183. package/dist/register.configure-BhPtf3Qo.js +1 -0
  1184. package/dist/register.maintenance-BhsBepKS.js +1 -0
  1185. package/dist/register.maintenance-r_MzNK3-.js +1 -0
  1186. package/dist/register.message-CTF--Z2a.js +1 -0
  1187. package/dist/register.message-jcZ875be.js +1 -0
  1188. package/dist/register.onboard-C3yL50_c.js +1 -0
  1189. package/dist/register.onboard-CNwnStUk.js +1 -0
  1190. package/dist/register.setup-BRJMzgfU.js +1 -0
  1191. package/dist/register.setup-BvsS-zgm.js +1 -0
  1192. package/dist/register.status-health-sessions-DVc__2pc.js +1 -0
  1193. package/dist/register.status-health-sessions-Dqmkw820.js +1 -0
  1194. package/dist/register.subclis-D-24j83X.js +1 -0
  1195. package/dist/registry-BptzrW8D.js +1 -0
  1196. package/dist/registry-hFAtCSWG.js +1 -0
  1197. package/dist/render-BXEUPIHe.js +1 -0
  1198. package/dist/render-CBsnn-2A.js +1 -0
  1199. package/dist/render-D8OWO2hT.js +1 -0
  1200. package/dist/render-DrrPmnMI.js +1 -0
  1201. package/dist/reply-l-Y47HP4.js +1 -0
  1202. package/dist/restart-CHXEHdSC.js +1 -0
  1203. package/dist/rpc-B3ReBNXG.js +1 -0
  1204. package/dist/rpc-DumDLalJ.js +1 -0
  1205. package/dist/run-main-B_YBE_TN.js +1 -0
  1206. package/dist/runtime-BC5Ep2pJ.js +1 -0
  1207. package/dist/runtime-Dlg2-Omq.js +1 -0
  1208. package/dist/runtime-guard-DFYBaYZS.js +1 -0
  1209. package/dist/runtime-guard-DX2Ie4ri.js +1 -0
  1210. package/dist/runtime-status-CqFBmdRd.js +1 -0
  1211. package/dist/runtime-status-DszMjvJK.js +1 -0
  1212. package/dist/runtime-web-tools-D8fms06-.js +1 -0
  1213. package/dist/runtime-web-tools-bz76ZaRc.js +1 -0
  1214. package/dist/sandbox-cli-BDorUBm-.js +1 -0
  1215. package/dist/sandbox-cli-Bq40R5Vs.js +1 -0
  1216. package/dist/scan-paths-C13EseXp.js +1 -0
  1217. package/dist/scan-paths-CWtvWW40.js +1 -0
  1218. package/dist/search-manager-Bp9x20r6.js +1 -0
  1219. package/dist/secret-file-C7JffiM_.js +1 -0
  1220. package/dist/secret-file-D60EFEOe.js +1 -0
  1221. package/dist/secret-file-DuWm26jS.js +1 -0
  1222. package/dist/secrets-cli-Bo6PC32U.js +1 -0
  1223. package/dist/secrets-cli-CoXJv3Jp.js +1 -0
  1224. package/dist/secure-random-D7JQgiK-.js +1 -0
  1225. package/dist/security-cli-CgZL2KKh.js +1 -0
  1226. package/dist/security-cli-DVOfhwAP.js +1 -0
  1227. package/dist/send-B7sHR38c2.js +1 -0
  1228. package/dist/send-Bx2Qr7VH.js +1 -0
  1229. package/dist/send-C-AP01PR.js +1 -0
  1230. package/dist/send-C1CJ-GHU.js +1 -0
  1231. package/dist/send-C48Y9SAq.js +1 -0
  1232. package/dist/send-CVplsJpw.js +1 -0
  1233. package/dist/send-CW81y5Wz.js +1 -0
  1234. package/dist/send-CYgHok1p.js +1 -0
  1235. package/dist/send-Cgd_VJHR.js +1 -0
  1236. package/dist/send-Chz0YMoJ.js +1 -0
  1237. package/dist/send-D9hVVn7p2.js +1 -0
  1238. package/dist/send-DKrzj_Ts.js +1 -0
  1239. package/dist/send-DRLSCwCk.js +1 -0
  1240. package/dist/send-DavpkzhH.js +1 -0
  1241. package/dist/send-DbeEC2a3.js +1 -0
  1242. package/dist/send-DkiKKUkt.js +1 -0
  1243. package/dist/send-DlfVd5mL.js +1 -0
  1244. package/dist/send-JYgM9Sm-2.js +1 -0
  1245. package/dist/send-hZFDcGLM.js +1 -0
  1246. package/dist/send-vthbs31u.js +1 -0
  1247. package/dist/server-DpyBukwA.js +1 -0
  1248. package/dist/server-IgiSKzXH.js +1 -0
  1249. package/dist/server-node-events-CFSY_-4t.js +1 -0
  1250. package/dist/server-node-events-ZFwmPwQ-.js +1 -0
  1251. package/dist/service-BtB9epJk.js +1 -0
  1252. package/dist/service-DZ9EbS15.js +1 -0
  1253. package/dist/session-C9TDmUS7.js +1 -0
  1254. package/dist/session-CUUGjiV3.js +1 -0
  1255. package/dist/session-DA-i5xQ-.js +1 -0
  1256. package/dist/session-bk3gFwO4.js +1 -0
  1257. package/dist/session-cost-usage-BgqKixv0.js +1 -0
  1258. package/dist/session-cost-usage-CHtVgnE8.js +1 -0
  1259. package/dist/session-key-C7F_iqYg.js +1 -0
  1260. package/dist/session-key-D3P0tf5P.js +1 -0
  1261. package/dist/session-utils-8acNlxwP.js +1 -0
  1262. package/dist/sessions-BsxT0V2m.js +1 -0
  1263. package/dist/shared-9x5sqYRb.js +1 -0
  1264. package/dist/shared-BKWhOp64.js +1 -0
  1265. package/dist/shared-GesXrZzd.js +1 -0
  1266. package/dist/skill-commands-BWW6mc6t.js +1 -0
  1267. package/dist/skill-commands-CSF6wVPU.js +1 -0
  1268. package/dist/skill-commands-Db232ZRp.js +1 -0
  1269. package/dist/skill-commands-HJHHZqt6.js +1 -0
  1270. package/dist/skill-scanner-CUUF3Fvo.js +1 -0
  1271. package/dist/skill-scanner-CkxXNioD.js +1 -0
  1272. package/dist/skills-CKTicUKS.js +1 -0
  1273. package/dist/skills-DHbOKEGc.js +1 -0
  1274. package/dist/skills-cli-9Ls94z5H.js +1 -0
  1275. package/dist/skills-cli-BY7OhJzj.js +1 -0
  1276. package/dist/skills-install-CIdGCXSy.js +1 -0
  1277. package/dist/skills-install-DIdiVt9Y.js +1 -0
  1278. package/dist/skills-status-BWIugRCz.js +1 -0
  1279. package/dist/skills-status-DswSl5aD.js +1 -0
  1280. package/dist/sqlite-CILF3z9U.js +1 -0
  1281. package/dist/stagger-DmFYysrJ.js +1 -0
  1282. package/dist/stagger-DxzgG2jd.js +1 -0
  1283. package/dist/status-C-9fSiMn.js +1 -0
  1284. package/dist/status-CeBGmSAz.js +1 -0
  1285. package/dist/status-DYqPF0rB.js +1 -0
  1286. package/dist/status-JIPeVrsc.js +1 -0
  1287. package/dist/status.update-B_8Gumuc.js +1 -0
  1288. package/dist/status.update-DoSzHu2F.js +1 -0
  1289. package/dist/string-normalization-BrUPaXaM.js +1 -0
  1290. package/dist/string-normalization-DJT5zuUF.js +1 -0
  1291. package/dist/subsystem-BLbY429l.js +1 -0
  1292. package/dist/subsystem-Bc2XrjUz.js +1 -0
  1293. package/dist/subsystem-C5XF2Fy5.js +1 -0
  1294. package/dist/system-cli-CeZfoVPN.js +1 -0
  1295. package/dist/system-cli-DZkTYB9d.js +1 -0
  1296. package/dist/system-run-command-BKfMiqQM.js +1 -0
  1297. package/dist/system-run-command-DEWnZE0r.js +1 -0
  1298. package/dist/systemd-D7odsu4K.js +1 -0
  1299. package/dist/systemd-DbevZh65.js +1 -0
  1300. package/dist/systemd-hints-C0DKDl35.js +1 -0
  1301. package/dist/systemd-hints-lXpMy-kY.js +1 -0
  1302. package/dist/systemd-linger-C2MJD6KG.js +1 -0
  1303. package/dist/systemd-linger-cWKbFNpu.js +1 -0
  1304. package/dist/table-CR7TFMew.js +1 -0
  1305. package/dist/table-CY440fI1.js +1 -0
  1306. package/dist/tables-Brc2lNcB.js +1 -0
  1307. package/dist/tables-CrXdLc_6.js +1 -0
  1308. package/dist/tables-Oieq7UbT.js +1 -0
  1309. package/dist/tables-btcG3yFT.js +1 -0
  1310. package/dist/target-errors-CRlevJJ5.js +1 -0
  1311. package/dist/target-errors-CgWAJOam.js +1 -0
  1312. package/dist/target-errors-CpKXh2RS.js +1 -0
  1313. package/dist/target-errors-a35Md15n.js +1 -0
  1314. package/dist/targets-4EaxWBal.js +1 -0
  1315. package/dist/targets-BJTo7bqu.js +1 -0
  1316. package/dist/targets-BYVMrXDf.js +1 -0
  1317. package/dist/targets-Bq6rS6-Z.js +1 -0
  1318. package/dist/targets-CL5fYQi7.js +1 -0
  1319. package/dist/targets-fozeWOOg.js +1 -0
  1320. package/dist/targets-m_41k_Mv.js +1 -0
  1321. package/dist/telegram/audit.js +1 -0
  1322. package/dist/text-format-CvrvBBre.js +1 -0
  1323. package/dist/text-format-DEWK6oCT.js +1 -0
  1324. package/dist/token-DnTmiyJu.js +1 -0
  1325. package/dist/tokens-B2fq-rL6.js +1 -0
  1326. package/dist/tokens-CL2fSjGl.js +1 -0
  1327. package/dist/tokens-DRM8vzJx.js +1 -0
  1328. package/dist/tokens-XGbQGn67.js +1 -0
  1329. package/dist/tool-display-DJDtttQg.js +1 -0
  1330. package/dist/tool-display-DjuSUUbH.js +1 -0
  1331. package/dist/tui-B506apla.js +1 -0
  1332. package/dist/tui-CJUkUxHb.js +1 -0
  1333. package/dist/tui-cli-BEdGHmhc.js +1 -0
  1334. package/dist/tui-cli-Cq_eXDAV.js +1 -0
  1335. package/dist/types.secrets-C-5U96pc.js +1 -0
  1336. package/dist/types.secrets-D4tbc3Wq.js +1 -0
  1337. package/dist/update-BGrxUIyz.js +1 -0
  1338. package/dist/update-CwTy5DPl.js +1 -0
  1339. package/dist/update-cli-BwBMOeP0.js +1 -0
  1340. package/dist/update-cli-YrBbmw4f.js +1 -0
  1341. package/dist/update-runner-BvtyRBD2.js +1 -0
  1342. package/dist/update-runner-DYamgo1V.js +1 -0
  1343. package/dist/usage-format-BWD8FJFL.js +1 -0
  1344. package/dist/usage-format-yPwal8Iz.js +1 -0
  1345. package/dist/utils-CGdo13HV.js +1 -0
  1346. package/dist/utils-D3t-vPka.js +1 -0
  1347. package/dist/utils-R-mFyVJi.js +1 -0
  1348. package/dist/utils-UGOV_184.js +1 -0
  1349. package/dist/version-q3SkUw2K.js +1 -0
  1350. package/dist/warning-filter.js +1 -0
  1351. package/dist/web-Cq3xWCaD.js +1 -0
  1352. package/dist/web-DwcxsgH0.js +1 -0
  1353. package/dist/webhooks-cli-CIeyainW.js +1 -0
  1354. package/dist/webhooks-cli-DSNAve_D.js +1 -0
  1355. package/dist/whatsapp-actions-B6gt1KeB.js +1 -0
  1356. package/dist/whatsapp-actions-DACoH7qd.js +1 -0
  1357. package/dist/whatsapp-actions-iQhIeMya.js +1 -0
  1358. package/dist/whatsapp-actions-tmjID75a.js +1 -0
  1359. package/dist/widearea-dns-BDx7vkV2.js +1 -0
  1360. package/dist/widearea-dns-BFjqKXu_.js +1 -0
  1361. package/dist/windows-spawn-7oINn5ao.js +1 -0
  1362. package/dist/windows-spawn-AB7ItGAE.js +1 -0
  1363. package/dist/with-timeout-WveKxvFV.js +1 -0
  1364. package/dist/with-timeout-c1CzdShT.js +1 -0
  1365. package/dist/workspace-B0ZQeHXg.js +1 -0
  1366. package/dist/workspace-C45T1Cxg.js +1 -0
  1367. package/dist/workspace-dirs-A8Vib9_B.js +1 -0
  1368. package/dist/workspace-dirs-BhF1Dzxt.js +1 -0
  1369. package/dist/workspace-xNEpaJvu.js +1 -0
  1370. package/dist/wsl-DHxB2Ew_.js +1 -0
  1371. package/dist/wsl-Ok7GaSJ6.js +1 -0
  1372. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +2 -2
  1373. package/node_modules/@aws-sdk/token-providers/package.json +1 -1
  1374. package/node_modules/@grammyjs/types/package.json +1 -1
  1375. package/node_modules/@line/bot-sdk/dist/channel-access-token/api/channelAccessTokenClient.js +49 -3
  1376. package/node_modules/@line/bot-sdk/dist/cjs/channel-access-token/api/channelAccessTokenClient.js +49 -3
  1377. package/node_modules/@line/bot-sdk/dist/cjs/client.js +636 -0
  1378. package/node_modules/@line/bot-sdk/dist/cjs/endpoints.js +7 -0
  1379. package/node_modules/@line/bot-sdk/dist/cjs/exceptions.js +15 -1
  1380. package/node_modules/@line/bot-sdk/dist/cjs/http-axios.js +2 -6
  1381. package/node_modules/@line/bot-sdk/dist/cjs/http-fetch.js +5 -13
  1382. package/node_modules/@line/bot-sdk/dist/cjs/index.js +3 -1
  1383. package/node_modules/@line/bot-sdk/dist/cjs/insight/api/insightClient.js +3 -0
  1384. package/node_modules/@line/bot-sdk/dist/cjs/liff/api/liffClient.js +3 -0
  1385. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.factory.generated.js +66 -0
  1386. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.generated.js +1999 -0
  1387. package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.js +61 -0
  1388. package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceBlobClient.js +3 -0
  1389. package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceClient.js +3 -0
  1390. package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiBlobClient.js +3 -0
  1391. package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiClient.js +3 -0
  1392. package/node_modules/@line/bot-sdk/dist/cjs/module/api/lineModuleClient.js +3 -0
  1393. package/node_modules/@line/bot-sdk/dist/cjs/module-attach/api/lineModuleAttachClient.js +3 -0
  1394. package/node_modules/@line/bot-sdk/dist/cjs/shop/api/shopClient.js +3 -0
  1395. package/node_modules/@line/bot-sdk/dist/cjs/utils.js +10 -0
  1396. package/node_modules/@line/bot-sdk/dist/cjs/version.js +1 -1
  1397. package/node_modules/@line/bot-sdk/dist/client.js +636 -0
  1398. package/node_modules/@line/bot-sdk/dist/endpoints.js +7 -0
  1399. package/node_modules/@line/bot-sdk/dist/exceptions.js +15 -1
  1400. package/node_modules/@line/bot-sdk/dist/http-axios.js +2 -6
  1401. package/node_modules/@line/bot-sdk/dist/http-fetch.js +5 -13
  1402. package/node_modules/@line/bot-sdk/dist/index.js +1 -0
  1403. package/node_modules/@line/bot-sdk/dist/insight/api/insightClient.js +3 -0
  1404. package/node_modules/@line/bot-sdk/dist/liff/api/liffClient.js +3 -0
  1405. package/node_modules/@line/bot-sdk/dist/line-bot-client.factory.generated.js +63 -0
  1406. package/node_modules/@line/bot-sdk/dist/line-bot-client.generated.js +1995 -0
  1407. package/node_modules/@line/bot-sdk/dist/line-bot-client.js +58 -0
  1408. package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceBlobClient.js +3 -0
  1409. package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceClient.js +3 -0
  1410. package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiBlobClient.js +3 -0
  1411. package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiClient.js +3 -0
  1412. package/node_modules/@line/bot-sdk/dist/module/api/lineModuleClient.js +3 -0
  1413. package/node_modules/@line/bot-sdk/dist/module-attach/api/lineModuleAttachClient.js +3 -0
  1414. package/node_modules/@line/bot-sdk/dist/shop/api/shopClient.js +3 -0
  1415. package/node_modules/@line/bot-sdk/dist/utils.js +9 -0
  1416. package/node_modules/@line/bot-sdk/dist/version.js +1 -1
  1417. package/node_modules/@line/bot-sdk/package.json +10 -7
  1418. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
  1419. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +25 -0
  1420. package/node_modules/@mariozechner/clipboard-linux-x64-musl/clipboard.linux-x64-musl.node +0 -0
  1421. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +25 -0
  1422. package/node_modules/@slack/bolt/dist/App.js +22 -30
  1423. package/node_modules/@slack/bolt/dist/Assistant.js +21 -37
  1424. package/node_modules/@slack/bolt/dist/CustomFunction.js +1 -43
  1425. package/node_modules/@slack/bolt/dist/context/create-function-complete.js +23 -0
  1426. package/node_modules/@slack/bolt/dist/context/create-function-fail.js +23 -0
  1427. package/node_modules/@slack/bolt/dist/context/create-respond.js +11 -0
  1428. package/node_modules/@slack/bolt/dist/context/create-say-stream.js +16 -0
  1429. package/node_modules/@slack/bolt/dist/context/create-say.js +17 -0
  1430. package/node_modules/@slack/bolt/dist/context/create-set-status.js +21 -0
  1431. package/node_modules/@slack/bolt/dist/context/index.js +16 -0
  1432. package/node_modules/@slack/bolt/dist/helpers.js +79 -3
  1433. package/node_modules/@slack/bolt/dist/index.js +10 -8
  1434. package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +5 -1
  1435. package/node_modules/@slack/bolt/dist/types/events/index.js +0 -4
  1436. package/node_modules/@slack/bolt/package.json +7 -7
  1437. package/node_modules/@smithy/config-resolver/package.json +10 -11
  1438. package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +6 -0
  1439. package/node_modules/@smithy/core/dist-cjs/index.js +1 -1
  1440. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +21 -0
  1441. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +21 -0
  1442. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +46 -0
  1443. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +6 -0
  1444. package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +24 -0
  1445. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +19 -0
  1446. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +27 -0
  1447. package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +5 -0
  1448. package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +10 -0
  1449. package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +44 -0
  1450. package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +5 -0
  1451. package/node_modules/@smithy/core/dist-cjs/setFeature.js +14 -0
  1452. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +17 -0
  1453. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +38 -0
  1454. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +15 -0
  1455. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +6 -0
  1456. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +9 -0
  1457. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +6 -0
  1458. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +61 -0
  1459. package/node_modules/@smithy/core/package.json +15 -16
  1460. package/node_modules/@smithy/credential-provider-imds/package.json +9 -10
  1461. package/node_modules/@smithy/eventstream-codec/dist-cjs/index.js +13 -0
  1462. package/node_modules/@smithy/eventstream-codec/package.json +6 -7
  1463. package/node_modules/@smithy/eventstream-serde-browser/package.json +7 -8
  1464. package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +7 -8
  1465. package/node_modules/@smithy/eventstream-serde-node/package.json +7 -8
  1466. package/node_modules/@smithy/eventstream-serde-universal/package.json +9 -10
  1467. package/node_modules/@smithy/fetch-http-handler/package.json +12 -13
  1468. package/node_modules/@smithy/hash-node/package.json +6 -7
  1469. package/node_modules/@smithy/invalid-dependency/package.json +6 -7
  1470. package/node_modules/@smithy/middleware-content-length/package.json +7 -8
  1471. package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +2 -2
  1472. package/node_modules/@smithy/middleware-endpoint/package.json +13 -14
  1473. package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +70 -29
  1474. package/node_modules/@smithy/middleware-retry/dist-es/index.js +5 -4
  1475. package/node_modules/@smithy/middleware-retry/dist-es/longPollMiddleware.js +15 -0
  1476. package/node_modules/@smithy/middleware-retry/dist-es/parseRetryAfterHeader.js +49 -0
  1477. package/node_modules/@smithy/middleware-retry/dist-es/{StandardRetryStrategy.js → retry-pre-sra-deprecated/StandardRetryStrategy.js} +1 -1
  1478. package/node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js +13 -20
  1479. package/node_modules/@smithy/middleware-retry/package.json +16 -16
  1480. package/node_modules/@smithy/middleware-serde/package.json +10 -11
  1481. package/node_modules/@smithy/middleware-stack/package.json +7 -8
  1482. package/node_modules/@smithy/node-config-provider/package.json +8 -9
  1483. package/node_modules/@smithy/node-http-handler/package.json +10 -11
  1484. package/node_modules/@smithy/property-provider/package.json +6 -7
  1485. package/node_modules/@smithy/protocol-http/package.json +6 -7
  1486. package/node_modules/@smithy/querystring-builder/package.json +6 -7
  1487. package/node_modules/@smithy/querystring-parser/package.json +6 -7
  1488. package/node_modules/@smithy/service-error-classification/package.json +6 -7
  1489. package/node_modules/@smithy/shared-ini-file-loader/package.json +7 -8
  1490. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +13 -0
  1491. package/node_modules/@smithy/signature-v4/package.json +9 -10
  1492. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +1 -1
  1493. package/node_modules/@smithy/smithy-client/package.json +14 -15
  1494. package/node_modules/@smithy/types/package.json +7 -8
  1495. package/node_modules/@smithy/url-parser/package.json +7 -8
  1496. package/node_modules/@smithy/util-defaults-mode-browser/package.json +8 -9
  1497. package/node_modules/@smithy/util-defaults-mode-node/package.json +11 -12
  1498. package/node_modules/@smithy/util-endpoints/package.json +9 -10
  1499. package/node_modules/@smithy/util-middleware/package.json +6 -7
  1500. package/node_modules/@smithy/util-retry/dist-cjs/index.js +123 -76
  1501. package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +7 -4
  1502. package/node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js +2 -2
  1503. package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +24 -25
  1504. package/node_modules/@smithy/util-retry/dist-es/DefaultRetryBackoffStrategy.js +14 -0
  1505. package/node_modules/@smithy/util-retry/dist-es/DefaultRetryToken.js +25 -0
  1506. package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +39 -26
  1507. package/node_modules/@smithy/util-retry/dist-es/index.js +1 -0
  1508. package/node_modules/@smithy/util-retry/dist-es/retries-2026-config.js +18 -0
  1509. package/node_modules/@smithy/util-retry/package.json +10 -11
  1510. package/node_modules/@smithy/util-stream/package.json +12 -13
  1511. package/node_modules/@snazzah/davey-linux-x64-gnu/davey.linux-x64-gnu.node +0 -0
  1512. package/node_modules/@snazzah/davey-linux-x64-gnu/package.json +43 -0
  1513. package/node_modules/@snazzah/davey-linux-x64-musl/davey.linux-x64-musl.node +0 -0
  1514. package/node_modules/@snazzah/davey-linux-x64-musl/package.json +43 -0
  1515. package/node_modules/dotenv/lib/main.js +1 -1
  1516. package/node_modules/dotenv/package.json +1 -1
  1517. package/node_modules/dotenv/skills/dotenv/SKILL.md +32 -52
  1518. package/node_modules/dotenv/skills/dotenvx/SKILL.md +57 -273
  1519. package/node_modules/grammy/out/bot.js +1 -0
  1520. package/node_modules/grammy/out/context.js +35 -0
  1521. package/node_modules/grammy/out/convenience/keyboard.js +30 -2
  1522. package/node_modules/grammy/out/core/api.js +34 -0
  1523. package/node_modules/grammy/out/filter.js +6 -2
  1524. package/node_modules/grammy/out/web.mjs +58 -10
  1525. package/node_modules/grammy/package.json +2 -2
  1526. package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +12 -0
  1527. package/node_modules/lru-cache/dist/commonjs/index.js +227 -130
  1528. package/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
  1529. package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
  1530. package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +17 -0
  1531. package/node_modules/lru-cache/dist/esm/index.js +227 -130
  1532. package/node_modules/lru-cache/dist/esm/index.min.js +1 -1
  1533. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.mts.map +1 -0
  1534. package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +8 -0
  1535. package/node_modules/lru-cache/dist/esm/node/index.js +1688 -0
  1536. package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
  1537. package/node_modules/lru-cache/package.json +29 -9
  1538. package/node_modules/netmask/dist/netmask.js +58 -0
  1539. package/node_modules/netmask/dist/netmask4.js +189 -0
  1540. package/node_modules/netmask/dist/netmask6.js +187 -0
  1541. package/node_modules/netmask/package.json +15 -6
  1542. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
  1543. package/node_modules/path-expression-matcher/lib/pem.d.cts +93 -0
  1544. package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
  1545. package/node_modules/path-expression-matcher/package.json +1 -1
  1546. package/node_modules/path-expression-matcher/src/ExpressionSet.js +189 -0
  1547. package/node_modules/path-expression-matcher/src/Matcher.js +50 -20
  1548. package/node_modules/path-expression-matcher/src/index.js +3 -2
  1549. package/node_modules/strnum/package.json +1 -1
  1550. package/package.json +1 -1
  1551. package/preset-config.json +12 -0
  1552. package/node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js +0 -14
  1553. package/node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js +0 -11
  1554. package/node_modules/netmask/CREDITS.md +0 -30
  1555. package/node_modules/netmask/lib/netmask.coffee +0 -167
  1556. package/node_modules/netmask/lib/netmask.js +0 -208
  1557. package/node_modules/strnum/.github/SECURITY.md +0 -5
  1558. package/node_modules/strnum/.vscode/launch.json +0 -25
  1559. package/node_modules/strnum/algo.stflow +0 -84
  1560. package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
  1561. /package/node_modules/@smithy/middleware-retry/dist-es/{AdaptiveRetryStrategy.js → retry-pre-sra-deprecated/AdaptiveRetryStrategy.js} +0 -0
  1562. /package/node_modules/@smithy/middleware-retry/dist-es/{defaultRetryQuota.js → retry-pre-sra-deprecated/defaultRetryQuota.js} +0 -0
  1563. /package/node_modules/@smithy/middleware-retry/dist-es/{delayDecider.js → retry-pre-sra-deprecated/delayDecider.js} +0 -0
  1564. /package/node_modules/@smithy/middleware-retry/dist-es/{retryDecider.js → retry-pre-sra-deprecated/retryDecider.js} +0 -0
  1565. /package/node_modules/@smithy/middleware-retry/dist-es/{types.js → retry-pre-sra-deprecated/types.js} +0 -0
@@ -2,3 +2,4 @@ import{t as e}from"./subsystem-BLbY429l.js";import{Gc as t,Sc as n,Tc as r}from"
2
2
  `),o(`Authorize`));let d=Date.now()+u.expires_in*1e3,f=Math.max(1e3,u.interval*1e3),_=g();_.start(`Waiting for GitHub authorization...`);let v=await b({deviceCode:u.device_code,intervalMs:f,expiresAt:d});_.stop(`GitHub access token acquired`),n({profileId:i,credential:{type:`token`,provider:`github-copilot`,token:v}}),await s(e=>c(e,{provider:`github-copilot`,profileId:i,mode:`token`})),l(t),t.log(`Auth profile: ${i} (github-copilot/token)`),h(`Done`)}const S=e(`plugins`);function C(e){return a({config:e.config,workspaceDir:e.workspaceDir,logger:i(S)}).providers.map(e=>e.provider)}const w=e=>e.trim().length>0?void 0:`Required`;function T(e){let t=e.manualPromptMessage??`Paste the redirect URL`,n;return{onAuth:async({url:r})=>{if(e.isRemote){e.spin.stop(`OAuth URL ready`),e.runtime.log(`\nOpen this URL in your LOCAL browser:\n\n${r}\n`),n=e.prompter.text({message:t,validate:w}).then(e=>String(e));return}e.spin.update(e.localBrowserMessage),await e.openUrl(r),e.runtime.log(`Open: ${r}`)},onPrompt:async t=>{if(n)return n;let r=await e.prompter.text({message:t.message,placeholder:t.placeholder,validate:w});return String(r)}}}async function E(e){let{prompter:t,runtime:n,isRemote:r,openUrl:i,localBrowserMessage:a}=e,o=await u();if(!o.ok&&o.kind===`tls-cert`){let e=d(o);throw n.error(e),await t.note(e,`OAuth prerequisites`),Error(o.message)}await t.note(r?[`You are running in a remote/VPS environment.`,`A URL will be shown for you to open in your LOCAL browser.`,`After signing in, paste the redirect URL back here.`].join(`
3
3
  `):[`Browser will open for OpenAI authentication.`,`If the callback doesn't auto-complete, paste the redirect URL.`,`OpenAI OAuth uses localhost:1455 for the callback.`].join(`
4
4
  `),`OpenAI Codex OAuth`);let s=t.progress(`Starting OAuth flow…`);try{let{onAuth:e,onPrompt:o}=T({isRemote:r,prompter:t,runtime:n,spin:s,openUrl:i,localBrowserMessage:a??`Complete sign-in in browser…`}),c=await f({onAuth:e,onPrompt:o,onProgress:e=>s.update(e)});return s.stop(`OpenAI OAuth complete`),c??null}catch(e){throw s.stop(`OpenAI OAuth failed`),n.error(String(e)),await t.note(`Trouble with OAuth? See https://docs.openclaw.ai/start/faq`,`OAuth help`),e}}function D(e,n){let r=n?.trim();if(!r)return null;let i=t(r);return e.find(e=>t(e.id)===i)??e.find(e=>e.aliases?.some(e=>t(e)===i)??!1)??null}function O(e,t){let n=t?.trim();if(!n)return null;let r=n.toLowerCase();return e.auth.find(e=>e.id.toLowerCase()===r)??e.auth.find(e=>e.label.toLowerCase()===r)??null}function k(e){return!!(e&&typeof e==`object`&&!Array.isArray(e))}function A(e,t){if(!k(e)||!k(t))return t;let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];k(t)&&k(r)?n[e]=A(t,r):n[e]=r}return n}function j(e,t){let n={...e.agents?.defaults?.models};n[t]=n[t]??{};let r=e.agents?.defaults?.model;return{...e,agents:{...e.agents,defaults:{...e.agents?.defaults,models:n,model:{...r&&typeof r==`object`&&`fallbacks`in r?{fallbacks:r.fallbacks}:void 0,primary:t}}}}}export{E as a,x as c,D as i,A as n,T as o,O as r,C as s,j as t};
5
+ //# sourceMappingURL=provider-auth-helpers-pBVCjBj9.js.map
@@ -1 +1,2 @@
1
1
  const e={openai:[`OPENAI_API_KEY`],anthropic:[`ANTHROPIC_API_KEY`],google:[`GEMINI_API_KEY`],minimax:[`MINIMAX_API_KEY`],"minimax-cn":[`MINIMAX_API_KEY`],moonshot:[`MOONSHOT_API_KEY`],"kimi-coding":[`KIMI_API_KEY`,`KIMICODE_API_KEY`],synthetic:[`SYNTHETIC_API_KEY`],venice:[`VENICE_API_KEY`],zai:[`ZAI_API_KEY`,`Z_AI_API_KEY`],xiaomi:[`XIAOMI_API_KEY`],openrouter:[`OPENROUTER_API_KEY`],"cloudflare-ai-gateway":[`CLOUDFLARE_AI_GATEWAY_API_KEY`],litellm:[`LITELLM_API_KEY`],"vercel-ai-gateway":[`AI_GATEWAY_API_KEY`],opencode:[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],"opencode-go":[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],together:[`TOGETHER_API_KEY`],huggingface:[`HUGGINGFACE_HUB_TOKEN`,`HF_TOKEN`],qianfan:[`QIANFAN_API_KEY`],xai:[`XAI_API_KEY`],mistral:[`MISTRAL_API_KEY`],kilocode:[`KILOCODE_API_KEY`],modelstudio:[`MODELSTUDIO_API_KEY`],volcengine:[`VOLCANO_ENGINE_API_KEY`],byteplus:[`BYTEPLUS_API_KEY`]},t=[`VOYAGE_API_KEY`,`GROQ_API_KEY`,`DEEPGRAM_API_KEY`,`CEREBRAS_API_KEY`,`NVIDIA_API_KEY`,`COPILOT_GITHUB_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`ANTHROPIC_OAUTH_TOKEN`,`CHUTES_OAUTH_TOKEN`,`CHUTES_API_KEY`,`QWEN_OAUTH_TOKEN`,`QWEN_PORTAL_API_KEY`,`MINIMAX_OAUTH_TOKEN`,`OLLAMA_API_KEY`,`VLLM_API_KEY`],n=[...new Set(Object.values(e).flatMap(e=>e))],r=[...new Set([...n,...t])];function i(){return[...r]}function a(){return[...n]}function o(e,t){let n={...e},r=new Set;for(let e of t){let t=e.trim();t&&r.add(t.toUpperCase())}if(r.size===0)return n;for(let e of Object.keys(n))r.has(e.toUpperCase())&&delete n[e];return n}export{o as i,i as n,a as r,e as t};
2
+ //# sourceMappingURL=provider-env-vars-D8p6Ohpj.js.map
@@ -1 +1,2 @@
1
1
  const e={openai:[`OPENAI_API_KEY`],anthropic:[`ANTHROPIC_API_KEY`],google:[`GEMINI_API_KEY`],minimax:[`MINIMAX_API_KEY`],"minimax-cn":[`MINIMAX_API_KEY`],moonshot:[`MOONSHOT_API_KEY`],"kimi-coding":[`KIMI_API_KEY`,`KIMICODE_API_KEY`],synthetic:[`SYNTHETIC_API_KEY`],venice:[`VENICE_API_KEY`],zai:[`ZAI_API_KEY`,`Z_AI_API_KEY`],xiaomi:[`XIAOMI_API_KEY`],openrouter:[`OPENROUTER_API_KEY`],"cloudflare-ai-gateway":[`CLOUDFLARE_AI_GATEWAY_API_KEY`],litellm:[`LITELLM_API_KEY`],"vercel-ai-gateway":[`AI_GATEWAY_API_KEY`],opencode:[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],"opencode-go":[`OPENCODE_API_KEY`,`OPENCODE_ZEN_API_KEY`],together:[`TOGETHER_API_KEY`],huggingface:[`HUGGINGFACE_HUB_TOKEN`,`HF_TOKEN`],qianfan:[`QIANFAN_API_KEY`],xai:[`XAI_API_KEY`],mistral:[`MISTRAL_API_KEY`],kilocode:[`KILOCODE_API_KEY`],modelstudio:[`MODELSTUDIO_API_KEY`],volcengine:[`VOLCANO_ENGINE_API_KEY`],byteplus:[`BYTEPLUS_API_KEY`]},t=[`VOYAGE_API_KEY`,`GROQ_API_KEY`,`DEEPGRAM_API_KEY`,`CEREBRAS_API_KEY`,`NVIDIA_API_KEY`,`COPILOT_GITHUB_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`ANTHROPIC_OAUTH_TOKEN`,`CHUTES_OAUTH_TOKEN`,`CHUTES_API_KEY`,`QWEN_OAUTH_TOKEN`,`QWEN_PORTAL_API_KEY`,`MINIMAX_OAUTH_TOKEN`,`OLLAMA_API_KEY`,`VLLM_API_KEY`],n=[...new Set(Object.values(e).flatMap(e=>e))],r=[...new Set([...n,...t])];function i(){return[...r]}function a(){return[...n]}function o(e,t){let n={...e},r=new Set;for(let e of t){let t=e.trim();t&&r.add(t.toUpperCase())}if(r.size===0)return n;for(let e of Object.keys(n))r.has(e.toUpperCase())&&delete n[e];return n}export{o as i,i as n,a as r,e as t};
2
+ //# sourceMappingURL=provider-env-vars-Dt0Q29Su.js.map
@@ -1 +1,2 @@
1
1
  import{O as e}from"./logger-DwWqfo66.js";const t=[`true`,`1`,`yes`,`on`],n=[`false`,`0`,`no`,`off`],r=new Set(t),i=new Set(n);function a(e,a={}){if(typeof e==`boolean`)return e;if(typeof e!=`string`)return;let o=e.trim().toLowerCase();if(!o)return;let s=a.truthy??t,c=a.falsy??n,l=s===t?r:new Set(s),u=c===n?i:new Set(c);if(l.has(o))return!0;if(u.has(o))return!1}e(`env`);function o(e){return a(e)===!0}const s=[`HTTP_PROXY`,`HTTPS_PROXY`,`ALL_PROXY`,`http_proxy`,`https_proxy`,`all_proxy`];function c(e=process.env){for(let t of s){let n=e[t];if(typeof n==`string`&&n.trim().length>0)return!0}return!1}function l(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:null}function u(e,t=process.env){let n=l(t.http_proxy),r=l(t.https_proxy),i=n===void 0?l(t.HTTP_PROXY):n,a=r===void 0?l(t.HTTPS_PROXY):r;return e===`https`?a??i??void 0:i??void 0}function d(e=`https`,t=process.env){return u(e,t)!==void 0}export{a as i,c as n,o as r,d as t};
2
+ //# sourceMappingURL=proxy-env-BNhTHkd_.js.map
@@ -1 +1,2 @@
1
1
  import{t as e}from"./subsystem-Bc2XrjUz.js";import{t}from"./boolean-DypnRoRK.js";e(`env`);function n(e){return t(e)===!0}const r=[`HTTP_PROXY`,`HTTPS_PROXY`,`ALL_PROXY`,`http_proxy`,`https_proxy`,`all_proxy`];function i(e=process.env){for(let t of r){let n=e[t];if(typeof n==`string`&&n.trim().length>0)return!0}return!1}function a(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:null}function o(e,t=process.env){let n=a(t.http_proxy),r=a(t.https_proxy),i=n===void 0?a(t.HTTP_PROXY):n,o=r===void 0?a(t.HTTPS_PROXY):r;return e===`https`?o??i??void 0:i??void 0}function s(e=`https`,t=process.env){return o(e,t)!==void 0}export{i as n,n as r,s as t};
2
+ //# sourceMappingURL=proxy-env-DcmW_urA.js.map
@@ -1 +1,2 @@
1
1
  import{C as e,D as t,E as n,S as r,T as i,_ as a,d as o,g as s,l as c,p as l,u,v as d,w as f,x as p,y as m}from"./utils-R-mFyVJi.js";import{Chalk as h}from"chalk";import"node:util";function g(e,t,n){let r=n?` (${n})`:``,i=`[terminal] restore ${e} failed${r}: ${String(t)}`;try{process.stderr.write(`${i}\n`)}catch(e){console.error(`[terminal] restore reporting failed${r}: ${String(e)}`)}}function ee(e,t={}){let n=t.resumeStdinIfPaused??t.resumeStdin??!1,r=process.stdin;if(r.isTTY&&typeof r.setRawMode==`function`){try{r.setRawMode(!1)}catch(t){g(`raw mode`,t,e)}if(n&&typeof r.isPaused==`function`&&r.isPaused())try{r.resume()}catch(t){g(`stdin resume`,t,e)}}if(process.stdout.isTTY)try{process.stdout.write(`\x1B[0m\x1B[?25h\x1B[?1000l\x1B[?1002l\x1B[?1003l\x1B[?1006l\x1B[?2004l`)}catch(t){g(`stdout reset`,t,e)}}function _(e=process.env){return e.VITEST!==`true`||e.OPENCLAW_TEST_RUNTIME_LOG===`1`?!0:typeof console.log.mock==`object`}function v(){return{log:(...e)=>{_()&&console.log(...e)},error:(...e)=>{console.error(...e)}}}const y={...v(),exit:e=>{throw ee(`runtime exit`,{resumeStdinIfPaused:!1}),process.exit(e),Error(`unreachable`)}},te=RegExp(`\\x1b\\[[0-9;]*m`,`g`),ne=RegExp(`\\x1b\\]8;;.*?\\x1b\\\\|\\x1b\\]8;;\\x1b\\\\`,`g`);typeof Intl<`u`&&`Segmenter`in Intl&&new Intl.Segmenter(void 0,{granularity:`grapheme`});function b(e){return e.replace(ne,``).replace(te,``)}const x=r(import.meta.url);let S=()=>{try{return(x?.(`../config/config.js`))?.loadConfig?.().logging}catch{return}};function C(e){return o()?`debug`:!e&&process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_CONSOLE!==`1`?`silent`:n(e,`info`)}function w(e){return e===`compact`||e===`json`||e===`pretty`?e:process.stdout.isTTY?`pretty`:`compact`}function T(){let n=e();if(process.env.VITEST===`true`&&process.env.OPENCLAW_TEST_CONSOLE!==`1`&&!o()&&!n&&!f.overrideSettings)return{level:`silent`,style:w(void 0)};let r=f.overrideSettings??t();if(!r)if(f.resolvingConsoleSettings)r=void 0;else{f.resolvingConsoleSettings=!0;try{r=S()}finally{f.resolvingConsoleSettings=!1}}return{level:n??C(r?.consoleLevel),style:w(r?.consoleStyle)}}function E(e,t){return e?e.level!==t.level||e.style!==t.style:!0}function D(){let e=T(),t=f.cachedConsoleSettings;return(!t||E(t,e))&&(f.cachedConsoleSettings=e),f.cachedConsoleSettings}function O(e){let t=f.consoleSubsystemFilter;return!t||t.length===0?!0:t.some(t=>e===t||e.startsWith(`${t}/`))}function k(e){let t=new Date;return e===`pretty`?`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`:p(t)}function A(e,t){return t.level===`silent`?!1:i(e)<=i(t.level)}(()=>{let e=process.getBuiltinModule;if(typeof e!=`function`)return null;try{let t=e(`util`);return typeof t.inspect==`function`?t.inspect:null}catch{return null}})();function j(){let e=(process.env.TERM??``).toLowerCase();return process.env.COLORTERM||process.env.TERM_PROGRAM?!0:e.length>0&&e!==`dumb`}function M(){let e=typeof process.env.FORCE_COLOR==`string`&&process.env.FORCE_COLOR.trim().length>0&&process.env.FORCE_COLOR.trim()!==`0`;return process.env.NO_COLOR&&!e?new h({level:0}):process.stdout.isTTY||process.stderr.isTTY||j()?new h({level:1}):new h({level:0})}const N=[`cyan`,`green`,`yellow`,`blue`,`magenta`,`red`],P={"gmail-watcher":`blue`},F=[`gateway`,`channels`,`providers`],I=new Set([`telegram`,`whatsapp`,`discord`,`irc`,`googlechat`,`slack`,`signal`,`imessage`]);function L(e,t){let n=P[t];if(n)return e[n];let r=0;for(let e=0;e<t.length;e+=1)r=r*31+t.charCodeAt(e)|0;return e[N[Math.abs(r)%N.length]]}function R(e){let t=e.split(`/`).filter(Boolean),n=t.join(`/`)||e;for(;t.length>0&&F.includes(t[0]);)t.shift();return t.length===0?n:I.has(t[0])?t[0]:t.length>2?t.slice(-2).join(`/`):t.join(`/`)}function z(e,t){if(!t)return e;if(e.startsWith(`[`)){let n=e.indexOf(`]`);if(n>1&&e.slice(1,n).toLowerCase()===t.toLowerCase()){let t=n+1;for(;e[t]===` `;)t+=1;return e.slice(t)}}if(e.slice(0,t.length).toLowerCase()!==t.toLowerCase())return e;let n=e.slice(t.length,t.length+1);if(n!==`:`&&n!==` `)return e;let r=t.length;for(;e[r]===` `;)r+=1;for(e[r]===`:`&&(r+=1);e[r]===` `;)r+=1;return e.slice(r)}function B(e){let t=e.style===`json`?e.subsystem:R(e.subsystem);if(e.style===`json`)return JSON.stringify({time:k(`json`),level:e.level,subsystem:t,message:e.message,...e.meta});let n=M(),r=`[${t}]`,i=L(n,t),a=e.level===`error`||e.level===`fatal`?n.red:e.level===`warn`?n.yellow:e.level===`debug`||e.level===`trace`?n.gray:n.cyan,o=z(e.message,t);return`${[e.style===`pretty`?n.gray(k(`pretty`)):f.consoleTimestampPrefix?n.gray(k(e.style)):``,i(r)].filter(Boolean).join(` `)} ${a(o)}`}function V(e,t){let n=process.platform===`win32`&&process.env.GITHUB_ACTIONS===`true`?t.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,`?`).replace(/[\uD800-\uDFFF]/g,`?`):t,r=f.rawConsole??console;f.forceConsoleToStderr||e===`error`||e===`fatal`?(r.error??console.error)(n):e===`warn`?(r.warn??console.warn)(n):(r.log??console.log)(n)}function H(e){return o()||e.level===`error`||e.level===`fatal`||!(e.subsystem===`agent/embedded`||e.subsystem.startsWith(`agent/embedded/`)||e.subsystem===`model-fallback`||e.subsystem.startsWith(`model-fallback/`))?!1:(typeof e.meta?.runId==`string`?e.meta.runId:typeof e.meta?.sessionId==`string`?e.meta.sessionId:void 0)?.startsWith(`probe-`)?!0:/(sessionId|runId)=probe-/.test(e.message)}function U(e,t,n,r){if(t===`silent`)return;let i=e[t];typeof i==`function`&&(r&&Object.keys(r).length>0?i.call(e,r,n):i.call(e,n))}function W(e){let t=null,n=()=>(t||=a({subsystem:e}),t),r=(t,r,i)=>{let a=D(),o=A(t,{level:a.level})&&O(e),s=m(t);if(!o&&!s)return;let c,l=i;if(i&&Object.keys(i).length>0){let{consoleMessage:e,...t}=i;typeof e==`string`&&(c=e),l=Object.keys(t).length>0?t:void 0}if(s&&U(n(),t,r,l),!o)return;let u=c??r;H({level:t,subsystem:e,message:u,meta:l})||V(t,B({level:t,subsystem:e,message:a.style===`json`?r:u,style:a.style,meta:l}))},i=t=>A(t,{level:D().level})&&O(e),o=e=>m(e);return{subsystem:e,isEnabled:(e,t=`any`)=>t===`console`?i(e):t===`file`?o(e):i(e)||o(e),trace:(e,t)=>r(`trace`,e,t),debug:(e,t)=>r(`debug`,e,t),info:(e,t)=>r(`info`,e,t),warn:(e,t)=>r(`warn`,e,t),error:(e,t)=>r(`error`,e,t),fatal:(e,t)=>r(`fatal`,e,t),raw:t=>{if(o(`info`)&&U(n(),`info`,t,{raw:!0}),i(`info`)){if(H({level:`info`,subsystem:e,message:t}))return;V(`info`,t)}},child:t=>W(`${e}/${t}`)}}const re=/^([a-z][a-z0-9-]{1,20}):\s+(.*)$/i;function G(e){let t=e.match(re);if(!t)return null;let[,n,r]=t;return{subsystem:n,rest:r}}function K(e){let t=e.runtime===y?G(e.message):null;if(t){W(t.subsystem)[e.subsystemMethod](t.rest);return}e.runtime[e.runtimeMethod](e.runtimeFormatter(e.message)),d()[e.loggerMethod](e.message)}function q(e,t=y){K({message:e,runtime:t,runtimeMethod:`log`,runtimeFormatter:u,loggerMethod:`info`,subsystemMethod:`info`})}function J(e,t=y){K({message:e,runtime:t,runtimeMethod:`log`,runtimeFormatter:s,loggerMethod:`warn`,subsystemMethod:`warn`})}function Y(e,t=y){K({message:e,runtime:t,runtimeMethod:`error`,runtimeFormatter:c,loggerMethod:`error`,subsystemMethod:`error`})}function X(e){d().debug(e),l(e)}const Z=[`true`,`1`,`yes`,`on`],Q=[`false`,`0`,`no`,`off`],ie=new Set(Z),ae=new Set(Q);function oe(e,t={}){if(typeof e==`boolean`)return e;if(typeof e!=`string`)return;let n=e.trim().toLowerCase();if(!n)return;let r=t.truthy??Z,i=t.falsy??Q,a=r===Z?ie:new Set(r),o=i===Q?ae:new Set(i);if(a.has(n))return!0;if(o.has(n))return!1}function se(e){return oe(e)===!0}const ce=[`HTTP_PROXY`,`HTTPS_PROXY`,`ALL_PROXY`,`http_proxy`,`https_proxy`,`all_proxy`];function le(e=process.env){for(let t of ce){let n=e[t];if(typeof n==`string`&&n.trim().length>0)return!0}return!1}function $(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:null}function ue(e,t=process.env){let n=$(t.http_proxy),r=$(t.https_proxy),i=n===void 0?$(t.HTTP_PROXY):n,a=r===void 0?$(t.HTTPS_PROXY):r;return e===`https`?a??i??void 0:i??void 0}function de(e=`https`,t=process.env){return ue(e,t)!==void 0}export{Y as a,W as c,X as i,b as l,le as n,q as o,se as r,J as s,de as t,y as u};
2
+ //# sourceMappingURL=proxy-env-DrC3TIGh.js.map
@@ -1 +1,2 @@
1
1
  const e=[`HTTP_PROXY`,`HTTPS_PROXY`,`ALL_PROXY`,`http_proxy`,`https_proxy`,`all_proxy`];function t(t=process.env){for(let n of e){let e=t[n];if(typeof e==`string`&&e.trim().length>0)return!0}return!1}function n(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:null}function r(e,t=process.env){let r=n(t.http_proxy),i=n(t.https_proxy),a=r===void 0?n(t.HTTP_PROXY):r,o=i===void 0?n(t.HTTPS_PROXY):i;return e===`https`?o??a??void 0:a??void 0}function i(e=`https`,t=process.env){return r(e,t)!==void 0}export{t as n,i as t};
2
+ //# sourceMappingURL=proxy-env-FJr5nlvs.js.map
@@ -1 +1,2 @@
1
1
  import{i as e}from"./logger-Bl8URnrW.js";import{t}from"./proxy-env-FJr5nlvs.js";import{EnvHttpProxyAgent as n,ProxyAgent as r,fetch as i}from"undici";const a=Symbol.for(`openclaw.proxyFetch.proxyUrl`);function o(e){let t=null,n=()=>(t||=new r(e),t),o=((e,t)=>i(e,{...t,dispatcher:n()}));return Object.defineProperty(o,a,{value:e,enumerable:!1,configurable:!1,writable:!1}),o}function s(e){let t=e?.[a];return typeof t==`string`&&t.trim()||void 0}function c(){if(t(`https`))try{let e=new n;return((t,n)=>i(t,{...n,dispatcher:e}))}catch(t){e(`Proxy env var set but agent creation failed — falling back to direct fetch: ${t instanceof Error?t.message:String(t)}`);return}}export{o as n,c as r,s as t};
2
+ //# sourceMappingURL=proxy-fetch-BADsUK4d.js.map
@@ -1 +1,2 @@
1
1
  import{t as e}from"./proxy-env-DcmW_urA.js";import{i as t}from"./logger-5W0OocJW.js";import{EnvHttpProxyAgent as n,ProxyAgent as r,fetch as i}from"undici";const a=Symbol.for(`openclaw.proxyFetch.proxyUrl`);function o(e){let t=null,n=()=>(t||=new r(e),t),o=((e,t)=>i(e,{...t,dispatcher:n()}));return Object.defineProperty(o,a,{value:e,enumerable:!1,configurable:!1,writable:!1}),o}function s(e){let t=e?.[a];return typeof t==`string`&&t.trim()||void 0}function c(){if(e(`https`))try{let e=new n;return((t,n)=>i(t,{...n,dispatcher:e}))}catch(e){t(`Proxy env var set but agent creation failed — falling back to direct fetch: ${e instanceof Error?e.message:String(e)}`);return}}export{o as n,c as r,s as t};
2
+ //# sourceMappingURL=proxy-fetch-BZ9O8Dvj.js.map
@@ -1 +1,2 @@
1
1
  import{i as e}from"./logger-DwWqfo66.js";import{t}from"./proxy-env-BNhTHkd_.js";import{EnvHttpProxyAgent as n,ProxyAgent as r,fetch as i}from"undici";const a=Symbol.for(`openclaw.proxyFetch.proxyUrl`);function o(e){let t=null,n=()=>(t||=new r(e),t),o=((e,t)=>i(e,{...t,dispatcher:n()}));return Object.defineProperty(o,a,{value:e,enumerable:!1,configurable:!1,writable:!1}),o}function s(e){let t=e?.[a];return typeof t==`string`&&t.trim()||void 0}function c(){if(t(`https`))try{let e=new n;return((t,n)=>i(t,{...n,dispatcher:e}))}catch(t){e(`Proxy env var set but agent creation failed — falling back to direct fetch: ${t instanceof Error?t.message:String(t)}`);return}}export{o as n,c as r,s as t};
2
+ //# sourceMappingURL=proxy-fetch-DnjU1fEB.js.map
@@ -1 +1,2 @@
1
1
  import{i as e}from"./logger-kQAOe3qp.js";import{t}from"./proxy-env-FJr5nlvs.js";import{EnvHttpProxyAgent as n,ProxyAgent as r,fetch as i}from"undici";const a=Symbol.for(`openclaw.proxyFetch.proxyUrl`);function o(e){let t=null,n=()=>(t||=new r(e),t),o=((e,t)=>i(e,{...t,dispatcher:n()}));return Object.defineProperty(o,a,{value:e,enumerable:!1,configurable:!1,writable:!1}),o}function s(e){let t=e?.[a];return typeof t==`string`&&t.trim()||void 0}function c(){if(t(`https`))try{let e=new n;return((t,n)=>i(t,{...n,dispatcher:e}))}catch(t){e(`Proxy env var set but agent creation failed — falling back to direct fetch: ${t instanceof Error?t.message:String(t)}`);return}}export{o as n,c as r,s as t};
2
+ //# sourceMappingURL=proxy-fetch-gWETR3cl.js.map
@@ -1,2 +1,3 @@
1
1
  import{g as e}from"./paths-B4IRk3wi.js";import{b as t,s as n,t as r}from"./subsystem-C5XF2Fy5.js";import{Ai as i,Mi as a,ji as o,qt as s}from"./model-selection-BlC_rXAN.js";import{C as c}from"./reply-l-Y47HP4.js";import{E as l}from"./session-key-D3P0tf5P.js";import{n as u,t as d}from"./redact-3_CiXMY6.js";import f from"node:path";import p from"chalk";import m from"node:fs/promises";import{createHash as h,createPrivateKey as g,sign as _}from"node:crypto";import v from"node:http2";let y=`auto`;function b(e){y=e}function x(){return y}const S=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,C={mode:`tools`,patterns:d()},w=new Map;let T;const E=new Map,D=new Map,O=r(`gateway/ws`),ee=new Set([`connId`,`id`,`method`,`ok`,`event`]);function k(e){let t=[];if(!e)return t;for(let[n,r]of Object.entries(e))r!==void 0&&(ee.has(n)||t.push(`${p.dim(n)}=${P(r)}`));return t}function A(e){if((e.kind===`req`||e.kind===`res`)&&e.method)return p.bold(e.method);if(e.kind===`event`&&e.event)return p.bold(e.event)}function j(e,t){if(!(e!==`res`||t===void 0))return t?p.greenBright(`✓`):p.redBright(`✗`)}function M(e){let t=[e.prefix,e.statusToken,e.headline,e.durationToken,...e.restMeta,...e.trailing].filter(e=>!!e);O.info(t.join(` `))}function te(){return n(`gateway/ws`)}function N(e){let t=e.trim();return S.test(t)?`${t.slice(0,8)}…${t.slice(-4)}`:t.length<=24?t:`${t.slice(0,12)}…${t.slice(-4)}`}function P(e){try{if(e instanceof Error){let t=[];e.name&&t.push(e.name),e.message&&t.push(e.message);let n=`code`in e&&(typeof e.code==`string`||typeof e.code==`number`)?String(e.code):``;n&&t.push(`code=${n}`);let r=t.filter(Boolean).join(`: `).trim();if(r)return r.length>240?`${r.slice(0,240)}...`:r}if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim()){let e=typeof t.name==`string`?t.name.trim():``,n=typeof t.code==`string`||typeof t.code==`number`?String(t.code):``,r=[e,t.message.trim()].filter(Boolean);n&&r.push(`code=${n}`);let i=r.join(`: `).trim();return i.length>240?`${i.slice(0,240)}...`:i}}let t=typeof e==`string`||typeof e==`number`?String(e):JSON.stringify(e);if(!t)return``;let n=u(t,C);return n.length>240?`${n.slice(0,240)}...`:n}catch{return String(e)}}function F(e,t=160){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(0,t-1))}…`}function I(e){if(!e||typeof e!=`object`)return{};let t=e,n=typeof t.runId==`string`?t.runId:void 0,r=typeof t.stream==`string`?t.stream:void 0,i=typeof t.seq==`number`?t.seq:void 0,a=typeof t.sessionKey==`string`?t.sessionKey:void 0,o=t.data&&typeof t.data==`object`?t.data:void 0,s={};if(n&&(s.run=N(n)),a){let e=l(a);e?(s.agent=e.agentId,s.session=e.rest):s.session=a}if(r&&(s.stream=r),i!==void 0&&(s.aseq=i),!o)return s;if(r===`assistant`){let e=typeof o.text==`string`?o.text:void 0;e?.trim()&&(s.text=F(e));let t=Array.isArray(o.mediaUrls)?o.mediaUrls:void 0;return t&&t.length>0&&(s.media=t.length),s}if(r===`tool`){let e=typeof o.phase==`string`?o.phase:void 0,t=typeof o.name==`string`?o.name:void 0;(e||t)&&(s.tool=`${e??`?`}:${t??`?`}`);let n=typeof o.toolCallId==`string`?o.toolCallId:void 0;n&&(s.call=N(n));let r=typeof o.meta==`string`?o.meta:void 0;return r?.trim()&&(s.meta=r),typeof o.isError==`boolean`&&(s.err=o.isError),s}if(r===`lifecycle`){let e=typeof o.phase==`string`?o.phase:void 0;e&&(s.phase=e),typeof o.aborted==`boolean`&&(s.aborted=o.aborted);let t=typeof o.error==`string`?o.error:void 0;return t?.trim()&&(s.error=F(t,120)),s}let c=typeof o.reason==`string`?o.reason:void 0;return c?.trim()&&(s.reason=c),s}function L(e,r,i){if(!n(`gateway/ws`))return;let a=x();if(!t()){ne(e,r,i);return}if(a===`compact`||a===`auto`){re(e,r,i);return}let o=Date.now(),s=typeof i?.connId==`string`?i.connId:void 0,c=typeof i?.id==`string`?i.id:void 0,l=typeof i?.method==`string`?i.method:void 0,u=typeof i?.ok==`boolean`?i.ok:void 0,d=typeof i?.event==`string`?i.event:void 0,f=s&&c?`${s}:${c}`:void 0;e===`in`&&r===`req`&&f&&D.set(f,o);let m=e===`out`&&r===`res`&&f?(()=>{let e=D.get(f);if(e!==void 0)return D.delete(f),o-e})():void 0,h=e===`in`?`←`:`→`,g=`${(e===`in`?p.greenBright:p.cyanBright)(h)} ${p.bold(r)}`,_=A({kind:r,method:l,event:d}),v=j(r,u),y=typeof m==`number`?p.dim(`${m}ms`):void 0,b=k(i),S=[];s&&S.push(`${p.dim(`conn`)}=${p.gray(N(s))}`),c&&S.push(`${p.dim(`id`)}=${p.gray(N(c))}`),M({prefix:g,statusToken:v,headline:_,durationToken:y,restMeta:b,trailing:S})}function ne(e,t,n){let r=typeof n?.connId==`string`?n.connId:void 0,i=typeof n?.id==`string`?n.id:void 0,a=typeof n?.ok==`boolean`?n.ok:void 0,o=typeof n?.method==`string`?n.method:void 0,s=r&&i?`${r}:${i}`:void 0;if(e===`in`&&t===`req`&&s){E.set(s,Date.now()),E.size>2e3&&E.clear();return}if(t===`parse-error`){let e=typeof n?.error==`string`?P(n.error):void 0;O.warn([`${p.redBright(`✗`)} ${p.bold(`parse-error`)}`,e?`${p.dim(`error`)}=${e}`:void 0,`${p.dim(`conn`)}=${p.gray(N(r??`?`))}`].filter(e=>!!e).join(` `));return}if(e!==`out`||t!==`res`)return;let c=s?E.get(s):void 0;s&&E.delete(s);let l=typeof c==`number`?Date.now()-c:void 0;if(!(a===!1||typeof l==`number`&&l>=50))return;let u=j(`res`,a),d=typeof l==`number`?p.dim(`${l}ms`):void 0,f=k(n);M({prefix:`${p.yellowBright(`⇄`)} ${p.bold(`res`)}`,statusToken:u,headline:o?p.bold(o):void 0,durationToken:d,restMeta:f,trailing:[r?`${p.dim(`conn`)}=${p.gray(N(r))}`:``,i?`${p.dim(`id`)}=${p.gray(N(i))}`:``].filter(Boolean)})}function re(e,t,n){let r=Date.now(),i=typeof n?.connId==`string`?n.connId:void 0,a=typeof n?.id==`string`?n.id:void 0,o=typeof n?.method==`string`?n.method:void 0,s=typeof n?.ok==`boolean`?n.ok:void 0,c=i&&a?`${i}:${a}`:void 0;if(t===`req`&&e===`in`&&c){w.set(c,{ts:r,method:o,meta:n});return}let l=t===`req`||t===`res`?`⇄`:e===`in`?`←`:`→`,u=`${(t===`req`||t===`res`?p.yellowBright:e===`in`?p.greenBright:p.cyanBright)(l)} ${p.bold(t)}`,d=j(t,s),f=t===`res`&&e===`out`&&c?w.get(c)?.ts:void 0;t===`res`&&e===`out`&&c&&w.delete(c);let m=typeof f==`number`?p.dim(`${r-f}ms`):void 0,h=A({kind:t,method:o,event:typeof n?.event==`string`?n.event:void 0}),g=k(n),_=[];i&&i!==T&&(_.push(`${p.dim(`conn`)}=${p.gray(N(i))}`),T=i),a&&_.push(`${p.dim(`id`)}=${p.gray(N(a))}`),M({prefix:u,statusToken:d,headline:h,durationToken:m,restMeta:g,trailing:_})}function R(e){if(e)return e.split(`;`)[0]?.trim().toLowerCase()||void 0}function z(e){return typeof e==`string`&&e.startsWith(`image/`)}function ie(e){return e.length>0&&e.length%4==0&&/^[A-Za-z0-9+/]+={0,2}$/.test(e)}function ae(e,t,n){let r=e.mimeType??``,i=e.content,a=e.fileName||e.type||`attachment-${t+1}`;if(typeof i!=`string`)throw Error(`attachment ${a}: content must be base64 string`);if(n.requireImageMime&&!r.startsWith(`image/`))throw Error(`attachment ${a}: only image/* supported`);let o=i.trim();if(n.stripDataUrlPrefix){let e=/^data:[^;]+;base64,(.*)$/.exec(o);e&&(o=e[1])}return{label:a,mime:r,base64:o}}function oe(e,t){if(!ie(e.base64))throw Error(`attachment ${e.label}: invalid base64 content`);let n=s(e.base64);if(n<=0||n>t.maxBytes)throw Error(`attachment ${e.label}: exceeds size limit (${n} > ${t.maxBytes} bytes)`);return n}async function se(e,t,n){let r=n?.maxBytes??5e6,i=n?.log;if(!t||t.length===0)return{message:e,images:[]};let a=[];for(let[e,n]of t.entries()){if(!n)continue;let t=ae(n,e,{stripDataUrlPrefix:!0,requireImageMime:!1});oe(t,{maxBytes:r});let{base64:o,label:s,mime:l}=t,u=R(l),d=R(await c(o));if(d&&!z(d)){i?.warn(`attachment ${s}: detected non-image (${d}), dropping`);continue}if(!d&&!z(u)){i?.warn(`attachment ${s}: unable to detect image mime type, dropping`);continue}d&&u&&d!==u&&i?.warn(`attachment ${s}: mime mismatch (${u} -> ${d}), using sniffed`),a.push({type:`image`,data:o,mimeType:d??u??l})}return{message:e,images:a}}function ce(e){return e?.map(e=>({type:typeof e?.type==`string`?e.type:void 0,mimeType:typeof e?.mimeType==`string`?e.mimeType:void 0,fileName:typeof e?.fileName==`string`?e.fileName:void 0,content:typeof e?.content==`string`?e.content:ArrayBuffer.isView(e?.content)?Buffer.from(e.content.buffer,e.content.byteOffset,e.content.byteLength).toString(`base64`):e?.content instanceof ArrayBuffer?Buffer.from(e.content).toString(`base64`):void 0})).filter(e=>e.content)??[]}const le=i();let B=null;function V(t){let n=t??e();return f.join(n,`push/apns-registrations.json`)}function H(e){return e.trim()}function U(e){return e.trim().replace(/[<>\s]/g,``).toLowerCase()}function W(e){return e.trim()}function G(e){return/^[0-9a-f]{32,}$/i.test(e)}function ue(e){let t=e.trim();if(t)try{let e=JSON.parse(t);return typeof e.reason==`string`&&e.reason.trim().length>0?e.reason.trim():t.slice(0,200)}catch{return t.slice(0,200)}}function K(e){return Buffer.from(e).toString(`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function q(e){return K(Buffer.from(JSON.stringify(e)))}function de(e){let t=h(`sha256`).update(e.privateKey).digest(`hex`);return`${e.teamId}:${e.keyId}:${t}`}function fe(e,t=Date.now()){let n=de(e);if(B&&B.cacheKey===n&&t<B.expiresAtMs)return B.token;let r=Math.floor(t/1e3),i=`${q({alg:`ES256`,kid:e.keyId,typ:`JWT`})}.${q({iss:e.teamId,iat:r})}`,a=`${i}.${K(_(`sha256`,Buffer.from(i,`utf8`),{key:g(e.privateKey),dsaEncoding:`ieee-p1363`}))}`;return B={cacheKey:n,token:a,expiresAtMs:t+3e6},a}function J(e){return e.trim().replace(/\\n/g,`
2
2
  `)}function Y(e){let t=e?.trim()??``;return t.length>0?t:null}async function X(e){let t=await o(V(e));return!t||typeof t!=`object`?{registrationsByNodeId:{}}:{registrationsByNodeId:t.registrationsByNodeId&&typeof t.registrationsByNodeId==`object`&&!Array.isArray(t.registrationsByNodeId)?t.registrationsByNodeId:{}}}async function pe(e,t){await a(V(t),e)}function Z(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t===`sandbox`||t===`production`?t:null}async function me(e){let t=H(e.nodeId),n=U(e.token),r=W(e.topic),i=Z(e.environment)??`sandbox`;if(!t)throw Error(`nodeId required`);if(!r)throw Error(`topic required`);if(!G(n))throw Error(`invalid APNs token`);return await le(async()=>{let a=await X(e.baseDir),o={nodeId:t,token:n,topic:r,environment:i,updatedAtMs:Date.now()};return a.registrationsByNodeId[t]=o,await pe(a,e.baseDir),o})}async function he(e,t){let n=H(e);return n?(await X(t)).registrationsByNodeId[n]??null:null}async function ge(e=process.env){let t=Y(e.OPENCLAW_APNS_TEAM_ID),n=Y(e.OPENCLAW_APNS_KEY_ID);if(!t||!n)return{ok:!1,error:`APNs auth missing: set OPENCLAW_APNS_TEAM_ID and OPENCLAW_APNS_KEY_ID`};let r=Y(e.OPENCLAW_APNS_PRIVATE_KEY_P8)??Y(e.OPENCLAW_APNS_PRIVATE_KEY);if(r)return{ok:!0,value:{teamId:t,keyId:n,privateKey:J(r)}};let i=Y(e.OPENCLAW_APNS_PRIVATE_KEY_PATH);if(!i)return{ok:!1,error:`APNs private key missing: set OPENCLAW_APNS_PRIVATE_KEY_P8 or OPENCLAW_APNS_PRIVATE_KEY_PATH`};try{return{ok:!0,value:{teamId:t,keyId:n,privateKey:J(await m.readFile(i,`utf8`))}}}catch(e){return{ok:!1,error:`failed reading OPENCLAW_APNS_PRIVATE_KEY_PATH (${i}): ${e instanceof Error?e.message:String(e)}`}}}async function _e(e){let t=e.environment===`production`?`https://api.push.apple.com`:`https://api.sandbox.push.apple.com`,n=JSON.stringify(e.payload),r=`/3/device/${e.token}`;return await new Promise((i,a)=>{let o=v.connect(t),s=!1,c=e=>{s||(s=!0,o.destroy(),a(e))},l=e=>{s||(s=!0,o.close(),i(e))};o.once(`error`,e=>c(e));let u=o.request({":method":`POST`,":path":r,authorization:`bearer ${e.bearerToken}`,"apns-topic":e.topic,"apns-push-type":e.pushType,"apns-priority":e.priority,"apns-expiration":`0`,"content-type":`application/json`,"content-length":Buffer.byteLength(n).toString()}),d=0,f,p=``;u.setEncoding(`utf8`),u.setTimeout(e.timeoutMs,()=>{u.close(v.constants.NGHTTP2_CANCEL),c(Error(`APNs request timed out after ${e.timeoutMs}ms`))}),u.on(`response`,e=>{let t=e[`:status`];d=typeof t==`number`?t:Number(t??0);let n=e[`apns-id`];typeof n==`string`&&n.trim().length>0&&(f=n.trim())}),u.on(`data`,e=>{typeof e==`string`&&(p+=e)}),u.on(`end`,()=>{l({status:d,apnsId:f,body:p})}),u.on(`error`,e=>c(e)),u.end(n)})}function ve(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(1e3,Math.trunc(e)):1e4}function ye(e){let t=U(e.registration.token);if(!G(t))throw Error(`invalid APNs token`);let n=W(e.registration.topic);if(!n)throw Error(`topic required`);return{token:t,topic:n,environment:e.registration.environment,bearerToken:fe(e.auth)}}function be(e){return{ok:e.response.status===200,status:e.response.status,apnsId:e.response.apnsId,reason:ue(e.response.body),tokenSuffix:e.token.slice(-8),topic:e.topic,environment:e.environment}}function Q(e){return{kind:e.kind,nodeId:e.nodeId,ts:Date.now(),...e.reason?{reason:e.reason}:{}}}async function $(e){let{token:t,topic:n,environment:r,bearerToken:i}=ye({auth:e.auth,registration:e.registration});return be({response:await(e.requestSender??_e)({token:t,topic:n,environment:r,bearerToken:i,payload:e.payload,timeoutMs:ve(e.timeoutMs),pushType:e.pushType,priority:e.priority}),token:t,topic:n,environment:r})}async function xe(e){let t={aps:{alert:{title:e.title,body:e.body},sound:`default`},openclaw:Q({kind:`push.test`,nodeId:e.nodeId})};return await $({auth:e.auth,registration:e.registration,payload:t,timeoutMs:e.timeoutMs,requestSender:e.requestSender,pushType:`alert`,priority:`10`})}async function Se(e){let t={aps:{"content-available":1},openclaw:Q({kind:`node.wake`,reason:e.wakeReason??`node.invoke`,nodeId:e.nodeId})};return await $({auth:e.auth,registration:e.registration,payload:t,timeoutMs:e.timeoutMs,requestSender:e.requestSender,pushType:`background`,priority:`5`})}export{xe as a,se as c,te as d,I as f,ge as i,P as l,Z as n,Se as o,b as p,me as r,ce as s,he as t,L as u};
3
+ //# sourceMappingURL=push-apns-BGUOmD5M.js.map
@@ -1,2 +1,3 @@
1
1
  import{b as e,s as t,t as n}from"./subsystem-BLbY429l.js";import{g as r}from"./paths-BjD3T_xq.js";import{I as i,br as a,vr as o,yr as s}from"./auth-profiles-T8DuH3ax.js";import{E as c}from"./session-key-C7F_iqYg.js";import{n as l,t as u}from"./redact-CnRxK70G.js";import{a as d}from"./compact-Dg66DXx_.js";import f from"node:path";import p from"chalk";import m from"node:fs/promises";import{createHash as h,createPrivateKey as g,sign as _}from"node:crypto";import v from"node:http2";let y=`auto`;function b(e){y=e}function x(){return y}const S=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,C={mode:`tools`,patterns:u()},w=new Map;let T;const E=new Map,D=new Map,O=n(`gateway/ws`),ee=new Set([`connId`,`id`,`method`,`ok`,`event`]);function k(e){let t=[];if(!e)return t;for(let[n,r]of Object.entries(e))r!==void 0&&(ee.has(n)||t.push(`${p.dim(n)}=${P(r)}`));return t}function A(e){if((e.kind===`req`||e.kind===`res`)&&e.method)return p.bold(e.method);if(e.kind===`event`&&e.event)return p.bold(e.event)}function j(e,t){if(!(e!==`res`||t===void 0))return t?p.greenBright(`✓`):p.redBright(`✗`)}function M(e){let t=[e.prefix,e.statusToken,e.headline,e.durationToken,...e.restMeta,...e.trailing].filter(e=>!!e);O.info(t.join(` `))}function te(){return t(`gateway/ws`)}function N(e){let t=e.trim();return S.test(t)?`${t.slice(0,8)}…${t.slice(-4)}`:t.length<=24?t:`${t.slice(0,12)}…${t.slice(-4)}`}function P(e){try{if(e instanceof Error){let t=[];e.name&&t.push(e.name),e.message&&t.push(e.message);let n=`code`in e&&(typeof e.code==`string`||typeof e.code==`number`)?String(e.code):``;n&&t.push(`code=${n}`);let r=t.filter(Boolean).join(`: `).trim();if(r)return r.length>240?`${r.slice(0,240)}...`:r}if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim()){let e=typeof t.name==`string`?t.name.trim():``,n=typeof t.code==`string`||typeof t.code==`number`?String(t.code):``,r=[e,t.message.trim()].filter(Boolean);n&&r.push(`code=${n}`);let i=r.join(`: `).trim();return i.length>240?`${i.slice(0,240)}...`:i}}let t=typeof e==`string`||typeof e==`number`?String(e):JSON.stringify(e);if(!t)return``;let n=l(t,C);return n.length>240?`${n.slice(0,240)}...`:n}catch{return String(e)}}function F(e,t=160){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,Math.max(0,t-1))}…`}function I(e){if(!e||typeof e!=`object`)return{};let t=e,n=typeof t.runId==`string`?t.runId:void 0,r=typeof t.stream==`string`?t.stream:void 0,i=typeof t.seq==`number`?t.seq:void 0,a=typeof t.sessionKey==`string`?t.sessionKey:void 0,o=t.data&&typeof t.data==`object`?t.data:void 0,s={};if(n&&(s.run=N(n)),a){let e=c(a);e?(s.agent=e.agentId,s.session=e.rest):s.session=a}if(r&&(s.stream=r),i!==void 0&&(s.aseq=i),!o)return s;if(r===`assistant`){let e=typeof o.text==`string`?o.text:void 0;e?.trim()&&(s.text=F(e));let t=Array.isArray(o.mediaUrls)?o.mediaUrls:void 0;return t&&t.length>0&&(s.media=t.length),s}if(r===`tool`){let e=typeof o.phase==`string`?o.phase:void 0,t=typeof o.name==`string`?o.name:void 0;(e||t)&&(s.tool=`${e??`?`}:${t??`?`}`);let n=typeof o.toolCallId==`string`?o.toolCallId:void 0;n&&(s.call=N(n));let r=typeof o.meta==`string`?o.meta:void 0;return r?.trim()&&(s.meta=r),typeof o.isError==`boolean`&&(s.err=o.isError),s}if(r===`lifecycle`){let e=typeof o.phase==`string`?o.phase:void 0;e&&(s.phase=e),typeof o.aborted==`boolean`&&(s.aborted=o.aborted);let t=typeof o.error==`string`?o.error:void 0;return t?.trim()&&(s.error=F(t,120)),s}let l=typeof o.reason==`string`?o.reason:void 0;return l?.trim()&&(s.reason=l),s}function L(n,r,i){if(!t(`gateway/ws`))return;let a=x();if(!e()){ne(n,r,i);return}if(a===`compact`||a===`auto`){re(n,r,i);return}let o=Date.now(),s=typeof i?.connId==`string`?i.connId:void 0,c=typeof i?.id==`string`?i.id:void 0,l=typeof i?.method==`string`?i.method:void 0,u=typeof i?.ok==`boolean`?i.ok:void 0,d=typeof i?.event==`string`?i.event:void 0,f=s&&c?`${s}:${c}`:void 0;n===`in`&&r===`req`&&f&&D.set(f,o);let m=n===`out`&&r===`res`&&f?(()=>{let e=D.get(f);if(e!==void 0)return D.delete(f),o-e})():void 0,h=n===`in`?`←`:`→`,g=`${(n===`in`?p.greenBright:p.cyanBright)(h)} ${p.bold(r)}`,_=A({kind:r,method:l,event:d}),v=j(r,u),y=typeof m==`number`?p.dim(`${m}ms`):void 0,b=k(i),S=[];s&&S.push(`${p.dim(`conn`)}=${p.gray(N(s))}`),c&&S.push(`${p.dim(`id`)}=${p.gray(N(c))}`),M({prefix:g,statusToken:v,headline:_,durationToken:y,restMeta:b,trailing:S})}function ne(e,t,n){let r=typeof n?.connId==`string`?n.connId:void 0,i=typeof n?.id==`string`?n.id:void 0,a=typeof n?.ok==`boolean`?n.ok:void 0,o=typeof n?.method==`string`?n.method:void 0,s=r&&i?`${r}:${i}`:void 0;if(e===`in`&&t===`req`&&s){E.set(s,Date.now()),E.size>2e3&&E.clear();return}if(t===`parse-error`){let e=typeof n?.error==`string`?P(n.error):void 0;O.warn([`${p.redBright(`✗`)} ${p.bold(`parse-error`)}`,e?`${p.dim(`error`)}=${e}`:void 0,`${p.dim(`conn`)}=${p.gray(N(r??`?`))}`].filter(e=>!!e).join(` `));return}if(e!==`out`||t!==`res`)return;let c=s?E.get(s):void 0;s&&E.delete(s);let l=typeof c==`number`?Date.now()-c:void 0;if(!(a===!1||typeof l==`number`&&l>=50))return;let u=j(`res`,a),d=typeof l==`number`?p.dim(`${l}ms`):void 0,f=k(n);M({prefix:`${p.yellowBright(`⇄`)} ${p.bold(`res`)}`,statusToken:u,headline:o?p.bold(o):void 0,durationToken:d,restMeta:f,trailing:[r?`${p.dim(`conn`)}=${p.gray(N(r))}`:``,i?`${p.dim(`id`)}=${p.gray(N(i))}`:``].filter(Boolean)})}function re(e,t,n){let r=Date.now(),i=typeof n?.connId==`string`?n.connId:void 0,a=typeof n?.id==`string`?n.id:void 0,o=typeof n?.method==`string`?n.method:void 0,s=typeof n?.ok==`boolean`?n.ok:void 0,c=i&&a?`${i}:${a}`:void 0;if(t===`req`&&e===`in`&&c){w.set(c,{ts:r,method:o,meta:n});return}let l=t===`req`||t===`res`?`⇄`:e===`in`?`←`:`→`,u=`${(t===`req`||t===`res`?p.yellowBright:e===`in`?p.greenBright:p.cyanBright)(l)} ${p.bold(t)}`,d=j(t,s),f=t===`res`&&e===`out`&&c?w.get(c)?.ts:void 0;t===`res`&&e===`out`&&c&&w.delete(c);let m=typeof f==`number`?p.dim(`${r-f}ms`):void 0,h=A({kind:t,method:o,event:typeof n?.event==`string`?n.event:void 0}),g=k(n),_=[];i&&i!==T&&(_.push(`${p.dim(`conn`)}=${p.gray(N(i))}`),T=i),a&&_.push(`${p.dim(`id`)}=${p.gray(N(a))}`),M({prefix:u,statusToken:d,headline:h,durationToken:m,restMeta:g,trailing:_})}function R(e){if(e)return e.split(`;`)[0]?.trim().toLowerCase()||void 0}function z(e){return typeof e==`string`&&e.startsWith(`image/`)}function ie(e){return e.length>0&&e.length%4==0&&/^[A-Za-z0-9+/]+={0,2}$/.test(e)}function ae(e,t,n){let r=e.mimeType??``,i=e.content,a=e.fileName||e.type||`attachment-${t+1}`;if(typeof i!=`string`)throw Error(`attachment ${a}: content must be base64 string`);if(n.requireImageMime&&!r.startsWith(`image/`))throw Error(`attachment ${a}: only image/* supported`);let o=i.trim();if(n.stripDataUrlPrefix){let e=/^data:[^;]+;base64,(.*)$/.exec(o);e&&(o=e[1])}return{label:a,mime:r,base64:o}}function oe(e,t){if(!ie(e.base64))throw Error(`attachment ${e.label}: invalid base64 content`);let n=i(e.base64);if(n<=0||n>t.maxBytes)throw Error(`attachment ${e.label}: exceeds size limit (${n} > ${t.maxBytes} bytes)`);return n}async function se(e,t,n){let r=n?.maxBytes??5e6,i=n?.log;if(!t||t.length===0)return{message:e,images:[]};let a=[];for(let[e,n]of t.entries()){if(!n)continue;let t=ae(n,e,{stripDataUrlPrefix:!0,requireImageMime:!1});oe(t,{maxBytes:r});let{base64:o,label:s,mime:c}=t,l=R(c),u=R(await d(o));if(u&&!z(u)){i?.warn(`attachment ${s}: detected non-image (${u}), dropping`);continue}if(!u&&!z(l)){i?.warn(`attachment ${s}: unable to detect image mime type, dropping`);continue}u&&l&&u!==l&&i?.warn(`attachment ${s}: mime mismatch (${l} -> ${u}), using sniffed`),a.push({type:`image`,data:o,mimeType:u??l??c})}return{message:e,images:a}}function ce(e){return e?.map(e=>({type:typeof e?.type==`string`?e.type:void 0,mimeType:typeof e?.mimeType==`string`?e.mimeType:void 0,fileName:typeof e?.fileName==`string`?e.fileName:void 0,content:typeof e?.content==`string`?e.content:ArrayBuffer.isView(e?.content)?Buffer.from(e.content.buffer,e.content.byteOffset,e.content.byteLength).toString(`base64`):e?.content instanceof ArrayBuffer?Buffer.from(e.content).toString(`base64`):void 0})).filter(e=>e.content)??[]}const le=o();let B=null;function V(e){let t=e??r();return f.join(t,`push/apns-registrations.json`)}function H(e){return e.trim()}function U(e){return e.trim().replace(/[<>\s]/g,``).toLowerCase()}function W(e){return e.trim()}function G(e){return/^[0-9a-f]{32,}$/i.test(e)}function ue(e){let t=e.trim();if(t)try{let e=JSON.parse(t);return typeof e.reason==`string`&&e.reason.trim().length>0?e.reason.trim():t.slice(0,200)}catch{return t.slice(0,200)}}function K(e){return Buffer.from(e).toString(`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}function q(e){return K(Buffer.from(JSON.stringify(e)))}function de(e){let t=h(`sha256`).update(e.privateKey).digest(`hex`);return`${e.teamId}:${e.keyId}:${t}`}function fe(e,t=Date.now()){let n=de(e);if(B&&B.cacheKey===n&&t<B.expiresAtMs)return B.token;let r=Math.floor(t/1e3),i=`${q({alg:`ES256`,kid:e.keyId,typ:`JWT`})}.${q({iss:e.teamId,iat:r})}`,a=`${i}.${K(_(`sha256`,Buffer.from(i,`utf8`),{key:g(e.privateKey),dsaEncoding:`ieee-p1363`}))}`;return B={cacheKey:n,token:a,expiresAtMs:t+3e6},a}function J(e){return e.trim().replace(/\\n/g,`
2
2
  `)}function Y(e){let t=e?.trim()??``;return t.length>0?t:null}async function X(e){let t=await s(V(e));return!t||typeof t!=`object`?{registrationsByNodeId:{}}:{registrationsByNodeId:t.registrationsByNodeId&&typeof t.registrationsByNodeId==`object`&&!Array.isArray(t.registrationsByNodeId)?t.registrationsByNodeId:{}}}async function pe(e,t){await a(V(t),e)}function Z(e){if(typeof e!=`string`)return null;let t=e.trim().toLowerCase();return t===`sandbox`||t===`production`?t:null}async function me(e){let t=H(e.nodeId),n=U(e.token),r=W(e.topic),i=Z(e.environment)??`sandbox`;if(!t)throw Error(`nodeId required`);if(!r)throw Error(`topic required`);if(!G(n))throw Error(`invalid APNs token`);return await le(async()=>{let a=await X(e.baseDir),o={nodeId:t,token:n,topic:r,environment:i,updatedAtMs:Date.now()};return a.registrationsByNodeId[t]=o,await pe(a,e.baseDir),o})}async function he(e,t){let n=H(e);return n?(await X(t)).registrationsByNodeId[n]??null:null}async function ge(e=process.env){let t=Y(e.OPENCLAW_APNS_TEAM_ID),n=Y(e.OPENCLAW_APNS_KEY_ID);if(!t||!n)return{ok:!1,error:`APNs auth missing: set OPENCLAW_APNS_TEAM_ID and OPENCLAW_APNS_KEY_ID`};let r=Y(e.OPENCLAW_APNS_PRIVATE_KEY_P8)??Y(e.OPENCLAW_APNS_PRIVATE_KEY);if(r)return{ok:!0,value:{teamId:t,keyId:n,privateKey:J(r)}};let i=Y(e.OPENCLAW_APNS_PRIVATE_KEY_PATH);if(!i)return{ok:!1,error:`APNs private key missing: set OPENCLAW_APNS_PRIVATE_KEY_P8 or OPENCLAW_APNS_PRIVATE_KEY_PATH`};try{return{ok:!0,value:{teamId:t,keyId:n,privateKey:J(await m.readFile(i,`utf8`))}}}catch(e){return{ok:!1,error:`failed reading OPENCLAW_APNS_PRIVATE_KEY_PATH (${i}): ${e instanceof Error?e.message:String(e)}`}}}async function _e(e){let t=e.environment===`production`?`https://api.push.apple.com`:`https://api.sandbox.push.apple.com`,n=JSON.stringify(e.payload),r=`/3/device/${e.token}`;return await new Promise((i,a)=>{let o=v.connect(t),s=!1,c=e=>{s||(s=!0,o.destroy(),a(e))},l=e=>{s||(s=!0,o.close(),i(e))};o.once(`error`,e=>c(e));let u=o.request({":method":`POST`,":path":r,authorization:`bearer ${e.bearerToken}`,"apns-topic":e.topic,"apns-push-type":e.pushType,"apns-priority":e.priority,"apns-expiration":`0`,"content-type":`application/json`,"content-length":Buffer.byteLength(n).toString()}),d=0,f,p=``;u.setEncoding(`utf8`),u.setTimeout(e.timeoutMs,()=>{u.close(v.constants.NGHTTP2_CANCEL),c(Error(`APNs request timed out after ${e.timeoutMs}ms`))}),u.on(`response`,e=>{let t=e[`:status`];d=typeof t==`number`?t:Number(t??0);let n=e[`apns-id`];typeof n==`string`&&n.trim().length>0&&(f=n.trim())}),u.on(`data`,e=>{typeof e==`string`&&(p+=e)}),u.on(`end`,()=>{l({status:d,apnsId:f,body:p})}),u.on(`error`,e=>c(e)),u.end(n)})}function ve(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(1e3,Math.trunc(e)):1e4}function ye(e){let t=U(e.registration.token);if(!G(t))throw Error(`invalid APNs token`);let n=W(e.registration.topic);if(!n)throw Error(`topic required`);return{token:t,topic:n,environment:e.registration.environment,bearerToken:fe(e.auth)}}function be(e){return{ok:e.response.status===200,status:e.response.status,apnsId:e.response.apnsId,reason:ue(e.response.body),tokenSuffix:e.token.slice(-8),topic:e.topic,environment:e.environment}}function Q(e){return{kind:e.kind,nodeId:e.nodeId,ts:Date.now(),...e.reason?{reason:e.reason}:{}}}async function $(e){let{token:t,topic:n,environment:r,bearerToken:i}=ye({auth:e.auth,registration:e.registration});return be({response:await(e.requestSender??_e)({token:t,topic:n,environment:r,bearerToken:i,payload:e.payload,timeoutMs:ve(e.timeoutMs),pushType:e.pushType,priority:e.priority}),token:t,topic:n,environment:r})}async function xe(e){let t={aps:{alert:{title:e.title,body:e.body},sound:`default`},openclaw:Q({kind:`push.test`,nodeId:e.nodeId})};return await $({auth:e.auth,registration:e.registration,payload:t,timeoutMs:e.timeoutMs,requestSender:e.requestSender,pushType:`alert`,priority:`10`})}async function Se(e){let t={aps:{"content-available":1},openclaw:Q({kind:`node.wake`,reason:e.wakeReason??`node.invoke`,nodeId:e.nodeId})};return await $({auth:e.auth,registration:e.registration,payload:t,timeoutMs:e.timeoutMs,requestSender:e.requestSender,pushType:`background`,priority:`5`})}export{xe as a,se as c,te as d,I as f,ge as i,P as l,Z as n,Se as o,b as p,me as r,ce as s,he as t,L as u};
3
+ //# sourceMappingURL=push-apns-B_a2MBJ4.js.map
@@ -44,3 +44,4 @@ import{O as e}from"./paths-CrCoPIVK.js";import"./paths-CChBdtE8.js";import{E as
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(),o=await a({rootDir:l,requestedPaths:e.paths,scopeLabel:`uploads directory (${l})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await i.setInputFiles(s)}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 '${p(`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:_(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 d({url:n,...o(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await H(e);P(a);let s=async()=>await a.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(()=>{}),a=await H(e),P(a),c=await s()}await f({request:c?.request(),...o(e.ssrfPolicy)});let l=a.url();return await r({url:l,...o(e.ssrfPolicy)}),{url:l}}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}n();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-C-Ffkwai.js.map
@@ -44,3 +44,4 @@ import{H as e}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import".
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=H(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw X(e,r)}}async function ut(e){let t=await V(e);N(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 V(e);N(t),M({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 H(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 V(e);N(t),M({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 H(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 V(e);if(N(t),M({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?H(t,n):t.locator(r).first(),a=await p({rootDir:_,requestedPaths:e.paths,scopeLabel:`uploads directory (${_})`});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 V(e);N(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 V({cdpUrl:e.cdpUrl,targetId:e.targetId});N(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:f(Array.isArray(r?.nodes)?r.nodes:[],t)}}async function _t(e){let t=await V({cdpUrl:e.cdpUrl,targetId:e.targetId});N(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 j({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 V({cdpUrl:e.cdpUrl,targetId:e.targetId});if(N(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 j({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 j({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 c({url:n,...m(e.ssrfPolicy)});let r=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),i=await V(e);N(i);let a=async()=>await i.goto(n,{timeout:r}),o;try{o=await a()}catch(n){if(!t(n))throw n;await U({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),i=await V(e),N(i),o=await a()}await u({request:o?.request(),...m(e.ssrfPolicy)});let s=i.url();return await g({url:s,...m(e.ssrfPolicy)}),{url:s}}async function bt(e){let t=await V(e);N(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 V(e);N(t),await t.close()}async function St(e){let t=await V(e);return N(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await V(e);N(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await V(e);N(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await V(e);if(N(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 V(e);N(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 V(e);N(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await V(e);N(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 V(e);N(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 V(e);N(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 V(e);return N(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await V(e);N(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 V(e);N(t),await t.context().clearCookies()}async function Pt(e){let t=await V(e);N(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 V(e);N(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 V(e);N(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await V(e)).context(),n=P(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 V(e)).context(),n=P(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}s();export{Ze as armDialogViaPlaywright,Xe as armFileUploadViaPlaywright,tt as clickViaPlaywright,be as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,he as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,ye as createPageViaPlaywright,$e as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,N as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,xe as focusPageByTargetIdViaPlaywright,U as forceDisconnectPlaywrightForTarget,we as getConsoleMessagesViaPlaywright,Ce as getNetworkRequestsViaPlaywright,Se as getPageErrorsViaPlaywright,V as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,ve as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,H 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-CV1H1Vrs.js.map
@@ -44,3 +44,4 @@ import{O as e}from"./paths-piJASC5k.js";import"./paths-BpQOWYiT.js";import{Z as
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(),o=await a({rootDir:l,requestedPaths:e.paths,scopeLabel:`uploads directory (${l})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await i.setInputFiles(s)}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 '${_(`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:g(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 d({url:n,...o(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await H(e);P(a);let s=async()=>await a.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(()=>{}),a=await H(e),P(a),c=await s()}await f({request:c?.request(),...o(e.ssrfPolicy)});let l=a.url();return await r({url:l,...o(e.ssrfPolicy)}),{url:l}}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}n();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-D_MB1lrR.js.map
@@ -44,3 +44,4 @@ import"./paths-B4IRk3wi.js";import{H as e}from"./subsystem-C5XF2Fy5.js";import".
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 t=await B(e);if(M(t),j({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?V(t,n):t.locator(r).first(),a=await _({rootDir:s,requestedPaths:e.paths,scopeLabel:`uploads directory (${s})`});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 B(e);M(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 '${te(`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 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:u(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 r=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`)},i=String(e.url??``).trim();if(!i)throw Error(`url is required`);await n({url:i,...m(e.ssrfPolicy)});let a=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),s=await B(e);M(s);let c=async()=>await s.goto(i,{timeout:a}),l;try{l=await c()}catch(t){if(!r(t))throw t;await H({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),s=await B(e),M(s),l=await c()}await t({request:l?.request(),...m(e.ssrfPolicy)});let u=s.url();return await o({url:u,...m(e.ssrfPolicy)}),{url:u}}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:ee,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}f();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-_l9lVice.js.map
@@ -3,3 +3,4 @@ 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
@@ -3,3 +3,4 @@ import{t as e}from"./subsystem-BLbY429l.js";import{g as t}from"./paths-BjD3T_xq.
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)||h.join(m.homedir(),`.cache`),t=h.join(e,`qmd`,`models`),n=h.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await g.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await g.lstat(n);return}catch{}try{await g.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await g.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 g.open(e)}catch(e){if(f(e))return{missing:!0};throw e}let o=a.createReadStream({encoding:`utf-8`}),s=_.createInterface({input:o,crlfDelay:1/0}),c=[],l=0;try{for await(let e of s)if(l+=1,!(l<r)){if(c.length>=i)break;c.push(e)}}finally{s.close(),await a.close()}return{missing:!1,text:c.slice(0,i).join(`
4
4
  `)}}async readFullText(e){try{return{missing:!1,text:await g.readFile(e,`utf-8`)}}catch(e){if(f(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=d();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 g.mkdir(e,{recursive:!0});let t=await u(this.agentId),n=new Set,r=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=`${h.basename(o,`.jsonl`)}.md`,c=h.join(e,s);r.add(o);let u=this.exportedSessionState.get(o);(!u||u.hash!==t.hash||u.mtimeMs!==t.mtimeMs)&&await i({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 g.readdir(e).catch(()=>[]);for(let t of o){if(!t.endsWith(`.md`))continue;let r=h.join(e,t);n.has(r)||await g.rm(r,{force:!0})}for(let[t,n]of this.exportedSessionState)(!r.has(t)||!n.target.startsWith(e+h.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${h.basename(e.absPath,h.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=h.normalize(r),a=h.isAbsolute(i)?i:h.resolve(n.path,i);if(!this.isWithinRoot(n.path,a))return null;let o=h.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=h.normalize(t.preferredFile);for(let t of e){let e=h.normalize(t.path);if(e!==n&&!e.endsWith(h.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=h.normalize(h.resolve(n.path,t)),a=h.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,`/`)||h.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${h.sep}`)?!1:!h.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=h.resolve(r.path,i);if(!this.isWithinRoot(r.path,a))throw Error(`qmd path escapes collection`);return a}let t=h.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(h.sep)?this.workspaceDir:`${this.workspaceDir}${h.sep}`;return e===this.workspaceDir?!0:(e.endsWith(h.sep)?e:`${e}${h.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(h.sep)?e:`${e}${h.sep}`;return t===e?!0:(t.endsWith(h.sep)?t:`${t}${h.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-DSQ_mDCl.js.map
@@ -3,3 +3,4 @@ import{G as e,c as t,k as n,l as r}from"./paths-CrCoPIVK.js";import{c as i}from"
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)||h.join(m.homedir(),`.cache`),t=h.join(e,`qmd`,`models`),n=h.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await p.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await p.lstat(n);return}catch{}try{await p.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await p.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 p.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 p.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 p.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=`${h.basename(o,`.jsonl`)}.md`,c=h.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 p.readdir(e).catch(()=>[]);for(let t of o){if(!t.endsWith(`.md`))continue;let n=h.join(e,t);r.has(n)||await p.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!i.has(t)||!n.target.startsWith(e+h.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${h.basename(e.absPath,h.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=h.normalize(r),a=h.isAbsolute(i)?i:h.resolve(n.path,i);if(!this.isWithinRoot(n.path,a))return null;let o=h.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=h.normalize(t.preferredFile);for(let t of e){let e=h.normalize(t.path);if(e!==n&&!e.endsWith(h.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=h.normalize(h.resolve(n.path,t)),a=h.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,`/`)||h.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${h.sep}`)?!1:!h.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=h.resolve(r.path,i);if(!this.isWithinRoot(r.path,a))throw Error(`qmd path escapes collection`);return a}let t=h.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(h.sep)?this.workspaceDir:`${this.workspaceDir}${h.sep}`;return e===this.workspaceDir?!0:(e.endsWith(h.sep)?e:`${e}${h.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(h.sep)?e:`${e}${h.sep}`;return t===e?!0:(t.endsWith(h.sep)?t:`${t}${h.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-DcBYbt_V.js.map
@@ -3,3 +3,4 @@ import{g as e}from"./paths-B4IRk3wi.js";import{t}from"./subsystem-C5XF2Fy5.js";i
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)||m.join(p.homedir(),`.cache`),t=m.join(e,`qmd`,`models`),n=m.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,r=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=`${m.basename(o,`.jsonl`)}.md`,c=m.join(e,s);r.add(o);let u=this.exportedSessionState.get(o);(!u||u.hash!==t.hash||u.mtimeMs!==t.mtimeMs)&&await i({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=m.join(e,t);n.has(r)||await h.rm(r,{force:!0})}for(let[t,n]of this.exportedSessionState)(!r.has(t)||!n.target.startsWith(e+m.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${m.basename(e.absPath,m.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=m.normalize(r),a=m.isAbsolute(i)?i:m.resolve(n.path,i);if(!this.isWithinRoot(n.path,a))return null;let o=m.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=m.normalize(t.preferredFile);for(let t of e){let e=m.normalize(t.path);if(e!==n&&!e.endsWith(m.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=m.normalize(m.resolve(n.path,t)),a=m.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,`/`)||m.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${m.sep}`)?!1:!m.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=m.resolve(r.path,i);if(!this.isWithinRoot(r.path,a))throw Error(`qmd path escapes collection`);return a}let t=m.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(m.sep)?this.workspaceDir:`${this.workspaceDir}${m.sep}`;return e===this.workspaceDir?!0:(e.endsWith(m.sep)?e:`${e}${m.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(m.sep)?e:`${e}${m.sep}`;return t===e?!0:(t.endsWith(m.sep)?t:`${t}${m.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-NLI0R6kp.js.map
@@ -1,2 +1,3 @@
1
1
  import{A as e,p as t}from"./subsystem-BLbY429l.js";import{u as n}from"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{Gi as r,Ki as i,Mi as a,as as o,ji as s,jo as c,ss as l}from"./auth-profiles-T8DuH3ax.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import{a as u,d,l as f}from"./types.secrets-D4tbc3Wq.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import{t as p}from"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import"./call-B8Fb4_oh.js";import"./runtime-web-tools-D8fms06-.js";import{a as m,s as h}from"./command-secret-targets-BlN-J_fA.js";import{t as g}from"./links-CBnmRP9D.js";import _ from"node:os";import v from"qrcode-terminal";function y(e){let t=e.bind??`loopback`;if(t===`custom`){let t=e.customBindHost?.trim();return t?{url:`${e.scheme}://${t}:${e.port}`,source:`gateway.bind=custom`}:{error:`gateway.bind=custom requires gateway.customBindHost.`}}if(t===`tailnet`){let t=e.pickTailnetHost();return t?{url:`${e.scheme}://${t}:${e.port}`,source:`gateway.bind=tailnet`}:{error:`gateway.bind=tailnet set, but no tailnet IP was found.`}}if(t===`lan`){let t=e.pickLanHost();return t?{url:`${e.scheme}://${t}:${e.port}`,source:`gateway.bind=lan`}:{error:`gateway.bind=lan set, but no private LAN IP was found.`}}return null}const b=[`tailscale`,`/Applications/Tailscale.app/Contents/MacOS/Tailscale`];function x(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);if(t===-1||n<=t)return{};try{return JSON.parse(e.slice(t,n+1))}catch{return{}}}function S(e){let t=x(e),n=typeof t.Self==`object`&&t.Self!==null?t.Self:void 0,r=typeof n?.DNSName==`string`?n.DNSName:void 0;if(r&&r.length>0)return r.replace(/\.$/,``);let i=Array.isArray(n?.TailscaleIPs)?n.TailscaleIPs:[];return i.length>0?i[0]??null:null}async function C(e){if(!e)return null;for(let t of b)try{let n=await e([t,`status`,`--json`],{timeoutMs:5e3});if(n.code!==0)continue;let r=n.stdout.trim();if(!r)continue;let i=S(r);if(i)return i}catch{continue}return null}function w(e,t){let n=e.trim();if(!n)return null;try{let e=new URL(n),t=e.protocol.replace(`:`,``);if(!t)return null;let r=t===`http`?`ws`:t===`https`?`wss`:t;if(r!==`ws`&&r!==`wss`)return null;let i=e.hostname;return i?`${r}://${i}${e.port?`:${e.port}`:``}`:null}catch{}let r=n.split(`/`)[0]??``;return r?`${t}://${r}`:null}function T(e,t){return t?.forceSecure||e.gateway?.tls?.enabled===!0?`wss`:`ws`}function E(e){return l(e)}function D(e){return o(e)}function O(e,t){let n=e();for(let e of Object.values(n))if(e)for(let n of e){let e=n?.family===`IPv4`;if(!n||n.internal||!e)continue;let r=n.address?.trim()??``;if(r&&t(r))return r}return null}function k(e){return O(e,E)}function A(e){return O(e,D)}function j(e){return e.OPENCLAW_GATEWAY_TOKEN?.trim()||e.CLAWDBOT_GATEWAY_TOKEN?.trim()||void 0}function M(e){return e.OPENCLAW_GATEWAY_PASSWORD?.trim()||e.CLAWDBOT_GATEWAY_PASSWORD?.trim()||void 0}function N(e,t){let n=e.gateway?.auth?.mode,r=e.secrets?.defaults,i=d({value:e.gateway?.auth?.token,defaults:r}).ref,a=d({value:e.gateway?.auth?.password,defaults:r}).ref,o=j(t),s=M(t),c=o||(i?void 0:f(e.gateway?.auth?.token)),l=s||(a?void 0:f(e.gateway?.auth?.password));return n===`password`?l?{password:l,label:`password`}:{error:`Gateway auth is set to password, but no password is configured.`}:n===`token`?c?{token:c,label:`token`}:{error:`Gateway auth is set to token, but no token is configured.`}:c?{token:c,label:`token`}:l?{password:l,label:`password`}:{error:`Gateway auth is not configured (no token or password).`}}async function P(e,t){if(j(t))return e;let n=e.gateway?.auth?.mode;if(n===`password`||n===`none`||n===`trusted-proxy`||n!==`token`&&(t.OPENCLAW_GATEWAY_PASSWORD?.trim()||t.CLAWDBOT_GATEWAY_PASSWORD?.trim()))return e;let r=await s({config:e,env:t,value:e.gateway?.auth?.token,path:`gateway.auth.token`});return r?{...e,gateway:{...e.gateway,auth:{...e.gateway?.auth,token:r}}}:e}async function F(e,t){if(M(t))return e;let n=e.gateway?.auth?.mode;if(n===`token`||n===`none`||n===`trusted-proxy`||n!==`password`&&(j(t)||u(e.gateway?.auth?.token,e.secrets?.defaults)))return e;let r=await s({config:e,env:t,value:e.gateway?.auth?.password,path:`gateway.auth.password`});return r?{...e,gateway:{...e.gateway,auth:{...e.gateway?.auth,password:r}}}:e}async function I(e,t){let r=T(e,{forceSecure:t.forceSecure}),i=n(e,t.env);if(typeof t.publicUrl==`string`&&t.publicUrl.trim()){let e=w(t.publicUrl,r);return e?{url:e,source:`plugins.entries.device-pair.config.publicUrl`}:{error:`Configured publicUrl is invalid.`}}let a=e.gateway?.remote?.url,o=typeof a==`string`&&a.trim()?w(a,r):null;if(t.preferRemoteUrl&&o)return{url:o,source:`gateway.remote.url`};let s=e.gateway?.tailscale?.mode??`off`;if(s===`serve`||s===`funnel`){let e=await C(t.runCommandWithTimeout);return e?{url:`wss://${e}`,source:`gateway.tailscale.mode=${s}`}:{error:`Tailscale Serve is enabled, but MagicDNS could not be resolved.`}}return o?{url:o,source:`gateway.remote.url`}:y({bind:e.gateway?.bind,customBindHost:e.gateway?.customBindHost,scheme:r,port:i,pickTailnetHost:()=>A(t.networkInterfaces),pickLanHost:()=>k(t.networkInterfaces)})||{error:`Gateway is only bound to loopback. Set gateway.bind=lan, enable tailscale serve, or configure plugins.entries.device-pair.config.publicUrl.`}}function L(e){let t=JSON.stringify(e);return Buffer.from(t,`utf8`).toString(`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}async function R(e,t={}){a(e);let n=t.env??process.env,r=await F(await P(e,n),n),i=N(r,n);if(i.error)return{ok:!1,error:i.error};let o=await I(r,{env:n,publicUrl:t.publicUrl,preferRemoteUrl:t.preferRemoteUrl,forceSecure:t.forceSecure,runCommandWithTimeout:t.runCommandWithTimeout,networkInterfaces:t.networkInterfaces??_.networkInterfaces});return o.url?i.label?{ok:!0,payload:{url:o.url,token:i.token,password:i.password},authLabel:i.label,urlSource:o.source??`unknown`}:{ok:!1,error:`Gateway auth is not configured (no token or password).`}:{ok:!1,error:o.error??`Gateway URL unavailable.`}}function z(e){return new Promise(t=>{v.generate(e,{small:!0},e=>{t(e)})})}function B(e){let t=e.plugins?.entries?.[`device-pair`]?.config?.publicUrl;if(typeof t!=`string`)return;let n=t.trim();return n.length>0?n:void 0}function V(e,t){if(r(t))return!1;let n=e.gateway?.auth?.mode;if(n===`password`)return!0;if(n===`token`||n===`none`||n===`trusted-proxy`)return!1;let a=i(t),o=u(e.gateway?.auth?.token,e.secrets?.defaults);return!a&&!o}async function H(e){let t=await s({config:e,env:process.env,value:e.gateway?.auth?.password,path:`gateway.auth.password`});t&&e.gateway?.auth&&(e.gateway.auth.password=t)}function U(n,r){if(n.length===0)return;let i=r.json===!0||r.setupCodeOnly===!0;for(let r of n){let n=e.warn(`[secrets] ${r}`);i?t.error(n):t.log(n)}}function W(n){n.command(`qr`).description(`Generate an iOS pairing QR code and setup code`).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${g(`/cli/qr`,`docs.openclaw.ai/cli/qr`)}\n`).option(`--remote`,`Use gateway.remote.url and gateway.remote token/password (ignores device-pair publicUrl)`,!1).option(`--url <url>`,`Override gateway URL used in the setup payload`).option(`--public-url <url>`,`Override gateway public URL used in the setup payload`).option(`--token <token>`,`Override gateway token for setup payload`).option(`--password <password>`,`Override gateway password for setup payload`).option(`--setup-code-only`,`Print only the setup code`,!1).option(`--no-ascii`,`Skip ASCII QR rendering`).option(`--json`,`Output JSON`,!1).action(async n=>{try{if(n.token&&n.password)throw Error(`Use either --token or --password, not both.`);let r=typeof n.token==`string`?n.token.trim():``,i=typeof n.password==`string`?n.password.trim():``,a=n.remote===!0,o=c();if(a&&!n.url&&!n.publicUrl){let e=o.gateway?.tailscale?.mode??`off`,t=o.gateway?.remote?.url;if(!(typeof t==`string`&&t.trim().length>0)&&!(e===`serve`||e===`funnel`))throw Error(`qr --remote requires gateway.remote.url (or gateway.tailscale.mode=serve/funnel).`)}let s=o,l=[];if(a&&!r&&!i){let e=await h({config:o,commandName:`qr --remote`,targetIds:m()});s=e.resolvedConfig,l=e.diagnostics}let u={...s,gateway:{...s.gateway,auth:{...s.gateway?.auth}}};if(U(l,n),r&&(u.gateway.auth.mode=`token`,u.gateway.auth.token=r,u.gateway.auth.password=void 0),i&&(u.gateway.auth.mode=`password`,u.gateway.auth.password=i,u.gateway.auth.token=void 0),a&&!r&&!i){let e=typeof u.gateway?.remote?.token==`string`?u.gateway.remote.token.trim():``,t=typeof u.gateway?.remote?.password==`string`?u.gateway.remote.password.trim():``;e?(u.gateway.auth.mode=`token`,u.gateway.auth.token=e,u.gateway.auth.password=void 0):t&&(u.gateway.auth.mode=`password`,u.gateway.auth.password=t,u.gateway.auth.token=void 0)}!a&&!i&&!r&&V(u,process.env)&&await H(u);let d=await R(u,{publicUrl:(typeof n.url==`string`&&n.url.trim()?n.url.trim():typeof n.publicUrl==`string`&&n.publicUrl.trim()?n.publicUrl.trim():void 0)??(a?void 0:B(u)),preferRemoteUrl:a,runCommandWithTimeout:async(e,t)=>await p(e,{timeoutMs:t.timeoutMs})});if(!d.ok)throw Error(d.error);let f=L(d.payload);if(n.setupCodeOnly){t.log(f);return}if(n.json){t.log(JSON.stringify({setupCode:f,gatewayUrl:d.payload.url,auth:d.authLabel,urlSource:d.urlSource},null,2));return}let g=[e.heading(`Pairing QR`),`Scan this with the OpenClaw iOS app (Onboarding -> Scan QR).`,``];if(n.ascii!==!1){let e=await z(f);g.push(e.trimEnd(),``)}g.push(`${e.muted(`Setup code:`)} ${f}`,`${e.muted(`Gateway:`)} ${d.payload.url}`,`${e.muted(`Auth:`)} ${d.authLabel}`,`${e.muted(`Source:`)} ${d.urlSource}`,``,`Approve after scan with:`,` ${e.command(`openclaw devices list`)}`,` ${e.command(`openclaw devices approve <requestId>`)}`),t.log(g.join(`
2
2
  `))}catch(e){t.error(String(e)),t.exit(1)}})}export{W as registerQrCli};
3
+ //# sourceMappingURL=qr-cli-3aG6CB6K.js.map
@@ -1,2 +1,3 @@
1
1
  import{u as e}from"./paths-B4IRk3wi.js";import{A as t,p as n}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{Ka as r,Sc as i,oo as a,qa as o,qs as s,so as c,wc as l}from"./model-selection-BlC_rXAN.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import{a as u,d,l as f}from"./types.secrets-C-5U96pc.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import{t as p}from"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import"./call-CqoMqP5b.js";import"./runtime-web-tools-bz76ZaRc.js";import{a as m,s as h}from"./command-secret-targets-BVN3kiT9.js";import{t as g}from"./links-CySwdMcF.js";import _ from"node:os";import v from"qrcode-terminal";function y(e){let t=e.bind??`loopback`;if(t===`custom`){let t=e.customBindHost?.trim();return t?{url:`${e.scheme}://${t}:${e.port}`,source:`gateway.bind=custom`}:{error:`gateway.bind=custom requires gateway.customBindHost.`}}if(t===`tailnet`){let t=e.pickTailnetHost();return t?{url:`${e.scheme}://${t}:${e.port}`,source:`gateway.bind=tailnet`}:{error:`gateway.bind=tailnet set, but no tailnet IP was found.`}}if(t===`lan`){let t=e.pickLanHost();return t?{url:`${e.scheme}://${t}:${e.port}`,source:`gateway.bind=lan`}:{error:`gateway.bind=lan set, but no private LAN IP was found.`}}return null}const b=[`tailscale`,`/Applications/Tailscale.app/Contents/MacOS/Tailscale`];function x(e){let t=e.indexOf(`{`),n=e.lastIndexOf(`}`);if(t===-1||n<=t)return{};try{return JSON.parse(e.slice(t,n+1))}catch{return{}}}function S(e){let t=x(e),n=typeof t.Self==`object`&&t.Self!==null?t.Self:void 0,r=typeof n?.DNSName==`string`?n.DNSName:void 0;if(r&&r.length>0)return r.replace(/\.$/,``);let i=Array.isArray(n?.TailscaleIPs)?n.TailscaleIPs:[];return i.length>0?i[0]??null:null}async function C(e){if(!e)return null;for(let t of b)try{let n=await e([t,`status`,`--json`],{timeoutMs:5e3});if(n.code!==0)continue;let r=n.stdout.trim();if(!r)continue;let i=S(r);if(i)return i}catch{continue}return null}function w(e,t){let n=e.trim();if(!n)return null;try{let e=new URL(n),t=e.protocol.replace(`:`,``);if(!t)return null;let r=t===`http`?`ws`:t===`https`?`wss`:t;if(r!==`ws`&&r!==`wss`)return null;let i=e.hostname;return i?`${r}://${i}${e.port?`:${e.port}`:``}`:null}catch{}let r=n.split(`/`)[0]??``;return r?`${t}://${r}`:null}function T(e,t){return t?.forceSecure||e.gateway?.tls?.enabled===!0?`wss`:`ws`}function E(e){return l(e)}function D(e){return i(e)}function O(e,t){let n=e();for(let e of Object.values(n))if(e)for(let n of e){let e=n?.family===`IPv4`;if(!n||n.internal||!e)continue;let r=n.address?.trim()??``;if(r&&t(r))return r}return null}function k(e){return O(e,E)}function A(e){return O(e,D)}function j(e){return e.OPENCLAW_GATEWAY_TOKEN?.trim()||e.CLAWDBOT_GATEWAY_TOKEN?.trim()||void 0}function M(e){return e.OPENCLAW_GATEWAY_PASSWORD?.trim()||e.CLAWDBOT_GATEWAY_PASSWORD?.trim()||void 0}function N(e,t){let n=e.gateway?.auth?.mode,r=e.secrets?.defaults,i=d({value:e.gateway?.auth?.token,defaults:r}).ref,a=d({value:e.gateway?.auth?.password,defaults:r}).ref,o=j(t),s=M(t),c=o||(i?void 0:f(e.gateway?.auth?.token)),l=s||(a?void 0:f(e.gateway?.auth?.password));return n===`password`?l?{password:l,label:`password`}:{error:`Gateway auth is set to password, but no password is configured.`}:n===`token`?c?{token:c,label:`token`}:{error:`Gateway auth is set to token, but no token is configured.`}:c?{token:c,label:`token`}:l?{password:l,label:`password`}:{error:`Gateway auth is not configured (no token or password).`}}async function P(e,t){if(j(t))return e;let n=e.gateway?.auth?.mode;if(n===`password`||n===`none`||n===`trusted-proxy`||n!==`token`&&(t.OPENCLAW_GATEWAY_PASSWORD?.trim()||t.CLAWDBOT_GATEWAY_PASSWORD?.trim()))return e;let i=await r({config:e,env:t,value:e.gateway?.auth?.token,path:`gateway.auth.token`});return i?{...e,gateway:{...e.gateway,auth:{...e.gateway?.auth,token:i}}}:e}async function F(e,t){if(M(t))return e;let n=e.gateway?.auth?.mode;if(n===`token`||n===`none`||n===`trusted-proxy`||n!==`password`&&(j(t)||u(e.gateway?.auth?.token,e.secrets?.defaults)))return e;let i=await r({config:e,env:t,value:e.gateway?.auth?.password,path:`gateway.auth.password`});return i?{...e,gateway:{...e.gateway,auth:{...e.gateway?.auth,password:i}}}:e}async function I(t,n){let r=T(t,{forceSecure:n.forceSecure}),i=e(t,n.env);if(typeof n.publicUrl==`string`&&n.publicUrl.trim()){let e=w(n.publicUrl,r);return e?{url:e,source:`plugins.entries.device-pair.config.publicUrl`}:{error:`Configured publicUrl is invalid.`}}let a=t.gateway?.remote?.url,o=typeof a==`string`&&a.trim()?w(a,r):null;if(n.preferRemoteUrl&&o)return{url:o,source:`gateway.remote.url`};let s=t.gateway?.tailscale?.mode??`off`;if(s===`serve`||s===`funnel`){let e=await C(n.runCommandWithTimeout);return e?{url:`wss://${e}`,source:`gateway.tailscale.mode=${s}`}:{error:`Tailscale Serve is enabled, but MagicDNS could not be resolved.`}}return o?{url:o,source:`gateway.remote.url`}:y({bind:t.gateway?.bind,customBindHost:t.gateway?.customBindHost,scheme:r,port:i,pickTailnetHost:()=>A(n.networkInterfaces),pickLanHost:()=>k(n.networkInterfaces)})||{error:`Gateway is only bound to loopback. Set gateway.bind=lan, enable tailscale serve, or configure plugins.entries.device-pair.config.publicUrl.`}}function L(e){let t=JSON.stringify(e);return Buffer.from(t,`utf8`).toString(`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/g,``)}async function R(e,t={}){o(e);let n=t.env??process.env,r=await F(await P(e,n),n),i=N(r,n);if(i.error)return{ok:!1,error:i.error};let a=await I(r,{env:n,publicUrl:t.publicUrl,preferRemoteUrl:t.preferRemoteUrl,forceSecure:t.forceSecure,runCommandWithTimeout:t.runCommandWithTimeout,networkInterfaces:t.networkInterfaces??_.networkInterfaces});return a.url?i.label?{ok:!0,payload:{url:a.url,token:i.token,password:i.password},authLabel:i.label,urlSource:a.source??`unknown`}:{ok:!1,error:`Gateway auth is not configured (no token or password).`}:{ok:!1,error:a.error??`Gateway URL unavailable.`}}function z(e){return new Promise(t=>{v.generate(e,{small:!0},e=>{t(e)})})}function B(e){let t=e.plugins?.entries?.[`device-pair`]?.config?.publicUrl;if(typeof t!=`string`)return;let n=t.trim();return n.length>0?n:void 0}function V(e,t){if(a(t))return!1;let n=e.gateway?.auth?.mode;if(n===`password`)return!0;if(n===`token`||n===`none`||n===`trusted-proxy`)return!1;let r=c(t),i=u(e.gateway?.auth?.token,e.secrets?.defaults);return!r&&!i}async function H(e){let t=await r({config:e,env:process.env,value:e.gateway?.auth?.password,path:`gateway.auth.password`});t&&e.gateway?.auth&&(e.gateway.auth.password=t)}function U(e,r){if(e.length===0)return;let i=r.json===!0||r.setupCodeOnly===!0;for(let r of e){let e=t.warn(`[secrets] ${r}`);i?n.error(e):n.log(e)}}function W(e){e.command(`qr`).description(`Generate an iOS pairing QR code and setup code`).addHelpText(`after`,()=>`\n${t.muted(`Docs:`)} ${g(`/cli/qr`,`docs.openclaw.ai/cli/qr`)}\n`).option(`--remote`,`Use gateway.remote.url and gateway.remote token/password (ignores device-pair publicUrl)`,!1).option(`--url <url>`,`Override gateway URL used in the setup payload`).option(`--public-url <url>`,`Override gateway public URL used in the setup payload`).option(`--token <token>`,`Override gateway token for setup payload`).option(`--password <password>`,`Override gateway password for setup payload`).option(`--setup-code-only`,`Print only the setup code`,!1).option(`--no-ascii`,`Skip ASCII QR rendering`).option(`--json`,`Output JSON`,!1).action(async e=>{try{if(e.token&&e.password)throw Error(`Use either --token or --password, not both.`);let r=typeof e.token==`string`?e.token.trim():``,i=typeof e.password==`string`?e.password.trim():``,a=e.remote===!0,o=s();if(a&&!e.url&&!e.publicUrl){let e=o.gateway?.tailscale?.mode??`off`,t=o.gateway?.remote?.url;if(!(typeof t==`string`&&t.trim().length>0)&&!(e===`serve`||e===`funnel`))throw Error(`qr --remote requires gateway.remote.url (or gateway.tailscale.mode=serve/funnel).`)}let c=o,l=[];if(a&&!r&&!i){let e=await h({config:o,commandName:`qr --remote`,targetIds:m()});c=e.resolvedConfig,l=e.diagnostics}let u={...c,gateway:{...c.gateway,auth:{...c.gateway?.auth}}};if(U(l,e),r&&(u.gateway.auth.mode=`token`,u.gateway.auth.token=r,u.gateway.auth.password=void 0),i&&(u.gateway.auth.mode=`password`,u.gateway.auth.password=i,u.gateway.auth.token=void 0),a&&!r&&!i){let e=typeof u.gateway?.remote?.token==`string`?u.gateway.remote.token.trim():``,t=typeof u.gateway?.remote?.password==`string`?u.gateway.remote.password.trim():``;e?(u.gateway.auth.mode=`token`,u.gateway.auth.token=e,u.gateway.auth.password=void 0):t&&(u.gateway.auth.mode=`password`,u.gateway.auth.password=t,u.gateway.auth.token=void 0)}!a&&!i&&!r&&V(u,process.env)&&await H(u);let d=await R(u,{publicUrl:(typeof e.url==`string`&&e.url.trim()?e.url.trim():typeof e.publicUrl==`string`&&e.publicUrl.trim()?e.publicUrl.trim():void 0)??(a?void 0:B(u)),preferRemoteUrl:a,runCommandWithTimeout:async(e,t)=>await p(e,{timeoutMs:t.timeoutMs})});if(!d.ok)throw Error(d.error);let f=L(d.payload);if(e.setupCodeOnly){n.log(f);return}if(e.json){n.log(JSON.stringify({setupCode:f,gatewayUrl:d.payload.url,auth:d.authLabel,urlSource:d.urlSource},null,2));return}let g=[t.heading(`Pairing QR`),`Scan this with the OpenClaw iOS app (Onboarding -> Scan QR).`,``];if(e.ascii!==!1){let e=await z(f);g.push(e.trimEnd(),``)}g.push(`${t.muted(`Setup code:`)} ${f}`,`${t.muted(`Gateway:`)} ${d.payload.url}`,`${t.muted(`Auth:`)} ${d.authLabel}`,`${t.muted(`Source:`)} ${d.urlSource}`,``,`Approve after scan with:`,` ${t.command(`openclaw devices list`)}`,` ${t.command(`openclaw devices approve <requestId>`)}`),n.log(g.join(`
2
2
  `))}catch(e){n.error(String(e)),n.exit(1)}})}export{W as registerQrCli};
3
+ //# sourceMappingURL=qr-cli-fiJxD5M4.js.map
@@ -4,3 +4,4 @@ import{t as e}from"./subsystem-C5XF2Fy5.js";import{r as t,w as n}from"./windows-
4
4
  `),i=[],a=[];for(let e=0;e<n.length;e++){let t=n[e];if(!t.trim())continue;let o;try{o=JSON.parse(t)}catch{continue}if(!o||typeof o!=`object`||o.type!==`message`)continue;let s=o.message;if(!s||typeof s.role!=`string`||s.role!==`user`&&s.role!==`assistant`)continue;let c=re(s.content);if(!c)continue;let l=r(c,{mode:`tools`}),u=s.role===`user`?`User`:`Assistant`;i.push(`${u}: ${l}`),a.push(e+1)}let o=i.join(`
5
5
  `);return{path:G(e),absPath:e,mtimeMs:t.mtimeMs,size:t.size,hash:P(o+`
6
6
  `+a.join(`,`)),content:o,lineMap:a}}catch(t){return U.debug(`Failed reading session file ${e}: ${String(t)}`),null}}const J=Symbol.for(`openclaw.warning-filter`);function Y(e){return!!(e.code===`DEP0040`&&e.message?.includes(`punycode`)||e.code===`DEP0060`&&e.message?.includes(`util._extend`)||e.name===`ExperimentalWarning`&&e.message?.includes(`SQLite is an experimental feature`))}function X(e){let t=e[0],n=e[1],r=e[2],i,a,o;if(t instanceof Error?(i=t.name,o=t.message,a=t.code):typeof t==`string`&&(o=t),n&&typeof n==`object`&&!Array.isArray(n)){let e=n;typeof e.type==`string`&&(i=e.type),typeof e.code==`string`&&(a=e.code)}else typeof n==`string`&&(i=n),typeof r==`string`&&(a=r);return{name:i,code:a,message:o}}function ie(){let e=globalThis;if(e[J]?.installed)return;let t=process.emitWarning.bind(process),n=((...e)=>{if(!Y(X(e)))return Reflect.apply(t,process,e)});process.emitWarning=n,e[J]={installed:!0}}const ae=a(import.meta.url);function oe(){ie();try{return ae(`node:sqlite`)}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`SQLite support is unavailable in this Node runtime (missing node:sqlite). ${t}`,{cause:e})}}const se=new Set(`a.an.the.this.that.these.those.i.me.my.we.our.you.your.he.she.it.they.them.is.are.was.were.be.been.being.have.has.had.do.does.did.will.would.could.should.can.may.might.in.on.at.to.for.of.with.by.from.about.into.through.during.before.after.above.below.between.under.over.and.or.but.if.then.because.as.while.when.where.what.which.who.how.why.yesterday.today.tomorrow.earlier.later.recently.before.ago.just.now.thing.things.stuff.something.anything.everything.nothing.please.help.find.show.get.tell.give`.split(`.`)),ce=new Set(`el.la.los.las.un.una.unos.unas.este.esta.ese.esa.yo.me.mi.nosotros.nosotras.tu.tus.usted.ustedes.ellos.ellas.de.del.a.en.con.por.para.sobre.entre.y.o.pero.si.porque.como.es.son.fue.fueron.ser.estar.haber.tener.hacer.ayer.hoy.mañana.antes.despues.después.ahora.recientemente.que.qué.cómo.cuando.cuándo.donde.dónde.porqué.favor.ayuda`.split(`.`)),le=new Set(`o.a.os.as.um.uma.uns.umas.este.esta.esse.essa.eu.me.meu.minha.nos.nós.você.vocês.ele.ela.eles.elas.de.do.da.em.com.por.para.sobre.entre.e.ou.mas.se.porque.como.é.são.foi.foram.ser.estar.ter.fazer.ontem.hoje.amanhã.antes.depois.agora.recentemente.que.quê.quando.onde.porquê.favor.ajuda`.split(`.`)),ue=new Set(`ال.و.أو.لكن.ثم.بل.أنا.نحن.هو.هي.هم.هذا.هذه.ذلك.تلك.هنا.هناك.من.إلى.الى.في.على.عن.مع.بين.ل.ب.ك.كان.كانت.يكون.تكون.صار.أصبح.يمكن.ممكن.بالأمس.امس.اليوم.غدا.الآن.قبل.بعد.مؤخرا.لماذا.كيف.ماذا.متى.أين.هل.من فضلك.فضلا.ساعد`.split(`.`)),Z=new Set(`은.는.이.가.을.를.의.에.에서.로.으로.와.과.도.만.까지.부터.한테.에게.께.처럼.같이.보다.마다.밖에.대로.나.나는.내가.나를.너.우리.저.저희.그.그녀.그들.이것.저것.그것.여기.저기.거기.있다.없다.하다.되다.이다.아니다.보다.주다.오다.가다.것.거.등.수.때.곳.중.분.잘.더.또.매우.정말.아주.많이.너무.좀.그리고.하지만.그래서.그런데.그러나.또는.그러면.왜.어떻게.뭐.언제.어디.누구.무엇.어떤.어제.오늘.내일.최근.지금.아까.나중.전에.제발.부탁`.split(`.`)),de=[`에서`,`으로`,`에게`,`한테`,`처럼`,`같이`,`보다`,`까지`,`부터`,`마다`,`밖에`,`대로`,`은`,`는`,`이`,`가`,`을`,`를`,`의`,`에`,`로`,`와`,`과`,`도`,`만`].toSorted((e,t)=>t.length-e.length);function fe(e){for(let t of de)if(e.length>t.length&&e.endsWith(t))return e.slice(0,-t.length);return null}function pe(e){return/[\uac00-\ud7af]/.test(e)?e.length>=2:/^[a-z0-9_]+$/i.test(e)}const me=new Set(`これ.それ.あれ.この.その.あの.ここ.そこ.あそこ.する.した.して.です.ます.いる.ある.なる.できる.の.こと.もの.ため.そして.しかし.また.でも.から.まで.より.だけ.なぜ.どう.何.いつ.どこ.誰.どれ.昨日.今日.明日.最近.今.さっき.前.後`.split(`.`)),Q=new Set(`我.我们.你.你们.他.她.它.他们.这.那.这个.那个.这些.那些.的.了.着.过.得.地.吗.呢.吧.啊.呀.嘛.啦.是.有.在.被.把.给.让.用.到.去.来.做.说.看.找.想.要.能.会.可以.和.与.或.但.但是.因为.所以.如果.虽然.而.也.都.就.还.又.再.才.只.之前.以前.之后.以后.刚才.现在.昨天.今天.明天.最近.东西.事情.事.什么.哪个.哪些.怎么.为什么.多少.请.帮.帮忙.告诉`.split(`.`));function $(e){return se.has(e)||ce.has(e)||le.has(e)||ue.has(e)||Q.has(e)||Z.has(e)||me.has(e)}function he(e){return!(!e||e.length===0||/^[a-zA-Z]+$/.test(e)&&e.length<3||/^\d+$/.test(e)||/^[\p{P}\p{S}]+$/u.test(e))}function ge(e){let t=[],n=e.toLowerCase().trim().split(/[\s\p{P}]+/u).filter(Boolean);for(let e of n)if(/[\u3040-\u30ff]/.test(e)){let n=e.match(/[a-z0-9_]+|[\u30a0-\u30ffー]+|[\u4e00-\u9fff]+|[\u3040-\u309f]{2,}/g)??[];for(let e of n)if(/^[\u4e00-\u9fff]+$/.test(e)){t.push(e);for(let n=0;n<e.length-1;n++)t.push(e[n]+e[n+1])}else t.push(e)}else if(/[\u4e00-\u9fff]/.test(e)){let n=Array.from(e).filter(e=>/[\u4e00-\u9fff]/.test(e));t.push(...n);for(let e=0;e<n.length-1;e++)t.push(n[e]+n[e+1])}else if(/[\uac00-\ud7af\u3131-\u3163]/.test(e)){let n=fe(e),r=n!==null&&Z.has(n);!Z.has(e)&&!r&&t.push(e),n&&!Z.has(n)&&pe(n)&&t.push(n)}else t.push(e);return t}function _e(e){let t=ge(e),n=[],r=new Set;for(let e of t)$(e)||he(e)&&(r.has(e)||(r.add(e),n.push(e)));return n}export{y as A,b as C,h as D,v as E,m as O,w as S,_ as T,z as _,W as a,C as b,L as c,D as d,P as f,B as g,k as h,q as i,p as k,R as l,N as m,$ as n,G as o,A as p,oe as r,F as s,_e as t,V as u,H as v,x as w,S as x,ne as y};
7
+ //# sourceMappingURL=query-expansion-0OxEb1Io.js.map