@browserbasehq/orca 3.0.9-alpha-4 → 3.1.0-patch.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/lib/inference.d.ts +65 -0
- package/dist/esm/lib/inference.js +333 -0
- package/dist/esm/lib/inference.js.map +1 -0
- package/dist/esm/lib/inferenceLogUtils.d.ts +12 -0
- package/dist/esm/lib/inferenceLogUtils.js +92 -0
- package/dist/esm/lib/inferenceLogUtils.js.map +1 -0
- package/dist/esm/lib/logger.d.ts +69 -0
- package/dist/esm/lib/logger.js +323 -0
- package/dist/esm/lib/logger.js.map +1 -0
- package/dist/esm/lib/modelUtils.d.ts +14 -0
- package/dist/esm/lib/modelUtils.js +48 -0
- package/dist/esm/lib/modelUtils.js.map +1 -0
- package/dist/esm/lib/prompt.d.ts +14 -0
- package/dist/esm/lib/prompt.js +230 -0
- package/dist/esm/lib/prompt.js.map +1 -0
- package/dist/esm/lib/utils.d.ts +68 -0
- package/dist/esm/lib/utils.js +654 -0
- package/dist/esm/lib/utils.js.map +1 -0
- package/dist/esm/lib/v3/agent/AgentClient.d.ts +19 -0
- package/dist/esm/lib/v3/agent/AgentClient.js +17 -0
- package/dist/esm/lib/v3/agent/AgentClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/AgentProvider.d.ts +20 -0
- package/dist/esm/lib/v3/agent/AgentProvider.js +77 -0
- package/dist/esm/lib/v3/agent/AgentProvider.js.map +1 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.js +822 -0
- package/dist/esm/lib/v3/agent/AnthropicCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.js +799 -0
- package/dist/esm/lib/v3/agent/GoogleCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js +770 -0
- package/dist/esm/lib/v3/agent/MicrosoftCUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.js +615 -0
- package/dist/esm/lib/v3/agent/OpenAICUAClient.js.map +1 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.d.ts +12 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js +186 -0
- package/dist/esm/lib/v3/agent/prompts/agentSystemPrompt.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/act.d.ts +13 -0
- package/dist/esm/lib/v3/agent/tools/act.js +49 -0
- package/dist/esm/lib/v3/agent/tools/act.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.d.ts +5 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.js +31 -0
- package/dist/esm/lib/v3/agent/tools/ariaTree.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/click.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/click.js +104 -0
- package/dist/esm/lib/v3/agent/tools/click.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.js +68 -0
- package/dist/esm/lib/v3/agent/tools/clickAndHold.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.js +105 -0
- package/dist/esm/lib/v3/agent/tools/dragAndDrop.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/extract.d.ts +21 -0
- package/dist/esm/lib/v3/agent/tools/extract.js +93 -0
- package/dist/esm/lib/v3/agent/tools/extract.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js +143 -0
- package/dist/esm/lib/v3/agent/tools/fillFormVision.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/fillform.d.ts +13 -0
- package/dist/esm/lib/v3/agent/tools/fillform.js +56 -0
- package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/goto.d.ts +12 -0
- package/dist/esm/lib/v3/agent/tools/goto.js +31 -0
- package/dist/esm/lib/v3/agent/tools/goto.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/index.d.ts +92 -0
- package/dist/esm/lib/v3/agent/tools/index.js +74 -0
- package/dist/esm/lib/v3/agent/tools/index.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/keys.d.ts +24 -0
- package/dist/esm/lib/v3/agent/tools/keys.js +60 -0
- package/dist/esm/lib/v3/agent/tools/keys.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/navback.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/navback.js +23 -0
- package/dist/esm/lib/v3/agent/tools/navback.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.js +26 -0
- package/dist/esm/lib/v3/agent/tools/screenshot.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/scroll.d.ts +19 -0
- package/dist/esm/lib/v3/agent/tools/scroll.js +142 -0
- package/dist/esm/lib/v3/agent/tools/scroll.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/search.d.ts +15 -0
- package/dist/esm/lib/v3/agent/tools/search.js +73 -0
- package/dist/esm/lib/v3/agent/tools/search.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/think.d.ts +6 -0
- package/dist/esm/lib/v3/agent/tools/think.js +24 -0
- package/dist/esm/lib/v3/agent/tools/think.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/type.d.ts +7 -0
- package/dist/esm/lib/v3/agent/tools/type.js +106 -0
- package/dist/esm/lib/v3/agent/tools/type.js.map +1 -0
- package/dist/esm/lib/v3/agent/tools/wait.d.ts +5 -0
- package/dist/esm/lib/v3/agent/tools/wait.js +53 -0
- package/dist/esm/lib/v3/agent/tools/wait.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.d.ts +3 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.js +100 -0
- package/dist/esm/lib/v3/agent/utils/actionMapping.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js +28 -0
- package/dist/esm/lib/v3/agent/utils/coordinateNormalization.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js +62 -0
- package/dist/esm/lib/v3/agent/utils/cuaKeyMapping.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js +145 -0
- package/dist/esm/lib/v3/agent/utils/googleCustomToolHandler.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js +101 -0
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.d.ts +53 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.js +204 -0
- package/dist/esm/lib/v3/agent/utils/imageCompression.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.js +164 -0
- package/dist/esm/lib/v3/agent/utils/messageProcessing.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.js +26 -0
- package/dist/esm/lib/v3/agent/utils/screenshotHandler.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js +79 -0
- package/dist/esm/lib/v3/agent/utils/validateExperimentalFeatures.js.map +1 -0
- package/dist/esm/lib/v3/agent/utils/xpath.d.ts +11 -0
- package/dist/esm/lib/v3/agent/utils/xpath.js +19 -0
- package/dist/esm/lib/v3/agent/utils/xpath.js.map +1 -0
- package/dist/esm/lib/v3/api.d.ts +86 -0
- package/dist/esm/lib/v3/api.js +484 -0
- package/dist/esm/lib/v3/api.js.map +1 -0
- package/dist/esm/lib/v3/cache/ActCache.d.ts +23 -0
- package/dist/esm/lib/v3/cache/ActCache.js +292 -0
- package/dist/esm/lib/v3/cache/ActCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/AgentCache.d.ts +109 -0
- package/dist/esm/lib/v3/cache/AgentCache.js +640 -0
- package/dist/esm/lib/v3/cache/AgentCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/CacheStorage.d.ts +17 -0
- package/dist/esm/lib/v3/cache/CacheStorage.js +98 -0
- package/dist/esm/lib/v3/cache/CacheStorage.js.map +1 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.d.ts +7 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.js +49 -0
- package/dist/esm/lib/v3/cache/serverAgentCache.js.map +1 -0
- package/dist/esm/lib/v3/cache/utils.d.ts +15 -0
- package/dist/esm/lib/v3/cache/utils.js +39 -0
- package/dist/esm/lib/v3/cache/utils.js.map +1 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.d.ts +11 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.js +117 -0
- package/dist/esm/lib/v3/dom/a11yScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js +20 -0
- package/dist/esm/lib/v3/dom/build/a11yScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js +56 -0
- package/dist/esm/lib/v3/dom/build/locatorScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js +2 -0
- package/dist/esm/lib/v3/dom/build/reRenderScriptContent.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/rerender-index.js +1 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js +8 -0
- package/dist/esm/lib/v3/dom/build/screenshotScripts.generated.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.js +2 -0
- package/dist/esm/lib/v3/dom/build/scriptV3Content.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/v3-index.js +1 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.js +54 -0
- package/dist/esm/lib/v3/dom/genA11yScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genDomScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genDomScripts.js +38 -0
- package/dist/esm/lib/v3/dom/genDomScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.js +51 -0
- package/dist/esm/lib/v3/dom/genLocatorScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.d.ts +1 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.js +37 -0
- package/dist/esm/lib/v3/dom/genScreenshotScripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/index.d.ts +1 -0
- package/dist/esm/lib/v3/dom/index.js +2 -0
- package/dist/esm/lib/v3/dom/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.js +272 -0
- package/dist/esm/lib/v3/dom/locatorScripts/counts.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.d.ts +4 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.js +5 -0
- package/dist/esm/lib/v3/dom/locatorScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.js +458 -0
- package/dist/esm/lib/v3/dom/locatorScripts/scripts.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.js +283 -0
- package/dist/esm/lib/v3/dom/locatorScripts/selectors.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js +283 -0
- package/dist/esm/lib/v3/dom/locatorScripts/waitForSelector.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js +376 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathParser.js.map +1 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js +196 -0
- package/dist/esm/lib/v3/dom/locatorScripts/xpathResolver.js.map +1 -0
- package/dist/esm/lib/v3/dom/piercer.entry.d.ts +1 -0
- package/dist/esm/lib/v3/dom/piercer.entry.js +3 -0
- package/dist/esm/lib/v3/dom/piercer.entry.js.map +1 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.d.ts +23 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.js +90 -0
- package/dist/esm/lib/v3/dom/piercer.runtime.js.map +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js +3 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.entry.js.map +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js +40 -0
- package/dist/esm/lib/v3/dom/rerenderMissingShadows.runtime.js.map +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.js +2 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/index.js.map +1 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js +82 -0
- package/dist/esm/lib/v3/dom/screenshotScripts/resolveMaskRect.js.map +1 -0
- package/dist/esm/lib/v3/external_clients/aisdk.d.ts +11 -0
- package/dist/esm/lib/v3/external_clients/aisdk.js +103 -0
- package/dist/esm/lib/v3/external_clients/aisdk.js.map +1 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.d.ts +18 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.js +220 -0
- package/dist/esm/lib/v3/external_clients/customOpenAI.js.map +1 -0
- package/dist/esm/lib/v3/flowLogger.d.ts +139 -0
- package/dist/esm/lib/v3/flowLogger.js +868 -0
- package/dist/esm/lib/v3/flowLogger.js.map +1 -0
- package/dist/esm/lib/v3/handlers/actHandler.d.ts +21 -0
- package/dist/esm/lib/v3/handlers/actHandler.js +340 -0
- package/dist/esm/lib/v3/handlers/actHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/extractHandler.d.ts +31 -0
- package/dist/esm/lib/v3/handlers/extractHandler.js +139 -0
- package/dist/esm/lib/v3/handlers/extractHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +24 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js +623 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/actHandlerUtils.js.map +1 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js +14 -0
- package/dist/esm/lib/v3/handlers/handlerUtils/timeoutGuard.js.map +1 -0
- package/dist/esm/lib/v3/handlers/observeHandler.d.ts +17 -0
- package/dist/esm/lib/v3/handlers/observeHandler.js +156 -0
- package/dist/esm/lib/v3/handlers/observeHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js +461 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js +528 -0
- package/dist/esm/lib/v3/handlers/v3CuaAgentHandler.js.map +1 -0
- package/dist/esm/lib/v3/index.d.ts +17 -0
- package/dist/esm/lib/v3/index.js +13 -0
- package/dist/esm/lib/v3/index.js.map +1 -0
- package/dist/esm/lib/v3/launch/browserbase.d.ts +7 -0
- package/dist/esm/lib/v3/launch/browserbase.js +46 -0
- package/dist/esm/lib/v3/launch/browserbase.js.map +1 -0
- package/dist/esm/lib/v3/launch/local.d.ts +15 -0
- package/dist/esm/lib/v3/launch/local.js +98 -0
- package/dist/esm/lib/v3/launch/local.js.map +1 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.d.ts +16 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.js +239 -0
- package/dist/esm/lib/v3/llm/AnthropicClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.d.ts +17 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.js +235 -0
- package/dist/esm/lib/v3/llm/CerebrasClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/GoogleClient.d.ts +19 -0
- package/dist/esm/lib/v3/llm/GoogleClient.js +369 -0
- package/dist/esm/lib/v3/llm/GoogleClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/GroqClient.d.ts +17 -0
- package/dist/esm/lib/v3/llm/GroqClient.js +236 -0
- package/dist/esm/lib/v3/llm/GroqClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/LLMClient.d.ts +121 -0
- package/dist/esm/lib/v3/llm/LLMClient.js +23 -0
- package/dist/esm/lib/v3/llm/LLMClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/LLMProvider.d.ts +13 -0
- package/dist/esm/lib/v3/llm/LLMProvider.js +194 -0
- package/dist/esm/lib/v3/llm/LLMProvider.js.map +1 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.d.ts +15 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.js +329 -0
- package/dist/esm/lib/v3/llm/OpenAIClient.js.map +1 -0
- package/dist/esm/lib/v3/llm/aisdk.d.ts +15 -0
- package/dist/esm/lib/v3/llm/aisdk.js +348 -0
- package/dist/esm/lib/v3/llm/aisdk.js.map +1 -0
- package/dist/esm/lib/v3/logger.d.ts +9 -0
- package/dist/esm/lib/v3/logger.js +96 -0
- package/dist/esm/lib/v3/logger.js.map +1 -0
- package/dist/esm/lib/v3/mcp/connection.d.ts +11 -0
- package/dist/esm/lib/v3/mcp/connection.js +49 -0
- package/dist/esm/lib/v3/mcp/connection.js.map +1 -0
- package/dist/esm/lib/v3/mcp/utils.d.ts +3 -0
- package/dist/esm/lib/v3/mcp/utils.js +36 -0
- package/dist/esm/lib/v3/mcp/utils.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.js +30 -0
- package/dist/esm/lib/v3/shutdown/cleanupLocal.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/supervisor.d.ts +9 -0
- package/dist/esm/lib/v3/shutdown/supervisor.js +156 -0
- package/dist/esm/lib/v3/shutdown/supervisor.js.map +1 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.d.ts +15 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.js +97 -0
- package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -0
- package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js +113 -0
- package/dist/esm/lib/v3/tests/agent-abort-signal.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js +80 -0
- package/dist/esm/lib/v3/tests/agent-cache-self-heal.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-callbacks.spec.js +374 -0
- package/dist/esm/lib/v3/tests/agent-callbacks.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js +357 -0
- package/dist/esm/lib/v3/tests/agent-experimental-validation.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js +247 -0
- package/dist/esm/lib/v3/tests/agent-hybrid-mode.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js +105 -0
- package/dist/esm/lib/v3/tests/agent-message-continuation.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/agent-streaming.spec.js +126 -0
- package/dist/esm/lib/v3/tests/agent-streaming.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js +44 -0
- package/dist/esm/lib/v3/tests/cdp-session-detached.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/click-count.spec.js +112 -0
- package/dist/esm/lib/v3/tests/click-count.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js +54 -0
- package/dist/esm/lib/v3/tests/connect-to-existing-browser.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/context-addInitScript.spec.js +176 -0
- package/dist/esm/lib/v3/tests/context-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/default-page-tracking.spec.js +53 -0
- package/dist/esm/lib/v3/tests/default-page-tracking.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/downloads.spec.js +58 -0
- package/dist/esm/lib/v3/tests/downloads.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/envReporter.js +57 -0
- package/dist/esm/lib/v3/tests/envReporter.js.map +7 -0
- package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js +53 -0
- package/dist/esm/lib/v3/tests/frame-get-location-and-click.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js +447 -0
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.child.js +92 -0
- package/dist/esm/lib/v3/tests/keep-alive.child.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.helpers.js +532 -0
- package/dist/esm/lib/v3/tests/keep-alive.helpers.js.map +7 -0
- package/dist/esm/lib/v3/tests/keep-alive.spec.js +19 -0
- package/dist/esm/lib/v3/tests/keep-alive.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/keyboard.spec.js +296 -0
- package/dist/esm/lib/v3/tests/keyboard.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js +159 -0
- package/dist/esm/lib/v3/tests/locator-backend-node-id.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-content-methods.spec.js +191 -0
- package/dist/esm/lib/v3/tests/locator-content-methods.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js +108 -0
- package/dist/esm/lib/v3/tests/locator-count-iframe.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-count.spec.js +71 -0
- package/dist/esm/lib/v3/tests/locator-count.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-fill.spec.js +118 -0
- package/dist/esm/lib/v3/tests/locator-fill.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-input-methods.spec.js +136 -0
- package/dist/esm/lib/v3/tests/locator-input-methods.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-nth.spec.js +157 -0
- package/dist/esm/lib/v3/tests/locator-nth.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/locator-select-option.spec.js +242 -0
- package/dist/esm/lib/v3/tests/locator-select-option.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/logger-initialization.spec.js +552 -0
- package/dist/esm/lib/v3/tests/logger-initialization.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js +269 -0
- package/dist/esm/lib/v3/tests/multi-instance-logger.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/nested-div.spec.js +23 -0
- package/dist/esm/lib/v3/tests/nested-div.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-addInitScript.spec.js +90 -0
- package/dist/esm/lib/v3/tests/page-addInitScript.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-console.spec.js +56 -0
- package/dist/esm/lib/v3/tests/page-console.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js +418 -0
- package/dist/esm/lib/v3/tests/page-drag-and-drop.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-goto-response.spec.js +35 -0
- package/dist/esm/lib/v3/tests/page-goto-response.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-hover.spec.js +167 -0
- package/dist/esm/lib/v3/tests/page-hover.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-screenshot.spec.js +273 -0
- package/dist/esm/lib/v3/tests/page-screenshot.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-scroll.spec.js +182 -0
- package/dist/esm/lib/v3/tests/page-scroll.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/page-send-cdp.spec.js +46 -0
- package/dist/esm/lib/v3/tests/page-send-cdp.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js +98 -0
- package/dist/esm/lib/v3/tests/perform-understudy-method.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/setinputfiles.spec.js +126 -0
- package/dist/esm/lib/v3/tests/setinputfiles.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js +134 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-oopif.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js +134 -0
- package/dist/esm/lib/v3/tests/shadow-iframe-spif.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/testUtils.js +31 -0
- package/dist/esm/lib/v3/tests/testUtils.js.map +7 -0
- package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js +100 -0
- package/dist/esm/lib/v3/tests/text-selector-innermost.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/timeouts.spec.js +32 -0
- package/dist/esm/lib/v3/tests/timeouts.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/user-data-dir.spec.js +43 -0
- package/dist/esm/lib/v3/tests/user-data-dir.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.config.js +15 -0
- package/dist/esm/lib/v3/tests/v3.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.dynamic.config.js +43 -0
- package/dist/esm/lib/v3/tests/v3.dynamic.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/v3.playwright.config.js +98 -0
- package/dist/esm/lib/v3/tests/v3.playwright.config.js.map +7 -0
- package/dist/esm/lib/v3/tests/wait-for-selector.spec.js +593 -0
- package/dist/esm/lib/v3/tests/wait-for-selector.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js +97 -0
- package/dist/esm/lib/v3/tests/wait-for-timeout.spec.js.map +7 -0
- package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js +77 -0
- package/dist/esm/lib/v3/tests/xpath-for-location-deep.spec.js.map +7 -0
- package/dist/esm/lib/v3/timeoutConfig.d.ts +2 -0
- package/dist/esm/lib/v3/timeoutConfig.js +27 -0
- package/dist/esm/lib/v3/timeoutConfig.js.map +1 -0
- package/dist/esm/lib/v3/types/private/agent.d.ts +6 -0
- package/dist/esm/lib/v3/types/private/agent.js +2 -0
- package/dist/esm/lib/v3/types/private/agent.js.map +1 -0
- package/dist/esm/lib/v3/types/private/api.d.ts +11 -0
- package/dist/esm/lib/v3/types/private/api.js +2 -0
- package/dist/esm/lib/v3/types/private/api.js.map +1 -0
- package/dist/esm/lib/v3/types/private/cache.d.ts +128 -0
- package/dist/esm/lib/v3/types/private/cache.js +2 -0
- package/dist/esm/lib/v3/types/private/cache.js.map +1 -0
- package/dist/esm/lib/v3/types/private/evaluator.d.ts +40 -0
- package/dist/esm/lib/v3/types/private/evaluator.js +2 -0
- package/dist/esm/lib/v3/types/private/evaluator.js.map +1 -0
- package/dist/esm/lib/v3/types/private/handlers.d.ts +38 -0
- package/dist/esm/lib/v3/types/private/handlers.js +16 -0
- package/dist/esm/lib/v3/types/private/handlers.js.map +1 -0
- package/dist/esm/lib/v3/types/private/index.d.ts +7 -0
- package/dist/esm/lib/v3/types/private/index.js +8 -0
- package/dist/esm/lib/v3/types/private/index.js.map +1 -0
- package/dist/esm/lib/v3/types/private/internal.d.ts +39 -0
- package/dist/esm/lib/v3/types/private/internal.js +2 -0
- package/dist/esm/lib/v3/types/private/internal.js.map +1 -0
- package/dist/esm/lib/v3/types/private/locator.d.ts +9 -0
- package/dist/esm/lib/v3/types/private/locator.js +2 -0
- package/dist/esm/lib/v3/types/private/locator.js.map +1 -0
- package/dist/esm/lib/v3/types/private/network.d.ts +34 -0
- package/dist/esm/lib/v3/types/private/network.js +3 -0
- package/dist/esm/lib/v3/types/private/network.js.map +1 -0
- package/dist/esm/lib/v3/types/private/shutdown.d.ts +31 -0
- package/dist/esm/lib/v3/types/private/shutdown.js +5 -0
- package/dist/esm/lib/v3/types/private/shutdown.js.map +1 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.d.ts +12 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.js +22 -0
- package/dist/esm/lib/v3/types/private/shutdownErrors.js.map +1 -0
- package/dist/esm/lib/v3/types/private/snapshot.d.ts +117 -0
- package/dist/esm/lib/v3/types/private/snapshot.js +2 -0
- package/dist/esm/lib/v3/types/private/snapshot.js.map +1 -0
- package/dist/esm/lib/v3/types/public/agent.d.ts +595 -0
- package/dist/esm/lib/v3/types/public/agent.js +15 -0
- package/dist/esm/lib/v3/types/public/agent.js.map +1 -0
- package/dist/esm/lib/v3/types/public/api.d.ts +1211 -0
- package/dist/esm/lib/v3/types/public/api.js +915 -0
- package/dist/esm/lib/v3/types/public/api.js.map +1 -0
- package/dist/esm/lib/v3/types/public/apiErrors.d.ts +18 -0
- package/dist/esm/lib/v3/types/public/apiErrors.js +32 -0
- package/dist/esm/lib/v3/types/public/apiErrors.js.map +1 -0
- package/dist/esm/lib/v3/types/public/index.d.ts +12 -0
- package/dist/esm/lib/v3/types/public/index.js +14 -0
- package/dist/esm/lib/v3/types/public/index.js.map +1 -0
- package/dist/esm/lib/v3/types/public/locator.d.ts +9 -0
- package/dist/esm/lib/v3/types/public/locator.js +2 -0
- package/dist/esm/lib/v3/types/public/locator.js.map +1 -0
- package/dist/esm/lib/v3/types/public/logs.d.ts +23 -0
- package/dist/esm/lib/v3/types/public/logs.js +13 -0
- package/dist/esm/lib/v3/types/public/logs.js.map +1 -0
- package/dist/esm/lib/v3/types/public/methods.d.ts +56 -0
- package/dist/esm/lib/v3/types/public/methods.js +15 -0
- package/dist/esm/lib/v3/types/public/methods.js.map +1 -0
- package/dist/esm/lib/v3/types/public/metrics.d.ts +27 -0
- package/dist/esm/lib/v3/types/public/metrics.js +2 -0
- package/dist/esm/lib/v3/types/public/metrics.js.map +1 -0
- package/dist/esm/lib/v3/types/public/model.d.ts +65 -0
- package/dist/esm/lib/v3/types/public/model.js +2 -0
- package/dist/esm/lib/v3/types/public/model.js.map +1 -0
- package/dist/esm/lib/v3/types/public/options.d.ts +70 -0
- package/dist/esm/lib/v3/types/public/options.js +4 -0
- package/dist/esm/lib/v3/types/public/options.js.map +1 -0
- package/dist/esm/lib/v3/types/public/page.d.ts +18 -0
- package/dist/esm/lib/v3/types/public/page.js +3 -0
- package/dist/esm/lib/v3/types/public/page.js.map +1 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.d.ts +25 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.js +2 -0
- package/dist/esm/lib/v3/types/public/screenshotTypes.js.map +1 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.d.ts +152 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js +305 -0
- package/dist/esm/lib/v3/types/public/sdkErrors.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js +196 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/a11yTree.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js +121 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/activeElement.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js +336 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/capture.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +129 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js +274 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/domTree.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +24 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js +216 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/focusSelectors.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js +5 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/index.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js +22 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/sessions.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js +135 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/treeFormatUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js +102 -0
- package/dist/esm/lib/v3/understudy/a11y/snapshot/xpathUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.js +12 -0
- package/dist/esm/lib/v3/understudy/a11yInvocation.js.map +1 -0
- package/dist/esm/lib/v3/understudy/cdp.d.ts +69 -0
- package/dist/esm/lib/v3/understudy/cdp.js +251 -0
- package/dist/esm/lib/v3/understudy/cdp.js.map +1 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.d.ts +22 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.js +66 -0
- package/dist/esm/lib/v3/understudy/consoleMessage.js.map +1 -0
- package/dist/esm/lib/v3/understudy/context.d.ts +132 -0
- package/dist/esm/lib/v3/understudy/context.js +687 -0
- package/dist/esm/lib/v3/understudy/context.js.map +1 -0
- package/dist/esm/lib/v3/understudy/deepLocator.d.ts +87 -0
- package/dist/esm/lib/v3/understudy/deepLocator.js +218 -0
- package/dist/esm/lib/v3/understudy/deepLocator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.js +83 -0
- package/dist/esm/lib/v3/understudy/executionContextRegistry.js.map +1 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.js +81 -0
- package/dist/esm/lib/v3/understudy/fileUploadUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frame.d.ts +69 -0
- package/dist/esm/lib/v3/understudy/frame.js +211 -0
- package/dist/esm/lib/v3/understudy/frame.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frameLocator.d.ts +50 -0
- package/dist/esm/lib/v3/understudy/frameLocator.js +255 -0
- package/dist/esm/lib/v3/understudy/frameLocator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.d.ts +101 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.js +298 -0
- package/dist/esm/lib/v3/understudy/frameRegistry.js.map +1 -0
- package/dist/esm/lib/v3/understudy/initScripts.d.ts +2 -0
- package/dist/esm/lib/v3/understudy/initScripts.js +33 -0
- package/dist/esm/lib/v3/understudy/initScripts.js.map +1 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.js +245 -0
- package/dist/esm/lib/v3/understudy/lifecycleWatcher.js.map +1 -0
- package/dist/esm/lib/v3/understudy/locator.d.ts +194 -0
- package/dist/esm/lib/v3/understudy/locator.js +753 -0
- package/dist/esm/lib/v3/understudy/locator.js.map +1 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.d.ts +8 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.js +12 -0
- package/dist/esm/lib/v3/understudy/locatorInvocation.js.map +1 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.js +224 -0
- package/dist/esm/lib/v3/understudy/navigationResponseTracker.js.map +1 -0
- package/dist/esm/lib/v3/understudy/networkManager.d.ts +53 -0
- package/dist/esm/lib/v3/understudy/networkManager.js +306 -0
- package/dist/esm/lib/v3/understudy/networkManager.js.map +1 -0
- package/dist/esm/lib/v3/understudy/page.d.ts +354 -0
- package/dist/esm/lib/v3/understudy/page.js +1941 -0
- package/dist/esm/lib/v3/understudy/page.js.map +1 -0
- package/dist/esm/lib/v3/understudy/piercer.d.ts +4 -0
- package/dist/esm/lib/v3/understudy/piercer.js +61 -0
- package/dist/esm/lib/v3/understudy/piercer.js.map +1 -0
- package/dist/esm/lib/v3/understudy/response.d.ts +137 -0
- package/dist/esm/lib/v3/understudy/response.js +330 -0
- package/dist/esm/lib/v3/understudy/response.js.map +1 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.d.ts +16 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.js +352 -0
- package/dist/esm/lib/v3/understudy/screenshotUtils.js.map +1 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.d.ts +38 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.js +296 -0
- package/dist/esm/lib/v3/understudy/selectorResolver.js.map +1 -0
- package/dist/esm/lib/v3/v3.d.ts +191 -0
- package/dist/esm/lib/v3/v3.js +1572 -0
- package/dist/esm/lib/v3/v3.js.map +1 -0
- package/dist/esm/lib/v3/zodCompat.d.ts +12 -0
- package/dist/esm/lib/v3/zodCompat.js +17 -0
- package/dist/esm/lib/v3/zodCompat.js.map +1 -0
- package/dist/esm/lib/v3Evaluator.d.ts +19 -0
- package/dist/esm/lib/v3Evaluator.js +210 -0
- package/dist/esm/lib/v3Evaluator.js.map +1 -0
- package/dist/esm/lib/version.d.ts +5 -0
- package/dist/esm/lib/version.js +6 -0
- package/dist/esm/lib/version.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/tests/agent-execution-model.test.js +139 -0
- package/dist/esm/tests/agent-execution-model.test.js.map +7 -0
- package/dist/esm/tests/browserbase-session-accessors.test.js +101 -0
- package/dist/esm/tests/browserbase-session-accessors.test.js.map +7 -0
- package/dist/esm/tests/cache-llm-resolution.test.js +187 -0
- package/dist/esm/tests/cache-llm-resolution.test.js.map +7 -0
- package/dist/esm/tests/helpers/mockCDPSession.js +27 -0
- package/dist/esm/tests/helpers/mockCDPSession.js.map +7 -0
- package/dist/esm/tests/llm-provider.test.js +57 -0
- package/dist/esm/tests/llm-provider.test.js.map +7 -0
- package/dist/esm/tests/model-deprecation.test.js +135 -0
- package/dist/esm/tests/model-deprecation.test.js.map +7 -0
- package/dist/esm/tests/model-utils.test.js +43 -0
- package/dist/esm/tests/model-utils.test.js.map +7 -0
- package/dist/esm/tests/page-snapshot.test.js +36 -0
- package/dist/esm/tests/page-snapshot.test.js.map +7 -0
- package/dist/esm/tests/public-api/export-surface.test.js +53 -0
- package/dist/esm/tests/public-api/export-surface.test.js.map +7 -0
- package/dist/esm/tests/public-api/llm-and-agents.test.js +128 -0
- package/dist/esm/tests/public-api/llm-and-agents.test.js.map +7 -0
- package/dist/esm/tests/public-api/public-error-types.test.js +71 -0
- package/dist/esm/tests/public-api/public-error-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/public-types.test.js +74 -0
- package/dist/esm/tests/public-api/public-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/runtime-utils.test.js +31 -0
- package/dist/esm/tests/public-api/runtime-utils.test.js.map +7 -0
- package/dist/esm/tests/public-api/schema-utils.test.js +78 -0
- package/dist/esm/tests/public-api/schema-utils.test.js.map +7 -0
- package/dist/esm/tests/public-api/timeout-error-types.test.js +81 -0
- package/dist/esm/tests/public-api/timeout-error-types.test.js.map +7 -0
- package/dist/esm/tests/public-api/tool-type-export.test.js +25 -0
- package/dist/esm/tests/public-api/tool-type-export.test.js.map +7 -0
- package/dist/esm/tests/public-api/v3-core.test.js +82 -0
- package/dist/esm/tests/public-api/v3-core.test.js.map +7 -0
- package/dist/esm/tests/safety-confirmation.test.js +134 -0
- package/dist/esm/tests/safety-confirmation.test.js.map +7 -0
- package/dist/esm/tests/snapshot-a11y-resolvers.test.js +348 -0
- package/dist/esm/tests/snapshot-a11y-resolvers.test.js.map +7 -0
- package/dist/esm/tests/snapshot-a11y-tree-utils.test.js +300 -0
- package/dist/esm/tests/snapshot-a11y-tree-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-capture-orchestration.test.js +381 -0
- package/dist/esm/tests/snapshot-capture-orchestration.test.js.map +7 -0
- package/dist/esm/tests/snapshot-cbor.test.js +197 -0
- package/dist/esm/tests/snapshot-cbor.test.js.map +7 -0
- package/dist/esm/tests/snapshot-dom-session-builders.test.js +251 -0
- package/dist/esm/tests/snapshot-dom-session-builders.test.js.map +7 -0
- package/dist/esm/tests/snapshot-dom-tree-utils.test.js +109 -0
- package/dist/esm/tests/snapshot-dom-tree-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-focus-selectors-utils.test.js +49 -0
- package/dist/esm/tests/snapshot-focus-selectors-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-frame-merge.test.js +391 -0
- package/dist/esm/tests/snapshot-frame-merge.test.js.map +7 -0
- package/dist/esm/tests/snapshot-tree-format-utils.test.js +113 -0
- package/dist/esm/tests/snapshot-tree-format-utils.test.js.map +7 -0
- package/dist/esm/tests/snapshot-xpath-utils.test.js +79 -0
- package/dist/esm/tests/snapshot-xpath-utils.test.js.map +7 -0
- package/dist/esm/tests/timeout-handlers.test.js +850 -0
- package/dist/esm/tests/timeout-handlers.test.js.map +7 -0
- package/dist/esm/tests/xpath-parser.test.js +317 -0
- package/dist/esm/tests/xpath-parser.test.js.map +7 -0
- package/dist/esm/tests/xpath-resolver.test.js +73 -0
- package/dist/esm/tests/xpath-resolver.test.js.map +7 -0
- package/dist/esm/tests/zod-enum-compatibility.test.js +97 -0
- package/dist/esm/tests/zod-enum-compatibility.test.js.map +7 -0
- package/package.json +37 -24
- package/dist/index.d.ts +0 -4363
- package/dist/index.js +0 -76530
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoogleCUAClient.js","sourceRoot":"","sources":["../../../../../lib/v3/agent/GoogleCUAClient.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n GoogleGenAI,\n Content,\n Part,\n GenerateContentResponse,\n FunctionCall,\n GenerateContentConfig,\n Tool,\n GoogleGenAIOptions,\n} from \"@google/genai\";\nimport { LogLine } from \"../types/public/logs.js\";\nimport {\n AgentAction,\n AgentResult,\n AgentType,\n AgentExecutionOptions,\n SafetyCheck,\n SafetyConfirmationHandler,\n} from \"../types/public/agent.js\";\nimport { ClientOptions } from \"../types/public/model.js\";\nimport { AgentClient } from \"./AgentClient.js\";\nimport {\n AgentScreenshotProviderError,\n LLMResponseError,\n StagehandClosedError,\n} from \"../types/public/sdkErrors.js\";\nimport { buildGoogleCUASystemPrompt } from \"../../prompt.js\";\nimport { compressGoogleConversationImages } from \"./utils/imageCompression.js\";\nimport { mapKeyToPlaywright } from \"./utils/cuaKeyMapping.js\";\nimport {\n executeGoogleCustomTool,\n isCustomTool,\n convertToolSetToFunctionDeclarations,\n} from \"./utils/googleCustomToolHandler.js\";\nimport { ToolSet } from \"ai\";\nimport {\n SessionFileLogger,\n formatCuaPromptPreview,\n formatCuaResponsePreview,\n} from \"../flowLogger.js\";\nimport { v7 as uuidv7 } from \"uuid\";\n\n/**\n * Client for Google's Computer Use Assistant API\n * This implementation uses the Google Generative AI SDK for Computer Use\n */\nexport class GoogleCUAClient extends AgentClient {\n private apiKey: string;\n private client: GoogleGenAI;\n private currentViewport = { width: 1288, height: 711 };\n private currentUrl?: string;\n private screenshotProvider?: () => Promise<string>;\n private actionHandler?: (action: AgentAction) => Promise<void>;\n private history: Content[] = [];\n private environment: \"ENVIRONMENT_BROWSER\" | \"ENVIRONMENT_DESKTOP\" =\n \"ENVIRONMENT_BROWSER\";\n private generateContentConfig: GenerateContentConfig;\n private tools?: ToolSet;\n private baseURL?: string;\n private safetyConfirmationHandler?: SafetyConfirmationHandler;\n constructor(\n type: AgentType,\n modelName: string,\n userProvidedInstructions?: string,\n clientOptions?: ClientOptions,\n tools?: ToolSet,\n ) {\n super(type, modelName, userProvidedInstructions);\n\n this.tools = tools;\n // Process client options\n this.apiKey =\n (clientOptions?.apiKey as string) ||\n process.env.GEMINI_API_KEY ||\n process.env.GOOGLE_GENERATIVE_AI_API_KEY ||\n process.env.GOOGLE_API_KEY ||\n \"\";\n this.baseURL = clientOptions?.baseURL as string | undefined;\n\n // Initialize the Google Generative AI client\n const genAIOptions: GoogleGenAIOptions = {\n apiKey: this.apiKey,\n ...(this.baseURL ? { httpOptions: { baseUrl: this.baseURL } } : {}),\n };\n this.client = new GoogleGenAI(genAIOptions);\n\n // Get environment if specified\n if (\n clientOptions?.environment &&\n typeof clientOptions.environment === \"string\"\n ) {\n this.environment = clientOptions.environment as typeof this.environment;\n }\n\n this.generateContentConfig = {\n temperature: 1,\n topP: 0.95,\n topK: 40,\n maxOutputTokens: 8192,\n // systemInstruction: this.userProvidedInstructions\n // ? { parts: [{ text: this.userProvidedInstructions }] }\n // : { parts: [{ text: buildGoogleCUASystemPrompt() }] },\n tools: [\n {\n computerUse: {\n environment: this.environment,\n },\n } as Tool,\n ],\n };\n\n // Store client options for reference\n this.clientOptions = {\n apiKey: this.apiKey,\n ...(this.baseURL ? { baseURL: this.baseURL } : {}),\n };\n\n // Initialize tools if provided\n if (this.tools && Object.keys(this.tools).length > 0) {\n this.updateGenerateContentConfig();\n }\n }\n\n public setViewport(width: number, height: number): void {\n this.currentViewport = { width, height };\n }\n\n setCurrentUrl(url: string): void {\n this.currentUrl = url;\n }\n\n setScreenshotProvider(provider: () => Promise<string>): void {\n this.screenshotProvider = provider;\n }\n\n setActionHandler(handler: (action: AgentAction) => Promise<void>): void {\n this.actionHandler = handler;\n }\n\n setTools(tools: ToolSet): void {\n this.tools = tools;\n this.updateGenerateContentConfig();\n }\n\n setSafetyConfirmationHandler(handler?: SafetyConfirmationHandler): void {\n this.safetyConfirmationHandler = handler;\n }\n\n private async handleSafetyConfirmation(\n safetyDecision: unknown,\n logger: (message: LogLine) => void,\n ): Promise<string | undefined> {\n const safetyMessage =\n typeof safetyDecision === \"object\"\n ? JSON.stringify(safetyDecision, null, 2)\n : String(safetyDecision);\n\n const safetyChecks: SafetyCheck[] = [\n {\n id: \"google-safety-decision\",\n code: \"safety_decision\",\n message: safetyMessage,\n },\n ];\n\n if (this.safetyConfirmationHandler) {\n logger({\n category: \"agent\",\n message: `Requesting safety confirmation for Google safety decision: ${safetyMessage}`,\n level: 1,\n });\n\n const response = await this.safetyConfirmationHandler(safetyChecks);\n\n if (response.acknowledged) {\n logger({\n category: \"agent\",\n message: `Safety decision acknowledged by user`,\n level: 1,\n });\n return \"true\";\n } else {\n logger({\n category: \"agent\",\n message: `Safety decision rejected by user`,\n level: 1,\n });\n return undefined;\n }\n }\n\n logger({\n category: \"agent\",\n message: `Auto-acknowledging Google safety decision`,\n level: 2,\n });\n return \"true\";\n }\n\n /**\n * Update the generateContentConfig with current tools\n */\n private updateGenerateContentConfig(): void {\n const functionDeclarations =\n this.tools && Object.keys(this.tools).length > 0\n ? convertToolSetToFunctionDeclarations(this.tools)\n : [];\n\n this.generateContentConfig = {\n ...this.generateContentConfig,\n tools: [\n {\n computerUse: {\n environment: this.environment,\n },\n ...(functionDeclarations.length > 0 ? { functionDeclarations } : {}),\n } as Tool,\n ],\n };\n }\n\n /**\n * Execute a task with the Google CUA\n * This is the main entry point for the agent\n * @implements AgentClient.execute\n */\n async execute(executionOptions: AgentExecutionOptions): Promise<AgentResult> {\n const { options, logger } = executionOptions;\n const { instruction } = options;\n const maxSteps = options.maxSteps || 10;\n\n let currentStep = 0;\n let completed = false;\n const actions: AgentAction[] = [];\n const messageList: string[] = [];\n let finalMessage = \"\";\n this.history = []; // Clear history for new execution\n\n // Start with the initial instruction\n await this.initializeHistory(instruction);\n\n let totalInputTokens = 0;\n let totalOutputTokens = 0;\n let totalInferenceTime = 0;\n\n try {\n // Execute steps until completion or max steps reached\n while (!completed && currentStep < maxSteps) {\n logger({\n category: \"agent\",\n message: `Executing step ${currentStep + 1}/${maxSteps}`,\n level: 1,\n });\n\n const result = await this.executeStep(logger);\n totalInputTokens += result.usage.input_tokens;\n totalOutputTokens += result.usage.output_tokens;\n totalInferenceTime += result.usage.inference_time_ms;\n\n // Add actions to the list\n actions.push(...result.actions);\n\n // Update completion status\n completed = result.completed;\n\n // Record any message for this step\n if (result.message) {\n messageList.push(result.message);\n finalMessage = result.message;\n }\n\n // Increment step counter\n currentStep++;\n }\n\n // Return the final result\n return {\n success: completed,\n actions,\n message: finalMessage,\n completed,\n usage: {\n input_tokens: totalInputTokens,\n output_tokens: totalOutputTokens,\n inference_time_ms: totalInferenceTime,\n },\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n logger({\n category: \"agent\",\n message: `Error executing agent task: ${errorMessage}`,\n level: 0,\n });\n\n return {\n success: false,\n actions,\n message: `Failed to execute task: ${errorMessage}`,\n completed: false,\n usage: {\n input_tokens: totalInputTokens,\n output_tokens: totalOutputTokens,\n inference_time_ms: totalInferenceTime,\n },\n };\n }\n }\n\n /**\n * Initialize conversation history with the initial instruction\n */\n private async initializeHistory(instruction: string): Promise<void> {\n const parts: Part[] = [{ text: instruction }];\n\n // Note: The Python implementation doesn't include the initial screenshot\n // Following the same pattern here\n\n const systemPromptContent = this.userProvidedInstructions\n ? this.userProvidedInstructions\n : buildGoogleCUASystemPrompt().content;\n\n this.history = [\n {\n role: \"user\",\n parts: [\n {\n text: \"System prompt: \" + systemPromptContent,\n },\n ],\n },\n {\n role: \"user\",\n parts,\n },\n ];\n }\n\n /**\n * Execute a single step of the agent\n */\n async executeStep(logger: (message: LogLine) => void): Promise<{\n actions: AgentAction[];\n message: string;\n completed: boolean;\n usage: {\n input_tokens: number;\n output_tokens: number;\n inference_time_ms: number;\n };\n }> {\n try {\n const startTime = Date.now();\n\n // Compress images in conversation history before sending to the model\n const compressedResult = compressGoogleConversationImages(\n this.history,\n 2,\n );\n const compressedHistory = compressedResult.items;\n\n // Use the SDK's generateContent method with retry logic (matching Python's get_model_response)\n const maxRetries = 5;\n const baseDelayS = 1;\n let lastError: Error | null = null;\n let response: GenerateContentResponse | null = null;\n\n // Log LLM request\n const llmRequestId = uuidv7();\n SessionFileLogger.logLlmRequest({\n requestId: llmRequestId,\n model: this.modelName,\n operation: \"CUA.generateContent\",\n prompt: formatCuaPromptPreview(compressedHistory),\n });\n\n for (let attempt = 0; attempt < maxRetries; attempt++) {\n try {\n // Add exponential backoff delay for retries\n if (attempt > 0) {\n const delay = baseDelayS * Math.pow(2, attempt) * 1000; // Convert to ms\n logger({\n category: \"agent\",\n message: `Generating content failed on attempt ${attempt + 1}. Retrying in ${delay / 1000} seconds...`,\n level: 2,\n });\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n\n // Use the SDK's generateContent method - following Python SDK pattern\n response = await this.client.models.generateContent({\n model: this.modelName,\n contents: compressedHistory,\n config: this.generateContentConfig,\n });\n\n // Check if we have valid response content\n if (!response.candidates || response.candidates.length === 0) {\n throw new LLMResponseError(\"agent\", \"Response has no candidates!\");\n }\n\n const candidate = response.candidates[0];\n if (!candidate.content || !candidate.content.parts) {\n const reason = candidate.finishReason || \"unknown\";\n throw new LLMResponseError(\n \"agent\",\n `Response has no content (finish reason: ${reason})`,\n );\n }\n\n // Success - we have a valid response\n break;\n } catch (error) {\n lastError = error instanceof Error ? error : new Error(String(error));\n logger({\n category: \"agent\",\n message: `API call error: ${lastError.message}`,\n level: 2,\n });\n\n // If this was the last attempt, throw the error\n if (attempt === maxRetries - 1) {\n logger({\n category: \"agent\",\n message: `Generating content failed after ${maxRetries} attempts.`,\n level: 0,\n });\n throw lastError;\n }\n }\n }\n\n if (!response) {\n throw (\n lastError || new Error(\"Failed to get response after all retries\")\n );\n }\n\n const endTime = Date.now();\n const elapsedMs = endTime - startTime;\n const { usageMetadata } = response;\n\n // Log LLM response\n SessionFileLogger.logLlmResponse({\n requestId: llmRequestId,\n model: this.modelName,\n operation: \"CUA.generateContent\",\n output: formatCuaResponsePreview(response),\n inputTokens: usageMetadata?.promptTokenCount,\n outputTokens: usageMetadata?.candidatesTokenCount,\n });\n\n // Process the response\n const result = await this.processResponse(response, logger);\n\n // Add model response to history\n if (response.candidates && response.candidates[0]) {\n // Sanitize any out-of-range coordinates in function calls before adding to history\n const sanitizedContent = JSON.parse(\n JSON.stringify(response.candidates[0].content),\n );\n if (sanitizedContent.parts) {\n for (const part of sanitizedContent.parts) {\n if (part.functionCall?.args) {\n if (\n typeof part.functionCall.args.x === \"number\" &&\n part.functionCall.args.x > 999\n ) {\n part.functionCall.args.x = 999;\n }\n if (\n typeof part.functionCall.args.y === \"number\" &&\n part.functionCall.args.y > 999\n ) {\n part.functionCall.args.y = 999;\n }\n }\n }\n }\n this.history.push(sanitizedContent);\n }\n\n // Execute actions and collect function responses\n const functionResponses: Part[] = [];\n\n if (result.actions.length > 0) {\n let hasError = false;\n\n // Execute all actions\n for (let i = 0; i < result.actions.length; i++) {\n const action = result.actions[i];\n\n logger({\n category: \"agent\",\n message: `Executing action ${i + 1}/${result.actions.length}: ${action.type}`,\n level: 2,\n });\n\n // Special handling for open_web_browser - don't execute it\n if (action.type === \"open_web_browser\") {\n // Set pageUrl for open_web_browser since it doesn't go through action handler\n action.pageUrl = this.currentUrl;\n logger({\n category: \"agent\",\n message: \"Skipping open_web_browser action\",\n level: 2,\n });\n } else if (action.type === \"custom_tool\") {\n const toolName = action.name as string;\n const toolArgs = action.arguments as Record<string, unknown>;\n\n if (this.tools && toolName in this.tools) {\n const correspondingFunctionCall = result.functionCalls.find(\n (fc) => fc.name === toolName,\n );\n\n if (correspondingFunctionCall) {\n const executionResult = await executeGoogleCustomTool(\n toolName,\n toolArgs,\n this.tools,\n correspondingFunctionCall,\n logger,\n );\n\n functionResponses.push(executionResult.functionResponse);\n\n if (!executionResult.success) {\n hasError = true;\n }\n }\n }\n } else if (this.actionHandler) {\n try {\n await this.actionHandler(action);\n\n // Add a delay between actions to ensure they complete properly\n // Longer delay for typing actions to ensure fields are ready\n if (i < result.actions.length - 1) {\n const nextAction = result.actions[i + 1];\n const isTypingAction =\n action.type === \"type\" || nextAction.type === \"type\";\n const delay = isTypingAction ? 500 : 200;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n } catch (actionError) {\n if (actionError instanceof StagehandClosedError) {\n throw actionError;\n }\n logger({\n category: \"agent\",\n message: `Error executing action ${action.type}: ${actionError}`,\n level: 0,\n });\n hasError = true;\n // Continue processing other actions even if one fails\n }\n }\n }\n\n // Create function responses for computer use actions (non-custom tools)\n // We need exactly one response per function call, regardless of how many actions were generated\n if (result.functionCalls.length > 0 || hasError) {\n // Filter out custom tool function calls as they've already been handled\n const computerUseFunctionCalls = result.functionCalls.filter(\n (fc) => !isCustomTool(fc, this.tools),\n );\n\n if (computerUseFunctionCalls.length > 0) {\n try {\n logger({\n category: \"agent\",\n message: `Taking screenshot after executing ${result.actions.length} actions${hasError ? \" (with errors)\" : \"\"}`,\n level: 2,\n });\n\n const screenshot = await this.captureScreenshot();\n const base64Data = screenshot.replace(\n /^data:image\\/png;base64,/,\n \"\",\n );\n\n // Create one function response for each computer use function call\n // Following Python SDK pattern: FunctionResponse with parts containing inline_data\n for (const functionCall of computerUseFunctionCalls) {\n let safetyAcknowledgement: string | undefined;\n if (functionCall.args?.safety_decision) {\n safetyAcknowledgement = await this.handleSafetyConfirmation(\n functionCall.args.safety_decision,\n logger,\n );\n }\n\n const functionResponsePart: Part = {\n functionResponse: {\n name: functionCall.name,\n response: {\n url: this.currentUrl || \"\",\n ...(safetyAcknowledgement !== undefined\n ? {\n safety_acknowledgement: safetyAcknowledgement,\n }\n : {}),\n },\n parts: [\n {\n inlineData: {\n mimeType: \"image/png\",\n data: base64Data,\n },\n },\n ],\n },\n };\n functionResponses.push(functionResponsePart);\n }\n } catch (error) {\n logger({\n category: \"agent\",\n message: `Error capturing screenshot: ${error}`,\n level: 0,\n });\n }\n }\n }\n\n // Add all function responses to history in a single user message\n if (functionResponses.length > 0) {\n logger({\n category: \"agent\",\n message: `Adding ${functionResponses.length} function responses to history`,\n level: 2,\n });\n this.history.push({\n role: \"user\",\n parts: functionResponses,\n });\n }\n }\n\n return {\n actions: result.actions,\n message: result.message,\n completed: result.completed,\n usage: {\n input_tokens: usageMetadata?.promptTokenCount || 0,\n output_tokens: usageMetadata?.candidatesTokenCount || 0,\n inference_time_ms: elapsedMs,\n },\n };\n } catch (error) {\n const errorMessage =\n error instanceof Error ? error.message : String(error);\n logger({\n category: \"agent\",\n message: `Error executing step: ${errorMessage}`,\n level: 0,\n });\n\n throw error;\n }\n }\n\n /**\n * Process the response from Google's API\n */\n private async processResponse(\n response: GenerateContentResponse,\n logger: (message: LogLine) => void,\n ): Promise<{\n actions: AgentAction[];\n message: string;\n completed: boolean;\n functionCalls: FunctionCall[];\n }> {\n const actions: AgentAction[] = [];\n let message = \"\";\n const functionCalls: FunctionCall[] = [];\n\n if (!response.candidates || response.candidates.length === 0) {\n return {\n actions: [],\n message: \"No candidates in response\",\n completed: true,\n functionCalls: [],\n };\n }\n const candidate = response.candidates[0];\n\n // Log the raw response for debugging\n logger({\n category: \"agent\",\n message: `Raw response from Google: ${JSON.stringify(candidate.content, null, 2)}`,\n level: 2,\n });\n\n // Process all parts - Google can send multiple function calls\n for (const part of candidate.content.parts) {\n if (part.text) {\n message += part.text + \"\\n\";\n logger({\n category: \"agent\",\n message: `Reasoning: ${part.text}`,\n level: 1,\n });\n }\n if (part.functionCall) {\n functionCalls.push(part.functionCall);\n logger({\n category: \"agent\",\n message: `Found function call: ${part.functionCall.name} with args: ${JSON.stringify(part.functionCall.args)}`,\n level: 2,\n });\n\n // Convert function call to action(s)\n const action = this.convertFunctionCallToAction(part.functionCall);\n if (action) {\n // Special handling for type_text_at - we need to click first\n if (\n part.functionCall.name === \"type_text_at\" &&\n action.type === \"type\"\n ) {\n logger({\n category: \"agent\",\n message: `Adding action: ${JSON.stringify(action)}`,\n level: 2,\n });\n // First add a click action at the same coordinates\n actions.push({\n type: \"click\",\n x: action.x,\n y: action.y,\n button: \"left\",\n });\n\n // If clear_before_typing is true (default), add a select all\n if (action.clearBeforeTyping) {\n // Select all text in the field\n actions.push({\n type: \"keypress\",\n keys: [\"ControlOrMeta+A\"],\n });\n actions.push({\n type: \"keypress\",\n keys: [\"Backspace\"],\n });\n }\n\n // Then add the type action\n actions.push(action);\n if (action.pressEnter) {\n actions.push({\n type: \"keypress\",\n keys: [\"Enter\"],\n });\n }\n } else {\n actions.push(action);\n }\n } else {\n logger({\n category: \"agent\",\n message: `Warning: Could not convert function call ${part.functionCall.name} to action`,\n level: 1,\n });\n }\n }\n }\n\n // Log summary of what we found\n logger({\n category: \"agent\",\n message: `Found ${functionCalls.length} function calls, converted to ${actions.length} actions`,\n level: 2,\n });\n\n // Check if task is completed\n const completed =\n functionCalls.length === 0 ||\n (candidate.finishReason && candidate.finishReason !== \"STOP\");\n\n return {\n actions,\n message: message.trim(),\n completed,\n functionCalls,\n };\n }\n\n /**\n * Convert Google function call to Stagehand action\n */\n private convertFunctionCallToAction(\n functionCall: FunctionCall,\n ): AgentAction | null {\n const { name, args } = functionCall;\n\n if (!name || !args) {\n return null;\n }\n\n switch (name) {\n case \"open_web_browser\":\n return {\n type: \"open_web_browser\",\n timestamp: Date.now(),\n };\n\n case \"click_at\": {\n const { x, y } = this.normalizeCoordinates(\n args.x as number,\n args.y as number,\n );\n return {\n type: \"click\",\n x,\n y,\n button: args.button || \"left\",\n };\n }\n\n case \"type_text_at\": {\n const { x, y } = this.normalizeCoordinates(\n args.x as number,\n args.y as number,\n );\n // Google's type_text_at includes press_enter and clear_before_typing parameters\n const pressEnter = (args.press_enter as boolean) ?? false;\n const clearBeforeTyping = (args.clear_before_typing as boolean) ?? true;\n\n // For type_text_at, we need to click first then type\n // This matches the behavior expected by Google's CUA\n // We'll handle this in the executeStep method by converting to two actions\n return {\n type: \"type\",\n text: args.text as string,\n x,\n y,\n pressEnter,\n clearBeforeTyping,\n };\n }\n\n case \"key_combination\": {\n const keys = (args.keys as string)\n .split(\"+\")\n .map((key: string) => key.trim())\n .map((key: string) => mapKeyToPlaywright(key));\n return {\n type: \"keypress\",\n keys,\n };\n }\n\n case \"scroll_document\": {\n const direction = (args.direction as string).toLowerCase();\n return {\n type: \"keypress\",\n keys: [direction === \"up\" ? \"PageUp\" : \"PageDown\"],\n };\n }\n\n case \"scroll_at\": {\n const { x, y } = this.normalizeCoordinates(\n args.x as number,\n args.y as number,\n );\n const direction = ((args.direction as string) || \"down\").toLowerCase();\n const magnitude =\n typeof args.magnitude === \"number\" ? (args.magnitude as number) : 800;\n\n let scroll_x = 0;\n let scroll_y = 0;\n if (direction === \"up\") {\n scroll_y = -magnitude;\n } else if (direction === \"down\") {\n scroll_y = magnitude;\n } else if (direction === \"left\") {\n scroll_x = -magnitude;\n } else if (direction === \"right\") {\n scroll_x = magnitude;\n } else {\n // Default to down if unknown direction\n scroll_y = magnitude;\n }\n\n return {\n type: \"scroll\",\n x,\n y,\n scroll_x,\n scroll_y,\n };\n }\n\n case \"navigate\":\n return {\n type: \"goto\",\n url: args.url as string,\n };\n\n case \"go_back\":\n return {\n type: \"back\",\n };\n\n case \"go_forward\":\n return {\n type: \"forward\",\n };\n\n case \"wait_5_seconds\":\n return {\n type: \"wait\",\n timeMs: 5000, // Google CUA waits for 5 seconds\n };\n\n case \"hover_at\": {\n const { x, y } = this.normalizeCoordinates(\n args.x as number,\n args.y as number,\n );\n return {\n type: \"move\",\n x,\n y,\n };\n }\n\n case \"search\":\n return {\n type: \"goto\",\n url: \"https://www.google.com\",\n };\n\n case \"drag_and_drop\": {\n const startPoint = this.normalizeCoordinates(\n args.x as number,\n args.y as number,\n );\n const endPoint = this.normalizeCoordinates(\n args.destination_x as number,\n args.destination_y as number,\n );\n return {\n type: \"drag\",\n path: [\n { x: startPoint.x, y: startPoint.y },\n { x: endPoint.x, y: endPoint.y },\n ],\n };\n }\n\n default:\n if (isCustomTool(functionCall, this.tools)) {\n return {\n type: \"custom_tool\",\n name,\n arguments: args,\n timestamp: Date.now(),\n pageUrl: this.currentUrl,\n };\n }\n console.warn(`Unsupported Google CUA function: ${name}`);\n return null;\n }\n }\n\n /**\n * Normalize coordinates from Google's 0-1000 range to viewport dimensions\n */\n private normalizeCoordinates(x: number, y: number): { x: number; y: number } {\n const clampedX = Math.min(999, Math.max(0, x));\n const clampedY = Math.min(999, Math.max(0, y));\n return {\n x: Math.floor((clampedX / 1000) * this.currentViewport.width),\n y: Math.floor((clampedY / 1000) * this.currentViewport.height),\n };\n }\n\n async captureScreenshot(options?: {\n base64Image?: string;\n currentUrl?: string;\n }): Promise<string> {\n // Update current URL if provided\n if (options?.currentUrl) {\n this.currentUrl = options.currentUrl;\n }\n\n // Use provided options if available\n if (options?.base64Image) {\n return `data:image/png;base64,${options.base64Image}`;\n }\n\n // Use the screenshot provider if available\n if (this.screenshotProvider) {\n try {\n const base64Image = await this.screenshotProvider();\n return `data:image/png;base64,${base64Image}`;\n } catch (error) {\n console.error(\"Error capturing screenshot:\", error);\n throw error;\n }\n }\n\n throw new AgentScreenshotProviderError(\n \"`screenshotProvider` has not been set. \" +\n \"Please call `setScreenshotProvider()` with a valid function that returns a base64-encoded image\",\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { AgentAction, AgentResult, AgentType, AgentExecutionOptions } from "../types/public/agent.js";
|
|
2
|
+
import { ClientOptions } from "../types/public/model.js";
|
|
3
|
+
import { AgentClient } from "./AgentClient.js";
|
|
4
|
+
/**
|
|
5
|
+
* Client for FARA (Function-based Autonomous Research Agent) by Microsoft
|
|
6
|
+
* This implementation uses OpenAI-compatible API with XML-based tool calling
|
|
7
|
+
*/
|
|
8
|
+
export declare class MicrosoftCUAClient extends AgentClient {
|
|
9
|
+
private apiKey;
|
|
10
|
+
private baseURL;
|
|
11
|
+
private client;
|
|
12
|
+
private currentViewport;
|
|
13
|
+
private currentUrl?;
|
|
14
|
+
private screenshotProvider?;
|
|
15
|
+
private actionHandler?;
|
|
16
|
+
private conversationHistory;
|
|
17
|
+
private actionHistory;
|
|
18
|
+
private maxImages;
|
|
19
|
+
private temperature;
|
|
20
|
+
private facts;
|
|
21
|
+
private readonly MLM_PROCESSOR_IM_CFG;
|
|
22
|
+
private resizedViewport;
|
|
23
|
+
constructor(type: AgentType, modelName: string, userProvidedInstructions?: string, clientOptions?: ClientOptions);
|
|
24
|
+
setViewport(width: number, height: number): void;
|
|
25
|
+
setCurrentUrl(url: string): void;
|
|
26
|
+
setScreenshotProvider(provider: () => Promise<string>): void;
|
|
27
|
+
setActionHandler(handler: (action: AgentAction) => Promise<void>): void;
|
|
28
|
+
/**
|
|
29
|
+
* Smart resize algorithm from FARA
|
|
30
|
+
* Ensures dimensions are divisible by factor and within pixel limits
|
|
31
|
+
*/
|
|
32
|
+
private smartResize;
|
|
33
|
+
/**
|
|
34
|
+
* Generate system prompt with tool description
|
|
35
|
+
* Simplified to match Python's minimal approach
|
|
36
|
+
*/
|
|
37
|
+
private generateSystemPrompt;
|
|
38
|
+
/**
|
|
39
|
+
* Parse thoughts and action from model response
|
|
40
|
+
* FARA uses XML-based tool calling: <tool_call>\n{...}\n</tool_call>
|
|
41
|
+
*/
|
|
42
|
+
private parseThoughtsAndAction;
|
|
43
|
+
/**
|
|
44
|
+
* Convert FARA function call to Stagehand AgentAction
|
|
45
|
+
*/
|
|
46
|
+
private convertFunctionCallToAction;
|
|
47
|
+
/**
|
|
48
|
+
* Capture a screenshot and return as base64 data URL
|
|
49
|
+
*/
|
|
50
|
+
captureScreenshot(): Promise<string>;
|
|
51
|
+
/**
|
|
52
|
+
* Remove old screenshots from history
|
|
53
|
+
* Matches Python's maybe_remove_old_screenshots
|
|
54
|
+
*/
|
|
55
|
+
private maybeRemoveOldScreenshots;
|
|
56
|
+
/**
|
|
57
|
+
* Reconstruct history for API call
|
|
58
|
+
* Merges conceptual chat history with raw action history
|
|
59
|
+
*/
|
|
60
|
+
private reconstructHistory;
|
|
61
|
+
/**
|
|
62
|
+
* Execute a single step
|
|
63
|
+
*/
|
|
64
|
+
private executeStep;
|
|
65
|
+
/**
|
|
66
|
+
* Execute a task with the FARA CUA
|
|
67
|
+
* This is the main entry point for the agent
|
|
68
|
+
* @implements AgentClient.execute
|
|
69
|
+
*/
|
|
70
|
+
execute(executionOptions: AgentExecutionOptions): Promise<AgentResult>;
|
|
71
|
+
}
|