@browserbasehq/orca 3.7.2-preview.1 → 3.7.2-preview.2
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/lib/inference.js +24 -18
- package/dist/cjs/lib/inference.js.map +1 -1
- package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.js +1 -1
- package/dist/cjs/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -1
- package/dist/cjs/lib/v3/api.d.ts +1 -1
- package/dist/cjs/lib/v3/api.js +2 -1
- package/dist/cjs/lib/v3/api.js.map +1 -1
- package/dist/cjs/lib/v3/launch/local.js +1 -1
- package/dist/cjs/lib/v3/launch/local.js.map +1 -1
- package/dist/cjs/lib/v3/llm/anthropicOptions.d.ts +0 -6
- package/dist/cjs/lib/v3/llm/anthropicOptions.js +8 -5
- package/dist/cjs/lib/v3/llm/anthropicOptions.js.map +1 -1
- package/dist/cjs/lib/v3/runtimePaths.js +0 -1
- package/dist/cjs/lib/v3/runtimePaths.js.map +1 -1
- package/dist/cjs/lib/v3/types/public/api.js +3 -3
- package/dist/cjs/lib/v3/types/public/api.js.map +1 -1
- package/dist/cjs/lib/v3/types/public/options.d.ts +8 -0
- package/dist/cjs/lib/v3/types/public/options.js.map +1 -1
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +39 -1
- package/dist/cjs/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -1
- package/dist/cjs/lib/v3/v3.d.ts +2 -2
- package/dist/cjs/lib/v3/v3.js +8 -5
- package/dist/cjs/lib/v3/v3.js.map +1 -1
- package/dist/cjs/lib/version.d.ts +1 -1
- package/dist/cjs/lib/version.js +1 -1
- package/dist/cjs/lib/version.js.map +1 -1
- package/dist/esm/lib/inference.js +24 -18
- package/dist/esm/lib/inference.js.map +1 -1
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js +1 -1
- package/dist/esm/lib/v3/agent/utils/handleDoneToolCall.js.map +1 -1
- package/dist/esm/lib/v3/api.d.ts +1 -1
- package/dist/esm/lib/v3/api.js +2 -1
- package/dist/esm/lib/v3/api.js.map +1 -1
- package/dist/esm/lib/v3/launch/local.js +1 -1
- package/dist/esm/lib/v3/launch/local.js.map +1 -1
- package/dist/esm/lib/v3/llm/anthropicOptions.d.ts +0 -6
- package/dist/esm/lib/v3/llm/anthropicOptions.js +8 -5
- package/dist/esm/lib/v3/llm/anthropicOptions.js.map +1 -1
- package/dist/esm/lib/v3/runtimePaths.js +0 -1
- package/dist/esm/lib/v3/runtimePaths.js.map +1 -1
- package/dist/esm/lib/v3/types/public/api.js +3 -3
- package/dist/esm/lib/v3/types/public/api.js.map +1 -1
- package/dist/esm/lib/v3/types/public/options.d.ts +8 -0
- package/dist/esm/lib/v3/types/public/options.js.map +1 -1
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js +39 -1
- package/dist/esm/lib/v3/understudy/a11y/snapshot/coordinateResolver.js.map +1 -1
- package/dist/esm/lib/v3/v3.d.ts +2 -2
- package/dist/esm/lib/v3/v3.js +8 -5
- package/dist/esm/lib/v3/v3.js.map +1 -1
- package/dist/esm/lib/version.d.ts +1 -1
- package/dist/esm/lib/version.js +1 -1
- package/dist/esm/lib/version.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../lib/v3/launch/local.ts"],"names":[],"mappings":"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","sourcesContent":["import { launch, Launcher, LaunchedChrome } from \"chrome-launcher\";\nimport WebSocket from \"ws\";\nimport { ConnectionTimeoutError } from \"../types/public/sdkErrors.js\";\nimport type { LocalBrowserLaunchOptions } from \"../types/public/index.js\";\n\ninterface LaunchLocalOptions extends LocalBrowserLaunchOptions {\n handleSIGINT?: boolean;\n}\n\nconst STAGEHAND_DEFAULT_FLAGS = [\n \"--remote-allow-origins=*\",\n \"--no-first-run\",\n \"--no-default-browser-check\",\n \"--disable-dev-shm-usage\",\n \"--site-per-process\",\n \"--enable-features=WebMCPTesting,DevToolsWebMCPSupport\",\n];\n\nexport async function launchLocalChrome(\n opts: LaunchLocalOptions,\n): Promise<{ ws: string; chrome: LaunchedChrome }> {\n const connectTimeoutMs = opts.connectTimeoutMs ?? 15_000;\n const deadlineMs = Date.now() + connectTimeoutMs;\n const connectionPollInterval = 250;\n const maxConnectionRetries = Math.max(\n 1,\n Math.ceil(connectTimeoutMs / connectionPollInterval),\n );\n const headless = opts.headless ?? false;\n const ignoredDefaults = Array.isArray(opts.ignoreDefaultArgs)\n ? opts.ignoreDefaultArgs\n : null;\n const stagehandDefaultFlags =\n opts.ignoreDefaultArgs === true\n ? []\n : ignoredDefaults\n ? STAGEHAND_DEFAULT_FLAGS.filter((f) => !ignoredDefaults.includes(f))\n : [...STAGEHAND_DEFAULT_FLAGS];\n const chromeFlags = [\n ...stagehandDefaultFlags,\n headless ? \"--headless=new\" : undefined,\n opts.devtools ? \"--auto-open-devtools-for-tabs\" : undefined,\n opts.locale ? `--lang=${opts.locale}` : undefined,\n opts.viewport?.width && opts.viewport?.height\n ? `--window-size=${opts.viewport.width},${opts.viewport.height + 87}`\n : undefined,\n typeof opts.deviceScaleFactor === \"number\"\n ? `--force-device-scale-factor=${Math.max(0.1, opts.deviceScaleFactor)}`\n : undefined,\n opts.hasTouch ? \"--touch-events=enabled\" : undefined,\n opts.ignoreHTTPSErrors ? \"--ignore-certificate-errors\" : undefined,\n opts.proxy?.server ? `--proxy-server=${opts.proxy.server}` : undefined,\n opts.proxy?.bypass ? `--proxy-bypass-list=${opts.proxy.bypass}` : undefined,\n ...(opts.args ?? []),\n ].filter((f): f is string => typeof f === \"string\");\n\n // Handle ignoreDefaultArgs: selectively remove chrome-launcher's built-in\n // defaults while keeping Stagehand's own flags (already in chromeFlags).\n let ignoreDefaultFlags = false;\n if (opts.ignoreDefaultArgs === true) {\n ignoreDefaultFlags = true;\n } else if (\n Array.isArray(opts.ignoreDefaultArgs) &&\n opts.ignoreDefaultArgs.length > 0\n ) {\n // Tell chrome-launcher to skip ALL its defaults, then re-add the ones\n // the user did NOT ask to exclude.\n ignoreDefaultFlags = true;\n const excludeArgs = opts.ignoreDefaultArgs;\n const clDefaults = Launcher.defaultFlags?.() ?? [];\n const kept = clDefaults.filter((f) => !excludeArgs.includes(f));\n chromeFlags.unshift(...kept);\n }\n\n const chrome = await launch({\n chromePath: opts.executablePath,\n chromeFlags,\n port: opts.port,\n userDataDir: opts.userDataDir,\n handleSIGINT: opts.handleSIGINT,\n ignoreDefaultFlags,\n connectionPollInterval,\n maxConnectionRetries,\n });\n\n const ws = await waitForWebSocketDebuggerUrl(chrome.port, deadlineMs);\n await waitForWebSocketReady(ws, deadlineMs);\n\n return { ws, chrome };\n}\n\nasync function waitForWebSocketDebuggerUrl(\n port: number,\n deadlineMs: number,\n): Promise<string> {\n let lastErrMsg = \"\";\n\n while (Date.now() < deadlineMs) {\n try {\n const resp = await fetch(`http://127.0.0.1:${port}/json/version`);\n if (resp.ok) {\n const json = (await resp.json()) as unknown;\n const url = (json as { webSocketDebuggerUrl?: string })\n .webSocketDebuggerUrl;\n if (typeof url === \"string\") return url;\n } else {\n lastErrMsg = `${resp.status} ${resp.statusText}`;\n }\n } catch (err) {\n lastErrMsg = err instanceof Error ? err.message : String(err);\n }\n await new Promise((r) => setTimeout(r, 250));\n }\n\n throw new ConnectionTimeoutError(\n `Timed out waiting for /json/version on port ${port} ${\n lastErrMsg ? ` (last error: ${lastErrMsg})` : \"\"\n }`,\n );\n}\n\nasync function waitForWebSocketReady(\n wsUrl: string,\n deadlineMs: number,\n): Promise<void> {\n let lastErrMsg = \"\";\n while (Date.now() < deadlineMs) {\n const remainingMs = Math.max(200, deadlineMs - Date.now());\n try {\n await probeWebSocket(wsUrl, Math.min(2_000, remainingMs));\n return;\n } catch (error) {\n lastErrMsg = error instanceof Error ? error.message : String(error);\n await new Promise((r) => setTimeout(r, 100));\n }\n }\n throw new ConnectionTimeoutError(\n `Timed out waiting for CDP websocket to accept connections at ${wsUrl}${\n lastErrMsg ? ` (last error: ${lastErrMsg})` : \"\"\n }`,\n );\n}\n\nfunction probeWebSocket(wsUrl: string, timeoutMs: number): Promise<void> {\n return new Promise((resolve, reject) => {\n const ws = new WebSocket(wsUrl);\n let settled = false;\n const finish = (error?: unknown) => {\n if (settled) return;\n settled = true;\n clearTimeout(timer);\n try {\n ws.terminate();\n } catch {\n // best-effort cleanup\n }\n if (error) {\n reject(error);\n return;\n }\n resolve();\n };\n const timer = setTimeout(() => {\n finish(new Error(`websocket probe timeout after ${timeoutMs}ms`));\n }, timeoutMs);\n\n ws.once(\"open\", () => finish());\n ws.once(\"error\", (error) => finish(error));\n });\n}\n"]}
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../../../../lib/v3/launch/local.ts"],"names":[],"mappings":"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","sourcesContent":["import { launch, Launcher, LaunchedChrome } from \"chrome-launcher\";\nimport WebSocket from \"ws\";\nimport { ConnectionTimeoutError } from \"../types/public/sdkErrors.js\";\nimport type { LocalBrowserLaunchOptions } from \"../types/public/index.js\";\n\ninterface LaunchLocalOptions extends LocalBrowserLaunchOptions {\n handleSIGINT?: boolean;\n}\n\nconst STAGEHAND_DEFAULT_FLAGS = [\n \"--remote-allow-origins=*\",\n \"--no-first-run\",\n \"--no-default-browser-check\",\n \"--disable-dev-shm-usage\",\n \"--enable-features=WebMCPTesting,DevToolsWebMCPSupport\",\n \"--disable-features=SitePerProcess\",\n];\n\nexport async function launchLocalChrome(\n opts: LaunchLocalOptions,\n): Promise<{ ws: string; chrome: LaunchedChrome }> {\n const connectTimeoutMs = opts.connectTimeoutMs ?? 15_000;\n const deadlineMs = Date.now() + connectTimeoutMs;\n const connectionPollInterval = 250;\n const maxConnectionRetries = Math.max(\n 1,\n Math.ceil(connectTimeoutMs / connectionPollInterval),\n );\n const headless = opts.headless ?? false;\n const ignoredDefaults = Array.isArray(opts.ignoreDefaultArgs)\n ? opts.ignoreDefaultArgs\n : null;\n const stagehandDefaultFlags =\n opts.ignoreDefaultArgs === true\n ? []\n : ignoredDefaults\n ? STAGEHAND_DEFAULT_FLAGS.filter((f) => !ignoredDefaults.includes(f))\n : [...STAGEHAND_DEFAULT_FLAGS];\n const chromeFlags = [\n ...stagehandDefaultFlags,\n headless ? \"--headless=new\" : undefined,\n opts.devtools ? \"--auto-open-devtools-for-tabs\" : undefined,\n opts.locale ? `--lang=${opts.locale}` : undefined,\n opts.viewport?.width && opts.viewport?.height\n ? `--window-size=${opts.viewport.width},${opts.viewport.height + 87}`\n : undefined,\n typeof opts.deviceScaleFactor === \"number\"\n ? `--force-device-scale-factor=${Math.max(0.1, opts.deviceScaleFactor)}`\n : undefined,\n opts.hasTouch ? \"--touch-events=enabled\" : undefined,\n opts.ignoreHTTPSErrors ? \"--ignore-certificate-errors\" : undefined,\n opts.proxy?.server ? `--proxy-server=${opts.proxy.server}` : undefined,\n opts.proxy?.bypass ? `--proxy-bypass-list=${opts.proxy.bypass}` : undefined,\n ...(opts.args ?? []),\n ].filter((f): f is string => typeof f === \"string\");\n\n // Handle ignoreDefaultArgs: selectively remove chrome-launcher's built-in\n // defaults while keeping Stagehand's own flags (already in chromeFlags).\n let ignoreDefaultFlags = false;\n if (opts.ignoreDefaultArgs === true) {\n ignoreDefaultFlags = true;\n } else if (\n Array.isArray(opts.ignoreDefaultArgs) &&\n opts.ignoreDefaultArgs.length > 0\n ) {\n // Tell chrome-launcher to skip ALL its defaults, then re-add the ones\n // the user did NOT ask to exclude.\n ignoreDefaultFlags = true;\n const excludeArgs = opts.ignoreDefaultArgs;\n const clDefaults = Launcher.defaultFlags?.() ?? [];\n const kept = clDefaults.filter((f) => !excludeArgs.includes(f));\n chromeFlags.unshift(...kept);\n }\n\n const chrome = await launch({\n chromePath: opts.executablePath,\n chromeFlags,\n port: opts.port,\n userDataDir: opts.userDataDir,\n handleSIGINT: opts.handleSIGINT,\n ignoreDefaultFlags,\n connectionPollInterval,\n maxConnectionRetries,\n });\n\n const ws = await waitForWebSocketDebuggerUrl(chrome.port, deadlineMs);\n await waitForWebSocketReady(ws, deadlineMs);\n\n return { ws, chrome };\n}\n\nasync function waitForWebSocketDebuggerUrl(\n port: number,\n deadlineMs: number,\n): Promise<string> {\n let lastErrMsg = \"\";\n\n while (Date.now() < deadlineMs) {\n try {\n const resp = await fetch(`http://127.0.0.1:${port}/json/version`);\n if (resp.ok) {\n const json = (await resp.json()) as unknown;\n const url = (json as { webSocketDebuggerUrl?: string })\n .webSocketDebuggerUrl;\n if (typeof url === \"string\") return url;\n } else {\n lastErrMsg = `${resp.status} ${resp.statusText}`;\n }\n } catch (err) {\n lastErrMsg = err instanceof Error ? err.message : String(err);\n }\n await new Promise((r) => setTimeout(r, 250));\n }\n\n throw new ConnectionTimeoutError(\n `Timed out waiting for /json/version on port ${port} ${\n lastErrMsg ? ` (last error: ${lastErrMsg})` : \"\"\n }`,\n );\n}\n\nasync function waitForWebSocketReady(\n wsUrl: string,\n deadlineMs: number,\n): Promise<void> {\n let lastErrMsg = \"\";\n while (Date.now() < deadlineMs) {\n const remainingMs = Math.max(200, deadlineMs - Date.now());\n try {\n await probeWebSocket(wsUrl, Math.min(2_000, remainingMs));\n return;\n } catch (error) {\n lastErrMsg = error instanceof Error ? error.message : String(error);\n await new Promise((r) => setTimeout(r, 100));\n }\n }\n throw new ConnectionTimeoutError(\n `Timed out waiting for CDP websocket to accept connections at ${wsUrl}${\n lastErrMsg ? ` (last error: ${lastErrMsg})` : \"\"\n }`,\n );\n}\n\nfunction probeWebSocket(wsUrl: string, timeoutMs: number): Promise<void> {\n return new Promise((resolve, reject) => {\n const ws = new WebSocket(wsUrl);\n let settled = false;\n const finish = (error?: unknown) => {\n if (settled) return;\n settled = true;\n clearTimeout(timer);\n try {\n ws.terminate();\n } catch {\n // best-effort cleanup\n }\n if (error) {\n reject(error);\n return;\n }\n resolve();\n };\n const timer = setTimeout(() => {\n finish(new Error(`websocket probe timeout after ${timeoutMs}ms`));\n }, timeoutMs);\n\n ws.once(\"open\", () => finish());\n ws.once(\"error\", (error) => finish(error));\n });\n}\n"]}
|
|
@@ -27,12 +27,6 @@ export declare const ANTHROPIC_FABLE_5_FALLBACK_MODEL_ID: "claude-opus-4-8";
|
|
|
27
27
|
/** True for Anthropic models that support adaptive thinking. */
|
|
28
28
|
export declare function isAdaptiveThinkingAnthropicModel(modelId: string): boolean;
|
|
29
29
|
export declare function isAnthropicFable5Model(modelId: string): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* True for models that reject forced tool use
|
|
32
|
-
* (`tool_choice: { type: "tool" }`). Forced tool choice is incompatible with
|
|
33
|
-
* active extended thinking, and on Fable 5 thinking is always on — so the
|
|
34
|
-
* rejection is a certainty there, not a transient quirk.
|
|
35
|
-
*/
|
|
36
30
|
export declare function rejectsForcedToolUse(modelId: string): boolean;
|
|
37
31
|
/** Default adaptive effort on both agent paths (CUA and hybrid/DOM),
|
|
38
32
|
* overridable per client via `thinkingEffort`. */
|
|
@@ -51,13 +51,16 @@ function isAnthropicFable5Model(modelId) {
|
|
|
51
51
|
return (0, utils_js_1.stripModelProvider)(modelId) === "claude-fable-5";
|
|
52
52
|
}
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
55
|
-
* (`tool_choice: { type: "tool" }`). Forced tool choice is incompatible with
|
|
56
|
-
* active extended thinking, and on Fable 5 thinking is always on — so the
|
|
57
|
-
* rejection is a certainty there, not a transient quirk.
|
|
54
|
+
* Models that require automatic tool choice for the final agent assessment.
|
|
58
55
|
*/
|
|
56
|
+
const MODELS_WITHOUT_FORCED_TOOL_USE = new Set([
|
|
57
|
+
"claude-fable-5",
|
|
58
|
+
"claude-fable-5-1",
|
|
59
|
+
"claude-opus-5-5",
|
|
60
|
+
"claude-sonnet-5-5",
|
|
61
|
+
]);
|
|
59
62
|
function rejectsForcedToolUse(modelId) {
|
|
60
|
-
return
|
|
63
|
+
return MODELS_WITHOUT_FORCED_TOOL_USE.has((0, utils_js_1.stripModelProvider)(modelId));
|
|
61
64
|
}
|
|
62
65
|
const VALID_EFFORTS = new Set([
|
|
63
66
|
"low",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropicOptions.js","sourceRoot":"","sources":["../../../../../lib/v3/llm/anthropicOptions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAsCH,4EAEC;AAED,wDAEC;
|
|
1
|
+
{"version":3,"file":"anthropicOptions.js","sourceRoot":"","sources":["../../../../../lib/v3/llm/anthropicOptions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAsCH,4EAEC;AAED,wDAEC;AAYD,oDAEC;AAuBD,sDAeC;AAMD,4EAWC;AAOD,8DAOC;AA1HD,6CAAoD;AAUpD,oDAAoD;AACvC,QAAA,mCAAmC,GAAG,iBAA0B,CAAC;AAE9E,6EAA6E;AAC7E,2EAA2E;AAC3E,0BAA0B;AAC1B,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAS;IACpD,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,gBAAgB;CACjB,CAAC,CAAC;AAEH,yEAAyE;AACzE,yEAAyE;AACzE,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS;IAChD,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;CACjB,CAAC,CAAC;AAEH,gEAAgE;AAChE,SAAgB,gCAAgC,CAAC,OAAe;IAC9D,OAAO,6BAA6B,CAAC,GAAG,CAAC,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IACpD,OAAO,IAAA,6BAAkB,EAAC,OAAO,CAAC,KAAK,gBAAgB,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAS;IACrD,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,mBAAmB;CACpB,CAAC,CAAC;AAEH,SAAgB,oBAAoB,CAAC,OAAe;IAClD,OAAO,8BAA8B,CAAC,GAAG,CAAC,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAC;IACjD,KAAK;IACL,QAAQ;IACR,MAAM;IACN,OAAO;IACP,KAAK;CACN,CAAC,CAAC;AAEH;kDACkD;AACrC,QAAA,iCAAiC,GAG1C,QAAQ,CAAC;AAEb;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,OAAe,EACf,QAAiB;IAEjB,MAAM,SAAS,GACb,QAAQ,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAE,QAA4C;QAC/C,CAAC,CAAC,yCAAiC,CAAC;IACxC,IACE,SAAS,KAAK,OAAO;QACrB,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAC,EAC3D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,gCAAgC,CAC9C,OAAe,EACf,MAAe;IAEf,IAAI,CAAC,gCAAgC,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACjE,6DAA6D;IAC7D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACxC,OAAO;QACL,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QAC9B,MAAM,EAAE,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC;KACqB,CAAC;AACxE,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CACvC,OAAe;IAEf,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IACvD,OAAO;QACL,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,2CAAmC,EAAE,CAAC;KACQ,CAAC;AACxE,CAAC","sourcesContent":["/**\n * Anthropic model capabilities + typed provider options for the agent paths.\n *\n * Adaptive thinking (`thinking: { type: \"adaptive\" }` + `effort`) is the\n * recommended thinking mode on Claude 4.6+ models and the only mode on\n * Opus 4.7/4.8; on Claude Fable 5 thinking is always on and adaptive is the\n * only mode. The CUA path (AnthropicCUAClient) sets the raw Messages API\n * fields directly; the hybrid/DOM path goes through @ai-sdk/anthropic, which\n * maps the typed provider options below to the same API fields.\n *\n * Fable 5 may decline a turn (stop_reason \"refusal\"). The `fallbacks`\n * provider option opts into the API's built-in server-side fallback: the API\n * retries a declined turn on the fallback model and returns one response.\n * @ai-sdk/anthropic adds the required server-side-fallback beta header\n * automatically when `fallbacks` is set.\n */\n\nimport type { AnthropicProviderOptions } from \"@ai-sdk/anthropic\";\nimport type { JSONValue } from \"@ai-sdk/provider\";\nimport type { ThinkingEffort } from \"../types/public/model.js\";\nimport { stripModelProvider } from \"../../utils.js\";\n\n/**\n * Shape accepted by the AI SDK's per-provider `providerOptions` maps. The\n * helpers below build values as typed `AnthropicProviderOptions` (so field\n * names stay checked) and return them under this JSON-compatible alias so\n * call sites need no casts.\n */\nexport type AnthropicAgentProviderOptions = Record<string, JSONValue>;\n\n// Fallback model used when Fable 5 declines a turn.\nexport const ANTHROPIC_FABLE_5_FALLBACK_MODEL_ID = \"claude-opus-4-8\" as const;\n\n// Models that support adaptive thinking. Note: claude-opus-4-5-20251101 uses\n// the newer computer tool but does NOT support adaptive thinking, so it is\n// intentionally excluded.\nconst ADAPTIVE_THINKING_MODEL_BASES = new Set<string>([\n \"claude-opus-4-6\",\n \"claude-opus-4-7\",\n \"claude-opus-4-8\",\n \"claude-sonnet-4-6\",\n \"claude-fable-5\",\n]);\n\n// Models that accept effort \"xhigh\". Sending xhigh to other models (e.g.\n// claude-sonnet-4-6) is rejected by the API, so it is clamped to \"high\".\nconst XHIGH_CAPABLE_MODEL_BASES = new Set<string>([\n \"claude-opus-4-7\",\n \"claude-opus-4-8\",\n \"claude-fable-5\",\n]);\n\n/** True for Anthropic models that support adaptive thinking. */\nexport function isAdaptiveThinkingAnthropicModel(modelId: string): boolean {\n return ADAPTIVE_THINKING_MODEL_BASES.has(stripModelProvider(modelId));\n}\n\nexport function isAnthropicFable5Model(modelId: string): boolean {\n return stripModelProvider(modelId) === \"claude-fable-5\";\n}\n\n/**\n * Models that require automatic tool choice for the final agent assessment.\n */\nconst MODELS_WITHOUT_FORCED_TOOL_USE = new Set<string>([\n \"claude-fable-5\",\n \"claude-fable-5-1\",\n \"claude-opus-5-5\",\n \"claude-sonnet-5-5\",\n]);\n\nexport function rejectsForcedToolUse(modelId: string): boolean {\n return MODELS_WITHOUT_FORCED_TOOL_USE.has(stripModelProvider(modelId));\n}\n\nconst VALID_EFFORTS: ReadonlySet<string> = new Set([\n \"low\",\n \"medium\",\n \"high\",\n \"xhigh\",\n \"max\",\n]);\n\n/** Default adaptive effort on both agent paths (CUA and hybrid/DOM),\n * overridable per client via `thinkingEffort`. */\nexport const DEFAULT_ANTHROPIC_ADAPTIVE_EFFORT: Exclude<\n ThinkingEffort,\n \"none\"\n> = \"medium\";\n\n/**\n * Resolve the adaptive effort to send, clamped to what the model accepts.\n * Precedence: the client's `thinkingEffort` > the shared default (\"medium\").\n * \"none\" is handled by the callers: it means \"do not request thinking at\n * all\", not an effort level.\n */\nexport function resolveAdaptiveEffort(\n modelId: string,\n explicit?: string,\n): Exclude<ThinkingEffort, \"none\"> {\n const candidate =\n explicit && VALID_EFFORTS.has(explicit)\n ? (explicit as Exclude<ThinkingEffort, \"none\">)\n : DEFAULT_ANTHROPIC_ADAPTIVE_EFFORT;\n if (\n candidate === \"xhigh\" &&\n !XHIGH_CAPABLE_MODEL_BASES.has(stripModelProvider(modelId))\n ) {\n return \"high\";\n }\n return candidate;\n}\n\n/**\n * Typed `anthropic` provider options requesting adaptive thinking for models\n * that support it, or `undefined` otherwise.\n */\nexport function anthropicAdaptiveThinkingOptions(\n modelId: string,\n effort?: string,\n): AnthropicAgentProviderOptions | undefined {\n if (!isAdaptiveThinkingAnthropicModel(modelId)) return undefined;\n // \"none\" is an explicit opt-out: request no thinking at all.\n if (effort === \"none\") return undefined;\n return {\n thinking: { type: \"adaptive\" },\n effort: resolveAdaptiveEffort(modelId, effort),\n } satisfies AnthropicProviderOptions as AnthropicAgentProviderOptions;\n}\n\n/**\n * Typed `anthropic` provider options enabling the API's server-side refusal\n * fallback for Fable 5, or `undefined` for other models. The provider adds\n * the server-side-fallback beta header automatically.\n */\nexport function anthropicFallbacksOptions(\n modelId: string,\n): AnthropicAgentProviderOptions | undefined {\n if (!isAnthropicFable5Model(modelId)) return undefined;\n return {\n fallbacks: [{ model: ANTHROPIC_FABLE_5_FALLBACK_MODEL_ID }],\n } satisfies AnthropicProviderOptions as AnthropicAgentProviderOptions;\n}\n"]}
|
|
@@ -10,7 +10,6 @@ exports.isMainModule = exports.createRequireFromCaller = exports.getPackageRootD
|
|
|
10
10
|
* - /packages/server-v3/scripts/runtimePaths.ts
|
|
11
11
|
* - /packages/server-v4/scripts/runtimePaths.ts
|
|
12
12
|
* - /packages/evals/runtimePaths.ts
|
|
13
|
-
* - /packages/docs/scripts/runtimePaths.js
|
|
14
13
|
*/
|
|
15
14
|
const node_path_1 = __importDefault(require("node:path"));
|
|
16
15
|
const node_url_1 = require("node:url");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtimePaths.js","sourceRoot":"","sources":["../../../../lib/v3/runtimePaths.ts"],"names":[],"mappings":";;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"runtimePaths.js","sourceRoot":"","sources":["../../../../lib/v3/runtimePaths.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Keep this file in sync with:\n * - /packages/core/lib/v3/runtimePaths.ts\n * - /packages/server-v3/scripts/runtimePaths.ts\n * - /packages/server-v4/scripts/runtimePaths.ts\n * - /packages/evals/runtimePaths.ts\n */\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport { createRequire } from \"node:module\";\n\nconst PACKAGE_SEGMENT = \"/packages/core/\";\nconst EVAL_FRAMES = new Set([\"[eval]\", \"[eval]-wrapper\"]);\nconst INTERNAL_FRAME_NAMES = new Set([\n \"readCallsites\",\n \"readCallsitePath\",\n \"resolveCallerFilePath\",\n \"getCurrentFilePath\",\n \"getCurrentDirPath\",\n \"getRepoRootDir\",\n \"getPackageRootDir\",\n \"createRequireFromCaller\",\n \"isMainModule\",\n]);\n\nconst normalizePath = (value: string): string => {\n const input = value.startsWith(\"file://\") ? fileURLToPath(value) : value;\n return path.resolve(input).replaceAll(\"\\\\\", \"/\");\n};\n\nconst readCallsites = (): NodeJS.CallSite[] => {\n const previousPrepare = Error.prepareStackTrace;\n try {\n Error.prepareStackTrace = (_, stack) => stack;\n return (\n (new Error().stack as unknown as NodeJS.CallSite[] | undefined) ?? []\n );\n } finally {\n Error.prepareStackTrace = previousPrepare;\n }\n};\n\ntype CallSiteWithScriptName = NodeJS.CallSite & {\n getScriptNameOrSourceURL?: () => string | null;\n};\n\nconst readCallsitePath = (callsite: NodeJS.CallSite): string | null => {\n const callsiteWithScript = callsite as CallSiteWithScriptName;\n const rawPath =\n callsite.getFileName() ?? callsiteWithScript.getScriptNameOrSourceURL?.();\n if (!rawPath) return null;\n if (rawPath.startsWith(\"node:\")) return null;\n if (EVAL_FRAMES.has(rawPath)) return null;\n return normalizePath(rawPath);\n};\n\nconst isInternalCallsite = (callsite: NodeJS.CallSite): boolean => {\n const functionName = callsite.getFunctionName();\n if (functionName && INTERNAL_FRAME_NAMES.has(functionName)) return true;\n\n const methodName = callsite.getMethodName();\n if (methodName && INTERNAL_FRAME_NAMES.has(methodName)) return true;\n\n const callsiteString = callsite.toString();\n for (const frameName of INTERNAL_FRAME_NAMES) {\n if (callsiteString.includes(`${frameName} (`)) return true;\n if (callsiteString.includes(`.${frameName} (`)) return true;\n }\n return false;\n};\n\nconst resolveCallerFilePath = (): string => {\n const packageCandidates: string[] = [];\n const fallbackCandidates: string[] = [];\n\n for (const callsite of readCallsites()) {\n const filePath = readCallsitePath(callsite);\n if (!filePath) continue;\n if (isInternalCallsite(callsite)) continue;\n if (filePath.includes(PACKAGE_SEGMENT)) {\n packageCandidates.push(filePath);\n continue;\n }\n fallbackCandidates.push(filePath);\n }\n\n const packageCandidate = packageCandidates[0];\n if (packageCandidate) return packageCandidate;\n\n const fallbackCandidate = fallbackCandidates[0];\n if (fallbackCandidate) return fallbackCandidate;\n\n throw new Error(\"Unable to resolve caller file path.\");\n};\n\nexport const getCurrentFilePath = (): string => resolveCallerFilePath();\n\nexport const getCurrentDirPath = (): string =>\n path.dirname(getCurrentFilePath());\n\nexport const getRepoRootDir = (): string => {\n const currentFilePath = getCurrentFilePath();\n const index = currentFilePath.lastIndexOf(PACKAGE_SEGMENT);\n if (index === -1) {\n throw new Error(\n `Unable to determine repo root from ${currentFilePath} (missing ${PACKAGE_SEGMENT}).`,\n );\n }\n return currentFilePath.slice(0, index);\n};\n\nexport const getPackageRootDir = (): string =>\n `${getRepoRootDir()}${PACKAGE_SEGMENT.slice(0, -1)}`;\n\nexport const createRequireFromCaller = () =>\n createRequire(getCurrentFilePath());\n\nexport const isMainModule = (): boolean => {\n const entryScript = process.argv.at(1);\n if (!entryScript) return false;\n return normalizePath(entryScript) === getCurrentFilePath();\n};\n"]}
|
|
@@ -494,11 +494,11 @@ exports.SessionStartRequestSchema = v4_1.z
|
|
|
494
494
|
}),
|
|
495
495
|
// experimental is a V3 field but doesn't need to go over the wire - included because wire type imports options type
|
|
496
496
|
experimental: v4_1.z.boolean().optional(),
|
|
497
|
-
// V2 compatibility fields - only included because the server imports this type and supports V2
|
|
498
|
-
// should never be used in v3 clients or v3-only server implementations
|
|
499
497
|
waitForCaptchaSolves: v4_1.z.boolean().optional().meta({
|
|
500
|
-
description: "Wait for
|
|
498
|
+
description: "Wait for Browserbase CAPTCHA solves before agent steps and actions. Defaults to browserbaseSessionCreateParams.browserSettings.solveCaptchas when provided, otherwise true on Browserbase and false locally; does not enable a solver itself.",
|
|
501
499
|
}),
|
|
500
|
+
// V2 compatibility fields - only included because the server imports this type and supports V2
|
|
501
|
+
// should never be used in v3 clients or v3-only server implementations
|
|
502
502
|
actTimeoutMs: v4_1.z.number().optional().meta({
|
|
503
503
|
description: "Timeout in ms for act operations (deprecated, v2 only)",
|
|
504
504
|
}),
|