diff --git a/.changeset/remove-groq-cerebras.md b/.changeset/remove-groq-cerebras.md new file mode 100644 index 0000000000..dd341535f1 --- /dev/null +++ b/.changeset/remove-groq-cerebras.md @@ -0,0 +1,9 @@ +--- +"@browserbasehq/stagehand-protocol": major +"@browserbasehq/stagehand-extension": patch +"@browserbasehq/stagehand-python": patch +"@browserbasehq/stagehand-go": patch +"@browserbasehq/stagehand": patch +--- + +Remove native Groq and Cerebras provider support. diff --git a/packages/docs/v2/configuration/models.mdx b/packages/docs/v2/configuration/models.mdx index 277a81b26f..4d99b8cef4 100644 --- a/packages/docs/v2/configuration/models.mdx +++ b/packages/docs/v2/configuration/models.mdx @@ -35,7 +35,6 @@ Set up your API keys before configuring Stagehand: OPENAI_API_KEY=your_openai_key_here ANTHROPIC_API_KEY=your_anthropic_key_here GOOGLE_API_KEY=your_google_key_here -GROQ_API_KEY=your_groq_key_here ``` @@ -54,10 +53,8 @@ Stagehand supports major LLM providers with structured output capabilities: ### Additional Providers -- **Groq** - `llama-3.3-70b-versatile` (Good for speed critical applications) - **xAI** - `grok-beta` (Good for complex reasoning) - **Azure** - Enterprise OpenAI deployment -- **Cerebras** - High-speed inference - **TogetherAI** - Open-source models - **Mistral** - `mixtral-8x7b-32768` (European option) - **DeepSeek** - Cost-effective alternative @@ -302,4 +299,4 @@ For each provider, use their latest models that meet these requirements. Some ex Store successful patterns using our Caching Guide - \ No newline at end of file + diff --git a/packages/docs/v3/configuration/models.mdx b/packages/docs/v3/configuration/models.mdx index 1944b7bda2..613e0bb316 100644 --- a/packages/docs/v3/configuration/models.mdx +++ b/packages/docs/v3/configuration/models.mdx @@ -340,24 +340,6 @@ For Microsoft Entra ID authentication, pass the bearer token explicitly in `auth [View all supported Azure models →](https://ai.azure.com/catalog) - - -```typescript TypeScript -import { Stagehand } from "@browserbasehq/stagehand"; - -const stagehand = new Stagehand({ - env: "BROWSERBASE", - model: "cerebras/llama-4-scout" - // API key auto-loads from CEREBRAS_API_KEY - set in your .env -}); - -await stagehand.init(); -``` - - -[View all supported Cerebras models →](https://inference-docs.cerebras.ai/models/overview) - - @@ -377,26 +359,6 @@ await stagehand.init(); [View all supported DeepSeek models →](https://api-docs.deepseek.com/quick_start/pricing) - - - - -```typescript TypeScript -import { Stagehand } from "@browserbasehq/stagehand"; - -const stagehand = new Stagehand({ - env: "BROWSERBASE", - model: "groq/llama-3.1-8b-instant" - // API key auto-loads from GROQ_API_KEY - set in your .env -}); - -await stagehand.init(); -``` - - -[View all supported Groq models →](https://console.groq.com/docs/models) - - @@ -1003,19 +965,6 @@ The following models work without the `provider/` prefix in the model parameter - `gpt-4o-2024-08-06` - `o1-preview` - - - -- `cerebras-llama-3.3-70b` -- `cerebras-llama-3.1-8b` - - - - -- `groq-llama-3.3-70b-versatile` -- `groq-llama-3.3-70b-specdec` -- `moonshotai/kimi-k2-instruct` - @@ -1042,9 +991,7 @@ The following models work without the `provider/` prefix in the model parameter | Anthropic | `ANTHROPIC_API_KEY` | | OpenAI | `OPENAI_API_KEY` | | Azure | `AZURE_API_KEY` | -| Cerebras | `CEREBRAS_API_KEY` | | DeepSeek | `DEEPSEEK_API_KEY` | -| Groq | `GROQ_API_KEY` | | Mistral | `MISTRAL_API_KEY` | | Ollama | None (local) | | Perplexity | `PERPLEXITY_API_KEY` | diff --git a/packages/docs/v4/configuration/models.mdx b/packages/docs/v4/configuration/models.mdx index 4a6cb4bb82..b5be5112e4 100644 --- a/packages/docs/v4/configuration/models.mdx +++ b/packages/docs/v4/configuration/models.mdx @@ -538,136 +538,6 @@ OpenAI models are called through the Responses API. [View all supported OpenAI models →](https://platform.openai.com/docs/models) - - - - -```typescript -import { browserbase, Stagehand } from "@browserbasehq/stagehand"; - -const stagehand = await Stagehand.create({ - browser: await browserbase.launch({ apiKey: process.env.BROWSERBASE_API_KEY }), - model: { - modelName: "groq/llama-3.3-70b-versatile", - }, -}); -``` - - - -```python -import os - -from stagehand import Stagehand, browserbase - -browser = await browserbase.launch(api_key=os.environ["BROWSERBASE_API_KEY"]) - -stagehand = await Stagehand.create( - browser=browser, - model="groq/llama-3.3-70b-versatile", - model_api_key=os.environ["GROQ_API_KEY"], -) -``` - - - -```go -apiKey := os.Getenv("BROWSERBASE_API_KEY") -modelAPIKey := os.Getenv("GROQ_API_KEY") -model := stagehand.ModelConfig{ - ModelName: "groq/llama-3.3-70b-versatile", - APIKey: &modelAPIKey, -} - -browser, err := stagehand.LaunchBrowserbase(ctx, stagehand.BrowserbaseLaunchOptions{ - APIKey: apiKey, -}) -if err != nil { - return err -} - -client, err := stagehand.Create(ctx, stagehand.CreateOptions{ - Browser: browser, - Model: &model, -}) -if err != nil { - return err -} -defer func() { err = errors.Join(err, client.Close(ctx)) }() -``` - - - -Commonly used: `groq/llama-3.3-70b-versatile`, `groq/openai/gpt-oss-120b`, `groq/moonshotai/kimi-k2-instruct-0905`, `groq/qwen/qwen3-32b`. - -[View all supported Groq models →](https://console.groq.com/docs/models) - - - - - - -```typescript -import { browserbase, Stagehand } from "@browserbasehq/stagehand"; - -const stagehand = await Stagehand.create({ - browser: await browserbase.launch({ apiKey: process.env.BROWSERBASE_API_KEY }), - model: { - modelName: "cerebras/gpt-oss-120b", - }, -}); -``` - - - -```python -import os - -from stagehand import Stagehand, browserbase - -browser = await browserbase.launch(api_key=os.environ["BROWSERBASE_API_KEY"]) - -stagehand = await Stagehand.create( - browser=browser, - model="cerebras/gpt-oss-120b", - model_api_key=os.environ["CEREBRAS_API_KEY"], -) -``` - - - -```go -apiKey := os.Getenv("BROWSERBASE_API_KEY") -modelAPIKey := os.Getenv("CEREBRAS_API_KEY") -model := stagehand.ModelConfig{ - ModelName: "cerebras/gpt-oss-120b", - APIKey: &modelAPIKey, -} - -browser, err := stagehand.LaunchBrowserbase(ctx, stagehand.BrowserbaseLaunchOptions{ - APIKey: apiKey, -}) -if err != nil { - return err -} - -client, err := stagehand.Create(ctx, stagehand.CreateOptions{ - Browser: browser, - Model: &model, -}) -if err != nil { - return err -} -defer func() { err = errors.Join(err, client.Close(ctx)) }() -``` - - - -Commonly used: `cerebras/gpt-oss-120b`, `cerebras/qwen-3-235b-a22b-instruct-2507`, `cerebras/zai-glm-4.7`, `cerebras/llama3.1-8b`. - -[View all supported Cerebras models →](https://inference-docs.cerebras.ai/models/overview) - - --- @@ -1744,8 +1614,6 @@ You pinned a `model` but gave it no `apiKey`, and the browser is not a Browserba | Google | `GOOGLE_GENERATIVE_AI_API_KEY` or `GEMINI_API_KEY` | | Anthropic | `ANTHROPIC_API_KEY` | | OpenAI | `OPENAI_API_KEY` | -| Groq | `GROQ_API_KEY` | -| Cerebras | `CEREBRAS_API_KEY` | | Bring your own LLM | None; your callback owns its credentials | @@ -1756,7 +1624,7 @@ You pinned a `model` but gave it no `apiKey`, and the browser is not a Browserba **Solutions:** - Use the `provider/model` format: `openai/gpt-5`. The prefix is required; bare model names are rejected -- Use one of the five supported providers: `openai`, `anthropic`, `google`, `groq`, `cerebras` +- Use one of the three supported providers: `openai`, `anthropic`, `google` - Check the model ID against the lists on this page. Stagehand validates the whole name, so a typo fails at `Stagehand.create()` rather than on the first inference - Upgrade the SDK if the model shipped after your installed version - For a provider outside that list, use the [bring-your-own-LLM callback](#custom-models) diff --git a/packages/evals/initStagehand.ts b/packages/evals/initStagehand.ts index dd7d60faa5..fa5353ffe5 100644 --- a/packages/evals/initStagehand.ts +++ b/packages/evals/initStagehand.ts @@ -33,8 +33,6 @@ const PROVIDER_API_KEY_ENV: Record = { openai: ["OPENAI_API_KEY"], anthropic: ["ANTHROPIC_API_KEY"], google: ["GOOGLE_GENERATIVE_AI_API_KEY", "GEMINI_API_KEY"], - groq: ["GROQ_API_KEY"], - cerebras: ["CEREBRAS_API_KEY"], }; type StagehandLogEvent = Parameters>[0]; diff --git a/packages/evals/taskConfig.ts b/packages/evals/taskConfig.ts index a829a2d51d..08de7aa091 100644 --- a/packages/evals/taskConfig.ts +++ b/packages/evals/taskConfig.ts @@ -46,16 +46,6 @@ const ALL_EVAL_MODELS = [ // TOGETHER - DEEPSEEK "deepseek-ai/DeepSeek-V3", "Qwen/Qwen2.5-7B-Instruct-Turbo", - // GROQ - "groq/meta-llama/llama-4-scout-17b-16e-instruct", - "groq/llama-3.3-70b-versatile", - "groq/llama3-70b-8192", - "groq/qwen-qwq-32b", - "groq/qwen-2.5-32b", - "groq/deepseek-r1-distill-qwen-32b", - "groq/deepseek-r1-distill-llama-70b", - // CEREBRAS - "cerebras/llama3.3-70b", ]; // --------------------------------------------------------------------------- diff --git a/packages/extension/llm/LLMClient.ts b/packages/extension/llm/LLMClient.ts index 991db2bcff..3bee3f6947 100644 --- a/packages/extension/llm/LLMClient.ts +++ b/packages/extension/llm/LLMClient.ts @@ -101,7 +101,7 @@ export interface LLMParsedResponse { } export abstract class LLMClient { - public abstract type: "openai" | "anthropic" | "cerebras" | "groq" | (string & {}); + public abstract type: "openai" | "anthropic" | (string & {}); public modelName: ModelName; public hasVision = false; // Compile-only bridge: provider SDK option types diverge from V3's shared options. diff --git a/packages/extension/llm/LLMProvider.ts b/packages/extension/llm/LLMProvider.ts index 5f59bf171c..135e05302a 100644 --- a/packages/extension/llm/LLMProvider.ts +++ b/packages/extension/llm/LLMProvider.ts @@ -10,8 +10,6 @@ import { LLMClient } from "./LLMClient.js"; import { createOpenAI } from "@ai-sdk/openai"; import { createAnthropic } from "@ai-sdk/anthropic"; import { createGoogleGenerativeAI } from "@ai-sdk/google"; -import { createGroq } from "@ai-sdk/groq"; -import { createCerebras } from "@ai-sdk/cerebras"; import { wrapLanguageModel } from "ai"; // Compile-only bridge: current AI SDK providers return mixed v2/v3/v4 model @@ -23,8 +21,6 @@ const AISDKProviderFactories: Record = { openai: createOpenAI as AISDKProviderFactory, anthropic: createAnthropic as AISDKProviderFactory, google: createGoogleGenerativeAI as AISDKProviderFactory, - groq: createGroq as AISDKProviderFactory, - cerebras: createCerebras as AISDKProviderFactory, }; type AISDKProviderClientOptions = ClientOptions & Record; diff --git a/packages/extension/llm/aiSdkClient.ts b/packages/extension/llm/aiSdkClient.ts index 2453349fdd..ec98008866 100644 --- a/packages/extension/llm/aiSdkClient.ts +++ b/packages/extension/llm/aiSdkClient.ts @@ -1,17 +1,13 @@ import { createAnthropic } from "@ai-sdk/anthropic"; -import { createCerebras } from "@ai-sdk/cerebras"; import { createGoogleGenerativeAI } from "@ai-sdk/google"; -import { createGroq } from "@ai-sdk/groq"; import { createOpenAI } from "@ai-sdk/openai"; import { generateText, jsonSchema, Output } from "ai"; import type { LanguageModel, ModelMessage, ToolSet } from "ai"; import { z } from "zod/v4"; import { AnthropicModelIdSchema, - CerebrasModelIdSchema, createLLMGenerateResultSchema, GoogleModelIdSchema, - GroqModelIdSchema, LLMGenerateParamsSchema, LLMMessageSchema, LLMGenerateResultSchema, @@ -163,10 +159,6 @@ export function createAiSdkLanguageModel( })(AnthropicModelIdSchema.parse(modelId)); case "google": return createGoogleGenerativeAI(connection)(GoogleModelIdSchema.parse(modelId)); - case "groq": - return createGroq(connection)(GroqModelIdSchema.parse(modelId)); - case "cerebras": - return createCerebras(connection)(CerebrasModelIdSchema.parse(modelId)); } } diff --git a/packages/extension/llm/aisdk.ts b/packages/extension/llm/aisdk.ts index 43aa81c345..ad2710149a 100644 --- a/packages/extension/llm/aisdk.ts +++ b/packages/extension/llm/aisdk.ts @@ -181,16 +181,6 @@ export class AISdkClient extends LLMClient { structuredOutputs: true, }; break; - case "groq": - providerOptions.groq = { - structuredOutputs: true, - }; - break; - case "cerebras": - providerOptions.cerebras = { - strictJsonSchema: true, - }; - break; case "mistral": providerOptions.mistral = { structuredOutputs: true, diff --git a/packages/extension/package.json b/packages/extension/package.json index 9c0cbc59c4..8f4f06a04d 100644 --- a/packages/extension/package.json +++ b/packages/extension/package.json @@ -11,9 +11,7 @@ }, "dependencies": { "@ai-sdk/anthropic": "catalog:", - "@ai-sdk/cerebras": "catalog:", "@ai-sdk/google": "catalog:", - "@ai-sdk/groq": "catalog:", "@ai-sdk/openai": "catalog:", "@ai-sdk/provider": "catalog:", "@opentelemetry/api": "catalog:", diff --git a/packages/extension/tests/ai-sdk-client.test.ts b/packages/extension/tests/ai-sdk-client.test.ts index b5590d80a4..f9cfd0d347 100644 --- a/packages/extension/tests/ai-sdk-client.test.ts +++ b/packages/extension/tests/ai-sdk-client.test.ts @@ -35,18 +35,6 @@ describe("AI SDK language models", () => { modelId: "gemini-3-flash-preview", provider: "google.generative-ai", }, - { - name: "Groq", - modelName: "groq/openai/gpt-oss-120b" as const, - modelId: "openai/gpt-oss-120b", - provider: "groq.chat", - }, - { - name: "Cerebras", - modelName: "cerebras/gpt-oss-120b" as const, - modelId: "gpt-oss-120b", - provider: "cerebras.chat", - }, ])("creates a direct $name model from its validated configuration", (testCase) => { const model = createAiSdkLanguageModel({ modelName: testCase.modelName, diff --git a/packages/extension/tests/model-resolution.test.ts b/packages/extension/tests/model-resolution.test.ts index 876e411723..2276e4a6cc 100644 --- a/packages/extension/tests/model-resolution.test.ts +++ b/packages/extension/tests/model-resolution.test.ts @@ -1,9 +1,7 @@ import { afterEach, describe, expect, it, vi } from "vitest"; import { AnthropicModelIdSchema, - CerebrasModelIdSchema, GoogleModelIdSchema, - GroqModelIdSchema, ModelConfigSchema, ModelNameSchema, OpenAIModelIdSchema, @@ -65,8 +63,6 @@ describe("model configuration", () => { ["openai", OpenAIModelIdSchema.options], ["anthropic", AnthropicModelIdSchema.options], ["google", GoogleModelIdSchema.options], - ["groq", GroqModelIdSchema.options], - ["cerebras", CerebrasModelIdSchema.options], ] as const; for (const [provider, modelIds] of providers) { @@ -76,14 +72,17 @@ describe("model configuration", () => { } }); - it("accepts a provider model ID that contains additional slashes", () => { - expect(ModelNameSchema.safeParse("groq/openai/gpt-oss-120b").success).toBe(true); - }); - it("rejects a model from an unsupported provider", () => { expect(ModelNameSchema.safeParse("bedrock/anthropic.claude-sonnet-v1:0").success).toBe(false); }); + it.each(["groq/llama-3.3-70b-versatile", "cerebras/gpt-oss-120b"])( + "rejects removed provider model %s", + (modelName) => { + expect(ModelNameSchema.safeParse(modelName).success).toBe(false); + }, + ); + it("rejects an unsupported model from a supported provider", () => { expect(ModelNameSchema.safeParse("openai/private-model").success).toBe(false); }); diff --git a/packages/integrations/core/src/facade/config.ts b/packages/integrations/core/src/facade/config.ts index 14c5ab9a57..3c744a1fbe 100644 --- a/packages/integrations/core/src/facade/config.ts +++ b/packages/integrations/core/src/facade/config.ts @@ -105,10 +105,6 @@ function providerApiKey(provider: string | undefined, env: NodeJS.ProcessEnv): s return nonEmpty(env.OPENAI_API_KEY); case "anthropic": return nonEmpty(env.ANTHROPIC_API_KEY); - case "groq": - return nonEmpty(env.GROQ_API_KEY); - case "cerebras": - return nonEmpty(env.CEREBRAS_API_KEY); default: return undefined; } diff --git a/packages/protocol/schemas.ts b/packages/protocol/schemas.ts index 87e0be02af..75dc643ea9 100644 --- a/packages/protocol/schemas.ts +++ b/packages/protocol/schemas.ts @@ -143,44 +143,8 @@ export const GoogleModelIdSchema = z ]) .meta({ id: "GoogleModelId" }); -export const GroqModelIdSchema = z - .enum([ - "gemma2-9b-it", - "llama-3.1-8b-instant", - "llama-3.3-70b-versatile", - "meta-llama/llama-guard-4-12b", - "openai/gpt-oss-120b", - "openai/gpt-oss-20b", - "deepseek-r1-distill-llama-70b", - "meta-llama/llama-4-maverick-17b-128e-instruct", - "meta-llama/llama-4-scout-17b-16e-instruct", - "meta-llama/llama-prompt-guard-2-22m", - "meta-llama/llama-prompt-guard-2-86m", - "moonshotai/kimi-k2-instruct-0905", - "qwen/qwen3-32b", - "llama-guard-3-8b", - "llama3-70b-8192", - "llama3-8b-8192", - "mixtral-8x7b-32768", - "qwen-qwq-32b", - "qwen-2.5-32b", - "deepseek-r1-distill-qwen-32b", - ]) - .meta({ id: "GroqModelId" }); - -export const CerebrasModelIdSchema = z - .enum([ - "llama3.1-8b", - "gpt-oss-120b", - "qwen-3-235b-a22b-instruct-2507", - "qwen-3-235b-a22b-thinking-2507", - "zai-glm-4.6", - "zai-glm-4.7", - ]) - .meta({ id: "CerebrasModelId" }); - export const ModelProviderSchema = z - .enum(["openai", "anthropic", "google", "groq", "cerebras"]) + .enum(["openai", "anthropic", "google"]) .meta({ id: "ModelProvider" }); export const OpenAIModelNameSchema = z @@ -192,21 +156,8 @@ export const AnthropicModelNameSchema = z export const GoogleModelNameSchema = z .templateLiteral(["google/", GoogleModelIdSchema]) .meta({ id: "GoogleModelName" }); -export const GroqModelNameSchema = z - .templateLiteral(["groq/", GroqModelIdSchema]) - .meta({ id: "GroqModelName" }); -export const CerebrasModelNameSchema = z - .templateLiteral(["cerebras/", CerebrasModelIdSchema]) - .meta({ id: "CerebrasModelName" }); - export const ModelNameSchema = z - .union([ - OpenAIModelNameSchema, - AnthropicModelNameSchema, - GoogleModelNameSchema, - GroqModelNameSchema, - CerebrasModelNameSchema, - ]) + .union([OpenAIModelNameSchema, AnthropicModelNameSchema, GoogleModelNameSchema]) .meta({ id: "ModelName", description: "An explicitly supported model name with its provider prefix", diff --git a/packages/protocol/stagehand.v4.json b/packages/protocol/stagehand.v4.json index c91ab6cc08..3131ab7202 100644 --- a/packages/protocol/stagehand.v4.json +++ b/packages/protocol/stagehand.v4.json @@ -1278,14 +1278,6 @@ "type": "string", "pattern": "^google\\/(gemini-2\\.0-flash|gemini-2\\.0-flash-001|gemini-2\\.0-flash-lite|gemini-2\\.0-flash-lite-001|gemini-2\\.5-pro|gemini-2\\.5-flash|gemini-2\\.5-flash-image|gemini-2\\.5-flash-lite|gemini-2\\.5-flash-preview-tts|gemini-2\\.5-pro-preview-tts|gemini-2\\.5-flash-native-audio-latest|gemini-2\\.5-flash-native-audio-preview-09-2025|gemini-2\\.5-flash-native-audio-preview-12-2025|gemini-2\\.5-computer-use-preview-10-2025|gemini-3-pro-preview|gemini-3-pro-image-preview|gemini-3-flash-preview|gemini-3\\.1-pro-preview|gemini-3\\.1-pro-preview-customtools|gemini-3\\.1-flash-image-preview|gemini-3\\.1-flash-lite-preview|gemini-3\\.1-flash-tts-preview|gemini-3\\.5-flash|gemini-3\\.6-flash|gemini-pro-latest|gemini-flash-latest|gemini-flash-lite-latest|deep-research-pro-preview-12-2025|deep-research-max-preview-04-2026|deep-research-preview-04-2026|nano-banana-pro-preview|aqa|gemini-robotics-er-1\\.5-preview|gemma-3-1b-it|gemma-3-4b-it|gemma-3n-e4b-it|gemma-3n-e2b-it|gemma-3-12b-it|gemma-3-27b-it)$" }, - "GroqModelName": { - "type": "string", - "pattern": "^groq\\/(gemma2-9b-it|llama-3\\.1-8b-instant|llama-3\\.3-70b-versatile|meta-llama\\/llama-guard-4-12b|openai\\/gpt-oss-120b|openai\\/gpt-oss-20b|deepseek-r1-distill-llama-70b|meta-llama\\/llama-4-maverick-17b-128e-instruct|meta-llama\\/llama-4-scout-17b-16e-instruct|meta-llama\\/llama-prompt-guard-2-22m|meta-llama\\/llama-prompt-guard-2-86m|moonshotai\\/kimi-k2-instruct-0905|qwen\\/qwen3-32b|llama-guard-3-8b|llama3-70b-8192|llama3-8b-8192|mixtral-8x7b-32768|qwen-qwq-32b|qwen-2\\.5-32b|deepseek-r1-distill-qwen-32b)$" - }, - "CerebrasModelName": { - "type": "string", - "pattern": "^cerebras\\/(llama3\\.1-8b|gpt-oss-120b|qwen-3-235b-a22b-instruct-2507|qwen-3-235b-a22b-thinking-2507|zai-glm-4\\.6|zai-glm-4\\.7)$" - }, "ModelName": { "anyOf": [ { @@ -1296,12 +1288,6 @@ }, { "$ref": "#/$defs/GoogleModelName" - }, - { - "$ref": "#/$defs/GroqModelName" - }, - { - "$ref": "#/$defs/CerebrasModelName" } ], "description": "An explicitly supported model name with its provider prefix" diff --git a/packages/protocol/types.ts b/packages/protocol/types.ts index 751aac123d..ffac954c5b 100644 --- a/packages/protocol/types.ts +++ b/packages/protocol/types.ts @@ -33,8 +33,6 @@ import type { CacheStatusSchema, CacheTokenSavingsSchema, CachingSchema, - CerebrasModelIdSchema, - CerebrasModelNameSchema, ClientOptionsBaseSchema, ClientOptionsSchema, ClientModelReferenceSchema, @@ -140,8 +138,6 @@ import type { ModelNameSchema, ModelProviderOptionsSchema, ModelProviderSchema, - GroqModelIdSchema, - GroqModelNameSchema, ObserveOptionsSchema, ObserveResultSchema, PageAddInitScriptParamsSchema, @@ -253,13 +249,9 @@ export type AzureModelProviderOptions = z.infer; export type AnthropicModelId = z.infer; export type GoogleModelId = z.infer; -export type GroqModelId = z.infer; -export type CerebrasModelId = z.infer; export type OpenAIModelName = z.infer; export type AnthropicModelName = z.infer; export type GoogleModelName = z.infer; -export type GroqModelName = z.infer; -export type CerebrasModelName = z.infer; export type ModelConfig = z.infer; export type ModelName = z.infer; export type ModelProvider = z.infer; diff --git a/packages/sdk-go/internal/extensionassets/stagehand-extension.zip b/packages/sdk-go/internal/extensionassets/stagehand-extension.zip index 3833853d84..a87fbe11ca 100644 Binary files a/packages/sdk-go/internal/extensionassets/stagehand-extension.zip and b/packages/sdk-go/internal/extensionassets/stagehand-extension.zip differ diff --git a/packages/sdk-go/models.gen.go b/packages/sdk-go/models.gen.go index b9b564a1d0..5a829af710 100644 --- a/packages/sdk-go/models.gen.go +++ b/packages/sdk-go/models.gen.go @@ -318,8 +318,6 @@ type CallbackBatchResult struct { Value json.RawMessage `json:"value,omitempty,omitzero"` } -type CerebrasModelName string - type ClearCookieOptions struct { // Domain corresponds to the JSON schema field "domain". Domain *CookieFilter `json:"domain,omitempty,omitzero"` @@ -557,8 +555,6 @@ type ExtractResult struct { type GoogleModelName string -type GroqModelName string - type ImplementationInfo struct { // Name corresponds to the JSON schema field "name". Name string `json:"name"` @@ -2185,9 +2181,6 @@ type generatedModelCatalog struct { // CallbackBatchResult corresponds to the JSON schema field "CallbackBatchResult". CallbackBatchResult *CallbackBatchResult `json:"CallbackBatchResult,omitempty,omitzero"` - // CerebrasModelName corresponds to the JSON schema field "CerebrasModelName". - CerebrasModelName *CerebrasModelName `json:"CerebrasModelName,omitempty,omitzero"` - // ClearCookieOptions corresponds to the JSON schema field "ClearCookieOptions". ClearCookieOptions *ClearCookieOptions `json:"ClearCookieOptions,omitempty,omitzero"` @@ -2295,9 +2288,6 @@ type generatedModelCatalog struct { // GoogleModelName corresponds to the JSON schema field "GoogleModelName". GoogleModelName *GoogleModelName `json:"GoogleModelName,omitempty,omitzero"` - // GroqModelName corresponds to the JSON schema field "GroqModelName". - GroqModelName *GroqModelName `json:"GroqModelName,omitempty,omitzero"` - // ImplementationInfo corresponds to the JSON schema field "ImplementationInfo". ImplementationInfo *ImplementationInfo `json:"ImplementationInfo,omitempty,omitzero"` diff --git a/packages/sdk-python/src/stagehand/_generated/input_types.py b/packages/sdk-python/src/stagehand/_generated/input_types.py index a271ac6fe1..e99f804b53 100644 --- a/packages/sdk-python/src/stagehand/_generated/input_types.py +++ b/packages/sdk-python/src/stagehand/_generated/input_types.py @@ -112,9 +112,6 @@ class CallbackBatchOptions(TypedDict): timeout: NotRequired[int] -CerebrasModelName: TypeAlias = str - - class ClientModelReference(TypedDict): source: Literal["client"] @@ -290,9 +287,6 @@ class CallbackBatchResult(TypedDict): GoogleModelName: TypeAlias = str -GroqModelName: TypeAlias = str - - class ImplementationInfo(TypedDict): name: str version: str @@ -648,7 +642,7 @@ class NavigationServerAddr(TypedDict): OpenAIModelName: TypeAlias = str -ModelName: TypeAlias = OpenAIModelName | AnthropicModelName | GoogleModelName | GroqModelName | CerebrasModelName +ModelName: TypeAlias = OpenAIModelName | AnthropicModelName | GoogleModelName class ModelConfig(TypedDict): diff --git a/packages/sdk-python/src/stagehand/_generated/models.py b/packages/sdk-python/src/stagehand/_generated/models.py index f9ecf9cda2..13ac370427 100644 --- a/packages/sdk-python/src/stagehand/_generated/models.py +++ b/packages/sdk-python/src/stagehand/_generated/models.py @@ -349,15 +349,6 @@ class Caret(StrEnum): initial = "initial" -class CerebrasModelName(RootModel[StrictStr]): - root: Annotated[ - StrictStr, - Field( - pattern="^cerebras\\/(llama3\\.1-8b|gpt-oss-120b|qwen-3-235b-a22b-instruct-2507|qwen-3-235b-a22b-thinking-2507|zai-glm-4\\.6|zai-glm-4\\.7)$" - ), - ] - - class ClearCookieOptions(WireModel): model_config = ConfigDict( extra="forbid", @@ -717,15 +708,6 @@ class GoogleModelName(RootModel[StrictStr]): ] -class GroqModelName(RootModel[StrictStr]): - root: Annotated[ - StrictStr, - Field( - pattern="^groq\\/(gemma2-9b-it|llama-3\\.1-8b-instant|llama-3\\.3-70b-versatile|meta-llama\\/llama-guard-4-12b|openai\\/gpt-oss-120b|openai\\/gpt-oss-20b|deepseek-r1-distill-llama-70b|meta-llama\\/llama-4-maverick-17b-128e-instruct|meta-llama\\/llama-4-scout-17b-16e-instruct|meta-llama\\/llama-prompt-guard-2-22m|meta-llama\\/llama-prompt-guard-2-86m|moonshotai\\/kimi-k2-instruct-0905|qwen\\/qwen3-32b|llama-guard-3-8b|llama3-70b-8192|llama3-8b-8192|mixtral-8x7b-32768|qwen-qwq-32b|qwen-2\\.5-32b|deepseek-r1-distill-qwen-32b)$" - ), - ] - - class HttpVersion(StrEnum): field_1 = "1" field_2 = "2" @@ -1438,10 +1420,8 @@ class OpenAIModelName(RootModel[StrictStr]): ] -class ModelName( - RootModel[Union[OpenAIModelName, AnthropicModelName, GoogleModelName, GroqModelName, CerebrasModelName]] -): - root: Union[OpenAIModelName, AnthropicModelName, GoogleModelName, GroqModelName, CerebrasModelName] +class ModelName(RootModel[Union[OpenAIModelName, AnthropicModelName, GoogleModelName]]): + root: Union[OpenAIModelName, AnthropicModelName, GoogleModelName] """An explicitly supported model name with its provider prefix""" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2b2c80ba37..e046be87ee 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -208,15 +208,9 @@ catalogs: '@ai-sdk/anthropic': specifier: ^4.0.8 version: 4.0.8 - '@ai-sdk/cerebras': - specifier: ^3.0.5 - version: 3.0.5 '@ai-sdk/google': specifier: ^4.0.8 version: 4.0.8 - '@ai-sdk/groq': - specifier: ^4.0.5 - version: 4.0.5 '@ai-sdk/mcp': specifier: 2.0.22 version: 2.0.22 @@ -440,7 +434,7 @@ importers: version: 3.1.1 mint: specifier: 'catalog:' - version: 4.2.788(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/node@25.9.4)(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(typescript@5.9.3) + version: 4.2.788(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/node@24.13.2)(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(supports-color@8.1.1)(typescript@5.9.3) packages/evals: dependencies: @@ -488,7 +482,7 @@ importers: version: link:../integrations/pi-sdk '@modelcontextprotocol/sdk': specifier: 'catalog:' - version: 1.29.0(zod@4.4.3) + version: 1.29.0(supports-color@8.1.1)(zod@4.4.3) '@opentelemetry/api': specifier: 'catalog:' version: 1.9.1 @@ -565,15 +559,9 @@ importers: '@ai-sdk/anthropic': specifier: 'catalog:' version: 4.0.8(zod@4.4.3) - '@ai-sdk/cerebras': - specifier: 'catalog:' - version: 3.0.5(zod@4.4.3) '@ai-sdk/google': specifier: 'catalog:' version: 4.0.8(zod@4.4.3) - '@ai-sdk/groq': - specifier: 'catalog:' - version: 4.0.5(zod@4.4.3) '@ai-sdk/openai': specifier: 'catalog:' version: 4.0.8(zod@4.4.3) @@ -725,7 +713,7 @@ importers: version: link:../../sdk-ts '@modelcontextprotocol/sdk': specifier: 'catalog:' - version: 1.29.0(zod@4.4.3) + version: 1.29.0(supports-color@8.1.1)(zod@4.4.3) zod: specifier: 'catalog:' version: 4.4.3 @@ -825,7 +813,7 @@ importers: version: link:../core '@modelcontextprotocol/sdk': specifier: 'catalog:' - version: 1.29.0(zod@4.4.3) + version: 1.29.0(supports-color@8.1.1)(zod@4.4.3) ai: specifier: ^7.0.38 version: 7.0.77(zod@4.4.3) @@ -956,7 +944,7 @@ importers: version: 0.84.2(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(bufferutil@4.1.0)(ws@8.21.0(bufferutil@4.1.0))(zod@4.4.3) '@modelcontextprotocol/sdk': specifier: 'catalog:' - version: 1.29.0(zod@4.4.3) + version: 1.29.0(supports-color@8.1.1)(zod@4.4.3) typebox: specifier: 'catalog:' version: 1.3.7 @@ -1115,12 +1103,6 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/cerebras@3.0.5': - resolution: {integrity: sha512-XXR63//DjzLuoYVzKXRIw3wSIDiP5S5XOkVAbVWqxEBc5olHfUSPY/PBffKWdKhZVD9RV99x+De+u8KHnNzOqA==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/deepseek@1.0.48': resolution: {integrity: sha512-rNp5vEG1gYSdlFeP7Ky/Pd2xUWfjuzVq1aG2RL4I1PyulGwFHGq50/xeNqWapFi/2+jE+AHHnnUPChDTa3s1Gg==} engines: {node: '>=18'} @@ -1169,12 +1151,6 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/groq@4.0.5': - resolution: {integrity: sha512-aiAxz/Og5Z1DZ8XR7UHmb8exxXF9qHAem0TwSFod2b6Imz0AJ22tygl2M9mbv0Q5gCTWkAq7DyOXXdJYv1hzHw==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/mcp@2.0.22': resolution: {integrity: sha512-j3jPwKFTffZCJzYGpN69yKu/y646uu2gWoEwh1jgVyYVpzfu6ErFU+YAd/+xTPxsUTx8FEIEUHTlEsDuOe+ytQ==} engines: {node: '>=22'} @@ -1193,12 +1169,6 @@ packages: peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai-compatible@3.0.5': - resolution: {integrity: sha512-4UtDxT6Ga7U225o5fBEgtCFZHba4/iTDXRqMrU62yEfTrFks4o+F4jt0D3OWmUasR9LPFzLy0KnEITxFDtc89g==} - engines: {node: '>=22'} - peerDependencies: - zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/openai@2.0.115': resolution: {integrity: sha512-/lzMx32DICp6EREEguKEihDVL1wjPc8pBuroDtomRdFd7lqRApRg0Bplz/iXVu0suxoWNv5Fsc1HwUXApsSkTg==} engines: {node: '>=18'} @@ -8418,13 +8388,6 @@ snapshots: zod: 4.4.3 optional: true - '@ai-sdk/cerebras@3.0.5(zod@4.4.3)': - dependencies: - '@ai-sdk/openai-compatible': 3.0.5(zod@4.4.3) - '@ai-sdk/provider': 4.0.2 - '@ai-sdk/provider-utils': 5.0.5(zod@4.4.3) - zod: 4.4.3 - '@ai-sdk/deepseek@1.0.48(zod@4.4.3)': dependencies: '@ai-sdk/provider': 2.0.3 @@ -8486,12 +8449,6 @@ snapshots: zod: 4.4.3 optional: true - '@ai-sdk/groq@4.0.5(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.2 - '@ai-sdk/provider-utils': 5.0.5(zod@4.4.3) - zod: 4.4.3 - '@ai-sdk/mcp@2.0.22(zod@4.4.3)': dependencies: '@ai-sdk/provider': 4.0.4 @@ -8513,12 +8470,6 @@ snapshots: zod: 4.4.3 optional: true - '@ai-sdk/openai-compatible@3.0.5(zod@4.4.3)': - dependencies: - '@ai-sdk/provider': 4.0.2 - '@ai-sdk/provider-utils': 5.0.5(zod@4.4.3) - zod: 4.4.3 - '@ai-sdk/openai@2.0.115(zod@4.4.3)': dependencies: '@ai-sdk/provider': 2.0.3 @@ -8657,7 +8608,7 @@ snapshots: '@anthropic-ai/claude-agent-sdk@0.3.224(@anthropic-ai/sdk@0.93.0(zod@4.4.3))(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(zod@4.4.3)': dependencies: '@anthropic-ai/sdk': 0.93.0(zod@4.4.3) - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) + '@modelcontextprotocol/sdk': 1.29.0(supports-color@8.1.1)(zod@4.4.3) zod: 4.4.3 optionalDependencies: '@anthropic-ai/claude-agent-sdk-darwin-arm64': 0.3.224 @@ -9107,7 +9058,7 @@ snapshots: '@anthropic-ai/sdk': 0.39.0 '@browserbasehq/sdk': 2.16.0 '@google/genai': 1.52.0(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(bufferutil@4.1.0) - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) + '@modelcontextprotocol/sdk': 1.29.0(supports-color@8.1.1)(zod@4.4.3) ai: 5.0.220(zod@4.4.3) devtools-protocol: 0.0.1642743 fetch-cookie: 3.2.0 @@ -9148,7 +9099,7 @@ snapshots: '@anthropic-ai/sdk': 0.39.0 '@browserbasehq/sdk': 2.16.0 '@google/genai': 1.52.0(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(bufferutil@4.1.0) - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) + '@modelcontextprotocol/sdk': 1.29.0(supports-color@8.1.1)(zod@4.4.3) ai: 5.0.220(zod@4.4.3) devtools-protocol: 0.0.1642743 fetch-cookie: 3.2.0 @@ -9549,7 +9500,7 @@ snapshots: protobufjs: 7.6.5 ws: 8.21.0(bufferutil@4.1.0) optionalDependencies: - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) + '@modelcontextprotocol/sdk': 1.29.0(supports-color@8.1.1)(zod@4.4.3) transitivePeerDependencies: - bufferutil - supports-color @@ -9732,51 +9683,51 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@25.9.4)': + '@inquirer/checkbox@4.3.2(@types/node@24.13.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/type': 3.0.10(@types/node@24.13.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/confirm@5.1.21(@types/node@25.9.4)': + '@inquirer/confirm@5.1.21(@types/node@24.13.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.4) - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) + '@inquirer/type': 3.0.10(@types/node@24.13.2) optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/core@10.3.2(@types/node@25.9.4)': + '@inquirer/core@10.3.2(@types/node@24.13.2)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/type': 3.0.10(@types/node@24.13.2) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/editor@4.2.23(@types/node@25.9.4)': + '@inquirer/editor@4.2.23(@types/node@24.13.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.4) - '@inquirer/external-editor': 1.0.3(@types/node@25.9.4) - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) + '@inquirer/external-editor': 1.0.3(@types/node@24.13.2) + '@inquirer/type': 3.0.10(@types/node@24.13.2) optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/expand@4.0.23(@types/node@25.9.4)': + '@inquirer/expand@4.0.23(@types/node@24.13.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.4) - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) + '@inquirer/type': 3.0.10(@types/node@24.13.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 '@inquirer/external-editor@1.0.3(@types/node@24.13.2)': dependencies: @@ -9785,82 +9736,75 @@ snapshots: optionalDependencies: '@types/node': 24.13.2 - '@inquirer/external-editor@1.0.3(@types/node@25.9.4)': - dependencies: - chardet: 2.2.0 - iconv-lite: 0.7.3 - optionalDependencies: - '@types/node': 25.9.4 - '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.3.1(@types/node@25.9.4)': + '@inquirer/input@4.3.1(@types/node@24.13.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.4) - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) + '@inquirer/type': 3.0.10(@types/node@24.13.2) optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/number@3.0.23(@types/node@25.9.4)': + '@inquirer/number@3.0.23(@types/node@24.13.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.4) - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) + '@inquirer/type': 3.0.10(@types/node@24.13.2) optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/password@4.0.23(@types/node@25.9.4)': + '@inquirer/password@4.0.23(@types/node@24.13.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.4) - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) + '@inquirer/type': 3.0.10(@types/node@24.13.2) optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/prompts@7.9.0(@types/node@25.9.4)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@25.9.4) - '@inquirer/confirm': 5.1.21(@types/node@25.9.4) - '@inquirer/editor': 4.2.23(@types/node@25.9.4) - '@inquirer/expand': 4.0.23(@types/node@25.9.4) - '@inquirer/input': 4.3.1(@types/node@25.9.4) - '@inquirer/number': 3.0.23(@types/node@25.9.4) - '@inquirer/password': 4.0.23(@types/node@25.9.4) - '@inquirer/rawlist': 4.1.11(@types/node@25.9.4) - '@inquirer/search': 3.2.2(@types/node@25.9.4) - '@inquirer/select': 4.4.2(@types/node@25.9.4) + '@inquirer/prompts@7.9.0(@types/node@24.13.2)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@24.13.2) + '@inquirer/confirm': 5.1.21(@types/node@24.13.2) + '@inquirer/editor': 4.2.23(@types/node@24.13.2) + '@inquirer/expand': 4.0.23(@types/node@24.13.2) + '@inquirer/input': 4.3.1(@types/node@24.13.2) + '@inquirer/number': 3.0.23(@types/node@24.13.2) + '@inquirer/password': 4.0.23(@types/node@24.13.2) + '@inquirer/rawlist': 4.1.11(@types/node@24.13.2) + '@inquirer/search': 3.2.2(@types/node@24.13.2) + '@inquirer/select': 4.4.2(@types/node@24.13.2) optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/rawlist@4.1.11(@types/node@25.9.4)': + '@inquirer/rawlist@4.1.11(@types/node@24.13.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.4) - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) + '@inquirer/type': 3.0.10(@types/node@24.13.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/search@3.2.2(@types/node@25.9.4)': + '@inquirer/search@3.2.2(@types/node@24.13.2)': dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/type': 3.0.10(@types/node@24.13.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/select@4.4.2(@types/node@25.9.4)': + '@inquirer/select@4.4.2(@types/node@24.13.2)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@25.9.4) + '@inquirer/core': 10.3.2(@types/node@24.13.2) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@25.9.4) + '@inquirer/type': 3.0.10(@types/node@24.13.2) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 - '@inquirer/type@3.0.10(@types/node@25.9.4)': + '@inquirer/type@3.0.10(@types/node@24.13.2)': optionalDependencies: - '@types/node': 25.9.4 + '@types/node': 24.13.2 '@isaacs/cliui@8.0.2': dependencies: @@ -9988,7 +9932,7 @@ snapshots: '@isaacs/ttlcache': 2.1.5 '@lukeed/uuid': 2.0.1 '@mastra/schema-compat': 1.3.5(zod@4.4.3) - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) + '@modelcontextprotocol/sdk': 1.29.0(supports-color@8.1.1)(zod@4.4.3) '@sindresorhus/slugify': 2.2.1 '@standard-schema/spec': 1.1.0 ajv: 8.20.0 @@ -10026,7 +9970,7 @@ snapshots: dependencies: '@mastra/core': 1.57.0(ai@7.0.77(zod@4.4.3))(bufferutil@4.1.0)(express@5.2.1)(rxjs@7.8.2)(zod@4.4.3) '@modelcontextprotocol/ext-apps': 1.7.5(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(react-dom@18.3.1(react@19.2.3))(react@19.2.3)(zod@4.4.3) - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) + '@modelcontextprotocol/sdk': 1.29.0(supports-color@8.1.1)(zod@4.4.3) exit-hook: 5.1.0 fast-deep-equal: 3.1.3 transitivePeerDependencies: @@ -10080,9 +10024,9 @@ snapshots: '@types/react': 19.2.17 react: 19.2.3 - '@mintlify/cli@4.0.1391(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/node@25.9.4)(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(typescript@5.9.3)': + '@mintlify/cli@4.0.1391(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/node@24.13.2)(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(supports-color@8.1.1)(typescript@5.9.3)': dependencies: - '@inquirer/prompts': 7.9.0(@types/node@25.9.4) + '@inquirer/prompts': 7.9.0(@types/node@24.13.2) '@mintlify/common': 1.0.1080(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/link-rot': 3.0.1278(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(react@19.2.3)(typescript@5.9.3) '@mintlify/models': 0.0.347 @@ -10092,10 +10036,10 @@ snapshots: adm-zip: 0.6.0 chalk: 5.2.0 color: 4.2.3 - detect-port: 1.5.1 + detect-port: 1.5.1(supports-color@8.1.1) fs-extra: 11.2.0 ink: 6.3.0(@types/react@19.2.17)(bufferutil@4.1.0)(react@19.2.3) - inquirer: 12.3.0(@types/node@25.9.4) + inquirer: 12.3.0(@types/node@24.13.2) js-yaml: 4.3.1 jsonc-parser: 3.3.1 mdast-util-mdx-jsx: 3.2.0 @@ -10390,14 +10334,14 @@ snapshots: '@modelcontextprotocol/ext-apps@1.7.5(@modelcontextprotocol/sdk@1.29.0(zod@4.4.3))(react-dom@18.3.1(react@19.2.3))(react@19.2.3)(zod@4.4.3)': dependencies: - '@modelcontextprotocol/sdk': 1.29.0(zod@4.4.3) + '@modelcontextprotocol/sdk': 1.29.0(supports-color@8.1.1)(zod@4.4.3) '@standard-schema/spec': 1.1.0 zod: 4.4.3 optionalDependencies: react: 19.2.3 react-dom: 18.3.1(react@19.2.3) - '@modelcontextprotocol/sdk@1.29.0(zod@4.4.3)': + '@modelcontextprotocol/sdk@1.29.0(supports-color@8.1.1)(zod@4.4.3)': dependencies: '@hono/node-server': 1.19.14(hono@4.12.31) ajv: 8.20.0 @@ -10408,7 +10352,7 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.1.0 express: 5.2.1 - express-rate-limit: 8.6.0(express@5.2.1) + express-rate-limit: 8.6.0(express@5.2.1)(supports-color@8.1.1) hono: 4.12.31 jose: 6.2.4 json-schema-typed: 8.0.2 @@ -12194,7 +12138,7 @@ snapshots: detect-libc@2.1.2: {} - detect-port@1.5.1: + detect-port@1.5.1(supports-color@8.1.1): dependencies: address: 1.2.2 debug: 4.4.3(supports-color@8.1.1) @@ -12631,7 +12575,7 @@ snapshots: expr-eval-fork@3.0.3: {} - express-rate-limit@8.6.0(express@5.2.1): + express-rate-limit@8.6.0(express@5.2.1)(supports-color@8.1.1): dependencies: debug: 4.4.3(supports-color@8.1.1) express: 5.2.1 @@ -13468,12 +13412,12 @@ snapshots: inline-style-parser@0.2.7: {} - inquirer@12.3.0(@types/node@25.9.4): + inquirer@12.3.0(@types/node@24.13.2): dependencies: - '@inquirer/core': 10.3.2(@types/node@25.9.4) - '@inquirer/prompts': 7.9.0(@types/node@25.9.4) - '@inquirer/type': 3.0.10(@types/node@25.9.4) - '@types/node': 25.9.4 + '@inquirer/core': 10.3.2(@types/node@24.13.2) + '@inquirer/prompts': 7.9.0(@types/node@24.13.2) + '@inquirer/type': 3.0.10(@types/node@24.13.2) + '@types/node': 24.13.2 ansi-escapes: 4.3.2 mute-stream: 2.0.0 run-async: 3.0.0 @@ -14491,9 +14435,9 @@ snapshots: dependencies: minipass: 7.1.3 - mint@4.2.788(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/node@25.9.4)(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(typescript@5.9.3): + mint@4.2.788(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/node@24.13.2)(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(supports-color@8.1.1)(typescript@5.9.3): dependencies: - '@mintlify/cli': 4.0.1391(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/node@25.9.4)(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(typescript@5.9.3) + '@mintlify/cli': 4.0.1391(@base-ui/react@1.7.0(@types/react@19.2.17)(react-dom@18.3.1(react@19.2.3))(react@19.2.3))(@types/node@24.13.2)(@types/react@19.2.17)(bufferutil@4.1.0)(react-dom@18.3.1(react@19.2.3))(supports-color@8.1.1)(typescript@5.9.3) transitivePeerDependencies: - '@base-ui/react' - '@types/node' diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index e4e95b596e..4959130d93 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -41,8 +41,6 @@ catalog: "@ai-sdk/openai": ^4.0.8 "@ai-sdk/anthropic": ^4.0.8 "@ai-sdk/google": ^4.0.8 - "@ai-sdk/groq": ^4.0.5 - "@ai-sdk/cerebras": ^3.0.5 camelcase-keys: ^10.0.2 snakecase-keys: ^9.0.2 zustand: ^5.0.14