@browserbasehq/orca 3.0.9-alpha-4 → 3.1.0-headers
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 +3 -0
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/lib/inference.d.ts +65 -0
- package/dist/cjs/lib/inference.js +335 -0
- package/dist/cjs/lib/inference.js.map +1 -0
- package/dist/cjs/lib/inferenceLogUtils.d.ts +12 -0
- package/dist/cjs/lib/inferenceLogUtils.js +99 -0
- package/dist/cjs/lib/inferenceLogUtils.js.map +1 -0
- package/dist/cjs/lib/logger.d.ts +69 -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 +15 -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 +15 -0
- package/dist/cjs/lib/prompt.js +245 -0
- package/dist/cjs/lib/prompt.js.map +1 -0
- package/dist/cjs/lib/utils.d.ts +68 -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.d.ts +19 -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.d.ts +20 -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.d.ts +57 -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.d.ts +74 -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.d.ts +71 -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.d.ts +69 -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 +14 -0
- 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 +13 -0
- 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 +12 -0
- 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.d.ts +6 -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.d.ts +14 -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.d.ts +7 -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 +21 -0
- 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 +12 -0
- 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 +19 -0
- 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.d.ts +12 -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 +102 -0
- 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.d.ts +24 -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.d.ts +6 -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 +14 -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.d.ts +19 -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.d.ts +15 -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.d.ts +6 -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 +7 -0
- 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.d.ts +5 -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.d.ts +3 -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.d.ts +13 -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.d.ts +10 -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.d.ts +25 -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.d.ts +22 -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.d.ts +53 -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.d.ts +12 -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.d.ts +10 -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.d.ts +26 -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.d.ts +11 -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 +119 -0
- 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 +22 -0
- 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 +110 -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.d.ts +17 -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.d.ts +7 -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.d.ts +15 -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.d.ts +2 -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.d.ts +11 -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.d.ts +16 -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.d.ts +52 -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.d.ts +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/rerender-index.js +1 -0
- package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -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.d.ts +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/build/v3-index.js +1 -0
- package/dist/cjs/lib/v3/dom/index.d.ts +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.d.ts +15 -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.d.ts +4 -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.d.ts +37 -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.d.ts +4 -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.d.ts +19 -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.d.ts +76 -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.d.ts +9 -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.d.ts +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.d.ts +23 -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.d.ts +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.d.ts +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.d.ts +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.d.ts +8 -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.d.ts +11 -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.d.ts +18 -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.d.ts +139 -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 +22 -0
- 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.d.ts +31 -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.d.ts +21 -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.d.ts +2 -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.d.ts +17 -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.d.ts +32 -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.d.ts +33 -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 +161 -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 +7 -0
- 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.d.ts +15 -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.d.ts +16 -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.d.ts +17 -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.d.ts +19 -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.d.ts +17 -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.d.ts +121 -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.d.ts +13 -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.d.ts +15 -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.d.ts +15 -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.d.ts +9 -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 +13 -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.d.ts +3 -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.d.ts +14 -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.d.ts +11 -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.d.ts +15 -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 +2 -0
- 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.d.ts +6 -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.d.ts +11 -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 +131 -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.d.ts +40 -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 +39 -0
- 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.d.ts +7 -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.d.ts +39 -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.d.ts +9 -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.d.ts +34 -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 +19 -0
- 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.d.ts +12 -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.d.ts +117 -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 +653 -0
- 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 +1236 -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.d.ts +18 -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 +14 -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.d.ts +9 -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.d.ts +23 -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 +87 -0
- 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.d.ts +27 -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 +67 -0
- 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 +78 -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.d.ts +18 -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.d.ts +25 -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 +168 -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.d.ts +15 -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.d.ts +8 -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.d.ts +77 -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.d.ts +7 -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.d.ts +46 -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 +25 -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.d.ts +4 -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.d.ts +16 -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.d.ts +28 -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.d.ts +26 -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.d.ts +8 -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 +74 -0
- 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.d.ts +22 -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 +166 -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.d.ts +87 -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.d.ts +15 -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.d.ts +13 -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.d.ts +69 -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.d.ts +50 -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.d.ts +101 -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.d.ts +2 -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.d.ts +64 -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.d.ts +194 -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.d.ts +8 -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.d.ts +84 -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.d.ts +53 -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 +367 -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.d.ts +4 -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.d.ts +137 -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 +15 -0
- 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.d.ts +38 -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.d.ts +191 -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.d.ts +12 -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.d.ts +19 -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 +5 -0
- package/dist/cjs/lib/version.js +9 -0
- package/dist/cjs/lib/version.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/tests/cache-variables.test.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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.d.ts +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 +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/lib/inference.d.ts +65 -0
- package/dist/esm/lib/inference.js +330 -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 +15 -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 +15 -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 +837 -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 +14 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +209 -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 +71 -0
- package/dist/esm/lib/v3/agent/tools/act.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.d.ts +12 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.js +69 -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 +96 -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 +97 -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 +106 -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 +154 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/fillform.d.ts +19 -0
- package/dist/esm/lib/v3/agent/tools/fillform.js +86 -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 +102 -0
- package/dist/esm/lib/v3/agent/tools/index.js +75 -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 +14 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.js +43 -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 +154 -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 +107 -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 +59 -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 +105 -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 +87 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
- 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/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 +119 -0
- package/dist/esm/lib/v3/api.js +581 -0
- package/dist/esm/lib/v3/api.js.map +1 -0
- package/dist/esm/lib/v3/cache/ActCache.d.ts +22 -0
- package/dist/esm/lib/v3/cache/ActCache.js +276 -0
- package/dist/esm/lib/v3/cache/ActCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/AgentCache.d.ts +110 -0
- package/dist/esm/lib/v3/cache/AgentCache.js +647 -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/cli.d.ts +2 -0
- package/dist/esm/lib/v3/cli.js +10 -0
- package/dist/esm/lib/v3/cli.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/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 +22 -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 +21 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +598 -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 +155 -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 +458 -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 +161 -0
- package/dist/esm/lib/v3/index.js +55 -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 +41 -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 +189 -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 +351 -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 +13 -0
- package/dist/esm/lib/v3/mcp/connection.js +52 -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/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/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 +11 -0
- package/dist/esm/lib/v3/shutdown/supervisor.js +185 -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 +89 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -0
- package/dist/esm/lib/v3/timeoutConfig.d.ts +2 -0
- package/dist/esm/lib/v3/timeoutConfig.js +32 -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 +131 -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 +39 -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 +19 -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 +653 -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 +1236 -0
- package/dist/esm/lib/v3/types/public/api.js +918 -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/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 +14 -0
- package/dist/esm/lib/v3/types/public/index.js +15 -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 +87 -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 +67 -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 +78 -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 +168 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js +333 -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 +25 -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 +74 -0
- package/dist/esm/lib/v3/understudy/cdp.js +309 -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 +166 -0
- package/dist/esm/lib/v3/understudy/context.js +956 -0
- package/dist/esm/lib/v3/understudy/context.js.map +1 -0
- 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.d.ts +87 -0
- package/dist/esm/lib/v3/understudy/deepLocator.js +196 -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 +228 -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 +367 -0
- package/dist/esm/lib/v3/understudy/page.js +1995 -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 +15 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.js +334 -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 +1592 -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/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 +54 -28
- package/dist/index.d.ts +0 -4363
- package/dist/index.js +0 -76530
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cookies.test.js","sourceRoot":"","sources":["../../../../tests/unit/cookies.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { beforeEach, describe, expect, it } from \"vitest\";\nimport {\n filterCookies,\n normalizeCookieParams,\n cookieMatchesFilter,\n} from \"../../lib/v3/understudy/cookies.js\";\nimport { MockCDPSession } from \"./helpers/mockCDPSession.js\";\nimport type { V3Context } from \"../../lib/v3/understudy/context.js\";\nimport { Cookie, CookieParam } from \"../../lib/v3/types/public/context.js\";\n\nfunction makeCookie(overrides: Partial<Cookie> = {}): Cookie {\n return {\n name: \"sid\",\n value: \"abc123\",\n domain: \"example.com\",\n path: \"/\",\n expires: -1,\n httpOnly: false,\n secure: false,\n sameSite: \"Lax\",\n ...overrides,\n };\n}\n\n/** Convert our Cookie type into the shape CDP's Storage.getCookies returns. */\nfunction toCdpCookie(c: Cookie) {\n return {\n name: c.name,\n value: c.value,\n domain: c.domain,\n path: c.path,\n expires: c.expires,\n httpOnly: c.httpOnly,\n secure: c.secure,\n sameSite: c.sameSite,\n size: c.name.length + c.value.length,\n session: c.expires === -1,\n priority: \"Medium\",\n sameParty: false,\n sourceScheme: \"Secure\",\n sourcePort: 443,\n };\n}\n\ndescribe(\"filterCookies\", () => {\n const cookies: Cookie[] = [\n makeCookie({ name: \"a\", domain: \"example.com\", path: \"/\", secure: false }),\n makeCookie({\n name: \"b\",\n domain: \".example.com\",\n path: \"/app\",\n secure: true,\n }),\n makeCookie({ name: \"c\", domain: \"other.com\", path: \"/\", secure: false }),\n makeCookie({\n name: \"d\",\n domain: \"sub.example.com\",\n path: \"/\",\n secure: false,\n }),\n ];\n\n it(\"returns all cookies when urls is empty\", () => {\n expect(filterCookies(cookies, [])).toEqual(cookies);\n });\n\n it(\"filters by domain (exact host match)\", () => {\n const result = filterCookies(cookies, [\"http://example.com/\"]);\n const names = result.map((c) => c.name);\n expect(names).toContain(\"a\");\n // \"b\" (.example.com) domain-matches but is secure — excluded on http://\n expect(names).not.toContain(\"b\");\n expect(names).not.toContain(\"c\");\n expect(names).not.toContain(\"d\");\n });\n\n it(\"filters by domain (dot-prefixed domain matches on https)\", () => {\n const result = filterCookies(cookies, [\"https://example.com/app/settings\"]);\n const names = result.map((c) => c.name);\n expect(names).toContain(\"a\"); // example.com domain match, path \"/\" prefix\n expect(names).toContain(\"b\"); // .example.com domain match + secure + https\n });\n\n it(\"filters by domain (subdomain matches dot-prefixed domain)\", () => {\n const result = filterCookies(cookies, [\"http://sub.example.com/\"]);\n const names = result.map((c) => c.name);\n // \"a\" (example.com) → prepend dot → .example.com → matches .sub.example.com\n expect(names).toContain(\"a\");\n // \"b\" (.example.com) domain-matches sub.example.com but is secure — excluded on http://\n expect(names).not.toContain(\"b\");\n expect(names).toContain(\"d\"); // sub.example.com matches exactly\n expect(names).not.toContain(\"c\");\n });\n\n it(\"filters by path prefix\", () => {\n const result = filterCookies(cookies, [\"https://example.com/app/settings\"]);\n const names = result.map((c) => c.name);\n expect(names).toContain(\"a\"); // path \"/\" is a prefix of \"/app/settings\"\n expect(names).toContain(\"b\"); // path \"/app\" is a prefix of \"/app/settings\"\n });\n\n it(\"excludes secure cookies for non-https URLs\", () => {\n const result = filterCookies(cookies, [\"http://example.com/app/page\"]);\n const names = result.map((c) => c.name);\n expect(names).toContain(\"a\");\n expect(names).not.toContain(\"b\"); // secure cookie, http URL\n });\n\n it(\"allows secure cookies on loopback addresses regardless of protocol\", () => {\n const cases = [\n { domain: \"localhost\", url: \"http://localhost/\" },\n { domain: \"127.0.0.1\", url: \"http://127.0.0.1/\" },\n { domain: \"[::1]\", url: \"http://[::1]/\" },\n ];\n for (const { domain, url } of cases) {\n const cookie = makeCookie({ name: \"loop\", domain, secure: true });\n const result = filterCookies([cookie], [url]);\n expect(result).toHaveLength(1);\n expect(result[0]!.name).toBe(\"loop\");\n }\n });\n\n it(\"matches against multiple URLs (union)\", () => {\n const result = filterCookies(cookies, [\n \"http://example.com/\",\n \"http://other.com/\",\n ]);\n const names = result.map((c) => c.name);\n expect(names).toContain(\"a\");\n expect(names).toContain(\"c\");\n });\n\n it(\"returns empty array when no cookies match any URL\", () => {\n const result = filterCookies(cookies, [\"http://nomatch.dev/\"]);\n expect(result).toHaveLength(0);\n });\n\n it(\"returns empty array when cookie list is empty\", () => {\n const result = filterCookies([], [\"http://example.com/\"]);\n expect(result).toHaveLength(0);\n });\n\n it(\"does not match a sibling subdomain against a host-only domain\", () => {\n // Cookie for \"api.example.com\" should NOT match \"www.example.com\"\n const apiCookie = makeCookie({ name: \"api\", domain: \"api.example.com\" });\n const result = filterCookies([apiCookie], [\"http://www.example.com/\"]);\n expect(result).toHaveLength(0);\n });\n\n it(\"does not match a parent domain against a more specific cookie\", () => {\n // Cookie for \"sub.example.com\" should NOT match \"example.com\"\n const subCookie = makeCookie({ name: \"sub\", domain: \"sub.example.com\" });\n const result = filterCookies([subCookie], [\"http://example.com/\"]);\n expect(result).toHaveLength(0);\n });\n\n it(\"does not match when path does not prefix the URL path\", () => {\n const deepCookie = makeCookie({\n name: \"deep\",\n domain: \"example.com\",\n path: \"/admin\",\n });\n const result = filterCookies([deepCookie], [\"http://example.com/public\"]);\n expect(result).toHaveLength(0);\n });\n\n it(\"does not match when cookie path is a string prefix but not a path boundary\", () => {\n // \"/foo\" should NOT match \"/foobar\" — only \"/foo\", \"/foo/\", \"/foo/bar\"\n const cookie = makeCookie({\n name: \"boundary\",\n domain: \"example.com\",\n path: \"/foo\",\n });\n expect(filterCookies([cookie], [\"http://example.com/foobar\"])).toHaveLength(\n 0,\n );\n expect(filterCookies([cookie], [\"http://example.com/foo\"])).toHaveLength(1);\n expect(\n filterCookies([cookie], [\"http://example.com/foo/bar\"]),\n ).toHaveLength(1);\n });\n\n it(\"matches root path against any URL path\", () => {\n const rootCookie = makeCookie({\n name: \"root\",\n domain: \"example.com\",\n path: \"/\",\n });\n const result = filterCookies(\n [rootCookie],\n [\"http://example.com/deeply/nested/page\"],\n );\n expect(result).toHaveLength(1);\n });\n\n it(\"handles URL with port numbers\", () => {\n const c = makeCookie({ name: \"port\", domain: \"localhost\", path: \"/\" });\n const result = filterCookies([c], [\"http://localhost:3000/api\"]);\n expect(result).toHaveLength(1);\n });\n\n it(\"handles URL with query string and fragment\", () => {\n const c = makeCookie({ name: \"q\", domain: \"example.com\", path: \"/\" });\n const result = filterCookies(\n [c],\n [\"http://example.com/page?q=1&r=2#section\"],\n );\n expect(result).toHaveLength(1);\n });\n\n it(\"throws CookieValidationError for malformed URL\", () => {\n const c = makeCookie({ name: \"a\", domain: \"example.com\" });\n expect(() => filterCookies([c], [\"not-a-valid-url\"])).toThrow(\n /Invalid URL passed to cookies\\(\\)/,\n );\n });\n});\n\ndescribe(\"normalizeCookieParams\", () => {\n it(\"passes through cookies with domain+path\", () => {\n const input: CookieParam[] = [\n { name: \"a\", value: \"1\", domain: \"example.com\", path: \"/\" },\n ];\n const result = normalizeCookieParams(input);\n expect(result[0]!.domain).toBe(\"example.com\");\n expect(result[0]!.path).toBe(\"/\");\n expect(result[0]!.url).toBeUndefined();\n });\n\n it(\"derives domain, path, and secure from url\", () => {\n const input: CookieParam[] = [\n { name: \"a\", value: \"1\", url: \"https://example.com/app/page\" },\n ];\n const result = normalizeCookieParams(input);\n expect(result[0]!.domain).toBe(\"example.com\");\n expect(result[0]!.path).toBe(\"/app/\");\n expect(result[0]!.secure).toBe(true);\n expect(result[0]!.url).toBeUndefined();\n });\n\n it(\"sets secure to false for http urls\", () => {\n const input: CookieParam[] = [\n { name: \"a\", value: \"1\", url: \"http://example.com/\" },\n ];\n const result = normalizeCookieParams(input);\n expect(result[0]!.secure).toBe(false);\n });\n\n it(\"throws when neither url nor domain+path is provided\", () => {\n expect(() => normalizeCookieParams([{ name: \"a\", value: \"1\" }])).toThrow(\n /must have a url or a domain\\/path pair/,\n );\n });\n\n it(\"throws when both url and domain are provided\", () => {\n expect(() =>\n normalizeCookieParams([\n { name: \"a\", value: \"1\", url: \"https://x.com/\", domain: \"x.com\" },\n ]),\n ).toThrow(/should have either url or domain/);\n });\n\n it(\"throws when both url and path are provided\", () => {\n expect(() =>\n normalizeCookieParams([\n { name: \"a\", value: \"1\", url: \"https://x.com/\", path: \"/\" },\n ]),\n ).toThrow(/should have either url or path/);\n });\n\n it(\"throws for invalid expires (negative, not -1)\", () => {\n expect(() =>\n normalizeCookieParams([\n { name: \"a\", value: \"1\", domain: \"x.com\", path: \"/\", expires: -5 },\n ]),\n ).toThrow(/invalid expires/);\n });\n\n it(\"allows expires of -1 (session cookie)\", () => {\n const result = normalizeCookieParams([\n { name: \"a\", value: \"1\", domain: \"x.com\", path: \"/\", expires: -1 },\n ]);\n expect(result[0]!.expires).toBe(-1);\n });\n\n it(\"allows a positive expires timestamp\", () => {\n const future = Math.floor(Date.now() / 1000) + 3600;\n const result = normalizeCookieParams([\n { name: \"a\", value: \"1\", domain: \"x.com\", path: \"/\", expires: future },\n ]);\n expect(result[0]!.expires).toBe(future);\n });\n\n it(\"throws for about:blank url\", () => {\n expect(() =>\n normalizeCookieParams([{ name: \"a\", value: \"1\", url: \"about:blank\" }]),\n ).toThrow(/Blank page/);\n });\n\n it(\"throws for data: url\", () => {\n expect(() =>\n normalizeCookieParams([\n { name: \"a\", value: \"1\", url: \"data:text/html,hi\" },\n ]),\n ).toThrow(/Data URL/);\n });\n\n it(\"throws CookieValidationError for malformed url\", () => {\n expect(() =>\n normalizeCookieParams([{ name: \"a\", value: \"1\", url: \"not-a-url\" }]),\n ).toThrow(/Cookie \"a\" has an invalid url/);\n });\n\n it(\"throws when sameSite is None but secure is false\", () => {\n expect(() =>\n normalizeCookieParams([\n {\n name: \"a\",\n value: \"1\",\n domain: \"x.com\",\n path: \"/\",\n sameSite: \"None\",\n secure: false,\n },\n ]),\n ).toThrow(/sameSite: \"None\" without secure: true/);\n });\n\n it(\"throws when sameSite is None and secure is omitted (undefined)\", () => {\n // CDP defaults secure to false when omitted, so the browser will reject it.\n expect(() =>\n normalizeCookieParams([\n { name: \"a\", value: \"1\", domain: \"x.com\", path: \"/\", sameSite: \"None\" },\n ]),\n ).toThrow(/sameSite: \"None\" without secure: true/);\n });\n\n it(\"does NOT throw when sameSite is None and secure is true\", () => {\n const result = normalizeCookieParams([\n {\n name: \"a\",\n value: \"1\",\n domain: \"x.com\",\n path: \"/\",\n sameSite: \"None\",\n secure: true,\n },\n ]);\n expect(result[0]!.sameSite).toBe(\"None\");\n expect(result[0]!.secure).toBe(true);\n });\n\n it(\"derives root path from URL with no trailing path segments\", () => {\n const result = normalizeCookieParams([\n { name: \"a\", value: \"1\", url: \"https://example.com\" },\n ]);\n // URL(\"https://example.com\").pathname is \"/\", lastIndexOf(\"/\") + 1 = 1 → \"/\"\n expect(result[0]!.path).toBe(\"/\");\n });\n\n it(\"handles URL with port number\", () => {\n const result = normalizeCookieParams([\n { name: \"a\", value: \"1\", url: \"https://localhost:3000/api/v1\" },\n ]);\n expect(result[0]!.domain).toBe(\"localhost\");\n expect(result[0]!.path).toBe(\"/api/\");\n expect(result[0]!.secure).toBe(true);\n });\n\n it(\"handles URL with query string (ignores query)\", () => {\n const result = normalizeCookieParams([\n { name: \"a\", value: \"1\", url: \"https://example.com/page?q=1\" },\n ]);\n expect(result[0]!.domain).toBe(\"example.com\");\n expect(result[0]!.path).toBe(\"/\");\n });\n\n it(\"normalises multiple cookies in a single call\", () => {\n const result = normalizeCookieParams([\n { name: \"a\", value: \"1\", url: \"https://one.com/x\" },\n { name: \"b\", value: \"2\", domain: \"two.com\", path: \"/\" },\n { name: \"c\", value: \"3\", url: \"http://three.com/y/z\" },\n ]);\n expect(result).toHaveLength(3);\n expect(result[0]!.domain).toBe(\"one.com\");\n expect(result[1]!.domain).toBe(\"two.com\");\n expect(result[2]!.domain).toBe(\"three.com\");\n expect(result[2]!.secure).toBe(false);\n });\n\n it(\"does not mutate the original input array\", () => {\n const input: CookieParam[] = [\n { name: \"a\", value: \"1\", url: \"https://example.com/app\" },\n ];\n const frozen = { ...input[0]! };\n normalizeCookieParams(input);\n expect(input[0]).toEqual(frozen);\n });\n\n it(\"preserves optional fields that are explicitly set\", () => {\n const result = normalizeCookieParams([\n {\n name: \"full\",\n value: \"val\",\n domain: \"x.com\",\n path: \"/p\",\n expires: 9999999999,\n httpOnly: true,\n secure: true,\n sameSite: \"Strict\",\n },\n ]);\n const c = result[0]!;\n expect(c.httpOnly).toBe(true);\n expect(c.secure).toBe(true);\n expect(c.sameSite).toBe(\"Strict\");\n expect(c.expires).toBe(9999999999);\n });\n\n it(\"allows expires of 0 (epoch — effectively expired)\", () => {\n // 0 is a positive-ish edge case; browsers treat it as already expired\n const result = normalizeCookieParams([\n { name: \"a\", value: \"1\", domain: \"x.com\", path: \"/\", expires: 0 },\n ]);\n expect(result[0]!.expires).toBe(0);\n });\n\n it(\"throws on the first invalid cookie in a batch\", () => {\n expect(() =>\n normalizeCookieParams([\n { name: \"ok\", value: \"1\", domain: \"x.com\", path: \"/\" },\n { name: \"bad\", value: \"2\" }, // missing url/domain+path\n ]),\n ).toThrow(/Cookie \"bad\"/);\n });\n\n it(\"includes cookie name in every error message\", () => {\n const cases = [\n () => normalizeCookieParams([{ name: \"NAMED\", value: \"1\" }]),\n () =>\n normalizeCookieParams([\n { name: \"NAMED\", value: \"1\", url: \"https://x.com/\", domain: \"x\" },\n ]),\n () =>\n normalizeCookieParams([\n { name: \"NAMED\", value: \"1\", url: \"about:blank\" },\n ]),\n () =>\n normalizeCookieParams([\n {\n name: \"NAMED\",\n value: \"1\",\n domain: \"x.com\",\n path: \"/\",\n sameSite: \"None\",\n secure: false,\n },\n ]),\n ];\n for (const fn of cases) {\n expect(fn).toThrow(/NAMED/);\n }\n });\n});\n\ndescribe(\"cookieMatchesFilter\", () => {\n const cookie = makeCookie({\n name: \"session\",\n domain: \".example.com\",\n path: \"/app\",\n });\n\n it(\"matches when all filters match (exact strings)\", () => {\n expect(\n cookieMatchesFilter(cookie, {\n name: \"session\",\n domain: \".example.com\",\n path: \"/app\",\n }),\n ).toBe(true);\n });\n\n it(\"does not match when name differs\", () => {\n expect(cookieMatchesFilter(cookie, { name: \"other\" })).toBe(false);\n });\n\n it(\"does not match when domain differs\", () => {\n expect(cookieMatchesFilter(cookie, { domain: \"other.com\" })).toBe(false);\n });\n\n it(\"does not match when path differs\", () => {\n expect(cookieMatchesFilter(cookie, { path: \"/other\" })).toBe(false);\n });\n\n it(\"matches with regex name\", () => {\n expect(cookieMatchesFilter(cookie, { name: /^sess/ })).toBe(true);\n expect(cookieMatchesFilter(cookie, { name: /^nope/ })).toBe(false);\n });\n\n it(\"matches with regex domain\", () => {\n expect(cookieMatchesFilter(cookie, { domain: /example\\.com$/ })).toBe(true);\n expect(cookieMatchesFilter(cookie, { domain: /^other/ })).toBe(false);\n });\n\n it(\"matches with regex path\", () => {\n expect(cookieMatchesFilter(cookie, { path: /^\\/app/ })).toBe(true);\n });\n\n it(\"undefined filters match everything\", () => {\n expect(cookieMatchesFilter(cookie, {})).toBe(true);\n expect(cookieMatchesFilter(cookie, { name: undefined })).toBe(true);\n });\n\n it(\"requires ALL filters to match (AND logic)\", () => {\n // name matches but domain does not\n expect(\n cookieMatchesFilter(cookie, { name: \"session\", domain: \"wrong.com\" }),\n ).toBe(false);\n });\n\n it(\"handles global regex lastIndex correctly\", () => {\n const re = /sess/g;\n re.lastIndex = 999;\n expect(cookieMatchesFilter(cookie, { name: re })).toBe(true);\n });\n\n it(\"exact string does not do substring matching\", () => {\n // filter name \"sess\" should NOT match cookie name \"session\"\n expect(cookieMatchesFilter(cookie, { name: \"sess\" })).toBe(false);\n });\n\n it(\"regex can do substring matching\", () => {\n // regex /sess/ SHOULD match cookie name \"session\" (substring)\n expect(cookieMatchesFilter(cookie, { name: /sess/ })).toBe(true);\n });\n\n it(\"works with all three regex filters combined\", () => {\n expect(\n cookieMatchesFilter(cookie, {\n name: /^session$/,\n domain: /example/,\n path: /^\\/app$/,\n }),\n ).toBe(true);\n\n // One of three fails\n expect(\n cookieMatchesFilter(cookie, {\n name: /^session$/,\n domain: /example/,\n path: /^\\/wrong$/,\n }),\n ).toBe(false);\n });\n\n it(\"empty string filter only matches empty cookie property\", () => {\n const emptyPathCookie = makeCookie({\n name: \"x\",\n domain: \"a.com\",\n path: \"\",\n });\n expect(cookieMatchesFilter(emptyPathCookie, { path: \"\" })).toBe(true);\n expect(cookieMatchesFilter(cookie, { path: \"\" })).toBe(false);\n });\n\n it(\"is called once per cookie (no cross-contamination between calls)\", () => {\n const c1 = makeCookie({ name: \"alpha\", domain: \"a.com\", path: \"/\" });\n const c2 = makeCookie({ name: \"beta\", domain: \"b.com\", path: \"/x\" });\n const filter = { name: \"alpha\", domain: \"a.com\" };\n expect(cookieMatchesFilter(c1, filter)).toBe(true);\n expect(cookieMatchesFilter(c2, filter)).toBe(false);\n });\n});\n\ndescribe(\"V3Context cookie methods\", () => {\n // We test V3Context methods by constructing a minimal instance with a mock\n // CDP connection. V3Context.create() requires a real WebSocket, so we build\n // one via type-casting a MockCDPSession into the `conn` slot.\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let V3ContextClass: { prototype: V3Context } & Record<string, any>;\n\n beforeEach(async () => {\n const mod = await import(\"../../lib/v3/understudy/context.js\");\n V3ContextClass = mod.V3Context as typeof V3ContextClass;\n });\n\n function makeContext(\n cdpHandlers: Record<string, (params?: Record<string, unknown>) => unknown>,\n ): V3Context {\n const mockConn = new MockCDPSession(cdpHandlers, \"root\");\n // V3Context stores the connection as `conn` (readonly). We create an\n // object with the real prototype so we get the actual method implementations.\n const ctx = Object.create(V3ContextClass.prototype) as V3Context & {\n conn: MockCDPSession;\n };\n // Assign the mock connection\n Object.defineProperty(ctx, \"conn\", { value: mockConn, writable: false });\n return ctx;\n }\n\n function getMockConn(ctx: V3Context): MockCDPSession {\n return (ctx as unknown as { conn: MockCDPSession }).conn;\n }\n\n describe(\"cookies()\", () => {\n it(\"returns all cookies from Storage.getCookies\", async () => {\n const cdpCookies = [\n toCdpCookie(makeCookie({ name: \"a\", domain: \"example.com\" })),\n toCdpCookie(makeCookie({ name: \"b\", domain: \"other.com\" })),\n ];\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: cdpCookies }),\n });\n\n const result = await ctx.cookies();\n expect(result).toHaveLength(2);\n expect(result.map((c) => c.name)).toEqual([\"a\", \"b\"]);\n });\n\n it(\"filters by URL when provided as string\", async () => {\n const cdpCookies = [\n toCdpCookie(makeCookie({ name: \"a\", domain: \"example.com\" })),\n toCdpCookie(makeCookie({ name: \"b\", domain: \"other.com\" })),\n ];\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: cdpCookies }),\n });\n\n const result = await ctx.cookies(\"http://example.com/\");\n expect(result).toHaveLength(1);\n expect(result[0]!.name).toBe(\"a\");\n });\n\n it(\"filters by URL when provided as array\", async () => {\n const cdpCookies = [\n toCdpCookie(makeCookie({ name: \"a\", domain: \"example.com\" })),\n toCdpCookie(makeCookie({ name: \"b\", domain: \"other.com\" })),\n ];\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: cdpCookies }),\n });\n\n const result = await ctx.cookies([\"http://other.com/\"]);\n expect(result).toHaveLength(1);\n expect(result[0]!.name).toBe(\"b\");\n });\n\n it(\"defaults sameSite to Lax when CDP returns undefined\", async () => {\n const cdpCookie = {\n ...toCdpCookie(makeCookie()),\n sameSite: undefined as string | undefined,\n };\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [cdpCookie] }),\n });\n\n const result = await ctx.cookies();\n expect(result[0]!.sameSite).toBe(\"Lax\");\n });\n\n it(\"returns empty array when browser has no cookies\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [] }),\n });\n const result = await ctx.cookies();\n expect(result).toEqual([]);\n });\n\n it(\"maps all CDP cookie fields to our Cookie type\", async () => {\n const cdpCookie = toCdpCookie(\n makeCookie({\n name: \"full\",\n value: \"v\",\n domain: \".test.com\",\n path: \"/p\",\n expires: 1700000000,\n httpOnly: true,\n secure: true,\n sameSite: \"Strict\",\n }),\n );\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [cdpCookie] }),\n });\n\n const result = await ctx.cookies();\n expect(result[0]).toEqual({\n name: \"full\",\n value: \"v\",\n domain: \".test.com\",\n path: \"/p\",\n expires: 1700000000,\n httpOnly: true,\n secure: true,\n sameSite: \"Strict\",\n });\n });\n\n it(\"strips extra CDP fields (size, priority, etc.) from result\", async () => {\n const cdpCookie = toCdpCookie(makeCookie({ name: \"stripped\" }));\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [cdpCookie] }),\n });\n\n const result = await ctx.cookies();\n const keys = Object.keys(result[0]!);\n expect(keys).not.toContain(\"size\");\n expect(keys).not.toContain(\"priority\");\n expect(keys).not.toContain(\"sourceScheme\");\n expect(keys).not.toContain(\"sourcePort\");\n });\n\n it(\"calls Storage.getCookies exactly once per invocation\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [] }),\n });\n\n await ctx.cookies();\n await ctx.cookies(\"http://example.com\");\n\n const calls = getMockConn(ctx).callsFor(\"Storage.getCookies\");\n expect(calls).toHaveLength(2);\n });\n });\n\n describe(\"addCookies()\", () => {\n it(\"sends all cookies in a single Storage.setCookies call\", async () => {\n const ctx = makeContext({\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.addCookies([\n { name: \"a\", value: \"1\", domain: \"example.com\", path: \"/\" },\n { name: \"b\", value: \"2\", domain: \"other.com\", path: \"/\" },\n ]);\n\n const calls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(calls).toHaveLength(1);\n expect(calls[0]!.params).toMatchObject({\n cookies: [\n { name: \"a\", domain: \"example.com\" },\n { name: \"b\", domain: \"other.com\" },\n ],\n });\n });\n\n it(\"derives domain/path/secure from url\", async () => {\n const ctx = makeContext({\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.addCookies([\n { name: \"a\", value: \"1\", url: \"https://example.com/app/page\" },\n ]);\n\n const calls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(calls[0]!.params).toMatchObject({\n cookies: [\n { name: \"a\", domain: \"example.com\", path: \"/app/\", secure: true },\n ],\n });\n });\n\n it(\"throws when Storage.setCookies fails\", async () => {\n const ctx = makeContext({\n \"Storage.setCookies\": () => {\n throw new Error(\"CDP failure\");\n },\n });\n\n await expect(\n ctx.addCookies([\n { name: \"bad\", value: \"x\", domain: \"example.com\", path: \"/\" },\n ]),\n ).rejects.toThrow(/Failed to set cookies \\[\"bad\"\\]/);\n });\n\n it(\"throws for sameSite None without secure\", async () => {\n const ctx = makeContext({\n \"Storage.setCookies\": () => ({}),\n });\n\n await expect(\n ctx.addCookies([\n {\n name: \"x\",\n value: \"1\",\n domain: \"example.com\",\n path: \"/\",\n sameSite: \"None\",\n secure: false,\n },\n ]),\n ).rejects.toThrow(/sameSite: \"None\" without secure: true/);\n });\n\n it(\"does nothing when passed an empty array\", async () => {\n const ctx = makeContext({\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.addCookies([]);\n\n const calls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(calls).toHaveLength(0);\n });\n\n it(\"sends all cookie fields to CDP (including optional ones)\", async () => {\n const ctx = makeContext({\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.addCookies([\n {\n name: \"full\",\n value: \"val\",\n domain: \"x.com\",\n path: \"/p\",\n expires: 9999999999,\n httpOnly: true,\n secure: true,\n sameSite: \"Strict\",\n },\n ]);\n\n const calls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(calls[0]!.params).toEqual({\n cookies: [\n {\n name: \"full\",\n value: \"val\",\n domain: \"x.com\",\n path: \"/p\",\n expires: 9999999999,\n httpOnly: true,\n secure: true,\n sameSite: \"Strict\",\n },\n ],\n });\n });\n\n it(\"error message includes all cookie names when batch fails\", async () => {\n const ctx = makeContext({\n \"Storage.setCookies\": () => {\n throw new Error(\"CDP failure\");\n },\n });\n\n await expect(\n ctx.addCookies([\n { name: \"alpha\", value: \"1\", domain: \"a.com\", path: \"/\" },\n { name: \"beta\", value: \"2\", domain: \"b.com\", path: \"/\" },\n ]),\n ).rejects.toThrow(/Failed to set cookies \\[\"alpha\", \"beta\"\\]/);\n });\n });\n\n describe(\"clearCookies()\", () => {\n const cdpCookies = [\n toCdpCookie(\n makeCookie({ name: \"session\", domain: \"example.com\", path: \"/\" }),\n ),\n toCdpCookie(\n makeCookie({ name: \"_ga\", domain: \".example.com\", path: \"/\" }),\n ),\n toCdpCookie(\n makeCookie({ name: \"pref\", domain: \"other.com\", path: \"/settings\" }),\n ),\n ];\n\n it(\"uses atomic Storage.clearCookies when called with no options\", async () => {\n const ctx = makeContext({\n \"Storage.clearCookies\": () => ({}),\n });\n\n await ctx.clearCookies();\n\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(1);\n\n // Should NOT have fetched or re-set anything\n const getCalls = getMockConn(ctx).callsFor(\"Storage.getCookies\");\n expect(getCalls).toHaveLength(0);\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(setCalls).toHaveLength(0);\n });\n\n it(\"clears and re-adds only non-matching cookies (name filter)\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ name: \"_ga\" });\n\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(1);\n\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(setCalls).toHaveLength(1);\n const kept = (\n setCalls[0]!.params?.cookies as Array<{ name: string }>\n ).map((c) => c.name);\n expect(kept).toEqual([\"session\", \"pref\"]);\n });\n\n it(\"clears and re-adds only non-matching cookies (domain filter)\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ domain: \"other.com\" });\n\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n const kept = (\n setCalls[0]!.params?.cookies as Array<{ name: string }>\n ).map((c) => c.name);\n expect(kept).toEqual([\"session\", \"_ga\"]);\n });\n\n it(\"clears and re-adds only non-matching cookies (regex name)\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ name: /^_ga/ });\n\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n const kept = (\n setCalls[0]!.params?.cookies as Array<{ name: string }>\n ).map((c) => c.name);\n expect(kept).toEqual([\"session\", \"pref\"]);\n });\n\n it(\"applies AND logic across multiple filters\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ name: \"session\", domain: \"example.com\" });\n\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n const kept = (\n setCalls[0]!.params?.cookies as Array<{ name: string }>\n ).map((c) => c.name);\n expect(kept).toEqual([\"_ga\", \"pref\"]);\n });\n\n it(\"does nothing when filter matches no cookies\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ name: \"nonexistent\" });\n\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(0);\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(setCalls).toHaveLength(0);\n });\n\n it(\"clears without re-adding when filter matches all cookies\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ name: /.*/ });\n\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(1);\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(setCalls).toHaveLength(0);\n });\n\n it(\"handles regex that matches multiple cookies\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({\n cookies: [\n toCdpCookie(\n makeCookie({ name: \"_ga_ABC\", domain: \"example.com\", path: \"/\" }),\n ),\n toCdpCookie(\n makeCookie({ name: \"_ga_DEF\", domain: \"example.com\", path: \"/\" }),\n ),\n toCdpCookie(\n makeCookie({ name: \"_gid\", domain: \"example.com\", path: \"/\" }),\n ),\n toCdpCookie(\n makeCookie({ name: \"session\", domain: \"example.com\", path: \"/\" }),\n ),\n ],\n }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ name: /^_ga/ });\n\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n const kept = (\n setCalls[0]!.params?.cookies as Array<{ name: string }>\n ).map((c) => c.name);\n expect(kept).toContain(\"_gid\");\n expect(kept).toContain(\"session\");\n expect(kept).not.toContain(\"_ga_ABC\");\n expect(kept).not.toContain(\"_ga_DEF\");\n });\n\n it(\"regex domain filter combined with path filter\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ domain: /example/, path: \"/settings\" });\n\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(0);\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(setCalls).toHaveLength(0);\n });\n\n it(\"clearCookies with empty options object uses atomic clear (same as no args)\", async () => {\n const ctx = makeContext({\n \"Storage.clearCookies\": () => ({}),\n });\n\n await ctx.clearCookies({});\n\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(1);\n });\n\n it(\"clears and re-adds only non-matching cookies (path filter)\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await ctx.clearCookies({ path: \"/settings\" });\n\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(1);\n\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(setCalls).toHaveLength(1);\n const kept = (\n setCalls[0]!.params?.cookies as Array<{ name: string }>\n ).map((c) => c.name);\n expect(kept).toEqual([\"session\", \"_ga\"]);\n expect(kept).not.toContain(\"pref\");\n });\n\n it(\"throws when Storage.getCookies fails during filtered clear\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => {\n throw new Error(\"CDP getCookies failure\");\n },\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => ({}),\n });\n\n await expect(ctx.clearCookies({ name: \"session\" })).rejects.toThrow(\n /CDP getCookies failure/,\n );\n\n // clearCookies and setCookies should never have been called\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(0);\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(setCalls).toHaveLength(0);\n });\n\n it(\"throws when Storage.clearCookies fails during filtered clear\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => {\n throw new Error(\"CDP clearCookies failure\");\n },\n \"Storage.setCookies\": () => ({}),\n });\n\n await expect(ctx.clearCookies({ name: \"session\" })).rejects.toThrow(\n /CDP clearCookies failure/,\n );\n\n // setCookies should never have been called — cookies are untouched\n const setCalls = getMockConn(ctx).callsFor(\"Storage.setCookies\");\n expect(setCalls).toHaveLength(0);\n });\n\n it(\"throws when Storage.setCookies fails during re-add, cookies are already wiped\", async () => {\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [...cdpCookies] }),\n \"Storage.clearCookies\": () => ({}),\n \"Storage.setCookies\": () => {\n throw new Error(\"CDP setCookies failure\");\n },\n });\n\n await expect(ctx.clearCookies({ name: \"session\" })).rejects.toThrow(\n /cookie jar is now empty/,\n );\n\n // clearCookies WAS called — cookies are gone\n const clearCalls = getMockConn(ctx).callsFor(\"Storage.clearCookies\");\n expect(clearCalls).toHaveLength(1);\n });\n });\n\n describe(\"cookies() sameSite mapping\", () => {\n it(\"passes through valid sameSite values as-is\", async () => {\n for (const sameSite of [\"Strict\", \"Lax\", \"None\"] as const) {\n const cdpCookie = { ...toCdpCookie(makeCookie()), sameSite };\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [cdpCookie] }),\n });\n const result = await ctx.cookies();\n expect(result[0]!.sameSite).toBe(sameSite);\n }\n });\n\n it(\"does not normalize lowercase sameSite values from CDP\", async () => {\n // CDP may return lowercase values; the current implementation casts\n // without normalizing, so \"none\" passes through as-is.\n const cdpCookie = { ...toCdpCookie(makeCookie()), sameSite: \"none\" };\n const ctx = makeContext({\n \"Storage.getCookies\": () => ({ cookies: [cdpCookie] }),\n });\n const result = await ctx.cookies();\n // This documents the current behavior: lowercase is NOT normalized.\n expect(result[0]!.sameSite).toBe(\"none\");\n });\n });\n});\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CDPSessionLike } from "../../../lib/v3/understudy/cdp.js";
|
|
2
|
+
type Handler = (params?: Record<string, unknown>) => Promise<unknown> | unknown;
|
|
3
|
+
export declare class MockCDPSession implements CDPSessionLike {
|
|
4
|
+
private readonly handlers;
|
|
5
|
+
readonly id: string;
|
|
6
|
+
readonly calls: Array<{
|
|
7
|
+
method: string;
|
|
8
|
+
params?: Record<string, unknown>;
|
|
9
|
+
}>;
|
|
10
|
+
constructor(handlers?: Record<string, Handler>, sessionId?: string);
|
|
11
|
+
send<R = unknown>(method: string, params?: Record<string, unknown>): Promise<R>;
|
|
12
|
+
on(): void;
|
|
13
|
+
off(): void;
|
|
14
|
+
close(): Promise<void>;
|
|
15
|
+
callsFor(method: string): Array<{
|
|
16
|
+
params?: Record<string, unknown>;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MockCDPSession = void 0;
|
|
4
|
+
class MockCDPSession {
|
|
5
|
+
handlers;
|
|
6
|
+
id;
|
|
7
|
+
calls = [];
|
|
8
|
+
constructor(handlers = {}, sessionId = "mock-session") {
|
|
9
|
+
this.handlers = handlers;
|
|
10
|
+
this.id = sessionId;
|
|
11
|
+
}
|
|
12
|
+
async send(method, params = {}) {
|
|
13
|
+
this.calls.push({ method, params });
|
|
14
|
+
const handler = this.handlers[method];
|
|
15
|
+
if (!handler)
|
|
16
|
+
return {};
|
|
17
|
+
return (await handler(params));
|
|
18
|
+
}
|
|
19
|
+
on() { }
|
|
20
|
+
off() { }
|
|
21
|
+
async close() { }
|
|
22
|
+
callsFor(method) {
|
|
23
|
+
return this.calls
|
|
24
|
+
.filter((call) => call.method === method)
|
|
25
|
+
.map(({ params }) => ({ params }));
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.MockCDPSession = MockCDPSession;
|
|
29
|
+
//# sourceMappingURL=mockCDPSession.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mockCDPSession.js","sourceRoot":"","sources":["../../../../../tests/unit/helpers/mockCDPSession.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IAQN;IAPH,EAAE,CAAS;IACX,KAAK,GAGhB,EAAE,CAAC;IAER,YACmB,WAAoC,EAAE,EACvD,SAAS,GAAG,cAAc;QADT,aAAQ,GAAR,QAAQ,CAA8B;QAGvD,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,MAAc,EACd,SAAkC,EAAE;QAEpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAO,CAAC;QAC7B,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAM,CAAC;IACtC,CAAC;IAED,EAAE,KAAU,CAAC;IACb,GAAG,KAAU,CAAC;IACd,KAAK,CAAC,KAAK,KAAmB,CAAC;IAE/B,QAAQ,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;aACxC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;AAjCD,wCAiCC","sourcesContent":["import type { CDPSessionLike } from \"../../../lib/v3/understudy/cdp.js\";\n\ntype Handler = (params?: Record<string, unknown>) => Promise<unknown> | unknown;\n\nexport class MockCDPSession implements CDPSessionLike {\n public readonly id: string;\n public readonly calls: Array<{\n method: string;\n params?: Record<string, unknown>;\n }> = [];\n\n constructor(\n private readonly handlers: Record<string, Handler> = {},\n sessionId = \"mock-session\",\n ) {\n this.id = sessionId;\n }\n\n async send<R = unknown>(\n method: string,\n params: Record<string, unknown> = {},\n ): Promise<R> {\n this.calls.push({ method, params });\n const handler = this.handlers[method];\n if (!handler) return {} as R;\n return (await handler(params)) as R;\n }\n\n on(): void {}\n off(): void {}\n async close(): Promise<void> {}\n\n callsFor(method: string): Array<{ params?: Record<string, unknown> }> {\n return this.calls\n .filter((call) => call.method === method)\n .map(({ params }) => ({ params }));\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const LLMProvider_js_1 = require("../../lib/v3/llm/LLMProvider.js");
|
|
5
|
+
(0, vitest_1.describe)("getAISDKLanguageModel", () => {
|
|
6
|
+
(0, vitest_1.describe)("ollama provider", () => {
|
|
7
|
+
(0, vitest_1.it)("works without clientOptions", () => {
|
|
8
|
+
const model = (0, LLMProvider_js_1.getAISDKLanguageModel)("ollama", "llama3.2");
|
|
9
|
+
(0, vitest_1.expect)(model).toBeDefined();
|
|
10
|
+
});
|
|
11
|
+
(0, vitest_1.it)("works with empty clientOptions", () => {
|
|
12
|
+
const model = (0, LLMProvider_js_1.getAISDKLanguageModel)("ollama", "llama3.2", {});
|
|
13
|
+
(0, vitest_1.expect)(model).toBeDefined();
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)("works with clientOptions containing only undefined values", () => {
|
|
16
|
+
const model = (0, LLMProvider_js_1.getAISDKLanguageModel)("ollama", "llama3.2", {
|
|
17
|
+
apiKey: undefined,
|
|
18
|
+
});
|
|
19
|
+
(0, vitest_1.expect)(model).toBeDefined();
|
|
20
|
+
});
|
|
21
|
+
(0, vitest_1.it)("works with clientOptions containing only null values", () => {
|
|
22
|
+
const model = (0, LLMProvider_js_1.getAISDKLanguageModel)("ollama", "llama3.2", {
|
|
23
|
+
apiKey: null,
|
|
24
|
+
});
|
|
25
|
+
(0, vitest_1.expect)(model).toBeDefined();
|
|
26
|
+
});
|
|
27
|
+
(0, vitest_1.it)("works with custom baseURL", () => {
|
|
28
|
+
const model = (0, LLMProvider_js_1.getAISDKLanguageModel)("ollama", "llama3.2", {
|
|
29
|
+
baseURL: "http://custom-ollama:11434",
|
|
30
|
+
});
|
|
31
|
+
(0, vitest_1.expect)(model).toBeDefined();
|
|
32
|
+
});
|
|
33
|
+
(0, vitest_1.it)("works even when apiKey is mistakenly provided", () => {
|
|
34
|
+
// Ollama doesn't need an API key, but users might set one anyway
|
|
35
|
+
const model = (0, LLMProvider_js_1.getAISDKLanguageModel)("ollama", "llama3.2", {
|
|
36
|
+
apiKey: "unnecessary-key",
|
|
37
|
+
});
|
|
38
|
+
(0, vitest_1.expect)(model).toBeDefined();
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
(0, vitest_1.describe)("providers with API keys", () => {
|
|
42
|
+
(0, vitest_1.it)("openai requires valid clientOptions for custom configuration", () => {
|
|
43
|
+
// Without clientOptions, uses default provider
|
|
44
|
+
const defaultModel = (0, LLMProvider_js_1.getAISDKLanguageModel)("openai", "gpt-4o");
|
|
45
|
+
(0, vitest_1.expect)(defaultModel).toBeDefined();
|
|
46
|
+
// With valid apiKey, uses custom provider
|
|
47
|
+
const customModel = (0, LLMProvider_js_1.getAISDKLanguageModel)("openai", "gpt-4o", {
|
|
48
|
+
apiKey: "test-key",
|
|
49
|
+
});
|
|
50
|
+
(0, vitest_1.expect)(customModel).toBeDefined();
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
(0, vitest_1.describe)("hasValidOptions logic", () => {
|
|
54
|
+
(0, vitest_1.it)("treats undefined apiKey as no options", () => {
|
|
55
|
+
// This should use the default provider path (AISDKProviders)
|
|
56
|
+
// not the custom provider path (AISDKProvidersWithAPIKey)
|
|
57
|
+
const model = (0, LLMProvider_js_1.getAISDKLanguageModel)("ollama", "llama3.2", {
|
|
58
|
+
apiKey: undefined,
|
|
59
|
+
});
|
|
60
|
+
(0, vitest_1.expect)(model).toBeDefined();
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=llm-provider.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-provider.test.js","sourceRoot":"","sources":["../../../../tests/unit/llm-provider.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { getAISDKLanguageModel } from \"../../lib/v3/llm/LLMProvider.js\";\n\ndescribe(\"getAISDKLanguageModel\", () => {\n describe(\"ollama provider\", () => {\n it(\"works without clientOptions\", () => {\n const model = getAISDKLanguageModel(\"ollama\", \"llama3.2\");\n expect(model).toBeDefined();\n });\n\n it(\"works with empty clientOptions\", () => {\n const model = getAISDKLanguageModel(\"ollama\", \"llama3.2\", {});\n expect(model).toBeDefined();\n });\n\n it(\"works with clientOptions containing only undefined values\", () => {\n const model = getAISDKLanguageModel(\"ollama\", \"llama3.2\", {\n apiKey: undefined,\n });\n expect(model).toBeDefined();\n });\n\n it(\"works with clientOptions containing only null values\", () => {\n const model = getAISDKLanguageModel(\"ollama\", \"llama3.2\", {\n apiKey: null as unknown as string,\n });\n expect(model).toBeDefined();\n });\n\n it(\"works with custom baseURL\", () => {\n const model = getAISDKLanguageModel(\"ollama\", \"llama3.2\", {\n baseURL: \"http://custom-ollama:11434\",\n });\n expect(model).toBeDefined();\n });\n\n it(\"works even when apiKey is mistakenly provided\", () => {\n // Ollama doesn't need an API key, but users might set one anyway\n const model = getAISDKLanguageModel(\"ollama\", \"llama3.2\", {\n apiKey: \"unnecessary-key\",\n });\n expect(model).toBeDefined();\n });\n });\n\n describe(\"providers with API keys\", () => {\n it(\"openai requires valid clientOptions for custom configuration\", () => {\n // Without clientOptions, uses default provider\n const defaultModel = getAISDKLanguageModel(\"openai\", \"gpt-4o\");\n expect(defaultModel).toBeDefined();\n\n // With valid apiKey, uses custom provider\n const customModel = getAISDKLanguageModel(\"openai\", \"gpt-4o\", {\n apiKey: \"test-key\",\n });\n expect(customModel).toBeDefined();\n });\n });\n\n describe(\"hasValidOptions logic\", () => {\n it(\"treats undefined apiKey as no options\", () => {\n // This should use the default provider path (AISDKProviders)\n // not the custom provider path (AISDKProvidersWithAPIKey)\n const model = getAISDKLanguageModel(\"ollama\", \"llama3.2\", {\n apiKey: undefined,\n });\n expect(model).toBeDefined();\n });\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const LLMProvider_js_1 = require("../../lib/v3/llm/LLMProvider.js");
|
|
5
|
+
const sdkErrors_js_1 = require("../../lib/v3/types/public/sdkErrors.js");
|
|
6
|
+
// Mock client options with fake API keys for testing
|
|
7
|
+
const mockClientOptions = { apiKey: "test-api-key-for-testing" };
|
|
8
|
+
(0, vitest_1.describe)("Model format deprecation", () => {
|
|
9
|
+
(0, vitest_1.describe)("UnsupportedModelError", () => {
|
|
10
|
+
(0, vitest_1.it)("includes guidance to use provider/model format for unknown model names", () => {
|
|
11
|
+
const error = new sdkErrors_js_1.UnsupportedModelError(["gpt-4o", "gemini-2.0-flash"]);
|
|
12
|
+
// Should mention the new format
|
|
13
|
+
(0, vitest_1.expect)(error.message).toContain("provider/model");
|
|
14
|
+
// Should include link to docs
|
|
15
|
+
(0, vitest_1.expect)(error.message).toContain("https://docs.stagehand.dev/v3/configuration/models");
|
|
16
|
+
});
|
|
17
|
+
(0, vitest_1.it)("includes example of provider/model format", () => {
|
|
18
|
+
const error = new sdkErrors_js_1.UnsupportedModelError(["gpt-4o"]);
|
|
19
|
+
// Should provide examples like openai/gpt-4o
|
|
20
|
+
(0, vitest_1.expect)(error.message).toContain("openai/gpt-4o");
|
|
21
|
+
(0, vitest_1.expect)(error.message).toContain("anthropic/claude-sonnet-4");
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.it)("works with feature parameter", () => {
|
|
24
|
+
const error = new sdkErrors_js_1.UnsupportedModelError(["gpt-4o"], "extract");
|
|
25
|
+
(0, vitest_1.expect)(error.message).toContain("extract");
|
|
26
|
+
(0, vitest_1.expect)(error.message).toContain("provider/model");
|
|
27
|
+
(0, vitest_1.expect)(error.message).toContain("https://docs.stagehand.dev/v3/configuration/models");
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
(0, vitest_1.describe)("LLMProvider.getClient deprecation warning", () => {
|
|
31
|
+
(0, vitest_1.it)("logs deprecation warning for legacy model names", () => {
|
|
32
|
+
const logs = [];
|
|
33
|
+
const logger = (line) => logs.push(line);
|
|
34
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
35
|
+
// Using a legacy model name like "gpt-4o" instead of "openai/gpt-4o"
|
|
36
|
+
// Should not throw, but should log a deprecation warning
|
|
37
|
+
const client = provider.getClient("gpt-4o", mockClientOptions);
|
|
38
|
+
// Should return a client (not throw)
|
|
39
|
+
(0, vitest_1.expect)(client).toBeDefined();
|
|
40
|
+
// Should have logged a deprecation warning at level 0
|
|
41
|
+
const deprecationWarning = logs.find((log) => log.message.toLowerCase().includes("deprecated") ||
|
|
42
|
+
log.message.toLowerCase().includes("deprecation"));
|
|
43
|
+
(0, vitest_1.expect)(deprecationWarning).toBeDefined();
|
|
44
|
+
(0, vitest_1.expect)(deprecationWarning.level).toBe(0);
|
|
45
|
+
});
|
|
46
|
+
(0, vitest_1.it)("deprecation warning mentions provider/model format", () => {
|
|
47
|
+
const logs = [];
|
|
48
|
+
const logger = (line) => logs.push(line);
|
|
49
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
50
|
+
provider.getClient("gpt-4o", mockClientOptions);
|
|
51
|
+
const deprecationWarning = logs.find((log) => log.message.toLowerCase().includes("deprecated") ||
|
|
52
|
+
log.message.toLowerCase().includes("deprecation"));
|
|
53
|
+
(0, vitest_1.expect)(deprecationWarning).toBeDefined();
|
|
54
|
+
const message = deprecationWarning.message;
|
|
55
|
+
// Should mention the provider/model format
|
|
56
|
+
(0, vitest_1.expect)(message).toContain("provider/model");
|
|
57
|
+
// Should give an example
|
|
58
|
+
(0, vitest_1.expect)(message).toContain("openai/gpt-5");
|
|
59
|
+
});
|
|
60
|
+
(0, vitest_1.it)("returns OpenAIClient for legacy OpenAI model names", () => {
|
|
61
|
+
const logs = [];
|
|
62
|
+
const logger = (line) => logs.push(line);
|
|
63
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
64
|
+
const client = provider.getClient("gpt-4o", mockClientOptions);
|
|
65
|
+
// Should return a client
|
|
66
|
+
(0, vitest_1.expect)(client).toBeDefined();
|
|
67
|
+
// The client should be an OpenAIClient (check constructor name)
|
|
68
|
+
(0, vitest_1.expect)(client.constructor.name).toBe("OpenAIClient");
|
|
69
|
+
});
|
|
70
|
+
(0, vitest_1.it)("returns GoogleClient for legacy Google model names", () => {
|
|
71
|
+
const logs = [];
|
|
72
|
+
const logger = (line) => logs.push(line);
|
|
73
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
74
|
+
const client = provider.getClient("gemini-2.0-flash", mockClientOptions);
|
|
75
|
+
// Should return a client
|
|
76
|
+
(0, vitest_1.expect)(client).toBeDefined();
|
|
77
|
+
// The client should be a GoogleClient
|
|
78
|
+
(0, vitest_1.expect)(client.constructor.name).toBe("GoogleClient");
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
(0, vitest_1.describe)("LLMProvider.getClient error handling", () => {
|
|
82
|
+
(0, vitest_1.it)("throws UnsupportedModelError for unknown model without slash", () => {
|
|
83
|
+
const logs = [];
|
|
84
|
+
const logger = (line) => logs.push(line);
|
|
85
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
86
|
+
// Unknown model without slash should throw UnsupportedModelError
|
|
87
|
+
(0, vitest_1.expect)(() => {
|
|
88
|
+
provider.getClient("some-unknown-model", mockClientOptions);
|
|
89
|
+
}).toThrow(sdkErrors_js_1.UnsupportedModelError);
|
|
90
|
+
});
|
|
91
|
+
(0, vitest_1.it)("UnsupportedModelError includes provider/model format guidance", () => {
|
|
92
|
+
const logs = [];
|
|
93
|
+
const logger = (line) => logs.push(line);
|
|
94
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
95
|
+
try {
|
|
96
|
+
provider.getClient("some-unknown-model", mockClientOptions);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
(0, vitest_1.expect)(error.message).toContain("provider/model");
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
(0, vitest_1.it)("throws UnsupportedAISDKModelProviderError for invalid provider in provider/model format", () => {
|
|
103
|
+
const logs = [];
|
|
104
|
+
const logger = (line) => logs.push(line);
|
|
105
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
106
|
+
// Invalid provider but correct format
|
|
107
|
+
(0, vitest_1.expect)(() => {
|
|
108
|
+
provider.getClient("invalid-provider/some-model", mockClientOptions);
|
|
109
|
+
}).toThrow(sdkErrors_js_1.UnsupportedAISDKModelProviderError);
|
|
110
|
+
});
|
|
111
|
+
(0, vitest_1.it)("UnsupportedAISDKModelProviderError lists valid providers", () => {
|
|
112
|
+
const logs = [];
|
|
113
|
+
const logger = (line) => logs.push(line);
|
|
114
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
115
|
+
try {
|
|
116
|
+
provider.getClient("invalid-provider/some-model", mockClientOptions);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
const message = error.message;
|
|
120
|
+
// Should list valid providers
|
|
121
|
+
(0, vitest_1.expect)(message).toContain("openai");
|
|
122
|
+
(0, vitest_1.expect)(message).toContain("anthropic");
|
|
123
|
+
(0, vitest_1.expect)(message).toContain("google");
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
});
|
|
127
|
+
(0, vitest_1.describe)("new provider/model format", () => {
|
|
128
|
+
(0, vitest_1.it)("does not log deprecation warning for provider/model format", () => {
|
|
129
|
+
const logs = [];
|
|
130
|
+
const logger = (line) => logs.push(line);
|
|
131
|
+
const provider = new LLMProvider_js_1.LLMProvider(logger);
|
|
132
|
+
// Using the new format
|
|
133
|
+
const client = provider.getClient("openai/gpt-4o", mockClientOptions);
|
|
134
|
+
(0, vitest_1.expect)(client).toBeDefined();
|
|
135
|
+
// Should NOT have a deprecation warning
|
|
136
|
+
const deprecationWarning = logs.find((log) => log.message.toLowerCase().includes("deprecated") ||
|
|
137
|
+
log.message.toLowerCase().includes("deprecation"));
|
|
138
|
+
(0, vitest_1.expect)(deprecationWarning).toBeUndefined();
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
//# sourceMappingURL=model-deprecation.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-deprecation.test.js","sourceRoot":"","sources":["../../../../tests/unit/model-deprecation.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { LLMProvider } from \"../../lib/v3/llm/LLMProvider.js\";\nimport {\n UnsupportedModelError,\n UnsupportedAISDKModelProviderError,\n} from \"../../lib/v3/types/public/sdkErrors.js\";\nimport type { LogLine } from \"../../lib/v3/types/public/logs.js\";\n\n// Mock client options with fake API keys for testing\nconst mockClientOptions = { apiKey: \"test-api-key-for-testing\" };\n\ndescribe(\"Model format deprecation\", () => {\n describe(\"UnsupportedModelError\", () => {\n it(\"includes guidance to use provider/model format for unknown model names\", () => {\n const error = new UnsupportedModelError([\"gpt-4o\", \"gemini-2.0-flash\"]);\n\n // Should mention the new format\n expect(error.message).toContain(\"provider/model\");\n // Should include link to docs\n expect(error.message).toContain(\n \"https://docs.stagehand.dev/v3/configuration/models\",\n );\n });\n\n it(\"includes example of provider/model format\", () => {\n const error = new UnsupportedModelError([\"gpt-4o\"]);\n\n // Should provide examples like openai/gpt-4o\n expect(error.message).toContain(\"openai/gpt-4o\");\n expect(error.message).toContain(\"anthropic/claude-sonnet-4\");\n });\n\n it(\"works with feature parameter\", () => {\n const error = new UnsupportedModelError([\"gpt-4o\"], \"extract\");\n\n expect(error.message).toContain(\"extract\");\n expect(error.message).toContain(\"provider/model\");\n expect(error.message).toContain(\n \"https://docs.stagehand.dev/v3/configuration/models\",\n );\n });\n });\n\n describe(\"LLMProvider.getClient deprecation warning\", () => {\n it(\"logs deprecation warning for legacy model names\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n // Using a legacy model name like \"gpt-4o\" instead of \"openai/gpt-4o\"\n // Should not throw, but should log a deprecation warning\n const client = provider.getClient(\"gpt-4o\", mockClientOptions);\n\n // Should return a client (not throw)\n expect(client).toBeDefined();\n\n // Should have logged a deprecation warning at level 0\n const deprecationWarning = logs.find(\n (log) =>\n log.message.toLowerCase().includes(\"deprecated\") ||\n log.message.toLowerCase().includes(\"deprecation\"),\n );\n expect(deprecationWarning).toBeDefined();\n expect(deprecationWarning!.level).toBe(0);\n });\n\n it(\"deprecation warning mentions provider/model format\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n provider.getClient(\"gpt-4o\", mockClientOptions);\n\n const deprecationWarning = logs.find(\n (log) =>\n log.message.toLowerCase().includes(\"deprecated\") ||\n log.message.toLowerCase().includes(\"deprecation\"),\n );\n\n expect(deprecationWarning).toBeDefined();\n const message = deprecationWarning!.message;\n // Should mention the provider/model format\n expect(message).toContain(\"provider/model\");\n // Should give an example\n expect(message).toContain(\"openai/gpt-5\");\n });\n\n it(\"returns OpenAIClient for legacy OpenAI model names\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n const client = provider.getClient(\"gpt-4o\", mockClientOptions);\n\n // Should return a client\n expect(client).toBeDefined();\n // The client should be an OpenAIClient (check constructor name)\n expect(client.constructor.name).toBe(\"OpenAIClient\");\n });\n\n it(\"returns GoogleClient for legacy Google model names\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n const client = provider.getClient(\"gemini-2.0-flash\", mockClientOptions);\n\n // Should return a client\n expect(client).toBeDefined();\n // The client should be a GoogleClient\n expect(client.constructor.name).toBe(\"GoogleClient\");\n });\n });\n\n describe(\"LLMProvider.getClient error handling\", () => {\n it(\"throws UnsupportedModelError for unknown model without slash\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n // Unknown model without slash should throw UnsupportedModelError\n expect(() => {\n provider.getClient(\"some-unknown-model\", mockClientOptions);\n }).toThrow(UnsupportedModelError);\n });\n\n it(\"UnsupportedModelError includes provider/model format guidance\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n try {\n provider.getClient(\"some-unknown-model\", mockClientOptions);\n } catch (error) {\n expect((error as Error).message).toContain(\"provider/model\");\n }\n });\n\n it(\"throws UnsupportedAISDKModelProviderError for invalid provider in provider/model format\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n // Invalid provider but correct format\n expect(() => {\n provider.getClient(\"invalid-provider/some-model\", mockClientOptions);\n }).toThrow(UnsupportedAISDKModelProviderError);\n });\n\n it(\"UnsupportedAISDKModelProviderError lists valid providers\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n try {\n provider.getClient(\"invalid-provider/some-model\", mockClientOptions);\n } catch (error) {\n const message = (error as Error).message;\n // Should list valid providers\n expect(message).toContain(\"openai\");\n expect(message).toContain(\"anthropic\");\n expect(message).toContain(\"google\");\n }\n });\n });\n\n describe(\"new provider/model format\", () => {\n it(\"does not log deprecation warning for provider/model format\", () => {\n const logs: LogLine[] = [];\n const logger = (line: LogLine) => logs.push(line);\n const provider = new LLMProvider(logger);\n\n // Using the new format\n const client = provider.getClient(\"openai/gpt-4o\", mockClientOptions);\n\n expect(client).toBeDefined();\n\n // Should NOT have a deprecation warning\n const deprecationWarning = logs.find(\n (log) =>\n log.message.toLowerCase().includes(\"deprecated\") ||\n log.message.toLowerCase().includes(\"deprecation\"),\n );\n expect(deprecationWarning).toBeUndefined();\n });\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const vitest_1 = require("vitest");
|
|
4
|
+
const modelUtils_js_1 = require("../../lib/modelUtils.js");
|
|
5
|
+
(0, vitest_1.describe)("extractModelName", () => {
|
|
6
|
+
(0, vitest_1.it)("returns undefined for undefined input", () => {
|
|
7
|
+
(0, vitest_1.expect)((0, modelUtils_js_1.extractModelName)(undefined)).toBeUndefined();
|
|
8
|
+
});
|
|
9
|
+
(0, vitest_1.it)("returns the string as-is for a string input", () => {
|
|
10
|
+
(0, vitest_1.expect)((0, modelUtils_js_1.extractModelName)("openai/gpt-4o")).toBe("openai/gpt-4o");
|
|
11
|
+
});
|
|
12
|
+
(0, vitest_1.it)("returns modelName from an object input", () => {
|
|
13
|
+
(0, vitest_1.expect)((0, modelUtils_js_1.extractModelName)({ modelName: "anthropic/claude-sonnet-4-20250514" })).toBe("anthropic/claude-sonnet-4-20250514");
|
|
14
|
+
});
|
|
15
|
+
(0, vitest_1.it)("returns modelName from an object with extra properties", () => {
|
|
16
|
+
(0, vitest_1.expect)((0, modelUtils_js_1.extractModelName)({
|
|
17
|
+
modelName: "openai/gpt-4o-mini",
|
|
18
|
+
apiKey: "sk-test",
|
|
19
|
+
baseURL: "https://custom.endpoint",
|
|
20
|
+
})).toBe("openai/gpt-4o-mini");
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
(0, vitest_1.describe)("resolveModel", () => {
|
|
24
|
+
(0, vitest_1.it)("extracts provider and modelName from a string", () => {
|
|
25
|
+
const result = (0, modelUtils_js_1.resolveModel)("openai/gpt-4o");
|
|
26
|
+
(0, vitest_1.expect)(result.provider).toBe("openai");
|
|
27
|
+
(0, vitest_1.expect)(result.modelName).toBe("gpt-4o");
|
|
28
|
+
(0, vitest_1.expect)(result.clientOptions).toEqual({});
|
|
29
|
+
});
|
|
30
|
+
(0, vitest_1.it)("extracts clientOptions from an object config", () => {
|
|
31
|
+
const result = (0, modelUtils_js_1.resolveModel)({
|
|
32
|
+
modelName: "openai/gpt-4o",
|
|
33
|
+
apiKey: "sk-test",
|
|
34
|
+
});
|
|
35
|
+
(0, vitest_1.expect)(result.provider).toBe("openai");
|
|
36
|
+
(0, vitest_1.expect)(result.modelName).toBe("gpt-4o");
|
|
37
|
+
(0, vitest_1.expect)(result.clientOptions).toMatchObject({ apiKey: "sk-test" });
|
|
38
|
+
// modelName should not leak into clientOptions
|
|
39
|
+
(0, vitest_1.expect)(result.clientOptions).not.toHaveProperty("modelName");
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=model-utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-utils.test.js","sourceRoot":"","sources":["../../../../tests/unit/model-utils.test.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,2DAAyE;AAEzE,IAAA,iBAAQ,EAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAA,WAAE,EAAC,uCAAuC,EAAE,GAAG,EAAE;QAC/C,IAAA,eAAM,EAAC,IAAA,gCAAgB,EAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,IAAA,eAAM,EAAC,IAAA,gCAAgB,EAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,IAAA,eAAM,EACJ,IAAA,gCAAgB,EAAC,EAAE,SAAS,EAAE,oCAAoC,EAAE,CAAC,CACtE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,IAAA,eAAM,EACJ,IAAA,gCAAgB,EAAC;YACf,SAAS,EAAE,oBAAoB;YAC/B,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,yBAAyB;SACnC,CAAC,CACH,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,iBAAQ,EAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAA,WAAE,EAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC,eAAe,CAAC,CAAC;QAC7C,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,MAAM,GAAG,IAAA,4BAAY,EAAC;YAC1B,SAAS,EAAE,eAAwB;YACnC,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,IAAA,eAAM,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAA,eAAM,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAA,eAAM,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAClE,+CAA+C;QAC/C,IAAA,eAAM,EAAC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { extractModelName, resolveModel } from \"../../lib/modelUtils.js\";\n\ndescribe(\"extractModelName\", () => {\n it(\"returns undefined for undefined input\", () => {\n expect(extractModelName(undefined)).toBeUndefined();\n });\n\n it(\"returns the string as-is for a string input\", () => {\n expect(extractModelName(\"openai/gpt-4o\")).toBe(\"openai/gpt-4o\");\n });\n\n it(\"returns modelName from an object input\", () => {\n expect(\n extractModelName({ modelName: \"anthropic/claude-sonnet-4-20250514\" }),\n ).toBe(\"anthropic/claude-sonnet-4-20250514\");\n });\n\n it(\"returns modelName from an object with extra properties\", () => {\n expect(\n extractModelName({\n modelName: \"openai/gpt-4o-mini\",\n apiKey: \"sk-test\",\n baseURL: \"https://custom.endpoint\",\n }),\n ).toBe(\"openai/gpt-4o-mini\");\n });\n});\n\ndescribe(\"resolveModel\", () => {\n it(\"extracts provider and modelName from a string\", () => {\n const result = resolveModel(\"openai/gpt-4o\");\n expect(result.provider).toBe(\"openai\");\n expect(result.modelName).toBe(\"gpt-4o\");\n expect(result.clientOptions).toEqual({});\n });\n\n it(\"extracts clientOptions from an object config\", () => {\n const result = resolveModel({\n modelName: \"openai/gpt-4o\" as never,\n apiKey: \"sk-test\",\n });\n expect(result.provider).toBe(\"openai\");\n expect(result.modelName).toBe(\"gpt-4o\");\n expect(result.clientOptions).toMatchObject({ apiKey: \"sk-test\" });\n // modelName should not leak into clientOptions\n expect(result.clientOptions).not.toHaveProperty(\"modelName\");\n });\n});\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|