@roo-code/types 1.34.0 → 1.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +12 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +46 -2
- package/dist/index.d.ts +46 -2
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts","../../src/providers/anthropic.ts","../../src/providers/bedrock.ts","../../src/providers/chutes.ts","../../src/providers/claude-code.ts","../../src/providers/deepseek.ts","../../src/providers/gemini.ts","../../src/providers/glama.ts","../../src/providers/groq.ts","../../src/providers/lite-llm.ts","../../src/providers/lm-studio.ts","../../src/providers/mistral.ts","../../src/providers/ollama.ts","../../src/providers/openai.ts","../../src/providers/openrouter.ts","../../src/providers/requesty.ts","../../src/providers/unbound.ts","../../src/providers/vertex.ts","../../src/providers/vscode-llm.ts","../../src/providers/xai.ts","../../src/codebase-index.ts","../../src/cloud.ts","../../src/global-settings.ts","../../src/provider-settings.ts","../../src/model.ts","../../src/history.ts","../../src/experiment.ts","../../src/telemetry.ts","../../src/message.ts","../../src/mode.ts","../../src/tool.ts","../../src/vscode.ts","../../src/followup.ts","../../src/ipc.ts","../../src/marketplace.ts","../../src/mcp.ts","../../src/terminal.ts","../../src/todo.ts"],"sourcesContent":["export * from \"./providers/index.js\"\n\nexport * from \"./api.js\"\nexport * from \"./codebase-index.js\"\nexport * from \"./cloud.js\"\nexport * from \"./experiment.js\"\nexport * from \"./followup.js\"\nexport * from \"./global-settings.js\"\nexport * from \"./history.js\"\nexport * from \"./ipc.js\"\nexport * from \"./marketplace.js\"\nexport * from \"./mcp.js\"\nexport * from \"./message.js\"\nexport * from \"./mode.js\"\nexport * from \"./model.js\"\nexport * from \"./provider-settings.js\"\nexport * from \"./sharing.js\"\nexport * from \"./telemetry.js\"\nexport * from \"./terminal.js\"\nexport * from \"./tool.js\"\nexport * from \"./type-fu.js\"\nexport * from \"./vscode.js\"\nexport * from \"./todo.js\"\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.anthropic.com/en/docs/about-claude/models\n\nexport type AnthropicModelId = keyof typeof anthropicModels\nexport const anthropicDefaultModelId: AnthropicModelId = \"claude-sonnet-4-20250514\"\n\nexport const anthropicModels = {\n\t\"claude-sonnet-4-20250514\": {\n\t\tmaxTokens: 64_000, // Overridden to 8k if `enableReasoningEffort` is false.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-opus-4-20250514\": {\n\t\tmaxTokens: 32_000, // Overridden to 8k if `enableReasoningEffort` is false.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0, // $15 per million input tokens\n\t\toutputPrice: 75.0, // $75 per million output tokens\n\t\tcacheWritesPrice: 18.75, // $18.75 per million tokens\n\t\tcacheReadsPrice: 1.5, // $1.50 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet-20250219:thinking\": {\n\t\tmaxTokens: 128_000, // Unlocked by passing `beta` flag to the model. Otherwise, it's 64k.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet-20250219\": {\n\t\tmaxTokens: 8192, // Since we already have a `:thinking` virtual model we aren't setting `supportsReasoningBudget: true` here.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t},\n\t\"claude-3-5-sonnet-20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t},\n\t\"claude-3-5-haiku-20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 5.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"claude-3-opus-20240229\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-haiku-20240307\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t\tcacheWritesPrice: 0.3,\n\t\tcacheReadsPrice: 0.03,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const ANTHROPIC_DEFAULT_MAX_TOKENS = 8192\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html\n\nexport type BedrockModelId = keyof typeof bedrockModels\n\nexport const bedrockDefaultModelId: BedrockModelId = \"anthropic.claude-sonnet-4-20250514-v1:0\"\n\nexport const bedrockDefaultPromptRouterModelId: BedrockModelId = \"anthropic.claude-3-sonnet-20240229-v1:0\"\n\n// March, 12 2025 - updated prices to match US-West-2 list price shown at\n// https://aws.amazon.com/bedrock/pricing, including older models that are part\n// of the default prompt routers AWS enabled for GA of the promot router\n// feature.\nexport const bedrockModels = {\n\t\"amazon.nova-pro-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 3.2,\n\t\tcacheWritesPrice: 0.8, // per million tokens\n\t\tcacheReadsPrice: 0.2, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"amazon.nova-pro-latency-optimized-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 1.0, // per million tokens\n\t\tcacheReadsPrice: 0.25, // per million tokens\n\t\tdescription: \"Amazon Nova Pro with latency optimized inference\",\n\t},\n\t\"amazon.nova-lite-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.06,\n\t\toutputPrice: 0.24,\n\t\tcacheWritesPrice: 0.06, // per million tokens\n\t\tcacheReadsPrice: 0.015, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"amazon.nova-micro-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.035,\n\t\toutputPrice: 0.14,\n\t\tcacheWritesPrice: 0.035, // per million tokens\n\t\tcacheReadsPrice: 0.00875, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"anthropic.claude-sonnet-4-20250514-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-opus-4-20250514-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-7-sonnet-20250219-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-sonnet-20241022-v2:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-haiku-20241022-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 1.0,\n\t\tcacheReadsPrice: 0.08,\n\t\tminTokensPerCachePoint: 2048,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-sonnet-20240620-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t},\n\t\"anthropic.claude-3-opus-20240229-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t},\n\t\"anthropic.claude-3-sonnet-20240229-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t},\n\t\"anthropic.claude-3-haiku-20240307-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t},\n\t\"anthropic.claude-2-1-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 8.0,\n\t\toutputPrice: 24.0,\n\t\tdescription: \"Claude 2.1\",\n\t},\n\t\"anthropic.claude-2-0-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 8.0,\n\t\toutputPrice: 24.0,\n\t\tdescription: \"Claude 2.0\",\n\t},\n\t\"anthropic.claude-instant-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 2.4,\n\t\tdescription: \"Claude Instant\",\n\t},\n\t\"deepseek.r1-v1:0\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.35,\n\t\toutputPrice: 5.4,\n\t},\n\t\"meta.llama3-3-70b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.3 Instruct (70B)\",\n\t},\n\t\"meta.llama3-2-90b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.2 Instruct (90B)\",\n\t},\n\t\"meta.llama3-2-11b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.16,\n\t\toutputPrice: 0.16,\n\t\tdescription: \"Llama 3.2 Instruct (11B)\",\n\t},\n\t\"meta.llama3-2-3b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.15,\n\t\tdescription: \"Llama 3.2 Instruct (3B)\",\n\t},\n\t\"meta.llama3-2-1b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.1,\n\t\tdescription: \"Llama 3.2 Instruct (1B)\",\n\t},\n\t\"meta.llama3-1-405b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.4,\n\t\toutputPrice: 2.4,\n\t\tdescription: \"Llama 3.1 Instruct (405B)\",\n\t},\n\t\"meta.llama3-1-70b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.1 Instruct (70B)\",\n\t},\n\t\"meta.llama3-1-70b-instruct-latency-optimized-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.9,\n\t\toutputPrice: 0.9,\n\t\tdescription: \"Llama 3.1 Instruct (70B) (w/ latency optimized inference)\",\n\t},\n\t\"meta.llama3-1-8b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.22,\n\t\toutputPrice: 0.22,\n\t\tdescription: \"Llama 3.1 Instruct (8B)\",\n\t},\n\t\"meta.llama3-70b-instruct-v1:0\": {\n\t\tmaxTokens: 2048,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.65,\n\t\toutputPrice: 3.5,\n\t},\n\t\"meta.llama3-8b-instruct-v1:0\": {\n\t\tmaxTokens: 2048,\n\t\tcontextWindow: 4_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.6,\n\t},\n\t\"amazon.titan-text-lite-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.2,\n\t\tdescription: \"Amazon Titan Text Lite\",\n\t},\n\t\"amazon.titan-text-express-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t\tdescription: \"Amazon Titan Text Express\",\n\t},\n\t\"amazon.titan-text-embeddings-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\tdescription: \"Amazon Titan Text Embeddings\",\n\t},\n\t\"amazon.titan-text-embeddings-v2:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.02,\n\t\tdescription: \"Amazon Titan Text Embeddings V2\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const BEDROCK_DEFAULT_TEMPERATURE = 0.3\n\nexport const BEDROCK_MAX_TOKENS = 4096\n\nexport const BEDROCK_DEFAULT_CONTEXT = 128_000\n\n// AWS Bedrock Inference Profile mapping based on official documentation\n// https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html\n// This mapping is pre-ordered by pattern length (descending) to ensure more specific patterns match first\nexport const AWS_INFERENCE_PROFILE_MAPPING: Array<[string, string]> = [\n\t// US Government Cloud → ug. inference profile (most specific prefix first)\n\t[\"us-gov-\", \"ug.\"],\n\t// Americas regions → us. inference profile\n\t[\"us-\", \"us.\"],\n\t// Europe regions → eu. inference profile\n\t[\"eu-\", \"eu.\"],\n\t// Asia Pacific regions → apac. inference profile\n\t[\"ap-\", \"apac.\"],\n\t// Canada regions → ca. inference profile\n\t[\"ca-\", \"ca.\"],\n\t// South America regions → sa. inference profile\n\t[\"sa-\", \"sa.\"],\n]\n\n// AWS Bedrock supported regions for the regions dropdown\n// Based on official AWS documentation\nexport const BEDROCK_REGIONS = [\n\t{ value: \"us-east-1\", label: \"us-east-1\" },\n\t{ value: \"us-east-2\", label: \"us-east-2\" },\n\t{ value: \"us-west-1\", label: \"us-west-1\" },\n\t{ value: \"us-west-2\", label: \"us-west-2\" },\n\t{ value: \"ap-northeast-1\", label: \"ap-northeast-1\" },\n\t{ value: \"ap-northeast-2\", label: \"ap-northeast-2\" },\n\t{ value: \"ap-northeast-3\", label: \"ap-northeast-3\" },\n\t{ value: \"ap-south-1\", label: \"ap-south-1\" },\n\t{ value: \"ap-south-2\", label: \"ap-south-2\" },\n\t{ value: \"ap-southeast-1\", label: \"ap-southeast-1\" },\n\t{ value: \"ap-southeast-2\", label: \"ap-southeast-2\" },\n\t{ value: \"ap-east-1\", label: \"ap-east-1\" },\n\t{ value: \"eu-central-1\", label: \"eu-central-1\" },\n\t{ value: \"eu-central-2\", label: \"eu-central-2\" },\n\t{ value: \"eu-west-1\", label: \"eu-west-1\" },\n\t{ value: \"eu-west-2\", label: \"eu-west-2\" },\n\t{ value: \"eu-west-3\", label: \"eu-west-3\" },\n\t{ value: \"eu-north-1\", label: \"eu-north-1\" },\n\t{ value: \"eu-south-1\", label: \"eu-south-1\" },\n\t{ value: \"eu-south-2\", label: \"eu-south-2\" },\n\t{ value: \"ca-central-1\", label: \"ca-central-1\" },\n\t{ value: \"sa-east-1\", label: \"sa-east-1\" },\n\t{ value: \"us-gov-east-1\", label: \"us-gov-east-1\" },\n\t{ value: \"us-gov-west-1\", label: \"us-gov-west-1\" },\n].sort((a, b) => a.value.localeCompare(b.value))\n","import type { ModelInfo } from \"../model.js\"\n\n// https://llm.chutes.ai/v1 (OpenAI compatible)\nexport type ChutesModelId =\n\t| \"deepseek-ai/DeepSeek-R1-0528\"\n\t| \"deepseek-ai/DeepSeek-R1\"\n\t| \"deepseek-ai/DeepSeek-V3\"\n\t| \"unsloth/Llama-3.3-70B-Instruct\"\n\t| \"chutesai/Llama-4-Scout-17B-16E-Instruct\"\n\t| \"unsloth/Mistral-Nemo-Instruct-2407\"\n\t| \"unsloth/gemma-3-12b-it\"\n\t| \"NousResearch/DeepHermes-3-Llama-3-8B-Preview\"\n\t| \"unsloth/gemma-3-4b-it\"\n\t| \"nvidia/Llama-3_3-Nemotron-Super-49B-v1\"\n\t| \"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1\"\n\t| \"chutesai/Llama-4-Maverick-17B-128E-Instruct-FP8\"\n\t| \"deepseek-ai/DeepSeek-V3-Base\"\n\t| \"deepseek-ai/DeepSeek-R1-Zero\"\n\t| \"deepseek-ai/DeepSeek-V3-0324\"\n\t| \"Qwen/Qwen3-235B-A22B\"\n\t| \"Qwen/Qwen3-32B\"\n\t| \"Qwen/Qwen3-30B-A3B\"\n\t| \"Qwen/Qwen3-14B\"\n\t| \"Qwen/Qwen3-8B\"\n\t| \"microsoft/MAI-DS-R1-FP8\"\n\t| \"tngtech/DeepSeek-R1T-Chimera\"\n\nexport const chutesDefaultModelId: ChutesModelId = \"deepseek-ai/DeepSeek-R1-0528\"\n\nexport const chutesModels = {\n\t\"deepseek-ai/DeepSeek-R1-0528\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 0528 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-R1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 model.\",\n\t},\n\t\"unsloth/Llama-3.3-70B-Instruct\": {\n\t\tmaxTokens: 32768, // From Groq\n\t\tcontextWindow: 131072, // From Groq\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Llama 3.3 70B Instruct model.\",\n\t},\n\t\"chutesai/Llama-4-Scout-17B-16E-Instruct\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 512000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"ChutesAI Llama 4 Scout 17B Instruct model, 512K context.\",\n\t},\n\t\"unsloth/Mistral-Nemo-Instruct-2407\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 128000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Mistral Nemo Instruct model.\",\n\t},\n\t\"unsloth/gemma-3-12b-it\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Gemma 3 12B IT model.\",\n\t},\n\t\"NousResearch/DeepHermes-3-Llama-3-8B-Preview\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nous DeepHermes 3 Llama 3 8B Preview model.\",\n\t},\n\t\"unsloth/gemma-3-4b-it\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Gemma 3 4B IT model.\",\n\t},\n\t\"nvidia/Llama-3_3-Nemotron-Super-49B-v1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nvidia Llama 3.3 Nemotron Super 49B model.\",\n\t},\n\t\"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nvidia Llama 3.1 Nemotron Ultra 253B model.\",\n\t},\n\t\"chutesai/Llama-4-Maverick-17B-128E-Instruct-FP8\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 256000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"ChutesAI Llama 4 Maverick 17B Instruct FP8 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3-Base\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 Base model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-R1-Zero\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 Zero model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3-0324\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 (0324) model.\",\n\t},\n\t\"Qwen/Qwen3-235B-A22B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 235B A22B model.\",\n\t},\n\t\"Qwen/Qwen3-32B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 32B model.\",\n\t},\n\t\"Qwen/Qwen3-30B-A3B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 30B A3B model.\",\n\t},\n\t\"Qwen/Qwen3-14B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 14B model.\",\n\t},\n\t\"Qwen/Qwen3-8B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 8B model.\",\n\t},\n\t\"microsoft/MAI-DS-R1-FP8\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Microsoft MAI-DS-R1 FP8 model.\",\n\t},\n\t\"tngtech/DeepSeek-R1T-Chimera\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"TNGTech DeepSeek R1T Chimera model.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import type { ModelInfo } from \"../model.js\"\nimport { anthropicModels } from \"./anthropic.js\"\n\n// Regex pattern to match 8-digit date at the end of model names\nconst VERTEX_DATE_PATTERN = /-(\\d{8})$/\n\n/**\n * Converts Claude model names from hyphen-date format to Vertex AI's @-date format.\n *\n * @param modelName - The original model name (e.g., \"claude-sonnet-4-20250514\")\n * @returns The converted model name for Vertex AI (e.g., \"claude-sonnet-4@20250514\")\n *\n * @example\n * convertModelNameForVertex(\"claude-sonnet-4-20250514\") // returns \"claude-sonnet-4@20250514\"\n * convertModelNameForVertex(\"claude-model\") // returns \"claude-model\" (no change)\n */\nexport function convertModelNameForVertex(modelName: string): string {\n\t// Convert hyphen-date format to @date format for Vertex AI\n\treturn modelName.replace(VERTEX_DATE_PATTERN, \"@$1\")\n}\n\n// Claude Code\nexport type ClaudeCodeModelId = keyof typeof claudeCodeModels\nexport const claudeCodeDefaultModelId: ClaudeCodeModelId = \"claude-sonnet-4-20250514\"\nexport const CLAUDE_CODE_DEFAULT_MAX_OUTPUT_TOKENS = 8000\n\n/**\n * Gets the appropriate model ID based on whether Vertex AI is being used.\n *\n * @param baseModelId - The base Claude Code model ID\n * @param useVertex - Whether to format the model ID for Vertex AI (default: false)\n * @returns The model ID, potentially formatted for Vertex AI\n *\n * @example\n * getClaudeCodeModelId(\"claude-sonnet-4-20250514\", true) // returns \"claude-sonnet-4@20250514\"\n * getClaudeCodeModelId(\"claude-sonnet-4-20250514\", false) // returns \"claude-sonnet-4-20250514\"\n */\nexport function getClaudeCodeModelId(baseModelId: ClaudeCodeModelId, useVertex = false): string {\n\treturn useVertex ? convertModelNameForVertex(baseModelId) : baseModelId\n}\n\nexport const claudeCodeModels = {\n\t\"claude-sonnet-4-20250514\": {\n\t\t...anthropicModels[\"claude-sonnet-4-20250514\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-opus-4-20250514\": {\n\t\t...anthropicModels[\"claude-opus-4-20250514\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-7-sonnet-20250219\": {\n\t\t...anthropicModels[\"claude-3-7-sonnet-20250219\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-5-sonnet-20241022\": {\n\t\t...anthropicModels[\"claude-3-5-sonnet-20241022\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-5-haiku-20241022\": {\n\t\t...anthropicModels[\"claude-3-5-haiku-20241022\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import type { ModelInfo } from \"../model.js\"\n\n// https://platform.deepseek.com/docs/api\nexport type DeepSeekModelId = keyof typeof deepSeekModels\n\nexport const deepSeekDefaultModelId: DeepSeekModelId = \"deepseek-chat\"\n\nexport const deepSeekModels = {\n\t\"deepseek-chat\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 64_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.27, // $0.27 per million tokens (cache miss)\n\t\toutputPrice: 1.1, // $1.10 per million tokens\n\t\tcacheWritesPrice: 0.27, // $0.27 per million tokens (cache miss)\n\t\tcacheReadsPrice: 0.07, // $0.07 per million tokens (cache hit).\n\t\tdescription: `DeepSeek-V3 achieves a significant breakthrough in inference speed over previous models. It tops the leaderboard among open-source models and rivals the most advanced closed-source models globally.`,\n\t},\n\t\"deepseek-reasoner\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 64_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.55, // $0.55 per million tokens (cache miss)\n\t\toutputPrice: 2.19, // $2.19 per million tokens\n\t\tcacheWritesPrice: 0.55, // $0.55 per million tokens (cache miss)\n\t\tcacheReadsPrice: 0.14, // $0.14 per million tokens (cache hit)\n\t\tdescription: `DeepSeek-R1 achieves performance comparable to OpenAI-o1 across math, code, and reasoning tasks. Supports Chain of Thought reasoning with up to 32K tokens.`,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const DEEP_SEEK_DEFAULT_TEMPERATURE = 0.6\n","import type { ModelInfo } from \"../model.js\"\n\n// https://ai.google.dev/gemini-api/docs/models/gemini\nexport type GeminiModelId = keyof typeof geminiModels\n\nexport const geminiDefaultModelId: GeminiModelId = \"gemini-2.0-flash-001\"\n\nexport const geminiModels = {\n\t\"gemini-2.5-flash-preview-04-17:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-flash-preview-05-20:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-05-20\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t},\n\t\"gemini-2.5-flash\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 2.5,\n\t\tcacheReadsPrice: 0.075,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-pro-exp-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.5-pro-preview-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-preview-05-06\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-preview-06-05\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t},\n\t\"gemini-2.0-flash-lite-preview-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-pro-exp-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-01-21\": {\n\t\tmaxTokens: 65_536,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-1219\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32_767,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-exp\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15, // This is the pricing for prompts above 128k tokens.\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 128_000,\n\t\t\t\tinputPrice: 0.075,\n\t\t\t\toutputPrice: 0.3,\n\t\t\t\tcacheReadsPrice: 0.01875,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 0.15,\n\t\t\t\toutputPrice: 0.6,\n\t\t\t\tcacheReadsPrice: 0.0375,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-1.5-flash-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-8b-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-pro-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-pro-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-exp-1206\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.5-flash-lite-preview-06-17\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t\tsupportsReasoningBudget: true,\n\t\tmaxThinkingTokens: 24_576,\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import type { ModelInfo } from \"../model.js\"\n\n// https://glama.ai/models\nexport const glamaDefaultModelId = \"anthropic/claude-3-7-sonnet\"\n\nexport const glamaDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and extended, step-by-step processing for complex tasks. The model demonstrates notable improvements in coding, particularly in front-end development and full-stack updates, and excels in agentic workflows, where it can autonomously navigate multi-step processes. Claude 3.7 Sonnet maintains performance parity with its predecessor in standard mode while offering an extended reasoning mode for enhanced accuracy in math, coding, and instruction-following tasks. Read more at the [blog post here](https://www.anthropic.com/news/claude-3-7-sonnet)\",\n}\n\nexport const GLAMA_DEFAULT_TEMPERATURE = 0\n","import type { ModelInfo } from \"../model.js\"\n\n// https://console.groq.com/docs/models\nexport type GroqModelId =\n\t| \"llama-3.1-8b-instant\"\n\t| \"llama-3.3-70b-versatile\"\n\t| \"meta-llama/llama-4-scout-17b-16e-instruct\"\n\t| \"meta-llama/llama-4-maverick-17b-128e-instruct\"\n\t| \"mistral-saba-24b\"\n\t| \"qwen-qwq-32b\"\n\t| \"qwen/qwen3-32b\"\n\t| \"deepseek-r1-distill-llama-70b\"\n\t| \"moonshotai/kimi-k2-instruct\"\n\nexport const groqDefaultModelId: GroqModelId = \"llama-3.3-70b-versatile\" // Defaulting to Llama3 70B Versatile\n\nexport const groqModels = {\n\t// Models based on API response: https://api.groq.com/openai/v1/models\n\t\"llama-3.1-8b-instant\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.05,\n\t\toutputPrice: 0.08,\n\t\tdescription: \"Meta Llama 3.1 8B Instant model, 128K context.\",\n\t},\n\t\"llama-3.3-70b-versatile\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.59,\n\t\toutputPrice: 0.79,\n\t\tdescription: \"Meta Llama 3.3 70B Versatile model, 128K context.\",\n\t},\n\t\"meta-llama/llama-4-scout-17b-16e-instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.11,\n\t\toutputPrice: 0.34,\n\t\tdescription: \"Meta Llama 4 Scout 17B Instruct model, 128K context.\",\n\t},\n\t\"meta-llama/llama-4-maverick-17b-128e-instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t\tdescription: \"Meta Llama 4 Maverick 17B Instruct model, 128K context.\",\n\t},\n\t\"mistral-saba-24b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32768,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.79,\n\t\toutputPrice: 0.79,\n\t\tdescription: \"Mistral Saba 24B model, 32K context.\",\n\t},\n\t\"qwen-qwq-32b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.29,\n\t\toutputPrice: 0.39,\n\t\tdescription: \"Alibaba Qwen QwQ 32B model, 128K context.\",\n\t},\n\t\"qwen/qwen3-32b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.29,\n\t\toutputPrice: 0.59,\n\t\tdescription: \"Alibaba Qwen 3 32B model, 128K context.\",\n\t},\n\t\"deepseek-r1-distill-llama-70b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.75,\n\t\toutputPrice: 0.99,\n\t\tdescription: \"DeepSeek R1 Distill Llama 70B model, 128K context.\",\n\t},\n\t\"moonshotai/kimi-k2-instruct\": {\n\t\tmaxTokens: 16384,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 3.0,\n\t\tdescription: \"Moonshot AI Kimi K2 Instruct 1T model, 128K context.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.litellm.ai/\nexport const litellmDefaultModelId = \"claude-3-7-sonnet-20250219\"\n\nexport const litellmDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n}\n\nexport const LITELLM_COMPUTER_USE_MODELS = new Set([\n\t\"claude-3-5-sonnet-latest\",\n\t\"claude-opus-4-20250514\",\n\t\"claude-sonnet-4-20250514\",\n\t\"claude-3-7-sonnet-latest\",\n\t\"claude-3-7-sonnet-20250219\",\n\t\"claude-3-5-sonnet-20241022\",\n\t\"vertex_ai/claude-3-5-sonnet\",\n\t\"vertex_ai/claude-3-5-sonnet-v2\",\n\t\"vertex_ai/claude-3-5-sonnet-v2@20241022\",\n\t\"vertex_ai/claude-3-7-sonnet@20250219\",\n\t\"vertex_ai/claude-opus-4@20250514\",\n\t\"vertex_ai/claude-sonnet-4@20250514\",\n\t\"openrouter/anthropic/claude-3.5-sonnet\",\n\t\"openrouter/anthropic/claude-3.5-sonnet:beta\",\n\t\"openrouter/anthropic/claude-3.7-sonnet\",\n\t\"openrouter/anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic.claude-opus-4-20250514-v1:0\",\n\t\"anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"us.anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"us.anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"us.anthropic.claude-opus-4-20250514-v1:0\",\n\t\"us.anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"eu.anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"eu.anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"eu.anthropic.claude-opus-4-20250514-v1:0\",\n\t\"eu.anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"snowflake/claude-3-5-sonnet\",\n])\n","import type { ModelInfo } from \"../model.js\"\n\nexport const LMSTUDIO_DEFAULT_TEMPERATURE = 0\n\n// LM Studio\n// https://lmstudio.ai/docs/cli/ls\nexport const lMStudioDefaultModelId = \"mistralai/devstral-small-2505\"\nexport const lMStudioDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 0,\n\toutputPrice: 0,\n\tcacheWritesPrice: 0,\n\tcacheReadsPrice: 0,\n\tdescription: \"LM Studio hosted models\",\n}\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.mistral.ai/getting-started/models/models_overview/\nexport type MistralModelId = keyof typeof mistralModels\n\nexport const mistralDefaultModelId: MistralModelId = \"codestral-latest\"\n\nexport const mistralModels = {\n\t\"magistral-medium-latest\": {\n\t\tmaxTokens: 41_000,\n\t\tcontextWindow: 41_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 5.0,\n\t},\n\t\"devstral-medium-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 2.0,\n\t},\n\t\"mistral-medium-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 2.0,\n\t},\n\t\"codestral-latest\": {\n\t\tmaxTokens: 256_000,\n\t\tcontextWindow: 256_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.9,\n\t},\n\t\"mistral-large-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 6.0,\n\t},\n\t\"ministral-8b-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.1,\n\t},\n\t\"ministral-3b-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.04,\n\t\toutputPrice: 0.04,\n\t},\n\t\"mistral-small-latest\": {\n\t\tmaxTokens: 32_000,\n\t\tcontextWindow: 32_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t},\n\t\"pixtral-large-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 6.0,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const MISTRAL_DEFAULT_TEMPERATURE = 0\n","import type { ModelInfo } from \"../model.js\"\n\n// Ollama\n// https://ollama.com/models\nexport const ollamaDefaultModelId = \"devstral:24b\"\nexport const ollamaDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 4096,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 0,\n\toutputPrice: 0,\n\tcacheWritesPrice: 0,\n\tcacheReadsPrice: 0,\n\tdescription: \"Ollama hosted models\",\n}\n","import type { ModelInfo } from \"../model.js\"\n\n// https://openai.com/api/pricing/\nexport type OpenAiNativeModelId = keyof typeof openAiNativeModels\n\nexport const openAiNativeDefaultModelId: OpenAiNativeModelId = \"gpt-4.1\"\n\nexport const openAiNativeModels = {\n\t\"gpt-4.1\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2,\n\t\toutputPrice: 8,\n\t\tcacheReadsPrice: 0.5,\n\t},\n\t\"gpt-4.1-mini\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 1.6,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"gpt-4.1-nano\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t},\n\to3: {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o3-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o3-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\treasoningEffort: \"low\",\n\t},\n\t\"o4-mini\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o4-mini-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o4-mini-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\treasoningEffort: \"low\",\n\t},\n\t\"o3-mini\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o3-mini-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o3-mini-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\treasoningEffort: \"low\",\n\t},\n\to1: {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15,\n\t\toutputPrice: 60,\n\t\tcacheReadsPrice: 7.5,\n\t},\n\t\"o1-preview\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15,\n\t\toutputPrice: 60,\n\t\tcacheReadsPrice: 7.5,\n\t},\n\t\"o1-mini\": {\n\t\tmaxTokens: 65_536,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t},\n\t\"gpt-4.5-preview\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 75,\n\t\toutputPrice: 150,\n\t\tcacheReadsPrice: 37.5,\n\t},\n\t\"gpt-4o\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 10,\n\t\tcacheReadsPrice: 1.25,\n\t},\n\t\"gpt-4o-mini\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.075,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const openAiModelInfoSaneDefaults: ModelInfo = {\n\tmaxTokens: -1,\n\tcontextWindow: 128_000,\n\tsupportsImages: true,\n\tsupportsPromptCache: false,\n\tinputPrice: 0,\n\toutputPrice: 0,\n}\n\n// https://learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation\n// https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs\nexport const azureOpenAiDefaultApiVersion = \"2024-08-01-preview\"\n\nexport const OPENAI_NATIVE_DEFAULT_TEMPERATURE = 0\n\nexport const OPENAI_AZURE_AI_INFERENCE_PATH = \"/models/chat/completions\"\n","import type { ModelInfo } from \"../model.js\"\n\n// https://openrouter.ai/models?order=newest&supported_parameters=tools\nexport const openRouterDefaultModelId = \"anthropic/claude-sonnet-4\"\n\nexport const openRouterDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and extended, step-by-step processing for complex tasks. The model demonstrates notable improvements in coding, particularly in front-end development and full-stack updates, and excels in agentic workflows, where it can autonomously navigate multi-step processes. Claude 3.7 Sonnet maintains performance parity with its predecessor in standard mode while offering an extended reasoning mode for enhanced accuracy in math, coding, and instruction-following tasks. Read more at the [blog post here](https://www.anthropic.com/news/claude-3-7-sonnet)\",\n}\n\nexport const OPENROUTER_DEFAULT_PROVIDER_NAME = \"[default]\"\n\nexport const OPEN_ROUTER_PROMPT_CACHING_MODELS = new Set([\n\t\"anthropic/claude-3-haiku\",\n\t\"anthropic/claude-3-haiku:beta\",\n\t\"anthropic/claude-3-opus\",\n\t\"anthropic/claude-3-opus:beta\",\n\t\"anthropic/claude-3-sonnet\",\n\t\"anthropic/claude-3-sonnet:beta\",\n\t\"anthropic/claude-3.5-haiku\",\n\t\"anthropic/claude-3.5-haiku-20241022\",\n\t\"anthropic/claude-3.5-haiku-20241022:beta\",\n\t\"anthropic/claude-3.5-haiku:beta\",\n\t\"anthropic/claude-3.5-sonnet\",\n\t\"anthropic/claude-3.5-sonnet-20240620\",\n\t\"anthropic/claude-3.5-sonnet-20240620:beta\",\n\t\"anthropic/claude-3.5-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet\",\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"anthropic/claude-opus-4\",\n\t\"google/gemini-2.5-flash-preview\",\n\t\"google/gemini-2.5-flash-preview:thinking\",\n\t\"google/gemini-2.5-flash-preview-05-20\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n\t\"google/gemini-2.5-flash\",\n\t\"google/gemini-2.5-flash-lite-preview-06-17\",\n\t\"google/gemini-2.0-flash-001\",\n\t\"google/gemini-flash-1.5\",\n\t\"google/gemini-flash-1.5-8b\",\n])\n\n// https://www.anthropic.com/news/3-5-models-and-computer-use\nexport const OPEN_ROUTER_COMPUTER_USE_MODELS = new Set([\n\t\"anthropic/claude-3.5-sonnet\",\n\t\"anthropic/claude-3.5-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet\",\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"anthropic/claude-opus-4\",\n])\n\n// When we first launched these models we didn't have support for\n// enabling/disabling the reasoning budget for hybrid models. Now that we\n// do support this we should give users the option to enable/disable it\n// whenever possible. However these particular (virtual) model ids with the\n// `:thinking` suffix always require the reasoning budget to be enabled, so\n// for backwards compatibility we should still require it.\n// We should *not* be adding new models to this set.\nexport const OPEN_ROUTER_REQUIRED_REASONING_BUDGET_MODELS = new Set([\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"google/gemini-2.5-pro\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n])\n\nexport const OPEN_ROUTER_REASONING_BUDGET_MODELS = new Set([\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-opus-4\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"google/gemini-2.5-pro-preview\",\n\t\"google/gemini-2.5-pro\",\n\t\"google/gemini-2.5-flash-preview-05-20\",\n\t\"google/gemini-2.5-flash\",\n\t\"google/gemini-2.5-flash-lite-preview-06-17\",\n\t// Also include the models that require the reasoning budget to be enabled\n\t// even though `OPEN_ROUTER_REQUIRED_REASONING_BUDGET_MODELS` takes precedence.\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n])\n","import type { ModelInfo } from \"../model.js\"\n\n// Requesty\n// https://requesty.ai/router-2\nexport const requestyDefaultModelId = \"coding/claude-4-sonnet\"\n\nexport const requestyDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"The best coding model, optimized by Requesty, and automatically routed to the fastest provider. Claude 4 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities.\",\n}\n","import type { ModelInfo } from \"../model.js\"\n\nexport const unboundDefaultModelId = \"anthropic/claude-3-7-sonnet-20250219\"\n\nexport const unboundDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n}\n","import type { ModelInfo } from \"../model.js\"\n\n// https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-claude\nexport type VertexModelId = keyof typeof vertexModels\n\nexport const vertexDefaultModelId: VertexModelId = \"claude-sonnet-4@20250514\"\n\nexport const vertexModels = {\n\t\"gemini-2.5-flash-preview-05-20:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-05-20\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-flash\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 2.5,\n\t\tcacheReadsPrice: 0.075,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-pro-preview-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t},\n\t\"gemini-2.5-pro-preview-05-06\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t},\n\t\"gemini-2.5-pro-preview-06-05\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-exp-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-pro-exp-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.0-flash-lite-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.075,\n\t\toutputPrice: 0.3,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-01-21\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32_768,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.075,\n\t\toutputPrice: 0.3,\n\t},\n\t\"gemini-1.5-pro-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.25,\n\t\toutputPrice: 5,\n\t},\n\t\"claude-sonnet-4@20250514\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-opus-4@20250514\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-7-sonnet@20250219:thinking\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet@20250219\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-sonnet-v2@20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-sonnet@20240620\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-haiku@20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 5.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"claude-3-opus@20240229\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-haiku@20240307\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t\tcacheWritesPrice: 0.3,\n\t\tcacheReadsPrice: 0.03,\n\t},\n\t\"gemini-2.5-flash-lite-preview-06-17\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const VERTEX_REGIONS = [\n\t{ value: \"global\", label: \"global\" },\n\t{ value: \"us-central1\", label: \"us-central1\" },\n\t{ value: \"us-east1\", label: \"us-east1\" },\n\t{ value: \"us-east4\", label: \"us-east4\" },\n\t{ value: \"us-east5\", label: \"us-east5\" },\n\t{ value: \"us-west1\", label: \"us-west1\" },\n\t{ value: \"us-west2\", label: \"us-west2\" },\n\t{ value: \"us-west3\", label: \"us-west3\" },\n\t{ value: \"us-west4\", label: \"us-west4\" },\n\t{ value: \"northamerica-northeast1\", label: \"northamerica-northeast1\" },\n\t{ value: \"northamerica-northeast2\", label: \"northamerica-northeast2\" },\n\t{ value: \"southamerica-east1\", label: \"southamerica-east1\" },\n\t{ value: \"europe-west1\", label: \"europe-west1\" },\n\t{ value: \"europe-west2\", label: \"europe-west2\" },\n\t{ value: \"europe-west3\", label: \"europe-west3\" },\n\t{ value: \"europe-west4\", label: \"europe-west4\" },\n\t{ value: \"europe-west6\", label: \"europe-west6\" },\n\t{ value: \"europe-central2\", label: \"europe-central2\" },\n\t{ value: \"asia-east1\", label: \"asia-east1\" },\n\t{ value: \"asia-east2\", label: \"asia-east2\" },\n\t{ value: \"asia-northeast1\", label: \"asia-northeast1\" },\n\t{ value: \"asia-northeast2\", label: \"asia-northeast2\" },\n\t{ value: \"asia-northeast3\", label: \"asia-northeast3\" },\n\t{ value: \"asia-south1\", label: \"asia-south1\" },\n\t{ value: \"asia-south2\", label: \"asia-south2\" },\n\t{ value: \"asia-southeast1\", label: \"asia-southeast1\" },\n\t{ value: \"asia-southeast2\", label: \"asia-southeast2\" },\n\t{ value: \"australia-southeast1\", label: \"australia-southeast1\" },\n\t{ value: \"australia-southeast2\", label: \"australia-southeast2\" },\n\t{ value: \"me-west1\", label: \"me-west1\" },\n\t{ value: \"me-central1\", label: \"me-central1\" },\n\t{ value: \"africa-south1\", label: \"africa-south1\" },\n]\n","import type { ModelInfo } from \"../model.js\"\n\nexport type VscodeLlmModelId = keyof typeof vscodeLlmModels\n\nexport const vscodeLlmDefaultModelId: VscodeLlmModelId = \"claude-3.5-sonnet\"\n\nexport const vscodeLlmModels = {\n\t\"gpt-3.5-turbo\": {\n\t\tcontextWindow: 12114,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-3.5-turbo\",\n\t\tversion: \"gpt-3.5-turbo-0613\",\n\t\tname: \"GPT 3.5 Turbo\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 12114,\n\t},\n\t\"gpt-4o-mini\": {\n\t\tcontextWindow: 12115,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4o-mini\",\n\t\tversion: \"gpt-4o-mini-2024-07-18\",\n\t\tname: \"GPT-4o mini\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 12115,\n\t},\n\t\"gpt-4\": {\n\t\tcontextWindow: 28501,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4\",\n\t\tversion: \"gpt-4-0613\",\n\t\tname: \"GPT 4\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 28501,\n\t},\n\t\"gpt-4-0125-preview\": {\n\t\tcontextWindow: 63826,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4-turbo\",\n\t\tversion: \"gpt-4-0125-preview\",\n\t\tname: \"GPT 4 Turbo\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63826,\n\t},\n\t\"gpt-4o\": {\n\t\tcontextWindow: 63827,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4o\",\n\t\tversion: \"gpt-4o-2024-11-20\",\n\t\tname: \"GPT-4o\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63827,\n\t},\n\to1: {\n\t\tcontextWindow: 19827,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o1-ga\",\n\t\tversion: \"o1-2024-12-17\",\n\t\tname: \"o1 (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 19827,\n\t},\n\t\"o3-mini\": {\n\t\tcontextWindow: 63827,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o3-mini\",\n\t\tversion: \"o3-mini-2025-01-31\",\n\t\tname: \"o3-mini\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63827,\n\t},\n\t\"claude-3.5-sonnet\": {\n\t\tcontextWindow: 81638,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"claude-3.5-sonnet\",\n\t\tversion: \"claude-3.5-sonnet\",\n\t\tname: \"Claude 3.5 Sonnet\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 81638,\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tcontextWindow: 127827,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gemini-2.0-flash\",\n\t\tversion: \"gemini-2.0-flash-001\",\n\t\tname: \"Gemini 2.0 Flash\",\n\t\tsupportsToolCalling: false,\n\t\tmaxInputTokens: 127827,\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tcontextWindow: 63830,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gemini-2.5-pro\",\n\t\tversion: \"gemini-2.5-pro-preview-03-25\",\n\t\tname: \"Gemini 2.5 Pro (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63830,\n\t},\n\t\"o4-mini\": {\n\t\tcontextWindow: 111446,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o4-mini\",\n\t\tversion: \"o4-mini-2025-04-16\",\n\t\tname: \"o4-mini (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 111446,\n\t},\n\t\"gpt-4.1\": {\n\t\tcontextWindow: 111446,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4.1\",\n\t\tversion: \"gpt-4.1-2025-04-14\",\n\t\tname: \"GPT-4.1 (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 111446,\n\t},\n} as const satisfies Record<\n\tstring,\n\tModelInfo & {\n\t\tfamily: string\n\t\tversion: string\n\t\tname: string\n\t\tsupportsToolCalling: boolean\n\t\tmaxInputTokens: number\n\t}\n>\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.x.ai/docs/api-reference\nexport type XAIModelId = keyof typeof xaiModels\n\nexport const xaiDefaultModelId: XAIModelId = \"grok-4\"\n\nexport const xaiModels = {\n\t\"grok-4\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 256000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 0.75,\n\t\tcacheReadsPrice: 0.75,\n\t\tdescription: \"xAI's Grok-4 model with 256K context window\",\n\t},\n\t\"grok-3\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 0.75,\n\t\tcacheReadsPrice: 0.75,\n\t\tdescription: \"xAI's Grok-3 model with 128K context window\",\n\t},\n\t\"grok-3-fast\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 5.0,\n\t\toutputPrice: 25.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 1.25,\n\t\tdescription: \"xAI's Grok-3 fast model with 128K context window\",\n\t},\n\t\"grok-3-mini\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.5,\n\t\tcacheWritesPrice: 0.07,\n\t\tcacheReadsPrice: 0.07,\n\t\tdescription: \"xAI's Grok-3 mini model with 128K context window\",\n\t\tsupportsReasoningEffort: true,\n\t},\n\t\"grok-3-mini-fast\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.6,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 0.15,\n\t\tcacheReadsPrice: 0.15,\n\t\tdescription: \"xAI's Grok-3 mini fast model with 128K context window\",\n\t\tsupportsReasoningEffort: true,\n\t},\n\t\"grok-2-1212\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 10.0,\n\t\tdescription: \"xAI's Grok-2 model (version 1212) with 128K context window\",\n\t},\n\t\"grok-2-vision-1212\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32768,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 10.0,\n\t\tdescription: \"xAI's Grok-2 Vision model (version 1212) with image support and 32K context window\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import { z } from \"zod\"\n\n/**\n * Codebase Index Constants\n */\nexport const CODEBASE_INDEX_DEFAULTS = {\n\tMIN_SEARCH_RESULTS: 10,\n\tMAX_SEARCH_RESULTS: 200,\n\tDEFAULT_SEARCH_RESULTS: 50,\n\tSEARCH_RESULTS_STEP: 10,\n\tMIN_SEARCH_SCORE: 0,\n\tMAX_SEARCH_SCORE: 1,\n\tDEFAULT_SEARCH_MIN_SCORE: 0.4,\n\tSEARCH_SCORE_STEP: 0.05,\n} as const\n\n/**\n * CodebaseIndexConfig\n */\n\nexport const codebaseIndexConfigSchema = z.object({\n\tcodebaseIndexEnabled: z.boolean().optional(),\n\tcodebaseIndexQdrantUrl: z.string().optional(),\n\tcodebaseIndexEmbedderProvider: z.enum([\"openai\", \"ollama\", \"openai-compatible\", \"gemini\"]).optional(),\n\tcodebaseIndexEmbedderBaseUrl: z.string().optional(),\n\tcodebaseIndexEmbedderModelId: z.string().optional(),\n\tcodebaseIndexEmbedderModelDimension: z.number().optional(),\n\tcodebaseIndexSearchMinScore: z.number().min(0).max(1).optional(),\n\tcodebaseIndexSearchMaxResults: z\n\t\t.number()\n\t\t.min(CODEBASE_INDEX_DEFAULTS.MIN_SEARCH_RESULTS)\n\t\t.max(CODEBASE_INDEX_DEFAULTS.MAX_SEARCH_RESULTS)\n\t\t.optional(),\n\t// OpenAI Compatible specific fields\n\tcodebaseIndexOpenAiCompatibleBaseUrl: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleModelDimension: z.number().optional(),\n})\n\nexport type CodebaseIndexConfig = z.infer<typeof codebaseIndexConfigSchema>\n\n/**\n * CodebaseIndexModels\n */\n\nexport const codebaseIndexModelsSchema = z.object({\n\topenai: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\tollama: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\t\"openai-compatible\": z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\tgemini: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n})\n\nexport type CodebaseIndexModels = z.infer<typeof codebaseIndexModelsSchema>\n\n/**\n * CdebaseIndexProvider\n */\n\nexport const codebaseIndexProviderSchema = z.object({\n\tcodeIndexOpenAiKey: z.string().optional(),\n\tcodeIndexQdrantApiKey: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleBaseUrl: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleApiKey: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleModelDimension: z.number().optional(),\n\tcodebaseIndexGeminiApiKey: z.string().optional(),\n})\n\nexport type CodebaseIndexProvider = z.infer<typeof codebaseIndexProviderSchema>\n","import { z } from \"zod\"\n\nimport { globalSettingsSchema } from \"./global-settings.js\"\n\n/**\n * CloudUserInfo\n */\n\nexport interface CloudUserInfo {\n\tname?: string\n\temail?: string\n\tpicture?: string\n\torganizationId?: string\n\torganizationName?: string\n\torganizationRole?: string\n\torganizationImageUrl?: string\n}\n\n/**\n * CloudOrganization Types\n */\n\nexport interface CloudOrganization {\n\tid: string\n\tname: string\n\tslug?: string\n\timage_url?: string\n\thas_image?: boolean\n\tcreated_at?: number\n\tupdated_at?: number\n}\n\nexport interface CloudOrganizationMembership {\n\tid: string\n\torganization: CloudOrganization\n\trole: string\n\tpermissions?: string[]\n\tcreated_at?: number\n\tupdated_at?: number\n}\n\n/**\n * OrganizationAllowList\n */\n\nexport const organizationAllowListSchema = z.object({\n\tallowAll: z.boolean(),\n\tproviders: z.record(\n\t\tz.object({\n\t\t\tallowAll: z.boolean(),\n\t\t\tmodels: z.array(z.string()).optional(),\n\t\t}),\n\t),\n})\n\nexport type OrganizationAllowList = z.infer<typeof organizationAllowListSchema>\n\n/**\n * OrganizationDefaultSettings\n */\n\nexport const organizationDefaultSettingsSchema = globalSettingsSchema\n\t.pick({\n\t\tenableCheckpoints: true,\n\t\tfuzzyMatchThreshold: true,\n\t\tmaxOpenTabsContext: true,\n\t\tmaxReadFileLine: true,\n\t\tmaxWorkspaceFiles: true,\n\t\tshowRooIgnoredFiles: true,\n\t\tterminalCommandDelay: true,\n\t\tterminalCompressProgressBar: true,\n\t\tterminalOutputLineLimit: true,\n\t\tterminalShellIntegrationDisabled: true,\n\t\tterminalShellIntegrationTimeout: true,\n\t\tterminalZshClearEolMark: true,\n\t})\n\t// Add stronger validations for some fields.\n\t.merge(\n\t\tz.object({\n\t\t\tmaxOpenTabsContext: z.number().int().nonnegative().optional(),\n\t\t\tmaxReadFileLine: z.number().int().gte(-1).optional(),\n\t\t\tmaxWorkspaceFiles: z.number().int().nonnegative().optional(),\n\t\t\tterminalCommandDelay: z.number().int().nonnegative().optional(),\n\t\t\tterminalOutputLineLimit: z.number().int().nonnegative().optional(),\n\t\t\tterminalShellIntegrationTimeout: z.number().int().nonnegative().optional(),\n\t\t}),\n\t)\n\nexport type OrganizationDefaultSettings = z.infer<typeof organizationDefaultSettingsSchema>\n\n/**\n * OrganizationCloudSettings\n */\n\nexport const organizationCloudSettingsSchema = z.object({\n\trecordTaskMessages: z.boolean().optional(),\n\tenableTaskSharing: z.boolean().optional(),\n\ttaskShareExpirationDays: z.number().int().positive().optional(),\n})\n\nexport type OrganizationCloudSettings = z.infer<typeof organizationCloudSettingsSchema>\n\n/**\n * Organization Settings\n */\n\nexport const organizationSettingsSchema = z.object({\n\tversion: z.number(),\n\tcloudSettings: organizationCloudSettingsSchema.optional(),\n\tdefaultSettings: organizationDefaultSettingsSchema,\n\tallowList: organizationAllowListSchema,\n})\n\nexport type OrganizationSettings = z.infer<typeof organizationSettingsSchema>\n\n/**\n * Constants\n */\n\nexport const ORGANIZATION_ALLOW_ALL: OrganizationAllowList = {\n\tallowAll: true,\n\tproviders: {},\n} as const\n\nexport const ORGANIZATION_DEFAULT: OrganizationSettings = {\n\tversion: 0,\n\tcloudSettings: {\n\t\trecordTaskMessages: true,\n\t\tenableTaskSharing: true,\n\t\ttaskShareExpirationDays: 30,\n\t},\n\tdefaultSettings: {},\n\tallowList: ORGANIZATION_ALLOW_ALL,\n} as const\n\n/**\n * Share Types\n */\n\nexport const shareResponseSchema = z.object({\n\tsuccess: z.boolean(),\n\tshareUrl: z.string().optional(),\n\terror: z.string().optional(),\n\tisNewShare: z.boolean().optional(),\n\tmanageUrl: z.string().optional(),\n})\n\nexport type ShareResponse = z.infer<typeof shareResponseSchema>\n","import { z } from \"zod\"\n\nimport { type Keys } from \"./type-fu.js\"\nimport {\n\ttype ProviderSettings,\n\tPROVIDER_SETTINGS_KEYS,\n\tproviderSettingsEntrySchema,\n\tproviderSettingsSchema,\n} from \"./provider-settings.js\"\nimport { historyItemSchema } from \"./history.js\"\nimport { codebaseIndexModelsSchema, codebaseIndexConfigSchema } from \"./codebase-index.js\"\nimport { experimentsSchema } from \"./experiment.js\"\nimport { telemetrySettingsSchema } from \"./telemetry.js\"\nimport { modeConfigSchema } from \"./mode.js\"\nimport { customModePromptsSchema, customSupportPromptsSchema } from \"./mode.js\"\nimport { languagesSchema } from \"./vscode.js\"\n\n/**\n * GlobalSettings\n */\n\nexport const globalSettingsSchema = z.object({\n\tcurrentApiConfigName: z.string().optional(),\n\tlistApiConfigMeta: z.array(providerSettingsEntrySchema).optional(),\n\tpinnedApiConfigs: z.record(z.string(), z.boolean()).optional(),\n\n\tlastShownAnnouncementId: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n\ttaskHistory: z.array(historyItemSchema).optional(),\n\n\tcondensingApiConfigId: z.string().optional(),\n\tcustomCondensingPrompt: z.string().optional(),\n\n\tautoApprovalEnabled: z.boolean().optional(),\n\talwaysAllowReadOnly: z.boolean().optional(),\n\talwaysAllowReadOnlyOutsideWorkspace: z.boolean().optional(),\n\talwaysAllowWrite: z.boolean().optional(),\n\talwaysAllowWriteOutsideWorkspace: z.boolean().optional(),\n\talwaysAllowWriteProtected: z.boolean().optional(),\n\twriteDelayMs: z.number().optional(),\n\talwaysAllowBrowser: z.boolean().optional(),\n\talwaysApproveResubmit: z.boolean().optional(),\n\trequestDelaySeconds: z.number().optional(),\n\talwaysAllowMcp: z.boolean().optional(),\n\talwaysAllowModeSwitch: z.boolean().optional(),\n\talwaysAllowSubtasks: z.boolean().optional(),\n\talwaysAllowExecute: z.boolean().optional(),\n\talwaysAllowFollowupQuestions: z.boolean().optional(),\n\tfollowupAutoApproveTimeoutMs: z.number().optional(),\n\talwaysAllowUpdateTodoList: z.boolean().optional(),\n\tallowedCommands: z.array(z.string()).optional(),\n\tdeniedCommands: z.array(z.string()).optional(),\n\tcommandExecutionTimeout: z.number().optional(),\n\tallowedMaxRequests: z.number().nullish(),\n\tautoCondenseContext: z.boolean().optional(),\n\tautoCondenseContextPercent: z.number().optional(),\n\tmaxConcurrentFileReads: z.number().optional(),\n\n\tbrowserToolEnabled: z.boolean().optional(),\n\tbrowserViewportSize: z.string().optional(),\n\tscreenshotQuality: z.number().optional(),\n\tremoteBrowserEnabled: z.boolean().optional(),\n\tremoteBrowserHost: z.string().optional(),\n\tcachedChromeHostUrl: z.string().optional(),\n\n\tenableCheckpoints: z.boolean().optional(),\n\n\tttsEnabled: z.boolean().optional(),\n\tttsSpeed: z.number().optional(),\n\tsoundEnabled: z.boolean().optional(),\n\tsoundVolume: z.number().optional(),\n\n\tmaxOpenTabsContext: z.number().optional(),\n\tmaxWorkspaceFiles: z.number().optional(),\n\tshowRooIgnoredFiles: z.boolean().optional(),\n\tmaxReadFileLine: z.number().optional(),\n\n\tterminalOutputLineLimit: z.number().optional(),\n\tterminalShellIntegrationTimeout: z.number().optional(),\n\tterminalShellIntegrationDisabled: z.boolean().optional(),\n\tterminalCommandDelay: z.number().optional(),\n\tterminalPowershellCounter: z.boolean().optional(),\n\tterminalZshClearEolMark: z.boolean().optional(),\n\tterminalZshOhMy: z.boolean().optional(),\n\tterminalZshP10k: z.boolean().optional(),\n\tterminalZdotdir: z.boolean().optional(),\n\tterminalCompressProgressBar: z.boolean().optional(),\n\n\trateLimitSeconds: z.number().optional(),\n\tdiffEnabled: z.boolean().optional(),\n\tfuzzyMatchThreshold: z.number().optional(),\n\texperiments: experimentsSchema.optional(),\n\n\tcodebaseIndexModels: codebaseIndexModelsSchema.optional(),\n\tcodebaseIndexConfig: codebaseIndexConfigSchema.optional(),\n\n\tlanguage: languagesSchema.optional(),\n\n\ttelemetrySetting: telemetrySettingsSchema.optional(),\n\n\tmcpEnabled: z.boolean().optional(),\n\tenableMcpServerCreation: z.boolean().optional(),\n\n\tmode: z.string().optional(),\n\tmodeApiConfigs: z.record(z.string(), z.string()).optional(),\n\tcustomModes: z.array(modeConfigSchema).optional(),\n\tcustomModePrompts: customModePromptsSchema.optional(),\n\tcustomSupportPrompts: customSupportPromptsSchema.optional(),\n\tenhancementApiConfigId: z.string().optional(),\n\thistoryPreviewCollapsed: z.boolean().optional(),\n\tprofileThresholds: z.record(z.string(), z.number()).optional(),\n\thasOpenedModeSelector: z.boolean().optional(),\n\tlastModeExportPath: z.string().optional(),\n\tlastModeImportPath: z.string().optional(),\n})\n\nexport type GlobalSettings = z.infer<typeof globalSettingsSchema>\n\nexport const GLOBAL_SETTINGS_KEYS = globalSettingsSchema.keyof().options\n\n/**\n * RooCodeSettings\n */\n\nexport const rooCodeSettingsSchema = providerSettingsSchema.merge(globalSettingsSchema)\n\nexport type RooCodeSettings = GlobalSettings & ProviderSettings\n\n/**\n * SecretState\n */\nexport const SECRET_STATE_KEYS = [\n\t\"apiKey\",\n\t\"glamaApiKey\",\n\t\"openRouterApiKey\",\n\t\"awsAccessKey\",\n\t\"awsSecretKey\",\n\t\"awsSessionToken\",\n\t\"openAiApiKey\",\n\t\"geminiApiKey\",\n\t\"openAiNativeApiKey\",\n\t\"deepSeekApiKey\",\n\t\"mistralApiKey\",\n\t\"unboundApiKey\",\n\t\"requestyApiKey\",\n\t\"xaiApiKey\",\n\t\"groqApiKey\",\n\t\"chutesApiKey\",\n\t\"litellmApiKey\",\n\t\"codeIndexOpenAiKey\",\n\t\"codeIndexQdrantApiKey\",\n\t\"codebaseIndexOpenAiCompatibleApiKey\",\n\t\"codebaseIndexGeminiApiKey\",\n] as const satisfies readonly (keyof ProviderSettings)[]\nexport type SecretState = Pick<ProviderSettings, (typeof SECRET_STATE_KEYS)[number]>\n\nexport const isSecretStateKey = (key: string): key is Keys<SecretState> =>\n\tSECRET_STATE_KEYS.includes(key as Keys<SecretState>)\n\n/**\n * GlobalState\n */\n\nexport type GlobalState = Omit<RooCodeSettings, Keys<SecretState>>\n\nexport const GLOBAL_STATE_KEYS = [...GLOBAL_SETTINGS_KEYS, ...PROVIDER_SETTINGS_KEYS].filter(\n\t(key: Keys<RooCodeSettings>) => !SECRET_STATE_KEYS.includes(key as Keys<SecretState>),\n) as Keys<GlobalState>[]\n\nexport const isGlobalStateKey = (key: string): key is Keys<GlobalState> =>\n\tGLOBAL_STATE_KEYS.includes(key as Keys<GlobalState>)\n\n/**\n * Evals\n */\n\n// Default settings when running evals (unless overridden).\nexport const EVALS_SETTINGS: RooCodeSettings = {\n\tapiProvider: \"openrouter\",\n\topenRouterUseMiddleOutTransform: false,\n\n\tlastShownAnnouncementId: \"jul-09-2025-3-23-0\",\n\n\tpinnedApiConfigs: {},\n\n\tautoApprovalEnabled: true,\n\talwaysAllowReadOnly: true,\n\talwaysAllowReadOnlyOutsideWorkspace: false,\n\talwaysAllowWrite: true,\n\talwaysAllowWriteOutsideWorkspace: false,\n\talwaysAllowWriteProtected: false,\n\twriteDelayMs: 1000,\n\talwaysAllowBrowser: true,\n\talwaysApproveResubmit: true,\n\trequestDelaySeconds: 10,\n\talwaysAllowMcp: true,\n\talwaysAllowModeSwitch: true,\n\talwaysAllowSubtasks: true,\n\talwaysAllowExecute: true,\n\talwaysAllowFollowupQuestions: true,\n\talwaysAllowUpdateTodoList: true,\n\tfollowupAutoApproveTimeoutMs: 0,\n\tallowedCommands: [\"*\"],\n\tcommandExecutionTimeout: 30_000,\n\n\tbrowserToolEnabled: false,\n\tbrowserViewportSize: \"900x600\",\n\tscreenshotQuality: 75,\n\tremoteBrowserEnabled: false,\n\n\tttsEnabled: false,\n\tttsSpeed: 1,\n\tsoundEnabled: false,\n\tsoundVolume: 0.5,\n\n\tterminalOutputLineLimit: 500,\n\tterminalShellIntegrationTimeout: 30000,\n\tterminalCommandDelay: 0,\n\tterminalPowershellCounter: false,\n\tterminalZshOhMy: true,\n\tterminalZshClearEolMark: true,\n\tterminalZshP10k: false,\n\tterminalZdotdir: true,\n\tterminalCompressProgressBar: true,\n\tterminalShellIntegrationDisabled: true,\n\n\tdiffEnabled: true,\n\tfuzzyMatchThreshold: 1,\n\n\tenableCheckpoints: false,\n\n\trateLimitSeconds: 0,\n\tmaxOpenTabsContext: 20,\n\tmaxWorkspaceFiles: 200,\n\tshowRooIgnoredFiles: true,\n\tmaxReadFileLine: -1, // -1 to enable full file reading.\n\n\tlanguage: \"en\",\n\ttelemetrySetting: \"enabled\",\n\n\tmcpEnabled: false,\n\n\tmode: \"code\",\n\n\tcustomModes: [],\n}\n\nexport const EVALS_TIMEOUT = 5 * 60 * 1_000\n","import { z } from \"zod\"\n\nimport { reasoningEffortsSchema, modelInfoSchema } from \"./model.js\"\nimport { codebaseIndexProviderSchema } from \"./codebase-index.js\"\n\n/**\n * ProviderName\n */\n\nexport const providerNames = [\n\t\"anthropic\",\n\t\"claude-code\",\n\t\"glama\",\n\t\"openrouter\",\n\t\"bedrock\",\n\t\"vertex\",\n\t\"openai\",\n\t\"ollama\",\n\t\"vscode-lm\",\n\t\"lmstudio\",\n\t\"gemini\",\n\t\"gemini-cli\",\n\t\"openai-native\",\n\t\"mistral\",\n\t\"deepseek\",\n\t\"unbound\",\n\t\"requesty\",\n\t\"human-relay\",\n\t\"fake-ai\",\n\t\"xai\",\n\t\"groq\",\n\t\"chutes\",\n\t\"litellm\",\n] as const\n\nexport const providerNamesSchema = z.enum(providerNames)\n\nexport type ProviderName = z.infer<typeof providerNamesSchema>\n\n/**\n * ProviderSettingsEntry\n */\n\nexport const providerSettingsEntrySchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tapiProvider: providerNamesSchema.optional(),\n})\n\nexport type ProviderSettingsEntry = z.infer<typeof providerSettingsEntrySchema>\n\n/**\n * ProviderSettings\n */\n\n/**\n * Default value for consecutive mistake limit\n */\nexport const DEFAULT_CONSECUTIVE_MISTAKE_LIMIT = 3\n\nconst baseProviderSettingsSchema = z.object({\n\tincludeMaxTokens: z.boolean().optional(),\n\tdiffEnabled: z.boolean().optional(),\n\tfuzzyMatchThreshold: z.number().optional(),\n\tmodelTemperature: z.number().nullish(),\n\trateLimitSeconds: z.number().optional(),\n\tconsecutiveMistakeLimit: z.number().min(0).optional(),\n\n\t// Model reasoning.\n\tenableReasoningEffort: z.boolean().optional(),\n\treasoningEffort: reasoningEffortsSchema.optional(),\n\tmodelMaxTokens: z.number().optional(),\n\tmodelMaxThinkingTokens: z.number().optional(),\n})\n\n// Several of the providers share common model config properties.\nconst apiModelIdProviderModelSchema = baseProviderSettingsSchema.extend({\n\tapiModelId: z.string().optional(),\n})\n\nconst anthropicSchema = apiModelIdProviderModelSchema.extend({\n\tapiKey: z.string().optional(),\n\tanthropicBaseUrl: z.string().optional(),\n\tanthropicUseAuthToken: z.boolean().optional(),\n})\n\nconst claudeCodeSchema = apiModelIdProviderModelSchema.extend({\n\tclaudeCodePath: z.string().optional(),\n\tclaudeCodeMaxOutputTokens: z.number().int().min(1).max(200000).optional(),\n})\n\nconst glamaSchema = baseProviderSettingsSchema.extend({\n\tglamaModelId: z.string().optional(),\n\tglamaApiKey: z.string().optional(),\n})\n\nconst openRouterSchema = baseProviderSettingsSchema.extend({\n\topenRouterApiKey: z.string().optional(),\n\topenRouterModelId: z.string().optional(),\n\topenRouterBaseUrl: z.string().optional(),\n\topenRouterSpecificProvider: z.string().optional(),\n\topenRouterUseMiddleOutTransform: z.boolean().optional(),\n})\n\nconst bedrockSchema = apiModelIdProviderModelSchema.extend({\n\tawsAccessKey: z.string().optional(),\n\tawsSecretKey: z.string().optional(),\n\tawsSessionToken: z.string().optional(),\n\tawsRegion: z.string().optional(),\n\tawsUseCrossRegionInference: z.boolean().optional(),\n\tawsUsePromptCache: z.boolean().optional(),\n\tawsProfile: z.string().optional(),\n\tawsUseProfile: z.boolean().optional(),\n\tawsCustomArn: z.string().optional(),\n\tawsModelContextWindow: z.number().optional(),\n\tawsBedrockEndpointEnabled: z.boolean().optional(),\n\tawsBedrockEndpoint: z.string().optional(),\n})\n\nconst vertexSchema = apiModelIdProviderModelSchema.extend({\n\tvertexKeyFile: z.string().optional(),\n\tvertexJsonCredentials: z.string().optional(),\n\tvertexProjectId: z.string().optional(),\n\tvertexRegion: z.string().optional(),\n})\n\nconst openAiSchema = baseProviderSettingsSchema.extend({\n\topenAiBaseUrl: z.string().optional(),\n\topenAiApiKey: z.string().optional(),\n\topenAiLegacyFormat: z.boolean().optional(),\n\topenAiR1FormatEnabled: z.boolean().optional(),\n\topenAiModelId: z.string().optional(),\n\topenAiCustomModelInfo: modelInfoSchema.nullish(),\n\topenAiUseAzure: z.boolean().optional(),\n\tazureApiVersion: z.string().optional(),\n\topenAiStreamingEnabled: z.boolean().optional(),\n\topenAiHostHeader: z.string().optional(), // Keep temporarily for backward compatibility during migration.\n\topenAiHeaders: z.record(z.string(), z.string()).optional(),\n})\n\nconst ollamaSchema = baseProviderSettingsSchema.extend({\n\tollamaModelId: z.string().optional(),\n\tollamaBaseUrl: z.string().optional(),\n})\n\nconst vsCodeLmSchema = baseProviderSettingsSchema.extend({\n\tvsCodeLmModelSelector: z\n\t\t.object({\n\t\t\tvendor: z.string().optional(),\n\t\t\tfamily: z.string().optional(),\n\t\t\tversion: z.string().optional(),\n\t\t\tid: z.string().optional(),\n\t\t})\n\t\t.optional(),\n})\n\nconst lmStudioSchema = baseProviderSettingsSchema.extend({\n\tlmStudioModelId: z.string().optional(),\n\tlmStudioBaseUrl: z.string().optional(),\n\tlmStudioDraftModelId: z.string().optional(),\n\tlmStudioSpeculativeDecodingEnabled: z.boolean().optional(),\n})\n\nconst geminiSchema = apiModelIdProviderModelSchema.extend({\n\tgeminiApiKey: z.string().optional(),\n\tgoogleGeminiBaseUrl: z.string().optional(),\n})\n\nconst geminiCliSchema = apiModelIdProviderModelSchema.extend({\n\tgeminiCliOAuthPath: z.string().optional(),\n\tgeminiCliProjectId: z.string().optional(),\n})\n\nconst openAiNativeSchema = apiModelIdProviderModelSchema.extend({\n\topenAiNativeApiKey: z.string().optional(),\n\topenAiNativeBaseUrl: z.string().optional(),\n})\n\nconst mistralSchema = apiModelIdProviderModelSchema.extend({\n\tmistralApiKey: z.string().optional(),\n\tmistralCodestralUrl: z.string().optional(),\n})\n\nconst deepSeekSchema = apiModelIdProviderModelSchema.extend({\n\tdeepSeekBaseUrl: z.string().optional(),\n\tdeepSeekApiKey: z.string().optional(),\n})\n\nconst unboundSchema = baseProviderSettingsSchema.extend({\n\tunboundApiKey: z.string().optional(),\n\tunboundModelId: z.string().optional(),\n})\n\nconst requestySchema = baseProviderSettingsSchema.extend({\n\trequestyApiKey: z.string().optional(),\n\trequestyModelId: z.string().optional(),\n})\n\nconst humanRelaySchema = baseProviderSettingsSchema\n\nconst fakeAiSchema = baseProviderSettingsSchema.extend({\n\tfakeAi: z.unknown().optional(),\n})\n\nconst xaiSchema = apiModelIdProviderModelSchema.extend({\n\txaiApiKey: z.string().optional(),\n})\n\nconst groqSchema = apiModelIdProviderModelSchema.extend({\n\tgroqApiKey: z.string().optional(),\n})\n\nconst chutesSchema = apiModelIdProviderModelSchema.extend({\n\tchutesApiKey: z.string().optional(),\n})\n\nconst litellmSchema = baseProviderSettingsSchema.extend({\n\tlitellmBaseUrl: z.string().optional(),\n\tlitellmApiKey: z.string().optional(),\n\tlitellmModelId: z.string().optional(),\n})\n\nconst defaultSchema = z.object({\n\tapiProvider: z.undefined(),\n})\n\nexport const providerSettingsSchemaDiscriminated = z.discriminatedUnion(\"apiProvider\", [\n\tanthropicSchema.merge(z.object({ apiProvider: z.literal(\"anthropic\") })),\n\tclaudeCodeSchema.merge(z.object({ apiProvider: z.literal(\"claude-code\") })),\n\tglamaSchema.merge(z.object({ apiProvider: z.literal(\"glama\") })),\n\topenRouterSchema.merge(z.object({ apiProvider: z.literal(\"openrouter\") })),\n\tbedrockSchema.merge(z.object({ apiProvider: z.literal(\"bedrock\") })),\n\tvertexSchema.merge(z.object({ apiProvider: z.literal(\"vertex\") })),\n\topenAiSchema.merge(z.object({ apiProvider: z.literal(\"openai\") })),\n\tollamaSchema.merge(z.object({ apiProvider: z.literal(\"ollama\") })),\n\tvsCodeLmSchema.merge(z.object({ apiProvider: z.literal(\"vscode-lm\") })),\n\tlmStudioSchema.merge(z.object({ apiProvider: z.literal(\"lmstudio\") })),\n\tgeminiSchema.merge(z.object({ apiProvider: z.literal(\"gemini\") })),\n\tgeminiCliSchema.merge(z.object({ apiProvider: z.literal(\"gemini-cli\") })),\n\topenAiNativeSchema.merge(z.object({ apiProvider: z.literal(\"openai-native\") })),\n\tmistralSchema.merge(z.object({ apiProvider: z.literal(\"mistral\") })),\n\tdeepSeekSchema.merge(z.object({ apiProvider: z.literal(\"deepseek\") })),\n\tunboundSchema.merge(z.object({ apiProvider: z.literal(\"unbound\") })),\n\trequestySchema.merge(z.object({ apiProvider: z.literal(\"requesty\") })),\n\thumanRelaySchema.merge(z.object({ apiProvider: z.literal(\"human-relay\") })),\n\tfakeAiSchema.merge(z.object({ apiProvider: z.literal(\"fake-ai\") })),\n\txaiSchema.merge(z.object({ apiProvider: z.literal(\"xai\") })),\n\tgroqSchema.merge(z.object({ apiProvider: z.literal(\"groq\") })),\n\tchutesSchema.merge(z.object({ apiProvider: z.literal(\"chutes\") })),\n\tlitellmSchema.merge(z.object({ apiProvider: z.literal(\"litellm\") })),\n\tdefaultSchema,\n])\n\nexport const providerSettingsSchema = z.object({\n\tapiProvider: providerNamesSchema.optional(),\n\t...anthropicSchema.shape,\n\t...claudeCodeSchema.shape,\n\t...glamaSchema.shape,\n\t...openRouterSchema.shape,\n\t...bedrockSchema.shape,\n\t...vertexSchema.shape,\n\t...openAiSchema.shape,\n\t...ollamaSchema.shape,\n\t...vsCodeLmSchema.shape,\n\t...lmStudioSchema.shape,\n\t...geminiSchema.shape,\n\t...geminiCliSchema.shape,\n\t...openAiNativeSchema.shape,\n\t...mistralSchema.shape,\n\t...deepSeekSchema.shape,\n\t...unboundSchema.shape,\n\t...requestySchema.shape,\n\t...humanRelaySchema.shape,\n\t...fakeAiSchema.shape,\n\t...xaiSchema.shape,\n\t...groqSchema.shape,\n\t...chutesSchema.shape,\n\t...litellmSchema.shape,\n\t...codebaseIndexProviderSchema.shape,\n})\n\nexport type ProviderSettings = z.infer<typeof providerSettingsSchema>\nexport const PROVIDER_SETTINGS_KEYS = providerSettingsSchema.keyof().options\n\nexport const MODEL_ID_KEYS: Partial<keyof ProviderSettings>[] = [\n\t\"apiModelId\",\n\t\"glamaModelId\",\n\t\"openRouterModelId\",\n\t\"openAiModelId\",\n\t\"ollamaModelId\",\n\t\"lmStudioModelId\",\n\t\"lmStudioDraftModelId\",\n\t\"unboundModelId\",\n\t\"requestyModelId\",\n\t\"litellmModelId\",\n]\n\nexport const getModelId = (settings: ProviderSettings): string | undefined => {\n\tconst modelIdKey = MODEL_ID_KEYS.find((key) => settings[key])\n\treturn modelIdKey ? (settings[modelIdKey] as string) : undefined\n}\n\n// Providers that use Anthropic-style API protocol\nexport const ANTHROPIC_STYLE_PROVIDERS: ProviderName[] = [\"anthropic\", \"claude-code\"]\n\n// Helper function to determine API protocol for a provider\nexport const getApiProtocol = (provider: ProviderName | undefined): \"anthropic\" | \"openai\" => {\n\treturn provider && ANTHROPIC_STYLE_PROVIDERS.includes(provider) ? \"anthropic\" : \"openai\"\n}\n","import { z } from \"zod\"\n\n/**\n * ReasoningEffort\n */\n\nexport const reasoningEfforts = [\"low\", \"medium\", \"high\"] as const\n\nexport const reasoningEffortsSchema = z.enum(reasoningEfforts)\n\nexport type ReasoningEffort = z.infer<typeof reasoningEffortsSchema>\n\n/**\n * ModelParameter\n */\n\nexport const modelParameters = [\"max_tokens\", \"temperature\", \"reasoning\", \"include_reasoning\"] as const\n\nexport const modelParametersSchema = z.enum(modelParameters)\n\nexport type ModelParameter = z.infer<typeof modelParametersSchema>\n\nexport const isModelParameter = (value: string): value is ModelParameter =>\n\tmodelParameters.includes(value as ModelParameter)\n\n/**\n * ModelInfo\n */\n\nexport const modelInfoSchema = z.object({\n\tmaxTokens: z.number().nullish(),\n\tmaxThinkingTokens: z.number().nullish(),\n\tcontextWindow: z.number(),\n\tsupportsImages: z.boolean().optional(),\n\tsupportsComputerUse: z.boolean().optional(),\n\tsupportsPromptCache: z.boolean(),\n\tsupportsReasoningBudget: z.boolean().optional(),\n\trequiredReasoningBudget: z.boolean().optional(),\n\tsupportsReasoningEffort: z.boolean().optional(),\n\tsupportedParameters: z.array(modelParametersSchema).optional(),\n\tinputPrice: z.number().optional(),\n\toutputPrice: z.number().optional(),\n\tcacheWritesPrice: z.number().optional(),\n\tcacheReadsPrice: z.number().optional(),\n\tdescription: z.string().optional(),\n\treasoningEffort: reasoningEffortsSchema.optional(),\n\tminTokensPerCachePoint: z.number().optional(),\n\tmaxCachePoints: z.number().optional(),\n\tcachableFields: z.array(z.string()).optional(),\n\ttiers: z\n\t\t.array(\n\t\t\tz.object({\n\t\t\t\tcontextWindow: z.number(),\n\t\t\t\tinputPrice: z.number().optional(),\n\t\t\t\toutputPrice: z.number().optional(),\n\t\t\t\tcacheWritesPrice: z.number().optional(),\n\t\t\t\tcacheReadsPrice: z.number().optional(),\n\t\t\t}),\n\t\t)\n\t\t.optional(),\n})\n\nexport type ModelInfo = z.infer<typeof modelInfoSchema>\n","import { z } from \"zod\"\n\n/**\n * HistoryItem\n */\n\nexport const historyItemSchema = z.object({\n\tid: z.string(),\n\tnumber: z.number(),\n\tts: z.number(),\n\ttask: z.string(),\n\ttokensIn: z.number(),\n\ttokensOut: z.number(),\n\tcacheWrites: z.number().optional(),\n\tcacheReads: z.number().optional(),\n\ttotalCost: z.number(),\n\tsize: z.number().optional(),\n\tworkspace: z.string().optional(),\n})\n\nexport type HistoryItem = z.infer<typeof historyItemSchema>\n","import { z } from \"zod\"\n\nimport type { Keys, Equals, AssertEqual } from \"./type-fu.js\"\n\n/**\n * ExperimentId\n */\n\nexport const experimentIds = [\"powerSteering\", \"multiFileApplyDiff\"] as const\n\nexport const experimentIdsSchema = z.enum(experimentIds)\n\nexport type ExperimentId = z.infer<typeof experimentIdsSchema>\n\n/**\n * Experiments\n */\n\nexport const experimentsSchema = z.object({\n\tpowerSteering: z.boolean().optional(),\n\tmultiFileApplyDiff: z.boolean().optional(),\n})\n\nexport type Experiments = z.infer<typeof experimentsSchema>\n\ntype _AssertExperiments = AssertEqual<Equals<ExperimentId, Keys<Experiments>>>\n","import { z } from \"zod\"\n\nimport { providerNames } from \"./provider-settings.js\"\nimport { clineMessageSchema } from \"./message.js\"\n\n/**\n * TelemetrySetting\n */\n\nexport const telemetrySettings = [\"unset\", \"enabled\", \"disabled\"] as const\n\nexport const telemetrySettingsSchema = z.enum(telemetrySettings)\n\nexport type TelemetrySetting = z.infer<typeof telemetrySettingsSchema>\n\n/**\n * TelemetryEventName\n */\n\nexport enum TelemetryEventName {\n\tTASK_CREATED = \"Task Created\",\n\tTASK_RESTARTED = \"Task Reopened\",\n\tTASK_COMPLETED = \"Task Completed\",\n\tTASK_MESSAGE = \"Task Message\",\n\tTASK_CONVERSATION_MESSAGE = \"Conversation Message\",\n\tLLM_COMPLETION = \"LLM Completion\",\n\tMODE_SWITCH = \"Mode Switched\",\n\tMODE_SELECTOR_OPENED = \"Mode Selector Opened\",\n\tTOOL_USED = \"Tool Used\",\n\n\tCHECKPOINT_CREATED = \"Checkpoint Created\",\n\tCHECKPOINT_RESTORED = \"Checkpoint Restored\",\n\tCHECKPOINT_DIFFED = \"Checkpoint Diffed\",\n\n\tTAB_SHOWN = \"Tab Shown\",\n\tMODE_SETTINGS_CHANGED = \"Mode Setting Changed\",\n\tCUSTOM_MODE_CREATED = \"Custom Mode Created\",\n\n\tCONTEXT_CONDENSED = \"Context Condensed\",\n\tSLIDING_WINDOW_TRUNCATION = \"Sliding Window Truncation\",\n\n\tCODE_ACTION_USED = \"Code Action Used\",\n\tPROMPT_ENHANCED = \"Prompt Enhanced\",\n\n\tTITLE_BUTTON_CLICKED = \"Title Button Clicked\",\n\n\tAUTHENTICATION_INITIATED = \"Authentication Initiated\",\n\n\tMARKETPLACE_ITEM_INSTALLED = \"Marketplace Item Installed\",\n\tMARKETPLACE_ITEM_REMOVED = \"Marketplace Item Removed\",\n\tMARKETPLACE_TAB_VIEWED = \"Marketplace Tab Viewed\",\n\tMARKETPLACE_INSTALL_BUTTON_CLICKED = \"Marketplace Install Button Clicked\",\n\n\tSHARE_BUTTON_CLICKED = \"Share Button Clicked\",\n\tSHARE_ORGANIZATION_CLICKED = \"Share Organization Clicked\",\n\tSHARE_PUBLIC_CLICKED = \"Share Public Clicked\",\n\tSHARE_CONNECT_TO_CLOUD_CLICKED = \"Share Connect To Cloud Clicked\",\n\n\tACCOUNT_CONNECT_CLICKED = \"Account Connect Clicked\",\n\tACCOUNT_CONNECT_SUCCESS = \"Account Connect Success\",\n\tACCOUNT_LOGOUT_CLICKED = \"Account Logout Clicked\",\n\tACCOUNT_LOGOUT_SUCCESS = \"Account Logout Success\",\n\n\tSCHEMA_VALIDATION_ERROR = \"Schema Validation Error\",\n\tDIFF_APPLICATION_ERROR = \"Diff Application Error\",\n\tSHELL_INTEGRATION_ERROR = \"Shell Integration Error\",\n\tCONSECUTIVE_MISTAKE_ERROR = \"Consecutive Mistake Error\",\n\tCODE_INDEX_ERROR = \"Code Index Error\",\n}\n\n/**\n * TelemetryProperties\n */\n\nexport const appPropertiesSchema = z.object({\n\tappName: z.string(),\n\tappVersion: z.string(),\n\tvscodeVersion: z.string(),\n\tplatform: z.string(),\n\teditorName: z.string(),\n\tlanguage: z.string(),\n\tmode: z.string(),\n\tcloudIsAuthenticated: z.boolean().optional(),\n})\n\nexport const taskPropertiesSchema = z.object({\n\ttaskId: z.string().optional(),\n\tapiProvider: z.enum(providerNames).optional(),\n\tmodelId: z.string().optional(),\n\tdiffStrategy: z.string().optional(),\n\tisSubtask: z.boolean().optional(),\n\ttodos: z\n\t\t.object({\n\t\t\ttotal: z.number(),\n\t\t\tcompleted: z.number(),\n\t\t\tinProgress: z.number(),\n\t\t\tpending: z.number(),\n\t\t})\n\t\t.optional(),\n})\n\nexport const gitPropertiesSchema = z.object({\n\trepositoryUrl: z.string().optional(),\n\trepositoryName: z.string().optional(),\n\tdefaultBranch: z.string().optional(),\n})\n\nexport const telemetryPropertiesSchema = z.object({\n\t...appPropertiesSchema.shape,\n\t...taskPropertiesSchema.shape,\n\t...gitPropertiesSchema.shape,\n})\n\nexport type TelemetryProperties = z.infer<typeof telemetryPropertiesSchema>\nexport type GitProperties = z.infer<typeof gitPropertiesSchema>\n\n/**\n * TelemetryEvent\n */\n\nexport type TelemetryEvent = {\n\tevent: TelemetryEventName\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tproperties?: Record<string, any>\n}\n\n/**\n * RooCodeTelemetryEvent\n */\n\nexport const rooCodeTelemetryEventSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.enum([\n\t\t\tTelemetryEventName.TASK_CREATED,\n\t\t\tTelemetryEventName.TASK_RESTARTED,\n\t\t\tTelemetryEventName.TASK_COMPLETED,\n\t\t\tTelemetryEventName.TASK_CONVERSATION_MESSAGE,\n\t\t\tTelemetryEventName.MODE_SWITCH,\n\t\t\tTelemetryEventName.MODE_SELECTOR_OPENED,\n\t\t\tTelemetryEventName.TOOL_USED,\n\t\t\tTelemetryEventName.CHECKPOINT_CREATED,\n\t\t\tTelemetryEventName.CHECKPOINT_RESTORED,\n\t\t\tTelemetryEventName.CHECKPOINT_DIFFED,\n\t\t\tTelemetryEventName.CODE_ACTION_USED,\n\t\t\tTelemetryEventName.PROMPT_ENHANCED,\n\t\t\tTelemetryEventName.TITLE_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.AUTHENTICATION_INITIATED,\n\t\t\tTelemetryEventName.MARKETPLACE_ITEM_INSTALLED,\n\t\t\tTelemetryEventName.MARKETPLACE_ITEM_REMOVED,\n\t\t\tTelemetryEventName.MARKETPLACE_TAB_VIEWED,\n\t\t\tTelemetryEventName.MARKETPLACE_INSTALL_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.SHARE_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.SHARE_ORGANIZATION_CLICKED,\n\t\t\tTelemetryEventName.SHARE_PUBLIC_CLICKED,\n\t\t\tTelemetryEventName.SHARE_CONNECT_TO_CLOUD_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_CONNECT_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_CONNECT_SUCCESS,\n\t\t\tTelemetryEventName.ACCOUNT_LOGOUT_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_LOGOUT_SUCCESS,\n\t\t\tTelemetryEventName.SCHEMA_VALIDATION_ERROR,\n\t\t\tTelemetryEventName.DIFF_APPLICATION_ERROR,\n\t\t\tTelemetryEventName.SHELL_INTEGRATION_ERROR,\n\t\t\tTelemetryEventName.CONSECUTIVE_MISTAKE_ERROR,\n\t\t\tTelemetryEventName.CODE_INDEX_ERROR,\n\t\t\tTelemetryEventName.CONTEXT_CONDENSED,\n\t\t\tTelemetryEventName.SLIDING_WINDOW_TRUNCATION,\n\t\t\tTelemetryEventName.TAB_SHOWN,\n\t\t\tTelemetryEventName.MODE_SETTINGS_CHANGED,\n\t\t\tTelemetryEventName.CUSTOM_MODE_CREATED,\n\t\t]),\n\t\tproperties: telemetryPropertiesSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(TelemetryEventName.TASK_MESSAGE),\n\t\tproperties: z.object({\n\t\t\t...telemetryPropertiesSchema.shape,\n\t\t\ttaskId: z.string(),\n\t\t\tmessage: clineMessageSchema,\n\t\t}),\n\t}),\n\tz.object({\n\t\ttype: z.literal(TelemetryEventName.LLM_COMPLETION),\n\t\tproperties: z.object({\n\t\t\t...telemetryPropertiesSchema.shape,\n\t\t\tinputTokens: z.number(),\n\t\t\toutputTokens: z.number(),\n\t\t\tcacheReadTokens: z.number().optional(),\n\t\t\tcacheWriteTokens: z.number().optional(),\n\t\t\tcost: z.number().optional(),\n\t\t}),\n\t}),\n])\n\nexport type RooCodeTelemetryEvent = z.infer<typeof rooCodeTelemetryEventSchema>\n\n/**\n * TelemetryEventSubscription\n */\n\nexport type TelemetryEventSubscription =\n\t| { type: \"include\"; events: TelemetryEventName[] }\n\t| { type: \"exclude\"; events: TelemetryEventName[] }\n\n/**\n * TelemetryPropertiesProvider\n */\n\nexport interface TelemetryPropertiesProvider {\n\tgetTelemetryProperties(): Promise<TelemetryProperties>\n}\n\n/**\n * TelemetryClient\n */\n\nexport interface TelemetryClient {\n\tsubscription?: TelemetryEventSubscription\n\n\tsetProvider(provider: TelemetryPropertiesProvider): void\n\tcapture(options: TelemetryEvent): Promise<void>\n\tupdateTelemetryState(didUserOptIn: boolean): void\n\tisTelemetryEnabled(): boolean\n\tshutdown(): Promise<void>\n}\n","import { z } from \"zod\"\n\n/**\n * ClineAsk\n */\n\n/**\n * Array of possible ask types that the LLM can use to request user interaction or approval.\n * These represent different scenarios where the assistant needs user input to proceed.\n *\n * @constant\n * @readonly\n *\n * Ask type descriptions:\n * - `followup`: LLM asks a clarifying question to gather more information needed to complete the task\n * - `command`: Permission to execute a terminal/shell command\n * - `command_output`: Permission to read the output from a previously executed command\n * - `completion_result`: Task has been completed, awaiting user feedback or a new task\n * - `tool`: Permission to use a tool for file operations (read, write, search, etc.)\n * - `api_req_failed`: API request failed, asking user whether to retry\n * - `resume_task`: Confirmation needed to resume a previously paused task\n * - `resume_completed_task`: Confirmation needed to resume a task that was already marked as completed\n * - `mistake_limit_reached`: Too many errors encountered, needs user guidance on how to proceed\n * - `browser_action_launch`: Permission to open or interact with a browser\n * - `use_mcp_server`: Permission to use Model Context Protocol (MCP) server functionality\n * - `auto_approval_max_req_reached`: Auto-approval limit has been reached, manual approval required\n */\nexport const clineAsks = [\n\t\"followup\",\n\t\"command\",\n\t\"command_output\",\n\t\"completion_result\",\n\t\"tool\",\n\t\"api_req_failed\",\n\t\"resume_task\",\n\t\"resume_completed_task\",\n\t\"mistake_limit_reached\",\n\t\"browser_action_launch\",\n\t\"use_mcp_server\",\n\t\"auto_approval_max_req_reached\",\n] as const\n\nexport const clineAskSchema = z.enum(clineAsks)\n\nexport type ClineAsk = z.infer<typeof clineAskSchema>\n\n/**\n * ClineSay\n */\n\n/**\n * Array of possible say types that represent different kinds of messages the assistant can send.\n * These are used to categorize and handle various types of communication from the LLM to the user.\n *\n * @constant\n * @readonly\n *\n * Say type descriptions:\n * - `error`: General error message\n * - `api_req_started`: Indicates an API request has been initiated\n * - `api_req_finished`: Indicates an API request has completed successfully\n * - `api_req_retried`: Indicates an API request is being retried after a failure\n * - `api_req_retry_delayed`: Indicates an API request retry has been delayed\n * - `api_req_deleted`: Indicates an API request has been deleted/cancelled\n * - `text`: General text message or assistant response\n * - `reasoning`: Assistant's reasoning or thought process (often hidden from user)\n * - `completion_result`: Final result of task completion\n * - `user_feedback`: Message containing user feedback\n * - `user_feedback_diff`: Diff-formatted feedback from user showing requested changes\n * - `command_output`: Output from an executed command\n * - `shell_integration_warning`: Warning about shell integration issues or limitations\n * - `browser_action`: Action performed in the browser\n * - `browser_action_result`: Result of a browser action\n * - `mcp_server_request_started`: MCP server request has been initiated\n * - `mcp_server_response`: Response received from MCP server\n * - `subtask_result`: Result of a completed subtask\n * - `checkpoint_saved`: Indicates a checkpoint has been saved\n * - `rooignore_error`: Error related to .rooignore file processing\n * - `diff_error`: Error occurred while applying a diff/patch\n * - `condense_context`: Context condensation/summarization has started\n * - `condense_context_error`: Error occurred during context condensation\n * - `codebase_search_result`: Results from searching the codebase\n */\nexport const clineSays = [\n\t\"error\",\n\t\"api_req_started\",\n\t\"api_req_finished\",\n\t\"api_req_retried\",\n\t\"api_req_retry_delayed\",\n\t\"api_req_deleted\",\n\t\"text\",\n\t\"reasoning\",\n\t\"completion_result\",\n\t\"user_feedback\",\n\t\"user_feedback_diff\",\n\t\"command_output\",\n\t\"shell_integration_warning\",\n\t\"browser_action\",\n\t\"browser_action_result\",\n\t\"mcp_server_request_started\",\n\t\"mcp_server_response\",\n\t\"subtask_result\",\n\t\"checkpoint_saved\",\n\t\"rooignore_error\",\n\t\"diff_error\",\n\t\"condense_context\",\n\t\"condense_context_error\",\n\t\"codebase_search_result\",\n\t\"user_edit_todos\",\n] as const\n\nexport const clineSaySchema = z.enum(clineSays)\n\nexport type ClineSay = z.infer<typeof clineSaySchema>\n\n/**\n * ToolProgressStatus\n */\n\nexport const toolProgressStatusSchema = z.object({\n\ticon: z.string().optional(),\n\ttext: z.string().optional(),\n})\n\nexport type ToolProgressStatus = z.infer<typeof toolProgressStatusSchema>\n\n/**\n * ContextCondense\n */\n\nexport const contextCondenseSchema = z.object({\n\tcost: z.number(),\n\tprevContextTokens: z.number(),\n\tnewContextTokens: z.number(),\n\tsummary: z.string(),\n})\n\nexport type ContextCondense = z.infer<typeof contextCondenseSchema>\n\n/**\n * ClineMessage\n */\n\nexport const clineMessageSchema = z.object({\n\tts: z.number(),\n\ttype: z.union([z.literal(\"ask\"), z.literal(\"say\")]),\n\task: clineAskSchema.optional(),\n\tsay: clineSaySchema.optional(),\n\ttext: z.string().optional(),\n\timages: z.array(z.string()).optional(),\n\tpartial: z.boolean().optional(),\n\treasoning: z.string().optional(),\n\tconversationHistoryIndex: z.number().optional(),\n\tcheckpoint: z.record(z.string(), z.unknown()).optional(),\n\tprogressStatus: toolProgressStatusSchema.optional(),\n\tcontextCondense: contextCondenseSchema.optional(),\n\tisProtected: z.boolean().optional(),\n\tapiProtocol: z.union([z.literal(\"openai\"), z.literal(\"anthropic\")]).optional(),\n})\n\nexport type ClineMessage = z.infer<typeof clineMessageSchema>\n\n/**\n * TokenUsage\n */\n\nexport const tokenUsageSchema = z.object({\n\ttotalTokensIn: z.number(),\n\ttotalTokensOut: z.number(),\n\ttotalCacheWrites: z.number().optional(),\n\ttotalCacheReads: z.number().optional(),\n\ttotalCost: z.number(),\n\tcontextTokens: z.number(),\n})\n\nexport type TokenUsage = z.infer<typeof tokenUsageSchema>\n","import { z } from \"zod\"\n\nimport { toolGroupsSchema } from \"./tool.js\"\n\n/**\n * GroupOptions\n */\n\nexport const groupOptionsSchema = z.object({\n\tfileRegex: z\n\t\t.string()\n\t\t.optional()\n\t\t.refine(\n\t\t\t(pattern) => {\n\t\t\t\tif (!pattern) {\n\t\t\t\t\treturn true // Optional, so empty is valid.\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tnew RegExp(pattern)\n\t\t\t\t\treturn true\n\t\t\t\t} catch {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ message: \"Invalid regular expression pattern\" },\n\t\t),\n\tdescription: z.string().optional(),\n})\n\nexport type GroupOptions = z.infer<typeof groupOptionsSchema>\n\n/**\n * GroupEntry\n */\n\nexport const groupEntrySchema = z.union([toolGroupsSchema, z.tuple([toolGroupsSchema, groupOptionsSchema])])\n\nexport type GroupEntry = z.infer<typeof groupEntrySchema>\n\n/**\n * ModeConfig\n */\n\nconst groupEntryArraySchema = z.array(groupEntrySchema).refine(\n\t(groups) => {\n\t\tconst seen = new Set()\n\n\t\treturn groups.every((group) => {\n\t\t\t// For tuples, check the group name (first element).\n\t\t\tconst groupName = Array.isArray(group) ? group[0] : group\n\n\t\t\tif (seen.has(groupName)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tseen.add(groupName)\n\t\t\treturn true\n\t\t})\n\t},\n\t{ message: \"Duplicate groups are not allowed\" },\n)\n\nexport const modeConfigSchema = z.object({\n\tslug: z.string().regex(/^[a-zA-Z0-9-]+$/, \"Slug must contain only letters numbers and dashes\"),\n\tname: z.string().min(1, \"Name is required\"),\n\troleDefinition: z.string().min(1, \"Role definition is required\"),\n\twhenToUse: z.string().optional(),\n\tdescription: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n\tgroups: groupEntryArraySchema,\n\tsource: z.enum([\"global\", \"project\"]).optional(),\n})\n\nexport type ModeConfig = z.infer<typeof modeConfigSchema>\n\n/**\n * CustomModesSettings\n */\n\nexport const customModesSettingsSchema = z.object({\n\tcustomModes: z.array(modeConfigSchema).refine(\n\t\t(modes) => {\n\t\t\tconst slugs = new Set()\n\n\t\t\treturn modes.every((mode) => {\n\t\t\t\tif (slugs.has(mode.slug)) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tslugs.add(mode.slug)\n\t\t\t\treturn true\n\t\t\t})\n\t\t},\n\t\t{\n\t\t\tmessage: \"Duplicate mode slugs are not allowed\",\n\t\t},\n\t),\n})\n\nexport type CustomModesSettings = z.infer<typeof customModesSettingsSchema>\n\n/**\n * PromptComponent\n */\n\nexport const promptComponentSchema = z.object({\n\troleDefinition: z.string().optional(),\n\twhenToUse: z.string().optional(),\n\tdescription: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n})\n\nexport type PromptComponent = z.infer<typeof promptComponentSchema>\n\n/**\n * CustomModePrompts\n */\n\nexport const customModePromptsSchema = z.record(z.string(), promptComponentSchema.optional())\n\nexport type CustomModePrompts = z.infer<typeof customModePromptsSchema>\n\n/**\n * CustomSupportPrompts\n */\n\nexport const customSupportPromptsSchema = z.record(z.string(), z.string().optional())\n\nexport type CustomSupportPrompts = z.infer<typeof customSupportPromptsSchema>\n","import { z } from \"zod\"\n\n/**\n * ToolGroup\n */\n\nexport const toolGroups = [\"read\", \"edit\", \"browser\", \"command\", \"mcp\", \"modes\"] as const\n\nexport const toolGroupsSchema = z.enum(toolGroups)\n\nexport type ToolGroup = z.infer<typeof toolGroupsSchema>\n\n/**\n * ToolName\n */\n\nexport const toolNames = [\n\t\"execute_command\",\n\t\"read_file\",\n\t\"write_to_file\",\n\t\"apply_diff\",\n\t\"insert_content\",\n\t\"search_and_replace\",\n\t\"search_files\",\n\t\"list_files\",\n\t\"list_code_definition_names\",\n\t\"browser_action\",\n\t\"use_mcp_tool\",\n\t\"access_mcp_resource\",\n\t\"ask_followup_question\",\n\t\"attempt_completion\",\n\t\"switch_mode\",\n\t\"new_task\",\n\t\"fetch_instructions\",\n\t\"codebase_search\",\n\t\"update_todo_list\",\n] as const\n\nexport const toolNamesSchema = z.enum(toolNames)\n\nexport type ToolName = z.infer<typeof toolNamesSchema>\n\n/**\n * ToolUsage\n */\n\nexport const toolUsageSchema = z.record(\n\ttoolNamesSchema,\n\tz.object({\n\t\tattempts: z.number(),\n\t\tfailures: z.number(),\n\t}),\n)\n\nexport type ToolUsage = z.infer<typeof toolUsageSchema>\n","import { z } from \"zod\"\n\n/**\n * CodeAction\n */\n\nexport const codeActionIds = [\"explainCode\", \"fixCode\", \"improveCode\", \"addToContext\", \"newTask\"] as const\n\nexport type CodeActionId = (typeof codeActionIds)[number]\n\nexport type CodeActionName = \"EXPLAIN\" | \"FIX\" | \"IMPROVE\" | \"ADD_TO_CONTEXT\" | \"NEW_TASK\"\n\n/**\n * TerminalAction\n */\n\nexport const terminalActionIds = [\"terminalAddToContext\", \"terminalFixCommand\", \"terminalExplainCommand\"] as const\n\nexport type TerminalActionId = (typeof terminalActionIds)[number]\n\nexport type TerminalActionName = \"ADD_TO_CONTEXT\" | \"FIX\" | \"EXPLAIN\"\n\nexport type TerminalActionPromptType = `TERMINAL_${TerminalActionName}`\n\n/**\n * Command\n */\n\nexport const commandIds = [\n\t\"activationCompleted\",\n\n\t\"plusButtonClicked\",\n\t\"promptsButtonClicked\",\n\t\"mcpButtonClicked\",\n\t\"historyButtonClicked\",\n\t\"marketplaceButtonClicked\",\n\t\"popoutButtonClicked\",\n\t\"accountButtonClicked\",\n\t\"settingsButtonClicked\",\n\n\t\"openInNewTab\",\n\n\t\"showHumanRelayDialog\",\n\t\"registerHumanRelayCallback\",\n\t\"unregisterHumanRelayCallback\",\n\t\"handleHumanRelayResponse\",\n\n\t\"newTask\",\n\n\t\"setCustomStoragePath\",\n\t\"importSettings\",\n\n\t\"focusInput\",\n\t\"acceptInput\",\n\t\"focusPanel\",\n] as const\n\nexport type CommandId = (typeof commandIds)[number]\n\n/**\n * Language\n */\n\nexport const languages = [\n\t\"ca\",\n\t\"de\",\n\t\"en\",\n\t\"es\",\n\t\"fr\",\n\t\"hi\",\n\t\"id\",\n\t\"it\",\n\t\"ja\",\n\t\"ko\",\n\t\"nl\",\n\t\"pl\",\n\t\"pt-BR\",\n\t\"ru\",\n\t\"tr\",\n\t\"vi\",\n\t\"zh-CN\",\n\t\"zh-TW\",\n] as const\n\nexport const languagesSchema = z.enum(languages)\n\nexport type Language = z.infer<typeof languagesSchema>\n\nexport const isLanguage = (value: string): value is Language => languages.includes(value as Language)\n","import { z } from \"zod\"\n\n/**\n * Interface for follow-up data structure used in follow-up questions\n * This represents the data structure for follow-up questions that the LLM can ask\n * to gather more information needed to complete a task.\n */\nexport interface FollowUpData {\n\t/** The question being asked by the LLM */\n\tquestion?: string\n\t/** Array of suggested answers that the user can select */\n\tsuggest?: Array<SuggestionItem>\n}\n\n/**\n * Interface for a suggestion item with optional mode switching\n */\nexport interface SuggestionItem {\n\t/** The text of the suggestion */\n\tanswer: string\n\t/** Optional mode to switch to when selecting this suggestion */\n\tmode?: string\n}\n\n/**\n * Zod schema for SuggestionItem\n */\nexport const suggestionItemSchema = z.object({\n\tanswer: z.string(),\n\tmode: z.string().optional(),\n})\n\n/**\n * Zod schema for FollowUpData\n */\nexport const followUpDataSchema = z.object({\n\tquestion: z.string().optional(),\n\tsuggest: z.array(suggestionItemSchema).optional(),\n})\n\nexport type FollowUpDataType = z.infer<typeof followUpDataSchema>\n","import { z } from \"zod\"\n\nimport { clineMessageSchema, tokenUsageSchema } from \"./message.js\"\nimport { toolNamesSchema, toolUsageSchema } from \"./tool.js\"\nimport { rooCodeSettingsSchema } from \"./global-settings.js\"\n\n/**\n * isSubtaskSchema\n */\nexport const isSubtaskSchema = z.object({\n\tisSubtask: z.boolean(),\n})\nexport type IsSubtask = z.infer<typeof isSubtaskSchema>\n\n/**\n * RooCodeEvent\n */\n\nexport enum RooCodeEventName {\n\tMessage = \"message\",\n\tTaskCreated = \"taskCreated\",\n\tTaskStarted = \"taskStarted\",\n\tTaskModeSwitched = \"taskModeSwitched\",\n\tTaskPaused = \"taskPaused\",\n\tTaskUnpaused = \"taskUnpaused\",\n\tTaskAskResponded = \"taskAskResponded\",\n\tTaskAborted = \"taskAborted\",\n\tTaskSpawned = \"taskSpawned\",\n\tTaskCompleted = \"taskCompleted\",\n\tTaskTokenUsageUpdated = \"taskTokenUsageUpdated\",\n\tTaskToolFailed = \"taskToolFailed\",\n\tEvalPass = \"evalPass\",\n\tEvalFail = \"evalFail\",\n}\n\nexport const rooCodeEventsSchema = z.object({\n\t[RooCodeEventName.Message]: z.tuple([\n\t\tz.object({\n\t\t\ttaskId: z.string(),\n\t\t\taction: z.union([z.literal(\"created\"), z.literal(\"updated\")]),\n\t\t\tmessage: clineMessageSchema,\n\t\t}),\n\t]),\n\t[RooCodeEventName.TaskCreated]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskStarted]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskModeSwitched]: z.tuple([z.string(), z.string()]),\n\t[RooCodeEventName.TaskPaused]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskUnpaused]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskAskResponded]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskAborted]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskSpawned]: z.tuple([z.string(), z.string()]),\n\t[RooCodeEventName.TaskCompleted]: z.tuple([z.string(), tokenUsageSchema, toolUsageSchema, isSubtaskSchema]),\n\t[RooCodeEventName.TaskTokenUsageUpdated]: z.tuple([z.string(), tokenUsageSchema]),\n\t[RooCodeEventName.TaskToolFailed]: z.tuple([z.string(), toolNamesSchema, z.string()]),\n})\n\nexport type RooCodeEvents = z.infer<typeof rooCodeEventsSchema>\n\n/**\n * Ack\n */\n\nexport const ackSchema = z.object({\n\tclientId: z.string(),\n\tpid: z.number(),\n\tppid: z.number(),\n})\n\nexport type Ack = z.infer<typeof ackSchema>\n\n/**\n * TaskCommand\n */\n\nexport enum TaskCommandName {\n\tStartNewTask = \"StartNewTask\",\n\tCancelTask = \"CancelTask\",\n\tCloseTask = \"CloseTask\",\n}\n\nexport const taskCommandSchema = z.discriminatedUnion(\"commandName\", [\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.StartNewTask),\n\t\tdata: z.object({\n\t\t\tconfiguration: rooCodeSettingsSchema,\n\t\t\ttext: z.string(),\n\t\t\timages: z.array(z.string()).optional(),\n\t\t\tnewTab: z.boolean().optional(),\n\t\t}),\n\t}),\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.CancelTask),\n\t\tdata: z.string(),\n\t}),\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.CloseTask),\n\t\tdata: z.string(),\n\t}),\n])\n\nexport type TaskCommand = z.infer<typeof taskCommandSchema>\n\n/**\n * TaskEvent\n */\n\nexport const taskEventSchema = z.discriminatedUnion(\"eventName\", [\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.Message),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.Message],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskCreated),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskCreated],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskStarted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskStarted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskModeSwitched),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskModeSwitched],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskPaused),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskPaused],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskUnpaused),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskUnpaused],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskAskResponded),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskAskResponded],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskAborted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskAborted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskSpawned),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskSpawned],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskCompleted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskCompleted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskTokenUsageUpdated),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskTokenUsageUpdated],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskToolFailed),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskToolFailed],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.EvalPass),\n\t\tpayload: z.undefined(),\n\t\ttaskId: z.number(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.EvalFail),\n\t\tpayload: z.undefined(),\n\t\ttaskId: z.number(),\n\t}),\n])\n\nexport type TaskEvent = z.infer<typeof taskEventSchema>\n\n/**\n * IpcMessage\n */\n\nexport enum IpcMessageType {\n\tConnect = \"Connect\",\n\tDisconnect = \"Disconnect\",\n\tAck = \"Ack\",\n\tTaskCommand = \"TaskCommand\",\n\tTaskEvent = \"TaskEvent\",\n}\n\nexport enum IpcOrigin {\n\tClient = \"client\",\n\tServer = \"server\",\n}\n\nexport const ipcMessageSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.Ack),\n\t\torigin: z.literal(IpcOrigin.Server),\n\t\tdata: ackSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.TaskCommand),\n\t\torigin: z.literal(IpcOrigin.Client),\n\t\tclientId: z.string(),\n\t\tdata: taskCommandSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.TaskEvent),\n\t\torigin: z.literal(IpcOrigin.Server),\n\t\trelayClientId: z.string().optional(),\n\t\tdata: taskEventSchema,\n\t}),\n])\n\nexport type IpcMessage = z.infer<typeof ipcMessageSchema>\n\n/**\n * Client\n */\n\nexport type IpcClientEvents = {\n\t[IpcMessageType.Connect]: []\n\t[IpcMessageType.Disconnect]: []\n\t[IpcMessageType.Ack]: [data: Ack]\n\t[IpcMessageType.TaskCommand]: [data: TaskCommand]\n\t[IpcMessageType.TaskEvent]: [data: TaskEvent]\n}\n\n/**\n * Server\n */\n\nexport type IpcServerEvents = {\n\t[IpcMessageType.Connect]: [clientId: string]\n\t[IpcMessageType.Disconnect]: [clientId: string]\n\t[IpcMessageType.TaskCommand]: [clientId: string, data: TaskCommand]\n\t[IpcMessageType.TaskEvent]: [relayClientId: string | undefined, data: TaskEvent]\n}\n","import { z } from \"zod\"\n\n/**\n * Schema for MCP parameter definitions\n */\nexport const mcpParameterSchema = z.object({\n\tname: z.string().min(1),\n\tkey: z.string().min(1),\n\tplaceholder: z.string().optional(),\n\toptional: z.boolean().optional().default(false),\n})\n\nexport type McpParameter = z.infer<typeof mcpParameterSchema>\n\n/**\n * Schema for MCP installation method with name\n */\nexport const mcpInstallationMethodSchema = z.object({\n\tname: z.string().min(1),\n\tcontent: z.string().min(1),\n\tparameters: z.array(mcpParameterSchema).optional(),\n\tprerequisites: z.array(z.string()).optional(),\n})\n\nexport type McpInstallationMethod = z.infer<typeof mcpInstallationMethodSchema>\n\n/**\n * Component type validation\n */\nexport const marketplaceItemTypeSchema = z.enum([\"mode\", \"mcp\"] as const)\n\nexport type MarketplaceItemType = z.infer<typeof marketplaceItemTypeSchema>\n\n/**\n * Base schema for common marketplace item fields\n */\nconst baseMarketplaceItemSchema = z.object({\n\tid: z.string().min(1),\n\tname: z.string().min(1, \"Name is required\"),\n\tdescription: z.string(),\n\tauthor: z.string().optional(),\n\tauthorUrl: z.string().url(\"Author URL must be a valid URL\").optional(),\n\ttags: z.array(z.string()).optional(),\n\tprerequisites: z.array(z.string()).optional(),\n})\n\n/**\n * Type-specific schemas for YAML parsing (without type field, added programmatically)\n */\nexport const modeMarketplaceItemSchema = baseMarketplaceItemSchema.extend({\n\tcontent: z.string().min(1), // YAML content for modes\n})\n\nexport type ModeMarketplaceItem = z.infer<typeof modeMarketplaceItemSchema>\n\nexport const mcpMarketplaceItemSchema = baseMarketplaceItemSchema.extend({\n\turl: z.string().url(), // Required url field\n\tcontent: z.union([z.string().min(1), z.array(mcpInstallationMethodSchema)]), // Single config or array of methods\n\tparameters: z.array(mcpParameterSchema).optional(),\n})\n\nexport type McpMarketplaceItem = z.infer<typeof mcpMarketplaceItemSchema>\n\n/**\n * Unified marketplace item schema using discriminated union\n */\nexport const marketplaceItemSchema = z.discriminatedUnion(\"type\", [\n\t// Mode marketplace item\n\tmodeMarketplaceItemSchema.extend({\n\t\ttype: z.literal(\"mode\"),\n\t}),\n\t// MCP marketplace item\n\tmcpMarketplaceItemSchema.extend({\n\t\ttype: z.literal(\"mcp\"),\n\t}),\n])\n\nexport type MarketplaceItem = z.infer<typeof marketplaceItemSchema>\n\n/**\n * Installation options for marketplace items\n */\nexport const installMarketplaceItemOptionsSchema = z.object({\n\ttarget: z.enum([\"global\", \"project\"]).optional().default(\"project\"),\n\tparameters: z.record(z.string(), z.any()).optional(),\n})\n\nexport type InstallMarketplaceItemOptions = z.infer<typeof installMarketplaceItemOptionsSchema>\n","import { z } from \"zod\"\n\n/**\n * McpExecutionStatus\n */\n\nexport const mcpExecutionStatusSchema = z.discriminatedUnion(\"status\", [\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"started\"),\n\t\tserverName: z.string(),\n\t\ttoolName: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"output\"),\n\t\tresponse: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"completed\"),\n\t\tresponse: z.string().optional(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"error\"),\n\t\terror: z.string().optional(),\n\t}),\n])\n\nexport type McpExecutionStatus = z.infer<typeof mcpExecutionStatusSchema>\n","import { z } from \"zod\"\n\n/**\n * CommandExecutionStatus\n */\n\nexport const commandExecutionStatusSchema = z.discriminatedUnion(\"status\", [\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"started\"),\n\t\tpid: z.number().optional(),\n\t\tcommand: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"output\"),\n\t\toutput: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"exited\"),\n\t\texitCode: z.number().optional(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"fallback\"),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"timeout\"),\n\t}),\n])\n\nexport type CommandExecutionStatus = z.infer<typeof commandExecutionStatusSchema>\n","import { z } from \"zod\"\n\n/**\n * TodoStatus\n */\nexport const todoStatusSchema = z.enum([\"pending\", \"in_progress\", \"completed\"] as const)\n\nexport type TodoStatus = z.infer<typeof todoStatusSchema>\n\n/**\n * TodoItem\n */\nexport const todoItemSchema = z.object({\n\tid: z.string(),\n\tcontent: z.string(),\n\tstatus: todoStatusSchema,\n})\n\nexport type TodoItem = z.infer<typeof todoItemSchema>\n"],"mappings":"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","names":["import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","TelemetryEventName","import_zod","import_zod","import_zod","import_zod","import_zod","RooCodeEventName","TaskCommandName","IpcMessageType","IpcOrigin","import_zod","import_zod","import_zod","import_zod"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts","../../src/providers/anthropic.ts","../../src/providers/bedrock.ts","../../src/providers/chutes.ts","../../src/providers/claude-code.ts","../../src/providers/deepseek.ts","../../src/providers/gemini.ts","../../src/providers/glama.ts","../../src/providers/groq.ts","../../src/providers/lite-llm.ts","../../src/providers/lm-studio.ts","../../src/providers/mistral.ts","../../src/providers/ollama.ts","../../src/providers/openai.ts","../../src/providers/openrouter.ts","../../src/providers/requesty.ts","../../src/providers/unbound.ts","../../src/providers/vertex.ts","../../src/providers/vscode-llm.ts","../../src/providers/xai.ts","../../src/codebase-index.ts","../../src/cloud.ts","../../src/global-settings.ts","../../src/provider-settings.ts","../../src/model.ts","../../src/history.ts","../../src/experiment.ts","../../src/telemetry.ts","../../src/message.ts","../../src/mode.ts","../../src/tool.ts","../../src/vscode.ts","../../src/followup.ts","../../src/ipc.ts","../../src/marketplace.ts","../../src/mcp.ts","../../src/terminal.ts","../../src/todo.ts"],"sourcesContent":["export * from \"./providers/index.js\"\n\nexport * from \"./api.js\"\nexport * from \"./codebase-index.js\"\nexport * from \"./cloud.js\"\nexport * from \"./experiment.js\"\nexport * from \"./followup.js\"\nexport * from \"./global-settings.js\"\nexport * from \"./history.js\"\nexport * from \"./ipc.js\"\nexport * from \"./marketplace.js\"\nexport * from \"./mcp.js\"\nexport * from \"./message.js\"\nexport * from \"./mode.js\"\nexport * from \"./model.js\"\nexport * from \"./provider-settings.js\"\nexport * from \"./sharing.js\"\nexport * from \"./telemetry.js\"\nexport * from \"./terminal.js\"\nexport * from \"./tool.js\"\nexport * from \"./type-fu.js\"\nexport * from \"./vscode.js\"\nexport * from \"./todo.js\"\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.anthropic.com/en/docs/about-claude/models\n\nexport type AnthropicModelId = keyof typeof anthropicModels\nexport const anthropicDefaultModelId: AnthropicModelId = \"claude-sonnet-4-20250514\"\n\nexport const anthropicModels = {\n\t\"claude-sonnet-4-20250514\": {\n\t\tmaxTokens: 64_000, // Overridden to 8k if `enableReasoningEffort` is false.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-opus-4-20250514\": {\n\t\tmaxTokens: 32_000, // Overridden to 8k if `enableReasoningEffort` is false.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0, // $15 per million input tokens\n\t\toutputPrice: 75.0, // $75 per million output tokens\n\t\tcacheWritesPrice: 18.75, // $18.75 per million tokens\n\t\tcacheReadsPrice: 1.5, // $1.50 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet-20250219:thinking\": {\n\t\tmaxTokens: 128_000, // Unlocked by passing `beta` flag to the model. Otherwise, it's 64k.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet-20250219\": {\n\t\tmaxTokens: 8192, // Since we already have a `:thinking` virtual model we aren't setting `supportsReasoningBudget: true` here.\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t},\n\t\"claude-3-5-sonnet-20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0, // $3 per million input tokens\n\t\toutputPrice: 15.0, // $15 per million output tokens\n\t\tcacheWritesPrice: 3.75, // $3.75 per million tokens\n\t\tcacheReadsPrice: 0.3, // $0.30 per million tokens\n\t},\n\t\"claude-3-5-haiku-20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 5.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"claude-3-opus-20240229\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-haiku-20240307\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t\tcacheWritesPrice: 0.3,\n\t\tcacheReadsPrice: 0.03,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const ANTHROPIC_DEFAULT_MAX_TOKENS = 8192\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference.html\n\nexport type BedrockModelId = keyof typeof bedrockModels\n\nexport const bedrockDefaultModelId: BedrockModelId = \"anthropic.claude-sonnet-4-20250514-v1:0\"\n\nexport const bedrockDefaultPromptRouterModelId: BedrockModelId = \"anthropic.claude-3-sonnet-20240229-v1:0\"\n\n// March, 12 2025 - updated prices to match US-West-2 list price shown at\n// https://aws.amazon.com/bedrock/pricing, including older models that are part\n// of the default prompt routers AWS enabled for GA of the promot router\n// feature.\nexport const bedrockModels = {\n\t\"amazon.nova-pro-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 3.2,\n\t\tcacheWritesPrice: 0.8, // per million tokens\n\t\tcacheReadsPrice: 0.2, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"amazon.nova-pro-latency-optimized-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 1.0, // per million tokens\n\t\tcacheReadsPrice: 0.25, // per million tokens\n\t\tdescription: \"Amazon Nova Pro with latency optimized inference\",\n\t},\n\t\"amazon.nova-lite-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 300_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.06,\n\t\toutputPrice: 0.24,\n\t\tcacheWritesPrice: 0.06, // per million tokens\n\t\tcacheReadsPrice: 0.015, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"amazon.nova-micro-v1:0\": {\n\t\tmaxTokens: 5000,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.035,\n\t\toutputPrice: 0.14,\n\t\tcacheWritesPrice: 0.035, // per million tokens\n\t\tcacheReadsPrice: 0.00875, // per million tokens\n\t\tminTokensPerCachePoint: 1,\n\t\tmaxCachePoints: 1,\n\t\tcachableFields: [\"system\"],\n\t},\n\t\"anthropic.claude-sonnet-4-20250514-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-opus-4-20250514-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-7-sonnet-20250219-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tsupportsReasoningBudget: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-sonnet-20241022-v2:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tminTokensPerCachePoint: 1024,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-haiku-20241022-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 1.0,\n\t\tcacheReadsPrice: 0.08,\n\t\tminTokensPerCachePoint: 2048,\n\t\tmaxCachePoints: 4,\n\t\tcachableFields: [\"system\", \"messages\", \"tools\"],\n\t},\n\t\"anthropic.claude-3-5-sonnet-20240620-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t},\n\t\"anthropic.claude-3-opus-20240229-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t},\n\t\"anthropic.claude-3-sonnet-20240229-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t},\n\t\"anthropic.claude-3-haiku-20240307-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t},\n\t\"anthropic.claude-2-1-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 8.0,\n\t\toutputPrice: 24.0,\n\t\tdescription: \"Claude 2.1\",\n\t},\n\t\"anthropic.claude-2-0-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 8.0,\n\t\toutputPrice: 24.0,\n\t\tdescription: \"Claude 2.0\",\n\t},\n\t\"anthropic.claude-instant-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 100_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.8,\n\t\toutputPrice: 2.4,\n\t\tdescription: \"Claude Instant\",\n\t},\n\t\"deepseek.r1-v1:0\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.35,\n\t\toutputPrice: 5.4,\n\t},\n\t\"meta.llama3-3-70b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.3 Instruct (70B)\",\n\t},\n\t\"meta.llama3-2-90b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.2 Instruct (90B)\",\n\t},\n\t\"meta.llama3-2-11b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.16,\n\t\toutputPrice: 0.16,\n\t\tdescription: \"Llama 3.2 Instruct (11B)\",\n\t},\n\t\"meta.llama3-2-3b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.15,\n\t\tdescription: \"Llama 3.2 Instruct (3B)\",\n\t},\n\t\"meta.llama3-2-1b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.1,\n\t\tdescription: \"Llama 3.2 Instruct (1B)\",\n\t},\n\t\"meta.llama3-1-405b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.4,\n\t\toutputPrice: 2.4,\n\t\tdescription: \"Llama 3.1 Instruct (405B)\",\n\t},\n\t\"meta.llama3-1-70b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.72,\n\t\toutputPrice: 0.72,\n\t\tdescription: \"Llama 3.1 Instruct (70B)\",\n\t},\n\t\"meta.llama3-1-70b-instruct-latency-optimized-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.9,\n\t\toutputPrice: 0.9,\n\t\tdescription: \"Llama 3.1 Instruct (70B) (w/ latency optimized inference)\",\n\t},\n\t\"meta.llama3-1-8b-instruct-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.22,\n\t\toutputPrice: 0.22,\n\t\tdescription: \"Llama 3.1 Instruct (8B)\",\n\t},\n\t\"meta.llama3-70b-instruct-v1:0\": {\n\t\tmaxTokens: 2048,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.65,\n\t\toutputPrice: 3.5,\n\t},\n\t\"meta.llama3-8b-instruct-v1:0\": {\n\t\tmaxTokens: 2048,\n\t\tcontextWindow: 4_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.6,\n\t},\n\t\"amazon.titan-text-lite-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.2,\n\t\tdescription: \"Amazon Titan Text Lite\",\n\t},\n\t\"amazon.titan-text-express-v1:0\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t\tdescription: \"Amazon Titan Text Express\",\n\t},\n\t\"amazon.titan-text-embeddings-v1:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\tdescription: \"Amazon Titan Text Embeddings\",\n\t},\n\t\"amazon.titan-text-embeddings-v2:0\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 8_000,\n\t\tsupportsImages: false,\n\t\tsupportsComputerUse: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.02,\n\t\tdescription: \"Amazon Titan Text Embeddings V2\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const BEDROCK_DEFAULT_TEMPERATURE = 0.3\n\nexport const BEDROCK_MAX_TOKENS = 4096\n\nexport const BEDROCK_DEFAULT_CONTEXT = 128_000\n\n// AWS Bedrock Inference Profile mapping based on official documentation\n// https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html\n// This mapping is pre-ordered by pattern length (descending) to ensure more specific patterns match first\nexport const AWS_INFERENCE_PROFILE_MAPPING: Array<[string, string]> = [\n\t// US Government Cloud → ug. inference profile (most specific prefix first)\n\t[\"us-gov-\", \"ug.\"],\n\t// Americas regions → us. inference profile\n\t[\"us-\", \"us.\"],\n\t// Europe regions → eu. inference profile\n\t[\"eu-\", \"eu.\"],\n\t// Asia Pacific regions → apac. inference profile\n\t[\"ap-\", \"apac.\"],\n\t// Canada regions → ca. inference profile\n\t[\"ca-\", \"ca.\"],\n\t// South America regions → sa. inference profile\n\t[\"sa-\", \"sa.\"],\n]\n\n// AWS Bedrock supported regions for the regions dropdown\n// Based on official AWS documentation\nexport const BEDROCK_REGIONS = [\n\t{ value: \"us-east-1\", label: \"us-east-1\" },\n\t{ value: \"us-east-2\", label: \"us-east-2\" },\n\t{ value: \"us-west-1\", label: \"us-west-1\" },\n\t{ value: \"us-west-2\", label: \"us-west-2\" },\n\t{ value: \"ap-northeast-1\", label: \"ap-northeast-1\" },\n\t{ value: \"ap-northeast-2\", label: \"ap-northeast-2\" },\n\t{ value: \"ap-northeast-3\", label: \"ap-northeast-3\" },\n\t{ value: \"ap-south-1\", label: \"ap-south-1\" },\n\t{ value: \"ap-south-2\", label: \"ap-south-2\" },\n\t{ value: \"ap-southeast-1\", label: \"ap-southeast-1\" },\n\t{ value: \"ap-southeast-2\", label: \"ap-southeast-2\" },\n\t{ value: \"ap-east-1\", label: \"ap-east-1\" },\n\t{ value: \"eu-central-1\", label: \"eu-central-1\" },\n\t{ value: \"eu-central-2\", label: \"eu-central-2\" },\n\t{ value: \"eu-west-1\", label: \"eu-west-1\" },\n\t{ value: \"eu-west-2\", label: \"eu-west-2\" },\n\t{ value: \"eu-west-3\", label: \"eu-west-3\" },\n\t{ value: \"eu-north-1\", label: \"eu-north-1\" },\n\t{ value: \"eu-south-1\", label: \"eu-south-1\" },\n\t{ value: \"eu-south-2\", label: \"eu-south-2\" },\n\t{ value: \"ca-central-1\", label: \"ca-central-1\" },\n\t{ value: \"sa-east-1\", label: \"sa-east-1\" },\n\t{ value: \"us-gov-east-1\", label: \"us-gov-east-1\" },\n\t{ value: \"us-gov-west-1\", label: \"us-gov-west-1\" },\n].sort((a, b) => a.value.localeCompare(b.value))\n","import type { ModelInfo } from \"../model.js\"\n\n// https://llm.chutes.ai/v1 (OpenAI compatible)\nexport type ChutesModelId =\n\t| \"deepseek-ai/DeepSeek-R1-0528\"\n\t| \"deepseek-ai/DeepSeek-R1\"\n\t| \"deepseek-ai/DeepSeek-V3\"\n\t| \"unsloth/Llama-3.3-70B-Instruct\"\n\t| \"chutesai/Llama-4-Scout-17B-16E-Instruct\"\n\t| \"unsloth/Mistral-Nemo-Instruct-2407\"\n\t| \"unsloth/gemma-3-12b-it\"\n\t| \"NousResearch/DeepHermes-3-Llama-3-8B-Preview\"\n\t| \"unsloth/gemma-3-4b-it\"\n\t| \"nvidia/Llama-3_3-Nemotron-Super-49B-v1\"\n\t| \"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1\"\n\t| \"chutesai/Llama-4-Maverick-17B-128E-Instruct-FP8\"\n\t| \"deepseek-ai/DeepSeek-V3-Base\"\n\t| \"deepseek-ai/DeepSeek-R1-Zero\"\n\t| \"deepseek-ai/DeepSeek-V3-0324\"\n\t| \"Qwen/Qwen3-235B-A22B\"\n\t| \"Qwen/Qwen3-32B\"\n\t| \"Qwen/Qwen3-30B-A3B\"\n\t| \"Qwen/Qwen3-14B\"\n\t| \"Qwen/Qwen3-8B\"\n\t| \"microsoft/MAI-DS-R1-FP8\"\n\t| \"tngtech/DeepSeek-R1T-Chimera\"\n\nexport const chutesDefaultModelId: ChutesModelId = \"deepseek-ai/DeepSeek-R1-0528\"\n\nexport const chutesModels = {\n\t\"deepseek-ai/DeepSeek-R1-0528\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 0528 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-R1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 model.\",\n\t},\n\t\"unsloth/Llama-3.3-70B-Instruct\": {\n\t\tmaxTokens: 32768, // From Groq\n\t\tcontextWindow: 131072, // From Groq\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Llama 3.3 70B Instruct model.\",\n\t},\n\t\"chutesai/Llama-4-Scout-17B-16E-Instruct\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 512000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"ChutesAI Llama 4 Scout 17B Instruct model, 512K context.\",\n\t},\n\t\"unsloth/Mistral-Nemo-Instruct-2407\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 128000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Mistral Nemo Instruct model.\",\n\t},\n\t\"unsloth/gemma-3-12b-it\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Gemma 3 12B IT model.\",\n\t},\n\t\"NousResearch/DeepHermes-3-Llama-3-8B-Preview\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nous DeepHermes 3 Llama 3 8B Preview model.\",\n\t},\n\t\"unsloth/gemma-3-4b-it\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Unsloth Gemma 3 4B IT model.\",\n\t},\n\t\"nvidia/Llama-3_3-Nemotron-Super-49B-v1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nvidia Llama 3.3 Nemotron Super 49B model.\",\n\t},\n\t\"nvidia/Llama-3_1-Nemotron-Ultra-253B-v1\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Nvidia Llama 3.1 Nemotron Ultra 253B model.\",\n\t},\n\t\"chutesai/Llama-4-Maverick-17B-128E-Instruct-FP8\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 256000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"ChutesAI Llama 4 Maverick 17B Instruct FP8 model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3-Base\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 Base model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-R1-Zero\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek R1 Zero model.\",\n\t},\n\t\"deepseek-ai/DeepSeek-V3-0324\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"DeepSeek V3 (0324) model.\",\n\t},\n\t\"Qwen/Qwen3-235B-A22B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 235B A22B model.\",\n\t},\n\t\"Qwen/Qwen3-32B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 32B model.\",\n\t},\n\t\"Qwen/Qwen3-30B-A3B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 30B A3B model.\",\n\t},\n\t\"Qwen/Qwen3-14B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 14B model.\",\n\t},\n\t\"Qwen/Qwen3-8B\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 40960,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Qwen3 8B model.\",\n\t},\n\t\"microsoft/MAI-DS-R1-FP8\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"Microsoft MAI-DS-R1 FP8 model.\",\n\t},\n\t\"tngtech/DeepSeek-R1T-Chimera\": {\n\t\tmaxTokens: 32768,\n\t\tcontextWindow: 163840,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tdescription: \"TNGTech DeepSeek R1T Chimera model.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import type { ModelInfo } from \"../model.js\"\nimport { anthropicModels } from \"./anthropic.js\"\n\n// Regex pattern to match 8-digit date at the end of model names\nconst VERTEX_DATE_PATTERN = /-(\\d{8})$/\n\n/**\n * Converts Claude model names from hyphen-date format to Vertex AI's @-date format.\n *\n * @param modelName - The original model name (e.g., \"claude-sonnet-4-20250514\")\n * @returns The converted model name for Vertex AI (e.g., \"claude-sonnet-4@20250514\")\n *\n * @example\n * convertModelNameForVertex(\"claude-sonnet-4-20250514\") // returns \"claude-sonnet-4@20250514\"\n * convertModelNameForVertex(\"claude-model\") // returns \"claude-model\" (no change)\n */\nexport function convertModelNameForVertex(modelName: string): string {\n\t// Convert hyphen-date format to @date format for Vertex AI\n\treturn modelName.replace(VERTEX_DATE_PATTERN, \"@$1\")\n}\n\n// Claude Code\nexport type ClaudeCodeModelId = keyof typeof claudeCodeModels\nexport const claudeCodeDefaultModelId: ClaudeCodeModelId = \"claude-sonnet-4-20250514\"\nexport const CLAUDE_CODE_DEFAULT_MAX_OUTPUT_TOKENS = 8000\n\n/**\n * Gets the appropriate model ID based on whether Vertex AI is being used.\n *\n * @param baseModelId - The base Claude Code model ID\n * @param useVertex - Whether to format the model ID for Vertex AI (default: false)\n * @returns The model ID, potentially formatted for Vertex AI\n *\n * @example\n * getClaudeCodeModelId(\"claude-sonnet-4-20250514\", true) // returns \"claude-sonnet-4@20250514\"\n * getClaudeCodeModelId(\"claude-sonnet-4-20250514\", false) // returns \"claude-sonnet-4-20250514\"\n */\nexport function getClaudeCodeModelId(baseModelId: ClaudeCodeModelId, useVertex = false): string {\n\treturn useVertex ? convertModelNameForVertex(baseModelId) : baseModelId\n}\n\nexport const claudeCodeModels = {\n\t\"claude-sonnet-4-20250514\": {\n\t\t...anthropicModels[\"claude-sonnet-4-20250514\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-opus-4-20250514\": {\n\t\t...anthropicModels[\"claude-opus-4-20250514\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-7-sonnet-20250219\": {\n\t\t...anthropicModels[\"claude-3-7-sonnet-20250219\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-5-sonnet-20241022\": {\n\t\t...anthropicModels[\"claude-3-5-sonnet-20241022\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n\t\"claude-3-5-haiku-20241022\": {\n\t\t...anthropicModels[\"claude-3-5-haiku-20241022\"],\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true, // Claude Code does report cache tokens\n\t\tsupportsReasoningEffort: false,\n\t\tsupportsReasoningBudget: false,\n\t\trequiredReasoningBudget: false,\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import type { ModelInfo } from \"../model.js\"\n\n// https://platform.deepseek.com/docs/api\nexport type DeepSeekModelId = keyof typeof deepSeekModels\n\nexport const deepSeekDefaultModelId: DeepSeekModelId = \"deepseek-chat\"\n\nexport const deepSeekModels = {\n\t\"deepseek-chat\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 64_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.27, // $0.27 per million tokens (cache miss)\n\t\toutputPrice: 1.1, // $1.10 per million tokens\n\t\tcacheWritesPrice: 0.27, // $0.27 per million tokens (cache miss)\n\t\tcacheReadsPrice: 0.07, // $0.07 per million tokens (cache hit).\n\t\tdescription: `DeepSeek-V3 achieves a significant breakthrough in inference speed over previous models. It tops the leaderboard among open-source models and rivals the most advanced closed-source models globally.`,\n\t},\n\t\"deepseek-reasoner\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 64_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.55, // $0.55 per million tokens (cache miss)\n\t\toutputPrice: 2.19, // $2.19 per million tokens\n\t\tcacheWritesPrice: 0.55, // $0.55 per million tokens (cache miss)\n\t\tcacheReadsPrice: 0.14, // $0.14 per million tokens (cache hit)\n\t\tdescription: `DeepSeek-R1 achieves performance comparable to OpenAI-o1 across math, code, and reasoning tasks. Supports Chain of Thought reasoning with up to 32K tokens.`,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const DEEP_SEEK_DEFAULT_TEMPERATURE = 0.6\n","import type { ModelInfo } from \"../model.js\"\n\n// https://ai.google.dev/gemini-api/docs/models/gemini\nexport type GeminiModelId = keyof typeof geminiModels\n\nexport const geminiDefaultModelId: GeminiModelId = \"gemini-2.0-flash-001\"\n\nexport const geminiModels = {\n\t\"gemini-2.5-flash-preview-04-17:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-flash-preview-05-20:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-05-20\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t},\n\t\"gemini-2.5-flash\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 2.5,\n\t\tcacheReadsPrice: 0.075,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-pro-exp-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.5-pro-preview-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-preview-05-06\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-preview-06-05\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5, // This is the pricing for prompts above 200k tokens.\n\t\toutputPrice: 15,\n\t\tcacheReadsPrice: 0.625,\n\t\tcacheWritesPrice: 4.5,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t},\n\t\"gemini-2.0-flash-lite-preview-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-pro-exp-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-01-21\": {\n\t\tmaxTokens: 65_536,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-1219\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32_767,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-exp\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15, // This is the pricing for prompts above 128k tokens.\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.0375,\n\t\tcacheWritesPrice: 1.0,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 128_000,\n\t\t\t\tinputPrice: 0.075,\n\t\t\t\toutputPrice: 0.3,\n\t\t\t\tcacheReadsPrice: 0.01875,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 0.15,\n\t\t\t\toutputPrice: 0.6,\n\t\t\t\tcacheReadsPrice: 0.0375,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-1.5-flash-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-8b-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-pro-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-pro-exp-0827\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-exp-1206\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.5-flash-lite-preview-06-17\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t\tsupportsReasoningBudget: true,\n\t\tmaxThinkingTokens: 24_576,\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import type { ModelInfo } from \"../model.js\"\n\n// https://glama.ai/models\nexport const glamaDefaultModelId = \"anthropic/claude-3-7-sonnet\"\n\nexport const glamaDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and extended, step-by-step processing for complex tasks. The model demonstrates notable improvements in coding, particularly in front-end development and full-stack updates, and excels in agentic workflows, where it can autonomously navigate multi-step processes. Claude 3.7 Sonnet maintains performance parity with its predecessor in standard mode while offering an extended reasoning mode for enhanced accuracy in math, coding, and instruction-following tasks. Read more at the [blog post here](https://www.anthropic.com/news/claude-3-7-sonnet)\",\n}\n\nexport const GLAMA_DEFAULT_TEMPERATURE = 0\n","import type { ModelInfo } from \"../model.js\"\n\n// https://console.groq.com/docs/models\nexport type GroqModelId =\n\t| \"llama-3.1-8b-instant\"\n\t| \"llama-3.3-70b-versatile\"\n\t| \"meta-llama/llama-4-scout-17b-16e-instruct\"\n\t| \"meta-llama/llama-4-maverick-17b-128e-instruct\"\n\t| \"mistral-saba-24b\"\n\t| \"qwen-qwq-32b\"\n\t| \"qwen/qwen3-32b\"\n\t| \"deepseek-r1-distill-llama-70b\"\n\t| \"moonshotai/kimi-k2-instruct\"\n\nexport const groqDefaultModelId: GroqModelId = \"llama-3.3-70b-versatile\" // Defaulting to Llama3 70B Versatile\n\nexport const groqModels = {\n\t// Models based on API response: https://api.groq.com/openai/v1/models\n\t\"llama-3.1-8b-instant\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.05,\n\t\toutputPrice: 0.08,\n\t\tdescription: \"Meta Llama 3.1 8B Instant model, 128K context.\",\n\t},\n\t\"llama-3.3-70b-versatile\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.59,\n\t\toutputPrice: 0.79,\n\t\tdescription: \"Meta Llama 3.3 70B Versatile model, 128K context.\",\n\t},\n\t\"meta-llama/llama-4-scout-17b-16e-instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.11,\n\t\toutputPrice: 0.34,\n\t\tdescription: \"Meta Llama 4 Scout 17B Instruct model, 128K context.\",\n\t},\n\t\"meta-llama/llama-4-maverick-17b-128e-instruct\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t\tdescription: \"Meta Llama 4 Maverick 17B Instruct model, 128K context.\",\n\t},\n\t\"mistral-saba-24b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32768,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.79,\n\t\toutputPrice: 0.79,\n\t\tdescription: \"Mistral Saba 24B model, 32K context.\",\n\t},\n\t\"qwen-qwq-32b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.29,\n\t\toutputPrice: 0.39,\n\t\tdescription: \"Alibaba Qwen QwQ 32B model, 128K context.\",\n\t},\n\t\"qwen/qwen3-32b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.29,\n\t\toutputPrice: 0.59,\n\t\tdescription: \"Alibaba Qwen 3 32B model, 128K context.\",\n\t},\n\t\"deepseek-r1-distill-llama-70b\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.75,\n\t\toutputPrice: 0.99,\n\t\tdescription: \"DeepSeek R1 Distill Llama 70B model, 128K context.\",\n\t},\n\t\"moonshotai/kimi-k2-instruct\": {\n\t\tmaxTokens: 16384,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 3.0,\n\t\tdescription: \"Moonshot AI Kimi K2 Instruct 1T model, 128K context.\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.litellm.ai/\nexport const litellmDefaultModelId = \"claude-3-7-sonnet-20250219\"\n\nexport const litellmDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n}\n\nexport const LITELLM_COMPUTER_USE_MODELS = new Set([\n\t\"claude-3-5-sonnet-latest\",\n\t\"claude-opus-4-20250514\",\n\t\"claude-sonnet-4-20250514\",\n\t\"claude-3-7-sonnet-latest\",\n\t\"claude-3-7-sonnet-20250219\",\n\t\"claude-3-5-sonnet-20241022\",\n\t\"vertex_ai/claude-3-5-sonnet\",\n\t\"vertex_ai/claude-3-5-sonnet-v2\",\n\t\"vertex_ai/claude-3-5-sonnet-v2@20241022\",\n\t\"vertex_ai/claude-3-7-sonnet@20250219\",\n\t\"vertex_ai/claude-opus-4@20250514\",\n\t\"vertex_ai/claude-sonnet-4@20250514\",\n\t\"openrouter/anthropic/claude-3.5-sonnet\",\n\t\"openrouter/anthropic/claude-3.5-sonnet:beta\",\n\t\"openrouter/anthropic/claude-3.7-sonnet\",\n\t\"openrouter/anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic.claude-opus-4-20250514-v1:0\",\n\t\"anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"us.anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"us.anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"us.anthropic.claude-opus-4-20250514-v1:0\",\n\t\"us.anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"eu.anthropic.claude-3-5-sonnet-20241022-v2:0\",\n\t\"eu.anthropic.claude-3-7-sonnet-20250219-v1:0\",\n\t\"eu.anthropic.claude-opus-4-20250514-v1:0\",\n\t\"eu.anthropic.claude-sonnet-4-20250514-v1:0\",\n\t\"snowflake/claude-3-5-sonnet\",\n])\n","import type { ModelInfo } from \"../model.js\"\n\nexport const LMSTUDIO_DEFAULT_TEMPERATURE = 0\n\n// LM Studio\n// https://lmstudio.ai/docs/cli/ls\nexport const lMStudioDefaultModelId = \"mistralai/devstral-small-2505\"\nexport const lMStudioDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 0,\n\toutputPrice: 0,\n\tcacheWritesPrice: 0,\n\tcacheReadsPrice: 0,\n\tdescription: \"LM Studio hosted models\",\n}\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.mistral.ai/getting-started/models/models_overview/\nexport type MistralModelId = keyof typeof mistralModels\n\nexport const mistralDefaultModelId: MistralModelId = \"codestral-latest\"\n\nexport const mistralModels = {\n\t\"magistral-medium-latest\": {\n\t\tmaxTokens: 41_000,\n\t\tcontextWindow: 41_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 5.0,\n\t},\n\t\"devstral-medium-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 2.0,\n\t},\n\t\"mistral-medium-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 2.0,\n\t},\n\t\"codestral-latest\": {\n\t\tmaxTokens: 256_000,\n\t\tcontextWindow: 256_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.9,\n\t},\n\t\"mistral-large-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 6.0,\n\t},\n\t\"ministral-8b-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.1,\n\t},\n\t\"ministral-3b-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.04,\n\t\toutputPrice: 0.04,\n\t},\n\t\"mistral-small-latest\": {\n\t\tmaxTokens: 32_000,\n\t\tcontextWindow: 32_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.2,\n\t\toutputPrice: 0.6,\n\t},\n\t\"pixtral-large-latest\": {\n\t\tmaxTokens: 131_000,\n\t\tcontextWindow: 131_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 6.0,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const MISTRAL_DEFAULT_TEMPERATURE = 0\n","import type { ModelInfo } from \"../model.js\"\n\n// Ollama\n// https://ollama.com/models\nexport const ollamaDefaultModelId = \"devstral:24b\"\nexport const ollamaDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 4096,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 0,\n\toutputPrice: 0,\n\tcacheWritesPrice: 0,\n\tcacheReadsPrice: 0,\n\tdescription: \"Ollama hosted models\",\n}\n","import type { ModelInfo } from \"../model.js\"\n\n// https://openai.com/api/pricing/\nexport type OpenAiNativeModelId = keyof typeof openAiNativeModels\n\nexport const openAiNativeDefaultModelId: OpenAiNativeModelId = \"gpt-4.1\"\n\nexport const openAiNativeModels = {\n\t\"gpt-4.1\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2,\n\t\toutputPrice: 8,\n\t\tcacheReadsPrice: 0.5,\n\t},\n\t\"gpt-4.1-mini\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.4,\n\t\toutputPrice: 1.6,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"gpt-4.1-nano\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 1_047_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t},\n\to3: {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o3-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o3-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 8.0,\n\t\tcacheReadsPrice: 0.5,\n\t\treasoningEffort: \"low\",\n\t},\n\t\"o4-mini\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o4-mini-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o4-mini-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.275,\n\t\treasoningEffort: \"low\",\n\t},\n\t\"o3-mini\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\tsupportsReasoningEffort: true,\n\t\treasoningEffort: \"medium\",\n\t},\n\t\"o3-mini-high\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\treasoningEffort: \"high\",\n\t},\n\t\"o3-mini-low\": {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t\treasoningEffort: \"low\",\n\t},\n\to1: {\n\t\tmaxTokens: 100_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15,\n\t\toutputPrice: 60,\n\t\tcacheReadsPrice: 7.5,\n\t},\n\t\"o1-preview\": {\n\t\tmaxTokens: 32_768,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15,\n\t\toutputPrice: 60,\n\t\tcacheReadsPrice: 7.5,\n\t},\n\t\"o1-mini\": {\n\t\tmaxTokens: 65_536,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.1,\n\t\toutputPrice: 4.4,\n\t\tcacheReadsPrice: 0.55,\n\t},\n\t\"gpt-4.5-preview\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 75,\n\t\toutputPrice: 150,\n\t\tcacheReadsPrice: 37.5,\n\t},\n\t\"gpt-4o\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 10,\n\t\tcacheReadsPrice: 1.25,\n\t},\n\t\"gpt-4o-mini\": {\n\t\tmaxTokens: 16_384,\n\t\tcontextWindow: 128_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t\tcacheReadsPrice: 0.075,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const openAiModelInfoSaneDefaults: ModelInfo = {\n\tmaxTokens: -1,\n\tcontextWindow: 128_000,\n\tsupportsImages: true,\n\tsupportsPromptCache: false,\n\tinputPrice: 0,\n\toutputPrice: 0,\n}\n\n// https://learn.microsoft.com/en-us/azure/ai-services/openai/api-version-deprecation\n// https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#api-specs\nexport const azureOpenAiDefaultApiVersion = \"2024-08-01-preview\"\n\nexport const OPENAI_NATIVE_DEFAULT_TEMPERATURE = 0\n\nexport const OPENAI_AZURE_AI_INFERENCE_PATH = \"/models/chat/completions\"\n","import type { ModelInfo } from \"../model.js\"\n\n// https://openrouter.ai/models?order=newest&supported_parameters=tools\nexport const openRouterDefaultModelId = \"anthropic/claude-sonnet-4\"\n\nexport const openRouterDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"Claude 3.7 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities. It introduces a hybrid reasoning approach, allowing users to choose between rapid responses and extended, step-by-step processing for complex tasks. The model demonstrates notable improvements in coding, particularly in front-end development and full-stack updates, and excels in agentic workflows, where it can autonomously navigate multi-step processes. Claude 3.7 Sonnet maintains performance parity with its predecessor in standard mode while offering an extended reasoning mode for enhanced accuracy in math, coding, and instruction-following tasks. Read more at the [blog post here](https://www.anthropic.com/news/claude-3-7-sonnet)\",\n}\n\nexport const OPENROUTER_DEFAULT_PROVIDER_NAME = \"[default]\"\n\nexport const OPEN_ROUTER_PROMPT_CACHING_MODELS = new Set([\n\t\"anthropic/claude-3-haiku\",\n\t\"anthropic/claude-3-haiku:beta\",\n\t\"anthropic/claude-3-opus\",\n\t\"anthropic/claude-3-opus:beta\",\n\t\"anthropic/claude-3-sonnet\",\n\t\"anthropic/claude-3-sonnet:beta\",\n\t\"anthropic/claude-3.5-haiku\",\n\t\"anthropic/claude-3.5-haiku-20241022\",\n\t\"anthropic/claude-3.5-haiku-20241022:beta\",\n\t\"anthropic/claude-3.5-haiku:beta\",\n\t\"anthropic/claude-3.5-sonnet\",\n\t\"anthropic/claude-3.5-sonnet-20240620\",\n\t\"anthropic/claude-3.5-sonnet-20240620:beta\",\n\t\"anthropic/claude-3.5-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet\",\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"anthropic/claude-opus-4\",\n\t\"google/gemini-2.5-flash-preview\",\n\t\"google/gemini-2.5-flash-preview:thinking\",\n\t\"google/gemini-2.5-flash-preview-05-20\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n\t\"google/gemini-2.5-flash\",\n\t\"google/gemini-2.5-flash-lite-preview-06-17\",\n\t\"google/gemini-2.0-flash-001\",\n\t\"google/gemini-flash-1.5\",\n\t\"google/gemini-flash-1.5-8b\",\n])\n\n// https://www.anthropic.com/news/3-5-models-and-computer-use\nexport const OPEN_ROUTER_COMPUTER_USE_MODELS = new Set([\n\t\"anthropic/claude-3.5-sonnet\",\n\t\"anthropic/claude-3.5-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet\",\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"anthropic/claude-opus-4\",\n])\n\n// When we first launched these models we didn't have support for\n// enabling/disabling the reasoning budget for hybrid models. Now that we\n// do support this we should give users the option to enable/disable it\n// whenever possible. However these particular (virtual) model ids with the\n// `:thinking` suffix always require the reasoning budget to be enabled, so\n// for backwards compatibility we should still require it.\n// We should *not* be adding new models to this set.\nexport const OPEN_ROUTER_REQUIRED_REASONING_BUDGET_MODELS = new Set([\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"google/gemini-2.5-pro\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n])\n\nexport const OPEN_ROUTER_REASONING_BUDGET_MODELS = new Set([\n\t\"anthropic/claude-3.7-sonnet:beta\",\n\t\"anthropic/claude-opus-4\",\n\t\"anthropic/claude-sonnet-4\",\n\t\"google/gemini-2.5-pro-preview\",\n\t\"google/gemini-2.5-pro\",\n\t\"google/gemini-2.5-flash-preview-05-20\",\n\t\"google/gemini-2.5-flash\",\n\t\"google/gemini-2.5-flash-lite-preview-06-17\",\n\t// Also include the models that require the reasoning budget to be enabled\n\t// even though `OPEN_ROUTER_REQUIRED_REASONING_BUDGET_MODELS` takes precedence.\n\t\"anthropic/claude-3.7-sonnet:thinking\",\n\t\"google/gemini-2.5-flash-preview-05-20:thinking\",\n])\n","import type { ModelInfo } from \"../model.js\"\n\n// Requesty\n// https://requesty.ai/router-2\nexport const requestyDefaultModelId = \"coding/claude-4-sonnet\"\n\nexport const requestyDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsComputerUse: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n\tdescription:\n\t\t\"The best coding model, optimized by Requesty, and automatically routed to the fastest provider. Claude 4 Sonnet is an advanced large language model with improved reasoning, coding, and problem-solving capabilities.\",\n}\n","import type { ModelInfo } from \"../model.js\"\n\nexport const unboundDefaultModelId = \"anthropic/claude-3-7-sonnet-20250219\"\n\nexport const unboundDefaultModelInfo: ModelInfo = {\n\tmaxTokens: 8192,\n\tcontextWindow: 200_000,\n\tsupportsImages: true,\n\tsupportsPromptCache: true,\n\tinputPrice: 3.0,\n\toutputPrice: 15.0,\n\tcacheWritesPrice: 3.75,\n\tcacheReadsPrice: 0.3,\n}\n","import type { ModelInfo } from \"../model.js\"\n\n// https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-claude\nexport type VertexModelId = keyof typeof vertexModels\n\nexport const vertexDefaultModelId: VertexModelId = \"claude-sonnet-4@20250514\"\n\nexport const vertexModels = {\n\t\"gemini-2.5-flash-preview-05-20:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-05-20\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-flash\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 2.5,\n\t\tcacheReadsPrice: 0.075,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17:thinking\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 3.5,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"gemini-2.5-flash-preview-04-17\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.5-pro-preview-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t},\n\t\"gemini-2.5-pro-preview-05-06\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t},\n\t\"gemini-2.5-pro-preview-06-05\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 2.5,\n\t\toutputPrice: 15,\n\t\tmaxThinkingTokens: 32_768,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t\ttiers: [\n\t\t\t{\n\t\t\t\tcontextWindow: 200_000,\n\t\t\t\tinputPrice: 1.25,\n\t\t\t\toutputPrice: 10,\n\t\t\t\tcacheReadsPrice: 0.31,\n\t\t\t},\n\t\t\t{\n\t\t\t\tcontextWindow: Infinity,\n\t\t\t\tinputPrice: 2.5,\n\t\t\t\toutputPrice: 15,\n\t\t\t\tcacheReadsPrice: 0.625,\n\t\t\t},\n\t\t],\n\t},\n\t\"gemini-2.5-pro-exp-03-25\": {\n\t\tmaxTokens: 65_535,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-pro-exp-02-05\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.15,\n\t\toutputPrice: 0.6,\n\t},\n\t\"gemini-2.0-flash-lite-001\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0.075,\n\t\toutputPrice: 0.3,\n\t},\n\t\"gemini-2.0-flash-thinking-exp-01-21\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32_768,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t},\n\t\"gemini-1.5-flash-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.075,\n\t\toutputPrice: 0.3,\n\t},\n\t\"gemini-1.5-pro-002\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 2_097_152,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 1.25,\n\t\toutputPrice: 5,\n\t},\n\t\"claude-sonnet-4@20250514\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tsupportsReasoningBudget: true,\n\t},\n\t\"claude-opus-4@20250514\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-7-sonnet@20250219:thinking\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t\tsupportsReasoningBudget: true,\n\t\trequiredReasoningBudget: true,\n\t},\n\t\"claude-3-7-sonnet@20250219\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-sonnet-v2@20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsComputerUse: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-sonnet@20240620\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 3.75,\n\t\tcacheReadsPrice: 0.3,\n\t},\n\t\"claude-3-5-haiku@20241022\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 1.0,\n\t\toutputPrice: 5.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 0.1,\n\t},\n\t\"claude-3-opus@20240229\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 15.0,\n\t\toutputPrice: 75.0,\n\t\tcacheWritesPrice: 18.75,\n\t\tcacheReadsPrice: 1.5,\n\t},\n\t\"claude-3-haiku@20240307\": {\n\t\tmaxTokens: 4096,\n\t\tcontextWindow: 200_000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.25,\n\t\toutputPrice: 1.25,\n\t\tcacheWritesPrice: 0.3,\n\t\tcacheReadsPrice: 0.03,\n\t},\n\t\"gemini-2.5-flash-lite-preview-06-17\": {\n\t\tmaxTokens: 64_000,\n\t\tcontextWindow: 1_048_576,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.1,\n\t\toutputPrice: 0.4,\n\t\tcacheReadsPrice: 0.025,\n\t\tcacheWritesPrice: 1.0,\n\t\tmaxThinkingTokens: 24_576,\n\t\tsupportsReasoningBudget: true,\n\t},\n} as const satisfies Record<string, ModelInfo>\n\nexport const VERTEX_REGIONS = [\n\t{ value: \"global\", label: \"global\" },\n\t{ value: \"us-central1\", label: \"us-central1\" },\n\t{ value: \"us-east1\", label: \"us-east1\" },\n\t{ value: \"us-east4\", label: \"us-east4\" },\n\t{ value: \"us-east5\", label: \"us-east5\" },\n\t{ value: \"us-west1\", label: \"us-west1\" },\n\t{ value: \"us-west2\", label: \"us-west2\" },\n\t{ value: \"us-west3\", label: \"us-west3\" },\n\t{ value: \"us-west4\", label: \"us-west4\" },\n\t{ value: \"northamerica-northeast1\", label: \"northamerica-northeast1\" },\n\t{ value: \"northamerica-northeast2\", label: \"northamerica-northeast2\" },\n\t{ value: \"southamerica-east1\", label: \"southamerica-east1\" },\n\t{ value: \"europe-west1\", label: \"europe-west1\" },\n\t{ value: \"europe-west2\", label: \"europe-west2\" },\n\t{ value: \"europe-west3\", label: \"europe-west3\" },\n\t{ value: \"europe-west4\", label: \"europe-west4\" },\n\t{ value: \"europe-west6\", label: \"europe-west6\" },\n\t{ value: \"europe-central2\", label: \"europe-central2\" },\n\t{ value: \"asia-east1\", label: \"asia-east1\" },\n\t{ value: \"asia-east2\", label: \"asia-east2\" },\n\t{ value: \"asia-northeast1\", label: \"asia-northeast1\" },\n\t{ value: \"asia-northeast2\", label: \"asia-northeast2\" },\n\t{ value: \"asia-northeast3\", label: \"asia-northeast3\" },\n\t{ value: \"asia-south1\", label: \"asia-south1\" },\n\t{ value: \"asia-south2\", label: \"asia-south2\" },\n\t{ value: \"asia-southeast1\", label: \"asia-southeast1\" },\n\t{ value: \"asia-southeast2\", label: \"asia-southeast2\" },\n\t{ value: \"australia-southeast1\", label: \"australia-southeast1\" },\n\t{ value: \"australia-southeast2\", label: \"australia-southeast2\" },\n\t{ value: \"me-west1\", label: \"me-west1\" },\n\t{ value: \"me-central1\", label: \"me-central1\" },\n\t{ value: \"africa-south1\", label: \"africa-south1\" },\n]\n","import type { ModelInfo } from \"../model.js\"\n\nexport type VscodeLlmModelId = keyof typeof vscodeLlmModels\n\nexport const vscodeLlmDefaultModelId: VscodeLlmModelId = \"claude-3.5-sonnet\"\n\nexport const vscodeLlmModels = {\n\t\"gpt-3.5-turbo\": {\n\t\tcontextWindow: 12114,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-3.5-turbo\",\n\t\tversion: \"gpt-3.5-turbo-0613\",\n\t\tname: \"GPT 3.5 Turbo\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 12114,\n\t},\n\t\"gpt-4o-mini\": {\n\t\tcontextWindow: 12115,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4o-mini\",\n\t\tversion: \"gpt-4o-mini-2024-07-18\",\n\t\tname: \"GPT-4o mini\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 12115,\n\t},\n\t\"gpt-4\": {\n\t\tcontextWindow: 28501,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4\",\n\t\tversion: \"gpt-4-0613\",\n\t\tname: \"GPT 4\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 28501,\n\t},\n\t\"gpt-4-0125-preview\": {\n\t\tcontextWindow: 63826,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4-turbo\",\n\t\tversion: \"gpt-4-0125-preview\",\n\t\tname: \"GPT 4 Turbo\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63826,\n\t},\n\t\"gpt-4o\": {\n\t\tcontextWindow: 63827,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4o\",\n\t\tversion: \"gpt-4o-2024-11-20\",\n\t\tname: \"GPT-4o\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63827,\n\t},\n\to1: {\n\t\tcontextWindow: 19827,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o1-ga\",\n\t\tversion: \"o1-2024-12-17\",\n\t\tname: \"o1 (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 19827,\n\t},\n\t\"o3-mini\": {\n\t\tcontextWindow: 63827,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o3-mini\",\n\t\tversion: \"o3-mini-2025-01-31\",\n\t\tname: \"o3-mini\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63827,\n\t},\n\t\"claude-3.5-sonnet\": {\n\t\tcontextWindow: 81638,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"claude-3.5-sonnet\",\n\t\tversion: \"claude-3.5-sonnet\",\n\t\tname: \"Claude 3.5 Sonnet\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 81638,\n\t},\n\t\"gemini-2.0-flash-001\": {\n\t\tcontextWindow: 127827,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gemini-2.0-flash\",\n\t\tversion: \"gemini-2.0-flash-001\",\n\t\tname: \"Gemini 2.0 Flash\",\n\t\tsupportsToolCalling: false,\n\t\tmaxInputTokens: 127827,\n\t},\n\t\"gemini-2.5-pro\": {\n\t\tcontextWindow: 63830,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gemini-2.5-pro\",\n\t\tversion: \"gemini-2.5-pro-preview-03-25\",\n\t\tname: \"Gemini 2.5 Pro (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 63830,\n\t},\n\t\"o4-mini\": {\n\t\tcontextWindow: 111446,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"o4-mini\",\n\t\tversion: \"o4-mini-2025-04-16\",\n\t\tname: \"o4-mini (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 111446,\n\t},\n\t\"gpt-4.1\": {\n\t\tcontextWindow: 111446,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 0,\n\t\toutputPrice: 0,\n\t\tfamily: \"gpt-4.1\",\n\t\tversion: \"gpt-4.1-2025-04-14\",\n\t\tname: \"GPT-4.1 (Preview)\",\n\t\tsupportsToolCalling: true,\n\t\tmaxInputTokens: 111446,\n\t},\n} as const satisfies Record<\n\tstring,\n\tModelInfo & {\n\t\tfamily: string\n\t\tversion: string\n\t\tname: string\n\t\tsupportsToolCalling: boolean\n\t\tmaxInputTokens: number\n\t}\n>\n","import type { ModelInfo } from \"../model.js\"\n\n// https://docs.x.ai/docs/api-reference\nexport type XAIModelId = keyof typeof xaiModels\n\nexport const xaiDefaultModelId: XAIModelId = \"grok-4\"\n\nexport const xaiModels = {\n\t\"grok-4\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 256000,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 0.75,\n\t\tcacheReadsPrice: 0.75,\n\t\tdescription: \"xAI's Grok-4 model with 256K context window\",\n\t},\n\t\"grok-3\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 3.0,\n\t\toutputPrice: 15.0,\n\t\tcacheWritesPrice: 0.75,\n\t\tcacheReadsPrice: 0.75,\n\t\tdescription: \"xAI's Grok-3 model with 128K context window\",\n\t},\n\t\"grok-3-fast\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 5.0,\n\t\toutputPrice: 25.0,\n\t\tcacheWritesPrice: 1.25,\n\t\tcacheReadsPrice: 1.25,\n\t\tdescription: \"xAI's Grok-3 fast model with 128K context window\",\n\t},\n\t\"grok-3-mini\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.3,\n\t\toutputPrice: 0.5,\n\t\tcacheWritesPrice: 0.07,\n\t\tcacheReadsPrice: 0.07,\n\t\tdescription: \"xAI's Grok-3 mini model with 128K context window\",\n\t\tsupportsReasoningEffort: true,\n\t},\n\t\"grok-3-mini-fast\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: true,\n\t\tinputPrice: 0.6,\n\t\toutputPrice: 4.0,\n\t\tcacheWritesPrice: 0.15,\n\t\tcacheReadsPrice: 0.15,\n\t\tdescription: \"xAI's Grok-3 mini fast model with 128K context window\",\n\t\tsupportsReasoningEffort: true,\n\t},\n\t\"grok-2-1212\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 131072,\n\t\tsupportsImages: false,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 10.0,\n\t\tdescription: \"xAI's Grok-2 model (version 1212) with 128K context window\",\n\t},\n\t\"grok-2-vision-1212\": {\n\t\tmaxTokens: 8192,\n\t\tcontextWindow: 32768,\n\t\tsupportsImages: true,\n\t\tsupportsPromptCache: false,\n\t\tinputPrice: 2.0,\n\t\toutputPrice: 10.0,\n\t\tdescription: \"xAI's Grok-2 Vision model (version 1212) with image support and 32K context window\",\n\t},\n} as const satisfies Record<string, ModelInfo>\n","import { z } from \"zod\"\n\n/**\n * Codebase Index Constants\n */\nexport const CODEBASE_INDEX_DEFAULTS = {\n\tMIN_SEARCH_RESULTS: 10,\n\tMAX_SEARCH_RESULTS: 200,\n\tDEFAULT_SEARCH_RESULTS: 50,\n\tSEARCH_RESULTS_STEP: 10,\n\tMIN_SEARCH_SCORE: 0,\n\tMAX_SEARCH_SCORE: 1,\n\tDEFAULT_SEARCH_MIN_SCORE: 0.4,\n\tSEARCH_SCORE_STEP: 0.05,\n} as const\n\n/**\n * CodebaseIndexConfig\n */\n\nexport const codebaseIndexConfigSchema = z.object({\n\tcodebaseIndexEnabled: z.boolean().optional(),\n\tcodebaseIndexQdrantUrl: z.string().optional(),\n\tcodebaseIndexEmbedderProvider: z.enum([\"openai\", \"ollama\", \"openai-compatible\", \"gemini\"]).optional(),\n\tcodebaseIndexEmbedderBaseUrl: z.string().optional(),\n\tcodebaseIndexEmbedderModelId: z.string().optional(),\n\tcodebaseIndexEmbedderModelDimension: z.number().optional(),\n\tcodebaseIndexSearchMinScore: z.number().min(0).max(1).optional(),\n\tcodebaseIndexSearchMaxResults: z\n\t\t.number()\n\t\t.min(CODEBASE_INDEX_DEFAULTS.MIN_SEARCH_RESULTS)\n\t\t.max(CODEBASE_INDEX_DEFAULTS.MAX_SEARCH_RESULTS)\n\t\t.optional(),\n\t// OpenAI Compatible specific fields\n\tcodebaseIndexOpenAiCompatibleBaseUrl: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleModelDimension: z.number().optional(),\n})\n\nexport type CodebaseIndexConfig = z.infer<typeof codebaseIndexConfigSchema>\n\n/**\n * CodebaseIndexModels\n */\n\nexport const codebaseIndexModelsSchema = z.object({\n\topenai: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\tollama: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\t\"openai-compatible\": z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n\tgemini: z.record(z.string(), z.object({ dimension: z.number() })).optional(),\n})\n\nexport type CodebaseIndexModels = z.infer<typeof codebaseIndexModelsSchema>\n\n/**\n * CdebaseIndexProvider\n */\n\nexport const codebaseIndexProviderSchema = z.object({\n\tcodeIndexOpenAiKey: z.string().optional(),\n\tcodeIndexQdrantApiKey: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleBaseUrl: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleApiKey: z.string().optional(),\n\tcodebaseIndexOpenAiCompatibleModelDimension: z.number().optional(),\n\tcodebaseIndexGeminiApiKey: z.string().optional(),\n})\n\nexport type CodebaseIndexProvider = z.infer<typeof codebaseIndexProviderSchema>\n","import { z } from \"zod\"\n\nimport { globalSettingsSchema } from \"./global-settings.js\"\n\n/**\n * CloudUserInfo\n */\n\nexport interface CloudUserInfo {\n\tname?: string\n\temail?: string\n\tpicture?: string\n\torganizationId?: string\n\torganizationName?: string\n\torganizationRole?: string\n\torganizationImageUrl?: string\n}\n\n/**\n * CloudOrganization Types\n */\n\nexport interface CloudOrganization {\n\tid: string\n\tname: string\n\tslug?: string\n\timage_url?: string\n\thas_image?: boolean\n\tcreated_at?: number\n\tupdated_at?: number\n}\n\nexport interface CloudOrganizationMembership {\n\tid: string\n\torganization: CloudOrganization\n\trole: string\n\tpermissions?: string[]\n\tcreated_at?: number\n\tupdated_at?: number\n}\n\n/**\n * OrganizationAllowList\n */\n\nexport const organizationAllowListSchema = z.object({\n\tallowAll: z.boolean(),\n\tproviders: z.record(\n\t\tz.object({\n\t\t\tallowAll: z.boolean(),\n\t\t\tmodels: z.array(z.string()).optional(),\n\t\t}),\n\t),\n})\n\nexport type OrganizationAllowList = z.infer<typeof organizationAllowListSchema>\n\n/**\n * OrganizationDefaultSettings\n */\n\nexport const organizationDefaultSettingsSchema = globalSettingsSchema\n\t.pick({\n\t\tenableCheckpoints: true,\n\t\tfuzzyMatchThreshold: true,\n\t\tmaxOpenTabsContext: true,\n\t\tmaxReadFileLine: true,\n\t\tmaxWorkspaceFiles: true,\n\t\tshowRooIgnoredFiles: true,\n\t\tterminalCommandDelay: true,\n\t\tterminalCompressProgressBar: true,\n\t\tterminalOutputLineLimit: true,\n\t\tterminalShellIntegrationDisabled: true,\n\t\tterminalShellIntegrationTimeout: true,\n\t\tterminalZshClearEolMark: true,\n\t})\n\t// Add stronger validations for some fields.\n\t.merge(\n\t\tz.object({\n\t\t\tmaxOpenTabsContext: z.number().int().nonnegative().optional(),\n\t\t\tmaxReadFileLine: z.number().int().gte(-1).optional(),\n\t\t\tmaxWorkspaceFiles: z.number().int().nonnegative().optional(),\n\t\t\tterminalCommandDelay: z.number().int().nonnegative().optional(),\n\t\t\tterminalOutputLineLimit: z.number().int().nonnegative().optional(),\n\t\t\tterminalShellIntegrationTimeout: z.number().int().nonnegative().optional(),\n\t\t}),\n\t)\n\nexport type OrganizationDefaultSettings = z.infer<typeof organizationDefaultSettingsSchema>\n\n/**\n * OrganizationCloudSettings\n */\n\nexport const organizationCloudSettingsSchema = z.object({\n\trecordTaskMessages: z.boolean().optional(),\n\tenableTaskSharing: z.boolean().optional(),\n\ttaskShareExpirationDays: z.number().int().positive().optional(),\n})\n\nexport type OrganizationCloudSettings = z.infer<typeof organizationCloudSettingsSchema>\n\n/**\n * Organization Settings\n */\n\nexport const organizationSettingsSchema = z.object({\n\tversion: z.number(),\n\tcloudSettings: organizationCloudSettingsSchema.optional(),\n\tdefaultSettings: organizationDefaultSettingsSchema,\n\tallowList: organizationAllowListSchema,\n})\n\nexport type OrganizationSettings = z.infer<typeof organizationSettingsSchema>\n\n/**\n * Constants\n */\n\nexport const ORGANIZATION_ALLOW_ALL: OrganizationAllowList = {\n\tallowAll: true,\n\tproviders: {},\n} as const\n\nexport const ORGANIZATION_DEFAULT: OrganizationSettings = {\n\tversion: 0,\n\tcloudSettings: {\n\t\trecordTaskMessages: true,\n\t\tenableTaskSharing: true,\n\t\ttaskShareExpirationDays: 30,\n\t},\n\tdefaultSettings: {},\n\tallowList: ORGANIZATION_ALLOW_ALL,\n} as const\n\n/**\n * Share Types\n */\n\nexport const shareResponseSchema = z.object({\n\tsuccess: z.boolean(),\n\tshareUrl: z.string().optional(),\n\terror: z.string().optional(),\n\tisNewShare: z.boolean().optional(),\n\tmanageUrl: z.string().optional(),\n})\n\nexport type ShareResponse = z.infer<typeof shareResponseSchema>\n","import { z } from \"zod\"\n\nimport { type Keys } from \"./type-fu.js\"\nimport {\n\ttype ProviderSettings,\n\tPROVIDER_SETTINGS_KEYS,\n\tproviderSettingsEntrySchema,\n\tproviderSettingsSchema,\n} from \"./provider-settings.js\"\nimport { historyItemSchema } from \"./history.js\"\nimport { codebaseIndexModelsSchema, codebaseIndexConfigSchema } from \"./codebase-index.js\"\nimport { experimentsSchema } from \"./experiment.js\"\nimport { telemetrySettingsSchema } from \"./telemetry.js\"\nimport { modeConfigSchema } from \"./mode.js\"\nimport { customModePromptsSchema, customSupportPromptsSchema } from \"./mode.js\"\nimport { languagesSchema } from \"./vscode.js\"\n\n/**\n * GlobalSettings\n */\n\nexport const globalSettingsSchema = z.object({\n\tcurrentApiConfigName: z.string().optional(),\n\tlistApiConfigMeta: z.array(providerSettingsEntrySchema).optional(),\n\tpinnedApiConfigs: z.record(z.string(), z.boolean()).optional(),\n\n\tlastShownAnnouncementId: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n\ttaskHistory: z.array(historyItemSchema).optional(),\n\n\tcondensingApiConfigId: z.string().optional(),\n\tcustomCondensingPrompt: z.string().optional(),\n\n\tautoApprovalEnabled: z.boolean().optional(),\n\talwaysAllowReadOnly: z.boolean().optional(),\n\talwaysAllowReadOnlyOutsideWorkspace: z.boolean().optional(),\n\talwaysAllowWrite: z.boolean().optional(),\n\talwaysAllowWriteOutsideWorkspace: z.boolean().optional(),\n\talwaysAllowWriteProtected: z.boolean().optional(),\n\twriteDelayMs: z.number().optional(),\n\talwaysAllowBrowser: z.boolean().optional(),\n\talwaysApproveResubmit: z.boolean().optional(),\n\trequestDelaySeconds: z.number().optional(),\n\talwaysAllowMcp: z.boolean().optional(),\n\talwaysAllowModeSwitch: z.boolean().optional(),\n\talwaysAllowSubtasks: z.boolean().optional(),\n\talwaysAllowExecute: z.boolean().optional(),\n\talwaysAllowFollowupQuestions: z.boolean().optional(),\n\tfollowupAutoApproveTimeoutMs: z.number().optional(),\n\talwaysAllowUpdateTodoList: z.boolean().optional(),\n\tallowedCommands: z.array(z.string()).optional(),\n\tdeniedCommands: z.array(z.string()).optional(),\n\tcommandExecutionTimeout: z.number().optional(),\n\tcommandTimeoutAllowlist: z.array(z.string()).optional(),\n\tpreventCompletionWithOpenTodos: z.boolean().optional(),\n\tallowedMaxRequests: z.number().nullish(),\n\tautoCondenseContext: z.boolean().optional(),\n\tautoCondenseContextPercent: z.number().optional(),\n\tmaxConcurrentFileReads: z.number().optional(),\n\n\tbrowserToolEnabled: z.boolean().optional(),\n\tbrowserViewportSize: z.string().optional(),\n\tscreenshotQuality: z.number().optional(),\n\tremoteBrowserEnabled: z.boolean().optional(),\n\tremoteBrowserHost: z.string().optional(),\n\tcachedChromeHostUrl: z.string().optional(),\n\n\tenableCheckpoints: z.boolean().optional(),\n\n\tttsEnabled: z.boolean().optional(),\n\tttsSpeed: z.number().optional(),\n\tsoundEnabled: z.boolean().optional(),\n\tsoundVolume: z.number().optional(),\n\n\tmaxOpenTabsContext: z.number().optional(),\n\tmaxWorkspaceFiles: z.number().optional(),\n\tshowRooIgnoredFiles: z.boolean().optional(),\n\tmaxReadFileLine: z.number().optional(),\n\n\tterminalOutputLineLimit: z.number().optional(),\n\tterminalShellIntegrationTimeout: z.number().optional(),\n\tterminalShellIntegrationDisabled: z.boolean().optional(),\n\tterminalCommandDelay: z.number().optional(),\n\tterminalPowershellCounter: z.boolean().optional(),\n\tterminalZshClearEolMark: z.boolean().optional(),\n\tterminalZshOhMy: z.boolean().optional(),\n\tterminalZshP10k: z.boolean().optional(),\n\tterminalZdotdir: z.boolean().optional(),\n\tterminalCompressProgressBar: z.boolean().optional(),\n\n\trateLimitSeconds: z.number().optional(),\n\tdiffEnabled: z.boolean().optional(),\n\tfuzzyMatchThreshold: z.number().optional(),\n\texperiments: experimentsSchema.optional(),\n\n\tcodebaseIndexModels: codebaseIndexModelsSchema.optional(),\n\tcodebaseIndexConfig: codebaseIndexConfigSchema.optional(),\n\n\tlanguage: languagesSchema.optional(),\n\n\ttelemetrySetting: telemetrySettingsSchema.optional(),\n\n\tmcpEnabled: z.boolean().optional(),\n\tenableMcpServerCreation: z.boolean().optional(),\n\n\tmode: z.string().optional(),\n\tmodeApiConfigs: z.record(z.string(), z.string()).optional(),\n\tcustomModes: z.array(modeConfigSchema).optional(),\n\tcustomModePrompts: customModePromptsSchema.optional(),\n\tcustomSupportPrompts: customSupportPromptsSchema.optional(),\n\tenhancementApiConfigId: z.string().optional(),\n\thistoryPreviewCollapsed: z.boolean().optional(),\n\tprofileThresholds: z.record(z.string(), z.number()).optional(),\n\thasOpenedModeSelector: z.boolean().optional(),\n\tlastModeExportPath: z.string().optional(),\n\tlastModeImportPath: z.string().optional(),\n})\n\nexport type GlobalSettings = z.infer<typeof globalSettingsSchema>\n\nexport const GLOBAL_SETTINGS_KEYS = globalSettingsSchema.keyof().options\n\n/**\n * RooCodeSettings\n */\n\nexport const rooCodeSettingsSchema = providerSettingsSchema.merge(globalSettingsSchema)\n\nexport type RooCodeSettings = GlobalSettings & ProviderSettings\n\n/**\n * SecretState\n */\nexport const SECRET_STATE_KEYS = [\n\t\"apiKey\",\n\t\"glamaApiKey\",\n\t\"openRouterApiKey\",\n\t\"awsAccessKey\",\n\t\"awsSecretKey\",\n\t\"awsSessionToken\",\n\t\"openAiApiKey\",\n\t\"geminiApiKey\",\n\t\"openAiNativeApiKey\",\n\t\"deepSeekApiKey\",\n\t\"mistralApiKey\",\n\t\"unboundApiKey\",\n\t\"requestyApiKey\",\n\t\"xaiApiKey\",\n\t\"groqApiKey\",\n\t\"chutesApiKey\",\n\t\"litellmApiKey\",\n\t\"codeIndexOpenAiKey\",\n\t\"codeIndexQdrantApiKey\",\n\t\"codebaseIndexOpenAiCompatibleApiKey\",\n\t\"codebaseIndexGeminiApiKey\",\n] as const satisfies readonly (keyof ProviderSettings)[]\nexport type SecretState = Pick<ProviderSettings, (typeof SECRET_STATE_KEYS)[number]>\n\nexport const isSecretStateKey = (key: string): key is Keys<SecretState> =>\n\tSECRET_STATE_KEYS.includes(key as Keys<SecretState>)\n\n/**\n * GlobalState\n */\n\nexport type GlobalState = Omit<RooCodeSettings, Keys<SecretState>>\n\nexport const GLOBAL_STATE_KEYS = [...GLOBAL_SETTINGS_KEYS, ...PROVIDER_SETTINGS_KEYS].filter(\n\t(key: Keys<RooCodeSettings>) => !SECRET_STATE_KEYS.includes(key as Keys<SecretState>),\n) as Keys<GlobalState>[]\n\nexport const isGlobalStateKey = (key: string): key is Keys<GlobalState> =>\n\tGLOBAL_STATE_KEYS.includes(key as Keys<GlobalState>)\n\n/**\n * Evals\n */\n\n// Default settings when running evals (unless overridden).\nexport const EVALS_SETTINGS: RooCodeSettings = {\n\tapiProvider: \"openrouter\",\n\topenRouterUseMiddleOutTransform: false,\n\n\tlastShownAnnouncementId: \"jul-09-2025-3-23-0\",\n\n\tpinnedApiConfigs: {},\n\n\tautoApprovalEnabled: true,\n\talwaysAllowReadOnly: true,\n\talwaysAllowReadOnlyOutsideWorkspace: false,\n\talwaysAllowWrite: true,\n\talwaysAllowWriteOutsideWorkspace: false,\n\talwaysAllowWriteProtected: false,\n\twriteDelayMs: 1000,\n\talwaysAllowBrowser: true,\n\talwaysApproveResubmit: true,\n\trequestDelaySeconds: 10,\n\talwaysAllowMcp: true,\n\talwaysAllowModeSwitch: true,\n\talwaysAllowSubtasks: true,\n\talwaysAllowExecute: true,\n\talwaysAllowFollowupQuestions: true,\n\talwaysAllowUpdateTodoList: true,\n\tfollowupAutoApproveTimeoutMs: 0,\n\tallowedCommands: [\"*\"],\n\tcommandExecutionTimeout: 30_000,\n\tcommandTimeoutAllowlist: [],\n\tpreventCompletionWithOpenTodos: false,\n\n\tbrowserToolEnabled: false,\n\tbrowserViewportSize: \"900x600\",\n\tscreenshotQuality: 75,\n\tremoteBrowserEnabled: false,\n\n\tttsEnabled: false,\n\tttsSpeed: 1,\n\tsoundEnabled: false,\n\tsoundVolume: 0.5,\n\n\tterminalOutputLineLimit: 500,\n\tterminalShellIntegrationTimeout: 30000,\n\tterminalCommandDelay: 0,\n\tterminalPowershellCounter: false,\n\tterminalZshOhMy: true,\n\tterminalZshClearEolMark: true,\n\tterminalZshP10k: false,\n\tterminalZdotdir: true,\n\tterminalCompressProgressBar: true,\n\tterminalShellIntegrationDisabled: true,\n\n\tdiffEnabled: true,\n\tfuzzyMatchThreshold: 1,\n\n\tenableCheckpoints: false,\n\n\trateLimitSeconds: 0,\n\tmaxOpenTabsContext: 20,\n\tmaxWorkspaceFiles: 200,\n\tshowRooIgnoredFiles: true,\n\tmaxReadFileLine: -1, // -1 to enable full file reading.\n\n\tlanguage: \"en\",\n\ttelemetrySetting: \"enabled\",\n\n\tmcpEnabled: false,\n\n\tmode: \"code\",\n\n\tcustomModes: [],\n}\n\nexport const EVALS_TIMEOUT = 5 * 60 * 1_000\n","import { z } from \"zod\"\n\nimport { reasoningEffortsSchema, modelInfoSchema } from \"./model.js\"\nimport { codebaseIndexProviderSchema } from \"./codebase-index.js\"\n\n/**\n * ProviderName\n */\n\nexport const providerNames = [\n\t\"anthropic\",\n\t\"claude-code\",\n\t\"glama\",\n\t\"openrouter\",\n\t\"bedrock\",\n\t\"vertex\",\n\t\"openai\",\n\t\"ollama\",\n\t\"vscode-lm\",\n\t\"lmstudio\",\n\t\"gemini\",\n\t\"gemini-cli\",\n\t\"openai-native\",\n\t\"mistral\",\n\t\"deepseek\",\n\t\"unbound\",\n\t\"requesty\",\n\t\"human-relay\",\n\t\"fake-ai\",\n\t\"xai\",\n\t\"groq\",\n\t\"chutes\",\n\t\"litellm\",\n] as const\n\nexport const providerNamesSchema = z.enum(providerNames)\n\nexport type ProviderName = z.infer<typeof providerNamesSchema>\n\n/**\n * ProviderSettingsEntry\n */\n\nexport const providerSettingsEntrySchema = z.object({\n\tid: z.string(),\n\tname: z.string(),\n\tapiProvider: providerNamesSchema.optional(),\n})\n\nexport type ProviderSettingsEntry = z.infer<typeof providerSettingsEntrySchema>\n\n/**\n * ProviderSettings\n */\n\n/**\n * Default value for consecutive mistake limit\n */\nexport const DEFAULT_CONSECUTIVE_MISTAKE_LIMIT = 3\n\nconst baseProviderSettingsSchema = z.object({\n\tincludeMaxTokens: z.boolean().optional(),\n\tdiffEnabled: z.boolean().optional(),\n\tfuzzyMatchThreshold: z.number().optional(),\n\tmodelTemperature: z.number().nullish(),\n\trateLimitSeconds: z.number().optional(),\n\tconsecutiveMistakeLimit: z.number().min(0).optional(),\n\n\t// Model reasoning.\n\tenableReasoningEffort: z.boolean().optional(),\n\treasoningEffort: reasoningEffortsSchema.optional(),\n\tmodelMaxTokens: z.number().optional(),\n\tmodelMaxThinkingTokens: z.number().optional(),\n})\n\n// Several of the providers share common model config properties.\nconst apiModelIdProviderModelSchema = baseProviderSettingsSchema.extend({\n\tapiModelId: z.string().optional(),\n})\n\nconst anthropicSchema = apiModelIdProviderModelSchema.extend({\n\tapiKey: z.string().optional(),\n\tanthropicBaseUrl: z.string().optional(),\n\tanthropicUseAuthToken: z.boolean().optional(),\n})\n\nconst claudeCodeSchema = apiModelIdProviderModelSchema.extend({\n\tclaudeCodePath: z.string().optional(),\n\tclaudeCodeMaxOutputTokens: z.number().int().min(1).max(200000).optional(),\n})\n\nconst glamaSchema = baseProviderSettingsSchema.extend({\n\tglamaModelId: z.string().optional(),\n\tglamaApiKey: z.string().optional(),\n})\n\nconst openRouterSchema = baseProviderSettingsSchema.extend({\n\topenRouterApiKey: z.string().optional(),\n\topenRouterModelId: z.string().optional(),\n\topenRouterBaseUrl: z.string().optional(),\n\topenRouterSpecificProvider: z.string().optional(),\n\topenRouterUseMiddleOutTransform: z.boolean().optional(),\n})\n\nconst bedrockSchema = apiModelIdProviderModelSchema.extend({\n\tawsAccessKey: z.string().optional(),\n\tawsSecretKey: z.string().optional(),\n\tawsSessionToken: z.string().optional(),\n\tawsRegion: z.string().optional(),\n\tawsUseCrossRegionInference: z.boolean().optional(),\n\tawsUsePromptCache: z.boolean().optional(),\n\tawsProfile: z.string().optional(),\n\tawsUseProfile: z.boolean().optional(),\n\tawsCustomArn: z.string().optional(),\n\tawsModelContextWindow: z.number().optional(),\n\tawsBedrockEndpointEnabled: z.boolean().optional(),\n\tawsBedrockEndpoint: z.string().optional(),\n})\n\nconst vertexSchema = apiModelIdProviderModelSchema.extend({\n\tvertexKeyFile: z.string().optional(),\n\tvertexJsonCredentials: z.string().optional(),\n\tvertexProjectId: z.string().optional(),\n\tvertexRegion: z.string().optional(),\n})\n\nconst openAiSchema = baseProviderSettingsSchema.extend({\n\topenAiBaseUrl: z.string().optional(),\n\topenAiApiKey: z.string().optional(),\n\topenAiLegacyFormat: z.boolean().optional(),\n\topenAiR1FormatEnabled: z.boolean().optional(),\n\topenAiModelId: z.string().optional(),\n\topenAiCustomModelInfo: modelInfoSchema.nullish(),\n\topenAiUseAzure: z.boolean().optional(),\n\tazureApiVersion: z.string().optional(),\n\topenAiStreamingEnabled: z.boolean().optional(),\n\topenAiHostHeader: z.string().optional(), // Keep temporarily for backward compatibility during migration.\n\topenAiHeaders: z.record(z.string(), z.string()).optional(),\n})\n\nconst ollamaSchema = baseProviderSettingsSchema.extend({\n\tollamaModelId: z.string().optional(),\n\tollamaBaseUrl: z.string().optional(),\n})\n\nconst vsCodeLmSchema = baseProviderSettingsSchema.extend({\n\tvsCodeLmModelSelector: z\n\t\t.object({\n\t\t\tvendor: z.string().optional(),\n\t\t\tfamily: z.string().optional(),\n\t\t\tversion: z.string().optional(),\n\t\t\tid: z.string().optional(),\n\t\t})\n\t\t.optional(),\n})\n\nconst lmStudioSchema = baseProviderSettingsSchema.extend({\n\tlmStudioModelId: z.string().optional(),\n\tlmStudioBaseUrl: z.string().optional(),\n\tlmStudioDraftModelId: z.string().optional(),\n\tlmStudioSpeculativeDecodingEnabled: z.boolean().optional(),\n})\n\nconst geminiSchema = apiModelIdProviderModelSchema.extend({\n\tgeminiApiKey: z.string().optional(),\n\tgoogleGeminiBaseUrl: z.string().optional(),\n})\n\nconst geminiCliSchema = apiModelIdProviderModelSchema.extend({\n\tgeminiCliOAuthPath: z.string().optional(),\n\tgeminiCliProjectId: z.string().optional(),\n})\n\nconst openAiNativeSchema = apiModelIdProviderModelSchema.extend({\n\topenAiNativeApiKey: z.string().optional(),\n\topenAiNativeBaseUrl: z.string().optional(),\n})\n\nconst mistralSchema = apiModelIdProviderModelSchema.extend({\n\tmistralApiKey: z.string().optional(),\n\tmistralCodestralUrl: z.string().optional(),\n})\n\nconst deepSeekSchema = apiModelIdProviderModelSchema.extend({\n\tdeepSeekBaseUrl: z.string().optional(),\n\tdeepSeekApiKey: z.string().optional(),\n})\n\nconst unboundSchema = baseProviderSettingsSchema.extend({\n\tunboundApiKey: z.string().optional(),\n\tunboundModelId: z.string().optional(),\n})\n\nconst requestySchema = baseProviderSettingsSchema.extend({\n\trequestyApiKey: z.string().optional(),\n\trequestyModelId: z.string().optional(),\n})\n\nconst humanRelaySchema = baseProviderSettingsSchema\n\nconst fakeAiSchema = baseProviderSettingsSchema.extend({\n\tfakeAi: z.unknown().optional(),\n})\n\nconst xaiSchema = apiModelIdProviderModelSchema.extend({\n\txaiApiKey: z.string().optional(),\n})\n\nconst groqSchema = apiModelIdProviderModelSchema.extend({\n\tgroqApiKey: z.string().optional(),\n})\n\nconst chutesSchema = apiModelIdProviderModelSchema.extend({\n\tchutesApiKey: z.string().optional(),\n})\n\nconst litellmSchema = baseProviderSettingsSchema.extend({\n\tlitellmBaseUrl: z.string().optional(),\n\tlitellmApiKey: z.string().optional(),\n\tlitellmModelId: z.string().optional(),\n})\n\nconst defaultSchema = z.object({\n\tapiProvider: z.undefined(),\n})\n\nexport const providerSettingsSchemaDiscriminated = z.discriminatedUnion(\"apiProvider\", [\n\tanthropicSchema.merge(z.object({ apiProvider: z.literal(\"anthropic\") })),\n\tclaudeCodeSchema.merge(z.object({ apiProvider: z.literal(\"claude-code\") })),\n\tglamaSchema.merge(z.object({ apiProvider: z.literal(\"glama\") })),\n\topenRouterSchema.merge(z.object({ apiProvider: z.literal(\"openrouter\") })),\n\tbedrockSchema.merge(z.object({ apiProvider: z.literal(\"bedrock\") })),\n\tvertexSchema.merge(z.object({ apiProvider: z.literal(\"vertex\") })),\n\topenAiSchema.merge(z.object({ apiProvider: z.literal(\"openai\") })),\n\tollamaSchema.merge(z.object({ apiProvider: z.literal(\"ollama\") })),\n\tvsCodeLmSchema.merge(z.object({ apiProvider: z.literal(\"vscode-lm\") })),\n\tlmStudioSchema.merge(z.object({ apiProvider: z.literal(\"lmstudio\") })),\n\tgeminiSchema.merge(z.object({ apiProvider: z.literal(\"gemini\") })),\n\tgeminiCliSchema.merge(z.object({ apiProvider: z.literal(\"gemini-cli\") })),\n\topenAiNativeSchema.merge(z.object({ apiProvider: z.literal(\"openai-native\") })),\n\tmistralSchema.merge(z.object({ apiProvider: z.literal(\"mistral\") })),\n\tdeepSeekSchema.merge(z.object({ apiProvider: z.literal(\"deepseek\") })),\n\tunboundSchema.merge(z.object({ apiProvider: z.literal(\"unbound\") })),\n\trequestySchema.merge(z.object({ apiProvider: z.literal(\"requesty\") })),\n\thumanRelaySchema.merge(z.object({ apiProvider: z.literal(\"human-relay\") })),\n\tfakeAiSchema.merge(z.object({ apiProvider: z.literal(\"fake-ai\") })),\n\txaiSchema.merge(z.object({ apiProvider: z.literal(\"xai\") })),\n\tgroqSchema.merge(z.object({ apiProvider: z.literal(\"groq\") })),\n\tchutesSchema.merge(z.object({ apiProvider: z.literal(\"chutes\") })),\n\tlitellmSchema.merge(z.object({ apiProvider: z.literal(\"litellm\") })),\n\tdefaultSchema,\n])\n\nexport const providerSettingsSchema = z.object({\n\tapiProvider: providerNamesSchema.optional(),\n\t...anthropicSchema.shape,\n\t...claudeCodeSchema.shape,\n\t...glamaSchema.shape,\n\t...openRouterSchema.shape,\n\t...bedrockSchema.shape,\n\t...vertexSchema.shape,\n\t...openAiSchema.shape,\n\t...ollamaSchema.shape,\n\t...vsCodeLmSchema.shape,\n\t...lmStudioSchema.shape,\n\t...geminiSchema.shape,\n\t...geminiCliSchema.shape,\n\t...openAiNativeSchema.shape,\n\t...mistralSchema.shape,\n\t...deepSeekSchema.shape,\n\t...unboundSchema.shape,\n\t...requestySchema.shape,\n\t...humanRelaySchema.shape,\n\t...fakeAiSchema.shape,\n\t...xaiSchema.shape,\n\t...groqSchema.shape,\n\t...chutesSchema.shape,\n\t...litellmSchema.shape,\n\t...codebaseIndexProviderSchema.shape,\n})\n\nexport type ProviderSettings = z.infer<typeof providerSettingsSchema>\nexport const PROVIDER_SETTINGS_KEYS = providerSettingsSchema.keyof().options\n\nexport const MODEL_ID_KEYS: Partial<keyof ProviderSettings>[] = [\n\t\"apiModelId\",\n\t\"glamaModelId\",\n\t\"openRouterModelId\",\n\t\"openAiModelId\",\n\t\"ollamaModelId\",\n\t\"lmStudioModelId\",\n\t\"lmStudioDraftModelId\",\n\t\"unboundModelId\",\n\t\"requestyModelId\",\n\t\"litellmModelId\",\n]\n\nexport const getModelId = (settings: ProviderSettings): string | undefined => {\n\tconst modelIdKey = MODEL_ID_KEYS.find((key) => settings[key])\n\treturn modelIdKey ? (settings[modelIdKey] as string) : undefined\n}\n\n// Providers that use Anthropic-style API protocol\nexport const ANTHROPIC_STYLE_PROVIDERS: ProviderName[] = [\"anthropic\", \"claude-code\"]\n\n// Helper function to determine API protocol for a provider and model\nexport const getApiProtocol = (provider: ProviderName | undefined, modelId?: string): \"anthropic\" | \"openai\" => {\n\t// First check if the provider is an Anthropic-style provider\n\tif (provider && ANTHROPIC_STYLE_PROVIDERS.includes(provider)) {\n\t\treturn \"anthropic\"\n\t}\n\n\t// For vertex and bedrock providers, check if the model ID contains \"claude\" (case-insensitive)\n\tif (\n\t\tprovider &&\n\t\t(provider === \"vertex\" || provider === \"bedrock\") &&\n\t\tmodelId &&\n\t\tmodelId.toLowerCase().includes(\"claude\")\n\t) {\n\t\treturn \"anthropic\"\n\t}\n\n\t// Default to OpenAI protocol\n\treturn \"openai\"\n}\n","import { z } from \"zod\"\n\n/**\n * ReasoningEffort\n */\n\nexport const reasoningEfforts = [\"low\", \"medium\", \"high\"] as const\n\nexport const reasoningEffortsSchema = z.enum(reasoningEfforts)\n\nexport type ReasoningEffort = z.infer<typeof reasoningEffortsSchema>\n\n/**\n * ModelParameter\n */\n\nexport const modelParameters = [\"max_tokens\", \"temperature\", \"reasoning\", \"include_reasoning\"] as const\n\nexport const modelParametersSchema = z.enum(modelParameters)\n\nexport type ModelParameter = z.infer<typeof modelParametersSchema>\n\nexport const isModelParameter = (value: string): value is ModelParameter =>\n\tmodelParameters.includes(value as ModelParameter)\n\n/**\n * ModelInfo\n */\n\nexport const modelInfoSchema = z.object({\n\tmaxTokens: z.number().nullish(),\n\tmaxThinkingTokens: z.number().nullish(),\n\tcontextWindow: z.number(),\n\tsupportsImages: z.boolean().optional(),\n\tsupportsComputerUse: z.boolean().optional(),\n\tsupportsPromptCache: z.boolean(),\n\tsupportsReasoningBudget: z.boolean().optional(),\n\trequiredReasoningBudget: z.boolean().optional(),\n\tsupportsReasoningEffort: z.boolean().optional(),\n\tsupportedParameters: z.array(modelParametersSchema).optional(),\n\tinputPrice: z.number().optional(),\n\toutputPrice: z.number().optional(),\n\tcacheWritesPrice: z.number().optional(),\n\tcacheReadsPrice: z.number().optional(),\n\tdescription: z.string().optional(),\n\treasoningEffort: reasoningEffortsSchema.optional(),\n\tminTokensPerCachePoint: z.number().optional(),\n\tmaxCachePoints: z.number().optional(),\n\tcachableFields: z.array(z.string()).optional(),\n\ttiers: z\n\t\t.array(\n\t\t\tz.object({\n\t\t\t\tcontextWindow: z.number(),\n\t\t\t\tinputPrice: z.number().optional(),\n\t\t\t\toutputPrice: z.number().optional(),\n\t\t\t\tcacheWritesPrice: z.number().optional(),\n\t\t\t\tcacheReadsPrice: z.number().optional(),\n\t\t\t}),\n\t\t)\n\t\t.optional(),\n})\n\nexport type ModelInfo = z.infer<typeof modelInfoSchema>\n","import { z } from \"zod\"\n\n/**\n * HistoryItem\n */\n\nexport const historyItemSchema = z.object({\n\tid: z.string(),\n\tnumber: z.number(),\n\tts: z.number(),\n\ttask: z.string(),\n\ttokensIn: z.number(),\n\ttokensOut: z.number(),\n\tcacheWrites: z.number().optional(),\n\tcacheReads: z.number().optional(),\n\ttotalCost: z.number(),\n\tsize: z.number().optional(),\n\tworkspace: z.string().optional(),\n})\n\nexport type HistoryItem = z.infer<typeof historyItemSchema>\n","import { z } from \"zod\"\n\nimport type { Keys, Equals, AssertEqual } from \"./type-fu.js\"\n\n/**\n * ExperimentId\n */\n\nexport const experimentIds = [\"powerSteering\", \"multiFileApplyDiff\"] as const\n\nexport const experimentIdsSchema = z.enum(experimentIds)\n\nexport type ExperimentId = z.infer<typeof experimentIdsSchema>\n\n/**\n * Experiments\n */\n\nexport const experimentsSchema = z.object({\n\tpowerSteering: z.boolean().optional(),\n\tmultiFileApplyDiff: z.boolean().optional(),\n})\n\nexport type Experiments = z.infer<typeof experimentsSchema>\n\ntype _AssertExperiments = AssertEqual<Equals<ExperimentId, Keys<Experiments>>>\n","import { z } from \"zod\"\n\nimport { providerNames } from \"./provider-settings.js\"\nimport { clineMessageSchema } from \"./message.js\"\n\n/**\n * TelemetrySetting\n */\n\nexport const telemetrySettings = [\"unset\", \"enabled\", \"disabled\"] as const\n\nexport const telemetrySettingsSchema = z.enum(telemetrySettings)\n\nexport type TelemetrySetting = z.infer<typeof telemetrySettingsSchema>\n\n/**\n * TelemetryEventName\n */\n\nexport enum TelemetryEventName {\n\tTASK_CREATED = \"Task Created\",\n\tTASK_RESTARTED = \"Task Reopened\",\n\tTASK_COMPLETED = \"Task Completed\",\n\tTASK_MESSAGE = \"Task Message\",\n\tTASK_CONVERSATION_MESSAGE = \"Conversation Message\",\n\tLLM_COMPLETION = \"LLM Completion\",\n\tMODE_SWITCH = \"Mode Switched\",\n\tMODE_SELECTOR_OPENED = \"Mode Selector Opened\",\n\tTOOL_USED = \"Tool Used\",\n\n\tCHECKPOINT_CREATED = \"Checkpoint Created\",\n\tCHECKPOINT_RESTORED = \"Checkpoint Restored\",\n\tCHECKPOINT_DIFFED = \"Checkpoint Diffed\",\n\n\tTAB_SHOWN = \"Tab Shown\",\n\tMODE_SETTINGS_CHANGED = \"Mode Setting Changed\",\n\tCUSTOM_MODE_CREATED = \"Custom Mode Created\",\n\n\tCONTEXT_CONDENSED = \"Context Condensed\",\n\tSLIDING_WINDOW_TRUNCATION = \"Sliding Window Truncation\",\n\n\tCODE_ACTION_USED = \"Code Action Used\",\n\tPROMPT_ENHANCED = \"Prompt Enhanced\",\n\n\tTITLE_BUTTON_CLICKED = \"Title Button Clicked\",\n\n\tAUTHENTICATION_INITIATED = \"Authentication Initiated\",\n\n\tMARKETPLACE_ITEM_INSTALLED = \"Marketplace Item Installed\",\n\tMARKETPLACE_ITEM_REMOVED = \"Marketplace Item Removed\",\n\tMARKETPLACE_TAB_VIEWED = \"Marketplace Tab Viewed\",\n\tMARKETPLACE_INSTALL_BUTTON_CLICKED = \"Marketplace Install Button Clicked\",\n\n\tSHARE_BUTTON_CLICKED = \"Share Button Clicked\",\n\tSHARE_ORGANIZATION_CLICKED = \"Share Organization Clicked\",\n\tSHARE_PUBLIC_CLICKED = \"Share Public Clicked\",\n\tSHARE_CONNECT_TO_CLOUD_CLICKED = \"Share Connect To Cloud Clicked\",\n\n\tACCOUNT_CONNECT_CLICKED = \"Account Connect Clicked\",\n\tACCOUNT_CONNECT_SUCCESS = \"Account Connect Success\",\n\tACCOUNT_LOGOUT_CLICKED = \"Account Logout Clicked\",\n\tACCOUNT_LOGOUT_SUCCESS = \"Account Logout Success\",\n\n\tSCHEMA_VALIDATION_ERROR = \"Schema Validation Error\",\n\tDIFF_APPLICATION_ERROR = \"Diff Application Error\",\n\tSHELL_INTEGRATION_ERROR = \"Shell Integration Error\",\n\tCONSECUTIVE_MISTAKE_ERROR = \"Consecutive Mistake Error\",\n\tCODE_INDEX_ERROR = \"Code Index Error\",\n}\n\n/**\n * TelemetryProperties\n */\n\nexport const appPropertiesSchema = z.object({\n\tappName: z.string(),\n\tappVersion: z.string(),\n\tvscodeVersion: z.string(),\n\tplatform: z.string(),\n\teditorName: z.string(),\n\tlanguage: z.string(),\n\tmode: z.string(),\n\tcloudIsAuthenticated: z.boolean().optional(),\n})\n\nexport const taskPropertiesSchema = z.object({\n\ttaskId: z.string().optional(),\n\tapiProvider: z.enum(providerNames).optional(),\n\tmodelId: z.string().optional(),\n\tdiffStrategy: z.string().optional(),\n\tisSubtask: z.boolean().optional(),\n\ttodos: z\n\t\t.object({\n\t\t\ttotal: z.number(),\n\t\t\tcompleted: z.number(),\n\t\t\tinProgress: z.number(),\n\t\t\tpending: z.number(),\n\t\t})\n\t\t.optional(),\n})\n\nexport const gitPropertiesSchema = z.object({\n\trepositoryUrl: z.string().optional(),\n\trepositoryName: z.string().optional(),\n\tdefaultBranch: z.string().optional(),\n})\n\nexport const telemetryPropertiesSchema = z.object({\n\t...appPropertiesSchema.shape,\n\t...taskPropertiesSchema.shape,\n\t...gitPropertiesSchema.shape,\n})\n\nexport type TelemetryProperties = z.infer<typeof telemetryPropertiesSchema>\nexport type GitProperties = z.infer<typeof gitPropertiesSchema>\n\n/**\n * TelemetryEvent\n */\n\nexport type TelemetryEvent = {\n\tevent: TelemetryEventName\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tproperties?: Record<string, any>\n}\n\n/**\n * RooCodeTelemetryEvent\n */\n\nexport const rooCodeTelemetryEventSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.enum([\n\t\t\tTelemetryEventName.TASK_CREATED,\n\t\t\tTelemetryEventName.TASK_RESTARTED,\n\t\t\tTelemetryEventName.TASK_COMPLETED,\n\t\t\tTelemetryEventName.TASK_CONVERSATION_MESSAGE,\n\t\t\tTelemetryEventName.MODE_SWITCH,\n\t\t\tTelemetryEventName.MODE_SELECTOR_OPENED,\n\t\t\tTelemetryEventName.TOOL_USED,\n\t\t\tTelemetryEventName.CHECKPOINT_CREATED,\n\t\t\tTelemetryEventName.CHECKPOINT_RESTORED,\n\t\t\tTelemetryEventName.CHECKPOINT_DIFFED,\n\t\t\tTelemetryEventName.CODE_ACTION_USED,\n\t\t\tTelemetryEventName.PROMPT_ENHANCED,\n\t\t\tTelemetryEventName.TITLE_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.AUTHENTICATION_INITIATED,\n\t\t\tTelemetryEventName.MARKETPLACE_ITEM_INSTALLED,\n\t\t\tTelemetryEventName.MARKETPLACE_ITEM_REMOVED,\n\t\t\tTelemetryEventName.MARKETPLACE_TAB_VIEWED,\n\t\t\tTelemetryEventName.MARKETPLACE_INSTALL_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.SHARE_BUTTON_CLICKED,\n\t\t\tTelemetryEventName.SHARE_ORGANIZATION_CLICKED,\n\t\t\tTelemetryEventName.SHARE_PUBLIC_CLICKED,\n\t\t\tTelemetryEventName.SHARE_CONNECT_TO_CLOUD_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_CONNECT_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_CONNECT_SUCCESS,\n\t\t\tTelemetryEventName.ACCOUNT_LOGOUT_CLICKED,\n\t\t\tTelemetryEventName.ACCOUNT_LOGOUT_SUCCESS,\n\t\t\tTelemetryEventName.SCHEMA_VALIDATION_ERROR,\n\t\t\tTelemetryEventName.DIFF_APPLICATION_ERROR,\n\t\t\tTelemetryEventName.SHELL_INTEGRATION_ERROR,\n\t\t\tTelemetryEventName.CONSECUTIVE_MISTAKE_ERROR,\n\t\t\tTelemetryEventName.CODE_INDEX_ERROR,\n\t\t\tTelemetryEventName.CONTEXT_CONDENSED,\n\t\t\tTelemetryEventName.SLIDING_WINDOW_TRUNCATION,\n\t\t\tTelemetryEventName.TAB_SHOWN,\n\t\t\tTelemetryEventName.MODE_SETTINGS_CHANGED,\n\t\t\tTelemetryEventName.CUSTOM_MODE_CREATED,\n\t\t]),\n\t\tproperties: telemetryPropertiesSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(TelemetryEventName.TASK_MESSAGE),\n\t\tproperties: z.object({\n\t\t\t...telemetryPropertiesSchema.shape,\n\t\t\ttaskId: z.string(),\n\t\t\tmessage: clineMessageSchema,\n\t\t}),\n\t}),\n\tz.object({\n\t\ttype: z.literal(TelemetryEventName.LLM_COMPLETION),\n\t\tproperties: z.object({\n\t\t\t...telemetryPropertiesSchema.shape,\n\t\t\tinputTokens: z.number(),\n\t\t\toutputTokens: z.number(),\n\t\t\tcacheReadTokens: z.number().optional(),\n\t\t\tcacheWriteTokens: z.number().optional(),\n\t\t\tcost: z.number().optional(),\n\t\t}),\n\t}),\n])\n\nexport type RooCodeTelemetryEvent = z.infer<typeof rooCodeTelemetryEventSchema>\n\n/**\n * TelemetryEventSubscription\n */\n\nexport type TelemetryEventSubscription =\n\t| { type: \"include\"; events: TelemetryEventName[] }\n\t| { type: \"exclude\"; events: TelemetryEventName[] }\n\n/**\n * TelemetryPropertiesProvider\n */\n\nexport interface TelemetryPropertiesProvider {\n\tgetTelemetryProperties(): Promise<TelemetryProperties>\n}\n\n/**\n * TelemetryClient\n */\n\nexport interface TelemetryClient {\n\tsubscription?: TelemetryEventSubscription\n\n\tsetProvider(provider: TelemetryPropertiesProvider): void\n\tcapture(options: TelemetryEvent): Promise<void>\n\tupdateTelemetryState(didUserOptIn: boolean): void\n\tisTelemetryEnabled(): boolean\n\tshutdown(): Promise<void>\n}\n","import { z } from \"zod\"\n\n/**\n * ClineAsk\n */\n\n/**\n * Array of possible ask types that the LLM can use to request user interaction or approval.\n * These represent different scenarios where the assistant needs user input to proceed.\n *\n * @constant\n * @readonly\n *\n * Ask type descriptions:\n * - `followup`: LLM asks a clarifying question to gather more information needed to complete the task\n * - `command`: Permission to execute a terminal/shell command\n * - `command_output`: Permission to read the output from a previously executed command\n * - `completion_result`: Task has been completed, awaiting user feedback or a new task\n * - `tool`: Permission to use a tool for file operations (read, write, search, etc.)\n * - `api_req_failed`: API request failed, asking user whether to retry\n * - `resume_task`: Confirmation needed to resume a previously paused task\n * - `resume_completed_task`: Confirmation needed to resume a task that was already marked as completed\n * - `mistake_limit_reached`: Too many errors encountered, needs user guidance on how to proceed\n * - `browser_action_launch`: Permission to open or interact with a browser\n * - `use_mcp_server`: Permission to use Model Context Protocol (MCP) server functionality\n * - `auto_approval_max_req_reached`: Auto-approval limit has been reached, manual approval required\n */\nexport const clineAsks = [\n\t\"followup\",\n\t\"command\",\n\t\"command_output\",\n\t\"completion_result\",\n\t\"tool\",\n\t\"api_req_failed\",\n\t\"resume_task\",\n\t\"resume_completed_task\",\n\t\"mistake_limit_reached\",\n\t\"browser_action_launch\",\n\t\"use_mcp_server\",\n\t\"auto_approval_max_req_reached\",\n] as const\n\nexport const clineAskSchema = z.enum(clineAsks)\n\nexport type ClineAsk = z.infer<typeof clineAskSchema>\n\n/**\n * ClineSay\n */\n\n/**\n * Array of possible say types that represent different kinds of messages the assistant can send.\n * These are used to categorize and handle various types of communication from the LLM to the user.\n *\n * @constant\n * @readonly\n *\n * Say type descriptions:\n * - `error`: General error message\n * - `api_req_started`: Indicates an API request has been initiated\n * - `api_req_finished`: Indicates an API request has completed successfully\n * - `api_req_retried`: Indicates an API request is being retried after a failure\n * - `api_req_retry_delayed`: Indicates an API request retry has been delayed\n * - `api_req_deleted`: Indicates an API request has been deleted/cancelled\n * - `text`: General text message or assistant response\n * - `reasoning`: Assistant's reasoning or thought process (often hidden from user)\n * - `completion_result`: Final result of task completion\n * - `user_feedback`: Message containing user feedback\n * - `user_feedback_diff`: Diff-formatted feedback from user showing requested changes\n * - `command_output`: Output from an executed command\n * - `shell_integration_warning`: Warning about shell integration issues or limitations\n * - `browser_action`: Action performed in the browser\n * - `browser_action_result`: Result of a browser action\n * - `mcp_server_request_started`: MCP server request has been initiated\n * - `mcp_server_response`: Response received from MCP server\n * - `subtask_result`: Result of a completed subtask\n * - `checkpoint_saved`: Indicates a checkpoint has been saved\n * - `rooignore_error`: Error related to .rooignore file processing\n * - `diff_error`: Error occurred while applying a diff/patch\n * - `condense_context`: Context condensation/summarization has started\n * - `condense_context_error`: Error occurred during context condensation\n * - `codebase_search_result`: Results from searching the codebase\n */\nexport const clineSays = [\n\t\"error\",\n\t\"api_req_started\",\n\t\"api_req_finished\",\n\t\"api_req_retried\",\n\t\"api_req_retry_delayed\",\n\t\"api_req_deleted\",\n\t\"text\",\n\t\"reasoning\",\n\t\"completion_result\",\n\t\"user_feedback\",\n\t\"user_feedback_diff\",\n\t\"command_output\",\n\t\"shell_integration_warning\",\n\t\"browser_action\",\n\t\"browser_action_result\",\n\t\"mcp_server_request_started\",\n\t\"mcp_server_response\",\n\t\"subtask_result\",\n\t\"checkpoint_saved\",\n\t\"rooignore_error\",\n\t\"diff_error\",\n\t\"condense_context\",\n\t\"condense_context_error\",\n\t\"codebase_search_result\",\n\t\"user_edit_todos\",\n] as const\n\nexport const clineSaySchema = z.enum(clineSays)\n\nexport type ClineSay = z.infer<typeof clineSaySchema>\n\n/**\n * ToolProgressStatus\n */\n\nexport const toolProgressStatusSchema = z.object({\n\ticon: z.string().optional(),\n\ttext: z.string().optional(),\n})\n\nexport type ToolProgressStatus = z.infer<typeof toolProgressStatusSchema>\n\n/**\n * ContextCondense\n */\n\nexport const contextCondenseSchema = z.object({\n\tcost: z.number(),\n\tprevContextTokens: z.number(),\n\tnewContextTokens: z.number(),\n\tsummary: z.string(),\n})\n\nexport type ContextCondense = z.infer<typeof contextCondenseSchema>\n\n/**\n * ClineMessage\n */\n\nexport const clineMessageSchema = z.object({\n\tts: z.number(),\n\ttype: z.union([z.literal(\"ask\"), z.literal(\"say\")]),\n\task: clineAskSchema.optional(),\n\tsay: clineSaySchema.optional(),\n\ttext: z.string().optional(),\n\timages: z.array(z.string()).optional(),\n\tpartial: z.boolean().optional(),\n\treasoning: z.string().optional(),\n\tconversationHistoryIndex: z.number().optional(),\n\tcheckpoint: z.record(z.string(), z.unknown()).optional(),\n\tprogressStatus: toolProgressStatusSchema.optional(),\n\tcontextCondense: contextCondenseSchema.optional(),\n\tisProtected: z.boolean().optional(),\n\tapiProtocol: z.union([z.literal(\"openai\"), z.literal(\"anthropic\")]).optional(),\n})\n\nexport type ClineMessage = z.infer<typeof clineMessageSchema>\n\n/**\n * TokenUsage\n */\n\nexport const tokenUsageSchema = z.object({\n\ttotalTokensIn: z.number(),\n\ttotalTokensOut: z.number(),\n\ttotalCacheWrites: z.number().optional(),\n\ttotalCacheReads: z.number().optional(),\n\ttotalCost: z.number(),\n\tcontextTokens: z.number(),\n})\n\nexport type TokenUsage = z.infer<typeof tokenUsageSchema>\n","import { z } from \"zod\"\n\nimport { toolGroupsSchema } from \"./tool.js\"\n\n/**\n * GroupOptions\n */\n\nexport const groupOptionsSchema = z.object({\n\tfileRegex: z\n\t\t.string()\n\t\t.optional()\n\t\t.refine(\n\t\t\t(pattern) => {\n\t\t\t\tif (!pattern) {\n\t\t\t\t\treturn true // Optional, so empty is valid.\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tnew RegExp(pattern)\n\t\t\t\t\treturn true\n\t\t\t\t} catch {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ message: \"Invalid regular expression pattern\" },\n\t\t),\n\tdescription: z.string().optional(),\n})\n\nexport type GroupOptions = z.infer<typeof groupOptionsSchema>\n\n/**\n * GroupEntry\n */\n\nexport const groupEntrySchema = z.union([toolGroupsSchema, z.tuple([toolGroupsSchema, groupOptionsSchema])])\n\nexport type GroupEntry = z.infer<typeof groupEntrySchema>\n\n/**\n * ModeConfig\n */\n\nconst groupEntryArraySchema = z.array(groupEntrySchema).refine(\n\t(groups) => {\n\t\tconst seen = new Set()\n\n\t\treturn groups.every((group) => {\n\t\t\t// For tuples, check the group name (first element).\n\t\t\tconst groupName = Array.isArray(group) ? group[0] : group\n\n\t\t\tif (seen.has(groupName)) {\n\t\t\t\treturn false\n\t\t\t}\n\n\t\t\tseen.add(groupName)\n\t\t\treturn true\n\t\t})\n\t},\n\t{ message: \"Duplicate groups are not allowed\" },\n)\n\nexport const modeConfigSchema = z.object({\n\tslug: z.string().regex(/^[a-zA-Z0-9-]+$/, \"Slug must contain only letters numbers and dashes\"),\n\tname: z.string().min(1, \"Name is required\"),\n\troleDefinition: z.string().min(1, \"Role definition is required\"),\n\twhenToUse: z.string().optional(),\n\tdescription: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n\tgroups: groupEntryArraySchema,\n\tsource: z.enum([\"global\", \"project\"]).optional(),\n})\n\nexport type ModeConfig = z.infer<typeof modeConfigSchema>\n\n/**\n * CustomModesSettings\n */\n\nexport const customModesSettingsSchema = z.object({\n\tcustomModes: z.array(modeConfigSchema).refine(\n\t\t(modes) => {\n\t\t\tconst slugs = new Set()\n\n\t\t\treturn modes.every((mode) => {\n\t\t\t\tif (slugs.has(mode.slug)) {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\n\t\t\t\tslugs.add(mode.slug)\n\t\t\t\treturn true\n\t\t\t})\n\t\t},\n\t\t{\n\t\t\tmessage: \"Duplicate mode slugs are not allowed\",\n\t\t},\n\t),\n})\n\nexport type CustomModesSettings = z.infer<typeof customModesSettingsSchema>\n\n/**\n * PromptComponent\n */\n\nexport const promptComponentSchema = z.object({\n\troleDefinition: z.string().optional(),\n\twhenToUse: z.string().optional(),\n\tdescription: z.string().optional(),\n\tcustomInstructions: z.string().optional(),\n})\n\nexport type PromptComponent = z.infer<typeof promptComponentSchema>\n\n/**\n * CustomModePrompts\n */\n\nexport const customModePromptsSchema = z.record(z.string(), promptComponentSchema.optional())\n\nexport type CustomModePrompts = z.infer<typeof customModePromptsSchema>\n\n/**\n * CustomSupportPrompts\n */\n\nexport const customSupportPromptsSchema = z.record(z.string(), z.string().optional())\n\nexport type CustomSupportPrompts = z.infer<typeof customSupportPromptsSchema>\n","import { z } from \"zod\"\n\n/**\n * ToolGroup\n */\n\nexport const toolGroups = [\"read\", \"edit\", \"browser\", \"command\", \"mcp\", \"modes\"] as const\n\nexport const toolGroupsSchema = z.enum(toolGroups)\n\nexport type ToolGroup = z.infer<typeof toolGroupsSchema>\n\n/**\n * ToolName\n */\n\nexport const toolNames = [\n\t\"execute_command\",\n\t\"read_file\",\n\t\"write_to_file\",\n\t\"apply_diff\",\n\t\"insert_content\",\n\t\"search_and_replace\",\n\t\"search_files\",\n\t\"list_files\",\n\t\"list_code_definition_names\",\n\t\"browser_action\",\n\t\"use_mcp_tool\",\n\t\"access_mcp_resource\",\n\t\"ask_followup_question\",\n\t\"attempt_completion\",\n\t\"switch_mode\",\n\t\"new_task\",\n\t\"fetch_instructions\",\n\t\"codebase_search\",\n\t\"update_todo_list\",\n] as const\n\nexport const toolNamesSchema = z.enum(toolNames)\n\nexport type ToolName = z.infer<typeof toolNamesSchema>\n\n/**\n * ToolUsage\n */\n\nexport const toolUsageSchema = z.record(\n\ttoolNamesSchema,\n\tz.object({\n\t\tattempts: z.number(),\n\t\tfailures: z.number(),\n\t}),\n)\n\nexport type ToolUsage = z.infer<typeof toolUsageSchema>\n","import { z } from \"zod\"\n\n/**\n * CodeAction\n */\n\nexport const codeActionIds = [\"explainCode\", \"fixCode\", \"improveCode\", \"addToContext\", \"newTask\"] as const\n\nexport type CodeActionId = (typeof codeActionIds)[number]\n\nexport type CodeActionName = \"EXPLAIN\" | \"FIX\" | \"IMPROVE\" | \"ADD_TO_CONTEXT\" | \"NEW_TASK\"\n\n/**\n * TerminalAction\n */\n\nexport const terminalActionIds = [\"terminalAddToContext\", \"terminalFixCommand\", \"terminalExplainCommand\"] as const\n\nexport type TerminalActionId = (typeof terminalActionIds)[number]\n\nexport type TerminalActionName = \"ADD_TO_CONTEXT\" | \"FIX\" | \"EXPLAIN\"\n\nexport type TerminalActionPromptType = `TERMINAL_${TerminalActionName}`\n\n/**\n * Command\n */\n\nexport const commandIds = [\n\t\"activationCompleted\",\n\n\t\"plusButtonClicked\",\n\t\"promptsButtonClicked\",\n\t\"mcpButtonClicked\",\n\t\"historyButtonClicked\",\n\t\"marketplaceButtonClicked\",\n\t\"popoutButtonClicked\",\n\t\"accountButtonClicked\",\n\t\"settingsButtonClicked\",\n\n\t\"openInNewTab\",\n\n\t\"showHumanRelayDialog\",\n\t\"registerHumanRelayCallback\",\n\t\"unregisterHumanRelayCallback\",\n\t\"handleHumanRelayResponse\",\n\n\t\"newTask\",\n\n\t\"setCustomStoragePath\",\n\t\"importSettings\",\n\n\t\"focusInput\",\n\t\"acceptInput\",\n\t\"focusPanel\",\n] as const\n\nexport type CommandId = (typeof commandIds)[number]\n\n/**\n * Language\n */\n\nexport const languages = [\n\t\"ca\",\n\t\"de\",\n\t\"en\",\n\t\"es\",\n\t\"fr\",\n\t\"hi\",\n\t\"id\",\n\t\"it\",\n\t\"ja\",\n\t\"ko\",\n\t\"nl\",\n\t\"pl\",\n\t\"pt-BR\",\n\t\"ru\",\n\t\"tr\",\n\t\"vi\",\n\t\"zh-CN\",\n\t\"zh-TW\",\n] as const\n\nexport const languagesSchema = z.enum(languages)\n\nexport type Language = z.infer<typeof languagesSchema>\n\nexport const isLanguage = (value: string): value is Language => languages.includes(value as Language)\n","import { z } from \"zod\"\n\n/**\n * Interface for follow-up data structure used in follow-up questions\n * This represents the data structure for follow-up questions that the LLM can ask\n * to gather more information needed to complete a task.\n */\nexport interface FollowUpData {\n\t/** The question being asked by the LLM */\n\tquestion?: string\n\t/** Array of suggested answers that the user can select */\n\tsuggest?: Array<SuggestionItem>\n}\n\n/**\n * Interface for a suggestion item with optional mode switching\n */\nexport interface SuggestionItem {\n\t/** The text of the suggestion */\n\tanswer: string\n\t/** Optional mode to switch to when selecting this suggestion */\n\tmode?: string\n}\n\n/**\n * Zod schema for SuggestionItem\n */\nexport const suggestionItemSchema = z.object({\n\tanswer: z.string(),\n\tmode: z.string().optional(),\n})\n\n/**\n * Zod schema for FollowUpData\n */\nexport const followUpDataSchema = z.object({\n\tquestion: z.string().optional(),\n\tsuggest: z.array(suggestionItemSchema).optional(),\n})\n\nexport type FollowUpDataType = z.infer<typeof followUpDataSchema>\n","import { z } from \"zod\"\n\nimport { clineMessageSchema, tokenUsageSchema } from \"./message.js\"\nimport { toolNamesSchema, toolUsageSchema } from \"./tool.js\"\nimport { rooCodeSettingsSchema } from \"./global-settings.js\"\n\n/**\n * isSubtaskSchema\n */\nexport const isSubtaskSchema = z.object({\n\tisSubtask: z.boolean(),\n})\nexport type IsSubtask = z.infer<typeof isSubtaskSchema>\n\n/**\n * RooCodeEvent\n */\n\nexport enum RooCodeEventName {\n\tMessage = \"message\",\n\tTaskCreated = \"taskCreated\",\n\tTaskStarted = \"taskStarted\",\n\tTaskModeSwitched = \"taskModeSwitched\",\n\tTaskPaused = \"taskPaused\",\n\tTaskUnpaused = \"taskUnpaused\",\n\tTaskAskResponded = \"taskAskResponded\",\n\tTaskAborted = \"taskAborted\",\n\tTaskSpawned = \"taskSpawned\",\n\tTaskCompleted = \"taskCompleted\",\n\tTaskTokenUsageUpdated = \"taskTokenUsageUpdated\",\n\tTaskToolFailed = \"taskToolFailed\",\n\tEvalPass = \"evalPass\",\n\tEvalFail = \"evalFail\",\n}\n\nexport const rooCodeEventsSchema = z.object({\n\t[RooCodeEventName.Message]: z.tuple([\n\t\tz.object({\n\t\t\ttaskId: z.string(),\n\t\t\taction: z.union([z.literal(\"created\"), z.literal(\"updated\")]),\n\t\t\tmessage: clineMessageSchema,\n\t\t}),\n\t]),\n\t[RooCodeEventName.TaskCreated]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskStarted]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskModeSwitched]: z.tuple([z.string(), z.string()]),\n\t[RooCodeEventName.TaskPaused]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskUnpaused]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskAskResponded]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskAborted]: z.tuple([z.string()]),\n\t[RooCodeEventName.TaskSpawned]: z.tuple([z.string(), z.string()]),\n\t[RooCodeEventName.TaskCompleted]: z.tuple([z.string(), tokenUsageSchema, toolUsageSchema, isSubtaskSchema]),\n\t[RooCodeEventName.TaskTokenUsageUpdated]: z.tuple([z.string(), tokenUsageSchema]),\n\t[RooCodeEventName.TaskToolFailed]: z.tuple([z.string(), toolNamesSchema, z.string()]),\n})\n\nexport type RooCodeEvents = z.infer<typeof rooCodeEventsSchema>\n\n/**\n * Ack\n */\n\nexport const ackSchema = z.object({\n\tclientId: z.string(),\n\tpid: z.number(),\n\tppid: z.number(),\n})\n\nexport type Ack = z.infer<typeof ackSchema>\n\n/**\n * TaskCommand\n */\n\nexport enum TaskCommandName {\n\tStartNewTask = \"StartNewTask\",\n\tCancelTask = \"CancelTask\",\n\tCloseTask = \"CloseTask\",\n}\n\nexport const taskCommandSchema = z.discriminatedUnion(\"commandName\", [\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.StartNewTask),\n\t\tdata: z.object({\n\t\t\tconfiguration: rooCodeSettingsSchema,\n\t\t\ttext: z.string(),\n\t\t\timages: z.array(z.string()).optional(),\n\t\t\tnewTab: z.boolean().optional(),\n\t\t}),\n\t}),\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.CancelTask),\n\t\tdata: z.string(),\n\t}),\n\tz.object({\n\t\tcommandName: z.literal(TaskCommandName.CloseTask),\n\t\tdata: z.string(),\n\t}),\n])\n\nexport type TaskCommand = z.infer<typeof taskCommandSchema>\n\n/**\n * TaskEvent\n */\n\nexport const taskEventSchema = z.discriminatedUnion(\"eventName\", [\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.Message),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.Message],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskCreated),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskCreated],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskStarted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskStarted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskModeSwitched),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskModeSwitched],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskPaused),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskPaused],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskUnpaused),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskUnpaused],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskAskResponded),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskAskResponded],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskAborted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskAborted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskSpawned),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskSpawned],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskCompleted),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskCompleted],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskTokenUsageUpdated),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskTokenUsageUpdated],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.TaskToolFailed),\n\t\tpayload: rooCodeEventsSchema.shape[RooCodeEventName.TaskToolFailed],\n\t\ttaskId: z.number().optional(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.EvalPass),\n\t\tpayload: z.undefined(),\n\t\ttaskId: z.number(),\n\t}),\n\tz.object({\n\t\teventName: z.literal(RooCodeEventName.EvalFail),\n\t\tpayload: z.undefined(),\n\t\ttaskId: z.number(),\n\t}),\n])\n\nexport type TaskEvent = z.infer<typeof taskEventSchema>\n\n/**\n * IpcMessage\n */\n\nexport enum IpcMessageType {\n\tConnect = \"Connect\",\n\tDisconnect = \"Disconnect\",\n\tAck = \"Ack\",\n\tTaskCommand = \"TaskCommand\",\n\tTaskEvent = \"TaskEvent\",\n}\n\nexport enum IpcOrigin {\n\tClient = \"client\",\n\tServer = \"server\",\n}\n\nexport const ipcMessageSchema = z.discriminatedUnion(\"type\", [\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.Ack),\n\t\torigin: z.literal(IpcOrigin.Server),\n\t\tdata: ackSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.TaskCommand),\n\t\torigin: z.literal(IpcOrigin.Client),\n\t\tclientId: z.string(),\n\t\tdata: taskCommandSchema,\n\t}),\n\tz.object({\n\t\ttype: z.literal(IpcMessageType.TaskEvent),\n\t\torigin: z.literal(IpcOrigin.Server),\n\t\trelayClientId: z.string().optional(),\n\t\tdata: taskEventSchema,\n\t}),\n])\n\nexport type IpcMessage = z.infer<typeof ipcMessageSchema>\n\n/**\n * Client\n */\n\nexport type IpcClientEvents = {\n\t[IpcMessageType.Connect]: []\n\t[IpcMessageType.Disconnect]: []\n\t[IpcMessageType.Ack]: [data: Ack]\n\t[IpcMessageType.TaskCommand]: [data: TaskCommand]\n\t[IpcMessageType.TaskEvent]: [data: TaskEvent]\n}\n\n/**\n * Server\n */\n\nexport type IpcServerEvents = {\n\t[IpcMessageType.Connect]: [clientId: string]\n\t[IpcMessageType.Disconnect]: [clientId: string]\n\t[IpcMessageType.TaskCommand]: [clientId: string, data: TaskCommand]\n\t[IpcMessageType.TaskEvent]: [relayClientId: string | undefined, data: TaskEvent]\n}\n","import { z } from \"zod\"\n\n/**\n * Schema for MCP parameter definitions\n */\nexport const mcpParameterSchema = z.object({\n\tname: z.string().min(1),\n\tkey: z.string().min(1),\n\tplaceholder: z.string().optional(),\n\toptional: z.boolean().optional().default(false),\n})\n\nexport type McpParameter = z.infer<typeof mcpParameterSchema>\n\n/**\n * Schema for MCP installation method with name\n */\nexport const mcpInstallationMethodSchema = z.object({\n\tname: z.string().min(1),\n\tcontent: z.string().min(1),\n\tparameters: z.array(mcpParameterSchema).optional(),\n\tprerequisites: z.array(z.string()).optional(),\n})\n\nexport type McpInstallationMethod = z.infer<typeof mcpInstallationMethodSchema>\n\n/**\n * Component type validation\n */\nexport const marketplaceItemTypeSchema = z.enum([\"mode\", \"mcp\"] as const)\n\nexport type MarketplaceItemType = z.infer<typeof marketplaceItemTypeSchema>\n\n/**\n * Base schema for common marketplace item fields\n */\nconst baseMarketplaceItemSchema = z.object({\n\tid: z.string().min(1),\n\tname: z.string().min(1, \"Name is required\"),\n\tdescription: z.string(),\n\tauthor: z.string().optional(),\n\tauthorUrl: z.string().url(\"Author URL must be a valid URL\").optional(),\n\ttags: z.array(z.string()).optional(),\n\tprerequisites: z.array(z.string()).optional(),\n})\n\n/**\n * Type-specific schemas for YAML parsing (without type field, added programmatically)\n */\nexport const modeMarketplaceItemSchema = baseMarketplaceItemSchema.extend({\n\tcontent: z.string().min(1), // YAML content for modes\n})\n\nexport type ModeMarketplaceItem = z.infer<typeof modeMarketplaceItemSchema>\n\nexport const mcpMarketplaceItemSchema = baseMarketplaceItemSchema.extend({\n\turl: z.string().url(), // Required url field\n\tcontent: z.union([z.string().min(1), z.array(mcpInstallationMethodSchema)]), // Single config or array of methods\n\tparameters: z.array(mcpParameterSchema).optional(),\n})\n\nexport type McpMarketplaceItem = z.infer<typeof mcpMarketplaceItemSchema>\n\n/**\n * Unified marketplace item schema using discriminated union\n */\nexport const marketplaceItemSchema = z.discriminatedUnion(\"type\", [\n\t// Mode marketplace item\n\tmodeMarketplaceItemSchema.extend({\n\t\ttype: z.literal(\"mode\"),\n\t}),\n\t// MCP marketplace item\n\tmcpMarketplaceItemSchema.extend({\n\t\ttype: z.literal(\"mcp\"),\n\t}),\n])\n\nexport type MarketplaceItem = z.infer<typeof marketplaceItemSchema>\n\n/**\n * Installation options for marketplace items\n */\nexport const installMarketplaceItemOptionsSchema = z.object({\n\ttarget: z.enum([\"global\", \"project\"]).optional().default(\"project\"),\n\tparameters: z.record(z.string(), z.any()).optional(),\n})\n\nexport type InstallMarketplaceItemOptions = z.infer<typeof installMarketplaceItemOptionsSchema>\n","import { z } from \"zod\"\n\n/**\n * McpExecutionStatus\n */\n\nexport const mcpExecutionStatusSchema = z.discriminatedUnion(\"status\", [\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"started\"),\n\t\tserverName: z.string(),\n\t\ttoolName: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"output\"),\n\t\tresponse: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"completed\"),\n\t\tresponse: z.string().optional(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"error\"),\n\t\terror: z.string().optional(),\n\t}),\n])\n\nexport type McpExecutionStatus = z.infer<typeof mcpExecutionStatusSchema>\n","import { z } from \"zod\"\n\n/**\n * CommandExecutionStatus\n */\n\nexport const commandExecutionStatusSchema = z.discriminatedUnion(\"status\", [\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"started\"),\n\t\tpid: z.number().optional(),\n\t\tcommand: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"output\"),\n\t\toutput: z.string(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"exited\"),\n\t\texitCode: z.number().optional(),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"fallback\"),\n\t}),\n\tz.object({\n\t\texecutionId: z.string(),\n\t\tstatus: z.literal(\"timeout\"),\n\t}),\n])\n\nexport type CommandExecutionStatus = z.infer<typeof commandExecutionStatusSchema>\n","import { z } from \"zod\"\n\n/**\n * TodoStatus\n */\nexport const todoStatusSchema = z.enum([\"pending\", \"in_progress\", \"completed\"] as const)\n\nexport type TodoStatus = z.infer<typeof todoStatusSchema>\n\n/**\n * TodoItem\n */\nexport const todoItemSchema = z.object({\n\tid: z.string(),\n\tcontent: z.string(),\n\tstatus: todoStatusSchema,\n})\n\nexport type TodoItem = z.infer<typeof todoItemSchema>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,IAAM,0BAA4C;AAElD,IAAM,kBAAkB;AAAA,EAC9B,4BAA4B;AAAA,IAC3B,WAAW;AAAA;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,yBAAyB;AAAA,EAC1B;AAAA,EACA,0BAA0B;AAAA,IACzB,WAAW;AAAA;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,yBAAyB;AAAA,EAC1B;AAAA,EACA,uCAAuC;AAAA,IACtC,WAAW;AAAA;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,8BAA8B;AAAA,IAC7B,WAAW;AAAA;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,EAClB;AAAA,EACA,8BAA8B;AAAA,IAC7B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,EAClB;AAAA,EACA,6BAA6B;AAAA,IAC5B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,0BAA0B;AAAA,IACzB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,2BAA2B;AAAA,IAC1B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AACD;AAEO,IAAM,+BAA+B;;;AC7FrC,IAAM,wBAAwC;AAE9C,IAAM,oCAAoD;AAM1D,IAAM,gBAAgB;AAAA,EAC5B,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,wBAAwB;AAAA,IACxB,gBAAgB;AAAA,IAChB,gBAAgB,CAAC,QAAQ;AAAA,EAC1B;AAAA,EACA,0CAA0C;AAAA,IACzC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,aAAa;AAAA,EACd;AAAA,EACA,yBAAyB;AAAA,IACxB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,wBAAwB;AAAA,IACxB,gBAAgB;AAAA,IAChB,gBAAgB,CAAC,QAAQ;AAAA,EAC1B;AAAA,EACA,0BAA0B;AAAA,IACzB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,wBAAwB;AAAA,IACxB,gBAAgB;AAAA,IAChB,gBAAgB,CAAC,QAAQ;AAAA,EAC1B;AAAA,EACA,2CAA2C;AAAA,IAC1C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,yBAAyB;AAAA,IACzB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,wBAAwB;AAAA,IACxB,gBAAgB;AAAA,IAChB,gBAAgB,CAAC,UAAU,YAAY,OAAO;AAAA,EAC/C;AAAA,EACA,yCAAyC;AAAA,IACxC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,yBAAyB;AAAA,IACzB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,wBAAwB;AAAA,IACxB,gBAAgB;AAAA,IAChB,gBAAgB,CAAC,UAAU,YAAY,OAAO;AAAA,EAC/C;AAAA,EACA,6CAA6C;AAAA,IAC5C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,yBAAyB;AAAA,IACzB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,wBAAwB;AAAA,IACxB,gBAAgB;AAAA,IAChB,gBAAgB,CAAC,UAAU,YAAY,OAAO;AAAA,EAC/C;AAAA,EACA,6CAA6C;AAAA,IAC5C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,wBAAwB;AAAA,IACxB,gBAAgB;AAAA,IAChB,gBAAgB,CAAC,UAAU,YAAY,OAAO;AAAA,EAC/C;AAAA,EACA,4CAA4C;AAAA,IAC3C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,wBAAwB;AAAA,IACxB,gBAAgB;AAAA,IAChB,gBAAgB,CAAC,UAAU,YAAY,OAAO;AAAA,EAC/C;AAAA,EACA,6CAA6C;AAAA,IAC5C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,yCAAyC;AAAA,IACxC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,2CAA2C;AAAA,IAC1C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,0CAA0C;AAAA,IACzC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,6BAA6B;AAAA,IAC5B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,6BAA6B;AAAA,IAC5B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,iCAAiC;AAAA,IAChC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,oBAAoB;AAAA,IACnB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,mCAAmC;AAAA,IAClC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,mCAAmC;AAAA,IAClC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,mCAAmC;AAAA,IAClC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,oCAAoC;AAAA,IACnC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,mCAAmC;AAAA,IAClC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,qDAAqD;AAAA,IACpD,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,iCAAiC;AAAA,IAChC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,+BAA+B;AAAA,IAC9B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,qCAAqC;AAAA,IACpC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,qCAAqC;AAAA,IACpC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AACD;AAEO,IAAM,8BAA8B;AAEpC,IAAM,qBAAqB;AAE3B,IAAM,0BAA0B;AAKhC,IAAM,gCAAyD;AAAA;AAAA,EAErE,CAAC,WAAW,KAAK;AAAA;AAAA,EAEjB,CAAC,OAAO,KAAK;AAAA;AAAA,EAEb,CAAC,OAAO,KAAK;AAAA;AAAA,EAEb,CAAC,OAAO,OAAO;AAAA;AAAA,EAEf,CAAC,OAAO,KAAK;AAAA;AAAA,EAEb,CAAC,OAAO,KAAK;AACd;AAIO,IAAM,kBAAkB;AAAA,EAC9B,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,kBAAkB,OAAO,iBAAiB;AAAA,EACnD,EAAE,OAAO,kBAAkB,OAAO,iBAAiB;AAAA,EACnD,EAAE,OAAO,kBAAkB,OAAO,iBAAiB;AAAA,EACnD,EAAE,OAAO,cAAc,OAAO,aAAa;AAAA,EAC3C,EAAE,OAAO,cAAc,OAAO,aAAa;AAAA,EAC3C,EAAE,OAAO,kBAAkB,OAAO,iBAAiB;AAAA,EACnD,EAAE,OAAO,kBAAkB,OAAO,iBAAiB;AAAA,EACnD,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,EAC/C,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,EAC/C,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,cAAc,OAAO,aAAa;AAAA,EAC3C,EAAE,OAAO,cAAc,OAAO,aAAa;AAAA,EAC3C,EAAE,OAAO,cAAc,OAAO,aAAa;AAAA,EAC3C,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,EAC/C,EAAE,OAAO,aAAa,OAAO,YAAY;AAAA,EACzC,EAAE,OAAO,iBAAiB,OAAO,gBAAgB;AAAA,EACjD,EAAE,OAAO,iBAAiB,OAAO,gBAAgB;AAClD,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,MAAM,cAAc,EAAE,KAAK,CAAC;;;AC5XxC,IAAM,uBAAsC;AAE5C,IAAM,eAAe;AAAA,EAC3B,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,2BAA2B;AAAA,IAC1B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,2BAA2B;AAAA,IAC1B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA;AAAA,IACX,eAAe;AAAA;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,2CAA2C;AAAA,IAC1C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,sCAAsC;AAAA,IACrC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,0BAA0B;AAAA,IACzB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,gDAAgD;AAAA,IAC/C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,yBAAyB;AAAA,IACxB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,0CAA0C;AAAA,IACzC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,2CAA2C;AAAA,IAC1C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,mDAAmD;AAAA,IAClD,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,kBAAkB;AAAA,IACjB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,sBAAsB;AAAA,IACrB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,kBAAkB;AAAA,IACjB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,iBAAiB;AAAA,IAChB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,2BAA2B;AAAA,IAC1B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AACD;;;AChOA,IAAM,sBAAsB;AAYrB,SAAS,0BAA0B,WAA2B;AAEpE,SAAO,UAAU,QAAQ,qBAAqB,KAAK;AACpD;AAIO,IAAM,2BAA8C;AACpD,IAAM,wCAAwC;AAa9C,SAAS,qBAAqB,aAAgC,YAAY,OAAe;AAC/F,SAAO,YAAY,0BAA0B,WAAW,IAAI;AAC7D;AAEO,IAAM,mBAAmB;AAAA,EAC/B,4BAA4B;AAAA,IAC3B,GAAG,gBAAgB,0BAA0B;AAAA,IAC7C,gBAAgB;AAAA,IAChB,qBAAqB;AAAA;AAAA,IACrB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,0BAA0B;AAAA,IACzB,GAAG,gBAAgB,wBAAwB;AAAA,IAC3C,gBAAgB;AAAA,IAChB,qBAAqB;AAAA;AAAA,IACrB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,8BAA8B;AAAA,IAC7B,GAAG,gBAAgB,4BAA4B;AAAA,IAC/C,gBAAgB;AAAA,IAChB,qBAAqB;AAAA;AAAA,IACrB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,8BAA8B;AAAA,IAC7B,GAAG,gBAAgB,4BAA4B;AAAA,IAC/C,gBAAgB;AAAA,IAChB,qBAAqB;AAAA;AAAA,IACrB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,6BAA6B;AAAA,IAC5B,GAAG,gBAAgB,2BAA2B;AAAA,IAC9C,gBAAgB;AAAA,IAChB,qBAAqB;AAAA;AAAA,IACrB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AACD;;;AC7EO,IAAM,yBAA0C;AAEhD,IAAM,iBAAiB;AAAA,EAC7B,iBAAiB;AAAA,IAChB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,aAAa;AAAA,EACd;AAAA,EACA,qBAAqB;AAAA,IACpB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA;AAAA,IACb,kBAAkB;AAAA;AAAA,IAClB,iBAAiB;AAAA;AAAA,IACjB,aAAa;AAAA,EACd;AACD;AAEO,IAAM,gCAAgC;;;AC3BtC,IAAM,uBAAsC;AAE5C,IAAM,eAAe;AAAA,EAC3B,2CAA2C;AAAA,IAC1C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,2CAA2C;AAAA,IAC1C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,EACnB;AAAA,EACA,oBAAoB;AAAA,IACnB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,EAC1B;AAAA,EACA,4BAA4B;AAAA,IAC3B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,OAAO;AAAA,MACN;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,MACA;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,OAAO;AAAA,MACN;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,MACA;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,OAAO;AAAA,MACN;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,MACA;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAAA,EACA,kBAAkB;AAAA,IACjB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,OAAO;AAAA,MACN;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,MACA;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,EACnB;AAAA,EACA,uCAAuC;AAAA,IACtC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,4BAA4B;AAAA,IAC3B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,uCAAuC;AAAA,IACtC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,sCAAsC;AAAA,IACrC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,OAAO;AAAA,MACN;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,MACA;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAAA,EACA,6BAA6B;AAAA,IAC5B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,sBAAsB;AAAA,IACrB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,2BAA2B;AAAA,IAC1B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,mBAAmB;AAAA,IAClB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,uCAAuC;AAAA,IACtC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,yBAAyB;AAAA,IACzB,mBAAmB;AAAA,EACpB;AACD;;;ACtSO,IAAM,sBAAsB;AAE5B,IAAM,wBAAmC;AAAA,EAC/C,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,aACC;AACF;AAEO,IAAM,4BAA4B;;;ACLlC,IAAM,qBAAkC;AAExC,IAAM,aAAa;AAAA;AAAA,EAEzB,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,2BAA2B;AAAA,IAC1B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,6CAA6C;AAAA,IAC5C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,iDAAiD;AAAA,IAChD,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,oBAAoB;AAAA,IACnB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,gBAAgB;AAAA,IACf,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,kBAAkB;AAAA,IACjB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,iCAAiC;AAAA,IAChC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,+BAA+B;AAAA,IAC9B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AACD;;;AChGO,IAAM,wBAAwB;AAE9B,IAAM,0BAAqC;AAAA,EACjD,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAClB;AAEO,IAAM,8BAA8B,oBAAI,IAAI;AAAA,EAClD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;;;AC7CM,IAAM,+BAA+B;AAIrC,IAAM,yBAAyB;AAC/B,IAAM,2BAAsC;AAAA,EAClD,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,aAAa;AACd;;;ACbO,IAAM,wBAAwC;AAE9C,IAAM,gBAAgB;AAAA,EAC5B,2BAA2B;AAAA,IAC1B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,0BAA0B;AAAA,IACzB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,yBAAyB;AAAA,IACxB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,oBAAoB;AAAA,IACnB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,uBAAuB;AAAA,IACtB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,uBAAuB;AAAA,IACtB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AACD;AAEO,IAAM,8BAA8B;;;AC9EpC,IAAM,uBAAuB;AAC7B,IAAM,yBAAoC;AAAA,EAChD,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,aAAa;AACd;;;ACXO,IAAM,6BAAkD;AAExD,IAAM,qBAAqB;AAAA,EACjC,WAAW;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AAAA,EACA,gBAAgB;AAAA,IACf,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AAAA,EACA,gBAAgB;AAAA,IACf,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AAAA,EACA,IAAI;AAAA,IACH,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,iBAAiB;AAAA,EAClB;AAAA,EACA,WAAW;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,EAClB;AAAA,EACA,UAAU;AAAA,IACT,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,EAClB;AAAA,EACA,WAAW;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,iBAAiB;AAAA,EAClB;AAAA,EACA,gBAAgB;AAAA,IACf,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,EAClB;AAAA,EACA,eAAe;AAAA,IACd,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,EAClB;AAAA,EACA,WAAW;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,iBAAiB;AAAA,EAClB;AAAA,EACA,gBAAgB;AAAA,IACf,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,EAClB;AAAA,EACA,eAAe;AAAA,IACd,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,EAClB;AAAA,EACA,IAAI;AAAA,IACH,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AAAA,EACA,cAAc;AAAA,IACb,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AAAA,EACA,WAAW;AAAA,IACV,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AAAA,EACA,mBAAmB;AAAA,IAClB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AAAA,EACA,UAAU;AAAA,IACT,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AAAA,EACA,eAAe;AAAA,IACd,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,EAClB;AACD;AAEO,IAAM,8BAAyC;AAAA,EACrD,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AACd;AAIO,IAAM,+BAA+B;AAErC,IAAM,oCAAoC;AAE1C,IAAM,iCAAiC;;;ACpMvC,IAAM,2BAA2B;AAEjC,IAAM,6BAAwC;AAAA,EACpD,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,aACC;AACF;AAEO,IAAM,mCAAmC;AAEzC,IAAM,oCAAoC,oBAAI,IAAI;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAGM,IAAM,kCAAkC,oBAAI,IAAI;AAAA,EACtD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,CAAC;AASM,IAAM,+CAA+C,oBAAI,IAAI;AAAA,EACnE;AAAA,EACA;AAAA,EACA;AACD,CAAC;AAEM,IAAM,sCAAsC,oBAAI,IAAI;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA,EAGA;AAAA,EACA;AACD,CAAC;;;ACrFM,IAAM,yBAAyB;AAE/B,IAAM,2BAAsC;AAAA,EAClD,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAAA,EACjB,aACC;AACF;;;AChBO,IAAM,wBAAwB;AAE9B,IAAM,0BAAqC;AAAA,EACjD,WAAW;AAAA,EACX,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,iBAAiB;AAClB;;;ACRO,IAAM,uBAAsC;AAE5C,IAAM,eAAe;AAAA,EAC3B,2CAA2C;AAAA,IAC1C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,oBAAoB;AAAA,IACnB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,EAC1B;AAAA,EACA,2CAA2C;AAAA,IAC1C,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,kCAAkC;AAAA,IACjC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,gCAAgC;AAAA,IAC/B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,EAC1B;AAAA,EACA,kBAAkB;AAAA,IACjB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,IACzB,OAAO;AAAA,MACN;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,MACA;AAAA,QACC,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,iBAAiB;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAAA,EACA,4BAA4B;AAAA,IAC3B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,4BAA4B;AAAA,IAC3B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,6BAA6B;AAAA,IAC5B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,uCAAuC;AAAA,IACtC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,wBAAwB;AAAA,IACvB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,sBAAsB;AAAA,IACrB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,EACd;AAAA,EACA,4BAA4B;AAAA,IAC3B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,EAC1B;AAAA,EACA,0BAA0B;AAAA,IACzB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,uCAAuC;AAAA,IACtC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,yBAAyB;AAAA,IACzB,yBAAyB;AAAA,EAC1B;AAAA,EACA,8BAA8B;AAAA,IAC7B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,iCAAiC;AAAA,IAChC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,8BAA8B;AAAA,IAC7B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,6BAA6B;AAAA,IAC5B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,0BAA0B;AAAA,IACzB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,2BAA2B;AAAA,IAC1B,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,EAClB;AAAA,EACA,uCAAuC;AAAA,IACtC,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,EAC1B;AACD;AAEO,IAAM,iBAAiB;AAAA,EAC7B,EAAE,OAAO,UAAU,OAAO,SAAS;AAAA,EACnC,EAAE,OAAO,eAAe,OAAO,cAAc;AAAA,EAC7C,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,2BAA2B,OAAO,0BAA0B;AAAA,EACrE,EAAE,OAAO,2BAA2B,OAAO,0BAA0B;AAAA,EACrE,EAAE,OAAO,sBAAsB,OAAO,qBAAqB;AAAA,EAC3D,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,EAC/C,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,EAC/C,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,EAC/C,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,EAC/C,EAAE,OAAO,gBAAgB,OAAO,eAAe;AAAA,EAC/C,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AAAA,EACrD,EAAE,OAAO,cAAc,OAAO,aAAa;AAAA,EAC3C,EAAE,OAAO,cAAc,OAAO,aAAa;AAAA,EAC3C,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AAAA,EACrD,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AAAA,EACrD,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AAAA,EACrD,EAAE,OAAO,eAAe,OAAO,cAAc;AAAA,EAC7C,EAAE,OAAO,eAAe,OAAO,cAAc;AAAA,EAC7C,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AAAA,EACrD,EAAE,OAAO,mBAAmB,OAAO,kBAAkB;AAAA,EACrD,EAAE,OAAO,wBAAwB,OAAO,uBAAuB;AAAA,EAC/D,EAAE,OAAO,wBAAwB,OAAO,uBAAuB;AAAA,EAC/D,EAAE,OAAO,YAAY,OAAO,WAAW;AAAA,EACvC,EAAE,OAAO,eAAe,OAAO,cAAc;AAAA,EAC7C,EAAE,OAAO,iBAAiB,OAAO,gBAAgB;AAClD;;;AClTO,IAAM,0BAA4C;AAElD,IAAM,kBAAkB;AAAA,EAC9B,iBAAiB;AAAA,IAChB,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,eAAe;AAAA,IACd,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,SAAS;AAAA,IACR,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,sBAAsB;AAAA,IACrB,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,UAAU;AAAA,IACT,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,IAAI;AAAA,IACH,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACV,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,qBAAqB;AAAA,IACpB,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,wBAAwB;AAAA,IACvB,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,kBAAkB;AAAA,IACjB,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACV,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AAAA,EACA,WAAW;AAAA,IACV,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,MAAM;AAAA,IACN,qBAAqB;AAAA,IACrB,gBAAgB;AAAA,EACjB;AACD;;;AClJO,IAAM,oBAAgC;AAEtC,IAAM,YAAY;AAAA,EACxB,UAAU;AAAA,IACT,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,aAAa;AAAA,EACd;AAAA,EACA,UAAU;AAAA,IACT,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,aAAa;AAAA,EACd;AAAA,EACA,eAAe;AAAA,IACd,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,aAAa;AAAA,EACd;AAAA,EACA,eAAe;AAAA,IACd,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,yBAAyB;AAAA,EAC1B;AAAA,EACA,oBAAoB;AAAA,IACnB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,yBAAyB;AAAA,EAC1B;AAAA,EACA,eAAe;AAAA,IACd,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AAAA,EACA,sBAAsB;AAAA,IACrB,WAAW;AAAA,IACX,eAAe;AAAA,IACf,gBAAgB;AAAA,IAChB,qBAAqB;AAAA,IACrB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,EACd;AACD;;;ACnFA,iBAAkB;AAKX,IAAM,0BAA0B;AAAA,EACtC,oBAAoB;AAAA,EACpB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,0BAA0B;AAAA,EAC1B,mBAAmB;AACpB;AAMO,IAAM,4BAA4B,aAAE,OAAO;AAAA,EACjD,sBAAsB,aAAE,QAAQ,EAAE,SAAS;AAAA,EAC3C,wBAAwB,aAAE,OAAO,EAAE,SAAS;AAAA,EAC5C,+BAA+B,aAAE,KAAK,CAAC,UAAU,UAAU,qBAAqB,QAAQ,CAAC,EAAE,SAAS;AAAA,EACpG,8BAA8B,aAAE,OAAO,EAAE,SAAS;AAAA,EAClD,8BAA8B,aAAE,OAAO,EAAE,SAAS;AAAA,EAClD,qCAAqC,aAAE,OAAO,EAAE,SAAS;AAAA,EACzD,6BAA6B,aAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA,EAC/D,+BAA+B,aAC7B,OAAO,EACP,IAAI,wBAAwB,kBAAkB,EAC9C,IAAI,wBAAwB,kBAAkB,EAC9C,SAAS;AAAA;AAAA,EAEX,sCAAsC,aAAE,OAAO,EAAE,SAAS;AAAA,EAC1D,6CAA6C,aAAE,OAAO,EAAE,SAAS;AAClE,CAAC;AAQM,IAAM,4BAA4B,aAAE,OAAO;AAAA,EACjD,QAAQ,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,OAAO,EAAE,WAAW,aAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS;AAAA,EAC3E,QAAQ,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,OAAO,EAAE,WAAW,aAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS;AAAA,EAC3E,qBAAqB,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,OAAO,EAAE,WAAW,aAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS;AAAA,EACxF,QAAQ,aAAE,OAAO,aAAE,OAAO,GAAG,aAAE,OAAO,EAAE,WAAW,aAAE,OAAO,EAAE,CAAC,CAAC,EAAE,SAAS;AAC5E,CAAC;AAQM,IAAM,8BAA8B,aAAE,OAAO;AAAA,EACnD,oBAAoB,aAAE,OAAO,EAAE,SAAS;AAAA,EACxC,uBAAuB,aAAE,OAAO,EAAE,SAAS;AAAA,EAC3C,sCAAsC,aAAE,OAAO,EAAE,SAAS;AAAA,EAC1D,qCAAqC,aAAE,OAAO,EAAE,SAAS;AAAA,EACzD,6CAA6C,aAAE,OAAO,EAAE,SAAS;AAAA,EACjE,2BAA2B,aAAE,OAAO,EAAE,SAAS;AAChD,CAAC;;;AChED,IAAAA,eAAkB;;;ACAlB,IAAAC,eAAkB;;;ACAlB,IAAAC,cAAkB;;;ACAlB,IAAAC,cAAkB;AAMX,IAAM,mBAAmB,CAAC,OAAO,UAAU,MAAM;AAEjD,IAAM,yBAAyB,cAAE,KAAK,gBAAgB;AAQtD,IAAM,kBAAkB,CAAC,cAAc,eAAe,aAAa,mBAAmB;AAEtF,IAAM,wBAAwB,cAAE,KAAK,eAAe;AAIpD,IAAM,mBAAmB,CAAC,UAChC,gBAAgB,SAAS,KAAuB;AAM1C,IAAM,kBAAkB,cAAE,OAAO;AAAA,EACvC,WAAW,cAAE,OAAO,EAAE,QAAQ;AAAA,EAC9B,mBAAmB,cAAE,OAAO,EAAE,QAAQ;AAAA,EACtC,eAAe,cAAE,OAAO;AAAA,EACxB,gBAAgB,cAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,qBAAqB,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,qBAAqB,cAAE,QAAQ;AAAA,EAC/B,yBAAyB,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC9C,yBAAyB,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC9C,yBAAyB,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC9C,qBAAqB,cAAE,MAAM,qBAAqB,EAAE,SAAS;AAAA,EAC7D,YAAY,cAAE,OAAO,EAAE,SAAS;AAAA,EAChC,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,kBAAkB,cAAE,OAAO,EAAE,SAAS;AAAA,EACtC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,iBAAiB,uBAAuB,SAAS;AAAA,EACjD,wBAAwB,cAAE,OAAO,EAAE,SAAS;AAAA,EAC5C,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,gBAAgB,cAAE,MAAM,cAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC7C,OAAO,cACL;AAAA,IACA,cAAE,OAAO;AAAA,MACR,eAAe,cAAE,OAAO;AAAA,MACxB,YAAY,cAAE,OAAO,EAAE,SAAS;AAAA,MAChC,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,MACjC,kBAAkB,cAAE,OAAO,EAAE,SAAS;AAAA,MACtC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,IACtC,CAAC;AAAA,EACF,EACC,SAAS;AACZ,CAAC;;;ADnDM,IAAM,gBAAgB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,sBAAsB,cAAE,KAAK,aAAa;AAQhD,IAAM,8BAA8B,cAAE,OAAO;AAAA,EACnD,IAAI,cAAE,OAAO;AAAA,EACb,MAAM,cAAE,OAAO;AAAA,EACf,aAAa,oBAAoB,SAAS;AAC3C,CAAC;AAWM,IAAM,oCAAoC;AAEjD,IAAM,6BAA6B,cAAE,OAAO;AAAA,EAC3C,kBAAkB,cAAE,QAAQ,EAAE,SAAS;AAAA,EACvC,aAAa,cAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,qBAAqB,cAAE,OAAO,EAAE,SAAS;AAAA,EACzC,kBAAkB,cAAE,OAAO,EAAE,QAAQ;AAAA,EACrC,kBAAkB,cAAE,OAAO,EAAE,SAAS;AAAA,EACtC,yBAAyB,cAAE,OAAO,EAAE,IAAI,CAAC,EAAE,SAAS;AAAA;AAAA,EAGpD,uBAAuB,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC5C,iBAAiB,uBAAuB,SAAS;AAAA,EACjD,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,wBAAwB,cAAE,OAAO,EAAE,SAAS;AAC7C,CAAC;AAGD,IAAM,gCAAgC,2BAA2B,OAAO;AAAA,EACvE,YAAY,cAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAED,IAAM,kBAAkB,8BAA8B,OAAO;AAAA,EAC5D,QAAQ,cAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,kBAAkB,cAAE,OAAO,EAAE,SAAS;AAAA,EACtC,uBAAuB,cAAE,QAAQ,EAAE,SAAS;AAC7C,CAAC;AAED,IAAM,mBAAmB,8BAA8B,OAAO;AAAA,EAC7D,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,2BAA2B,cAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAM,EAAE,SAAS;AACzE,CAAC;AAED,IAAM,cAAc,2BAA2B,OAAO;AAAA,EACrD,cAAc,cAAE,OAAO,EAAE,SAAS;AAAA,EAClC,aAAa,cAAE,OAAO,EAAE,SAAS;AAClC,CAAC;AAED,IAAM,mBAAmB,2BAA2B,OAAO;AAAA,EAC1D,kBAAkB,cAAE,OAAO,EAAE,SAAS;AAAA,EACtC,mBAAmB,cAAE,OAAO,EAAE,SAAS;AAAA,EACvC,mBAAmB,cAAE,OAAO,EAAE,SAAS;AAAA,EACvC,4BAA4B,cAAE,OAAO,EAAE,SAAS;AAAA,EAChD,iCAAiC,cAAE,QAAQ,EAAE,SAAS;AACvD,CAAC;AAED,IAAM,gBAAgB,8BAA8B,OAAO;AAAA,EAC1D,cAAc,cAAE,OAAO,EAAE,SAAS;AAAA,EAClC,cAAc,cAAE,OAAO,EAAE,SAAS;AAAA,EAClC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,cAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,4BAA4B,cAAE,QAAQ,EAAE,SAAS;AAAA,EACjD,mBAAmB,cAAE,QAAQ,EAAE,SAAS;AAAA,EACxC,YAAY,cAAE,OAAO,EAAE,SAAS;AAAA,EAChC,eAAe,cAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,cAAc,cAAE,OAAO,EAAE,SAAS;AAAA,EAClC,uBAAuB,cAAE,OAAO,EAAE,SAAS;AAAA,EAC3C,2BAA2B,cAAE,QAAQ,EAAE,SAAS;AAAA,EAChD,oBAAoB,cAAE,OAAO,EAAE,SAAS;AACzC,CAAC;AAED,IAAM,eAAe,8BAA8B,OAAO;AAAA,EACzD,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,uBAAuB,cAAE,OAAO,EAAE,SAAS;AAAA,EAC3C,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,cAAc,cAAE,OAAO,EAAE,SAAS;AACnC,CAAC;AAED,IAAM,eAAe,2BAA2B,OAAO;AAAA,EACtD,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,cAAc,cAAE,OAAO,EAAE,SAAS;AAAA,EAClC,oBAAoB,cAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,uBAAuB,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC5C,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,uBAAuB,gBAAgB,QAAQ;AAAA,EAC/C,gBAAgB,cAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,wBAAwB,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC7C,kBAAkB,cAAE,OAAO,EAAE,SAAS;AAAA;AAAA,EACtC,eAAe,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,OAAO,CAAC,EAAE,SAAS;AAC1D,CAAC;AAED,IAAM,eAAe,2BAA2B,OAAO;AAAA,EACtD,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,eAAe,cAAE,OAAO,EAAE,SAAS;AACpC,CAAC;AAED,IAAM,iBAAiB,2BAA2B,OAAO;AAAA,EACxD,uBAAuB,cACrB,OAAO;AAAA,IACP,QAAQ,cAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,QAAQ,cAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,SAAS,cAAE,OAAO,EAAE,SAAS;AAAA,IAC7B,IAAI,cAAE,OAAO,EAAE,SAAS;AAAA,EACzB,CAAC,EACA,SAAS;AACZ,CAAC;AAED,IAAM,iBAAiB,2BAA2B,OAAO;AAAA,EACxD,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,sBAAsB,cAAE,OAAO,EAAE,SAAS;AAAA,EAC1C,oCAAoC,cAAE,QAAQ,EAAE,SAAS;AAC1D,CAAC;AAED,IAAM,eAAe,8BAA8B,OAAO;AAAA,EACzD,cAAc,cAAE,OAAO,EAAE,SAAS;AAAA,EAClC,qBAAqB,cAAE,OAAO,EAAE,SAAS;AAC1C,CAAC;AAED,IAAM,kBAAkB,8BAA8B,OAAO;AAAA,EAC5D,oBAAoB,cAAE,OAAO,EAAE,SAAS;AAAA,EACxC,oBAAoB,cAAE,OAAO,EAAE,SAAS;AACzC,CAAC;AAED,IAAM,qBAAqB,8BAA8B,OAAO;AAAA,EAC/D,oBAAoB,cAAE,OAAO,EAAE,SAAS;AAAA,EACxC,qBAAqB,cAAE,OAAO,EAAE,SAAS;AAC1C,CAAC;AAED,IAAM,gBAAgB,8BAA8B,OAAO;AAAA,EAC1D,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,qBAAqB,cAAE,OAAO,EAAE,SAAS;AAC1C,CAAC;AAED,IAAM,iBAAiB,8BAA8B,OAAO;AAAA,EAC3D,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,gBAAgB,cAAE,OAAO,EAAE,SAAS;AACrC,CAAC;AAED,IAAM,gBAAgB,2BAA2B,OAAO;AAAA,EACvD,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,gBAAgB,cAAE,OAAO,EAAE,SAAS;AACrC,CAAC;AAED,IAAM,iBAAiB,2BAA2B,OAAO;AAAA,EACxD,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AACtC,CAAC;AAED,IAAM,mBAAmB;AAEzB,IAAM,eAAe,2BAA2B,OAAO;AAAA,EACtD,QAAQ,cAAE,QAAQ,EAAE,SAAS;AAC9B,CAAC;AAED,IAAM,YAAY,8BAA8B,OAAO;AAAA,EACtD,WAAW,cAAE,OAAO,EAAE,SAAS;AAChC,CAAC;AAED,IAAM,aAAa,8BAA8B,OAAO;AAAA,EACvD,YAAY,cAAE,OAAO,EAAE,SAAS;AACjC,CAAC;AAED,IAAM,eAAe,8BAA8B,OAAO;AAAA,EACzD,cAAc,cAAE,OAAO,EAAE,SAAS;AACnC,CAAC;AAED,IAAM,gBAAgB,2BAA2B,OAAO;AAAA,EACvD,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,gBAAgB,cAAE,OAAO,EAAE,SAAS;AACrC,CAAC;AAED,IAAM,gBAAgB,cAAE,OAAO;AAAA,EAC9B,aAAa,cAAE,UAAU;AAC1B,CAAC;AAEM,IAAM,sCAAsC,cAAE,mBAAmB,eAAe;AAAA,EACtF,gBAAgB,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,WAAW,EAAE,CAAC,CAAC;AAAA,EACvE,iBAAiB,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,aAAa,EAAE,CAAC,CAAC;AAAA,EAC1E,YAAY,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,OAAO,EAAE,CAAC,CAAC;AAAA,EAC/D,iBAAiB,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,YAAY,EAAE,CAAC,CAAC;AAAA,EACzE,cAAc,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,SAAS,EAAE,CAAC,CAAC;AAAA,EACnE,aAAa,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,QAAQ,EAAE,CAAC,CAAC;AAAA,EACjE,aAAa,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,QAAQ,EAAE,CAAC,CAAC;AAAA,EACjE,aAAa,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,QAAQ,EAAE,CAAC,CAAC;AAAA,EACjE,eAAe,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,WAAW,EAAE,CAAC,CAAC;AAAA,EACtE,eAAe,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,UAAU,EAAE,CAAC,CAAC;AAAA,EACrE,aAAa,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,QAAQ,EAAE,CAAC,CAAC;AAAA,EACjE,gBAAgB,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,YAAY,EAAE,CAAC,CAAC;AAAA,EACxE,mBAAmB,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,eAAe,EAAE,CAAC,CAAC;AAAA,EAC9E,cAAc,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,SAAS,EAAE,CAAC,CAAC;AAAA,EACnE,eAAe,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,UAAU,EAAE,CAAC,CAAC;AAAA,EACrE,cAAc,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,SAAS,EAAE,CAAC,CAAC;AAAA,EACnE,eAAe,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,UAAU,EAAE,CAAC,CAAC;AAAA,EACrE,iBAAiB,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,aAAa,EAAE,CAAC,CAAC;AAAA,EAC1E,aAAa,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,SAAS,EAAE,CAAC,CAAC;AAAA,EAClE,UAAU,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,KAAK,EAAE,CAAC,CAAC;AAAA,EAC3D,WAAW,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,MAAM,EAAE,CAAC,CAAC;AAAA,EAC7D,aAAa,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,QAAQ,EAAE,CAAC,CAAC;AAAA,EACjE,cAAc,MAAM,cAAE,OAAO,EAAE,aAAa,cAAE,QAAQ,SAAS,EAAE,CAAC,CAAC;AAAA,EACnE;AACD,CAAC;AAEM,IAAM,yBAAyB,cAAE,OAAO;AAAA,EAC9C,aAAa,oBAAoB,SAAS;AAAA,EAC1C,GAAG,gBAAgB;AAAA,EACnB,GAAG,iBAAiB;AAAA,EACpB,GAAG,YAAY;AAAA,EACf,GAAG,iBAAiB;AAAA,EACpB,GAAG,cAAc;AAAA,EACjB,GAAG,aAAa;AAAA,EAChB,GAAG,aAAa;AAAA,EAChB,GAAG,aAAa;AAAA,EAChB,GAAG,eAAe;AAAA,EAClB,GAAG,eAAe;AAAA,EAClB,GAAG,aAAa;AAAA,EAChB,GAAG,gBAAgB;AAAA,EACnB,GAAG,mBAAmB;AAAA,EACtB,GAAG,cAAc;AAAA,EACjB,GAAG,eAAe;AAAA,EAClB,GAAG,cAAc;AAAA,EACjB,GAAG,eAAe;AAAA,EAClB,GAAG,iBAAiB;AAAA,EACpB,GAAG,aAAa;AAAA,EAChB,GAAG,UAAU;AAAA,EACb,GAAG,WAAW;AAAA,EACd,GAAG,aAAa;AAAA,EAChB,GAAG,cAAc;AAAA,EACjB,GAAG,4BAA4B;AAChC,CAAC;AAGM,IAAM,yBAAyB,uBAAuB,MAAM,EAAE;AAE9D,IAAM,gBAAmD;AAAA,EAC/D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,aAAa,CAAC,aAAmD;AAC7E,QAAM,aAAa,cAAc,KAAK,CAAC,QAAQ,SAAS,GAAG,CAAC;AAC5D,SAAO,aAAc,SAAS,UAAU,IAAe;AACxD;AAGO,IAAM,4BAA4C,CAAC,aAAa,aAAa;AAG7E,IAAM,iBAAiB,CAAC,UAAoC,YAA6C;AAE/G,MAAI,YAAY,0BAA0B,SAAS,QAAQ,GAAG;AAC7D,WAAO;AAAA,EACR;AAGA,MACC,aACC,aAAa,YAAY,aAAa,cACvC,WACA,QAAQ,YAAY,EAAE,SAAS,QAAQ,GACtC;AACD,WAAO;AAAA,EACR;AAGA,SAAO;AACR;;;AEpUA,IAAAC,cAAkB;AAMX,IAAM,oBAAoB,cAAE,OAAO;AAAA,EACzC,IAAI,cAAE,OAAO;AAAA,EACb,QAAQ,cAAE,OAAO;AAAA,EACjB,IAAI,cAAE,OAAO;AAAA,EACb,MAAM,cAAE,OAAO;AAAA,EACf,UAAU,cAAE,OAAO;AAAA,EACnB,WAAW,cAAE,OAAO;AAAA,EACpB,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,YAAY,cAAE,OAAO,EAAE,SAAS;AAAA,EAChC,WAAW,cAAE,OAAO;AAAA,EACpB,MAAM,cAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,WAAW,cAAE,OAAO,EAAE,SAAS;AAChC,CAAC;;;AClBD,IAAAC,cAAkB;AAQX,IAAM,gBAAgB,CAAC,iBAAiB,oBAAoB;AAE5D,IAAM,sBAAsB,cAAE,KAAK,aAAa;AAQhD,IAAM,oBAAoB,cAAE,OAAO;AAAA,EACzC,eAAe,cAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,oBAAoB,cAAE,QAAQ,EAAE,SAAS;AAC1C,CAAC;;;ACrBD,IAAAC,cAAkB;;;ACAlB,IAAAC,cAAkB;AA2BX,IAAM,YAAY;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,iBAAiB,cAAE,KAAK,SAAS;AAyCvC,IAAM,YAAY;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,iBAAiB,cAAE,KAAK,SAAS;AAQvC,IAAM,2BAA2B,cAAE,OAAO;AAAA,EAChD,MAAM,cAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,MAAM,cAAE,OAAO,EAAE,SAAS;AAC3B,CAAC;AAQM,IAAM,wBAAwB,cAAE,OAAO;AAAA,EAC7C,MAAM,cAAE,OAAO;AAAA,EACf,mBAAmB,cAAE,OAAO;AAAA,EAC5B,kBAAkB,cAAE,OAAO;AAAA,EAC3B,SAAS,cAAE,OAAO;AACnB,CAAC;AAQM,IAAM,qBAAqB,cAAE,OAAO;AAAA,EAC1C,IAAI,cAAE,OAAO;AAAA,EACb,MAAM,cAAE,MAAM,CAAC,cAAE,QAAQ,KAAK,GAAG,cAAE,QAAQ,KAAK,CAAC,CAAC;AAAA,EAClD,KAAK,eAAe,SAAS;AAAA,EAC7B,KAAK,eAAe,SAAS;AAAA,EAC7B,MAAM,cAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,QAAQ,cAAE,MAAM,cAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACrC,SAAS,cAAE,QAAQ,EAAE,SAAS;AAAA,EAC9B,WAAW,cAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,0BAA0B,cAAE,OAAO,EAAE,SAAS;AAAA,EAC9C,YAAY,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EACvD,gBAAgB,yBAAyB,SAAS;AAAA,EAClD,iBAAiB,sBAAsB,SAAS;AAAA,EAChD,aAAa,cAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,aAAa,cAAE,MAAM,CAAC,cAAE,QAAQ,QAAQ,GAAG,cAAE,QAAQ,WAAW,CAAC,CAAC,EAAE,SAAS;AAC9E,CAAC;AAQM,IAAM,mBAAmB,cAAE,OAAO;AAAA,EACxC,eAAe,cAAE,OAAO;AAAA,EACxB,gBAAgB,cAAE,OAAO;AAAA,EACzB,kBAAkB,cAAE,OAAO,EAAE,SAAS;AAAA,EACtC,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,cAAE,OAAO;AAAA,EACpB,eAAe,cAAE,OAAO;AACzB,CAAC;;;ADpKM,IAAM,oBAAoB,CAAC,SAAS,WAAW,UAAU;AAEzD,IAAM,0BAA0B,cAAE,KAAK,iBAAiB;AAQxD,IAAK,qBAAL,kBAAKC,wBAAL;AACN,EAAAA,oBAAA,kBAAe;AACf,EAAAA,oBAAA,oBAAiB;AACjB,EAAAA,oBAAA,oBAAiB;AACjB,EAAAA,oBAAA,kBAAe;AACf,EAAAA,oBAAA,+BAA4B;AAC5B,EAAAA,oBAAA,oBAAiB;AACjB,EAAAA,oBAAA,iBAAc;AACd,EAAAA,oBAAA,0BAAuB;AACvB,EAAAA,oBAAA,eAAY;AAEZ,EAAAA,oBAAA,wBAAqB;AACrB,EAAAA,oBAAA,yBAAsB;AACtB,EAAAA,oBAAA,uBAAoB;AAEpB,EAAAA,oBAAA,eAAY;AACZ,EAAAA,oBAAA,2BAAwB;AACxB,EAAAA,oBAAA,yBAAsB;AAEtB,EAAAA,oBAAA,uBAAoB;AACpB,EAAAA,oBAAA,+BAA4B;AAE5B,EAAAA,oBAAA,sBAAmB;AACnB,EAAAA,oBAAA,qBAAkB;AAElB,EAAAA,oBAAA,0BAAuB;AAEvB,EAAAA,oBAAA,8BAA2B;AAE3B,EAAAA,oBAAA,gCAA6B;AAC7B,EAAAA,oBAAA,8BAA2B;AAC3B,EAAAA,oBAAA,4BAAyB;AACzB,EAAAA,oBAAA,wCAAqC;AAErC,EAAAA,oBAAA,0BAAuB;AACvB,EAAAA,oBAAA,gCAA6B;AAC7B,EAAAA,oBAAA,0BAAuB;AACvB,EAAAA,oBAAA,oCAAiC;AAEjC,EAAAA,oBAAA,6BAA0B;AAC1B,EAAAA,oBAAA,6BAA0B;AAC1B,EAAAA,oBAAA,4BAAyB;AACzB,EAAAA,oBAAA,4BAAyB;AAEzB,EAAAA,oBAAA,6BAA0B;AAC1B,EAAAA,oBAAA,4BAAyB;AACzB,EAAAA,oBAAA,6BAA0B;AAC1B,EAAAA,oBAAA,+BAA4B;AAC5B,EAAAA,oBAAA,sBAAmB;AAhDR,SAAAA;AAAA,GAAA;AAuDL,IAAM,sBAAsB,cAAE,OAAO;AAAA,EAC3C,SAAS,cAAE,OAAO;AAAA,EAClB,YAAY,cAAE,OAAO;AAAA,EACrB,eAAe,cAAE,OAAO;AAAA,EACxB,UAAU,cAAE,OAAO;AAAA,EACnB,YAAY,cAAE,OAAO;AAAA,EACrB,UAAU,cAAE,OAAO;AAAA,EACnB,MAAM,cAAE,OAAO;AAAA,EACf,sBAAsB,cAAE,QAAQ,EAAE,SAAS;AAC5C,CAAC;AAEM,IAAM,uBAAuB,cAAE,OAAO;AAAA,EAC5C,QAAQ,cAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,aAAa,cAAE,KAAK,aAAa,EAAE,SAAS;AAAA,EAC5C,SAAS,cAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,cAAc,cAAE,OAAO,EAAE,SAAS;AAAA,EAClC,WAAW,cAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,OAAO,cACL,OAAO;AAAA,IACP,OAAO,cAAE,OAAO;AAAA,IAChB,WAAW,cAAE,OAAO;AAAA,IACpB,YAAY,cAAE,OAAO;AAAA,IACrB,SAAS,cAAE,OAAO;AAAA,EACnB,CAAC,EACA,SAAS;AACZ,CAAC;AAEM,IAAM,sBAAsB,cAAE,OAAO;AAAA,EAC3C,eAAe,cAAE,OAAO,EAAE,SAAS;AAAA,EACnC,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,eAAe,cAAE,OAAO,EAAE,SAAS;AACpC,CAAC;AAEM,IAAM,4BAA4B,cAAE,OAAO;AAAA,EACjD,GAAG,oBAAoB;AAAA,EACvB,GAAG,qBAAqB;AAAA,EACxB,GAAG,oBAAoB;AACxB,CAAC;AAmBM,IAAM,8BAA8B,cAAE,mBAAmB,QAAQ;AAAA,EACvE,cAAE,OAAO;AAAA,IACR,MAAM,cAAE,KAAK;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACD,CAAC;AAAA,IACD,YAAY;AAAA,EACb,CAAC;AAAA,EACD,cAAE,OAAO;AAAA,IACR,MAAM,cAAE,QAAQ,iCAA+B;AAAA,IAC/C,YAAY,cAAE,OAAO;AAAA,MACpB,GAAG,0BAA0B;AAAA,MAC7B,QAAQ,cAAE,OAAO;AAAA,MACjB,SAAS;AAAA,IACV,CAAC;AAAA,EACF,CAAC;AAAA,EACD,cAAE,OAAO;AAAA,IACR,MAAM,cAAE,QAAQ,qCAAiC;AAAA,IACjD,YAAY,cAAE,OAAO;AAAA,MACpB,GAAG,0BAA0B;AAAA,MAC7B,aAAa,cAAE,OAAO;AAAA,MACtB,cAAc,cAAE,OAAO;AAAA,MACvB,iBAAiB,cAAE,OAAO,EAAE,SAAS;AAAA,MACrC,kBAAkB,cAAE,OAAO,EAAE,SAAS;AAAA,MACtC,MAAM,cAAE,OAAO,EAAE,SAAS;AAAA,IAC3B,CAAC;AAAA,EACF,CAAC;AACF,CAAC;;;AE/LD,IAAAC,cAAkB;;;ACAlB,IAAAC,cAAkB;AAMX,IAAM,aAAa,CAAC,QAAQ,QAAQ,WAAW,WAAW,OAAO,OAAO;AAExE,IAAM,mBAAmB,cAAE,KAAK,UAAU;AAQ1C,IAAM,YAAY;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,kBAAkB,cAAE,KAAK,SAAS;AAQxC,IAAM,kBAAkB,cAAE;AAAA,EAChC;AAAA,EACA,cAAE,OAAO;AAAA,IACR,UAAU,cAAE,OAAO;AAAA,IACnB,UAAU,cAAE,OAAO;AAAA,EACpB,CAAC;AACF;;;AD5CO,IAAM,qBAAqB,cAAE,OAAO;AAAA,EAC1C,WAAW,cACT,OAAO,EACP,SAAS,EACT;AAAA,IACA,CAAC,YAAY;AACZ,UAAI,CAAC,SAAS;AACb,eAAO;AAAA,MACR;AAEA,UAAI;AACH,YAAI,OAAO,OAAO;AAClB,eAAO;AAAA,MACR,QAAQ;AACP,eAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA,EAAE,SAAS,qCAAqC;AAAA,EACjD;AAAA,EACD,aAAa,cAAE,OAAO,EAAE,SAAS;AAClC,CAAC;AAQM,IAAM,mBAAmB,cAAE,MAAM,CAAC,kBAAkB,cAAE,MAAM,CAAC,kBAAkB,kBAAkB,CAAC,CAAC,CAAC;AAQ3G,IAAM,wBAAwB,cAAE,MAAM,gBAAgB,EAAE;AAAA,EACvD,CAAC,WAAW;AACX,UAAM,OAAO,oBAAI,IAAI;AAErB,WAAO,OAAO,MAAM,CAAC,UAAU;AAE9B,YAAM,YAAY,MAAM,QAAQ,KAAK,IAAI,MAAM,CAAC,IAAI;AAEpD,UAAI,KAAK,IAAI,SAAS,GAAG;AACxB,eAAO;AAAA,MACR;AAEA,WAAK,IAAI,SAAS;AAClB,aAAO;AAAA,IACR,CAAC;AAAA,EACF;AAAA,EACA,EAAE,SAAS,mCAAmC;AAC/C;AAEO,IAAM,mBAAmB,cAAE,OAAO;AAAA,EACxC,MAAM,cAAE,OAAO,EAAE,MAAM,mBAAmB,mDAAmD;AAAA,EAC7F,MAAM,cAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,EAC1C,gBAAgB,cAAE,OAAO,EAAE,IAAI,GAAG,6BAA6B;AAAA,EAC/D,WAAW,cAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,oBAAoB,cAAE,OAAO,EAAE,SAAS;AAAA,EACxC,QAAQ;AAAA,EACR,QAAQ,cAAE,KAAK,CAAC,UAAU,SAAS,CAAC,EAAE,SAAS;AAChD,CAAC;AAQM,IAAM,4BAA4B,cAAE,OAAO;AAAA,EACjD,aAAa,cAAE,MAAM,gBAAgB,EAAE;AAAA,IACtC,CAAC,UAAU;AACV,YAAM,QAAQ,oBAAI,IAAI;AAEtB,aAAO,MAAM,MAAM,CAAC,SAAS;AAC5B,YAAI,MAAM,IAAI,KAAK,IAAI,GAAG;AACzB,iBAAO;AAAA,QACR;AAEA,cAAM,IAAI,KAAK,IAAI;AACnB,eAAO;AAAA,MACR,CAAC;AAAA,IACF;AAAA,IACA;AAAA,MACC,SAAS;AAAA,IACV;AAAA,EACD;AACD,CAAC;AAQM,IAAM,wBAAwB,cAAE,OAAO;AAAA,EAC7C,gBAAgB,cAAE,OAAO,EAAE,SAAS;AAAA,EACpC,WAAW,cAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,aAAa,cAAE,OAAO,EAAE,SAAS;AAAA,EACjC,oBAAoB,cAAE,OAAO,EAAE,SAAS;AACzC,CAAC;AAQM,IAAM,0BAA0B,cAAE,OAAO,cAAE,OAAO,GAAG,sBAAsB,SAAS,CAAC;AAQrF,IAAM,6BAA6B,cAAE,OAAO,cAAE,OAAO,GAAG,cAAE,OAAO,EAAE,SAAS,CAAC;;;AE/HpF,IAAAC,eAAkB;AAMX,IAAM,gBAAgB,CAAC,eAAe,WAAW,eAAe,gBAAgB,SAAS;AAUzF,IAAM,oBAAoB,CAAC,wBAAwB,sBAAsB,wBAAwB;AAYjG,IAAM,aAAa;AAAA,EACzB;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AACD;AAQO,IAAM,YAAY;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,IAAM,kBAAkB,eAAE,KAAK,SAAS;AAIxC,IAAM,aAAa,CAAC,UAAqC,UAAU,SAAS,KAAiB;;;ATnE7F,IAAM,uBAAuB,eAAE,OAAO;AAAA,EAC5C,sBAAsB,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1C,mBAAmB,eAAE,MAAM,2BAA2B,EAAE,SAAS;AAAA,EACjE,kBAAkB,eAAE,OAAO,eAAE,OAAO,GAAG,eAAE,QAAQ,CAAC,EAAE,SAAS;AAAA,EAE7D,yBAAyB,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7C,oBAAoB,eAAE,OAAO,EAAE,SAAS;AAAA,EACxC,aAAa,eAAE,MAAM,iBAAiB,EAAE,SAAS;AAAA,EAEjD,uBAAuB,eAAE,OAAO,EAAE,SAAS;AAAA,EAC3C,wBAAwB,eAAE,OAAO,EAAE,SAAS;AAAA,EAE5C,qBAAqB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,qBAAqB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,qCAAqC,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC1D,kBAAkB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACvC,kCAAkC,eAAE,QAAQ,EAAE,SAAS;AAAA,EACvD,2BAA2B,eAAE,QAAQ,EAAE,SAAS;AAAA,EAChD,cAAc,eAAE,OAAO,EAAE,SAAS;AAAA,EAClC,oBAAoB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,uBAAuB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC5C,qBAAqB,eAAE,OAAO,EAAE,SAAS;AAAA,EACzC,gBAAgB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,uBAAuB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC5C,qBAAqB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,oBAAoB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,8BAA8B,eAAE,QAAQ,EAAE,SAAS;AAAA,EACnD,8BAA8B,eAAE,OAAO,EAAE,SAAS;AAAA,EAClD,2BAA2B,eAAE,QAAQ,EAAE,SAAS;AAAA,EAChD,iBAAiB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC9C,gBAAgB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC7C,yBAAyB,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7C,yBAAyB,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACtD,gCAAgC,eAAE,QAAQ,EAAE,SAAS;AAAA,EACrD,oBAAoB,eAAE,OAAO,EAAE,QAAQ;AAAA,EACvC,qBAAqB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,4BAA4B,eAAE,OAAO,EAAE,SAAS;AAAA,EAChD,wBAAwB,eAAE,OAAO,EAAE,SAAS;AAAA,EAE5C,oBAAoB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,qBAAqB,eAAE,OAAO,EAAE,SAAS;AAAA,EACzC,mBAAmB,eAAE,OAAO,EAAE,SAAS;AAAA,EACvC,sBAAsB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC3C,mBAAmB,eAAE,OAAO,EAAE,SAAS;AAAA,EACvC,qBAAqB,eAAE,OAAO,EAAE,SAAS;AAAA,EAEzC,mBAAmB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAExC,YAAY,eAAE,QAAQ,EAAE,SAAS;AAAA,EACjC,UAAU,eAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,cAAc,eAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,aAAa,eAAE,OAAO,EAAE,SAAS;AAAA,EAEjC,oBAAoB,eAAE,OAAO,EAAE,SAAS;AAAA,EACxC,mBAAmB,eAAE,OAAO,EAAE,SAAS;AAAA,EACvC,qBAAqB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,iBAAiB,eAAE,OAAO,EAAE,SAAS;AAAA,EAErC,yBAAyB,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7C,iCAAiC,eAAE,OAAO,EAAE,SAAS;AAAA,EACrD,kCAAkC,eAAE,QAAQ,EAAE,SAAS;AAAA,EACvD,sBAAsB,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1C,2BAA2B,eAAE,QAAQ,EAAE,SAAS;AAAA,EAChD,yBAAyB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC9C,iBAAiB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,iBAAiB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,iBAAiB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,6BAA6B,eAAE,QAAQ,EAAE,SAAS;AAAA,EAElD,kBAAkB,eAAE,OAAO,EAAE,SAAS;AAAA,EACtC,aAAa,eAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,qBAAqB,eAAE,OAAO,EAAE,SAAS;AAAA,EACzC,aAAa,kBAAkB,SAAS;AAAA,EAExC,qBAAqB,0BAA0B,SAAS;AAAA,EACxD,qBAAqB,0BAA0B,SAAS;AAAA,EAExD,UAAU,gBAAgB,SAAS;AAAA,EAEnC,kBAAkB,wBAAwB,SAAS;AAAA,EAEnD,YAAY,eAAE,QAAQ,EAAE,SAAS;AAAA,EACjC,yBAAyB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAE9C,MAAM,eAAE,OAAO,EAAE,SAAS;AAAA,EAC1B,gBAAgB,eAAE,OAAO,eAAE,OAAO,GAAG,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC1D,aAAa,eAAE,MAAM,gBAAgB,EAAE,SAAS;AAAA,EAChD,mBAAmB,wBAAwB,SAAS;AAAA,EACpD,sBAAsB,2BAA2B,SAAS;AAAA,EAC1D,wBAAwB,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5C,yBAAyB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC9C,mBAAmB,eAAE,OAAO,eAAE,OAAO,GAAG,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EAC7D,uBAAuB,eAAE,QAAQ,EAAE,SAAS;AAAA,EAC5C,oBAAoB,eAAE,OAAO,EAAE,SAAS;AAAA,EACxC,oBAAoB,eAAE,OAAO,EAAE,SAAS;AACzC,CAAC;AAIM,IAAM,uBAAuB,qBAAqB,MAAM,EAAE;AAM1D,IAAM,wBAAwB,uBAAuB,MAAM,oBAAoB;AAO/E,IAAM,oBAAoB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAGO,IAAM,mBAAmB,CAAC,QAChC,kBAAkB,SAAS,GAAwB;AAQ7C,IAAM,oBAAoB,CAAC,GAAG,sBAAsB,GAAG,sBAAsB,EAAE;AAAA,EACrF,CAAC,QAA+B,CAAC,kBAAkB,SAAS,GAAwB;AACrF;AAEO,IAAM,mBAAmB,CAAC,QAChC,kBAAkB,SAAS,GAAwB;AAO7C,IAAM,iBAAkC;AAAA,EAC9C,aAAa;AAAA,EACb,iCAAiC;AAAA,EAEjC,yBAAyB;AAAA,EAEzB,kBAAkB,CAAC;AAAA,EAEnB,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,qCAAqC;AAAA,EACrC,kBAAkB;AAAA,EAClB,kCAAkC;AAAA,EAClC,2BAA2B;AAAA,EAC3B,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,8BAA8B;AAAA,EAC9B,2BAA2B;AAAA,EAC3B,8BAA8B;AAAA,EAC9B,iBAAiB,CAAC,GAAG;AAAA,EACrB,yBAAyB;AAAA,EACzB,yBAAyB,CAAC;AAAA,EAC1B,gCAAgC;AAAA,EAEhC,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,sBAAsB;AAAA,EAEtB,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,cAAc;AAAA,EACd,aAAa;AAAA,EAEb,yBAAyB;AAAA,EACzB,iCAAiC;AAAA,EACjC,sBAAsB;AAAA,EACtB,2BAA2B;AAAA,EAC3B,iBAAiB;AAAA,EACjB,yBAAyB;AAAA,EACzB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,6BAA6B;AAAA,EAC7B,kCAAkC;AAAA,EAElC,aAAa;AAAA,EACb,qBAAqB;AAAA,EAErB,mBAAmB;AAAA,EAEnB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,iBAAiB;AAAA;AAAA,EAEjB,UAAU;AAAA,EACV,kBAAkB;AAAA,EAElB,YAAY;AAAA,EAEZ,MAAM;AAAA,EAEN,aAAa,CAAC;AACf;AAEO,IAAM,gBAAgB,IAAI,KAAK;;;AD9M/B,IAAM,8BAA8B,eAAE,OAAO;AAAA,EACnD,UAAU,eAAE,QAAQ;AAAA,EACpB,WAAW,eAAE;AAAA,IACZ,eAAE,OAAO;AAAA,MACR,UAAU,eAAE,QAAQ;AAAA,MACpB,QAAQ,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,IACtC,CAAC;AAAA,EACF;AACD,CAAC;AAQM,IAAM,oCAAoC,qBAC/C,KAAK;AAAA,EACL,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,sBAAsB;AAAA,EACtB,6BAA6B;AAAA,EAC7B,yBAAyB;AAAA,EACzB,kCAAkC;AAAA,EAClC,iCAAiC;AAAA,EACjC,yBAAyB;AAC1B,CAAC,EAEA;AAAA,EACA,eAAE,OAAO;AAAA,IACR,oBAAoB,eAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,IAC5D,iBAAiB,eAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS;AAAA,IACnD,mBAAmB,eAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,IAC3D,sBAAsB,eAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,IAC9D,yBAAyB,eAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,IACjE,iCAAiC,eAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS;AAAA,EAC1E,CAAC;AACF;AAQM,IAAM,kCAAkC,eAAE,OAAO;AAAA,EACvD,oBAAoB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,mBAAmB,eAAE,QAAQ,EAAE,SAAS;AAAA,EACxC,yBAAyB,eAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS;AAC/D,CAAC;AAQM,IAAM,6BAA6B,eAAE,OAAO;AAAA,EAClD,SAAS,eAAE,OAAO;AAAA,EAClB,eAAe,gCAAgC,SAAS;AAAA,EACxD,iBAAiB;AAAA,EACjB,WAAW;AACZ,CAAC;AAQM,IAAM,yBAAgD;AAAA,EAC5D,UAAU;AAAA,EACV,WAAW,CAAC;AACb;AAEO,IAAM,uBAA6C;AAAA,EACzD,SAAS;AAAA,EACT,eAAe;AAAA,IACd,oBAAoB;AAAA,IACpB,mBAAmB;AAAA,IACnB,yBAAyB;AAAA,EAC1B;AAAA,EACA,iBAAiB,CAAC;AAAA,EAClB,WAAW;AACZ;AAMO,IAAM,sBAAsB,eAAE,OAAO;AAAA,EAC3C,SAAS,eAAE,QAAQ;AAAA,EACnB,UAAU,eAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,OAAO,eAAE,OAAO,EAAE,SAAS;AAAA,EAC3B,YAAY,eAAE,QAAQ,EAAE,SAAS;AAAA,EACjC,WAAW,eAAE,OAAO,EAAE,SAAS;AAChC,CAAC;;;AWjJD,IAAAC,eAAkB;AA2BX,IAAM,uBAAuB,eAAE,OAAO;AAAA,EAC5C,QAAQ,eAAE,OAAO;AAAA,EACjB,MAAM,eAAE,OAAO,EAAE,SAAS;AAC3B,CAAC;AAKM,IAAM,qBAAqB,eAAE,OAAO;AAAA,EAC1C,UAAU,eAAE,OAAO,EAAE,SAAS;AAAA,EAC9B,SAAS,eAAE,MAAM,oBAAoB,EAAE,SAAS;AACjD,CAAC;;;ACtCD,IAAAC,eAAkB;AASX,IAAM,kBAAkB,eAAE,OAAO;AAAA,EACvC,WAAW,eAAE,QAAQ;AACtB,CAAC;AAOM,IAAK,mBAAL,kBAAKC,sBAAL;AACN,EAAAA,kBAAA,aAAU;AACV,EAAAA,kBAAA,iBAAc;AACd,EAAAA,kBAAA,iBAAc;AACd,EAAAA,kBAAA,sBAAmB;AACnB,EAAAA,kBAAA,gBAAa;AACb,EAAAA,kBAAA,kBAAe;AACf,EAAAA,kBAAA,sBAAmB;AACnB,EAAAA,kBAAA,iBAAc;AACd,EAAAA,kBAAA,iBAAc;AACd,EAAAA,kBAAA,mBAAgB;AAChB,EAAAA,kBAAA,2BAAwB;AACxB,EAAAA,kBAAA,oBAAiB;AACjB,EAAAA,kBAAA,cAAW;AACX,EAAAA,kBAAA,cAAW;AAdA,SAAAA;AAAA,GAAA;AAiBL,IAAM,sBAAsB,eAAE,OAAO;AAAA,EAC3C,CAAC,uBAAwB,GAAG,eAAE,MAAM;AAAA,IACnC,eAAE,OAAO;AAAA,MACR,QAAQ,eAAE,OAAO;AAAA,MACjB,QAAQ,eAAE,MAAM,CAAC,eAAE,QAAQ,SAAS,GAAG,eAAE,QAAQ,SAAS,CAAC,CAAC;AAAA,MAC5D,SAAS;AAAA,IACV,CAAC;AAAA,EACF,CAAC;AAAA,EACD,CAAC,+BAA4B,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,CAAC,CAAC;AAAA,EACpD,CAAC,+BAA4B,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,CAAC,CAAC;AAAA,EACpD,CAAC,yCAAiC,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,GAAG,eAAE,OAAO,CAAC,CAAC;AAAA,EACrE,CAAC,6BAA2B,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,CAAC,CAAC;AAAA,EACnD,CAAC,iCAA6B,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,CAAC,CAAC;AAAA,EACrD,CAAC,yCAAiC,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,CAAC,CAAC;AAAA,EACzD,CAAC,+BAA4B,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,CAAC,CAAC;AAAA,EACpD,CAAC,+BAA4B,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,GAAG,eAAE,OAAO,CAAC,CAAC;AAAA,EAChE,CAAC,mCAA8B,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,GAAG,kBAAkB,iBAAiB,eAAe,CAAC;AAAA,EAC1G,CAAC,mDAAsC,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,GAAG,gBAAgB,CAAC;AAAA,EAChF,CAAC,qCAA+B,GAAG,eAAE,MAAM,CAAC,eAAE,OAAO,GAAG,iBAAiB,eAAE,OAAO,CAAC,CAAC;AACrF,CAAC;AAQM,IAAM,YAAY,eAAE,OAAO;AAAA,EACjC,UAAU,eAAE,OAAO;AAAA,EACnB,KAAK,eAAE,OAAO;AAAA,EACd,MAAM,eAAE,OAAO;AAChB,CAAC;AAQM,IAAK,kBAAL,kBAAKC,qBAAL;AACN,EAAAA,iBAAA,kBAAe;AACf,EAAAA,iBAAA,gBAAa;AACb,EAAAA,iBAAA,eAAY;AAHD,SAAAA;AAAA,GAAA;AAML,IAAM,oBAAoB,eAAE,mBAAmB,eAAe;AAAA,EACpE,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,QAAQ,iCAA4B;AAAA,IACnD,MAAM,eAAE,OAAO;AAAA,MACd,eAAe;AAAA,MACf,MAAM,eAAE,OAAO;AAAA,MACf,QAAQ,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,MACrC,QAAQ,eAAE,QAAQ,EAAE,SAAS;AAAA,IAC9B,CAAC;AAAA,EACF,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,QAAQ,6BAA0B;AAAA,IACjD,MAAM,eAAE,OAAO;AAAA,EAChB,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,QAAQ,2BAAyB;AAAA,IAChD,MAAM,eAAE,OAAO;AAAA,EAChB,CAAC;AACF,CAAC;AAQM,IAAM,kBAAkB,eAAE,mBAAmB,aAAa;AAAA,EAChE,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,uBAAwB;AAAA,IAC7C,SAAS,oBAAoB,MAAM,uBAAwB;AAAA,IAC3D,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,+BAA4B;AAAA,IACjD,SAAS,oBAAoB,MAAM,+BAA4B;AAAA,IAC/D,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,+BAA4B;AAAA,IACjD,SAAS,oBAAoB,MAAM,+BAA4B;AAAA,IAC/D,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,yCAAiC;AAAA,IACtD,SAAS,oBAAoB,MAAM,yCAAiC;AAAA,IACpE,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,6BAA2B;AAAA,IAChD,SAAS,oBAAoB,MAAM,6BAA2B;AAAA,IAC9D,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,iCAA6B;AAAA,IAClD,SAAS,oBAAoB,MAAM,iCAA6B;AAAA,IAChE,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,yCAAiC;AAAA,IACtD,SAAS,oBAAoB,MAAM,yCAAiC;AAAA,IACpE,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,+BAA4B;AAAA,IACjD,SAAS,oBAAoB,MAAM,+BAA4B;AAAA,IAC/D,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,+BAA4B;AAAA,IACjD,SAAS,oBAAoB,MAAM,+BAA4B;AAAA,IAC/D,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,mCAA8B;AAAA,IACnD,SAAS,oBAAoB,MAAM,mCAA8B;AAAA,IACjE,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,mDAAsC;AAAA,IAC3D,SAAS,oBAAoB,MAAM,mDAAsC;AAAA,IACzE,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,qCAA+B;AAAA,IACpD,SAAS,oBAAoB,MAAM,qCAA+B;AAAA,IAClE,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,yBAAyB;AAAA,IAC9C,SAAS,eAAE,UAAU;AAAA,IACrB,QAAQ,eAAE,OAAO;AAAA,EAClB,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,WAAW,eAAE,QAAQ,yBAAyB;AAAA,IAC9C,SAAS,eAAE,UAAU;AAAA,IACrB,QAAQ,eAAE,OAAO;AAAA,EAClB,CAAC;AACF,CAAC;AAQM,IAAK,iBAAL,kBAAKC,oBAAL;AACN,EAAAA,gBAAA,aAAU;AACV,EAAAA,gBAAA,gBAAa;AACb,EAAAA,gBAAA,SAAM;AACN,EAAAA,gBAAA,iBAAc;AACd,EAAAA,gBAAA,eAAY;AALD,SAAAA;AAAA,GAAA;AAQL,IAAK,YAAL,kBAAKC,eAAL;AACN,EAAAA,WAAA,YAAS;AACT,EAAAA,WAAA,YAAS;AAFE,SAAAA;AAAA,GAAA;AAKL,IAAM,mBAAmB,eAAE,mBAAmB,QAAQ;AAAA,EAC5D,eAAE,OAAO;AAAA,IACR,MAAM,eAAE,QAAQ,eAAkB;AAAA,IAClC,QAAQ,eAAE,QAAQ,qBAAgB;AAAA,IAClC,MAAM;AAAA,EACP,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,MAAM,eAAE,QAAQ,+BAA0B;AAAA,IAC1C,QAAQ,eAAE,QAAQ,qBAAgB;AAAA,IAClC,UAAU,eAAE,OAAO;AAAA,IACnB,MAAM;AAAA,EACP,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,MAAM,eAAE,QAAQ,2BAAwB;AAAA,IACxC,QAAQ,eAAE,QAAQ,qBAAgB;AAAA,IAClC,eAAe,eAAE,OAAO,EAAE,SAAS;AAAA,IACnC,MAAM;AAAA,EACP,CAAC;AACF,CAAC;;;ACxND,IAAAC,eAAkB;AAKX,IAAM,qBAAqB,eAAE,OAAO;AAAA,EAC1C,MAAM,eAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACtB,KAAK,eAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACrB,aAAa,eAAE,OAAO,EAAE,SAAS;AAAA,EACjC,UAAU,eAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,KAAK;AAC/C,CAAC;AAOM,IAAM,8BAA8B,eAAE,OAAO;AAAA,EACnD,MAAM,eAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACtB,SAAS,eAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACzB,YAAY,eAAE,MAAM,kBAAkB,EAAE,SAAS;AAAA,EACjD,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAC7C,CAAC;AAOM,IAAM,4BAA4B,eAAE,KAAK,CAAC,QAAQ,KAAK,CAAU;AAOxE,IAAM,4BAA4B,eAAE,OAAO;AAAA,EAC1C,IAAI,eAAE,OAAO,EAAE,IAAI,CAAC;AAAA,EACpB,MAAM,eAAE,OAAO,EAAE,IAAI,GAAG,kBAAkB;AAAA,EAC1C,aAAa,eAAE,OAAO;AAAA,EACtB,QAAQ,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,WAAW,eAAE,OAAO,EAAE,IAAI,gCAAgC,EAAE,SAAS;AAAA,EACrE,MAAM,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAAA,EACnC,eAAe,eAAE,MAAM,eAAE,OAAO,CAAC,EAAE,SAAS;AAC7C,CAAC;AAKM,IAAM,4BAA4B,0BAA0B,OAAO;AAAA,EACzE,SAAS,eAAE,OAAO,EAAE,IAAI,CAAC;AAAA;AAC1B,CAAC;AAIM,IAAM,2BAA2B,0BAA0B,OAAO;AAAA,EACxE,KAAK,eAAE,OAAO,EAAE,IAAI;AAAA;AAAA,EACpB,SAAS,eAAE,MAAM,CAAC,eAAE,OAAO,EAAE,IAAI,CAAC,GAAG,eAAE,MAAM,2BAA2B,CAAC,CAAC;AAAA;AAAA,EAC1E,YAAY,eAAE,MAAM,kBAAkB,EAAE,SAAS;AAClD,CAAC;AAOM,IAAM,wBAAwB,eAAE,mBAAmB,QAAQ;AAAA;AAAA,EAEjE,0BAA0B,OAAO;AAAA,IAChC,MAAM,eAAE,QAAQ,MAAM;AAAA,EACvB,CAAC;AAAA;AAAA,EAED,yBAAyB,OAAO;AAAA,IAC/B,MAAM,eAAE,QAAQ,KAAK;AAAA,EACtB,CAAC;AACF,CAAC;AAOM,IAAM,sCAAsC,eAAE,OAAO;AAAA,EAC3D,QAAQ,eAAE,KAAK,CAAC,UAAU,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,SAAS;AAAA,EAClE,YAAY,eAAE,OAAO,eAAE,OAAO,GAAG,eAAE,IAAI,CAAC,EAAE,SAAS;AACpD,CAAC;;;ACrFD,IAAAC,eAAkB;AAMX,IAAM,2BAA2B,eAAE,mBAAmB,UAAU;AAAA,EACtE,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,SAAS;AAAA,IAC3B,YAAY,eAAE,OAAO;AAAA,IACrB,UAAU,eAAE,OAAO;AAAA,EACpB,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,QAAQ;AAAA,IAC1B,UAAU,eAAE,OAAO;AAAA,EACpB,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,WAAW;AAAA,IAC7B,UAAU,eAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,OAAO;AAAA,IACzB,OAAO,eAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,CAAC;AACF,CAAC;;;AC5BD,IAAAC,eAAkB;AAMX,IAAM,+BAA+B,eAAE,mBAAmB,UAAU;AAAA,EAC1E,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,SAAS;AAAA,IAC3B,KAAK,eAAE,OAAO,EAAE,SAAS;AAAA,IACzB,SAAS,eAAE,OAAO;AAAA,EACnB,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,QAAQ;AAAA,IAC1B,QAAQ,eAAE,OAAO;AAAA,EAClB,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,QAAQ;AAAA,IAC1B,UAAU,eAAE,OAAO,EAAE,SAAS;AAAA,EAC/B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,UAAU;AAAA,EAC7B,CAAC;AAAA,EACD,eAAE,OAAO;AAAA,IACR,aAAa,eAAE,OAAO;AAAA,IACtB,QAAQ,eAAE,QAAQ,SAAS;AAAA,EAC5B,CAAC;AACF,CAAC;;;AC/BD,IAAAC,eAAkB;AAKX,IAAM,mBAAmB,eAAE,KAAK,CAAC,WAAW,eAAe,WAAW,CAAU;AAOhF,IAAM,iBAAiB,eAAE,OAAO;AAAA,EACtC,IAAI,eAAE,OAAO;AAAA,EACb,SAAS,eAAE,OAAO;AAAA,EAClB,QAAQ;AACT,CAAC;","names":["import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","import_zod","TelemetryEventName","import_zod","import_zod","import_zod","import_zod","import_zod","RooCodeEventName","TaskCommandName","IpcMessageType","IpcOrigin","import_zod","import_zod","import_zod","import_zod"]}
|