@browserbasehq/orca 3.0.9-alpha-4 → 3.1.0-patch.0
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/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/lib/inference.d.ts +65 -0
- package/dist/esm/lib/inference.js +333 -0
- package/dist/esm/lib/inference.js.map +1 -0
- package/dist/esm/lib/inferenceLogUtils.d.ts +12 -0
- package/dist/esm/lib/inferenceLogUtils.js +92 -0
- package/dist/esm/lib/inferenceLogUtils.js.map +1 -0
- package/dist/esm/lib/logger.d.ts +69 -0
- package/dist/esm/lib/logger.js +323 -0
- package/dist/esm/lib/logger.js.map +1 -0
- package/dist/esm/lib/modelUtils.d.ts +14 -0
- package/dist/esm/lib/modelUtils.js +48 -0
- package/dist/esm/lib/modelUtils.js.map +1 -0
- package/dist/esm/lib/prompt.d.ts +14 -0
- package/dist/esm/lib/prompt.js +230 -0
- package/dist/esm/lib/prompt.js.map +1 -0
- package/dist/esm/lib/utils.d.ts +68 -0
- package/dist/esm/lib/utils.js +654 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/esm/lib/v3/agent/AgentClient.d.ts +19 -0
- package/dist/esm/lib/v3/agent/AgentClient.js +17 -0
- package/dist/esm/lib/v3/agent/AgentClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/AgentProvider.d.ts +20 -0
- package/dist/esm/lib/v3/agent/AgentProvider.js +77 -0
- package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +822 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.js +799 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js +770 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.js +615 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.d.ts +12 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +186 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/act.d.ts +13 -0
- package/dist/esm/lib/v3/agent/tools/act.js +49 -0
- package/dist/esm/lib/v3/agent/tools/act.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.d.ts +5 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.js +31 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/click.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/click.js +104 -0
- package/dist/esm/lib/v3/agent/tools/click.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.js +68 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.js +105 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/extract.d.ts +21 -0
- package/dist/esm/lib/v3/agent/tools/extract.js +93 -0
- package/dist/esm/lib/v3/agent/tools/extract.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js +143 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/fillform.d.ts +13 -0
- package/dist/esm/lib/v3/agent/tools/fillform.js +56 -0
- package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/goto.d.ts +12 -0
- package/dist/esm/lib/v3/agent/tools/goto.js +31 -0
- package/dist/esm/lib/v3/agent/tools/goto.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/index.d.ts +92 -0
- package/dist/esm/lib/v3/agent/tools/index.js +74 -0
- package/dist/esm/lib/v3/agent/tools/index.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/keys.d.ts +24 -0
- package/dist/esm/lib/v3/agent/tools/keys.js +60 -0
- package/dist/esm/lib/v3/agent/tools/keys.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/navback.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/navback.js +23 -0
- package/dist/esm/lib/v3/agent/tools/navback.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.js +26 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/scroll.d.ts +19 -0
- package/dist/esm/lib/v3/agent/tools/scroll.js +142 -0
- package/dist/esm/lib/v3/agent/tools/scroll.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/search.d.ts +15 -0
- package/dist/esm/lib/v3/agent/tools/search.js +73 -0
- package/dist/esm/lib/v3/agent/tools/search.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/think.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/think.js +24 -0
- package/dist/esm/lib/v3/agent/tools/think.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/type.d.ts +7 -0
- package/dist/esm/lib/v3/agent/tools/type.js +106 -0
- package/dist/esm/lib/v3/agent/tools/type.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/wait.d.ts +5 -0
- package/dist/esm/lib/v3/agent/tools/wait.js +53 -0
- package/dist/esm/lib/v3/agent/tools/wait.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.d.ts +3 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.js +100 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js +28 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js +62 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js +145 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js +101 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.d.ts +53 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.js +204 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.js +164 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.js +26 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js +79 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/xpath.d.ts +11 -0
- package/dist/esm/lib/v3/agent/utils/xpath.js +19 -0
- package/dist/esm/lib/v3/agent/utils/xpath.js.map +1 -0
- package/dist/esm/lib/v3/api.d.ts +86 -0
- package/dist/esm/lib/v3/api.js +484 -0
- package/dist/esm/lib/v3/api.js.map +1 -0
- package/dist/esm/lib/v3/cache/ActCache.d.ts +23 -0
- package/dist/esm/lib/v3/cache/ActCache.js +292 -0
- package/dist/esm/lib/v3/cache/ActCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/AgentCache.d.ts +109 -0
- package/dist/esm/lib/v3/cache/AgentCache.js +640 -0
- package/dist/esm/lib/v3/cache/AgentCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/CacheStorage.d.ts +17 -0
- package/dist/esm/lib/v3/cache/CacheStorage.js +98 -0
- package/dist/esm/lib/v3/cache/CacheStorage.js.map +1 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.d.ts +7 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.js +49 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/utils.d.ts +15 -0
- package/dist/esm/lib/v3/cache/utils.js +39 -0
- package/dist/esm/lib/v3/cache/utils.js.map +1 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.d.ts +11 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.js +117 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js +20 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js +56 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js +2 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/rerender-index.js +1 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js +8 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.js +2 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/v3-index.js +1 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.js +54 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genDomScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genDomScripts.js +38 -0
- package/dist/esm/lib/v3/dom/genDomScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.js +51 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.js +37 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/index.d.ts +1 -0
- package/dist/esm/lib/v3/dom/index.js +2 -0
- package/dist/esm/lib/v3/dom/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.js +272 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.d.ts +4 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.js +5 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.js +458 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.js +283 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js +283 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js +376 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js +196 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
- package/dist/esm/lib/v3/dom/piercer.entry.d.ts +1 -0
- package/dist/esm/lib/v3/dom/piercer.entry.js +3 -0
- package/dist/esm/lib/v3/dom/piercer.entry.js.map +1 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.d.ts +23 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.js +90 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.js.map +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js +3 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js +40 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.js +2 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js +82 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
- package/dist/esm/lib/v3/external_clients/aisdk.d.ts +11 -0
- package/dist/esm/lib/v3/external_clients/aisdk.js +103 -0
- package/dist/esm/lib/v3/external_clients/aisdk.js.map +1 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.d.ts +18 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.js +220 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.js.map +1 -0
- package/dist/esm/lib/v3/flowLogger.d.ts +139 -0
- package/dist/esm/lib/v3/flowLogger.js +868 -0
- package/dist/esm/lib/v3/flowLogger.js.map +1 -0
- package/dist/esm/lib/v3/handlers/actHandler.d.ts +21 -0
- package/dist/esm/lib/v3/handlers/actHandler.js +340 -0
- package/dist/esm/lib/v3/handlers/actHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/extractHandler.d.ts +31 -0
- package/dist/esm/lib/v3/handlers/extractHandler.js +139 -0
- package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +24 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +623 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js +14 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
- package/dist/esm/lib/v3/handlers/observeHandler.d.ts +17 -0
- package/dist/esm/lib/v3/handlers/observeHandler.js +156 -0
- package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js +461 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +528 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
- package/dist/esm/lib/v3/index.d.ts +17 -0
- package/dist/esm/lib/v3/index.js +13 -0
- package/dist/esm/lib/v3/index.js.map +1 -0
- package/dist/esm/lib/v3/launch/browserbase.d.ts +7 -0
- package/dist/esm/lib/v3/launch/browserbase.js +46 -0
- package/dist/esm/lib/v3/launch/browserbase.js.map +1 -0
- package/dist/esm/lib/v3/launch/local.d.ts +15 -0
- package/dist/esm/lib/v3/launch/local.js +98 -0
- package/dist/esm/lib/v3/launch/local.js.map +1 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.d.ts +16 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.js +239 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.d.ts +17 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.js +235 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/GoogleClient.d.ts +19 -0
- package/dist/esm/lib/v3/llm/GoogleClient.js +369 -0
- package/dist/esm/lib/v3/llm/GoogleClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/GroqClient.d.ts +17 -0
- package/dist/esm/lib/v3/llm/GroqClient.js +236 -0
- package/dist/esm/lib/v3/llm/GroqClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/LLMClient.d.ts +121 -0
- package/dist/esm/lib/v3/llm/LLMClient.js +23 -0
- package/dist/esm/lib/v3/llm/LLMClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/LLMProvider.d.ts +13 -0
- package/dist/esm/lib/v3/llm/LLMProvider.js +194 -0
- package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.d.ts +15 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.js +329 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/aisdk.d.ts +15 -0
- package/dist/esm/lib/v3/llm/aisdk.js +348 -0
- package/dist/esm/lib/v3/llm/aisdk.js.map +1 -0
- package/dist/esm/lib/v3/logger.d.ts +9 -0
- package/dist/esm/lib/v3/logger.js +96 -0
- package/dist/esm/lib/v3/logger.js.map +1 -0
- package/dist/esm/lib/v3/mcp/connection.d.ts +11 -0
- package/dist/esm/lib/v3/mcp/connection.js +49 -0
- package/dist/esm/lib/v3/mcp/connection.js.map +1 -0
- package/dist/esm/lib/v3/mcp/utils.d.ts +3 -0
- package/dist/esm/lib/v3/mcp/utils.js +36 -0
- package/dist/esm/lib/v3/mcp/utils.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.js +30 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/supervisor.d.ts +9 -0
- package/dist/esm/lib/v3/shutdown/supervisor.js +156 -0
- package/dist/esm/lib/v3/shutdown/supervisor.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.d.ts +15 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.js +97 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -0
- package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js +113 -0
- package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js +80 -0
- package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-callbacks.spec.js +374 -0
- package/dist/esm/lib/v3/tests/agent-callbacks.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js +357 -0
- package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js +247 -0
- package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js +105 -0
- package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-streaming.spec.js +126 -0
- package/dist/esm/lib/v3/tests/agent-streaming.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js +44 -0
- package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/click-count.spec.js +112 -0
- package/dist/esm/lib/v3/tests/click-count.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js +54 -0
- package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/context-addInitScript.spec.js +176 -0
- package/dist/esm/lib/v3/tests/context-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/default-page-tracking.spec.js +53 -0
- package/dist/esm/lib/v3/tests/default-page-tracking.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/downloads.spec.js +58 -0
- package/dist/esm/lib/v3/tests/downloads.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/envReporter.js +57 -0
- package/dist/esm/lib/v3/tests/envReporter.js.map +7 -0
- package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js +53 -0
- package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js +447 -0
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.child.js +92 -0
- package/dist/esm/lib/v3/tests/keep-alive.child.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.helpers.js +532 -0
- package/dist/esm/lib/v3/tests/keep-alive.helpers.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.spec.js +19 -0
- package/dist/esm/lib/v3/tests/keep-alive.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/keyboard.spec.js +296 -0
- package/dist/esm/lib/v3/tests/keyboard.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js +159 -0
- package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-content-methods.spec.js +191 -0
- package/dist/esm/lib/v3/tests/locator-content-methods.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js +108 -0
- package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-count.spec.js +71 -0
- package/dist/esm/lib/v3/tests/locator-count.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-fill.spec.js +118 -0
- package/dist/esm/lib/v3/tests/locator-fill.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-input-methods.spec.js +136 -0
- package/dist/esm/lib/v3/tests/locator-input-methods.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-nth.spec.js +157 -0
- package/dist/esm/lib/v3/tests/locator-nth.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-select-option.spec.js +242 -0
- package/dist/esm/lib/v3/tests/locator-select-option.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/logger-initialization.spec.js +552 -0
- package/dist/esm/lib/v3/tests/logger-initialization.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js +269 -0
- package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/nested-div.spec.js +23 -0
- package/dist/esm/lib/v3/tests/nested-div.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-addInitScript.spec.js +90 -0
- package/dist/esm/lib/v3/tests/page-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-console.spec.js +56 -0
- package/dist/esm/lib/v3/tests/page-console.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js +418 -0
- package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-goto-response.spec.js +35 -0
- package/dist/esm/lib/v3/tests/page-goto-response.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-hover.spec.js +167 -0
- package/dist/esm/lib/v3/tests/page-hover.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-screenshot.spec.js +273 -0
- package/dist/esm/lib/v3/tests/page-screenshot.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-scroll.spec.js +182 -0
- package/dist/esm/lib/v3/tests/page-scroll.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-send-cdp.spec.js +46 -0
- package/dist/esm/lib/v3/tests/page-send-cdp.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js +98 -0
- package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/setinputfiles.spec.js +126 -0
- package/dist/esm/lib/v3/tests/setinputfiles.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js +134 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js +134 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/testUtils.js +31 -0
- package/dist/esm/lib/v3/tests/testUtils.js.map +7 -0
- package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js +100 -0
- package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/timeouts.spec.js +32 -0
- package/dist/esm/lib/v3/tests/timeouts.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/user-data-dir.spec.js +43 -0
- package/dist/esm/lib/v3/tests/user-data-dir.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.config.js +15 -0
- package/dist/esm/lib/v3/tests/v3.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.dynamic.config.js +43 -0
- package/dist/esm/lib/v3/tests/v3.dynamic.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.playwright.config.js +98 -0
- package/dist/esm/lib/v3/tests/v3.playwright.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/wait-for-selector.spec.js +593 -0
- package/dist/esm/lib/v3/tests/wait-for-selector.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js +97 -0
- package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js +77 -0
- package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js.map +7 -0
- package/dist/esm/lib/v3/timeoutConfig.d.ts +2 -0
- package/dist/esm/lib/v3/timeoutConfig.js +27 -0
- package/dist/esm/lib/v3/timeoutConfig.js.map +1 -0
- package/dist/esm/lib/v3/types/private/agent.d.ts +6 -0
- package/dist/esm/lib/v3/types/private/agent.js +2 -0
- package/dist/esm/lib/v3/types/private/agent.js.map +1 -0
- package/dist/esm/lib/v3/types/private/api.d.ts +11 -0
- package/dist/esm/lib/v3/types/private/api.js +2 -0
- package/dist/esm/lib/v3/types/private/api.js.map +1 -0
- package/dist/esm/lib/v3/types/private/cache.d.ts +128 -0
- package/dist/esm/lib/v3/types/private/cache.js +2 -0
- package/dist/esm/lib/v3/types/private/cache.js.map +1 -0
- package/dist/esm/lib/v3/types/private/evaluator.d.ts +40 -0
- package/dist/esm/lib/v3/types/private/evaluator.js +2 -0
- package/dist/esm/lib/v3/types/private/evaluator.js.map +1 -0
- package/dist/esm/lib/v3/types/private/handlers.d.ts +38 -0
- package/dist/esm/lib/v3/types/private/handlers.js +16 -0
- package/dist/esm/lib/v3/types/private/handlers.js.map +1 -0
- package/dist/esm/lib/v3/types/private/index.d.ts +7 -0
- package/dist/esm/lib/v3/types/private/index.js +8 -0
- package/dist/esm/lib/v3/types/private/index.js.map +1 -0
- package/dist/esm/lib/v3/types/private/internal.d.ts +39 -0
- package/dist/esm/lib/v3/types/private/internal.js +2 -0
- package/dist/esm/lib/v3/types/private/internal.js.map +1 -0
- package/dist/esm/lib/v3/types/private/locator.d.ts +9 -0
- package/dist/esm/lib/v3/types/private/locator.js +2 -0
- package/dist/esm/lib/v3/types/private/locator.js.map +1 -0
- package/dist/esm/lib/v3/types/private/network.d.ts +34 -0
- package/dist/esm/lib/v3/types/private/network.js +3 -0
- package/dist/esm/lib/v3/types/private/network.js.map +1 -0
- package/dist/esm/lib/v3/types/private/shutdown.d.ts +31 -0
- package/dist/esm/lib/v3/types/private/shutdown.js +5 -0
- package/dist/esm/lib/v3/types/private/shutdown.js.map +1 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.d.ts +12 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.js +22 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.js.map +1 -0
- package/dist/esm/lib/v3/types/private/snapshot.d.ts +117 -0
- package/dist/esm/lib/v3/types/private/snapshot.js +2 -0
- package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -0
- package/dist/esm/lib/v3/types/public/agent.d.ts +595 -0
- package/dist/esm/lib/v3/types/public/agent.js +15 -0
- package/dist/esm/lib/v3/types/public/agent.js.map +1 -0
- package/dist/esm/lib/v3/types/public/api.d.ts +1211 -0
- package/dist/esm/lib/v3/types/public/api.js +915 -0
- package/dist/esm/lib/v3/types/public/api.js.map +1 -0
- package/dist/esm/lib/v3/types/public/apiErrors.d.ts +18 -0
- package/dist/esm/lib/v3/types/public/apiErrors.js +32 -0
- package/dist/esm/lib/v3/types/public/apiErrors.js.map +1 -0
- package/dist/esm/lib/v3/types/public/index.d.ts +12 -0
- package/dist/esm/lib/v3/types/public/index.js +14 -0
- package/dist/esm/lib/v3/types/public/index.js.map +1 -0
- package/dist/esm/lib/v3/types/public/locator.d.ts +9 -0
- package/dist/esm/lib/v3/types/public/locator.js +2 -0
- package/dist/esm/lib/v3/types/public/locator.js.map +1 -0
- package/dist/esm/lib/v3/types/public/logs.d.ts +23 -0
- package/dist/esm/lib/v3/types/public/logs.js +13 -0
- package/dist/esm/lib/v3/types/public/logs.js.map +1 -0
- package/dist/esm/lib/v3/types/public/methods.d.ts +56 -0
- package/dist/esm/lib/v3/types/public/methods.js +15 -0
- package/dist/esm/lib/v3/types/public/methods.js.map +1 -0
- package/dist/esm/lib/v3/types/public/metrics.d.ts +27 -0
- package/dist/esm/lib/v3/types/public/metrics.js +2 -0
- package/dist/esm/lib/v3/types/public/metrics.js.map +1 -0
- package/dist/esm/lib/v3/types/public/model.d.ts +65 -0
- package/dist/esm/lib/v3/types/public/model.js +2 -0
- package/dist/esm/lib/v3/types/public/model.js.map +1 -0
- package/dist/esm/lib/v3/types/public/options.d.ts +70 -0
- package/dist/esm/lib/v3/types/public/options.js +4 -0
- package/dist/esm/lib/v3/types/public/options.js.map +1 -0
- package/dist/esm/lib/v3/types/public/page.d.ts +18 -0
- package/dist/esm/lib/v3/types/public/page.js +3 -0
- package/dist/esm/lib/v3/types/public/page.js.map +1 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.d.ts +25 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.js +2 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.js.map +1 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.d.ts +152 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js +305 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +196 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js +121 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js +336 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +129 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js +274 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +24 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js +216 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js +5 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js +22 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +135 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js +102 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.js +12 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.js.map +1 -0
- package/dist/esm/lib/v3/understudy/cdp.d.ts +69 -0
- package/dist/esm/lib/v3/understudy/cdp.js +251 -0
- package/dist/esm/lib/v3/understudy/cdp.js.map +1 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.d.ts +22 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.js +66 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.js.map +1 -0
- package/dist/esm/lib/v3/understudy/context.d.ts +132 -0
- package/dist/esm/lib/v3/understudy/context.js +687 -0
- package/dist/esm/lib/v3/understudy/context.js.map +1 -0
- package/dist/esm/lib/v3/understudy/deepLocator.d.ts +87 -0
- package/dist/esm/lib/v3/understudy/deepLocator.js +218 -0
- package/dist/esm/lib/v3/understudy/deepLocator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.js +83 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.js.map +1 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.js +81 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frame.d.ts +69 -0
- package/dist/esm/lib/v3/understudy/frame.js +211 -0
- package/dist/esm/lib/v3/understudy/frame.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frameLocator.d.ts +50 -0
- package/dist/esm/lib/v3/understudy/frameLocator.js +255 -0
- package/dist/esm/lib/v3/understudy/frameLocator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.d.ts +101 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.js +298 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.js.map +1 -0
- package/dist/esm/lib/v3/understudy/initScripts.d.ts +2 -0
- package/dist/esm/lib/v3/understudy/initScripts.js +33 -0
- package/dist/esm/lib/v3/understudy/initScripts.js.map +1 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.js +245 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
- package/dist/esm/lib/v3/understudy/locator.d.ts +194 -0
- package/dist/esm/lib/v3/understudy/locator.js +753 -0
- package/dist/esm/lib/v3/understudy/locator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.js +12 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.js.map +1 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.js +224 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
- package/dist/esm/lib/v3/understudy/networkManager.d.ts +53 -0
- package/dist/esm/lib/v3/understudy/networkManager.js +306 -0
- package/dist/esm/lib/v3/understudy/networkManager.js.map +1 -0
- package/dist/esm/lib/v3/understudy/page.d.ts +354 -0
- package/dist/esm/lib/v3/understudy/page.js +1941 -0
- package/dist/esm/lib/v3/understudy/page.js.map +1 -0
- package/dist/esm/lib/v3/understudy/piercer.d.ts +4 -0
- package/dist/esm/lib/v3/understudy/piercer.js +61 -0
- package/dist/esm/lib/v3/understudy/piercer.js.map +1 -0
- package/dist/esm/lib/v3/understudy/response.d.ts +137 -0
- package/dist/esm/lib/v3/understudy/response.js +330 -0
- package/dist/esm/lib/v3/understudy/response.js.map +1 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.d.ts +16 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.js +352 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.d.ts +38 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.js +296 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.js.map +1 -0
- package/dist/esm/lib/v3/v3.d.ts +191 -0
- package/dist/esm/lib/v3/v3.js +1572 -0
- package/dist/esm/lib/v3/v3.js.map +1 -0
- package/dist/esm/lib/v3/zodCompat.d.ts +12 -0
- package/dist/esm/lib/v3/zodCompat.js +17 -0
- package/dist/esm/lib/v3/zodCompat.js.map +1 -0
- package/dist/esm/lib/v3Evaluator.d.ts +19 -0
- package/dist/esm/lib/v3Evaluator.js +210 -0
- package/dist/esm/lib/v3Evaluator.js.map +1 -0
- package/dist/esm/lib/version.d.ts +5 -0
- package/dist/esm/lib/version.js +6 -0
- package/dist/esm/lib/version.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/tests/agent-execution-model.test.js +139 -0
- package/dist/esm/tests/agent-execution-model.test.js.map +7 -0
- package/dist/esm/tests/browserbase-session-accessors.test.js +101 -0
- package/dist/esm/tests/browserbase-session-accessors.test.js.map +7 -0
- package/dist/esm/tests/cache-llm-resolution.test.js +187 -0
- package/dist/esm/tests/cache-llm-resolution.test.js.map +7 -0
- package/dist/esm/tests/helpers/mockCDPSession.js +27 -0
- package/dist/esm/tests/helpers/mockCDPSession.js.map +7 -0
- package/dist/esm/tests/llm-provider.test.js +57 -0
- package/dist/esm/tests/llm-provider.test.js.map +7 -0
- package/dist/esm/tests/model-deprecation.test.js +135 -0
- package/dist/esm/tests/model-deprecation.test.js.map +7 -0
- package/dist/esm/tests/model-utils.test.js +43 -0
- package/dist/esm/tests/model-utils.test.js.map +7 -0
- package/dist/esm/tests/page-snapshot.test.js +36 -0
- package/dist/esm/tests/page-snapshot.test.js.map +7 -0
- package/dist/esm/tests/public-api/export-surface.test.js +53 -0
- package/dist/esm/tests/public-api/export-surface.test.js.map +7 -0
- package/dist/esm/tests/public-api/llm-and-agents.test.js +128 -0
- package/dist/esm/tests/public-api/llm-and-agents.test.js.map +7 -0
- package/dist/esm/tests/public-api/public-error-types.test.js +71 -0
- package/dist/esm/tests/public-api/public-error-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/public-types.test.js +74 -0
- package/dist/esm/tests/public-api/public-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/runtime-utils.test.js +31 -0
- package/dist/esm/tests/public-api/runtime-utils.test.js.map +7 -0
- package/dist/esm/tests/public-api/schema-utils.test.js +78 -0
- package/dist/esm/tests/public-api/schema-utils.test.js.map +7 -0
- package/dist/esm/tests/public-api/timeout-error-types.test.js +81 -0
- package/dist/esm/tests/public-api/timeout-error-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/tool-type-export.test.js +25 -0
- package/dist/esm/tests/public-api/tool-type-export.test.js.map +7 -0
- package/dist/esm/tests/public-api/v3-core.test.js +82 -0
- package/dist/esm/tests/public-api/v3-core.test.js.map +7 -0
- package/dist/esm/tests/safety-confirmation.test.js +134 -0
- package/dist/esm/tests/safety-confirmation.test.js.map +7 -0
- package/dist/esm/tests/snapshot-a11y-resolvers.test.js +348 -0
- package/dist/esm/tests/snapshot-a11y-resolvers.test.js.map +7 -0
- package/dist/esm/tests/snapshot-a11y-tree-utils.test.js +300 -0
- package/dist/esm/tests/snapshot-a11y-tree-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-capture-orchestration.test.js +381 -0
- package/dist/esm/tests/snapshot-capture-orchestration.test.js.map +7 -0
- package/dist/esm/tests/snapshot-cbor.test.js +197 -0
- package/dist/esm/tests/snapshot-cbor.test.js.map +7 -0
- package/dist/esm/tests/snapshot-dom-session-builders.test.js +251 -0
- package/dist/esm/tests/snapshot-dom-session-builders.test.js.map +7 -0
- package/dist/esm/tests/snapshot-dom-tree-utils.test.js +109 -0
- package/dist/esm/tests/snapshot-dom-tree-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-focus-selectors-utils.test.js +49 -0
- package/dist/esm/tests/snapshot-focus-selectors-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-frame-merge.test.js +391 -0
- package/dist/esm/tests/snapshot-frame-merge.test.js.map +7 -0
- package/dist/esm/tests/snapshot-tree-format-utils.test.js +113 -0
- package/dist/esm/tests/snapshot-tree-format-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-xpath-utils.test.js +79 -0
- package/dist/esm/tests/snapshot-xpath-utils.test.js.map +7 -0
- package/dist/esm/tests/timeout-handlers.test.js +850 -0
- package/dist/esm/tests/timeout-handlers.test.js.map +7 -0
- package/dist/esm/tests/xpath-parser.test.js +317 -0
- package/dist/esm/tests/xpath-parser.test.js.map +7 -0
- package/dist/esm/tests/xpath-resolver.test.js +73 -0
- package/dist/esm/tests/xpath-resolver.test.js.map +7 -0
- package/dist/esm/tests/zod-enum-compatibility.test.js +97 -0
- package/dist/esm/tests/zod-enum-compatibility.test.js.map +7 -0
- package/package.json +37 -24
- package/dist/index.d.ts +0 -4363
- package/dist/index.js +0 -76530
|
@@ -0,0 +1,357 @@
|
|
|
1
|
+
import { test, expect } from "@playwright/test";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { tool } from "ai";
|
|
4
|
+
import { V3 } from "../v3.js";
|
|
5
|
+
import { v3TestConfig } from "./v3.config.js";
|
|
6
|
+
import {
|
|
7
|
+
ExperimentalNotConfiguredError,
|
|
8
|
+
StagehandInvalidArgumentError
|
|
9
|
+
} from "../types/public/sdkErrors.js";
|
|
10
|
+
const mockCustomTool = tool({
|
|
11
|
+
description: "A mock tool for testing",
|
|
12
|
+
inputSchema: z.object({
|
|
13
|
+
input: z.string().describe("The input string")
|
|
14
|
+
}),
|
|
15
|
+
execute: async ({ input }) => {
|
|
16
|
+
return `Processed: ${input}`;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
test.describe("Stagehand agent experimental feature validation", () => {
|
|
20
|
+
test.describe("Invalid argument errors", () => {
|
|
21
|
+
let v3;
|
|
22
|
+
test.beforeEach(async () => {
|
|
23
|
+
v3 = new V3({
|
|
24
|
+
...v3TestConfig,
|
|
25
|
+
experimental: false
|
|
26
|
+
});
|
|
27
|
+
await v3.init();
|
|
28
|
+
});
|
|
29
|
+
test.afterEach(async () => {
|
|
30
|
+
await v3?.close?.().catch(() => {
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
test("throws StagehandInvalidArgumentError when CUA and streaming are both enabled", async () => {
|
|
34
|
+
try {
|
|
35
|
+
v3.agent({
|
|
36
|
+
cua: true,
|
|
37
|
+
stream: true,
|
|
38
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
39
|
+
});
|
|
40
|
+
throw new Error("Expected error to be thrown");
|
|
41
|
+
} catch (error) {
|
|
42
|
+
expect(error).toBeInstanceOf(StagehandInvalidArgumentError);
|
|
43
|
+
expect(error.message).toContain("streaming");
|
|
44
|
+
expect(error.message).toContain("not supported with CUA");
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
test("throws StagehandInvalidArgumentError for CUA + streaming even with experimental: true", async () => {
|
|
48
|
+
await v3.close();
|
|
49
|
+
const v3Experimental = new V3({
|
|
50
|
+
...v3TestConfig,
|
|
51
|
+
experimental: true
|
|
52
|
+
});
|
|
53
|
+
await v3Experimental.init();
|
|
54
|
+
try {
|
|
55
|
+
v3Experimental.agent({
|
|
56
|
+
cua: true,
|
|
57
|
+
stream: true,
|
|
58
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
59
|
+
});
|
|
60
|
+
throw new Error("Expected error to be thrown");
|
|
61
|
+
} catch (error) {
|
|
62
|
+
expect(error).toBeInstanceOf(StagehandInvalidArgumentError);
|
|
63
|
+
expect(error.message).toContain("streaming");
|
|
64
|
+
expect(error.message).toContain("not supported with CUA");
|
|
65
|
+
} finally {
|
|
66
|
+
await v3Experimental.close();
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
test.describe("Experimental feature errors without experimental: true", () => {
|
|
71
|
+
let v3;
|
|
72
|
+
test.beforeEach(async () => {
|
|
73
|
+
v3 = new V3({
|
|
74
|
+
...v3TestConfig,
|
|
75
|
+
experimental: false
|
|
76
|
+
});
|
|
77
|
+
await v3.init();
|
|
78
|
+
});
|
|
79
|
+
test.afterEach(async () => {
|
|
80
|
+
await v3?.close?.().catch(() => {
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
test("throws ExperimentalNotConfiguredError for MCP integrations", async () => {
|
|
84
|
+
const agent = v3.agent({
|
|
85
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
86
|
+
integrations: ["https://mcp.example.com"]
|
|
87
|
+
});
|
|
88
|
+
try {
|
|
89
|
+
await agent.execute("test");
|
|
90
|
+
throw new Error("Expected error to be thrown");
|
|
91
|
+
} catch (error) {
|
|
92
|
+
expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);
|
|
93
|
+
expect(error.message).toContain(
|
|
94
|
+
"MCP integrations and custom tools"
|
|
95
|
+
);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
test("throws ExperimentalNotConfiguredError for custom tools", async () => {
|
|
99
|
+
const agent = v3.agent({
|
|
100
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
101
|
+
tools: {
|
|
102
|
+
mockCustomTool
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
try {
|
|
106
|
+
await agent.execute("test");
|
|
107
|
+
throw new Error("Expected error to be thrown");
|
|
108
|
+
} catch (error) {
|
|
109
|
+
expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);
|
|
110
|
+
expect(error.message).toContain(
|
|
111
|
+
"MCP integrations and custom tools"
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
test("throws ExperimentalNotConfiguredError for streaming mode", async () => {
|
|
116
|
+
try {
|
|
117
|
+
const agent = v3.agent({
|
|
118
|
+
stream: true,
|
|
119
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
120
|
+
});
|
|
121
|
+
await agent.execute("test instruction");
|
|
122
|
+
throw new Error("Expected error to be thrown");
|
|
123
|
+
} catch (error) {
|
|
124
|
+
expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);
|
|
125
|
+
expect(error.message).toContain("streaming");
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
test("throws ExperimentalNotConfiguredError for callbacks", async () => {
|
|
129
|
+
const agent = v3.agent({
|
|
130
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
131
|
+
});
|
|
132
|
+
try {
|
|
133
|
+
await agent.execute({
|
|
134
|
+
instruction: "test",
|
|
135
|
+
callbacks: {
|
|
136
|
+
onStepFinish: async () => {
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
throw new Error("Expected error to be thrown");
|
|
141
|
+
} catch (error) {
|
|
142
|
+
expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);
|
|
143
|
+
expect(error.message).toContain("callbacks");
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
test("throws ExperimentalNotConfiguredError for abort signal", async () => {
|
|
147
|
+
const agent = v3.agent({
|
|
148
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
149
|
+
});
|
|
150
|
+
const controller = new AbortController();
|
|
151
|
+
try {
|
|
152
|
+
await agent.execute({
|
|
153
|
+
instruction: "test",
|
|
154
|
+
signal: controller.signal
|
|
155
|
+
});
|
|
156
|
+
throw new Error("Expected error to be thrown");
|
|
157
|
+
} catch (error) {
|
|
158
|
+
expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);
|
|
159
|
+
expect(error.message).toContain("abort signal");
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
test("throws ExperimentalNotConfiguredError for message continuation", async () => {
|
|
163
|
+
const agent = v3.agent({
|
|
164
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
165
|
+
});
|
|
166
|
+
try {
|
|
167
|
+
await agent.execute({
|
|
168
|
+
instruction: "test",
|
|
169
|
+
messages: [{ role: "user", content: "previous message" }]
|
|
170
|
+
});
|
|
171
|
+
throw new Error("Expected error to be thrown");
|
|
172
|
+
} catch (error) {
|
|
173
|
+
expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);
|
|
174
|
+
expect(error.message).toContain("message continuation");
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
test("throws ExperimentalNotConfiguredError listing multiple features", async () => {
|
|
178
|
+
const agent = v3.agent({
|
|
179
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
180
|
+
});
|
|
181
|
+
const controller = new AbortController();
|
|
182
|
+
try {
|
|
183
|
+
await agent.execute({
|
|
184
|
+
instruction: "test",
|
|
185
|
+
callbacks: { onStepFinish: async () => {
|
|
186
|
+
} },
|
|
187
|
+
signal: controller.signal,
|
|
188
|
+
messages: [{ role: "user", content: "previous" }]
|
|
189
|
+
});
|
|
190
|
+
throw new Error("Expected error to be thrown");
|
|
191
|
+
} catch (error) {
|
|
192
|
+
expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);
|
|
193
|
+
const message = error.message;
|
|
194
|
+
expect(message).toContain("callbacks");
|
|
195
|
+
expect(message).toContain("abort signal");
|
|
196
|
+
expect(message).toContain("message continuation");
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
});
|
|
200
|
+
test.describe("CUA agent unsupported features", () => {
|
|
201
|
+
let v3;
|
|
202
|
+
test.beforeEach(async () => {
|
|
203
|
+
v3 = new V3({
|
|
204
|
+
...v3TestConfig,
|
|
205
|
+
experimental: false
|
|
206
|
+
});
|
|
207
|
+
await v3.init();
|
|
208
|
+
});
|
|
209
|
+
test.afterEach(async () => {
|
|
210
|
+
await v3?.close?.().catch(() => {
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
test("throws ExperimentalNotConfiguredError for CUA with integrations", async () => {
|
|
214
|
+
try {
|
|
215
|
+
v3.agent({
|
|
216
|
+
cua: true,
|
|
217
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
218
|
+
integrations: ["https://mcp.example.com"]
|
|
219
|
+
});
|
|
220
|
+
throw new Error("Expected error to be thrown");
|
|
221
|
+
} catch (error) {
|
|
222
|
+
expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);
|
|
223
|
+
expect(error.message).toContain(
|
|
224
|
+
"MCP integrations and custom tools"
|
|
225
|
+
);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
test("throws StagehandInvalidArgumentError for CUA with abort signal (not supported)", async () => {
|
|
229
|
+
const agent = v3.agent({
|
|
230
|
+
cua: true,
|
|
231
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
232
|
+
});
|
|
233
|
+
const controller = new AbortController();
|
|
234
|
+
try {
|
|
235
|
+
await agent.execute({
|
|
236
|
+
instruction: "test",
|
|
237
|
+
signal: controller.signal
|
|
238
|
+
});
|
|
239
|
+
throw new Error("Expected error to be thrown");
|
|
240
|
+
} catch (error) {
|
|
241
|
+
expect(error).toBeInstanceOf(StagehandInvalidArgumentError);
|
|
242
|
+
expect(error.message).toContain("abort signal");
|
|
243
|
+
expect(error.message).toContain("not supported with CUA");
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
test("throws StagehandInvalidArgumentError for CUA with message continuation (not supported)", async () => {
|
|
247
|
+
const agent = v3.agent({
|
|
248
|
+
cua: true,
|
|
249
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
250
|
+
});
|
|
251
|
+
try {
|
|
252
|
+
await agent.execute({
|
|
253
|
+
instruction: "test",
|
|
254
|
+
messages: [{ role: "user", content: "previous message" }]
|
|
255
|
+
});
|
|
256
|
+
throw new Error("Expected error to be thrown");
|
|
257
|
+
} catch (error) {
|
|
258
|
+
expect(error).toBeInstanceOf(StagehandInvalidArgumentError);
|
|
259
|
+
expect(error.message).toContain("message continuation");
|
|
260
|
+
expect(error.message).toContain("not supported with CUA");
|
|
261
|
+
}
|
|
262
|
+
});
|
|
263
|
+
test("throws StagehandInvalidArgumentError for CUA with multiple unsupported features", async () => {
|
|
264
|
+
const agent = v3.agent({
|
|
265
|
+
cua: true,
|
|
266
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
267
|
+
});
|
|
268
|
+
const controller = new AbortController();
|
|
269
|
+
try {
|
|
270
|
+
await agent.execute({
|
|
271
|
+
instruction: "test",
|
|
272
|
+
signal: controller.signal,
|
|
273
|
+
messages: [{ role: "user", content: "previous message" }]
|
|
274
|
+
});
|
|
275
|
+
throw new Error("Expected error to be thrown");
|
|
276
|
+
} catch (error) {
|
|
277
|
+
expect(error).toBeInstanceOf(StagehandInvalidArgumentError);
|
|
278
|
+
const message = error.message;
|
|
279
|
+
expect(message).toContain("abort signal");
|
|
280
|
+
expect(message).toContain("message continuation");
|
|
281
|
+
expect(message).toContain("are not supported with CUA");
|
|
282
|
+
}
|
|
283
|
+
});
|
|
284
|
+
test("throws StagehandInvalidArgumentError for CUA unsupported features even with experimental: true", async () => {
|
|
285
|
+
await v3.close();
|
|
286
|
+
const v3Experimental = new V3({
|
|
287
|
+
...v3TestConfig,
|
|
288
|
+
experimental: true
|
|
289
|
+
});
|
|
290
|
+
await v3Experimental.init();
|
|
291
|
+
const agent = v3Experimental.agent({
|
|
292
|
+
cua: true,
|
|
293
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
294
|
+
});
|
|
295
|
+
const controller = new AbortController();
|
|
296
|
+
try {
|
|
297
|
+
await agent.execute({
|
|
298
|
+
instruction: "test",
|
|
299
|
+
signal: controller.signal
|
|
300
|
+
});
|
|
301
|
+
throw new Error("Expected error to be thrown");
|
|
302
|
+
} catch (error) {
|
|
303
|
+
expect(error).toBeInstanceOf(StagehandInvalidArgumentError);
|
|
304
|
+
expect(error.message).toContain("not supported with CUA");
|
|
305
|
+
} finally {
|
|
306
|
+
await v3Experimental.close();
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
test.describe("Valid configurations with experimental: true", () => {
|
|
311
|
+
let v3;
|
|
312
|
+
test.beforeEach(async () => {
|
|
313
|
+
v3 = new V3({
|
|
314
|
+
...v3TestConfig,
|
|
315
|
+
experimental: true
|
|
316
|
+
});
|
|
317
|
+
await v3.init();
|
|
318
|
+
});
|
|
319
|
+
test.afterEach(async () => {
|
|
320
|
+
await v3?.close?.().catch(() => {
|
|
321
|
+
});
|
|
322
|
+
});
|
|
323
|
+
test("allows CUA without streaming", () => {
|
|
324
|
+
expect(
|
|
325
|
+
() => v3.agent({
|
|
326
|
+
cua: true,
|
|
327
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
328
|
+
})
|
|
329
|
+
).not.toThrow();
|
|
330
|
+
});
|
|
331
|
+
test("allows streaming mode", () => {
|
|
332
|
+
expect(
|
|
333
|
+
() => v3.agent({
|
|
334
|
+
stream: true,
|
|
335
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
336
|
+
})
|
|
337
|
+
).not.toThrow();
|
|
338
|
+
});
|
|
339
|
+
test("allows basic agent without experimental features", async () => {
|
|
340
|
+
const v3NonExperimental = new V3({
|
|
341
|
+
...v3TestConfig,
|
|
342
|
+
experimental: false
|
|
343
|
+
});
|
|
344
|
+
await v3NonExperimental.init();
|
|
345
|
+
try {
|
|
346
|
+
expect(
|
|
347
|
+
() => v3NonExperimental.agent({
|
|
348
|
+
model: "anthropic/claude-sonnet-4-20250514"
|
|
349
|
+
})
|
|
350
|
+
).not.toThrow();
|
|
351
|
+
} finally {
|
|
352
|
+
await v3NonExperimental.close();
|
|
353
|
+
}
|
|
354
|
+
});
|
|
355
|
+
});
|
|
356
|
+
});
|
|
357
|
+
//# sourceMappingURL=agent-experimental-validation.spec.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../lib/v3/tests/agent-experimental-validation.spec.ts"],
|
|
4
|
+
"sourcesContent": ["import { test, expect } from \"@playwright/test\";\nimport { z } from \"zod\";\nimport { tool } from \"ai\";\nimport { V3 } from \"../v3.js\";\nimport { v3TestConfig } from \"./v3.config.js\";\nimport {\n ExperimentalNotConfiguredError,\n StagehandInvalidArgumentError,\n} from \"../types/public/sdkErrors.js\";\n\n// Define a mock custom tool for testing\nconst mockCustomTool = tool({\n description: \"A mock tool for testing\",\n inputSchema: z.object({\n input: z.string().describe(\"The input string\"),\n }),\n execute: async ({ input }) => {\n return `Processed: ${input}`;\n },\n});\n\ntest.describe(\"Stagehand agent experimental feature validation\", () => {\n test.describe(\"Invalid argument errors\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3({\n ...v3TestConfig,\n experimental: false,\n });\n await v3.init();\n });\n\n test.afterEach(async () => {\n await v3?.close?.().catch(() => {});\n });\n\n test(\"throws StagehandInvalidArgumentError when CUA and streaming are both enabled\", async () => {\n try {\n v3.agent({\n cua: true,\n stream: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(StagehandInvalidArgumentError);\n expect((error as Error).message).toContain(\"streaming\");\n expect((error as Error).message).toContain(\"not supported with CUA\");\n }\n });\n\n test(\"throws StagehandInvalidArgumentError for CUA + streaming even with experimental: true\", async () => {\n // Close the non-experimental instance\n await v3.close();\n\n // Create an experimental instance\n const v3Experimental = new V3({\n ...v3TestConfig,\n experimental: true,\n });\n await v3Experimental.init();\n\n try {\n v3Experimental.agent({\n cua: true,\n stream: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(StagehandInvalidArgumentError);\n expect((error as Error).message).toContain(\"streaming\");\n expect((error as Error).message).toContain(\"not supported with CUA\");\n } finally {\n await v3Experimental.close();\n }\n });\n });\n\n test.describe(\"Experimental feature errors without experimental: true\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3({\n ...v3TestConfig,\n experimental: false,\n });\n await v3.init();\n });\n\n test.afterEach(async () => {\n await v3?.close?.().catch(() => {});\n });\n\n test(\"throws ExperimentalNotConfiguredError for MCP integrations\", async () => {\n const agent = v3.agent({\n model: \"anthropic/claude-sonnet-4-20250514\",\n integrations: [\"https://mcp.example.com\"],\n });\n\n try {\n await agent.execute(\"test\");\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);\n expect((error as Error).message).toContain(\n \"MCP integrations and custom tools\",\n );\n }\n });\n\n test(\"throws ExperimentalNotConfiguredError for custom tools\", async () => {\n const agent = v3.agent({\n model: \"anthropic/claude-sonnet-4-20250514\",\n tools: {\n mockCustomTool,\n },\n });\n\n try {\n await agent.execute(\"test\");\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);\n expect((error as Error).message).toContain(\n \"MCP integrations and custom tools\",\n );\n }\n });\n\n test(\"throws ExperimentalNotConfiguredError for streaming mode\", async () => {\n try {\n const agent = v3.agent({\n stream: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n await agent.execute(\"test instruction\");\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);\n expect((error as Error).message).toContain(\"streaming\");\n }\n });\n\n test(\"throws ExperimentalNotConfiguredError for callbacks\", async () => {\n const agent = v3.agent({\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n\n try {\n await agent.execute({\n instruction: \"test\",\n callbacks: {\n onStepFinish: async () => {},\n },\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);\n expect((error as Error).message).toContain(\"callbacks\");\n }\n });\n\n test(\"throws ExperimentalNotConfiguredError for abort signal\", async () => {\n const agent = v3.agent({\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n\n const controller = new AbortController();\n try {\n await agent.execute({\n instruction: \"test\",\n signal: controller.signal,\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);\n expect((error as Error).message).toContain(\"abort signal\");\n }\n });\n\n test(\"throws ExperimentalNotConfiguredError for message continuation\", async () => {\n const agent = v3.agent({\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n\n try {\n await agent.execute({\n instruction: \"test\",\n messages: [{ role: \"user\", content: \"previous message\" }],\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);\n expect((error as Error).message).toContain(\"message continuation\");\n }\n });\n\n test(\"throws ExperimentalNotConfiguredError listing multiple features\", async () => {\n const agent = v3.agent({\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n\n const controller = new AbortController();\n try {\n await agent.execute({\n instruction: \"test\",\n callbacks: { onStepFinish: async () => {} },\n signal: controller.signal,\n messages: [{ role: \"user\", content: \"previous\" }],\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);\n const message = (error as Error).message;\n expect(message).toContain(\"callbacks\");\n expect(message).toContain(\"abort signal\");\n expect(message).toContain(\"message continuation\");\n }\n });\n });\n\n test.describe(\"CUA agent unsupported features\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3({\n ...v3TestConfig,\n experimental: false,\n });\n await v3.init();\n });\n\n test.afterEach(async () => {\n await v3?.close?.().catch(() => {});\n });\n\n test(\"throws ExperimentalNotConfiguredError for CUA with integrations\", async () => {\n // MCP integrations are still an experimental feature check (not unsupported)\n try {\n v3.agent({\n cua: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n integrations: [\"https://mcp.example.com\"],\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(ExperimentalNotConfiguredError);\n expect((error as Error).message).toContain(\n \"MCP integrations and custom tools\",\n );\n }\n });\n\n test(\"throws StagehandInvalidArgumentError for CUA with abort signal (not supported)\", async () => {\n const agent = v3.agent({\n cua: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n\n const controller = new AbortController();\n try {\n await agent.execute({\n instruction: \"test\",\n signal: controller.signal,\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(StagehandInvalidArgumentError);\n expect((error as Error).message).toContain(\"abort signal\");\n expect((error as Error).message).toContain(\"not supported with CUA\");\n }\n });\n\n test(\"throws StagehandInvalidArgumentError for CUA with message continuation (not supported)\", async () => {\n const agent = v3.agent({\n cua: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n\n try {\n await agent.execute({\n instruction: \"test\",\n messages: [{ role: \"user\", content: \"previous message\" }],\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(StagehandInvalidArgumentError);\n expect((error as Error).message).toContain(\"message continuation\");\n expect((error as Error).message).toContain(\"not supported with CUA\");\n }\n });\n\n test(\"throws StagehandInvalidArgumentError for CUA with multiple unsupported features\", async () => {\n const agent = v3.agent({\n cua: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n\n const controller = new AbortController();\n try {\n await agent.execute({\n instruction: \"test\",\n signal: controller.signal,\n messages: [{ role: \"user\", content: \"previous message\" }],\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(StagehandInvalidArgumentError);\n const message = (error as Error).message;\n expect(message).toContain(\"abort signal\");\n expect(message).toContain(\"message continuation\");\n expect(message).toContain(\"are not supported with CUA\");\n }\n });\n\n test(\"throws StagehandInvalidArgumentError for CUA unsupported features even with experimental: true\", async () => {\n // Close the non-experimental instance\n await v3.close();\n\n // Create an experimental instance\n const v3Experimental = new V3({\n ...v3TestConfig,\n experimental: true,\n });\n await v3Experimental.init();\n\n const agent = v3Experimental.agent({\n cua: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n\n const controller = new AbortController();\n try {\n await agent.execute({\n instruction: \"test\",\n signal: controller.signal,\n });\n throw new Error(\"Expected error to be thrown\");\n } catch (error) {\n expect(error).toBeInstanceOf(StagehandInvalidArgumentError);\n expect((error as Error).message).toContain(\"not supported with CUA\");\n } finally {\n await v3Experimental.close();\n }\n });\n });\n\n test.describe(\"Valid configurations with experimental: true\", () => {\n let v3: V3;\n\n test.beforeEach(async () => {\n v3 = new V3({\n ...v3TestConfig,\n experimental: true,\n });\n await v3.init();\n });\n\n test.afterEach(async () => {\n await v3?.close?.().catch(() => {});\n });\n\n test(\"allows CUA without streaming\", () => {\n expect(() =>\n v3.agent({\n cua: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n }),\n ).not.toThrow();\n });\n\n test(\"allows streaming mode\", () => {\n expect(() =>\n v3.agent({\n stream: true,\n model: \"anthropic/claude-sonnet-4-20250514\",\n }),\n ).not.toThrow();\n });\n\n test(\"allows basic agent without experimental features\", async () => {\n const v3NonExperimental = new V3({\n ...v3TestConfig,\n experimental: false,\n });\n await v3NonExperimental.init();\n\n try {\n // This should work - just creating a basic agent with no experimental features\n expect(() =>\n v3NonExperimental.agent({\n model: \"anthropic/claude-sonnet-4-20250514\",\n }),\n ).not.toThrow();\n } finally {\n await v3NonExperimental.close();\n }\n });\n });\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { test, expect } from "@playwright/test";
|
|
2
|
+
import { V3 } from "../v3.js";
|
|
3
|
+
import { v3TestConfig } from "./v3.config.js";
|
|
4
|
+
import { createAgentTools } from "../agent/tools/index.js";
|
|
5
|
+
import { buildAgentSystemPrompt } from "../agent/prompts/agentSystemPrompt.js";
|
|
6
|
+
test.describe("Stagehand agent hybrid mode", () => {
|
|
7
|
+
let v3;
|
|
8
|
+
test.beforeEach(async () => {
|
|
9
|
+
v3 = new V3({
|
|
10
|
+
...v3TestConfig,
|
|
11
|
+
experimental: true
|
|
12
|
+
});
|
|
13
|
+
await v3.init();
|
|
14
|
+
});
|
|
15
|
+
test.afterEach(async () => {
|
|
16
|
+
await v3?.close?.().catch(() => {
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
test.describe("Tool filtering by mode", () => {
|
|
20
|
+
test("DOM mode includes DOM-based tools and excludes coordinate-based tools", () => {
|
|
21
|
+
const tools = createAgentTools(v3, { mode: "dom" });
|
|
22
|
+
expect(tools).toHaveProperty("act");
|
|
23
|
+
expect(tools).toHaveProperty("fillForm");
|
|
24
|
+
expect(tools).toHaveProperty("ariaTree");
|
|
25
|
+
expect(tools).toHaveProperty("screenshot");
|
|
26
|
+
expect(tools).toHaveProperty("extract");
|
|
27
|
+
expect(tools).toHaveProperty("goto");
|
|
28
|
+
expect(tools).toHaveProperty("scroll");
|
|
29
|
+
expect(tools).toHaveProperty("wait");
|
|
30
|
+
expect(tools).toHaveProperty("navback");
|
|
31
|
+
expect(tools).toHaveProperty("keys");
|
|
32
|
+
expect(tools).toHaveProperty("think");
|
|
33
|
+
expect(tools).not.toHaveProperty("click");
|
|
34
|
+
expect(tools).not.toHaveProperty("type");
|
|
35
|
+
expect(tools).not.toHaveProperty("dragAndDrop");
|
|
36
|
+
expect(tools).not.toHaveProperty("clickAndHold");
|
|
37
|
+
expect(tools).not.toHaveProperty("fillFormVision");
|
|
38
|
+
});
|
|
39
|
+
test("Hybrid mode includes coordinate-based tools and excludes DOM fillForm", () => {
|
|
40
|
+
const tools = createAgentTools(v3, { mode: "hybrid" });
|
|
41
|
+
expect(tools).toHaveProperty("click");
|
|
42
|
+
expect(tools).toHaveProperty("type");
|
|
43
|
+
expect(tools).toHaveProperty("dragAndDrop");
|
|
44
|
+
expect(tools).toHaveProperty("clickAndHold");
|
|
45
|
+
expect(tools).toHaveProperty("fillFormVision");
|
|
46
|
+
expect(tools).toHaveProperty("act");
|
|
47
|
+
expect(tools).toHaveProperty("ariaTree");
|
|
48
|
+
expect(tools).toHaveProperty("screenshot");
|
|
49
|
+
expect(tools).toHaveProperty("extract");
|
|
50
|
+
expect(tools).toHaveProperty("goto");
|
|
51
|
+
expect(tools).toHaveProperty("scroll");
|
|
52
|
+
expect(tools).toHaveProperty("wait");
|
|
53
|
+
expect(tools).toHaveProperty("navback");
|
|
54
|
+
expect(tools).toHaveProperty("keys");
|
|
55
|
+
expect(tools).toHaveProperty("think");
|
|
56
|
+
expect(tools).not.toHaveProperty("fillForm");
|
|
57
|
+
});
|
|
58
|
+
test("Default mode is DOM when not specified", () => {
|
|
59
|
+
const tools = createAgentTools(v3, {});
|
|
60
|
+
expect(tools).toHaveProperty("fillForm");
|
|
61
|
+
expect(tools).not.toHaveProperty("click");
|
|
62
|
+
expect(tools).not.toHaveProperty("type");
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
test.describe("System prompt generation", () => {
|
|
66
|
+
test("DOM mode system prompt emphasizes ariaTree and act tool", () => {
|
|
67
|
+
const prompt = buildAgentSystemPrompt({
|
|
68
|
+
url: "https://example.com",
|
|
69
|
+
executionInstruction: "Test instruction",
|
|
70
|
+
mode: "dom"
|
|
71
|
+
});
|
|
72
|
+
expect(prompt).toContain("ariaTree");
|
|
73
|
+
expect(prompt).toContain("act");
|
|
74
|
+
expect(prompt).toContain("fillForm");
|
|
75
|
+
expect(prompt).toContain("Use act tool for all clicking and typing");
|
|
76
|
+
expect(prompt).toContain("Always check ariaTree first");
|
|
77
|
+
});
|
|
78
|
+
test("Hybrid mode system prompt emphasizes screenshot and coordinate tools", () => {
|
|
79
|
+
const prompt = buildAgentSystemPrompt({
|
|
80
|
+
url: "https://example.com",
|
|
81
|
+
executionInstruction: "Test instruction",
|
|
82
|
+
mode: "hybrid"
|
|
83
|
+
});
|
|
84
|
+
expect(prompt).toContain("click");
|
|
85
|
+
expect(prompt).toContain("type");
|
|
86
|
+
expect(prompt).toContain("fillFormVision");
|
|
87
|
+
expect(prompt).toContain("dragAndDrop");
|
|
88
|
+
expect(prompt).toContain(
|
|
89
|
+
"Use specific tools (click, type) when elements are visible"
|
|
90
|
+
);
|
|
91
|
+
expect(prompt).toContain("Always use screenshot");
|
|
92
|
+
});
|
|
93
|
+
test("System prompt includes custom instructions when provided", () => {
|
|
94
|
+
const customInstructions = "Always be polite and thorough";
|
|
95
|
+
const prompt = buildAgentSystemPrompt({
|
|
96
|
+
url: "https://example.com",
|
|
97
|
+
executionInstruction: "Test instruction",
|
|
98
|
+
mode: "dom",
|
|
99
|
+
systemInstructions: customInstructions
|
|
100
|
+
});
|
|
101
|
+
expect(prompt).toContain("customInstructions");
|
|
102
|
+
expect(prompt).toContain(customInstructions);
|
|
103
|
+
});
|
|
104
|
+
test("System prompt includes Browserbase captcha message when isBrowserbase is true", () => {
|
|
105
|
+
const prompt = buildAgentSystemPrompt({
|
|
106
|
+
url: "https://example.com",
|
|
107
|
+
executionInstruction: "Test instruction",
|
|
108
|
+
mode: "dom",
|
|
109
|
+
isBrowserbase: true
|
|
110
|
+
});
|
|
111
|
+
expect(prompt).toContain("captcha");
|
|
112
|
+
expect(prompt).toContain("automatically be solved");
|
|
113
|
+
});
|
|
114
|
+
test("System prompt does not include captcha message when isBrowserbase is false", () => {
|
|
115
|
+
const prompt = buildAgentSystemPrompt({
|
|
116
|
+
url: "https://example.com",
|
|
117
|
+
executionInstruction: "Test instruction",
|
|
118
|
+
mode: "dom",
|
|
119
|
+
isBrowserbase: false
|
|
120
|
+
});
|
|
121
|
+
expect(prompt).not.toContain("automatically be solved");
|
|
122
|
+
});
|
|
123
|
+
});
|
|
124
|
+
test.describe("Agent creation with mode", () => {
|
|
125
|
+
test("agent({ mode: 'dom' }) creates DOM-mode agent", () => {
|
|
126
|
+
const agent = v3.agent({
|
|
127
|
+
mode: "dom",
|
|
128
|
+
model: "anthropic/claude-haiku-4-5-20251001"
|
|
129
|
+
});
|
|
130
|
+
expect(agent).toHaveProperty("execute");
|
|
131
|
+
});
|
|
132
|
+
test("agent({ mode: 'hybrid' }) creates hybrid-mode agent", () => {
|
|
133
|
+
const agent = v3.agent({
|
|
134
|
+
mode: "hybrid",
|
|
135
|
+
model: "anthropic/claude-haiku-4-5-20251001"
|
|
136
|
+
});
|
|
137
|
+
expect(agent).toHaveProperty("execute");
|
|
138
|
+
});
|
|
139
|
+
test("agent without mode defaults to DOM mode", () => {
|
|
140
|
+
const agent = v3.agent({
|
|
141
|
+
model: "anthropic/claude-haiku-4-5-20251001"
|
|
142
|
+
});
|
|
143
|
+
expect(agent).toHaveProperty("execute");
|
|
144
|
+
});
|
|
145
|
+
test("hybrid mode can be combined with streaming", () => {
|
|
146
|
+
const agent = v3.agent({
|
|
147
|
+
mode: "hybrid",
|
|
148
|
+
stream: true,
|
|
149
|
+
model: "anthropic/claude-haiku-4-5-20251001"
|
|
150
|
+
});
|
|
151
|
+
expect(agent).toHaveProperty("execute");
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
test.describe("Hybrid mode execution", () => {
|
|
155
|
+
test("hybrid mode agent uses coordinate-based tools when available", async () => {
|
|
156
|
+
test.setTimeout(9e4);
|
|
157
|
+
const toolCalls = [];
|
|
158
|
+
const agent = v3.agent({
|
|
159
|
+
mode: "hybrid",
|
|
160
|
+
model: "anthropic/claude-haiku-4-5-20251001"
|
|
161
|
+
});
|
|
162
|
+
const page = v3.context.pages()[0];
|
|
163
|
+
await page.goto("https://example.com");
|
|
164
|
+
await agent.execute({
|
|
165
|
+
instruction: "Take a screenshot to see the page, then describe what you see briefly and mark the task as complete.",
|
|
166
|
+
maxSteps: 5,
|
|
167
|
+
callbacks: {
|
|
168
|
+
onStepFinish: async (event) => {
|
|
169
|
+
if (event.toolCalls) {
|
|
170
|
+
for (const tc of event.toolCalls) {
|
|
171
|
+
toolCalls.push({
|
|
172
|
+
toolName: tc.toolName,
|
|
173
|
+
input: tc.input
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
expect(toolCalls.length).toBeGreaterThan(0);
|
|
181
|
+
const toolNames = toolCalls.map((tc) => tc.toolName);
|
|
182
|
+
expect(toolNames).toContain("screenshot");
|
|
183
|
+
});
|
|
184
|
+
test("DOM mode agent uses DOM-based tools", async () => {
|
|
185
|
+
test.setTimeout(9e4);
|
|
186
|
+
const toolCalls = [];
|
|
187
|
+
const agent = v3.agent({
|
|
188
|
+
mode: "dom",
|
|
189
|
+
model: "anthropic/claude-haiku-4-5-20251001"
|
|
190
|
+
});
|
|
191
|
+
const page = v3.context.pages()[0];
|
|
192
|
+
await page.goto("https://example.com");
|
|
193
|
+
await agent.execute({
|
|
194
|
+
instruction: "Use the ariaTree to understand the page, then provide the final requested output or a summary of the page.",
|
|
195
|
+
maxSteps: 5,
|
|
196
|
+
callbacks: {
|
|
197
|
+
onStepFinish: async (event) => {
|
|
198
|
+
if (event.toolCalls) {
|
|
199
|
+
for (const tc of event.toolCalls) {
|
|
200
|
+
toolCalls.push({
|
|
201
|
+
toolName: tc.toolName,
|
|
202
|
+
input: tc.input
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
expect(toolCalls.length).toBeGreaterThan(0);
|
|
210
|
+
const toolNames = toolCalls.map((tc) => tc.toolName);
|
|
211
|
+
expect(toolNames).toContain("ariaTree");
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
test.describe("Scroll tool variants by mode", () => {
|
|
215
|
+
test("DOM mode uses simple scroll tool without coordinates", () => {
|
|
216
|
+
const tools = createAgentTools(v3, { mode: "dom" });
|
|
217
|
+
expect(tools).toHaveProperty("scroll");
|
|
218
|
+
expect(typeof tools.scroll).toBe("object");
|
|
219
|
+
});
|
|
220
|
+
test("Hybrid mode uses vision scroll tool with optional coordinates", () => {
|
|
221
|
+
const tools = createAgentTools(v3, { mode: "hybrid" });
|
|
222
|
+
expect(tools).toHaveProperty("scroll");
|
|
223
|
+
expect(typeof tools.scroll).toBe("object");
|
|
224
|
+
});
|
|
225
|
+
});
|
|
226
|
+
test.describe("Keys tool availability in both modes", () => {
|
|
227
|
+
test("Keys tool is available in DOM mode", () => {
|
|
228
|
+
const tools = createAgentTools(v3, { mode: "dom" });
|
|
229
|
+
expect(tools).toHaveProperty("keys");
|
|
230
|
+
});
|
|
231
|
+
test("Keys tool is available in hybrid mode", () => {
|
|
232
|
+
const tools = createAgentTools(v3, { mode: "hybrid" });
|
|
233
|
+
expect(tools).toHaveProperty("keys");
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
test.describe("Think tool availability", () => {
|
|
237
|
+
test("Think tool is available in DOM mode", () => {
|
|
238
|
+
const tools = createAgentTools(v3, { mode: "dom" });
|
|
239
|
+
expect(tools).toHaveProperty("think");
|
|
240
|
+
});
|
|
241
|
+
test("Think tool is available in hybrid mode", () => {
|
|
242
|
+
const tools = createAgentTools(v3, { mode: "hybrid" });
|
|
243
|
+
expect(tools).toHaveProperty("think");
|
|
244
|
+
});
|
|
245
|
+
});
|
|
246
|
+
});
|
|
247
|
+
//# sourceMappingURL=agent-hybrid-mode.spec.js.map
|