Problem
Model resolution in src/mastra/config/model.ts hardcodes createOpenAI with an OpenRouter base URL. This locks out users who want to use Azure OpenAI, Anthropic direct, local Ollama, or other providers. The llm:// URI scheme is designed for provider abstraction, but the runtime doesn't fully utilize it.
Goal
Support multiple model providers via the existing llm:// URI scheme using llm-strings for provider-specific adapter creation.
Acceptance Criteria
Context
llm-strings already exports parse, normalize, and build functions
AGENTS.md says: "Use llm-strings directly at adapter boundaries: parse for model/host, normalize for canonical generation params, build for connection strings"
- The
.env.example already has placeholders for alternate model providers
Labels
infrastructure, tier-3-virality-polish, help wanted
Problem
Model resolution in
src/mastra/config/model.tshardcodescreateOpenAIwith an OpenRouter base URL. This locks out users who want to use Azure OpenAI, Anthropic direct, local Ollama, or other providers. Thellm://URI scheme is designed for provider abstraction, but the runtime doesn't fully utilize it.Goal
Support multiple model providers via the existing
llm://URI scheme usingllm-stringsfor provider-specific adapter creation.Acceptance Criteria
src/mastra/config/model.tsfor hardcoded OpenRouter assumptionsllm-stringsto resolve provider from URI (openrouter, azure, anthropic, ollama, etc.)@ai-sdk/openaiwith custom baseURL)@ai-sdk/azure)@ai-sdk/anthropic)@ai-sdk/ollamaor OpenAI-compatible).env.exampleContext
llm-stringsalready exportsparse,normalize, andbuildfunctionsAGENTS.mdsays: "Usellm-stringsdirectly at adapter boundaries:parsefor model/host,normalizefor canonical generation params,buildfor connection strings".env.examplealready has placeholders for alternate model providersLabels
infrastructure,tier-3-virality-polish,help wanted