@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
@@ -1 +1,2 @@
1
1
  const e=require(`./paths-BvlJvmRS.cjs`);require(`./paths-Chp3zwtq.cjs`);const t=require(`./logger-BlddiV_d.cjs`),n=require(`./model-auth-BpS4IWDi.cjs`);require(`./proxy-env-DWw9TnOj.cjs`),require(`./github-copilot-token-DoHgkI2r.cjs`);const r=require(`./session-8BcB905y.cjs`);let i=require(`node:crypto`),a=require(`@whiskeysockets/baileys`),o=require(`qrcode-terminal/vendor/QRCode/index.js`);o=e.p(o);let s=require(`qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js`);s=e.p(s);let c=require(`node:zlib`);const l=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t+=1){let n=t;for(let e=0;e<8;e+=1)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function u(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=l[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function d(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=u(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function f(e,t,n,r,i,a,o,s=255){if(t<0||n<0||t>=r)return;let c=(n*r+t)*4;c<0||c+3>=e.length||(e[c]=i,e[c+1]=a,e[c+2]=o,e[c+3]=s)}function p(e,t,n){let r=t*4,i=Buffer.alloc((r+1)*n);for(let t=0;t<n;t+=1){let n=t*(r+1);i[n]=0,e.copy(i,n+1,t*r,t*r+r)}let a=(0,c.deflateSync)(i),o=Buffer.from([137,80,78,71,13,10,26,10]),s=Buffer.alloc(13);return s.writeUInt32BE(t,0),s.writeUInt32BE(n,4),s[8]=8,s[9]=6,s[10]=0,s[11]=0,s[12]=0,Buffer.concat([o,d(`IHDR`,s),d(`IDAT`,a),d(`IEND`,Buffer.alloc(0))])}const m=o.default,h=s.default;function g(e){let t=new m(-1,h.L);return t.addData(e),t.make(),t}async function _(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=g(e),a=i.getModuleCount(),o=(a+r*2)*n,s=Buffer.alloc(o*o*4,255);for(let e=0;e<a;e+=1)for(let t=0;t<a;t+=1){if(!i.isDark(e,t))continue;let a=(t+r)*n,c=(e+r)*n;for(let e=0;e<n;e+=1){let t=c+e;for(let e=0;e<n;e+=1)f(s,a+e,t,o,0,0,0,255)}}return p(s,o,o).toString(`base64`)}const v=new Map;function y(e){try{e.ws?.close()}catch{}}async function b(e,n){let r=v.get(e);r&&(y(r.sock),v.delete(e)),n&&t.r(n)}function x(e){return Date.now()-e.startedAt<18e4}function S(e,t){t.waitPromise=r.i(t.sock).then(()=>{let n=v.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let i=v.get(e);i?.id===t.id&&(i.error=r.n(n),i.errorStatus=r.r(n))})}async function C(e,n){if(e.restartAttempted)return!1;e.restartAttempted=!0,n.log(t.L(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),y(e.sock);try{return e.sock=await r.t(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,S(e.accountId,e),!0}catch(t){return e.error=r.n(t),e.errorStatus=r.r(t),!1}}async function w(e={}){let a=e.runtime??t.M,o=n.js({cfg:n.Si(),accountId:e.accountId}),s=await n.Ws(o.authDir),c=n.Bs(o.authDir);if(s&&!e.force)return{message:`WhatsApp is already linked (${c.e164??c.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let l=v.get(o.accountId);if(l&&x(l)&&l.qrDataUrl)return{qrDataUrl:l.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await b(o.accountId);let u=null,d=null,f=new Promise((e,t)=>{u=e,d=t}),p=setTimeout(()=>{d?.(Error(`Timed out waiting for WhatsApp QR`))},Math.max(e.timeoutMs??3e4,5e3)),m,h=null;try{m=await r.t(!1,!!e.verbose,{authDir:o.authDir,onQr:e=>{if(h)return;h=e;let n=v.get(o.accountId);n&&!n.qr&&(n.qr=e),clearTimeout(p),a.log(t.L(`WhatsApp QR received.`)),u?.(e)}})}catch(e){return clearTimeout(p),await b(o.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let g={accountId:o.accountId,authDir:o.authDir,isLegacyAuthDir:o.isLegacyAuthDir,id:(0,i.randomUUID)(),sock:m,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};v.set(o.accountId,g),h&&!g.qr&&(g.qr=h),S(o.accountId,g);let y;try{y=await f}catch(e){return clearTimeout(p),await b(o.accountId),{message:`Failed to get QR: ${String(e)}`}}return g.qrDataUrl=`data:image/png;base64,${await _(y)}`,{qrDataUrl:g.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function T(e={}){let r=e.runtime??t.M,i=n.js({cfg:n.Si(),accountId:e.accountId}),o=v.get(i.accountId);if(!o)return{connected:!1,message:`No active WhatsApp login in progress.`};let s=o;if(!x(s))return await b(i.accountId),{connected:!1,message:`The login QR expired. Ask me to generate a new one.`};let c=Math.max(e.timeoutMs??12e4,1e3),l=Date.now()+c;for(;;){let e=l-Date.now();if(e<=0)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};let o=new Promise(t=>setTimeout(()=>t(`timeout`),e));if(await Promise.race([s.waitPromise.then(()=>`done`),o])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(s.error){if(s.errorStatus===a.DisconnectReason.loggedOut){await n.Is({authDir:s.authDir,isLegacyAuthDir:s.isLegacyAuthDir,runtime:r});let e=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await b(i.accountId,e),r.log(t.I(e)),{connected:!1,message:e}}if(s.errorStatus===515&&await C(s,r)&&x(s))continue;let e=`WhatsApp login failed: ${s.error}`;return await b(i.accountId,e),r.log(t.I(e)),{connected:!1,message:e}}if(s.connected){let e=`✅ Linked! WhatsApp is ready.`;return r.log(t.V(e)),await b(i.accountId),{connected:!0,message:e}}return{connected:!1,message:`Login ended without a connection.`}}}exports.startWebLoginWithQr=w,exports.waitForWebLogin=T;
2
+ //# sourceMappingURL=login-qr-eodIsL9V.cjs.map
@@ -1 +1,2 @@
1
1
  const e=require(`./paths-Bcdg3ma0.cjs`);require(`./paths-D90l3h_o.cjs`);const t=require(`./sessions-Dz5JUL8j.cjs`),n=require(`./logger-DUYnS-W3.cjs`);require(`./proxy-env-DQoJjkWE.cjs`),require(`./github-copilot-token-zskwAEpd.cjs`);const r=require(`./session-WRCBgAzG.cjs`);let i=require(`node:crypto`),a=require(`@whiskeysockets/baileys`),o=require(`qrcode-terminal/vendor/QRCode/index.js`);o=e.p(o);let s=require(`qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js`);s=e.p(s);let c=require(`node:zlib`);const l=(()=>{let e=new Uint32Array(256);for(let t=0;t<256;t+=1){let n=t;for(let e=0;e<8;e+=1)n=n&1?3988292384^n>>>1:n>>>1;e[t]=n>>>0}return e})();function u(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=l[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function d(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=u(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function f(e,t,n,r,i,a,o,s=255){if(t<0||n<0||t>=r)return;let c=(n*r+t)*4;c<0||c+3>=e.length||(e[c]=i,e[c+1]=a,e[c+2]=o,e[c+3]=s)}function p(e,t,n){let r=t*4,i=Buffer.alloc((r+1)*n);for(let t=0;t<n;t+=1){let n=t*(r+1);i[n]=0,e.copy(i,n+1,t*r,t*r+r)}let a=(0,c.deflateSync)(i),o=Buffer.from([137,80,78,71,13,10,26,10]),s=Buffer.alloc(13);return s.writeUInt32BE(t,0),s.writeUInt32BE(n,4),s[8]=8,s[9]=6,s[10]=0,s[11]=0,s[12]=0,Buffer.concat([o,d(`IHDR`,s),d(`IDAT`,a),d(`IEND`,Buffer.alloc(0))])}const m=o.default,h=s.default;function g(e){let t=new m(-1,h.L);return t.addData(e),t.make(),t}async function _(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=g(e),a=i.getModuleCount(),o=(a+r*2)*n,s=Buffer.alloc(o*o*4,255);for(let e=0;e<a;e+=1)for(let t=0;t<a;t+=1){if(!i.isDark(e,t))continue;let a=(t+r)*n,c=(e+r)*n;for(let e=0;e<n;e+=1){let t=c+e;for(let e=0;e<n;e+=1)f(s,a+e,t,o,0,0,0,255)}}return p(s,o,o).toString(`base64`)}const v=new Map;function y(e){try{e.ws?.close()}catch{}}async function b(e,t){let r=v.get(e);r&&(y(r.sock),v.delete(e)),t&&n.r(t)}function x(e){return Date.now()-e.startedAt<18e4}function S(e,t){t.waitPromise=r.i(t.sock).then(()=>{let n=v.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let i=v.get(e);i?.id===t.id&&(i.error=r.n(n),i.errorStatus=r.r(n))})}async function C(e,t){if(e.restartAttempted)return!1;e.restartAttempted=!0,t.log(n.L(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),y(e.sock);try{return e.sock=await r.t(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,S(e.accountId,e),!0}catch(t){return e.error=r.n(t),e.errorStatus=r.r(t),!1}}async function w(e={}){let a=e.runtime??n.M,o=t.Os({cfg:t.Y(),accountId:e.accountId}),s=await t.Hs(o.authDir),c=t.Rs(o.authDir);if(s&&!e.force)return{message:`WhatsApp is already linked (${c.e164??c.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let l=v.get(o.accountId);if(l&&x(l)&&l.qrDataUrl)return{qrDataUrl:l.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await b(o.accountId);let u=null,d=null,f=new Promise((e,t)=>{u=e,d=t}),p=setTimeout(()=>{d?.(Error(`Timed out waiting for WhatsApp QR`))},Math.max(e.timeoutMs??3e4,5e3)),m,h=null;try{m=await r.t(!1,!!e.verbose,{authDir:o.authDir,onQr:e=>{if(h)return;h=e;let t=v.get(o.accountId);t&&!t.qr&&(t.qr=e),clearTimeout(p),a.log(n.L(`WhatsApp QR received.`)),u?.(e)}})}catch(e){return clearTimeout(p),await b(o.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let g={accountId:o.accountId,authDir:o.authDir,isLegacyAuthDir:o.isLegacyAuthDir,id:(0,i.randomUUID)(),sock:m,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};v.set(o.accountId,g),h&&!g.qr&&(g.qr=h),S(o.accountId,g);let y;try{y=await f}catch(e){return clearTimeout(p),await b(o.accountId),{message:`Failed to get QR: ${String(e)}`}}return g.qrDataUrl=`data:image/png;base64,${await _(y)}`,{qrDataUrl:g.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function T(e={}){let r=e.runtime??n.M,i=t.Os({cfg:t.Y(),accountId:e.accountId}),o=v.get(i.accountId);if(!o)return{connected:!1,message:`No active WhatsApp login in progress.`};let s=o;if(!x(s))return await b(i.accountId),{connected:!1,message:`The login QR expired. Ask me to generate a new one.`};let c=Math.max(e.timeoutMs??12e4,1e3),l=Date.now()+c;for(;;){let e=l-Date.now();if(e<=0)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};let o=new Promise(t=>setTimeout(()=>t(`timeout`),e));if(await Promise.race([s.waitPromise.then(()=>`done`),o])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(s.error){if(s.errorStatus===a.DisconnectReason.loggedOut){await t.Ps({authDir:s.authDir,isLegacyAuthDir:s.isLegacyAuthDir,runtime:r});let e=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await b(i.accountId,e),r.log(n.I(e)),{connected:!1,message:e}}if(s.errorStatus===515&&await C(s,r)&&x(s))continue;let e=`WhatsApp login failed: ${s.error}`;return await b(i.accountId,e),r.log(n.I(e)),{connected:!1,message:e}}if(s.connected){let e=`✅ Linked! WhatsApp is ready.`;return r.log(n.V(e)),await b(i.accountId),{connected:!0,message:e}}return{connected:!1,message:`Login ended without a connection.`}}}exports.startWebLoginWithQr=w,exports.waitForWebLogin=T;
2
+ //# sourceMappingURL=login-qr-yIJE7MmY.cjs.map
@@ -68,3 +68,4 @@ import{B as e,V as t,W as n,o as r}from"./paths-D55o_j8-.js";import{Dt as i,Fs a
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:fe(e.embedding),source:e.source}))}async function Zn(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,r=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...r,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:p(t.text,e.snippetMaxChars),source:t.source}})}const Z=m(`memory`),Q=new Map,$=new Map;async function Qn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var $n=class e extends qn{static async get(r){let{cfg:i,agentId:a}=r,o=Re(i,a);if(!o)return null;let s=n(i,a),c=`${a}:${s}:${JSON.stringify(o)}`,l=Q.get(c);if(l)return l;let u=$.get(c);if(u)return u;let d=(async()=>{let n=await kt({config:i,agentDir:t(i,a),provider:o.provider,remote:o.remote,model:o.model,outputDimensionality:o.outputDimensionality,fallback:o.fallback,local:o.local}),l=Q.get(c);if(l)return l;let u=new e({cacheKey:c,cfg:i,agentId:a,workspaceDir:s,settings:o,providerResult:n,purpose:r.purpose});return Q.set(c,u),u})();$.set(c,d);try{return await d}finally{$.get(c)===d&&$.delete(c)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=xe(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),s=new Map;for(let e of a)for(let t of e){let e=s.get(t.id);(!e||t.score>e.score)&&s.set(t.id,t)}return[...s.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let s=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],c=await this.embedQueryWithTimeout(n),l=c.some(e=>e!==0)?await this.searchVector(c,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return l.filter(e=>e.score>=r).slice(0,i);let u=await this.mergeHybridResults({vector:l,keyword:s,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),d=u.filter(e=>e.score>=r);if(d.length>0||s.length===0)return d.slice(0,i);let f=Math.min(r,a.textWeight),p=new Set(s.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return u.filter(e=>p.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=f).slice(0,i)}async searchVector(e,t){return this.provider?(await Yn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return qt(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await Zn({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:Jt})).map(e=>e)}mergeHybridResults(e){return Yt({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=O.isAbsolute(t)?O.resolve(t):O.resolve(this.workspaceDir,t),r=O.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!O.isAbsolute(r)&&ve(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=T(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await k.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${O.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await Ce(n)).missing)return{text:``,path:r};let o;try{o=await k.readFile(n,`utf-8`)}catch(e){if(v(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let s=o.split(`
69
69
  `),c=Math.max(1,e.from??1),l=Math.max(1,e.lines??s.length);return{text:s.slice(c-1,c-1+l).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};export{Qn as n,Re as r,$n as t};
71
+ //# sourceMappingURL=manager-932XljTT.js.map
@@ -68,3 +68,4 @@ import{B as e,V as t,W as n,o as r}from"./paths-Do0djuaj.js";import{As as i,Dt a
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:fe(e.embedding),source:e.source}))}async function Zn(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,r=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...r,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:p(t.text,e.snippetMaxChars),source:t.source}})}const Z=m(`memory`),Q=new Map,$=new Map;async function Qn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var $n=class e extends qn{static async get(r){let{cfg:i,agentId:a}=r,o=Re(i,a);if(!o)return null;let s=n(i,a),c=`${a}:${s}:${JSON.stringify(o)}`,l=Q.get(c);if(l)return l;let u=$.get(c);if(u)return u;let d=(async()=>{let n=await kt({config:i,agentDir:t(i,a),provider:o.provider,remote:o.remote,model:o.model,outputDimensionality:o.outputDimensionality,fallback:o.fallback,local:o.local}),l=Q.get(c);if(l)return l;let u=new e({cacheKey:c,cfg:i,agentId:a,workspaceDir:s,settings:o,providerResult:n,purpose:r.purpose});return Q.set(c,u),u})();$.set(c,d);try{return await d}finally{$.get(c)===d&&$.delete(c)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=xe(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),s=new Map;for(let e of a)for(let t of e){let e=s.get(t.id);(!e||t.score>e.score)&&s.set(t.id,t)}return[...s.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let s=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],c=await this.embedQueryWithTimeout(n),l=c.some(e=>e!==0)?await this.searchVector(c,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return l.filter(e=>e.score>=r).slice(0,i);let u=await this.mergeHybridResults({vector:l,keyword:s,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),d=u.filter(e=>e.score>=r);if(d.length>0||s.length===0)return d.slice(0,i);let f=Math.min(r,a.textWeight),p=new Set(s.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return u.filter(e=>p.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=f).slice(0,i)}async searchVector(e,t){return this.provider?(await Yn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return qt(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await Zn({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:Jt})).map(e=>e)}mergeHybridResults(e){return Yt({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=O.isAbsolute(t)?O.resolve(t):O.resolve(this.workspaceDir,t),r=O.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!O.isAbsolute(r)&&ve(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=T(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await k.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${O.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await Ce(n)).missing)return{text:``,path:r};let o;try{o=await k.readFile(n,`utf-8`)}catch(e){if(v(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let s=o.split(`
69
69
  `),c=Math.max(1,e.from??1),l=Math.max(1,e.lines??s.length);return{text:s.slice(c-1,c-1+l).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};export{Qn as n,Re as r,$n as t};
71
+ //# sourceMappingURL=manager-CGHd5p2T.js.map
@@ -68,3 +68,4 @@ import{A as e,N as t,k as n,o as r}from"./paths-CXgWvWAM.js";import{O as i,S as
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:pe(e.embedding),source:e.source}))}async function Zn(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,r=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...r,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:a(t.text,e.snippetMaxChars),source:t.source}})}const Z=i(`memory`),Q=new Map,$=new Map;async function Qn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var $n=class n extends qn{static async get(r){let{cfg:i,agentId:a}=r,o=ze(i,a);if(!o)return null;let s=t(i,a),c=`${a}:${s}:${JSON.stringify(o)}`,l=Q.get(c);if(l)return l;let u=$.get(c);if(u)return u;let d=(async()=>{let t=await At({config:i,agentDir:e(i,a),provider:o.provider,remote:o.remote,model:o.model,outputDimensionality:o.outputDimensionality,fallback:o.fallback,local:o.local}),l=Q.get(c);if(l)return l;let u=new n({cacheKey:c,cfg:i,agentId:a,workspaceDir:s,settings:o,providerResult:t,purpose:r.purpose});return Q.set(c,u),u})();$.set(c,d);try{return await d}finally{$.get(c)===d&&$.delete(c)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=Se(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),s=new Map;for(let e of a)for(let t of e){let e=s.get(t.id);(!e||t.score>e.score)&&s.set(t.id,t)}return[...s.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let s=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],c=await this.embedQueryWithTimeout(n),l=c.some(e=>e!==0)?await this.searchVector(c,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return l.filter(e=>e.score>=r).slice(0,i);let u=await this.mergeHybridResults({vector:l,keyword:s,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),d=u.filter(e=>e.score>=r);if(d.length>0||s.length===0)return d.slice(0,i);let f=Math.min(r,a.textWeight),p=new Set(s.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return u.filter(e=>p.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=f).slice(0,i)}async searchVector(e,t){return this.provider?(await Yn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return Jt(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await Zn({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:Yt})).map(e=>e)}mergeHybridResults(e){return Xt({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=O.isAbsolute(t)?O.resolve(t):O.resolve(this.workspaceDir,t),r=O.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!O.isAbsolute(r)&&ye(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=w(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await D.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${O.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await we(n)).missing)return{text:``,path:r};let o;try{o=await D.readFile(n,`utf-8`)}catch(e){if(_(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let s=o.split(`
69
69
  `),c=Math.max(1,e.from??1),l=Math.max(1,e.lines??s.length);return{text:s.slice(c-1,c-1+l).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};export{Qn as n,ze as r,$n as t};
71
+ //# sourceMappingURL=manager-CbGA_JDa.js.map
@@ -68,3 +68,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Dd7r1qlB.cjs`),n=requ
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:s.g(e.embedding),source:e.source}))}async function on(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,i=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...i,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:r.E(t.text,e.snippetMaxChars),source:t.source}})}const Z=r.O(`memory`),Q=new Map,$=new Map;async function sn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var cn=class e extends tn{static async get(n){let{cfg:r,agentId:i}=n,a=g(r,i);if(!a)return null;let o=t.W(r,i),s=`${i}:${o}:${JSON.stringify(a)}`,c=Q.get(s);if(c)return c;let l=$.get(s);if(l)return l;let u=(async()=>{let c=await Be({config:r,agentDir:t.V(r,i),provider:a.provider,remote:a.remote,model:a.model,outputDimensionality:a.outputDimensionality,fallback:a.fallback,local:a.local}),l=Q.get(s);if(l)return l;let u=new e({cacheKey:s,cfg:r,agentId:i,workspaceDir:o,settings:a,providerResult:c,purpose:n.purpose});return Q.set(s,u),u})();$.set(s,u);try{return await u}finally{$.get(s)===u&&$.delete(s)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=s.t(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),c=new Map;for(let e of a)for(let t of e){let e=c.get(t.id);(!e||t.score>e.score)&&c.set(t.id,t)}return[...c.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let c=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],l=await this.embedQueryWithTimeout(n),u=l.some(e=>e!==0)?await this.searchVector(l,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return u.filter(e=>e.score>=r).slice(0,i);let d=await this.mergeHybridResults({vector:u,keyword:c,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),f=d.filter(e=>e.score>=r);if(f.length>0||c.length===0)return f.slice(0,i);let p=Math.min(r,a.textWeight),m=new Set(c.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return d.filter(e=>m.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=p).slice(0,i)}async searchVector(e,t){return this.provider?(await rn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return it(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await on({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:at})).map(e=>e)}mergeHybridResults(e){return ot({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=c.default.isAbsolute(t)?c.default.resolve(t):c.default.resolve(this.workspaceDir,t),r=c.default.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!c.default.isAbsolute(r)&&s.p(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=s.h(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await d.default.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${c.default.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await s.w(n)).missing)return{text:``,path:r};let o;try{o=await d.default.readFile(n,`utf-8`)}catch(e){if(s.C(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let l=o.split(`
69
69
  `),u=Math.max(1,e.from??1),f=Math.max(1,e.lines??l.length);return{text:l.slice(u-1,u-1+f).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return cn}});
71
+ //# sourceMappingURL=manager-CdD7HaGW.cjs.map
@@ -68,3 +68,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Cqca1YmF.cjs`),n=requ
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:s.g(e.embedding),source:e.source}))}async function on(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,i=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...i,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:r.E(t.text,e.snippetMaxChars),source:t.source}})}const Z=r.O(`memory`),Q=new Map,$=new Map;async function sn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var cn=class e extends tn{static async get(n){let{cfg:r,agentId:i}=n,a=g(r,i);if(!a)return null;let o=t.W(r,i),s=`${i}:${o}:${JSON.stringify(a)}`,c=Q.get(s);if(c)return c;let l=$.get(s);if(l)return l;let u=(async()=>{let c=await Be({config:r,agentDir:t.V(r,i),provider:a.provider,remote:a.remote,model:a.model,outputDimensionality:a.outputDimensionality,fallback:a.fallback,local:a.local}),l=Q.get(s);if(l)return l;let u=new e({cacheKey:s,cfg:r,agentId:i,workspaceDir:o,settings:a,providerResult:c,purpose:n.purpose});return Q.set(s,u),u})();$.set(s,u);try{return await u}finally{$.get(s)===u&&$.delete(s)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=s.t(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),c=new Map;for(let e of a)for(let t of e){let e=c.get(t.id);(!e||t.score>e.score)&&c.set(t.id,t)}return[...c.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let c=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],l=await this.embedQueryWithTimeout(n),u=l.some(e=>e!==0)?await this.searchVector(l,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return u.filter(e=>e.score>=r).slice(0,i);let d=await this.mergeHybridResults({vector:u,keyword:c,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),f=d.filter(e=>e.score>=r);if(f.length>0||c.length===0)return f.slice(0,i);let p=Math.min(r,a.textWeight),m=new Set(c.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return d.filter(e=>m.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=p).slice(0,i)}async searchVector(e,t){return this.provider?(await rn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return it(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await on({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:at})).map(e=>e)}mergeHybridResults(e){return ot({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=c.default.isAbsolute(t)?c.default.resolve(t):c.default.resolve(this.workspaceDir,t),r=c.default.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!c.default.isAbsolute(r)&&s.p(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=s.h(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await d.default.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${c.default.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await s.w(n)).missing)return{text:``,path:r};let o;try{o=await d.default.readFile(n,`utf-8`)}catch(e){if(s.C(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let l=o.split(`
69
69
  `),u=Math.max(1,e.from??1),f=Math.max(1,e.lines??l.length);return{text:l.slice(u-1,u-1+f).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return cn}});
71
+ //# sourceMappingURL=manager-CmAH_a7A.cjs.map
@@ -68,3 +68,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-CIcxeNL-.cjs`),n=requ
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:s.g(e.embedding),source:e.source}))}async function on(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let r=e.providerModel?` AND model = ?`:``,i=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${r}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...i,...e.sourceFilter.params,e.limit).map(t=>{let r=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:r,textScore:r,snippet:n.S(t.text,e.snippetMaxChars),source:t.source}})}const Z=n.O(`memory`),Q=new Map,$=new Map;async function sn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var cn=class e extends tn{static async get(n){let{cfg:r,agentId:i}=n,a=g(r,i);if(!a)return null;let o=t.N(r,i),s=`${i}:${o}:${JSON.stringify(a)}`,c=Q.get(s);if(c)return c;let l=$.get(s);if(l)return l;let u=(async()=>{let c=await Be({config:r,agentDir:t.A(r,i),provider:a.provider,remote:a.remote,model:a.model,outputDimensionality:a.outputDimensionality,fallback:a.fallback,local:a.local}),l=Q.get(s);if(l)return l;let u=new e({cacheKey:s,cfg:r,agentId:i,workspaceDir:o,settings:a,providerResult:c,purpose:n.purpose});return Q.set(s,u),u})();$.set(s,u);try{return await u}finally{$.get(s)===u&&$.delete(s)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=s.t(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),c=new Map;for(let e of a)for(let t of e){let e=c.get(t.id);(!e||t.score>e.score)&&c.set(t.id,t)}return[...c.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let c=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],l=await this.embedQueryWithTimeout(n),u=l.some(e=>e!==0)?await this.searchVector(l,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return u.filter(e=>e.score>=r).slice(0,i);let d=await this.mergeHybridResults({vector:u,keyword:c,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),f=d.filter(e=>e.score>=r);if(f.length>0||c.length===0)return f.slice(0,i);let p=Math.min(r,a.textWeight),m=new Set(c.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return d.filter(e=>m.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=p).slice(0,i)}async searchVector(e,t){return this.provider?(await rn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return it(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await on({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:at})).map(e=>e)}mergeHybridResults(e){return ot({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=l.default.isAbsolute(t)?l.default.resolve(t):l.default.resolve(this.workspaceDir,t),r=l.default.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!l.default.isAbsolute(r)&&s.p(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=s.h(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await c.default.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${l.default.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await s.w(n)).missing)return{text:``,path:r};let o;try{o=await c.default.readFile(n,`utf-8`)}catch(e){if(s.C(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let u=o.split(`
69
69
  `),d=Math.max(1,e.from??1),f=Math.max(1,e.lines??u.length);return{text:u.slice(d-1,d-1+f).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return cn}});
71
+ //# sourceMappingURL=manager-DIS4ywpb.cjs.map
@@ -68,3 +68,4 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-Chp3zwtq.cjs`),n=requ
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:s.g(e.embedding),source:e.source}))}async function on(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let r=e.providerModel?` AND model = ?`:``,i=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${r}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...i,...e.sourceFilter.params,e.limit).map(t=>{let r=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:r,textScore:r,snippet:n.E(t.text,e.snippetMaxChars),source:t.source}})}const Z=n.O(`memory`),Q=new Map,$=new Map;async function sn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var cn=class e extends tn{static async get(n){let{cfg:r,agentId:i}=n,a=g(r,i);if(!a)return null;let o=t.W(r,i),s=`${i}:${o}:${JSON.stringify(a)}`,c=Q.get(s);if(c)return c;let l=$.get(s);if(l)return l;let u=(async()=>{let c=await Be({config:r,agentDir:t.V(r,i),provider:a.provider,remote:a.remote,model:a.model,outputDimensionality:a.outputDimensionality,fallback:a.fallback,local:a.local}),l=Q.get(s);if(l)return l;let u=new e({cacheKey:s,cfg:r,agentId:i,workspaceDir:o,settings:a,providerResult:c,purpose:n.purpose});return Q.set(s,u),u})();$.set(s,u);try{return await u}finally{$.get(s)===u&&$.delete(s)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=s.t(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),c=new Map;for(let e of a)for(let t of e){let e=c.get(t.id);(!e||t.score>e.score)&&c.set(t.id,t)}return[...c.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let c=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],l=await this.embedQueryWithTimeout(n),u=l.some(e=>e!==0)?await this.searchVector(l,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return u.filter(e=>e.score>=r).slice(0,i);let d=await this.mergeHybridResults({vector:u,keyword:c,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),f=d.filter(e=>e.score>=r);if(f.length>0||c.length===0)return f.slice(0,i);let p=Math.min(r,a.textWeight),m=new Set(c.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return d.filter(e=>m.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=p).slice(0,i)}async searchVector(e,t){return this.provider?(await rn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return it(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await on({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:at})).map(e=>e)}mergeHybridResults(e){return ot({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=l.default.isAbsolute(t)?l.default.resolve(t):l.default.resolve(this.workspaceDir,t),r=l.default.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!l.default.isAbsolute(r)&&s.p(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=s.h(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await d.default.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${l.default.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await s.w(n)).missing)return{text:``,path:r};let o;try{o=await d.default.readFile(n,`utf-8`)}catch(e){if(s.C(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let c=o.split(`
69
69
  `),u=Math.max(1,e.from??1),f=Math.max(1,e.lines??c.length);return{text:c.slice(u-1,u-1+f).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return cn}});
71
+ //# sourceMappingURL=manager-DQ2C-2IU.cjs.map
@@ -68,3 +68,4 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-BPlgbwrb.cjs`),n=requ
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:s.g(e.embedding),source:e.source}))}async function on(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,i=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...i,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:r.P(t.text,e.snippetMaxChars),source:t.source}})}const Z=r.a(`memory`),Q=new Map,$=new Map;async function sn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var cn=class e extends tn{static async get(n){let{cfg:r,agentId:i}=n,a=g(r,i);if(!a)return null;let o=t.J(r,i),s=`${i}:${o}:${JSON.stringify(a)}`,c=Q.get(s);if(c)return c;let l=$.get(s);if(l)return l;let u=(async()=>{let c=await Be({config:r,agentDir:t.G(r,i),provider:a.provider,remote:a.remote,model:a.model,outputDimensionality:a.outputDimensionality,fallback:a.fallback,local:a.local}),l=Q.get(s);if(l)return l;let u=new e({cacheKey:s,cfg:r,agentId:i,workspaceDir:o,settings:a,providerResult:c,purpose:n.purpose});return Q.set(s,u),u})();$.set(s,u);try{return await u}finally{$.get(s)===u&&$.delete(s)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=s.t(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),c=new Map;for(let e of a)for(let t of e){let e=c.get(t.id);(!e||t.score>e.score)&&c.set(t.id,t)}return[...c.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let c=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],l=await this.embedQueryWithTimeout(n),u=l.some(e=>e!==0)?await this.searchVector(l,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return u.filter(e=>e.score>=r).slice(0,i);let d=await this.mergeHybridResults({vector:u,keyword:c,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),f=d.filter(e=>e.score>=r);if(f.length>0||c.length===0)return f.slice(0,i);let p=Math.min(r,a.textWeight),m=new Set(c.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return d.filter(e=>m.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=p).slice(0,i)}async searchVector(e,t){return this.provider?(await rn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return it(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await on({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:at})).map(e=>e)}mergeHybridResults(e){return ot({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=l.default.isAbsolute(t)?l.default.resolve(t):l.default.resolve(this.workspaceDir,t),r=l.default.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!l.default.isAbsolute(r)&&s.p(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=s.h(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await d.default.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${l.default.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await s.w(n)).missing)return{text:``,path:r};let o;try{o=await d.default.readFile(n,`utf-8`)}catch(e){if(s.C(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let c=o.split(`
69
69
  `),u=Math.max(1,e.from??1),f=Math.max(1,e.lines??c.length);return{text:c.slice(u-1,u-1+f).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return cn}});
71
+ //# sourceMappingURL=manager-DdvFnsT7.cjs.map
@@ -68,3 +68,4 @@ import{B as e,V as t,W as n,o as r}from"./paths-piJASC5k.js";import{c as i}from"
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:pe(e.embedding),source:e.source}))}async function Zn(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,r=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...r,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:a(t.text,e.snippetMaxChars),source:t.source}})}const Z=o(`memory`),Q=new Map,$=new Map;async function Qn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var $n=class e extends qn{static async get(r){let{cfg:i,agentId:a}=r,o=ze(i,a);if(!o)return null;let s=n(i,a),c=`${a}:${s}:${JSON.stringify(o)}`,l=Q.get(c);if(l)return l;let u=$.get(c);if(u)return u;let d=(async()=>{let n=await At({config:i,agentDir:t(i,a),provider:o.provider,remote:o.remote,model:o.model,outputDimensionality:o.outputDimensionality,fallback:o.fallback,local:o.local}),l=Q.get(c);if(l)return l;let u=new e({cacheKey:c,cfg:i,agentId:a,workspaceDir:s,settings:o,providerResult:n,purpose:r.purpose});return Q.set(c,u),u})();$.set(c,d);try{return await d}finally{$.get(c)===d&&$.delete(c)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=Se(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),s=new Map;for(let e of a)for(let t of e){let e=s.get(t.id);(!e||t.score>e.score)&&s.set(t.id,t)}return[...s.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let s=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],c=await this.embedQueryWithTimeout(n),l=c.some(e=>e!==0)?await this.searchVector(c,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return l.filter(e=>e.score>=r).slice(0,i);let u=await this.mergeHybridResults({vector:l,keyword:s,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),d=u.filter(e=>e.score>=r);if(d.length>0||s.length===0)return d.slice(0,i);let f=Math.min(r,a.textWeight),p=new Set(s.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return u.filter(e=>p.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=f).slice(0,i)}async searchVector(e,t){return this.provider?(await Yn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return Jt(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await Zn({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:Yt})).map(e=>e)}mergeHybridResults(e){return Xt({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=D.isAbsolute(t)?D.resolve(t):D.resolve(this.workspaceDir,t),r=D.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!D.isAbsolute(r)&&ye(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=w(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await O.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${D.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await we(n)).missing)return{text:``,path:r};let o;try{o=await O.readFile(n,`utf-8`)}catch(e){if(_(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let s=o.split(`
69
69
  `),c=Math.max(1,e.from??1),l=Math.max(1,e.lines??s.length);return{text:s.slice(c-1,c-1+l).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};export{Qn as n,ze as r,$n as t};
71
+ //# sourceMappingURL=manager-DfdDglld.js.map
@@ -68,3 +68,4 @@ import{B as e,V as t,W as n,o as r}from"./paths-cBAF6Bj0.js";import{Ci as i,Sn a
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:fe(e.embedding),source:e.source}))}async function Zn(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,r=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...r,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:p(t.text,e.snippetMaxChars),source:t.source}})}const Z=m(`memory`),Q=new Map,$=new Map;async function Qn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var $n=class e extends qn{static async get(r){let{cfg:i,agentId:a}=r,o=Re(i,a);if(!o)return null;let s=n(i,a),c=`${a}:${s}:${JSON.stringify(o)}`,l=Q.get(c);if(l)return l;let u=$.get(c);if(u)return u;let d=(async()=>{let n=await kt({config:i,agentDir:t(i,a),provider:o.provider,remote:o.remote,model:o.model,outputDimensionality:o.outputDimensionality,fallback:o.fallback,local:o.local}),l=Q.get(c);if(l)return l;let u=new e({cacheKey:c,cfg:i,agentId:a,workspaceDir:s,settings:o,providerResult:n,purpose:r.purpose});return Q.set(c,u),u})();$.set(c,d);try{return await d}finally{$.get(c)===d&&$.delete(c)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=xe(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),s=new Map;for(let e of a)for(let t of e){let e=s.get(t.id);(!e||t.score>e.score)&&s.set(t.id,t)}return[...s.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let s=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],c=await this.embedQueryWithTimeout(n),l=c.some(e=>e!==0)?await this.searchVector(c,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return l.filter(e=>e.score>=r).slice(0,i);let u=await this.mergeHybridResults({vector:l,keyword:s,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),d=u.filter(e=>e.score>=r);if(d.length>0||s.length===0)return d.slice(0,i);let f=Math.min(r,a.textWeight),p=new Set(s.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return u.filter(e=>p.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=f).slice(0,i)}async searchVector(e,t){return this.provider?(await Yn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return qt(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await Zn({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:Jt})).map(e=>e)}mergeHybridResults(e){return Yt({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=O.isAbsolute(t)?O.resolve(t):O.resolve(this.workspaceDir,t),r=O.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!O.isAbsolute(r)&&ve(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=T(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await k.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${O.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await Ce(n)).missing)return{text:``,path:r};let o;try{o=await k.readFile(n,`utf-8`)}catch(e){if(v(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let s=o.split(`
69
69
  `),c=Math.max(1,e.from??1),l=Math.max(1,e.lines??s.length);return{text:s.slice(c-1,c-1+l).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};export{Qn as n,Re as r,$n as t};
71
+ //# sourceMappingURL=manager-MR9stU_p.js.map
@@ -68,3 +68,4 @@ import{G as e,J as t,W as n,o as r}from"./paths-J4JUiRsa.js";import{Er as i,Gt a
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:ue(e.embedding),source:e.source}))}async function Zn(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,r=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...r,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:h(t.text,e.snippetMaxChars),source:t.source}})}const Z=g(`memory`),Q=new Map,$=new Map;async function Qn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var $n=class n extends qn{static async get(r){let{cfg:i,agentId:a}=r,o=Le(i,a);if(!o)return null;let s=t(i,a),c=`${a}:${s}:${JSON.stringify(o)}`,l=Q.get(c);if(l)return l;let u=$.get(c);if(u)return u;let d=(async()=>{let t=await Ot({config:i,agentDir:e(i,a),provider:o.provider,remote:o.remote,model:o.model,outputDimensionality:o.outputDimensionality,fallback:o.fallback,local:o.local}),l=Q.get(c);if(l)return l;let u=new n({cacheKey:c,cfg:i,agentId:a,workspaceDir:s,settings:o,providerResult:t,purpose:r.purpose});return Q.set(c,u),u})();$.set(c,d);try{return await d}finally{$.get(c)===d&&$.delete(c)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=ye(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),s=new Map;for(let e of a)for(let t of e){let e=s.get(t.id);(!e||t.score>e.score)&&s.set(t.id,t)}return[...s.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let s=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],c=await this.embedQueryWithTimeout(n),l=c.some(e=>e!==0)?await this.searchVector(c,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return l.filter(e=>e.score>=r).slice(0,i);let u=await this.mergeHybridResults({vector:l,keyword:s,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),d=u.filter(e=>e.score>=r);if(d.length>0||s.length===0)return d.slice(0,i);let f=Math.min(r,a.textWeight),p=new Set(s.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return u.filter(e=>p.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=f).slice(0,i)}async searchVector(e,t){return this.provider?(await Yn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return Kt(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await Zn({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:qt})).map(e=>e)}mergeHybridResults(e){return Jt({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=k.isAbsolute(t)?k.resolve(t):k.resolve(this.workspaceDir,t),r=k.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!k.isAbsolute(r)&&ge(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=D(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await A.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${k.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await xe(n)).missing)return{text:``,path:r};let o;try{o=await A.readFile(n,`utf-8`)}catch(e){if(b(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let s=o.split(`
69
69
  `),c=Math.max(1,e.from??1),l=Math.max(1,e.lines??s.length);return{text:s.slice(c-1,c-1+l).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};export{Qn as n,Le as r,$n as t};
71
+ //# sourceMappingURL=manager-WwW37IUu.js.map
@@ -68,3 +68,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-D90l3h_o.cjs`),n=requ
68
68
  WHERE model = ?${e.sourceFilter.sql}`).all(e.providerModel,...e.sourceFilter.params).map(e=>({id:e.id,path:e.path,startLine:e.start_line,endLine:e.end_line,text:e.text,embedding:s.g(e.embedding),source:e.source}))}async function on(e){if(e.limit<=0)return[];let t=e.buildFtsQuery(e.query);if(!t)return[];let n=e.providerModel?` AND model = ?`:``,i=e.providerModel?[e.providerModel]:[];return e.db.prepare(`SELECT id, path, source, start_line, end_line, text,\n bm25(${e.ftsTable}) AS rank\n FROM ${e.ftsTable}\n WHERE ${e.ftsTable} MATCH ?${n}${e.sourceFilter.sql}\n ORDER BY rank ASC\n LIMIT ?`).all(t,...i,...e.sourceFilter.params,e.limit).map(t=>{let n=e.bm25RankToScore(t.rank);return{id:t.id,path:t.path,startLine:t.start_line,endLine:t.end_line,score:n,textScore:n,snippet:r.E(t.text,e.snippetMaxChars),source:t.source}})}const Z=r.O(`memory`),Q=new Map,$=new Map;async function sn(){let e=Array.from($.values());e.length>0&&await Promise.allSettled(e);let t=Array.from(Q.values());Q.clear();for(let e of t)try{await e.close()}catch(e){Z.warn(`failed to close memory index manager: ${String(e)}`)}}var cn=class e extends tn{static async get(n){let{cfg:r,agentId:i}=n,a=g(r,i);if(!a)return null;let o=t.W(r,i),s=`${i}:${o}:${JSON.stringify(a)}`,c=Q.get(s);if(c)return c;let l=$.get(s);if(l)return l;let u=(async()=>{let c=await Be({config:r,agentDir:t.V(r,i),provider:a.provider,remote:a.remote,model:a.model,outputDimensionality:a.outputDimensionality,fallback:a.fallback,local:a.local}),l=Q.get(s);if(l)return l;let u=new e({cacheKey:s,cfg:r,agentId:i,workspaceDir:o,settings:a,providerResult:c,purpose:n.purpose});return Q.set(s,u),u})();$.set(s,u);try{return await u}finally{$.get(s)===u&&$.delete(s)}}constructor(e){super(),this.batchFailureCount=0,this.batchFailureLock=Promise.resolve(),this.vectorReady=null,this.watcher=null,this.watchTimer=null,this.sessionWatchTimer=null,this.sessionUnsubscribe=null,this.intervalTimer=null,this.closed=!1,this.dirty=!1,this.sessionsDirty=!1,this.sessionsDirtyFiles=new Set,this.sessionPendingFiles=new Set,this.sessionDeltas=new Map,this.sessionWarm=new Set,this.syncing=null,this.readonlyRecoveryAttempts=0,this.readonlyRecoverySuccesses=0,this.readonlyRecoveryFailures=0,this.cacheKey=e.cacheKey,this.cfg=e.cfg,this.agentId=e.agentId,this.workspaceDir=e.workspaceDir,this.settings=e.settings,this.provider=e.providerResult.provider,this.requestedProvider=e.providerResult.requestedProvider,this.fallbackFrom=e.providerResult.fallbackFrom,this.fallbackReason=e.providerResult.fallbackReason,this.providerUnavailableReason=e.providerResult.providerUnavailableReason,this.openAi=e.providerResult.openAi,this.gemini=e.providerResult.gemini,this.voyage=e.providerResult.voyage,this.mistral=e.providerResult.mistral,this.ollama=e.providerResult.ollama,this.sources=new Set(e.settings.sources),this.db=this.openDatabase(),this.providerKey=this.computeProviderKey(),this.cache={enabled:e.settings.cache.enabled,maxEntries:e.settings.cache.maxEntries},this.fts={enabled:e.settings.query.hybrid.enabled,available:!1},this.ensureSchema(),this.vector={enabled:e.settings.store.vector.enabled,available:null,extensionPath:e.settings.store.vector.extensionPath};let t=this.readMeta();t?.vectorDims&&(this.vector.dims=t.vectorDims),this.ensureWatcher(),this.ensureSessionListener(),this.ensureIntervalSync();let n=e.purpose===`status`;this.dirty=this.sources.has(`memory`)&&(n?!t:!0),this.batch=this.resolveBatchConfig()}async warmSession(e){if(!this.settings.sync.onSessionStart)return;let t=e?.trim()||``;t&&this.sessionWarm.has(t)||(this.sync({reason:`session-start`}).catch(e=>{Z.warn(`memory sync failed (session-start): ${String(e)}`)}),t&&this.sessionWarm.add(t))}async search(e,t){this.warmSession(t?.sessionKey),this.settings.sync.onSearch&&(this.dirty||this.sessionsDirty)&&this.sync({reason:`search`}).catch(e=>{Z.warn(`memory sync failed (search): ${String(e)}`)});let n=e.trim();if(!n)return[];let r=t?.minScore??this.settings.query.minScore,i=t?.maxResults??this.settings.query.maxResults,a=this.settings.query.hybrid,o=Math.min(200,Math.max(1,Math.floor(i*a.candidateMultiplier)));if(!this.provider){if(!this.fts.enabled||!this.fts.available)return Z.warn(`memory search: no provider and FTS unavailable`),[];let e=s.t(n),t=e.length>0?e:[n],a=await Promise.all(t.map(e=>this.searchKeyword(e,o).catch(()=>[]))),c=new Map;for(let e of a)for(let t of e){let e=c.get(t.id);(!e||t.score>e.score)&&c.set(t.id,t)}return[...c.values()].toSorted((e,t)=>t.score-e.score).filter(e=>e.score>=r).slice(0,i)}let c=a.enabled&&this.fts.enabled&&this.fts.available?await this.searchKeyword(n,o).catch(()=>[]):[],l=await this.embedQueryWithTimeout(n),u=l.some(e=>e!==0)?await this.searchVector(l,o).catch(()=>[]):[];if(!a.enabled||!this.fts.enabled||!this.fts.available)return u.filter(e=>e.score>=r).slice(0,i);let d=await this.mergeHybridResults({vector:u,keyword:c,vectorWeight:a.vectorWeight,textWeight:a.textWeight,mmr:a.mmr,temporalDecay:a.temporalDecay}),f=d.filter(e=>e.score>=r);if(f.length>0||c.length===0)return f.slice(0,i);let p=Math.min(r,a.textWeight),m=new Set(c.map(e=>`${e.source}:${e.path}:${e.startLine}:${e.endLine}`));return d.filter(e=>m.has(`${e.source}:${e.path}:${e.startLine}:${e.endLine}`)&&e.score>=p).slice(0,i)}async searchVector(e,t){return this.provider?(await rn({db:this.db,vectorTable:`chunks_vec`,providerModel:this.provider.model,queryVec:e,limit:t,snippetMaxChars:700,ensureVectorReady:async e=>await this.ensureVectorReady(e),sourceFilterVec:this.buildSourceFilter(`c`),sourceFilterChunks:this.buildSourceFilter()})).map(e=>e):[]}buildFtsQuery(e){return it(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await on({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:at})).map(e=>e)}mergeHybridResults(e){return ot({vector:e.vector.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,vectorScore:e.score})),keyword:e.keyword.map(e=>({id:e.id,path:e.path,startLine:e.startLine,endLine:e.endLine,source:e.source,snippet:e.snippet,textScore:e.textScore})),vectorWeight:e.vectorWeight,textWeight:e.textWeight,mmr:e.mmr,temporalDecay:e.temporalDecay,workspaceDir:this.workspaceDir}).then(e=>e.map(e=>e))}async sync(e){if(!this.closed)return this.syncing?this.syncing:(this.syncing=this.runSyncWithReadonlyRecovery(e).finally(()=>{this.syncing=null}),this.syncing??Promise.resolve())}isReadonlyDbError(e){let t=/attempt to write a readonly database|database is read-only|SQLITE_READONLY/i,n=new Set,r=e=>{if(typeof e!=`string`)return;let t=e.trim();t&&n.add(t)};if(r(e instanceof Error?e.message:String(e)),e&&typeof e==`object`){let t=e;if(r(t.message),r(t.code),r(t.name),t.cause&&typeof t.cause==`object`){let e=t.cause;r(e.message),r(e.code),r(e.name)}}return[...n].some(e=>t.test(e))}extractErrorReason(e){if(e instanceof Error&&e.message.trim())return e.message;if(e&&typeof e==`object`){let t=e;if(typeof t.message==`string`&&t.message.trim())return t.message;if(typeof t.code==`string`&&t.code.trim())return t.code}return String(e)}async runSyncWithReadonlyRecovery(e){try{await this.runSync(e);return}catch(t){if(!this.isReadonlyDbError(t)||this.closed)throw t;let n=this.extractErrorReason(t);this.readonlyRecoveryAttempts+=1,this.readonlyRecoveryLastError=n,Z.warn(`memory sync readonly handle detected; reopening sqlite connection`,{reason:n});try{this.db.close()}catch{}this.db=this.openDatabase(),this.vectorReady=null,this.vector.available=null,this.vector.loadError=void 0,this.ensureSchema();let r=this.readMeta();this.vector.dims=r?.vectorDims;try{await this.runSync(e),this.readonlyRecoverySuccesses+=1}catch(e){throw this.readonlyRecoveryFailures+=1,e}}}async readFile(e){let t=e.relPath.trim();if(!t)throw Error(`path required`);let n=c.default.isAbsolute(t)?c.default.resolve(t):c.default.resolve(this.workspaceDir,t),r=c.default.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!c.default.isAbsolute(r)&&s.p(r),a=!1;if(!i&&this.settings.extraPaths.length>0){let e=s.h(this.workspaceDir,this.settings.extraPaths);for(let t of e)try{let e=await d.default.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${c.default.sep}`)){a=!0;break}continue}if(e.isFile()&&n===t&&n.endsWith(`.md`)){a=!0;break}}catch{}}if(!i&&!a||!n.endsWith(`.md`))throw Error(`path required`);if((await s.w(n)).missing)return{text:``,path:r};let o;try{o=await d.default.readFile(n,`utf-8`)}catch(e){if(s.C(e))return{text:``,path:r};throw e}if(!e.from&&!e.lines)return{text:o,path:r};let l=o.split(`
69
69
  `),u=Math.max(1,e.from??1),f=Math.max(1,e.lines??l.length);return{text:l.slice(u-1,u-1+f).join(`
70
70
  `),path:r}}status(){let e=this.buildSourceFilter(),t=this.db.prepare(`SELECT COUNT(*) as c FROM files WHERE 1=1${e.sql}`).get(...e.params),n=this.db.prepare(`SELECT COUNT(*) as c FROM chunks WHERE 1=1${e.sql}`).get(...e.params),r=(()=>{let t=Array.from(this.sources);if(t.length===0)return[];let n=new Map;for(let e of t)n.set(e,{files:0,chunks:0});let r=this.db.prepare(`SELECT source, COUNT(*) as c FROM files WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of r){let t=n.get(e.source)??{files:0,chunks:0};t.files=e.c??0,n.set(e.source,t)}let i=this.db.prepare(`SELECT source, COUNT(*) as c FROM chunks WHERE 1=1${e.sql} GROUP BY source`).all(...e.params);for(let e of i){let t=n.get(e.source)??{files:0,chunks:0};t.chunks=e.c??0,n.set(e.source,t)}return t.map(e=>Object.assign({source:e},n.get(e)))})(),i=this.provider?`hybrid`:`fts-only`,a=this.provider?{provider:this.provider.id,model:this.provider.model}:{provider:`none`,model:void 0};return{backend:`builtin`,files:t?.c??0,chunks:n?.c??0,dirty:this.dirty||this.sessionsDirty,workspaceDir:this.workspaceDir,dbPath:this.settings.store.path,provider:a.provider,model:a.model,requestedProvider:this.requestedProvider,sources:Array.from(this.sources),extraPaths:this.settings.extraPaths,sourceCounts:r,cache:this.cache.enabled?{enabled:!0,entries:this.db.prepare(`SELECT COUNT(*) as c FROM embedding_cache`).get()?.c??0,maxEntries:this.cache.maxEntries}:{enabled:!1,maxEntries:this.cache.maxEntries},fts:{enabled:this.fts.enabled,available:this.fts.available,error:this.fts.loadError},fallback:this.fallbackReason?{from:this.fallbackFrom??`local`,reason:this.fallbackReason}:void 0,vector:{enabled:this.vector.enabled,available:this.vector.available??void 0,extensionPath:this.vector.extensionPath,loadError:this.vector.loadError,dims:this.vector.dims},batch:{enabled:this.batch.enabled,failures:this.batchFailureCount,limit:2,wait:this.batch.wait,concurrency:this.batch.concurrency,pollIntervalMs:this.batch.pollIntervalMs,timeoutMs:this.batch.timeoutMs,lastError:this.batchFailureLastError,lastProvider:this.batchFailureLastProvider},custom:{searchMode:i,providerUnavailableReason:this.providerUnavailableReason,readonlyRecovery:{attempts:this.readonlyRecoveryAttempts,successes:this.readonlyRecoverySuccesses,failures:this.readonlyRecoveryFailures,lastError:this.readonlyRecoveryLastError}}}}async probeVectorAvailability(){return!this.provider||!this.vector.enabled?!1:this.ensureVectorReady()}async probeEmbeddingAvailability(){if(!this.provider)return{ok:!1,error:this.providerUnavailableReason??`No embedding provider available (FTS-only mode)`};try{return await this.embedBatchWithRetry([`ping`]),{ok:!0}}catch(e){return{ok:!1,error:e instanceof Error?e.message:String(e)}}}async close(){if(this.closed)return;this.closed=!0;let e=this.syncing;if(this.watchTimer&&=(clearTimeout(this.watchTimer),null),this.sessionWatchTimer&&=(clearTimeout(this.sessionWatchTimer),null),this.intervalTimer&&=(clearInterval(this.intervalTimer),null),this.watcher&&=(await this.watcher.close(),null),this.sessionUnsubscribe&&=(this.sessionUnsubscribe(),null),e)try{await e}catch{}this.db.close(),Q.delete(this.cacheKey)}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return sn}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return cn}});
71
+ //# sourceMappingURL=manager-gE9187gu.cjs.map
@@ -1,3 +1,4 @@
1
1
  Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`./paths-Bcdg3ma0.cjs`);const e=require(`./paths-CIcxeNL-.cjs`);require(`./utils-PPIvU9qw.cjs`);const t=require(`./model-auth-BwajGuoF.cjs`),n=require(`./target-errors-9cdJA1L2.cjs`),r=require(`./dispatch-mR2vLkGa.cjs`),i=require(`./send-CxMiTtxI.cjs`),a=require(`./send-CuX4LcJ3.cjs`);require(`./proxy-env-D48qBPAr.cjs`),require(`./github-copilot-token-C1O2cBqk.cjs`),require(`./send-DZr98eqE.cjs`);const o=require(`./fetch-guard-DLNzldn9.cjs`);require(`./deliver-C-tChWTI.cjs`),require(`./diagnostic-Cu1PGj0E.cjs`),require(`./pi-model-discovery-DMrqvV1O.cjs`),require(`./audio-transcription-runner-ClGibmMi.cjs`),require(`./image-DJyEMzkq.cjs`),require(`./api-key-rotation-Bj1A9Slo.cjs`),require(`./local-roots-D4i3H0UG.cjs`),require(`./proxy-fetch-BwXFVsHE.cjs`),require(`./tokens-CnB4dJmp.cjs`),require(`./commands-registry-DkUhCIDk.cjs`),require(`./fetch-CZewCAvu.cjs`),require(`./ir-DSuLr2UE.cjs`),require(`./render-g5VlmgpF.cjs`),require(`./channel-activity-CgXnZ0GC.cjs`),require(`./tables-Bk8lHaPx.cjs`),require(`./send-B3aEYvqG.cjs`),require(`./fetch-BN9y3kTg.cjs`),require(`./skill-commands-BoTeA376.cjs`),require(`./outbound-attachment-BDwI_tn0.cjs`),require(`./send-C4cyMW4S.cjs`),require(`./query-expansion-cpXCyoDy.cjs`),require(`./manager-DIS4ywpb.cjs`);let s=require(`node:util`),c=require(`zod`);const l=c.z.union([c.z.string(),c.z.number()]);c.z.array(l).optional();function u(e){let t=e;return typeof t.toJSONSchema==`function`?{schema:t.toJSONSchema({target:`draft-07`,unrepresentable:`any`})}:{schema:{type:`object`,additionalProperties:!0}}}const d={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`]},f=[`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`],p=[...new Set(Object.values(d).flatMap(e=>e))];[...new Set([...p,...f])];function m(e){return e instanceof Error&&typeof e.message==`string`&&e.message.trim()?e.message:String(e)}function h(e){return d[e]?.find(e=>e.trim().length>0)}function g(e){return`/providers/${t.Hi(e)}/apiKey`}async function _(e){let n=e.preferredEnvVar??h(e.provider)??``,r=g(e.provider),i=`env`;for(;;){let a=await e.prompter.select({message:e.copy?.sourceMessage??`Where is this API key stored?`,initialValue:i,options:[{value:`env`,label:`Environment variable`,hint:`Reference a variable from your runtime environment`},{value:`provider`,label:`Configured secret provider`,hint:`Use a configured file or exec secret provider`}]})===`provider`?`provider`:`env`;if(i=a,a===`env`){let r=await e.prompter.text({message:e.copy?.envVarMessage??`Environment variable name`,initialValue:n||void 0,placeholder:e.copy?.envVarPlaceholder??`OPENAI_API_KEY`,validate:n=>{let r=n.trim();if(!t.Ms(r))return e.copy?.envVarFormatError??`Use an env var name like "OPENAI_API_KEY" (uppercase letters, numbers, underscores).`;if(!process.env[r]?.trim())return e.copy?.envVarMissingError?.(r)??`Environment variable "${r}" is missing or empty in this session.`}}),i=String(r??``).trim(),a=i&&t.Ms(i)?i:n;if(!a)throw Error(`No valid environment variable name provided for provider "${e.provider}".`);let o={source:`env`,provider:t.Ds(e.config,`env`,{preferFirstProviderForSource:!0}),id:a},s=await t.Fi(o,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.envValidatedMessage?.(a)??`Validated environment variable ${a}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:o,resolvedValue:s}}let o=Object.entries(e.config.secrets?.providers??{}).filter(([,e])=>e?.source===`file`||e?.source===`exec`);if(o.length===0){await e.prompter.note(e.copy?.noProvidersMessage??`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`,`No providers configured`);continue}let s=t.Ds(e.config,`file`,{preferFirstProviderForSource:!0}),c=await e.prompter.select({message:`Select secret provider`,initialValue:o.find(([e])=>e===s)?.[0]??o[0]?.[0],options:o.map(([e,t])=>({value:e,label:e,hint:t?.source===`exec`?`Exec provider`:`File provider`}))}),l=e.config.secrets?.providers?.[c];if(!l||l.source!==`file`&&l.source!==`exec`){await e.prompter.note(`Provider "${c}" is not a file/exec provider.`,`Invalid provider`);continue}let u=l.source===`file`?`Secret id (JSON pointer for json mode, or 'value' for singleValue mode)`:`Secret id for the exec provider`,d=l.source===`file`?l.mode===`singleValue`?`value`:r:`${e.provider}/apiKey`,f=await e.prompter.text({message:u,initialValue:d,placeholder:l.source===`file`?`/providers/openai/apiKey`:`openai/api-key`,validate:e=>{let n=e.trim();if(!n)return`Secret id cannot be empty.`;if(l.source===`file`&&l.mode!==`singleValue`&&!t.Es(n))return`Use an absolute JSON pointer like "/providers/openai/apiKey".`;if(l.source===`file`&&l.mode===`singleValue`&&n!==`value`)return`singleValue mode expects id "value".`;if(l.source===`exec`&&!t.Ts(n))return t.ws()}}),p=String(f??``).trim()||d,h={source:l.source,provider:c,id:p};try{let n=await t.Fi(h,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.providerValidatedMessage?.(c,p,l.source)??`Validated ${l.source} reference ${c}:${p}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:h,resolvedValue:n}}catch(t){await e.prompter.note([`Could not validate provider reference ${c}:${p}.`,m(t),`Check your provider configuration and try again.`].join(`
2
2
  `),`Reference check failed`)}}}async function v(e){return e.explicitMode?e.explicitMode:typeof e.prompter.select==`function`&&await e.prompter.select({message:e.copy?.modeMessage??`How do you want to provide this API key?`,initialValue:`plaintext`,options:[{value:`plaintext`,label:e.copy?.plaintextLabel??`Paste API key now`,hint:e.copy?.plaintextHint??`Stores the key directly in OpenClaw config`},{value:`ref`,label:e.copy?.refLabel??`Use external secret provider`,hint:e.copy?.refHint??`Stores a reference to env or configured external secret providers`}]})===`ref`?`ref`:`plaintext`}function y(e,t){let n=e.channels?.[t];return!!(n?.accounts&&Object.keys(n.accounts).length>0)}function b(e){return e.alwaysUseAccounts||e.accountId!==`default`?!0:y(e.cfg,e.channelKey)}function x(t){let n=t.name?.trim();if(!n)return t.cfg;let r=e.Ot(t.accountId),i=t.cfg.channels?.[t.channelKey],a=typeof i==`object`&&i?i:void 0;if(!b({cfg:t.cfg,channelKey:t.channelKey,accountId:r,alwaysUseAccounts:t.alwaysUseAccounts})&&r===`default`){let e=a??{};return{...t.cfg,channels:{...t.cfg.channels,[t.channelKey]:{...e,name:n}}}}let o=a?.accounts??{},s=o[r]??{},c=r===`default`?(({name:e,...t})=>t)(a??{}):a??{};return{...t.cfg,channels:{...t.cfg.channels,[t.channelKey]:{...c,accounts:{...o,[r]:{...s,name:n}}}}}}function S(e){let t=(e??[]).map(e=>String(e).trim()).filter(Boolean);return t.includes(`*`)||t.push(`*`),t}function C(e,t){let n=[...e??[],...t].map(e=>String(e).trim()).filter(Boolean);return[...new Set(n)]}function w(e){return e.split(/[\n,;]+/g).map(e=>e.trim()).filter(Boolean)}function T(e){let t=e.cfg.channels?.[e.channel]??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channel]:{...t,...e.enabled?{enabled:!0}:{},groupPolicy:e.groupPolicy}}}}function E(e){return{accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,canUseEnv:e.allowEnv&&!!e.envValue?.trim()&&!e.hasConfigToken}}async function D(e){let t=async()=>String(await e.prompter.text({message:e.inputPrompt,validate:e=>e?.trim()?void 0:`Required`})).trim();return e.canUseEnv?await e.prompter.confirm({message:e.envPrompt,initialValue:!0})?{useEnv:!0,token:null}:{useEnv:!1,token:await t()}:e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0})?{useEnv:!1,token:null}:{useEnv:!1,token:await t()}}async function O(e){if(await v({prompter:e.prompter,explicitMode:e.secretInputMode,copy:{modeMessage:`How do you want to provide this ${e.credentialLabel}?`,plaintextLabel:`Enter ${e.credentialLabel}`,plaintextHint:`Stores the credential directly in OpenClaw config`,refLabel:`Use external secret provider`,refHint:`Stores a reference to env or configured external secret providers`}})===`plaintext`){let t=await D({prompter:e.prompter,accountConfigured:e.accountConfigured,canUseEnv:e.canUseEnv,hasConfigToken:e.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt});return t.useEnv?{action:`use-env`}:t.token?{action:`set`,value:t.token,resolvedValue:t.token}:{action:`keep`}}if(e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0}))return{action:`keep`};let t=await _({provider:e.providerHint,config:e.cfg,prompter:e.prompter,preferredEnvVar:e.preferredEnvVar,copy:{sourceMessage:`Where is this ${e.credentialLabel} stored?`,envVarPlaceholder:e.preferredEnvVar??`OPENCLAW_SECRET`,envVarFormatError:`Use an env var name like "OPENCLAW_SECRET" (uppercase letters, numbers, underscores).`,noProvidersMessage:`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`}});return{action:`set`,value:t.ref,resolvedValue:t.resolvedValue}}function k(e){return w(String(e??``))}function A(e){return e.map(e=>e.trim()).filter(Boolean).join(`, `)}async function j(e){let t=[{value:`allowlist`,label:`Allowlist (recommended)`}];e.allowOpen!==!1&&t.push({value:`open`,label:`Open (allow all channels)`}),e.allowDisabled!==!1&&t.push({value:`disabled`,label:`Disabled (block all channels)`});let n=e.currentPolicy??`allowlist`;return await e.prompter.select({message:`${e.label} access`,options:t,initialValue:n})}async function M(e){let t=e.currentEntries&&e.currentEntries.length>0?A(e.currentEntries):void 0;return k(await e.prompter.text({message:`${e.label} allowlist (comma-separated)`,placeholder:e.placeholder,initialValue:t}))}async function N(e){let t=(e.currentEntries??[]).length>0,n=e.defaultPrompt??!t;if(!await e.prompter.confirm({message:e.updatePrompt?`Update ${e.label} access?`:`Configure ${e.label} access?`,initialValue:n}))return null;let r=await j({prompter:e.prompter,label:e.label,currentPolicy:e.currentPolicy,allowOpen:e.allowOpen,allowDisabled:e.allowDisabled});return r===`allowlist`?{policy:r,entries:await M({prompter:e.prompter,label:e.label,currentEntries:e.currentEntries,placeholder:e.placeholder})}:{policy:r,entries:[]}}function P(){let e=c.z.string().regex(t.Cs,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`);return c.z.union([c.z.string(),c.z.discriminatedUnion(`source`,[c.z.object({source:c.z.literal(`env`),provider:e,id:c.z.string().regex(t.ks,`Env secret reference id must match /^[A-Z][A-Z0-9_]{0,127}$/ (example: "OPENAI_API_KEY").`)}),c.z.object({source:c.z.literal(`file`),provider:e,id:c.z.string().refine(t.Es,`File secret reference id must be an absolute JSON pointer (example: "/providers/openai/apiKey"), or "value" for singleValue mode.`)}),c.z.object({source:c.z.literal(`exec`),provider:e,id:c.z.string().refine(t.Ts,t.ws())})])])}function F(e){return{success:!1,error:{issues:[{path:[],message:e}]}}}function I(){return{safeParse(e){return e===void 0?{success:!0,data:void 0}:!e||typeof e!=`object`||Array.isArray(e)?F(`expected config object`):Object.keys(e).length>0?F(`config must be empty`):{success:!0,data:e}},jsonSchema:{type:`object`,additionalProperties:!1,properties:{}}}}function L(t){let n=e.Ot(t.accountId);return{accountId:n,readAllowFromStore:()=>t.core.channel.pairing.readAllowFromStore({channel:t.channel,accountId:n}),readStoreForDmPolicy:(n,r)=>t.core.channel.pairing.readAllowFromStore({channel:n,accountId:e.Ot(r)}),upsertPairingRequest:e=>t.core.channel.pairing.upsertPairingRequest({channel:t.channel,accountId:n,...e})}}function R(e){if(!(e.resolved.length===0&&e.unresolved.length===0))return[e.resolved.length>0?`Resolved: ${e.resolved.join(`, `)}`:void 0,e.unresolved.length>0?`Unresolved (kept as typed): ${e.unresolved.join(`, `)}`:void 0].filter(Boolean).join(`
3
3
  `)}async function z(e){let[n]=e.argv;if(!n)return{code:1,stdout:``,stderr:`command is required`};try{let n=await t._c(e.argv,{timeoutMs:e.timeoutMs,cwd:e.cwd,env:e.env}),r=n.termination===`timeout`||n.termination===`no-output-timeout`;return{code:n.code??1,stdout:n.stdout,stderr:r?n.stderr||`command timed out after ${e.timeoutMs}ms`:n.stderr}}catch(e){return{code:1,stdout:``,stderr:e instanceof Error?e.message:String(e)}}}async function B(e){return await r.t({dispatcher:e.dispatcher,onSettled:e.onSettled,run:()=>r.n({ctx:e.ctxPayload,cfg:e.cfg,dispatcher:e.dispatcher,replyOptions:e.replyOptions})})}function V(e){return{log:(...t)=>{e.logger.info((0,s.format)(...t))},error:(...t)=>{e.logger.error((0,s.format)(...t))},exit:t=>{throw e.exitError?.(t)??Error(`exit ${t}`)}}}function H(e){return e.runtime??V(e)}function U(e){return{configured:e.configured??!1,running:e.running??!1,lastStartAt:e.lastStartAt??null,lastStopAt:e.lastStopAt??null,lastError:e.lastError??null}}function W(e,t){return{...U(e),...t??{},probe:e.probe,lastProbeAt:e.lastProbeAt??null}}function G(e,t){return t.flatMap(t=>{let n=typeof t.lastError==`string`?t.lastError.trim():``;return n?[{channel:e,accountId:t.accountId,kind:`runtime`,message:`Channel error: ${n}`}]:[]})}exports.DEFAULT_ACCOUNT_ID=e.Dt,exports.GROUP_POLICY_BLOCKED_LABEL=a.At,exports.MarkdownConfigSchema=t.bs,exports.PAIRING_APPROVED_MESSAGE=`✅ OpenClaw access approved. Send a message to start chatting.`,exports.ToolPolicySchema=t.la,exports.addWildcardAllowFrom=S,exports.applyAccountNameToChannelSection=x,exports.buildChannelConfigSchema=u,exports.buildChannelKeyCandidates=a.It,exports.buildProbeChannelStatusSummary=W,exports.buildSecretInputSchema=P,exports.buildSingleChannelSecretPromptState=E,exports.collectStatusIssuesFromLastError=G,exports.compileAllowlist=r.rt,exports.createAccountListHelpers=t.tc,exports.createActionGate=n.o,exports.createLoggerBackedRuntime=V,exports.createReplyPrefixOptions=r.Y,exports.createScopedPairingAccess=L,exports.createTypingCallbacks=r.J,exports.deleteAccountFromConfigSection=t.sc,exports.dispatchReplyFromConfigWithSettledDispatcher=B,exports.emptyPluginConfigSchema=I,exports.evaluateGroupRouteAccessForPolicy=a.Dt,exports.fetchWithSsrFGuard=o.t,exports.formatAllowlistMatchMeta=r.it,exports.formatDocsLink=r.H,exports.formatLocationText=i.ct,exports.formatPairingApproveHint=t.ic,exports.formatResolvedUnresolvedNote=R,exports.hasConfiguredSecretInput=t.js,exports.issuePairingChallenge=r.q,exports.jsonResult=n.l,exports.logInboundDrop=r.Q,exports.logTypingFailure=r.$,exports.mergeAllowFromEntries=C,exports.mergeAllowlist=r.tt,exports.normalizeAccountId=e.Ot,exports.normalizeResolvedSecretInputString=t.Ns,exports.normalizeSecretInputString=t.Ps,exports.normalizeStringEntries=e.ft,exports.promptChannelAccessConfig=N,exports.promptSingleChannelSecretInput=O,exports.readNumberParam=n.d,exports.readReactionParams=n.f,exports.readStoreAllowFromForDmPolicy=r.U,exports.readStringParam=n.h,exports.resolveAllowlistCandidates=r.at,exports.resolveAllowlistMatchByCandidates=r.ot,exports.resolveAllowlistProviderRuntimeGroupPolicy=a.jt,exports.resolveChannelEntryMatch=a.Rt,exports.resolveControlCommandGate=r.et,exports.resolveDefaultGroupPolicy=a.Mt,exports.resolveDmGroupAccessWithLists=r.G,exports.resolveInboundSessionEnvelopeContext=r.l,exports.resolveRuntimeEnv=H,exports.resolveSenderScopedGroupPolicy=a.kt,exports.runPluginCommandWithTimeout=z,exports.setAccountEnabledInConfigSection=t.cc,exports.setTopLevelChannelGroupPolicy=T,exports.summarizeMapping=r.nt,exports.toLocationContext=i.lt,exports.warnMissingProviderGroupPolicyFallbackOnce=a.Pt;
4
+ //# sourceMappingURL=matrix.cjs.map
@@ -1,3 +1,4 @@
1
1
  import{Dt as e,Ot as t,ft as n}from"./paths-CXgWvWAM.js";import"./utils-BJtJR72k.js";import"./paths-rO4ehkyU.js";import{As as r,Cs as i,Ds as a,Os as o,Pi as s,Ss as c,Ts as l,Vi as u,Zs as d,bs as f,ca as p,ec as m,gs as h,ic as g,ks as _,pc as v,rc as ee,xs as y,ys as te}from"./model-auth-Cw3fuhm_.js";import{d as ne,f as re,h as ie,l as ae,o as oe}from"./target-errors-DXqwykNX.js";import{$ as b,G as x,H as S,J as C,Q as w,U as T,Y as E,at as D,et as O,it as k,l as A,n as j,nt as M,ot as N,q as P,rt as F,t as I,tt as L}from"./dispatch-DCSwqteL.js";import{ct as R,lt as z}from"./send-DPgRTM8s.js";import{At as B,Dt as V,It as H,Mt as U,Pt as W,Rt as G,jt as K,kt as q}from"./send-BrAHLYBR.js";import"./proxy-env-m9eG3uZN.js";import"./github-copilot-token-C8j8_NjX.js";import"./send-DvDCmTQf.js";import{t as se}from"./fetch-guard-DXe8oqEE.js";import"./deliver-B0fB4hAV.js";import"./diagnostic-vsjHZ_fY.js";import"./pi-model-discovery-Bor7jHYd.js";import"./audio-transcription-runner-BLAxZL-U.js";import"./image-CDI5SqeR.js";import"./api-key-rotation-DaFFZfk5.js";import"./local-roots-Ca8KoAAp.js";import"./proxy-fetch-YCVHz7Rl.js";import"./tokens-DgPZk2Uu.js";import"./commands-registry-kRjFifgj.js";import"./fetch-B1GR6-u4.js";import"./ir-8rDh7div.js";import"./render-Djx15dPh.js";import"./channel-activity-BRHvpV0C.js";import"./tables-XYb3T-vE.js";import"./send-Bt2eFBk2.js";import"./fetch-J0IzopiJ.js";import"./skill-commands-BwrYJu7Z.js";import"./outbound-attachment-CfN9OvMC.js";import"./send-A2s5sPTd.js";import"./query-expansion-Cb2vnF6y.js";import"./manager-CbGA_JDa.js";import{format as J}from"node:util";import{z as Y}from"zod";const ce=Y.union([Y.string(),Y.number()]);Y.array(ce).optional();function le(e){let t=e;return typeof t.toJSONSchema==`function`?{schema:t.toJSONSchema({target:`draft-07`,unrepresentable:`any`})}:{schema:{type:`object`,additionalProperties:!0}}}const X={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`]},ue=[`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`],de=[...new Set(Object.values(X).flatMap(e=>e))];[...new Set([...de,...ue])];function fe(e){return e instanceof Error&&typeof e.message==`string`&&e.message.trim()?e.message:String(e)}function pe(e){return X[e]?.find(e=>e.trim().length>0)}function me(e){return`/providers/${u(e)}/apiKey`}async function he(e){let t=e.preferredEnvVar??pe(e.provider)??``,n=me(e.provider),r=`env`;for(;;){let a=await e.prompter.select({message:e.copy?.sourceMessage??`Where is this API key stored?`,initialValue:r,options:[{value:`env`,label:`Environment variable`,hint:`Reference a variable from your runtime environment`},{value:`provider`,label:`Configured secret provider`,hint:`Use a configured file or exec secret provider`}]})===`provider`?`provider`:`env`;if(r=a,a===`env`){let n=await e.prompter.text({message:e.copy?.envVarMessage??`Environment variable name`,initialValue:t||void 0,placeholder:e.copy?.envVarPlaceholder??`OPENAI_API_KEY`,validate:t=>{let n=t.trim();if(!o(n))return e.copy?.envVarFormatError??`Use an env var name like "OPENAI_API_KEY" (uppercase letters, numbers, underscores).`;if(!process.env[n]?.trim())return e.copy?.envVarMissingError?.(n)??`Environment variable "${n}" is missing or empty in this session.`}}),r=String(n??``).trim(),a=r&&o(r)?r:t;if(!a)throw Error(`No valid environment variable name provided for provider "${e.provider}".`);let c={source:`env`,provider:i(e.config,`env`,{preferFirstProviderForSource:!0}),id:a},l=await s(c,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.envValidatedMessage?.(a)??`Validated environment variable ${a}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:c,resolvedValue:l}}let l=Object.entries(e.config.secrets?.providers??{}).filter(([,e])=>e?.source===`file`||e?.source===`exec`);if(l.length===0){await e.prompter.note(e.copy?.noProvidersMessage??`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`,`No providers configured`);continue}let u=i(e.config,`file`,{preferFirstProviderForSource:!0}),d=await e.prompter.select({message:`Select secret provider`,initialValue:l.find(([e])=>e===u)?.[0]??l[0]?.[0],options:l.map(([e,t])=>({value:e,label:e,hint:t?.source===`exec`?`Exec provider`:`File provider`}))}),p=e.config.secrets?.providers?.[d];if(!p||p.source!==`file`&&p.source!==`exec`){await e.prompter.note(`Provider "${d}" is not a file/exec provider.`,`Invalid provider`);continue}let m=p.source===`file`?`Secret id (JSON pointer for json mode, or 'value' for singleValue mode)`:`Secret id for the exec provider`,h=p.source===`file`?p.mode===`singleValue`?`value`:n:`${e.provider}/apiKey`,g=await e.prompter.text({message:m,initialValue:h,placeholder:p.source===`file`?`/providers/openai/apiKey`:`openai/api-key`,validate:e=>{let t=e.trim();if(!t)return`Secret id cannot be empty.`;if(p.source===`file`&&p.mode!==`singleValue`&&!c(t))return`Use an absolute JSON pointer like "/providers/openai/apiKey".`;if(p.source===`file`&&p.mode===`singleValue`&&t!==`value`)return`singleValue mode expects id "value".`;if(p.source===`exec`&&!y(t))return f()}}),_=String(g??``).trim()||h,v={source:p.source,provider:d,id:_};try{let t=await s(v,{config:e.config,env:process.env});return await e.prompter.note(e.copy?.providerValidatedMessage?.(d,_,p.source)??`Validated ${p.source} reference ${d}:${_}. OpenClaw will store a reference, not the key value.`,`Reference validated`),{ref:v,resolvedValue:t}}catch(t){await e.prompter.note([`Could not validate provider reference ${d}:${_}.`,fe(t),`Check your provider configuration and try again.`].join(`
2
2
  `),`Reference check failed`)}}}async function ge(e){return e.explicitMode?e.explicitMode:typeof e.prompter.select==`function`&&await e.prompter.select({message:e.copy?.modeMessage??`How do you want to provide this API key?`,initialValue:`plaintext`,options:[{value:`plaintext`,label:e.copy?.plaintextLabel??`Paste API key now`,hint:e.copy?.plaintextHint??`Stores the key directly in OpenClaw config`},{value:`ref`,label:e.copy?.refLabel??`Use external secret provider`,hint:e.copy?.refHint??`Stores a reference to env or configured external secret providers`}]})===`ref`?`ref`:`plaintext`}function _e(e,t){let n=e.channels?.[t];return!!(n?.accounts&&Object.keys(n.accounts).length>0)}function ve(e){return e.alwaysUseAccounts||e.accountId!==`default`?!0:_e(e.cfg,e.channelKey)}function ye(e){let n=e.name?.trim();if(!n)return e.cfg;let r=t(e.accountId),i=e.cfg.channels?.[e.channelKey],a=typeof i==`object`&&i?i:void 0;if(!ve({cfg:e.cfg,channelKey:e.channelKey,accountId:r,alwaysUseAccounts:e.alwaysUseAccounts})&&r===`default`){let t=a??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...t,name:n}}}}let o=a?.accounts??{},s=o[r]??{},c=r===`default`?(({name:e,...t})=>t)(a??{}):a??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channelKey]:{...c,accounts:{...o,[r]:{...s,name:n}}}}}}function be(e){let t=(e??[]).map(e=>String(e).trim()).filter(Boolean);return t.includes(`*`)||t.push(`*`),t}function xe(e,t){let n=[...e??[],...t].map(e=>String(e).trim()).filter(Boolean);return[...new Set(n)]}function Se(e){return e.split(/[\n,;]+/g).map(e=>e.trim()).filter(Boolean)}function Ce(e){let t=e.cfg.channels?.[e.channel]??{};return{...e.cfg,channels:{...e.cfg.channels,[e.channel]:{...t,...e.enabled?{enabled:!0}:{},groupPolicy:e.groupPolicy}}}}function we(e){return{accountConfigured:e.accountConfigured,hasConfigToken:e.hasConfigToken,canUseEnv:e.allowEnv&&!!e.envValue?.trim()&&!e.hasConfigToken}}async function Te(e){let t=async()=>String(await e.prompter.text({message:e.inputPrompt,validate:e=>e?.trim()?void 0:`Required`})).trim();return e.canUseEnv?await e.prompter.confirm({message:e.envPrompt,initialValue:!0})?{useEnv:!0,token:null}:{useEnv:!1,token:await t()}:e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0})?{useEnv:!1,token:null}:{useEnv:!1,token:await t()}}async function Ee(e){if(await ge({prompter:e.prompter,explicitMode:e.secretInputMode,copy:{modeMessage:`How do you want to provide this ${e.credentialLabel}?`,plaintextLabel:`Enter ${e.credentialLabel}`,plaintextHint:`Stores the credential directly in OpenClaw config`,refLabel:`Use external secret provider`,refHint:`Stores a reference to env or configured external secret providers`}})===`plaintext`){let t=await Te({prompter:e.prompter,accountConfigured:e.accountConfigured,canUseEnv:e.canUseEnv,hasConfigToken:e.hasConfigToken,envPrompt:e.envPrompt,keepPrompt:e.keepPrompt,inputPrompt:e.inputPrompt});return t.useEnv?{action:`use-env`}:t.token?{action:`set`,value:t.token,resolvedValue:t.token}:{action:`keep`}}if(e.hasConfigToken&&e.accountConfigured&&await e.prompter.confirm({message:e.keepPrompt,initialValue:!0}))return{action:`keep`};let t=await he({provider:e.providerHint,config:e.cfg,prompter:e.prompter,preferredEnvVar:e.preferredEnvVar,copy:{sourceMessage:`Where is this ${e.credentialLabel} stored?`,envVarPlaceholder:e.preferredEnvVar??`OPENCLAW_SECRET`,envVarFormatError:`Use an env var name like "OPENCLAW_SECRET" (uppercase letters, numbers, underscores).`,noProvidersMessage:`No file/exec secret providers are configured yet. Add one under secrets.providers, or select Environment variable.`}});return{action:`set`,value:t.ref,resolvedValue:t.resolvedValue}}function De(e){return Se(String(e??``))}function Oe(e){return e.map(e=>e.trim()).filter(Boolean).join(`, `)}async function ke(e){let t=[{value:`allowlist`,label:`Allowlist (recommended)`}];e.allowOpen!==!1&&t.push({value:`open`,label:`Open (allow all channels)`}),e.allowDisabled!==!1&&t.push({value:`disabled`,label:`Disabled (block all channels)`});let n=e.currentPolicy??`allowlist`;return await e.prompter.select({message:`${e.label} access`,options:t,initialValue:n})}async function Ae(e){let t=e.currentEntries&&e.currentEntries.length>0?Oe(e.currentEntries):void 0;return De(await e.prompter.text({message:`${e.label} allowlist (comma-separated)`,placeholder:e.placeholder,initialValue:t}))}async function je(e){let t=(e.currentEntries??[]).length>0,n=e.defaultPrompt??!t;if(!await e.prompter.confirm({message:e.updatePrompt?`Update ${e.label} access?`:`Configure ${e.label} access?`,initialValue:n}))return null;let r=await ke({prompter:e.prompter,label:e.label,currentPolicy:e.currentPolicy,allowOpen:e.allowOpen,allowDisabled:e.allowDisabled});return r===`allowlist`?{policy:r,entries:await Ae({prompter:e.prompter,label:e.label,currentEntries:e.currentEntries,placeholder:e.placeholder})}:{policy:r,entries:[]}}const Me=`✅ OpenClaw access approved. Send a message to start chatting.`;function Ne(){let e=Y.string().regex(te,`Secret reference provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`);return Y.union([Y.string(),Y.discriminatedUnion(`source`,[Y.object({source:Y.literal(`env`),provider:e,id:Y.string().regex(l,`Env secret reference id must match /^[A-Z][A-Z0-9_]{0,127}$/ (example: "OPENAI_API_KEY").`)}),Y.object({source:Y.literal(`file`),provider:e,id:Y.string().refine(c,`File secret reference id must be an absolute JSON pointer (example: "/providers/openai/apiKey"), or "value" for singleValue mode.`)}),Y.object({source:Y.literal(`exec`),provider:e,id:Y.string().refine(y,f())})])])}function Z(e){return{success:!1,error:{issues:[{path:[],message:e}]}}}function Pe(){return{safeParse(e){return e===void 0?{success:!0,data:void 0}:!e||typeof e!=`object`||Array.isArray(e)?Z(`expected config object`):Object.keys(e).length>0?Z(`config must be empty`):{success:!0,data:e}},jsonSchema:{type:`object`,additionalProperties:!1,properties:{}}}}function Fe(e){let n=t(e.accountId);return{accountId:n,readAllowFromStore:()=>e.core.channel.pairing.readAllowFromStore({channel:e.channel,accountId:n}),readStoreForDmPolicy:(n,r)=>e.core.channel.pairing.readAllowFromStore({channel:n,accountId:t(r)}),upsertPairingRequest:t=>e.core.channel.pairing.upsertPairingRequest({channel:e.channel,accountId:n,...t})}}function Q(e){if(!(e.resolved.length===0&&e.unresolved.length===0))return[e.resolved.length>0?`Resolved: ${e.resolved.join(`, `)}`:void 0,e.unresolved.length>0?`Unresolved (kept as typed): ${e.unresolved.join(`, `)}`:void 0].filter(Boolean).join(`
3
3
  `)}async function Ie(e){let[t]=e.argv;if(!t)return{code:1,stdout:``,stderr:`command is required`};try{let t=await v(e.argv,{timeoutMs:e.timeoutMs,cwd:e.cwd,env:e.env}),n=t.termination===`timeout`||t.termination===`no-output-timeout`;return{code:t.code??1,stdout:t.stdout,stderr:n?t.stderr||`command timed out after ${e.timeoutMs}ms`:t.stderr}}catch(e){return{code:1,stdout:``,stderr:e instanceof Error?e.message:String(e)}}}async function Le(e){return await I({dispatcher:e.dispatcher,onSettled:e.onSettled,run:()=>j({ctx:e.ctxPayload,cfg:e.cfg,dispatcher:e.dispatcher,replyOptions:e.replyOptions})})}function $(e){return{log:(...t)=>{e.logger.info(J(...t))},error:(...t)=>{e.logger.error(J(...t))},exit:t=>{throw e.exitError?.(t)??Error(`exit ${t}`)}}}function Re(e){return e.runtime??$(e)}function ze(e){return{configured:e.configured??!1,running:e.running??!1,lastStartAt:e.lastStartAt??null,lastStopAt:e.lastStopAt??null,lastError:e.lastError??null}}function Be(e,t){return{...ze(e),...t??{},probe:e.probe,lastProbeAt:e.lastProbeAt??null}}function Ve(e,t){return t.flatMap(t=>{let n=typeof t.lastError==`string`?t.lastError.trim():``;return n?[{channel:e,accountId:t.accountId,kind:`runtime`,message:`Channel error: ${n}`}]:[]})}export{e as DEFAULT_ACCOUNT_ID,B as GROUP_POLICY_BLOCKED_LABEL,h as MarkdownConfigSchema,Me as PAIRING_APPROVED_MESSAGE,p as ToolPolicySchema,be as addWildcardAllowFrom,ye as applyAccountNameToChannelSection,le as buildChannelConfigSchema,H as buildChannelKeyCandidates,Be as buildProbeChannelStatusSummary,Ne as buildSecretInputSchema,we as buildSingleChannelSecretPromptState,Ve as collectStatusIssuesFromLastError,F as compileAllowlist,d as createAccountListHelpers,oe as createActionGate,$ as createLoggerBackedRuntime,E as createReplyPrefixOptions,Fe as createScopedPairingAccess,C as createTypingCallbacks,ee as deleteAccountFromConfigSection,Le as dispatchReplyFromConfigWithSettledDispatcher,Pe as emptyPluginConfigSchema,V as evaluateGroupRouteAccessForPolicy,se as fetchWithSsrFGuard,k as formatAllowlistMatchMeta,S as formatDocsLink,R as formatLocationText,m as formatPairingApproveHint,Q as formatResolvedUnresolvedNote,a as hasConfiguredSecretInput,P as issuePairingChallenge,ae as jsonResult,w as logInboundDrop,b as logTypingFailure,xe as mergeAllowFromEntries,L as mergeAllowlist,t as normalizeAccountId,_ as normalizeResolvedSecretInputString,r as normalizeSecretInputString,n as normalizeStringEntries,je as promptChannelAccessConfig,Ee as promptSingleChannelSecretInput,ne as readNumberParam,re as readReactionParams,T as readStoreAllowFromForDmPolicy,ie as readStringParam,D as resolveAllowlistCandidates,N as resolveAllowlistMatchByCandidates,K as resolveAllowlistProviderRuntimeGroupPolicy,G as resolveChannelEntryMatch,O as resolveControlCommandGate,U as resolveDefaultGroupPolicy,x as resolveDmGroupAccessWithLists,A as resolveInboundSessionEnvelopeContext,Re as resolveRuntimeEnv,q as resolveSenderScopedGroupPolicy,Ie as runPluginCommandWithTimeout,g as setAccountEnabledInConfigSection,Ce as setTopLevelChannelGroupPolicy,M as summarizeMapping,z as toLocationContext,W as warnMissingProviderGroupPolicyFallbackOnce};
4
+ //# sourceMappingURL=matrix.js.map