@qqbrowser/openclaw-qbot 0.0.139 → 0.0.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account-lookup-CW-_CL7y.js +1 -0
- package/dist/acp-cli-BaslDuk6.js +1 -0
- package/dist/acp-cli-f5-uI85a.js +1 -0
- package/dist/active-listener-Cce5tcPa.js +1 -0
- package/dist/active-listener-D8VOdVx3.js +1 -0
- package/dist/active-listener-DeKRt_UV.js +1 -0
- package/dist/active-listener-Dle9QX40.js +1 -0
- package/dist/agent-scope-DAWJwFfl.js +1 -0
- package/dist/agent-scope-DXZc3eNT.js +1 -0
- package/dist/agents-Bpp_F5In.js +1 -0
- package/dist/agents.config-B6LRG9eP.js +1 -0
- package/dist/agents.config-DfIJAGcd.js +1 -0
- package/dist/allow-from-B6dI7oz8.js +1 -0
- package/dist/allow-from-DEeVIPKS.js +1 -0
- package/dist/api-BeG0ObSq.js +1 -0
- package/dist/api-Dx8x1KTs.js +1 -0
- package/dist/api-key-rotation-BRt-vnRV.js +1 -0
- package/dist/api-key-rotation-CCH1wYVU.js +1 -0
- package/dist/api-key-rotation-D0QU-kQ9.js +1 -0
- package/dist/api-key-rotation-Di6QgXx7.js +1 -0
- package/dist/arg-split-BOqSMBuf.js +1 -0
- package/dist/arg-split-DE5RqDHq.js +1 -0
- package/dist/audio-preflight-B5o7P9qi.js +1 -0
- package/dist/audio-preflight-CxD7VCHW.js +1 -0
- package/dist/audio-preflight-DKSCBKRb.js +1 -0
- package/dist/audio-preflight-Dpk8-Bmk.js +1 -0
- package/dist/audio-transcription-runner-Bd1OZC6K.js +1 -0
- package/dist/audio-transcription-runner-D4Bp6MM7.js +1 -0
- package/dist/audio-transcription-runner-DPwmBYQj.js +1 -0
- package/dist/audio-transcription-runner-DSr6OIz1.js +1 -0
- package/dist/audit-C7RP7G_g.js +1 -0
- package/dist/audit-jkdcAUep.js +1 -0
- package/dist/audit-membership-runtime-BpRsMj5-.js +1 -0
- package/dist/audit-membership-runtime-BsfLZNBj.js +1 -0
- package/dist/audit-membership-runtime-DRHirRmx.js +1 -0
- package/dist/audit-membership-runtime-g0dEWJTp.js +1 -0
- package/dist/audit-membership-runtime-kdyToskD.js +1 -0
- package/dist/auth-choice-B7LSoXZ_.js +1 -0
- package/dist/auth-choice-CxMH4c-u.js +1 -0
- package/dist/auth-choice-DvTApGhx.js +1 -0
- package/dist/auth-choice-EQdNd7jO.js +1 -0
- package/dist/auth-choice-options-B3WQyS7I.js +1 -0
- package/dist/auth-choice-options-Dw14noox.js +1 -0
- package/dist/auth-choice-prompt-uegl56cf.js +1 -0
- package/dist/auth-choice-prompt-xYj13czb.js +1 -0
- package/dist/auth-choice.apply-helpers-B7S-PcH_.js +1 -0
- package/dist/auth-choice.apply-helpers-gaL-oSft.js +1 -0
- package/dist/auth-profiles-T8DuH3ax.js +1 -0
- package/dist/auth-token-9OTF1FmL.js +1 -0
- package/dist/auth-token-kGltuM6S.js +1 -0
- package/dist/banner-9u45RL26.js +1 -0
- package/dist/bonjour-discovery-CFZXPega.js +1 -0
- package/dist/bonjour-discovery-CjivQOxi.js +1 -0
- package/dist/boolean-Ch3DfXPy.js +1 -0
- package/dist/boolean-D15s2V33.js +1 -0
- package/dist/boolean-DypnRoRK.js +1 -0
- package/dist/brew-COcDl8CB.js +1 -0
- package/dist/brew-DDPm_HfE.js +1 -0
- package/dist/browser-cli-DQHE2iPY.js +1 -0
- package/dist/browser-cli-Dt0ds-an.js +1 -0
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +1 -0
- package/dist/bundled/bootstrap-extra-files/handler.js +1 -0
- package/dist/bundled/command-logger/handler.js +1 -0
- package/dist/bundled/session-memory/handler.js +1 -0
- package/dist/call-B8Fb4_oh.js +1 -0
- package/dist/call-CqoMqP5b.js +1 -0
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/canvas-host/a2ui/a2ui.bundle.js +1705 -2
- package/dist/channel-account-context-BMPAMZEv.js +1 -0
- package/dist/channel-account-context-DAcarnqW.js +1 -0
- package/dist/channel-activity-B04WbrrK.js +1 -0
- package/dist/channel-activity-BBrgoad1.js +1 -0
- package/dist/channel-activity-CgbOWaay.js +1 -0
- package/dist/channel-activity-YIMhOAUo.js +1 -0
- package/dist/channel-activity-YjYNzCpJ.js +1 -0
- package/dist/channel-options-CEIzjOno.js +1 -0
- package/dist/channel-options-D2syI791.js +1 -0
- package/dist/channel-selection-BBeE1TmB.js +1 -0
- package/dist/channel-selection-CbNtbAEf.js +1 -0
- package/dist/channel-web-BrElpZAc.js +1 -0
- package/dist/channel-web-CxHbET4B.js +1 -0
- package/dist/channels/plugins/actions/discord.js +1 -0
- package/dist/channels/plugins/actions/signal.js +1 -0
- package/dist/channels/plugins/actions/telegram.js +1 -0
- package/dist/channels/plugins/agent-tools/whatsapp-login.js +1 -0
- package/dist/channels-cli-BmAJuuRs.js +1 -0
- package/dist/channels-cli-Dgosczr6.js +1 -0
- package/dist/channels-status-issues-8eFrGKyf.js +1 -0
- package/dist/channels-status-issues-PRgOT90w.js +1 -0
- package/dist/chat-envelope-Bznn2SoS.js +1 -0
- package/dist/chat-envelope-HVpKusFc.js +1 -0
- package/dist/clack-prompter-DBPdGdqp.js +1 -0
- package/dist/clack-prompter-Dq0aY6iM.js +1 -0
- package/dist/clawbot-cli-CgS7TkEx.js +1 -0
- package/dist/clawbot-cli-DZ2K0OTk.js +1 -0
- package/dist/cleanup-utils-BWm70DoD.js +1 -0
- package/dist/cleanup-utils-D-RhEX6F.js +1 -0
- package/dist/cli-BcnoCo4z.js +1 -0
- package/dist/cli-D8T2tphD.js +1 -0
- package/dist/cli-utils-BY7dLMFy.js +1 -0
- package/dist/cli-utils-BleB1eys.js +1 -0
- package/dist/clipboard-Bk8cviBt.js +1 -0
- package/dist/clipboard-CKT_VIkG.js +1 -0
- package/dist/cmd-argv-BBT5l8AV.js +1 -0
- package/dist/cmd-argv-Bh-KpaZ0.js +1 -0
- package/dist/command-format-BbDT1tlm.js +1 -0
- package/dist/command-format-CLxIPuLR.js +1 -0
- package/dist/command-options-BpOUDl2S.js +1 -0
- package/dist/command-options-Bq5nQxz6.js +1 -0
- package/dist/command-poll-backoff-BZLHYB2k.js +1 -0
- package/dist/command-poll-backoff-Cww_r-24.js +1 -0
- package/dist/command-poll-backoff-Df6cOQrX.js +1 -0
- package/dist/command-poll-backoff-endAPdwn.js +1 -0
- package/dist/command-registry-CfuXCRwV.js +1 -0
- package/dist/command-secret-targets-BVN3kiT9.js +1 -0
- package/dist/command-secret-targets-BlN-J_fA.js +1 -0
- package/dist/commands-CGpM84iR.js +1 -0
- package/dist/commands-Dy7duWlt.js +1 -0
- package/dist/commands-registry-B1x54ukc.js +1 -0
- package/dist/commands-registry-Cpl4QnG4.js +1 -0
- package/dist/commands-registry-D40KqYOm.js +1 -0
- package/dist/commands-registry-SeddSmFK.js +1 -0
- package/dist/compact-Dg66DXx_.js +1 -0
- package/dist/completion-cli-BZi4nuQb.js +1 -0
- package/dist/completion-cli-C40TWdsv.js +1 -0
- package/dist/config-BqW5S1xL.js +1 -0
- package/dist/config-D12ZLKqh.js +1 -0
- package/dist/config-cli-1ojSLwAj.js +1 -0
- package/dist/config-cli-CBte2b1h.js +1 -0
- package/dist/config-guard-BTNXbWoO.js +1 -0
- package/dist/config-guard-sYYx9zEF.js +1 -0
- package/dist/config-validation-C1La_IZU.js +1 -0
- package/dist/config-validation-DviYxW8Y.js +1 -0
- package/dist/configure-DJrNDEpR.js +1 -0
- package/dist/configure-kod4tmZa.js +1 -0
- package/dist/connection-auth-B_Uk6Vk8.js +1 -0
- package/dist/connection-auth-C8iru0UB.js +1 -0
- package/dist/context-window-guard-7crlatf9.js +1 -0
- package/dist/context-window-guard-CPChk363.js +1 -0
- package/dist/control-ui-assets-BIa0GGDg.js +1 -0
- package/dist/control-ui-assets-CTHGGgaX.js +1 -0
- package/dist/cron-cli-Dha16Lo-.js +1 -0
- package/dist/cron-cli-QHS2pKZ_.js +1 -0
- package/dist/daemon-cli-BuXTzSnU.js +1 -0
- package/dist/daemon-cli-DOTKuS7d.js +1 -0
- package/dist/daemon-cli.js +1 -0
- package/dist/daemon-install-C30rBssi.js +1 -0
- package/dist/daemon-install-HrqlOCrc.js +1 -0
- package/dist/daemon-install-plan.shared-CfA37Ut_.js +1 -0
- package/dist/daemon-install-plan.shared-Dx3DBXCG.js +1 -0
- package/dist/daemon-runtime-DHiDbRuC.js +1 -0
- package/dist/daemon-runtime-VcpeBRJV.js +1 -0
- package/dist/dangerous-name-matching-BOmvAibz.js +1 -0
- package/dist/dangerous-name-matching-DtllRqBD.js +1 -0
- package/dist/dangerous-tools-CFRYQJ6V.js +1 -0
- package/dist/dangerous-tools-oYCu5wfC.js +1 -0
- package/dist/deliver-56mQkDw3.js +1 -0
- package/dist/deliver-BFQ4Zx9z.js +1 -0
- package/dist/deliver-BHuhHfkH.js +1 -0
- package/dist/deliver-ClBkV2eD.js +1 -0
- package/dist/delivery-queue-CKbauSFq.js +1 -0
- package/dist/delivery-queue-nkPJu0fY.js +1 -0
- package/dist/device-pairing-CTFpaTrD.js +1 -0
- package/dist/device-pairing-QTK0dod3.js +1 -0
- package/dist/devices-cli-Ckxd0k0I.js +1 -0
- package/dist/devices-cli-Db36mBHq.js +1 -0
- package/dist/diagnostic-BrE4lMIf.js +1 -0
- package/dist/diagnostic-CDxNevIQ.js +1 -0
- package/dist/diagnostic-DOzHPnht.js +1 -0
- package/dist/diagnostic-DQq4Bwrs.js +1 -0
- package/dist/diagnostics-BgbeL9KE.js +1 -0
- package/dist/diagnostics-Cdctg9K_.js +1 -0
- package/dist/directory-cli-DDTaUkjW.js +1 -0
- package/dist/directory-cli-_gTFSHMW.js +1 -0
- package/dist/dns-cli--4PwtR2Y.js +1 -0
- package/dist/dns-cli-C4DwKquN.js +1 -0
- package/dist/docs-cli-Cdw9Iz9a.js +1 -0
- package/dist/docs-cli-ClD2UyX1.js +1 -0
- package/dist/doctor-completion-BJ6steqx.js +1 -0
- package/dist/doctor-completion-DMJhfrtC.js +1 -0
- package/dist/doctor-config-flow-D4F3mz4h.js +1 -0
- package/dist/doctor-config-flow-DnOyVZhQ.js +1 -0
- package/dist/enable-BhD84GhD.js +1 -0
- package/dist/enable-Ccf9wSM8.js +1 -0
- package/dist/entry-status-CCwwKO43.js +1 -0
- package/dist/entry-status-CoXkbJcX.js +1 -0
- package/dist/entry.js +1 -0
- package/dist/env-D7wNuBx1.js +1 -0
- package/dist/env-overrides-DHtB4kK3.js +1 -0
- package/dist/env-overrides-DXJbFrwI.js +1 -0
- package/dist/errors-6SQWM9dj.js +1 -0
- package/dist/errors-Bunti32V.js +1 -0
- package/dist/exec-B3eleY5O.js +1 -0
- package/dist/exec-DHqLtFYt.js +1 -0
- package/dist/exec-approvals-BXO9Cezj.js +1 -0
- package/dist/exec-approvals-BpBNEy6i.js +1 -0
- package/dist/exec-approvals-allowlist-CE3nYh0K.js +1 -0
- package/dist/exec-approvals-allowlist-D8mN7nxV.js +1 -0
- package/dist/exec-approvals-cli-CUcuN63y.js +1 -0
- package/dist/exec-approvals-cli-CxUGD08t.js +1 -0
- package/dist/exec-safe-bin-runtime-policy-Dt0GchLp.js +1 -0
- package/dist/exec-safe-bin-runtime-policy-dcCS_Adf.js +1 -0
- package/dist/fetch-B9tORjG8.js +1 -0
- package/dist/fetch-BJT3BrkJ.js +1 -0
- package/dist/fetch-B_wRifvZ.js +1 -0
- package/dist/fetch-Bn0mWg6a.js +1 -0
- package/dist/fetch-CQaNr5J1.js +1 -0
- package/dist/fetch-Ce-scEU-.js +1 -0
- package/dist/fetch-D0rZDHKO.js +1 -0
- package/dist/fetch-DHo17YmK.js +1 -0
- package/dist/fetch-Dh-apy46.js +1 -0
- package/dist/fetch-Dikjvc5M.js +1 -0
- package/dist/fetch-DsjPfQlp.js +1 -0
- package/dist/fetch-_g8lZ8K8.js +1 -0
- package/dist/fetch-guard-BrTtJw7h.js +1 -0
- package/dist/fetch-guard-D10s0raB.js +1 -0
- package/dist/fetch-guard-DPdY0NXR.js +1 -0
- package/dist/fetch-guard-cu7DGSRF.js +1 -0
- package/dist/fetch-hy0JKSsm.js +1 -0
- package/dist/fetch-timeout-CdYxWG9w.js +1 -0
- package/dist/fetch-timeout-Cj8_oAls.js +1 -0
- package/dist/fetch-timeout-DoOI_izT.js +1 -0
- package/dist/fetch-timeout-u8g99Ax0.js +1 -0
- package/dist/format-Bn1bwJKX.js +1 -0
- package/dist/format-Ce7I7s-k.js +1 -0
- package/dist/format-duration-C8AzNqKh.js +1 -0
- package/dist/format-duration-D5AMtmHa.js +1 -0
- package/dist/format-relative-B9pSIdGe.js +1 -0
- package/dist/format-relative-DkMjYy7z.js +1 -0
- package/dist/frontmatter-BkZkwkVO.js +1 -0
- package/dist/frontmatter-C7mzDNxd.js +1 -0
- package/dist/frontmatter-CzpfPBFl.js +1 -0
- package/dist/gateway-cli-CKu0FA7D.js +1 -0
- package/dist/gateway-cli-C_s9eMlC.js +1 -0
- package/dist/gateway-install-token-BCnuZeh1.js +1 -0
- package/dist/gateway-install-token-DiDvDPJQ.js +1 -0
- package/dist/gateway-rpc-iFvDyHYd.js +1 -0
- package/dist/gateway-rpc-tEEvY0kH.js +1 -0
- package/dist/github-copilot-token-C79yeDKS.js +1 -0
- package/dist/github-copilot-token-DGYAlOmV.js +1 -0
- package/dist/github-copilot-token-DePP-lIf.js +1 -0
- package/dist/github-copilot-token-wm6mbypz.js +1 -0
- package/dist/gmail-setup-utils-CYOH3zzx.js +1 -0
- package/dist/gmail-setup-utils-S-MyEGuj.js +1 -0
- package/dist/group-access-BHKVOhrj.js +1 -0
- package/dist/group-access-D2DOYMfr.js +1 -0
- package/dist/health-BgOggK9k.js +1 -0
- package/dist/health-PaRHFItm.js +1 -0
- package/dist/health-format-B1nj3Wfn.js +1 -0
- package/dist/health-format-VBr6LEpt.js +1 -0
- package/dist/heartbeat-visibility-BQ_esv2m.js +1 -0
- package/dist/heartbeat-visibility-q74UdY8O.js +1 -0
- package/dist/help-format-B4aEI7V9.js +1 -0
- package/dist/help-format-BRbF_INg.js +1 -0
- package/dist/helpers-COz1ghcB.js +1 -0
- package/dist/helpers-Cp8gcO6u.js +1 -0
- package/dist/hooks-cli-BzyzTNBx.js +1 -0
- package/dist/hooks-cli-CsBrScq0.js +1 -0
- package/dist/hooks-status-BHt-Xvh4.js +1 -0
- package/dist/hooks-status-CRJ4J0ZW.js +1 -0
- package/dist/image-BkWwI54C.js +1 -0
- package/dist/image-CcVQg-YN.js +1 -0
- package/dist/image-Cm1RUBqD.js +1 -0
- package/dist/image-DsoO5VP5.js +1 -0
- package/dist/index.js +1 -0
- package/dist/inspect-BKV-I1UE.js +1 -0
- package/dist/inspect-z59cgmYc.js +1 -0
- package/dist/install-safe-path-C6kc_8NW.js +1 -0
- package/dist/install-safe-path-iesxijn2.js +1 -0
- package/dist/installs-BNeI_oML.js +1 -0
- package/dist/installs-C1xQLuby.js +1 -0
- package/dist/ipv4-BOuNtoGn.js +1 -0
- package/dist/ipv4-CWdaEiVH.js +1 -0
- package/dist/ir-BF0M2kGp.js +1 -0
- package/dist/ir-D8Hh84ab.js +1 -0
- package/dist/ir-DBWscfBd.js +1 -0
- package/dist/ir-Dk7OQ4bA.js +1 -0
- package/dist/is-main-DG5ueqhF.js +1 -0
- package/dist/issue-format-BT7cQEt3.js +1 -0
- package/dist/issue-format-C_lNzrKa.js +1 -0
- package/dist/kill-tree-B3g7HrAO.js +1 -0
- package/dist/lifecycle-core-D9KNCvxY.js +1 -0
- package/dist/lifecycle-core-LM5UUUB1.js +1 -0
- package/dist/line/accounts.js +1 -0
- package/dist/line/send.js +1 -0
- package/dist/line/template-messages.js +1 -0
- package/dist/links-CBnmRP9D.js +1 -0
- package/dist/links-CySwdMcF.js +1 -0
- package/dist/llm-slug-generator.js +1 -0
- package/dist/load-options-BsOW74dp.js +1 -0
- package/dist/load-options-C7dLuybp.js +1 -0
- package/dist/load-options-DV4j6Aqb.js +1 -0
- package/dist/load-options-Dwt0CeEg.js +1 -0
- package/dist/local-roots-6waH0SZ0.js +1 -0
- package/dist/logger-5W0OocJW.js +1 -0
- package/dist/logger-Bl8URnrW.js +1 -0
- package/dist/logger-DwWqfo66.js +1 -0
- package/dist/logger-kQAOe3qp.js +1 -0
- package/dist/logging-Dqe9dxSX.js +1 -0
- package/dist/logging-tYw1NbJd.js +1 -0
- package/dist/login-BOlqRyr0.js +1 -0
- package/dist/login-CkWesqf_.js +1 -0
- package/dist/login-Do_NA1Je.js +1 -0
- package/dist/login-op9S8yqv.js +1 -0
- package/dist/login-qr-B6rxvoTS.js +1 -0
- package/dist/login-qr-BGH9zmhw.js +1 -0
- package/dist/login-qr-CiENvgog.js +1 -0
- package/dist/login-qr-DsV-lxFd.js +1 -0
- package/dist/login-qr-QcDMg23y.js +1 -0
- package/dist/logs-cli-B4eUg_87.js +1 -0
- package/dist/logs-cli-BA3Aso8a.js +1 -0
- package/dist/manager-4Y9fRgdw.js +1 -0
- package/dist/manager-C2YW7Hkq.js +1 -0
- package/dist/manager-Dtd_loL8.js +1 -0
- package/dist/manager-M1GKhLUC.js +1 -0
- package/dist/memory-cli-XaxtBQm1.js +1 -0
- package/dist/memory-cli-jhzJ3as7.js +1 -0
- package/dist/model-catalog-C1kpjR75.js +1 -0
- package/dist/model-catalog-COVzoZD9.js +1 -0
- package/dist/model-param-b-B0r2cPDw.js +1 -0
- package/dist/model-param-b-BqIr5rY5.js +1 -0
- package/dist/model-picker-D3ZSpr0i.js +1 -0
- package/dist/model-picker-bZNuI66U.js +1 -0
- package/dist/model-selection-B5JsBS9D.js +1 -0
- package/dist/model-selection-BlC_rXAN.js +1 -0
- package/dist/model-selection-vfhBuN9O.js +1 -0
- package/dist/models-C_Vg3Cty.js +1 -0
- package/dist/models-cli-CDZliTXq.js +1 -0
- package/dist/models-cli-bGr8jwAb.js +1 -0
- package/dist/models-config-CdMhNxKV.js +1 -0
- package/dist/models-config-_htt7eY5.js +1 -0
- package/dist/mutable-allowlist-detectors-C4rNVag8.js +1 -0
- package/dist/mutable-allowlist-detectors-CL0qe54J.js +1 -0
- package/dist/node-cli-5lYbDZ70.js +1 -0
- package/dist/node-cli-Br04Qmqo.js +1 -0
- package/dist/node-command-policy-CejeQemH.js +1 -0
- package/dist/node-command-policy-CqXhdnHh.js +1 -0
- package/dist/node-commands-8GBOiktk.js +1 -0
- package/dist/node-commands-DdkziOTx.js +1 -0
- package/dist/node-resolve-B3BJbmQX.js +1 -0
- package/dist/node-resolve-DLZf3-1V.js +1 -0
- package/dist/node-service-BRfrNp8l.js +1 -0
- package/dist/node-service-C0bl7jcZ.js +1 -0
- package/dist/node-shell-DyOfwHrh.js +1 -0
- package/dist/nodes-cli-8By8--bW.js +1 -0
- package/dist/nodes-cli-zq41EwJN.js +1 -0
- package/dist/nodes-screen-DECgxo6A.js +1 -0
- package/dist/note-D4GAwgha.js +1 -0
- package/dist/note-Dp-d_utk.js +1 -0
- package/dist/npm-pack-install-B23L-AtF.js +1 -0
- package/dist/npm-pack-install-C0te3Oap.js +1 -0
- package/dist/npm-resolution-BnJGLwhi.js +1 -0
- package/dist/npm-resolution-DWPloph4.js +1 -0
- package/dist/oauth-env-DAamJ1oz.js +1 -0
- package/dist/oauth-env-DSLBTWb1.js +1 -0
- package/dist/oauth-tls-preflight-BSBRDIfC.js +1 -0
- package/dist/oauth-tls-preflight-ByNjbUR5.js +1 -0
- package/dist/ollama-setup-BMEKWyIE.js +1 -0
- package/dist/ollama-setup-DlwS6Gl-.js +1 -0
- package/dist/onboard-B0BNCQaO.js +1 -0
- package/dist/onboard-CjVhdaiR.js +1 -0
- package/dist/onboard-channels-BMIOddLN.js +1 -0
- package/dist/onboard-channels-CZK_7xMR.js +1 -0
- package/dist/onboard-config-B7U20YRw.js +1 -0
- package/dist/onboard-config-DS9dUv8M.js +1 -0
- package/dist/onboard-custom-B03SlEHB.js +1 -0
- package/dist/onboard-custom-Bl0y8c-g.js +1 -0
- package/dist/onboard-helpers-PGl5bVPE.js +1 -0
- package/dist/onboard-helpers-zwybUJWu.js +1 -0
- package/dist/onboard-hooks-CERzXObm.js +1 -0
- package/dist/onboard-hooks-gQ3sxBNi.js +1 -0
- package/dist/onboard-provider-auth-flags-CqbipO7D.js +1 -0
- package/dist/onboard-provider-auth-flags-Dvwzdz37.js +1 -0
- package/dist/onboard-remote-BOpIRdDu.js +1 -0
- package/dist/onboard-remote-DPU-H_2O.js +1 -0
- package/dist/onboard-search-f2tJD4hg.js +1 -0
- package/dist/onboard-search-fslKKhyg.js +1 -0
- package/dist/onboard-skills-BMAJs6ly.js +1 -0
- package/dist/onboard-skills-CMSQc2Mm.js +1 -0
- package/dist/onboarding-B6ixWwgp.js +1 -0
- package/dist/onboarding-ouEqUuUr.js +1 -0
- package/dist/onboarding.finalize-Bgat5Npc.js +1 -0
- package/dist/onboarding.finalize-DsMVlTcH.js +1 -0
- package/dist/onboarding.gateway-config-BtLDJWJ2.js +1 -0
- package/dist/onboarding.gateway-config-y3pqsL9i.js +1 -0
- package/dist/onboarding.secret-input-BsBgh8Tc.js +1 -0
- package/dist/onboarding.secret-input-kO5OzYC7.js +1 -0
- package/dist/openai-codex-model-default-DuE2_wN7.js +1 -0
- package/dist/openai-codex-model-default-yVfRw-Mm.js +1 -0
- package/dist/openai-model-default-Bl8MHPb6.js +1 -0
- package/dist/openai-model-default-DJObMvLJ.js +1 -0
- package/dist/openclaw-exec-env-BWbOu_YC.js +1 -0
- package/dist/openclaw-root-CnsBf6ZU.js +1 -0
- package/dist/openclaw-root-D_0Q6--h.js +1 -0
- package/dist/outbound-BOSIEiEY.js +1 -0
- package/dist/outbound-BtUeDLjU.js +1 -0
- package/dist/outbound-Bx2Z2aYK.js +1 -0
- package/dist/outbound-Bz8bbrMI.js +1 -0
- package/dist/outbound-attachment-B7wMxwj6.js +1 -0
- package/dist/outbound-attachment-BgAe99RM.js +1 -0
- package/dist/outbound-attachment-Dds8xirj.js +1 -0
- package/dist/outbound-attachment-DqEKghQp.js +1 -0
- package/dist/pairing-cli-Bya9M-I_.js +1 -0
- package/dist/pairing-cli-D2JEhufv.js +1 -0
- package/dist/pairing-labels-BUU_-70B.js +1 -0
- package/dist/pairing-labels-D-kzQEL2.js +1 -0
- package/dist/pairing-store-BH-FTYkn.js +1 -0
- package/dist/pairing-store-Cg2UxreQ.js +1 -0
- package/dist/pairing-token-BjYBuREl.js +1 -0
- package/dist/pairing-token-DAR7V7FJ.js +1 -0
- package/dist/parse-duration-XTjMKl8s.js +1 -0
- package/dist/parse-finite-number-DqzUM-_s.js +1 -0
- package/dist/parse-finite-number-dBmDLLKL.js +1 -0
- package/dist/parse-log-line-CsYLg7Qu.js +1 -0
- package/dist/parse-log-line-NV-cipB_.js +1 -0
- package/dist/parse-port-Bv1Y9Wk5.js +1 -0
- package/dist/parse-port-JVwkxcZ8.js +1 -0
- package/dist/parse-timeout-DWSGfCkQ.js +1 -0
- package/dist/parse-timeout-Dx4QnVzo.js +1 -0
- package/dist/path-alias-guards-kY_ZbWs-.js +1 -0
- package/dist/path-alias-guards-mvyLCPlN.js +1 -0
- package/dist/path-env-BPd1Yd-i.js +1 -0
- package/dist/path-env-emdAQejM.js +1 -0
- package/dist/path-safety-BukYK8Kd.js +1 -0
- package/dist/path-safety-DaaMJFdt.js +1 -0
- package/dist/paths-B4IRk3wi.js +1 -0
- package/dist/paths-BfjJY2VL.js +1 -0
- package/dist/paths-BjD3T_xq.js +1 -0
- package/dist/paths-BpQOWYiT.js +1 -0
- package/dist/paths-CChBdtE8.js +1 -0
- package/dist/paths-CrCoPIVK.js +1 -0
- package/dist/paths-piJASC5k.js +1 -0
- package/dist/paths-yLEk_25I.js +1 -0
- package/dist/pi-embedded-BZSn84Bh.js +1 -0
- package/dist/pi-embedded-Dsz7p3MF.js +1 -0
- package/dist/pi-model-discovery-BbD1YJNx.js +1 -0
- package/dist/pi-model-discovery-CpjYoBQf.js +1 -0
- package/dist/pi-model-discovery-DeQdHV8O.js +1 -0
- package/dist/pi-model-discovery-Dps1PPWz.js +1 -0
- package/dist/pi-tools.before-tool-call.runtime-DseAq0gm.js +1 -0
- package/dist/pi-tools.before-tool-call.runtime-KKGILAuK.js +1 -0
- package/dist/pi-tools.before-tool-call.runtime-Pck2WdIO.js +1 -0
- package/dist/pi-tools.before-tool-call.runtime-ZzMJQ1BP.js +1 -0
- package/dist/pi-tools.policy-D40r0HmD.js +1 -0
- package/dist/plugin-auto-enable-DpVL6-ES.js +1 -0
- package/dist/plugin-auto-enable-NzmNh4oU.js +1 -0
- package/dist/plugin-install-plan-BobX0y9S.js +1 -0
- package/dist/plugin-install-plan-NvDGp0d8.js +1 -0
- package/dist/plugin-registry-C6dY-Et7.js +1 -0
- package/dist/plugin-registry-CIBiHZH1.js +1 -0
- package/dist/plugin-sdk/account-id.cjs +1 -0
- package/dist/plugin-sdk/account-id.js +1 -0
- package/dist/plugin-sdk/acpx.cjs +1 -0
- package/dist/plugin-sdk/acpx.js +1 -0
- package/dist/plugin-sdk/active-listener-BApFQlQn.js +1 -0
- package/dist/plugin-sdk/active-listener-BETopzG5.cjs +1 -0
- package/dist/plugin-sdk/active-listener-BEcmvyxh.cjs +1 -0
- package/dist/plugin-sdk/active-listener-BZPPbsNy.cjs +1 -0
- package/dist/plugin-sdk/active-listener-B_Mxemq7.cjs +1 -0
- package/dist/plugin-sdk/active-listener-BgW_qfd3.js +1 -0
- package/dist/plugin-sdk/active-listener-Coet66pF.cjs +1 -0
- package/dist/plugin-sdk/active-listener-CvML9qVF.js +1 -0
- package/dist/plugin-sdk/active-listener-DuO6KMXJ.js +1 -0
- package/dist/plugin-sdk/active-listener-DymzfmOG.cjs +1 -0
- package/dist/plugin-sdk/active-listener-ILBdBHMv.js +1 -0
- package/dist/plugin-sdk/active-listener-gRRIfN1q.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-Bj1A9Slo.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-CFPNzksf.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-CXY0AyM1.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-ClIwV8yq.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-D5Nr1xl3.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-DDCwA0KM.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-DHMvXm70.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-DaFFZfk5.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-DcREl_0x.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-X-5Fb7av.cjs +1 -0
- package/dist/plugin-sdk/api-key-rotation-_VfXYfHS.js +1 -0
- package/dist/plugin-sdk/api-key-rotation-wFUVOOfM.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-B1MP5_bc.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BETx142T.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BGRLhCLc.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BNICfOY5.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BV3Cav8M.js +1 -0
- package/dist/plugin-sdk/audio-preflight-BmO72Cqr.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-BpE8wFQc.js +1 -0
- package/dist/plugin-sdk/audio-preflight-CTAafaiH.js +1 -0
- package/dist/plugin-sdk/audio-preflight-D82aewIt.js +1 -0
- package/dist/plugin-sdk/audio-preflight-DmzxEaq3.cjs +1 -0
- package/dist/plugin-sdk/audio-preflight-DrSIYRnD.js +1 -0
- package/dist/plugin-sdk/audio-preflight-SZZoA2Ff.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-B54MyF1_.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-BIqM5H5q.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-BLAxZL-U.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-BVmaaA2k.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-BdY-TMcc.js +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-By3lSLub.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-CH5CoZrF.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-CMsp7bhn.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-ClGibmMi.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-QfEC19vE.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-g7L0m-Z5.cjs +1 -0
- package/dist/plugin-sdk/audio-transcription-runner-pVTD93vq.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-7LqcvqFo.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-BQFUzFc0.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-BYtdDX9G.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-BzEtBUX6.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-CBUmGrl4.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-ChlVgt2y.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-DLRX7LR0.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-DbJW5X3L.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-Du9LAxDa.cjs +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-DylNnj1m.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-voi5sPwF.js +1 -0
- package/dist/plugin-sdk/audit-membership-runtime-yWYvSpgZ.cjs +1 -0
- package/dist/plugin-sdk/bluebubbles.cjs +1 -0
- package/dist/plugin-sdk/bluebubbles.js +1 -0
- package/dist/plugin-sdk/channel-activity-BGK-Bj2_.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-BRHvpV0C.js +1 -0
- package/dist/plugin-sdk/channel-activity-CKfWFchu.js +1 -0
- package/dist/plugin-sdk/channel-activity-CLUi31fX.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-CVOp-PL4.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-CgXnZ0GC.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-CmYpOPAn.js +1 -0
- package/dist/plugin-sdk/channel-activity-CwaMf9qT.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-D5D5tBWf.cjs +1 -0
- package/dist/plugin-sdk/channel-activity-D7tpmatp.js +1 -0
- package/dist/plugin-sdk/channel-activity-DpxSOlXF.js +1 -0
- package/dist/plugin-sdk/channel-activity-spvDzlTl.js +1 -0
- package/dist/plugin-sdk/channel-web-4ZQVqsrt.js +1 -0
- package/dist/plugin-sdk/channel-web-9zn1Itpg.cjs +1 -0
- package/dist/plugin-sdk/channel-web-BrB00HKH.js +1 -0
- package/dist/plugin-sdk/channel-web-DN5La-Ol.cjs +1 -0
- package/dist/plugin-sdk/command-poll-backoff-4910Mpwp.js +1 -0
- package/dist/plugin-sdk/command-poll-backoff-BLJZzV5W.cjs +1 -0
- package/dist/plugin-sdk/command-poll-backoff-CUNcN0dv.cjs +1 -0
- package/dist/plugin-sdk/command-poll-backoff-Cww_r-24.js +1 -0
- package/dist/plugin-sdk/command-poll-backoff-D0lJhquZ.js +1 -0
- package/dist/plugin-sdk/command-poll-backoff-Glwt3wHa.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-5lStNoKW.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-C8wnXqNa.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-Cnr6PvIw.js +1 -0
- package/dist/plugin-sdk/commands-registry-CtYCWfuM.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-D2gv242l.js +1 -0
- package/dist/plugin-sdk/commands-registry-DI2vPscP.js +1 -0
- package/dist/plugin-sdk/commands-registry-DcBvmwSU.js +1 -0
- package/dist/plugin-sdk/commands-registry-DkUhCIDk.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-DsMbmie-.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-MCsWR5Vf.js +1 -0
- package/dist/plugin-sdk/commands-registry-SHZVq_qf.cjs +1 -0
- package/dist/plugin-sdk/commands-registry-kRjFifgj.js +1 -0
- package/dist/plugin-sdk/common-B4iFXuoZ.cjs +1 -0
- package/dist/plugin-sdk/common-B6fDMl_i.js +1 -0
- package/dist/plugin-sdk/compat.cjs +1 -0
- package/dist/plugin-sdk/compat.js +1 -0
- package/dist/plugin-sdk/config-ByA2hluR.js +1 -0
- package/dist/plugin-sdk/config-rBz8C_Hi.cjs +1 -0
- package/dist/plugin-sdk/copilot-proxy.cjs +1 -0
- package/dist/plugin-sdk/copilot-proxy.js +1 -0
- package/dist/plugin-sdk/core.cjs +1 -0
- package/dist/plugin-sdk/core.js +1 -0
- package/dist/plugin-sdk/deliver-B0fB4hAV.js +1 -0
- package/dist/plugin-sdk/deliver-BOLmjIJ3.js +1 -0
- package/dist/plugin-sdk/deliver-BrfVwkYz.cjs +1 -0
- package/dist/plugin-sdk/deliver-C-tChWTI.cjs +1 -0
- package/dist/plugin-sdk/deliver-CjQPkWS-.cjs +1 -0
- package/dist/plugin-sdk/deliver-D1P0FNTu.js +1 -0
- package/dist/plugin-sdk/deliver-DCrO9mvv.cjs +1 -0
- package/dist/plugin-sdk/deliver-DQLekoj2.cjs +1 -0
- package/dist/plugin-sdk/deliver-DkfCVM78.js +1 -0
- package/dist/plugin-sdk/deliver-Dkh3lqXR.js +1 -0
- package/dist/plugin-sdk/deliver-DsFtXFyr.cjs +1 -0
- package/dist/plugin-sdk/deliver-vYe_sYOL.js +1 -0
- package/dist/plugin-sdk/device-pair.cjs +1 -0
- package/dist/plugin-sdk/device-pair.js +1 -0
- package/dist/plugin-sdk/diagnostic-8iX73nz_.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-CLUtpxAp.js +1 -0
- package/dist/plugin-sdk/diagnostic-CVS4k9hh.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-CkePwN5F.js +1 -0
- package/dist/plugin-sdk/diagnostic-Cu1PGj0E.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-D0oCfBju.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-D7A9cQYf.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-DGLX0zXU.js +1 -0
- package/dist/plugin-sdk/diagnostic-DXscFT8t.cjs +1 -0
- package/dist/plugin-sdk/diagnostic-Efe4b81B.js +1 -0
- package/dist/plugin-sdk/diagnostic-EqHqw9xo.js +1 -0
- package/dist/plugin-sdk/diagnostic-vsjHZ_fY.js +1 -0
- package/dist/plugin-sdk/diagnostics-otel.cjs +1 -0
- package/dist/plugin-sdk/diagnostics-otel.js +1 -0
- package/dist/plugin-sdk/diffs.cjs +1 -0
- package/dist/plugin-sdk/diffs.js +1 -0
- package/dist/plugin-sdk/discord.cjs +1 -0
- package/dist/plugin-sdk/discord.js +1 -0
- package/dist/plugin-sdk/dispatch-5v3v8zzA.js +1 -0
- package/dist/plugin-sdk/dispatch-B6UbZCpL.cjs +1 -0
- package/dist/plugin-sdk/dispatch-BYlcmJ9u.js +1 -0
- package/dist/plugin-sdk/dispatch-C2YTqGlf.js +1 -0
- package/dist/plugin-sdk/dispatch-CNy3g9ma.cjs +1 -0
- package/dist/plugin-sdk/dispatch-DCSwqteL.js +1 -0
- package/dist/plugin-sdk/dispatch-DHbSBeFJ.js +1 -0
- package/dist/plugin-sdk/dispatch-DK5ub8qa.cjs +1 -0
- package/dist/plugin-sdk/dispatch-SWyfAZT0.cjs +1 -0
- package/dist/plugin-sdk/dispatch-mR2vLkGa.cjs +1 -0
- package/dist/plugin-sdk/feishu.cjs +1 -0
- package/dist/plugin-sdk/feishu.js +1 -0
- package/dist/plugin-sdk/fetch-7Iq9POda.js +1 -0
- package/dist/plugin-sdk/fetch-B1GR6-u4.js +1 -0
- package/dist/plugin-sdk/fetch-B27H-XCf.js +1 -0
- package/dist/plugin-sdk/fetch-BMYDLRWo.js +1 -0
- package/dist/plugin-sdk/fetch-BN9y3kTg.cjs +1 -0
- package/dist/plugin-sdk/fetch-BVEVk5YF.js +1 -0
- package/dist/plugin-sdk/fetch-BY6lVRlY.cjs +1 -0
- package/dist/plugin-sdk/fetch-Bi8krAaT.cjs +1 -0
- package/dist/plugin-sdk/fetch-BjXhwqrE.cjs +1 -0
- package/dist/plugin-sdk/fetch-BtZY623f.js +1 -0
- package/dist/plugin-sdk/fetch-C-HRWp5R.js +1 -0
- package/dist/plugin-sdk/fetch-C3LEMysf.js +1 -0
- package/dist/plugin-sdk/fetch-CCLWsYaQ.js +1 -0
- package/dist/plugin-sdk/fetch-CZewCAvu.cjs +1 -0
- package/dist/plugin-sdk/fetch-ClKErpni.cjs +1 -0
- package/dist/plugin-sdk/fetch-DBRI0sKI.js +1 -0
- package/dist/plugin-sdk/fetch-DQxuOB8o.cjs +1 -0
- package/dist/plugin-sdk/fetch-DUMEaqum.cjs +1 -0
- package/dist/plugin-sdk/fetch-DpwR_cJU.cjs +1 -0
- package/dist/plugin-sdk/fetch-J0IzopiJ.js +1 -0
- package/dist/plugin-sdk/fetch-guard-8I7EHbDM.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-CIJUkBIL.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-CY03i4gu.js +1 -0
- package/dist/plugin-sdk/fetch-guard-Cz-cgYmR.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-DB85MORy.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-DE9BslxX.js +1 -0
- package/dist/plugin-sdk/fetch-guard-DLNzldn9.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-DSvAbvSx.js +1 -0
- package/dist/plugin-sdk/fetch-guard-DXe8oqEE.js +1 -0
- package/dist/plugin-sdk/fetch-guard-DY9jpsXo.cjs +1 -0
- package/dist/plugin-sdk/fetch-guard-DbOZYxyN.js +1 -0
- package/dist/plugin-sdk/fetch-guard-_fifU0fX.js +1 -0
- package/dist/plugin-sdk/fetch-lw-aF17e.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-6oZsqWxA.js +1 -0
- package/dist/plugin-sdk/fetch-timeout-BygUD0rd.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-CLw1U7VS.js +1 -0
- package/dist/plugin-sdk/fetch-timeout-CX1w-9p4.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-Coc9xyC3.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-Cz6GuU_c.js +1 -0
- package/dist/plugin-sdk/fetch-timeout-DC8T2JCr.js +1 -0
- package/dist/plugin-sdk/fetch-timeout-DFDmks9T.cjs +1 -0
- package/dist/plugin-sdk/fetch-timeout-DkYpp08Q.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-BHdMLLqf.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-Bt4PduRB.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-C1O2cBqk.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-C1hiDugd.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-C8j8_NjX.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-CCrgp2py.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-DoHgkI2r.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-N8vnLZPw.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-TMkfxxD2.cjs +1 -0
- package/dist/plugin-sdk/github-copilot-token-vKAKX6iE.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-ylX_gawo.js +1 -0
- package/dist/plugin-sdk/github-copilot-token-zskwAEpd.cjs +1 -0
- package/dist/plugin-sdk/google-gemini-cli-auth.cjs +1 -0
- package/dist/plugin-sdk/google-gemini-cli-auth.js +1 -0
- package/dist/plugin-sdk/googlechat.cjs +1 -0
- package/dist/plugin-sdk/googlechat.js +1 -0
- package/dist/plugin-sdk/image-B6HEHWlJ.js +1 -0
- package/dist/plugin-sdk/image-Bte8cr4F.js +1 -0
- package/dist/plugin-sdk/image-BxafJgQ6.cjs +1 -0
- package/dist/plugin-sdk/image-CDI5SqeR.js +1 -0
- package/dist/plugin-sdk/image-CTgwucug.cjs +1 -0
- package/dist/plugin-sdk/image-CWnsS03L.js +1 -0
- package/dist/plugin-sdk/image-CoksjGBL.cjs +1 -0
- package/dist/plugin-sdk/image-CuOIoxl2.cjs +1 -0
- package/dist/plugin-sdk/image-DJyEMzkq.cjs +1 -0
- package/dist/plugin-sdk/image-DegWnAZU.cjs +1 -0
- package/dist/plugin-sdk/image-TCSQZpr6.js +1 -0
- package/dist/plugin-sdk/image-aG-5S1vd.js +1 -0
- package/dist/plugin-sdk/imessage.cjs +1 -0
- package/dist/plugin-sdk/imessage.js +1 -0
- package/dist/plugin-sdk/index.cjs +1 -0
- package/dist/plugin-sdk/index.js +1 -0
- package/dist/plugin-sdk/ir-8rDh7div.js +1 -0
- package/dist/plugin-sdk/ir-Bh6lKGdS.js +1 -0
- package/dist/plugin-sdk/ir-C3VNqnc2.cjs +1 -0
- package/dist/plugin-sdk/ir-CZOtKajq.cjs +1 -0
- package/dist/plugin-sdk/ir-CveCWs8q.cjs +1 -0
- package/dist/plugin-sdk/ir-DAxY-7c1.cjs +1 -0
- package/dist/plugin-sdk/ir-DSuLr2UE.cjs +1 -0
- package/dist/plugin-sdk/ir-DanxCjD-.cjs +1 -0
- package/dist/plugin-sdk/ir-Dgc6qZMX.js +1 -0
- package/dist/plugin-sdk/ir-OBi5zaEW.js +1 -0
- package/dist/plugin-sdk/ir-hQ6EW92h.js +1 -0
- package/dist/plugin-sdk/ir-ynWQeZD9.js +1 -0
- package/dist/plugin-sdk/irc.cjs +1 -0
- package/dist/plugin-sdk/irc.js +1 -0
- package/dist/plugin-sdk/keyed-async-queue.cjs +1 -0
- package/dist/plugin-sdk/keyed-async-queue.js +1 -0
- package/dist/plugin-sdk/line.cjs +1 -0
- package/dist/plugin-sdk/line.js +1 -0
- package/dist/plugin-sdk/llm-task.cjs +1 -0
- package/dist/plugin-sdk/llm-task.js +1 -0
- package/dist/plugin-sdk/load-options-B9Ss5YOO.js +1 -0
- package/dist/plugin-sdk/load-options-BOfn6Zgo.cjs +1 -0
- package/dist/plugin-sdk/load-options-BXvm8HVv.js +1 -0
- package/dist/plugin-sdk/load-options-Bb7u8yZz.cjs +1 -0
- package/dist/plugin-sdk/load-options-BcSg1ODN.js +1 -0
- package/dist/plugin-sdk/load-options-NqnXJ-Nh.cjs +1 -0
- package/dist/plugin-sdk/lobster.cjs +1 -0
- package/dist/plugin-sdk/lobster.js +1 -0
- package/dist/plugin-sdk/local-roots-5udQUs81.js +1 -0
- package/dist/plugin-sdk/local-roots-BmhNPIJm.cjs +1 -0
- package/dist/plugin-sdk/local-roots-C5UoE741.cjs +1 -0
- package/dist/plugin-sdk/local-roots-Ca8KoAAp.js +1 -0
- package/dist/plugin-sdk/local-roots-CeAYfmPb.cjs +1 -0
- package/dist/plugin-sdk/local-roots-Cu7YCpql.cjs +1 -0
- package/dist/plugin-sdk/local-roots-D0yN794S.js +1 -0
- package/dist/plugin-sdk/local-roots-D4i3H0UG.cjs +1 -0
- package/dist/plugin-sdk/local-roots-DGe-SRNu.js +1 -0
- package/dist/plugin-sdk/local-roots-bWA2msT0.js +1 -0
- package/dist/plugin-sdk/local-roots-tee85Q-1.js +1 -0
- package/dist/plugin-sdk/local-roots-wTkpE7go.cjs +1 -0
- package/dist/plugin-sdk/logger-6O6OsYBL.cjs +1 -0
- package/dist/plugin-sdk/logger-BlddiV_d.cjs +1 -0
- package/dist/plugin-sdk/logger-Bm93ZKOk.cjs +1 -0
- package/dist/plugin-sdk/logger-BtrWb0dj.js +1 -0
- package/dist/plugin-sdk/logger-C210xuWx.js +1 -0
- package/dist/plugin-sdk/logger-DJGHvDbX.js +1 -0
- package/dist/plugin-sdk/logger-DPlqYkRm.cjs +1 -0
- package/dist/plugin-sdk/logger-DUYnS-W3.cjs +1 -0
- package/dist/plugin-sdk/logger-DwWqfo66.js +1 -0
- package/dist/plugin-sdk/logger-vBDTZWl3.js +1 -0
- package/dist/plugin-sdk/login-B5IwNcl4.cjs +1 -0
- package/dist/plugin-sdk/login-BIbt7ZL_.js +1 -0
- package/dist/plugin-sdk/login-CxnDKwXC.js +1 -0
- package/dist/plugin-sdk/login-D5iTWowo.cjs +1 -0
- package/dist/plugin-sdk/login-DHE1rzB1.js +1 -0
- package/dist/plugin-sdk/login-DIPBcPQc.cjs +1 -0
- package/dist/plugin-sdk/login-DtDOozuU.js +1 -0
- package/dist/plugin-sdk/login-UrWNtI80.cjs +1 -0
- package/dist/plugin-sdk/login-VviMkBU2.js +1 -0
- package/dist/plugin-sdk/login-jQwwt6C-.js +1 -0
- package/dist/plugin-sdk/login-mGjCzJzb.cjs +1 -0
- package/dist/plugin-sdk/login-pZnnpj38.cjs +1 -0
- package/dist/plugin-sdk/login-qr-BexuTIDJ.cjs +1 -0
- package/dist/plugin-sdk/login-qr-C366Qlh-.cjs +1 -0
- package/dist/plugin-sdk/login-qr-CQY4ty0o.js +1 -0
- package/dist/plugin-sdk/login-qr-CSabEb-n.cjs +1 -0
- package/dist/plugin-sdk/login-qr-CUgNKijx.js +1 -0
- package/dist/plugin-sdk/login-qr-C_LEw1Bi.js +1 -0
- package/dist/plugin-sdk/login-qr-CcPvldsG.js +1 -0
- package/dist/plugin-sdk/login-qr-CnNGKwDR.cjs +1 -0
- package/dist/plugin-sdk/login-qr-DQm50pXk.js +1 -0
- package/dist/plugin-sdk/login-qr-DayvAWkx.js +1 -0
- package/dist/plugin-sdk/login-qr-eodIsL9V.cjs +1 -0
- package/dist/plugin-sdk/login-qr-yIJE7MmY.cjs +1 -0
- package/dist/plugin-sdk/manager-932XljTT.js +1 -0
- package/dist/plugin-sdk/manager-CGHd5p2T.js +1 -0
- package/dist/plugin-sdk/manager-CbGA_JDa.js +1 -0
- package/dist/plugin-sdk/manager-CdD7HaGW.cjs +1 -0
- package/dist/plugin-sdk/manager-CmAH_a7A.cjs +1 -0
- package/dist/plugin-sdk/manager-DIS4ywpb.cjs +1 -0
- package/dist/plugin-sdk/manager-DQ2C-2IU.cjs +1 -0
- package/dist/plugin-sdk/manager-DdvFnsT7.cjs +1 -0
- package/dist/plugin-sdk/manager-DfdDglld.js +1 -0
- package/dist/plugin-sdk/manager-MR9stU_p.js +1 -0
- package/dist/plugin-sdk/manager-WwW37IUu.js +1 -0
- package/dist/plugin-sdk/manager-gE9187gu.cjs +1 -0
- package/dist/plugin-sdk/matrix.cjs +1 -0
- package/dist/plugin-sdk/matrix.js +1 -0
- package/dist/plugin-sdk/mattermost.cjs +1 -0
- package/dist/plugin-sdk/mattermost.js +1 -0
- package/dist/plugin-sdk/memory-core.cjs +1 -0
- package/dist/plugin-sdk/memory-core.js +1 -0
- package/dist/plugin-sdk/minimax-portal-auth.cjs +1 -0
- package/dist/plugin-sdk/minimax-portal-auth.js +1 -0
- package/dist/plugin-sdk/model-auth-BpS4IWDi.cjs +1 -0
- package/dist/plugin-sdk/model-auth-BwajGuoF.cjs +1 -0
- package/dist/plugin-sdk/model-auth-C1YL9HcW.js +1 -0
- package/dist/plugin-sdk/model-auth-Cc-8H6Cu.js +1 -0
- package/dist/plugin-sdk/model-auth-Cw3fuhm_.js +1 -0
- package/dist/plugin-sdk/model-auth-CycDtQl-.js +1 -0
- package/dist/plugin-sdk/model-auth-D-7xiXhK.cjs +1 -0
- package/dist/plugin-sdk/model-auth-TFUxaK0f.cjs +1 -0
- package/dist/plugin-sdk/model-selection-BADTZM9n.cjs +1 -0
- package/dist/plugin-sdk/model-selection-DUAudCtL.js +1 -0
- package/dist/plugin-sdk/msteams.cjs +1 -0
- package/dist/plugin-sdk/msteams.js +1 -0
- package/dist/plugin-sdk/nextcloud-talk.cjs +1 -0
- package/dist/plugin-sdk/nextcloud-talk.js +1 -0
- package/dist/plugin-sdk/nostr.cjs +1 -0
- package/dist/plugin-sdk/nostr.js +1 -0
- package/dist/plugin-sdk/outbound-2Lo6mZEY.js +1 -0
- package/dist/plugin-sdk/outbound-9XFlZzaF.cjs +1 -0
- package/dist/plugin-sdk/outbound-BlWsUmjQ.js +1 -0
- package/dist/plugin-sdk/outbound-Bs2rUcWZ.cjs +1 -0
- package/dist/plugin-sdk/outbound-C18nEOFP.js +1 -0
- package/dist/plugin-sdk/outbound-CW3o4Eng.cjs +1 -0
- package/dist/plugin-sdk/outbound-CzsdW5sy.js +1 -0
- package/dist/plugin-sdk/outbound-DcP22VOo.cjs +1 -0
- package/dist/plugin-sdk/outbound-QhOJAEO8.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-1pf06Oiu.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-B8-ZVX2i.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-BDwI_tn0.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-BXhbJils.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-Bgf1pCh8.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-COgf85S8.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-CfN9OvMC.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-CftilZWd.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-Cujprd6T.cjs +1 -0
- package/dist/plugin-sdk/outbound-attachment-CvSHb9ci.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-DQYtdTUw.js +1 -0
- package/dist/plugin-sdk/outbound-attachment-FqWC0WJx.cjs +1 -0
- package/dist/plugin-sdk/outbound-dTvIiFIZ.js +1 -0
- package/dist/plugin-sdk/outbound-fZ1WJGfe.cjs +1 -0
- package/dist/plugin-sdk/outbound-oHoWYWxf.js +1 -0
- package/dist/plugin-sdk/paths-BPlgbwrb.cjs +1 -0
- package/dist/plugin-sdk/paths-Bcdg3ma0.cjs +1 -0
- package/dist/plugin-sdk/paths-BpQOWYiT.js +1 -0
- package/dist/plugin-sdk/paths-BvlJvmRS.cjs +1 -0
- package/dist/plugin-sdk/paths-CIcxeNL-.cjs +1 -0
- package/dist/plugin-sdk/paths-CXgWvWAM.js +1 -0
- package/dist/plugin-sdk/paths-Chp3zwtq.cjs +1 -0
- package/dist/plugin-sdk/paths-CnHSNSeR.js +1 -0
- package/dist/plugin-sdk/paths-Cqca1YmF.cjs +1 -0
- package/dist/plugin-sdk/paths-CtrEseGU.js +1 -0
- package/dist/plugin-sdk/paths-D55o_j8-.js +1 -0
- package/dist/plugin-sdk/paths-D90l3h_o.cjs +1 -0
- package/dist/plugin-sdk/paths-DaRoqzBQ.js +1 -0
- package/dist/plugin-sdk/paths-Dd7r1qlB.cjs +1 -0
- package/dist/plugin-sdk/paths-DhSjTRMz.js +1 -0
- package/dist/plugin-sdk/paths-Do0djuaj.js +1 -0
- package/dist/plugin-sdk/paths-J4JUiRsa.js +1 -0
- package/dist/plugin-sdk/paths-cBAF6Bj0.js +1 -0
- package/dist/plugin-sdk/paths-piJASC5k.js +1 -0
- package/dist/plugin-sdk/paths-rO4ehkyU.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-B9boErNZ.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-BJ8wTgFH.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-Bb2vCP6M.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-Bor7jHYd.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-BrTw1qE2.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-BuEMyAsU.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-CV9NTjC4.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-D5tLf04u.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-D5xlUS2J.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-DGoPUzBj.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-DMrqvV1O.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-DoY7qnlI.cjs +1 -0
- package/dist/plugin-sdk/pi-model-discovery-Dqq9Vm8o.js +1 -0
- package/dist/plugin-sdk/pi-model-discovery-zCuISPPq.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-4238P8NF.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BEoqzgFe.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BGPjibRD.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BJ_amISU.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-BX2r_qPT.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CGLHFxSr.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsNn_Lv8.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CsiKBTHg.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-CuXQQk4F.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-DNatrz-3.cjs +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-PApjB0tY.js +1 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-xsXDBYNq.js +1 -0
- package/dist/plugin-sdk/polls-BuaJuIpV.cjs +1 -0
- package/dist/plugin-sdk/polls-CBAGZuJ6.js +1 -0
- package/dist/plugin-sdk/polls-CSKMbBIS.js +1 -0
- package/dist/plugin-sdk/polls-D0wY0FvT.cjs +1 -0
- package/dist/plugin-sdk/polls-PGxiE05J.js +1 -0
- package/dist/plugin-sdk/polls-yWqSCEP0.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-B765haXA.js +1 -0
- package/dist/plugin-sdk/proxy-env-Bcl14j2_.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-BlrHtJWH.js +1 -0
- package/dist/plugin-sdk/proxy-env-D48qBPAr.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-DGzNnnJh.js +1 -0
- package/dist/plugin-sdk/proxy-env-DQoJjkWE.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-DWw9TnOj.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-MEjSyzTr.js +1 -0
- package/dist/plugin-sdk/proxy-env-a590sPAz.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-k93igu7v.cjs +1 -0
- package/dist/plugin-sdk/proxy-env-m9eG3uZN.js +1 -0
- package/dist/plugin-sdk/proxy-env-t6hcaFqC.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-B9aXJVe-.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-BaA3JYgW.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-BwXFVsHE.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-BzcKzknk.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-CYVChsKE.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-ClOb2LUH.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-DH7VIiBH.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-DPOhfrou.cjs +1 -0
- package/dist/plugin-sdk/proxy-fetch-DXt2R_Z5.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-Del551nu.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-YCVHz7Rl.js +1 -0
- package/dist/plugin-sdk/proxy-fetch-qbrYAz8k.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-B0_rvdfF.js +1 -0
- package/dist/plugin-sdk/pw-ai-BqdrA15F.js +1 -0
- package/dist/plugin-sdk/pw-ai-CDzxu5B3.js +1 -0
- package/dist/plugin-sdk/pw-ai-CJIogpwF.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-CL_gU5PJ.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-Ca4aZTaG.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-CrfYxLI8.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-DCiFlwP8.js +1 -0
- package/dist/plugin-sdk/pw-ai-DSqXNmNZ.js +1 -0
- package/dist/plugin-sdk/pw-ai-Dh55xTz1.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-DxAvipyK.cjs +1 -0
- package/dist/plugin-sdk/pw-ai-U9nPHH-0.js +1 -0
- package/dist/plugin-sdk/qmd-manager-B3xNbdye.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-BMyDNBPi.js +1 -0
- package/dist/plugin-sdk/qmd-manager-BZhiv_zq.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-C3uVDbhW.js +1 -0
- package/dist/plugin-sdk/qmd-manager-CW46NrS-.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-C_e04BNg.js +1 -0
- package/dist/plugin-sdk/qmd-manager-CczVoslK.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-CzLKqPmR.js +1 -0
- package/dist/plugin-sdk/qmd-manager-DFh8b5N-.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-DXLfZZMI.js +1 -0
- package/dist/plugin-sdk/qmd-manager-FL9fAfNo.cjs +1 -0
- package/dist/plugin-sdk/qmd-manager-fWxbGqzk.js +1 -0
- package/dist/plugin-sdk/query-expansion-0zYzKrrd.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-BYSjmpkV.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-CAboqtWr.js +1 -0
- package/dist/plugin-sdk/query-expansion-C_DnhmUy.js +1 -0
- package/dist/plugin-sdk/query-expansion-Cb2vnF6y.js +1 -0
- package/dist/plugin-sdk/query-expansion-DCeqywxh.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-DF4LMxRQ.js +1 -0
- package/dist/plugin-sdk/query-expansion-DKJkqmNM.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-DO2CFW4z.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-DyCDaZbL.js +1 -0
- package/dist/plugin-sdk/query-expansion-cpXCyoDy.cjs +1 -0
- package/dist/plugin-sdk/query-expansion-r_iXkNzt.js +1 -0
- package/dist/plugin-sdk/qwen-portal-auth.cjs +1 -0
- package/dist/plugin-sdk/qwen-portal-auth.js +1 -0
- package/dist/plugin-sdk/render-6fCdtAr6.cjs +1 -0
- package/dist/plugin-sdk/render-CBsnn-2A.js +1 -0
- package/dist/plugin-sdk/render-CzHaQB0d.cjs +1 -0
- package/dist/plugin-sdk/render-DGmfCIRG.js +1 -0
- package/dist/plugin-sdk/render-DhTJXP1U.js +1 -0
- package/dist/plugin-sdk/render-Djx15dPh.js +1 -0
- package/dist/plugin-sdk/render-DxBO2Blp.cjs +1 -0
- package/dist/plugin-sdk/render-g5VlmgpF.cjs +1 -0
- package/dist/plugin-sdk/reply-0zCEbT4w.cjs +1 -0
- package/dist/plugin-sdk/reply-D-f2bbXy.js +1 -0
- package/dist/plugin-sdk/resolve-outbound-target-CrQGbaua.js +1 -0
- package/dist/plugin-sdk/resolve-outbound-target-H7Q9HcfW.js +1 -0
- package/dist/plugin-sdk/resolve-outbound-target-MS6Xpp17.cjs +1 -0
- package/dist/plugin-sdk/resolve-outbound-target-cDxjy3TL.cjs +1 -0
- package/dist/plugin-sdk/send-3VNTSIhr.js +1 -0
- package/dist/plugin-sdk/send-61GHLNYP.cjs +1 -0
- package/dist/plugin-sdk/send-6q4owAw0.js +1 -0
- package/dist/plugin-sdk/send-A2s5sPTd.js +1 -0
- package/dist/plugin-sdk/send-B2qa7CSk.js +1 -0
- package/dist/plugin-sdk/send-B3aEYvqG.cjs +1 -0
- package/dist/plugin-sdk/send-BAoqP09M.cjs +1 -0
- package/dist/plugin-sdk/send-BNBJ4CF8.js +1 -0
- package/dist/plugin-sdk/send-BTE2rI1E.js +1 -0
- package/dist/plugin-sdk/send-BlWuQHYB.js +1 -0
- package/dist/plugin-sdk/send-Bnvt7ZUE.cjs +1 -0
- package/dist/plugin-sdk/send-Bq6Mqs9G.cjs +1 -0
- package/dist/plugin-sdk/send-Bq787fi_.js +1 -0
- package/dist/plugin-sdk/send-BrAHLYBR.js +1 -0
- package/dist/plugin-sdk/send-Bt2eFBk2.js +1 -0
- package/dist/plugin-sdk/send-C4ZFbUux.js +1 -0
- package/dist/plugin-sdk/send-C4cyMW4S.cjs +1 -0
- package/dist/plugin-sdk/send-C8f5H4XV.cjs +1 -0
- package/dist/plugin-sdk/send-CDwTrbgT.cjs +1 -0
- package/dist/plugin-sdk/send-CEfs0Fsr.js +1 -0
- package/dist/plugin-sdk/send-CFuJjCNB.cjs +1 -0
- package/dist/plugin-sdk/send-CJGLeSJ8.cjs +1 -0
- package/dist/plugin-sdk/send-CL0W7jLW.js +1 -0
- package/dist/plugin-sdk/send-CLl490Gb.cjs +1 -0
- package/dist/plugin-sdk/send-CQtITZ7k.cjs +1 -0
- package/dist/plugin-sdk/send-CSGh_GVr.cjs +1 -0
- package/dist/plugin-sdk/send-CicLiXB4.js +1 -0
- package/dist/plugin-sdk/send-Cm7bEwx-.cjs +1 -0
- package/dist/plugin-sdk/send-CmO9z2-b.js +1 -0
- package/dist/plugin-sdk/send-Co_Wy2kT.cjs +1 -0
- package/dist/plugin-sdk/send-Cox_iyYB.cjs +1 -0
- package/dist/plugin-sdk/send-CuX4LcJ3.cjs +1 -0
- package/dist/plugin-sdk/send-CxMiTtxI.cjs +1 -0
- package/dist/plugin-sdk/send-CyyzWwDr.js +1 -0
- package/dist/plugin-sdk/send-D-HZnehy.cjs +1 -0
- package/dist/plugin-sdk/send-D-qD7BCb.js +1 -0
- package/dist/plugin-sdk/send-D3imkSlz.cjs +1 -0
- package/dist/plugin-sdk/send-D5UwpCoU.cjs +1 -0
- package/dist/plugin-sdk/send-D75OGJco.js +1 -0
- package/dist/plugin-sdk/send-DB4i1kUy.cjs +1 -0
- package/dist/plugin-sdk/send-DBjzdBda.cjs +1 -0
- package/dist/plugin-sdk/send-DPgRTM8s.js +1 -0
- package/dist/plugin-sdk/send-DPpBLiL4.js +1 -0
- package/dist/plugin-sdk/send-DV_afQnj.cjs +1 -0
- package/dist/plugin-sdk/send-DWuChr46.js +1 -0
- package/dist/plugin-sdk/send-DZ4szmEa.cjs +1 -0
- package/dist/plugin-sdk/send-DZr98eqE.cjs +1 -0
- package/dist/plugin-sdk/send-D_1K0zmx.cjs +1 -0
- package/dist/plugin-sdk/send-DaLB9Lca.js +1 -0
- package/dist/plugin-sdk/send-De4qiprb.js +1 -0
- package/dist/plugin-sdk/send-DeU-T5ps.js +1 -0
- package/dist/plugin-sdk/send-DtjJM0LO.js +1 -0
- package/dist/plugin-sdk/send-DvDCmTQf.js +1 -0
- package/dist/plugin-sdk/send-EvcsiFBC.cjs +1 -0
- package/dist/plugin-sdk/send-GuISe9C82.js +1 -0
- package/dist/plugin-sdk/send-IoGcE0w2.js +1 -0
- package/dist/plugin-sdk/send-JVdUTsN1.cjs +1 -0
- package/dist/plugin-sdk/send-NpNVFRmY.js +1 -0
- package/dist/plugin-sdk/send-XMOZsJcs.js +1 -0
- package/dist/plugin-sdk/send-h--iKoQE.cjs +1 -0
- package/dist/plugin-sdk/session-8BcB905y.cjs +1 -0
- package/dist/plugin-sdk/session-B2oURX5K.js +1 -0
- package/dist/plugin-sdk/session-BJhNqIOi.js +1 -0
- package/dist/plugin-sdk/session-BRgGsw96.cjs +1 -0
- package/dist/plugin-sdk/session-Be_7rXAz.js +1 -0
- package/dist/plugin-sdk/session-C66IXbE-.js +1 -0
- package/dist/plugin-sdk/session-CCYDbcyV.js +1 -0
- package/dist/plugin-sdk/session-CHu3C2m0.cjs +1 -0
- package/dist/plugin-sdk/session-DUlmK2IL.cjs +1 -0
- package/dist/plugin-sdk/session-DxTRZTnu.js +1 -0
- package/dist/plugin-sdk/session-DzhI0nj-.cjs +1 -0
- package/dist/plugin-sdk/session-WRCBgAzG.cjs +1 -0
- package/dist/plugin-sdk/sessions-DxXXAfdI.js +1 -0
- package/dist/plugin-sdk/sessions-Dz5JUL8j.cjs +1 -0
- package/dist/plugin-sdk/signal.cjs +1 -0
- package/dist/plugin-sdk/signal.js +1 -0
- package/dist/plugin-sdk/skill-commands-B4wI8ETo.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-BoTeA376.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-BwrYJu7Z.js +1 -0
- package/dist/plugin-sdk/skill-commands-BzkMuA58.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-CIAf9cWN.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-CKc7JO_c.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-Cvb6oXym.js +1 -0
- package/dist/plugin-sdk/skill-commands-DWDtyCtB.js +1 -0
- package/dist/plugin-sdk/skill-commands-Hmuw0PPK.js +1 -0
- package/dist/plugin-sdk/skill-commands-KyN0FGaC.cjs +1 -0
- package/dist/plugin-sdk/skill-commands-KzwEqk5p.js +1 -0
- package/dist/plugin-sdk/skill-commands-Ny38ZFIC.js +1 -0
- package/dist/plugin-sdk/slack.cjs +1 -0
- package/dist/plugin-sdk/slack.js +1 -0
- package/dist/plugin-sdk/synology-chat.cjs +1 -0
- package/dist/plugin-sdk/synology-chat.js +1 -0
- package/dist/plugin-sdk/tables-BIDWwpX8.js +1 -0
- package/dist/plugin-sdk/tables-Bk8lHaPx.cjs +1 -0
- package/dist/plugin-sdk/tables-BlNIkMV8.js +1 -0
- package/dist/plugin-sdk/tables-Bp0a2WRP.cjs +1 -0
- package/dist/plugin-sdk/tables-BtVUf77b.cjs +1 -0
- package/dist/plugin-sdk/tables-C4j5Bar_.js +1 -0
- package/dist/plugin-sdk/tables-CZGtYzDC.cjs +1 -0
- package/dist/plugin-sdk/tables-CnrHab5d.cjs +1 -0
- package/dist/plugin-sdk/tables-DtslIPYw.js +1 -0
- package/dist/plugin-sdk/tables-NrdtIJGp.cjs +1 -0
- package/dist/plugin-sdk/tables-XYb3T-vE.js +1 -0
- package/dist/plugin-sdk/tables-lbv-0tl3.js +1 -0
- package/dist/plugin-sdk/target-errors-9cdJA1L2.cjs +1 -0
- package/dist/plugin-sdk/target-errors-BEkhKWCq.cjs +1 -0
- package/dist/plugin-sdk/target-errors-BZRN-lPd.js +1 -0
- package/dist/plugin-sdk/target-errors-BrwqillR.cjs +1 -0
- package/dist/plugin-sdk/target-errors-Buo5pfom.js +1 -0
- package/dist/plugin-sdk/target-errors-CFzzcffg.js +1 -0
- package/dist/plugin-sdk/target-errors-DFmK5loi.js +1 -0
- package/dist/plugin-sdk/target-errors-DXqwykNX.js +1 -0
- package/dist/plugin-sdk/target-errors-Dd6CopYF.cjs +1 -0
- package/dist/plugin-sdk/target-errors-DeNJ10ks.cjs +1 -0
- package/dist/plugin-sdk/targets-BSc11Uk8.cjs +1 -0
- package/dist/plugin-sdk/targets-BSkiizml.js +1 -0
- package/dist/plugin-sdk/targets-CBI0xqve.cjs +1 -0
- package/dist/plugin-sdk/targets-CL5fYQi7.js +1 -0
- package/dist/plugin-sdk/targets-CUZWrFrm.cjs +1 -0
- package/dist/plugin-sdk/targets-CVEYTFPQ.js +1 -0
- package/dist/plugin-sdk/targets-Co2R6K14.cjs +1 -0
- package/dist/plugin-sdk/targets-CrkJkzil.js +1 -0
- package/dist/plugin-sdk/targets-D-m7SV9x.cjs +1 -0
- package/dist/plugin-sdk/targets-D8HTxbo4.js +1 -0
- package/dist/plugin-sdk/targets-DcGNB9nk.cjs +1 -0
- package/dist/plugin-sdk/targets-Dn9gDiEw.js +1 -0
- package/dist/plugin-sdk/targets-X28mff4s.cjs +1 -0
- package/dist/plugin-sdk/targets-uycXZ8vQ.js +1 -0
- package/dist/plugin-sdk/telegram.cjs +1 -0
- package/dist/plugin-sdk/telegram.js +1 -0
- package/dist/plugin-sdk/test-utils.cjs +1 -0
- package/dist/plugin-sdk/test-utils.js +1 -0
- package/dist/plugin-sdk/tlon.cjs +1 -0
- package/dist/plugin-sdk/tlon.js +1 -0
- package/dist/plugin-sdk/tokens-AAdZjj0M.js +1 -0
- package/dist/plugin-sdk/tokens-B20KNIDD.js +1 -0
- package/dist/plugin-sdk/tokens-B8ys7Q2e.js +1 -0
- package/dist/plugin-sdk/tokens-BPc1fcZ3.js +1 -0
- package/dist/plugin-sdk/tokens-BqABmXSe.js +1 -0
- package/dist/plugin-sdk/tokens-CXsPDJTr.cjs +1 -0
- package/dist/plugin-sdk/tokens-CnB4dJmp.cjs +1 -0
- package/dist/plugin-sdk/tokens-CytSl1X8.cjs +1 -0
- package/dist/plugin-sdk/tokens-DgPZk2Uu.js +1 -0
- package/dist/plugin-sdk/tokens-Dq2wDF3_.cjs +1 -0
- package/dist/plugin-sdk/tokens-DtrljGtQ.cjs +1 -0
- package/dist/plugin-sdk/tokens-g5KWvWhD.cjs +1 -0
- package/dist/plugin-sdk/twitch.cjs +1 -0
- package/dist/plugin-sdk/twitch.js +1 -0
- package/dist/plugin-sdk/utils-BJtJR72k.js +1 -0
- package/dist/plugin-sdk/utils-PPIvU9qw.cjs +1 -0
- package/dist/plugin-sdk/voice-call.cjs +1 -0
- package/dist/plugin-sdk/voice-call.js +1 -0
- package/dist/plugin-sdk/web-B-QDcVRv.cjs +1 -0
- package/dist/plugin-sdk/web-B2PwjHsu.cjs +1 -0
- package/dist/plugin-sdk/web-BdnQzLgF.js +1 -0
- package/dist/plugin-sdk/web-C9T7tf6w.js +1 -0
- package/dist/plugin-sdk/web-CODD4ksc.cjs +1 -0
- package/dist/plugin-sdk/web-CkdCvvR-.js +1 -0
- package/dist/plugin-sdk/web-_tj8xNZE.js +1 -0
- package/dist/plugin-sdk/web-pcTha_l7.cjs +1 -0
- package/dist/plugin-sdk/weixin.cjs +1 -0
- package/dist/plugin-sdk/weixin.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-Bhz2j1uz.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-Bm2UyRYg.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-Bolz0jl5.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-CJ3LDpaG.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-CL1Gmkb0.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-D-bZRT7s.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-DSGTTE8M.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-DjQxgMpW.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-DrPBBi5t.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-DtK657CZ.cjs +1 -0
- package/dist/plugin-sdk/whatsapp-actions-Xwev51_N.js +1 -0
- package/dist/plugin-sdk/whatsapp-actions-m7vLtNAA.js +1 -0
- package/dist/plugin-sdk/whatsapp.cjs +1 -0
- package/dist/plugin-sdk/whatsapp.js +1 -0
- package/dist/plugin-sdk/zalo.cjs +1 -0
- package/dist/plugin-sdk/zalo.js +1 -0
- package/dist/plugin-sdk/zalouser.cjs +1 -0
- package/dist/plugin-sdk/zalouser.js +1 -0
- package/dist/plugins-CYLrFT4h.js +1 -0
- package/dist/plugins-DNlgeTTc.js +1 -0
- package/dist/plugins-cli-BbjMbzJU.js +1 -0
- package/dist/plugins-cli-BiVMAr5T.js +1 -0
- package/dist/polls-BIVz6a4F.js +1 -0
- package/dist/polls-Bh5wc9-6.js +1 -0
- package/dist/polls-C_XSFz3d.js +1 -0
- package/dist/polls-DKJOFSzJ.js +1 -0
- package/dist/ports-B0XdGTfS.js +1 -0
- package/dist/ports-BR0PLRtq.js +1 -0
- package/dist/probe-auth-BMA0yM94.js +1 -0
- package/dist/probe-auth-VI96zmTK.js +1 -0
- package/dist/profile-utils-CWmra1aY.js +1 -0
- package/dist/program-BrAZTwFr.js +1 -0
- package/dist/program-context-B9ydtPje.js +1 -0
- package/dist/program-context-CH9p6anW.js +1 -0
- package/dist/progress-LNttnI-y.js +1 -0
- package/dist/progress-d1m2sqR1.js +1 -0
- package/dist/prompt-select-styled-BeJNbzSa.js +1 -0
- package/dist/prompt-select-styled-DIOWLjl0.js +1 -0
- package/dist/prompt-style-BThRSQJR.js +1 -0
- package/dist/prompt-style-CXKekIBY.js +1 -0
- package/dist/prompts-CMzglboN.js +1 -0
- package/dist/prompts-wv-lfVrJ.js +1 -0
- package/dist/provider-auth-helpers-1lU43eTW.js +1 -0
- package/dist/provider-auth-helpers-pBVCjBj9.js +1 -0
- package/dist/provider-env-vars-D8p6Ohpj.js +1 -0
- package/dist/provider-env-vars-Dt0Q29Su.js +1 -0
- package/dist/proxy-env-BNhTHkd_.js +1 -0
- package/dist/proxy-env-DcmW_urA.js +1 -0
- package/dist/proxy-env-DrC3TIGh.js +1 -0
- package/dist/proxy-env-FJr5nlvs.js +1 -0
- package/dist/proxy-fetch-BADsUK4d.js +1 -0
- package/dist/proxy-fetch-BZ9O8Dvj.js +1 -0
- package/dist/proxy-fetch-DnjU1fEB.js +1 -0
- package/dist/proxy-fetch-gWETR3cl.js +1 -0
- package/dist/push-apns-BGUOmD5M.js +1 -0
- package/dist/push-apns-B_a2MBJ4.js +1 -0
- package/dist/pw-ai-C-Ffkwai.js +1 -0
- package/dist/pw-ai-CV1H1Vrs.js +1 -0
- package/dist/pw-ai-D_MB1lrR.js +1 -0
- package/dist/pw-ai-_l9lVice.js +1 -0
- package/dist/qmd-manager-C_e04BNg.js +1 -0
- package/dist/qmd-manager-DSQ_mDCl.js +1 -0
- package/dist/qmd-manager-DcBYbt_V.js +1 -0
- package/dist/qmd-manager-NLI0R6kp.js +1 -0
- package/dist/qr-cli-3aG6CB6K.js +1 -0
- package/dist/qr-cli-fiJxD5M4.js +1 -0
- package/dist/query-expansion-0OxEb1Io.js +1 -0
- package/dist/query-expansion-BUUx_oWg.js +1 -0
- package/dist/query-expansion-r_iXkNzt.js +1 -0
- package/dist/reaction-level-DVPHL14p.js +1 -0
- package/dist/reaction-message-id-BEEe7X3D.js +1 -0
- package/dist/read-only-account-inspect-DBwAwB3_.js +1 -0
- package/dist/redact-3_CiXMY6.js +1 -0
- package/dist/redact-CnRxK70G.js +1 -0
- package/dist/register.agent-CX78s_X9.js +1 -0
- package/dist/register.agent-DLDKQENq.js +1 -0
- package/dist/register.backup-DkFoTcuT.js +1 -0
- package/dist/register.backup-PzF5rmeU.js +1 -0
- package/dist/register.configure-BA5u9hT3.js +1 -0
- package/dist/register.configure-BhPtf3Qo.js +1 -0
- package/dist/register.maintenance-BhsBepKS.js +1 -0
- package/dist/register.maintenance-r_MzNK3-.js +1 -0
- package/dist/register.message-CTF--Z2a.js +1 -0
- package/dist/register.message-jcZ875be.js +1 -0
- package/dist/register.onboard-C3yL50_c.js +1 -0
- package/dist/register.onboard-CNwnStUk.js +1 -0
- package/dist/register.setup-BRJMzgfU.js +1 -0
- package/dist/register.setup-BvsS-zgm.js +1 -0
- package/dist/register.status-health-sessions-DVc__2pc.js +1 -0
- package/dist/register.status-health-sessions-Dqmkw820.js +1 -0
- package/dist/register.subclis-D-24j83X.js +1 -0
- package/dist/registry-BptzrW8D.js +1 -0
- package/dist/registry-hFAtCSWG.js +1 -0
- package/dist/render-BXEUPIHe.js +1 -0
- package/dist/render-CBsnn-2A.js +1 -0
- package/dist/render-D8OWO2hT.js +1 -0
- package/dist/render-DrrPmnMI.js +1 -0
- package/dist/reply-l-Y47HP4.js +1 -0
- package/dist/restart-CHXEHdSC.js +1 -0
- package/dist/rpc-B3ReBNXG.js +1 -0
- package/dist/rpc-DumDLalJ.js +1 -0
- package/dist/run-main-B_YBE_TN.js +1 -0
- package/dist/runtime-BC5Ep2pJ.js +1 -0
- package/dist/runtime-Dlg2-Omq.js +1 -0
- package/dist/runtime-guard-DFYBaYZS.js +1 -0
- package/dist/runtime-guard-DX2Ie4ri.js +1 -0
- package/dist/runtime-status-CqFBmdRd.js +1 -0
- package/dist/runtime-status-DszMjvJK.js +1 -0
- package/dist/runtime-web-tools-D8fms06-.js +1 -0
- package/dist/runtime-web-tools-bz76ZaRc.js +1 -0
- package/dist/sandbox-cli-BDorUBm-.js +1 -0
- package/dist/sandbox-cli-Bq40R5Vs.js +1 -0
- package/dist/scan-paths-C13EseXp.js +1 -0
- package/dist/scan-paths-CWtvWW40.js +1 -0
- package/dist/search-manager-Bp9x20r6.js +1 -0
- package/dist/secret-file-C7JffiM_.js +1 -0
- package/dist/secret-file-D60EFEOe.js +1 -0
- package/dist/secret-file-DuWm26jS.js +1 -0
- package/dist/secrets-cli-Bo6PC32U.js +1 -0
- package/dist/secrets-cli-CoXJv3Jp.js +1 -0
- package/dist/secure-random-D7JQgiK-.js +1 -0
- package/dist/security-cli-CgZL2KKh.js +1 -0
- package/dist/security-cli-DVOfhwAP.js +1 -0
- package/dist/send-B7sHR38c2.js +1 -0
- package/dist/send-Bx2Qr7VH.js +1 -0
- package/dist/send-C-AP01PR.js +1 -0
- package/dist/send-C1CJ-GHU.js +1 -0
- package/dist/send-C48Y9SAq.js +1 -0
- package/dist/send-CVplsJpw.js +1 -0
- package/dist/send-CW81y5Wz.js +1 -0
- package/dist/send-CYgHok1p.js +1 -0
- package/dist/send-Cgd_VJHR.js +1 -0
- package/dist/send-Chz0YMoJ.js +1 -0
- package/dist/send-D9hVVn7p2.js +1 -0
- package/dist/send-DKrzj_Ts.js +1 -0
- package/dist/send-DRLSCwCk.js +1 -0
- package/dist/send-DavpkzhH.js +1 -0
- package/dist/send-DbeEC2a3.js +1 -0
- package/dist/send-DkiKKUkt.js +1 -0
- package/dist/send-DlfVd5mL.js +1 -0
- package/dist/send-JYgM9Sm-2.js +1 -0
- package/dist/send-hZFDcGLM.js +1 -0
- package/dist/send-vthbs31u.js +1 -0
- package/dist/server-DpyBukwA.js +1 -0
- package/dist/server-IgiSKzXH.js +1 -0
- package/dist/server-node-events-CFSY_-4t.js +1 -0
- package/dist/server-node-events-ZFwmPwQ-.js +1 -0
- package/dist/service-BtB9epJk.js +1 -0
- package/dist/service-DZ9EbS15.js +1 -0
- package/dist/session-C9TDmUS7.js +1 -0
- package/dist/session-CUUGjiV3.js +1 -0
- package/dist/session-DA-i5xQ-.js +1 -0
- package/dist/session-bk3gFwO4.js +1 -0
- package/dist/session-cost-usage-BgqKixv0.js +1 -0
- package/dist/session-cost-usage-CHtVgnE8.js +1 -0
- package/dist/session-key-C7F_iqYg.js +1 -0
- package/dist/session-key-D3P0tf5P.js +1 -0
- package/dist/session-utils-8acNlxwP.js +1 -0
- package/dist/sessions-BsxT0V2m.js +1 -0
- package/dist/shared-9x5sqYRb.js +1 -0
- package/dist/shared-BKWhOp64.js +1 -0
- package/dist/shared-GesXrZzd.js +1 -0
- package/dist/skill-commands-BWW6mc6t.js +1 -0
- package/dist/skill-commands-CSF6wVPU.js +1 -0
- package/dist/skill-commands-Db232ZRp.js +1 -0
- package/dist/skill-commands-HJHHZqt6.js +1 -0
- package/dist/skill-scanner-CUUF3Fvo.js +1 -0
- package/dist/skill-scanner-CkxXNioD.js +1 -0
- package/dist/skills-CKTicUKS.js +1 -0
- package/dist/skills-DHbOKEGc.js +1 -0
- package/dist/skills-cli-9Ls94z5H.js +1 -0
- package/dist/skills-cli-BY7OhJzj.js +1 -0
- package/dist/skills-install-CIdGCXSy.js +1 -0
- package/dist/skills-install-DIdiVt9Y.js +1 -0
- package/dist/skills-status-BWIugRCz.js +1 -0
- package/dist/skills-status-DswSl5aD.js +1 -0
- package/dist/sqlite-CILF3z9U.js +1 -0
- package/dist/stagger-DmFYysrJ.js +1 -0
- package/dist/stagger-DxzgG2jd.js +1 -0
- package/dist/status-C-9fSiMn.js +1 -0
- package/dist/status-CeBGmSAz.js +1 -0
- package/dist/status-DYqPF0rB.js +1 -0
- package/dist/status-JIPeVrsc.js +1 -0
- package/dist/status.update-B_8Gumuc.js +1 -0
- package/dist/status.update-DoSzHu2F.js +1 -0
- package/dist/string-normalization-BrUPaXaM.js +1 -0
- package/dist/string-normalization-DJT5zuUF.js +1 -0
- package/dist/subsystem-BLbY429l.js +1 -0
- package/dist/subsystem-Bc2XrjUz.js +1 -0
- package/dist/subsystem-C5XF2Fy5.js +1 -0
- package/dist/system-cli-CeZfoVPN.js +1 -0
- package/dist/system-cli-DZkTYB9d.js +1 -0
- package/dist/system-run-command-BKfMiqQM.js +1 -0
- package/dist/system-run-command-DEWnZE0r.js +1 -0
- package/dist/systemd-D7odsu4K.js +1 -0
- package/dist/systemd-DbevZh65.js +1 -0
- package/dist/systemd-hints-C0DKDl35.js +1 -0
- package/dist/systemd-hints-lXpMy-kY.js +1 -0
- package/dist/systemd-linger-C2MJD6KG.js +1 -0
- package/dist/systemd-linger-cWKbFNpu.js +1 -0
- package/dist/table-CR7TFMew.js +1 -0
- package/dist/table-CY440fI1.js +1 -0
- package/dist/tables-Brc2lNcB.js +1 -0
- package/dist/tables-CrXdLc_6.js +1 -0
- package/dist/tables-Oieq7UbT.js +1 -0
- package/dist/tables-btcG3yFT.js +1 -0
- package/dist/target-errors-CRlevJJ5.js +1 -0
- package/dist/target-errors-CgWAJOam.js +1 -0
- package/dist/target-errors-CpKXh2RS.js +1 -0
- package/dist/target-errors-a35Md15n.js +1 -0
- package/dist/targets-4EaxWBal.js +1 -0
- package/dist/targets-BJTo7bqu.js +1 -0
- package/dist/targets-BYVMrXDf.js +1 -0
- package/dist/targets-Bq6rS6-Z.js +1 -0
- package/dist/targets-CL5fYQi7.js +1 -0
- package/dist/targets-fozeWOOg.js +1 -0
- package/dist/targets-m_41k_Mv.js +1 -0
- package/dist/telegram/audit.js +1 -0
- package/dist/text-format-CvrvBBre.js +1 -0
- package/dist/text-format-DEWK6oCT.js +1 -0
- package/dist/token-DnTmiyJu.js +1 -0
- package/dist/tokens-B2fq-rL6.js +1 -0
- package/dist/tokens-CL2fSjGl.js +1 -0
- package/dist/tokens-DRM8vzJx.js +1 -0
- package/dist/tokens-XGbQGn67.js +1 -0
- package/dist/tool-display-DJDtttQg.js +1 -0
- package/dist/tool-display-DjuSUUbH.js +1 -0
- package/dist/tui-B506apla.js +1 -0
- package/dist/tui-CJUkUxHb.js +1 -0
- package/dist/tui-cli-BEdGHmhc.js +1 -0
- package/dist/tui-cli-Cq_eXDAV.js +1 -0
- package/dist/types.secrets-C-5U96pc.js +1 -0
- package/dist/types.secrets-D4tbc3Wq.js +1 -0
- package/dist/update-BGrxUIyz.js +1 -0
- package/dist/update-CwTy5DPl.js +1 -0
- package/dist/update-cli-BwBMOeP0.js +1 -0
- package/dist/update-cli-YrBbmw4f.js +1 -0
- package/dist/update-runner-BvtyRBD2.js +1 -0
- package/dist/update-runner-DYamgo1V.js +1 -0
- package/dist/usage-format-BWD8FJFL.js +1 -0
- package/dist/usage-format-yPwal8Iz.js +1 -0
- package/dist/utils-CGdo13HV.js +1 -0
- package/dist/utils-D3t-vPka.js +1 -0
- package/dist/utils-R-mFyVJi.js +1 -0
- package/dist/utils-UGOV_184.js +1 -0
- package/dist/version-q3SkUw2K.js +1 -0
- package/dist/warning-filter.js +1 -0
- package/dist/web-Cq3xWCaD.js +1 -0
- package/dist/web-DwcxsgH0.js +1 -0
- package/dist/webhooks-cli-CIeyainW.js +1 -0
- package/dist/webhooks-cli-DSNAve_D.js +1 -0
- package/dist/whatsapp-actions-B6gt1KeB.js +1 -0
- package/dist/whatsapp-actions-DACoH7qd.js +1 -0
- package/dist/whatsapp-actions-iQhIeMya.js +1 -0
- package/dist/whatsapp-actions-tmjID75a.js +1 -0
- package/dist/widearea-dns-BDx7vkV2.js +1 -0
- package/dist/widearea-dns-BFjqKXu_.js +1 -0
- package/dist/windows-spawn-7oINn5ao.js +1 -0
- package/dist/windows-spawn-AB7ItGAE.js +1 -0
- package/dist/with-timeout-WveKxvFV.js +1 -0
- package/dist/with-timeout-c1CzdShT.js +1 -0
- package/dist/workspace-B0ZQeHXg.js +1 -0
- package/dist/workspace-C45T1Cxg.js +1 -0
- package/dist/workspace-dirs-A8Vib9_B.js +1 -0
- package/dist/workspace-dirs-BhF1Dzxt.js +1 -0
- package/dist/workspace-xNEpaJvu.js +1 -0
- package/dist/wsl-DHxB2Ew_.js +1 -0
- package/dist/wsl-Ok7GaSJ6.js +1 -0
- package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +2 -2
- package/node_modules/@aws-sdk/token-providers/package.json +1 -1
- package/node_modules/@grammyjs/types/package.json +1 -1
- package/node_modules/@line/bot-sdk/dist/channel-access-token/api/channelAccessTokenClient.js +49 -3
- package/node_modules/@line/bot-sdk/dist/cjs/channel-access-token/api/channelAccessTokenClient.js +49 -3
- package/node_modules/@line/bot-sdk/dist/cjs/client.js +636 -0
- package/node_modules/@line/bot-sdk/dist/cjs/endpoints.js +7 -0
- package/node_modules/@line/bot-sdk/dist/cjs/exceptions.js +15 -1
- package/node_modules/@line/bot-sdk/dist/cjs/http-axios.js +2 -6
- package/node_modules/@line/bot-sdk/dist/cjs/http-fetch.js +5 -13
- package/node_modules/@line/bot-sdk/dist/cjs/index.js +3 -1
- package/node_modules/@line/bot-sdk/dist/cjs/insight/api/insightClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/liff/api/liffClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.factory.generated.js +66 -0
- package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.generated.js +1999 -0
- package/node_modules/@line/bot-sdk/dist/cjs/line-bot-client.js +61 -0
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceBlobClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/manage-audience/api/manageAudienceClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiBlobClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/messaging-api/api/messagingApiClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/module/api/lineModuleClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/module-attach/api/lineModuleAttachClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/shop/api/shopClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/cjs/utils.js +10 -0
- package/node_modules/@line/bot-sdk/dist/cjs/version.js +1 -1
- package/node_modules/@line/bot-sdk/dist/client.js +636 -0
- package/node_modules/@line/bot-sdk/dist/endpoints.js +7 -0
- package/node_modules/@line/bot-sdk/dist/exceptions.js +15 -1
- package/node_modules/@line/bot-sdk/dist/http-axios.js +2 -6
- package/node_modules/@line/bot-sdk/dist/http-fetch.js +5 -13
- package/node_modules/@line/bot-sdk/dist/index.js +1 -0
- package/node_modules/@line/bot-sdk/dist/insight/api/insightClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/liff/api/liffClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/line-bot-client.factory.generated.js +63 -0
- package/node_modules/@line/bot-sdk/dist/line-bot-client.generated.js +1995 -0
- package/node_modules/@line/bot-sdk/dist/line-bot-client.js +58 -0
- package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceBlobClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/manage-audience/api/manageAudienceClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiBlobClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/messaging-api/api/messagingApiClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/module/api/lineModuleClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/module-attach/api/lineModuleAttachClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/shop/api/shopClient.js +3 -0
- package/node_modules/@line/bot-sdk/dist/utils.js +9 -0
- package/node_modules/@line/bot-sdk/dist/version.js +1 -1
- package/node_modules/@line/bot-sdk/package.json +10 -7
- package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
- package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +25 -0
- package/node_modules/@mariozechner/clipboard-linux-x64-musl/clipboard.linux-x64-musl.node +0 -0
- package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +25 -0
- package/node_modules/@slack/bolt/dist/App.js +22 -30
- package/node_modules/@slack/bolt/dist/Assistant.js +21 -37
- package/node_modules/@slack/bolt/dist/CustomFunction.js +1 -43
- package/node_modules/@slack/bolt/dist/context/create-function-complete.js +23 -0
- package/node_modules/@slack/bolt/dist/context/create-function-fail.js +23 -0
- package/node_modules/@slack/bolt/dist/context/create-respond.js +11 -0
- package/node_modules/@slack/bolt/dist/context/create-say-stream.js +16 -0
- package/node_modules/@slack/bolt/dist/context/create-say.js +17 -0
- package/node_modules/@slack/bolt/dist/context/create-set-status.js +21 -0
- package/node_modules/@slack/bolt/dist/context/index.js +16 -0
- package/node_modules/@slack/bolt/dist/helpers.js +79 -3
- package/node_modules/@slack/bolt/dist/index.js +10 -8
- package/node_modules/@slack/bolt/dist/receivers/SocketModeReceiver.js +5 -1
- package/node_modules/@slack/bolt/dist/types/events/index.js +0 -4
- package/node_modules/@slack/bolt/package.json +7 -7
- package/node_modules/@smithy/config-resolver/package.json +10 -11
- package/node_modules/@smithy/core/dist-cjs/getSmithyContext.js +6 -0
- package/node_modules/@smithy/core/dist-cjs/index.js +1 -1
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js +21 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js +21 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js +46 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/index.js +6 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-auth-scheme/resolveAuthOptions.js +24 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/getHttpSigningMiddleware.js +19 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/httpSigningMiddleware.js +27 -0
- package/node_modules/@smithy/core/dist-cjs/middleware-http-signing/index.js +5 -0
- package/node_modules/@smithy/core/dist-cjs/normalizeProvider.js +10 -0
- package/node_modules/@smithy/core/dist-cjs/pagination/createPaginator.js +44 -0
- package/node_modules/@smithy/core/dist-cjs/request-builder/requestBuilder.js +5 -0
- package/node_modules/@smithy/core/dist-cjs/setFeature.js +14 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +17 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js +38 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js +15 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/index.js +6 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/httpAuthSchemes/noAuth.js +9 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/index.js +6 -0
- package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/memoizeIdentityProvider.js +61 -0
- package/node_modules/@smithy/core/package.json +15 -16
- package/node_modules/@smithy/credential-provider-imds/package.json +9 -10
- package/node_modules/@smithy/eventstream-codec/dist-cjs/index.js +13 -0
- package/node_modules/@smithy/eventstream-codec/package.json +6 -7
- package/node_modules/@smithy/eventstream-serde-browser/package.json +7 -8
- package/node_modules/@smithy/eventstream-serde-config-resolver/package.json +7 -8
- package/node_modules/@smithy/eventstream-serde-node/package.json +7 -8
- package/node_modules/@smithy/eventstream-serde-universal/package.json +9 -10
- package/node_modules/@smithy/fetch-http-handler/package.json +12 -13
- package/node_modules/@smithy/hash-node/package.json +6 -7
- package/node_modules/@smithy/invalid-dependency/package.json +6 -7
- package/node_modules/@smithy/middleware-content-length/package.json +7 -8
- package/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js +2 -2
- package/node_modules/@smithy/middleware-endpoint/package.json +13 -14
- package/node_modules/@smithy/middleware-retry/dist-cjs/index.js +70 -29
- package/node_modules/@smithy/middleware-retry/dist-es/index.js +5 -4
- package/node_modules/@smithy/middleware-retry/dist-es/longPollMiddleware.js +15 -0
- package/node_modules/@smithy/middleware-retry/dist-es/parseRetryAfterHeader.js +49 -0
- package/node_modules/@smithy/middleware-retry/dist-es/{StandardRetryStrategy.js → retry-pre-sra-deprecated/StandardRetryStrategy.js} +1 -1
- package/node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js +13 -20
- package/node_modules/@smithy/middleware-retry/package.json +16 -16
- package/node_modules/@smithy/middleware-serde/package.json +10 -11
- package/node_modules/@smithy/middleware-stack/package.json +7 -8
- package/node_modules/@smithy/node-config-provider/package.json +8 -9
- package/node_modules/@smithy/node-http-handler/package.json +10 -11
- package/node_modules/@smithy/property-provider/package.json +6 -7
- package/node_modules/@smithy/protocol-http/package.json +6 -7
- package/node_modules/@smithy/querystring-builder/package.json +6 -7
- package/node_modules/@smithy/querystring-parser/package.json +6 -7
- package/node_modules/@smithy/service-error-classification/package.json +6 -7
- package/node_modules/@smithy/shared-ini-file-loader/package.json +7 -8
- package/node_modules/@smithy/signature-v4/dist-cjs/index.js +13 -0
- package/node_modules/@smithy/signature-v4/package.json +9 -10
- package/node_modules/@smithy/smithy-client/dist-cjs/index.js +1 -1
- package/node_modules/@smithy/smithy-client/package.json +14 -15
- package/node_modules/@smithy/types/package.json +7 -8
- package/node_modules/@smithy/url-parser/package.json +7 -8
- package/node_modules/@smithy/util-defaults-mode-browser/package.json +8 -9
- package/node_modules/@smithy/util-defaults-mode-node/package.json +11 -12
- package/node_modules/@smithy/util-endpoints/package.json +9 -10
- package/node_modules/@smithy/util-middleware/package.json +6 -7
- package/node_modules/@smithy/util-retry/dist-cjs/index.js +123 -76
- package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +7 -4
- package/node_modules/@smithy/util-retry/dist-es/ConfiguredRetryStrategy.js +2 -2
- package/node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js +24 -25
- package/node_modules/@smithy/util-retry/dist-es/DefaultRetryBackoffStrategy.js +14 -0
- package/node_modules/@smithy/util-retry/dist-es/DefaultRetryToken.js +25 -0
- package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +39 -26
- package/node_modules/@smithy/util-retry/dist-es/index.js +1 -0
- package/node_modules/@smithy/util-retry/dist-es/retries-2026-config.js +18 -0
- package/node_modules/@smithy/util-retry/package.json +10 -11
- package/node_modules/@smithy/util-stream/package.json +12 -13
- package/node_modules/@snazzah/davey-linux-x64-gnu/davey.linux-x64-gnu.node +0 -0
- package/node_modules/@snazzah/davey-linux-x64-gnu/package.json +43 -0
- package/node_modules/@snazzah/davey-linux-x64-musl/davey.linux-x64-musl.node +0 -0
- package/node_modules/@snazzah/davey-linux-x64-musl/package.json +43 -0
- package/node_modules/dotenv/lib/main.js +1 -1
- package/node_modules/dotenv/package.json +1 -1
- package/node_modules/dotenv/skills/dotenv/SKILL.md +32 -52
- package/node_modules/dotenv/skills/dotenvx/SKILL.md +57 -273
- package/node_modules/grammy/out/bot.js +1 -0
- package/node_modules/grammy/out/context.js +35 -0
- package/node_modules/grammy/out/convenience/keyboard.js +30 -2
- package/node_modules/grammy/out/core/api.js +34 -0
- package/node_modules/grammy/out/filter.js +6 -2
- package/node_modules/grammy/out/web.mjs +58 -10
- package/node_modules/grammy/package.json +2 -2
- package/node_modules/lru-cache/dist/commonjs/diagnostics-channel.js +12 -0
- package/node_modules/lru-cache/dist/commonjs/index.js +227 -130
- package/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
- package/node_modules/lru-cache/dist/esm/diagnostics-channel-esm.d.mts.map +1 -0
- package/node_modules/lru-cache/dist/esm/diagnostics-channel.js +17 -0
- package/node_modules/lru-cache/dist/esm/index.js +227 -130
- package/node_modules/lru-cache/dist/esm/index.min.js +1 -1
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel-node.d.mts.map +1 -0
- package/node_modules/lru-cache/dist/esm/node/diagnostics-channel.js +8 -0
- package/node_modules/lru-cache/dist/esm/node/index.js +1688 -0
- package/node_modules/lru-cache/dist/esm/node/index.min.js +2 -0
- package/node_modules/lru-cache/package.json +29 -9
- package/node_modules/netmask/dist/netmask.js +58 -0
- package/node_modules/netmask/dist/netmask4.js +189 -0
- package/node_modules/netmask/dist/netmask6.js +187 -0
- package/node_modules/netmask/package.json +15 -6
- package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
- package/node_modules/path-expression-matcher/lib/pem.d.cts +93 -0
- package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
- package/node_modules/path-expression-matcher/package.json +1 -1
- package/node_modules/path-expression-matcher/src/ExpressionSet.js +189 -0
- package/node_modules/path-expression-matcher/src/Matcher.js +50 -20
- package/node_modules/path-expression-matcher/src/index.js +3 -2
- package/node_modules/strnum/package.json +1 -1
- package/package.json +1 -1
- package/preset-config.json +12 -0
- package/node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js +0 -14
- package/node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js +0 -11
- package/node_modules/netmask/CREDITS.md +0 -30
- package/node_modules/netmask/lib/netmask.coffee +0 -167
- package/node_modules/netmask/lib/netmask.js +0 -208
- package/node_modules/strnum/.github/SECURITY.md +0 -5
- package/node_modules/strnum/.vscode/launch.json +0 -25
- package/node_modules/strnum/algo.stflow +0 -84
- package/skills/sherpa-onnx-tts/bin/sherpa-onnx-tts +0 -178
- /package/node_modules/@smithy/middleware-retry/dist-es/{AdaptiveRetryStrategy.js → retry-pre-sra-deprecated/AdaptiveRetryStrategy.js} +0 -0
- /package/node_modules/@smithy/middleware-retry/dist-es/{defaultRetryQuota.js → retry-pre-sra-deprecated/defaultRetryQuota.js} +0 -0
- /package/node_modules/@smithy/middleware-retry/dist-es/{delayDecider.js → retry-pre-sra-deprecated/delayDecider.js} +0 -0
- /package/node_modules/@smithy/middleware-retry/dist-es/{retryDecider.js → retry-pre-sra-deprecated/retryDecider.js} +0 -0
- /package/node_modules/@smithy/middleware-retry/dist-es/{types.js → retry-pre-sra-deprecated/types.js} +0 -0
|
@@ -44,3 +44,4 @@ import{_ as e}from"./paths-CXgWvWAM.js";import{Z as t}from"./utils-BJtJR72k.js";
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await $(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Z(e),n=Y(e.timeoutMs,2e4),r=J(e.ref),i=U(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw X(e,r)}}async function ut(e){let t=await H(e);P(t);let n=Y(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await U(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await U(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let t=await H(e);if(P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let a=r?U(t,r):t.locator(i).first(),s=await o({rootDir:n,requestedPaths:e.paths,scopeLabel:`uploads directory (${n})`});if(!s.ok)throw Error(s.error);let c=s.paths;try{await a.setInputFiles(c)}catch(e){throw X(e,r||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=Y(e.timeoutMs,2e4),i=await H(e);P(i);let a=await new Promise((e,n)=>{let a=!1,o,s,c=()=>{o&&clearTimeout(o),o=void 0,s&&i.off(`response`,s)};s=n=>{a||mt(t,n.url?.()||``)&&(a=!0,c(),e(n))},i.on(`response`,s),o=setTimeout(()=>{a||(a=!0,c(),n(Error(`Response not found for url pattern "${t}". Run '${ee(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,s=a.status?.(),c=a.headers?.(),l=``;try{if(typeof a.text==`function`)l=await a.text();else if(typeof a.body==`function`){let e=await a.body();l=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:s,headers:c,body:l.length>n?l.slice(0,n):l,truncated:l.length>n?!0:void 0}}async function gt(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(n);let r=await C({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:d(Array.isArray(r?.nodes)?r.nodes:[],t)}}async function _t(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=ze(i);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});if(P(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=ze(String(r?.full??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:Ae(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Le(String(i??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:Ae(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},n=String(e.url??``).trim();if(!n)throw Error(`url is required`);await y({url:n,...a(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),o=await H(e);P(o);let s=async()=>await o.goto(n,{timeout:i}),c;try{c=await s()}catch(n){if(!t(n))throw n;await W({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),o=await H(e),P(o),c=await s()}await r({request:c?.request(),...a(e.ssrfPolicy)});let u=o.url();return await l({url:u,...a(e.ssrfPolicy)}),{url:u}}async function bt(e){let t=await H(e);P(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await H(e);P(t),await t.close()}async function St(e){let t=await H(e);return P(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await H(e);P(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await H(e);P(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await H(e);if(P(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await H(e);P(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await H(e);P(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await H(e);P(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await H(e);P(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await H(e);P(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=ie[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await H(e);return P(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await H(e);P(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await H(e);P(t),await t.context().clearCookies()}async function Pt(e){let t=await H(e);P(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await H(e);P(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await H(e);P(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await H(e)).context(),n=F(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await H(e)).context(),n=F(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await De({rootDir:h,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}c();export{Ze as armDialogViaPlaywright,Xe as armFileUploadViaPlaywright,tt as clickViaPlaywright,ye as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,me as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,ve as createPageViaPlaywright,$e as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,P as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,be as focusPageByTargetIdViaPlaywright,W as forceDisconnectPlaywrightForTarget,we as getConsoleMessagesViaPlaywright,Se as getNetworkRequestsViaPlaywright,xe as getPageErrorsViaPlaywright,H as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,_e as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,U as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Qe as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
|
|
47
|
+
//# sourceMappingURL=pw-ai-BqdrA15F.js.map
|
|
@@ -44,3 +44,4 @@ import{O as e}from"./paths-piJASC5k.js";import"./paths-BpQOWYiT.js";import{Z as
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await $e(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=W(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function ut(e){let t=await U(e);F(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await U(e);F(t),P({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await W(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await U(e);F(t),P({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await W(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let t=await U(e);if(F(t),P({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let n=typeof e.inputRef==`string`?e.inputRef.trim():``,r=typeof e.element==`string`?e.element.trim():``;if(n&&r)throw Error(`inputRef and element are mutually exclusive`);if(!n&&!r)throw Error(`inputRef or element is required`);let i=n?W(t,n):t.locator(r).first(),a=await d({rootDir:y,requestedPaths:e.paths,scopeLabel:`uploads directory (${y})`});if(!a.ok)throw Error(a.error);let o=a.paths;try{await i.setInputFiles(o)}catch(e){throw Z(e,n||r)}try{let e=await i.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=X(e.timeoutMs,2e4),i=await U(e);F(i);let a=await new Promise((e,n)=>{let a=!1,o,s,c=()=>{o&&clearTimeout(o),o=void 0,s&&i.off(`response`,s)};s=n=>{a||mt(t,n.url?.()||``)&&(a=!0,c(),e(n))},i.on(`response`,s),o=setTimeout(()=>{a||(a=!0,c(),n(Error(`Response not found for url pattern "${t}". Run '${l(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,s=a.status?.(),c=a.headers?.(),u=``;try{if(typeof a.text==`function`)u=await a.text();else if(typeof a.body==`function`){let e=await a.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:s,headers:c,body:u.length>n?u.slice(0,n):u,truncated:u.length>n?!0:void 0}}async function gt(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await U({cdpUrl:e.cdpUrl,targetId:e.targetId});F(n);let r=await T({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:a(Array.isArray(r?.nodes)?r.nodes:[],t)}}async function _t(e){let t=await U({cdpUrl:e.cdpUrl,targetId:e.targetId});F(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=Re(i);return N({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await U({cdpUrl:e.cdpUrl,targetId:e.targetId});if(F(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=Re(String(r?.full??``),e.options);return N({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:ke(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ie(String(i??``),e.options);return N({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:ke(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},n=String(e.url??``).trim();if(!n)throw Error(`url is required`);await m({url:n,...h(e.ssrfPolicy)});let r=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),i=await U(e);F(i);let a=async()=>await i.goto(n,{timeout:r}),o;try{o=await a()}catch(n){if(!t(n))throw n;await G({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),i=await U(e),F(i),o=await a()}await v({request:o?.request(),...h(e.ssrfPolicy)});let s=i.url();return await g({url:s,...h(e.ssrfPolicy)}),{url:s}}async function bt(e){let t=await U(e);F(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await U(e);F(t),await t.close()}async function St(e){let t=await U(e);return F(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await U(e);F(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await U(e);F(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await U(e);if(F(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await U(e);F(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await U(e);F(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await U(e);F(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await T({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await U(e);F(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await T({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await U(e);F(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=re[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await T({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await U(e);return F(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await U(e);F(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await U(e);F(t),await t.context().clearCookies()}async function Pt(e){let t=await U(e);F(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await U(e);F(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await U(e);F(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await U(e)).context(),n=I(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await U(e)).context(),n=I(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await Ee({rootDir:_,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}i();export{Xe as armDialogViaPlaywright,Ye as armFileUploadViaPlaywright,tt as clickViaPlaywright,ve as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,pe as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,_e as createPageViaPlaywright,Qe as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,F as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,ye as focusPageByTargetIdViaPlaywright,G as forceDisconnectPlaywrightForTarget,Ce as getConsoleMessagesViaPlaywright,xe as getNetworkRequestsViaPlaywright,be as getPageErrorsViaPlaywright,U as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,ge as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,W as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Ze as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
|
|
47
|
+
//# sourceMappingURL=pw-ai-CDzxu5B3.js.map
|
|
@@ -44,3 +44,4 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-BPlgbwrb.cjs`),n=requ
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let a=r?j(t,r):t.locator(i).first(),o=await n.ks({rootDir:n.Ds,requestedPaths:e.paths,scopeLabel:`uploads directory (${n.Ds})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,r||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let r=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,r)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),r(Error(`Response not found for url pattern "${t}". Run '${n.Hl(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>r?u.slice(0,r):u,truncated:u.length>r?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),r=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(r);let i=await f({cdpUrl:e.cdpUrl,page:r,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:n.ss(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},r=String(e.url??``).trim();if(!r)throw Error(`url is required`);await n.Is({url:r,...n.zs(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(r,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await n.Ls({request:s?.request(),...n.zs(e.ssrfPolicy)});let c=a.url();return await n.Rs({url:c,...n.zs(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),r=T(t);if(!r.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:n.Es,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),r.traceActive=!1}n.vs(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
|
|
47
|
+
//# sourceMappingURL=pw-ai-CJIogpwF.cjs.map
|
|
@@ -44,3 +44,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-D90l3h_o.cjs`),n=requ
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let a=r?j(t,r):t.locator(i).first(),o=await n.xi({rootDir:n.yi,requestedPaths:e.paths,scopeLabel:`uploads directory (${n.yi})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,r||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let r=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,r)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),r(Error(`Response not found for url pattern "${t}". Run '${n.mc(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>r?u.slice(0,r):u,truncated:u.length>r?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),r=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(r);let i=await f({cdpUrl:e.cdpUrl,page:r,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:n.ei(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},r=String(e.url??``).trim();if(!r)throw Error(`url is required`);await n.Oi({url:r,...n.ji(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(r,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await n.ki({request:s?.request(),...n.ji(e.ssrfPolicy)});let c=a.url();return await n.Ai({url:c,...n.ji(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),r=T(t);if(!r.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:n.vi,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),r.traceActive=!1}n.di(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
|
|
47
|
+
//# sourceMappingURL=pw-ai-CL_gU5PJ.cjs.map
|
|
@@ -44,3 +44,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Cqca1YmF.cjs`),n=requ
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let a=r?j(t,r):t.locator(i).first(),o=await n.li({rootDir:n.si,requestedPaths:e.paths,scopeLabel:`uploads directory (${n.si})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,r||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let r=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,r)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),r(Error(`Response not found for url pattern "${t}". Run '${n.ec(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>r?u.slice(0,r):u,truncated:u.length>r?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),r=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(r);let i=await f({cdpUrl:e.cdpUrl,page:r,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:n.Hr(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},r=String(e.url??``).trim();if(!r)throw Error(`url is required`);await n.gi({url:r,...n.yi(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(r,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await n._i({request:s?.request(),...n.yi(e.ssrfPolicy)});let c=a.url();return await n.vi({url:c,...n.yi(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),r=T(t);if(!r.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:n.oi,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),r.traceActive=!1}n.$r(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
|
|
47
|
+
//# sourceMappingURL=pw-ai-Ca4aZTaG.cjs.map
|
|
@@ -44,3 +44,4 @@ const e=require(`./paths-BvlJvmRS.cjs`),t=require(`./paths-Chp3zwtq.cjs`),n=requ
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let n=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(n&&i)throw Error(`inputRef and element are mutually exclusive`);if(!n&&!i)throw Error(`inputRef or element is required`);let a=n?j(t,n):t.locator(i).first(),o=await r.or({rootDir:r.ir,requestedPaths:e.paths,scopeLabel:`uploads directory (${r.ir})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,n||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,n)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),n(Error(`Response not found for url pattern "${t}". Run '${r.Js(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>n?u.slice(0,n):u,truncated:u.length>n?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(n);let i=await f({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:r.Rn(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},n=String(e.url??``).trim();if(!n)throw Error(`url is required`);await r.pr({url:n,...r.gr(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(n,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await r.mr({request:s?.request(),...r.gr(e.ssrfPolicy)});let c=a.url();return await r.hr({url:c,...r.gr(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),n=T(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:r.rr,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}r.Yn(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
|
|
47
|
+
//# sourceMappingURL=pw-ai-CrfYxLI8.cjs.map
|
|
@@ -44,3 +44,4 @@ import{O as e}from"./paths-cBAF6Bj0.js";import{$r as t,Ai as n,Ci as r,Di as i,E
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await $(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Z(e),n=Y(e.timeoutMs,2e4),r=J(e.ref),i=U(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw X(e,r)}}async function ut(e){let t=await H(e);P(t);let n=Y(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await U(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await U(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let t=await H(e);if(P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let n=typeof e.inputRef==`string`?e.inputRef.trim():``,r=typeof e.element==`string`?e.element.trim():``;if(n&&r)throw Error(`inputRef and element are mutually exclusive`);if(!n&&!r)throw Error(`inputRef or element is required`);let i=n?U(t,n):t.locator(r).first(),a=await l({rootDir:v,requestedPaths:e.paths,scopeLabel:`uploads directory (${v})`});if(!a.ok)throw Error(a.error);let o=a.paths;try{await i.setInputFiles(o)}catch(e){throw X(e,n||r)}try{let e=await i.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=Y(e.timeoutMs,2e4),i=await H(e);P(i);let a=await new Promise((e,n)=>{let a=!1,o,s,c=()=>{o&&clearTimeout(o),o=void 0,s&&i.off(`response`,s)};s=n=>{a||mt(t,n.url?.()||``)&&(a=!0,c(),e(n))},i.on(`response`,s),o=setTimeout(()=>{a||(a=!0,c(),n(Error(`Response not found for url pattern "${t}". Run '${ee(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,s=a.status?.(),c=a.headers?.(),l=``;try{if(typeof a.text==`function`)l=await a.text();else if(typeof a.body==`function`){let e=await a.body();l=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:s,headers:c,body:l.length>n?l.slice(0,n):l,truncated:l.length>n?!0:void 0}}async function gt(e){let n=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),r=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(r);let i=await C({cdpUrl:e.cdpUrl,page:r,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:t(Array.isArray(i?.nodes)?i.nodes:[],n)}}async function _t(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=ze(i);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});if(P(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=ze(String(r?.full??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:Ae(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Le(String(i??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:Ae(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},r=String(e.url??``).trim();if(!r)throw Error(`url is required`);await i({url:r,...n(e.ssrfPolicy)});let a=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),s=await H(e);P(s);let c=async()=>await s.goto(r,{timeout:a}),l;try{l=await c()}catch(n){if(!t(n))throw n;await W({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),s=await H(e),P(s),l=await c()}await o({request:l?.request(),...n(e.ssrfPolicy)});let u=s.url();return await p({url:u,...n(e.ssrfPolicy)}),{url:u}}async function bt(e){let t=await H(e);P(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await H(e);P(t),await t.close()}async function St(e){let t=await H(e);return P(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await H(e);P(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await H(e);P(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await H(e);if(P(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await H(e);P(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await H(e);P(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await H(e);P(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await H(e);P(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await H(e);P(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=ie[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await C({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await H(e);return P(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await H(e);P(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await H(e);P(t),await t.context().clearCookies()}async function Pt(e){let t=await H(e);P(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await H(e);P(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await H(e);P(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await H(e)).context(),n=F(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await H(e)).context(),n=F(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await De({rootDir:s,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}te();export{Ze as armDialogViaPlaywright,Xe as armFileUploadViaPlaywright,tt as clickViaPlaywright,ye as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,me as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,ve as createPageViaPlaywright,$e as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,P as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,be as focusPageByTargetIdViaPlaywright,W as forceDisconnectPlaywrightForTarget,we as getConsoleMessagesViaPlaywright,Se as getNetworkRequestsViaPlaywright,xe as getPageErrorsViaPlaywright,H as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,_e as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,U as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Qe as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
|
|
47
|
+
//# sourceMappingURL=pw-ai-DCiFlwP8.js.map
|
|
@@ -44,3 +44,4 @@ import{M as e}from"./paths-J4JUiRsa.js";import{Es as t,Fs as n,Is as r,Ls as i,O
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await $(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Z(e),n=Y(e.timeoutMs,2e4),r=J(e.ref),i=V(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw X(e,r)}}async function ut(e){let t=await B(e);M(t);let n=Y(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await B(e);M(t),j({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await V(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await B(e);M(t),j({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await V(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let n=await B(e);if(M(n),j({cdpUrl:e.cdpUrl,targetId:e.targetId,page:n}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let o=r?V(n,r):n.locator(i).first(),s=await a({rootDir:t,requestedPaths:e.paths,scopeLabel:`uploads directory (${t})`});if(!s.ok)throw Error(s.error);let c=s.paths;try{await o.setInputFiles(c)}catch(e){throw X(e,r||i)}try{let e=await o.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=Y(e.timeoutMs,2e4),i=await B(e);M(i);let a=await new Promise((e,n)=>{let a=!1,o,c,l=()=>{o&&clearTimeout(o),o=void 0,c&&i.off(`response`,c)};c=n=>{a||mt(t,n.url?.()||``)&&(a=!0,l(),e(n))},i.on(`response`,c),o=setTimeout(()=>{a||(a=!0,l(),n(Error(`Response not found for url pattern "${t}". Run '${s(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,c=a.status?.(),l=a.headers?.(),u=``;try{if(typeof a.text==`function`)u=await a.text();else if(typeof a.body==`function`){let e=await a.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:c,headers:l,body:u.length>n?u.slice(0,n):u,truncated:u.length>n?!0:void 0}}async function gt(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await B({cdpUrl:e.cdpUrl,targetId:e.targetId});M(n);let r=await S({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:_(Array.isArray(r?.nodes)?r.nodes:[],t)}}async function _t(e){let t=await B({cdpUrl:e.cdpUrl,targetId:e.targetId});M(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=ze(i);return A({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await B({cdpUrl:e.cdpUrl,targetId:e.targetId});if(M(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=ze(String(r?.full??``),e.options);return A({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:Ae(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Le(String(i??``),e.options);return A({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:Ae(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},a=String(e.url??``).trim();if(!a)throw Error(`url is required`);await n({url:a,...c(e.ssrfPolicy)});let o=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),s=await B(e);M(s);let l=async()=>await s.goto(a,{timeout:o}),u;try{u=await l()}catch(n){if(!t(n))throw n;await H({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),s=await B(e),M(s),u=await l()}await r({request:u?.request(),...c(e.ssrfPolicy)});let d=s.url();return await i({url:d,...c(e.ssrfPolicy)}),{url:d}}async function bt(e){let t=await B(e);M(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await B(e);M(t),await t.close()}async function St(e){let t=await B(e);return M(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await B(e);M(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await B(e);M(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await B(e);if(M(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await B(e);M(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await B(e);M(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await B(e);M(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await S({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await B(e);M(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await S({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await B(e);M(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=ae[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await S({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await B(e);return M(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await B(e);M(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await B(e);M(t),await t.context().clearCookies()}async function Pt(e){let t=await B(e);M(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await B(e);M(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await B(e);M(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await B(e)).context(),n=N(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await B(e)).context(),n=N(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await De({rootDir:l,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}u();export{Ze as armDialogViaPlaywright,Xe as armFileUploadViaPlaywright,tt as clickViaPlaywright,xe as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,ge as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,be as createPageViaPlaywright,$e as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,M as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,Se as focusPageByTargetIdViaPlaywright,H as forceDisconnectPlaywrightForTarget,Te as getConsoleMessagesViaPlaywright,we as getNetworkRequestsViaPlaywright,Ce as getPageErrorsViaPlaywright,B as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,ye as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,V as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Qe as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
|
|
47
|
+
//# sourceMappingURL=pw-ai-DSqXNmNZ.js.map
|
|
@@ -44,3 +44,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-CIcxeNL-.cjs`),n=requ
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let n=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(n&&i)throw Error(`inputRef and element are mutually exclusive`);if(!n&&!i)throw Error(`inputRef or element is required`);let a=n?j(t,n):t.locator(i).first(),o=await r.Nr({rootDir:r.jr,requestedPaths:e.paths,scopeLabel:`uploads directory (${r.jr})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,n||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,n)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),n(Error(`Response not found for url pattern "${t}". Run '${r.ac(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>n?u.slice(0,n):u,truncated:u.length>n?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(n);let i=await f({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:r.fr(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},n=String(e.url??``).trim();if(!n)throw Error(`url is required`);await r.Br({url:n,...r.Ur(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(n,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await r.Vr({request:s?.request(),...r.Ur(e.ssrfPolicy)});let c=a.url();return await r.Hr({url:c,...r.Ur(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),n=T(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:r.Ar,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}r.Cr(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
|
|
47
|
+
//# sourceMappingURL=pw-ai-Dh55xTz1.cjs.map
|
|
@@ -44,3 +44,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Dd7r1qlB.cjs`),n=requ
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await Pe(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function We(e){let t=await Q(e),n=X(e.timeoutMs,2e4),r=Y(e.ref),i=j(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw Z(e,r)}}async function Ge(e){let t=await A(e);w(t);let n=X(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function Ke(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await j(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function qe(e){let t=await A(e);w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await j(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function Je(e){let t=await A(e);if(w(t),C({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let r=typeof e.inputRef==`string`?e.inputRef.trim():``,i=typeof e.element==`string`?e.element.trim():``;if(r&&i)throw Error(`inputRef and element are mutually exclusive`);if(!r&&!i)throw Error(`inputRef or element is required`);let a=r?j(t,r):t.locator(i).first(),o=await n.fi({rootDir:n.ui,requestedPaths:e.paths,scopeLabel:`uploads directory (${n.ui})`});if(!o.ok)throw Error(o.error);let s=o.paths;try{await a.setInputFiles(s)}catch(e){throw Z(e,r||i)}try{let e=await a.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function Ye(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function Xe(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let r=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,i=X(e.timeoutMs,2e4),a=await A(e);w(a);let o=await new Promise((e,r)=>{let o=!1,s,c,l=()=>{s&&clearTimeout(s),s=void 0,c&&a.off(`response`,c)};c=n=>{o||Ye(t,n.url?.()||``)&&(o=!0,l(),e(n))},a.on(`response`,c),s=setTimeout(()=>{o||(o=!0,l(),r(Error(`Response not found for url pattern "${t}". Run '${n.ic(`openclaw browser requests`)}' to inspect recent network activity.`)))},i)}),s=o.url?.()||``,c=o.status?.(),l=o.headers?.(),u=``;try{if(typeof o.text==`function`)u=await o.text();else if(typeof o.body==`function`){let e=await o.body();u=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${s}": ${String(e)}`,{cause:e})}return{url:s,status:c,headers:l,body:u.length>r?u.slice(0,r):u,truncated:u.length>r?!0:void 0}}async function Ze(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),r=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(r);let i=await f({cdpUrl:e.cdpUrl,page:r,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:n.Gr(Array.isArray(i?.nodes)?i.nodes:[],t)}}async function Qe(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});w(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=W(i);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function $e(e){let t=await A({cdpUrl:e.cdpUrl,targetId:e.targetId});if(w(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=W(String(r?.full??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:R(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Ce(String(i??``),e.options);return S({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:R(a.snapshot,a.refs)}}async function et(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},r=String(e.url??``).trim();if(!r)throw Error(`url is required`);await n.yi({url:r,...n.Si(e.ssrfPolicy)});let i=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),a=await A(e);w(a);let o=async()=>await a.goto(r,{timeout:i}),s;try{s=await o()}catch(n){if(!t(n))throw n;await M({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),a=await A(e),w(a),s=await o()}await n.bi({request:s?.request(),...n.Si(e.ssrfPolicy)});let c=a.url();return await n.xi({url:c,...n.Si(e.ssrfPolicy)}),{url:c}}async function tt(e){let t=await A(e);w(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function nt(e){let t=await A(e);w(t),await t.close()}async function rt(e){let t=await A(e);return w(t),{buffer:await t.pdf({printBackground:!0})}}async function it(e){let t=await A(e);w(t),await t.context().setOffline(!!e.offline)}async function at(e){let t=await A(e);w(t),await t.context().setExtraHTTPHeaders(e.headers)}async function ot(e){let t=await A(e);if(w(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function st(e){let t=await A(e);w(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function ct(e){let t=await A(e);w(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function lt(e){let t=await A(e);w(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function ut(e){let t=await A(e);w(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function dt(e){let t=await A(e);w(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=s.devices[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await f({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function ft(e){let t=await A(e);return w(t),{cookies:await t.context().cookies()}}async function pt(e){let t=await A(e);w(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function mt(e){let t=await A(e);w(t),await t.context().clearCookies()}async function ht(e){let t=await A(e);w(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function gt(e){let t=await A(e);w(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function _t(e){let t=await A(e);w(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function vt(e){let t=(await A(e)).context(),n=T(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function yt(e){let t=(await A(e)).context(),r=T(t);if(!r.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await F({rootDir:n.li,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),r.traceActive=!1}n.ni(),exports.armDialogViaPlaywright=je,exports.armFileUploadViaPlaywright=Ae,exports.clickViaPlaywright=Ie,exports.closePageByTargetIdViaPlaywright=fe,exports.closePageViaPlaywright=nt,exports.closePlaywrightBrowserConnection=se,exports.cookiesClearViaPlaywright=mt,exports.cookiesGetViaPlaywright=ft,exports.cookiesSetViaPlaywright=pt,exports.createPageViaPlaywright=de,exports.downloadViaPlaywright=Ne,exports.dragViaPlaywright=Re,exports.emulateMediaViaPlaywright=ct,exports.ensurePageState=w,exports.evaluateViaPlaywright=Ue,exports.fillFormViaPlaywright=He,exports.focusPageByTargetIdViaPlaywright=pe,exports.forceDisconnectPlaywrightForTarget=M,exports.getConsoleMessagesViaPlaywright=ge,exports.getNetworkRequestsViaPlaywright=he,exports.getPageErrorsViaPlaywright=me,exports.getPageForTargetId=A,exports.highlightViaPlaywright=Fe,exports.hoverViaPlaywright=Le,exports.listPagesViaPlaywright=ue,exports.navigateViaPlaywright=et,exports.pdfViaPlaywright=rt,exports.pressKeyViaPlaywright=Be,exports.refLocator=j,exports.resizeViewportViaPlaywright=tt,exports.responseBodyViaPlaywright=Xe,exports.screenshotWithLabelsViaPlaywright=qe,exports.scrollIntoViewViaPlaywright=We,exports.selectOptionViaPlaywright=ze,exports.setDeviceViaPlaywright=dt,exports.setExtraHTTPHeadersViaPlaywright=at,exports.setGeolocationViaPlaywright=st,exports.setHttpCredentialsViaPlaywright=ot,exports.setInputFilesViaPlaywright=Je,exports.setLocaleViaPlaywright=lt,exports.setOfflineViaPlaywright=it,exports.setTimezoneViaPlaywright=ut,exports.snapshotAiViaPlaywright=Qe,exports.snapshotAriaViaPlaywright=Ze,exports.snapshotRoleViaPlaywright=$e,exports.storageClearViaPlaywright=_t,exports.storageGetViaPlaywright=ht,exports.storageSetViaPlaywright=gt,exports.takeScreenshotViaPlaywright=Ke,exports.traceStartViaPlaywright=vt,exports.traceStopViaPlaywright=yt,exports.typeViaPlaywright=Ve,exports.waitForDownloadViaPlaywright=Me,exports.waitForViaPlaywright=Ge;
|
|
47
|
+
//# sourceMappingURL=pw-ai-DxAvipyK.cjs.map
|
|
@@ -44,3 +44,4 @@ import{O as e}from"./paths-D55o_j8-.js";import{Gr as t,Jr as n,Kr as r,Wr as i,X
|
|
|
44
44
|
throw new Error("Invalid evaluate function: " + (err && err.message ? err.message : String(err)));
|
|
45
45
|
}
|
|
46
46
|
`);return await $(n.evaluate(r,{fnBody:t,timeoutMs:i}),c)}finally{a&&o&&a.removeEventListener(`abort`,o)}}async function lt(e){let t=await Z(e),n=Y(e.timeoutMs,2e4),r=J(e.ref),i=U(t,r);try{await i.scrollIntoViewIfNeeded({timeout:n})}catch(e){throw X(e,r)}}async function ut(e){let t=await H(e);P(t);let n=Y(e.timeoutMs,2e4);if(typeof e.timeMs==`number`&&Number.isFinite(e.timeMs)&&await t.waitForTimeout(Math.max(0,e.timeMs)),e.text&&await t.getByText(e.text).first().waitFor({state:`visible`,timeout:n}),e.textGone&&await t.getByText(e.textGone).first().waitFor({state:`hidden`,timeout:n}),e.selector){let r=String(e.selector).trim();r&&await t.locator(r).first().waitFor({state:`visible`,timeout:n})}if(e.url){let r=String(e.url).trim();r&&await t.waitForURL(r,{timeout:n})}if(e.loadState&&await t.waitForLoadState(e.loadState,{timeout:n}),e.fn){let r=String(e.fn).trim();r&&await t.waitForFunction(r,{timeout:n})}}async function dt(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`;if(e.ref){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await U(t,e.ref).screenshot({type:n})}}if(e.element){if(e.fullPage)throw Error(`fullPage is not supported for element screenshots`);return{buffer:await t.locator(e.element).first().screenshot({type:n})}}return{buffer:await t.screenshot({type:n,fullPage:!!e.fullPage})}}async function ft(e){let t=await H(e);P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t});let n=e.type??`png`,r=typeof e.maxLabels==`number`&&Number.isFinite(e.maxLabels)?Math.max(1,Math.floor(e.maxLabels)):150,i=await t.evaluate(()=>({scrollX:window.scrollX||0,scrollY:window.scrollY||0,width:window.innerWidth||0,height:window.innerHeight||0})),a=Object.keys(e.refs??{}),o=[],s=0;for(let e of a){if(o.length>=r){s+=1;continue}try{let n=await U(t,e).boundingBox();if(!n){s+=1;continue}let r=n.x,a=n.y,c=n.x+n.width,l=n.y+n.height,u=i.scrollX,d=i.scrollY,f=i.scrollX+i.width,p=i.scrollY+i.height;if(c<u||r>f||l<d||a>p){s+=1;continue}o.push({ref:e,x:r-i.scrollX,y:a-i.scrollY,w:Math.max(1,n.width),h:Math.max(1,n.height)})}catch{s+=1}}try{return o.length>0&&await t.evaluate(e=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove());let t=document.createElement(`div`);t.setAttribute(`data-openclaw-labels`,`1`),t.style.position=`fixed`,t.style.left=`0`,t.style.top=`0`,t.style.zIndex=`2147483647`,t.style.pointerEvents=`none`,t.style.fontFamily=`"SF Mono","SFMono-Regular",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace`;let n=(e,t,n)=>Math.min(n,Math.max(t,e));for(let r of e){let e=document.createElement(`div`);e.setAttribute(`data-openclaw-labels`,`1`),e.style.position=`absolute`,e.style.left=`${r.x}px`,e.style.top=`${r.y}px`,e.style.width=`${r.w}px`,e.style.height=`${r.h}px`,e.style.border=`2px solid #ffb020`,e.style.boxSizing=`border-box`;let i=document.createElement(`div`);i.setAttribute(`data-openclaw-labels`,`1`),i.textContent=r.ref,i.style.position=`absolute`,i.style.left=`${r.x}px`,i.style.top=`${n(r.y-18,0,2e4)}px`,i.style.background=`#ffb020`,i.style.color=`#1a1a1a`,i.style.fontSize=`12px`,i.style.lineHeight=`14px`,i.style.padding=`1px 4px`,i.style.borderRadius=`3px`,i.style.boxShadow=`0 1px 2px rgba(0,0,0,0.35)`,i.style.whiteSpace=`nowrap`,t.appendChild(e),t.appendChild(i)}document.documentElement.appendChild(t)},o),{buffer:await t.screenshot({type:n}),labels:o.length,skipped:s}}finally{await t.evaluate(()=>{document.querySelectorAll(`[data-openclaw-labels]`).forEach(e=>e.remove())}).catch(()=>{})}}async function pt(e){let t=await H(e);if(P(t),N({cdpUrl:e.cdpUrl,targetId:e.targetId,page:t}),!e.paths.length)throw Error(`paths are required`);let n=typeof e.inputRef==`string`?e.inputRef.trim():``,r=typeof e.element==`string`?e.element.trim():``;if(n&&r)throw Error(`inputRef and element are mutually exclusive`);if(!n&&!r)throw Error(`inputRef or element is required`);let i=n?U(t,n):t.locator(r).first(),a=await u({rootDir:p,requestedPaths:e.paths,scopeLabel:`uploads directory (${p})`});if(!a.ok)throw Error(a.error);let o=a.paths;try{await i.setInputFiles(o)}catch(e){throw X(e,n||r)}try{let e=await i.elementHandle();e&&await e.evaluate(e=>{e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.dispatchEvent(new Event(`change`,{bubbles:!0}))})}catch{}}function mt(e,t){let n=e.trim();if(!n)return!1;if(n===t)return!0;if(n.includes(`*`)){let e=n.replace(/[|\\{}()[\]^$+?.]/g,`\\$&`);return RegExp(`^${e.replace(/\*\*/g,`.*`).replace(/\*/g,`.*`)}$`).test(t)}return t.includes(n)}async function ht(e){let t=String(e.url??``).trim();if(!t)throw Error(`url is required`);let n=typeof e.maxChars==`number`&&Number.isFinite(e.maxChars)?Math.max(1,Math.min(5e6,Math.floor(e.maxChars))):2e5,r=Y(e.timeoutMs,2e4),i=await H(e);P(i);let a=await new Promise((e,n)=>{let a=!1,o,s,c=()=>{o&&clearTimeout(o),o=void 0,s&&i.off(`response`,s)};s=n=>{a||mt(t,n.url?.()||``)&&(a=!0,c(),e(n))},i.on(`response`,s),o=setTimeout(()=>{a||(a=!0,c(),n(Error(`Response not found for url pattern "${t}". Run '${d(`openclaw browser requests`)}' to inspect recent network activity.`)))},r)}),o=a.url?.()||``,s=a.status?.(),c=a.headers?.(),l=``;try{if(typeof a.text==`function`)l=await a.text();else if(typeof a.body==`function`){let e=await a.body();l=new TextDecoder(`utf-8`).decode(e)}}catch(e){throw Error(`Failed to read response body for "${o}": ${String(e)}`,{cause:e})}return{url:o,status:s,headers:c,body:l.length>n?l.slice(0,n):l,truncated:l.length>n?!0:void 0}}async function gt(e){let t=Math.max(1,Math.min(2e3,Math.floor(e.limit??500))),n=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(n);let r=await w({cdpUrl:e.cdpUrl,page:n,targetId:e.targetId,fn:async e=>(await e(`Accessibility.enable`).catch(()=>{}),await e(`Accessibility.getFullAXTree`))});return{nodes:i(Array.isArray(r?.nodes)?r.nodes:[],t)}}async function _t(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});P(t);let n=t;if(!n._snapshotForAI)throw Error(`Playwright _snapshotForAI is not available. Upgrade playwright-core.`);let r=await n._snapshotForAI({timeout:Math.max(500,Math.min(6e4,Math.floor(e.timeoutMs??5e3))),track:`response`}),i=String(r?.full??``),a=e.maxChars,o=typeof a==`number`&&Number.isFinite(a)&&a>0?Math.floor(a):void 0,s=!1;o&&i.length>o&&(i=`${i.slice(0,o)}\n\n[...TRUNCATED - page too large]`,s=!0);let c=ze(i);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:c.refs,mode:`aria`}),s?{snapshot:i,truncated:s,refs:c.refs}:{snapshot:i,refs:c.refs}}async function vt(e){let t=await H({cdpUrl:e.cdpUrl,targetId:e.targetId});if(P(t),e.refsMode===`aria`){if(e.selector?.trim()||e.frameSelector?.trim())throw Error(`refs=aria does not support selector/frame snapshots yet.`);let n=t;if(!n._snapshotForAI)throw Error(`refs=aria requires Playwright _snapshotForAI support.`);let r=await n._snapshotForAI({timeout:5e3,track:`response`}),i=ze(String(r?.full??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:i.refs,mode:`aria`}),{snapshot:i.snapshot,refs:i.refs,stats:Ae(i.snapshot,i.refs)}}let n=e.frameSelector?.trim()||``,r=e.selector?.trim()||``,i=await(n?r?t.frameLocator(n).locator(r):t.frameLocator(n).locator(`:root`):r?t.locator(r):t.locator(`:root`)).ariaSnapshot(),a=Le(String(i??``),e.options);return M({page:t,cdpUrl:e.cdpUrl,targetId:e.targetId,refs:a.refs,frameSelector:n||void 0,mode:`role`}),{snapshot:a.snapshot,refs:a.refs,stats:Ae(a.snapshot,a.refs)}}async function yt(e){let t=e=>{let t=typeof e==`string`?e.toLowerCase():e instanceof Error?e.message.toLowerCase():``;return t.includes(`frame has been detached`)||t.includes(`target page, context or browser has been closed`)},n=String(e.url??``).trim();if(!n)throw Error(`url is required`);await v({url:n,...y(e.ssrfPolicy)});let r=Math.max(1e3,Math.min(12e4,e.timeoutMs??2e4)),i=await H(e);P(i);let a=async()=>await i.goto(n,{timeout:r}),o;try{o=await a()}catch(n){if(!t(n))throw n;await W({cdpUrl:e.cdpUrl,targetId:e.targetId,reason:`retry navigate after detached frame`}).catch(()=>{}),i=await H(e),P(i),o=await a()}await ee({request:o?.request(),...y(e.ssrfPolicy)});let s=i.url();return await c({url:s,...y(e.ssrfPolicy)}),{url:s}}async function bt(e){let t=await H(e);P(t),await t.setViewportSize({width:Math.max(1,Math.floor(e.width)),height:Math.max(1,Math.floor(e.height))})}async function xt(e){let t=await H(e);P(t),await t.close()}async function St(e){let t=await H(e);return P(t),{buffer:await t.pdf({printBackground:!0})}}async function Ct(e){let t=await H(e);P(t),await t.context().setOffline(!!e.offline)}async function wt(e){let t=await H(e);P(t),await t.context().setExtraHTTPHeaders(e.headers)}async function Tt(e){let t=await H(e);if(P(t),e.clear){await t.context().setHTTPCredentials(null);return}let n=String(e.username??``),r=String(e.password??``);if(!n)throw Error(`username is required (or set clear=true)`);await t.context().setHTTPCredentials({username:n,password:r})}async function Et(e){let t=await H(e);P(t);let n=t.context();if(e.clear){await n.setGeolocation(null),await n.clearPermissions().catch(()=>{});return}if(typeof e.latitude!=`number`||typeof e.longitude!=`number`)throw Error(`latitude and longitude are required (or set clear=true)`);await n.setGeolocation({latitude:e.latitude,longitude:e.longitude,accuracy:typeof e.accuracy==`number`?e.accuracy:void 0});let r=e.origin?.trim()||(()=>{try{return new URL(t.url()).origin}catch{return``}})();r&&await n.grantPermissions([`geolocation`],{origin:r}).catch(()=>{})}async function Dt(e){let t=await H(e);P(t),await t.emulateMedia({colorScheme:e.colorScheme})}async function Ot(e){let t=await H(e);P(t);let n=String(e.locale??``).trim();if(!n)throw Error(`locale is required`);await w({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setLocaleOverride`,{locale:n})}catch(e){if(String(e).includes(`Another locale override is already in effect`))return;throw e}}})}async function kt(e){let t=await H(e);P(t);let n=String(e.timezoneId??``).trim();if(!n)throw Error(`timezoneId is required`);await w({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{try{await e(`Emulation.setTimezoneOverride`,{timezoneId:n})}catch(e){let t=String(e);if(t.includes(`Timezone override is already in effect`))return;throw t.includes(`Invalid timezone`)?Error(`Invalid timezone ID: ${n}`,{cause:e}):e}}})}async function At(e){let t=await H(e);P(t);let n=String(e.name??``).trim();if(!n)throw Error(`device name is required`);let r=re[n];if(!r)throw Error(`Unknown device "${n}".`);r.viewport&&await t.setViewportSize({width:r.viewport.width,height:r.viewport.height}),await w({cdpUrl:e.cdpUrl,page:t,targetId:e.targetId,fn:async e=>{(r.userAgent||r.locale)&&await e(`Emulation.setUserAgentOverride`,{userAgent:r.userAgent??``,acceptLanguage:r.locale??void 0}),r.viewport&&await e(`Emulation.setDeviceMetricsOverride`,{mobile:!!r.isMobile,width:r.viewport.width,height:r.viewport.height,deviceScaleFactor:r.deviceScaleFactor??1,screenWidth:r.viewport.width,screenHeight:r.viewport.height}),r.hasTouch&&await e(`Emulation.setTouchEmulationEnabled`,{enabled:!0})}})}async function jt(e){let t=await H(e);return P(t),{cookies:await t.context().cookies()}}async function Mt(e){let t=await H(e);P(t);let n=e.cookie;if(!n.name||n.value===void 0)throw Error(`cookie name and value are required`);let r=typeof n.url==`string`&&n.url.trim(),i=typeof n.domain==`string`&&n.domain.trim()&&typeof n.path==`string`&&n.path.trim();if(!r&&!i)throw Error(`cookie requires url, or domain+path`);await t.context().addCookies([n])}async function Nt(e){let t=await H(e);P(t),await t.context().clearCookies()}async function Pt(e){let t=await H(e);P(t);let n=e.kind,r=typeof e.key==`string`?e.key:void 0;return{values:await t.evaluate(({kind:e,key:t})=>{let n=e===`session`?window.sessionStorage:window.localStorage;if(t){let e=n.getItem(t);return e===null?{}:{[t]:e}}let r={};for(let e=0;e<n.length;e+=1){let t=n.key(e);if(!t)continue;let i=n.getItem(t);i!==null&&(r[t]=i)}return r},{kind:n,key:r})??{}}}async function Ft(e){let t=await H(e);P(t);let n=String(e.key??``);if(!n)throw Error(`key is required`);await t.evaluate(({kind:e,key:t,value:n})=>{(e===`session`?window.sessionStorage:window.localStorage).setItem(t,n)},{kind:e.kind,key:n,value:String(e.value??``)})}async function It(e){let t=await H(e);P(t),await t.evaluate(({kind:e})=>{(e===`session`?window.sessionStorage:window.localStorage).clear()},{kind:e.kind})}async function Lt(e){let t=(await H(e)).context(),n=F(t);if(n.traceActive)throw Error(`Trace already running. Stop the current trace before starting a new one.`);await t.tracing.start({screenshots:e.screenshots??!0,snapshots:e.snapshots??!0,sources:e.sources??!1}),n.traceActive=!0}async function Rt(e){let t=(await H(e)).context(),n=F(t);if(!n.traceActive)throw Error(`No active trace. Start a trace before stopping it.`);await De({rootDir:l,targetPath:e.path,writeTemp:async e=>{await t.tracing.stop({path:e})}}),n.traceActive=!1}_();export{Ze as armDialogViaPlaywright,Xe as armFileUploadViaPlaywright,tt as clickViaPlaywright,ye as closePageByTargetIdViaPlaywright,xt as closePageViaPlaywright,me as closePlaywrightBrowserConnection,Nt as cookiesClearViaPlaywright,jt as cookiesGetViaPlaywright,Mt as cookiesSetViaPlaywright,ve as createPageViaPlaywright,$e as downloadViaPlaywright,rt as dragViaPlaywright,Dt as emulateMediaViaPlaywright,P as ensurePageState,ct as evaluateViaPlaywright,st as fillFormViaPlaywright,be as focusPageByTargetIdViaPlaywright,W as forceDisconnectPlaywrightForTarget,we as getConsoleMessagesViaPlaywright,Se as getNetworkRequestsViaPlaywright,xe as getPageErrorsViaPlaywright,H as getPageForTargetId,et as highlightViaPlaywright,nt as hoverViaPlaywright,_e as listPagesViaPlaywright,yt as navigateViaPlaywright,St as pdfViaPlaywright,at as pressKeyViaPlaywright,U as refLocator,bt as resizeViewportViaPlaywright,ht as responseBodyViaPlaywright,ft as screenshotWithLabelsViaPlaywright,lt as scrollIntoViewViaPlaywright,it as selectOptionViaPlaywright,At as setDeviceViaPlaywright,wt as setExtraHTTPHeadersViaPlaywright,Et as setGeolocationViaPlaywright,Tt as setHttpCredentialsViaPlaywright,pt as setInputFilesViaPlaywright,Ot as setLocaleViaPlaywright,Ct as setOfflineViaPlaywright,kt as setTimezoneViaPlaywright,_t as snapshotAiViaPlaywright,gt as snapshotAriaViaPlaywright,vt as snapshotRoleViaPlaywright,It as storageClearViaPlaywright,Pt as storageGetViaPlaywright,Ft as storageSetViaPlaywright,dt as takeScreenshotViaPlaywright,Lt as traceStartViaPlaywright,Rt as traceStopViaPlaywright,ot as typeViaPlaywright,Qe as waitForDownloadViaPlaywright,ut as waitForViaPlaywright};
|
|
47
|
+
//# sourceMappingURL=pw-ai-U9nPHH-0.js.map
|
|
@@ -3,3 +3,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Dd7r1qlB.cjs`),n=requ
|
|
|
3
3
|
`),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await N(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);E.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,E.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||i.default.join(o.default.homedir(),`.cache`),t=i.default.join(e,`qmd`,`models`),n=i.default.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await s.default.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await s.default.lstat(n);return}catch{}try{await s.default.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await s.default.symlink(t,n,`junction`);else throw e}E.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){E.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await f({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:u({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,E.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){E.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await f({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=u({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!d({err:t,command:r.command,commandBase:`mcporter`}))throw t;return E.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let i=Math.max(1,t??1),a=Math.max(1,n??1/0),o;try{o=await s.default.open(e)}catch(e){if(r.C(e))return{missing:!0};throw e}let l=o.createReadStream({encoding:`utf-8`}),u=c.default.createInterface({input:l,crlfDelay:1/0}),d=[],f=0;try{for await(let e of u)if(f+=1,!(f<i)){if(d.length>=a)break;d.push(e)}}finally{u.close(),await o.close()}return{missing:!1,text:d.slice(0,a).join(`
|
|
4
4
|
`)}}async readFullText(e){try{return{missing:!1,text:await s.default.readFile(e,`utf-8`)}}catch(e){if(r.C(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=r.r();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await s.default.mkdir(e,{recursive:!0});let n=await r.a(this.agentId),a=new Set,o=new Set,c=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let s of n){let n=await r.i(s);if(!n||c&&n.mtimeMs<c)continue;let l=`${i.default.basename(s,`.jsonl`)}.md`,u=i.default.join(e,l);o.add(s);let d=this.exportedSessionState.get(s);(!d||d.hash!==n.hash||d.mtimeMs!==n.mtimeMs)&&await t.k({rootDir:e,relativePath:l,data:this.renderSessionMarkdown(n),encoding:`utf-8`}),this.exportedSessionState.set(s,{hash:n.hash,mtimeMs:n.mtimeMs,target:u}),a.add(u)}let l=await s.default.readdir(e).catch(()=>[]);for(let t of l){if(!t.endsWith(`.md`))continue;let n=i.default.join(e,t);a.has(n)||await s.default.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!o.has(t)||!n.target.startsWith(e+i.default.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${i.default.basename(e.absPath,i.default.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(E.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let a=i.default.normalize(r),o=i.default.isAbsolute(a)?a:i.default.resolve(n.path,a);if(!this.isWithinRoot(n.path,o))return null;let s=i.default.relative(n.path,o);return!s||s===`.`?null:s.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=i.default.normalize(t.preferredFile);for(let t of e){let e=i.default.normalize(t.path);if(e!==n&&!e.endsWith(i.default.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=D.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
|
|
5
5
|
`).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return E.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=h(e)??`unknown`,n=g(e)??`unknown`,r=e?.trim()||`<none>`;E.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return m(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),a=i.default.normalize(i.default.resolve(n.path,t)),o=i.default.relative(this.workspaceDir,a);return{rel:this.buildSearchPath(e,r,o,a),abs:a,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||i.default.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${i.default.sep}`)?!1:!i.default.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let a=n.join(`/`),o=i.default.resolve(r.path,a);if(!this.isWithinRoot(r.path,o))throw Error(`qmd path escapes collection`);return o}let t=i.default.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(i.default.sep)?this.workspaceDir:`${this.workspaceDir}${i.default.sep}`;return e===this.workspaceDir?!0:(e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`;return t===e?!0:(t.endsWith(i.default.sep)?t:`${t}${i.default.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){E.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=b(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?M(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};exports.QmdMemoryManager=P;
|
|
6
|
+
//# sourceMappingURL=qmd-manager-B3xNbdye.cjs.map
|
|
@@ -3,3 +3,4 @@ import{W as e,c as t,k as n,l as r,qt as i}from"./paths-cBAF6Bj0.js";import{O as
|
|
|
3
3
|
`),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await H(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);F.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,F.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||p.join(m.homedir(),`.cache`),t=p.join(e,`qmd`,`models`),n=p.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await h.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await h.lstat(n);return}catch{}try{await h.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await h.symlink(t,n,`junction`);else throw e}F.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){F.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await x({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:y({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,F.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){F.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await x({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=y({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!b({err:t,command:r.command,commandBase:`mcporter`}))throw t;return F.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let r=Math.max(1,t??1),i=Math.max(1,n??1/0),a;try{a=await h.open(e)}catch(e){if(s(e))return{missing:!0};throw e}let o=a.createReadStream({encoding:`utf-8`}),c=_.createInterface({input:o,crlfDelay:1/0}),l=[],u=0;try{for await(let e of c)if(u+=1,!(u<r)){if(l.length>=i)break;l.push(e)}}finally{c.close(),await a.close()}return{missing:!1,text:l.slice(0,i).join(`
|
|
4
4
|
`)}}async readFullText(e){try{return{missing:!1,text:await h.readFile(e,`utf-8`)}}catch(e){if(s(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=u();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await h.mkdir(e,{recursive:!0});let t=await c(this.agentId),r=new Set,i=new Set,a=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let o of t){let t=await l(o);if(!t||a&&t.mtimeMs<a)continue;let s=`${p.basename(o,`.jsonl`)}.md`,c=p.join(e,s);i.add(o);let u=this.exportedSessionState.get(o);(!u||u.hash!==t.hash||u.mtimeMs!==t.mtimeMs)&&await n({rootDir:e,relativePath:s,data:this.renderSessionMarkdown(t),encoding:`utf-8`}),this.exportedSessionState.set(o,{hash:t.hash,mtimeMs:t.mtimeMs,target:c}),r.add(c)}let o=await h.readdir(e).catch(()=>[]);for(let t of o){if(!t.endsWith(`.md`))continue;let n=p.join(e,t);r.has(n)||await h.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!i.has(t)||!n.target.startsWith(e+p.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${p.basename(e.absPath,p.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(F.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let i=p.normalize(r),a=p.isAbsolute(i)?i:p.resolve(n.path,i);if(!this.isWithinRoot(n.path,a))return null;let o=p.relative(n.path,a);return!o||o===`.`?null:o.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=p.normalize(t.preferredFile);for(let t of e){let e=p.normalize(t.path);if(e!==n&&!e.endsWith(p.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=I.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
|
|
5
5
|
`).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return F.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=w(e)??`unknown`,n=T(e)??`unknown`,r=e?.trim()||`<none>`;F.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return C(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),i=p.normalize(p.resolve(n.path,t)),a=p.relative(this.workspaceDir,i);return{rel:this.buildSearchPath(e,r,a,i),abs:i,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||p.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${p.sep}`)?!1:!p.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let i=n.join(`/`),a=p.resolve(r.path,i);if(!this.isWithinRoot(r.path,a))throw Error(`qmd path escapes collection`);return a}let t=p.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(p.sep)?this.workspaceDir:`${this.workspaceDir}${p.sep}`;return e===this.workspaceDir?!0:(e.endsWith(p.sep)?e:`${e}${p.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(p.sep)?e:`${e}${p.sep}`;return t===e?!0:(t.endsWith(p.sep)?t:`${t}${p.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){F.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=k(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?V(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};export{U as QmdMemoryManager};
|
|
6
|
+
//# sourceMappingURL=qmd-manager-BMyDNBPi.js.map
|
|
@@ -3,3 +3,4 @@ const e=require(`./paths-Bcdg3ma0.cjs`),t=require(`./paths-Cqca1YmF.cjs`),n=requ
|
|
|
3
3
|
`),path:t}}status(){let e=this.readCounts();return{backend:`qmd`,provider:`qmd`,model:`qmd`,requestedProvider:`qmd`,files:e.totalDocuments,chunks:e.totalDocuments,dirty:!1,workspaceDir:this.workspaceDir,dbPath:this.indexPath,sources:Array.from(this.sources),sourceCounts:e.sourceCounts,vector:{enabled:!0,available:!0},batch:{enabled:!1,failures:0,limit:0,wait:!1,concurrency:0,pollIntervalMs:0,timeoutMs:0},custom:{qmd:{collections:this.qmd.collections.length,lastUpdateAt:this.lastUpdateAt}}}}async probeEmbeddingAvailability(){return{ok:!0}}async probeVectorAvailability(){return!0}async close(){this.closed||(this.closed=!0,this.updateTimer&&=(clearInterval(this.updateTimer),null),this.queuedForcedRuns=0,await this.pendingUpdate?.catch(()=>void 0),await this.queuedForcedUpdate?.catch(()=>void 0),this.db&&=(this.db.close(),null))}async runUpdate(e,t,n){if(!this.closed){if(this.pendingUpdate)return t?this.enqueueForcedUpdate(e):this.pendingUpdate;if(this.queuedForcedUpdate&&!n?.fromForcedQueue)return t?this.enqueueForcedUpdate(e):this.queuedForcedUpdate;this.shouldSkipUpdate(t)||(this.pendingUpdate=(async()=>{if(this.sessionExporter&&await this.exportSessions(),await this.runQmdUpdateWithRetry(e),this.shouldRunEmbed(t))try{await N(async()=>{await this.runQmd([`embed`],{timeoutMs:this.qmd.update.embedTimeoutMs,discardOutput:!0})}),this.lastEmbedAt=Date.now(),this.embedBackoffUntil=null,this.embedFailureCount=0}catch(t){this.noteEmbedFailure(e,t)}this.lastUpdateAt=Date.now(),this.docPathCache.clear()})().finally(()=>{this.pendingUpdate=null}),await this.pendingUpdate)}}async runQmdUpdateWithRetry(e){let t=e===`boot`||e.startsWith(`boot:`)?3:1;for(let n=1;n<=t;n+=1)try{await this.runQmdUpdateOnce(e);return}catch(r){if(n>=t||!this.isRetryableUpdateError(r))throw r;let i=500*2**(n-1);E.warn(`qmd update retry ${n}/${t-1} after failure (${e}): ${String(r)}`),await new Promise(e=>setTimeout(e,i))}}async runQmdUpdateOnce(e){try{await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}catch(t){if(!await this.tryRepairNullByteCollections(t,e)&&!await this.tryRepairDuplicateDocumentConstraint(t,e))throw t;await this.runQmd([`update`],{timeoutMs:this.qmd.update.updateTimeoutMs,discardOutput:!0})}}isRetryableUpdateError(e){return this.isSqliteBusyError(e)?!0:(e instanceof Error?e.message:String(e)).toLowerCase().includes(`timed out`)}shouldRunEmbed(e){if(this.qmd.searchMode===`search`)return!1;let t=Date.now();if(this.embedBackoffUntil!==null&&t<this.embedBackoffUntil)return!1;let n=this.qmd.update.embedIntervalMs;return!!e||this.lastEmbedAt===null||n>0&&t-this.lastEmbedAt>n}noteEmbedFailure(e,t){this.embedFailureCount+=1;let n=Math.min(36e5,6e4*2**Math.max(0,this.embedFailureCount-1));this.embedBackoffUntil=Date.now()+n,E.warn(`qmd embed failed (${e}): ${String(t)}; backing off for ${Math.ceil(n/1e3)}s`)}enqueueForcedUpdate(e){return this.queuedForcedRuns+=1,this.queuedForcedUpdate||=this.drainForcedUpdates(e).finally(()=>{this.queuedForcedUpdate=null}),this.queuedForcedUpdate}async drainForcedUpdates(e){for(await this.pendingUpdate?.catch(()=>void 0);!this.closed&&this.queuedForcedRuns>0;)--this.queuedForcedRuns,await this.runUpdate(`${e}:queued`,!0,{fromForcedQueue:!0})}async symlinkSharedModels(){let e=process.env.XDG_CACHE_HOME||(process.platform===`win32`?process.env.LOCALAPPDATA:void 0)||i.default.join(o.default.homedir(),`.cache`),t=i.default.join(e,`qmd`,`models`),n=i.default.join(this.xdgCacheHome,`qmd`,`models`);try{if(!(await s.default.stat(t).catch(e=>{if(e.code===`ENOENT`)return null;throw e}))?.isDirectory())return;try{await s.default.lstat(n);return}catch{}try{await s.default.symlink(t,n,`dir`)}catch(e){let r=e.code;if(process.platform===`win32`&&(r===`EPERM`||r===`ENOTSUP`))await s.default.symlink(t,n,`junction`);else throw e}E.debug(`symlinked qmd models: ${t} → ${n}`)}catch(e){E.warn(`failed to symlink qmd models directory: ${String(e)}`)}}async runQmd(e,t){return await f({commandSummary:`qmd ${e.join(` `)}`,spawnInvocation:u({command:this.qmd.command,args:e,env:this.env,packageName:`qmd`}),env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars,discardStdout:t?.discardOutput})}async ensureMcporterDaemonStarted(e){if(!e.enabled)return;if(!e.startDaemon){let e=globalThis;e.__openclawMcporterColdStartWarned||(e.__openclawMcporterColdStartWarned=!0,E.warn(`mcporter qmd bridge enabled but startDaemon=false; each query may cold-start QMD MCP. Consider setting memory.qmd.mcporter.startDaemon=true to keep it warm.`));return}let t=globalThis;t.__openclawMcporterDaemonStart||=(async()=>{try{await this.runMcporter([`daemon`,`start`],{timeoutMs:1e4})}catch(e){E.warn(`mcporter daemon start failed: ${String(e)}`),delete t.__openclawMcporterDaemonStart}})(),await t.__openclawMcporterDaemonStart}async runMcporter(e,t){let n=async e=>await f({commandSummary:`${e.command} ${e.argv.join(` `)}`,spawnInvocation:e,env:this.env,cwd:this.workspaceDir,timeoutMs:t?.timeoutMs,maxOutputChars:this.maxQmdOutputChars}),r=u({command:`mcporter`,args:e,env:this.env,packageName:`mcporter`});try{return await n(r)}catch(t){if(!d({err:t,command:r.command,commandBase:`mcporter`}))throw t;return E.warn(`mcporter.cmd spawn returned EINVAL on Windows; retrying with bare mcporter`),await n({command:`mcporter`,argv:e,shell:!0,windowsHide:!0})}}async runQmdSearchViaMcporter(e){await this.ensureMcporterDaemonStarted(e.mcporter);let t=`${e.mcporter.serverName}.${e.tool}`,n={query:e.query,limit:e.limit,minScore:e.minScore};e.collection&&(n.collection=e.collection);let r=await this.runMcporter([`call`,t,`--args`,JSON.stringify(n),`--output`,`json`,`--timeout`,String(Math.max(0,e.timeoutMs))],{timeoutMs:Math.max(e.timeoutMs+2e3,5e3)}),i=JSON.parse(r.stdout),a=e=>typeof e==`object`&&!!e&&!Array.isArray(e),o=a(i)&&a(i.structuredContent)?i.structuredContent:i,s=a(o)&&Array.isArray(o.results)?o.results:Array.isArray(o)?o:[],c=[];for(let e of s){if(!a(e))continue;let t=e.docid,n=typeof t==`string`?t.replace(/^#/,``).trim():``;if(!n)continue;let r=e.score,i=typeof r==`number`?r:Number(r),o=typeof e.snippet==`string`?e.snippet:``;c.push({docid:n,score:Number.isFinite(i)?i:0,snippet:o})}return c}async readPartialText(e,t,n){let i=Math.max(1,t??1),a=Math.max(1,n??1/0),o;try{o=await s.default.open(e)}catch(e){if(r.C(e))return{missing:!0};throw e}let l=o.createReadStream({encoding:`utf-8`}),u=c.default.createInterface({input:l,crlfDelay:1/0}),d=[],f=0;try{for await(let e of u)if(f+=1,!(f<i)){if(d.length>=a)break;d.push(e)}}finally{u.close(),await o.close()}return{missing:!1,text:d.slice(0,a).join(`
|
|
4
4
|
`)}}async readFullText(e){try{return{missing:!1,text:await s.default.readFile(e,`utf-8`)}}catch(e){if(r.C(e))return{missing:!0};throw e}}ensureDb(){if(this.db)return this.db;let{DatabaseSync:e}=r.r();return this.db=new e(this.indexPath,{readOnly:!0}),this.db.exec(`PRAGMA busy_timeout = 1000`),this.db}async exportSessions(){if(!this.sessionExporter)return;let e=this.sessionExporter.dir;await s.default.mkdir(e,{recursive:!0});let n=await r.a(this.agentId),a=new Set,o=new Set,c=this.sessionExporter.retentionMs?Date.now()-this.sessionExporter.retentionMs:null;for(let s of n){let n=await r.i(s);if(!n||c&&n.mtimeMs<c)continue;let l=`${i.default.basename(s,`.jsonl`)}.md`,u=i.default.join(e,l);o.add(s);let d=this.exportedSessionState.get(s);(!d||d.hash!==n.hash||d.mtimeMs!==n.mtimeMs)&&await t.k({rootDir:e,relativePath:l,data:this.renderSessionMarkdown(n),encoding:`utf-8`}),this.exportedSessionState.set(s,{hash:n.hash,mtimeMs:n.mtimeMs,target:u}),a.add(u)}let l=await s.default.readdir(e).catch(()=>[]);for(let t of l){if(!t.endsWith(`.md`))continue;let n=i.default.join(e,t);a.has(n)||await s.default.rm(n,{force:!0})}for(let[t,n]of this.exportedSessionState)(!o.has(t)||!n.target.startsWith(e+i.default.sep))&&this.exportedSessionState.delete(t)}renderSessionMarkdown(e){return`${`# Session ${i.default.basename(e.absPath,i.default.extname(e.absPath))}`}\n\n${e.content?.trim().length?e.content.trim():`(empty)`}\n`}pickSessionCollectionName(){let e=new Set(this.qmd.collections.map(e=>e.name)),t=`sessions-${this.sanitizeCollectionNameSegment(this.agentId)}`;if(!e.has(t))return t;let n=2,r=`${t}-${n}`;for(;e.has(r);)n+=1,r=`${t}-${n}`;return r}sanitizeCollectionNameSegment(e){return e.toLowerCase().replace(/[^a-z0-9-]+/g,`-`).replace(/^-+|-+$/g,``)||`agent`}async resolveDocLocation(e,t){let n=this.normalizeDocHints(t);if(!e)return this.resolveDocLocationFromHints(n);let r=e.startsWith(`#`)?e.slice(1):e;if(!r)return null;let i=`${n.preferredCollection??`*`}:${r}`,a=this.docPathCache.get(i);if(a)return a;let o=this.ensureDb(),s=[];try{s=o.prepare(`SELECT collection, path FROM documents WHERE hash = ? AND active = 1`).all(r),s.length===0&&(s=o.prepare(`SELECT collection, path FROM documents WHERE hash LIKE ? AND active = 1`).all(`${r}%`))}catch(e){throw this.isSqliteBusyError(e)?(E.debug(`qmd index is busy while resolving doc path: ${String(e)}`),this.createQmdBusyError(e)):e}if(s.length===0)return null;let c=this.pickDocLocation(s,n);return c?(this.docPathCache.set(i,c),c):null}resolveDocLocationFromHints(e){if(!e.preferredCollection||!e.preferredFile)return null;let t=this.toCollectionRelativePath(e.preferredCollection,e.preferredFile);return t?this.toDocLocation(e.preferredCollection,t):null}normalizeDocHints(e){let t=e?.preferredCollection?.trim(),n=e?.preferredFile?.trim();if(!n)return t?{preferredCollection:t}:{};let r=this.parseQmdFileUri(n);return{preferredCollection:r?.collection??t,preferredFile:r?.collectionRelativePath??n}}parseQmdFileUri(e){if(!e.toLowerCase().startsWith(`qmd://`))return null;try{let t=new URL(e),n=decodeURIComponent(t.hostname).trim(),r=decodeURIComponent(t.pathname).replace(/^\/+/,``).trim();return!n&&!r?null:{collection:n||void 0,collectionRelativePath:r||void 0}}catch{return null}}toCollectionRelativePath(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.trim();if(!r)return null;let a=i.default.normalize(r),o=i.default.isAbsolute(a)?a:i.default.resolve(n.path,a);if(!this.isWithinRoot(n.path,o))return null;let s=i.default.relative(n.path,o);return!s||s===`.`?null:s.replace(/\\/g,`/`)}pickDocLocation(e,t){if(t?.preferredCollection)for(let n of e){if(n.collection!==t.preferredCollection)continue;let e=this.toDocLocation(n.collection,n.path);if(e)return e}if(t?.preferredFile){let n=i.default.normalize(t.preferredFile);for(let t of e){let e=i.default.normalize(t.path);if(e!==n&&!e.endsWith(i.default.sep+n))continue;let r=this.toDocLocation(t.collection,t.path);if(r)return r}}for(let t of e){let e=this.toDocLocation(t.collection,t.path);if(e)return e}return null}extractSnippetLines(e){let t=D.exec(e);if(t){let e=Number(t[1]),n=Number(t[2]);if(Number.isFinite(e)&&Number.isFinite(n))return{startLine:e,endLine:e+n-1}}return{startLine:1,endLine:e.split(`
|
|
5
5
|
`).length}}readCounts(){try{let e=this.ensureDb().prepare(`SELECT collection, COUNT(*) as c FROM documents WHERE active = 1 GROUP BY collection`).all(),t=new Map;for(let e of this.sources)t.set(e,{files:0,chunks:0});let n=0;for(let r of e){let e=this.collectionRoots.get(r.collection)?.kind??`memory`,i=t.get(e)??{files:0,chunks:0};i.files+=r.c??0,i.chunks+=r.c??0,t.set(e,i),n+=r.c??0}return{totalDocuments:n,sourceCounts:Array.from(t.entries()).map(([e,t])=>({source:e,files:t.files,chunks:t.chunks}))}}catch(e){return E.warn(`failed to read qmd index stats: ${String(e)}`),{totalDocuments:0,sourceCounts:Array.from(this.sources).map(e=>({source:e,files:0,chunks:0}))}}}logScopeDenied(e){let t=h(e)??`unknown`,n=g(e)??`unknown`,r=e?.trim()||`<none>`;E.warn(`qmd search denied by scope (channel=${t}, chatType=${n}, session=${r})`)}isScopeAllowed(e){return m(this.qmd.scope,e)}toDocLocation(e,t){let n=this.collectionRoots.get(e);if(!n)return null;let r=t.replace(/\\/g,`/`),a=i.default.normalize(i.default.resolve(n.path,t)),o=i.default.relative(this.workspaceDir,a);return{rel:this.buildSearchPath(e,r,o,a),abs:a,source:n.kind}}buildSearchPath(e,t,n,r){return this.isInsideWorkspace(n)?n.replace(/\\/g,`/`)||i.default.basename(r):`qmd/${e}/${t.replace(/^\/+/,``)}`}isInsideWorkspace(e){return e?e.startsWith(`..`)||e.startsWith(`..${i.default.sep}`)?!1:!i.default.isAbsolute(e):!0}resolveReadPath(e){if(e.startsWith(`qmd/`)){let[,t,...n]=e.split(`/`);if(!t||n.length===0)throw Error(`invalid qmd path`);let r=this.collectionRoots.get(t);if(!r)throw Error(`unknown qmd collection: ${t}`);let a=n.join(`/`),o=i.default.resolve(r.path,a);if(!this.isWithinRoot(r.path,o))throw Error(`qmd path escapes collection`);return o}let t=i.default.resolve(this.workspaceDir,e);if(!this.isWithinWorkspace(t))throw Error(`path escapes workspace`);return t}isWithinWorkspace(e){let t=this.workspaceDir.endsWith(i.default.sep)?this.workspaceDir:`${this.workspaceDir}${i.default.sep}`;return e===this.workspaceDir?!0:(e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`).startsWith(t)}isWithinRoot(e,t){let n=e.endsWith(i.default.sep)?e:`${e}${i.default.sep}`;return t===e?!0:(t.endsWith(i.default.sep)?t:`${t}${i.default.sep}`).startsWith(n)}clampResultsByInjectedChars(e){let t=this.qmd.limits.maxInjectedChars;if(!t||t<=0)return e;let n=t,r=[];for(let t of e){if(n<=0)break;let e=t.snippet??``;if(e.length<=n)r.push(t),n-=e.length;else{let i=e.slice(0,Math.max(0,n));r.push({...t,snippet:i});break}}return r}diversifyResultsBySource(e,t){let n=Math.max(0,t);if(n<=0)return[];if(e.length<=1)return e.slice(0,n);let r=new Map;for(let t of e){let e=r.get(t.source)??[];e.push(t),r.set(t.source,e)}let i=r.has(`sessions`),a=r.has(`memory`);if(!i||!a)return e.slice(0,n);let o=Array.from(r.entries()).toSorted((e,t)=>(t[1][0]?.score??0)-(e[1][0]?.score??0)).map(([e])=>e),s=[];for(;s.length<n;){let e=!1;for(let t of o){let i=r.get(t)?.shift();if(i&&(s.push(i),e=!0,s.length>=n))break}if(!e)break}return s}shouldSkipUpdate(e){if(e)return!1;let t=this.qmd.update.debounceMs;return t<=0||!this.lastUpdateAt?!1:Date.now()-this.lastUpdateAt<t}isSqliteBusyError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`sqlite_busy`)||t.includes(`database is locked`)}isUnsupportedQmdOptionError(e){let t=(e instanceof Error?e.message:String(e)).toLowerCase();return t.includes(`unknown flag`)||t.includes(`unknown option`)||t.includes(`unrecognized option`)||t.includes(`flag provided but not defined`)||t.includes(`unexpected argument`)}createQmdBusyError(e){let t=e instanceof Error?e.message:String(e);return Error(`qmd index busy while reading results: ${t}`)}async waitForPendingUpdateBeforeSearch(){let e=this.pendingUpdate;e&&await Promise.race([e.catch(()=>void 0),new Promise(e=>setTimeout(e,500))])}async runQueryAcrossCollections(e,t,n,r){E.debug(`qmd ${r} multi-collection workaround active (${n.length} collections)`);let i=new Map;for(let a of n){let n=this.buildSearchArgs(r,e,t);n.push(`-c`,a);let o=await this.runQmd(n,{timeoutMs:this.qmd.limits.timeoutMs}),s=b(o.stdout,o.stderr);for(let e of s){let t=this.normalizeDocHints({preferredCollection:e.collection??a,preferredFile:e.file}),n=typeof e.docid==`string`&&e.docid.trim().length>0?e.docid:void 0,r={...e,docid:n,collection:t.preferredCollection??e.collection??a,file:t.preferredFile??e.file},o=this.buildQmdResultKey(r);if(!o)continue;let s=i.get(o),c=typeof s?.score==`number`?s.score:-1/0,l=typeof r.score==`number`?r.score:-1/0;(!s||l>c)&&i.set(o,r)}}return[...i.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}buildQmdResultKey(e){if(typeof e.docid==`string`&&e.docid.trim().length>0)return`docid:${e.docid}`;let t=this.normalizeDocHints({preferredCollection:e.collection,preferredFile:e.file});if(!t.preferredCollection||!t.preferredFile)return null;let n=this.toCollectionRelativePath(t.preferredCollection,t.preferredFile);return n?`file:${t.preferredCollection}:${n}`:null}async runMcporterAcrossCollections(e){let t=new Map;for(let n of e.collectionNames){let r=await this.runQmdSearchViaMcporter({mcporter:this.qmd.mcporter,tool:e.tool,query:e.query,limit:e.limit,minScore:e.minScore,collection:n,timeoutMs:this.qmd.limits.timeoutMs});for(let e of r){if(typeof e.docid!=`string`||!e.docid.trim())continue;let n=t.get(e.docid),r=typeof n?.score==`number`?n.score:-1/0,i=typeof e.score==`number`?e.score:-1/0;(!n||i>r)&&t.set(e.docid,e)}}return[...t.values()].toSorted((e,t)=>(t.score??0)-(e.score??0))}listManagedCollectionNames(){return this.managedCollectionNames}computeManagedCollectionNames(){let e=new Set,t=[];for(let n of this.qmd.collections){let r=n.name?.trim();!r||e.has(r)||(e.add(r),t.push(r))}return t}buildCollectionFilterArgs(e){return e.length===0?[]:e.filter(Boolean).flatMap(e=>[`-c`,e])}buildSearchArgs(e,t,n){let r=e===`search`?M(t):t;return e===`query`?[`query`,r,`--json`,`-n`,String(n)]:[e,r,`--json`,`-n`,String(n)]}};exports.QmdMemoryManager=P;
|
|
6
|
+
//# sourceMappingURL=qmd-manager-BZhiv_zq.cjs.map
|