Files
OpenCode 68a9071cf1 feat: reconcile local master with origin (exa/hot-platform hunters, leaks ledger, latest results)
Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
2026-08-07 12:53:47 +08:00

1 line
46 KiB
JSON

{"repo": "cheatcode-ai/cheatcode", "files": {"packages/agent-core/src/mastra/agents/general.ts": {"b947a517c9de6ebc1291cd80ffdad814cce57f0b": {"t": 1785745610.7624333, "n": 7029, "h": "e9d71c3a7ff512ce", "c": "import { createAnthropic } from \"@ai-sdk/anthropic\";\nimport { createDeepSeek } from \"@ai-sdk/deepseek\";\nimport { createGoogleGenerativeAI } from \"@ai-sdk/google\";\nimport { createOpenAI } from \"@ai-sdk/openai\";\nimport { APIError } from \"@cheatcode/observability\";\nimport { Agent } from \"@mastra/core/agent\";\nimport type { MastraModelConfig } from \"@mastra/core/llm\";\nimport type { RequestContext } from \"@mastra/core/request-context\";\nimport { createOpenRouter } from \"@openrouter/ai-sdk-provider\";\nimport {\n ANTHROPIC_API_KEY_CONTEXT_KEY,\n DEEPSEEK_API_KEY_CONTEXT_KEY,\n DEFAULT_ANTHROPIC_MODEL_ID,\n DEFAULT_DEEPSEEK_MODEL_ID,\n DEFAULT_GOOGLE_MODEL_ID,\n DEFAULT_OPENAI_MODEL_ID,\n DEFAULT_OPENROUTER_MODEL_ID,\n GOOGLE_API_KEY_CONTEXT_KEY,\n LLM_MODEL_ID_CONTEXT_KEY,\n LLM_PROVIDER_CONTEXT_KEY,\n type LlmProvider,\n type LlmTransportSelection,\n OPENAI_API_KEY_CONTEXT_KEY,\n OPENROUTER_API_KEY_CONTEXT_KEY,\n} from \"../llm-context\";\nimport { buildSystemPrompt, promptRuntimeContextFromRequestContext } from \"../system-prompt\";\nimport { cheatcodeTools } from \"../tool-defs/tool-set\";\nimport { boundedProviderFetch } from \"./provider-fetch\";\n\nexport type { LlmProvider, LlmTransportSelection } from \"../llm-context\";\n\nfunction createAnthropicByokModel(\n apiKey: string,\n modelId = DEFAULT_ANTHROPIC_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Anthropic BYOK key is required.\");\n }\n return createAnthropic({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nfunction createOpenAiByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENAI_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenAI BYOK key is required.\");\n }\n return createOpenAI({ apiKey: trimmed, fetch: boundedProviderFetch }).responses(modelId);\n}\n\nfunction createGoogleByokModel(\n apiKey: string,\n modelId = DEFAULT_GOOGLE_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Google BYOK key is required.\");\n }\n return createGoogleGenerativeAI({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nfunction createOpenRouterByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENROUTER_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenRouter BYOK key is required.\");\n }\n return createOpenRouter({\n apiKey: trimmed,\n appName: \"Cheatcode\",\n appUrl: \"https://trycheatcode.com\",\n compatibility: \"strict\",\n fetch: boundedProviderFetch,\n }).chat(modelId);\n}\n\n/**\n * DeepSeek model — serves both the included platform route and user BYOK keys.\n * Pass the bare provider id (`deepseek-v4-flash`); non-thinking mode is selected at the\n * stream call site via providerOptions so tool-calling stays clean.\n */\nfunction createDeepSeekModel(\n apiKey: string,\n modelId = DEFAULT_DEEPSEEK_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"DeepSeek key is required.\");\n }\n return createDeepSeek({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nexport function resolveRequestedLlmTransport(model: string): LlmTransportSelection {\n const requested = model.trim();\n if (!requested) {\n throw new Error(\"Model selection is required.\");\n }\n\n if (requested.startsWith(\"anthropic/\")) {\n return requestedModel(\"anthropic\", requested.slice(\"anthropic/\".length));\n }\n if (requested.startsWith(\"openai/\")) {\n return requestedModel(\"openai\", requested.slice(\"openai/\".length));\n }\n if (requested.startsWith(\"google/\")) {\n return requestedModel(\"google\", requested.slice(\"google/\".length));\n }\n if (requested.startsWith(\"openrouter/\")) {\n return requestedModel(\"openrouter\", requested.slice(\"openrouter/\".length));\n }\n if (requested.startsWith(\"deepseek/\")) {\n return requestedModel(\"deepseek\", requested.slice(\"deepseek/\".length));\n }\n\n throw new Error(`Unsupported model selection: ${requested}`);\n}\n\nfunction requestedModel(provider: LlmProvider, modelId: string): LlmTransportSelection {\n const trimmedModelId = modelId.trim();\n if (trimmedModelId.length === 0) {\n throw new Error(`Missing ${provider} model id.`);\n }\n return { provider, modelId: trimmedModelId };\n}\n\nfunction resolveGeneralModel({\n requestContext,\n}: {\n requestContext: RequestContext;\n}): MastraModelConfig {\n const provider = resolveLlmProvider(requestContext.get(LLM_PROVIDER_CONTEXT_KEY));\n const modelId = requestContext.get(LLM_MODEL_ID_CONTEXT_KEY);\n\n switch (provider) {\n case \"openai\":\n return createOpenAiByokModel(\n requiredProviderKey(requestContext, OPENAI_API_KEY_CONTEXT_KEY, \"OpenAI\", provider),\n requestedModelId(modelId, DEFAULT_OPENAI_MODEL_ID),\n );\n case \"openrouter\":\n return createOpenRouterByokModel(\n requiredProviderKey(requestContext, OPENROUTER_API_KEY_CONTEXT_KEY, \"OpenRouter\", provider),\n requestedModelId(modelId, DEFAULT_OPENROUTER_MODEL_ID),\n );\n case \"google\":\n return createGoogleByokModel(\n requiredProviderKey(requestContext, GOOGLE_API_KEY_CONTEXT_KEY, \"Google Gemini\", provider),\n requestedModelId(modelId, DEFAULT_GOOGLE_MODEL_ID),\n );\n case \"deepseek\":\n return createDeepSeekModel(\n requiredProviderKey(requestContext, DEEPSEEK_API_KEY_CONTEXT_KEY, \"DeepSeek\", provider),\n requestedModelId(modelId, DEFAULT_DEEPSEEK_MODEL_ID),\n );\n case \"anthropic\":\n return createAnthropicByokModel(\n requiredProviderKey(requestContext, ANTHROPIC_API_KEY_CONTEXT_KEY, \"Anthropic\", provider),\n requestedModelId(modelId, DEFAULT_ANTHROPIC_MODEL_ID),\n );\n }\n}\n\nfunction resolveLlmProvider(value: unknown): LlmProvider {\n if (value === \"google\" || value === \"openai\" || value === \"openrouter\" || value === \"deepseek\") {\n return value;\n }\n return \"anthropic\";\n}\n\nfunction requestedModelId(value: unknown, fallback: string): string {\n return typeof value === \"string\" ? value : fallback;\n}\n\nfunction requiredProviderKey(\n requestContext: RequestContext,\n contextKey: string,\n label: string,\n provider: LlmProvider,\n): string {\n const apiKey = requestContext.get(contextKey);\n if (typeof apiKey !== \"string\" || apiKey.trim().length === 0) {\n throw missingProviderKey(label, provider);\n }\n return apiKey;\n}\n\nfunction missingProviderKey(label: string, provider: LlmProvider): APIError {\n return new APIError(400, \"byok_key_missing\", `Add a ${label} BYOK key before starting a run.`, {\n details: { provider },\n hint: `Open BYOK Settings and save a ${label} API key.`,\n retriable: false,\n });\n}\n\nexport const generalAgent = new Agent({\n id: \"general\",\n name: \"general\",\n instructions: ({ requestContext }: { requestContext?: RequestContext }) =>\n buildSystemPrompt(promptRuntimeContextFromRequestContext(requestContext)),\n model: resolveGeneralModel,\n tools: cheatcodeTools,\n});\n"}, "96e92198ffde2d7e7df7f38a77c04341a74aaac4": {"t": 1785754781.378548, "n": 7029, "h": "e9d71c3a7ff512ce", "c": "import { createAnthropic } from \"@ai-sdk/anthropic\";\nimport { createDeepSeek } from \"@ai-sdk/deepseek\";\nimport { createGoogleGenerativeAI } from \"@ai-sdk/google\";\nimport { createOpenAI } from \"@ai-sdk/openai\";\nimport { APIError } from \"@cheatcode/observability\";\nimport { Agent } from \"@mastra/core/agent\";\nimport type { MastraModelConfig } from \"@mastra/core/llm\";\nimport type { RequestContext } from \"@mastra/core/request-context\";\nimport { createOpenRouter } from \"@openrouter/ai-sdk-provider\";\nimport {\n ANTHROPIC_API_KEY_CONTEXT_KEY,\n DEEPSEEK_API_KEY_CONTEXT_KEY,\n DEFAULT_ANTHROPIC_MODEL_ID,\n DEFAULT_DEEPSEEK_MODEL_ID,\n DEFAULT_GOOGLE_MODEL_ID,\n DEFAULT_OPENAI_MODEL_ID,\n DEFAULT_OPENROUTER_MODEL_ID,\n GOOGLE_API_KEY_CONTEXT_KEY,\n LLM_MODEL_ID_CONTEXT_KEY,\n LLM_PROVIDER_CONTEXT_KEY,\n type LlmProvider,\n type LlmTransportSelection,\n OPENAI_API_KEY_CONTEXT_KEY,\n OPENROUTER_API_KEY_CONTEXT_KEY,\n} from \"../llm-context\";\nimport { buildSystemPrompt, promptRuntimeContextFromRequestContext } from \"../system-prompt\";\nimport { cheatcodeTools } from \"../tool-defs/tool-set\";\nimport { boundedProviderFetch } from \"./provider-fetch\";\n\nexport type { LlmProvider, LlmTransportSelection } from \"../llm-context\";\n\nfunction createAnthropicByokModel(\n apiKey: string,\n modelId = DEFAULT_ANTHROPIC_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Anthropic BYOK key is required.\");\n }\n return createAnthropic({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nfunction createOpenAiByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENAI_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenAI BYOK key is required.\");\n }\n return createOpenAI({ apiKey: trimmed, fetch: boundedProviderFetch }).responses(modelId);\n}\n\nfunction createGoogleByokModel(\n apiKey: string,\n modelId = DEFAULT_GOOGLE_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Google BYOK key is required.\");\n }\n return createGoogleGenerativeAI({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nfunction createOpenRouterByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENROUTER_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenRouter BYOK key is required.\");\n }\n return createOpenRouter({\n apiKey: trimmed,\n appName: \"Cheatcode\",\n appUrl: \"https://trycheatcode.com\",\n compatibility: \"strict\",\n fetch: boundedProviderFetch,\n }).chat(modelId);\n}\n\n/**\n * DeepSeek model — serves both the included platform route and user BYOK keys.\n * Pass the bare provider id (`deepseek-v4-flash`); non-thinking mode is selected at the\n * stream call site via providerOptions so tool-calling stays clean.\n */\nfunction createDeepSeekModel(\n apiKey: string,\n modelId = DEFAULT_DEEPSEEK_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"DeepSeek key is required.\");\n }\n return createDeepSeek({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nexport function resolveRequestedLlmTransport(model: string): LlmTransportSelection {\n const requested = model.trim();\n if (!requested) {\n throw new Error(\"Model selection is required.\");\n }\n\n if (requested.startsWith(\"anthropic/\")) {\n return requestedModel(\"anthropic\", requested.slice(\"anthropic/\".length));\n }\n if (requested.startsWith(\"openai/\")) {\n return requestedModel(\"openai\", requested.slice(\"openai/\".length));\n }\n if (requested.startsWith(\"google/\")) {\n return requestedModel(\"google\", requested.slice(\"google/\".length));\n }\n if (requested.startsWith(\"openrouter/\")) {\n return requestedModel(\"openrouter\", requested.slice(\"openrouter/\".length));\n }\n if (requested.startsWith(\"deepseek/\")) {\n return requestedModel(\"deepseek\", requested.slice(\"deepseek/\".length));\n }\n\n throw new Error(`Unsupported model selection: ${requested}`);\n}\n\nfunction requestedModel(provider: LlmProvider, modelId: string): LlmTransportSelection {\n const trimmedModelId = modelId.trim();\n if (trimmedModelId.length === 0) {\n throw new Error(`Missing ${provider} model id.`);\n }\n return { provider, modelId: trimmedModelId };\n}\n\nfunction resolveGeneralModel({\n requestContext,\n}: {\n requestContext: RequestContext;\n}): MastraModelConfig {\n const provider = resolveLlmProvider(requestContext.get(LLM_PROVIDER_CONTEXT_KEY));\n const modelId = requestContext.get(LLM_MODEL_ID_CONTEXT_KEY);\n\n switch (provider) {\n case \"openai\":\n return createOpenAiByokModel(\n requiredProviderKey(requestContext, OPENAI_API_KEY_CONTEXT_KEY, \"OpenAI\", provider),\n requestedModelId(modelId, DEFAULT_OPENAI_MODEL_ID),\n );\n case \"openrouter\":\n return createOpenRouterByokModel(\n requiredProviderKey(requestContext, OPENROUTER_API_KEY_CONTEXT_KEY, \"OpenRouter\", provider),\n requestedModelId(modelId, DEFAULT_OPENROUTER_MODEL_ID),\n );\n case \"google\":\n return createGoogleByokModel(\n requiredProviderKey(requestContext, GOOGLE_API_KEY_CONTEXT_KEY, \"Google Gemini\", provider),\n requestedModelId(modelId, DEFAULT_GOOGLE_MODEL_ID),\n );\n case \"deepseek\":\n return createDeepSeekModel(\n requiredProviderKey(requestContext, DEEPSEEK_API_KEY_CONTEXT_KEY, \"DeepSeek\", provider),\n requestedModelId(modelId, DEFAULT_DEEPSEEK_MODEL_ID),\n );\n case \"anthropic\":\n return createAnthropicByokModel(\n requiredProviderKey(requestContext, ANTHROPIC_API_KEY_CONTEXT_KEY, \"Anthropic\", provider),\n requestedModelId(modelId, DEFAULT_ANTHROPIC_MODEL_ID),\n );\n }\n}\n\nfunction resolveLlmProvider(value: unknown): LlmProvider {\n if (value === \"google\" || value === \"openai\" || value === \"openrouter\" || value === \"deepseek\") {\n return value;\n }\n return \"anthropic\";\n}\n\nfunction requestedModelId(value: unknown, fallback: string): string {\n return typeof value === \"string\" ? value : fallback;\n}\n\nfunction requiredProviderKey(\n requestContext: RequestContext,\n contextKey: string,\n label: string,\n provider: LlmProvider,\n): string {\n const apiKey = requestContext.get(contextKey);\n if (typeof apiKey !== \"string\" || apiKey.trim().length === 0) {\n throw missingProviderKey(label, provider);\n }\n return apiKey;\n}\n\nfunction missingProviderKey(label: string, provider: LlmProvider): APIError {\n return new APIError(400, \"byok_key_missing\", `Add a ${label} BYOK key before starting a run.`, {\n details: { provider },\n hint: `Open BYOK Settings and save a ${label} API key.`,\n retriable: false,\n });\n}\n\nexport const generalAgent = new Agent({\n id: \"general\",\n name: \"general\",\n instructions: ({ requestContext }: { requestContext?: RequestContext }) =>\n buildSystemPrompt(promptRuntimeContextFromRequestContext(requestContext)),\n model: resolveGeneralModel,\n tools: cheatcodeTools,\n});\n"}, "a80c21e17f3d20385acf9a6788992a39617a8248": {"t": 1785754782.7702584, "n": 7025, "h": "58766368b51d27e4", "c": "import { createAnthropic } from \"@ai-sdk/anthropic\";\nimport { createDeepSeek } from \"@ai-sdk/deepseek\";\nimport { createGoogleGenerativeAI } from \"@ai-sdk/google\";\nimport { createOpenAI } from \"@ai-sdk/openai\";\nimport { APIError } from \"@cheatcode/observability\";\nimport { Agent } from \"@mastra/core/agent\";\nimport type { MastraModelConfig } from \"@mastra/core/llm\";\nimport type { RequestContext } from \"@mastra/core/request-context\";\nimport { createOpenRouter } from \"@openrouter/ai-sdk-provider\";\nimport {\n ANTHROPIC_API_KEY_CONTEXT_KEY,\n DEEPSEEK_API_KEY_CONTEXT_KEY,\n DEFAULT_ANTHROPIC_MODEL_ID,\n DEFAULT_DEEPSEEK_MODEL_ID,\n DEFAULT_GOOGLE_MODEL_ID,\n DEFAULT_OPENAI_MODEL_ID,\n DEFAULT_OPENROUTER_MODEL_ID,\n GOOGLE_API_KEY_CONTEXT_KEY,\n LLM_MODEL_ID_CONTEXT_KEY,\n LLM_PROVIDER_CONTEXT_KEY,\n type LlmProvider,\n type LlmTransportSelection,\n OPENAI_API_KEY_CONTEXT_KEY,\n OPENROUTER_API_KEY_CONTEXT_KEY,\n} from \"../llm-context\";\nimport { buildSystemPrompt, promptRuntimeContextFromRequestContext } from \"../system-prompt\";\nimport { cheatcodeTools } from \"../tools/tool-set\";\nimport { boundedProviderFetch } from \"./provider-fetch\";\n\nexport type { LlmProvider, LlmTransportSelection } from \"../llm-context\";\n\nfunction createAnthropicByokModel(\n apiKey: string,\n modelId = DEFAULT_ANTHROPIC_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Anthropic BYOK key is required.\");\n }\n return createAnthropic({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nfunction createOpenAiByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENAI_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenAI BYOK key is required.\");\n }\n return createOpenAI({ apiKey: trimmed, fetch: boundedProviderFetch }).responses(modelId);\n}\n\nfunction createGoogleByokModel(\n apiKey: string,\n modelId = DEFAULT_GOOGLE_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Google BYOK key is required.\");\n }\n return createGoogleGenerativeAI({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nfunction createOpenRouterByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENROUTER_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenRouter BYOK key is required.\");\n }\n return createOpenRouter({\n apiKey: trimmed,\n appName: \"Cheatcode\",\n appUrl: \"https://trycheatcode.com\",\n compatibility: \"strict\",\n fetch: boundedProviderFetch,\n }).chat(modelId);\n}\n\n/**\n * DeepSeek model — serves both the included platform route and user BYOK keys.\n * Pass the bare provider id (`deepseek-v4-flash`); non-thinking mode is selected at the\n * stream call site via providerOptions so tool-calling stays clean.\n */\nfunction createDeepSeekModel(\n apiKey: string,\n modelId = DEFAULT_DEEPSEEK_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"DeepSeek key is required.\");\n }\n return createDeepSeek({ apiKey: trimmed, fetch: boundedProviderFetch })(modelId);\n}\n\nexport function resolveRequestedLlmTransport(model: string): LlmTransportSelection {\n const requested = model.trim();\n if (!requested) {\n throw new Error(\"Model selection is required.\");\n }\n\n if (requested.startsWith(\"anthropic/\")) {\n return requestedModel(\"anthropic\", requested.slice(\"anthropic/\".length));\n }\n if (requested.startsWith(\"openai/\")) {\n return requestedModel(\"openai\", requested.slice(\"openai/\".length));\n }\n if (requested.startsWith(\"google/\")) {\n return requestedModel(\"google\", requested.slice(\"google/\".length));\n }\n if (requested.startsWith(\"openrouter/\")) {\n return requestedModel(\"openrouter\", requested.slice(\"openrouter/\".length));\n }\n if (requested.startsWith(\"deepseek/\")) {\n return requestedModel(\"deepseek\", requested.slice(\"deepseek/\".length));\n }\n\n throw new Error(`Unsupported model selection: ${requested}`);\n}\n\nfunction requestedModel(provider: LlmProvider, modelId: string): LlmTransportSelection {\n const trimmedModelId = modelId.trim();\n if (trimmedModelId.length === 0) {\n throw new Error(`Missing ${provider} model id.`);\n }\n return { provider, modelId: trimmedModelId };\n}\n\nfunction resolveGeneralModel({\n requestContext,\n}: {\n requestContext: RequestContext;\n}): MastraModelConfig {\n const provider = resolveLlmProvider(requestContext.get(LLM_PROVIDER_CONTEXT_KEY));\n const modelId = requestContext.get(LLM_MODEL_ID_CONTEXT_KEY);\n\n switch (provider) {\n case \"openai\":\n return createOpenAiByokModel(\n requiredProviderKey(requestContext, OPENAI_API_KEY_CONTEXT_KEY, \"OpenAI\", provider),\n requestedModelId(modelId, DEFAULT_OPENAI_MODEL_ID),\n );\n case \"openrouter\":\n return createOpenRouterByokModel(\n requiredProviderKey(requestContext, OPENROUTER_API_KEY_CONTEXT_KEY, \"OpenRouter\", provider),\n requestedModelId(modelId, DEFAULT_OPENROUTER_MODEL_ID),\n );\n case \"google\":\n return createGoogleByokModel(\n requiredProviderKey(requestContext, GOOGLE_API_KEY_CONTEXT_KEY, \"Google Gemini\", provider),\n requestedModelId(modelId, DEFAULT_GOOGLE_MODEL_ID),\n );\n case \"deepseek\":\n return createDeepSeekModel(\n requiredProviderKey(requestContext, DEEPSEEK_API_KEY_CONTEXT_KEY, \"DeepSeek\", provider),\n requestedModelId(modelId, DEFAULT_DEEPSEEK_MODEL_ID),\n );\n case \"anthropic\":\n return createAnthropicByokModel(\n requiredProviderKey(requestContext, ANTHROPIC_API_KEY_CONTEXT_KEY, \"Anthropic\", provider),\n requestedModelId(modelId, DEFAULT_ANTHROPIC_MODEL_ID),\n );\n }\n}\n\nfunction resolveLlmProvider(value: unknown): LlmProvider {\n if (value === \"google\" || value === \"openai\" || value === \"openrouter\" || value === \"deepseek\") {\n return value;\n }\n return \"anthropic\";\n}\n\nfunction requestedModelId(value: unknown, fallback: string): string {\n return typeof value === \"string\" ? value : fallback;\n}\n\nfunction requiredProviderKey(\n requestContext: RequestContext,\n contextKey: string,\n label: string,\n provider: LlmProvider,\n): string {\n const apiKey = requestContext.get(contextKey);\n if (typeof apiKey !== \"string\" || apiKey.trim().length === 0) {\n throw missingProviderKey(label, provider);\n }\n return apiKey;\n}\n\nfunction missingProviderKey(label: string, provider: LlmProvider): APIError {\n return new APIError(400, \"byok_key_missing\", `Add a ${label} BYOK key before starting a run.`, {\n details: { provider },\n hint: `Open BYOK Settings and save a ${label} API key.`,\n retriable: false,\n });\n}\n\nexport const generalAgent = new Agent({\n id: \"general\",\n name: \"general\",\n instructions: ({ requestContext }: { requestContext?: RequestContext }) =>\n buildSystemPrompt(promptRuntimeContextFromRequestContext(requestContext)),\n model: resolveGeneralModel,\n tools: cheatcodeTools,\n});\n"}, "3336016022d8955fbb8b2a35ad674970cdf6fef8": {"t": 1785754784.5748196, "n": 6819, "h": "c2fc866828ff960c", "c": "import { createAnthropic } from \"@ai-sdk/anthropic\";\nimport { createDeepSeek } from \"@ai-sdk/deepseek\";\nimport { createGoogleGenerativeAI } from \"@ai-sdk/google\";\nimport { createOpenAI } from \"@ai-sdk/openai\";\nimport { APIError } from \"@cheatcode/observability\";\nimport { Agent } from \"@mastra/core/agent\";\nimport type { MastraModelConfig } from \"@mastra/core/llm\";\nimport type { RequestContext } from \"@mastra/core/request-context\";\nimport { createOpenRouter } from \"@openrouter/ai-sdk-provider\";\nimport {\n ANTHROPIC_API_KEY_CONTEXT_KEY,\n DEEPSEEK_API_KEY_CONTEXT_KEY,\n DEFAULT_ANTHROPIC_MODEL_ID,\n DEFAULT_DEEPSEEK_MODEL_ID,\n DEFAULT_GOOGLE_MODEL_ID,\n DEFAULT_OPENAI_MODEL_ID,\n DEFAULT_OPENROUTER_MODEL_ID,\n GOOGLE_API_KEY_CONTEXT_KEY,\n LLM_MODEL_ID_CONTEXT_KEY,\n LLM_PROVIDER_CONTEXT_KEY,\n type LlmProvider,\n type LlmTransportSelection,\n OPENAI_API_KEY_CONTEXT_KEY,\n OPENROUTER_API_KEY_CONTEXT_KEY,\n} from \"../llm-context\";\nimport { buildSystemPrompt, promptRuntimeContextFromRequestContext } from \"../system-prompt\";\nimport { cheatcodeTools } from \"../tools/tool-set\";\n\nexport type { LlmProvider, LlmTransportSelection } from \"../llm-context\";\n\nfunction createAnthropicByokModel(\n apiKey: string,\n modelId = DEFAULT_ANTHROPIC_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Anthropic BYOK key is required.\");\n }\n return createAnthropic({ apiKey: trimmed })(modelId);\n}\n\nfunction createOpenAiByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENAI_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenAI BYOK key is required.\");\n }\n return createOpenAI({ apiKey: trimmed }).responses(modelId);\n}\n\nfunction createGoogleByokModel(\n apiKey: string,\n modelId = DEFAULT_GOOGLE_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Google BYOK key is required.\");\n }\n return createGoogleGenerativeAI({ apiKey: trimmed })(modelId);\n}\n\nfunction createOpenRouterByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENROUTER_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenRouter BYOK key is required.\");\n }\n return createOpenRouter({\n apiKey: trimmed,\n appName: \"Cheatcode\",\n appUrl: \"https://trycheatcode.com\",\n compatibility: \"strict\",\n }).chat(modelId);\n}\n\n/**\n * DeepSeek model — serves both the included platform route and user BYOK keys.\n * Pass the bare provider id (`deepseek-v4-flash`); non-thinking mode is selected at the\n * stream call site via providerOptions so tool-calling stays clean.\n */\nfunction createDeepSeekModel(\n apiKey: string,\n modelId = DEFAULT_DEEPSEEK_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"DeepSeek key is required.\");\n }\n return createDeepSeek({ apiKey: trimmed })(modelId);\n}\n\nexport function resolveRequestedLlmTransport(model: string): LlmTransportSelection {\n const requested = model.trim();\n if (!requested) {\n throw new Error(\"Model selection is required.\");\n }\n\n if (requested.startsWith(\"anthropic/\")) {\n return requestedModel(\"anthropic\", requested.slice(\"anthropic/\".length));\n }\n if (requested.startsWith(\"openai/\")) {\n return requestedModel(\"openai\", requested.slice(\"openai/\".length));\n }\n if (requested.startsWith(\"google/\")) {\n return requestedModel(\"google\", requested.slice(\"google/\".length));\n }\n if (requested.startsWith(\"openrouter/\")) {\n return requestedModel(\"openrouter\", requested.slice(\"openrouter/\".length));\n }\n if (requested.startsWith(\"deepseek/\")) {\n return requestedModel(\"deepseek\", requested.slice(\"deepseek/\".length));\n }\n\n throw new Error(`Unsupported model selection: ${requested}`);\n}\n\nfunction requestedModel(provider: LlmProvider, modelId: string): LlmTransportSelection {\n const trimmedModelId = modelId.trim();\n if (trimmedModelId.length === 0) {\n throw new Error(`Missing ${provider} model id.`);\n }\n return { provider, modelId: trimmedModelId };\n}\n\nfunction resolveGeneralModel({\n requestContext,\n}: {\n requestContext: RequestContext;\n}): MastraModelConfig {\n const provider = resolveLlmProvider(requestContext.get(LLM_PROVIDER_CONTEXT_KEY));\n const modelId = requestContext.get(LLM_MODEL_ID_CONTEXT_KEY);\n\n switch (provider) {\n case \"openai\":\n return createOpenAiByokModel(\n requiredProviderKey(requestContext, OPENAI_API_KEY_CONTEXT_KEY, \"OpenAI\", provider),\n requestedModelId(modelId, DEFAULT_OPENAI_MODEL_ID),\n );\n case \"openrouter\":\n return createOpenRouterByokModel(\n requiredProviderKey(requestContext, OPENROUTER_API_KEY_CONTEXT_KEY, \"OpenRouter\", provider),\n requestedModelId(modelId, DEFAULT_OPENROUTER_MODEL_ID),\n );\n case \"google\":\n return createGoogleByokModel(\n requiredProviderKey(requestContext, GOOGLE_API_KEY_CONTEXT_KEY, \"Google Gemini\", provider),\n requestedModelId(modelId, DEFAULT_GOOGLE_MODEL_ID),\n );\n case \"deepseek\":\n return createDeepSeekModel(\n requiredProviderKey(requestContext, DEEPSEEK_API_KEY_CONTEXT_KEY, \"DeepSeek\", provider),\n requestedModelId(modelId, DEFAULT_DEEPSEEK_MODEL_ID),\n );\n case \"anthropic\":\n return createAnthropicByokModel(\n requiredProviderKey(requestContext, ANTHROPIC_API_KEY_CONTEXT_KEY, \"Anthropic\", provider),\n requestedModelId(modelId, DEFAULT_ANTHROPIC_MODEL_ID),\n );\n }\n}\n\nfunction resolveLlmProvider(value: unknown): LlmProvider {\n if (value === \"google\" || value === \"openai\" || value === \"openrouter\" || value === \"deepseek\") {\n return value;\n }\n return \"anthropic\";\n}\n\nfunction requestedModelId(value: unknown, fallback: string): string {\n return typeof value === \"string\" ? value : fallback;\n}\n\nfunction requiredProviderKey(\n requestContext: RequestContext,\n contextKey: string,\n label: string,\n provider: LlmProvider,\n): string {\n const apiKey = requestContext.get(contextKey);\n if (typeof apiKey !== \"string\" || apiKey.trim().length === 0) {\n throw missingProviderKey(label, provider);\n }\n return apiKey;\n}\n\nfunction missingProviderKey(label: string, provider: LlmProvider): APIError {\n return new APIError(400, \"byok_key_missing\", `Add a ${label} BYOK key before starting a run.`, {\n details: { provider },\n hint: `Open BYOK Settings and save a ${label} API key.`,\n retriable: false,\n });\n}\n\nexport const generalAgent = new Agent({\n id: \"general\",\n name: \"general\",\n instructions: ({ requestContext }: { requestContext?: RequestContext }) =>\n buildSystemPrompt(promptRuntimeContextFromRequestContext(requestContext)),\n model: resolveGeneralModel,\n tools: cheatcodeTools,\n});\n"}, "268e626ff2629cc6062470bfb8d8cac86ea8dfd7": {"t": 1785754786.1802537, "n": 7710, "h": "093a0c6c741f174b", "c": "import { createAnthropic } from \"@ai-sdk/anthropic\";\nimport { createDeepSeek } from \"@ai-sdk/deepseek\";\nimport { createGoogleGenerativeAI } from \"@ai-sdk/google\";\nimport { createOpenAI } from \"@ai-sdk/openai\";\nimport { APIError } from \"@cheatcode/observability\";\nimport { Agent } from \"@mastra/core/agent\";\nimport type { MastraModelConfig } from \"@mastra/core/llm\";\nimport type { RequestContext } from \"@mastra/core/request-context\";\nimport { createOpenRouter } from \"@openrouter/ai-sdk-provider\";\nimport {\n ANTHROPIC_API_KEY_CONTEXT_KEY,\n DEEPSEEK_API_KEY_CONTEXT_KEY,\n DEFAULT_ANTHROPIC_MODEL_ID,\n DEFAULT_DEEPSEEK_MODEL_ID,\n DEFAULT_GOOGLE_MODEL_ID,\n DEFAULT_OPENAI_MODEL_ID,\n DEFAULT_OPENROUTER_MODEL_ID,\n GOOGLE_API_KEY_CONTEXT_KEY,\n LLM_MODEL_ID_CONTEXT_KEY,\n LLM_PROVIDER_CONTEXT_KEY,\n type LlmModelSelection,\n type LlmProvider,\n OPENAI_API_KEY_CONTEXT_KEY,\n OPENROUTER_API_KEY_CONTEXT_KEY,\n} from \"../llm-context\";\nimport { buildSystemPrompt, promptRuntimeContextFromRequestContext } from \"../system-prompt\";\nimport { cheatcodeTools } from \"../tools/tool-set\";\n\nexport type { LlmModelSelection, LlmProvider } from \"../llm-context\";\nexport {\n ANTHROPIC_API_KEY_CONTEXT_KEY,\n DEEPSEEK_API_KEY_CONTEXT_KEY,\n DEFAULT_ANTHROPIC_MODEL_ID,\n DEFAULT_DEEPSEEK_MODEL_ID,\n DEFAULT_GOOGLE_MODEL_ID,\n DEFAULT_OPENAI_MODEL_ID,\n DEFAULT_OPENROUTER_MODEL_ID,\n GOOGLE_API_KEY_CONTEXT_KEY,\n LLM_MODEL_ID_CONTEXT_KEY,\n LLM_PROVIDER_CONTEXT_KEY,\n OPENAI_API_KEY_CONTEXT_KEY,\n OPENROUTER_API_KEY_CONTEXT_KEY,\n} from \"../llm-context\";\n\nexport function createAnthropicByokModel(\n apiKey: string,\n modelId = DEFAULT_ANTHROPIC_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Anthropic BYOK key is required.\");\n }\n return createAnthropic({ apiKey: trimmed })(modelId);\n}\n\nexport function createOpenAiByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENAI_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenAI BYOK key is required.\");\n }\n return createOpenAI({ apiKey: trimmed }).responses(modelId);\n}\n\nexport function createGoogleByokModel(\n apiKey: string,\n modelId = DEFAULT_GOOGLE_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Google BYOK key is required.\");\n }\n return createGoogleGenerativeAI({ apiKey: trimmed })(modelId);\n}\n\nexport function createOpenRouterByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENROUTER_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenRouter BYOK key is required.\");\n }\n return createOpenRouter({\n apiKey: trimmed,\n appName: \"Cheatcode\",\n appUrl: \"https://trycheatcode.com\",\n compatibility: \"strict\",\n }).chat(modelId);\n}\n\n/**\n * DeepSeek model — serves both the platform free tier (our key) and user BYOK keys.\n * Pass the bare provider id (`deepseek-v4-flash`); non-thinking mode is selected at the\n * stream call site via providerOptions so tool-calling stays clean.\n */\nexport function createDeepSeekModel(\n apiKey: string,\n modelId = DEFAULT_DEEPSEEK_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"DeepSeek key is required.\");\n }\n return createDeepSeek({ apiKey: trimmed })(modelId);\n}\n\nexport function resolveRequestedLlmModel(model: string | null | undefined): LlmModelSelection {\n const requested = model?.trim();\n if (!requested) {\n return { provider: \"anthropic\", modelId: DEFAULT_ANTHROPIC_MODEL_ID };\n }\n\n if (requested.startsWith(\"anthropic/\")) {\n return requestedModel(\"anthropic\", requested.slice(\"anthropic/\".length));\n }\n if (requested.startsWith(\"openai/\")) {\n return requestedModel(\"openai\", requested.slice(\"openai/\".length));\n }\n if (requested.startsWith(\"google/\")) {\n return requestedModel(\"google\", requested.slice(\"google/\".length));\n }\n if (requested.startsWith(\"openrouter/\")) {\n return requestedModel(\"openrouter\", requested.slice(\"openrouter/\".length));\n }\n if (requested.startsWith(\"deepseek/\")) {\n return requestedModel(\"deepseek\", requested.slice(\"deepseek/\".length));\n }\n if (requested.startsWith(\"claude-\")) {\n return requestedModel(\"anthropic\", requested);\n }\n if (requested.startsWith(\"gpt-\") || requested.startsWith(\"o1\") || requested.startsWith(\"o3\")) {\n return requestedModel(\"openai\", requested);\n }\n if (requested.startsWith(\"gemini-\")) {\n return requestedModel(\"google\", requested);\n }\n if (requested.startsWith(\"deepseek-\")) {\n return requestedModel(\"deepseek\", requested);\n }\n\n throw new Error(`Unsupported model selection: ${requested}`);\n}\n\nfunction requestedModel(provider: LlmProvider, modelId: string): LlmModelSelection {\n const trimmedModelId = modelId.trim();\n if (trimmedModelId.length === 0) {\n throw new Error(`Missing ${provider} model id.`);\n }\n return { provider, modelId: trimmedModelId };\n}\n\nfunction resolveGeneralModel({\n requestContext,\n}: {\n requestContext: RequestContext;\n}): MastraModelConfig {\n const provider = resolveLlmProvider(requestContext.get(LLM_PROVIDER_CONTEXT_KEY));\n const modelId = requestContext.get(LLM_MODEL_ID_CONTEXT_KEY);\n\n switch (provider) {\n case \"openai\":\n return createOpenAiByokModel(\n requiredProviderKey(requestContext, OPENAI_API_KEY_CONTEXT_KEY, \"OpenAI\", provider),\n requestedModelId(modelId, DEFAULT_OPENAI_MODEL_ID),\n );\n case \"openrouter\":\n return createOpenRouterByokModel(\n requiredProviderKey(requestContext, OPENROUTER_API_KEY_CONTEXT_KEY, \"OpenRouter\", provider),\n requestedModelId(modelId, DEFAULT_OPENROUTER_MODEL_ID),\n );\n case \"google\":\n return createGoogleByokModel(\n requiredProviderKey(requestContext, GOOGLE_API_KEY_CONTEXT_KEY, \"Google Gemini\", provider),\n requestedModelId(modelId, DEFAULT_GOOGLE_MODEL_ID),\n );\n case \"deepseek\":\n return createDeepSeekModel(\n requiredProviderKey(requestContext, DEEPSEEK_API_KEY_CONTEXT_KEY, \"DeepSeek\", provider),\n requestedModelId(modelId, DEFAULT_DEEPSEEK_MODEL_ID),\n );\n case \"anthropic\":\n return createAnthropicByokModel(\n requiredProviderKey(requestContext, ANTHROPIC_API_KEY_CONTEXT_KEY, \"Anthropic\", provider),\n requestedModelId(modelId, DEFAULT_ANTHROPIC_MODEL_ID),\n );\n }\n}\n\nfunction resolveLlmProvider(value: unknown): LlmProvider {\n if (value === \"google\" || value === \"openai\" || value === \"openrouter\" || value === \"deepseek\") {\n return value;\n }\n return \"anthropic\";\n}\n\nfunction requestedModelId(value: unknown, fallback: string): string {\n return typeof value === \"string\" ? value : fallback;\n}\n\nfunction requiredProviderKey(\n requestContext: RequestContext,\n contextKey: string,\n label: string,\n provider: LlmProvider,\n): string {\n const apiKey = requestContext.get(contextKey);\n if (typeof apiKey !== \"string\" || apiKey.trim().length === 0) {\n throw missingProviderKey(label, provider);\n }\n return apiKey;\n}\n\nfunction missingProviderKey(label: string, provider: LlmProvider): APIError {\n return new APIError(400, \"byok_key_missing\", `Add a ${label} BYOK key before starting a run.`, {\n details: { provider },\n hint: `Open BYOK Settings and save a ${label} API key.`,\n retriable: false,\n });\n}\n\nexport const generalAgent = new Agent({\n id: \"general\",\n name: \"general\",\n instructions: ({ requestContext }: { requestContext?: RequestContext }) =>\n buildSystemPrompt(promptRuntimeContextFromRequestContext(requestContext)),\n model: resolveGeneralModel,\n tools: cheatcodeTools,\n});\n"}, "b409916fd6a3a8aa58aa00b0eabd32518aa99dd9": {"t": 1785754787.8214216, "n": 6527, "h": "c770bf5cdef37cc3", "c": "import { createAnthropic } from \"@ai-sdk/anthropic\";\nimport { createGoogleGenerativeAI } from \"@ai-sdk/google\";\nimport { createOpenAI } from \"@ai-sdk/openai\";\nimport { APIError } from \"@cheatcode/observability\";\nimport { Agent } from \"@mastra/core/agent\";\nimport type { MastraModelConfig } from \"@mastra/core/llm\";\nimport type { RequestContext } from \"@mastra/core/request-context\";\nimport { createOpenRouter } from \"@openrouter/ai-sdk-provider\";\nimport {\n ANTHROPIC_API_KEY_CONTEXT_KEY,\n DEFAULT_ANTHROPIC_MODEL_ID,\n DEFAULT_GOOGLE_MODEL_ID,\n DEFAULT_OPENAI_MODEL_ID,\n DEFAULT_OPENROUTER_MODEL_ID,\n GOOGLE_API_KEY_CONTEXT_KEY,\n LLM_MODEL_ID_CONTEXT_KEY,\n LLM_PROVIDER_CONTEXT_KEY,\n type LlmModelSelection,\n type LlmProvider,\n OPENAI_API_KEY_CONTEXT_KEY,\n OPENROUTER_API_KEY_CONTEXT_KEY,\n} from \"../llm-context\";\nimport { buildSystemPrompt, promptRuntimeContextFromRequestContext } from \"../system-prompt\";\nimport { cheatcodeTools } from \"../tools/tool-set\";\n\nexport type { LlmModelSelection, LlmProvider } from \"../llm-context\";\nexport {\n ANTHROPIC_API_KEY_CONTEXT_KEY,\n DEFAULT_ANTHROPIC_MODEL_ID,\n DEFAULT_GOOGLE_MODEL_ID,\n DEFAULT_OPENAI_MODEL_ID,\n DEFAULT_OPENROUTER_MODEL_ID,\n GOOGLE_API_KEY_CONTEXT_KEY,\n LLM_MODEL_ID_CONTEXT_KEY,\n LLM_PROVIDER_CONTEXT_KEY,\n OPENAI_API_KEY_CONTEXT_KEY,\n OPENROUTER_API_KEY_CONTEXT_KEY,\n} from \"../llm-context\";\n\nexport function createAnthropicByokModel(\n apiKey: string,\n modelId = DEFAULT_ANTHROPIC_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Anthropic BYOK key is required.\");\n }\n return createAnthropic({ apiKey: trimmed })(modelId);\n}\n\nexport function createOpenAiByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENAI_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenAI BYOK key is required.\");\n }\n return createOpenAI({ apiKey: trimmed }).responses(modelId);\n}\n\nexport function createGoogleByokModel(\n apiKey: string,\n modelId = DEFAULT_GOOGLE_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"Google BYOK key is required.\");\n }\n return createGoogleGenerativeAI({ apiKey: trimmed })(modelId);\n}\n\nexport function createOpenRouterByokModel(\n apiKey: string,\n modelId = DEFAULT_OPENROUTER_MODEL_ID,\n): MastraModelConfig {\n const trimmed = apiKey.trim();\n if (trimmed.length === 0) {\n throw new Error(\"OpenRouter BYOK key is required.\");\n }\n return createOpenRouter({\n apiKey: trimmed,\n appName: \"Cheatcode\",\n appUrl: \"https://trycheatcode.com\",\n compatibility: \"strict\",\n }).chat(modelId);\n}\n\nexport function resolveRequestedLlmModel(model: string | null | undefined): LlmModelSelection {\n const requested = model?.trim();\n if (!requested) {\n return { provider: \"anthropic\", modelId: DEFAULT_ANTHROPIC_MODEL_ID };\n }\n\n if (requested.startsWith(\"anthropic/\")) {\n return requestedModel(\"anthropic\", requested.slice(\"anthropic/\".length));\n }\n if (requested.startsWith(\"openai/\")) {\n return requestedModel(\"openai\", requested.slice(\"openai/\".length));\n }\n if (requested.startsWith(\"google/\")) {\n return requestedModel(\"google\", requested.slice(\"google/\".length));\n }\n if (requested.startsWith(\"openrouter/\")) {\n return requestedModel(\"openrouter\", requested.slice(\"openrouter/\".length));\n }\n if (requested.startsWith(\"claude-\")) {\n return requestedModel(\"anthropic\", requested);\n }\n if (requested.startsWith(\"gpt-\") || requested.startsWith(\"o1\") || requested.startsWith(\"o3\")) {\n return requestedModel(\"openai\", requested);\n }\n if (requested.startsWith(\"gemini-\")) {\n return requestedModel(\"google\", requested);\n }\n\n throw new Error(`Unsupported model selection: ${requested}`);\n}\n\nfunction requestedModel(provider: LlmProvider, modelId: string): LlmModelSelection {\n const trimmedModelId = modelId.trim();\n if (trimmedModelId.length === 0) {\n throw new Error(`Missing ${provider} model id.`);\n }\n return { provider, modelId: trimmedModelId };\n}\n\nfunction resolveGeneralModel({\n requestContext,\n}: {\n requestContext: RequestContext;\n}): MastraModelConfig {\n const provider = resolveLlmProvider(requestContext.get(LLM_PROVIDER_CONTEXT_KEY));\n const modelId = requestContext.get(LLM_MODEL_ID_CONTEXT_KEY);\n\n switch (provider) {\n case \"openai\":\n return createOpenAiByokModel(\n requiredProviderKey(requestContext, OPENAI_API_KEY_CONTEXT_KEY, \"OpenAI\", provider),\n requestedModelId(modelId, DEFAULT_OPENAI_MODEL_ID),\n );\n case \"openrouter\":\n return createOpenRouterByokModel(\n requiredProviderKey(requestContext, OPENROUTER_API_KEY_CONTEXT_KEY, \"OpenRouter\", provider),\n requestedModelId(modelId, DEFAULT_OPENROUTER_MODEL_ID),\n );\n case \"google\":\n return createGoogleByokModel(\n requiredProviderKey(requestContext, GOOGLE_API_KEY_CONTEXT_KEY, \"Google Gemini\", provider),\n requestedModelId(modelId, DEFAULT_GOOGLE_MODEL_ID),\n );\n case \"anthropic\":\n return createAnthropicByokModel(\n requiredProviderKey(requestContext, ANTHROPIC_API_KEY_CONTEXT_KEY, \"Anthropic\", provider),\n requestedModelId(modelId, DEFAULT_ANTHROPIC_MODEL_ID),\n );\n }\n}\n\nfunction resolveLlmProvider(value: unknown): LlmProvider {\n if (value === \"google\" || value === \"openai\" || value === \"openrouter\") {\n return value;\n }\n return \"anthropic\";\n}\n\nfunction requestedModelId(value: unknown, fallback: string): string {\n return typeof value === \"string\" ? value : fallback;\n}\n\nfunction requiredProviderKey(\n requestContext: RequestContext,\n contextKey: string,\n label: string,\n provider: LlmProvider,\n): string {\n const apiKey = requestContext.get(contextKey);\n if (typeof apiKey !== \"string\" || apiKey.trim().length === 0) {\n throw missingProviderKey(label, provider);\n }\n return apiKey;\n}\n\nfunction missingProviderKey(label: string, provider: LlmProvider): APIError {\n return new APIError(400, \"byok_key_missing\", `Add a ${label} BYOK key before starting a run.`, {\n details: { provider },\n hint: `Open BYOK Settings and save a ${label} API key.`,\n retriable: false,\n });\n}\n\nexport const generalAgent = new Agent({\n id: \"general\",\n name: \"general\",\n instructions: ({ requestContext }: { requestContext?: RequestContext }) =>\n buildSystemPrompt(promptRuntimeContextFromRequestContext(requestContext)),\n model: resolveGeneralModel,\n tools: cheatcodeTools,\n});\n"}}, "packages/agent-core/src/mastra/llm-context.ts": {"e37d6a606e2dfd6f5d3e0e3e9e9113680c5fbed3": {"t": 1786068281.9165719, "n": 1452, "h": "3c604b10a85c6e1e", "c": "import {\n FALLBACK_MODEL_ID,\n INCLUDED_DEEPSEEK_MODEL_ID,\n PRODUCTION_DEFAULT_MODEL_ID,\n} from \"@cheatcode/types\";\n\nexport const ANTHROPIC_API_KEY_CONTEXT_KEY = \"anthropicApiKey\";\nexport const OPENAI_API_KEY_CONTEXT_KEY = \"openaiApiKey\";\nexport const OPENROUTER_API_KEY_CONTEXT_KEY = \"openrouterApiKey\";\nexport const DEEPSEEK_API_KEY_CONTEXT_KEY = \"deepseekApiKey\";\nexport const LLM_MODEL_ID_CONTEXT_KEY = \"llmModelId\";\nexport const LLM_PROVIDER_CONTEXT_KEY = \"llmProvider\";\nexport const DEFAULT_ANTHROPIC_MODEL_ID = providerLocalModelId(\n PRODUCTION_DEFAULT_MODEL_ID,\n \"anthropic/\",\n);\nexport const DEFAULT_GOOGLE_MODEL_ID = \"gemini-2.5-flash\";\nexport const DEFAULT_OPENAI_MODEL_ID = providerLocalModelId(FALLBACK_MODEL_ID, \"openai/\");\nexport const DEFAULT_OPENROUTER_MODEL_ID = \"openrouter/auto\";\nexport const DEFAULT_DEEPSEEK_MODEL_ID = providerLocalModelId(\n INCLUDED_DEEPSEEK_MODEL_ID,\n \"deepseek/\",\n);\n\nexport type LlmProvider = \"anthropic\" | \"openai\" | \"openrouter\" | \"deepseek\";\n\n/** Provider-local selection used only to construct the outbound SDK transport. */\nexport interface LlmTransportSelection {\n provider: LlmProvider;\n modelId: string;\n}\n\nfunction providerLocalModelId(logicalModelId: string, prefix: string): string {\n if (!logicalModelId.startsWith(prefix) || logicalModelId.length === prefix.length) {\n throw new Error(`Logical model id must start with ${prefix}`);\n }\n return logicalModelId.slice(prefix.length);\n}\n"}}}}