@qqbrowser/openclaw-qbot 0.0.128 → 0.0.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account-lookup-CW-_CL7y.js +1 -1
- package/dist/acp-cli-01SGjPGi.js +1 -1
- package/dist/acp-cli-uxN405XG.js +1 -1
- package/dist/active-listener-BZ6loNaF.js +1 -1
- package/dist/active-listener-D8VOdVx3.js +1 -1
- package/dist/active-listener-DB5mhDuO.js +1 -1
- package/dist/active-listener-DeKRt_UV.js +1 -1
- package/dist/agent-scope-DAWJwFfl.js +1 -1
- package/dist/agent-scope-DXZc3eNT.js +1 -1
- package/dist/agents-BMh3ZeoB.js +1 -1
- package/dist/agents.config-B-0lZSmb.js +1 -1
- package/dist/agents.config-BDEN2Eph.js +1 -1
- package/dist/allow-from-B6dI7oz8.js +1 -1
- package/dist/allow-from-DEeVIPKS.js +1 -1
- package/dist/api-BeG0ObSq.js +1 -1
- package/dist/api-Dx8x1KTs.js +1 -1
- package/dist/api-key-rotation-C_MG2y1D.js +1 -1
- package/dist/api-key-rotation-D8WsZ43x.js +1 -1
- package/dist/api-key-rotation-DYYvcqSG.js +1 -1
- package/dist/api-key-rotation-dNu0GxPN.js +1 -1
- package/dist/arg-split-BOqSMBuf.js +1 -1
- package/dist/arg-split-DE5RqDHq.js +1 -1
- package/dist/audio-preflight--K4-eUVY.js +1 -1
- package/dist/audio-preflight-BKIm58PG.js +1 -1
- package/dist/audio-preflight-CAfi10dl.js +1 -1
- package/dist/audio-preflight-Xm0NL5JA.js +1 -1
- package/dist/audio-transcription-runner-BJNP7vB8.js +1 -1
- package/dist/audio-transcription-runner-BUsb6cqv.js +1 -1
- package/dist/audio-transcription-runner-C_31Yoq0.js +1 -1
- package/dist/audio-transcription-runner-CjKLRVPo.js +1 -1
- package/dist/audit-7DFnKINd.js +1 -1
- package/dist/audit-B6LsW3Ai.js +1 -1
- package/dist/audit-membership-runtime-BpRsMj5-.js +1 -1
- package/dist/audit-membership-runtime-BsfLZNBj.js +1 -1
- package/dist/audit-membership-runtime-DRHirRmx.js +1 -1
- package/dist/audit-membership-runtime-g0dEWJTp.js +1 -1
- package/dist/audit-membership-runtime-kdyToskD.js +1 -1
- package/dist/auth-choice-BNd2SNjJ.js +1 -1
- package/dist/auth-choice-C3aUWXx9.js +1 -1
- package/dist/auth-choice-DViEjgMg.js +1 -1
- package/dist/auth-choice-edozMf7r.js +1 -1
- package/dist/auth-choice-options-B3WQyS7I.js +1 -1
- package/dist/auth-choice-options-Dw14noox.js +1 -1
- package/dist/auth-choice-prompt-uegl56cf.js +1 -1
- package/dist/auth-choice-prompt-xYj13czb.js +1 -1
- package/dist/auth-choice.apply-helpers-CNLYnRxx.js +1 -1
- package/dist/auth-choice.apply-helpers-DCe5nTyP.js +1 -1
- package/dist/auth-profiles-BhXA8Jy2.js +1 -1
- package/dist/auth-token-C75IOb_K.js +1 -1
- package/dist/auth-token-CzgZf-ta.js +1 -1
- package/dist/banner-mIDEloRy.js +1 -1
- package/dist/bonjour-discovery-CpvzLjyB.js +1 -1
- package/dist/bonjour-discovery-wsh3Si1Q.js +1 -1
- package/dist/boolean-Ch3DfXPy.js +1 -1
- package/dist/boolean-D15s2V33.js +1 -1
- package/dist/boolean-DypnRoRK.js +1 -1
- package/dist/brew-COcDl8CB.js +1 -1
- package/dist/brew-DDPm_HfE.js +1 -1
- package/dist/browser-cli-BjzNbvF9.js +1 -1
- package/dist/browser-cli-CgHkgtgV.js +1 -1
- package/dist/build-info.json +2 -2
- package/dist/bundled/boot-md/handler.js +1 -1
- package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/call-BA3O_Qpl.js +1 -1
- package/dist/call-BQT0zCgv.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/channel-account-context-BMPAMZEv.js +1 -1
- package/dist/channel-account-context-DAcarnqW.js +1 -1
- package/dist/channel-activity-B04WbrrK.js +1 -1
- package/dist/channel-activity-BPRCQpI6.js +1 -1
- package/dist/channel-activity-D2VTmenR.js +1 -1
- package/dist/channel-activity-DHY5wAyl.js +1 -1
- package/dist/channel-activity-DYpm-0Cz.js +1 -1
- package/dist/channel-options-BYmHreMn.js +1 -1
- package/dist/channel-options-Cbv7VETu.js +1 -1
- package/dist/channel-selection-Ddyykqxv.js +1 -1
- package/dist/channel-selection-oRONo9z3.js +1 -1
- package/dist/channel-web-CK4RqVCH.js +1 -1
- package/dist/channel-web-Xw89Exy3.js +1 -1
- package/dist/channels/plugins/actions/discord.js +1 -1
- package/dist/channels/plugins/actions/signal.js +1 -1
- package/dist/channels/plugins/actions/telegram.js +1 -1
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -1
- package/dist/channels-cli-D2y5Xk5i.js +1 -1
- package/dist/channels-cli-cwFjBXcP.js +1 -1
- package/dist/channels-status-issues-8eFrGKyf.js +1 -1
- package/dist/channels-status-issues-PRgOT90w.js +1 -1
- package/dist/chat-envelope-Bznn2SoS.js +1 -1
- package/dist/chat-envelope-HVpKusFc.js +1 -1
- package/dist/clack-prompter-DBPdGdqp.js +1 -1
- package/dist/clack-prompter-Dq0aY6iM.js +1 -1
- package/dist/clawbot-cli-BwG1-8A9.js +1 -1
- package/dist/clawbot-cli-CaNu5A0G.js +1 -1
- package/dist/cleanup-utils-BWm70DoD.js +1 -1
- package/dist/cleanup-utils-D-RhEX6F.js +1 -1
- package/dist/cli-CQKA38bc.js +1 -1
- package/dist/cli-i7P4bYBg.js +1 -1
- package/dist/cli-utils-BY7dLMFy.js +1 -1
- package/dist/cli-utils-BleB1eys.js +1 -1
- package/dist/clipboard-Bk8cviBt.js +1 -1
- package/dist/clipboard-CKT_VIkG.js +1 -1
- package/dist/cmd-argv-BBT5l8AV.js +1 -1
- package/dist/cmd-argv-Bh-KpaZ0.js +1 -1
- package/dist/command-format-BbDT1tlm.js +1 -1
- package/dist/command-format-CLxIPuLR.js +1 -1
- package/dist/command-options-BpOUDl2S.js +1 -1
- package/dist/command-options-Bq5nQxz6.js +1 -1
- package/dist/command-poll-backoff-BZLHYB2k.js +1 -1
- package/dist/command-poll-backoff-Cww_r-24.js +1 -1
- package/dist/command-poll-backoff-Df6cOQrX.js +1 -1
- package/dist/command-poll-backoff-endAPdwn.js +1 -1
- package/dist/command-registry-BYk36N_R.js +1 -1
- package/dist/command-secret-targets-BBTiqQKa.js +1 -1
- package/dist/command-secret-targets-KM3OecbM.js +1 -1
- package/dist/commands-CGpM84iR.js +1 -1
- package/dist/commands-Dy7duWlt.js +1 -1
- package/dist/commands-registry-B3FI6TSl.js +1 -1
- package/dist/commands-registry-CxDVU5s9.js +1 -1
- package/dist/commands-registry-Dn2uuNuy.js +1 -1
- package/dist/commands-registry-Du79fdAL.js +1 -1
- package/dist/compact-CuBCVnVS.js +1 -1
- package/dist/completion-cli-CRNTbZlR.js +1 -1
- package/dist/completion-cli-DbGDCoiM.js +1 -1
- package/dist/config-BqW5S1xL.js +1 -1
- package/dist/config-DAQjvwZw.js +1 -1
- package/dist/config-cli-D_coAWd9.js +1 -1
- package/dist/config-cli-EKXoNzLf.js +1 -1
- package/dist/config-guard-U0wlYLUN.js +1 -1
- package/dist/config-guard-XayIkveC.js +1 -1
- package/dist/config-validation-B0nN9egx.js +1 -1
- package/dist/config-validation-CAHnpjrk.js +1 -1
- package/dist/configure-DNnQRKy8.js +1 -1
- package/dist/configure-NCNskZPe.js +1 -1
- package/dist/connection-auth-BcPbGyxw.js +1 -1
- package/dist/connection-auth-DZ-3Svr_.js +1 -1
- package/dist/context-window-guard-7crlatf9.js +1 -1
- package/dist/context-window-guard-CPChk363.js +1 -1
- package/dist/control-ui/apple-touch-icon.png +0 -0
- package/dist/control-ui/assets/de-DuUYLvt1.js +1 -0
- package/dist/control-ui/assets/es-DHtyqUQZ.js +1 -0
- package/dist/control-ui/assets/index-CYbiPp9k.js +8383 -0
- package/dist/control-ui/assets/index-C_GaJ8wS.css +1 -0
- package/dist/control-ui/assets/pt-BR-D2dJb9G8.js +1 -0
- package/dist/control-ui/assets/zh-CN-BgJ8_lE3.js +1 -0
- package/dist/control-ui/assets/zh-TW-cW5xB87I.js +1 -0
- package/dist/control-ui/favicon-32.png +0 -0
- package/dist/control-ui/favicon.ico +0 -0
- package/dist/control-ui/favicon.svg +22 -0
- package/dist/control-ui/index.html +17 -0
- package/dist/control-ui-assets-BIa0GGDg.js +1 -1
- package/dist/control-ui-assets-CTHGGgaX.js +1 -1
- package/dist/cron-cli-Cro66JtU.js +1 -1
- package/dist/cron-cli-DIeBukvk.js +1 -1
- package/dist/daemon-cli-Cw_fxNgE.js +1 -1
- package/dist/daemon-cli-DQsKS3pT.js +1 -1
- package/dist/daemon-cli.js +1 -1
- package/dist/daemon-install-C_DmJEkV.js +1 -1
- package/dist/daemon-install-D1DacLbM.js +1 -1
- package/dist/daemon-install-plan.shared-BSDdwWjB.js +1 -1
- package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -1
- package/dist/daemon-runtime-DHiDbRuC.js +1 -1
- package/dist/daemon-runtime-VcpeBRJV.js +1 -1
- package/dist/dangerous-name-matching-BOmvAibz.js +1 -1
- package/dist/dangerous-name-matching-DtllRqBD.js +1 -1
- package/dist/dangerous-tools-CFRYQJ6V.js +1 -1
- package/dist/dangerous-tools-oYCu5wfC.js +1 -1
- package/dist/deliver-2c-EsQ_W.js +1 -1
- package/dist/deliver-BudDnEIb.js +1 -1
- package/dist/deliver-COKdxPmA.js +1 -1
- package/dist/deliver-DHP2vHKB.js +1 -1
- package/dist/delivery-queue-CKbauSFq.js +1 -1
- package/dist/delivery-queue-nkPJu0fY.js +1 -1
- package/dist/device-pairing-4eDo43Kk.js +1 -1
- package/dist/device-pairing-B7ZXiXp3.js +1 -1
- package/dist/devices-cli-BXUIb_UN.js +1 -1
- package/dist/devices-cli-D7PkbnHO.js +1 -1
- package/dist/diagnostic-Bzd5vlKH.js +1 -1
- package/dist/diagnostic-CFmHdXHP.js +1 -1
- package/dist/diagnostic-CW_Jv5UM.js +1 -1
- package/dist/diagnostic-Dza7-pMC.js +1 -1
- package/dist/diagnostics-BgbeL9KE.js +1 -1
- package/dist/diagnostics-Cdctg9K_.js +1 -1
- package/dist/directory-cli-CxeuNJcC.js +1 -1
- package/dist/directory-cli-DFlYCB5L.js +1 -1
- package/dist/dns-cli-BDbHznhi.js +1 -1
- package/dist/dns-cli-OuwliJ60.js +1 -1
- package/dist/docs-cli-Cdw9Iz9a.js +1 -1
- package/dist/docs-cli-ClD2UyX1.js +1 -1
- package/dist/doctor-completion-BSOX-LSq.js +1 -1
- package/dist/doctor-completion-DXqdpdlo.js +1 -1
- package/dist/doctor-config-flow-DHB8N7tT.js +1 -1
- package/dist/doctor-config-flow-MjfHBDlw.js +1 -1
- package/dist/enable-DVuqWT2a.js +1 -1
- package/dist/enable-DWaSH1HY.js +1 -1
- package/dist/entry-status-CCwwKO43.js +1 -1
- package/dist/entry-status-CoXkbJcX.js +1 -1
- package/dist/entry.js +1 -1
- package/dist/env-D7wNuBx1.js +1 -1
- package/dist/env-overrides-DHtB4kK3.js +1 -1
- package/dist/env-overrides-DXJbFrwI.js +1 -1
- package/dist/errors-6SQWM9dj.js +1 -1
- package/dist/errors-Bunti32V.js +1 -1
- package/dist/exec-B3eleY5O.js +1 -1
- package/dist/exec-DHqLtFYt.js +1 -1
- package/dist/exec-approvals-BXO9Cezj.js +1 -1
- package/dist/exec-approvals-BpBNEy6i.js +1 -1
- package/dist/exec-approvals-allowlist-BKFaHvA5.js +1 -1
- package/dist/exec-approvals-allowlist-DBh9Pm77.js +1 -1
- package/dist/exec-approvals-cli-0neCwpk-.js +1 -1
- package/dist/exec-approvals-cli-BuHSw09B.js +1 -1
- package/dist/exec-safe-bin-runtime-policy-Ck3GO5AB.js +1 -1
- package/dist/exec-safe-bin-runtime-policy-D2WexijZ.js +1 -1
- package/dist/fetch-BI3CnKE3.js +1 -1
- package/dist/fetch-BJT3BrkJ.js +1 -1
- package/dist/fetch-Bn0mWg6a.js +1 -1
- package/dist/fetch-CY5G3PDq.js +1 -1
- package/dist/fetch-Ce-scEU-.js +1 -1
- package/dist/fetch-D0rZDHKO.js +1 -1
- package/dist/fetch-DHo17YmK.js +1 -1
- package/dist/fetch-Dh-apy46.js +1 -1
- package/dist/fetch-Dikjvc5M.js +1 -1
- package/dist/fetch-DsjPfQlp.js +1 -1
- package/dist/fetch-_g8lZ8K8.js +1 -1
- package/dist/fetch-guard-BaRbr_V6.js +1 -1
- package/dist/fetch-guard-BmNIhXP-.js +1 -1
- package/dist/fetch-guard-ChVqc0HF.js +1 -1
- package/dist/fetch-guard-Cji70DJW.js +1 -1
- package/dist/fetch-hy0JKSsm.js +1 -1
- package/dist/fetch-timeout-CdYxWG9w.js +1 -1
- package/dist/fetch-timeout-Cj8_oAls.js +1 -1
- package/dist/fetch-timeout-DoOI_izT.js +1 -1
- package/dist/fetch-timeout-u8g99Ax0.js +1 -1
- package/dist/fetch-xT2jRpqs.js +1 -1
- package/dist/format-Bn1bwJKX.js +1 -1
- package/dist/format-Ce7I7s-k.js +1 -1
- package/dist/format-duration-C8AzNqKh.js +1 -1
- package/dist/format-duration-D5AMtmHa.js +1 -1
- package/dist/format-relative-B9pSIdGe.js +1 -1
- package/dist/format-relative-DkMjYy7z.js +1 -1
- package/dist/frontmatter-BkZkwkVO.js +1 -1
- package/dist/frontmatter-C7mzDNxd.js +1 -1
- package/dist/frontmatter-CzpfPBFl.js +1 -1
- package/dist/gateway-cli-Bj-BYgGN.js +1 -1
- package/dist/gateway-cli-DP65otLl.js +1 -1
- package/dist/gateway-install-token-BIqlEgy0.js +1 -1
- package/dist/gateway-install-token-CtUJl3A3.js +1 -1
- package/dist/gateway-rpc-DJHjmEZz.js +1 -1
- package/dist/gateway-rpc-XRAMeV67.js +1 -1
- package/dist/github-copilot-token-C79yeDKS.js +1 -1
- package/dist/github-copilot-token-DGYAlOmV.js +1 -1
- package/dist/github-copilot-token-DePP-lIf.js +1 -1
- package/dist/github-copilot-token-wm6mbypz.js +1 -1
- package/dist/gmail-setup-utils-CYOH3zzx.js +1 -1
- package/dist/gmail-setup-utils-S-MyEGuj.js +1 -1
- package/dist/group-access-BHKVOhrj.js +1 -1
- package/dist/group-access-D2DOYMfr.js +1 -1
- package/dist/health-Bedsiigi.js +1 -1
- package/dist/health-Cy_CvKbX.js +1 -1
- package/dist/health-format-B1nj3Wfn.js +1 -1
- package/dist/health-format-VBr6LEpt.js +1 -1
- package/dist/heartbeat-visibility-BQ_esv2m.js +1 -1
- package/dist/heartbeat-visibility-q74UdY8O.js +1 -1
- package/dist/help-format-B4aEI7V9.js +1 -1
- package/dist/help-format-BRbF_INg.js +1 -1
- package/dist/helpers-COz1ghcB.js +1 -1
- package/dist/helpers-Cp8gcO6u.js +1 -1
- package/dist/hooks-cli-DrnH2iDk.js +1 -1
- package/dist/hooks-cli-DvfZKyZl.js +1 -1
- package/dist/hooks-status-BHt-Xvh4.js +1 -1
- package/dist/hooks-status-CRJ4J0ZW.js +1 -1
- package/dist/image-BJC11A7e.js +1 -1
- package/dist/image-BKPxWO_2.js +1 -1
- package/dist/image-Ba-mOMMV.js +1 -1
- package/dist/image-D-R3N1it.js +1 -1
- package/dist/index.js +1 -1
- package/dist/inspect-BKV-I1UE.js +1 -1
- package/dist/inspect-z59cgmYc.js +1 -1
- package/dist/install-safe-path-C6kc_8NW.js +1 -1
- package/dist/install-safe-path-iesxijn2.js +1 -1
- package/dist/installs-BNeI_oML.js +1 -1
- package/dist/installs-C1xQLuby.js +1 -1
- package/dist/ipv4-BXZDlz5C.js +1 -1
- package/dist/ipv4-BnPLbv6y.js +1 -1
- package/dist/ir-BYCrFFZ9.js +1 -1
- package/dist/ir-CH7YvSi9.js +1 -1
- package/dist/ir-CSysIkNU.js +1 -1
- package/dist/ir-CZdZsdnI.js +1 -1
- package/dist/is-main-DG5ueqhF.js +1 -1
- package/dist/issue-format-CpTuk_rQ.js +1 -1
- package/dist/issue-format-kj7FXHhi.js +1 -1
- package/dist/kill-tree-DBJW8_Q-.js +1 -1
- package/dist/lifecycle-core-B72WHNHV.js +1 -1
- package/dist/lifecycle-core-dhkH_Nux.js +1 -1
- package/dist/line/accounts.js +1 -1
- package/dist/line/send.js +1 -1
- package/dist/line/template-messages.js +1 -1
- package/dist/links-CBnmRP9D.js +1 -1
- package/dist/links-CySwdMcF.js +1 -1
- package/dist/llm-slug-generator.js +1 -1
- package/dist/load-options-BsOW74dp.js +1 -1
- package/dist/load-options-C7dLuybp.js +1 -1
- package/dist/load-options-DV4j6Aqb.js +1 -1
- package/dist/load-options-Dwt0CeEg.js +1 -1
- package/dist/local-roots-Dxioh0C2.js +1 -1
- package/dist/logger-5W0OocJW.js +1 -1
- package/dist/logger-Bl8URnrW.js +1 -1
- package/dist/logger-DwWqfo66.js +1 -1
- package/dist/logger-kQAOe3qp.js +1 -1
- package/dist/logging-Dz4Qg6th.js +1 -1
- package/dist/logging-KiJmOmw4.js +1 -1
- package/dist/login-BMZxDYaU.js +1 -1
- package/dist/login-BdzP8F8J.js +1 -1
- package/dist/login-BzU0cMck.js +1 -1
- package/dist/login-Cb1A6qwM.js +1 -1
- package/dist/login-qr-BgsmAwKm.js +1 -1
- package/dist/login-qr-Bux8gWTO.js +1 -1
- package/dist/login-qr-COr_25Hx.js +1 -1
- package/dist/login-qr-CxBPOOAK.js +1 -1
- package/dist/login-qr-DnQm7bM4.js +1 -1
- package/dist/logs-cli-BM2XCmrH.js +1 -1
- package/dist/logs-cli-HKhyxaUs.js +1 -1
- package/dist/manager-B6zZuJEB.js +1 -1
- package/dist/manager-BwrZfep3.js +1 -1
- package/dist/manager-C5SBozw4.js +1 -1
- package/dist/manager-CjihRbGa.js +1 -1
- package/dist/memory-cli-CnruTL1h.js +1 -1
- package/dist/memory-cli-DHvscp7X.js +1 -1
- package/dist/model-catalog-BLdaFmIo.js +1 -1
- package/dist/model-catalog-vNCcsy4h.js +1 -1
- package/dist/model-param-b-B0r2cPDw.js +1 -1
- package/dist/model-param-b-BqIr5rY5.js +1 -1
- package/dist/model-picker-BaeW3tiV.js +1 -1
- package/dist/model-picker-DN0czUYS.js +1 -1
- package/dist/model-selection-C2QwHmXT.js +1 -1
- package/dist/model-selection-I1ctjFOB.js +1 -1
- package/dist/model-selection-qkByRv5A.js +1 -1
- package/dist/models-UTdl0vXO.js +1 -1
- package/dist/models-cli-QRONP7EL.js +1 -1
- package/dist/models-cli-vRoB_gfX.js +1 -1
- package/dist/models-config-CWIlroKT.js +1 -1
- package/dist/models-config-DN2Q51fC.js +1 -1
- package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -1
- package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -1
- package/dist/node-cli-2-E4-83G.js +1 -1
- package/dist/node-cli-DUI7Zctj.js +1 -1
- package/dist/node-command-policy-Bbmnc16l.js +1 -1
- package/dist/node-command-policy-DgkwfoCs.js +1 -1
- package/dist/node-commands-8GBOiktk.js +1 -1
- package/dist/node-commands-DdkziOTx.js +1 -1
- package/dist/node-resolve-B3BJbmQX.js +1 -1
- package/dist/node-resolve-DLZf3-1V.js +1 -1
- package/dist/node-service-BRfrNp8l.js +1 -1
- package/dist/node-service-C0bl7jcZ.js +1 -1
- package/dist/node-shell-dXp4vk-i.js +1 -1
- package/dist/nodes-cli-DU13-dCL.js +1 -1
- package/dist/nodes-cli-rPeIRj_f.js +1 -1
- package/dist/nodes-screen-C7-5RrbN.js +1 -1
- package/dist/note-D4GAwgha.js +1 -1
- package/dist/note-Dp-d_utk.js +1 -1
- package/dist/npm-pack-install-B23L-AtF.js +1 -1
- package/dist/npm-pack-install-C0te3Oap.js +1 -1
- package/dist/npm-resolution-BCXCw93f.js +1 -1
- package/dist/npm-resolution-Cmm82lui.js +1 -1
- package/dist/oauth-env-DAamJ1oz.js +1 -1
- package/dist/oauth-env-DSLBTWb1.js +1 -1
- package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -1
- package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -1
- package/dist/ollama-setup-CKt3tF-S.js +1 -1
- package/dist/ollama-setup-I8lghdX1.js +1 -1
- package/dist/onboard-B3WSjKCu.js +1 -1
- package/dist/onboard-C65vdb94.js +1 -1
- package/dist/onboard-channels-9CmG3Jgn.js +1 -1
- package/dist/onboard-channels-CV1AK9jY.js +1 -1
- package/dist/onboard-config-B7U20YRw.js +1 -1
- package/dist/onboard-config-DS9dUv8M.js +1 -1
- package/dist/onboard-custom-CwHYUB0T.js +1 -1
- package/dist/onboard-custom-uwufXtQf.js +1 -1
- package/dist/onboard-helpers-CGJLUoxR.js +1 -1
- package/dist/onboard-helpers-DbpWQoiB.js +1 -1
- package/dist/onboard-hooks-CERzXObm.js +1 -1
- package/dist/onboard-hooks-gQ3sxBNi.js +1 -1
- package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -1
- package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -1
- package/dist/onboard-remote-BeDZ_gbH.js +1 -1
- package/dist/onboard-remote-KTUx-3G1.js +1 -1
- package/dist/onboard-search-f2tJD4hg.js +1 -1
- package/dist/onboard-search-fslKKhyg.js +1 -1
- package/dist/onboard-skills-BoS_oVdm.js +1 -1
- package/dist/onboard-skills-C4omGWoD.js +1 -1
- package/dist/onboarding-B8icigkk.js +1 -1
- package/dist/onboarding-BJRqNsZ8.js +1 -1
- package/dist/onboarding.finalize-D0qISqn-.js +1 -1
- package/dist/onboarding.finalize-Ds9NwPBL.js +1 -1
- package/dist/onboarding.gateway-config-F8n_QFUR.js +1 -1
- package/dist/onboarding.gateway-config-eno73eHw.js +1 -1
- package/dist/onboarding.secret-input-B6fzeucQ.js +1 -1
- package/dist/onboarding.secret-input-CBuD3c32.js +1 -1
- package/dist/openai-codex-model-default-Df2T3foI.js +1 -1
- package/dist/openai-codex-model-default-DtIeKJm0.js +1 -1
- package/dist/openai-model-default-DIE55yBt.js +1 -1
- package/dist/openai-model-default-sqvWk4kB.js +1 -1
- package/dist/openclaw-exec-env-BWbOu_YC.js +1 -1
- package/dist/openclaw-root-CnsBf6ZU.js +1 -1
- package/dist/openclaw-root-D_0Q6--h.js +1 -1
- package/dist/outbound-B88MLJN3.js +1 -1
- package/dist/outbound-C-4qToKv.js +1 -1
- package/dist/outbound-CSk4oF0g.js +1 -1
- package/dist/outbound-DKMI_4xm.js +1 -1
- package/dist/outbound-attachment-BOax42-M.js +1 -1
- package/dist/outbound-attachment-DBNxdLYh.js +1 -1
- package/dist/outbound-attachment-DVjJQ3V6.js +1 -1
- package/dist/outbound-attachment-aZWcoZ-N.js +1 -1
- package/dist/pairing-cli-Cby6Ww8F.js +1 -1
- package/dist/pairing-cli-DiJb_a0V.js +1 -1
- package/dist/pairing-labels-BP1h0iHy.js +1 -1
- package/dist/pairing-labels-ryOnuOFA.js +1 -1
- package/dist/pairing-store-Bv4KSELv.js +1 -1
- package/dist/pairing-store-CjTPxq0X.js +1 -1
- package/dist/pairing-token-CKX1ds78.js +1 -1
- package/dist/pairing-token-CX0SUJsB.js +1 -1
- package/dist/parse-duration-XTjMKl8s.js +1 -1
- package/dist/parse-finite-number-DqzUM-_s.js +1 -1
- package/dist/parse-finite-number-dBmDLLKL.js +1 -1
- package/dist/parse-log-line-CsYLg7Qu.js +1 -1
- package/dist/parse-log-line-NV-cipB_.js +1 -1
- package/dist/parse-port-Bv1Y9Wk5.js +1 -1
- package/dist/parse-port-JVwkxcZ8.js +1 -1
- package/dist/parse-timeout-DWSGfCkQ.js +1 -1
- package/dist/parse-timeout-Dx4QnVzo.js +1 -1
- package/dist/path-alias-guards-kY_ZbWs-.js +1 -1
- package/dist/path-alias-guards-mvyLCPlN.js +1 -1
- package/dist/path-env-BPd1Yd-i.js +1 -1
- package/dist/path-env-emdAQejM.js +1 -1
- package/dist/path-safety-BukYK8Kd.js +1 -1
- package/dist/path-safety-DaaMJFdt.js +1 -1
- package/dist/paths-B4IRk3wi.js +1 -1
- package/dist/paths-BfjJY2VL.js +1 -1
- package/dist/paths-BjD3T_xq.js +1 -1
- package/dist/paths-BpQOWYiT.js +1 -1
- package/dist/paths-CChBdtE8.js +1 -1
- package/dist/paths-CrCoPIVK.js +1 -1
- package/dist/paths-piJASC5k.js +1 -1
- package/dist/paths-yLEk_25I.js +1 -1
- package/dist/pi-embedded-ZEWNj7P5.js +1 -1
- package/dist/pi-embedded-bqE4EmdD.js +1 -1
- package/dist/pi-model-discovery-6myCPEJE.js +1 -1
- package/dist/pi-model-discovery-AiV9h8k6.js +1 -1
- package/dist/pi-model-discovery-BzqdozHB.js +1 -1
- package/dist/pi-model-discovery-C8YBu6D4.js +1 -1
- package/dist/pi-tools.before-tool-call.runtime-CPAJMO7J.js +1 -1
- package/dist/pi-tools.before-tool-call.runtime-CYmLHod0.js +1 -1
- package/dist/pi-tools.before-tool-call.runtime-CfVqI0Ng.js +1 -1
- package/dist/pi-tools.before-tool-call.runtime-D9FlPJ_v.js +1 -1
- package/dist/pi-tools.policy-CeSKHaKa.js +1 -1
- package/dist/plugin-auto-enable-Cp7L8ko8.js +1 -1
- package/dist/plugin-auto-enable-DCOxqfDQ.js +1 -1
- package/dist/plugin-install-plan-BobX0y9S.js +1 -1
- package/dist/plugin-install-plan-NvDGp0d8.js +1 -1
- package/dist/plugin-registry-Fg000e4I.js +1 -1
- package/dist/plugin-registry-fm5tDUbE.js +1 -1
- package/dist/plugin-sdk/account-id.cjs +1 -1
- package/dist/plugin-sdk/account-id.js +1 -1
- package/dist/plugin-sdk/acpx.cjs +1 -1
- package/dist/plugin-sdk/acpx.js +1 -1
- package/dist/plugin-sdk/active-listener-BFeaYGID.js +1 -1
- package/dist/plugin-sdk/active-listener-BszCM2Au.cjs +1 -1
- package/dist/plugin-sdk/active-listener-CIcleJgU.cjs +1 -1
- package/dist/plugin-sdk/active-listener-Cqgd7xVh.cjs +1 -1
- package/dist/plugin-sdk/active-listener-D578zEtk.cjs +1 -1
- package/dist/plugin-sdk/active-listener-D6gGPLq-.js +1 -1
- package/dist/plugin-sdk/active-listener-DKSZRn4x.cjs +1 -1
- package/dist/plugin-sdk/active-listener-DNO10F1L.js +1 -1
- package/dist/plugin-sdk/active-listener-DQq07Aar.js +1 -1
- package/dist/plugin-sdk/active-listener-Dle_kYqb.js +1 -1
- package/dist/plugin-sdk/active-listener-DmJcHkMC.js +1 -1
- package/dist/plugin-sdk/active-listener-UmFpcYFY.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-39TRXDEA.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-7qlqJ_ou.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-BY7fLi9z.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-CF9_CKS-.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-CWylhFOt.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-ClZmonv2.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-CmesQWXP.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-Cs6II2__.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-CxaiMcI1.js +1 -1
- package/dist/plugin-sdk/api-key-rotation-D5cfmg7E.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-DkP7KnSm.cjs +1 -1
- package/dist/plugin-sdk/api-key-rotation-mDqgBFMG.js +1 -1
- package/dist/plugin-sdk/audio-preflight-B-HrF5Oc.js +1 -1
- package/dist/plugin-sdk/audio-preflight-B2MGeSoT.js +1 -1
- package/dist/plugin-sdk/audio-preflight-BVjiz_Qk.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-Behqe7F3.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-C0ncOCbK.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-C1o1n-KK.js +1 -1
- package/dist/plugin-sdk/audio-preflight-CzLYTZ5P.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-DDiBwIB9.js +1 -1
- package/dist/plugin-sdk/audio-preflight-DQyh-XSn.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-WH9WDR81.cjs +1 -1
- package/dist/plugin-sdk/audio-preflight-ZPLO3G1S.js +1 -1
- package/dist/plugin-sdk/audio-preflight-s3BAID12.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-2-ZQ5Md-.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-BO7T_SzP.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-CRYJlAeP.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-CmW24oVR.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-CmYuWS0_.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-CslXJs5c.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-DE1tKTQV.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-DZR84B28.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-DoR-NOcV.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-IE4olXkd.cjs +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-YiDQM_Rb.js +1 -1
- package/dist/plugin-sdk/audio-transcription-runner-kAVM4YFR.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -1
- package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -1
- package/dist/plugin-sdk/bluebubbles.cjs +1 -1
- package/dist/plugin-sdk/bluebubbles.js +1 -1
- package/dist/plugin-sdk/channel-activity-Bed876M5.js +1 -1
- package/dist/plugin-sdk/channel-activity-Bu8tAmGa.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-C01Im_o1.js +1 -1
- package/dist/plugin-sdk/channel-activity-CIycjzUC.js +1 -1
- package/dist/plugin-sdk/channel-activity-Cdkn3O_i.js +1 -1
- package/dist/plugin-sdk/channel-activity-Cia2G3v5.js +1 -1
- package/dist/plugin-sdk/channel-activity-D6d2wU8H.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-DNv7JLBx.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-Df3DfYyZ.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-Rut-HCfT.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-mffNSQrX.cjs +1 -1
- package/dist/plugin-sdk/channel-activity-qjwFifkE.js +1 -1
- package/dist/plugin-sdk/channel-web-Ces_xx2T.js +1 -1
- package/dist/plugin-sdk/channel-web-CsmEnYD8.cjs +1 -1
- package/dist/plugin-sdk/channel-web-DtzNv49H.cjs +1 -1
- package/dist/plugin-sdk/channel-web-VEZVrMYU.js +1 -1
- package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -1
- package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -1
- package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -1
- package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -1
- package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -1
- package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-33H8WYTk.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-BGdm1KdC.js +1 -1
- package/dist/plugin-sdk/commands-registry-BgV9i-bj.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-BifdCfty.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-CJLBIIIp.js +1 -1
- package/dist/plugin-sdk/commands-registry-CWK9ARbc.js +1 -1
- package/dist/plugin-sdk/commands-registry-CfVD1h8L.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-CpG4pxrA.js +1 -1
- package/dist/plugin-sdk/commands-registry-D-AnIQWz.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-DBI4cPqT.cjs +1 -1
- package/dist/plugin-sdk/commands-registry-DOBe9cWq.js +1 -1
- package/dist/plugin-sdk/commands-registry-DqemUyiv.js +1 -1
- package/dist/plugin-sdk/common-CEe87dmX.js +1 -1
- package/dist/plugin-sdk/common-CjMKHm2Z.cjs +1 -1
- package/dist/plugin-sdk/compat.cjs +1 -1
- package/dist/plugin-sdk/compat.js +1 -1
- package/dist/plugin-sdk/config-DT_csBcZ.cjs +1 -1
- package/dist/plugin-sdk/config-LR8GH3Ws.js +1 -1
- package/dist/plugin-sdk/copilot-proxy.cjs +1 -1
- package/dist/plugin-sdk/copilot-proxy.js +1 -1
- package/dist/plugin-sdk/core.cjs +1 -1
- package/dist/plugin-sdk/core.js +1 -1
- package/dist/plugin-sdk/deliver-AORlkcbD.cjs +1 -1
- package/dist/plugin-sdk/deliver-BiBFW5fm.cjs +1 -1
- package/dist/plugin-sdk/deliver-BpqEPwLO.cjs +1 -1
- package/dist/plugin-sdk/deliver-BvC6aUKM.js +1 -1
- package/dist/plugin-sdk/deliver-CT0AIuK1.cjs +1 -1
- package/dist/plugin-sdk/deliver-CmddcjtG.cjs +1 -1
- package/dist/plugin-sdk/deliver-DFz5N1Eh.js +1 -1
- package/dist/plugin-sdk/deliver-DcJWpoqf.cjs +1 -1
- package/dist/plugin-sdk/deliver-ILim6ANU.js +1 -1
- package/dist/plugin-sdk/deliver-QgxW9IxV.js +1 -1
- package/dist/plugin-sdk/deliver-cT-Q8v0h.js +1 -1
- package/dist/plugin-sdk/deliver-cu_NQTmb.js +1 -1
- package/dist/plugin-sdk/device-pair.cjs +1 -1
- package/dist/plugin-sdk/device-pair.js +1 -1
- package/dist/plugin-sdk/diagnostic-BCyE1aYH.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-BFea3l_a.js +1 -1
- package/dist/plugin-sdk/diagnostic-BvR96WdC.js +1 -1
- package/dist/plugin-sdk/diagnostic-C0xDsk89.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-CEPhLgsW.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-CbLwUqTE.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-CbfxoqI_.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-DDwUPG1m.js +1 -1
- package/dist/plugin-sdk/diagnostic-DS_mKKOu.js +1 -1
- package/dist/plugin-sdk/diagnostic-DYpehqHU.cjs +1 -1
- package/dist/plugin-sdk/diagnostic-DkncnZ3G.js +1 -1
- package/dist/plugin-sdk/diagnostic-Dz8HPEDe.js +1 -1
- package/dist/plugin-sdk/diagnostics-otel.cjs +1 -1
- package/dist/plugin-sdk/diagnostics-otel.js +1 -1
- package/dist/plugin-sdk/diffs.cjs +1 -1
- package/dist/plugin-sdk/diffs.js +1 -1
- package/dist/plugin-sdk/discord.cjs +1 -1
- package/dist/plugin-sdk/discord.js +1 -1
- package/dist/plugin-sdk/dispatch-6m3206FH.js +1 -1
- package/dist/plugin-sdk/dispatch-BYZNaz0n.cjs +1 -1
- package/dist/plugin-sdk/dispatch-BahZCe-D.js +1 -1
- package/dist/plugin-sdk/dispatch-Bi3yeWxb.cjs +1 -1
- package/dist/plugin-sdk/dispatch-BjB_TqWy.cjs +1 -1
- package/dist/plugin-sdk/dispatch-CNR186B3.js +1 -1
- package/dist/plugin-sdk/dispatch-CStT30wi.cjs +1 -1
- package/dist/plugin-sdk/dispatch-CdZAW9dg.cjs +1 -1
- package/dist/plugin-sdk/dispatch-Ewg2Jgw9.js +1 -1
- package/dist/plugin-sdk/dispatch-HRTsdeCV.js +1 -1
- package/dist/plugin-sdk/feishu.cjs +1 -1
- package/dist/plugin-sdk/feishu.js +1 -1
- package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -1
- package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -1
- package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -1
- package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -1
- package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -1
- package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -1
- package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -1
- package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -1
- package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -1
- package/dist/plugin-sdk/fetch-BtZY623f.js +1 -1
- package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -1
- package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -1
- package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -1
- package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -1
- package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -1
- package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -1
- package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -1
- package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -1
- package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -1
- package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -1
- package/dist/plugin-sdk/fetch-guard-D8TdhTHU.js +1 -1
- package/dist/plugin-sdk/fetch-guard-DC_pFJEy.js +1 -1
- package/dist/plugin-sdk/fetch-guard-DDkd30BG.js +1 -1
- package/dist/plugin-sdk/fetch-guard-DELiFG5g.js +1 -1
- package/dist/plugin-sdk/fetch-guard-DIYjBRpq.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-DPVfELS7.js +1 -1
- package/dist/plugin-sdk/fetch-guard-Dpz6CnJY.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-DqNKwgHP.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-DqTxZ3G8.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-EoAitPe9.cjs +1 -1
- package/dist/plugin-sdk/fetch-guard-qfU6iTvp.js +1 -1
- package/dist/plugin-sdk/fetch-guard-u2Dt6P9i.cjs +1 -1
- package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -1
- package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -1
- package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -1
- package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -1
- package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -1
- package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -1
- package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -1
- package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -1
- package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -1
- package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -1
- package/dist/plugin-sdk/googlechat.cjs +1 -1
- package/dist/plugin-sdk/googlechat.js +1 -1
- package/dist/plugin-sdk/image-0OHO98b9.cjs +1 -1
- package/dist/plugin-sdk/image-B9SLKAOs.cjs +1 -1
- package/dist/plugin-sdk/image-BVnZq5Y4.js +1 -1
- package/dist/plugin-sdk/image-CKLAyhco.js +1 -1
- package/dist/plugin-sdk/image-DUHEJeBF.js +1 -1
- package/dist/plugin-sdk/image-DngxW2Nh.cjs +1 -1
- package/dist/plugin-sdk/image-DrPh2689.cjs +1 -1
- package/dist/plugin-sdk/image-ISWO0Dwt.js +1 -1
- package/dist/plugin-sdk/image-KfZYW6Lh.cjs +1 -1
- package/dist/plugin-sdk/image-YVlw68CK.js +1 -1
- package/dist/plugin-sdk/image-gehqJnV6.js +1 -1
- package/dist/plugin-sdk/image-jUYo-0eT.cjs +1 -1
- package/dist/plugin-sdk/imessage.cjs +1 -1
- package/dist/plugin-sdk/imessage.js +1 -1
- package/dist/plugin-sdk/index.cjs +1 -1
- package/dist/plugin-sdk/index.js +1 -1
- package/dist/plugin-sdk/ir-78toXVqC.cjs +1 -1
- package/dist/plugin-sdk/ir-A_TqKaXP.cjs +1 -1
- package/dist/plugin-sdk/ir-B0_rUT7m.js +1 -1
- package/dist/plugin-sdk/ir-B7agH4cQ.cjs +1 -1
- package/dist/plugin-sdk/ir-B9ap_YNW.cjs +1 -1
- package/dist/plugin-sdk/ir-BxKSHYao.cjs +1 -1
- package/dist/plugin-sdk/ir-BzZArF6l.js +1 -1
- package/dist/plugin-sdk/ir-CpkEWZD6.js +1 -1
- package/dist/plugin-sdk/ir-D4Dz-giw.cjs +1 -1
- package/dist/plugin-sdk/ir-DJ08DSkk.js +1 -1
- package/dist/plugin-sdk/ir-L2vhtuGx.js +1 -1
- package/dist/plugin-sdk/ir-ntSck5Kp.js +1 -1
- package/dist/plugin-sdk/irc.cjs +1 -1
- package/dist/plugin-sdk/irc.js +1 -1
- package/dist/plugin-sdk/keyed-async-queue.cjs +1 -1
- package/dist/plugin-sdk/keyed-async-queue.js +1 -1
- package/dist/plugin-sdk/line.cjs +1 -1
- package/dist/plugin-sdk/line.js +1 -1
- package/dist/plugin-sdk/llm-task.cjs +1 -1
- package/dist/plugin-sdk/llm-task.js +1 -1
- package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -1
- package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -1
- package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -1
- package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -1
- package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -1
- package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -1
- package/dist/plugin-sdk/lobster.cjs +1 -1
- package/dist/plugin-sdk/lobster.js +1 -1
- package/dist/plugin-sdk/local-roots-B0zm186S.js +1 -1
- package/dist/plugin-sdk/local-roots-B4Uy4kG3.cjs +1 -1
- package/dist/plugin-sdk/local-roots-CM1R1Ncr.cjs +1 -1
- package/dist/plugin-sdk/local-roots-CW78ZeZV.js +1 -1
- package/dist/plugin-sdk/local-roots-CnsaE7a_.js +1 -1
- package/dist/plugin-sdk/local-roots-D1k-fAlE.cjs +1 -1
- package/dist/plugin-sdk/local-roots-DQ_vfJPK.js +1 -1
- package/dist/plugin-sdk/local-roots-DYlB1au6.cjs +1 -1
- package/dist/plugin-sdk/local-roots-H4-t0qG_.js +1 -1
- package/dist/plugin-sdk/local-roots-SCyeUfM3.cjs +1 -1
- package/dist/plugin-sdk/local-roots-l4PqCmiU.js +1 -1
- package/dist/plugin-sdk/local-roots-xHoEq1Fq.cjs +1 -1
- package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -1
- package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -1
- package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -1
- package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -1
- package/dist/plugin-sdk/logger-C210xuWx.js +1 -1
- package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -1
- package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -1
- package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -1
- package/dist/plugin-sdk/logger-DwWqfo66.js +1 -1
- package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -1
- package/dist/plugin-sdk/login-BN1TsFp4.cjs +1 -1
- package/dist/plugin-sdk/login-BXUtcSnB.cjs +1 -1
- package/dist/plugin-sdk/login-BoMH2iJT.js +1 -1
- package/dist/plugin-sdk/login-BtT7yRJO.js +1 -1
- package/dist/plugin-sdk/login-COzybMRK.js +1 -1
- package/dist/plugin-sdk/login-Cw1jFbel.cjs +1 -1
- package/dist/plugin-sdk/login-DEmpr5YK.js +1 -1
- package/dist/plugin-sdk/login-Dln00cFs.cjs +1 -1
- package/dist/plugin-sdk/login-S2Fe5n5K.cjs +1 -1
- package/dist/plugin-sdk/login-TieaF0ts.cjs +1 -1
- package/dist/plugin-sdk/login-ZQK4uJLw.js +1 -1
- package/dist/plugin-sdk/login-fKxJv0_F.js +1 -1
- package/dist/plugin-sdk/login-qr-1ilmySGx.js +1 -1
- package/dist/plugin-sdk/login-qr-B0ZSZaNI.js +1 -1
- package/dist/plugin-sdk/login-qr-B2P2Ky4j.js +1 -1
- package/dist/plugin-sdk/login-qr-B2U87iU8.js +1 -1
- package/dist/plugin-sdk/login-qr-B4x_eWI_.js +1 -1
- package/dist/plugin-sdk/login-qr-BIaJB24t.cjs +1 -1
- package/dist/plugin-sdk/login-qr-BMl5Beq2.cjs +1 -1
- package/dist/plugin-sdk/login-qr-Bkm3QorK.cjs +1 -1
- package/dist/plugin-sdk/login-qr-ClL8FMAJ.cjs +1 -1
- package/dist/plugin-sdk/login-qr-DFVK1lg-.js +1 -1
- package/dist/plugin-sdk/login-qr-DhieI9fL.cjs +1 -1
- package/dist/plugin-sdk/login-qr-DyQT1QnE.cjs +1 -1
- package/dist/plugin-sdk/manager-0tvX3Z_N.cjs +1 -1
- package/dist/plugin-sdk/manager-8uylP7PH.cjs +1 -1
- package/dist/plugin-sdk/manager-B6hWglXe.js +1 -1
- package/dist/plugin-sdk/manager-BGoKN9ur.js +1 -1
- package/dist/plugin-sdk/manager-BRP1lzb6.js +1 -1
- package/dist/plugin-sdk/manager-BeLNhsXC.cjs +1 -1
- package/dist/plugin-sdk/manager-BnytMgmq.js +1 -1
- package/dist/plugin-sdk/manager-BoMQeM1I.cjs +1 -1
- package/dist/plugin-sdk/manager-CYZY9vcM.js +1 -1
- package/dist/plugin-sdk/manager-DCDy2V1U.cjs +1 -1
- package/dist/plugin-sdk/manager-DE7sDip8.cjs +1 -1
- package/dist/plugin-sdk/manager-PwgQZNK1.js +1 -1
- package/dist/plugin-sdk/matrix.cjs +1 -1
- package/dist/plugin-sdk/matrix.js +1 -1
- package/dist/plugin-sdk/mattermost.cjs +1 -1
- package/dist/plugin-sdk/mattermost.js +1 -1
- package/dist/plugin-sdk/memory-core.cjs +1 -1
- package/dist/plugin-sdk/memory-core.js +1 -1
- package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -1
- package/dist/plugin-sdk/minimax-portal-auth.js +1 -1
- package/dist/plugin-sdk/model-auth-BgS7ynQw.cjs +1 -1
- package/dist/plugin-sdk/model-auth-CKlA2xRB.cjs +1 -1
- package/dist/plugin-sdk/model-auth-CLnFIqcf.cjs +1 -1
- package/dist/plugin-sdk/model-auth-D7YupJDS.js +1 -1
- package/dist/plugin-sdk/model-auth-eNVBeC-B.js +1 -1
- package/dist/plugin-sdk/model-auth-fJrNIbke.cjs +1 -1
- package/dist/plugin-sdk/model-auth-g6eGgTwR.js +1 -1
- package/dist/plugin-sdk/model-auth-wcxJptQX.js +1 -1
- package/dist/plugin-sdk/model-selection-4ExiFkaW.js +1 -1
- package/dist/plugin-sdk/model-selection-CZY_x2-a.cjs +1 -1
- package/dist/plugin-sdk/msteams.cjs +1 -1
- package/dist/plugin-sdk/msteams.js +1 -1
- package/dist/plugin-sdk/nextcloud-talk.cjs +1 -1
- package/dist/plugin-sdk/nextcloud-talk.js +1 -1
- package/dist/plugin-sdk/nostr.cjs +1 -1
- package/dist/plugin-sdk/nostr.js +1 -1
- package/dist/plugin-sdk/outbound-2VVSR_d4.js +1 -1
- package/dist/plugin-sdk/outbound-B03BQa7T.cjs +1 -1
- package/dist/plugin-sdk/outbound-BE8CJ9c_.js +1 -1
- package/dist/plugin-sdk/outbound-BWtGs0dn.cjs +1 -1
- package/dist/plugin-sdk/outbound-BrD0UsX0.js +1 -1
- package/dist/plugin-sdk/outbound-Bvu4LbQx.js +1 -1
- package/dist/plugin-sdk/outbound-C5rNt-8z.cjs +1 -1
- package/dist/plugin-sdk/outbound-C6BJCoYf.cjs +1 -1
- package/dist/plugin-sdk/outbound-Cgc0JJtB.js +1 -1
- package/dist/plugin-sdk/outbound-DAHIkpiA.cjs +1 -1
- package/dist/plugin-sdk/outbound-DnO_udAm.cjs +1 -1
- package/dist/plugin-sdk/outbound-UAHsCNyW.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-0QahtSQB.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-8qvAj1MK.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-B6SJy_CG.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-BVdSGifg.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-C-QqSQ79.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-CYGrnygD.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-CtA5eBgj.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-D8Ng5uVX.cjs +1 -1
- package/dist/plugin-sdk/outbound-attachment-DS0S0NLK.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-Ds2XsjQl.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-acB4qID1.js +1 -1
- package/dist/plugin-sdk/outbound-attachment-x4Q2SVIA.cjs +1 -1
- package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -1
- package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -1
- package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -1
- package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -1
- package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -1
- package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -1
- package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -1
- package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -1
- package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -1
- package/dist/plugin-sdk/paths-CtrEseGU.js +1 -1
- package/dist/plugin-sdk/paths-D55o_j8-.js +1 -1
- package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -1
- package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -1
- package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -1
- package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -1
- package/dist/plugin-sdk/paths-Do0djuaj.js +1 -1
- package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -1
- package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -1
- package/dist/plugin-sdk/paths-piJASC5k.js +1 -1
- package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery--UcCzdQg.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-Bi4dKtW0.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-CCK2Ppj9.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-CRSZ0OFi.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-Cx_r4FGY.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-D3JQMjAa.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DN1RHetG.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DVFSU0-f.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DWMAAhA-.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DYOHzCjs.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DdSVvbQ5.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-DejkxBol.js +1 -1
- package/dist/plugin-sdk/pi-model-discovery-SmVAFMj_.cjs +1 -1
- package/dist/plugin-sdk/pi-model-discovery-ma8st1Ek.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-B2WodYBY.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BC114tUb.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BF6jP1nM.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Beg-U7Z-.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BkEYsSLL.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-C21sWtkh.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CKkgBGIj.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CNun__L-.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Clulhv2X.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DvwL5in9.cjs +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-FnzjmZqP.js +1 -1
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-Rq5y0QJ2.cjs +1 -1
- package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -1
- package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -1
- package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -1
- package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -1
- package/dist/plugin-sdk/polls-PGxiE05J.js +1 -1
- package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -1
- package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -1
- package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -1
- package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -1
- package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -1
- package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -1
- package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -1
- package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -1
- package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-3piACPqP.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-8dajXBkZ.js +1 -1
- package/dist/plugin-sdk/pw-ai-B7mrBDW5.js +1 -1
- package/dist/plugin-sdk/pw-ai-BLD7x-3a.js +1 -1
- package/dist/plugin-sdk/pw-ai-BYmANcaC.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-C1rVW06B.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-CCDvaBUm.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-CVYUOcKM.js +1 -1
- package/dist/plugin-sdk/pw-ai-DBg5CCXp.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-DY11CCd3.cjs +1 -1
- package/dist/plugin-sdk/pw-ai-Kf2RyA25.js +1 -1
- package/dist/plugin-sdk/pw-ai-f5yF3n3t.js +1 -1
- package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -1
- package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -1
- package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -1
- package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -1
- package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -1
- package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -1
- package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -1
- package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -1
- package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -1
- package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -1
- package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -1
- package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -1
- package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -1
- package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -1
- package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -1
- package/dist/plugin-sdk/qwen-portal-auth.js +1 -1
- package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -1
- package/dist/plugin-sdk/render-CBsnn-2A.js +1 -1
- package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -1
- package/dist/plugin-sdk/render-DGmfCIRG.js +1 -1
- package/dist/plugin-sdk/render-DhTJXP1U.js +1 -1
- package/dist/plugin-sdk/render-Djx15dPh.js +1 -1
- package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -1
- package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -1
- package/dist/plugin-sdk/reply-BrHB7v5V.cjs +1 -1
- package/dist/plugin-sdk/reply-Clex4c2R.js +1 -1
- package/dist/plugin-sdk/resolve-outbound-target-BHLQMMp-.cjs +1 -1
- package/dist/plugin-sdk/resolve-outbound-target-Cvz2WXAk.cjs +1 -1
- package/dist/plugin-sdk/resolve-outbound-target-DDqGniMw.js +1 -1
- package/dist/plugin-sdk/resolve-outbound-target-DEpmpEep.js +1 -1
- package/dist/plugin-sdk/send--HeMLLzj.js +1 -1
- package/dist/plugin-sdk/send-2IhtEEzb.js +1 -1
- package/dist/plugin-sdk/send-9tPLnqkc.js +1 -1
- package/dist/plugin-sdk/send-B-exJfkg.js +1 -1
- package/dist/plugin-sdk/send-B4kzPtcN.js +1 -1
- package/dist/plugin-sdk/send-BCSkdYN6.cjs +1 -1
- package/dist/plugin-sdk/send-BEmZxBcF.js +1 -1
- package/dist/plugin-sdk/send-BHvZIrbJ.cjs +1 -1
- package/dist/plugin-sdk/send-BLbCBxeF.js +1 -1
- package/dist/plugin-sdk/send-BOkABdQu.cjs +1 -1
- package/dist/plugin-sdk/send-BPNd63Qs.js +1 -1
- package/dist/plugin-sdk/send-BVAm6Zbr.cjs +1 -1
- package/dist/plugin-sdk/send-B_619b3s.js +1 -1
- package/dist/plugin-sdk/send-BcuylzbX.js +1 -1
- package/dist/plugin-sdk/send-BdFvK9Wc2.js +1 -1
- package/dist/plugin-sdk/send-Bh-J7XWZ.cjs +1 -1
- package/dist/plugin-sdk/send-BkREPc90.cjs +1 -1
- package/dist/plugin-sdk/send-Bp4f-KJu.cjs +1 -1
- package/dist/plugin-sdk/send-BtF36kYb.js +1 -1
- package/dist/plugin-sdk/send-C6S8tkTA.cjs +1 -1
- package/dist/plugin-sdk/send-CDQF_izk.js +1 -1
- package/dist/plugin-sdk/send-CF3qas-K.js +1 -1
- package/dist/plugin-sdk/send-CFKQX2Wo.js +1 -1
- package/dist/plugin-sdk/send-CIP1u5a-.js +1 -1
- package/dist/plugin-sdk/send-CIxh7PV0.cjs +1 -1
- package/dist/plugin-sdk/send-CJJdcDHX.js +1 -1
- package/dist/plugin-sdk/send-COtvydDt.cjs +1 -1
- package/dist/plugin-sdk/send-CPwh7tRu.js +1 -1
- package/dist/plugin-sdk/send-CRnIqXN9.cjs +1 -1
- package/dist/plugin-sdk/send-CSqipUeV.cjs +1 -1
- package/dist/plugin-sdk/send-Chfe8tPY.js +1 -1
- package/dist/plugin-sdk/send-ClMvdjfg.js +1 -1
- package/dist/plugin-sdk/send-CmoJSYhT.js +1 -1
- package/dist/plugin-sdk/send-Cs5jSTw0.cjs +1 -1
- package/dist/plugin-sdk/send-D-6Et_9H.js +1 -1
- package/dist/plugin-sdk/send-D13uFnzH.cjs +1 -1
- package/dist/plugin-sdk/send-D3eT0F4N.cjs +1 -1
- package/dist/plugin-sdk/send-DAtg_VHa.js +1 -1
- package/dist/plugin-sdk/send-DCF59ijQ.cjs +1 -1
- package/dist/plugin-sdk/send-DN2xic3w.cjs +1 -1
- package/dist/plugin-sdk/send-DOjSTB6D.cjs +1 -1
- package/dist/plugin-sdk/send-DavwL7cF.js +1 -1
- package/dist/plugin-sdk/send-Dbmn1rgD.cjs +1 -1
- package/dist/plugin-sdk/send-DhfDqcwc.cjs +1 -1
- package/dist/plugin-sdk/send-DsDCrJWq.js +1 -1
- package/dist/plugin-sdk/send-DyR5Lpl-.js +1 -1
- package/dist/plugin-sdk/send-DyzuwDjE.js +1 -1
- package/dist/plugin-sdk/send-GtphEa1b.cjs +1 -1
- package/dist/plugin-sdk/send-HZNY_u3L.cjs +1 -1
- package/dist/plugin-sdk/send-IM-76QZu.js +1 -1
- package/dist/plugin-sdk/send-IqcgAO8b.cjs +1 -1
- package/dist/plugin-sdk/send-OQcuL9tP.js +1 -1
- package/dist/plugin-sdk/send-_92aOzWU.cjs +1 -1
- package/dist/plugin-sdk/send-h_kE-cAK.js +1 -1
- package/dist/plugin-sdk/send-jOMdGt0L.cjs +1 -1
- package/dist/plugin-sdk/send-mZ_d-t_3.cjs +1 -1
- package/dist/plugin-sdk/send-puyUta4_.cjs +1 -1
- package/dist/plugin-sdk/send-t5U34FhY.cjs +1 -1
- package/dist/plugin-sdk/send-tvw8j-Se.cjs +1 -1
- package/dist/plugin-sdk/send-z1vaCgF3.cjs +1 -1
- package/dist/plugin-sdk/session--K1m5v7m.js +1 -1
- package/dist/plugin-sdk/session-B1DJ45om.js +1 -1
- package/dist/plugin-sdk/session-B80NWO1m.js +1 -1
- package/dist/plugin-sdk/session-BKPBr445.js +1 -1
- package/dist/plugin-sdk/session-BQLjsBwL.cjs +1 -1
- package/dist/plugin-sdk/session-BZHltxdM.js +1 -1
- package/dist/plugin-sdk/session-Bt5yI-VW.cjs +1 -1
- package/dist/plugin-sdk/session-CC1GqwiM.cjs +1 -1
- package/dist/plugin-sdk/session-C_yqyp3P.cjs +1 -1
- package/dist/plugin-sdk/session-ClISxvtJ.js +1 -1
- package/dist/plugin-sdk/session-D4nn-nXX.cjs +1 -1
- package/dist/plugin-sdk/session-DOA4CJgj.cjs +1 -1
- package/dist/plugin-sdk/sessions-BwTjGneU.js +1 -1
- package/dist/plugin-sdk/sessions-CJbvfO6m.cjs +1 -1
- package/dist/plugin-sdk/signal.cjs +1 -1
- package/dist/plugin-sdk/signal.js +1 -1
- package/dist/plugin-sdk/skill-commands-5WGHyr3h.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-BZlF3g3o.js +1 -1
- package/dist/plugin-sdk/skill-commands-BmBQSmNH.js +1 -1
- package/dist/plugin-sdk/skill-commands-CD4GQXTR.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-CGOPOT-r.js +1 -1
- package/dist/plugin-sdk/skill-commands-CM9ziCQY.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-CVsU5rEy.js +1 -1
- package/dist/plugin-sdk/skill-commands-DNPxE-kc.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-DcgKCVDt.js +1 -1
- package/dist/plugin-sdk/skill-commands-IAwkVeOe.js +1 -1
- package/dist/plugin-sdk/skill-commands-ZyLkXbR_.cjs +1 -1
- package/dist/plugin-sdk/skill-commands-xJWQthd5.cjs +1 -1
- package/dist/plugin-sdk/slack.cjs +1 -1
- package/dist/plugin-sdk/slack.js +1 -1
- package/dist/plugin-sdk/synology-chat.cjs +1 -1
- package/dist/plugin-sdk/synology-chat.js +1 -1
- package/dist/plugin-sdk/tables-BZUVdTR-.cjs +1 -1
- package/dist/plugin-sdk/tables-Bbodvj_s.cjs +1 -1
- package/dist/plugin-sdk/tables-C5b2CtNw.cjs +1 -1
- package/dist/plugin-sdk/tables-C6TX2QvW.js +1 -1
- package/dist/plugin-sdk/tables-Cz5osenc.js +1 -1
- package/dist/plugin-sdk/tables-DBSeZ07-.cjs +1 -1
- package/dist/plugin-sdk/tables-DLSXY2-Q.js +1 -1
- package/dist/plugin-sdk/tables-DQad-z2Z.cjs +1 -1
- package/dist/plugin-sdk/tables-DYuLwL1d.js +1 -1
- package/dist/plugin-sdk/tables-D_J655yN.js +1 -1
- package/dist/plugin-sdk/tables-_vqK8P0T.js +1 -1
- package/dist/plugin-sdk/tables-bSgb8OzP.cjs +1 -1
- package/dist/plugin-sdk/target-errors-B-mJ4s4b.cjs +1 -1
- package/dist/plugin-sdk/target-errors-BAHAHc8f.js +1 -1
- package/dist/plugin-sdk/target-errors-BKruhz8r.js +1 -1
- package/dist/plugin-sdk/target-errors-BbQBR5da.js +1 -1
- package/dist/plugin-sdk/target-errors-BjgLCOTm.cjs +1 -1
- package/dist/plugin-sdk/target-errors-CQbFkOae.js +1 -1
- package/dist/plugin-sdk/target-errors-C_HYvghh.cjs +1 -1
- package/dist/plugin-sdk/target-errors-CaaKhU6m.js +1 -1
- package/dist/plugin-sdk/target-errors-QWTCk98R.cjs +1 -1
- package/dist/plugin-sdk/target-errors-oh0u5K2w.cjs +1 -1
- package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -1
- package/dist/plugin-sdk/targets-BSkiizml.js +1 -1
- package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -1
- package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -1
- package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -1
- package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -1
- package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -1
- package/dist/plugin-sdk/targets-CrkJkzil.js +1 -1
- package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -1
- package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -1
- package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -1
- package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -1
- package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -1
- package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -1
- package/dist/plugin-sdk/telegram.cjs +1 -1
- package/dist/plugin-sdk/telegram.js +1 -1
- package/dist/plugin-sdk/test-utils.cjs +1 -1
- package/dist/plugin-sdk/test-utils.js +1 -1
- package/dist/plugin-sdk/tlon.cjs +1 -1
- package/dist/plugin-sdk/tlon.js +1 -1
- package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -1
- package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -1
- package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -1
- package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -1
- package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -1
- package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -1
- package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -1
- package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -1
- package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -1
- package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -1
- package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -1
- package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -1
- package/dist/plugin-sdk/twitch.cjs +1 -1
- package/dist/plugin-sdk/twitch.js +1 -1
- package/dist/plugin-sdk/utils-BJtJR72k.js +1 -1
- package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -1
- package/dist/plugin-sdk/voice-call.cjs +1 -1
- package/dist/plugin-sdk/voice-call.js +1 -1
- package/dist/plugin-sdk/web-B4A8zBP9.cjs +1 -1
- package/dist/plugin-sdk/web-BKKx3jqf.cjs +1 -1
- package/dist/plugin-sdk/web-BTBgpaEi.js +1 -1
- package/dist/plugin-sdk/web-BfjArU7g.js +1 -1
- package/dist/plugin-sdk/web-C7KhecaH.cjs +1 -1
- package/dist/plugin-sdk/web-CFMrBQv7.js +1 -1
- package/dist/plugin-sdk/web-CS0AvKLx.js +1 -1
- package/dist/plugin-sdk/web-EfgEjg15.cjs +1 -1
- package/dist/plugin-sdk/weixin.cjs +1 -1
- package/dist/plugin-sdk/weixin.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-6N2LIWVD.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BGEghean.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BP_fSzB9.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BSx6-Onq.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BZAMGDn8.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-BvZMduqd.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-CDUbwNdp.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-DNVIKnqz.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-DTVbVkOo.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-DjMYqpSS.js +1 -1
- package/dist/plugin-sdk/whatsapp-actions-P1DVqKhD.cjs +1 -1
- package/dist/plugin-sdk/whatsapp-actions-shElOKKX.js +1 -1
- package/dist/plugin-sdk/whatsapp.cjs +1 -1
- package/dist/plugin-sdk/whatsapp.js +1 -1
- package/dist/plugin-sdk/zalo.cjs +1 -1
- package/dist/plugin-sdk/zalo.js +1 -1
- package/dist/plugin-sdk/zalouser.cjs +1 -1
- package/dist/plugin-sdk/zalouser.js +1 -1
- package/dist/plugins-CYLrFT4h.js +1 -1
- package/dist/plugins-DNlgeTTc.js +1 -1
- package/dist/plugins-cli-BiV4FaGs.js +1 -1
- package/dist/plugins-cli-C0PLRxT0.js +1 -1
- package/dist/polls-BIVz6a4F.js +1 -1
- package/dist/polls-Bh5wc9-6.js +1 -1
- package/dist/polls-C_XSFz3d.js +1 -1
- package/dist/polls-DKJOFSzJ.js +1 -1
- package/dist/ports-Bjc9q__g.js +1 -1
- package/dist/ports-Di2_MOUb.js +1 -1
- package/dist/probe-auth-9RrZOStc.js +1 -1
- package/dist/probe-auth-Cg6SAov9.js +1 -1
- package/dist/profile-utils-CWmra1aY.js +1 -1
- package/dist/program-CI--7377.js +1 -1
- package/dist/program-context-CH9p6anW.js +1 -1
- package/dist/program-context-Cu8fVR-O.js +1 -1
- package/dist/progress-LNttnI-y.js +1 -1
- package/dist/progress-d1m2sqR1.js +1 -1
- package/dist/prompt-select-styled-CbTtKeIC.js +1 -1
- package/dist/prompt-select-styled-sYEl0gMg.js +1 -1
- package/dist/prompt-style-BThRSQJR.js +1 -1
- package/dist/prompt-style-CXKekIBY.js +1 -1
- package/dist/prompts-CMzglboN.js +1 -1
- package/dist/prompts-wv-lfVrJ.js +1 -1
- package/dist/provider-auth-helpers-C3OaF218.js +1 -1
- package/dist/provider-auth-helpers-CZyb7LUg.js +1 -1
- package/dist/provider-env-vars-D8p6Ohpj.js +1 -1
- package/dist/provider-env-vars-Dt0Q29Su.js +1 -1
- package/dist/proxy-env-BNhTHkd_.js +1 -1
- package/dist/proxy-env-DcmW_urA.js +1 -1
- package/dist/proxy-env-DrC3TIGh.js +1 -1
- package/dist/proxy-env-FJr5nlvs.js +1 -1
- package/dist/proxy-fetch-BADsUK4d.js +1 -1
- package/dist/proxy-fetch-BZ9O8Dvj.js +1 -1
- package/dist/proxy-fetch-DnjU1fEB.js +1 -1
- package/dist/proxy-fetch-gWETR3cl.js +1 -1
- package/dist/push-apns-kySzOiJr.js +1 -1
- package/dist/push-apns-tM6G9LLm.js +1 -1
- package/dist/pw-ai-B7YMA_4Q.js +1 -1
- package/dist/pw-ai-C7peCONw.js +1 -1
- package/dist/pw-ai-CojtT9WR.js +1 -1
- package/dist/pw-ai-DWJWFzTA.js +1 -1
- package/dist/qmd-manager-C_e04BNg.js +1 -1
- package/dist/qmd-manager-DSQ_mDCl.js +1 -1
- package/dist/qmd-manager-DcBYbt_V.js +1 -1
- package/dist/qmd-manager-NLI0R6kp.js +1 -1
- package/dist/qr-cli-DUR7oW0_.js +1 -1
- package/dist/qr-cli-kb3ygh9I.js +1 -1
- package/dist/query-expansion-0OxEb1Io.js +1 -1
- package/dist/query-expansion-BUUx_oWg.js +1 -1
- package/dist/query-expansion-r_iXkNzt.js +1 -1
- package/dist/reaction-level-DVPHL14p.js +1 -1
- package/dist/reaction-message-id-BEEe7X3D.js +1 -1
- package/dist/read-only-account-inspect-DEnPVHTo.js +1 -1
- package/dist/redact-3_CiXMY6.js +1 -1
- package/dist/redact-CnRxK70G.js +1 -1
- package/dist/register.agent-BwmE1VD-.js +1 -1
- package/dist/register.agent-D1hQi_68.js +1 -1
- package/dist/register.backup-8s5jgnHQ.js +1 -1
- package/dist/register.backup-CAiwLaIW.js +1 -1
- package/dist/register.configure-BsTw4XfK.js +1 -1
- package/dist/register.configure-DxR84Ot6.js +1 -1
- package/dist/register.maintenance-3nzWAo_a.js +1 -1
- package/dist/register.maintenance-DxKGQ9Jo.js +1 -1
- package/dist/register.message-Bk1pHVSK.js +1 -1
- package/dist/register.message-PcFtBR0-.js +1 -1
- package/dist/register.onboard-AWxbhU7j.js +1 -1
- package/dist/register.onboard-BTOZN8ro.js +1 -1
- package/dist/register.setup-B-e1qIbc.js +1 -1
- package/dist/register.setup-CweJJdt8.js +1 -1
- package/dist/register.status-health-sessions-B1R_nl6P.js +1 -1
- package/dist/register.status-health-sessions-CWNLXpAn.js +1 -1
- package/dist/register.subclis-C0VQ_HfZ.js +1 -1
- package/dist/registry-BptzrW8D.js +1 -1
- package/dist/registry-hFAtCSWG.js +1 -1
- package/dist/render-BXEUPIHe.js +1 -1
- package/dist/render-CBsnn-2A.js +1 -1
- package/dist/render-D8OWO2hT.js +1 -1
- package/dist/render-DrrPmnMI.js +1 -1
- package/dist/reply-r9KtzgpM.js +1 -1
- package/dist/restart-CTfuVGfA.js +1 -1
- package/dist/rpc-BQXfCyCw.js +1 -1
- package/dist/rpc-CcrILVsV.js +1 -1
- package/dist/run-main-CuQQyoU3.js +1 -1
- package/dist/runtime-BlsMYeaw.js +1 -1
- package/dist/runtime-DLxfCs7F.js +1 -1
- package/dist/runtime-guard-DFYBaYZS.js +1 -1
- package/dist/runtime-guard-DX2Ie4ri.js +1 -1
- package/dist/runtime-status-CqFBmdRd.js +1 -1
- package/dist/runtime-status-DszMjvJK.js +1 -1
- package/dist/runtime-web-tools-BWv0X5qp.js +1 -1
- package/dist/runtime-web-tools-CCIXUISf.js +1 -1
- package/dist/sandbox-cli-CxluKLFV.js +1 -1
- package/dist/sandbox-cli-xCX6FV4Z.js +1 -1
- package/dist/scan-paths-C13EseXp.js +1 -1
- package/dist/scan-paths-CWtvWW40.js +1 -1
- package/dist/search-manager-KMRzwyPH.js +1 -1
- package/dist/secret-file-C7JffiM_.js +1 -1
- package/dist/secret-file-D60EFEOe.js +1 -1
- package/dist/secret-file-DuWm26jS.js +1 -1
- package/dist/secrets-cli-Be6OBr6Q.js +1 -1
- package/dist/secrets-cli-DmDZiX17.js +1 -1
- package/dist/secure-random-D7JQgiK-.js +1 -1
- package/dist/security-cli-CllLwpQ-.js +1 -1
- package/dist/security-cli-DcA9keUK.js +1 -1
- package/dist/send-8rJCpsDu.js +1 -1
- package/dist/send-BJjoLBo3.js +1 -1
- package/dist/send-BOxuQt9L.js +1 -1
- package/dist/send-BPfl_1It.js +1 -1
- package/dist/send-BdS6jUBa.js +1 -1
- package/dist/send-BeZJ1zbp.js +1 -1
- package/dist/send-BkZ8dWQV2.js +1 -1
- package/dist/send-CDAeI9xB2.js +1 -1
- package/dist/send-CgeRzkWS.js +1 -1
- package/dist/send-CiTZ4p2t.js +1 -1
- package/dist/send-D0y-r_hg2.js +1 -1
- package/dist/send-DIw8ExHc.js +1 -1
- package/dist/send-DRm6AFp-.js +1 -1
- package/dist/send-DS5Quwb7.js +1 -1
- package/dist/send-DVmPgxm7.js +1 -1
- package/dist/send-Ds5sy22D.js +1 -1
- package/dist/send-DvGzdoKK.js +1 -1
- package/dist/send-OVet2uKx.js +1 -1
- package/dist/send-YPQFx-fV.js +1 -1
- package/dist/send-e2ppdA_R.js +1 -1
- package/dist/server-Dzqb5Tau.js +1 -1
- package/dist/server-node-events-B2irOUJ_.js +1 -1
- package/dist/server-node-events-DSr6P0VG.js +1 -1
- package/dist/server-w7sUBJEA.js +1 -1
- package/dist/service-BtB9epJk.js +1 -1
- package/dist/service-DZ9EbS15.js +1 -1
- package/dist/session-BYYOduc1.js +1 -1
- package/dist/session-B_qrXLsR.js +1 -1
- package/dist/session-Be0RV2V1.js +1 -1
- package/dist/session-bk3gFwO4.js +1 -1
- package/dist/session-cost-usage-BgqKixv0.js +1 -1
- package/dist/session-cost-usage-CHtVgnE8.js +1 -1
- package/dist/session-key-C7F_iqYg.js +1 -1
- package/dist/session-key-D3P0tf5P.js +1 -1
- package/dist/session-utils-CrR0wD3W.js +1 -1
- package/dist/sessions-BvTGb3rW.js +1 -1
- package/dist/shared-9x5sqYRb.js +1 -1
- package/dist/shared-BKWhOp64.js +1 -1
- package/dist/shared-BV-hfJ3h.js +1 -1
- package/dist/skill-commands-C59b8Yso.js +1 -1
- package/dist/skill-commands-CqIEajsA.js +1 -1
- package/dist/skill-commands-F5NFH0NR.js +1 -1
- package/dist/skill-commands-O39uSj-k.js +1 -1
- package/dist/skill-scanner-CUUF3Fvo.js +1 -1
- package/dist/skill-scanner-CkxXNioD.js +1 -1
- package/dist/skills-CKTicUKS.js +1 -1
- package/dist/skills-DHbOKEGc.js +1 -1
- package/dist/skills-cli-CZD1Ng18.js +1 -1
- package/dist/skills-cli-nj0w4fe0.js +1 -1
- package/dist/skills-install-D0I6c17J.js +1 -1
- package/dist/skills-install-XHpqMBWl.js +1 -1
- package/dist/skills-status-BWIugRCz.js +1 -1
- package/dist/skills-status-DswSl5aD.js +1 -1
- package/dist/sqlite-CILF3z9U.js +1 -1
- package/dist/stagger-DmFYysrJ.js +1 -1
- package/dist/stagger-DxzgG2jd.js +1 -1
- package/dist/status-DKB9gdSp.js +1 -1
- package/dist/status-DgRrUxyg.js +1 -1
- package/dist/status-YZD9V9xi.js +1 -1
- package/dist/status-isxcm8Xz.js +1 -1
- package/dist/status.update-B_8Gumuc.js +1 -1
- package/dist/status.update-Cf2e-l9d.js +1 -1
- package/dist/string-normalization-BrUPaXaM.js +1 -1
- package/dist/string-normalization-DJT5zuUF.js +1 -1
- package/dist/subsystem-BLbY429l.js +1 -1
- package/dist/subsystem-Bc2XrjUz.js +1 -1
- package/dist/subsystem-C5XF2Fy5.js +1 -1
- package/dist/system-cli-CRs3TOTw.js +1 -1
- package/dist/system-cli-GyoLZQpj.js +1 -1
- package/dist/system-run-command-DCzdgYyb.js +1 -1
- package/dist/system-run-command-FCk9hSMO.js +1 -1
- package/dist/systemd-D7odsu4K.js +1 -1
- package/dist/systemd-DbevZh65.js +1 -1
- package/dist/systemd-hints-lXpMy-kY.js +1 -1
- package/dist/systemd-hints-x1lJAOxS.js +1 -1
- package/dist/systemd-linger-C2MJD6KG.js +1 -1
- package/dist/systemd-linger-cWKbFNpu.js +1 -1
- package/dist/table-CR7TFMew.js +1 -1
- package/dist/table-CY440fI1.js +1 -1
- package/dist/tables-3Rjt6nwZ.js +1 -1
- package/dist/tables-B9wFKQvT.js +1 -1
- package/dist/tables-D1pcaye7.js +1 -1
- package/dist/tables-h7y1Jhf4.js +1 -1
- package/dist/target-errors-CUQcIty1.js +1 -1
- package/dist/target-errors-D55sWZ4E.js +1 -1
- package/dist/target-errors-DH0aw-m5.js +1 -1
- package/dist/target-errors-LuLROpta.js +1 -1
- package/dist/targets-4EaxWBal.js +1 -1
- package/dist/targets-BJTo7bqu.js +1 -1
- package/dist/targets-BYVMrXDf.js +1 -1
- package/dist/targets-Bq6rS6-Z.js +1 -1
- package/dist/targets-CL5fYQi7.js +1 -1
- package/dist/targets-fozeWOOg.js +1 -1
- package/dist/targets-m_41k_Mv.js +1 -1
- package/dist/telegram/audit.js +1 -1
- package/dist/text-format-CvrvBBre.js +1 -1
- package/dist/text-format-DEWK6oCT.js +1 -1
- package/dist/token-DnTmiyJu.js +1 -1
- package/dist/tokens-B2fq-rL6.js +1 -1
- package/dist/tokens-CL2fSjGl.js +1 -1
- package/dist/tokens-DRM8vzJx.js +1 -1
- package/dist/tokens-XGbQGn67.js +1 -1
- package/dist/tool-display-DJDtttQg.js +1 -1
- package/dist/tool-display-DjuSUUbH.js +1 -1
- package/dist/tui-CqEb9hrT.js +1 -1
- package/dist/tui-DdZ8SpNW.js +1 -1
- package/dist/tui-cli-Bj0okLCf.js +1 -1
- package/dist/tui-cli-CYvBshyB.js +1 -1
- package/dist/types.secrets-C-5U96pc.js +1 -1
- package/dist/types.secrets-D4tbc3Wq.js +1 -1
- package/dist/update-BGrxUIyz.js +1 -1
- package/dist/update-CwTy5DPl.js +1 -1
- package/dist/update-cli-lciKU8_L.js +1 -1
- package/dist/update-cli-xb0jHjE8.js +1 -1
- package/dist/update-runner-8Hto6X-M.js +1 -1
- package/dist/update-runner-LVJcy569.js +1 -1
- package/dist/usage-format-BWD8FJFL.js +1 -1
- package/dist/usage-format-yPwal8Iz.js +1 -1
- package/dist/utils-CGdo13HV.js +1 -1
- package/dist/utils-D3t-vPka.js +1 -1
- package/dist/utils-R-mFyVJi.js +1 -1
- package/dist/utils-UGOV_184.js +1 -1
- package/dist/version-q3SkUw2K.js +1 -1
- package/dist/warning-filter.js +1 -1
- package/dist/web-Bfz_qlYe.js +1 -1
- package/dist/web-ClbIohhf.js +1 -1
- package/dist/webhooks-cli-DKfKihmJ.js +1 -1
- package/dist/webhooks-cli-LU2ADRQp.js +1 -1
- package/dist/whatsapp-actions-1TJ8dlv0.js +1 -1
- package/dist/whatsapp-actions-CuDiuPGa.js +1 -1
- package/dist/whatsapp-actions-DkLDOIk1.js +1 -1
- package/dist/whatsapp-actions-EnduXWui.js +1 -1
- package/dist/widearea-dns-BDx7vkV2.js +1 -1
- package/dist/widearea-dns-BFjqKXu_.js +1 -1
- package/dist/windows-spawn-7oINn5ao.js +1 -1
- package/dist/windows-spawn-AB7ItGAE.js +1 -1
- package/dist/with-timeout-WveKxvFV.js +1 -1
- package/dist/with-timeout-c1CzdShT.js +1 -1
- package/dist/workspace-B0ZQeHXg.js +1 -1
- package/dist/workspace-C45T1Cxg.js +1 -1
- package/dist/workspace-dirs-A8Vib9_B.js +1 -1
- package/dist/workspace-dirs-BhF1Dzxt.js +1 -1
- package/dist/workspace-xNEpaJvu.js +1 -1
- package/dist/wsl-DHxB2Ew_.js +1 -1
- package/dist/wsl-Ok7GaSJ6.js +1 -1
- package/extensions/memory-core/index.js +1 -0
- package/extensions/memory-core/package.json +1 -1
- package/extensions/openclaw-telemetry-galileo-embedded/index.js +4 -0
- package/extensions/openclaw-telemetry-galileo-embedded/package.json +2 -2
- package/extensions/openclaw-telemetry-galileo-embedded/src/service.js +13 -0
- package/extensions/openclaw-weixin/index.js +1 -0
- package/extensions/openclaw-weixin/package.json +3 -3
- package/extensions/openclaw-weixin/src/api/api.js +1 -0
- package/extensions/openclaw-weixin/src/api/config-cache.js +1 -0
- package/extensions/openclaw-weixin/src/api/session-guard.js +1 -0
- package/extensions/openclaw-weixin/src/api/types.js +1 -0
- package/extensions/openclaw-weixin/src/auth/accounts.js +1 -0
- package/extensions/openclaw-weixin/src/auth/login-qr.js +11 -0
- package/extensions/openclaw-weixin/src/auth/pairing.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/aes-ecb.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/cdn-upload.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/cdn-url.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/pic-decrypt.js +1 -0
- package/extensions/openclaw-weixin/src/cdn/upload.js +1 -0
- package/extensions/openclaw-weixin/src/channel.js +6 -0
- package/extensions/openclaw-weixin/src/config/config-schema.js +1 -0
- package/extensions/openclaw-weixin/src/log-upload.js +4 -0
- package/extensions/openclaw-weixin/src/media/media-download.js +1 -0
- package/extensions/openclaw-weixin/src/media/mime.js +1 -0
- package/extensions/openclaw-weixin/src/media/silk-transcode.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/debug-mode.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/error-notice.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/inbound.js +2 -0
- package/extensions/openclaw-weixin/src/messaging/process-message.js +3 -0
- package/extensions/openclaw-weixin/src/messaging/send-media.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/send.js +1 -0
- package/extensions/openclaw-weixin/src/messaging/slash-commands.js +2 -0
- package/extensions/openclaw-weixin/src/monitor/monitor.js +1 -0
- package/extensions/openclaw-weixin/src/runtime.js +1 -0
- package/extensions/openclaw-weixin/src/storage/state-dir.js +1 -0
- package/extensions/openclaw-weixin/src/storage/sync-buf.js +1 -0
- package/extensions/openclaw-weixin/src/util/logger.js +2 -0
- package/extensions/openclaw-weixin/src/util/random.js +1 -0
- package/extensions/openclaw-weixin/src/util/redact.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/index.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/package.json +1 -1
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/browser-use-tool.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/server.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/tools.js +1 -0
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/websocket-manager.js +1 -0
- package/package.json +1 -1
- package/preset-config.json +22 -0
- package/extensions/memory-core/index.ts +0 -38
- package/extensions/openclaw-telemetry-galileo-embedded/index.ts +0 -663
- package/extensions/openclaw-telemetry-galileo-embedded/src/service.ts +0 -1590
- package/extensions/openclaw-weixin/index.ts +0 -26
- package/extensions/openclaw-weixin/src/api/api.ts +0 -238
- package/extensions/openclaw-weixin/src/api/config-cache.ts +0 -79
- package/extensions/openclaw-weixin/src/api/session-guard.ts +0 -58
- package/extensions/openclaw-weixin/src/api/types.ts +0 -222
- package/extensions/openclaw-weixin/src/auth/accounts.ts +0 -363
- package/extensions/openclaw-weixin/src/auth/login-qr.ts +0 -344
- package/extensions/openclaw-weixin/src/auth/pairing.ts +0 -120
- package/extensions/openclaw-weixin/src/cdn/aes-ecb.ts +0 -21
- package/extensions/openclaw-weixin/src/cdn/cdn-upload.ts +0 -75
- package/extensions/openclaw-weixin/src/cdn/cdn-url.ts +0 -17
- package/extensions/openclaw-weixin/src/cdn/pic-decrypt.ts +0 -85
- package/extensions/openclaw-weixin/src/cdn/upload.ts +0 -154
- package/extensions/openclaw-weixin/src/channel.ts +0 -483
- package/extensions/openclaw-weixin/src/config/config-schema.ts +0 -21
- package/extensions/openclaw-weixin/src/log-upload.ts +0 -129
- package/extensions/openclaw-weixin/src/media/media-download.ts +0 -138
- package/extensions/openclaw-weixin/src/media/mime.ts +0 -76
- package/extensions/openclaw-weixin/src/media/silk-transcode.ts +0 -74
- package/extensions/openclaw-weixin/src/messaging/debug-mode.ts +0 -68
- package/extensions/openclaw-weixin/src/messaging/error-notice.ts +0 -36
- package/extensions/openclaw-weixin/src/messaging/inbound.ts +0 -283
- package/extensions/openclaw-weixin/src/messaging/process-message.ts +0 -488
- package/extensions/openclaw-weixin/src/messaging/send-media.ts +0 -76
- package/extensions/openclaw-weixin/src/messaging/send.ts +0 -267
- package/extensions/openclaw-weixin/src/messaging/slash-commands.ts +0 -105
- package/extensions/openclaw-weixin/src/monitor/monitor.ts +0 -225
- package/extensions/openclaw-weixin/src/runtime.ts +0 -67
- package/extensions/openclaw-weixin/src/storage/state-dir.ts +0 -11
- package/extensions/openclaw-weixin/src/storage/sync-buf.ts +0 -79
- package/extensions/openclaw-weixin/src/util/logger.ts +0 -146
- package/extensions/openclaw-weixin/src/util/random.ts +0 -17
- package/extensions/openclaw-weixin/src/util/redact.ts +0 -57
- package/extensions/openclaw-weixin/src/vendor.d.ts +0 -21
- package/extensions/qbagent-mcp-server-x5uselocal-node/index.ts +0 -140
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/browser-use-tool.ts +0 -157
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/server.ts +0 -135
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/tools.ts +0 -205
- package/extensions/qbagent-mcp-server-x5uselocal-node/src/websocket-manager.ts +0 -351
|
@@ -1 +1 @@
|
|
|
1
|
-
import{B as e,C as t,H as n,S as r,_ as i,b as a,g as o,t as s,v as c,w as l,x as u,y as d}from"./config-DAQjvwZw.js";import"./secret-file-DuWm26jS.js";import"./token-DnTmiyJu.js";import{_ as f,b as p,h as m,l as h,n as g,o as _,u as v}from"./utils-R-mFyVJi.js";import{o as y,u as b}from"./proxy-env-DrC3TIGh.js";import x from"node:fs";import{randomUUID as S}from"node:crypto";import{DisconnectReason as C,fetchLatestBaileysVersion as w,makeCacheableSignalKeyStore as T,makeWASocket as E,useMultiFileAuthState as ee}from"@whiskeysockets/baileys";import D from"qrcode-terminal/vendor/QRCode/index.js";import O from"qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js";import{deflateSync as k}from"node:zlib";import A from"qrcode-terminal";const j=(()=>{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 M(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=j[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function N(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=M(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function P(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 F(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=k(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,N(`IHDR`,s),N(`IDAT`,a),N(`IEND`,Buffer.alloc(0))])}const I=D,L=O;function R(e){let t=new I(-1,L.L);return t.addData(e),t.make(),t}async function z(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=R(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)P(s,a+e,t,o,0,0,0,255)}}return F(s,o,o).toString(`base64`)}let B=Promise.resolve();function V(e,t,n){B=B.then(()=>H(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function H(e,n,i){try{let n=t(e),i=r(e),a=d(n);if(a)try{JSON.parse(a),x.copyFileSync(n,i);try{x.chmodSync(i,384)}catch{}}catch{}}catch{}try{await Promise.resolve(n());try{x.chmodSync(t(e),384)}catch{}}catch(e){i.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function U(t,r,i={}){let a=p(f({module:`baileys`},{level:r?`info`:`silent`}),r?`info`:`silent`),o=_(i.authDir??u());await g(o);let s=f({module:`web-session`});c(o);let{state:l,saveCreds:d}=await ee(o),{version:v}=await w(),y=E({auth:{creds:l.creds,keys:T(l.keys,a)},version:v,logger:a,printQRInTerminal:!1,browser:[`openclaw`,`cli`,n],syncFullHistory:!1,markOnlineOnConnect:!1});return y.ev.on(`creds.update`,()=>V(o,d,s)),y.ev.on(`connection.update`,n=>{try{let{connection:a,lastDisconnect:o,qr:s}=n;s&&(i.onQr?.(s),t&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),A.generate(s,{small:!0}))),a===`close`&&G(o?.error)===C.loggedOut&&console.error(h(`WhatsApp session logged out. Run: ${e(`openclaw channels login`)}`)),a===`open`&&r&&console.log(m(`WhatsApp Web connected.`))}catch(e){s.error({error:String(e)},`connection.update handler error`)}}),y.ws&&typeof y.ws.on==`function`&&y.ws.on(`error`,e=>{s.error({error:String(e)},`WebSocket error`)}),y}async function W(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function G(e){return e?.output?.statusCode??e?.status}function K(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function q(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function J(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=q(e)??q(e?.error)??q(e?.lastDisconnect?.error),n=t?.statusCode??G(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):K(e)}const Y=new Map;function X(e){try{e.ws?.close()}catch{}}async function Z(e,t){let n=Y.get(e);n&&(X(n.sock),Y.delete(e)),t&&y(t)}function Q(e){return Date.now()-e.startedAt<18e4}function $(e,t){t.waitPromise=W(t.sock).then(()=>{let n=Y.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let r=Y.get(e);r?.id===t.id&&(r.error=J(n),r.errorStatus=G(n))})}async function te(e,t){if(e.restartAttempted)return!1;e.restartAttempted=!0,t.log(v(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),X(e.sock);try{return e.sock=await U(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,$(e.accountId,e),!0}catch(t){return e.error=J(t),e.errorStatus=G(t),!1}}async function ne(e={}){let t=e.runtime??b,n=o({cfg:s(),accountId:e.accountId}),r=await l(n.authDir),i=a(n.authDir);if(r&&!e.force)return{message:`WhatsApp is already linked (${i.e164??i.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let c=Y.get(n.accountId);if(c&&Q(c)&&c.qrDataUrl)return{qrDataUrl:c.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await Z(n.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 U(!1,!!e.verbose,{authDir:n.authDir,onQr:e=>{if(h)return;h=e;let r=Y.get(n.accountId);r&&!r.qr&&(r.qr=e),clearTimeout(p),t.log(v(`WhatsApp QR received.`)),u?.(e)}})}catch(e){return clearTimeout(p),await Z(n.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let g={accountId:n.accountId,authDir:n.authDir,isLegacyAuthDir:n.isLegacyAuthDir,id:S(),sock:m,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};Y.set(n.accountId,g),h&&!g.qr&&(g.qr=h),$(n.accountId,g);let _;try{_=await f}catch(e){return clearTimeout(p),await Z(n.accountId),{message:`Failed to get QR: ${String(e)}`}}return g.qrDataUrl=`data:image/png;base64,${await z(_)}`,{qrDataUrl:g.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function re(e={}){let t=e.runtime??b,n=o({cfg:s(),accountId:e.accountId}),r=Y.get(n.accountId);if(!r)return{connected:!1,message:`No active WhatsApp login in progress.`};let a=r;if(!Q(a))return await Z(n.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 r=new Promise(t=>setTimeout(()=>t(`timeout`),e));if(await Promise.race([a.waitPromise.then(()=>`done`),r])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(a.error){if(a.errorStatus===C.loggedOut){await i({authDir:a.authDir,isLegacyAuthDir:a.isLegacyAuthDir,runtime:t});let e=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await Z(n.accountId,e),t.log(h(e)),{connected:!1,message:e}}if(a.errorStatus===515&&await te(a,t)&&Q(a))continue;let e=`WhatsApp login failed: ${a.error}`;return await Z(n.accountId,e),t.log(h(e)),{connected:!1,message:e}}if(a.connected){let e=`✅ Linked! WhatsApp is ready.`;return t.log(m(e)),await Z(n.accountId),{connected:!0,message:e}}return{connected:!1,message:`Login ended without a connection.`}}}export{ne as startWebLoginWithQr,re as waitForWebLogin};
|
|
1
|
+
import{B as e,C as t,H as n,S as r,_ as i,b as a,g as o,t as s,v as c,w as l,x as u,y as d}from"./config-DAQjvwZw.js";import"./secret-file-DuWm26jS.js";import"./token-DnTmiyJu.js";import{_ as f,b as p,h as m,l as h,n as g,o as _,u as v}from"./utils-R-mFyVJi.js";import{o as y,u as b}from"./proxy-env-DrC3TIGh.js";import x from"node:fs";import{randomUUID as S}from"node:crypto";import{DisconnectReason as C,fetchLatestBaileysVersion as w,makeCacheableSignalKeyStore as T,makeWASocket as E,useMultiFileAuthState as ee}from"@whiskeysockets/baileys";import D from"qrcode-terminal/vendor/QRCode/index.js";import O from"qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js";import{deflateSync as k}from"node:zlib";import A from"qrcode-terminal";const j=(()=>{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 M(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=j[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function N(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=M(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function P(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 F(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=k(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,N(`IHDR`,s),N(`IDAT`,a),N(`IEND`,Buffer.alloc(0))])}const I=D,L=O;function R(e){let t=new I(-1,L.L);return t.addData(e),t.make(),t}async function z(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=R(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)P(s,a+e,t,o,0,0,0,255)}}return F(s,o,o).toString(`base64`)}let B=Promise.resolve();function V(e,t,n){B=B.then(()=>H(e,t,n)).catch(e=>{n.warn({error:String(e)},`WhatsApp creds save queue error`)})}async function H(e,n,i){try{let n=t(e),i=r(e),a=d(n);if(a)try{JSON.parse(a),x.copyFileSync(n,i);try{x.chmodSync(i,384)}catch{}}catch{}}catch{}try{await Promise.resolve(n());try{x.chmodSync(t(e),384)}catch{}}catch(e){i.warn({error:String(e)},`failed saving WhatsApp creds`)}}async function U(t,r,i={}){let a=p(f({module:`baileys`},{level:r?`info`:`silent`}),r?`info`:`silent`),o=_(i.authDir??u());await g(o);let s=f({module:`web-session`});c(o);let{state:l,saveCreds:d}=await ee(o),{version:v}=await w(),y=E({auth:{creds:l.creds,keys:T(l.keys,a)},version:v,logger:a,printQRInTerminal:!1,browser:[`openclaw`,`cli`,n],syncFullHistory:!1,markOnlineOnConnect:!1});return y.ev.on(`creds.update`,()=>V(o,d,s)),y.ev.on(`connection.update`,n=>{try{let{connection:a,lastDisconnect:o,qr:s}=n;s&&(i.onQr?.(s),t&&(console.log(`Scan this QR in WhatsApp (Linked Devices):`),A.generate(s,{small:!0}))),a===`close`&&G(o?.error)===C.loggedOut&&console.error(h(`WhatsApp session logged out. Run: ${e(`openclaw channels login`)}`)),a===`open`&&r&&console.log(m(`WhatsApp Web connected.`))}catch(e){s.error({error:String(e)},`connection.update handler error`)}}),y.ws&&typeof y.ws.on==`function`&&y.ws.on(`error`,e=>{s.error({error:String(e)},`WebSocket error`)}),y}async function W(e){return new Promise((t,n)=>{let r=e.ev,i=(...e)=>{let a=e[0]??{};a.connection===`open`&&(r.off?.(`connection.update`,i),t()),a.connection===`close`&&(r.off?.(`connection.update`,i),n(a.lastDisconnect??Error(`Connection closed`)))};e.ev.on(`connection.update`,i)})}function G(e){return e?.output?.statusCode??e?.status}function K(e,t=800){try{let n=new WeakSet,r=JSON.stringify(e,(e,t)=>{if(typeof t==`bigint`)return t.toString();if(typeof t==`function`){let e=t.name;return`[Function ${typeof e==`string`&&e.length>0?e:`anonymous`}]`}if(typeof t==`object`&&t){if(n.has(t))return`[Circular]`;n.add(t)}return t},2);return r?r.length>t?`${r.slice(0,t)}…`:r:String(e)}catch{return String(e)}}function q(e){if(!e||typeof e!=`object`)return null;let t=e?.output;if(!t||typeof t!=`object`)return null;let n=t.payload,r=typeof t.statusCode==`number`?t.statusCode:typeof n?.statusCode==`number`?n.statusCode:void 0,i=typeof n?.error==`string`?n.error:void 0,a=typeof n?.message==`string`?n.message:void 0;return!r&&!i&&!a?null:{statusCode:r,error:i,message:a}}function J(e){if(e instanceof Error)return e.message;if(typeof e==`string`)return e;if(!e||typeof e!=`object`)return String(e);let t=q(e)??q(e?.error)??q(e?.lastDisconnect?.error),n=t?.statusCode??G(e),r=e?.code,i=typeof r==`string`||typeof r==`number`?String(r):void 0,a=[t?.message,typeof e?.message==`string`?e.message:void 0,typeof e?.error?.message==`string`?e.error?.message:void 0].filter(e=>!!(e&&e.trim().length>0))[0],o=[];return typeof n==`number`&&o.push(`status=${n}`),t?.error&&o.push(t.error),a&&o.push(a),i&&o.push(`code=${i}`),o.length>0?o.join(` `):K(e)}const Y=new Map;function X(e){try{e.ws?.close()}catch{}}async function Z(e,t){let n=Y.get(e);n&&(X(n.sock),Y.delete(e)),t&&y(t)}function Q(e){return Date.now()-e.startedAt<18e4}function $(e,t){t.waitPromise=W(t.sock).then(()=>{let n=Y.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let r=Y.get(e);r?.id===t.id&&(r.error=J(n),r.errorStatus=G(n))})}async function te(e,t){if(e.restartAttempted)return!1;e.restartAttempted=!0,t.log(v(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),X(e.sock);try{return e.sock=await U(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,$(e.accountId,e),!0}catch(t){return e.error=J(t),e.errorStatus=G(t),!1}}async function ne(e={}){let t=e.runtime??b,n=o({cfg:s(),accountId:e.accountId}),r=await l(n.authDir),i=a(n.authDir);if(r&&!e.force)return{message:`WhatsApp is already linked (${i.e164??i.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let c=Y.get(n.accountId);if(c&&Q(c)&&c.qrDataUrl)return{qrDataUrl:c.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await Z(n.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 U(!1,!!e.verbose,{authDir:n.authDir,onQr:e=>{if(h)return;h=e;let r=Y.get(n.accountId);r&&!r.qr&&(r.qr=e),clearTimeout(p),t.log(v(`WhatsApp QR received.`)),u?.(e)}})}catch(e){return clearTimeout(p),await Z(n.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let g={accountId:n.accountId,authDir:n.authDir,isLegacyAuthDir:n.isLegacyAuthDir,id:S(),sock:m,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};Y.set(n.accountId,g),h&&!g.qr&&(g.qr=h),$(n.accountId,g);let _;try{_=await f}catch(e){return clearTimeout(p),await Z(n.accountId),{message:`Failed to get QR: ${String(e)}`}}return g.qrDataUrl=`data:image/png;base64,${await z(_)}`,{qrDataUrl:g.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function re(e={}){let t=e.runtime??b,n=o({cfg:s(),accountId:e.accountId}),r=Y.get(n.accountId);if(!r)return{connected:!1,message:`No active WhatsApp login in progress.`};let a=r;if(!Q(a))return await Z(n.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 r=new Promise(t=>setTimeout(()=>t(`timeout`),e));if(await Promise.race([a.waitPromise.then(()=>`done`),r])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(a.error){if(a.errorStatus===C.loggedOut){await i({authDir:a.authDir,isLegacyAuthDir:a.isLegacyAuthDir,runtime:t});let e=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await Z(n.accountId,e),t.log(h(e)),{connected:!1,message:e}}if(a.errorStatus===515&&await te(a,t)&&Q(a))continue;let e=`WhatsApp login failed: ${a.error}`;return await Z(n.accountId,e),t.log(h(e)),{connected:!1,message:e}}if(a.connected){let e=`✅ Linked! WhatsApp is ready.`;return t.log(m(e)),await Z(n.accountId),{connected:!0,message:e}}return{connected:!1,message:`Login ended without a connection.`}}}export{ne as startWebLoginWithQr,re as waitForWebLogin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e,p as t,v as n,y as r}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{jo as i}from"./auth-profiles-BhXA8Jy2.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import{$ as a,U as o,Y as s,rt as c}from"./plugins-DNlgeTTc.js";import{r as l}from"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import{i as u,n as d,r as f,t as p}from"./session-bk3gFwO4.js";import{randomUUID as m}from"node:crypto";import{DisconnectReason as h}from"@whiskeysockets/baileys";import g from"qrcode-terminal/vendor/QRCode/index.js";import _ from"qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js";import{deflateSync as v}from"node:zlib";const y=(()=>{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 b(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=y[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function x(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=b(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function S(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 C(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=v(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,x(`IHDR`,s),x(`IDAT`,a),x(`IEND`,Buffer.alloc(0))])}const w=g,T=_;function E(e){let t=new w(-1,T.L);return t.addData(e),t.make(),t}async function D(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=E(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)S(s,a+e,t,o,0,0,0,255)}}return C(s,o,o).toString(`base64`)}const O=new Map;function k(e){try{e.ws?.close()}catch{}}async function A(e,t){let n=O.get(e);n&&(k(n.sock),O.delete(e)),t&&l(t)}function j(e){return Date.now()-e.startedAt<18e4}function M(e,t){t.waitPromise=u(t.sock).then(()=>{let n=O.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let r=O.get(e);r?.id===t.id&&(r.error=d(n),r.errorStatus=f(n))})}async function N(e,t){if(e.restartAttempted)return!1;e.restartAttempted=!0,t.log(r(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),k(e.sock);try{return e.sock=await p(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,M(e.accountId,e),!0}catch(t){return e.error=d(t),e.errorStatus=f(t),!1}}async function P(e={}){let n=e.runtime??t,s=o({cfg:i(),accountId:e.accountId}),l=await c(s.authDir),u=a(s.authDir);if(l&&!e.force)return{message:`WhatsApp is already linked (${u.e164??u.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let d=O.get(s.accountId);if(d&&j(d)&&d.qrDataUrl)return{qrDataUrl:d.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await A(s.accountId);let f=null,h=null,g=new Promise((e,t)=>{f=e,h=t}),_=setTimeout(()=>{h?.(Error(`Timed out waiting for WhatsApp QR`))},Math.max(e.timeoutMs??3e4,5e3)),v,y=null;try{v=await p(!1,!!e.verbose,{authDir:s.authDir,onQr:e=>{if(y)return;y=e;let t=O.get(s.accountId);t&&!t.qr&&(t.qr=e),clearTimeout(_),n.log(r(`WhatsApp QR received.`)),f?.(e)}})}catch(e){return clearTimeout(_),await A(s.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let b={accountId:s.accountId,authDir:s.authDir,isLegacyAuthDir:s.isLegacyAuthDir,id:m(),sock:v,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};O.set(s.accountId,b),y&&!b.qr&&(b.qr=y),M(s.accountId,b);let x;try{x=await g}catch(e){return clearTimeout(_),await A(s.accountId),{message:`Failed to get QR: ${String(e)}`}}return b.qrDataUrl=`data:image/png;base64,${await D(x)}`,{qrDataUrl:b.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function F(r={}){let a=r.runtime??t,c=o({cfg:i(),accountId:r.accountId}),l=O.get(c.accountId);if(!l)return{connected:!1,message:`No active WhatsApp login in progress.`};let u=l;if(!j(u))return await A(c.accountId),{connected:!1,message:`The login QR expired. Ask me to generate a new one.`};let d=Math.max(r.timeoutMs??12e4,1e3),f=Date.now()+d;for(;;){let t=f-Date.now();if(t<=0)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};let r=new Promise(e=>setTimeout(()=>e(`timeout`),t));if(await Promise.race([u.waitPromise.then(()=>`done`),r])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(u.error){if(u.errorStatus===h.loggedOut){await s({authDir:u.authDir,isLegacyAuthDir:u.isLegacyAuthDir,runtime:a});let e=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await A(c.accountId,e),a.log(n(e)),{connected:!1,message:e}}if(u.errorStatus===515&&await N(u,a)&&j(u))continue;let e=`WhatsApp login failed: ${u.error}`;return await A(c.accountId,e),a.log(n(e)),{connected:!1,message:e}}if(u.connected){let t=`✅ Linked! WhatsApp is ready.`;return a.log(e(t)),await A(c.accountId),{connected:!0,message:t}}return{connected:!1,message:`Login ended without a connection.`}}}export{P as startWebLoginWithQr,F as waitForWebLogin};
|
|
1
|
+
import{E as e,p as t,v as n,y as r}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import{jo as i}from"./auth-profiles-BhXA8Jy2.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import{$ as a,U as o,Y as s,rt as c}from"./plugins-DNlgeTTc.js";import{r as l}from"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import{i as u,n as d,r as f,t as p}from"./session-bk3gFwO4.js";import{randomUUID as m}from"node:crypto";import{DisconnectReason as h}from"@whiskeysockets/baileys";import g from"qrcode-terminal/vendor/QRCode/index.js";import _ from"qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js";import{deflateSync as v}from"node:zlib";const y=(()=>{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 b(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=y[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function x(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=b(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function S(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 C(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=v(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,x(`IHDR`,s),x(`IDAT`,a),x(`IEND`,Buffer.alloc(0))])}const w=g,T=_;function E(e){let t=new w(-1,T.L);return t.addData(e),t.make(),t}async function D(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=E(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)S(s,a+e,t,o,0,0,0,255)}}return C(s,o,o).toString(`base64`)}const O=new Map;function k(e){try{e.ws?.close()}catch{}}async function A(e,t){let n=O.get(e);n&&(k(n.sock),O.delete(e)),t&&l(t)}function j(e){return Date.now()-e.startedAt<18e4}function M(e,t){t.waitPromise=u(t.sock).then(()=>{let n=O.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let r=O.get(e);r?.id===t.id&&(r.error=d(n),r.errorStatus=f(n))})}async function N(e,t){if(e.restartAttempted)return!1;e.restartAttempted=!0,t.log(r(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),k(e.sock);try{return e.sock=await p(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,M(e.accountId,e),!0}catch(t){return e.error=d(t),e.errorStatus=f(t),!1}}async function P(e={}){let n=e.runtime??t,s=o({cfg:i(),accountId:e.accountId}),l=await c(s.authDir),u=a(s.authDir);if(l&&!e.force)return{message:`WhatsApp is already linked (${u.e164??u.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let d=O.get(s.accountId);if(d&&j(d)&&d.qrDataUrl)return{qrDataUrl:d.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await A(s.accountId);let f=null,h=null,g=new Promise((e,t)=>{f=e,h=t}),_=setTimeout(()=>{h?.(Error(`Timed out waiting for WhatsApp QR`))},Math.max(e.timeoutMs??3e4,5e3)),v,y=null;try{v=await p(!1,!!e.verbose,{authDir:s.authDir,onQr:e=>{if(y)return;y=e;let t=O.get(s.accountId);t&&!t.qr&&(t.qr=e),clearTimeout(_),n.log(r(`WhatsApp QR received.`)),f?.(e)}})}catch(e){return clearTimeout(_),await A(s.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let b={accountId:s.accountId,authDir:s.authDir,isLegacyAuthDir:s.isLegacyAuthDir,id:m(),sock:v,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};O.set(s.accountId,b),y&&!b.qr&&(b.qr=y),M(s.accountId,b);let x;try{x=await g}catch(e){return clearTimeout(_),await A(s.accountId),{message:`Failed to get QR: ${String(e)}`}}return b.qrDataUrl=`data:image/png;base64,${await D(x)}`,{qrDataUrl:b.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function F(r={}){let a=r.runtime??t,c=o({cfg:i(),accountId:r.accountId}),l=O.get(c.accountId);if(!l)return{connected:!1,message:`No active WhatsApp login in progress.`};let u=l;if(!j(u))return await A(c.accountId),{connected:!1,message:`The login QR expired. Ask me to generate a new one.`};let d=Math.max(r.timeoutMs??12e4,1e3),f=Date.now()+d;for(;;){let t=f-Date.now();if(t<=0)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};let r=new Promise(e=>setTimeout(()=>e(`timeout`),t));if(await Promise.race([u.waitPromise.then(()=>`done`),r])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(u.error){if(u.errorStatus===h.loggedOut){await s({authDir:u.authDir,isLegacyAuthDir:u.isLegacyAuthDir,runtime:a});let e=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await A(c.accountId,e),a.log(n(e)),{connected:!1,message:e}}if(u.errorStatus===515&&await N(u,a)&&j(u))continue;let e=`WhatsApp login failed: ${u.error}`;return await A(c.accountId,e),a.log(n(e)),{connected:!1,message:e}}if(u.connected){let t=`✅ Linked! WhatsApp is ready.`;return a.log(e(t)),await A(c.accountId),{connected:!0,message:t}}return{connected:!1,message:`Login ended without a connection.`}}}export{P as startWebLoginWithQr,F as waitForWebLogin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-piJASC5k.js";import"./paths-BpQOWYiT.js";import{I as e,L as t,M as n,V as r,r as i}from"./logger-DwWqfo66.js";import{Tr as a,Za as o,gr as s,kr as c,xr as l}from"./model-selection-C2QwHmXT.js";import"./github-copilot-token-wm6mbypz.js";import"./proxy-env-BNhTHkd_.js";import{i as u,n as d,r as f,t as p}from"./session-B_qrXLsR.js";import{randomUUID as m}from"node:crypto";import{DisconnectReason as h}from"@whiskeysockets/baileys";import g from"qrcode-terminal/vendor/QRCode/index.js";import _ from"qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js";import{deflateSync as v}from"node:zlib";const y=(()=>{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 b(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=y[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function x(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=b(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function S(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 C(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=v(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,x(`IHDR`,s),x(`IDAT`,a),x(`IEND`,Buffer.alloc(0))])}const w=g,T=_;function E(e){let t=new w(-1,T.L);return t.addData(e),t.make(),t}async function D(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=E(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)S(s,a+e,t,o,0,0,0,255)}}return C(s,o,o).toString(`base64`)}const O=new Map;function k(e){try{e.ws?.close()}catch{}}async function A(e,t){let n=O.get(e);n&&(k(n.sock),O.delete(e)),t&&i(t)}function j(e){return Date.now()-e.startedAt<18e4}function M(e,t){t.waitPromise=u(t.sock).then(()=>{let n=O.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let r=O.get(e);r?.id===t.id&&(r.error=d(n),r.errorStatus=f(n))})}async function N(e,n){if(e.restartAttempted)return!1;e.restartAttempted=!0,n.log(t(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),k(e.sock);try{return e.sock=await p(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,M(e.accountId,e),!0}catch(t){return e.error=d(t),e.errorStatus=f(t),!1}}async function P(e={}){let r=e.runtime??n,i=s({cfg:o(),accountId:e.accountId}),l=await c(i.authDir),u=a(i.authDir);if(l&&!e.force)return{message:`WhatsApp is already linked (${u.e164??u.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let d=O.get(i.accountId);if(d&&j(d)&&d.qrDataUrl)return{qrDataUrl:d.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await A(i.accountId);let f=null,h=null,g=new Promise((e,t)=>{f=e,h=t}),_=setTimeout(()=>{h?.(Error(`Timed out waiting for WhatsApp QR`))},Math.max(e.timeoutMs??3e4,5e3)),v,y=null;try{v=await p(!1,!!e.verbose,{authDir:i.authDir,onQr:e=>{if(y)return;y=e;let n=O.get(i.accountId);n&&!n.qr&&(n.qr=e),clearTimeout(_),r.log(t(`WhatsApp QR received.`)),f?.(e)}})}catch(e){return clearTimeout(_),await A(i.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let b={accountId:i.accountId,authDir:i.authDir,isLegacyAuthDir:i.isLegacyAuthDir,id:m(),sock:v,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};O.set(i.accountId,b),y&&!b.qr&&(b.qr=y),M(i.accountId,b);let x;try{x=await g}catch(e){return clearTimeout(_),await A(i.accountId),{message:`Failed to get QR: ${String(e)}`}}return b.qrDataUrl=`data:image/png;base64,${await D(x)}`,{qrDataUrl:b.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function F(t={}){let i=t.runtime??n,a=s({cfg:o(),accountId:t.accountId}),c=O.get(a.accountId);if(!c)return{connected:!1,message:`No active WhatsApp login in progress.`};let u=c;if(!j(u))return await A(a.accountId),{connected:!1,message:`The login QR expired. Ask me to generate a new one.`};let d=Math.max(t.timeoutMs??12e4,1e3),f=Date.now()+d;for(;;){let t=f-Date.now();if(t<=0)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};let n=new Promise(e=>setTimeout(()=>e(`timeout`),t));if(await Promise.race([u.waitPromise.then(()=>`done`),n])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(u.error){if(u.errorStatus===h.loggedOut){await l({authDir:u.authDir,isLegacyAuthDir:u.isLegacyAuthDir,runtime:i});let t=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await A(a.accountId,t),i.log(e(t)),{connected:!1,message:t}}if(u.errorStatus===515&&await N(u,i)&&j(u))continue;let t=`WhatsApp login failed: ${u.error}`;return await A(a.accountId,t),i.log(e(t)),{connected:!1,message:t}}if(u.connected){let e=`✅ Linked! WhatsApp is ready.`;return i.log(r(e)),await A(a.accountId),{connected:!0,message:e}}return{connected:!1,message:`Login ended without a connection.`}}}export{P as startWebLoginWithQr,F as waitForWebLogin};
|
|
1
|
+
import"./paths-piJASC5k.js";import"./paths-BpQOWYiT.js";import{I as e,L as t,M as n,V as r,r as i}from"./logger-DwWqfo66.js";import{Tr as a,Za as o,gr as s,kr as c,xr as l}from"./model-selection-C2QwHmXT.js";import"./github-copilot-token-wm6mbypz.js";import"./proxy-env-BNhTHkd_.js";import{i as u,n as d,r as f,t as p}from"./session-B_qrXLsR.js";import{randomUUID as m}from"node:crypto";import{DisconnectReason as h}from"@whiskeysockets/baileys";import g from"qrcode-terminal/vendor/QRCode/index.js";import _ from"qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js";import{deflateSync as v}from"node:zlib";const y=(()=>{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 b(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=y[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function x(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=b(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function S(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 C(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=v(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,x(`IHDR`,s),x(`IDAT`,a),x(`IEND`,Buffer.alloc(0))])}const w=g,T=_;function E(e){let t=new w(-1,T.L);return t.addData(e),t.make(),t}async function D(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=E(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)S(s,a+e,t,o,0,0,0,255)}}return C(s,o,o).toString(`base64`)}const O=new Map;function k(e){try{e.ws?.close()}catch{}}async function A(e,t){let n=O.get(e);n&&(k(n.sock),O.delete(e)),t&&i(t)}function j(e){return Date.now()-e.startedAt<18e4}function M(e,t){t.waitPromise=u(t.sock).then(()=>{let n=O.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let r=O.get(e);r?.id===t.id&&(r.error=d(n),r.errorStatus=f(n))})}async function N(e,n){if(e.restartAttempted)return!1;e.restartAttempted=!0,n.log(t(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),k(e.sock);try{return e.sock=await p(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,M(e.accountId,e),!0}catch(t){return e.error=d(t),e.errorStatus=f(t),!1}}async function P(e={}){let r=e.runtime??n,i=s({cfg:o(),accountId:e.accountId}),l=await c(i.authDir),u=a(i.authDir);if(l&&!e.force)return{message:`WhatsApp is already linked (${u.e164??u.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let d=O.get(i.accountId);if(d&&j(d)&&d.qrDataUrl)return{qrDataUrl:d.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await A(i.accountId);let f=null,h=null,g=new Promise((e,t)=>{f=e,h=t}),_=setTimeout(()=>{h?.(Error(`Timed out waiting for WhatsApp QR`))},Math.max(e.timeoutMs??3e4,5e3)),v,y=null;try{v=await p(!1,!!e.verbose,{authDir:i.authDir,onQr:e=>{if(y)return;y=e;let n=O.get(i.accountId);n&&!n.qr&&(n.qr=e),clearTimeout(_),r.log(t(`WhatsApp QR received.`)),f?.(e)}})}catch(e){return clearTimeout(_),await A(i.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let b={accountId:i.accountId,authDir:i.authDir,isLegacyAuthDir:i.isLegacyAuthDir,id:m(),sock:v,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};O.set(i.accountId,b),y&&!b.qr&&(b.qr=y),M(i.accountId,b);let x;try{x=await g}catch(e){return clearTimeout(_),await A(i.accountId),{message:`Failed to get QR: ${String(e)}`}}return b.qrDataUrl=`data:image/png;base64,${await D(x)}`,{qrDataUrl:b.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function F(t={}){let i=t.runtime??n,a=s({cfg:o(),accountId:t.accountId}),c=O.get(a.accountId);if(!c)return{connected:!1,message:`No active WhatsApp login in progress.`};let u=c;if(!j(u))return await A(a.accountId),{connected:!1,message:`The login QR expired. Ask me to generate a new one.`};let d=Math.max(t.timeoutMs??12e4,1e3),f=Date.now()+d;for(;;){let t=f-Date.now();if(t<=0)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};let n=new Promise(e=>setTimeout(()=>e(`timeout`),t));if(await Promise.race([u.waitPromise.then(()=>`done`),n])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(u.error){if(u.errorStatus===h.loggedOut){await l({authDir:u.authDir,isLegacyAuthDir:u.isLegacyAuthDir,runtime:i});let t=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await A(a.accountId,t),i.log(e(t)),{connected:!1,message:t}}if(u.errorStatus===515&&await N(u,i)&&j(u))continue;let t=`WhatsApp login failed: ${u.error}`;return await A(a.accountId,t),i.log(e(t)),{connected:!1,message:t}}if(u.connected){let e=`✅ Linked! WhatsApp is ready.`;return i.log(r(e)),await A(a.accountId),{connected:!0,message:e}}return{connected:!1,message:`Login ended without a connection.`}}}export{P as startWebLoginWithQr,F as waitForWebLogin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-B4IRk3wi.js";import{E as e,p as t,v as n,y as r}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{qs as i}from"./model-selection-I1ctjFOB.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import{$ as a,U as o,Y as s,rt as c}from"./plugins-CYLrFT4h.js";import{r as l}from"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import{i as u,n as d,r as f,t as p}from"./session-Be0RV2V1.js";import{randomUUID as m}from"node:crypto";import{DisconnectReason as h}from"@whiskeysockets/baileys";import g from"qrcode-terminal/vendor/QRCode/index.js";import _ from"qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js";import{deflateSync as v}from"node:zlib";const y=(()=>{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 b(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=y[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function x(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=b(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function S(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 C(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=v(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,x(`IHDR`,s),x(`IDAT`,a),x(`IEND`,Buffer.alloc(0))])}const w=g,T=_;function E(e){let t=new w(-1,T.L);return t.addData(e),t.make(),t}async function D(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=E(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)S(s,a+e,t,o,0,0,0,255)}}return C(s,o,o).toString(`base64`)}const O=new Map;function k(e){try{e.ws?.close()}catch{}}async function A(e,t){let n=O.get(e);n&&(k(n.sock),O.delete(e)),t&&l(t)}function j(e){return Date.now()-e.startedAt<18e4}function M(e,t){t.waitPromise=u(t.sock).then(()=>{let n=O.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let r=O.get(e);r?.id===t.id&&(r.error=d(n),r.errorStatus=f(n))})}async function N(e,t){if(e.restartAttempted)return!1;e.restartAttempted=!0,t.log(r(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),k(e.sock);try{return e.sock=await p(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,M(e.accountId,e),!0}catch(t){return e.error=d(t),e.errorStatus=f(t),!1}}async function P(e={}){let n=e.runtime??t,s=o({cfg:i(),accountId:e.accountId}),l=await c(s.authDir),u=a(s.authDir);if(l&&!e.force)return{message:`WhatsApp is already linked (${u.e164??u.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let d=O.get(s.accountId);if(d&&j(d)&&d.qrDataUrl)return{qrDataUrl:d.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await A(s.accountId);let f=null,h=null,g=new Promise((e,t)=>{f=e,h=t}),_=setTimeout(()=>{h?.(Error(`Timed out waiting for WhatsApp QR`))},Math.max(e.timeoutMs??3e4,5e3)),v,y=null;try{v=await p(!1,!!e.verbose,{authDir:s.authDir,onQr:e=>{if(y)return;y=e;let t=O.get(s.accountId);t&&!t.qr&&(t.qr=e),clearTimeout(_),n.log(r(`WhatsApp QR received.`)),f?.(e)}})}catch(e){return clearTimeout(_),await A(s.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let b={accountId:s.accountId,authDir:s.authDir,isLegacyAuthDir:s.isLegacyAuthDir,id:m(),sock:v,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};O.set(s.accountId,b),y&&!b.qr&&(b.qr=y),M(s.accountId,b);let x;try{x=await g}catch(e){return clearTimeout(_),await A(s.accountId),{message:`Failed to get QR: ${String(e)}`}}return b.qrDataUrl=`data:image/png;base64,${await D(x)}`,{qrDataUrl:b.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function F(r={}){let a=r.runtime??t,c=o({cfg:i(),accountId:r.accountId}),l=O.get(c.accountId);if(!l)return{connected:!1,message:`No active WhatsApp login in progress.`};let u=l;if(!j(u))return await A(c.accountId),{connected:!1,message:`The login QR expired. Ask me to generate a new one.`};let d=Math.max(r.timeoutMs??12e4,1e3),f=Date.now()+d;for(;;){let t=f-Date.now();if(t<=0)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};let r=new Promise(e=>setTimeout(()=>e(`timeout`),t));if(await Promise.race([u.waitPromise.then(()=>`done`),r])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(u.error){if(u.errorStatus===h.loggedOut){await s({authDir:u.authDir,isLegacyAuthDir:u.isLegacyAuthDir,runtime:a});let e=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await A(c.accountId,e),a.log(n(e)),{connected:!1,message:e}}if(u.errorStatus===515&&await N(u,a)&&j(u))continue;let e=`WhatsApp login failed: ${u.error}`;return await A(c.accountId,e),a.log(n(e)),{connected:!1,message:e}}if(u.connected){let t=`✅ Linked! WhatsApp is ready.`;return a.log(e(t)),await A(c.accountId),{connected:!0,message:t}}return{connected:!1,message:`Login ended without a connection.`}}}export{P as startWebLoginWithQr,F as waitForWebLogin};
|
|
1
|
+
import"./paths-B4IRk3wi.js";import{E as e,p as t,v as n,y as r}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import{qs as i}from"./model-selection-I1ctjFOB.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import{$ as a,U as o,Y as s,rt as c}from"./plugins-CYLrFT4h.js";import{r as l}from"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import{i as u,n as d,r as f,t as p}from"./session-Be0RV2V1.js";import{randomUUID as m}from"node:crypto";import{DisconnectReason as h}from"@whiskeysockets/baileys";import g from"qrcode-terminal/vendor/QRCode/index.js";import _ from"qrcode-terminal/vendor/QRCode/QRErrorCorrectLevel.js";import{deflateSync as v}from"node:zlib";const y=(()=>{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 b(e){let t=4294967295;for(let n=0;n<e.length;n+=1)t=y[(t^e[n])&255]^t>>>8;return(t^4294967295)>>>0}function x(e,t){let n=Buffer.from(e,`ascii`),r=Buffer.alloc(4);r.writeUInt32BE(t.length,0);let i=b(Buffer.concat([n,t])),a=Buffer.alloc(4);return a.writeUInt32BE(i,0),Buffer.concat([r,n,t,a])}function S(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 C(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=v(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,x(`IHDR`,s),x(`IDAT`,a),x(`IEND`,Buffer.alloc(0))])}const w=g,T=_;function E(e){let t=new w(-1,T.L);return t.addData(e),t.make(),t}async function D(e,t={}){let{scale:n=6,marginModules:r=4}=t,i=E(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)S(s,a+e,t,o,0,0,0,255)}}return C(s,o,o).toString(`base64`)}const O=new Map;function k(e){try{e.ws?.close()}catch{}}async function A(e,t){let n=O.get(e);n&&(k(n.sock),O.delete(e)),t&&l(t)}function j(e){return Date.now()-e.startedAt<18e4}function M(e,t){t.waitPromise=u(t.sock).then(()=>{let n=O.get(e);n?.id===t.id&&(n.connected=!0)}).catch(n=>{let r=O.get(e);r?.id===t.id&&(r.error=d(n),r.errorStatus=f(n))})}async function N(e,t){if(e.restartAttempted)return!1;e.restartAttempted=!0,t.log(r(`WhatsApp asked for a restart after pairing (code 515); retrying connection once…`)),k(e.sock);try{return e.sock=await p(!1,e.verbose,{authDir:e.authDir}),e.connected=!1,e.error=void 0,e.errorStatus=void 0,M(e.accountId,e),!0}catch(t){return e.error=d(t),e.errorStatus=f(t),!1}}async function P(e={}){let n=e.runtime??t,s=o({cfg:i(),accountId:e.accountId}),l=await c(s.authDir),u=a(s.authDir);if(l&&!e.force)return{message:`WhatsApp is already linked (${u.e164??u.jid??`unknown`}). Say “relink” if you want a fresh QR.`};let d=O.get(s.accountId);if(d&&j(d)&&d.qrDataUrl)return{qrDataUrl:d.qrDataUrl,message:`QR already active. Scan it in WhatsApp → Linked Devices.`};await A(s.accountId);let f=null,h=null,g=new Promise((e,t)=>{f=e,h=t}),_=setTimeout(()=>{h?.(Error(`Timed out waiting for WhatsApp QR`))},Math.max(e.timeoutMs??3e4,5e3)),v,y=null;try{v=await p(!1,!!e.verbose,{authDir:s.authDir,onQr:e=>{if(y)return;y=e;let t=O.get(s.accountId);t&&!t.qr&&(t.qr=e),clearTimeout(_),n.log(r(`WhatsApp QR received.`)),f?.(e)}})}catch(e){return clearTimeout(_),await A(s.accountId),{message:`Failed to start WhatsApp login: ${String(e)}`}}let b={accountId:s.accountId,authDir:s.authDir,isLegacyAuthDir:s.isLegacyAuthDir,id:m(),sock:v,startedAt:Date.now(),connected:!1,waitPromise:Promise.resolve(),restartAttempted:!1,verbose:!!e.verbose};O.set(s.accountId,b),y&&!b.qr&&(b.qr=y),M(s.accountId,b);let x;try{x=await g}catch(e){return clearTimeout(_),await A(s.accountId),{message:`Failed to get QR: ${String(e)}`}}return b.qrDataUrl=`data:image/png;base64,${await D(x)}`,{qrDataUrl:b.qrDataUrl,message:`Scan this QR in WhatsApp → Linked Devices.`}}async function F(r={}){let a=r.runtime??t,c=o({cfg:i(),accountId:r.accountId}),l=O.get(c.accountId);if(!l)return{connected:!1,message:`No active WhatsApp login in progress.`};let u=l;if(!j(u))return await A(c.accountId),{connected:!1,message:`The login QR expired. Ask me to generate a new one.`};let d=Math.max(r.timeoutMs??12e4,1e3),f=Date.now()+d;for(;;){let t=f-Date.now();if(t<=0)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};let r=new Promise(e=>setTimeout(()=>e(`timeout`),t));if(await Promise.race([u.waitPromise.then(()=>`done`),r])===`timeout`)return{connected:!1,message:`Still waiting for the QR scan. Let me know when you’ve scanned it.`};if(u.error){if(u.errorStatus===h.loggedOut){await s({authDir:u.authDir,isLegacyAuthDir:u.isLegacyAuthDir,runtime:a});let e=`WhatsApp reported the session is logged out. Cleared cached web session; please scan a new QR.`;return await A(c.accountId,e),a.log(n(e)),{connected:!1,message:e}}if(u.errorStatus===515&&await N(u,a)&&j(u))continue;let e=`WhatsApp login failed: ${u.error}`;return await A(c.accountId,e),a.log(n(e)),{connected:!1,message:e}}if(u.connected){let t=`✅ Linked! WhatsApp is ready.`;return a.log(e(t)),await A(c.accountId),{connected:!0,message:t}}return{connected:!1,message:`Login ended without a connection.`}}}export{P as startWebLoginWithQr,F as waitForWebLogin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as e,F as t,I as n,O as r,h as i,k as a}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import"./auth-profiles-BhXA8Jy2.js";import{t as o}from"./command-format-CLxIPuLR.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import{t as s}from"./call-BQT0zCgv.js";import{t as c}from"./links-CBnmRP9D.js";import"./progress-d1m2sqR1.js";import{n as l,t as u}from"./gateway-rpc-XRAMeV67.js";import{t as d}from"./parse-log-line-CsYLg7Qu.js";import{setTimeout as f}from"node:timers/promises";function p(e){let t=e?.code;return t===`EPIPE`||t===`EIO`}function m(e={}){let t=!1,n=!1,r=(t,r)=>{n||(n=!0,e.onBrokenPipe?.(t,r))},i=(e,n)=>{if(!p(e))throw e;return t=!0,r(e,n),!1},a=(n,r)=>{if(t)return!1;try{e.beforeWrite?.()}catch(e){return i(e,process.stderr)}try{return n.write(r),!t}catch(e){return i(e,n)}};return{write:a,writeLine:(e,t)=>a(e,`${t}\n`),reset:()=>{t=!1,n=!1},isClosed:()=>t}}function h(e,t){if(!e)return t;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>0?n:t}async function g(e,t,n){let r=await l(`logs.tail`,e,{cursor:t,limit:h(e.limit,200),maxBytes:h(e.maxBytes,25e4)},{progress:n});if(!r||typeof r!=`object`)throw Error(`Unexpected logs.tail response`);return r}function _(e,n=`plain`,r=!1){if(!e)return``;let i=new Date(e);if(Number.isNaN(i.getTime()))return e;let a;return a=r?t(i):i.toISOString(),n===`pretty`?a.slice(11,19):a}function v(t,n){let i=d(t);if(!i)return t;let a=i.subsystem??i.module??``,o=_(i.time,n.pretty?`pretty`:`plain`,n.localTime),s=i.level??``,c=s.padEnd(5).trim(),l=i.message||i.raw;if(!n.pretty)return[o,s,a,l].filter(Boolean).join(` `).trim();let u=r(n.rich,e.muted,o),f=r(n.rich,e.accent,a),p=s===`error`||s===`fatal`?r(n.rich,e.error,c):s===`warn`?r(n.rich,e.warn,c):s===`debug`||s===`trace`?r(n.rich,e.muted,c):r(n.rich,e.info,c),m=s===`error`||s===`fatal`?r(n.rich,e.error,l):s===`warn`?r(n.rich,e.warn,l):s===`debug`||s===`trace`?r(n.rich,e.muted,l):r(n.rich,e.info,l);return[[u,p,f].filter(Boolean).join(` `),m].filter(Boolean).join(` `).trim()}function y(){let e=m({beforeWrite:()=>i(),onBrokenPipe:(e,t)=>{let n=e.code??`EPIPE`,r=`openclaw logs: output ${t===process.stdout?`stdout`:`stderr`} closed (${n}). Stopping tail.`;try{i(),process.stderr.write(`${r}\n`)}catch{}}});return{logLine:t=>e.writeLine(process.stdout,t),errorLine:t=>e.writeLine(process.stderr,t),emitJsonLine:(t,n=!1)=>e.write(n?process.stderr:process.stdout,`${JSON.stringify(t)}\n`)}}function b(t,n,i,a,c,l){let u=s({url:n.url}),d=`Gateway not reachable. Is it running and accessible?`,f=`Hint: run \`${o(`openclaw doctor`)}\`.`,p=t instanceof Error?t.message:String(t);if(i===`json`)return c({type:`error`,message:d,error:p,details:u,hint:f},!0),void 0;l(r(a,e.error,d))&&l(u.message)&&l(r(a,e.muted,f))}function x(t){let i=t.command(`logs`).description(`Tail gateway file logs via RPC`).option(`--limit <n>`,`Max lines to return`,`200`).option(`--max-bytes <n>`,`Max bytes to read`,`250000`).option(`--follow`,`Follow log output`,!1).option(`--interval <ms>`,`Polling interval in ms`,`1000`).option(`--json`,`Emit JSON log lines`,!1).option(`--plain`,`Plain text output (no ANSI styling)`,!1).option(`--no-color`,`Disable ANSI colors`).option(`--local-time`,`Display timestamps in local timezone`,!1).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${c(`/cli/logs`,`docs.openclaw.ai/cli/logs`)}\n`);u(i),i.action(async t=>{let{logLine:i,errorLine:o,emitJsonLine:s}=y(),c=h(t.interval,1e3),l,u=!0,p=!!t.json,m=!p&&!!process.stdout.isTTY&&!t.plain,_=a()&&t.color!==!1,x=!!t.localTime||!!process.env.TZ&&n(process.env.TZ);for(;;){let n,a=u&&!t.follow;try{n=await g(t,l,a)}catch(e){b(e,t,p?`json`:`text`,_,s,o),process.exit(1);return}let h=Array.isArray(n.lines)?n.lines:[];if(p){if(u&&!s({type:`meta`,file:n.file,cursor:n.cursor,size:n.size}))return;for(let e of h){let t=d(e);if(t){if(!s({type:`log`,...t}))return}else if(!s({type:`raw`,raw:e}))return}if(n.truncated&&!s({type:`notice`,message:`Log tail truncated (increase --max-bytes).`})||n.reset&&!s({type:`notice`,message:`Log cursor reset (file rotated).`}))return}else{if(u&&n.file&&!i(`${m?r(_,e.muted,`Log file:`):`Log file:`} ${n.file}`))return;for(let e of h)if(!i(v(e,{pretty:m,rich:_,localTime:x})))return;if(n.truncated&&!o(`Log tail truncated (increase --max-bytes).`)||n.reset&&!o(`Log cursor reset (file rotated).`))return}if(l=typeof n.cursor==`number`&&Number.isFinite(n.cursor)?n.cursor:l,u=!1,!t.follow)return;await f(c)}})}export{x as registerLogsCli};
|
|
1
|
+
import{A as e,F as t,I as n,O as r,h as i,k as a}from"./subsystem-BLbY429l.js";import"./paths-BjD3T_xq.js";import"./boolean-D15s2V33.js";import"./auth-profiles-BhXA8Jy2.js";import{t as o}from"./command-format-CLxIPuLR.js";import"./agent-scope-DAWJwFfl.js";import"./utils-CGdo13HV.js";import"./openclaw-root-CnsBf6ZU.js";import"./github-copilot-token-C79yeDKS.js";import"./env-overrides-DHtB4kK3.js";import"./version-q3SkUw2K.js";import"./registry-BptzrW8D.js";import"./skills-CKTicUKS.js";import"./frontmatter-C7mzDNxd.js";import"./plugins-DNlgeTTc.js";import"./logger-kQAOe3qp.js";import"./exec-B3eleY5O.js";import"./windows-spawn-7oINn5ao.js";import"./redact-CnRxK70G.js";import"./path-alias-guards-kY_ZbWs-.js";import"./errors-6SQWM9dj.js";import"./paths-BfjJY2VL.js";import"./chat-envelope-Bznn2SoS.js";import{t as s}from"./call-BQT0zCgv.js";import{t as c}from"./links-CBnmRP9D.js";import"./progress-d1m2sqR1.js";import{n as l,t as u}from"./gateway-rpc-XRAMeV67.js";import{t as d}from"./parse-log-line-CsYLg7Qu.js";import{setTimeout as f}from"node:timers/promises";function p(e){let t=e?.code;return t===`EPIPE`||t===`EIO`}function m(e={}){let t=!1,n=!1,r=(t,r)=>{n||(n=!0,e.onBrokenPipe?.(t,r))},i=(e,n)=>{if(!p(e))throw e;return t=!0,r(e,n),!1},a=(n,r)=>{if(t)return!1;try{e.beforeWrite?.()}catch(e){return i(e,process.stderr)}try{return n.write(r),!t}catch(e){return i(e,n)}};return{write:a,writeLine:(e,t)=>a(e,`${t}\n`),reset:()=>{t=!1,n=!1},isClosed:()=>t}}function h(e,t){if(!e)return t;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>0?n:t}async function g(e,t,n){let r=await l(`logs.tail`,e,{cursor:t,limit:h(e.limit,200),maxBytes:h(e.maxBytes,25e4)},{progress:n});if(!r||typeof r!=`object`)throw Error(`Unexpected logs.tail response`);return r}function _(e,n=`plain`,r=!1){if(!e)return``;let i=new Date(e);if(Number.isNaN(i.getTime()))return e;let a;return a=r?t(i):i.toISOString(),n===`pretty`?a.slice(11,19):a}function v(t,n){let i=d(t);if(!i)return t;let a=i.subsystem??i.module??``,o=_(i.time,n.pretty?`pretty`:`plain`,n.localTime),s=i.level??``,c=s.padEnd(5).trim(),l=i.message||i.raw;if(!n.pretty)return[o,s,a,l].filter(Boolean).join(` `).trim();let u=r(n.rich,e.muted,o),f=r(n.rich,e.accent,a),p=s===`error`||s===`fatal`?r(n.rich,e.error,c):s===`warn`?r(n.rich,e.warn,c):s===`debug`||s===`trace`?r(n.rich,e.muted,c):r(n.rich,e.info,c),m=s===`error`||s===`fatal`?r(n.rich,e.error,l):s===`warn`?r(n.rich,e.warn,l):s===`debug`||s===`trace`?r(n.rich,e.muted,l):r(n.rich,e.info,l);return[[u,p,f].filter(Boolean).join(` `),m].filter(Boolean).join(` `).trim()}function y(){let e=m({beforeWrite:()=>i(),onBrokenPipe:(e,t)=>{let n=e.code??`EPIPE`,r=`openclaw logs: output ${t===process.stdout?`stdout`:`stderr`} closed (${n}). Stopping tail.`;try{i(),process.stderr.write(`${r}\n`)}catch{}}});return{logLine:t=>e.writeLine(process.stdout,t),errorLine:t=>e.writeLine(process.stderr,t),emitJsonLine:(t,n=!1)=>e.write(n?process.stderr:process.stdout,`${JSON.stringify(t)}\n`)}}function b(t,n,i,a,c,l){let u=s({url:n.url}),d=`Gateway not reachable. Is it running and accessible?`,f=`Hint: run \`${o(`openclaw doctor`)}\`.`,p=t instanceof Error?t.message:String(t);if(i===`json`)return c({type:`error`,message:d,error:p,details:u,hint:f},!0),void 0;l(r(a,e.error,d))&&l(u.message)&&l(r(a,e.muted,f))}function x(t){let i=t.command(`logs`).description(`Tail gateway file logs via RPC`).option(`--limit <n>`,`Max lines to return`,`200`).option(`--max-bytes <n>`,`Max bytes to read`,`250000`).option(`--follow`,`Follow log output`,!1).option(`--interval <ms>`,`Polling interval in ms`,`1000`).option(`--json`,`Emit JSON log lines`,!1).option(`--plain`,`Plain text output (no ANSI styling)`,!1).option(`--no-color`,`Disable ANSI colors`).option(`--local-time`,`Display timestamps in local timezone`,!1).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${c(`/cli/logs`,`docs.openclaw.ai/cli/logs`)}\n`);u(i),i.action(async t=>{let{logLine:i,errorLine:o,emitJsonLine:s}=y(),c=h(t.interval,1e3),l,u=!0,p=!!t.json,m=!p&&!!process.stdout.isTTY&&!t.plain,_=a()&&t.color!==!1,x=!!t.localTime||!!process.env.TZ&&n(process.env.TZ);for(;;){let n,a=u&&!t.follow;try{n=await g(t,l,a)}catch(e){b(e,t,p?`json`:`text`,_,s,o),process.exit(1);return}let h=Array.isArray(n.lines)?n.lines:[];if(p){if(u&&!s({type:`meta`,file:n.file,cursor:n.cursor,size:n.size}))return;for(let e of h){let t=d(e);if(t){if(!s({type:`log`,...t}))return}else if(!s({type:`raw`,raw:e}))return}if(n.truncated&&!s({type:`notice`,message:`Log tail truncated (increase --max-bytes).`})||n.reset&&!s({type:`notice`,message:`Log cursor reset (file rotated).`}))return}else{if(u&&n.file&&!i(`${m?r(_,e.muted,`Log file:`):`Log file:`} ${n.file}`))return;for(let e of h)if(!i(v(e,{pretty:m,rich:_,localTime:x})))return;if(n.truncated&&!o(`Log tail truncated (increase --max-bytes).`)||n.reset&&!o(`Log cursor reset (file rotated).`))return}if(l=typeof n.cursor==`number`&&Number.isFinite(n.cursor)?n.cursor:l,u=!1,!t.follow)return;await f(c)}})}export{x as registerLogsCli};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./paths-B4IRk3wi.js";import{A as e,F as t,I as n,O as r,h as i,k as a}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import"./model-selection-I1ctjFOB.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import{t as o}from"./command-format-BbDT1tlm.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import{t as s}from"./call-BA3O_Qpl.js";import{t as c}from"./links-CySwdMcF.js";import"./progress-LNttnI-y.js";import{n as l,t as u}from"./gateway-rpc-DJHjmEZz.js";import{t as d}from"./parse-log-line-NV-cipB_.js";import{setTimeout as f}from"node:timers/promises";function p(e){let t=e?.code;return t===`EPIPE`||t===`EIO`}function m(e={}){let t=!1,n=!1,r=(t,r)=>{n||(n=!0,e.onBrokenPipe?.(t,r))},i=(e,n)=>{if(!p(e))throw e;return t=!0,r(e,n),!1},a=(n,r)=>{if(t)return!1;try{e.beforeWrite?.()}catch(e){return i(e,process.stderr)}try{return n.write(r),!t}catch(e){return i(e,n)}};return{write:a,writeLine:(e,t)=>a(e,`${t}\n`),reset:()=>{t=!1,n=!1},isClosed:()=>t}}function h(e,t){if(!e)return t;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>0?n:t}async function g(e,t,n){let r=await l(`logs.tail`,e,{cursor:t,limit:h(e.limit,200),maxBytes:h(e.maxBytes,25e4)},{progress:n});if(!r||typeof r!=`object`)throw Error(`Unexpected logs.tail response`);return r}function _(e,n=`plain`,r=!1){if(!e)return``;let i=new Date(e);if(Number.isNaN(i.getTime()))return e;let a;return a=r?t(i):i.toISOString(),n===`pretty`?a.slice(11,19):a}function v(t,n){let i=d(t);if(!i)return t;let a=i.subsystem??i.module??``,o=_(i.time,n.pretty?`pretty`:`plain`,n.localTime),s=i.level??``,c=s.padEnd(5).trim(),l=i.message||i.raw;if(!n.pretty)return[o,s,a,l].filter(Boolean).join(` `).trim();let u=r(n.rich,e.muted,o),f=r(n.rich,e.accent,a),p=s===`error`||s===`fatal`?r(n.rich,e.error,c):s===`warn`?r(n.rich,e.warn,c):s===`debug`||s===`trace`?r(n.rich,e.muted,c):r(n.rich,e.info,c),m=s===`error`||s===`fatal`?r(n.rich,e.error,l):s===`warn`?r(n.rich,e.warn,l):s===`debug`||s===`trace`?r(n.rich,e.muted,l):r(n.rich,e.info,l);return[[u,p,f].filter(Boolean).join(` `),m].filter(Boolean).join(` `).trim()}function y(){let e=m({beforeWrite:()=>i(),onBrokenPipe:(e,t)=>{let n=e.code??`EPIPE`,r=`openclaw logs: output ${t===process.stdout?`stdout`:`stderr`} closed (${n}). Stopping tail.`;try{i(),process.stderr.write(`${r}\n`)}catch{}}});return{logLine:t=>e.writeLine(process.stdout,t),errorLine:t=>e.writeLine(process.stderr,t),emitJsonLine:(t,n=!1)=>e.write(n?process.stderr:process.stdout,`${JSON.stringify(t)}\n`)}}function b(t,n,i,a,c,l){let u=s({url:n.url}),d=`Gateway not reachable. Is it running and accessible?`,f=`Hint: run \`${o(`openclaw doctor`)}\`.`,p=t instanceof Error?t.message:String(t);if(i===`json`)return c({type:`error`,message:d,error:p,details:u,hint:f},!0),void 0;l(r(a,e.error,d))&&l(u.message)&&l(r(a,e.muted,f))}function x(t){let i=t.command(`logs`).description(`Tail gateway file logs via RPC`).option(`--limit <n>`,`Max lines to return`,`200`).option(`--max-bytes <n>`,`Max bytes to read`,`250000`).option(`--follow`,`Follow log output`,!1).option(`--interval <ms>`,`Polling interval in ms`,`1000`).option(`--json`,`Emit JSON log lines`,!1).option(`--plain`,`Plain text output (no ANSI styling)`,!1).option(`--no-color`,`Disable ANSI colors`).option(`--local-time`,`Display timestamps in local timezone`,!1).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${c(`/cli/logs`,`docs.openclaw.ai/cli/logs`)}\n`);u(i),i.action(async t=>{let{logLine:i,errorLine:o,emitJsonLine:s}=y(),c=h(t.interval,1e3),l,u=!0,p=!!t.json,m=!p&&!!process.stdout.isTTY&&!t.plain,_=a()&&t.color!==!1,x=!!t.localTime||!!process.env.TZ&&n(process.env.TZ);for(;;){let n,a=u&&!t.follow;try{n=await g(t,l,a)}catch(e){b(e,t,p?`json`:`text`,_,s,o),process.exit(1);return}let h=Array.isArray(n.lines)?n.lines:[];if(p){if(u&&!s({type:`meta`,file:n.file,cursor:n.cursor,size:n.size}))return;for(let e of h){let t=d(e);if(t){if(!s({type:`log`,...t}))return}else if(!s({type:`raw`,raw:e}))return}if(n.truncated&&!s({type:`notice`,message:`Log tail truncated (increase --max-bytes).`})||n.reset&&!s({type:`notice`,message:`Log cursor reset (file rotated).`}))return}else{if(u&&n.file&&!i(`${m?r(_,e.muted,`Log file:`):`Log file:`} ${n.file}`))return;for(let e of h)if(!i(v(e,{pretty:m,rich:_,localTime:x})))return;if(n.truncated&&!o(`Log tail truncated (increase --max-bytes).`)||n.reset&&!o(`Log cursor reset (file rotated).`))return}if(l=typeof n.cursor==`number`&&Number.isFinite(n.cursor)?n.cursor:l,u=!1,!t.follow)return;await f(c)}})}export{x as registerLogsCli};
|
|
1
|
+
import"./paths-B4IRk3wi.js";import{A as e,F as t,I as n,O as r,h as i,k as a}from"./subsystem-C5XF2Fy5.js";import"./utils-UGOV_184.js";import"./model-selection-I1ctjFOB.js";import"./agent-scope-DXZc3eNT.js";import"./openclaw-root-D_0Q6--h.js";import"./github-copilot-token-DGYAlOmV.js";import{t as o}from"./command-format-BbDT1tlm.js";import"./boolean-Ch3DfXPy.js";import"./env-D7wNuBx1.js";import"./env-overrides-DXJbFrwI.js";import"./registry-hFAtCSWG.js";import"./skills-DHbOKEGc.js";import"./frontmatter-BkZkwkVO.js";import"./plugins-CYLrFT4h.js";import"./logger-Bl8URnrW.js";import"./exec-DHqLtFYt.js";import"./windows-spawn-AB7ItGAE.js";import"./redact-3_CiXMY6.js";import"./path-alias-guards-mvyLCPlN.js";import"./errors-Bunti32V.js";import"./paths-yLEk_25I.js";import"./chat-envelope-HVpKusFc.js";import{t as s}from"./call-BA3O_Qpl.js";import{t as c}from"./links-CySwdMcF.js";import"./progress-LNttnI-y.js";import{n as l,t as u}from"./gateway-rpc-DJHjmEZz.js";import{t as d}from"./parse-log-line-NV-cipB_.js";import{setTimeout as f}from"node:timers/promises";function p(e){let t=e?.code;return t===`EPIPE`||t===`EIO`}function m(e={}){let t=!1,n=!1,r=(t,r)=>{n||(n=!0,e.onBrokenPipe?.(t,r))},i=(e,n)=>{if(!p(e))throw e;return t=!0,r(e,n),!1},a=(n,r)=>{if(t)return!1;try{e.beforeWrite?.()}catch(e){return i(e,process.stderr)}try{return n.write(r),!t}catch(e){return i(e,n)}};return{write:a,writeLine:(e,t)=>a(e,`${t}\n`),reset:()=>{t=!1,n=!1},isClosed:()=>t}}function h(e,t){if(!e)return t;let n=Number.parseInt(e,10);return Number.isFinite(n)&&n>0?n:t}async function g(e,t,n){let r=await l(`logs.tail`,e,{cursor:t,limit:h(e.limit,200),maxBytes:h(e.maxBytes,25e4)},{progress:n});if(!r||typeof r!=`object`)throw Error(`Unexpected logs.tail response`);return r}function _(e,n=`plain`,r=!1){if(!e)return``;let i=new Date(e);if(Number.isNaN(i.getTime()))return e;let a;return a=r?t(i):i.toISOString(),n===`pretty`?a.slice(11,19):a}function v(t,n){let i=d(t);if(!i)return t;let a=i.subsystem??i.module??``,o=_(i.time,n.pretty?`pretty`:`plain`,n.localTime),s=i.level??``,c=s.padEnd(5).trim(),l=i.message||i.raw;if(!n.pretty)return[o,s,a,l].filter(Boolean).join(` `).trim();let u=r(n.rich,e.muted,o),f=r(n.rich,e.accent,a),p=s===`error`||s===`fatal`?r(n.rich,e.error,c):s===`warn`?r(n.rich,e.warn,c):s===`debug`||s===`trace`?r(n.rich,e.muted,c):r(n.rich,e.info,c),m=s===`error`||s===`fatal`?r(n.rich,e.error,l):s===`warn`?r(n.rich,e.warn,l):s===`debug`||s===`trace`?r(n.rich,e.muted,l):r(n.rich,e.info,l);return[[u,p,f].filter(Boolean).join(` `),m].filter(Boolean).join(` `).trim()}function y(){let e=m({beforeWrite:()=>i(),onBrokenPipe:(e,t)=>{let n=e.code??`EPIPE`,r=`openclaw logs: output ${t===process.stdout?`stdout`:`stderr`} closed (${n}). Stopping tail.`;try{i(),process.stderr.write(`${r}\n`)}catch{}}});return{logLine:t=>e.writeLine(process.stdout,t),errorLine:t=>e.writeLine(process.stderr,t),emitJsonLine:(t,n=!1)=>e.write(n?process.stderr:process.stdout,`${JSON.stringify(t)}\n`)}}function b(t,n,i,a,c,l){let u=s({url:n.url}),d=`Gateway not reachable. Is it running and accessible?`,f=`Hint: run \`${o(`openclaw doctor`)}\`.`,p=t instanceof Error?t.message:String(t);if(i===`json`)return c({type:`error`,message:d,error:p,details:u,hint:f},!0),void 0;l(r(a,e.error,d))&&l(u.message)&&l(r(a,e.muted,f))}function x(t){let i=t.command(`logs`).description(`Tail gateway file logs via RPC`).option(`--limit <n>`,`Max lines to return`,`200`).option(`--max-bytes <n>`,`Max bytes to read`,`250000`).option(`--follow`,`Follow log output`,!1).option(`--interval <ms>`,`Polling interval in ms`,`1000`).option(`--json`,`Emit JSON log lines`,!1).option(`--plain`,`Plain text output (no ANSI styling)`,!1).option(`--no-color`,`Disable ANSI colors`).option(`--local-time`,`Display timestamps in local timezone`,!1).addHelpText(`after`,()=>`\n${e.muted(`Docs:`)} ${c(`/cli/logs`,`docs.openclaw.ai/cli/logs`)}\n`);u(i),i.action(async t=>{let{logLine:i,errorLine:o,emitJsonLine:s}=y(),c=h(t.interval,1e3),l,u=!0,p=!!t.json,m=!p&&!!process.stdout.isTTY&&!t.plain,_=a()&&t.color!==!1,x=!!t.localTime||!!process.env.TZ&&n(process.env.TZ);for(;;){let n,a=u&&!t.follow;try{n=await g(t,l,a)}catch(e){b(e,t,p?`json`:`text`,_,s,o),process.exit(1);return}let h=Array.isArray(n.lines)?n.lines:[];if(p){if(u&&!s({type:`meta`,file:n.file,cursor:n.cursor,size:n.size}))return;for(let e of h){let t=d(e);if(t){if(!s({type:`log`,...t}))return}else if(!s({type:`raw`,raw:e}))return}if(n.truncated&&!s({type:`notice`,message:`Log tail truncated (increase --max-bytes).`})||n.reset&&!s({type:`notice`,message:`Log cursor reset (file rotated).`}))return}else{if(u&&n.file&&!i(`${m?r(_,e.muted,`Log file:`):`Log file:`} ${n.file}`))return;for(let e of h)if(!i(v(e,{pretty:m,rich:_,localTime:x})))return;if(n.truncated&&!o(`Log tail truncated (increase --max-bytes).`)||n.reset&&!o(`Log cursor reset (file rotated).`))return}if(l=typeof n.cursor==`number`&&Number.isFinite(n.cursor)?n.cursor:l,u=!1,!t.follow)return;await f(c)}})}export{x as registerLogsCli};
|
package/dist/manager-B6zZuJEB.js
CHANGED
|
@@ -67,4 +67,4 @@ import{B as e,G as t,V as n,o as r}from"./paths-CrCoPIVK.js";import{c as i}from"
|
|
|
67
67
|
FROM chunks
|
|
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:o(t.text,e.snippetMaxChars),source:t.source}})}const Z=a(`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=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 kt({config:i,agentDir:n(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: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=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=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)&&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 O.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 Ce(n)).missing)return{text:``,path:r};let o;try{o=await O.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
|
-
`),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};
|
|
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};
|
package/dist/manager-BwrZfep3.js
CHANGED
|
@@ -67,4 +67,4 @@ import{g as e}from"./paths-B4IRk3wi.js";import{t}from"./subsystem-C5XF2Fy5.js";i
|
|
|
67
67
|
FROM chunks
|
|
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:E(e.embedding),source:e.source}))}async function er(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(t.text,e.snippetMaxChars),source:t.source}})}const Z=t(`memory`),Q=new Map,$=new Map;async function tr(){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 nr=class e extends Xn{static async get(t){let{cfg:n,agentId:r}=t,i=Le(n,r);if(!i)return null;let a=m(n,r),o=`${r}:${a}:${JSON.stringify(i)}`,s=Q.get(o);if(s)return s;let c=$.get(o);if(c)return c;let l=(async()=>{let s=await At({config:n,agentDir:p(n,r),provider:i.provider,remote:i.remote,model:i.model,outputDimensionality:i.outputDimensionality,fallback:i.fallback,local:i.local}),c=Q.get(o);if(c)return c;let l=new e({cacheKey:o,cfg:n,agentId:r,workspaceDir:a,settings:i,providerResult:s,purpose:t.purpose});return Q.set(o,l),l})();$.set(o,l);try{return await l}finally{$.get(o)===l&&$.delete(o)}}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=be(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 Qn({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 er({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=A.isAbsolute(t)?A.resolve(t):A.resolve(this.workspaceDir,t),r=A.relative(this.workspaceDir,n).replace(/\\/g,`/`),i=r.length>0&&!r.startsWith(`..`)&&!A.isAbsolute(r)&&_e(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 j.lstat(t);if(e.isSymbolicLink())continue;if(e.isDirectory()){if(n===t||n.startsWith(`${t}${A.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 Se(n)).missing)return{text:``,path:r};let o;try{o=await j.readFile(n,`utf-8`)}catch(e){if(y(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
|
-
`),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{Le as a,Be as i,tr as n,Dt as r,nr as t};
|
|
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{Le as a,Be as i,tr as n,Dt as r,nr as t};
|
package/dist/manager-C5SBozw4.js
CHANGED
|
@@ -67,4 +67,4 @@ import{t as e}from"./subsystem-BLbY429l.js";import{g as t}from"./paths-BjD3T_xq.
|
|
|
67
67
|
FROM chunks
|
|
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:he(e.embedding),source:e.source}))}async function er(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=e(`memory`),Q=new Map,$=new Map;async function tr(){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 nr=class e extends Xn{static async get(t){let{cfg:n,agentId:r}=t,i=Re(n,r);if(!i)return null;let a=d(n,r),o=`${r}:${a}:${JSON.stringify(i)}`,s=Q.get(o);if(s)return s;let c=$.get(o);if(c)return c;let l=(async()=>{let s=await jt({config:n,agentDir:u(n,r),provider:i.provider,remote:i.remote,model:i.model,outputDimensionality:i.outputDimensionality,fallback:i.fallback,local:i.local}),c=Q.get(o);if(c)return c;let l=new e({cacheKey:o,cfg:n,agentId:r,workspaceDir:a,settings:i,providerResult:s,purpose:t.purpose});return Q.set(o,l),l})();$.set(o,l);try{return await l}finally{$.get(o)===l&&$.delete(o)}}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=pe(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 Qn({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 Yt(e)}async searchKeyword(e,t){if(!this.fts.enabled||!this.fts.available)return[];let n=this.buildSourceFilter(),r=this.provider?.model;return(await er({db:this.db,ftsTable:`chunks_fts`,providerModel:r,query:e,limit:t,snippetMaxChars:700,sourceFilter:n,buildFtsQuery:e=>this.buildFtsQuery(e),bm25RankToScore:Xt})).map(e=>e)}mergeHybridResults(e){return Zt({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)&&le(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 x(n)).missing)return{text:``,path:r};let o;try{o=await A.readFile(n,`utf-8`)}catch(e){if(Ce(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
|
-
`),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{Re as a,Ve as i,tr as n,Ot as r,nr as t};
|
|
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{Re as a,Ve as i,tr as n,Ot as r,nr as t};
|
package/dist/manager-CjihRbGa.js
CHANGED
|
@@ -67,4 +67,4 @@ import{B as e,V as t,W as n,o as r}from"./paths-piJASC5k.js";import{c as i}from"
|
|
|
67
67
|
FROM chunks
|
|
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:w(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=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
|
-
`),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};
|
|
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};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{A as t,O as n,k as r,p as i,w as a}from"./subsystem-BLbY429l.js";import{g as o}from"./paths-BjD3T_xq.js";import{jo as s}from"./auth-profiles-BhXA8Jy2.js";import{f as c}from"./agent-scope-DAWJwFfl.js";import{b as l,x as u}from"./utils-CGdo13HV.js";import{r as d}from"./errors-6SQWM9dj.js";import{s as f}from"./paths-BfjJY2VL.js";import{f as p,p as m}from"./sqlite-CILF3z9U.js";import{r as h,s as g}from"./command-secret-targets-KM3OecbM.js";import{t as _}from"./search-manager-KMRzwyPH.js";import{t as v}from"./links-CBnmRP9D.js";import{r as y}from"./cli-utils-BleB1eys.js";import{t as b}from"./help-format-B4aEI7V9.js";import{n as x,r as S}from"./progress-d1m2sqR1.js";import C from"node:os";import w from"node:path";import T from"node:fs";import E from"node:fs/promises";var D=e({registerMemoryCli:()=>V,runMemoryStatus:()=>B});async function O(e){let{resolvedConfig:t,diagnostics:n}=await g({config:s(),commandName:e,targetIds:h()});return{config:t,diagnostics:n}}function k(e,n){if(e.length===0)return;let r=n?.json===!0;for(let n of e){let e=t.warn(`[secrets] ${n}`);r?i.error(e):i.log(e)}}function A(e,t,n){if(e===`memory`)return l(`memory (MEMORY.md + ${w.join(t,`memory`)}${w.sep}*.md)`);if(e===`sessions`){let e=o(process.env,C.homedir);return l(`sessions (${w.join(e,`agents`,n,`sessions`)}${w.sep}*.jsonl)`)}return e}function j(e,t){return t?.trim()||c(e)}function M(e,t){let n=t?.trim();if(n)return[n];let r=e.agents?.list??[];return r.length>0?r.map(e=>e.id).filter(Boolean):[c(e)]}function N(e,t){return m(e,t).map(e=>u(e))}async function P(e){let t={cfg:e.cfg,agentId:e.agentId};e.purpose&&(t.purpose=e.purpose),await y({getManager:()=>_(t),onMissing:e=>i.log(e??`Memory search disabled.`),onCloseError:e=>i.error(`Memory manager close failed: ${d(e)}`),close:async e=>{await e.close?.()},run:e.run})}async function F(e){try{return await E.access(e,T.constants.R_OK),{exists:!0}}catch(t){let n=t.code;return n===`ENOENT`?{exists:!1}:{exists:!0,issue:`${u(e)} not readable (${n??`error`})`}}}async function I(e){let t=[],n=f(e);try{return{source:`sessions`,totalFiles:(await E.readdir(n,{withFileTypes:!0})).filter(e=>e.isFile()&&e.name.endsWith(`.jsonl`)).length,issues:t}}catch(e){let r=e.code;return r===`ENOENT`?(t.push(`sessions directory missing (${u(n)})`),{source:`sessions`,totalFiles:0,issues:t}):(t.push(`sessions directory not accessible (${u(n)}): ${r??`error`}`),{source:`sessions`,totalFiles:null,issues:t})}}async function L(e,t=[]){let n=[],r=w.join(e,`MEMORY.md`),i=w.join(e,`memory.md`),a=w.join(e,`memory`),o=await F(r),s=await F(i);o.issue&&n.push(o.issue),s.issue&&n.push(s.issue);let c=m(e,t);for(let e of c)try{if((await E.lstat(e)).isSymbolicLink())continue;let t=await F(e);t.issue&&n.push(t.issue)}catch(t){let r=t.code;r===`ENOENT`?n.push(`additional memory path missing (${u(e)})`):n.push(`additional memory path not accessible (${u(e)}): ${r??`error`}`)}let l=null;try{await E.access(a,T.constants.R_OK),l=!0}catch(e){let t=e.code;t===`ENOENT`?(n.push(`memory directory missing (${u(a)})`),l=!1):(n.push(`memory directory not accessible (${u(a)}): ${t??`error`}`),l=null)}let d=[],f=!1;try{d=await p(e,c),f=!0}catch(e){let t=e.code;l!==null&&(n.push(`memory directory scan failed (${u(a)}): ${t??`error`}`),l=null)}let h=0;if(l===null)h=null;else{let e=new Set(f?d:[]);f||(o.exists&&e.add(r),s.exists&&e.add(i)),h=e.size}return(h??0)===0&&n.length===0&&n.push(`no memory files found in ${u(e)}`),{source:`memory`,totalFiles:h,issues:n}}async function R(e){let t=e.status?.();if(!t||t.backend!==`qmd`)return null;let n=t.dbPath?.trim();if(!n)return null;let r;try{r=await E.stat(n)}catch(e){let t=e.code;throw t===`ENOENT`?Error(`QMD index file not found: ${u(n)}`,{cause:e}):Error(`QMD index file check failed: ${u(n)} (${t??`error`})`,{cause:e})}if(!r.isFile()||r.size<=0)throw Error(`QMD index file is empty: ${u(n)}`);return`QMD index: ${u(n)} (${r.size} bytes)`}async function z(e){let t=[],n=e.extraPaths??[];for(let r of e.sources)r===`memory`&&t.push(await L(e.workspaceDir,n)),r===`sessions`&&t.push(await I(e.agentId));let r=t.flatMap(e=>e.issues),i=t.map(e=>e.totalFiles),a=i.filter(e=>e!==null);return{sources:t,totalFiles:i.some(e=>e===null)?null:a.reduce((e,t)=>e+t,0),issues:r}}async function B(e){a(!!e.verbose);let{config:o,diagnostics:s}=await O(`memory status`);k(s,{json:!!e.json});let c=M(o,e.agent),l=[];for(let t of c)await P({cfg:o,agentId:t,purpose:e.index?`default`:`status`,run:async n=>{let r=!!(e.deep||e.index),a,o,s=n.sync?n.sync.bind(n):void 0;r?(await x({label:`Checking memory…`,total:2},async e=>{e.setLabel(`Probing vector…`),await n.probeVectorAvailability(),e.tick(),e.setLabel(`Probing embeddings…`),a=await n.probeEmbeddingAvailability(),e.tick()}),e.index&&s?await S({label:`Indexing memory…`,total:0,fallback:e.verbose?`line`:void 0},async(t,n)=>{try{await s({reason:`cli`,force:!!e.force,progress:e=>{t({completed:e.completed,total:e.total,label:e.label}),e.label&&n.setLabel(e.label)}})}catch(e){o=d(e),i.error(`Memory index failed: ${o}`),process.exitCode=1}}):e.index&&!s&&i.log(`Memory backend does not support manual reindex.`)):await n.probeVectorAvailability();let c=n.status(),u=c.sources?.length?c.sources:[`memory`],f=c.workspaceDir,p=f?await z({workspaceDir:f,agentId:t,sources:u,extraPaths:c.extraPaths}):void 0;l.push({agentId:t,status:c,embeddingProbe:a,indexError:o,scan:p})}});if(e.json){i.log(JSON.stringify(l,null,2));return}let f=r(),p=e=>n(f,t.heading,e),m=e=>n(f,t.muted,e),h=e=>n(f,t.info,e),g=e=>n(f,t.success,e),_=e=>n(f,t.warn,e),v=e=>n(f,t.accent,e),y=e=>m(`${e}:`);for(let r of l){let{agentId:a,status:o,embeddingProbe:s,indexError:c,scan:l}=r,d=o.files??0,b=o.chunks??0,x=l?.totalFiles??null,S=x===null?`${d}/? files · ${b} chunks`:`${d}/${x} files · ${b} chunks`;if(e.index){let e=c?`Memory index failed: ${c}`:`Memory index complete.`;i.log(e)}let C=o.requestedProvider??o.provider,w=o.model??o.provider,T=o.dbPath?u(o.dbPath):`<unknown>`,E=o.workspaceDir?u(o.workspaceDir):`<unknown>`,D=o.sources?.length?o.sources.join(`, `):null,O=o.workspaceDir?N(o.workspaceDir,o.extraPaths??[]):[],k=[`${p(`Memory Search`)} ${m(`(${a})`)}`,`${y(`Provider`)} ${h(o.provider)} ${m(`(requested: ${C})`)}`,`${y(`Model`)} ${h(w)}`,D?`${y(`Sources`)} ${h(D)}`:null,O.length?`${y(`Extra paths`)} ${h(O.join(`, `))}`:null,`${y(`Indexed`)} ${g(S)}`,`${y(`Dirty`)} ${o.dirty?_(`yes`):m(`no`)}`,`${y(`Store`)} ${h(T)}`,`${y(`Workspace`)} ${h(E)}`].filter(Boolean);if(s){let e=s.ok?`ready`:`unavailable`,r=s.ok?t.success:t.warn;k.push(`${y(`Embeddings`)} ${n(f,r,e)}`),s.error&&k.push(`${y(`Embeddings error`)} ${_(s.error)}`)}if(o.sourceCounts?.length){k.push(y(`By source`));for(let e of o.sourceCounts){let t=l?.sources?.find(t=>t.source===e.source)?.totalFiles,n=t===null?`${e.files}/? files · ${e.chunks} chunks`:`${e.files}/${t} files · ${e.chunks} chunks`;k.push(` ${v(e.source)} ${m(`·`)} ${m(n)}`)}}if(o.fallback&&k.push(`${y(`Fallback`)} ${_(o.fallback.from)}`),o.vector){let e=o.vector.enabled?o.vector.available===void 0?`unknown`:o.vector.available?`ready`:`unavailable`:`disabled`,r=e===`ready`?t.success:e===`unavailable`?t.warn:t.muted;k.push(`${y(`Vector`)} ${n(f,r,e)}`),o.vector.dims&&k.push(`${y(`Vector dims`)} ${h(String(o.vector.dims))}`),o.vector.extensionPath&&k.push(`${y(`Vector path`)} ${h(u(o.vector.extensionPath))}`),o.vector.loadError&&k.push(`${y(`Vector error`)} ${_(o.vector.loadError)}`)}if(o.fts){let e=o.fts.enabled?o.fts.available?`ready`:`unavailable`:`disabled`,r=e===`ready`?t.success:e===`unavailable`?t.warn:t.muted;k.push(`${y(`FTS`)} ${n(f,r,e)}`),o.fts.error&&k.push(`${y(`FTS error`)} ${_(o.fts.error)}`)}if(o.cache){let e=o.cache.enabled?`enabled`:`disabled`,r=o.cache.enabled?t.success:t.muted,i=o.cache.enabled&&typeof o.cache.entries==`number`?` (${o.cache.entries} entries)`:``;k.push(`${y(`Embedding cache`)} ${n(f,r,e)}${i}`),o.cache.enabled&&typeof o.cache.maxEntries==`number`&&k.push(`${y(`Cache cap`)} ${h(String(o.cache.maxEntries))}`)}if(o.batch){let e=o.batch.enabled?`enabled`:`disabled`,r=o.batch.enabled?t.success:t.warn,i=` (failures ${o.batch.failures}/${o.batch.limit})`;k.push(`${y(`Batch`)} ${n(f,r,e)}${m(i)}`),o.batch.lastError&&k.push(`${y(`Batch error`)} ${_(o.batch.lastError)}`)}if(o.fallback?.reason&&k.push(m(o.fallback.reason)),c&&k.push(`${y(`Index error`)} ${_(c)}`),l?.issues.length){k.push(y(`Issues`));for(let e of l.issues)k.push(` ${_(e)}`)}i.log(k.join(`
|
|
2
2
|
`)),i.log(``)}}function V(e){let o=e.command(`memory`).description(`Search, inspect, and reindex memory files`).addHelpText(`after`,()=>`\n${t.heading(`Examples:`)}\n${b([[`openclaw memory status`,`Show index and provider status.`],[`openclaw memory status --deep`,`Probe embedding provider readiness.`],[`openclaw memory index --force`,`Force a full reindex.`],[`openclaw memory search "meeting notes"`,`Quick search using positional query.`],[`openclaw memory search --query "deployment" --max-results 20`,`Limit results for focused troubleshooting.`],[`openclaw memory status --json`,`Output machine-readable JSON (good for scripts).`]])}\n\n${t.muted(`Docs:`)} ${v(`/cli/memory`,`docs.openclaw.ai/cli/memory`)}\n`);o.command(`status`).description(`Show memory search index status`).option(`--agent <id>`,`Agent id (default: default agent)`).option(`--json`,`Print JSON`).option(`--deep`,`Probe embedding provider availability`).option(`--index`,`Reindex if dirty (implies --deep)`).option(`--verbose`,`Verbose logging`,!1).action(async e=>{await B(e)}),o.command(`index`).description(`Reindex memory files`).option(`--agent <id>`,`Agent id (default: default agent)`).option(`--force`,`Force full reindex`,!1).option(`--verbose`,`Verbose logging`,!1).action(async e=>{a(!!e.verbose);let{config:o,diagnostics:s}=await O(`memory index`);k(s);let c=M(o,e.agent);for(let a of c)await P({cfg:o,agentId:a,run:async o=>{try{let s=o.sync?o.sync.bind(o):void 0;if(e.verbose){let e=o.status(),s=r(),c=e=>n(s,t.heading,e),l=e=>n(s,t.muted,e),u=e=>n(s,t.info,e),d=e=>n(s,t.warn,e),f=e=>l(`${e}:`),p=(e.sources??[]).map(t=>A(t,e.workspaceDir??``,a)),m=e.workspaceDir?N(e.workspaceDir,e.extraPaths??[]):[],h=e.requestedProvider??e.provider,g=e.model??e.provider,_=[`${c(`Memory Index`)} ${l(`(${a})`)}`,`${f(`Provider`)} ${u(e.provider)} ${l(`(requested: ${h})`)}`,`${f(`Model`)} ${u(g)}`,p.length?`${f(`Sources`)} ${u(p.join(`, `))}`:null,m.length?`${f(`Extra paths`)} ${u(m.join(`, `))}`:null].filter(Boolean);e.fallback&&_.push(`${f(`Fallback`)} ${d(e.fallback.from)}`),i.log(_.join(`
|
|
3
3
|
`)),i.log(``)}let c=Date.now(),l=`Indexing memory…`,u=0,d=0,f=()=>{let e=Math.max(0,Date.now()-c),t=Math.floor(e/1e3),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`},p=()=>{if(d<=0||u<=0)return null;let e=Math.max(1,Date.now()-c),t=u/e;if(!Number.isFinite(t)||t<=0)return null;let n=Math.max(0,(d-u)/t),r=Math.floor(n/1e3),i=Math.floor(r/60),a=r%60;return`${i}:${String(a).padStart(2,`0`)}`},m=()=>{let e=f(),t=p();return t?`${l} · elapsed ${e} · eta ${t}`:`${l} · elapsed ${e}`};if(!s){i.log(`Memory backend does not support manual reindex.`);return}await S({label:`Indexing memory…`,total:0,fallback:e.verbose?`line`:void 0},async(t,n)=>{let r=setInterval(()=>{n.setLabel(m())},1e3);try{await s({reason:`cli`,force:!!e.force,progress:e=>{e.label&&(l=e.label),u=e.completed,d=e.total,t({completed:e.completed,total:e.total,label:m()}),n.setLabel(m())}})}finally{clearInterval(r)}});let h=await R(o);h&&i.log(h),i.log(`Memory index updated (${a}).`)}catch(e){let t=d(e);i.error(`Memory index failed (${a}): ${t}`),process.exitCode=1}}})}),o.command(`search`).description(`Search memory files`).argument(`[query]`,`Search query`).option(`--query <text>`,`Search query (alternative to positional argument)`).option(`--agent <id>`,`Agent id (default: default agent)`).option(`--max-results <n>`,`Max results`,e=>Number(e)).option(`--min-score <n>`,`Minimum score`,e=>Number(e)).option(`--json`,`Print JSON`).action(async(e,a)=>{let o=a.query??e;if(!o){i.error(`Missing search query. Provide a positional query or use --query <text>.`),process.exitCode=1;return}let{config:s,diagnostics:c}=await O(`memory search`);k(c,{json:!!a.json}),await P({cfg:s,agentId:j(s,a.agent),run:async e=>{let s;try{s=await e.search(o,{maxResults:a.maxResults,minScore:a.minScore})}catch(e){let t=d(e);i.error(`Memory search failed: ${t}`),process.exitCode=1;return}if(a.json){i.log(JSON.stringify({results:s},null,2));return}if(s.length===0){i.log(`No matches.`);return}let c=r(),l=[];for(let e of s)l.push(`${n(c,t.success,e.score.toFixed(3))} ${n(c,t.accent,`${u(e.path)}:${e.startLine}-${e.endLine}`)}`),l.push(n(c,t.muted,e.snippet)),l.push(``);i.log(l.join(`
|
|
4
|
-
`).trim())}})})}export{V as n,D as t};
|
|
4
|
+
`).trim())}})})}export{V as n,D as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{g as t}from"./paths-B4IRk3wi.js";import{A as n,O as r,k as i,p as a,t as o,w as s}from"./subsystem-C5XF2Fy5.js";import{S as c,x as l,y as u}from"./utils-UGOV_184.js";import{dl as d,qs as f,yc as p}from"./model-selection-I1ctjFOB.js";import{d as m,f as h}from"./agent-scope-DXZc3eNT.js";import{r as g}from"./errors-Bunti32V.js";import{s as _}from"./paths-yLEk_25I.js";import{r as v,s as y}from"./command-secret-targets-BBTiqQKa.js";import{h as b,m as x}from"./query-expansion-0OxEb1Io.js";import{t as S}from"./links-CySwdMcF.js";import{r as C}from"./cli-utils-BY7dLMFy.js";import{t as w}from"./help-format-BRbF_INg.js";import{n as T,r as E}from"./progress-LNttnI-y.js";import D from"node:fs";import O from"node:os";import k from"node:path";import A from"node:fs/promises";const ee={maxResults:6,maxSnippetChars:700,maxInjectedChars:4e3,timeoutMs:4e3},j={enabled:!1,serverName:`qmd`,startDaemon:!0},te={default:`deny`,rules:[{action:`allow`,match:{chatType:`direct`}}]};function M(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`collection`}function N(e,t){return`${e}-${M(t)}`}function P(e,t){let n=M(e);if(!t.has(n))return t.add(n),n;let r=2;for(;t.has(`${n}-${r}`);)r+=1;let i=`${n}-${r}`;return t.add(i),i}function F(e,t){let n=e.trim();if(!n)throw Error(`path required`);return n.startsWith(`~`)||k.isAbsolute(n)?k.normalize(u(n)):k.normalize(k.resolve(t,n))}function ne(e){let t=e?.trim();if(!t)return p(`5m`,{defaultUnit:`m`});try{return p(t,{defaultUnit:`m`})}catch{return p(`5m`,{defaultUnit:`m`})}}function I(e){let t=e?.trim();if(!t)return p(`60m`,{defaultUnit:`m`});try{return p(t,{defaultUnit:`m`})}catch{return p(`60m`,{defaultUnit:`m`})}}function L(e){return typeof e==`number`&&Number.isFinite(e)&&e>=0?Math.floor(e):15e3}function R(e,t){return typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):t}function re(e){let t={...ee};return e?.maxResults&&e.maxResults>0&&(t.maxResults=Math.floor(e.maxResults)),e?.maxSnippetChars&&e.maxSnippetChars>0&&(t.maxSnippetChars=Math.floor(e.maxSnippetChars)),e?.maxInjectedChars&&e.maxInjectedChars>0&&(t.maxInjectedChars=Math.floor(e.maxInjectedChars)),e?.timeoutMs&&e.timeoutMs>0&&(t.timeoutMs=Math.floor(e.timeoutMs)),t}function ie(e){return e===`search`||e===`vsearch`||e===`query`?e:`search`}function ae(e,t){let n=!!e?.enabled,r=e?.exportDir?.trim();return{enabled:n,exportDir:r?F(r,t):void 0,retentionDays:e?.retentionDays&&e.retentionDays>0?Math.floor(e.retentionDays):void 0}}function oe(e,t,n,r){if(!e?.length)return[];let i=[];return e.forEach((e,a)=>{let o=e?.path?.trim();if(!o)return;let s;try{s=F(o,t)}catch{return}let c=e.pattern?.trim()||`**/*.md`,l=P(N(e.name?.trim()||`custom-${a+1}`,r),n);i.push({name:l,path:s,pattern:c,kind:`custom`})}),i}function se(e){let t={...j};return e?(e.enabled!==void 0&&(t.enabled=e.enabled),typeof e.serverName==`string`&&e.serverName.trim()&&(t.serverName=e.serverName.trim()),e.startDaemon!==void 0&&(t.startDaemon=e.startDaemon),t.enabled&&e.startDaemon===void 0&&(t.startDaemon=!0),t):t}function ce(e,t,n,r){return e?[{path:t,pattern:`MEMORY.md`,base:`memory-root`},{path:t,pattern:`memory.md`,base:`memory-alt`},{path:k.join(t,`memory`),pattern:`**/*.md`,base:`memory-dir`}].map(e=>({name:P(N(e.base,r),n),path:e.path,pattern:e.pattern,kind:`memory`})):[]}function z(e){let t=e.cfg.memory?.backend??`builtin`,n=e.cfg.memory?.citations??`auto`;if(t!==`qmd`)return{backend:`builtin`,citations:n};let r=m(e.cfg,e.agentId),i=e.cfg.memory?.qmd,a=i?.includeDefaultMemory!==!1,o=new Set,s=[...ce(a,r,o,e.agentId),...oe(i?.paths,r,o,e.agentId)],c=i?.command?.trim()||`qmd`;return{backend:`qmd`,citations:n,qmd:{command:d(c)?.[0]||c.split(/\s+/)[0]||`qmd`,mcporter:se(i?.mcporter),searchMode:ie(i?.searchMode),collections:s,includeDefaultMemory:a,sessions:ae(i?.sessions,r),update:{intervalMs:ne(i?.update?.interval),debounceMs:L(i?.update?.debounceMs),onBoot:i?.update?.onBoot!==!1,waitForBootSync:i?.update?.waitForBootSync===!0,embedIntervalMs:I(i?.update?.embedInterval),commandTimeoutMs:R(i?.update?.commandTimeoutMs,3e4),updateTimeoutMs:R(i?.update?.updateTimeoutMs,12e4),embedTimeoutMs:R(i?.update?.embedTimeoutMs,12e4)},limits:re(i?.limits),scope:i?.scope??te}}}const B=o(`memory`),V=new Map;let H=null;function U(){return H??=import(`./manager-runtime-C-1qI6Tp.js`),H}async function W(e){let t=z(e);if(t.backend===`qmd`&&t.qmd){let n=e.purpose===`status`,r;if(!n){r=ue(e.agentId,t.qmd);let n=V.get(r);if(n)return{manager:n}}try{let{QmdMemoryManager:i}=await import(`./qmd-manager-NLI0R6kp.js`),a=await i.create({cfg:e.cfg,agentId:e.agentId,resolved:t,mode:n?`status`:`full`});if(a){if(n)return{manager:a};let t=new le({primary:a,fallbackFactory:async()=>{let{MemoryIndexManager:t}=await U();return await t.get(e)}},()=>{r&&V.delete(r)});return r&&V.set(r,t),{manager:t}}}catch(e){let t=e instanceof Error?e.message:String(e);B.warn(`qmd memory unavailable; falling back to builtin: ${t}`)}}try{let{MemoryIndexManager:t}=await U();return{manager:await t.get(e)}}catch(e){return{manager:null,error:e instanceof Error?e.message:String(e)}}}var le=class{constructor(e,t){this.deps=e,this.onClose=t,this.fallback=null,this.primaryFailed=!1,this.cacheEvicted=!1}async search(e,t){if(!this.primaryFailed)try{return await this.deps.primary.search(e,t)}catch(e){this.primaryFailed=!0,this.lastError=e instanceof Error?e.message:String(e),B.warn(`qmd memory failed; switching to builtin index: ${this.lastError}`),await this.deps.primary.close?.().catch(()=>{}),this.evictCacheEntry()}let n=await this.ensureFallback();if(n)return await n.search(e,t);throw Error(this.lastError??`memory search unavailable`)}async readFile(e){if(!this.primaryFailed)return await this.deps.primary.readFile(e);let t=await this.ensureFallback();if(t)return await t.readFile(e);throw Error(this.lastError??`memory read unavailable`)}status(){if(!this.primaryFailed)return this.deps.primary.status();let e=this.fallback?.status(),t={from:`qmd`,reason:this.lastError??`unknown`};if(e){let n=e.custom??{};return{...e,fallback:t,custom:{...n,fallback:{disabled:!0,reason:this.lastError??`unknown`}}}}let n=this.deps.primary.status(),r=n.custom??{};return{...n,fallback:t,custom:{...r,fallback:{disabled:!0,reason:this.lastError??`unknown`}}}}async sync(e){if(!this.primaryFailed){await this.deps.primary.sync?.(e);return}await(await this.ensureFallback())?.sync?.(e)}async probeEmbeddingAvailability(){if(!this.primaryFailed)return await this.deps.primary.probeEmbeddingAvailability();let e=await this.ensureFallback();return e?await e.probeEmbeddingAvailability():{ok:!1,error:this.lastError??`memory embeddings unavailable`}}async probeVectorAvailability(){return this.primaryFailed?await(await this.ensureFallback())?.probeVectorAvailability()??!1:await this.deps.primary.probeVectorAvailability()}async close(){await this.deps.primary.close?.(),await this.fallback?.close?.(),this.evictCacheEntry()}async ensureFallback(){if(this.fallback)return this.fallback;let e;try{if(e=await this.deps.fallbackFactory(),!e)return B.warn(`memory fallback requested but builtin index is unavailable`),null}catch(e){let t=e instanceof Error?e.message:String(e);return B.warn(`memory fallback unavailable: ${t}`),null}return this.fallback=e,this.fallback}evictCacheEntry(){this.cacheEvicted||(this.cacheEvicted=!0,this.onClose?.())}};function ue(e,t){return`${e}:${JSON.stringify(t)}`}var de=e({registerMemoryCli:()=>$,runMemoryStatus:()=>Q});async function G(e){let{resolvedConfig:t,diagnostics:n}=await y({config:f(),commandName:e,targetIds:v()});return{config:t,diagnostics:n}}function K(e,t){if(e.length===0)return;let r=t?.json===!0;for(let t of e){let e=n.warn(`[secrets] ${t}`);r?a.error(e):a.log(e)}}function fe(e,n,r){if(e===`memory`)return l(`memory (MEMORY.md + ${k.join(n,`memory`)}${k.sep}*.md)`);if(e===`sessions`){let e=t(process.env,O.homedir);return l(`sessions (${k.join(e,`agents`,r,`sessions`)}${k.sep}*.jsonl)`)}return e}function q(e,t){return t?.trim()||h(e)}function J(e,t){let n=t?.trim();if(n)return[n];let r=e.agents?.list??[];return r.length>0?r.map(e=>e.id).filter(Boolean):[h(e)]}function Y(e,t){return b(e,t).map(e=>c(e))}async function X(e){let t={cfg:e.cfg,agentId:e.agentId};e.purpose&&(t.purpose=e.purpose),await C({getManager:()=>W(t),onMissing:e=>a.log(e??`Memory search disabled.`),onCloseError:e=>a.error(`Memory manager close failed: ${g(e)}`),close:async e=>{await e.close?.()},run:e.run})}async function Z(e){try{return await A.access(e,D.constants.R_OK),{exists:!0}}catch(t){let n=t.code;return n===`ENOENT`?{exists:!1}:{exists:!0,issue:`${c(e)} not readable (${n??`error`})`}}}async function pe(e){let t=[],n=_(e);try{return{source:`sessions`,totalFiles:(await A.readdir(n,{withFileTypes:!0})).filter(e=>e.isFile()&&e.name.endsWith(`.jsonl`)).length,issues:t}}catch(e){let r=e.code;return r===`ENOENT`?(t.push(`sessions directory missing (${c(n)})`),{source:`sessions`,totalFiles:0,issues:t}):(t.push(`sessions directory not accessible (${c(n)}): ${r??`error`}`),{source:`sessions`,totalFiles:null,issues:t})}}async function me(e,t=[]){let n=[],r=k.join(e,`MEMORY.md`),i=k.join(e,`memory.md`),a=k.join(e,`memory`),o=await Z(r),s=await Z(i);o.issue&&n.push(o.issue),s.issue&&n.push(s.issue);let l=b(e,t);for(let e of l)try{if((await A.lstat(e)).isSymbolicLink())continue;let t=await Z(e);t.issue&&n.push(t.issue)}catch(t){let r=t.code;r===`ENOENT`?n.push(`additional memory path missing (${c(e)})`):n.push(`additional memory path not accessible (${c(e)}): ${r??`error`}`)}let u=null;try{await A.access(a,D.constants.R_OK),u=!0}catch(e){let t=e.code;t===`ENOENT`?(n.push(`memory directory missing (${c(a)})`),u=!1):(n.push(`memory directory not accessible (${c(a)}): ${t??`error`}`),u=null)}let d=[],f=!1;try{d=await x(e,l),f=!0}catch(e){let t=e.code;u!==null&&(n.push(`memory directory scan failed (${c(a)}): ${t??`error`}`),u=null)}let p=0;if(u===null)p=null;else{let e=new Set(f?d:[]);f||(o.exists&&e.add(r),s.exists&&e.add(i)),p=e.size}return(p??0)===0&&n.length===0&&n.push(`no memory files found in ${c(e)}`),{source:`memory`,totalFiles:p,issues:n}}async function he(e){let t=e.status?.();if(!t||t.backend!==`qmd`)return null;let n=t.dbPath?.trim();if(!n)return null;let r;try{r=await A.stat(n)}catch(e){let t=e.code;throw t===`ENOENT`?Error(`QMD index file not found: ${c(n)}`,{cause:e}):Error(`QMD index file check failed: ${c(n)} (${t??`error`})`,{cause:e})}if(!r.isFile()||r.size<=0)throw Error(`QMD index file is empty: ${c(n)}`);return`QMD index: ${c(n)} (${r.size} bytes)`}async function ge(e){let t=[],n=e.extraPaths??[];for(let r of e.sources)r===`memory`&&t.push(await me(e.workspaceDir,n)),r===`sessions`&&t.push(await pe(e.agentId));let r=t.flatMap(e=>e.issues),i=t.map(e=>e.totalFiles),a=i.filter(e=>e!==null);return{sources:t,totalFiles:i.some(e=>e===null)?null:a.reduce((e,t)=>e+t,0),issues:r}}async function Q(e){s(!!e.verbose);let{config:t,diagnostics:o}=await G(`memory status`);K(o,{json:!!e.json});let l=J(t,e.agent),u=[];for(let n of l)await X({cfg:t,agentId:n,purpose:e.index?`default`:`status`,run:async t=>{let r=!!(e.deep||e.index),i,o,s=t.sync?t.sync.bind(t):void 0;r?(await T({label:`Checking memory…`,total:2},async e=>{e.setLabel(`Probing vector…`),await t.probeVectorAvailability(),e.tick(),e.setLabel(`Probing embeddings…`),i=await t.probeEmbeddingAvailability(),e.tick()}),e.index&&s?await E({label:`Indexing memory…`,total:0,fallback:e.verbose?`line`:void 0},async(t,n)=>{try{await s({reason:`cli`,force:!!e.force,progress:e=>{t({completed:e.completed,total:e.total,label:e.label}),e.label&&n.setLabel(e.label)}})}catch(e){o=g(e),a.error(`Memory index failed: ${o}`),process.exitCode=1}}):e.index&&!s&&a.log(`Memory backend does not support manual reindex.`)):await t.probeVectorAvailability();let c=t.status(),l=c.sources?.length?c.sources:[`memory`],d=c.workspaceDir,f=d?await ge({workspaceDir:d,agentId:n,sources:l,extraPaths:c.extraPaths}):void 0;u.push({agentId:n,status:c,embeddingProbe:i,indexError:o,scan:f})}});if(e.json){a.log(JSON.stringify(u,null,2));return}let d=i(),f=e=>r(d,n.heading,e),p=e=>r(d,n.muted,e),m=e=>r(d,n.info,e),h=e=>r(d,n.success,e),_=e=>r(d,n.warn,e),v=e=>r(d,n.accent,e),y=e=>p(`${e}:`);for(let t of u){let{agentId:i,status:o,embeddingProbe:s,indexError:l,scan:u}=t,g=o.files??0,b=o.chunks??0,x=u?.totalFiles??null,S=x===null?`${g}/? files · ${b} chunks`:`${g}/${x} files · ${b} chunks`;if(e.index){let e=l?`Memory index failed: ${l}`:`Memory index complete.`;a.log(e)}let C=o.requestedProvider??o.provider,w=o.model??o.provider,T=o.dbPath?c(o.dbPath):`<unknown>`,E=o.workspaceDir?c(o.workspaceDir):`<unknown>`,D=o.sources?.length?o.sources.join(`, `):null,O=o.workspaceDir?Y(o.workspaceDir,o.extraPaths??[]):[],k=[`${f(`Memory Search`)} ${p(`(${i})`)}`,`${y(`Provider`)} ${m(o.provider)} ${p(`(requested: ${C})`)}`,`${y(`Model`)} ${m(w)}`,D?`${y(`Sources`)} ${m(D)}`:null,O.length?`${y(`Extra paths`)} ${m(O.join(`, `))}`:null,`${y(`Indexed`)} ${h(S)}`,`${y(`Dirty`)} ${o.dirty?_(`yes`):p(`no`)}`,`${y(`Store`)} ${m(T)}`,`${y(`Workspace`)} ${m(E)}`].filter(Boolean);if(s){let e=s.ok?`ready`:`unavailable`,t=s.ok?n.success:n.warn;k.push(`${y(`Embeddings`)} ${r(d,t,e)}`),s.error&&k.push(`${y(`Embeddings error`)} ${_(s.error)}`)}if(o.sourceCounts?.length){k.push(y(`By source`));for(let e of o.sourceCounts){let t=u?.sources?.find(t=>t.source===e.source)?.totalFiles,n=t===null?`${e.files}/? files · ${e.chunks} chunks`:`${e.files}/${t} files · ${e.chunks} chunks`;k.push(` ${v(e.source)} ${p(`·`)} ${p(n)}`)}}if(o.fallback&&k.push(`${y(`Fallback`)} ${_(o.fallback.from)}`),o.vector){let e=o.vector.enabled?o.vector.available===void 0?`unknown`:o.vector.available?`ready`:`unavailable`:`disabled`,t=e===`ready`?n.success:e===`unavailable`?n.warn:n.muted;k.push(`${y(`Vector`)} ${r(d,t,e)}`),o.vector.dims&&k.push(`${y(`Vector dims`)} ${m(String(o.vector.dims))}`),o.vector.extensionPath&&k.push(`${y(`Vector path`)} ${m(c(o.vector.extensionPath))}`),o.vector.loadError&&k.push(`${y(`Vector error`)} ${_(o.vector.loadError)}`)}if(o.fts){let e=o.fts.enabled?o.fts.available?`ready`:`unavailable`:`disabled`,t=e===`ready`?n.success:e===`unavailable`?n.warn:n.muted;k.push(`${y(`FTS`)} ${r(d,t,e)}`),o.fts.error&&k.push(`${y(`FTS error`)} ${_(o.fts.error)}`)}if(o.cache){let e=o.cache.enabled?`enabled`:`disabled`,t=o.cache.enabled?n.success:n.muted,i=o.cache.enabled&&typeof o.cache.entries==`number`?` (${o.cache.entries} entries)`:``;k.push(`${y(`Embedding cache`)} ${r(d,t,e)}${i}`),o.cache.enabled&&typeof o.cache.maxEntries==`number`&&k.push(`${y(`Cache cap`)} ${m(String(o.cache.maxEntries))}`)}if(o.batch){let e=o.batch.enabled?`enabled`:`disabled`,t=o.batch.enabled?n.success:n.warn,i=` (failures ${o.batch.failures}/${o.batch.limit})`;k.push(`${y(`Batch`)} ${r(d,t,e)}${p(i)}`),o.batch.lastError&&k.push(`${y(`Batch error`)} ${_(o.batch.lastError)}`)}if(o.fallback?.reason&&k.push(p(o.fallback.reason)),l&&k.push(`${y(`Index error`)} ${_(l)}`),u?.issues.length){k.push(y(`Issues`));for(let e of u.issues)k.push(` ${_(e)}`)}a.log(k.join(`
|
|
2
2
|
`)),a.log(``)}}function $(e){let t=e.command(`memory`).description(`Search, inspect, and reindex memory files`).addHelpText(`after`,()=>`\n${n.heading(`Examples:`)}\n${w([[`openclaw memory status`,`Show index and provider status.`],[`openclaw memory status --deep`,`Probe embedding provider readiness.`],[`openclaw memory index --force`,`Force a full reindex.`],[`openclaw memory search "meeting notes"`,`Quick search using positional query.`],[`openclaw memory search --query "deployment" --max-results 20`,`Limit results for focused troubleshooting.`],[`openclaw memory status --json`,`Output machine-readable JSON (good for scripts).`]])}\n\n${n.muted(`Docs:`)} ${S(`/cli/memory`,`docs.openclaw.ai/cli/memory`)}\n`);t.command(`status`).description(`Show memory search index status`).option(`--agent <id>`,`Agent id (default: default agent)`).option(`--json`,`Print JSON`).option(`--deep`,`Probe embedding provider availability`).option(`--index`,`Reindex if dirty (implies --deep)`).option(`--verbose`,`Verbose logging`,!1).action(async e=>{await Q(e)}),t.command(`index`).description(`Reindex memory files`).option(`--agent <id>`,`Agent id (default: default agent)`).option(`--force`,`Force full reindex`,!1).option(`--verbose`,`Verbose logging`,!1).action(async e=>{s(!!e.verbose);let{config:t,diagnostics:o}=await G(`memory index`);K(o);let c=J(t,e.agent);for(let o of c)await X({cfg:t,agentId:o,run:async t=>{try{let s=t.sync?t.sync.bind(t):void 0;if(e.verbose){let e=t.status(),s=i(),c=e=>r(s,n.heading,e),l=e=>r(s,n.muted,e),u=e=>r(s,n.info,e),d=e=>r(s,n.warn,e),f=e=>l(`${e}:`),p=(e.sources??[]).map(t=>fe(t,e.workspaceDir??``,o)),m=e.workspaceDir?Y(e.workspaceDir,e.extraPaths??[]):[],h=e.requestedProvider??e.provider,g=e.model??e.provider,_=[`${c(`Memory Index`)} ${l(`(${o})`)}`,`${f(`Provider`)} ${u(e.provider)} ${l(`(requested: ${h})`)}`,`${f(`Model`)} ${u(g)}`,p.length?`${f(`Sources`)} ${u(p.join(`, `))}`:null,m.length?`${f(`Extra paths`)} ${u(m.join(`, `))}`:null].filter(Boolean);e.fallback&&_.push(`${f(`Fallback`)} ${d(e.fallback.from)}`),a.log(_.join(`
|
|
3
3
|
`)),a.log(``)}let c=Date.now(),l=`Indexing memory…`,u=0,d=0,f=()=>{let e=Math.max(0,Date.now()-c),t=Math.floor(e/1e3),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`},p=()=>{if(d<=0||u<=0)return null;let e=Math.max(1,Date.now()-c),t=u/e;if(!Number.isFinite(t)||t<=0)return null;let n=Math.max(0,(d-u)/t),r=Math.floor(n/1e3),i=Math.floor(r/60),a=r%60;return`${i}:${String(a).padStart(2,`0`)}`},m=()=>{let e=f(),t=p();return t?`${l} · elapsed ${e} · eta ${t}`:`${l} · elapsed ${e}`};if(!s){a.log(`Memory backend does not support manual reindex.`);return}await E({label:`Indexing memory…`,total:0,fallback:e.verbose?`line`:void 0},async(t,n)=>{let r=setInterval(()=>{n.setLabel(m())},1e3);try{await s({reason:`cli`,force:!!e.force,progress:e=>{e.label&&(l=e.label),u=e.completed,d=e.total,t({completed:e.completed,total:e.total,label:m()}),n.setLabel(m())}})}finally{clearInterval(r)}});let h=await he(t);h&&a.log(h),a.log(`Memory index updated (${o}).`)}catch(e){let t=g(e);a.error(`Memory index failed (${o}): ${t}`),process.exitCode=1}}})}),t.command(`search`).description(`Search memory files`).argument(`[query]`,`Search query`).option(`--query <text>`,`Search query (alternative to positional argument)`).option(`--agent <id>`,`Agent id (default: default agent)`).option(`--max-results <n>`,`Max results`,e=>Number(e)).option(`--min-score <n>`,`Minimum score`,e=>Number(e)).option(`--json`,`Print JSON`).action(async(e,t)=>{let o=t.query??e;if(!o){a.error(`Missing search query. Provide a positional query or use --query <text>.`),process.exitCode=1;return}let{config:s,diagnostics:l}=await G(`memory search`);K(l,{json:!!t.json}),await X({cfg:s,agentId:q(s,t.agent),run:async e=>{let s;try{s=await e.search(o,{maxResults:t.maxResults,minScore:t.minScore})}catch(e){let t=g(e);a.error(`Memory search failed: ${t}`),process.exitCode=1;return}if(t.json){a.log(JSON.stringify({results:s},null,2));return}if(s.length===0){a.log(`No matches.`);return}let l=i(),u=[];for(let e of s)u.push(`${r(l,n.success,e.score.toFixed(3))} ${r(l,n.accent,`${c(e.path)}:${e.startLine}-${e.endLine}`)}`),u.push(r(l,n.muted,e.snippet)),u.push(``);a.log(u.join(`
|
|
4
|
-
`).trim())}})})}export{z as i,$ as n,W as r,de as t};
|
|
4
|
+
`).trim())}})})}export{z as i,$ as n,W as r,de as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./subsystem-BLbY429l.js";import{Mc as t,jo as n}from"./auth-profiles-BhXA8Jy2.js";import{t as r}from"./models-config-DN2Q51fC.js";const i=e(`model-catalog`);let a=null,o=!1,s=()=>import(`./pi-model-discovery-AiV9h8k6.js`).then(e=>e.r);const c=`openai-codex`,l=`openai`,u=new Set([`kilocode`]),d=[{provider:l,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:l,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:c,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:c,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function f(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of d){if(t(n.provider,n.id))continue;let r=n.templateIds.map(e=>t(n.provider,e)).find(e=>e!==void 0);r&&e.push({...r,id:n.id,name:n.id})}}function p(e){if(!Array.isArray(e))return;let t=e.filter(e=>e===`text`||e===`image`||e===`document`);return t.length>0?t:void 0}function m(e){let t=e.models?.providers;if(!t||typeof t!=`object`)return[];let n=[];for(let[e,r]of Object.entries(t)){let t=e.toLowerCase().trim();if(!u.has(t)||!r||typeof r!=`object`)continue;let i=r.models;if(Array.isArray(i))for(let e of i){if(!e||typeof e!=`object`)continue;let r=e.id;if(typeof r!=`string`)continue;let i=r.trim();if(!i)continue;let a=e.name,o=(typeof a==`string`?a:i).trim()||i,s=e.contextWindow,c=typeof s==`number`&&s>0?s:void 0,l=e.reasoning,u=typeof l==`boolean`?l:void 0,d=p(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function h(e){let t=m(e.config);if(t.length===0)return;let n=new Set(e.models.map(e=>`${e.provider.toLowerCase().trim()}::${e.id.toLowerCase().trim()}`));for(let r of t){let t=`${r.provider.toLowerCase().trim()}::${r.id.toLowerCase().trim()}`;n.has(t)||(e.models.push(r),n.add(t))}}async function g(e){return e?.useCache===!1&&(a=null),a||(a=(async()=>{let c=[],l=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let i=e?.config??n();await r(i);let o=await s(),u=t(),{join:d}=await import(`node:path`),p=o.discoverAuthStorage(u),m=new o.ModelRegistry(p,d(u,`models.json`)),g=Array.isArray(m)?m:m.getAll();for(let e of g){let t=String(e?.id??``).trim();if(!t)continue;let n=String(e?.provider??``).trim();if(!n)continue;let r=String(e?.name??t).trim()||t,i=typeof e?.contextWindow==`number`&&e.contextWindow>0?e.contextWindow:void 0,a=typeof e?.reasoning==`boolean`?e.reasoning:void 0,o=Array.isArray(e?.input)?e.input:void 0;c.push({id:t,name:r,provider:n,contextWindow:i,reasoning:a,input:o})}return h({config:i,models:c}),f(c),c.length===0&&(a=null),l(c)}catch(e){return o||(o=!0,i.warn(`Failed to load model catalog: ${String(e)}`)),a=null,c.length>0?l(c):[]}})(),a)}function _(e){return e?.input?.includes(`image`)??!1}function v(e,t,n){let r=t.toLowerCase().trim(),i=n.toLowerCase().trim();return e.find(e=>e.provider.toLowerCase()===r&&e.id.toLowerCase()===i)}export{g as n,_ as r,v as t};
|
|
1
|
+
import{t as e}from"./subsystem-BLbY429l.js";import{Mc as t,jo as n}from"./auth-profiles-BhXA8Jy2.js";import{t as r}from"./models-config-DN2Q51fC.js";const i=e(`model-catalog`);let a=null,o=!1,s=()=>import(`./pi-model-discovery-AiV9h8k6.js`).then(e=>e.r);const c=`openai-codex`,l=`openai`,u=new Set([`kilocode`]),d=[{provider:l,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:l,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:c,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:c,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function f(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of d){if(t(n.provider,n.id))continue;let r=n.templateIds.map(e=>t(n.provider,e)).find(e=>e!==void 0);r&&e.push({...r,id:n.id,name:n.id})}}function p(e){if(!Array.isArray(e))return;let t=e.filter(e=>e===`text`||e===`image`||e===`document`);return t.length>0?t:void 0}function m(e){let t=e.models?.providers;if(!t||typeof t!=`object`)return[];let n=[];for(let[e,r]of Object.entries(t)){let t=e.toLowerCase().trim();if(!u.has(t)||!r||typeof r!=`object`)continue;let i=r.models;if(Array.isArray(i))for(let e of i){if(!e||typeof e!=`object`)continue;let r=e.id;if(typeof r!=`string`)continue;let i=r.trim();if(!i)continue;let a=e.name,o=(typeof a==`string`?a:i).trim()||i,s=e.contextWindow,c=typeof s==`number`&&s>0?s:void 0,l=e.reasoning,u=typeof l==`boolean`?l:void 0,d=p(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function h(e){let t=m(e.config);if(t.length===0)return;let n=new Set(e.models.map(e=>`${e.provider.toLowerCase().trim()}::${e.id.toLowerCase().trim()}`));for(let r of t){let t=`${r.provider.toLowerCase().trim()}::${r.id.toLowerCase().trim()}`;n.has(t)||(e.models.push(r),n.add(t))}}async function g(e){return e?.useCache===!1&&(a=null),a||(a=(async()=>{let c=[],l=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let i=e?.config??n();await r(i);let o=await s(),u=t(),{join:d}=await import(`node:path`),p=o.discoverAuthStorage(u),m=new o.ModelRegistry(p,d(u,`models.json`)),g=Array.isArray(m)?m:m.getAll();for(let e of g){let t=String(e?.id??``).trim();if(!t)continue;let n=String(e?.provider??``).trim();if(!n)continue;let r=String(e?.name??t).trim()||t,i=typeof e?.contextWindow==`number`&&e.contextWindow>0?e.contextWindow:void 0,a=typeof e?.reasoning==`boolean`?e.reasoning:void 0,o=Array.isArray(e?.input)?e.input:void 0;c.push({id:t,name:r,provider:n,contextWindow:i,reasoning:a,input:o})}return h({config:i,models:c}),f(c),c.length===0&&(a=null),l(c)}catch(e){return o||(o=!0,i.warn(`Failed to load model catalog: ${String(e)}`)),a=null,c.length>0?l(c):[]}})(),a)}function _(e){return e?.input?.includes(`image`)??!1}function v(e,t,n){let r=t.toLowerCase().trim(),i=n.toLowerCase().trim();return e.find(e=>e.provider.toLowerCase()===r&&e.id.toLowerCase()===i)}export{g as n,_ as r,v as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./subsystem-C5XF2Fy5.js";import{nu as t,qs as n}from"./model-selection-I1ctjFOB.js";import{t as r}from"./models-config-CWIlroKT.js";const i=e(`model-catalog`);let a=null,o=!1,s=()=>import(`./pi-model-discovery-6myCPEJE.js`).then(e=>e.r);const c=`openai-codex`,l=`openai`,u=new Set([`kilocode`]),d=[{provider:l,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:l,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:c,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:c,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function f(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of d){if(t(n.provider,n.id))continue;let r=n.templateIds.map(e=>t(n.provider,e)).find(e=>e!==void 0);r&&e.push({...r,id:n.id,name:n.id})}}function p(e){if(!Array.isArray(e))return;let t=e.filter(e=>e===`text`||e===`image`||e===`document`);return t.length>0?t:void 0}function m(e){let t=e.models?.providers;if(!t||typeof t!=`object`)return[];let n=[];for(let[e,r]of Object.entries(t)){let t=e.toLowerCase().trim();if(!u.has(t)||!r||typeof r!=`object`)continue;let i=r.models;if(Array.isArray(i))for(let e of i){if(!e||typeof e!=`object`)continue;let r=e.id;if(typeof r!=`string`)continue;let i=r.trim();if(!i)continue;let a=e.name,o=(typeof a==`string`?a:i).trim()||i,s=e.contextWindow,c=typeof s==`number`&&s>0?s:void 0,l=e.reasoning,u=typeof l==`boolean`?l:void 0,d=p(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function h(e){let t=m(e.config);if(t.length===0)return;let n=new Set(e.models.map(e=>`${e.provider.toLowerCase().trim()}::${e.id.toLowerCase().trim()}`));for(let r of t){let t=`${r.provider.toLowerCase().trim()}::${r.id.toLowerCase().trim()}`;n.has(t)||(e.models.push(r),n.add(t))}}async function g(e){return e?.useCache===!1&&(a=null),a||(a=(async()=>{let c=[],l=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let i=e?.config??n();await r(i);let o=await s(),u=t(),{join:d}=await import(`node:path`),p=o.discoverAuthStorage(u),m=new o.ModelRegistry(p,d(u,`models.json`)),g=Array.isArray(m)?m:m.getAll();for(let e of g){let t=String(e?.id??``).trim();if(!t)continue;let n=String(e?.provider??``).trim();if(!n)continue;let r=String(e?.name??t).trim()||t,i=typeof e?.contextWindow==`number`&&e.contextWindow>0?e.contextWindow:void 0,a=typeof e?.reasoning==`boolean`?e.reasoning:void 0,o=Array.isArray(e?.input)?e.input:void 0;c.push({id:t,name:r,provider:n,contextWindow:i,reasoning:a,input:o})}return h({config:i,models:c}),f(c),c.length===0&&(a=null),l(c)}catch(e){return o||(o=!0,i.warn(`Failed to load model catalog: ${String(e)}`)),a=null,c.length>0?l(c):[]}})(),a)}function _(e){return e?.input?.includes(`image`)??!1}function v(e,t,n){let r=t.toLowerCase().trim(),i=n.toLowerCase().trim();return e.find(e=>e.provider.toLowerCase()===r&&e.id.toLowerCase()===i)}export{g as n,_ as r,v as t};
|
|
1
|
+
import{t as e}from"./subsystem-C5XF2Fy5.js";import{nu as t,qs as n}from"./model-selection-I1ctjFOB.js";import{t as r}from"./models-config-CWIlroKT.js";const i=e(`model-catalog`);let a=null,o=!1,s=()=>import(`./pi-model-discovery-6myCPEJE.js`).then(e=>e.r);const c=`openai-codex`,l=`openai`,u=new Set([`kilocode`]),d=[{provider:l,id:`gpt-5.4`,templateIds:[`gpt-5.2`]},{provider:l,id:`gpt-5.4-pro`,templateIds:[`gpt-5.2-pro`,`gpt-5.2`]},{provider:c,id:`gpt-5.4`,templateIds:[`gpt-5.3-codex`,`gpt-5.2-codex`]},{provider:c,id:`gpt-5.3-codex-spark`,templateIds:[`gpt-5.3-codex`]}];function f(e){let t=(t,n)=>e.find(e=>e.provider.toLowerCase()===t.toLowerCase()&&e.id.toLowerCase()===n.toLowerCase());for(let n of d){if(t(n.provider,n.id))continue;let r=n.templateIds.map(e=>t(n.provider,e)).find(e=>e!==void 0);r&&e.push({...r,id:n.id,name:n.id})}}function p(e){if(!Array.isArray(e))return;let t=e.filter(e=>e===`text`||e===`image`||e===`document`);return t.length>0?t:void 0}function m(e){let t=e.models?.providers;if(!t||typeof t!=`object`)return[];let n=[];for(let[e,r]of Object.entries(t)){let t=e.toLowerCase().trim();if(!u.has(t)||!r||typeof r!=`object`)continue;let i=r.models;if(Array.isArray(i))for(let e of i){if(!e||typeof e!=`object`)continue;let r=e.id;if(typeof r!=`string`)continue;let i=r.trim();if(!i)continue;let a=e.name,o=(typeof a==`string`?a:i).trim()||i,s=e.contextWindow,c=typeof s==`number`&&s>0?s:void 0,l=e.reasoning,u=typeof l==`boolean`?l:void 0,d=p(e.input);n.push({id:i,name:o,provider:t,contextWindow:c,reasoning:u,input:d})}}return n}function h(e){let t=m(e.config);if(t.length===0)return;let n=new Set(e.models.map(e=>`${e.provider.toLowerCase().trim()}::${e.id.toLowerCase().trim()}`));for(let r of t){let t=`${r.provider.toLowerCase().trim()}::${r.id.toLowerCase().trim()}`;n.has(t)||(e.models.push(r),n.add(t))}}async function g(e){return e?.useCache===!1&&(a=null),a||(a=(async()=>{let c=[],l=e=>e.sort((e,t)=>{let n=e.provider.localeCompare(t.provider);return n===0?e.name.localeCompare(t.name):n});try{let i=e?.config??n();await r(i);let o=await s(),u=t(),{join:d}=await import(`node:path`),p=o.discoverAuthStorage(u),m=new o.ModelRegistry(p,d(u,`models.json`)),g=Array.isArray(m)?m:m.getAll();for(let e of g){let t=String(e?.id??``).trim();if(!t)continue;let n=String(e?.provider??``).trim();if(!n)continue;let r=String(e?.name??t).trim()||t,i=typeof e?.contextWindow==`number`&&e.contextWindow>0?e.contextWindow:void 0,a=typeof e?.reasoning==`boolean`?e.reasoning:void 0,o=Array.isArray(e?.input)?e.input:void 0;c.push({id:t,name:r,provider:n,contextWindow:i,reasoning:a,input:o})}return h({config:i,models:c}),f(c),c.length===0&&(a=null),l(c)}catch(e){return o||(o=!0,i.warn(`Failed to load model catalog: ${String(e)}`)),a=null,c.length>0?l(c):[]}})(),a)}function _(e){return e?.input?.includes(`image`)??!1}function v(e,t,n){let r=t.toLowerCase().trim(),i=n.toLowerCase().trim();return e.find(e=>e.provider.toLowerCase()===r&&e.id.toLowerCase()===i)}export{g as n,_ as r,v as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e){let t=e.toLowerCase().matchAll(/(?:^|[^a-z0-9])[a-z]?(\d+(?:\.\d+)?)b(?:[^a-z0-9]|$)/g),n=null;for(let e of t){let t=e[1];if(!t)continue;let r=Number(t);!Number.isFinite(r)||r<=0||(n===null||r>n)&&(n=r)}return n}export{e as t};
|
|
1
|
+
function e(e){let t=e.toLowerCase().matchAll(/(?:^|[^a-z0-9])[a-z]?(\d+(?:\.\d+)?)b(?:[^a-z0-9]|$)/g),n=null;for(let e of t){let t=e[1];if(!t)continue;let r=Number(t);!Number.isFinite(r)||r<=0||(n===null||r>n)&&(n=r)}return n}export{e as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function e(e){let t=e.toLowerCase().matchAll(/(?:^|[^a-z0-9])[a-z]?(\d+(?:\.\d+)?)b(?:[^a-z0-9]|$)/g),n=null;for(let e of t){let t=e[1];if(!t)continue;let r=Number(t);!Number.isFinite(r)||r<=0||(n===null||r>n)&&(n=r)}return n}export{e as t};
|
|
1
|
+
function e(e){let t=e.toLowerCase().matchAll(/(?:^|[^a-z0-9])[a-z]?(\d+(?:\.\d+)?)b(?:[^a-z0-9]|$)/g),n=null;for(let e of t){let t=e[1];if(!t)continue;let r=Number(t);!Number.isFinite(r)||r<=0||(n===null||r>n)&&(n=r)}return n}export{e as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{M as t,O as n,Ul as r,Yl as i,c as a,d as o,fu as s,h as c,pu as l,ql as u,r as d,t as f}from"./model-selection-I1ctjFOB.js";import{P as p}from"./agent-scope-DXZc3eNT.js";import{n as m}from"./model-catalog-vNCcsy4h.js";import{o as h,t as g}from"./openai-codex-model-default-DtIeKJm0.js";const _=`http://127.0.0.1:8000/v1`,v={input:0,output:0,cacheRead:0,cacheWrite:0};async function y(e){let t=await e.prompter.text({message:`vLLM base URL`,initialValue:_,placeholder:_,validate:e=>e?.trim()?void 0:`Required`}),n=await e.prompter.text({message:`vLLM API key`,placeholder:`sk-... (or any non-empty string)`,validate:e=>e?.trim()?void 0:`Required`}),r=await e.prompter.text({message:`vLLM model`,placeholder:`meta-llama/Meta-Llama-3-8B-Instruct`,validate:e=>e?.trim()?void 0:`Required`}),i=String(t??``).trim().replace(/\/+$/,``),a=String(n??``).trim(),o=String(r??``).trim(),s=`vllm/${o}`;return await u({profileId:`vllm:default`,credential:{type:`api_key`,provider:`vllm`,key:a},agentDir:e.agentDir}),{config:{...e.cfg,models:{...e.cfg.models,mode:e.cfg.models?.mode??`merge`,providers:{...e.cfg.models?.providers,vllm:{baseUrl:i,api:`openai-completions`,apiKey:`VLLM_API_KEY`,models:[{id:o,name:o,reasoning:!1,input:[`text`],cost:v,contextWindow:128e3,maxTokens:8192}]}}}},modelId:o,modelRef:s}}var b=e({applyModelAllowlist:()=>I,applyModelFallbacksFromSelection:()=>L,applyPrimaryModel:()=>F,promptDefaultModel:()=>N,promptModelAllowlist:()=>P});const x=`__keep__`,S=`__manual__`,C=`__vllm__`,w=new Set([`openrouter/auto`]);function T(e,i,a){return!!(r(a,e).length>0||t(e)||n(i,e))}function E(e){let t=i(e.agentDir,{allowKeychainPrompt:!1}),n=new Map;return r=>{let i=n.get(r);if(i!==void 0)return i;let a=T(r,e.cfg,t);return n.set(r,a),a}}function D(e){return p(e.agents?.defaults?.model)??``}function O(e){let t=e.agents?.defaults?.models??{};return Object.keys(t).map(e=>String(e??``).trim()).filter(e=>e.length>0)}function k(e){let t=new Set,n=[];for(let r of e){let e=String(r??``).trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function A(e){let t=a(e.entry.provider,e.entry.id);if(e.seen.has(t)||w.has(t))return;let n=[];e.entry.name&&e.entry.name!==e.entry.id&&n.push(e.entry.name),e.entry.contextWindow&&n.push(`ctx ${h(e.entry.contextWindow)}`),e.entry.reasoning&&n.push(`reasoning`);let r=e.aliasIndex.byKey.get(t);r?.length&&n.push(`alias: ${r.join(`, `)}`),e.hasAuth(e.entry.provider)||n.push(`auth missing`),e.options.push({value:t,label:t,hint:n.length>0?n.join(` · `):void 0}),e.seen.add(t)}function j(e){return e.provider===`anthropic`&&typeof e.id==`string`&&e.id.toLowerCase().startsWith(`claude-3`)}async function M(e){let t=await e.prompter.text({message:e.allowBlank?`Default model (blank to keep)`:`Default model`,initialValue:e.initialValue,placeholder:`provider/model`,validate:e.allowBlank?void 0:e=>e?.trim()?void 0:`Required`}),n=String(t??``).trim();return n?{model:n}:{}}async function N(e){let t=e.config,n=e.allowKeep??!0,r=e.includeManual??!0,i=e.includeVllm??!1,u=e.ignoreAllowlist??!1,p=e.preferredProvider?.trim(),h=p?o(p):void 0,g=D(t),_=c({cfg:t,defaultProvider:l,defaultModel:s}),v=a(_.provider,_.model),b=g?v:``,w=await m({config:t,useCache:!1});if(w.length===0)return M({prompter:e.prompter,allowBlank:n,initialValue:g||v||void 0});let T=d({cfg:t,defaultProvider:l}),O=w;if(!u){let{allowedCatalog:e}=f({cfg:t,catalog:w,defaultProvider:l});O=e.length>0?e:w}if(O.length===0)return M({prompter:e.prompter,allowBlank:n,initialValue:g||v||void 0});let k=Array.from(new Set(O.map(e=>e.provider))).toSorted((e,t)=>e.localeCompare(t)),N=h?k.includes(h):!1;if(!N&&k.length>1&&O.length>30){let t=await e.prompter.select({message:`Filter models by provider`,options:[{value:`*`,label:`All providers`},...k.map(e=>{let t=O.filter(t=>t.provider===e).length;return{value:e,label:e,hint:`${t} model${t===1?``:`s`}`}})]});t!==`*`&&(O=O.filter(e=>e.provider===t))}N&&h&&(O=O.filter(e=>h===`volcengine`?e.provider===`volcengine`||e.provider===`volcengine-plan`:h===`byteplus`?e.provider===`byteplus`||e.provider===`byteplus-plan`:e.provider===h),h===`anthropic`&&(O=O.filter(e=>!j(e))));let P=e.agentDir,F=E({cfg:t,agentDir:P}),I=[];n&&I.push({value:x,label:g?`Keep current (${g})`:`Keep current (default: ${v})`,hint:g&&g!==v?`resolves to ${v}`:void 0}),r&&I.push({value:S,label:`Enter model manually`}),i&&P&&I.push({value:C,label:`vLLM (custom)`,hint:`Enter vLLM URL + API key + model`});let L=new Set;for(let e of O)A({entry:e,options:I,seen:L,aliasIndex:T,hasAuth:F});b&&!L.has(b)&&I.push({value:b,label:b,hint:`current (not in catalog)`});let R=n?x:b||void 0;if(n&&N&&h&&_.provider!==h){let e=O[0];e&&(R=a(e.provider,e.id))}let z=await e.prompter.select({message:e.message??`Default model`,options:I,initialValue:R});if(z===x)return{};if(z===S)return M({prompter:e.prompter,allowBlank:!1,initialValue:g||v||void 0});if(z===C){if(!P)return await e.prompter.note(`vLLM setup requires an agent directory context.`,`vLLM not available`),{};let{config:n,modelRef:r}=await y({cfg:t,prompter:e.prompter,agentDir:P});return{model:r,config:n}}return{model:String(z)}}async function P(e){let t=e.config,n=O(t),r=k(e.allowedKeys??[]),i=r.length>0?new Set(r):null,o=c({cfg:t,defaultProvider:l,defaultModel:s}),u=a(o.provider,o.model),f=k([...n,u,...e.initialSelections??[]]),p=i?f.filter(e=>i.has(e)):f,h=await m({config:t,useCache:!1});if(h.length===0&&r.length===0){let t=await e.prompter.text({message:e.message??`Allowlist models (comma-separated provider/model; blank to keep current)`,initialValue:n.join(`, `),placeholder:`${g}, anthropic/claude-opus-4-6`}),r=String(t??``).split(`,`).map(e=>e.trim()).filter(e=>e.length>0);return r.length===0?{}:{models:k(r)}}let _=d({cfg:t,defaultProvider:l}),v=E({cfg:t,agentDir:e.agentDir}),y=[],b=new Set,x=i?h.filter(e=>i.has(a(e.provider,e.id))):h;for(let e of x)A({entry:e,options:y,seen:b,aliasIndex:_,hasAuth:v});let S=i?r:n;for(let e of S)b.has(e)||(y.push({value:e,label:e,hint:i?`allowed (not in catalog)`:`configured (not in catalog)`}),b.add(e));if(y.length===0)return{};let C=k((await e.prompter.multiselect({message:e.message??`Models in /model picker (multi-select)`,options:y,initialValues:p.length>0?p:void 0,searchable:!0})).map(e=>String(e)));return C.length>0?{models:C}:n.length===0||await e.prompter.confirm({message:`Clear the model allowlist? (shows all models)`,initialValue:!1})?{models:[]}:{}}function F(e,t){let n=e.agents?.defaults,r=n?.model,i=n?.models,a=typeof r==`object`&&r&&`fallbacks`in r?r.fallbacks:void 0;return{...e,agents:{...e.agents,defaults:{...n,model:{...a?{fallbacks:a}:void 0,primary:t},models:{...i,[t]:i?.[t]??{}}}}}}function I(e,t){let n=e.agents?.defaults,r=k(t);if(r.length===0){if(!n?.models)return e;let{models:t,...r}=n;return{...e,agents:{...e.agents,defaults:r}}}let i=n?.models??{},a={};for(let e of r)a[e]=i[e]??{};return{...e,agents:{...e.agents,defaults:{...n,models:a}}}}function L(e,t){let n=k(t);if(n.length<=1)return e;let r=c({cfg:e,defaultProvider:l,defaultModel:s}),i=a(r.provider,r.model);if(!n.includes(i))return e;let o=e.agents?.defaults,u=o?.model,d=typeof u==`string`?u:u&&typeof u==`object`?u.primary:void 0,f=n.filter(e=>e!==i);return{...e,agents:{...e.agents,defaults:{...o,model:{...typeof u==`object`?u:void 0,primary:d??i,fallbacks:f}}}}}export{N as a,b as i,L as n,P as o,F as r,y as s,I as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{M as t,O as n,Ul as r,Yl as i,c as a,d as o,fu as s,h as c,pu as l,ql as u,r as d,t as f}from"./model-selection-I1ctjFOB.js";import{P as p}from"./agent-scope-DXZc3eNT.js";import{n as m}from"./model-catalog-vNCcsy4h.js";import{o as h,t as g}from"./openai-codex-model-default-DtIeKJm0.js";const _=`http://127.0.0.1:8000/v1`,v={input:0,output:0,cacheRead:0,cacheWrite:0};async function y(e){let t=await e.prompter.text({message:`vLLM base URL`,initialValue:_,placeholder:_,validate:e=>e?.trim()?void 0:`Required`}),n=await e.prompter.text({message:`vLLM API key`,placeholder:`sk-... (or any non-empty string)`,validate:e=>e?.trim()?void 0:`Required`}),r=await e.prompter.text({message:`vLLM model`,placeholder:`meta-llama/Meta-Llama-3-8B-Instruct`,validate:e=>e?.trim()?void 0:`Required`}),i=String(t??``).trim().replace(/\/+$/,``),a=String(n??``).trim(),o=String(r??``).trim(),s=`vllm/${o}`;return await u({profileId:`vllm:default`,credential:{type:`api_key`,provider:`vllm`,key:a},agentDir:e.agentDir}),{config:{...e.cfg,models:{...e.cfg.models,mode:e.cfg.models?.mode??`merge`,providers:{...e.cfg.models?.providers,vllm:{baseUrl:i,api:`openai-completions`,apiKey:`VLLM_API_KEY`,models:[{id:o,name:o,reasoning:!1,input:[`text`],cost:v,contextWindow:128e3,maxTokens:8192}]}}}},modelId:o,modelRef:s}}var b=e({applyModelAllowlist:()=>I,applyModelFallbacksFromSelection:()=>L,applyPrimaryModel:()=>F,promptDefaultModel:()=>N,promptModelAllowlist:()=>P});const x=`__keep__`,S=`__manual__`,C=`__vllm__`,w=new Set([`openrouter/auto`]);function T(e,i,a){return!!(r(a,e).length>0||t(e)||n(i,e))}function E(e){let t=i(e.agentDir,{allowKeychainPrompt:!1}),n=new Map;return r=>{let i=n.get(r);if(i!==void 0)return i;let a=T(r,e.cfg,t);return n.set(r,a),a}}function D(e){return p(e.agents?.defaults?.model)??``}function O(e){let t=e.agents?.defaults?.models??{};return Object.keys(t).map(e=>String(e??``).trim()).filter(e=>e.length>0)}function k(e){let t=new Set,n=[];for(let r of e){let e=String(r??``).trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function A(e){let t=a(e.entry.provider,e.entry.id);if(e.seen.has(t)||w.has(t))return;let n=[];e.entry.name&&e.entry.name!==e.entry.id&&n.push(e.entry.name),e.entry.contextWindow&&n.push(`ctx ${h(e.entry.contextWindow)}`),e.entry.reasoning&&n.push(`reasoning`);let r=e.aliasIndex.byKey.get(t);r?.length&&n.push(`alias: ${r.join(`, `)}`),e.hasAuth(e.entry.provider)||n.push(`auth missing`),e.options.push({value:t,label:t,hint:n.length>0?n.join(` · `):void 0}),e.seen.add(t)}function j(e){return e.provider===`anthropic`&&typeof e.id==`string`&&e.id.toLowerCase().startsWith(`claude-3`)}async function M(e){let t=await e.prompter.text({message:e.allowBlank?`Default model (blank to keep)`:`Default model`,initialValue:e.initialValue,placeholder:`provider/model`,validate:e.allowBlank?void 0:e=>e?.trim()?void 0:`Required`}),n=String(t??``).trim();return n?{model:n}:{}}async function N(e){let t=e.config,n=e.allowKeep??!0,r=e.includeManual??!0,i=e.includeVllm??!1,u=e.ignoreAllowlist??!1,p=e.preferredProvider?.trim(),h=p?o(p):void 0,g=D(t),_=c({cfg:t,defaultProvider:l,defaultModel:s}),v=a(_.provider,_.model),b=g?v:``,w=await m({config:t,useCache:!1});if(w.length===0)return M({prompter:e.prompter,allowBlank:n,initialValue:g||v||void 0});let T=d({cfg:t,defaultProvider:l}),O=w;if(!u){let{allowedCatalog:e}=f({cfg:t,catalog:w,defaultProvider:l});O=e.length>0?e:w}if(O.length===0)return M({prompter:e.prompter,allowBlank:n,initialValue:g||v||void 0});let k=Array.from(new Set(O.map(e=>e.provider))).toSorted((e,t)=>e.localeCompare(t)),N=h?k.includes(h):!1;if(!N&&k.length>1&&O.length>30){let t=await e.prompter.select({message:`Filter models by provider`,options:[{value:`*`,label:`All providers`},...k.map(e=>{let t=O.filter(t=>t.provider===e).length;return{value:e,label:e,hint:`${t} model${t===1?``:`s`}`}})]});t!==`*`&&(O=O.filter(e=>e.provider===t))}N&&h&&(O=O.filter(e=>h===`volcengine`?e.provider===`volcengine`||e.provider===`volcengine-plan`:h===`byteplus`?e.provider===`byteplus`||e.provider===`byteplus-plan`:e.provider===h),h===`anthropic`&&(O=O.filter(e=>!j(e))));let P=e.agentDir,F=E({cfg:t,agentDir:P}),I=[];n&&I.push({value:x,label:g?`Keep current (${g})`:`Keep current (default: ${v})`,hint:g&&g!==v?`resolves to ${v}`:void 0}),r&&I.push({value:S,label:`Enter model manually`}),i&&P&&I.push({value:C,label:`vLLM (custom)`,hint:`Enter vLLM URL + API key + model`});let L=new Set;for(let e of O)A({entry:e,options:I,seen:L,aliasIndex:T,hasAuth:F});b&&!L.has(b)&&I.push({value:b,label:b,hint:`current (not in catalog)`});let R=n?x:b||void 0;if(n&&N&&h&&_.provider!==h){let e=O[0];e&&(R=a(e.provider,e.id))}let z=await e.prompter.select({message:e.message??`Default model`,options:I,initialValue:R});if(z===x)return{};if(z===S)return M({prompter:e.prompter,allowBlank:!1,initialValue:g||v||void 0});if(z===C){if(!P)return await e.prompter.note(`vLLM setup requires an agent directory context.`,`vLLM not available`),{};let{config:n,modelRef:r}=await y({cfg:t,prompter:e.prompter,agentDir:P});return{model:r,config:n}}return{model:String(z)}}async function P(e){let t=e.config,n=O(t),r=k(e.allowedKeys??[]),i=r.length>0?new Set(r):null,o=c({cfg:t,defaultProvider:l,defaultModel:s}),u=a(o.provider,o.model),f=k([...n,u,...e.initialSelections??[]]),p=i?f.filter(e=>i.has(e)):f,h=await m({config:t,useCache:!1});if(h.length===0&&r.length===0){let t=await e.prompter.text({message:e.message??`Allowlist models (comma-separated provider/model; blank to keep current)`,initialValue:n.join(`, `),placeholder:`${g}, anthropic/claude-opus-4-6`}),r=String(t??``).split(`,`).map(e=>e.trim()).filter(e=>e.length>0);return r.length===0?{}:{models:k(r)}}let _=d({cfg:t,defaultProvider:l}),v=E({cfg:t,agentDir:e.agentDir}),y=[],b=new Set,x=i?h.filter(e=>i.has(a(e.provider,e.id))):h;for(let e of x)A({entry:e,options:y,seen:b,aliasIndex:_,hasAuth:v});let S=i?r:n;for(let e of S)b.has(e)||(y.push({value:e,label:e,hint:i?`allowed (not in catalog)`:`configured (not in catalog)`}),b.add(e));if(y.length===0)return{};let C=k((await e.prompter.multiselect({message:e.message??`Models in /model picker (multi-select)`,options:y,initialValues:p.length>0?p:void 0,searchable:!0})).map(e=>String(e)));return C.length>0?{models:C}:n.length===0||await e.prompter.confirm({message:`Clear the model allowlist? (shows all models)`,initialValue:!1})?{models:[]}:{}}function F(e,t){let n=e.agents?.defaults,r=n?.model,i=n?.models,a=typeof r==`object`&&r&&`fallbacks`in r?r.fallbacks:void 0;return{...e,agents:{...e.agents,defaults:{...n,model:{...a?{fallbacks:a}:void 0,primary:t},models:{...i,[t]:i?.[t]??{}}}}}}function I(e,t){let n=e.agents?.defaults,r=k(t);if(r.length===0){if(!n?.models)return e;let{models:t,...r}=n;return{...e,agents:{...e.agents,defaults:r}}}let i=n?.models??{},a={};for(let e of r)a[e]=i[e]??{};return{...e,agents:{...e.agents,defaults:{...n,models:a}}}}function L(e,t){let n=k(t);if(n.length<=1)return e;let r=c({cfg:e,defaultProvider:l,defaultModel:s}),i=a(r.provider,r.model);if(!n.includes(i))return e;let o=e.agents?.defaults,u=o?.model,d=typeof u==`string`?u:u&&typeof u==`object`?u.primary:void 0,f=n.filter(e=>e!==i);return{...e,agents:{...e.agents,defaults:{...o,model:{...typeof u==`object`?u:void 0,primary:d??i,fallbacks:f}}}}}export{N as a,b as i,L as n,P as o,F as r,y as s,I as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{Cc as t,Fc as n,Gc as r,Hc as i,Lc as a,Tc as o,Yc as s,cl as c,du as l,fl as u,fu as d,yc as f}from"./auth-profiles-BhXA8Jy2.js";import{P as p}from"./agent-scope-DAWJwFfl.js";import{n as m}from"./model-catalog-BLdaFmIo.js";import{o as h,t as g}from"./openai-codex-model-default-Df2T3foI.js";const _=`http://127.0.0.1:8000/v1`,v={input:0,output:0,cacheRead:0,cacheWrite:0};async function y(e){let n=await e.prompter.text({message:`vLLM base URL`,initialValue:_,placeholder:_,validate:e=>e?.trim()?void 0:`Required`}),r=await e.prompter.text({message:`vLLM API key`,placeholder:`sk-... (or any non-empty string)`,validate:e=>e?.trim()?void 0:`Required`}),i=await e.prompter.text({message:`vLLM model`,placeholder:`meta-llama/Meta-Llama-3-8B-Instruct`,validate:e=>e?.trim()?void 0:`Required`}),a=String(n??``).trim().replace(/\/+$/,``),o=String(r??``).trim(),s=String(i??``).trim(),c=`vllm/${s}`;return await t({profileId:`vllm:default`,credential:{type:`api_key`,provider:`vllm`,key:o},agentDir:e.agentDir}),{config:{...e.cfg,models:{...e.cfg.models,mode:e.cfg.models?.mode??`merge`,providers:{...e.cfg.models?.providers,vllm:{baseUrl:a,api:`openai-completions`,apiKey:`VLLM_API_KEY`,models:[{id:s,name:s,reasoning:!1,input:[`text`],cost:v,contextWindow:128e3,maxTokens:8192}]}}}},modelId:s,modelRef:c}}var b=e({applyModelAllowlist:()=>I,applyModelFallbacksFromSelection:()=>L,applyPrimaryModel:()=>F,promptDefaultModel:()=>N,promptModelAllowlist:()=>P});const x=`__keep__`,S=`__manual__`,C=`__vllm__`,w=new Set([`openrouter/auto`]);function T(e,t,n){return!!(f(n,e).length>0||u(e)||c(t,e))}function E(e){let t=o(e.agentDir,{allowKeychainPrompt:!1}),n=new Map;return r=>{let i=n.get(r);if(i!==void 0)return i;let a=T(r,e.cfg,t);return n.set(r,a),a}}function D(e){return p(e.agents?.defaults?.model)??``}function O(e){let t=e.agents?.defaults?.models??{};return Object.keys(t).map(e=>String(e??``).trim()).filter(e=>e.length>0)}function k(e){let t=new Set,n=[];for(let r of e){let e=String(r??``).trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function A(e){let t=i(e.entry.provider,e.entry.id);if(e.seen.has(t)||w.has(t))return;let n=[];e.entry.name&&e.entry.name!==e.entry.id&&n.push(e.entry.name),e.entry.contextWindow&&n.push(`ctx ${h(e.entry.contextWindow)}`),e.entry.reasoning&&n.push(`reasoning`);let r=e.aliasIndex.byKey.get(t);r?.length&&n.push(`alias: ${r.join(`, `)}`),e.hasAuth(e.entry.provider)||n.push(`auth missing`),e.options.push({value:t,label:t,hint:n.length>0?n.join(` · `):void 0}),e.seen.add(t)}function j(e){return e.provider===`anthropic`&&typeof e.id==`string`&&e.id.toLowerCase().startsWith(`claude-3`)}async function M(e){let t=await e.prompter.text({message:e.allowBlank?`Default model (blank to keep)`:`Default model`,initialValue:e.initialValue,placeholder:`provider/model`,validate:e.allowBlank?void 0:e=>e?.trim()?void 0:`Required`}),n=String(t??``).trim();return n?{model:n}:{}}async function N(e){let t=e.config,o=e.allowKeep??!0,c=e.includeManual??!0,u=e.includeVllm??!1,f=e.ignoreAllowlist??!1,p=e.preferredProvider?.trim(),h=p?r(p):void 0,g=D(t),_=s({cfg:t,defaultProvider:d,defaultModel:l}),v=i(_.provider,_.model),b=g?v:``,w=await m({config:t,useCache:!1});if(w.length===0)return M({prompter:e.prompter,allowBlank:o,initialValue:g||v||void 0});let T=a({cfg:t,defaultProvider:d}),O=w;if(!f){let{allowedCatalog:e}=n({cfg:t,catalog:w,defaultProvider:d});O=e.length>0?e:w}if(O.length===0)return M({prompter:e.prompter,allowBlank:o,initialValue:g||v||void 0});let k=Array.from(new Set(O.map(e=>e.provider))).toSorted((e,t)=>e.localeCompare(t)),N=h?k.includes(h):!1;if(!N&&k.length>1&&O.length>30){let t=await e.prompter.select({message:`Filter models by provider`,options:[{value:`*`,label:`All providers`},...k.map(e=>{let t=O.filter(t=>t.provider===e).length;return{value:e,label:e,hint:`${t} model${t===1?``:`s`}`}})]});t!==`*`&&(O=O.filter(e=>e.provider===t))}N&&h&&(O=O.filter(e=>h===`volcengine`?e.provider===`volcengine`||e.provider===`volcengine-plan`:h===`byteplus`?e.provider===`byteplus`||e.provider===`byteplus-plan`:e.provider===h),h===`anthropic`&&(O=O.filter(e=>!j(e))));let P=e.agentDir,F=E({cfg:t,agentDir:P}),I=[];o&&I.push({value:x,label:g?`Keep current (${g})`:`Keep current (default: ${v})`,hint:g&&g!==v?`resolves to ${v}`:void 0}),c&&I.push({value:S,label:`Enter model manually`}),u&&P&&I.push({value:C,label:`vLLM (custom)`,hint:`Enter vLLM URL + API key + model`});let L=new Set;for(let e of O)A({entry:e,options:I,seen:L,aliasIndex:T,hasAuth:F});b&&!L.has(b)&&I.push({value:b,label:b,hint:`current (not in catalog)`});let R=o?x:b||void 0;if(o&&N&&h&&_.provider!==h){let e=O[0];e&&(R=i(e.provider,e.id))}let z=await e.prompter.select({message:e.message??`Default model`,options:I,initialValue:R});if(z===x)return{};if(z===S)return M({prompter:e.prompter,allowBlank:!1,initialValue:g||v||void 0});if(z===C){if(!P)return await e.prompter.note(`vLLM setup requires an agent directory context.`,`vLLM not available`),{};let{config:n,modelRef:r}=await y({cfg:t,prompter:e.prompter,agentDir:P});return{model:r,config:n}}return{model:String(z)}}async function P(e){let t=e.config,n=O(t),r=k(e.allowedKeys??[]),o=r.length>0?new Set(r):null,c=s({cfg:t,defaultProvider:d,defaultModel:l}),u=i(c.provider,c.model),f=k([...n,u,...e.initialSelections??[]]),p=o?f.filter(e=>o.has(e)):f,h=await m({config:t,useCache:!1});if(h.length===0&&r.length===0){let t=await e.prompter.text({message:e.message??`Allowlist models (comma-separated provider/model; blank to keep current)`,initialValue:n.join(`, `),placeholder:`${g}, anthropic/claude-opus-4-6`}),r=String(t??``).split(`,`).map(e=>e.trim()).filter(e=>e.length>0);return r.length===0?{}:{models:k(r)}}let _=a({cfg:t,defaultProvider:d}),v=E({cfg:t,agentDir:e.agentDir}),y=[],b=new Set,x=o?h.filter(e=>o.has(i(e.provider,e.id))):h;for(let e of x)A({entry:e,options:y,seen:b,aliasIndex:_,hasAuth:v});let S=o?r:n;for(let e of S)b.has(e)||(y.push({value:e,label:e,hint:o?`allowed (not in catalog)`:`configured (not in catalog)`}),b.add(e));if(y.length===0)return{};let C=k((await e.prompter.multiselect({message:e.message??`Models in /model picker (multi-select)`,options:y,initialValues:p.length>0?p:void 0,searchable:!0})).map(e=>String(e)));return C.length>0?{models:C}:n.length===0||await e.prompter.confirm({message:`Clear the model allowlist? (shows all models)`,initialValue:!1})?{models:[]}:{}}function F(e,t){let n=e.agents?.defaults,r=n?.model,i=n?.models,a=typeof r==`object`&&r&&`fallbacks`in r?r.fallbacks:void 0;return{...e,agents:{...e.agents,defaults:{...n,model:{...a?{fallbacks:a}:void 0,primary:t},models:{...i,[t]:i?.[t]??{}}}}}}function I(e,t){let n=e.agents?.defaults,r=k(t);if(r.length===0){if(!n?.models)return e;let{models:t,...r}=n;return{...e,agents:{...e.agents,defaults:r}}}let i=n?.models??{},a={};for(let e of r)a[e]=i[e]??{};return{...e,agents:{...e.agents,defaults:{...n,models:a}}}}function L(e,t){let n=k(t);if(n.length<=1)return e;let r=s({cfg:e,defaultProvider:d,defaultModel:l}),a=i(r.provider,r.model);if(!n.includes(a))return e;let o=e.agents?.defaults,c=o?.model,u=typeof c==`string`?c:c&&typeof c==`object`?c.primary:void 0,f=n.filter(e=>e!==a);return{...e,agents:{...e.agents,defaults:{...o,model:{...typeof c==`object`?c:void 0,primary:u??a,fallbacks:f}}}}}export{N as a,b as i,L as n,P as o,F as r,y as s,I as t};
|
|
1
|
+
import{t as e}from"./rolldown-runtime-CNxR59P3.js";import{Cc as t,Fc as n,Gc as r,Hc as i,Lc as a,Tc as o,Yc as s,cl as c,du as l,fl as u,fu as d,yc as f}from"./auth-profiles-BhXA8Jy2.js";import{P as p}from"./agent-scope-DAWJwFfl.js";import{n as m}from"./model-catalog-BLdaFmIo.js";import{o as h,t as g}from"./openai-codex-model-default-Df2T3foI.js";const _=`http://127.0.0.1:8000/v1`,v={input:0,output:0,cacheRead:0,cacheWrite:0};async function y(e){let n=await e.prompter.text({message:`vLLM base URL`,initialValue:_,placeholder:_,validate:e=>e?.trim()?void 0:`Required`}),r=await e.prompter.text({message:`vLLM API key`,placeholder:`sk-... (or any non-empty string)`,validate:e=>e?.trim()?void 0:`Required`}),i=await e.prompter.text({message:`vLLM model`,placeholder:`meta-llama/Meta-Llama-3-8B-Instruct`,validate:e=>e?.trim()?void 0:`Required`}),a=String(n??``).trim().replace(/\/+$/,``),o=String(r??``).trim(),s=String(i??``).trim(),c=`vllm/${s}`;return await t({profileId:`vllm:default`,credential:{type:`api_key`,provider:`vllm`,key:o},agentDir:e.agentDir}),{config:{...e.cfg,models:{...e.cfg.models,mode:e.cfg.models?.mode??`merge`,providers:{...e.cfg.models?.providers,vllm:{baseUrl:a,api:`openai-completions`,apiKey:`VLLM_API_KEY`,models:[{id:s,name:s,reasoning:!1,input:[`text`],cost:v,contextWindow:128e3,maxTokens:8192}]}}}},modelId:s,modelRef:c}}var b=e({applyModelAllowlist:()=>I,applyModelFallbacksFromSelection:()=>L,applyPrimaryModel:()=>F,promptDefaultModel:()=>N,promptModelAllowlist:()=>P});const x=`__keep__`,S=`__manual__`,C=`__vllm__`,w=new Set([`openrouter/auto`]);function T(e,t,n){return!!(f(n,e).length>0||u(e)||c(t,e))}function E(e){let t=o(e.agentDir,{allowKeychainPrompt:!1}),n=new Map;return r=>{let i=n.get(r);if(i!==void 0)return i;let a=T(r,e.cfg,t);return n.set(r,a),a}}function D(e){return p(e.agents?.defaults?.model)??``}function O(e){let t=e.agents?.defaults?.models??{};return Object.keys(t).map(e=>String(e??``).trim()).filter(e=>e.length>0)}function k(e){let t=new Set,n=[];for(let r of e){let e=String(r??``).trim();!e||t.has(e)||(t.add(e),n.push(e))}return n}function A(e){let t=i(e.entry.provider,e.entry.id);if(e.seen.has(t)||w.has(t))return;let n=[];e.entry.name&&e.entry.name!==e.entry.id&&n.push(e.entry.name),e.entry.contextWindow&&n.push(`ctx ${h(e.entry.contextWindow)}`),e.entry.reasoning&&n.push(`reasoning`);let r=e.aliasIndex.byKey.get(t);r?.length&&n.push(`alias: ${r.join(`, `)}`),e.hasAuth(e.entry.provider)||n.push(`auth missing`),e.options.push({value:t,label:t,hint:n.length>0?n.join(` · `):void 0}),e.seen.add(t)}function j(e){return e.provider===`anthropic`&&typeof e.id==`string`&&e.id.toLowerCase().startsWith(`claude-3`)}async function M(e){let t=await e.prompter.text({message:e.allowBlank?`Default model (blank to keep)`:`Default model`,initialValue:e.initialValue,placeholder:`provider/model`,validate:e.allowBlank?void 0:e=>e?.trim()?void 0:`Required`}),n=String(t??``).trim();return n?{model:n}:{}}async function N(e){let t=e.config,o=e.allowKeep??!0,c=e.includeManual??!0,u=e.includeVllm??!1,f=e.ignoreAllowlist??!1,p=e.preferredProvider?.trim(),h=p?r(p):void 0,g=D(t),_=s({cfg:t,defaultProvider:d,defaultModel:l}),v=i(_.provider,_.model),b=g?v:``,w=await m({config:t,useCache:!1});if(w.length===0)return M({prompter:e.prompter,allowBlank:o,initialValue:g||v||void 0});let T=a({cfg:t,defaultProvider:d}),O=w;if(!f){let{allowedCatalog:e}=n({cfg:t,catalog:w,defaultProvider:d});O=e.length>0?e:w}if(O.length===0)return M({prompter:e.prompter,allowBlank:o,initialValue:g||v||void 0});let k=Array.from(new Set(O.map(e=>e.provider))).toSorted((e,t)=>e.localeCompare(t)),N=h?k.includes(h):!1;if(!N&&k.length>1&&O.length>30){let t=await e.prompter.select({message:`Filter models by provider`,options:[{value:`*`,label:`All providers`},...k.map(e=>{let t=O.filter(t=>t.provider===e).length;return{value:e,label:e,hint:`${t} model${t===1?``:`s`}`}})]});t!==`*`&&(O=O.filter(e=>e.provider===t))}N&&h&&(O=O.filter(e=>h===`volcengine`?e.provider===`volcengine`||e.provider===`volcengine-plan`:h===`byteplus`?e.provider===`byteplus`||e.provider===`byteplus-plan`:e.provider===h),h===`anthropic`&&(O=O.filter(e=>!j(e))));let P=e.agentDir,F=E({cfg:t,agentDir:P}),I=[];o&&I.push({value:x,label:g?`Keep current (${g})`:`Keep current (default: ${v})`,hint:g&&g!==v?`resolves to ${v}`:void 0}),c&&I.push({value:S,label:`Enter model manually`}),u&&P&&I.push({value:C,label:`vLLM (custom)`,hint:`Enter vLLM URL + API key + model`});let L=new Set;for(let e of O)A({entry:e,options:I,seen:L,aliasIndex:T,hasAuth:F});b&&!L.has(b)&&I.push({value:b,label:b,hint:`current (not in catalog)`});let R=o?x:b||void 0;if(o&&N&&h&&_.provider!==h){let e=O[0];e&&(R=i(e.provider,e.id))}let z=await e.prompter.select({message:e.message??`Default model`,options:I,initialValue:R});if(z===x)return{};if(z===S)return M({prompter:e.prompter,allowBlank:!1,initialValue:g||v||void 0});if(z===C){if(!P)return await e.prompter.note(`vLLM setup requires an agent directory context.`,`vLLM not available`),{};let{config:n,modelRef:r}=await y({cfg:t,prompter:e.prompter,agentDir:P});return{model:r,config:n}}return{model:String(z)}}async function P(e){let t=e.config,n=O(t),r=k(e.allowedKeys??[]),o=r.length>0?new Set(r):null,c=s({cfg:t,defaultProvider:d,defaultModel:l}),u=i(c.provider,c.model),f=k([...n,u,...e.initialSelections??[]]),p=o?f.filter(e=>o.has(e)):f,h=await m({config:t,useCache:!1});if(h.length===0&&r.length===0){let t=await e.prompter.text({message:e.message??`Allowlist models (comma-separated provider/model; blank to keep current)`,initialValue:n.join(`, `),placeholder:`${g}, anthropic/claude-opus-4-6`}),r=String(t??``).split(`,`).map(e=>e.trim()).filter(e=>e.length>0);return r.length===0?{}:{models:k(r)}}let _=a({cfg:t,defaultProvider:d}),v=E({cfg:t,agentDir:e.agentDir}),y=[],b=new Set,x=o?h.filter(e=>o.has(i(e.provider,e.id))):h;for(let e of x)A({entry:e,options:y,seen:b,aliasIndex:_,hasAuth:v});let S=o?r:n;for(let e of S)b.has(e)||(y.push({value:e,label:e,hint:o?`allowed (not in catalog)`:`configured (not in catalog)`}),b.add(e));if(y.length===0)return{};let C=k((await e.prompter.multiselect({message:e.message??`Models in /model picker (multi-select)`,options:y,initialValues:p.length>0?p:void 0,searchable:!0})).map(e=>String(e)));return C.length>0?{models:C}:n.length===0||await e.prompter.confirm({message:`Clear the model allowlist? (shows all models)`,initialValue:!1})?{models:[]}:{}}function F(e,t){let n=e.agents?.defaults,r=n?.model,i=n?.models,a=typeof r==`object`&&r&&`fallbacks`in r?r.fallbacks:void 0;return{...e,agents:{...e.agents,defaults:{...n,model:{...a?{fallbacks:a}:void 0,primary:t},models:{...i,[t]:i?.[t]??{}}}}}}function I(e,t){let n=e.agents?.defaults,r=k(t);if(r.length===0){if(!n?.models)return e;let{models:t,...r}=n;return{...e,agents:{...e.agents,defaults:r}}}let i=n?.models??{},a={};for(let e of r)a[e]=i[e]??{};return{...e,agents:{...e.agents,defaults:{...n,models:a}}}}function L(e,t){let n=k(t);if(n.length<=1)return e;let r=s({cfg:e,defaultProvider:d,defaultModel:l}),a=i(r.provider,r.model);if(!n.includes(a))return e;let o=e.agents?.defaults,c=o?.model,u=typeof c==`string`?c:c&&typeof c==`object`?c.primary:void 0,f=n.filter(e=>e!==a);return{...e,agents:{...e.agents,defaults:{...o,model:{...typeof c==`object`?c:void 0,primary:u??a,fallbacks:f}}}}}export{N as a,b as i,L as n,P as o,F as r,y as s,I as t};
|