@browserbasehq/orca 3.1.0-patch.0 → 3.1.0-patch.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli.js +183 -0
- package/dist/cjs/cli.js.map +7 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +24956 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/lib/inference.d.ts +65 -0
- package/dist/cjs/lib/inferenceLogUtils.d.ts +12 -0
- package/dist/cjs/lib/logger.d.ts +69 -0
- package/dist/cjs/lib/modelUtils.d.ts +11 -0
- package/dist/cjs/lib/prompt.d.ts +14 -0
- package/dist/cjs/lib/utils.d.ts +68 -0
- package/dist/cjs/lib/v3/agent/AgentClient.d.ts +19 -0
- package/dist/cjs/lib/v3/agent/AgentProvider.d.ts +20 -0
- package/dist/cjs/lib/v3/agent/AnthropicCUAClient.d.ts +57 -0
- package/dist/cjs/lib/v3/agent/GoogleCUAClient.d.ts +74 -0
- package/dist/cjs/lib/v3/agent/MicrosoftCUAClient.d.ts +71 -0
- package/dist/cjs/lib/v3/agent/OpenAICUAClient.d.ts +69 -0
- package/dist/cjs/lib/v3/agent/prompts/agentSystemPrompt.d.ts +12 -0
- package/dist/cjs/lib/v3/agent/tools/act.d.ts +12 -0
- package/dist/cjs/lib/v3/agent/tools/ariaTree.d.ts +5 -0
- package/dist/cjs/lib/v3/agent/tools/click.d.ts +6 -0
- package/dist/cjs/lib/v3/agent/tools/clickAndHold.d.ts +14 -0
- package/dist/cjs/lib/v3/agent/tools/dragAndDrop.d.ts +7 -0
- package/dist/cjs/lib/v3/agent/tools/extract.d.ts +20 -0
- package/dist/cjs/lib/v3/agent/tools/fillFormVision.d.ts +12 -0
- package/dist/cjs/lib/v3/agent/tools/fillform.d.ts +12 -0
- package/dist/cjs/lib/v3/agent/tools/goto.d.ts +12 -0
- package/dist/cjs/lib/v3/agent/tools/index.d.ts +92 -0
- package/dist/cjs/lib/v3/agent/tools/keys.d.ts +24 -0
- package/dist/cjs/lib/v3/agent/tools/navback.d.ts +6 -0
- package/dist/cjs/lib/v3/agent/tools/screenshot.d.ts +6 -0
- package/dist/cjs/lib/v3/agent/tools/scroll.d.ts +19 -0
- package/dist/cjs/lib/v3/agent/tools/search.d.ts +15 -0
- package/dist/cjs/lib/v3/agent/tools/think.d.ts +6 -0
- package/dist/cjs/lib/v3/agent/tools/type.d.ts +7 -0
- package/dist/cjs/lib/v3/agent/tools/wait.d.ts +5 -0
- package/dist/cjs/lib/v3/agent/utils/actionMapping.d.ts +3 -0
- package/dist/cjs/lib/v3/agent/utils/coordinateNormalization.d.ts +13 -0
- package/dist/cjs/lib/v3/agent/utils/cuaKeyMapping.d.ts +10 -0
- package/dist/cjs/lib/v3/agent/utils/googleCustomToolHandler.d.ts +25 -0
- package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.d.ts +22 -0
- package/dist/cjs/lib/v3/agent/utils/imageCompression.d.ts +53 -0
- package/dist/cjs/lib/v3/agent/utils/messageProcessing.d.ts +12 -0
- package/dist/cjs/lib/v3/agent/utils/screenshotHandler.d.ts +10 -0
- package/dist/cjs/lib/v3/agent/utils/validateExperimentalFeatures.d.ts +26 -0
- package/dist/cjs/lib/v3/agent/utils/xpath.d.ts +11 -0
- package/dist/cjs/lib/v3/api.d.ts +86 -0
- package/dist/cjs/lib/v3/cache/ActCache.d.ts +23 -0
- package/dist/cjs/lib/v3/cache/AgentCache.d.ts +109 -0
- package/dist/cjs/lib/v3/cache/CacheStorage.d.ts +17 -0
- package/dist/cjs/lib/v3/cache/serverAgentCache.d.ts +7 -0
- package/dist/cjs/lib/v3/cache/utils.d.ts +15 -0
- package/dist/cjs/lib/v3/cli.d.ts +2 -0
- package/dist/cjs/lib/v3/dom/a11yScripts/index.d.ts +11 -0
- package/dist/cjs/lib/v3/dom/build/a11yScripts.generated.d.ts +16 -0
- package/dist/cjs/lib/v3/dom/build/locatorScripts.generated.d.ts +52 -0
- package/dist/cjs/lib/v3/dom/build/reRenderScriptContent.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/build/rerender-index.d.ts +0 -0
- package/dist/cjs/lib/v3/dom/build/rerender-index.js +1 -0
- package/dist/cjs/lib/v3/dom/build/screenshotScripts.generated.d.ts +4 -0
- package/dist/cjs/lib/v3/dom/build/scriptV3Content.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/build/v3-index.d.ts +0 -0
- package/dist/cjs/lib/v3/dom/build/v3-index.js +1 -0
- package/dist/cjs/lib/v3/dom/genA11yScripts.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/genDomScripts.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/genLocatorScripts.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/genScreenshotScripts.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/index.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/counts.d.ts +15 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/index.d.ts +4 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/scripts.d.ts +37 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/selectors.d.ts +4 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/waitForSelector.d.ts +19 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/xpathParser.d.ts +76 -0
- package/dist/cjs/lib/v3/dom/locatorScripts/xpathResolver.d.ts +9 -0
- package/dist/cjs/lib/v3/dom/piercer.entry.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/piercer.runtime.d.ts +23 -0
- package/dist/cjs/lib/v3/dom/rerenderMissingShadows.entry.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/rerenderMissingShadows.runtime.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/screenshotScripts/index.d.ts +1 -0
- package/dist/cjs/lib/v3/dom/screenshotScripts/resolveMaskRect.d.ts +8 -0
- package/dist/cjs/lib/v3/external_clients/aisdk.d.ts +11 -0
- package/dist/cjs/lib/v3/external_clients/customOpenAI.d.ts +18 -0
- package/dist/cjs/lib/v3/flowLogger.d.ts +139 -0
- package/dist/cjs/lib/v3/handlers/actHandler.d.ts +21 -0
- package/dist/cjs/lib/v3/handlers/extractHandler.d.ts +31 -0
- package/dist/cjs/lib/v3/handlers/handlerUtils/actHandlerUtils.d.ts +24 -0
- package/dist/cjs/lib/v3/handlers/handlerUtils/timeoutGuard.d.ts +2 -0
- package/dist/cjs/lib/v3/handlers/observeHandler.d.ts +17 -0
- package/dist/cjs/lib/v3/handlers/v3AgentHandler.d.ts +32 -0
- package/dist/cjs/lib/v3/handlers/v3CuaAgentHandler.d.ts +33 -0
- package/dist/cjs/lib/v3/index.d.ts +18 -0
- package/dist/cjs/lib/v3/launch/browserbase.d.ts +7 -0
- package/dist/cjs/lib/v3/launch/local.d.ts +15 -0
- package/dist/cjs/lib/v3/llm/AnthropicClient.d.ts +16 -0
- package/dist/cjs/lib/v3/llm/CerebrasClient.d.ts +17 -0
- package/dist/cjs/lib/v3/llm/GoogleClient.d.ts +19 -0
- package/dist/cjs/lib/v3/llm/GroqClient.d.ts +17 -0
- package/dist/cjs/lib/v3/llm/LLMClient.d.ts +121 -0
- package/dist/cjs/lib/v3/llm/LLMProvider.d.ts +13 -0
- package/dist/cjs/lib/v3/llm/OpenAIClient.d.ts +15 -0
- package/dist/cjs/lib/v3/llm/aisdk.d.ts +15 -0
- package/dist/cjs/lib/v3/logger.d.ts +9 -0
- package/dist/cjs/lib/v3/mcp/connection.d.ts +11 -0
- package/dist/cjs/lib/v3/mcp/utils.d.ts +3 -0
- package/dist/cjs/lib/v3/shutdown/cleanupLocal.d.ts +14 -0
- package/dist/cjs/lib/v3/shutdown/supervisor.d.ts +11 -0
- package/dist/cjs/lib/v3/shutdown/supervisorClient.d.ts +15 -0
- package/dist/cjs/lib/v3/tests/agent-abort-signal.spec.js +113 -0
- package/dist/cjs/lib/v3/tests/agent-abort-signal.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/agent-cache-self-heal.spec.js +102 -0
- package/dist/cjs/lib/v3/tests/agent-cache-self-heal.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/agent-callbacks.spec.js +374 -0
- package/dist/cjs/lib/v3/tests/agent-callbacks.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/agent-experimental-validation.spec.js +354 -0
- package/dist/cjs/lib/v3/tests/agent-experimental-validation.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/agent-hybrid-mode.spec.js +247 -0
- package/dist/cjs/lib/v3/tests/agent-hybrid-mode.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/agent-message-continuation.spec.js +105 -0
- package/dist/cjs/lib/v3/tests/agent-message-continuation.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/agent-streaming.spec.js +126 -0
- package/dist/cjs/lib/v3/tests/agent-streaming.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/cdp-session-detached.spec.js +44 -0
- package/dist/cjs/lib/v3/tests/cdp-session-detached.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/click-count.spec.js +147 -0
- package/dist/cjs/lib/v3/tests/click-count.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/connect-to-existing-browser.spec.js +54 -0
- package/dist/cjs/lib/v3/tests/connect-to-existing-browser.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/context-addInitScript.spec.js +176 -0
- package/dist/cjs/lib/v3/tests/context-addInitScript.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/default-page-tracking.spec.js +53 -0
- package/dist/cjs/lib/v3/tests/default-page-tracking.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/downloads.spec.js +80 -0
- package/dist/cjs/lib/v3/tests/downloads.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/frame-get-location-and-click.spec.js +53 -0
- package/dist/cjs/lib/v3/tests/frame-get-location-and-click.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/iframe-ctx-addInitScript.spec.js +493 -0
- package/dist/cjs/lib/v3/tests/iframe-ctx-addInitScript.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/keep-alive.child.js +92 -0
- package/dist/cjs/lib/v3/tests/keep-alive.child.js.map +7 -0
- package/dist/cjs/lib/v3/tests/keep-alive.helpers.js +568 -0
- package/dist/cjs/lib/v3/tests/keep-alive.helpers.js.map +7 -0
- package/dist/cjs/lib/v3/tests/keep-alive.spec.js +15 -0
- package/dist/cjs/lib/v3/tests/keep-alive.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/keyboard.spec.js +296 -0
- package/dist/cjs/lib/v3/tests/keyboard.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/locator-backend-node-id.spec.js +159 -0
- package/dist/cjs/lib/v3/tests/locator-backend-node-id.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/locator-content-methods.spec.js +191 -0
- package/dist/cjs/lib/v3/tests/locator-content-methods.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/locator-count-iframe.spec.js +108 -0
- package/dist/cjs/lib/v3/tests/locator-count-iframe.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/locator-count.spec.js +71 -0
- package/dist/cjs/lib/v3/tests/locator-count.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/locator-fill.spec.js +118 -0
- package/dist/cjs/lib/v3/tests/locator-fill.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/locator-input-methods.spec.js +136 -0
- package/dist/cjs/lib/v3/tests/locator-input-methods.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/locator-nth.spec.js +157 -0
- package/dist/cjs/lib/v3/tests/locator-nth.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/locator-select-option.spec.js +242 -0
- package/dist/cjs/lib/v3/tests/locator-select-option.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/logger-initialization.spec.js +547 -0
- package/dist/cjs/lib/v3/tests/logger-initialization.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/multi-instance-logger.spec.js +269 -0
- package/dist/cjs/lib/v3/tests/multi-instance-logger.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/nested-div.spec.js +23 -0
- package/dist/cjs/lib/v3/tests/nested-div.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/page-addInitScript.spec.js +90 -0
- package/dist/cjs/lib/v3/tests/page-addInitScript.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/page-console.spec.js +56 -0
- package/dist/cjs/lib/v3/tests/page-console.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/page-drag-and-drop.spec.js +418 -0
- package/dist/cjs/lib/v3/tests/page-drag-and-drop.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/page-goto-response.spec.js +35 -0
- package/dist/cjs/lib/v3/tests/page-goto-response.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/page-hover.spec.js +167 -0
- package/dist/cjs/lib/v3/tests/page-hover.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/page-screenshot.spec.js +295 -0
- package/dist/cjs/lib/v3/tests/page-screenshot.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/page-scroll.spec.js +182 -0
- package/dist/cjs/lib/v3/tests/page-scroll.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/page-send-cdp.spec.js +46 -0
- package/dist/cjs/lib/v3/tests/page-send-cdp.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/perform-understudy-method.spec.js +98 -0
- package/dist/cjs/lib/v3/tests/perform-understudy-method.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/setinputfiles.spec.js +148 -0
- package/dist/cjs/lib/v3/tests/setinputfiles.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/shadow-iframe-oopif.spec.js +156 -0
- package/dist/cjs/lib/v3/tests/shadow-iframe-oopif.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/shadow-iframe-spif.spec.js +156 -0
- package/dist/cjs/lib/v3/tests/shadow-iframe-spif.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/testUtils.js +54 -0
- package/dist/cjs/lib/v3/tests/testUtils.js.map +7 -0
- package/dist/cjs/lib/v3/tests/text-selector-innermost.spec.js +100 -0
- package/dist/cjs/lib/v3/tests/text-selector-innermost.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/timeouts.spec.js +32 -0
- package/dist/cjs/lib/v3/tests/timeouts.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/user-data-dir.spec.js +65 -0
- package/dist/cjs/lib/v3/tests/user-data-dir.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/v3.config.js +36 -0
- package/dist/cjs/lib/v3/tests/v3.config.js.map +7 -0
- package/dist/cjs/lib/v3/tests/v3.dynamic.config.js +67 -0
- package/dist/cjs/lib/v3/tests/v3.dynamic.config.js.map +7 -0
- package/dist/cjs/lib/v3/tests/v3.playwright.config.js +61 -0
- package/dist/cjs/lib/v3/tests/v3.playwright.config.js.map +7 -0
- package/dist/cjs/lib/v3/tests/wait-for-selector.spec.js +593 -0
- package/dist/cjs/lib/v3/tests/wait-for-selector.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/wait-for-timeout.spec.js +97 -0
- package/dist/cjs/lib/v3/tests/wait-for-timeout.spec.js.map +7 -0
- package/dist/cjs/lib/v3/tests/xpath-for-location-deep.spec.js +77 -0
- package/dist/cjs/lib/v3/tests/xpath-for-location-deep.spec.js.map +7 -0
- package/dist/cjs/lib/v3/timeoutConfig.d.ts +2 -0
- package/dist/cjs/lib/v3/types/private/agent.d.ts +6 -0
- package/dist/cjs/lib/v3/types/private/api.d.ts +11 -0
- package/dist/cjs/lib/v3/types/private/cache.d.ts +128 -0
- package/dist/cjs/lib/v3/types/private/evaluator.d.ts +40 -0
- package/dist/cjs/lib/v3/types/private/handlers.d.ts +38 -0
- package/dist/cjs/lib/v3/types/private/index.d.ts +7 -0
- package/dist/cjs/lib/v3/types/private/internal.d.ts +39 -0
- package/dist/cjs/lib/v3/types/private/locator.d.ts +9 -0
- package/dist/cjs/lib/v3/types/private/network.d.ts +34 -0
- package/dist/cjs/lib/v3/types/private/shutdown.d.ts +19 -0
- package/dist/cjs/lib/v3/types/private/shutdownErrors.d.ts +12 -0
- package/dist/cjs/lib/v3/types/private/snapshot.d.ts +117 -0
- package/dist/cjs/lib/v3/types/public/agent.d.ts +595 -0
- package/dist/cjs/lib/v3/types/public/api.d.ts +1211 -0
- package/dist/cjs/lib/v3/types/public/apiErrors.d.ts +18 -0
- package/dist/cjs/lib/v3/types/public/index.d.ts +12 -0
- package/dist/cjs/lib/v3/types/public/locator.d.ts +9 -0
- package/dist/cjs/lib/v3/types/public/logs.d.ts +23 -0
- package/dist/cjs/lib/v3/types/public/methods.d.ts +56 -0
- package/dist/cjs/lib/v3/types/public/metrics.d.ts +27 -0
- package/dist/cjs/lib/v3/types/public/model.d.ts +65 -0
- package/dist/cjs/lib/v3/types/public/options.d.ts +70 -0
- package/dist/cjs/lib/v3/types/public/page.d.ts +18 -0
- package/dist/cjs/lib/v3/types/public/screenshotTypes.d.ts +25 -0
- package/dist/cjs/lib/v3/types/public/sdkErrors.d.ts +152 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/a11yTree.d.ts +15 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/activeElement.d.ts +8 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/capture.d.ts +77 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.d.ts +7 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/domTree.d.ts +46 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/focusSelectors.d.ts +24 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/index.d.ts +4 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/sessions.d.ts +16 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/treeFormatUtils.d.ts +28 -0
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/xpathUtils.d.ts +26 -0
- package/dist/cjs/lib/v3/understudy/a11yInvocation.d.ts +8 -0
- package/dist/cjs/lib/v3/understudy/cdp.d.ts +69 -0
- package/dist/cjs/lib/v3/understudy/consoleMessage.d.ts +22 -0
- package/dist/cjs/lib/v3/understudy/context.d.ts +132 -0
- package/dist/cjs/lib/v3/understudy/deepLocator.d.ts +87 -0
- package/dist/cjs/lib/v3/understudy/executionContextRegistry.d.ts +15 -0
- package/dist/cjs/lib/v3/understudy/fileUploadUtils.d.ts +13 -0
- package/dist/cjs/lib/v3/understudy/frame.d.ts +69 -0
- package/dist/cjs/lib/v3/understudy/frameLocator.d.ts +50 -0
- package/dist/cjs/lib/v3/understudy/frameRegistry.d.ts +101 -0
- package/dist/cjs/lib/v3/understudy/initScripts.d.ts +2 -0
- package/dist/cjs/lib/v3/understudy/lifecycleWatcher.d.ts +64 -0
- package/dist/cjs/lib/v3/understudy/locator.d.ts +194 -0
- package/dist/cjs/lib/v3/understudy/locatorInvocation.d.ts +8 -0
- package/dist/cjs/lib/v3/understudy/navigationResponseTracker.d.ts +84 -0
- package/dist/cjs/lib/v3/understudy/networkManager.d.ts +53 -0
- package/dist/cjs/lib/v3/understudy/page.d.ts +354 -0
- package/dist/cjs/lib/v3/understudy/piercer.d.ts +4 -0
- package/dist/cjs/lib/v3/understudy/response.d.ts +137 -0
- package/dist/cjs/lib/v3/understudy/screenshotUtils.d.ts +16 -0
- package/dist/cjs/lib/v3/understudy/selectorResolver.d.ts +38 -0
- package/dist/cjs/lib/v3/v3.d.ts +191 -0
- package/dist/cjs/lib/v3/zodCompat.d.ts +12 -0
- package/dist/cjs/lib/v3Evaluator.d.ts +19 -0
- package/dist/cjs/lib/version.d.ts +5 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/tests/browserbase-session-accessors.test.js +101 -0
- package/dist/cjs/tests/browserbase-session-accessors.test.js.map +7 -0
- package/dist/cjs/tests/cache-llm-resolution.test.js +187 -0
- package/dist/cjs/tests/cache-llm-resolution.test.js.map +7 -0
- package/dist/cjs/tests/helpers/mockCDPSession.js +50 -0
- package/dist/cjs/tests/helpers/mockCDPSession.js.map +7 -0
- package/dist/cjs/tests/llm-provider.test.js +57 -0
- package/dist/cjs/tests/llm-provider.test.js.map +7 -0
- package/dist/cjs/tests/model-deprecation.test.js +132 -0
- package/dist/cjs/tests/model-deprecation.test.js.map +7 -0
- package/dist/cjs/tests/page-snapshot.test.js +58 -0
- package/dist/cjs/tests/page-snapshot.test.js.map +7 -0
- package/dist/cjs/tests/public-api/export-surface.test.js +76 -0
- package/dist/cjs/tests/public-api/export-surface.test.js.map +7 -0
- package/dist/cjs/tests/public-api/llm-and-agents.test.js +150 -0
- package/dist/cjs/tests/public-api/llm-and-agents.test.js.map +7 -0
- package/dist/cjs/tests/public-api/public-error-types.test.js +104 -0
- package/dist/cjs/tests/public-api/public-error-types.test.js.map +7 -0
- package/dist/cjs/tests/public-api/public-types.test.js +74 -0
- package/dist/cjs/tests/public-api/public-types.test.js.map +7 -0
- package/dist/cjs/tests/public-api/runtime-utils.test.js +53 -0
- package/dist/cjs/tests/public-api/runtime-utils.test.js.map +7 -0
- package/dist/cjs/tests/public-api/schema-utils.test.js +100 -0
- package/dist/cjs/tests/public-api/schema-utils.test.js.map +7 -0
- package/dist/cjs/tests/public-api/timeout-error-types.test.js +103 -0
- package/dist/cjs/tests/public-api/timeout-error-types.test.js.map +7 -0
- package/dist/cjs/tests/public-api/tool-type-export.test.js +47 -0
- package/dist/cjs/tests/public-api/tool-type-export.test.js.map +7 -0
- package/dist/cjs/tests/public-api/v3-core.test.js +104 -0
- package/dist/cjs/tests/public-api/v3-core.test.js.map +7 -0
- package/dist/cjs/tests/safety-confirmation.test.js +134 -0
- package/dist/cjs/tests/safety-confirmation.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-a11y-resolvers.test.js +370 -0
- package/dist/cjs/tests/snapshot-a11y-resolvers.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-a11y-tree-utils.test.js +294 -0
- package/dist/cjs/tests/snapshot-a11y-tree-utils.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-capture-orchestration.test.js +403 -0
- package/dist/cjs/tests/snapshot-capture-orchestration.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-cbor.test.js +197 -0
- package/dist/cjs/tests/snapshot-cbor.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-dom-session-builders.test.js +246 -0
- package/dist/cjs/tests/snapshot-dom-session-builders.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-dom-tree-utils.test.js +104 -0
- package/dist/cjs/tests/snapshot-dom-tree-utils.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-focus-selectors-utils.test.js +45 -0
- package/dist/cjs/tests/snapshot-focus-selectors-utils.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-frame-merge.test.js +388 -0
- package/dist/cjs/tests/snapshot-frame-merge.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-tree-format-utils.test.js +106 -0
- package/dist/cjs/tests/snapshot-tree-format-utils.test.js.map +7 -0
- package/dist/cjs/tests/snapshot-xpath-utils.test.js +74 -0
- package/dist/cjs/tests/snapshot-xpath-utils.test.js.map +7 -0
- package/dist/cjs/tests/timeout-handlers.test.js +864 -0
- package/dist/cjs/tests/timeout-handlers.test.js.map +7 -0
- package/dist/cjs/tests/xpath-parser.test.js +314 -0
- package/dist/cjs/tests/xpath-parser.test.js.map +7 -0
- package/dist/cjs/tests/xpath-resolver.test.js +70 -0
- package/dist/cjs/tests/xpath-resolver.test.js.map +7 -0
- package/dist/cjs/tests/zod-enum-compatibility.test.js +119 -0
- package/dist/cjs/tests/zod-enum-compatibility.test.js.map +7 -0
- package/dist/esm/lib/modelUtils.d.ts +0 -3
- package/dist/esm/lib/modelUtils.js +2 -7
- package/dist/esm/lib/modelUtils.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/act.d.ts +1 -2
- package/dist/esm/lib/v3/agent/tools/act.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/extract.d.ts +1 -2
- package/dist/esm/lib/v3/agent/tools/extract.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/fillform.d.ts +1 -2
- package/dist/esm/lib/v3/agent/tools/fillform.js.map +1 -1
- package/dist/esm/lib/v3/agent/tools/index.d.ts +2 -2
- package/dist/esm/lib/v3/agent/tools/index.js.map +1 -1
- package/dist/esm/lib/v3/cli.d.ts +2 -0
- package/dist/esm/lib/v3/cli.js +10 -0
- package/dist/esm/lib/v3/cli.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/rerender-index.d.ts +0 -0
- package/dist/esm/lib/v3/dom/build/rerender-index.js.map +1 -0
- package/dist/esm/lib/v3/dom/build/v3-index.d.ts +0 -0
- package/dist/esm/lib/v3/dom/build/v3-index.js.map +1 -0
- package/dist/esm/lib/v3/handlers/v3AgentHandler.d.ts +2 -2
- package/dist/esm/lib/v3/handlers/v3AgentHandler.js.map +1 -1
- package/dist/esm/lib/v3/index.d.ts +1 -0
- package/dist/esm/lib/v3/index.js +1 -0
- package/dist/esm/lib/v3/index.js.map +1 -1
- package/dist/esm/lib/v3/shutdown/supervisor.d.ts +7 -5
- package/dist/esm/lib/v3/shutdown/supervisor.js +62 -52
- package/dist/esm/lib/v3/shutdown/supervisor.js.map +1 -1
- package/dist/esm/lib/v3/shutdown/supervisorClient.js +48 -52
- package/dist/esm/lib/v3/shutdown/supervisorClient.js.map +1 -1
- package/dist/esm/lib/v3/tests/click-count.spec.js +47 -12
- package/dist/esm/lib/v3/tests/click-count.spec.js.map +2 -2
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js +67 -21
- package/dist/esm/lib/v3/tests/iframe-ctx-addInitScript.spec.js.map +2 -2
- package/dist/esm/lib/v3/tests/v3.playwright.config.js +3 -60
- package/dist/esm/lib/v3/tests/v3.playwright.config.js.map +2 -2
- package/dist/esm/lib/v3/types/private/shutdown.d.ts +1 -13
- package/dist/esm/lib/v3/types/private/shutdown.js.map +1 -1
- package/dist/esm/lib/v3/understudy/context.js +10 -1
- package/dist/esm/lib/v3/understudy/context.js.map +1 -1
- package/dist/esm/lib/v3/understudy/locator.js +2 -2
- package/dist/esm/lib/v3/understudy/locator.js.map +1 -1
- package/dist/esm/lib/v3/understudy/page.js +2 -1
- package/dist/esm/lib/v3/understudy/page.js.map +1 -1
- package/dist/esm/lib/v3/v3.js +10 -13
- package/dist/esm/lib/v3/v3.js.map +1 -1
- package/dist/esm/tests/public-api/export-surface.test.js +1 -0
- package/dist/esm/tests/public-api/export-surface.test.js.map +2 -2
- package/package.json +13 -9
- package/dist/esm/lib/v3/tests/envReporter.js +0 -57
- package/dist/esm/lib/v3/tests/envReporter.js.map +0 -7
- package/dist/esm/tests/agent-execution-model.test.js +0 -139
- package/dist/esm/tests/agent-execution-model.test.js.map +0 -7
- package/dist/esm/tests/model-utils.test.js +0 -43
- package/dist/esm/tests/model-utils.test.js.map +0 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../tests/public-api/export-surface.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { describe, expect, it } from \"vitest\";\nimport StagehandDefaultExport, * as Stagehand from \"@browserbasehq/stagehand\";\nimport { publicErrorTypes } from \"./public-error-types.test.js\";\n\n// Type matcher guidelines:\n//\n// toEqualTypeOf \u2013 Default. Assert full, deep type equality; any type change should fail.\n// e.g. expectTypeOf<ReturnType<typeof foo>>().toEqualTypeOf<FooResult>()\n//\n// toMatchObjectType \u2013 Assert (part of) an object's shape while allowing extra fields.\n// e.g. expectTypeOf(user).toMatchObjectType<{ id: string; email: string }>()\n//\n// toExtend \u2013 Assert that a type is compatible with a broader contract (assignable/extends).\n// e.g. expectTypeOf<User>().toExtend<BaseUser>()\n\nconst publicApiShape = {\n __internalCreateInMemoryAgentCacheHandle:\n Stagehand.__internalCreateInMemoryAgentCacheHandle,\n AISdkClient: Stagehand.AISdkClient,\n Api: Stagehand.Api,\n AVAILABLE_CUA_MODELS: Stagehand.AVAILABLE_CUA_MODELS,\n AgentProvider: Stagehand.AgentProvider,\n AnnotatedScreenshotText: Stagehand.AnnotatedScreenshotText,\n ConsoleMessage: Stagehand.ConsoleMessage,\n CustomOpenAIClient: Stagehand.CustomOpenAIClient,\n LLMClient: Stagehand.LLMClient,\n LOG_LEVEL_NAMES: Stagehand.LOG_LEVEL_NAMES,\n Response: Stagehand.Response,\n Stagehand: Stagehand.Stagehand,\n V3: Stagehand.V3,\n V3Evaluator: Stagehand.V3Evaluator,\n V3FunctionName: Stagehand.V3FunctionName,\n connectToMCPServer: Stagehand.connectToMCPServer,\n default: StagehandDefaultExport,\n defaultExtractSchema: Stagehand.defaultExtractSchema,\n getAISDKLanguageModel: Stagehand.getAISDKLanguageModel,\n getZodType: Stagehand.getZodType,\n injectUrls: Stagehand.injectUrls,\n isRunningInBun: Stagehand.isRunningInBun,\n isZod3Schema: Stagehand.isZod3Schema,\n isZod4Schema: Stagehand.isZod4Schema,\n jsonSchemaToZod: Stagehand.jsonSchemaToZod,\n loadApiKeyFromEnv: Stagehand.loadApiKeyFromEnv,\n localBrowserLaunchOptionsSchema: Stagehand.localBrowserLaunchOptionsSchema,\n modelToAgentProviderMap: Stagehand.modelToAgentProviderMap,\n pageTextSchema: Stagehand.pageTextSchema,\n providerEnvVarMap: Stagehand.providerEnvVarMap,\n toGeminiSchema: Stagehand.toGeminiSchema,\n toJsonSchema: Stagehand.toJsonSchema,\n tool: Stagehand.tool,\n transformSchema: Stagehand.transformSchema,\n trimTrailingTextNode: Stagehand.trimTrailingTextNode,\n validateZodSchema: Stagehand.validateZodSchema,\n ...publicErrorTypes,\n} as const;\n\ntype StagehandExports = typeof Stagehand & {\n default: typeof StagehandDefaultExport;\n};\n\ntype PublicAPI = {\n [K in keyof typeof publicApiShape]: StagehandExports[K];\n};\n\ndescribe(\"Stagehand public API export surface\", () => {\n it(\"public API shape matches module exports\", () => {\n const _check: PublicAPI = publicApiShape;\n void _check;\n });\n\n it(\"does not expose unexpected top-level exports\", () => {\n const expected = Object.keys(publicApiShape).sort();\n const actual = Object.keys(Stagehand).sort();\n expect(actual).toStrictEqual(expected);\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,OAAO,6BAA6B,eAAe;AACnD,SAAS,wBAAwB;AAajC,MAAM,iBAAiB;AAAA,EACrB,0CACE,UAAU;AAAA,EACZ,aAAa,UAAU;AAAA,EACvB,KAAK,UAAU;AAAA,EACf,sBAAsB,UAAU;AAAA,EAChC,eAAe,UAAU;AAAA,EACzB,yBAAyB,UAAU;AAAA,EACnC,gBAAgB,UAAU;AAAA,EAC1B,oBAAoB,UAAU;AAAA,EAC9B,WAAW,UAAU;AAAA,EACrB,iBAAiB,UAAU;AAAA,EAC3B,UAAU,UAAU;AAAA,EACpB,WAAW,UAAU;AAAA,EACrB,IAAI,UAAU;AAAA,EACd,aAAa,UAAU;AAAA,EACvB,gBAAgB,UAAU;AAAA,EAC1B,oBAAoB,UAAU;AAAA,EAC9B,SAAS;AAAA,EACT,sBAAsB,UAAU;AAAA,EAChC,uBAAuB,UAAU;AAAA,EACjC,YAAY,UAAU;AAAA,EACtB,YAAY,UAAU;AAAA,EACtB,gBAAgB,UAAU;AAAA,EAC1B,cAAc,UAAU;AAAA,EACxB,cAAc,UAAU;AAAA,EACxB,iBAAiB,UAAU;AAAA,EAC3B,mBAAmB,UAAU;AAAA,EAC7B,iCAAiC,UAAU;AAAA,EAC3C,yBAAyB,UAAU;AAAA,EACnC,gBAAgB,UAAU;AAAA,EAC1B,mBAAmB,UAAU;AAAA,EAC7B,gBAAgB,UAAU;AAAA,EAC1B,cAAc,UAAU;AAAA,EACxB,MAAM,UAAU;AAAA,EAChB,iBAAiB,UAAU;AAAA,EAC3B,sBAAsB,UAAU;AAAA,EAChC,mBAAmB,UAAU;AAAA,EAC7B,GAAG;AACL;AAUA,SAAS,uCAAuC,MAAM;AACpD,KAAG,2CAA2C,MAAM;AAClD,UAAM,SAAoB;AAAA,EAE5B,CAAC;AAED,KAAG,gDAAgD,MAAM;AACvD,UAAM,WAAW,OAAO,KAAK,cAAc,EAAE,KAAK;AAClD,UAAM,SAAS,OAAO,KAAK,SAAS,EAAE,KAAK;AAC3C,WAAO,MAAM,EAAE,cAAc,QAAQ;AAAA,EACvC,CAAC;AACH,CAAC;",
|
|
4
|
+
"sourcesContent": ["import { describe, expect, it } from \"vitest\";\nimport StagehandDefaultExport, * as Stagehand from \"@browserbasehq/stagehand\";\nimport { publicErrorTypes } from \"./public-error-types.test.js\";\n\n// Type matcher guidelines:\n//\n// toEqualTypeOf \u2013 Default. Assert full, deep type equality; any type change should fail.\n// e.g. expectTypeOf<ReturnType<typeof foo>>().toEqualTypeOf<FooResult>()\n//\n// toMatchObjectType \u2013 Assert (part of) an object's shape while allowing extra fields.\n// e.g. expectTypeOf(user).toMatchObjectType<{ id: string; email: string }>()\n//\n// toExtend \u2013 Assert that a type is compatible with a broader contract (assignable/extends).\n// e.g. expectTypeOf<User>().toExtend<BaseUser>()\n\nconst publicApiShape = {\n __internalMaybeRunShutdownSupervisorFromArgv:\n Stagehand.__internalMaybeRunShutdownSupervisorFromArgv,\n __internalCreateInMemoryAgentCacheHandle:\n Stagehand.__internalCreateInMemoryAgentCacheHandle,\n AISdkClient: Stagehand.AISdkClient,\n Api: Stagehand.Api,\n AVAILABLE_CUA_MODELS: Stagehand.AVAILABLE_CUA_MODELS,\n AgentProvider: Stagehand.AgentProvider,\n AnnotatedScreenshotText: Stagehand.AnnotatedScreenshotText,\n ConsoleMessage: Stagehand.ConsoleMessage,\n CustomOpenAIClient: Stagehand.CustomOpenAIClient,\n LLMClient: Stagehand.LLMClient,\n LOG_LEVEL_NAMES: Stagehand.LOG_LEVEL_NAMES,\n Response: Stagehand.Response,\n Stagehand: Stagehand.Stagehand,\n V3: Stagehand.V3,\n V3Evaluator: Stagehand.V3Evaluator,\n V3FunctionName: Stagehand.V3FunctionName,\n connectToMCPServer: Stagehand.connectToMCPServer,\n default: StagehandDefaultExport,\n defaultExtractSchema: Stagehand.defaultExtractSchema,\n getAISDKLanguageModel: Stagehand.getAISDKLanguageModel,\n getZodType: Stagehand.getZodType,\n injectUrls: Stagehand.injectUrls,\n isRunningInBun: Stagehand.isRunningInBun,\n isZod3Schema: Stagehand.isZod3Schema,\n isZod4Schema: Stagehand.isZod4Schema,\n jsonSchemaToZod: Stagehand.jsonSchemaToZod,\n loadApiKeyFromEnv: Stagehand.loadApiKeyFromEnv,\n localBrowserLaunchOptionsSchema: Stagehand.localBrowserLaunchOptionsSchema,\n modelToAgentProviderMap: Stagehand.modelToAgentProviderMap,\n pageTextSchema: Stagehand.pageTextSchema,\n providerEnvVarMap: Stagehand.providerEnvVarMap,\n toGeminiSchema: Stagehand.toGeminiSchema,\n toJsonSchema: Stagehand.toJsonSchema,\n tool: Stagehand.tool,\n transformSchema: Stagehand.transformSchema,\n trimTrailingTextNode: Stagehand.trimTrailingTextNode,\n validateZodSchema: Stagehand.validateZodSchema,\n ...publicErrorTypes,\n} as const;\n\ntype StagehandExports = typeof Stagehand & {\n default: typeof StagehandDefaultExport;\n};\n\ntype PublicAPI = {\n [K in keyof typeof publicApiShape]: StagehandExports[K];\n};\n\ndescribe(\"Stagehand public API export surface\", () => {\n it(\"public API shape matches module exports\", () => {\n const _check: PublicAPI = publicApiShape;\n void _check;\n });\n\n it(\"does not expose unexpected top-level exports\", () => {\n const expected = Object.keys(publicApiShape).sort();\n const actual = Object.keys(Stagehand).sort();\n expect(actual).toStrictEqual(expected);\n });\n});\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,OAAO,6BAA6B,eAAe;AACnD,SAAS,wBAAwB;AAajC,MAAM,iBAAiB;AAAA,EACrB,8CACE,UAAU;AAAA,EACZ,0CACE,UAAU;AAAA,EACZ,aAAa,UAAU;AAAA,EACvB,KAAK,UAAU;AAAA,EACf,sBAAsB,UAAU;AAAA,EAChC,eAAe,UAAU;AAAA,EACzB,yBAAyB,UAAU;AAAA,EACnC,gBAAgB,UAAU;AAAA,EAC1B,oBAAoB,UAAU;AAAA,EAC9B,WAAW,UAAU;AAAA,EACrB,iBAAiB,UAAU;AAAA,EAC3B,UAAU,UAAU;AAAA,EACpB,WAAW,UAAU;AAAA,EACrB,IAAI,UAAU;AAAA,EACd,aAAa,UAAU;AAAA,EACvB,gBAAgB,UAAU;AAAA,EAC1B,oBAAoB,UAAU;AAAA,EAC9B,SAAS;AAAA,EACT,sBAAsB,UAAU;AAAA,EAChC,uBAAuB,UAAU;AAAA,EACjC,YAAY,UAAU;AAAA,EACtB,YAAY,UAAU;AAAA,EACtB,gBAAgB,UAAU;AAAA,EAC1B,cAAc,UAAU;AAAA,EACxB,cAAc,UAAU;AAAA,EACxB,iBAAiB,UAAU;AAAA,EAC3B,mBAAmB,UAAU;AAAA,EAC7B,iCAAiC,UAAU;AAAA,EAC3C,yBAAyB,UAAU;AAAA,EACnC,gBAAgB,UAAU;AAAA,EAC1B,mBAAmB,UAAU;AAAA,EAC7B,gBAAgB,UAAU;AAAA,EAC1B,cAAc,UAAU;AAAA,EACxB,MAAM,UAAU;AAAA,EAChB,iBAAiB,UAAU;AAAA,EAC3B,sBAAsB,UAAU;AAAA,EAChC,mBAAmB,UAAU;AAAA,EAC7B,GAAG;AACL;AAUA,SAAS,uCAAuC,MAAM;AACpD,KAAG,2CAA2C,MAAM;AAClD,UAAM,SAAoB;AAAA,EAE5B,CAAC;AAED,KAAG,gDAAgD,MAAM;AACvD,UAAM,WAAW,OAAO,KAAK,cAAc,EAAE,KAAK;AAClD,UAAM,SAAS,OAAO,KAAK,SAAS,EAAE,KAAK;AAC3C,WAAO,MAAM,EAAE,cAAc,QAAQ;AAAA,EACvC,CAAC;AACH,CAAC;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@browserbasehq/orca",
|
|
3
|
-
"version": "3.1.0-patch.
|
|
3
|
+
"version": "3.1.0-patch.1",
|
|
4
4
|
"description": "An AI web browsing framework focused on simplicity and extensibility.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"import": "./dist/esm/index.js",
|
|
13
13
|
"require": "./dist/cjs/index.js"
|
|
14
14
|
},
|
|
15
|
+
"./cli": "./dist/esm/lib/v3/cli.js",
|
|
15
16
|
"./*.js": {
|
|
16
17
|
"types": "./dist/esm/*.d.ts",
|
|
17
18
|
"import": "./dist/esm/*.js"
|
|
@@ -22,24 +23,27 @@
|
|
|
22
23
|
},
|
|
23
24
|
"./package.json": "./package.json"
|
|
24
25
|
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": "^20.19.0 || >=22.12.0"
|
|
28
|
+
},
|
|
25
29
|
"scripts": {
|
|
26
30
|
"gen-version": "tsx scripts/gen-version.ts",
|
|
31
|
+
"build-dom-scripts": "tsx lib/v3/dom/genDomScripts.ts && tsx lib/v3/dom/genLocatorScripts.ts && tsx lib/v3/dom/genScreenshotScripts.ts && tsx lib/v3/dom/genA11yScripts.ts",
|
|
27
32
|
"build:cjs": "tsx scripts/build-cjs.ts",
|
|
28
33
|
"build:esm": "tsx scripts/build-esm.ts",
|
|
29
|
-
"build
|
|
30
|
-
"typecheck": "pnpm -w --dir ../.. exec tsc -p packages/core/tsconfig.json --noEmit",
|
|
31
|
-
"build": "pnpm run build:esm && pnpm run typecheck",
|
|
34
|
+
"build": "pnpm run build:esm && pnpm run build:cjs",
|
|
32
35
|
"example": "node --import tsx -e \"const args=process.argv.slice(1).filter(a=>a!=='--'); const [p]=args; const n=(p||'example').replace(/^\\.\\//,'').replace(/\\.ts$/i,''); import('node:path').then(path=>import(new URL(path.resolve('examples', n + '.ts'), 'file:')));\" --",
|
|
33
|
-
"test": "pnpm run test:core --",
|
|
36
|
+
"test": "pnpm -w --dir ../.. exec turbo run test:core test:e2e --filter=@browserbasehq/stagehand --",
|
|
34
37
|
"test:core": "tsx scripts/test-core.ts",
|
|
35
38
|
"test:e2e": "tsx scripts/test-e2e.ts",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
39
|
+
"format": "prettier --write .",
|
|
40
|
+
"typecheck": "pnpm -w --dir ../.. exec tsc -p packages/core/tsconfig.json --noEmit",
|
|
41
|
+
"eslint": "eslint .",
|
|
42
|
+
"lint": "cd ../.. && prettier --check packages/core && cd packages/core && pnpm run eslint && pnpm run typecheck"
|
|
38
43
|
},
|
|
39
44
|
"files": [
|
|
40
45
|
"dist/esm",
|
|
41
|
-
"dist/cjs"
|
|
42
|
-
"dist/stagehand.config.d.ts"
|
|
46
|
+
"dist/cjs"
|
|
43
47
|
],
|
|
44
48
|
"keywords": [
|
|
45
49
|
"ai",
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { getV3DynamicTestConfig } from "./v3.dynamic.config.js";
|
|
2
|
-
function summarizeV3Config() {
|
|
3
|
-
try {
|
|
4
|
-
const cfg = getV3DynamicTestConfig();
|
|
5
|
-
return {
|
|
6
|
-
env: cfg.env,
|
|
7
|
-
disableAPI: cfg.disableAPI,
|
|
8
|
-
selfHeal: cfg.selfHeal,
|
|
9
|
-
experimental: cfg.experimental,
|
|
10
|
-
localBrowserLaunchOptions: cfg.localBrowserLaunchOptions ? {
|
|
11
|
-
headless: cfg.localBrowserLaunchOptions.headless,
|
|
12
|
-
viewport: cfg.localBrowserLaunchOptions.viewport,
|
|
13
|
-
hasExecutablePath: Boolean(
|
|
14
|
-
cfg.localBrowserLaunchOptions.executablePath
|
|
15
|
-
),
|
|
16
|
-
argsCount: cfg.localBrowserLaunchOptions.args?.length ?? 0
|
|
17
|
-
} : void 0,
|
|
18
|
-
browserbaseSessionCreateParams: cfg.browserbaseSessionCreateParams ? {
|
|
19
|
-
region: cfg.browserbaseSessionCreateParams.region,
|
|
20
|
-
hasViewport: Boolean(
|
|
21
|
-
cfg.browserbaseSessionCreateParams.browserSettings?.viewport
|
|
22
|
-
)
|
|
23
|
-
} : void 0
|
|
24
|
-
};
|
|
25
|
-
} catch (error) {
|
|
26
|
-
return { error: String(error) };
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
function summarizeEnv() {
|
|
30
|
-
return {
|
|
31
|
-
STAGEHAND_BROWSER_TARGET: process.env.STAGEHAND_BROWSER_TARGET,
|
|
32
|
-
BB_ENV: process.env.BB_ENV,
|
|
33
|
-
// BB_ENV = 'local' | 'dev' | 'prod' (hosting environment the stagehand-api server is running in)
|
|
34
|
-
NODE_ENV: process.env.NODE_ENV,
|
|
35
|
-
// NODE_ENV = 'development' | 'test' | 'production' | 'staging' (used only to control logging)
|
|
36
|
-
CI: process.env.CI,
|
|
37
|
-
// CI = 'true' | 'false' (used only to control test parallelism and pnpm prepare script)
|
|
38
|
-
STAGEHAND_API_URL: process.env.STAGEHAND_API_URL,
|
|
39
|
-
BROWSERBASE_REGION: process.env.BROWSERBASE_REGION,
|
|
40
|
-
BROWSERBASE_API_KEY: process.env.BROWSERBASE_API_KEY ? "[redacted]" : "missing!",
|
|
41
|
-
BROWSERBASE_PROJECT_ID: process.env.BROWSERBASE_PROJECT_ID ? "[redacted]" : "missing!"
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
class EnvReporter {
|
|
45
|
-
onTestBegin(test) {
|
|
46
|
-
const payload = {
|
|
47
|
-
test: test.titlePath().join(" > "),
|
|
48
|
-
env: summarizeEnv(),
|
|
49
|
-
config: summarizeV3Config()
|
|
50
|
-
};
|
|
51
|
-
console.log(`[e2e-env] ${JSON.stringify(payload)}`);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
export {
|
|
55
|
-
EnvReporter as default
|
|
56
|
-
};
|
|
57
|
-
//# sourceMappingURL=envReporter.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../../../lib/v3/tests/envReporter.ts"],
|
|
4
|
-
"sourcesContent": ["import type { Reporter, TestCase } from \"@playwright/test/reporter\";\nimport { getV3DynamicTestConfig } from \"./v3.dynamic.config.js\";\n\ntype ConfigSummary = {\n env?: string;\n disableAPI?: boolean;\n selfHeal?: boolean;\n experimental?: boolean;\n localBrowserLaunchOptions?: {\n headless?: boolean;\n viewport?: { width?: number; height?: number };\n hasExecutablePath?: boolean;\n argsCount?: number;\n };\n browserbaseSessionCreateParams?: {\n region?: string;\n hasViewport?: boolean;\n };\n error?: string;\n};\n\n// Keep this small and log-safe; never emit secrets in CI logs.\nfunction summarizeV3Config(): ConfigSummary {\n try {\n const cfg = getV3DynamicTestConfig();\n return {\n env: cfg.env,\n disableAPI: cfg.disableAPI,\n selfHeal: cfg.selfHeal,\n experimental: cfg.experimental,\n localBrowserLaunchOptions: cfg.localBrowserLaunchOptions\n ? {\n headless: cfg.localBrowserLaunchOptions.headless,\n viewport: cfg.localBrowserLaunchOptions.viewport,\n hasExecutablePath: Boolean(\n cfg.localBrowserLaunchOptions.executablePath,\n ),\n argsCount: cfg.localBrowserLaunchOptions.args?.length ?? 0,\n }\n : undefined,\n browserbaseSessionCreateParams: cfg.browserbaseSessionCreateParams\n ? {\n region: cfg.browserbaseSessionCreateParams.region,\n hasViewport: Boolean(\n cfg.browserbaseSessionCreateParams.browserSettings?.viewport,\n ),\n }\n : undefined,\n };\n } catch (error) {\n return { error: String(error) };\n }\n}\n\nfunction summarizeEnv() {\n return {\n STAGEHAND_BROWSER_TARGET: process.env.STAGEHAND_BROWSER_TARGET,\n BB_ENV: process.env.BB_ENV, // BB_ENV = 'local' | 'dev' | 'prod' (hosting environment the stagehand-api server is running in)\n NODE_ENV: process.env.NODE_ENV, // NODE_ENV = 'development' | 'test' | 'production' | 'staging' (used only to control logging)\n CI: process.env.CI, // CI = 'true' | 'false' (used only to control test parallelism and pnpm prepare script)\n STAGEHAND_API_URL: process.env.STAGEHAND_API_URL,\n BROWSERBASE_REGION: process.env.BROWSERBASE_REGION,\n BROWSERBASE_API_KEY: process.env.BROWSERBASE_API_KEY\n ? \"[redacted]\"\n : \"missing!\",\n BROWSERBASE_PROJECT_ID: process.env.BROWSERBASE_PROJECT_ID\n ? \"[redacted]\"\n : \"missing!\",\n };\n}\n\nexport default class EnvReporter implements Reporter {\n onTestBegin(test: TestCase): void {\n const payload = {\n test: test.titlePath().join(\" > \"),\n env: summarizeEnv(),\n config: summarizeV3Config(),\n };\n console.log(`[e2e-env] ${JSON.stringify(payload)}`);\n }\n}\n"],
|
|
5
|
-
"mappings": "AACA,SAAS,8BAA8B;AAqBvC,SAAS,oBAAmC;AAC1C,MAAI;AACF,UAAM,MAAM,uBAAuB;AACnC,WAAO;AAAA,MACL,KAAK,IAAI;AAAA,MACT,YAAY,IAAI;AAAA,MAChB,UAAU,IAAI;AAAA,MACd,cAAc,IAAI;AAAA,MAClB,2BAA2B,IAAI,4BAC3B;AAAA,QACE,UAAU,IAAI,0BAA0B;AAAA,QACxC,UAAU,IAAI,0BAA0B;AAAA,QACxC,mBAAmB;AAAA,UACjB,IAAI,0BAA0B;AAAA,QAChC;AAAA,QACA,WAAW,IAAI,0BAA0B,MAAM,UAAU;AAAA,MAC3D,IACA;AAAA,MACJ,gCAAgC,IAAI,iCAChC;AAAA,QACE,QAAQ,IAAI,+BAA+B;AAAA,QAC3C,aAAa;AAAA,UACX,IAAI,+BAA+B,iBAAiB;AAAA,QACtD;AAAA,MACF,IACA;AAAA,IACN;AAAA,EACF,SAAS,OAAO;AACd,WAAO,EAAE,OAAO,OAAO,KAAK,EAAE;AAAA,EAChC;AACF;AAEA,SAAS,eAAe;AACtB,SAAO;AAAA,IACL,0BAA0B,QAAQ,IAAI;AAAA,IACtC,QAAQ,QAAQ,IAAI;AAAA;AAAA,IACpB,UAAU,QAAQ,IAAI;AAAA;AAAA,IACtB,IAAI,QAAQ,IAAI;AAAA;AAAA,IAChB,mBAAmB,QAAQ,IAAI;AAAA,IAC/B,oBAAoB,QAAQ,IAAI;AAAA,IAChC,qBAAqB,QAAQ,IAAI,sBAC7B,eACA;AAAA,IACJ,wBAAwB,QAAQ,IAAI,yBAChC,eACA;AAAA,EACN;AACF;AAEA,MAAO,YAA8C;AAAA,EACnD,YAAY,MAAsB;AAChC,UAAM,UAAU;AAAA,MACd,MAAM,KAAK,UAAU,EAAE,KAAK,KAAK;AAAA,MACjC,KAAK,aAAa;AAAA,MAClB,QAAQ,kBAAkB;AAAA,IAC5B;AACA,YAAQ,IAAI,aAAa,KAAK,UAAU,OAAO,CAAC,EAAE;AAAA,EACpD;AACF;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { actTool } from "../lib/v3/agent/tools/act.js";
|
|
3
|
-
import { extractTool } from "../lib/v3/agent/tools/extract.js";
|
|
4
|
-
import { fillFormTool } from "../lib/v3/agent/tools/fillform.js";
|
|
5
|
-
function createMockV3() {
|
|
6
|
-
const calls = [];
|
|
7
|
-
const mock = {
|
|
8
|
-
logger: vi.fn(),
|
|
9
|
-
recordAgentReplayStep: vi.fn(),
|
|
10
|
-
act: vi.fn(async (_instruction, options) => {
|
|
11
|
-
calls.push({ method: "act", model: options?.model });
|
|
12
|
-
return {
|
|
13
|
-
success: true,
|
|
14
|
-
message: "ok",
|
|
15
|
-
actionDescription: "clicked",
|
|
16
|
-
actions: []
|
|
17
|
-
};
|
|
18
|
-
}),
|
|
19
|
-
extract: vi.fn(
|
|
20
|
-
async (_instruction, _schema, options) => {
|
|
21
|
-
calls.push({ method: "extract", model: options?.model });
|
|
22
|
-
return { extraction: "data" };
|
|
23
|
-
}
|
|
24
|
-
),
|
|
25
|
-
observe: vi.fn(
|
|
26
|
-
async (_instruction, options) => {
|
|
27
|
-
calls.push({ method: "observe", model: options?.model });
|
|
28
|
-
return [];
|
|
29
|
-
}
|
|
30
|
-
),
|
|
31
|
-
calls
|
|
32
|
-
};
|
|
33
|
-
return mock;
|
|
34
|
-
}
|
|
35
|
-
describe("agent tools pass full executionModel config to v3 methods", () => {
|
|
36
|
-
const modelConfig = {
|
|
37
|
-
modelName: "openai/gpt-4o-mini",
|
|
38
|
-
apiKey: "sk-test-key",
|
|
39
|
-
baseURL: "https://custom.api"
|
|
40
|
-
};
|
|
41
|
-
it("actTool passes AgentModelConfig object to v3.act()", async () => {
|
|
42
|
-
const v3 = createMockV3();
|
|
43
|
-
const tool = actTool(v3, modelConfig);
|
|
44
|
-
await tool.execute(
|
|
45
|
-
{ action: "click the button" },
|
|
46
|
-
{
|
|
47
|
-
toolCallId: "t1",
|
|
48
|
-
messages: [],
|
|
49
|
-
abortSignal: new AbortController().signal
|
|
50
|
-
}
|
|
51
|
-
);
|
|
52
|
-
expect(v3.calls).toHaveLength(1);
|
|
53
|
-
expect(v3.calls[0].method).toBe("act");
|
|
54
|
-
expect(v3.calls[0].model).toBe(modelConfig);
|
|
55
|
-
});
|
|
56
|
-
it("extractTool passes AgentModelConfig object to v3.extract()", async () => {
|
|
57
|
-
const v3 = createMockV3();
|
|
58
|
-
const tool = extractTool(v3, modelConfig);
|
|
59
|
-
await tool.execute(
|
|
60
|
-
{ instruction: "get the title", schema: void 0 },
|
|
61
|
-
{
|
|
62
|
-
toolCallId: "t2",
|
|
63
|
-
messages: [],
|
|
64
|
-
abortSignal: new AbortController().signal
|
|
65
|
-
}
|
|
66
|
-
);
|
|
67
|
-
expect(v3.calls).toHaveLength(1);
|
|
68
|
-
expect(v3.calls[0].method).toBe("extract");
|
|
69
|
-
expect(v3.calls[0].model).toBe(modelConfig);
|
|
70
|
-
});
|
|
71
|
-
it("fillFormTool passes AgentModelConfig object to v3.observe()", async () => {
|
|
72
|
-
const v3 = createMockV3();
|
|
73
|
-
const tool = fillFormTool(v3, modelConfig);
|
|
74
|
-
await tool.execute(
|
|
75
|
-
{ fields: [{ action: "type hello into name", value: "hello" }] },
|
|
76
|
-
{
|
|
77
|
-
toolCallId: "t3",
|
|
78
|
-
messages: [],
|
|
79
|
-
abortSignal: new AbortController().signal
|
|
80
|
-
}
|
|
81
|
-
);
|
|
82
|
-
expect(v3.calls).toHaveLength(1);
|
|
83
|
-
expect(v3.calls[0].method).toBe("observe");
|
|
84
|
-
expect(v3.calls[0].model).toBe(modelConfig);
|
|
85
|
-
});
|
|
86
|
-
it("actTool passes undefined when no executionModel is set", async () => {
|
|
87
|
-
const v3 = createMockV3();
|
|
88
|
-
const tool = actTool(v3, void 0);
|
|
89
|
-
await tool.execute(
|
|
90
|
-
{ action: "click the button" },
|
|
91
|
-
{
|
|
92
|
-
toolCallId: "t4",
|
|
93
|
-
messages: [],
|
|
94
|
-
abortSignal: new AbortController().signal
|
|
95
|
-
}
|
|
96
|
-
);
|
|
97
|
-
expect(v3.calls).toHaveLength(1);
|
|
98
|
-
expect(v3.calls[0].model).toBeUndefined();
|
|
99
|
-
});
|
|
100
|
-
it("actTool passes plain string executionModel to v3.act()", async () => {
|
|
101
|
-
const v3 = createMockV3();
|
|
102
|
-
const tool = actTool(v3, "openai/gpt-4o-mini");
|
|
103
|
-
await tool.execute(
|
|
104
|
-
{ action: "click the button" },
|
|
105
|
-
{
|
|
106
|
-
toolCallId: "t5",
|
|
107
|
-
messages: [],
|
|
108
|
-
abortSignal: new AbortController().signal
|
|
109
|
-
}
|
|
110
|
-
);
|
|
111
|
-
expect(v3.calls).toHaveLength(1);
|
|
112
|
-
expect(v3.calls[0].model).toBe("openai/gpt-4o-mini");
|
|
113
|
-
});
|
|
114
|
-
});
|
|
115
|
-
describe("executionModel fallback logic", () => {
|
|
116
|
-
function resolveExecutionModel(options) {
|
|
117
|
-
return options?.executionModel ?? options?.model;
|
|
118
|
-
}
|
|
119
|
-
it("prefers explicit executionModel over model", () => {
|
|
120
|
-
const result = resolveExecutionModel({
|
|
121
|
-
executionModel: "openai/gpt-4o-mini",
|
|
122
|
-
model: "anthropic/claude-sonnet-4-20250514"
|
|
123
|
-
});
|
|
124
|
-
expect(result).toBe("openai/gpt-4o-mini");
|
|
125
|
-
});
|
|
126
|
-
it("falls back to model when executionModel is not set", () => {
|
|
127
|
-
const modelConfig = {
|
|
128
|
-
modelName: "anthropic/claude-sonnet-4-20250514",
|
|
129
|
-
apiKey: "sk-test"
|
|
130
|
-
};
|
|
131
|
-
const result = resolveExecutionModel({ model: modelConfig });
|
|
132
|
-
expect(result).toBe(modelConfig);
|
|
133
|
-
});
|
|
134
|
-
it("returns undefined when neither is set", () => {
|
|
135
|
-
expect(resolveExecutionModel({})).toBeUndefined();
|
|
136
|
-
expect(resolveExecutionModel(void 0)).toBeUndefined();
|
|
137
|
-
});
|
|
138
|
-
});
|
|
139
|
-
//# sourceMappingURL=agent-execution-model.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../tests/agent-execution-model.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { describe, expect, it, vi } from \"vitest\";\nimport { actTool } from \"../lib/v3/agent/tools/act.js\";\nimport { extractTool } from \"../lib/v3/agent/tools/extract.js\";\nimport { fillFormTool } from \"../lib/v3/agent/tools/fillform.js\";\nimport type { V3 } from \"../lib/v3/v3.js\";\n\n/**\n * Minimal mock of V3 that captures how tools pass `model` options\n * into v3.act(), v3.extract(), and v3.observe().\n */\nfunction createMockV3() {\n const calls: { method: string; model: unknown }[] = [];\n\n const mock = {\n logger: vi.fn(),\n recordAgentReplayStep: vi.fn(),\n act: vi.fn(async (_instruction: unknown, options?: { model?: unknown }) => {\n calls.push({ method: \"act\", model: options?.model });\n return {\n success: true,\n message: \"ok\",\n actionDescription: \"clicked\",\n actions: [],\n };\n }),\n extract: vi.fn(\n async (\n _instruction: unknown,\n _schema: unknown,\n options?: { model?: unknown },\n ) => {\n calls.push({ method: \"extract\", model: options?.model });\n return { extraction: \"data\" };\n },\n ),\n observe: vi.fn(\n async (_instruction: unknown, options?: { model?: unknown }) => {\n calls.push({ method: \"observe\", model: options?.model });\n return [];\n },\n ),\n calls,\n };\n\n return mock as unknown as V3 & { calls: typeof calls };\n}\n\ndescribe(\"agent tools pass full executionModel config to v3 methods\", () => {\n const modelConfig = {\n modelName: \"openai/gpt-4o-mini\",\n apiKey: \"sk-test-key\",\n baseURL: \"https://custom.api\",\n };\n\n it(\"actTool passes AgentModelConfig object to v3.act()\", async () => {\n const v3 = createMockV3();\n const tool = actTool(v3, modelConfig);\n await tool.execute!(\n { action: \"click the button\" },\n {\n toolCallId: \"t1\",\n messages: [],\n abortSignal: new AbortController().signal,\n },\n );\n\n expect(v3.calls).toHaveLength(1);\n expect(v3.calls[0].method).toBe(\"act\");\n expect(v3.calls[0].model).toBe(modelConfig);\n });\n\n it(\"extractTool passes AgentModelConfig object to v3.extract()\", async () => {\n const v3 = createMockV3();\n const tool = extractTool(v3, modelConfig);\n await tool.execute!(\n { instruction: \"get the title\", schema: undefined },\n {\n toolCallId: \"t2\",\n messages: [],\n abortSignal: new AbortController().signal,\n },\n );\n\n expect(v3.calls).toHaveLength(1);\n expect(v3.calls[0].method).toBe(\"extract\");\n expect(v3.calls[0].model).toBe(modelConfig);\n });\n\n it(\"fillFormTool passes AgentModelConfig object to v3.observe()\", async () => {\n const v3 = createMockV3();\n const tool = fillFormTool(v3, modelConfig);\n await tool.execute!(\n { fields: [{ action: \"type hello into name\", value: \"hello\" }] },\n {\n toolCallId: \"t3\",\n messages: [],\n abortSignal: new AbortController().signal,\n },\n );\n\n expect(v3.calls).toHaveLength(1);\n expect(v3.calls[0].method).toBe(\"observe\");\n expect(v3.calls[0].model).toBe(modelConfig);\n });\n\n it(\"actTool passes undefined when no executionModel is set\", async () => {\n const v3 = createMockV3();\n const tool = actTool(v3, undefined);\n await tool.execute!(\n { action: \"click the button\" },\n {\n toolCallId: \"t4\",\n messages: [],\n abortSignal: new AbortController().signal,\n },\n );\n\n expect(v3.calls).toHaveLength(1);\n expect(v3.calls[0].model).toBeUndefined();\n });\n\n it(\"actTool passes plain string executionModel to v3.act()\", async () => {\n const v3 = createMockV3();\n const tool = actTool(v3, \"openai/gpt-4o-mini\");\n await tool.execute!(\n { action: \"click the button\" },\n {\n toolCallId: \"t5\",\n messages: [],\n abortSignal: new AbortController().signal,\n },\n );\n\n expect(v3.calls).toHaveLength(1);\n expect(v3.calls[0].model).toBe(\"openai/gpt-4o-mini\");\n });\n});\n\ndescribe(\"executionModel fallback logic\", () => {\n // This mirrors the resolution in V3.prepareAgentExecution (v3.ts:1682):\n // const resolvedExecutionModel = options?.executionModel ?? options?.model;\n function resolveExecutionModel(options?: {\n executionModel?: string | { modelName: string };\n model?: string | { modelName: string };\n }) {\n return options?.executionModel ?? options?.model;\n }\n\n it(\"prefers explicit executionModel over model\", () => {\n const result = resolveExecutionModel({\n executionModel: \"openai/gpt-4o-mini\",\n model: \"anthropic/claude-sonnet-4-20250514\",\n });\n expect(result).toBe(\"openai/gpt-4o-mini\");\n });\n\n it(\"falls back to model when executionModel is not set\", () => {\n const modelConfig = {\n modelName: \"anthropic/claude-sonnet-4-20250514\",\n apiKey: \"sk-test\",\n };\n const result = resolveExecutionModel({ model: modelConfig });\n expect(result).toBe(modelConfig);\n });\n\n it(\"returns undefined when neither is set\", () => {\n expect(resolveExecutionModel({})).toBeUndefined();\n expect(resolveExecutionModel(undefined)).toBeUndefined();\n });\n});\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
|
2
|
-
import { extractModelName, resolveModel } from "../lib/modelUtils.js";
|
|
3
|
-
describe("extractModelName", () => {
|
|
4
|
-
it("returns undefined for undefined input", () => {
|
|
5
|
-
expect(extractModelName(void 0)).toBeUndefined();
|
|
6
|
-
});
|
|
7
|
-
it("returns the string as-is for a string input", () => {
|
|
8
|
-
expect(extractModelName("openai/gpt-4o")).toBe("openai/gpt-4o");
|
|
9
|
-
});
|
|
10
|
-
it("returns modelName from an object input", () => {
|
|
11
|
-
expect(
|
|
12
|
-
extractModelName({ modelName: "anthropic/claude-sonnet-4-20250514" })
|
|
13
|
-
).toBe("anthropic/claude-sonnet-4-20250514");
|
|
14
|
-
});
|
|
15
|
-
it("returns modelName from an object with extra properties", () => {
|
|
16
|
-
expect(
|
|
17
|
-
extractModelName({
|
|
18
|
-
modelName: "openai/gpt-4o-mini",
|
|
19
|
-
apiKey: "sk-test",
|
|
20
|
-
baseURL: "https://custom.endpoint"
|
|
21
|
-
})
|
|
22
|
-
).toBe("openai/gpt-4o-mini");
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
describe("resolveModel", () => {
|
|
26
|
-
it("extracts provider and modelName from a string", () => {
|
|
27
|
-
const result = resolveModel("openai/gpt-4o");
|
|
28
|
-
expect(result.provider).toBe("openai");
|
|
29
|
-
expect(result.modelName).toBe("gpt-4o");
|
|
30
|
-
expect(result.clientOptions).toEqual({});
|
|
31
|
-
});
|
|
32
|
-
it("extracts clientOptions from an object config", () => {
|
|
33
|
-
const result = resolveModel({
|
|
34
|
-
modelName: "openai/gpt-4o",
|
|
35
|
-
apiKey: "sk-test"
|
|
36
|
-
});
|
|
37
|
-
expect(result.provider).toBe("openai");
|
|
38
|
-
expect(result.modelName).toBe("gpt-4o");
|
|
39
|
-
expect(result.clientOptions).toMatchObject({ apiKey: "sk-test" });
|
|
40
|
-
expect(result.clientOptions).not.toHaveProperty("modelName");
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
//# sourceMappingURL=model-utils.test.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../tests/model-utils.test.ts"],
|
|
4
|
-
"sourcesContent": ["import { describe, expect, it } from \"vitest\";\nimport { extractModelName, resolveModel } from \"../lib/modelUtils.js\";\n\ndescribe(\"extractModelName\", () => {\n it(\"returns undefined for undefined input\", () => {\n expect(extractModelName(undefined)).toBeUndefined();\n });\n\n it(\"returns the string as-is for a string input\", () => {\n expect(extractModelName(\"openai/gpt-4o\")).toBe(\"openai/gpt-4o\");\n });\n\n it(\"returns modelName from an object input\", () => {\n expect(\n extractModelName({ modelName: \"anthropic/claude-sonnet-4-20250514\" }),\n ).toBe(\"anthropic/claude-sonnet-4-20250514\");\n });\n\n it(\"returns modelName from an object with extra properties\", () => {\n expect(\n extractModelName({\n modelName: \"openai/gpt-4o-mini\",\n apiKey: \"sk-test\",\n baseURL: \"https://custom.endpoint\",\n }),\n ).toBe(\"openai/gpt-4o-mini\");\n });\n});\n\ndescribe(\"resolveModel\", () => {\n it(\"extracts provider and modelName from a string\", () => {\n const result = resolveModel(\"openai/gpt-4o\");\n expect(result.provider).toBe(\"openai\");\n expect(result.modelName).toBe(\"gpt-4o\");\n expect(result.clientOptions).toEqual({});\n });\n\n it(\"extracts clientOptions from an object config\", () => {\n const result = resolveModel({\n modelName: \"openai/gpt-4o\" as never,\n apiKey: \"sk-test\",\n });\n expect(result.provider).toBe(\"openai\");\n expect(result.modelName).toBe(\"gpt-4o\");\n expect(result.clientOptions).toMatchObject({ apiKey: \"sk-test\" });\n // modelName should not leak into clientOptions\n expect(result.clientOptions).not.toHaveProperty(\"modelName\");\n });\n});\n"],
|
|
5
|
-
"mappings": "AAAA,SAAS,UAAU,QAAQ,UAAU;AACrC,SAAS,kBAAkB,oBAAoB;AAE/C,SAAS,oBAAoB,MAAM;AACjC,KAAG,yCAAyC,MAAM;AAChD,WAAO,iBAAiB,MAAS,CAAC,EAAE,cAAc;AAAA,EACpD,CAAC;AAED,KAAG,+CAA+C,MAAM;AACtD,WAAO,iBAAiB,eAAe,CAAC,EAAE,KAAK,eAAe;AAAA,EAChE,CAAC;AAED,KAAG,0CAA0C,MAAM;AACjD;AAAA,MACE,iBAAiB,EAAE,WAAW,qCAAqC,CAAC;AAAA,IACtE,EAAE,KAAK,oCAAoC;AAAA,EAC7C,CAAC;AAED,KAAG,0DAA0D,MAAM;AACjE;AAAA,MACE,iBAAiB;AAAA,QACf,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS;AAAA,MACX,CAAC;AAAA,IACH,EAAE,KAAK,oBAAoB;AAAA,EAC7B,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,MAAM;AAC7B,KAAG,iDAAiD,MAAM;AACxD,UAAM,SAAS,aAAa,eAAe;AAC3C,WAAO,OAAO,QAAQ,EAAE,KAAK,QAAQ;AACrC,WAAO,OAAO,SAAS,EAAE,KAAK,QAAQ;AACtC,WAAO,OAAO,aAAa,EAAE,QAAQ,CAAC,CAAC;AAAA,EACzC,CAAC;AAED,KAAG,gDAAgD,MAAM;AACvD,UAAM,SAAS,aAAa;AAAA,MAC1B,WAAW;AAAA,MACX,QAAQ;AAAA,IACV,CAAC;AACD,WAAO,OAAO,QAAQ,EAAE,KAAK,QAAQ;AACrC,WAAO,OAAO,SAAS,EAAE,KAAK,QAAQ;AACtC,WAAO,OAAO,aAAa,EAAE,cAAc,EAAE,QAAQ,UAAU,CAAC;AAEhE,WAAO,OAAO,aAAa,EAAE,IAAI,eAAe,WAAW;AAAA,EAC7D,CAAC;AACH,CAAC;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|