@browserbasehq/orca 3.1.0-patch.3 → 3.2.0-preview.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli.js +2 -210
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +2 -25025
- package/dist/cjs/lib/inference.js +335 -0
- package/dist/cjs/lib/inference.js.map +1 -0
- package/dist/cjs/lib/inferenceLogUtils.js +99 -0
- package/dist/cjs/lib/inferenceLogUtils.js.map +1 -0
- package/dist/cjs/lib/logger.js +331 -0
- package/dist/cjs/lib/logger.js.map +1 -0
- package/dist/cjs/lib/modelUtils.d.ts +1 -0
- package/dist/cjs/lib/modelUtils.js +53 -0
- package/dist/cjs/lib/modelUtils.js.map +1 -0
- package/dist/cjs/lib/prompt.d.ts +3 -2
- package/dist/cjs/lib/prompt.js +245 -0
- package/dist/cjs/lib/prompt.js.map +1 -0
- package/dist/cjs/lib/utils.js +670 -0
- package/dist/cjs/lib/utils.js.map +1 -0
- package/dist/cjs/lib/v3/agent/AgentClient.js +21 -0
- package/dist/cjs/lib/v3/agent/AgentClient.js.map +1 -0
- package/dist/cjs/lib/v3/agent/AgentProvider.js +81 -0
- package/dist/cjs/lib/v3/agent/AgentProvider.js.map +1 -0
- package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js +844 -0
- package/dist/cjs/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
- package/dist/cjs/lib/v3/agent/GoogleCUAClient.js +803 -0
- package/dist/cjs/lib/v3/agent/GoogleCUAClient.js.map +1 -0
- package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.js +777 -0
- package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
- package/dist/cjs/lib/v3/agent/OpenAICUAClient.js +622 -0
- package/dist/cjs/lib/v3/agent/OpenAICUAClient.js.map +1 -0
- package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.d.ts +3 -1
- package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.js +212 -0
- package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/act.d.ts +2 -2
- package/dist/cjs/lib/v3/agent/tools/act.js +75 -0
- package/dist/cjs/lib/v3/agent/tools/act.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/ariaTree.d.ts +8 -1
- package/dist/cjs/lib/v3/agent/tools/ariaTree.js +73 -0
- package/dist/cjs/lib/v3/agent/tools/ariaTree.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/click.js +100 -0
- package/dist/cjs/lib/v3/agent/tools/click.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/clickAndHold.js +72 -0
- package/dist/cjs/lib/v3/agent/tools/clickAndHold.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/dragAndDrop.js +101 -0
- package/dist/cjs/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/extract.d.ts +2 -2
- package/dist/cjs/lib/v3/agent/tools/extract.js +110 -0
- package/dist/cjs/lib/v3/agent/tools/extract.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/fillFormVision.d.ts +2 -2
- package/dist/cjs/lib/v3/agent/tools/fillFormVision.js +158 -0
- package/dist/cjs/lib/v3/agent/tools/fillFormVision.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/fillform.d.ts +8 -2
- package/dist/cjs/lib/v3/agent/tools/fillform.js +90 -0
- package/dist/cjs/lib/v3/agent/tools/fillform.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/goto.js +35 -0
- package/dist/cjs/lib/v3/agent/tools/goto.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/index.d.ts +11 -1
- package/dist/cjs/lib/v3/agent/tools/index.js +78 -0
- package/dist/cjs/lib/v3/agent/tools/index.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/keys.js +64 -0
- package/dist/cjs/lib/v3/agent/tools/keys.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/navback.js +27 -0
- package/dist/cjs/lib/v3/agent/tools/navback.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/screenshot.d.ts +8 -0
- package/dist/cjs/lib/v3/agent/tools/screenshot.js +47 -0
- package/dist/cjs/lib/v3/agent/tools/screenshot.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/scroll.js +159 -0
- package/dist/cjs/lib/v3/agent/tools/scroll.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/search.js +77 -0
- package/dist/cjs/lib/v3/agent/tools/search.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/think.js +28 -0
- package/dist/cjs/lib/v3/agent/tools/think.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/type.d.ts +2 -2
- package/dist/cjs/lib/v3/agent/tools/type.js +111 -0
- package/dist/cjs/lib/v3/agent/tools/type.js.map +1 -0
- package/dist/cjs/lib/v3/agent/tools/wait.js +63 -0
- package/dist/cjs/lib/v3/agent/tools/wait.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/actionMapping.js +103 -0
- package/dist/cjs/lib/v3/agent/utils/actionMapping.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js +33 -0
- package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.js +65 -0
- package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.js +150 -0
- package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.js +108 -0
- package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/imageCompression.js +212 -0
- package/dist/cjs/lib/v3/agent/utils/imageCompression.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/messageProcessing.js +167 -0
- package/dist/cjs/lib/v3/agent/utils/messageProcessing.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/screenshotHandler.js +29 -0
- package/dist/cjs/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.js +90 -0
- package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/variables.d.ts +21 -0
- package/dist/cjs/lib/v3/agent/utils/variables.js +54 -0
- package/dist/cjs/lib/v3/agent/utils/variables.js.map +1 -0
- package/dist/cjs/lib/v3/agent/utils/xpath.js +22 -0
- package/dist/cjs/lib/v3/agent/utils/xpath.js.map +1 -0
- package/dist/cjs/lib/v3/api.d.ts +23 -5
- package/dist/cjs/lib/v3/api.js +589 -0
- package/dist/cjs/lib/v3/api.js.map +1 -0
- package/dist/cjs/lib/v3/cache/ActCache.d.ts +0 -1
- package/dist/cjs/lib/v3/cache/ActCache.js +280 -0
- package/dist/cjs/lib/v3/cache/ActCache.js.map +1 -0
- package/dist/cjs/lib/v3/cache/AgentCache.d.ts +1 -0
- package/dist/cjs/lib/v3/cache/AgentCache.js +651 -0
- package/dist/cjs/lib/v3/cache/AgentCache.js.map +1 -0
- package/dist/cjs/lib/v3/cache/CacheStorage.js +105 -0
- package/dist/cjs/lib/v3/cache/CacheStorage.js.map +1 -0
- package/dist/cjs/lib/v3/cache/serverAgentCache.js +52 -0
- package/dist/cjs/lib/v3/cache/serverAgentCache.js.map +1 -0
- package/dist/cjs/lib/v3/cache/utils.js +44 -0
- package/dist/cjs/lib/v3/cache/utils.js.map +1 -0
- package/dist/cjs/lib/v3/cli.js +15 -0
- package/dist/cjs/lib/v3/cli.js.map +1 -0
- package/dist/cjs/lib/v3/dom/a11yScripts/index.js +124 -0
- package/dist/cjs/lib/v3/dom/a11yScripts/index.js.map +1 -0
- package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.js +23 -0
- package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
- package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.js +59 -0
- package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
- package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.js +5 -0
- package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
- package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.js +11 -0
- package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
- package/dist/cjs/lib/v3/dom/build/scriptV3Content.js +5 -0
- package/dist/cjs/lib/v3/dom/build/scriptV3Content.js.map +1 -0
- package/dist/cjs/lib/v3/dom/index.js +18 -0
- package/dist/cjs/lib/v3/dom/index.js.map +1 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/counts.js +278 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/counts.js.map +1 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/index.js +21 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/index.js.map +1 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/scripts.js +474 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/selectors.js +289 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.js +286 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.js +381 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.js +202 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
- package/dist/cjs/lib/v3/dom/piercer.entry.js +5 -0
- package/dist/cjs/lib/v3/dom/piercer.entry.js.map +1 -0
- package/dist/cjs/lib/v3/dom/piercer.runtime.js +93 -0
- package/dist/cjs/lib/v3/dom/piercer.runtime.js.map +1 -0
- package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.js +5 -0
- package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
- package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.js +43 -0
- package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
- package/dist/cjs/lib/v3/dom/screenshotScripts/index.js +6 -0
- package/dist/cjs/lib/v3/dom/screenshotScripts/index.js.map +1 -0
- package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.js +85 -0
- package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
- package/dist/cjs/lib/v3/external_clients/aisdk.js +107 -0
- package/dist/cjs/lib/v3/external_clients/aisdk.js.map +1 -0
- package/dist/cjs/lib/v3/external_clients/customOpenAI.js +224 -0
- package/dist/cjs/lib/v3/external_clients/customOpenAI.js.map +1 -0
- package/dist/cjs/lib/v3/flowLogger.js +881 -0
- package/dist/cjs/lib/v3/flowLogger.js.map +1 -0
- package/dist/cjs/lib/v3/handlers/actHandler.d.ts +2 -1
- package/dist/cjs/lib/v3/handlers/actHandler.js +344 -0
- package/dist/cjs/lib/v3/handlers/actHandler.js.map +1 -0
- package/dist/cjs/lib/v3/handlers/extractHandler.js +144 -0
- package/dist/cjs/lib/v3/handlers/extractHandler.js.map +1 -0
- package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.js +604 -0
- package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
- package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.js +17 -0
- package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
- package/dist/cjs/lib/v3/handlers/observeHandler.js +159 -0
- package/dist/cjs/lib/v3/handlers/observeHandler.js.map +1 -0
- package/dist/cjs/lib/v3/handlers/v3AgentHandler.js +462 -0
- package/dist/cjs/lib/v3/handlers/v3AgentHandler.js.map +1 -0
- package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js +532 -0
- package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
- package/dist/cjs/lib/v3/index.d.ts +143 -0
- package/dist/cjs/lib/v3/index.js +119 -0
- package/dist/cjs/lib/v3/index.js.map +1 -0
- package/dist/cjs/lib/v3/launch/browserbase.d.ts +1 -1
- package/dist/cjs/lib/v3/launch/browserbase.js +47 -0
- package/dist/cjs/lib/v3/launch/browserbase.js.map +1 -0
- package/dist/cjs/lib/v3/launch/local.js +104 -0
- package/dist/cjs/lib/v3/launch/local.js.map +1 -0
- package/dist/cjs/lib/v3/llm/AnthropicClient.js +246 -0
- package/dist/cjs/lib/v3/llm/AnthropicClient.js.map +1 -0
- package/dist/cjs/lib/v3/llm/CerebrasClient.js +242 -0
- package/dist/cjs/lib/v3/llm/CerebrasClient.js.map +1 -0
- package/dist/cjs/lib/v3/llm/GoogleClient.js +373 -0
- package/dist/cjs/lib/v3/llm/GoogleClient.js.map +1 -0
- package/dist/cjs/lib/v3/llm/GroqClient.js +243 -0
- package/dist/cjs/lib/v3/llm/GroqClient.js.map +1 -0
- package/dist/cjs/lib/v3/llm/LLMClient.js +27 -0
- package/dist/cjs/lib/v3/llm/LLMClient.js.map +1 -0
- package/dist/cjs/lib/v3/llm/LLMProvider.js +194 -0
- package/dist/cjs/lib/v3/llm/LLMProvider.js.map +1 -0
- package/dist/cjs/lib/v3/llm/OpenAIClient.js +336 -0
- package/dist/cjs/lib/v3/llm/OpenAIClient.js.map +1 -0
- package/dist/cjs/lib/v3/llm/aisdk.js +355 -0
- package/dist/cjs/lib/v3/llm/aisdk.js.map +1 -0
- package/dist/cjs/lib/v3/logger.js +102 -0
- package/dist/cjs/lib/v3/logger.js.map +1 -0
- package/dist/cjs/lib/v3/mcp/connection.d.ts +2 -0
- package/dist/cjs/lib/v3/mcp/connection.js +56 -0
- package/dist/cjs/lib/v3/mcp/connection.js.map +1 -0
- package/dist/cjs/lib/v3/mcp/utils.js +40 -0
- package/dist/cjs/lib/v3/mcp/utils.js.map +1 -0
- package/dist/cjs/lib/v3/runtimePaths.d.ts +6 -0
- package/dist/cjs/lib/v3/runtimePaths.js +119 -0
- package/dist/cjs/lib/v3/runtimePaths.js.map +1 -0
- package/dist/cjs/lib/v3/shutdown/cleanupLocal.js +36 -0
- package/dist/cjs/lib/v3/shutdown/cleanupLocal.js.map +1 -0
- package/dist/cjs/lib/v3/shutdown/supervisor.js +193 -0
- package/dist/cjs/lib/v3/shutdown/supervisor.js.map +1 -0
- package/dist/cjs/lib/v3/shutdown/supervisorClient.js +95 -0
- package/dist/cjs/lib/v3/shutdown/supervisorClient.js.map +1 -0
- package/dist/cjs/lib/v3/timeoutConfig.d.ts +1 -1
- package/dist/cjs/lib/v3/timeoutConfig.js +36 -0
- package/dist/cjs/lib/v3/timeoutConfig.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/agent.js +3 -0
- package/dist/cjs/lib/v3/types/private/agent.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/api.js +3 -0
- package/dist/cjs/lib/v3/types/private/api.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/cache.d.ts +3 -0
- package/dist/cjs/lib/v3/types/private/cache.js +3 -0
- package/dist/cjs/lib/v3/types/private/cache.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/evaluator.js +3 -0
- package/dist/cjs/lib/v3/types/private/evaluator.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/handlers.d.ts +2 -1
- package/dist/cjs/lib/v3/types/private/handlers.js +19 -0
- package/dist/cjs/lib/v3/types/private/handlers.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/index.js +24 -0
- package/dist/cjs/lib/v3/types/private/index.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/internal.js +3 -0
- package/dist/cjs/lib/v3/types/private/internal.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/locator.js +3 -0
- package/dist/cjs/lib/v3/types/private/locator.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/network.js +6 -0
- package/dist/cjs/lib/v3/types/private/network.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/shutdown.d.ts +1 -1
- package/dist/cjs/lib/v3/types/private/shutdown.js +6 -0
- package/dist/cjs/lib/v3/types/private/shutdown.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/shutdownErrors.js +28 -0
- package/dist/cjs/lib/v3/types/private/shutdownErrors.js.map +1 -0
- package/dist/cjs/lib/v3/types/private/snapshot.js +3 -0
- package/dist/cjs/lib/v3/types/private/snapshot.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/agent.d.ts +60 -2
- package/dist/cjs/lib/v3/types/public/agent.js +18 -0
- package/dist/cjs/lib/v3/types/public/agent.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/api.d.ts +17 -0
- package/dist/cjs/lib/v3/types/public/api.js +922 -0
- package/dist/cjs/lib/v3/types/public/api.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/apiErrors.js +41 -0
- package/dist/cjs/lib/v3/types/public/apiErrors.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/context.d.ts +32 -0
- package/dist/cjs/lib/v3/types/public/context.js +3 -0
- package/dist/cjs/lib/v3/types/public/context.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/index.d.ts +1 -0
- package/dist/cjs/lib/v3/types/public/index.js +56 -0
- package/dist/cjs/lib/v3/types/public/index.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/locator.js +3 -0
- package/dist/cjs/lib/v3/types/public/locator.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/logs.js +16 -0
- package/dist/cjs/lib/v3/types/public/logs.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/methods.d.ts +33 -2
- package/dist/cjs/lib/v3/types/public/methods.js +18 -0
- package/dist/cjs/lib/v3/types/public/methods.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/metrics.js +3 -0
- package/dist/cjs/lib/v3/types/public/metrics.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/model.d.ts +4 -2
- package/dist/cjs/lib/v3/types/public/model.js +3 -0
- package/dist/cjs/lib/v3/types/public/model.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/options.d.ts +8 -0
- package/dist/cjs/lib/v3/types/public/options.js +7 -0
- package/dist/cjs/lib/v3/types/public/options.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/page.js +8 -0
- package/dist/cjs/lib/v3/types/public/page.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/screenshotTypes.js +3 -0
- package/dist/cjs/lib/v3/types/public/screenshotTypes.js.map +1 -0
- package/dist/cjs/lib/v3/types/public/sdkErrors.d.ts +13 -0
- package/dist/cjs/lib/v3/types/public/sdkErrors.js +390 -0
- package/dist/cjs/lib/v3/types/public/sdkErrors.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js +204 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.js +124 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.js +345 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +132 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.js +285 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.js +226 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.js +12 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.js +26 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +143 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.js +110 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/a11yInvocation.js +15 -0
- package/dist/cjs/lib/v3/understudy/a11yInvocation.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/cdp.d.ts +6 -1
- package/dist/cjs/lib/v3/understudy/cdp.js +317 -0
- package/dist/cjs/lib/v3/understudy/cdp.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/consoleMessage.js +70 -0
- package/dist/cjs/lib/v3/understudy/consoleMessage.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/context.d.ts +34 -0
- package/dist/cjs/lib/v3/understudy/context.js +960 -0
- package/dist/cjs/lib/v3/understudy/context.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/cookies.d.ts +32 -0
- package/dist/cjs/lib/v3/understudy/cookies.js +142 -0
- package/dist/cjs/lib/v3/understudy/cookies.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/deepLocator.js +204 -0
- package/dist/cjs/lib/v3/understudy/deepLocator.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/executionContextRegistry.js +87 -0
- package/dist/cjs/lib/v3/understudy/executionContextRegistry.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/fileUploadUtils.js +88 -0
- package/dist/cjs/lib/v3/understudy/fileUploadUtils.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/frame.js +232 -0
- package/dist/cjs/lib/v3/understudy/frame.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/frameLocator.js +260 -0
- package/dist/cjs/lib/v3/understudy/frameLocator.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/frameRegistry.js +302 -0
- package/dist/cjs/lib/v3/understudy/frameRegistry.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/initScripts.js +36 -0
- package/dist/cjs/lib/v3/understudy/initScripts.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/lifecycleWatcher.js +249 -0
- package/dist/cjs/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/locator.js +790 -0
- package/dist/cjs/lib/v3/understudy/locator.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/locatorInvocation.js +15 -0
- package/dist/cjs/lib/v3/understudy/locatorInvocation.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/navigationResponseTracker.js +228 -0
- package/dist/cjs/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/networkManager.js +310 -0
- package/dist/cjs/lib/v3/understudy/networkManager.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/page.d.ts +13 -0
- package/dist/cjs/lib/v3/understudy/page.js +1998 -0
- package/dist/cjs/lib/v3/understudy/page.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/piercer.js +65 -0
- package/dist/cjs/lib/v3/understudy/piercer.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/response.js +335 -0
- package/dist/cjs/lib/v3/understudy/response.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/screenshotUtils.d.ts +0 -1
- package/dist/cjs/lib/v3/understudy/screenshotUtils.js +345 -0
- package/dist/cjs/lib/v3/understudy/screenshotUtils.js.map +1 -0
- package/dist/cjs/lib/v3/understudy/selectorResolver.js +300 -0
- package/dist/cjs/lib/v3/understudy/selectorResolver.js.map +1 -0
- package/dist/cjs/lib/v3/v3.js +1631 -0
- package/dist/cjs/lib/v3/v3.js.map +1 -0
- package/dist/cjs/lib/v3/zodCompat.js +26 -0
- package/dist/cjs/lib/v3/zodCompat.js.map +1 -0
- package/dist/cjs/lib/v3Evaluator.js +214 -0
- package/dist/cjs/lib/v3Evaluator.js.map +1 -0
- package/dist/cjs/lib/version.d.ts +1 -1
- package/dist/cjs/lib/version.js +9 -0
- package/dist/cjs/lib/version.js.map +1 -0
- package/dist/cjs/tests/cache-variables.test.js +221 -0
- package/dist/cjs/tests/cache-variables.test.js.map +1 -0
- package/dist/cjs/tests/integration/agent-abort-signal.spec.js +123 -0
- package/dist/cjs/tests/integration/agent-abort-signal.spec.js.map +1 -0
- package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js +83 -0
- package/dist/cjs/tests/integration/agent-cache-self-heal.spec.js.map +1 -0
- package/dist/cjs/tests/integration/agent-callbacks.spec.js +385 -0
- package/dist/cjs/tests/integration/agent-callbacks.spec.js.map +1 -0
- package/dist/cjs/tests/integration/agent-experimental-validation.spec.js +362 -0
- package/dist/cjs/tests/integration/agent-experimental-validation.spec.js.map +1 -0
- package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js +262 -0
- package/dist/cjs/tests/integration/agent-hybrid-mode.spec.js.map +1 -0
- package/dist/cjs/tests/integration/agent-message-continuation.spec.js +112 -0
- package/dist/cjs/tests/integration/agent-message-continuation.spec.js.map +1 -0
- package/dist/cjs/tests/integration/agent-streaming.spec.js +140 -0
- package/dist/cjs/tests/integration/agent-streaming.spec.js.map +1 -0
- package/dist/cjs/tests/integration/cdp-close-api-region.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/cdp-close-api-region.spec.js +41 -0
- package/dist/cjs/tests/integration/cdp-close-api-region.spec.js.map +1 -0
- package/dist/cjs/tests/integration/cdp-connection-close.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/cdp-connection-close.spec.js +76 -0
- package/dist/cjs/tests/integration/cdp-connection-close.spec.js.map +1 -0
- package/dist/cjs/tests/integration/cdp-session-detached.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/cdp-session-detached.spec.js +45 -0
- package/dist/cjs/tests/integration/cdp-session-detached.spec.js.map +1 -0
- package/dist/cjs/tests/integration/click-count.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/click-count.spec.js +163 -0
- package/dist/cjs/tests/integration/click-count.spec.js.map +1 -0
- package/dist/cjs/tests/integration/connect-to-existing-browser.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js +99 -0
- package/dist/cjs/tests/integration/connect-to-existing-browser.spec.js.map +1 -0
- package/dist/cjs/tests/integration/context-addInitScript.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/context-addInitScript.spec.js +285 -0
- package/dist/cjs/tests/integration/context-addInitScript.spec.js.map +1 -0
- package/dist/cjs/tests/integration/context-extra-http-headers.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/context-extra-http-headers.spec.js +49 -0
- package/dist/cjs/tests/integration/context-extra-http-headers.spec.js.map +1 -0
- package/dist/cjs/tests/integration/cookies.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/cookies.spec.js +187 -0
- package/dist/cjs/tests/integration/cookies.spec.js.map +1 -0
- package/dist/cjs/tests/integration/default-page-tracking.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/default-page-tracking.spec.js +52 -0
- package/dist/cjs/tests/integration/default-page-tracking.spec.js.map +1 -0
- package/dist/cjs/tests/integration/downloads.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/downloads.spec.js +52 -0
- package/dist/cjs/tests/integration/downloads.spec.js.map +1 -0
- package/dist/cjs/tests/integration/frame-get-location-and-click.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js +57 -0
- package/dist/cjs/tests/integration/frame-get-location-and-click.spec.js.map +1 -0
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js +219 -0
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +1 -0
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js +474 -0
- package/dist/cjs/tests/integration/iframe-ctx-addInitScript.spec.js.map +1 -0
- package/dist/cjs/tests/integration/keep-alive.child.d.ts +1 -0
- package/dist/cjs/tests/integration/keep-alive.child.js +85 -0
- package/dist/cjs/tests/integration/keep-alive.child.js.map +1 -0
- package/dist/cjs/tests/integration/keep-alive.spec.d.ts +22 -0
- package/dist/cjs/tests/integration/keep-alive.spec.js +490 -0
- package/dist/cjs/tests/integration/keep-alive.spec.js.map +1 -0
- package/dist/cjs/tests/integration/keyboard.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/keyboard.spec.js +259 -0
- package/dist/cjs/tests/integration/keyboard.spec.js.map +1 -0
- package/dist/cjs/tests/integration/locator-backend-node-id.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/locator-backend-node-id.spec.js +150 -0
- package/dist/cjs/tests/integration/locator-backend-node-id.spec.js.map +1 -0
- package/dist/cjs/tests/integration/locator-content-methods.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/locator-content-methods.spec.js +180 -0
- package/dist/cjs/tests/integration/locator-content-methods.spec.js.map +1 -0
- package/dist/cjs/tests/integration/locator-count-iframe.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/locator-count-iframe.spec.js +129 -0
- package/dist/cjs/tests/integration/locator-count-iframe.spec.js.map +1 -0
- package/dist/cjs/tests/integration/locator-count.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/locator-count.spec.js +68 -0
- package/dist/cjs/tests/integration/locator-count.spec.js.map +1 -0
- package/dist/cjs/tests/integration/locator-fill.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/locator-fill.spec.js +117 -0
- package/dist/cjs/tests/integration/locator-fill.spec.js.map +1 -0
- package/dist/cjs/tests/integration/locator-input-methods.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/locator-input-methods.spec.js +127 -0
- package/dist/cjs/tests/integration/locator-input-methods.spec.js.map +1 -0
- package/dist/cjs/tests/integration/locator-nth.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/locator-nth.spec.js +175 -0
- package/dist/cjs/tests/integration/locator-nth.spec.js.map +1 -0
- package/dist/cjs/tests/integration/locator-select-option.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/locator-select-option.spec.js +216 -0
- package/dist/cjs/tests/integration/locator-select-option.spec.js.map +1 -0
- package/dist/cjs/tests/integration/logger-initialization.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/logger-initialization.spec.js +597 -0
- package/dist/cjs/tests/integration/logger-initialization.spec.js.map +1 -0
- package/dist/cjs/tests/integration/multi-instance-logger.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/multi-instance-logger.spec.js +293 -0
- package/dist/cjs/tests/integration/multi-instance-logger.spec.js.map +1 -0
- package/dist/cjs/tests/integration/nested-div.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/nested-div.spec.js +22 -0
- package/dist/cjs/tests/integration/nested-div.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-addInitScript.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-addInitScript.spec.js +94 -0
- package/dist/cjs/tests/integration/page-addInitScript.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-console.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-console.spec.js +47 -0
- package/dist/cjs/tests/integration/page-console.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-drag-and-drop.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-drag-and-drop.spec.js +437 -0
- package/dist/cjs/tests/integration/page-drag-and-drop.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-extra-http-headers.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-extra-http-headers.spec.js +85 -0
- package/dist/cjs/tests/integration/page-extra-http-headers.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-goto-response.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-goto-response.spec.js +34 -0
- package/dist/cjs/tests/integration/page-goto-response.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-hover.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-hover.spec.js +165 -0
- package/dist/cjs/tests/integration/page-hover.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-screenshot.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-screenshot.spec.js +292 -0
- package/dist/cjs/tests/integration/page-screenshot.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-scroll.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-scroll.spec.js +183 -0
- package/dist/cjs/tests/integration/page-scroll.spec.js.map +1 -0
- package/dist/cjs/tests/integration/page-send-cdp.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/page-send-cdp.spec.js +47 -0
- package/dist/cjs/tests/integration/page-send-cdp.spec.js.map +1 -0
- package/dist/cjs/tests/integration/perform-understudy-method.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/perform-understudy-method.spec.js +63 -0
- package/dist/cjs/tests/integration/perform-understudy-method.spec.js.map +1 -0
- package/dist/cjs/tests/integration/setinputfiles.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/setinputfiles.spec.js +133 -0
- package/dist/cjs/tests/integration/setinputfiles.spec.js.map +1 -0
- package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js +161 -0
- package/dist/cjs/tests/integration/shadow-iframe-oopif.spec.js.map +1 -0
- package/dist/cjs/tests/integration/shadow-iframe-spif.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js +160 -0
- package/dist/cjs/tests/integration/shadow-iframe-spif.spec.js.map +1 -0
- package/dist/cjs/tests/integration/testUtils.d.ts +7 -0
- package/dist/cjs/tests/integration/testUtils.js +44 -0
- package/dist/cjs/tests/integration/testUtils.js.map +1 -0
- package/dist/cjs/tests/integration/text-selector-innermost.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/text-selector-innermost.spec.js +105 -0
- package/dist/cjs/tests/integration/text-selector-innermost.spec.js.map +1 -0
- package/dist/cjs/tests/integration/timeouts.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/timeouts.spec.js +197 -0
- package/dist/cjs/tests/integration/timeouts.spec.js.map +1 -0
- package/dist/cjs/tests/integration/user-data-dir.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/user-data-dir.spec.js +77 -0
- package/dist/cjs/tests/integration/user-data-dir.spec.js.map +1 -0
- package/dist/cjs/tests/integration/v3.config.d.ts +4 -0
- package/dist/cjs/tests/integration/v3.config.js +11 -0
- package/dist/cjs/tests/integration/v3.config.js.map +1 -0
- package/dist/cjs/tests/integration/v3.dynamic.config.d.ts +4 -0
- package/dist/cjs/tests/integration/v3.dynamic.config.js +48 -0
- package/dist/cjs/tests/integration/v3.dynamic.config.js.map +1 -0
- package/dist/cjs/tests/integration/v3.playwright.config.d.ts +2 -0
- package/dist/cjs/tests/integration/v3.playwright.config.js +48 -0
- package/dist/cjs/tests/integration/v3.playwright.config.js.map +1 -0
- package/dist/cjs/tests/integration/wait-for-selector.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/wait-for-selector.spec.js +683 -0
- package/dist/cjs/tests/integration/wait-for-selector.spec.js.map +1 -0
- package/dist/cjs/tests/integration/wait-for-timeout.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/wait-for-timeout.spec.js +118 -0
- package/dist/cjs/tests/integration/wait-for-timeout.spec.js.map +1 -0
- package/dist/cjs/tests/integration/xpath-for-location-deep.spec.d.ts +1 -0
- package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js +87 -0
- package/dist/cjs/tests/integration/xpath-for-location-deep.spec.js.map +1 -0
- package/dist/cjs/tests/unit/agent-execution-model.test.d.ts +1 -0
- package/dist/cjs/tests/unit/agent-execution-model.test.js +128 -0
- package/dist/cjs/tests/unit/agent-execution-model.test.js.map +1 -0
- package/dist/cjs/tests/unit/api-multiregion.test.d.ts +1 -0
- package/dist/cjs/tests/unit/api-multiregion.test.js +58 -0
- package/dist/cjs/tests/unit/api-multiregion.test.js.map +1 -0
- package/dist/cjs/tests/unit/browserbase-session-accessors.test.d.ts +1 -0
- package/dist/cjs/tests/unit/browserbase-session-accessors.test.js +102 -0
- package/dist/cjs/tests/unit/browserbase-session-accessors.test.js.map +1 -0
- package/dist/cjs/tests/unit/cache-llm-resolution.test.d.ts +1 -0
- package/dist/cjs/tests/unit/cache-llm-resolution.test.js +186 -0
- package/dist/cjs/tests/unit/cache-llm-resolution.test.js.map +1 -0
- package/dist/cjs/tests/unit/cdp-connection-close.test.d.ts +1 -0
- package/dist/cjs/tests/unit/cdp-connection-close.test.js +74 -0
- package/dist/cjs/tests/unit/cdp-connection-close.test.js.map +1 -0
- package/dist/cjs/tests/unit/context-extra-http-headers.test.d.ts +1 -0
- package/dist/cjs/tests/unit/context-extra-http-headers.test.js +58 -0
- package/dist/cjs/tests/unit/context-extra-http-headers.test.js.map +1 -0
- package/dist/cjs/tests/unit/cookies.test.d.ts +1 -0
- package/dist/cjs/tests/unit/cookies.test.js +944 -0
- package/dist/cjs/tests/unit/cookies.test.js.map +1 -0
- package/dist/cjs/tests/unit/helpers/mockCDPSession.d.ts +19 -0
- package/dist/cjs/tests/unit/helpers/mockCDPSession.js +29 -0
- package/dist/cjs/tests/unit/helpers/mockCDPSession.js.map +1 -0
- package/dist/cjs/tests/unit/llm-provider.test.d.ts +1 -0
- package/dist/cjs/tests/unit/llm-provider.test.js +64 -0
- package/dist/cjs/tests/unit/llm-provider.test.js.map +1 -0
- package/dist/cjs/tests/unit/model-deprecation.test.d.ts +1 -0
- package/dist/cjs/tests/unit/model-deprecation.test.js +142 -0
- package/dist/cjs/tests/unit/model-deprecation.test.js.map +1 -0
- package/dist/cjs/tests/unit/model-utils.test.d.ts +1 -0
- package/dist/cjs/tests/unit/model-utils.test.js +42 -0
- package/dist/cjs/tests/unit/model-utils.test.js.map +1 -0
- package/dist/cjs/tests/unit/page-extra-http-headers.test.d.ts +1 -0
- package/dist/cjs/tests/unit/page-extra-http-headers.test.js +92 -0
- package/dist/cjs/tests/unit/page-extra-http-headers.test.js.map +1 -0
- package/dist/cjs/tests/unit/page-snapshot.test.d.ts +1 -0
- package/dist/cjs/tests/unit/page-snapshot.test.js +75 -0
- package/dist/cjs/tests/unit/page-snapshot.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/export-surface.test.d.ts +1 -0
- package/dist/cjs/tests/unit/public-api/export-surface.test.js +107 -0
- package/dist/cjs/tests/unit/public-api/export-surface.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/llm-and-agents.test.d.ts +1 -0
- package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js +175 -0
- package/dist/cjs/tests/unit/public-api/llm-and-agents.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/public-error-types.test.d.ts +62 -0
- package/dist/cjs/tests/unit/public-api/public-error-types.test.js +110 -0
- package/dist/cjs/tests/unit/public-api/public-error-types.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/public-types.test.d.ts +1 -0
- package/dist/cjs/tests/unit/public-api/public-types.test.js +99 -0
- package/dist/cjs/tests/unit/public-api/public-types.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/runtime-utils.test.d.ts +1 -0
- package/dist/cjs/tests/unit/public-api/runtime-utils.test.js +60 -0
- package/dist/cjs/tests/unit/public-api/runtime-utils.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/schema-utils.test.d.ts +1 -0
- package/dist/cjs/tests/unit/public-api/schema-utils.test.js +95 -0
- package/dist/cjs/tests/unit/public-api/schema-utils.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/timeout-error-types.test.d.ts +1 -0
- package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js +121 -0
- package/dist/cjs/tests/unit/public-api/timeout-error-types.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/tool-type-export.test.d.ts +1 -0
- package/dist/cjs/tests/unit/public-api/tool-type-export.test.js +65 -0
- package/dist/cjs/tests/unit/public-api/tool-type-export.test.js.map +1 -0
- package/dist/cjs/tests/unit/public-api/v3-core.test.d.ts +1 -0
- package/dist/cjs/tests/unit/public-api/v3-core.test.js +108 -0
- package/dist/cjs/tests/unit/public-api/v3-core.test.js.map +1 -0
- package/dist/cjs/tests/unit/rerender-missing-shadows.test.d.ts +1 -0
- package/dist/cjs/tests/unit/rerender-missing-shadows.test.js +209 -0
- package/dist/cjs/tests/unit/rerender-missing-shadows.test.js.map +1 -0
- package/dist/cjs/tests/unit/safety-confirmation.test.d.ts +1 -0
- package/dist/cjs/tests/unit/safety-confirmation.test.js +110 -0
- package/dist/cjs/tests/unit/safety-confirmation.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js +330 -0
- package/dist/cjs/tests/unit/snapshot-a11y-resolvers.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js +286 -0
- package/dist/cjs/tests/unit/snapshot-a11y-tree-utils.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js +394 -0
- package/dist/cjs/tests/unit/snapshot-capture-orchestration.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-cbor.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-cbor.test.js +204 -0
- package/dist/cjs/tests/unit/snapshot-cbor.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js +220 -0
- package/dist/cjs/tests/unit/snapshot-dom-session-builders.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js +107 -0
- package/dist/cjs/tests/unit/snapshot-dom-tree-utils.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js +89 -0
- package/dist/cjs/tests/unit/snapshot-focus-selectors-utils.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-frame-merge.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-frame-merge.test.js +335 -0
- package/dist/cjs/tests/unit/snapshot-frame-merge.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js +84 -0
- package/dist/cjs/tests/unit/snapshot-tree-format-utils.test.js.map +1 -0
- package/dist/cjs/tests/unit/snapshot-xpath-utils.test.d.ts +1 -0
- package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js +74 -0
- package/dist/cjs/tests/unit/snapshot-xpath-utils.test.js.map +1 -0
- package/dist/cjs/tests/unit/timeout-handlers.test.d.ts +1 -0
- package/dist/cjs/tests/unit/timeout-handlers.test.js +847 -0
- package/dist/cjs/tests/unit/timeout-handlers.test.js.map +1 -0
- package/dist/cjs/tests/unit/understudy-command-exception.test.d.ts +1 -0
- package/dist/cjs/tests/unit/understudy-command-exception.test.js +57 -0
- package/dist/cjs/tests/unit/understudy-command-exception.test.js.map +1 -0
- package/dist/cjs/tests/unit/xpath-parser.test.d.ts +1 -0
- package/dist/cjs/tests/unit/xpath-parser.test.js +311 -0
- package/dist/cjs/tests/unit/xpath-parser.test.js.map +1 -0
- package/dist/cjs/tests/unit/xpath-resolver.test.d.ts +1 -0
- package/dist/cjs/tests/unit/xpath-resolver.test.js +80 -0
- package/dist/cjs/tests/unit/xpath-resolver.test.js.map +1 -0
- package/dist/cjs/tests/unit/zod-enum-compatibility.test.d.ts +1 -0
- package/dist/cjs/tests/unit/zod-enum-compatibility.test.js +149 -0
- package/dist/cjs/tests/unit/zod-enum-compatibility.test.js.map +1 -0
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/lib/inference.js +5 -8
- package/dist/esm/lib/inference.js.map +1 -1
- package/dist/esm/lib/modelUtils.d.ts +1 -0
- package/dist/esm/lib/modelUtils.js.map +1 -1
- package/dist/esm/lib/prompt.d.ts +3 -2
- package/dist/esm/lib/prompt.js.map +1 -1
- package/dist/esm/lib/v3/agent/AgentProvider.js +1 -1
- package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -1
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +17 -2
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -1
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js +4 -4
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js.map +1 -1
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.d.ts +3 -1
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +24 -1
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/act.d.ts +2 -2
- package/dist/esm/lib/v3/agent/tools/act.js +66 -44
- package/dist/esm/lib/v3/agent/tools/act.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/ariaTree.d.ts +8 -1
- package/dist/esm/lib/v3/agent/tools/ariaTree.js +60 -22
- package/dist/esm/lib/v3/agent/tools/ariaTree.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/click.js +23 -31
- package/dist/esm/lib/v3/agent/tools/click.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.js +22 -30
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/extract.d.ts +2 -2
- package/dist/esm/lib/v3/agent/tools/extract.js +16 -3
- package/dist/esm/lib/v3/agent/tools/extract.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/fillFormVision.d.ts +2 -2
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js +109 -98
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/fillform.d.ts +8 -2
- package/dist/esm/lib/v3/agent/tools/fillform.js +82 -52
- package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/index.d.ts +11 -1
- package/dist/esm/lib/v3/agent/tools/index.js +8 -7
- package/dist/esm/lib/v3/agent/tools/index.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/screenshot.d.ts +8 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.js +32 -15
- package/dist/esm/lib/v3/agent/tools/screenshot.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/scroll.js +12 -0
- package/dist/esm/lib/v3/agent/tools/scroll.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/type.d.ts +2 -2
- package/dist/esm/lib/v3/agent/tools/type.js +80 -79
- package/dist/esm/lib/v3/agent/tools/type.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/wait.js +6 -0
- package/dist/esm/lib/v3/agent/tools/wait.js.map +1 -1
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js +4 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -1
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js +8 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -1
- package/dist/esm/lib/v3/agent/utils/variables.d.ts +21 -0
- package/dist/esm/lib/v3/agent/utils/variables.js +48 -0
- package/dist/esm/lib/v3/agent/utils/variables.js.map +1 -0
- package/dist/esm/lib/v3/api.d.ts +23 -5
- package/dist/esm/lib/v3/api.js +74 -13
- package/dist/esm/lib/v3/api.js.map +1 -1
- package/dist/esm/lib/v3/cache/ActCache.d.ts +0 -1
- package/dist/esm/lib/v3/cache/ActCache.js +2 -18
- package/dist/esm/lib/v3/cache/ActCache.js.map +1 -1
- package/dist/esm/lib/v3/cache/AgentCache.d.ts +1 -0
- package/dist/esm/lib/v3/cache/AgentCache.js +18 -11
- package/dist/esm/lib/v3/cache/AgentCache.js.map +1 -1
- package/dist/esm/lib/v3/handlers/actHandler.d.ts +2 -1
- package/dist/esm/lib/v3/handlers/actHandler.js +4 -4
- package/dist/esm/lib/v3/handlers/actHandler.js.map +1 -1
- package/dist/esm/lib/v3/handlers/extractHandler.js +2 -2
- package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -1
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +0 -27
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -1
- package/dist/esm/lib/v3/handlers/observeHandler.js +1 -2
- package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -1
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js +13 -16
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -1
- package/dist/esm/lib/v3/index.d.ts +143 -0
- package/dist/esm/lib/v3/index.js +41 -0
- package/dist/esm/lib/v3/index.js.map +1 -1
- package/dist/esm/lib/v3/launch/browserbase.d.ts +1 -1
- package/dist/esm/lib/v3/launch/browserbase.js +4 -9
- package/dist/esm/lib/v3/launch/browserbase.js.map +1 -1
- package/dist/esm/lib/v3/llm/LLMProvider.js +0 -5
- package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -1
- package/dist/esm/lib/v3/llm/OpenAIClient.js +2 -2
- package/dist/esm/lib/v3/llm/OpenAIClient.js.map +1 -1
- package/dist/esm/lib/v3/mcp/connection.d.ts +2 -0
- package/dist/esm/lib/v3/mcp/connection.js +5 -2
- package/dist/esm/lib/v3/mcp/connection.js.map +1 -1
- package/dist/esm/lib/v3/runtimePaths.d.ts +6 -0
- package/dist/esm/lib/v3/runtimePaths.js +107 -0
- package/dist/esm/lib/v3/runtimePaths.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/supervisor.js +2 -2
- package/dist/esm/lib/v3/shutdown/supervisor.js.map +1 -1
- package/dist/esm/lib/v3/shutdown/supervisorClient.js +9 -14
- package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -1
- package/dist/esm/lib/v3/timeoutConfig.d.ts +1 -1
- package/dist/esm/lib/v3/timeoutConfig.js +5 -0
- package/dist/esm/lib/v3/timeoutConfig.js.map +1 -1
- package/dist/esm/lib/v3/types/private/cache.d.ts +3 -0
- package/dist/esm/lib/v3/types/private/cache.js.map +1 -1
- package/dist/esm/lib/v3/types/private/handlers.d.ts +2 -1
- package/dist/esm/lib/v3/types/private/handlers.js.map +1 -1
- package/dist/esm/lib/v3/types/private/shutdown.d.ts +1 -1
- package/dist/esm/lib/v3/types/private/shutdown.js.map +1 -1
- package/dist/esm/lib/v3/types/public/agent.d.ts +60 -2
- package/dist/esm/lib/v3/types/public/agent.js +1 -1
- package/dist/esm/lib/v3/types/public/agent.js.map +1 -1
- package/dist/esm/lib/v3/types/public/api.d.ts +17 -0
- package/dist/esm/lib/v3/types/public/api.js +3 -2
- package/dist/esm/lib/v3/types/public/api.js.map +1 -1
- package/dist/esm/lib/v3/types/public/context.d.ts +32 -0
- package/dist/esm/lib/v3/types/public/context.js +2 -0
- package/dist/esm/lib/v3/types/public/context.js.map +1 -0
- package/dist/esm/lib/v3/types/public/index.d.ts +1 -0
- package/dist/esm/lib/v3/types/public/index.js +1 -0
- package/dist/esm/lib/v3/types/public/index.js.map +1 -1
- package/dist/esm/lib/v3/types/public/methods.d.ts +33 -2
- package/dist/esm/lib/v3/types/public/methods.js.map +1 -1
- package/dist/esm/lib/v3/types/public/model.d.ts +4 -2
- package/dist/esm/lib/v3/types/public/model.js.map +1 -1
- package/dist/esm/lib/v3/types/public/options.d.ts +8 -0
- package/dist/esm/lib/v3/types/public/options.js.map +1 -1
- package/dist/esm/lib/v3/types/public/sdkErrors.d.ts +13 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js +22 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js.map +1 -1
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js +1 -1
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -1
- package/dist/esm/lib/v3/understudy/cdp.d.ts +6 -1
- package/dist/esm/lib/v3/understudy/cdp.js +65 -7
- package/dist/esm/lib/v3/understudy/cdp.js.map +1 -1
- package/dist/esm/lib/v3/understudy/context.d.ts +34 -0
- package/dist/esm/lib/v3/understudy/context.js +327 -67
- package/dist/esm/lib/v3/understudy/context.js.map +1 -1
- package/dist/esm/lib/v3/understudy/cookies.d.ts +32 -0
- package/dist/esm/lib/v3/understudy/cookies.js +136 -0
- package/dist/esm/lib/v3/understudy/cookies.js.map +1 -0
- package/dist/esm/lib/v3/understudy/deepLocator.js +1 -23
- package/dist/esm/lib/v3/understudy/deepLocator.js.map +1 -1
- package/dist/esm/lib/v3/understudy/frame.js +24 -7
- package/dist/esm/lib/v3/understudy/frame.js.map +1 -1
- package/dist/esm/lib/v3/understudy/page.d.ts +13 -0
- package/dist/esm/lib/v3/understudy/page.js +58 -5
- package/dist/esm/lib/v3/understudy/page.js.map +1 -1
- package/dist/esm/lib/v3/understudy/screenshotUtils.d.ts +0 -1
- package/dist/esm/lib/v3/understudy/screenshotUtils.js +1 -19
- package/dist/esm/lib/v3/understudy/screenshotUtils.js.map +1 -1
- package/dist/esm/lib/v3/understudy/selectorResolver.js +1 -1
- package/dist/esm/lib/v3/understudy/selectorResolver.js.map +1 -1
- package/dist/esm/lib/v3/v3.js +59 -35
- package/dist/esm/lib/v3/v3.js.map +1 -1
- package/dist/esm/lib/version.d.ts +1 -1
- package/dist/esm/lib/version.js +1 -1
- package/dist/esm/lib/version.js.map +1 -1
- package/dist/esm/tests/cache-variables.test.d.ts +1 -0
- package/dist/esm/tests/cache-variables.test.js +219 -0
- package/dist/esm/tests/cache-variables.test.js.map +1 -0
- package/dist/esm/tests/integration/agent-abort-signal.spec.d.ts +1 -0
- package/dist/esm/tests/integration/agent-abort-signal.spec.js +121 -0
- package/dist/esm/tests/integration/agent-abort-signal.spec.js.map +1 -0
- package/dist/esm/tests/integration/agent-cache-self-heal.spec.d.ts +1 -0
- package/dist/esm/tests/integration/agent-cache-self-heal.spec.js +78 -0
- package/dist/esm/tests/integration/agent-cache-self-heal.spec.js.map +1 -0
- package/dist/esm/tests/integration/agent-callbacks.spec.d.ts +1 -0
- package/dist/esm/tests/integration/agent-callbacks.spec.js +383 -0
- package/dist/esm/tests/integration/agent-callbacks.spec.js.map +1 -0
- package/dist/esm/tests/integration/agent-experimental-validation.spec.d.ts +1 -0
- package/dist/esm/tests/integration/agent-experimental-validation.spec.js +360 -0
- package/dist/esm/tests/integration/agent-experimental-validation.spec.js.map +1 -0
- package/dist/esm/tests/integration/agent-hybrid-mode.spec.d.ts +1 -0
- package/dist/esm/tests/integration/agent-hybrid-mode.spec.js +260 -0
- package/dist/esm/tests/integration/agent-hybrid-mode.spec.js.map +1 -0
- package/dist/esm/tests/integration/agent-message-continuation.spec.d.ts +1 -0
- package/dist/esm/tests/integration/agent-message-continuation.spec.js +110 -0
- package/dist/esm/tests/integration/agent-message-continuation.spec.js.map +1 -0
- package/dist/esm/tests/integration/agent-streaming.spec.d.ts +1 -0
- package/dist/esm/tests/integration/agent-streaming.spec.js +138 -0
- package/dist/esm/tests/integration/agent-streaming.spec.js.map +1 -0
- package/dist/esm/tests/integration/cdp-close-api-region.spec.d.ts +1 -0
- package/dist/esm/tests/integration/cdp-close-api-region.spec.js +39 -0
- package/dist/esm/tests/integration/cdp-close-api-region.spec.js.map +1 -0
- package/dist/esm/tests/integration/cdp-connection-close.spec.d.ts +1 -0
- package/dist/esm/tests/integration/cdp-connection-close.spec.js +74 -0
- package/dist/esm/tests/integration/cdp-connection-close.spec.js.map +1 -0
- package/dist/esm/tests/integration/cdp-session-detached.spec.d.ts +1 -0
- package/dist/esm/tests/integration/cdp-session-detached.spec.js +43 -0
- package/dist/esm/tests/integration/cdp-session-detached.spec.js.map +1 -0
- package/dist/esm/tests/integration/click-count.spec.d.ts +1 -0
- package/dist/esm/tests/integration/click-count.spec.js +161 -0
- package/dist/esm/tests/integration/click-count.spec.js.map +1 -0
- package/dist/esm/tests/integration/connect-to-existing-browser.spec.d.ts +1 -0
- package/dist/esm/tests/integration/connect-to-existing-browser.spec.js +97 -0
- package/dist/esm/tests/integration/connect-to-existing-browser.spec.js.map +1 -0
- package/dist/esm/tests/integration/context-addInitScript.spec.d.ts +1 -0
- package/dist/esm/tests/integration/context-addInitScript.spec.js +283 -0
- package/dist/esm/tests/integration/context-addInitScript.spec.js.map +1 -0
- package/dist/esm/tests/integration/context-extra-http-headers.spec.d.ts +1 -0
- package/dist/esm/tests/integration/context-extra-http-headers.spec.js +47 -0
- package/dist/esm/tests/integration/context-extra-http-headers.spec.js.map +1 -0
- package/dist/esm/tests/integration/cookies.spec.d.ts +1 -0
- package/dist/esm/tests/integration/cookies.spec.js +185 -0
- package/dist/esm/tests/integration/cookies.spec.js.map +1 -0
- package/dist/esm/tests/integration/default-page-tracking.spec.d.ts +1 -0
- package/dist/esm/tests/integration/default-page-tracking.spec.js +50 -0
- package/dist/esm/tests/integration/default-page-tracking.spec.js.map +1 -0
- package/dist/esm/tests/integration/downloads.spec.d.ts +1 -0
- package/dist/esm/tests/integration/downloads.spec.js +47 -0
- package/dist/esm/tests/integration/downloads.spec.js.map +1 -0
- package/dist/esm/tests/integration/frame-get-location-and-click.spec.d.ts +1 -0
- package/dist/esm/tests/integration/frame-get-location-and-click.spec.js +55 -0
- package/dist/esm/tests/integration/frame-get-location-and-click.spec.js.map +1 -0
- package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.d.ts +1 -0
- package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js +217 -0
- package/dist/esm/tests/integration/iframe-ctx-addInitScript-race.spec.js.map +1 -0
- package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.d.ts +1 -0
- package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js +472 -0
- package/dist/esm/tests/integration/iframe-ctx-addInitScript.spec.js.map +1 -0
- package/dist/esm/tests/integration/keep-alive.child.d.ts +1 -0
- package/dist/esm/tests/integration/keep-alive.child.js +83 -0
- package/dist/esm/tests/integration/keep-alive.child.js.map +1 -0
- package/dist/esm/tests/integration/keep-alive.spec.d.ts +22 -0
- package/dist/esm/tests/integration/keep-alive.spec.js +482 -0
- package/dist/esm/tests/integration/keep-alive.spec.js.map +1 -0
- package/dist/esm/tests/integration/keyboard.spec.d.ts +1 -0
- package/dist/esm/tests/integration/keyboard.spec.js +257 -0
- package/dist/esm/tests/integration/keyboard.spec.js.map +1 -0
- package/dist/esm/tests/integration/locator-backend-node-id.spec.d.ts +1 -0
- package/dist/esm/tests/integration/locator-backend-node-id.spec.js +148 -0
- package/dist/esm/tests/integration/locator-backend-node-id.spec.js.map +1 -0
- package/dist/esm/tests/integration/locator-content-methods.spec.d.ts +1 -0
- package/dist/esm/tests/integration/locator-content-methods.spec.js +178 -0
- package/dist/esm/tests/integration/locator-content-methods.spec.js.map +1 -0
- package/dist/esm/tests/integration/locator-count-iframe.spec.d.ts +1 -0
- package/dist/esm/tests/integration/locator-count-iframe.spec.js +127 -0
- package/dist/esm/tests/integration/locator-count-iframe.spec.js.map +1 -0
- package/dist/esm/tests/integration/locator-count.spec.d.ts +1 -0
- package/dist/esm/tests/integration/locator-count.spec.js +66 -0
- package/dist/esm/tests/integration/locator-count.spec.js.map +1 -0
- package/dist/esm/tests/integration/locator-fill.spec.d.ts +1 -0
- package/dist/esm/tests/integration/locator-fill.spec.js +115 -0
- package/dist/esm/tests/integration/locator-fill.spec.js.map +1 -0
- package/dist/esm/tests/integration/locator-input-methods.spec.d.ts +1 -0
- package/dist/esm/tests/integration/locator-input-methods.spec.js +125 -0
- package/dist/esm/tests/integration/locator-input-methods.spec.js.map +1 -0
- package/dist/esm/tests/integration/locator-nth.spec.d.ts +1 -0
- package/dist/esm/tests/integration/locator-nth.spec.js +173 -0
- package/dist/esm/tests/integration/locator-nth.spec.js.map +1 -0
- package/dist/esm/tests/integration/locator-select-option.spec.d.ts +1 -0
- package/dist/esm/tests/integration/locator-select-option.spec.js +214 -0
- package/dist/esm/tests/integration/locator-select-option.spec.js.map +1 -0
- package/dist/esm/tests/integration/logger-initialization.spec.d.ts +1 -0
- package/dist/esm/tests/integration/logger-initialization.spec.js +595 -0
- package/dist/esm/tests/integration/logger-initialization.spec.js.map +1 -0
- package/dist/esm/tests/integration/multi-instance-logger.spec.d.ts +1 -0
- package/dist/esm/tests/integration/multi-instance-logger.spec.js +291 -0
- package/dist/esm/tests/integration/multi-instance-logger.spec.js.map +1 -0
- package/dist/esm/tests/integration/nested-div.spec.d.ts +1 -0
- package/dist/esm/tests/integration/nested-div.spec.js +20 -0
- package/dist/esm/tests/integration/nested-div.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-addInitScript.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-addInitScript.spec.js +92 -0
- package/dist/esm/tests/integration/page-addInitScript.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-console.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-console.spec.js +45 -0
- package/dist/esm/tests/integration/page-console.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-drag-and-drop.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-drag-and-drop.spec.js +435 -0
- package/dist/esm/tests/integration/page-drag-and-drop.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-extra-http-headers.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-extra-http-headers.spec.js +83 -0
- package/dist/esm/tests/integration/page-extra-http-headers.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-goto-response.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-goto-response.spec.js +32 -0
- package/dist/esm/tests/integration/page-goto-response.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-hover.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-hover.spec.js +163 -0
- package/dist/esm/tests/integration/page-hover.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-screenshot.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-screenshot.spec.js +257 -0
- package/dist/esm/tests/integration/page-screenshot.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-scroll.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-scroll.spec.js +181 -0
- package/dist/esm/tests/integration/page-scroll.spec.js.map +1 -0
- package/dist/esm/tests/integration/page-send-cdp.spec.d.ts +1 -0
- package/dist/esm/tests/integration/page-send-cdp.spec.js +45 -0
- package/dist/esm/tests/integration/page-send-cdp.spec.js.map +1 -0
- package/dist/esm/tests/integration/perform-understudy-method.spec.d.ts +1 -0
- package/dist/esm/tests/integration/perform-understudy-method.spec.js +61 -0
- package/dist/esm/tests/integration/perform-understudy-method.spec.js.map +1 -0
- package/dist/esm/tests/integration/setinputfiles.spec.d.ts +1 -0
- package/dist/esm/tests/integration/setinputfiles.spec.js +128 -0
- package/dist/esm/tests/integration/setinputfiles.spec.js.map +1 -0
- package/dist/esm/tests/integration/shadow-iframe-oopif.spec.d.ts +1 -0
- package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js +156 -0
- package/dist/esm/tests/integration/shadow-iframe-oopif.spec.js.map +1 -0
- package/dist/esm/tests/integration/shadow-iframe-spif.spec.d.ts +1 -0
- package/dist/esm/tests/integration/shadow-iframe-spif.spec.js +155 -0
- package/dist/esm/tests/integration/shadow-iframe-spif.spec.js.map +1 -0
- package/dist/esm/tests/integration/testUtils.d.ts +7 -0
- package/dist/esm/tests/integration/testUtils.js +40 -0
- package/dist/esm/tests/integration/testUtils.js.map +1 -0
- package/dist/esm/tests/integration/text-selector-innermost.spec.d.ts +1 -0
- package/dist/esm/tests/integration/text-selector-innermost.spec.js +103 -0
- package/dist/esm/tests/integration/text-selector-innermost.spec.js.map +1 -0
- package/dist/esm/tests/integration/timeouts.spec.d.ts +1 -0
- package/dist/esm/tests/integration/timeouts.spec.js +195 -0
- package/dist/esm/tests/integration/timeouts.spec.js.map +1 -0
- package/dist/esm/tests/integration/user-data-dir.spec.d.ts +1 -0
- package/dist/esm/tests/integration/user-data-dir.spec.js +42 -0
- package/dist/esm/tests/integration/user-data-dir.spec.js.map +1 -0
- package/dist/esm/tests/integration/v3.config.d.ts +4 -0
- package/dist/esm/tests/integration/v3.config.js +7 -0
- package/dist/esm/tests/integration/v3.config.js.map +1 -0
- package/dist/esm/tests/integration/v3.dynamic.config.d.ts +4 -0
- package/dist/esm/tests/integration/v3.dynamic.config.js +44 -0
- package/dist/esm/tests/integration/v3.dynamic.config.js.map +1 -0
- package/dist/esm/tests/integration/v3.playwright.config.d.ts +2 -0
- package/dist/esm/tests/integration/v3.playwright.config.js +46 -0
- package/dist/esm/tests/integration/v3.playwright.config.js.map +1 -0
- package/dist/esm/tests/integration/wait-for-selector.spec.d.ts +1 -0
- package/dist/esm/tests/integration/wait-for-selector.spec.js +681 -0
- package/dist/esm/tests/integration/wait-for-selector.spec.js.map +1 -0
- package/dist/esm/tests/integration/wait-for-timeout.spec.d.ts +1 -0
- package/dist/esm/tests/integration/wait-for-timeout.spec.js +116 -0
- package/dist/esm/tests/integration/wait-for-timeout.spec.js.map +1 -0
- package/dist/esm/tests/integration/xpath-for-location-deep.spec.d.ts +1 -0
- package/dist/esm/tests/integration/xpath-for-location-deep.spec.js +85 -0
- package/dist/esm/tests/integration/xpath-for-location-deep.spec.js.map +1 -0
- package/dist/esm/tests/unit/agent-execution-model.test.d.ts +1 -0
- package/dist/esm/tests/unit/agent-execution-model.test.js +126 -0
- package/dist/esm/tests/unit/agent-execution-model.test.js.map +1 -0
- package/dist/esm/tests/unit/api-multiregion.test.d.ts +1 -0
- package/dist/esm/tests/unit/api-multiregion.test.js +56 -0
- package/dist/esm/tests/unit/api-multiregion.test.js.map +1 -0
- package/dist/esm/tests/unit/browserbase-session-accessors.test.d.ts +1 -0
- package/dist/esm/tests/unit/browserbase-session-accessors.test.js +100 -0
- package/dist/esm/tests/unit/browserbase-session-accessors.test.js.map +1 -0
- package/dist/esm/tests/unit/cache-llm-resolution.test.d.ts +1 -0
- package/dist/esm/tests/unit/cache-llm-resolution.test.js +184 -0
- package/dist/esm/tests/unit/cache-llm-resolution.test.js.map +1 -0
- package/dist/esm/tests/unit/cdp-connection-close.test.d.ts +1 -0
- package/dist/esm/tests/unit/cdp-connection-close.test.js +72 -0
- package/dist/esm/tests/unit/cdp-connection-close.test.js.map +1 -0
- package/dist/esm/tests/unit/context-extra-http-headers.test.d.ts +1 -0
- package/dist/esm/tests/unit/context-extra-http-headers.test.js +56 -0
- package/dist/esm/tests/unit/context-extra-http-headers.test.js.map +1 -0
- package/dist/esm/tests/unit/cookies.test.d.ts +1 -0
- package/dist/esm/tests/unit/cookies.test.js +909 -0
- package/dist/esm/tests/unit/cookies.test.js.map +1 -0
- package/dist/esm/tests/unit/helpers/mockCDPSession.d.ts +19 -0
- package/dist/esm/tests/unit/helpers/mockCDPSession.js +25 -0
- package/dist/esm/tests/unit/helpers/mockCDPSession.js.map +1 -0
- package/dist/esm/tests/unit/llm-provider.test.d.ts +1 -0
- package/dist/esm/tests/unit/llm-provider.test.js +62 -0
- package/dist/esm/tests/unit/llm-provider.test.js.map +1 -0
- package/dist/esm/tests/unit/model-deprecation.test.d.ts +1 -0
- package/dist/esm/tests/unit/model-deprecation.test.js +140 -0
- package/dist/esm/tests/unit/model-deprecation.test.js.map +1 -0
- package/dist/esm/tests/unit/model-utils.test.d.ts +1 -0
- package/dist/esm/tests/unit/model-utils.test.js +40 -0
- package/dist/esm/tests/unit/model-utils.test.js.map +1 -0
- package/dist/esm/tests/unit/page-extra-http-headers.test.d.ts +1 -0
- package/dist/esm/tests/unit/page-extra-http-headers.test.js +90 -0
- package/dist/esm/tests/unit/page-extra-http-headers.test.js.map +1 -0
- package/dist/esm/tests/unit/page-snapshot.test.d.ts +1 -0
- package/dist/esm/tests/unit/page-snapshot.test.js +40 -0
- package/dist/esm/tests/unit/page-snapshot.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/export-surface.test.d.ts +1 -0
- package/dist/esm/tests/unit/public-api/export-surface.test.js +72 -0
- package/dist/esm/tests/unit/public-api/export-surface.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/llm-and-agents.test.d.ts +1 -0
- package/dist/esm/tests/unit/public-api/llm-and-agents.test.js +140 -0
- package/dist/esm/tests/unit/public-api/llm-and-agents.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/public-error-types.test.d.ts +62 -0
- package/dist/esm/tests/unit/public-api/public-error-types.test.js +74 -0
- package/dist/esm/tests/unit/public-api/public-error-types.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/public-types.test.d.ts +1 -0
- package/dist/esm/tests/unit/public-api/public-types.test.js +97 -0
- package/dist/esm/tests/unit/public-api/public-types.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/runtime-utils.test.d.ts +1 -0
- package/dist/esm/tests/unit/public-api/runtime-utils.test.js +25 -0
- package/dist/esm/tests/unit/public-api/runtime-utils.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/schema-utils.test.d.ts +1 -0
- package/dist/esm/tests/unit/public-api/schema-utils.test.js +60 -0
- package/dist/esm/tests/unit/public-api/schema-utils.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/timeout-error-types.test.d.ts +1 -0
- package/dist/esm/tests/unit/public-api/timeout-error-types.test.js +86 -0
- package/dist/esm/tests/unit/public-api/timeout-error-types.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/tool-type-export.test.d.ts +1 -0
- package/dist/esm/tests/unit/public-api/tool-type-export.test.js +30 -0
- package/dist/esm/tests/unit/public-api/tool-type-export.test.js.map +1 -0
- package/dist/esm/tests/unit/public-api/v3-core.test.d.ts +1 -0
- package/dist/esm/tests/unit/public-api/v3-core.test.js +73 -0
- package/dist/esm/tests/unit/public-api/v3-core.test.js.map +1 -0
- package/dist/esm/tests/unit/rerender-missing-shadows.test.d.ts +1 -0
- package/dist/esm/tests/unit/rerender-missing-shadows.test.js +207 -0
- package/dist/esm/tests/unit/rerender-missing-shadows.test.js.map +1 -0
- package/dist/esm/tests/unit/safety-confirmation.test.d.ts +1 -0
- package/dist/esm/tests/unit/safety-confirmation.test.js +108 -0
- package/dist/esm/tests/unit/safety-confirmation.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js +295 -0
- package/dist/esm/tests/unit/snapshot-a11y-resolvers.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js +284 -0
- package/dist/esm/tests/unit/snapshot-a11y-tree-utils.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-capture-orchestration.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js +359 -0
- package/dist/esm/tests/unit/snapshot-capture-orchestration.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-cbor.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-cbor.test.js +202 -0
- package/dist/esm/tests/unit/snapshot-cbor.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-dom-session-builders.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js +218 -0
- package/dist/esm/tests/unit/snapshot-dom-session-builders.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js +105 -0
- package/dist/esm/tests/unit/snapshot-dom-tree-utils.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js +87 -0
- package/dist/esm/tests/unit/snapshot-focus-selectors-utils.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-frame-merge.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-frame-merge.test.js +333 -0
- package/dist/esm/tests/unit/snapshot-frame-merge.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-tree-format-utils.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js +82 -0
- package/dist/esm/tests/unit/snapshot-tree-format-utils.test.js.map +1 -0
- package/dist/esm/tests/unit/snapshot-xpath-utils.test.d.ts +1 -0
- package/dist/esm/tests/unit/snapshot-xpath-utils.test.js +72 -0
- package/dist/esm/tests/unit/snapshot-xpath-utils.test.js.map +1 -0
- package/dist/esm/tests/unit/timeout-handlers.test.d.ts +1 -0
- package/dist/esm/tests/unit/timeout-handlers.test.js +812 -0
- package/dist/esm/tests/unit/timeout-handlers.test.js.map +1 -0
- package/dist/esm/tests/unit/understudy-command-exception.test.d.ts +1 -0
- package/dist/esm/tests/unit/understudy-command-exception.test.js +55 -0
- package/dist/esm/tests/unit/understudy-command-exception.test.js.map +1 -0
- package/dist/esm/tests/unit/xpath-parser.test.d.ts +1 -0
- package/dist/esm/tests/unit/xpath-parser.test.js +309 -0
- package/dist/esm/tests/unit/xpath-parser.test.js.map +1 -0
- package/dist/esm/tests/unit/xpath-resolver.test.d.ts +1 -0
- package/dist/esm/tests/unit/xpath-resolver.test.js +78 -0
- package/dist/esm/tests/unit/xpath-resolver.test.js.map +1 -0
- package/dist/esm/tests/unit/zod-enum-compatibility.test.d.ts +1 -0
- package/dist/esm/tests/unit/zod-enum-compatibility.test.js +114 -0
- package/dist/esm/tests/unit/zod-enum-compatibility.test.js.map +1 -0
- package/package.json +19 -8
- package/dist/cjs/cli.js.map +0 -7
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/lib/v3/dom/build/rerender-index.d.ts +0 -0
- package/dist/cjs/lib/v3/dom/build/v3-index.d.ts +0 -0
- package/dist/cjs/lib/v3/tests/agent-abort-signal.spec.js +0 -113
- package/dist/cjs/lib/v3/tests/agent-abort-signal.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/agent-cache-self-heal.spec.js +0 -102
- package/dist/cjs/lib/v3/tests/agent-cache-self-heal.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/agent-callbacks.spec.js +0 -374
- package/dist/cjs/lib/v3/tests/agent-callbacks.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/agent-experimental-validation.spec.js +0 -354
- package/dist/cjs/lib/v3/tests/agent-experimental-validation.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/agent-hybrid-mode.spec.js +0 -247
- package/dist/cjs/lib/v3/tests/agent-hybrid-mode.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/agent-message-continuation.spec.js +0 -105
- package/dist/cjs/lib/v3/tests/agent-message-continuation.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/agent-streaming.spec.js +0 -126
- package/dist/cjs/lib/v3/tests/agent-streaming.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/cdp-session-detached.spec.js +0 -44
- package/dist/cjs/lib/v3/tests/cdp-session-detached.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/click-count.spec.js +0 -147
- package/dist/cjs/lib/v3/tests/click-count.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/connect-to-existing-browser.spec.js +0 -54
- package/dist/cjs/lib/v3/tests/connect-to-existing-browser.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/context-addInitScript.spec.js +0 -176
- package/dist/cjs/lib/v3/tests/context-addInitScript.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/default-page-tracking.spec.js +0 -53
- package/dist/cjs/lib/v3/tests/default-page-tracking.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/downloads.spec.js +0 -80
- package/dist/cjs/lib/v3/tests/downloads.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/frame-get-location-and-click.spec.js +0 -53
- package/dist/cjs/lib/v3/tests/frame-get-location-and-click.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/iframe-ctx-addInitScript.spec.js +0 -493
- package/dist/cjs/lib/v3/tests/iframe-ctx-addInitScript.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/keep-alive.child.js +0 -92
- package/dist/cjs/lib/v3/tests/keep-alive.child.js.map +0 -7
- package/dist/cjs/lib/v3/tests/keep-alive.helpers.js +0 -568
- package/dist/cjs/lib/v3/tests/keep-alive.helpers.js.map +0 -7
- package/dist/cjs/lib/v3/tests/keep-alive.spec.js +0 -15
- package/dist/cjs/lib/v3/tests/keep-alive.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/keyboard.spec.js +0 -296
- package/dist/cjs/lib/v3/tests/keyboard.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/locator-backend-node-id.spec.js +0 -159
- package/dist/cjs/lib/v3/tests/locator-backend-node-id.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/locator-content-methods.spec.js +0 -192
- package/dist/cjs/lib/v3/tests/locator-content-methods.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/locator-count-iframe.spec.js +0 -108
- package/dist/cjs/lib/v3/tests/locator-count-iframe.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/locator-count.spec.js +0 -71
- package/dist/cjs/lib/v3/tests/locator-count.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/locator-fill.spec.js +0 -119
- package/dist/cjs/lib/v3/tests/locator-fill.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/locator-input-methods.spec.js +0 -137
- package/dist/cjs/lib/v3/tests/locator-input-methods.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/locator-nth.spec.js +0 -157
- package/dist/cjs/lib/v3/tests/locator-nth.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/locator-select-option.spec.js +0 -243
- package/dist/cjs/lib/v3/tests/locator-select-option.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/logger-initialization.spec.js +0 -547
- package/dist/cjs/lib/v3/tests/logger-initialization.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/multi-instance-logger.spec.js +0 -269
- package/dist/cjs/lib/v3/tests/multi-instance-logger.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/nested-div.spec.js +0 -23
- package/dist/cjs/lib/v3/tests/nested-div.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/page-addInitScript.spec.js +0 -90
- package/dist/cjs/lib/v3/tests/page-addInitScript.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/page-console.spec.js +0 -56
- package/dist/cjs/lib/v3/tests/page-console.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/page-drag-and-drop.spec.js +0 -418
- package/dist/cjs/lib/v3/tests/page-drag-and-drop.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/page-goto-response.spec.js +0 -35
- package/dist/cjs/lib/v3/tests/page-goto-response.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/page-hover.spec.js +0 -167
- package/dist/cjs/lib/v3/tests/page-hover.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/page-screenshot.spec.js +0 -295
- package/dist/cjs/lib/v3/tests/page-screenshot.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/page-scroll.spec.js +0 -182
- package/dist/cjs/lib/v3/tests/page-scroll.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/page-send-cdp.spec.js +0 -46
- package/dist/cjs/lib/v3/tests/page-send-cdp.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/perform-understudy-method.spec.js +0 -98
- package/dist/cjs/lib/v3/tests/perform-understudy-method.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/setinputfiles.spec.js +0 -148
- package/dist/cjs/lib/v3/tests/setinputfiles.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/shadow-iframe-oopif.spec.js +0 -156
- package/dist/cjs/lib/v3/tests/shadow-iframe-oopif.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/shadow-iframe-spif.spec.js +0 -156
- package/dist/cjs/lib/v3/tests/shadow-iframe-spif.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/testUtils.js +0 -54
- package/dist/cjs/lib/v3/tests/testUtils.js.map +0 -7
- package/dist/cjs/lib/v3/tests/text-selector-innermost.spec.js +0 -100
- package/dist/cjs/lib/v3/tests/text-selector-innermost.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/timeouts.spec.js +0 -32
- package/dist/cjs/lib/v3/tests/timeouts.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/user-data-dir.spec.js +0 -65
- package/dist/cjs/lib/v3/tests/user-data-dir.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/v3.config.js +0 -36
- package/dist/cjs/lib/v3/tests/v3.config.js.map +0 -7
- package/dist/cjs/lib/v3/tests/v3.dynamic.config.js +0 -67
- package/dist/cjs/lib/v3/tests/v3.dynamic.config.js.map +0 -7
- package/dist/cjs/lib/v3/tests/v3.playwright.config.js +0 -61
- package/dist/cjs/lib/v3/tests/v3.playwright.config.js.map +0 -7
- package/dist/cjs/lib/v3/tests/wait-for-selector.spec.js +0 -593
- package/dist/cjs/lib/v3/tests/wait-for-selector.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/wait-for-timeout.spec.js +0 -97
- package/dist/cjs/lib/v3/tests/wait-for-timeout.spec.js.map +0 -7
- package/dist/cjs/lib/v3/tests/xpath-for-location-deep.spec.js +0 -77
- package/dist/cjs/lib/v3/tests/xpath-for-location-deep.spec.js.map +0 -7
- package/dist/cjs/tests/agent-execution-model.test.js +0 -139
- package/dist/cjs/tests/agent-execution-model.test.js.map +0 -7
- package/dist/cjs/tests/api-multiregion.test.js +0 -73
- package/dist/cjs/tests/api-multiregion.test.js.map +0 -7
- package/dist/cjs/tests/browserbase-session-accessors.test.js +0 -101
- package/dist/cjs/tests/browserbase-session-accessors.test.js.map +0 -7
- package/dist/cjs/tests/cache-llm-resolution.test.js +0 -187
- package/dist/cjs/tests/cache-llm-resolution.test.js.map +0 -7
- package/dist/cjs/tests/helpers/mockCDPSession.js +0 -50
- package/dist/cjs/tests/helpers/mockCDPSession.js.map +0 -7
- package/dist/cjs/tests/llm-provider.test.js +0 -57
- package/dist/cjs/tests/llm-provider.test.js.map +0 -7
- package/dist/cjs/tests/model-deprecation.test.js +0 -132
- package/dist/cjs/tests/model-deprecation.test.js.map +0 -7
- package/dist/cjs/tests/model-utils.test.js +0 -43
- package/dist/cjs/tests/model-utils.test.js.map +0 -7
- package/dist/cjs/tests/page-snapshot.test.js +0 -58
- package/dist/cjs/tests/page-snapshot.test.js.map +0 -7
- package/dist/cjs/tests/public-api/export-surface.test.js +0 -77
- package/dist/cjs/tests/public-api/export-surface.test.js.map +0 -7
- package/dist/cjs/tests/public-api/llm-and-agents.test.js +0 -151
- package/dist/cjs/tests/public-api/llm-and-agents.test.js.map +0 -7
- package/dist/cjs/tests/public-api/public-error-types.test.js +0 -106
- package/dist/cjs/tests/public-api/public-error-types.test.js.map +0 -7
- package/dist/cjs/tests/public-api/public-types.test.js +0 -74
- package/dist/cjs/tests/public-api/public-types.test.js.map +0 -7
- package/dist/cjs/tests/public-api/runtime-utils.test.js +0 -53
- package/dist/cjs/tests/public-api/runtime-utils.test.js.map +0 -7
- package/dist/cjs/tests/public-api/schema-utils.test.js +0 -100
- package/dist/cjs/tests/public-api/schema-utils.test.js.map +0 -7
- package/dist/cjs/tests/public-api/timeout-error-types.test.js +0 -103
- package/dist/cjs/tests/public-api/timeout-error-types.test.js.map +0 -7
- package/dist/cjs/tests/public-api/tool-type-export.test.js +0 -47
- package/dist/cjs/tests/public-api/tool-type-export.test.js.map +0 -7
- package/dist/cjs/tests/public-api/v3-core.test.js +0 -105
- package/dist/cjs/tests/public-api/v3-core.test.js.map +0 -7
- package/dist/cjs/tests/safety-confirmation.test.js +0 -134
- package/dist/cjs/tests/safety-confirmation.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-a11y-resolvers.test.js +0 -370
- package/dist/cjs/tests/snapshot-a11y-resolvers.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-a11y-tree-utils.test.js +0 -294
- package/dist/cjs/tests/snapshot-a11y-tree-utils.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-capture-orchestration.test.js +0 -405
- package/dist/cjs/tests/snapshot-capture-orchestration.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-cbor.test.js +0 -197
- package/dist/cjs/tests/snapshot-cbor.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-dom-session-builders.test.js +0 -246
- package/dist/cjs/tests/snapshot-dom-session-builders.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-dom-tree-utils.test.js +0 -104
- package/dist/cjs/tests/snapshot-dom-tree-utils.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-focus-selectors-utils.test.js +0 -45
- package/dist/cjs/tests/snapshot-focus-selectors-utils.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-frame-merge.test.js +0 -388
- package/dist/cjs/tests/snapshot-frame-merge.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-tree-format-utils.test.js +0 -106
- package/dist/cjs/tests/snapshot-tree-format-utils.test.js.map +0 -7
- package/dist/cjs/tests/snapshot-xpath-utils.test.js +0 -74
- package/dist/cjs/tests/snapshot-xpath-utils.test.js.map +0 -7
- package/dist/cjs/tests/timeout-handlers.test.js +0 -864
- package/dist/cjs/tests/timeout-handlers.test.js.map +0 -7
- package/dist/cjs/tests/understudy-command-exception.test.js +0 -52
- package/dist/cjs/tests/understudy-command-exception.test.js.map +0 -7
- package/dist/cjs/tests/xpath-parser.test.js +0 -314
- package/dist/cjs/tests/xpath-parser.test.js.map +0 -7
- package/dist/cjs/tests/xpath-resolver.test.js +0 -70
- package/dist/cjs/tests/xpath-resolver.test.js.map +0 -7
- package/dist/cjs/tests/zod-enum-compatibility.test.js +0 -119
- package/dist/cjs/tests/zod-enum-compatibility.test.js.map +0 -7
- package/dist/esm/lib/v3/dom/build/rerender-index.d.ts +0 -0
- package/dist/esm/lib/v3/dom/build/rerender-index.js.map +0 -1
- package/dist/esm/lib/v3/dom/build/v3-index.d.ts +0 -0
- package/dist/esm/lib/v3/dom/build/v3-index.js.map +0 -1
- package/dist/esm/lib/v3/dom/genA11yScripts.js +0 -54
- package/dist/esm/lib/v3/dom/genA11yScripts.js.map +0 -1
- package/dist/esm/lib/v3/dom/genDomScripts.js +0 -38
- package/dist/esm/lib/v3/dom/genDomScripts.js.map +0 -1
- package/dist/esm/lib/v3/dom/genLocatorScripts.js +0 -51
- package/dist/esm/lib/v3/dom/genLocatorScripts.js.map +0 -1
- package/dist/esm/lib/v3/dom/genScreenshotScripts.js +0 -37
- package/dist/esm/lib/v3/dom/genScreenshotScripts.js.map +0 -1
- package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js +0 -113
- package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js +0 -80
- package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/agent-callbacks.spec.js +0 -374
- package/dist/esm/lib/v3/tests/agent-callbacks.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js +0 -357
- package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js +0 -247
- package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js +0 -105
- package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/agent-streaming.spec.js +0 -126
- package/dist/esm/lib/v3/tests/agent-streaming.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js +0 -44
- package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/click-count.spec.js +0 -147
- package/dist/esm/lib/v3/tests/click-count.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js +0 -54
- package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/context-addInitScript.spec.js +0 -176
- package/dist/esm/lib/v3/tests/context-addInitScript.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/default-page-tracking.spec.js +0 -53
- package/dist/esm/lib/v3/tests/default-page-tracking.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/downloads.spec.js +0 -58
- package/dist/esm/lib/v3/tests/downloads.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js +0 -53
- package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js +0 -493
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/keep-alive.child.js +0 -92
- package/dist/esm/lib/v3/tests/keep-alive.child.js.map +0 -7
- package/dist/esm/lib/v3/tests/keep-alive.helpers.js +0 -532
- package/dist/esm/lib/v3/tests/keep-alive.helpers.js.map +0 -7
- package/dist/esm/lib/v3/tests/keep-alive.spec.js +0 -19
- package/dist/esm/lib/v3/tests/keep-alive.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/keyboard.spec.js +0 -296
- package/dist/esm/lib/v3/tests/keyboard.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js +0 -159
- package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/locator-content-methods.spec.js +0 -192
- package/dist/esm/lib/v3/tests/locator-content-methods.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js +0 -108
- package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/locator-count.spec.js +0 -71
- package/dist/esm/lib/v3/tests/locator-count.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/locator-fill.spec.js +0 -119
- package/dist/esm/lib/v3/tests/locator-fill.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/locator-input-methods.spec.js +0 -137
- package/dist/esm/lib/v3/tests/locator-input-methods.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/locator-nth.spec.js +0 -157
- package/dist/esm/lib/v3/tests/locator-nth.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/locator-select-option.spec.js +0 -243
- package/dist/esm/lib/v3/tests/locator-select-option.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/logger-initialization.spec.js +0 -552
- package/dist/esm/lib/v3/tests/logger-initialization.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js +0 -269
- package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/nested-div.spec.js +0 -23
- package/dist/esm/lib/v3/tests/nested-div.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/page-addInitScript.spec.js +0 -90
- package/dist/esm/lib/v3/tests/page-addInitScript.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/page-console.spec.js +0 -56
- package/dist/esm/lib/v3/tests/page-console.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js +0 -418
- package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/page-goto-response.spec.js +0 -35
- package/dist/esm/lib/v3/tests/page-goto-response.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/page-hover.spec.js +0 -167
- package/dist/esm/lib/v3/tests/page-hover.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/page-screenshot.spec.js +0 -273
- package/dist/esm/lib/v3/tests/page-screenshot.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/page-scroll.spec.js +0 -182
- package/dist/esm/lib/v3/tests/page-scroll.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/page-send-cdp.spec.js +0 -46
- package/dist/esm/lib/v3/tests/page-send-cdp.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js +0 -98
- package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/setinputfiles.spec.js +0 -126
- package/dist/esm/lib/v3/tests/setinputfiles.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js +0 -134
- package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js +0 -134
- package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/testUtils.js +0 -31
- package/dist/esm/lib/v3/tests/testUtils.js.map +0 -7
- package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js +0 -100
- package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/timeouts.spec.js +0 -32
- package/dist/esm/lib/v3/tests/timeouts.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/user-data-dir.spec.js +0 -43
- package/dist/esm/lib/v3/tests/user-data-dir.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/v3.config.js +0 -15
- package/dist/esm/lib/v3/tests/v3.config.js.map +0 -7
- package/dist/esm/lib/v3/tests/v3.dynamic.config.js +0 -43
- package/dist/esm/lib/v3/tests/v3.dynamic.config.js.map +0 -7
- package/dist/esm/lib/v3/tests/v3.playwright.config.js +0 -41
- package/dist/esm/lib/v3/tests/v3.playwright.config.js.map +0 -7
- package/dist/esm/lib/v3/tests/wait-for-selector.spec.js +0 -593
- package/dist/esm/lib/v3/tests/wait-for-selector.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js +0 -97
- package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js.map +0 -7
- package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js +0 -77
- package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js.map +0 -7
- package/dist/esm/tests/agent-execution-model.test.js +0 -139
- package/dist/esm/tests/agent-execution-model.test.js.map +0 -7
- package/dist/esm/tests/api-multiregion.test.js +0 -73
- package/dist/esm/tests/api-multiregion.test.js.map +0 -7
- package/dist/esm/tests/browserbase-session-accessors.test.js +0 -101
- package/dist/esm/tests/browserbase-session-accessors.test.js.map +0 -7
- package/dist/esm/tests/cache-llm-resolution.test.js +0 -187
- package/dist/esm/tests/cache-llm-resolution.test.js.map +0 -7
- package/dist/esm/tests/helpers/mockCDPSession.js +0 -27
- package/dist/esm/tests/helpers/mockCDPSession.js.map +0 -7
- package/dist/esm/tests/llm-provider.test.js +0 -57
- package/dist/esm/tests/llm-provider.test.js.map +0 -7
- package/dist/esm/tests/model-deprecation.test.js +0 -135
- package/dist/esm/tests/model-deprecation.test.js.map +0 -7
- package/dist/esm/tests/model-utils.test.js +0 -43
- package/dist/esm/tests/model-utils.test.js.map +0 -7
- package/dist/esm/tests/page-snapshot.test.js +0 -36
- package/dist/esm/tests/page-snapshot.test.js.map +0 -7
- package/dist/esm/tests/public-api/export-surface.test.js +0 -55
- package/dist/esm/tests/public-api/export-surface.test.js.map +0 -7
- package/dist/esm/tests/public-api/llm-and-agents.test.js +0 -129
- package/dist/esm/tests/public-api/llm-and-agents.test.js.map +0 -7
- package/dist/esm/tests/public-api/public-error-types.test.js +0 -73
- package/dist/esm/tests/public-api/public-error-types.test.js.map +0 -7
- package/dist/esm/tests/public-api/public-types.test.js +0 -74
- package/dist/esm/tests/public-api/public-types.test.js.map +0 -7
- package/dist/esm/tests/public-api/runtime-utils.test.js +0 -31
- package/dist/esm/tests/public-api/runtime-utils.test.js.map +0 -7
- package/dist/esm/tests/public-api/schema-utils.test.js +0 -78
- package/dist/esm/tests/public-api/schema-utils.test.js.map +0 -7
- package/dist/esm/tests/public-api/timeout-error-types.test.js +0 -81
- package/dist/esm/tests/public-api/timeout-error-types.test.js.map +0 -7
- package/dist/esm/tests/public-api/tool-type-export.test.js +0 -25
- package/dist/esm/tests/public-api/tool-type-export.test.js.map +0 -7
- package/dist/esm/tests/public-api/v3-core.test.js +0 -83
- package/dist/esm/tests/public-api/v3-core.test.js.map +0 -7
- package/dist/esm/tests/safety-confirmation.test.js +0 -134
- package/dist/esm/tests/safety-confirmation.test.js.map +0 -7
- package/dist/esm/tests/snapshot-a11y-resolvers.test.js +0 -348
- package/dist/esm/tests/snapshot-a11y-resolvers.test.js.map +0 -7
- package/dist/esm/tests/snapshot-a11y-tree-utils.test.js +0 -300
- package/dist/esm/tests/snapshot-a11y-tree-utils.test.js.map +0 -7
- package/dist/esm/tests/snapshot-capture-orchestration.test.js +0 -383
- package/dist/esm/tests/snapshot-capture-orchestration.test.js.map +0 -7
- package/dist/esm/tests/snapshot-cbor.test.js +0 -197
- package/dist/esm/tests/snapshot-cbor.test.js.map +0 -7
- package/dist/esm/tests/snapshot-dom-session-builders.test.js +0 -251
- package/dist/esm/tests/snapshot-dom-session-builders.test.js.map +0 -7
- package/dist/esm/tests/snapshot-dom-tree-utils.test.js +0 -109
- package/dist/esm/tests/snapshot-dom-tree-utils.test.js.map +0 -7
- package/dist/esm/tests/snapshot-focus-selectors-utils.test.js +0 -49
- package/dist/esm/tests/snapshot-focus-selectors-utils.test.js.map +0 -7
- package/dist/esm/tests/snapshot-frame-merge.test.js +0 -391
- package/dist/esm/tests/snapshot-frame-merge.test.js.map +0 -7
- package/dist/esm/tests/snapshot-tree-format-utils.test.js +0 -113
- package/dist/esm/tests/snapshot-tree-format-utils.test.js.map +0 -7
- package/dist/esm/tests/snapshot-xpath-utils.test.js +0 -79
- package/dist/esm/tests/snapshot-xpath-utils.test.js.map +0 -7
- package/dist/esm/tests/timeout-handlers.test.js +0 -850
- package/dist/esm/tests/timeout-handlers.test.js.map +0 -7
- package/dist/esm/tests/understudy-command-exception.test.js +0 -55
- package/dist/esm/tests/understudy-command-exception.test.js.map +0 -7
- package/dist/esm/tests/xpath-parser.test.js +0 -317
- package/dist/esm/tests/xpath-parser.test.js.map +0 -7
- package/dist/esm/tests/xpath-resolver.test.js +0 -73
- package/dist/esm/tests/xpath-resolver.test.js.map +0 -7
- package/dist/esm/tests/zod-enum-compatibility.test.js +0 -97
- package/dist/esm/tests/zod-enum-compatibility.test.js.map +0 -7
- /package/dist/cjs/{lib/v3/dom/genA11yScripts.d.ts → tests/cache-variables.test.d.ts} +0 -0
- /package/dist/cjs/{lib/v3/dom/genDomScripts.d.ts → tests/integration/agent-abort-signal.spec.d.ts} +0 -0
- /package/dist/cjs/{lib/v3/dom/genLocatorScripts.d.ts → tests/integration/agent-cache-self-heal.spec.d.ts} +0 -0
- /package/dist/cjs/{lib/v3/dom/genScreenshotScripts.d.ts → tests/integration/agent-callbacks.spec.d.ts} +0 -0
- /package/dist/{esm/lib/v3/dom/genA11yScripts.d.ts → cjs/tests/integration/agent-experimental-validation.spec.d.ts} +0 -0
- /package/dist/{esm/lib/v3/dom/genDomScripts.d.ts → cjs/tests/integration/agent-hybrid-mode.spec.d.ts} +0 -0
- /package/dist/{esm/lib/v3/dom/genLocatorScripts.d.ts → cjs/tests/integration/agent-message-continuation.spec.d.ts} +0 -0
- /package/dist/{esm/lib/v3/dom/genScreenshotScripts.d.ts → cjs/tests/integration/agent-streaming.spec.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imageCompression.js","sourceRoot":"","sources":["../../../../../../lib/v3/agent/utils/imageCompression.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AnthropicMessage,\n AnthropicContentBlock,\n AnthropicToolResult,\n ResponseInputItem as OpenAIResponseInputItem,\n} from \"../../types/public/agent.js\";\nimport type {\n Content as GoogleContent,\n Part as GooglePart,\n} from \"@google/genai\";\n\nexport type ResponseInputItem = AnthropicMessage | AnthropicToolResult;\n\ninterface FunctionResponseData {\n inlineData?: {\n mimeType?: string;\n data?: string;\n };\n}\nexport type AnthropicResponseInputItem = AnthropicMessage | AnthropicToolResult;\nexport type SupportedInputItem =\n | AnthropicResponseInputItem\n | OpenAIResponseInputItem\n | GoogleContent;\n\n/**\n * Finds all items in the conversation history that contain images\n * @param items - Array of conversation items to check\n * @returns Array of indices where images were found\n */\nexport function findItemsWithImages(items: ResponseInputItem[]): number[] {\n const itemsWithImages: number[] = [];\n\n items.forEach((item, index) => {\n let hasImage = false;\n\n if (Array.isArray(item.content)) {\n hasImage = item.content.some(\n (contentItem: AnthropicContentBlock) =>\n contentItem.type === \"tool_result\" &&\n \"content\" in contentItem &&\n Array.isArray(contentItem.content) &&\n (contentItem.content as AnthropicContentBlock[]).some(\n (nestedItem: AnthropicContentBlock) => nestedItem.type === \"image\",\n ),\n );\n }\n\n if (hasImage) {\n itemsWithImages.push(index);\n }\n });\n\n return itemsWithImages;\n}\n\n/**\n * Compresses conversation history by removing images from older items\n * while keeping the most recent images intact\n * @param items - Array of conversation items to process\n * @param keepMostRecentCount - Number of most recent image-containing items to preserve (default: 2)\n * @returns Object with processed items\n */\nexport function compressConversationImages(\n items: ResponseInputItem[],\n keepMostRecentCount: number = 2,\n): { items: ResponseInputItem[] } {\n const itemsWithImages = findItemsWithImages(items);\n\n items.forEach((item, index) => {\n const imageIndex = itemsWithImages.indexOf(index);\n const shouldCompress =\n imageIndex >= 0 &&\n imageIndex < itemsWithImages.length - keepMostRecentCount;\n\n if (shouldCompress) {\n if (Array.isArray(item.content)) {\n item.content = item.content.map(\n (contentItem: AnthropicContentBlock) => {\n if (\n contentItem.type === \"tool_result\" &&\n \"content\" in contentItem &&\n Array.isArray(contentItem.content) &&\n (contentItem.content as AnthropicContentBlock[]).some(\n (nestedItem: AnthropicContentBlock) =>\n nestedItem.type === \"image\",\n )\n ) {\n return {\n ...contentItem,\n content: \"screenshot taken\",\n } as AnthropicContentBlock;\n }\n return contentItem;\n },\n );\n }\n }\n });\n\n return {\n items,\n };\n}\n\n/**\n * Finds all items in the conversation history that contain images (Google format)\n * @param items - Array of conversation items to check\n * @returns Array of indices where images were found\n */\nexport function findGoogleItemsWithImages(items: GoogleContent[]): number[] {\n const itemsWithImages: number[] = [];\n\n items.forEach((item, index) => {\n let hasImage = false;\n\n if (item.parts && Array.isArray(item.parts)) {\n hasImage = item.parts.some((part: GooglePart) => {\n // Check for functionResponse with data containing images\n if (part.functionResponse?.response?.data) {\n const data = part.functionResponse.response\n .data as FunctionResponseData[];\n return data.some((dataItem) =>\n dataItem.inlineData?.mimeType?.startsWith(\"image/\"),\n );\n }\n\n // Check for functionResponse with parts containing images\n if (part.functionResponse?.parts) {\n return part.functionResponse.parts.some((responsePart) =>\n responsePart.inlineData?.mimeType?.startsWith(\"image/\"),\n );\n }\n\n // Check for direct inline data\n return part.inlineData?.mimeType?.startsWith(\"image/\");\n });\n }\n\n if (hasImage) {\n itemsWithImages.push(index);\n }\n });\n\n return itemsWithImages;\n}\n\n/**\n * Finds all items in the conversation history that contain images (OpenAI format)\n * @param items - Array of conversation items to check\n * @returns Array of indices where images were found\n */\nexport function findOpenAIItemsWithImages(\n items: OpenAIResponseInputItem[],\n): number[] {\n const itemsWithImages: number[] = [];\n\n items.forEach((item, index) => {\n let hasImage = false;\n\n // Check for computer_call_output with image\n if (\n \"type\" in item &&\n item.type === \"computer_call_output\" &&\n \"output\" in item\n ) {\n const output = item.output as unknown as {\n type: string;\n image_url: string;\n };\n hasImage = output?.type === \"input_image\" && !!output?.image_url;\n }\n\n if (hasImage) {\n itemsWithImages.push(index);\n }\n });\n\n return itemsWithImages;\n}\n\n/**\n * Compresses OpenAI conversation history by removing images from older items\n * while keeping the most recent images intact\n * @param items - Array of conversation items to process\n * @param keepMostRecentCount - Number of most recent image-containing items to preserve (default: 2)\n * @returns Object with processed items\n */\nexport function compressOpenAIConversationImages(\n items: OpenAIResponseInputItem[],\n keepMostRecentCount: number = 2,\n): { items: OpenAIResponseInputItem[] } {\n const itemsWithImages = findOpenAIItemsWithImages(items);\n\n items.forEach((item, index) => {\n const imageIndex = itemsWithImages.indexOf(index);\n const shouldCompress =\n imageIndex >= 0 &&\n imageIndex < itemsWithImages.length - keepMostRecentCount;\n\n if (shouldCompress) {\n // For computer_call_output with image, replace with text\n if (\n \"type\" in item &&\n item.type === \"computer_call_output\" &&\n \"output\" in item\n ) {\n const output = item.output as unknown as { type: string };\n if (output?.type === \"input_image\") {\n // Replace the image with a text message\n (item as unknown as { output: string }).output = \"screenshot taken\";\n }\n }\n }\n });\n\n return {\n items,\n };\n}\n\n/**\n * Compresses Google conversation history by removing images from older items\n * while keeping the most recent images intact\n * @param items - Array of conversation items to process\n * @param keepMostRecentCount - Number of most recent image-containing items to preserve (default: 2)\n * @returns Object with processed items\n */\nexport function compressGoogleConversationImages(\n items: GoogleContent[],\n keepMostRecentCount: number = 2,\n): { items: GoogleContent[] } {\n const itemsWithImages = findGoogleItemsWithImages(items);\n\n items.forEach((item, index) => {\n const imageIndex = itemsWithImages.indexOf(index);\n const shouldCompress =\n imageIndex >= 0 &&\n imageIndex < itemsWithImages.length - keepMostRecentCount;\n\n if (shouldCompress && item.parts && Array.isArray(item.parts)) {\n item.parts = item.parts.map((part: GooglePart) => {\n // Replace functionResponse with data containing images\n if (part.functionResponse?.response?.data) {\n const data = part.functionResponse.response\n .data as FunctionResponseData[];\n const hasImage = data.some((dataItem) =>\n dataItem.inlineData?.mimeType?.startsWith(\"image/\"),\n );\n if (hasImage) {\n return {\n ...part,\n functionResponse: {\n ...part.functionResponse,\n data: [] as FunctionResponseData[],\n response: {\n ...part.functionResponse.response,\n compressed: \"screenshot taken\",\n },\n },\n };\n }\n }\n\n // Replace functionResponse with parts containing images\n if (part.functionResponse?.parts) {\n const hasImageInParts = part.functionResponse.parts.some(\n (responsePart) =>\n responsePart.inlineData?.mimeType?.startsWith(\"image/\"),\n );\n if (hasImageInParts) {\n return {\n ...part,\n functionResponse: {\n ...part.functionResponse,\n parts: part.functionResponse.parts.filter(\n (responsePart) =>\n !responsePart.inlineData?.mimeType?.startsWith(\"image/\"),\n ),\n response: {\n ...part.functionResponse.response,\n compressed: \"screenshot taken\",\n },\n },\n };\n }\n }\n\n // Replace direct inline data images\n if (part.inlineData?.mimeType?.startsWith(\"image/\")) {\n return {\n text: \"screenshot taken\",\n };\n }\n return part;\n });\n }\n });\n\n return {\n items,\n };\n}\n"]}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processMessages = processMessages;
|
|
4
|
+
// Vision action tools that include screenshots in their results
|
|
5
|
+
const VISION_ACTION_TOOLS = [
|
|
6
|
+
"click",
|
|
7
|
+
"type",
|
|
8
|
+
"dragAndDrop",
|
|
9
|
+
"wait",
|
|
10
|
+
"fillFormVision",
|
|
11
|
+
"scroll",
|
|
12
|
+
];
|
|
13
|
+
function isToolMessage(message) {
|
|
14
|
+
return (!!message &&
|
|
15
|
+
typeof message === "object" &&
|
|
16
|
+
message.role === "tool" &&
|
|
17
|
+
Array.isArray(message.content));
|
|
18
|
+
}
|
|
19
|
+
function isScreenshotPart(part) {
|
|
20
|
+
return (!!part &&
|
|
21
|
+
typeof part === "object" &&
|
|
22
|
+
part.toolName === "screenshot");
|
|
23
|
+
}
|
|
24
|
+
function isVisionActionPart(part) {
|
|
25
|
+
if (!part || typeof part !== "object")
|
|
26
|
+
return false;
|
|
27
|
+
const toolName = part.toolName;
|
|
28
|
+
return typeof toolName === "string" && VISION_ACTION_TOOLS.includes(toolName);
|
|
29
|
+
}
|
|
30
|
+
function isVisionPart(part) {
|
|
31
|
+
return isScreenshotPart(part) || isVisionActionPart(part);
|
|
32
|
+
}
|
|
33
|
+
function isAriaTreePart(part) {
|
|
34
|
+
return (!!part &&
|
|
35
|
+
typeof part === "object" &&
|
|
36
|
+
part.toolName === "ariaTree");
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Compress old screenshot/ariaTree data in messages in-place.
|
|
40
|
+
*
|
|
41
|
+
* Strategy:
|
|
42
|
+
* - Keep only the 2 most recent vision results (screenshots OR vision action tools like click/type/etc)
|
|
43
|
+
* - Keep only the 1 most recent ariaTree (replace older ones with placeholder)
|
|
44
|
+
*
|
|
45
|
+
* @param messages - The messages array to modify in-place
|
|
46
|
+
* @returns Number of items compressed
|
|
47
|
+
*/
|
|
48
|
+
function processMessages(messages) {
|
|
49
|
+
let compressedCount = 0;
|
|
50
|
+
// Find indices of all vision-related tool results (screenshots + vision actions)
|
|
51
|
+
// and ariaTree results
|
|
52
|
+
const visionIndices = [];
|
|
53
|
+
const ariaTreeIndices = [];
|
|
54
|
+
for (let i = 0; i < messages.length; i++) {
|
|
55
|
+
const message = messages[i];
|
|
56
|
+
if (isToolMessage(message)) {
|
|
57
|
+
const content = message.content;
|
|
58
|
+
if (content.some(isVisionPart)) {
|
|
59
|
+
visionIndices.push(i);
|
|
60
|
+
}
|
|
61
|
+
if (content.some(isAriaTreePart)) {
|
|
62
|
+
ariaTreeIndices.push(i);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
// Compress old vision results (keep 2 most recent across all vision tools)
|
|
67
|
+
if (visionIndices.length > 2) {
|
|
68
|
+
const toCompress = visionIndices.slice(0, visionIndices.length - 2);
|
|
69
|
+
for (const index of toCompress) {
|
|
70
|
+
const message = messages[index];
|
|
71
|
+
if (isToolMessage(message)) {
|
|
72
|
+
// Both functions are safe to call - they only modify their respective part types
|
|
73
|
+
compressScreenshotMessage(message);
|
|
74
|
+
compressVisionActionMessage(message);
|
|
75
|
+
compressedCount++;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// Compress old ariaTree results (keep 1 most recent)
|
|
80
|
+
if (ariaTreeIndices.length > 1) {
|
|
81
|
+
const toCompress = ariaTreeIndices.slice(0, ariaTreeIndices.length - 1);
|
|
82
|
+
for (const idx of toCompress) {
|
|
83
|
+
const message = messages[idx];
|
|
84
|
+
if (isToolMessage(message)) {
|
|
85
|
+
compressAriaTreeMessage(message);
|
|
86
|
+
compressedCount++;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return compressedCount;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Check if output has type "content" (array-based value format).
|
|
94
|
+
* Only outputs with type "content" should have array values.
|
|
95
|
+
*/
|
|
96
|
+
function isContentTypeOutput(output) {
|
|
97
|
+
return output.type === "content";
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Compress screenshot message content in-place.
|
|
101
|
+
* Only modifies outputs with type "content" to maintain schema validity.
|
|
102
|
+
* Replaces entire output object to ensure type/value consistency.
|
|
103
|
+
*/
|
|
104
|
+
function compressScreenshotMessage(message) {
|
|
105
|
+
for (const part of message.content) {
|
|
106
|
+
if (isScreenshotPart(part)) {
|
|
107
|
+
const typedPart = part;
|
|
108
|
+
// Only compress if output exists and has type "content"
|
|
109
|
+
if (typedPart.output && isContentTypeOutput(typedPart.output)) {
|
|
110
|
+
// Replace entire output to ensure type/value consistency
|
|
111
|
+
typedPart.output = {
|
|
112
|
+
type: "content",
|
|
113
|
+
value: [{ type: "text", text: "screenshot taken" }],
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Compress vision action message content in-place by removing the screenshot
|
|
121
|
+
* but keeping the action result text.
|
|
122
|
+
* Only modifies outputs with type "content" to maintain schema validity.
|
|
123
|
+
*/
|
|
124
|
+
function compressVisionActionMessage(message) {
|
|
125
|
+
for (const part of message.content) {
|
|
126
|
+
if (isVisionActionPart(part)) {
|
|
127
|
+
const typedPart = part;
|
|
128
|
+
// Only compress if output is type "content" (array-based value)
|
|
129
|
+
if (typedPart.output &&
|
|
130
|
+
isContentTypeOutput(typedPart.output) &&
|
|
131
|
+
Array.isArray(typedPart.output.value)) {
|
|
132
|
+
// Filter out media content but keep text results
|
|
133
|
+
const filteredValue = typedPart.output.value.filter((item) => item && typeof item === "object" && item.type !== "media");
|
|
134
|
+
// Replace entire output to ensure type/value consistency
|
|
135
|
+
typedPart.output = {
|
|
136
|
+
type: "content",
|
|
137
|
+
value: filteredValue,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Compress ariaTree message content in-place.
|
|
145
|
+
* Only modifies outputs with type "content" to maintain schema validity.
|
|
146
|
+
* Replaces entire output object to ensure type/value consistency.
|
|
147
|
+
*/
|
|
148
|
+
function compressAriaTreeMessage(message) {
|
|
149
|
+
for (const part of message.content) {
|
|
150
|
+
if (isAriaTreePart(part)) {
|
|
151
|
+
const typedPart = part;
|
|
152
|
+
// Only compress if output exists and has type "content"
|
|
153
|
+
if (typedPart.output && isContentTypeOutput(typedPart.output)) {
|
|
154
|
+
typedPart.output = {
|
|
155
|
+
type: "content",
|
|
156
|
+
value: [
|
|
157
|
+
{
|
|
158
|
+
type: "text",
|
|
159
|
+
text: "ARIA tree extracted for context of page elements",
|
|
160
|
+
},
|
|
161
|
+
],
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=messageProcessing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messageProcessing.js","sourceRoot":"","sources":["../../../../../../lib/v3/agent/utils/messageProcessing.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ModelMessage } from \"ai\";\n\n// Vision action tools that include screenshots in their results\nconst VISION_ACTION_TOOLS = [\n \"click\",\n \"type\",\n \"dragAndDrop\",\n \"wait\",\n \"fillFormVision\",\n \"scroll\",\n];\n\nfunction isToolMessage(\n message: unknown,\n): message is { role: \"tool\"; content: unknown[] } {\n return (\n !!message &&\n typeof message === \"object\" &&\n (message as { role?: unknown }).role === \"tool\" &&\n Array.isArray((message as { content?: unknown }).content)\n );\n}\n\nfunction isScreenshotPart(part: unknown): boolean {\n return (\n !!part &&\n typeof part === \"object\" &&\n (part as { toolName?: unknown }).toolName === \"screenshot\"\n );\n}\n\nfunction isVisionActionPart(part: unknown): boolean {\n if (!part || typeof part !== \"object\") return false;\n const toolName = (part as { toolName?: unknown }).toolName;\n return typeof toolName === \"string\" && VISION_ACTION_TOOLS.includes(toolName);\n}\n\nfunction isVisionPart(part: unknown): boolean {\n return isScreenshotPart(part) || isVisionActionPart(part);\n}\n\nfunction isAriaTreePart(part: unknown): boolean {\n return (\n !!part &&\n typeof part === \"object\" &&\n (part as { toolName?: unknown }).toolName === \"ariaTree\"\n );\n}\n\n/**\n * Compress old screenshot/ariaTree data in messages in-place.\n *\n * Strategy:\n * - Keep only the 2 most recent vision results (screenshots OR vision action tools like click/type/etc)\n * - Keep only the 1 most recent ariaTree (replace older ones with placeholder)\n *\n * @param messages - The messages array to modify in-place\n * @returns Number of items compressed\n */\nexport function processMessages(messages: ModelMessage[]): number {\n let compressedCount = 0;\n\n // Find indices of all vision-related tool results (screenshots + vision actions)\n // and ariaTree results\n const visionIndices: number[] = [];\n const ariaTreeIndices: number[] = [];\n\n for (let i = 0; i < messages.length; i++) {\n const message = messages[i];\n if (isToolMessage(message)) {\n const content = message.content as unknown[];\n if (content.some(isVisionPart)) {\n visionIndices.push(i);\n }\n if (content.some(isAriaTreePart)) {\n ariaTreeIndices.push(i);\n }\n }\n }\n\n // Compress old vision results (keep 2 most recent across all vision tools)\n if (visionIndices.length > 2) {\n const toCompress = visionIndices.slice(0, visionIndices.length - 2);\n for (const index of toCompress) {\n const message = messages[index];\n if (isToolMessage(message)) {\n // Both functions are safe to call - they only modify their respective part types\n compressScreenshotMessage(message);\n compressVisionActionMessage(message);\n compressedCount++;\n }\n }\n }\n\n // Compress old ariaTree results (keep 1 most recent)\n if (ariaTreeIndices.length > 1) {\n const toCompress = ariaTreeIndices.slice(0, ariaTreeIndices.length - 1);\n for (const idx of toCompress) {\n const message = messages[idx];\n if (isToolMessage(message)) {\n compressAriaTreeMessage(message);\n compressedCount++;\n }\n }\n }\n\n return compressedCount;\n}\n\n/**\n * Tool result part structure from AI SDK.\n * The output field uses a discriminated union - type determines value format:\n * - type: \"content\" -> value: Array<{type: \"text\", ...} | {type: \"media\", ...}>\n * - type: \"text\" -> value: string\n * - type: \"json\" -> value: JSONValue\n * - type: \"error-text\" -> value: string\n * - type: \"error-json\" -> value: JSONValue\n */\ninterface ToolResultPart {\n output?: {\n type: string;\n value?: unknown;\n };\n}\n\n/**\n * Check if output has type \"content\" (array-based value format).\n * Only outputs with type \"content\" should have array values.\n */\nfunction isContentTypeOutput(output: {\n type: string;\n value?: unknown;\n}): boolean {\n return output.type === \"content\";\n}\n\n/**\n * Compress screenshot message content in-place.\n * Only modifies outputs with type \"content\" to maintain schema validity.\n * Replaces entire output object to ensure type/value consistency.\n */\nfunction compressScreenshotMessage(message: {\n role: \"tool\";\n content: unknown[];\n}): void {\n for (const part of message.content) {\n if (isScreenshotPart(part)) {\n const typedPart = part as ToolResultPart;\n // Only compress if output exists and has type \"content\"\n if (typedPart.output && isContentTypeOutput(typedPart.output)) {\n // Replace entire output to ensure type/value consistency\n typedPart.output = {\n type: \"content\",\n value: [{ type: \"text\", text: \"screenshot taken\" }],\n };\n }\n }\n }\n}\n\n/**\n * Compress vision action message content in-place by removing the screenshot\n * but keeping the action result text.\n * Only modifies outputs with type \"content\" to maintain schema validity.\n */\nfunction compressVisionActionMessage(message: {\n role: \"tool\";\n content: unknown[];\n}): void {\n for (const part of message.content) {\n if (isVisionActionPart(part)) {\n const typedPart = part as ToolResultPart;\n\n // Only compress if output is type \"content\" (array-based value)\n if (\n typedPart.output &&\n isContentTypeOutput(typedPart.output) &&\n Array.isArray(typedPart.output.value)\n ) {\n // Filter out media content but keep text results\n const filteredValue = (\n typedPart.output.value as Array<{ type?: string }>\n ).filter(\n (item) => item && typeof item === \"object\" && item.type !== \"media\",\n );\n // Replace entire output to ensure type/value consistency\n typedPart.output = {\n type: \"content\",\n value: filteredValue,\n };\n }\n }\n }\n}\n\n/**\n * Compress ariaTree message content in-place.\n * Only modifies outputs with type \"content\" to maintain schema validity.\n * Replaces entire output object to ensure type/value consistency.\n */\nfunction compressAriaTreeMessage(message: {\n role: \"tool\";\n content: unknown[];\n}): void {\n for (const part of message.content) {\n if (isAriaTreePart(part)) {\n const typedPart = part as ToolResultPart;\n // Only compress if output exists and has type \"content\"\n if (typedPart.output && isContentTypeOutput(typedPart.output)) {\n typedPart.output = {\n type: \"content\",\n value: [\n {\n type: \"text\",\n text: \"ARIA tree extracted for context of page elements\",\n },\n ],\n };\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.waitAndCaptureScreenshot = waitAndCaptureScreenshot;
|
|
4
|
+
/**
|
|
5
|
+
* Default delay in milliseconds to wait after vision actions before capturing screenshot.
|
|
6
|
+
* Allows the page to settle after interactions.
|
|
7
|
+
*/
|
|
8
|
+
const DEFAULT_DELAY_MS = 500;
|
|
9
|
+
/**
|
|
10
|
+
* Waits for the page to settle and captures a screenshot.
|
|
11
|
+
* If the screenshot fails (e.g., page closed, navigation in progress),
|
|
12
|
+
* returns undefined instead of throwing - allowing the action to still succeed.
|
|
13
|
+
*
|
|
14
|
+
* @param page - The page to capture
|
|
15
|
+
* @param delayMs - Delay before capturing (default: 500ms, pass 0 to skip delay)
|
|
16
|
+
*/
|
|
17
|
+
async function waitAndCaptureScreenshot(page, delayMs = DEFAULT_DELAY_MS) {
|
|
18
|
+
if (delayMs > 0) {
|
|
19
|
+
await page.waitForTimeout(delayMs);
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
const buffer = await page.screenshot({ fullPage: false });
|
|
23
|
+
return buffer.toString("base64");
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=screenshotHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screenshotHandler.js","sourceRoot":"","sources":["../../../../../../lib/v3/agent/utils/screenshotHandler.ts"],"names":[],"mappings":";;AAgBA,4DAcC;AA5BD;;;GAGG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;;;;;;GAOG;AACI,KAAK,UAAU,wBAAwB,CAC5C,IAAU,EACV,UAAkB,gBAAgB;IAElC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC","sourcesContent":["import type { Page } from \"../../understudy/page.js\";\n\n/**\n * Default delay in milliseconds to wait after vision actions before capturing screenshot.\n * Allows the page to settle after interactions.\n */\nconst DEFAULT_DELAY_MS = 500;\n\n/**\n * Waits for the page to settle and captures a screenshot.\n * If the screenshot fails (e.g., page closed, navigation in progress),\n * returns undefined instead of throwing - allowing the action to still succeed.\n *\n * @param page - The page to capture\n * @param delayMs - Delay before capturing (default: 500ms, pass 0 to skip delay)\n */\nexport async function waitAndCaptureScreenshot(\n page: Page,\n delayMs: number = DEFAULT_DELAY_MS,\n): Promise<string | undefined> {\n if (delayMs > 0) {\n await page.waitForTimeout(delayMs);\n }\n\n try {\n const buffer = await page.screenshot({ fullPage: false });\n return buffer.toString(\"base64\");\n } catch {\n return undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateExperimentalFeatures = validateExperimentalFeatures;
|
|
4
|
+
const sdkErrors_js_1 = require("../../types/public/sdkErrors.js");
|
|
5
|
+
/**
|
|
6
|
+
* Validates agent configuration and experimental feature usage.
|
|
7
|
+
*
|
|
8
|
+
* This utility consolidates all validation checks for both CUA and non-CUA agent paths:
|
|
9
|
+
* - Invalid argument errors for CUA (streaming, abort signal, message continuation, excludeTools, output schema are not supported)
|
|
10
|
+
* - Experimental feature checks for integrations and tools (both CUA and non-CUA)
|
|
11
|
+
* - Experimental feature checks for hybrid mode (requires experimental: true)
|
|
12
|
+
* - Experimental feature checks for non-CUA only (callbacks, signal, messages, streaming, excludeTools, output schema)
|
|
13
|
+
*
|
|
14
|
+
* Throws StagehandInvalidArgumentError for invalid/unsupported configurations.
|
|
15
|
+
* Throws ExperimentalNotConfiguredError if experimental features are used without experimental mode.
|
|
16
|
+
*/
|
|
17
|
+
function validateExperimentalFeatures(options) {
|
|
18
|
+
const { isExperimental, agentConfig, executeOptions, isStreaming } = options;
|
|
19
|
+
// Check if CUA mode is enabled (via mode: "cua" or deprecated cua: true)
|
|
20
|
+
const isCuaMode = agentConfig?.mode !== undefined
|
|
21
|
+
? agentConfig.mode === "cua"
|
|
22
|
+
: agentConfig?.cua === true;
|
|
23
|
+
// CUA-specific validation: certain features are not available at all
|
|
24
|
+
if (isCuaMode) {
|
|
25
|
+
const unsupportedFeatures = [];
|
|
26
|
+
if (agentConfig?.stream) {
|
|
27
|
+
unsupportedFeatures.push("streaming");
|
|
28
|
+
}
|
|
29
|
+
if (executeOptions?.signal) {
|
|
30
|
+
unsupportedFeatures.push("abort signal");
|
|
31
|
+
}
|
|
32
|
+
if (executeOptions?.messages) {
|
|
33
|
+
unsupportedFeatures.push("message continuation");
|
|
34
|
+
}
|
|
35
|
+
if (executeOptions?.excludeTools &&
|
|
36
|
+
executeOptions.excludeTools.length > 0) {
|
|
37
|
+
unsupportedFeatures.push("excludeTools");
|
|
38
|
+
}
|
|
39
|
+
if (executeOptions?.output) {
|
|
40
|
+
unsupportedFeatures.push("output schema");
|
|
41
|
+
}
|
|
42
|
+
if (executeOptions?.variables &&
|
|
43
|
+
Object.keys(executeOptions.variables).length > 0) {
|
|
44
|
+
unsupportedFeatures.push("variables");
|
|
45
|
+
}
|
|
46
|
+
if (unsupportedFeatures.length > 0) {
|
|
47
|
+
throw new sdkErrors_js_1.StagehandInvalidArgumentError(`${unsupportedFeatures.join(", ")} ${unsupportedFeatures.length === 1 ? "is" : "are"} not supported with CUA (Computer Use Agent) mode.`);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
// Skip experimental checks if already in experimental mode
|
|
51
|
+
if (isExperimental)
|
|
52
|
+
return;
|
|
53
|
+
const features = [];
|
|
54
|
+
// Check agent config features (check array length to avoid false positives for empty arrays)
|
|
55
|
+
const hasIntegrations = agentConfig?.integrations && agentConfig.integrations.length > 0;
|
|
56
|
+
const hasTools = agentConfig?.tools && Object.keys(agentConfig.tools).length > 0;
|
|
57
|
+
if (hasIntegrations || hasTools) {
|
|
58
|
+
features.push("MCP integrations and custom tools");
|
|
59
|
+
}
|
|
60
|
+
// Check streaming mode (either explicit or derived from config) - only for non-CUA
|
|
61
|
+
if (!isCuaMode && (isStreaming || agentConfig?.stream)) {
|
|
62
|
+
features.push("streaming");
|
|
63
|
+
}
|
|
64
|
+
// Check execute options features - only for non-CUA
|
|
65
|
+
if (executeOptions && !isCuaMode) {
|
|
66
|
+
if (executeOptions.callbacks) {
|
|
67
|
+
features.push("callbacks");
|
|
68
|
+
}
|
|
69
|
+
if (executeOptions.signal) {
|
|
70
|
+
features.push("abort signal");
|
|
71
|
+
}
|
|
72
|
+
if (executeOptions.messages) {
|
|
73
|
+
features.push("message continuation");
|
|
74
|
+
}
|
|
75
|
+
if (executeOptions.excludeTools && executeOptions.excludeTools.length > 0) {
|
|
76
|
+
features.push("excludeTools");
|
|
77
|
+
}
|
|
78
|
+
if (executeOptions.output) {
|
|
79
|
+
features.push("output schema");
|
|
80
|
+
}
|
|
81
|
+
if (executeOptions.variables &&
|
|
82
|
+
Object.keys(executeOptions.variables).length > 0) {
|
|
83
|
+
features.push("variables");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
if (features.length > 0) {
|
|
87
|
+
throw new sdkErrors_js_1.ExperimentalNotConfiguredError(`Agent ${features.join(", ")}`);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=validateExperimentalFeatures.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateExperimentalFeatures.js","sourceRoot":"","sources":["../../../../../../lib/v3/agent/utils/validateExperimentalFeatures.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ExperimentalNotConfiguredError,\n StagehandInvalidArgumentError,\n} from \"../../types/public/sdkErrors.js\";\nimport type {\n AgentConfig,\n AgentExecuteOptionsBase,\n} from \"../../types/public/index.js\";\n\nexport interface AgentValidationOptions {\n /** Whether experimental mode is enabled */\n isExperimental: boolean;\n /** Agent config options (integrations, tools, stream, cua, etc.) */\n agentConfig?: Partial<AgentConfig>;\n /** Execute options (callbacks, signal, messages, etc.) */\n executeOptions?:\n | (Partial<AgentExecuteOptionsBase> & { callbacks?: unknown })\n | null;\n /** Whether this is streaming mode (can be derived from agentConfig.stream) */\n isStreaming?: boolean;\n}\n\n/**\n * Validates agent configuration and experimental feature usage.\n *\n * This utility consolidates all validation checks for both CUA and non-CUA agent paths:\n * - Invalid argument errors for CUA (streaming, abort signal, message continuation, excludeTools, output schema are not supported)\n * - Experimental feature checks for integrations and tools (both CUA and non-CUA)\n * - Experimental feature checks for hybrid mode (requires experimental: true)\n * - Experimental feature checks for non-CUA only (callbacks, signal, messages, streaming, excludeTools, output schema)\n *\n * Throws StagehandInvalidArgumentError for invalid/unsupported configurations.\n * Throws ExperimentalNotConfiguredError if experimental features are used without experimental mode.\n */\nexport function validateExperimentalFeatures(\n options: AgentValidationOptions,\n): void {\n const { isExperimental, agentConfig, executeOptions, isStreaming } = options;\n\n // Check if CUA mode is enabled (via mode: \"cua\" or deprecated cua: true)\n const isCuaMode =\n agentConfig?.mode !== undefined\n ? agentConfig.mode === \"cua\"\n : agentConfig?.cua === true;\n\n // CUA-specific validation: certain features are not available at all\n if (isCuaMode) {\n const unsupportedFeatures: string[] = [];\n\n if (agentConfig?.stream) {\n unsupportedFeatures.push(\"streaming\");\n }\n if (executeOptions?.signal) {\n unsupportedFeatures.push(\"abort signal\");\n }\n if (executeOptions?.messages) {\n unsupportedFeatures.push(\"message continuation\");\n }\n if (\n executeOptions?.excludeTools &&\n executeOptions.excludeTools.length > 0\n ) {\n unsupportedFeatures.push(\"excludeTools\");\n }\n if (executeOptions?.output) {\n unsupportedFeatures.push(\"output schema\");\n }\n if (\n executeOptions?.variables &&\n Object.keys(executeOptions.variables).length > 0\n ) {\n unsupportedFeatures.push(\"variables\");\n }\n\n if (unsupportedFeatures.length > 0) {\n throw new StagehandInvalidArgumentError(\n `${unsupportedFeatures.join(\", \")} ${unsupportedFeatures.length === 1 ? \"is\" : \"are\"} not supported with CUA (Computer Use Agent) mode.`,\n );\n }\n }\n\n // Skip experimental checks if already in experimental mode\n if (isExperimental) return;\n\n const features: string[] = [];\n\n // Check agent config features (check array length to avoid false positives for empty arrays)\n const hasIntegrations =\n agentConfig?.integrations && agentConfig.integrations.length > 0;\n const hasTools =\n agentConfig?.tools && Object.keys(agentConfig.tools).length > 0;\n if (hasIntegrations || hasTools) {\n features.push(\"MCP integrations and custom tools\");\n }\n\n // Check streaming mode (either explicit or derived from config) - only for non-CUA\n if (!isCuaMode && (isStreaming || agentConfig?.stream)) {\n features.push(\"streaming\");\n }\n\n // Check execute options features - only for non-CUA\n if (executeOptions && !isCuaMode) {\n if (executeOptions.callbacks) {\n features.push(\"callbacks\");\n }\n if (executeOptions.signal) {\n features.push(\"abort signal\");\n }\n if (executeOptions.messages) {\n features.push(\"message continuation\");\n }\n if (executeOptions.excludeTools && executeOptions.excludeTools.length > 0) {\n features.push(\"excludeTools\");\n }\n if (executeOptions.output) {\n features.push(\"output schema\");\n }\n if (\n executeOptions.variables &&\n Object.keys(executeOptions.variables).length > 0\n ) {\n features.push(\"variables\");\n }\n }\n\n if (features.length > 0) {\n throw new ExperimentalNotConfiguredError(`Agent ${features.join(\", \")}`);\n }\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Variables, VariableValue } from "../../types/public/agent.js";
|
|
2
|
+
/**
|
|
3
|
+
* Resolves a VariableValue to its primitive string value.
|
|
4
|
+
* Handles both simple primitives ("secret") and rich objects ({ value: "secret", description: "..." }).
|
|
5
|
+
*/
|
|
6
|
+
export declare function resolveVariableValue(v: VariableValue): string;
|
|
7
|
+
/**
|
|
8
|
+
* Extracts the optional description from a VariableValue.
|
|
9
|
+
* Returns undefined for simple primitive values.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getVariableDescription(v: VariableValue): string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Substitutes %variableName% tokens in text with resolved variable values.
|
|
14
|
+
* Works with both simple and rich variable formats.
|
|
15
|
+
*/
|
|
16
|
+
export declare function substituteVariables(text: string, variables?: Variables): string;
|
|
17
|
+
/**
|
|
18
|
+
* Flattens Variables to Record<string, string> for internal consumers
|
|
19
|
+
* that only need key→value mappings (e.g., actHandler, cache replay).
|
|
20
|
+
*/
|
|
21
|
+
export declare function flattenVariables(variables?: Variables): Record<string, string> | undefined;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveVariableValue = resolveVariableValue;
|
|
4
|
+
exports.getVariableDescription = getVariableDescription;
|
|
5
|
+
exports.substituteVariables = substituteVariables;
|
|
6
|
+
exports.flattenVariables = flattenVariables;
|
|
7
|
+
/**
|
|
8
|
+
* Resolves a VariableValue to its primitive string value.
|
|
9
|
+
* Handles both simple primitives ("secret") and rich objects ({ value: "secret", description: "..." }).
|
|
10
|
+
*/
|
|
11
|
+
function resolveVariableValue(v) {
|
|
12
|
+
if (typeof v === "object" && v !== null && "value" in v) {
|
|
13
|
+
return String(v.value);
|
|
14
|
+
}
|
|
15
|
+
return String(v);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Extracts the optional description from a VariableValue.
|
|
19
|
+
* Returns undefined for simple primitive values.
|
|
20
|
+
*/
|
|
21
|
+
function getVariableDescription(v) {
|
|
22
|
+
if (typeof v === "object" && v !== null && "value" in v) {
|
|
23
|
+
return v.description;
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Substitutes %variableName% tokens in text with resolved variable values.
|
|
29
|
+
* Works with both simple and rich variable formats.
|
|
30
|
+
*/
|
|
31
|
+
function substituteVariables(text, variables) {
|
|
32
|
+
if (!variables)
|
|
33
|
+
return text;
|
|
34
|
+
let result = text;
|
|
35
|
+
for (const [key, v] of Object.entries(variables)) {
|
|
36
|
+
const token = `%${key}%`;
|
|
37
|
+
result = result.split(token).join(resolveVariableValue(v));
|
|
38
|
+
}
|
|
39
|
+
return result;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Flattens Variables to Record<string, string> for internal consumers
|
|
43
|
+
* that only need key→value mappings (e.g., actHandler, cache replay).
|
|
44
|
+
*/
|
|
45
|
+
function flattenVariables(variables) {
|
|
46
|
+
if (!variables || Object.keys(variables).length === 0)
|
|
47
|
+
return undefined;
|
|
48
|
+
const result = {};
|
|
49
|
+
for (const [key, v] of Object.entries(variables)) {
|
|
50
|
+
result[key] = resolveVariableValue(v);
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=variables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../../../../lib/v3/agent/utils/variables.ts"],"names":[],"mappings":";;AAMA,oDAKC;AAMD,wDAKC;AAMD,kDAWC;AAMD,4CASC;AApDD;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,CAAgB;IACnD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,CAAgB;IACrD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,CAAC,WAAW,CAAC;IACvB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CACjC,IAAY,EACZ,SAAqB;IAErB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5B,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,GAAG,GAAG,CAAC;QACzB,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,gBAAgB,CAC9B,SAAqB;IAErB,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACxE,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import type { Variables, VariableValue } from \"../../types/public/agent.js\";\n\n/**\n * Resolves a VariableValue to its primitive string value.\n * Handles both simple primitives (\"secret\") and rich objects ({ value: \"secret\", description: \"...\" }).\n */\nexport function resolveVariableValue(v: VariableValue): string {\n if (typeof v === \"object\" && v !== null && \"value\" in v) {\n return String(v.value);\n }\n return String(v);\n}\n\n/**\n * Extracts the optional description from a VariableValue.\n * Returns undefined for simple primitive values.\n */\nexport function getVariableDescription(v: VariableValue): string | undefined {\n if (typeof v === \"object\" && v !== null && \"value\" in v) {\n return v.description;\n }\n return undefined;\n}\n\n/**\n * Substitutes %variableName% tokens in text with resolved variable values.\n * Works with both simple and rich variable formats.\n */\nexport function substituteVariables(\n text: string,\n variables?: Variables,\n): string {\n if (!variables) return text;\n let result = text;\n for (const [key, v] of Object.entries(variables)) {\n const token = `%${key}%`;\n result = result.split(token).join(resolveVariableValue(v));\n }\n return result;\n}\n\n/**\n * Flattens Variables to Record<string, string> for internal consumers\n * that only need key→value mappings (e.g., actHandler, cache replay).\n */\nexport function flattenVariables(\n variables?: Variables,\n): Record<string, string> | undefined {\n if (!variables || Object.keys(variables).length === 0) return undefined;\n const result: Record<string, string> = {};\n for (const [key, v] of Object.entries(variables)) {\n result[key] = resolveVariableValue(v);\n }\n return result;\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utility functions for XPath handling in agent tools.
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ensureXPath = ensureXPath;
|
|
7
|
+
/**
|
|
8
|
+
* Ensures a value is properly formatted as an XPath selector.
|
|
9
|
+
* Returns null if the value is not a valid string.
|
|
10
|
+
*
|
|
11
|
+
* @param value - The value to normalize as an XPath
|
|
12
|
+
* @returns The normalized XPath string prefixed with "xpath=" or null
|
|
13
|
+
*/
|
|
14
|
+
function ensureXPath(value) {
|
|
15
|
+
if (typeof value !== "string")
|
|
16
|
+
return null;
|
|
17
|
+
const trimmed = value.trim();
|
|
18
|
+
if (!trimmed)
|
|
19
|
+
return null;
|
|
20
|
+
return trimmed.startsWith("xpath=") ? trimmed : `xpath=${trimmed}`;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=xpath.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xpath.js","sourceRoot":"","sources":["../../../../../../lib/v3/agent/utils/xpath.ts"],"names":[],"mappings":";AAAA;;GAEG;;AASH,kCAKC;AAZD;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC;AACrE,CAAC","sourcesContent":["/**\n * Utility functions for XPath handling in agent tools.\n */\n\n/**\n * Ensures a value is properly formatted as an XPath selector.\n * Returns null if the value is not a valid string.\n *\n * @param value - The value to normalize as an XPath\n * @returns The normalized XPath string prefixed with \"xpath=\" or null\n */\nexport function ensureXPath(value: unknown): string | null {\n if (typeof value !== \"string\") return null;\n const trimmed = value.trim();\n if (!trimmed) return null;\n return trimmed.startsWith(\"xpath=\") ? trimmed : `xpath=${trimmed}`;\n}\n"]}
|
package/dist/cjs/lib/v3/api.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ActResult, AgentConfig, AgentExecuteOptions, AgentResult, ExtractResult, ObserveResult, LogLine, StagehandMetrics, BrowserbaseRegion, ActOptions, ExtractOptions, ObserveOptions, Api } from "./types/public/index.js";
|
|
2
2
|
import type { SerializableResponse, AgentCacheTransferPayload } from "./types/private/index.js";
|
|
3
3
|
import type { StagehandZodSchema } from "./zodCompat.js";
|
|
4
4
|
/**
|
|
@@ -20,8 +20,15 @@ export declare function getApiUrlForRegion(region: BrowserbaseRegion | undefined
|
|
|
20
20
|
*/
|
|
21
21
|
interface StagehandAPIConstructorParams {
|
|
22
22
|
apiKey: string;
|
|
23
|
-
projectId
|
|
23
|
+
projectId?: string;
|
|
24
24
|
logger: (message: LogLine) => void;
|
|
25
|
+
/**
|
|
26
|
+
* When true, enables server-side caching by default for all requests.
|
|
27
|
+
* When false, disables server-side caching.
|
|
28
|
+
* Defaults to true (caching enabled).
|
|
29
|
+
* Can be overridden per-method in act(), extract(), and observe() options.
|
|
30
|
+
*/
|
|
31
|
+
serverCache?: boolean;
|
|
25
32
|
}
|
|
26
33
|
/**
|
|
27
34
|
* Parameters for starting a session via the API client.
|
|
@@ -66,20 +73,21 @@ interface ClientObserveParameters {
|
|
|
66
73
|
}
|
|
67
74
|
export declare class StagehandAPIClient {
|
|
68
75
|
private apiKey;
|
|
69
|
-
private projectId
|
|
76
|
+
private projectId?;
|
|
70
77
|
private sessionId?;
|
|
71
78
|
private modelApiKey;
|
|
72
79
|
private modelProvider?;
|
|
73
80
|
private region?;
|
|
74
81
|
private logger;
|
|
75
82
|
private fetchWithCookies;
|
|
83
|
+
private serverCache;
|
|
76
84
|
private lastFinishedEventData;
|
|
77
85
|
private latestAgentCacheEntry;
|
|
78
|
-
constructor({ apiKey, projectId, logger }: StagehandAPIConstructorParams);
|
|
86
|
+
constructor({ apiKey, projectId, logger, serverCache, }: StagehandAPIConstructorParams);
|
|
79
87
|
init({ modelName, modelApiKey, domSettleTimeoutMs, verbose, systemPrompt, selfHeal, browserbaseSessionCreateParams, browserbaseSessionID, }: ClientSessionStartParams): Promise<Api.SessionStartResult>;
|
|
80
88
|
act({ input, options, frameId, }: ClientActParameters): Promise<ActResult>;
|
|
81
89
|
extract<T extends StagehandZodSchema>({ instruction, schema: zodSchema, options, frameId, }: ClientExtractParameters): Promise<ExtractResult<T>>;
|
|
82
|
-
observe({ instruction, options, frameId, }: ClientObserveParameters): Promise<
|
|
90
|
+
observe({ instruction, options, frameId, }: ClientObserveParameters): Promise<ObserveResult>;
|
|
83
91
|
goto(url: string, options?: Api.NavigateRequest["options"], frameId?: string): Promise<SerializableResponse | null>;
|
|
84
92
|
agentExecute(agentConfig: AgentConfig, executeOptions: AgentExecuteOptions | string, frameId?: string, shouldCache?: boolean): Promise<AgentResult>;
|
|
85
93
|
consumeLatestAgentCacheEntry(): AgentCacheTransferPayload | null;
|
|
@@ -96,6 +104,16 @@ export declare class StagehandAPIClient {
|
|
|
96
104
|
private prepareModelConfig;
|
|
97
105
|
private consumeFinishedEventData;
|
|
98
106
|
private execute;
|
|
107
|
+
/**
|
|
108
|
+
* Resolves the final cache status from the response header or SSE event data,
|
|
109
|
+
* logs it, and attaches it to act/extract results before returning.
|
|
110
|
+
*/
|
|
111
|
+
private attachCacheStatus;
|
|
112
|
+
/**
|
|
113
|
+
* Determine if caching should be enabled for a request.
|
|
114
|
+
* Method-level setting takes precedence over instance-level setting.
|
|
115
|
+
*/
|
|
116
|
+
private shouldUseCache;
|
|
99
117
|
private request;
|
|
100
118
|
}
|
|
101
119
|
export {};
|