@browserbasehq/orca 3.0.9-alpha-3 → 3.1.0-patch.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/lib/inference.d.ts +65 -0
- package/dist/esm/lib/inference.js +333 -0
- package/dist/esm/lib/inference.js.map +1 -0
- package/dist/esm/lib/inferenceLogUtils.d.ts +12 -0
- package/dist/esm/lib/inferenceLogUtils.js +92 -0
- package/dist/esm/lib/inferenceLogUtils.js.map +1 -0
- package/dist/esm/lib/logger.d.ts +69 -0
- package/dist/esm/lib/logger.js +323 -0
- package/dist/esm/lib/logger.js.map +1 -0
- package/dist/esm/lib/modelUtils.d.ts +14 -0
- package/dist/esm/lib/modelUtils.js +48 -0
- package/dist/esm/lib/modelUtils.js.map +1 -0
- package/dist/esm/lib/prompt.d.ts +14 -0
- package/dist/esm/lib/prompt.js +230 -0
- package/dist/esm/lib/prompt.js.map +1 -0
- package/dist/esm/lib/utils.d.ts +68 -0
- package/dist/esm/lib/utils.js +654 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/esm/lib/v3/agent/AgentClient.d.ts +19 -0
- package/dist/esm/lib/v3/agent/AgentClient.js +17 -0
- package/dist/esm/lib/v3/agent/AgentClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/AgentProvider.d.ts +20 -0
- package/dist/esm/lib/v3/agent/AgentProvider.js +77 -0
- package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +822 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.js +799 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js +770 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.js +615 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.d.ts +12 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +186 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/act.d.ts +13 -0
- package/dist/esm/lib/v3/agent/tools/act.js +49 -0
- package/dist/esm/lib/v3/agent/tools/act.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.d.ts +5 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.js +31 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/click.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/click.js +104 -0
- package/dist/esm/lib/v3/agent/tools/click.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.js +68 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.js +105 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/extract.d.ts +21 -0
- package/dist/esm/lib/v3/agent/tools/extract.js +93 -0
- package/dist/esm/lib/v3/agent/tools/extract.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js +143 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/fillform.d.ts +13 -0
- package/dist/esm/lib/v3/agent/tools/fillform.js +56 -0
- package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/goto.d.ts +12 -0
- package/dist/esm/lib/v3/agent/tools/goto.js +31 -0
- package/dist/esm/lib/v3/agent/tools/goto.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/index.d.ts +92 -0
- package/dist/esm/lib/v3/agent/tools/index.js +74 -0
- package/dist/esm/lib/v3/agent/tools/index.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/keys.d.ts +24 -0
- package/dist/esm/lib/v3/agent/tools/keys.js +60 -0
- package/dist/esm/lib/v3/agent/tools/keys.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/navback.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/navback.js +23 -0
- package/dist/esm/lib/v3/agent/tools/navback.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.js +26 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/scroll.d.ts +19 -0
- package/dist/esm/lib/v3/agent/tools/scroll.js +142 -0
- package/dist/esm/lib/v3/agent/tools/scroll.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/search.d.ts +15 -0
- package/dist/esm/lib/v3/agent/tools/search.js +73 -0
- package/dist/esm/lib/v3/agent/tools/search.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/think.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/think.js +24 -0
- package/dist/esm/lib/v3/agent/tools/think.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/type.d.ts +7 -0
- package/dist/esm/lib/v3/agent/tools/type.js +106 -0
- package/dist/esm/lib/v3/agent/tools/type.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/wait.d.ts +5 -0
- package/dist/esm/lib/v3/agent/tools/wait.js +53 -0
- package/dist/esm/lib/v3/agent/tools/wait.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.d.ts +3 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.js +100 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js +28 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js +62 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js +145 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js +101 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.d.ts +53 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.js +204 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.js +164 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.js +26 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js +79 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/xpath.d.ts +11 -0
- package/dist/esm/lib/v3/agent/utils/xpath.js +19 -0
- package/dist/esm/lib/v3/agent/utils/xpath.js.map +1 -0
- package/dist/esm/lib/v3/api.d.ts +86 -0
- package/dist/esm/lib/v3/api.js +484 -0
- package/dist/esm/lib/v3/api.js.map +1 -0
- package/dist/esm/lib/v3/cache/ActCache.d.ts +23 -0
- package/dist/esm/lib/v3/cache/ActCache.js +292 -0
- package/dist/esm/lib/v3/cache/ActCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/AgentCache.d.ts +109 -0
- package/dist/esm/lib/v3/cache/AgentCache.js +640 -0
- package/dist/esm/lib/v3/cache/AgentCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/CacheStorage.d.ts +17 -0
- package/dist/esm/lib/v3/cache/CacheStorage.js +98 -0
- package/dist/esm/lib/v3/cache/CacheStorage.js.map +1 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.d.ts +7 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.js +49 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/utils.d.ts +15 -0
- package/dist/esm/lib/v3/cache/utils.js +39 -0
- package/dist/esm/lib/v3/cache/utils.js.map +1 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.d.ts +11 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.js +117 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js +20 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js +56 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js +2 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/rerender-index.js +1 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js +8 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.js +2 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/v3-index.js +1 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.js +54 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genDomScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genDomScripts.js +38 -0
- package/dist/esm/lib/v3/dom/genDomScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.js +51 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.js +37 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/index.d.ts +1 -0
- package/dist/esm/lib/v3/dom/index.js +2 -0
- package/dist/esm/lib/v3/dom/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.js +272 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.d.ts +4 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.js +5 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.js +458 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.js +283 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js +283 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js +376 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js +196 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
- package/dist/esm/lib/v3/dom/piercer.entry.d.ts +1 -0
- package/dist/esm/lib/v3/dom/piercer.entry.js +3 -0
- package/dist/esm/lib/v3/dom/piercer.entry.js.map +1 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.d.ts +23 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.js +90 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.js.map +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js +3 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js +40 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.js +2 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js +82 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
- package/dist/esm/lib/v3/external_clients/aisdk.d.ts +11 -0
- package/dist/esm/lib/v3/external_clients/aisdk.js +103 -0
- package/dist/esm/lib/v3/external_clients/aisdk.js.map +1 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.d.ts +18 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.js +220 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.js.map +1 -0
- package/dist/esm/lib/v3/flowLogger.d.ts +139 -0
- package/dist/esm/lib/v3/flowLogger.js +868 -0
- package/dist/esm/lib/v3/flowLogger.js.map +1 -0
- package/dist/esm/lib/v3/handlers/actHandler.d.ts +21 -0
- package/dist/esm/lib/v3/handlers/actHandler.js +340 -0
- package/dist/esm/lib/v3/handlers/actHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/extractHandler.d.ts +31 -0
- package/dist/esm/lib/v3/handlers/extractHandler.js +139 -0
- package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +24 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +623 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js +14 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
- package/dist/esm/lib/v3/handlers/observeHandler.d.ts +17 -0
- package/dist/esm/lib/v3/handlers/observeHandler.js +156 -0
- package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js +461 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +528 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
- package/dist/esm/lib/v3/index.d.ts +17 -0
- package/dist/esm/lib/v3/index.js +13 -0
- package/dist/esm/lib/v3/index.js.map +1 -0
- package/dist/esm/lib/v3/launch/browserbase.d.ts +7 -0
- package/dist/esm/lib/v3/launch/browserbase.js +46 -0
- package/dist/esm/lib/v3/launch/browserbase.js.map +1 -0
- package/dist/esm/lib/v3/launch/local.d.ts +15 -0
- package/dist/esm/lib/v3/launch/local.js +98 -0
- package/dist/esm/lib/v3/launch/local.js.map +1 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.d.ts +16 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.js +239 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.d.ts +17 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.js +235 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/GoogleClient.d.ts +19 -0
- package/dist/esm/lib/v3/llm/GoogleClient.js +369 -0
- package/dist/esm/lib/v3/llm/GoogleClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/GroqClient.d.ts +17 -0
- package/dist/esm/lib/v3/llm/GroqClient.js +236 -0
- package/dist/esm/lib/v3/llm/GroqClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/LLMClient.d.ts +121 -0
- package/dist/esm/lib/v3/llm/LLMClient.js +23 -0
- package/dist/esm/lib/v3/llm/LLMClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/LLMProvider.d.ts +13 -0
- package/dist/esm/lib/v3/llm/LLMProvider.js +194 -0
- package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.d.ts +15 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.js +329 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/aisdk.d.ts +15 -0
- package/dist/esm/lib/v3/llm/aisdk.js +348 -0
- package/dist/esm/lib/v3/llm/aisdk.js.map +1 -0
- package/dist/esm/lib/v3/logger.d.ts +9 -0
- package/dist/esm/lib/v3/logger.js +96 -0
- package/dist/esm/lib/v3/logger.js.map +1 -0
- package/dist/esm/lib/v3/mcp/connection.d.ts +11 -0
- package/dist/esm/lib/v3/mcp/connection.js +49 -0
- package/dist/esm/lib/v3/mcp/connection.js.map +1 -0
- package/dist/esm/lib/v3/mcp/utils.d.ts +3 -0
- package/dist/esm/lib/v3/mcp/utils.js +36 -0
- package/dist/esm/lib/v3/mcp/utils.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.js +30 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/supervisor.d.ts +9 -0
- package/dist/esm/lib/v3/shutdown/supervisor.js +156 -0
- package/dist/esm/lib/v3/shutdown/supervisor.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.d.ts +15 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.js +97 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -0
- package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js +113 -0
- package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js +80 -0
- package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-callbacks.spec.js +374 -0
- package/dist/esm/lib/v3/tests/agent-callbacks.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js +357 -0
- package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js +247 -0
- package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js +105 -0
- package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-streaming.spec.js +126 -0
- package/dist/esm/lib/v3/tests/agent-streaming.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js +44 -0
- package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/click-count.spec.js +112 -0
- package/dist/esm/lib/v3/tests/click-count.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js +54 -0
- package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/context-addInitScript.spec.js +176 -0
- package/dist/esm/lib/v3/tests/context-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/default-page-tracking.spec.js +53 -0
- package/dist/esm/lib/v3/tests/default-page-tracking.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/downloads.spec.js +58 -0
- package/dist/esm/lib/v3/tests/downloads.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/envReporter.js +57 -0
- package/dist/esm/lib/v3/tests/envReporter.js.map +7 -0
- package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js +53 -0
- package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js +447 -0
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.child.js +92 -0
- package/dist/esm/lib/v3/tests/keep-alive.child.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.helpers.js +532 -0
- package/dist/esm/lib/v3/tests/keep-alive.helpers.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.spec.js +19 -0
- package/dist/esm/lib/v3/tests/keep-alive.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/keyboard.spec.js +296 -0
- package/dist/esm/lib/v3/tests/keyboard.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js +159 -0
- package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-content-methods.spec.js +191 -0
- package/dist/esm/lib/v3/tests/locator-content-methods.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js +108 -0
- package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-count.spec.js +71 -0
- package/dist/esm/lib/v3/tests/locator-count.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-fill.spec.js +118 -0
- package/dist/esm/lib/v3/tests/locator-fill.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-input-methods.spec.js +136 -0
- package/dist/esm/lib/v3/tests/locator-input-methods.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-nth.spec.js +157 -0
- package/dist/esm/lib/v3/tests/locator-nth.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-select-option.spec.js +242 -0
- package/dist/esm/lib/v3/tests/locator-select-option.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/logger-initialization.spec.js +552 -0
- package/dist/esm/lib/v3/tests/logger-initialization.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js +269 -0
- package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/nested-div.spec.js +23 -0
- package/dist/esm/lib/v3/tests/nested-div.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-addInitScript.spec.js +90 -0
- package/dist/esm/lib/v3/tests/page-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-console.spec.js +56 -0
- package/dist/esm/lib/v3/tests/page-console.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js +418 -0
- package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-goto-response.spec.js +35 -0
- package/dist/esm/lib/v3/tests/page-goto-response.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-hover.spec.js +167 -0
- package/dist/esm/lib/v3/tests/page-hover.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-screenshot.spec.js +273 -0
- package/dist/esm/lib/v3/tests/page-screenshot.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-scroll.spec.js +182 -0
- package/dist/esm/lib/v3/tests/page-scroll.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-send-cdp.spec.js +46 -0
- package/dist/esm/lib/v3/tests/page-send-cdp.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js +98 -0
- package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/setinputfiles.spec.js +126 -0
- package/dist/esm/lib/v3/tests/setinputfiles.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js +134 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js +134 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/testUtils.js +31 -0
- package/dist/esm/lib/v3/tests/testUtils.js.map +7 -0
- package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js +100 -0
- package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/timeouts.spec.js +32 -0
- package/dist/esm/lib/v3/tests/timeouts.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/user-data-dir.spec.js +43 -0
- package/dist/esm/lib/v3/tests/user-data-dir.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.config.js +15 -0
- package/dist/esm/lib/v3/tests/v3.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.dynamic.config.js +43 -0
- package/dist/esm/lib/v3/tests/v3.dynamic.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.playwright.config.js +98 -0
- package/dist/esm/lib/v3/tests/v3.playwright.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/wait-for-selector.spec.js +593 -0
- package/dist/esm/lib/v3/tests/wait-for-selector.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js +97 -0
- package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js +77 -0
- package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js.map +7 -0
- package/dist/esm/lib/v3/timeoutConfig.d.ts +2 -0
- package/dist/esm/lib/v3/timeoutConfig.js +27 -0
- package/dist/esm/lib/v3/timeoutConfig.js.map +1 -0
- package/dist/esm/lib/v3/types/private/agent.d.ts +6 -0
- package/dist/esm/lib/v3/types/private/agent.js +2 -0
- package/dist/esm/lib/v3/types/private/agent.js.map +1 -0
- package/dist/esm/lib/v3/types/private/api.d.ts +11 -0
- package/dist/esm/lib/v3/types/private/api.js +2 -0
- package/dist/esm/lib/v3/types/private/api.js.map +1 -0
- package/dist/esm/lib/v3/types/private/cache.d.ts +128 -0
- package/dist/esm/lib/v3/types/private/cache.js +2 -0
- package/dist/esm/lib/v3/types/private/cache.js.map +1 -0
- package/dist/esm/lib/v3/types/private/evaluator.d.ts +40 -0
- package/dist/esm/lib/v3/types/private/evaluator.js +2 -0
- package/dist/esm/lib/v3/types/private/evaluator.js.map +1 -0
- package/dist/esm/lib/v3/types/private/handlers.d.ts +38 -0
- package/dist/esm/lib/v3/types/private/handlers.js +16 -0
- package/dist/esm/lib/v3/types/private/handlers.js.map +1 -0
- package/dist/esm/lib/v3/types/private/index.d.ts +7 -0
- package/dist/esm/lib/v3/types/private/index.js +8 -0
- package/dist/esm/lib/v3/types/private/index.js.map +1 -0
- package/dist/esm/lib/v3/types/private/internal.d.ts +39 -0
- package/dist/esm/lib/v3/types/private/internal.js +2 -0
- package/dist/esm/lib/v3/types/private/internal.js.map +1 -0
- package/dist/esm/lib/v3/types/private/locator.d.ts +9 -0
- package/dist/esm/lib/v3/types/private/locator.js +2 -0
- package/dist/esm/lib/v3/types/private/locator.js.map +1 -0
- package/dist/esm/lib/v3/types/private/network.d.ts +34 -0
- package/dist/esm/lib/v3/types/private/network.js +3 -0
- package/dist/esm/lib/v3/types/private/network.js.map +1 -0
- package/dist/esm/lib/v3/types/private/shutdown.d.ts +31 -0
- package/dist/esm/lib/v3/types/private/shutdown.js +5 -0
- package/dist/esm/lib/v3/types/private/shutdown.js.map +1 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.d.ts +12 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.js +22 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.js.map +1 -0
- package/dist/esm/lib/v3/types/private/snapshot.d.ts +117 -0
- package/dist/esm/lib/v3/types/private/snapshot.js +2 -0
- package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -0
- package/dist/esm/lib/v3/types/public/agent.d.ts +595 -0
- package/dist/esm/lib/v3/types/public/agent.js +15 -0
- package/dist/esm/lib/v3/types/public/agent.js.map +1 -0
- package/dist/esm/lib/v3/types/public/api.d.ts +1211 -0
- package/dist/esm/lib/v3/types/public/api.js +915 -0
- package/dist/esm/lib/v3/types/public/api.js.map +1 -0
- package/dist/esm/lib/v3/types/public/apiErrors.d.ts +18 -0
- package/dist/esm/lib/v3/types/public/apiErrors.js +32 -0
- package/dist/esm/lib/v3/types/public/apiErrors.js.map +1 -0
- package/dist/esm/lib/v3/types/public/index.d.ts +12 -0
- package/dist/esm/lib/v3/types/public/index.js +14 -0
- package/dist/esm/lib/v3/types/public/index.js.map +1 -0
- package/dist/esm/lib/v3/types/public/locator.d.ts +9 -0
- package/dist/esm/lib/v3/types/public/locator.js +2 -0
- package/dist/esm/lib/v3/types/public/locator.js.map +1 -0
- package/dist/esm/lib/v3/types/public/logs.d.ts +23 -0
- package/dist/esm/lib/v3/types/public/logs.js +13 -0
- package/dist/esm/lib/v3/types/public/logs.js.map +1 -0
- package/dist/esm/lib/v3/types/public/methods.d.ts +56 -0
- package/dist/esm/lib/v3/types/public/methods.js +15 -0
- package/dist/esm/lib/v3/types/public/methods.js.map +1 -0
- package/dist/esm/lib/v3/types/public/metrics.d.ts +27 -0
- package/dist/esm/lib/v3/types/public/metrics.js +2 -0
- package/dist/esm/lib/v3/types/public/metrics.js.map +1 -0
- package/dist/esm/lib/v3/types/public/model.d.ts +65 -0
- package/dist/esm/lib/v3/types/public/model.js +2 -0
- package/dist/esm/lib/v3/types/public/model.js.map +1 -0
- package/dist/esm/lib/v3/types/public/options.d.ts +70 -0
- package/dist/esm/lib/v3/types/public/options.js +4 -0
- package/dist/esm/lib/v3/types/public/options.js.map +1 -0
- package/dist/esm/lib/v3/types/public/page.d.ts +18 -0
- package/dist/esm/lib/v3/types/public/page.js +3 -0
- package/dist/esm/lib/v3/types/public/page.js.map +1 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.d.ts +25 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.js +2 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.js.map +1 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.d.ts +152 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js +305 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +196 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js +121 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js +336 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +129 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js +274 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +24 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js +216 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js +5 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js +22 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +135 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js +102 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.js +12 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.js.map +1 -0
- package/dist/esm/lib/v3/understudy/cdp.d.ts +69 -0
- package/dist/esm/lib/v3/understudy/cdp.js +251 -0
- package/dist/esm/lib/v3/understudy/cdp.js.map +1 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.d.ts +22 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.js +66 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.js.map +1 -0
- package/dist/esm/lib/v3/understudy/context.d.ts +132 -0
- package/dist/esm/lib/v3/understudy/context.js +687 -0
- package/dist/esm/lib/v3/understudy/context.js.map +1 -0
- package/dist/esm/lib/v3/understudy/deepLocator.d.ts +87 -0
- package/dist/esm/lib/v3/understudy/deepLocator.js +218 -0
- package/dist/esm/lib/v3/understudy/deepLocator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.js +83 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.js.map +1 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.js +81 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frame.d.ts +69 -0
- package/dist/esm/lib/v3/understudy/frame.js +211 -0
- package/dist/esm/lib/v3/understudy/frame.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frameLocator.d.ts +50 -0
- package/dist/esm/lib/v3/understudy/frameLocator.js +255 -0
- package/dist/esm/lib/v3/understudy/frameLocator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.d.ts +101 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.js +298 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.js.map +1 -0
- package/dist/esm/lib/v3/understudy/initScripts.d.ts +2 -0
- package/dist/esm/lib/v3/understudy/initScripts.js +33 -0
- package/dist/esm/lib/v3/understudy/initScripts.js.map +1 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.js +245 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
- package/dist/esm/lib/v3/understudy/locator.d.ts +194 -0
- package/dist/esm/lib/v3/understudy/locator.js +753 -0
- package/dist/esm/lib/v3/understudy/locator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.js +12 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.js.map +1 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.js +224 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
- package/dist/esm/lib/v3/understudy/networkManager.d.ts +53 -0
- package/dist/esm/lib/v3/understudy/networkManager.js +306 -0
- package/dist/esm/lib/v3/understudy/networkManager.js.map +1 -0
- package/dist/esm/lib/v3/understudy/page.d.ts +354 -0
- package/dist/esm/lib/v3/understudy/page.js +1941 -0
- package/dist/esm/lib/v3/understudy/page.js.map +1 -0
- package/dist/esm/lib/v3/understudy/piercer.d.ts +4 -0
- package/dist/esm/lib/v3/understudy/piercer.js +61 -0
- package/dist/esm/lib/v3/understudy/piercer.js.map +1 -0
- package/dist/esm/lib/v3/understudy/response.d.ts +137 -0
- package/dist/esm/lib/v3/understudy/response.js +330 -0
- package/dist/esm/lib/v3/understudy/response.js.map +1 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.d.ts +16 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.js +352 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.d.ts +38 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.js +296 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.js.map +1 -0
- package/dist/esm/lib/v3/v3.d.ts +191 -0
- package/dist/esm/lib/v3/v3.js +1572 -0
- package/dist/esm/lib/v3/v3.js.map +1 -0
- package/dist/esm/lib/v3/zodCompat.d.ts +12 -0
- package/dist/esm/lib/v3/zodCompat.js +17 -0
- package/dist/esm/lib/v3/zodCompat.js.map +1 -0
- package/dist/esm/lib/v3Evaluator.d.ts +19 -0
- package/dist/esm/lib/v3Evaluator.js +210 -0
- package/dist/esm/lib/v3Evaluator.js.map +1 -0
- package/dist/esm/lib/version.d.ts +5 -0
- package/dist/esm/lib/version.js +6 -0
- package/dist/esm/lib/version.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/tests/agent-execution-model.test.js +139 -0
- package/dist/esm/tests/agent-execution-model.test.js.map +7 -0
- package/dist/esm/tests/browserbase-session-accessors.test.js +101 -0
- package/dist/esm/tests/browserbase-session-accessors.test.js.map +7 -0
- package/dist/esm/tests/cache-llm-resolution.test.js +187 -0
- package/dist/esm/tests/cache-llm-resolution.test.js.map +7 -0
- package/dist/esm/tests/helpers/mockCDPSession.js +27 -0
- package/dist/esm/tests/helpers/mockCDPSession.js.map +7 -0
- package/dist/esm/tests/llm-provider.test.js +57 -0
- package/dist/esm/tests/llm-provider.test.js.map +7 -0
- package/dist/esm/tests/model-deprecation.test.js +135 -0
- package/dist/esm/tests/model-deprecation.test.js.map +7 -0
- package/dist/esm/tests/model-utils.test.js +43 -0
- package/dist/esm/tests/model-utils.test.js.map +7 -0
- package/dist/esm/tests/page-snapshot.test.js +36 -0
- package/dist/esm/tests/page-snapshot.test.js.map +7 -0
- package/dist/esm/tests/public-api/export-surface.test.js +53 -0
- package/dist/esm/tests/public-api/export-surface.test.js.map +7 -0
- package/dist/esm/tests/public-api/llm-and-agents.test.js +128 -0
- package/dist/esm/tests/public-api/llm-and-agents.test.js.map +7 -0
- package/dist/esm/tests/public-api/public-error-types.test.js +71 -0
- package/dist/esm/tests/public-api/public-error-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/public-types.test.js +74 -0
- package/dist/esm/tests/public-api/public-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/runtime-utils.test.js +31 -0
- package/dist/esm/tests/public-api/runtime-utils.test.js.map +7 -0
- package/dist/esm/tests/public-api/schema-utils.test.js +78 -0
- package/dist/esm/tests/public-api/schema-utils.test.js.map +7 -0
- package/dist/esm/tests/public-api/timeout-error-types.test.js +81 -0
- package/dist/esm/tests/public-api/timeout-error-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/tool-type-export.test.js +25 -0
- package/dist/esm/tests/public-api/tool-type-export.test.js.map +7 -0
- package/dist/esm/tests/public-api/v3-core.test.js +82 -0
- package/dist/esm/tests/public-api/v3-core.test.js.map +7 -0
- package/dist/esm/tests/safety-confirmation.test.js +134 -0
- package/dist/esm/tests/safety-confirmation.test.js.map +7 -0
- package/dist/esm/tests/snapshot-a11y-resolvers.test.js +348 -0
- package/dist/esm/tests/snapshot-a11y-resolvers.test.js.map +7 -0
- package/dist/esm/tests/snapshot-a11y-tree-utils.test.js +300 -0
- package/dist/esm/tests/snapshot-a11y-tree-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-capture-orchestration.test.js +381 -0
- package/dist/esm/tests/snapshot-capture-orchestration.test.js.map +7 -0
- package/dist/esm/tests/snapshot-cbor.test.js +197 -0
- package/dist/esm/tests/snapshot-cbor.test.js.map +7 -0
- package/dist/esm/tests/snapshot-dom-session-builders.test.js +251 -0
- package/dist/esm/tests/snapshot-dom-session-builders.test.js.map +7 -0
- package/dist/esm/tests/snapshot-dom-tree-utils.test.js +109 -0
- package/dist/esm/tests/snapshot-dom-tree-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-focus-selectors-utils.test.js +49 -0
- package/dist/esm/tests/snapshot-focus-selectors-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-frame-merge.test.js +391 -0
- package/dist/esm/tests/snapshot-frame-merge.test.js.map +7 -0
- package/dist/esm/tests/snapshot-tree-format-utils.test.js +113 -0
- package/dist/esm/tests/snapshot-tree-format-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-xpath-utils.test.js +79 -0
- package/dist/esm/tests/snapshot-xpath-utils.test.js.map +7 -0
- package/dist/esm/tests/timeout-handlers.test.js +850 -0
- package/dist/esm/tests/timeout-handlers.test.js.map +7 -0
- package/dist/esm/tests/xpath-parser.test.js +317 -0
- package/dist/esm/tests/xpath-parser.test.js.map +7 -0
- package/dist/esm/tests/xpath-resolver.test.js +73 -0
- package/dist/esm/tests/xpath-resolver.test.js.map +7 -0
- package/dist/esm/tests/zod-enum-compatibility.test.js +97 -0
- package/dist/esm/tests/zod-enum-compatibility.test.js.map +7 -0
- package/package.json +42 -27
- package/dist/index.d.ts +0 -4321
- package/dist/index.js +0 -69585
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
import pino from "pino";
|
|
2
|
+
// Map our existing levels to Pino's standard levels
|
|
3
|
+
const levelMapping = {
|
|
4
|
+
0: "error", // Critical/important messages
|
|
5
|
+
1: "info", // Standard information
|
|
6
|
+
2: "debug", // Detailed debugging information
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Creates a configured Pino logger instance
|
|
10
|
+
*/
|
|
11
|
+
export function createLogger(options = {}) {
|
|
12
|
+
const loggerConfig = {
|
|
13
|
+
level: options.level || "info",
|
|
14
|
+
base: undefined, // Don't include pid and hostname
|
|
15
|
+
browser: {
|
|
16
|
+
asObject: true,
|
|
17
|
+
},
|
|
18
|
+
// Disable worker threads to avoid issues in tests
|
|
19
|
+
transport: undefined,
|
|
20
|
+
};
|
|
21
|
+
// Add pretty printing for dev environments only if explicitly requested
|
|
22
|
+
// and not in a test environment
|
|
23
|
+
if (options.pretty && !isTestEnvironment()) {
|
|
24
|
+
try {
|
|
25
|
+
// Use require for dynamic import
|
|
26
|
+
const transport = {
|
|
27
|
+
transport: {
|
|
28
|
+
target: "pino-pretty",
|
|
29
|
+
options: {
|
|
30
|
+
colorize: true,
|
|
31
|
+
translateTime: "SYS:standard",
|
|
32
|
+
ignore: "pid,hostname",
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
Object.assign(loggerConfig, transport);
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
console.warn("pino-pretty not available, falling back to standard logging");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return pino(loggerConfig, options.destination);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if we're running in a test environment
|
|
46
|
+
*/
|
|
47
|
+
function isTestEnvironment() {
|
|
48
|
+
return (process.env.NODE_ENV === "test" ||
|
|
49
|
+
process.env.JEST_WORKER_ID !== undefined ||
|
|
50
|
+
process.env.PLAYWRIGHT_TEST_BASE_DIR !== undefined ||
|
|
51
|
+
// Check if we're in a CI environment
|
|
52
|
+
process.env.CI === "true");
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* StagehandLogger class that wraps Pino for our specific needs
|
|
56
|
+
*
|
|
57
|
+
* LOGGING PRECEDENCE:
|
|
58
|
+
*
|
|
59
|
+
* Test environments:
|
|
60
|
+
* - External logger provided -> external logger only.
|
|
61
|
+
* - No external logger -> console fallback only (Pino disabled).
|
|
62
|
+
*
|
|
63
|
+
* Non-test environments:
|
|
64
|
+
* - usePino === true -> emit via Pino and also call the external logger when present.
|
|
65
|
+
* - usePino === false -> disable Pino; use the external logger when present, otherwise console fallback.
|
|
66
|
+
* - usePino === undefined -> prefer the external logger when present; otherwise use Pino.
|
|
67
|
+
*
|
|
68
|
+
* SHARED PINO OPTIMIZATION:
|
|
69
|
+
* We maintain a single shared Pino instance when `usePino` is enabled.
|
|
70
|
+
* This prevents spawning a new worker thread for every Stagehand instance
|
|
71
|
+
* (which happens when `pino-pretty` transport is used), eliminating the
|
|
72
|
+
* memory/RSS growth observed when many Stagehand objects are created and
|
|
73
|
+
* disposed within the same process (e.g. a request-per-instance API).
|
|
74
|
+
*/
|
|
75
|
+
export class StagehandLogger {
|
|
76
|
+
/**
|
|
77
|
+
* Shared Pino logger instance across all StagehandLogger instances.
|
|
78
|
+
* First instance to enable Pino creates it, subsequent instances reuse it.
|
|
79
|
+
*/
|
|
80
|
+
static sharedPinoLogger = null;
|
|
81
|
+
logger;
|
|
82
|
+
verbose;
|
|
83
|
+
externalLogger;
|
|
84
|
+
usePino;
|
|
85
|
+
isTest;
|
|
86
|
+
constructor(options = {}, externalLogger) {
|
|
87
|
+
this.isTest = isTestEnvironment();
|
|
88
|
+
this.externalLogger = externalLogger;
|
|
89
|
+
const externalProvided = typeof externalLogger === "function";
|
|
90
|
+
const explicitUsePino = options.usePino;
|
|
91
|
+
if (this.isTest) {
|
|
92
|
+
this.usePino = false;
|
|
93
|
+
}
|
|
94
|
+
else if (explicitUsePino === true) {
|
|
95
|
+
this.usePino = true;
|
|
96
|
+
}
|
|
97
|
+
else if (explicitUsePino === false) {
|
|
98
|
+
this.usePino = false;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.usePino = !externalProvided;
|
|
102
|
+
}
|
|
103
|
+
if (this.usePino) {
|
|
104
|
+
// Re-use (or create) a single shared Pino logger instance
|
|
105
|
+
if (!StagehandLogger.sharedPinoLogger) {
|
|
106
|
+
StagehandLogger.sharedPinoLogger = createLogger(options);
|
|
107
|
+
}
|
|
108
|
+
this.logger = StagehandLogger.sharedPinoLogger;
|
|
109
|
+
}
|
|
110
|
+
this.verbose = 1; // Default verbosity level
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Set the verbosity level
|
|
114
|
+
*/
|
|
115
|
+
setVerbosity(level) {
|
|
116
|
+
this.verbose = level;
|
|
117
|
+
if (this.usePino && this.logger) {
|
|
118
|
+
// Map our verbosity levels to Pino log levels
|
|
119
|
+
switch (level) {
|
|
120
|
+
case 0:
|
|
121
|
+
this.logger.level = "error";
|
|
122
|
+
break;
|
|
123
|
+
case 1:
|
|
124
|
+
this.logger.level = "info";
|
|
125
|
+
break;
|
|
126
|
+
case 2:
|
|
127
|
+
this.logger.level = "debug";
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Log a message using our LogLine format
|
|
134
|
+
*/
|
|
135
|
+
log(logLine) {
|
|
136
|
+
// Skip logs above verbosity level
|
|
137
|
+
if ((logLine.level ?? 1) > this.verbose) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
// For test environments WITHOUT an external logger OR for cases where Pino
|
|
141
|
+
// is disabled and no external logger is provided, fall back to console.* so
|
|
142
|
+
// users still see logs (non-colourised).
|
|
143
|
+
const shouldFallbackToConsole = (!this.usePino && !this.externalLogger) ||
|
|
144
|
+
(this.isTest && !this.externalLogger);
|
|
145
|
+
if (shouldFallbackToConsole) {
|
|
146
|
+
const level = logLine.level ?? 1;
|
|
147
|
+
const ts = logLine.timestamp ?? new Date().toISOString();
|
|
148
|
+
const levelStr = level === 0 ? "ERROR" : level === 2 ? "DEBUG" : "INFO";
|
|
149
|
+
// Format like Pino: [timestamp] LEVEL: message
|
|
150
|
+
let output = `[${ts}] ${levelStr}: ${logLine.message}`;
|
|
151
|
+
// Add auxiliary data on separate indented lines (like Pino pretty format)
|
|
152
|
+
if (logLine.auxiliary) {
|
|
153
|
+
const formattedData = this.formatAuxiliaryData(logLine.auxiliary);
|
|
154
|
+
for (const [key, value] of Object.entries(formattedData)) {
|
|
155
|
+
let formattedValue;
|
|
156
|
+
if (typeof value === "object" && value !== null) {
|
|
157
|
+
// Pretty print objects with indentation
|
|
158
|
+
formattedValue = JSON.stringify(value, null, 2)
|
|
159
|
+
.split("\n")
|
|
160
|
+
.map((line, i) => (i === 0 ? line : ` ${line}`))
|
|
161
|
+
.join("\n");
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
formattedValue = String(value);
|
|
165
|
+
}
|
|
166
|
+
output += `\n ${key}: ${formattedValue}`;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
switch (level) {
|
|
170
|
+
case 0:
|
|
171
|
+
console.error(output);
|
|
172
|
+
break;
|
|
173
|
+
case 1:
|
|
174
|
+
console.log(output);
|
|
175
|
+
break;
|
|
176
|
+
case 2:
|
|
177
|
+
console.debug(output);
|
|
178
|
+
break;
|
|
179
|
+
}
|
|
180
|
+
return; // already handled via console output, avoid duplicate logging
|
|
181
|
+
}
|
|
182
|
+
if (this.usePino && this.logger) {
|
|
183
|
+
// Determine the Pino log level
|
|
184
|
+
const pinoLevel = levelMapping[logLine.level ?? 1] || "info";
|
|
185
|
+
// Structure the log data
|
|
186
|
+
const logData = {
|
|
187
|
+
category: logLine.category,
|
|
188
|
+
timestamp: logLine.timestamp || new Date().toISOString(),
|
|
189
|
+
...this.formatAuxiliaryData(logLine.auxiliary),
|
|
190
|
+
};
|
|
191
|
+
// Log through Pino with the appropriate level
|
|
192
|
+
if (pinoLevel === "error") {
|
|
193
|
+
this.logger.error(logData, logLine.message);
|
|
194
|
+
}
|
|
195
|
+
else if (pinoLevel === "info") {
|
|
196
|
+
this.logger.info(logData, logLine.message);
|
|
197
|
+
}
|
|
198
|
+
else if (pinoLevel === "debug") {
|
|
199
|
+
this.logger.debug(logData, logLine.message);
|
|
200
|
+
}
|
|
201
|
+
else if (pinoLevel === "warn") {
|
|
202
|
+
this.logger.warn(logData, logLine.message);
|
|
203
|
+
}
|
|
204
|
+
else if (pinoLevel === "trace") {
|
|
205
|
+
this.logger.trace(logData, logLine.message);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
this.logger.info(logData, logLine.message);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// IMPORTANT: External logger receives logs ALWAYS when provided (takes precedence)
|
|
212
|
+
// This ensures user-provided loggers (e.g., EvalLogger, custom loggers) capture all logs
|
|
213
|
+
// regardless of Pino configuration. Pino is used for console output, external logger
|
|
214
|
+
// is used for programmatic log capture.
|
|
215
|
+
if (this.externalLogger) {
|
|
216
|
+
this.externalLogger(logLine);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Helper to format auxiliary data for structured logging
|
|
221
|
+
*/
|
|
222
|
+
formatAuxiliaryData(auxiliary) {
|
|
223
|
+
if (!auxiliary)
|
|
224
|
+
return {};
|
|
225
|
+
const formattedData = {};
|
|
226
|
+
for (const [key, { value, type }] of Object.entries(auxiliary)) {
|
|
227
|
+
let formattedValue;
|
|
228
|
+
// Convert values based on their type
|
|
229
|
+
switch (type) {
|
|
230
|
+
case "integer":
|
|
231
|
+
formattedValue = parseInt(value, 10);
|
|
232
|
+
break;
|
|
233
|
+
case "float":
|
|
234
|
+
formattedValue = parseFloat(value);
|
|
235
|
+
break;
|
|
236
|
+
case "boolean":
|
|
237
|
+
formattedValue = value === "true";
|
|
238
|
+
break;
|
|
239
|
+
case "object":
|
|
240
|
+
try {
|
|
241
|
+
formattedValue = JSON.parse(value);
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
formattedValue = value;
|
|
245
|
+
}
|
|
246
|
+
break;
|
|
247
|
+
default:
|
|
248
|
+
formattedValue = value;
|
|
249
|
+
}
|
|
250
|
+
// Skip undefined values and empty objects/arrays
|
|
251
|
+
if (formattedValue === undefined)
|
|
252
|
+
continue;
|
|
253
|
+
if (typeof formattedValue === "object" && formattedValue !== null) {
|
|
254
|
+
const isEmpty = Array.isArray(formattedValue)
|
|
255
|
+
? formattedValue.length === 0
|
|
256
|
+
: Object.keys(formattedValue).length === 0;
|
|
257
|
+
if (isEmpty)
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
formattedData[key] = formattedValue;
|
|
261
|
+
}
|
|
262
|
+
return formattedData;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Convenience methods for different log levels
|
|
266
|
+
*/
|
|
267
|
+
error(message, data) {
|
|
268
|
+
this.log({
|
|
269
|
+
message,
|
|
270
|
+
level: 0,
|
|
271
|
+
auxiliary: this.convertToAuxiliary(data),
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
warn(message, data) {
|
|
275
|
+
this.log({
|
|
276
|
+
message,
|
|
277
|
+
level: 1,
|
|
278
|
+
category: "warning",
|
|
279
|
+
auxiliary: this.convertToAuxiliary(data),
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
info(message, data) {
|
|
283
|
+
this.log({
|
|
284
|
+
message,
|
|
285
|
+
level: 1,
|
|
286
|
+
auxiliary: this.convertToAuxiliary(data),
|
|
287
|
+
});
|
|
288
|
+
}
|
|
289
|
+
debug(message, data) {
|
|
290
|
+
this.log({
|
|
291
|
+
message,
|
|
292
|
+
level: 2,
|
|
293
|
+
auxiliary: this.convertToAuxiliary(data),
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Convert a plain object to our auxiliary format
|
|
298
|
+
*/
|
|
299
|
+
convertToAuxiliary(data) {
|
|
300
|
+
if (!data)
|
|
301
|
+
return undefined;
|
|
302
|
+
const auxiliary = {};
|
|
303
|
+
for (const [key, value] of Object.entries(data)) {
|
|
304
|
+
if (value === undefined)
|
|
305
|
+
continue;
|
|
306
|
+
const type = typeof value;
|
|
307
|
+
auxiliary[key] = {
|
|
308
|
+
value: type === "object" ? JSON.stringify(value) : String(value),
|
|
309
|
+
type: type === "number"
|
|
310
|
+
? Number.isInteger(value)
|
|
311
|
+
? "integer"
|
|
312
|
+
: "float"
|
|
313
|
+
: type === "boolean"
|
|
314
|
+
? "boolean"
|
|
315
|
+
: type === "object"
|
|
316
|
+
? "object"
|
|
317
|
+
: "string",
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
return auxiliary;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../lib/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import pino from \"pino\";\nimport { LogLine } from \"./v3/types/public/logs.js\";\n\n// Map our existing levels to Pino's standard levels\nconst levelMapping: Record<number, pino.Level> = {\n 0: \"error\", // Critical/important messages\n 1: \"info\", // Standard information\n 2: \"debug\", // Detailed debugging information\n};\n\n// Define configuration options\nexport interface LoggerOptions {\n pretty?: boolean;\n level?: pino.Level;\n destination?: pino.DestinationStream;\n usePino?: boolean; // Whether to use pino (default: true)\n}\n\n/**\n * Creates a configured Pino logger instance\n */\nexport function createLogger(options: LoggerOptions = {}) {\n const loggerConfig: pino.LoggerOptions = {\n level: options.level || \"info\",\n base: undefined, // Don't include pid and hostname\n browser: {\n asObject: true,\n },\n // Disable worker threads to avoid issues in tests\n transport: undefined,\n };\n\n // Add pretty printing for dev environments only if explicitly requested\n // and not in a test environment\n if (options.pretty && !isTestEnvironment()) {\n try {\n // Use require for dynamic import\n const transport = {\n transport: {\n target: \"pino-pretty\",\n options: {\n colorize: true,\n translateTime: \"SYS:standard\",\n ignore: \"pid,hostname\",\n },\n },\n };\n Object.assign(loggerConfig, transport);\n } catch {\n console.warn(\n \"pino-pretty not available, falling back to standard logging\",\n );\n }\n }\n\n return pino(loggerConfig, options.destination);\n}\n\n/**\n * Check if we're running in a test environment\n */\nfunction isTestEnvironment(): boolean {\n return (\n process.env.NODE_ENV === \"test\" ||\n process.env.JEST_WORKER_ID !== undefined ||\n process.env.PLAYWRIGHT_TEST_BASE_DIR !== undefined ||\n // Check if we're in a CI environment\n process.env.CI === \"true\"\n );\n}\n\n/**\n * StagehandLogger class that wraps Pino for our specific needs\n *\n * LOGGING PRECEDENCE:\n *\n * Test environments:\n * - External logger provided -> external logger only.\n * - No external logger -> console fallback only (Pino disabled).\n *\n * Non-test environments:\n * - usePino === true -> emit via Pino and also call the external logger when present.\n * - usePino === false -> disable Pino; use the external logger when present, otherwise console fallback.\n * - usePino === undefined -> prefer the external logger when present; otherwise use Pino.\n *\n * SHARED PINO OPTIMIZATION:\n * We maintain a single shared Pino instance when `usePino` is enabled.\n * This prevents spawning a new worker thread for every Stagehand instance\n * (which happens when `pino-pretty` transport is used), eliminating the\n * memory/RSS growth observed when many Stagehand objects are created and\n * disposed within the same process (e.g. a request-per-instance API).\n */\nexport class StagehandLogger {\n /**\n * Shared Pino logger instance across all StagehandLogger instances.\n * First instance to enable Pino creates it, subsequent instances reuse it.\n */\n private static sharedPinoLogger: pino.Logger | null = null;\n\n private logger?: pino.Logger;\n private verbose: 0 | 1 | 2;\n private externalLogger?: (logLine: LogLine) => void;\n private usePino: boolean;\n private isTest: boolean;\n\n constructor(\n options: LoggerOptions = {},\n externalLogger?: (logLine: LogLine) => void,\n ) {\n this.isTest = isTestEnvironment();\n this.externalLogger = externalLogger;\n\n const externalProvided = typeof externalLogger === \"function\";\n const explicitUsePino = options.usePino;\n\n if (this.isTest) {\n this.usePino = false;\n } else if (explicitUsePino === true) {\n this.usePino = true;\n } else if (explicitUsePino === false) {\n this.usePino = false;\n } else {\n this.usePino = !externalProvided;\n }\n\n if (this.usePino) {\n // Re-use (or create) a single shared Pino logger instance\n if (!StagehandLogger.sharedPinoLogger) {\n StagehandLogger.sharedPinoLogger = createLogger(options);\n }\n this.logger = StagehandLogger.sharedPinoLogger;\n }\n\n this.verbose = 1; // Default verbosity level\n }\n\n /**\n * Set the verbosity level\n */\n setVerbosity(level: 0 | 1 | 2) {\n this.verbose = level;\n\n if (this.usePino && this.logger) {\n // Map our verbosity levels to Pino log levels\n switch (level) {\n case 0:\n this.logger.level = \"error\";\n break;\n case 1:\n this.logger.level = \"info\";\n break;\n case 2:\n this.logger.level = \"debug\";\n break;\n }\n }\n }\n\n /**\n * Log a message using our LogLine format\n */\n log(logLine: LogLine): void {\n // Skip logs above verbosity level\n if ((logLine.level ?? 1) > this.verbose) {\n return;\n }\n\n // For test environments WITHOUT an external logger OR for cases where Pino\n // is disabled and no external logger is provided, fall back to console.* so\n // users still see logs (non-colourised).\n const shouldFallbackToConsole =\n (!this.usePino && !this.externalLogger) ||\n (this.isTest && !this.externalLogger);\n\n if (shouldFallbackToConsole) {\n const level = logLine.level ?? 1;\n const ts = logLine.timestamp ?? new Date().toISOString();\n const levelStr = level === 0 ? \"ERROR\" : level === 2 ? \"DEBUG\" : \"INFO\";\n\n // Format like Pino: [timestamp] LEVEL: message\n let output = `[${ts}] ${levelStr}: ${logLine.message}`;\n\n // Add auxiliary data on separate indented lines (like Pino pretty format)\n if (logLine.auxiliary) {\n const formattedData = this.formatAuxiliaryData(logLine.auxiliary);\n for (const [key, value] of Object.entries(formattedData)) {\n let formattedValue: string;\n if (typeof value === \"object\" && value !== null) {\n // Pretty print objects with indentation\n formattedValue = JSON.stringify(value, null, 2)\n .split(\"\\n\")\n .map((line, i) => (i === 0 ? line : ` ${line}`))\n .join(\"\\n\");\n } else {\n formattedValue = String(value);\n }\n output += `\\n ${key}: ${formattedValue}`;\n }\n }\n\n switch (level) {\n case 0:\n console.error(output);\n break;\n case 1:\n console.log(output);\n break;\n case 2:\n console.debug(output);\n break;\n }\n\n return; // already handled via console output, avoid duplicate logging\n }\n\n if (this.usePino && this.logger) {\n // Determine the Pino log level\n const pinoLevel = levelMapping[logLine.level ?? 1] || \"info\";\n\n // Structure the log data\n const logData = {\n category: logLine.category,\n timestamp: logLine.timestamp || new Date().toISOString(),\n ...this.formatAuxiliaryData(logLine.auxiliary),\n };\n\n // Log through Pino with the appropriate level\n if (pinoLevel === \"error\") {\n this.logger.error(logData, logLine.message);\n } else if (pinoLevel === \"info\") {\n this.logger.info(logData, logLine.message);\n } else if (pinoLevel === \"debug\") {\n this.logger.debug(logData, logLine.message);\n } else if (pinoLevel === \"warn\") {\n this.logger.warn(logData, logLine.message);\n } else if (pinoLevel === \"trace\") {\n this.logger.trace(logData, logLine.message);\n } else {\n this.logger.info(logData, logLine.message);\n }\n }\n\n // IMPORTANT: External logger receives logs ALWAYS when provided (takes precedence)\n // This ensures user-provided loggers (e.g., EvalLogger, custom loggers) capture all logs\n // regardless of Pino configuration. Pino is used for console output, external logger\n // is used for programmatic log capture.\n if (this.externalLogger) {\n this.externalLogger(logLine);\n }\n }\n\n /**\n * Helper to format auxiliary data for structured logging\n */\n private formatAuxiliaryData(auxiliary?: LogLine[\"auxiliary\"]) {\n if (!auxiliary) return {};\n\n const formattedData: Record<string, unknown> = {};\n\n for (const [key, { value, type }] of Object.entries(auxiliary)) {\n let formattedValue: unknown;\n\n // Convert values based on their type\n switch (type) {\n case \"integer\":\n formattedValue = parseInt(value, 10);\n break;\n case \"float\":\n formattedValue = parseFloat(value);\n break;\n case \"boolean\":\n formattedValue = value === \"true\";\n break;\n case \"object\":\n try {\n formattedValue = JSON.parse(value);\n } catch {\n formattedValue = value;\n }\n break;\n default:\n formattedValue = value;\n }\n\n // Skip undefined values and empty objects/arrays\n if (formattedValue === undefined) continue;\n if (typeof formattedValue === \"object\" && formattedValue !== null) {\n const isEmpty = Array.isArray(formattedValue)\n ? formattedValue.length === 0\n : Object.keys(formattedValue).length === 0;\n if (isEmpty) continue;\n }\n\n formattedData[key] = formattedValue;\n }\n\n return formattedData;\n }\n\n /**\n * Convenience methods for different log levels\n */\n error(message: string, data?: Record<string, unknown>): void {\n this.log({\n message,\n level: 0,\n auxiliary: this.convertToAuxiliary(data),\n });\n }\n\n warn(message: string, data?: Record<string, unknown>): void {\n this.log({\n message,\n level: 1,\n category: \"warning\",\n auxiliary: this.convertToAuxiliary(data),\n });\n }\n\n info(message: string, data?: Record<string, unknown>): void {\n this.log({\n message,\n level: 1,\n auxiliary: this.convertToAuxiliary(data),\n });\n }\n\n debug(message: string, data?: Record<string, unknown>): void {\n this.log({\n message,\n level: 2,\n auxiliary: this.convertToAuxiliary(data),\n });\n }\n\n /**\n * Convert a plain object to our auxiliary format\n */\n private convertToAuxiliary(\n data?: Record<string, unknown>,\n ): LogLine[\"auxiliary\"] {\n if (!data) return undefined;\n\n const auxiliary: LogLine[\"auxiliary\"] = {};\n\n for (const [key, value] of Object.entries(data)) {\n if (value === undefined) continue;\n\n const type = typeof value;\n\n auxiliary[key] = {\n value: type === \"object\" ? JSON.stringify(value) : String(value),\n type:\n type === \"number\"\n ? Number.isInteger(value)\n ? \"integer\"\n : \"float\"\n : type === \"boolean\"\n ? \"boolean\"\n : type === \"object\"\n ? \"object\"\n : \"string\",\n };\n }\n\n return auxiliary;\n }\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ClientOptions, ModelConfiguration } from "./v3/types/public/model.js";
|
|
2
|
+
export declare function extractModelName(model?: string | {
|
|
3
|
+
modelName: string;
|
|
4
|
+
}): string | undefined;
|
|
5
|
+
export declare function splitModelName(model: string): {
|
|
6
|
+
provider: string;
|
|
7
|
+
modelName: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function resolveModel(model: string | ModelConfiguration): {
|
|
10
|
+
provider: string;
|
|
11
|
+
modelName: string;
|
|
12
|
+
clientOptions: ClientOptions;
|
|
13
|
+
isCua: boolean;
|
|
14
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { AVAILABLE_CUA_MODELS, } from "./v3/types/public/agent.js";
|
|
2
|
+
//useful when resolving a model from string or object formats we accept
|
|
3
|
+
export function extractModelName(model) {
|
|
4
|
+
if (!model)
|
|
5
|
+
return undefined;
|
|
6
|
+
return typeof model === "string" ? model : model.modelName;
|
|
7
|
+
}
|
|
8
|
+
export function splitModelName(model) {
|
|
9
|
+
const firstSlashIndex = model.indexOf("/");
|
|
10
|
+
const provider = model.substring(0, firstSlashIndex);
|
|
11
|
+
const modelName = model.substring(firstSlashIndex + 1);
|
|
12
|
+
return { provider, modelName };
|
|
13
|
+
}
|
|
14
|
+
export function resolveModel(model) {
|
|
15
|
+
const modelString = extractModelName(model);
|
|
16
|
+
const clientOptions = typeof model === "string"
|
|
17
|
+
? {}
|
|
18
|
+
: (() => {
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
20
|
+
const { modelName: _, ...rest } = model;
|
|
21
|
+
return rest;
|
|
22
|
+
})();
|
|
23
|
+
// Check if provider is explicitly set in clientOptions
|
|
24
|
+
const hasExplicitProvider = clientOptions.provider !== undefined;
|
|
25
|
+
// If provider is explicitly set, don't split the model name - pass it through as-is
|
|
26
|
+
let provider;
|
|
27
|
+
let parsedModelName;
|
|
28
|
+
if (hasExplicitProvider) {
|
|
29
|
+
provider = clientOptions.provider;
|
|
30
|
+
parsedModelName = modelString; // Keep the full model name
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// Parse the model string normally
|
|
34
|
+
const split = splitModelName(modelString);
|
|
35
|
+
provider = split.provider;
|
|
36
|
+
parsedModelName = split.modelName;
|
|
37
|
+
}
|
|
38
|
+
// Check if it's a CUA model
|
|
39
|
+
const isCua = hasExplicitProvider ||
|
|
40
|
+
AVAILABLE_CUA_MODELS.includes(modelString);
|
|
41
|
+
return {
|
|
42
|
+
provider,
|
|
43
|
+
modelName: parsedModelName,
|
|
44
|
+
clientOptions,
|
|
45
|
+
isCua,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=modelUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modelUtils.js","sourceRoot":"","sources":["../../../lib/modelUtils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,oBAAoB,GAErB,MAAM,4BAA4B,CAAC;AAEpC,uEAAuE;AACvE,MAAM,UAAU,gBAAgB,CAC9B,KAAsC;IAEtC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAI1C,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAkC;IAM7D,MAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAE,CAAC;IAC7C,MAAM,aAAa,GACjB,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,GAAG,EAAE;YACJ,6DAA6D;YAC7D,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IAEX,uDAAuD;IACvD,MAAM,mBAAmB,GAAG,aAAa,CAAC,QAAQ,KAAK,SAAS,CAAC;IAEjE,oFAAoF;IACpF,IAAI,QAAgB,CAAC;IACrB,IAAI,eAAuB,CAAC;IAE5B,IAAI,mBAAmB,EAAE,CAAC;QACxB,QAAQ,GAAG,aAAa,CAAC,QAAkB,CAAC;QAC5C,eAAe,GAAG,WAAW,CAAC,CAAC,2BAA2B;IAC5D,CAAC;SAAM,CAAC;QACN,kCAAkC;QAClC,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAC1C,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC1B,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,4BAA4B;IAC5B,MAAM,KAAK,GACT,mBAAmB;QACnB,oBAAoB,CAAC,QAAQ,CAAC,WAAgC,CAAC,CAAC;IAElE,OAAO;QACL,QAAQ;QACR,SAAS,EAAE,eAAe;QAC1B,aAAa;QACb,KAAK;KACN,CAAC;AACJ,CAAC","sourcesContent":["import { ClientOptions, ModelConfiguration } from \"./v3/types/public/model.js\";\nimport {\n AVAILABLE_CUA_MODELS,\n AvailableCuaModel,\n} from \"./v3/types/public/agent.js\";\n\n//useful when resolving a model from string or object formats we accept\nexport function extractModelName(\n model?: string | { modelName: string },\n): string | undefined {\n if (!model) return undefined;\n return typeof model === \"string\" ? model : model.modelName;\n}\n\nexport function splitModelName(model: string): {\n provider: string;\n modelName: string;\n} {\n const firstSlashIndex = model.indexOf(\"/\");\n const provider = model.substring(0, firstSlashIndex);\n const modelName = model.substring(firstSlashIndex + 1);\n return { provider, modelName };\n}\n\nexport function resolveModel(model: string | ModelConfiguration): {\n provider: string;\n modelName: string;\n clientOptions: ClientOptions;\n isCua: boolean;\n} {\n const modelString = extractModelName(model)!;\n const clientOptions =\n typeof model === \"string\"\n ? {}\n : (() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { modelName: _, ...rest } = model;\n return rest;\n })();\n\n // Check if provider is explicitly set in clientOptions\n const hasExplicitProvider = clientOptions.provider !== undefined;\n\n // If provider is explicitly set, don't split the model name - pass it through as-is\n let provider: string;\n let parsedModelName: string;\n\n if (hasExplicitProvider) {\n provider = clientOptions.provider as string;\n parsedModelName = modelString; // Keep the full model name\n } else {\n // Parse the model string normally\n const split = splitModelName(modelString);\n provider = split.provider;\n parsedModelName = split.modelName;\n }\n\n // Check if it's a CUA model\n const isCua =\n hasExplicitProvider ||\n AVAILABLE_CUA_MODELS.includes(modelString as AvailableCuaModel);\n\n return {\n provider,\n modelName: parsedModelName,\n clientOptions,\n isCua,\n };\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChatMessage } from "./v3/llm/LLMClient.js";
|
|
2
|
+
export declare function buildUserInstructionsString(userProvidedInstructions?: string): string;
|
|
3
|
+
export declare function buildExtractSystemPrompt(isUsingPrintExtractedDataTool?: boolean, userProvidedInstructions?: string): ChatMessage;
|
|
4
|
+
export declare function buildExtractUserPrompt(instruction: string, domElements: string, isUsingPrintExtractedDataTool?: boolean): ChatMessage;
|
|
5
|
+
export declare function buildMetadataSystemPrompt(): ChatMessage;
|
|
6
|
+
export declare function buildMetadataPrompt(instruction: string, extractionResponse: object): ChatMessage;
|
|
7
|
+
export declare function buildObserveSystemPrompt(userProvidedInstructions?: string, supportedActions?: string[]): ChatMessage;
|
|
8
|
+
export declare function buildObserveUserMessage(instruction: string, domElements: string): ChatMessage;
|
|
9
|
+
export declare function buildActSystemPrompt(userProvidedInstructions?: string): ChatMessage;
|
|
10
|
+
export declare function buildActPrompt(action: string, supportedActions: string[], variables?: Record<string, string>): string;
|
|
11
|
+
export declare function buildStepTwoPrompt(originalUserAction: string, previousAction: string, supportedActions: string[], variables?: Record<string, string>): string;
|
|
12
|
+
export declare function buildOperatorSystemPrompt(goal: string): ChatMessage;
|
|
13
|
+
export declare function buildCuaDefaultSystemPrompt(): string;
|
|
14
|
+
export declare function buildGoogleCUASystemPrompt(): ChatMessage;
|