// Bun Snapshot v1, https://bun.sh/docs/test/snapshots exports[`generateModelConfig no providers available returns ULTIMATE_FALLBACK for all agents and categories when no providers 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/glm-4.7-free", }, "explore": { "model": "opencode/glm-4.7-free", }, "hephaestus": { "model": "opencode/glm-4.7-free", }, "librarian": { "model": "opencode/glm-4.7-free", }, "metis": { "model": "opencode/glm-4.7-free", }, "momus": { "model": "opencode/glm-4.7-free", }, "multimodal-looker": { "model": "opencode/glm-4.7-free", }, "oracle": { "model": "opencode/glm-4.7-free", }, "prometheus": { "model": "opencode/glm-4.7-free", }, }, "categories": { "artistry": { "model": "opencode/glm-4.7-free", }, "deep": { "model": "opencode/glm-4.7-free", }, "quick": { "model": "opencode/glm-4.7-free", }, "ultrabrain": { "model": "opencode/glm-4.7-free", }, "unspecified-high": { "model": "opencode/glm-4.7-free", }, "unspecified-low": { "model": "opencode/glm-4.7-free", }, "visual-engineering": { "model": "opencode/glm-4.7-free", }, "writing": { "model": "opencode/glm-4.7-free", }, }, } `; exports[`generateModelConfig single native provider uses Claude models when only Claude is available 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "anthropic/claude-sonnet-4-5", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "librarian": { "model": "anthropic/claude-sonnet-4-5", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "multimodal-looker": { "model": "anthropic/claude-haiku-4-5", }, "oracle": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "unspecified-high": { "model": "anthropic/claude-sonnet-4-5", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "writing": { "model": "anthropic/claude-sonnet-4-5", }, }, } `; exports[`generateModelConfig single native provider uses Claude models with isMax20 flag 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "anthropic/claude-sonnet-4-5", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "librarian": { "model": "anthropic/claude-sonnet-4-5", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "multimodal-looker": { "model": "anthropic/claude-haiku-4-5", }, "oracle": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "unspecified-high": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "writing": { "model": "anthropic/claude-sonnet-4-5", }, }, } `; exports[`generateModelConfig single native provider uses OpenAI models when only OpenAI is available 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "openai/gpt-5.2", }, "explore": { "model": "opencode/gpt-5-nano", }, "hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "opencode/glm-4.7-free", }, "metis": { "model": "openai/gpt-5.2", "variant": "high", }, "momus": { "model": "openai/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "openai/gpt-5.2", }, "oracle": { "model": "openai/gpt-5.2", "variant": "high", }, "prometheus": { "model": "openai/gpt-5.2", "variant": "high", }, }, "categories": { "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "opencode/glm-4.7-free", }, "ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "unspecified-low": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "visual-engineering": { "model": "opencode/glm-4.7-free", }, "writing": { "model": "opencode/glm-4.7-free", }, }, } `; exports[`generateModelConfig single native provider uses OpenAI models with isMax20 flag 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "openai/gpt-5.2", }, "explore": { "model": "opencode/gpt-5-nano", }, "hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "opencode/glm-4.7-free", }, "metis": { "model": "openai/gpt-5.2", "variant": "high", }, "momus": { "model": "openai/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "openai/gpt-5.2", }, "oracle": { "model": "openai/gpt-5.2", "variant": "high", }, "prometheus": { "model": "openai/gpt-5.2", "variant": "high", }, }, "categories": { "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "opencode/glm-4.7-free", }, "ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "openai/gpt-5.2", "variant": "high", }, "unspecified-low": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "visual-engineering": { "model": "opencode/glm-4.7-free", }, "writing": { "model": "opencode/glm-4.7-free", }, }, } `; exports[`generateModelConfig single native provider uses Gemini models when only Gemini is available 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "google/gemini-3-pro-preview", }, "explore": { "model": "opencode/gpt-5-nano", }, "librarian": { "model": "opencode/glm-4.7-free", }, "metis": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "momus": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "multimodal-looker": { "model": "google/gemini-3-flash-preview", }, "oracle": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "prometheus": { "model": "google/gemini-3-pro-preview", }, }, "categories": { "artistry": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "quick": { "model": "google/gemini-3-flash-preview", }, "ultrabrain": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "unspecified-high": { "model": "google/gemini-3-flash-preview", }, "unspecified-low": { "model": "google/gemini-3-flash-preview", }, "visual-engineering": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "google/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig single native provider uses Gemini models with isMax20 flag 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "google/gemini-3-pro-preview", }, "explore": { "model": "opencode/gpt-5-nano", }, "librarian": { "model": "opencode/glm-4.7-free", }, "metis": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "momus": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "multimodal-looker": { "model": "google/gemini-3-flash-preview", }, "oracle": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "prometheus": { "model": "google/gemini-3-pro-preview", }, }, "categories": { "artistry": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "quick": { "model": "google/gemini-3-flash-preview", }, "ultrabrain": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "unspecified-high": { "model": "google/gemini-3-pro-preview", }, "unspecified-low": { "model": "google/gemini-3-flash-preview", }, "visual-engineering": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "google/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig all native providers uses preferred models from fallback chains when all natives available 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "anthropic/claude-sonnet-4-5", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "anthropic/claude-sonnet-4-5", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "openai/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "google/gemini-3-flash-preview", }, "oracle": { "model": "openai/gpt-5.2", "variant": "high", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "artistry": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "anthropic/claude-sonnet-4-5", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "google/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig all native providers uses preferred models with isMax20 flag when all natives available 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "anthropic/claude-sonnet-4-5", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "anthropic/claude-sonnet-4-5", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "openai/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "google/gemini-3-flash-preview", }, "oracle": { "model": "openai/gpt-5.2", "variant": "high", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "artistry": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "google/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig fallback providers uses OpenCode Zen models when only OpenCode Zen is available 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/kimi-k2.5-free", }, "explore": { "model": "opencode/claude-haiku-4-5", }, "hephaestus": { "model": "opencode/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "opencode/glm-4.7-free", }, "metis": { "model": "opencode/claude-opus-4-6", "variant": "max", }, "momus": { "model": "opencode/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "opencode/gemini-3-flash", }, "oracle": { "model": "opencode/gpt-5.2", "variant": "high", }, "prometheus": { "model": "opencode/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "opencode/claude-opus-4-6", "variant": "max", }, }, "categories": { "artistry": { "model": "opencode/gemini-3-pro", "variant": "high", }, "deep": { "model": "opencode/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "opencode/claude-haiku-4-5", }, "ultrabrain": { "model": "opencode/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "opencode/claude-sonnet-4-5", }, "unspecified-low": { "model": "opencode/claude-sonnet-4-5", }, "visual-engineering": { "model": "opencode/gemini-3-pro", "variant": "high", }, "writing": { "model": "opencode/gemini-3-flash", }, }, } `; exports[`generateModelConfig fallback providers uses OpenCode Zen models with isMax20 flag 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/kimi-k2.5-free", }, "explore": { "model": "opencode/claude-haiku-4-5", }, "hephaestus": { "model": "opencode/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "opencode/glm-4.7-free", }, "metis": { "model": "opencode/claude-opus-4-6", "variant": "max", }, "momus": { "model": "opencode/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "opencode/gemini-3-flash", }, "oracle": { "model": "opencode/gpt-5.2", "variant": "high", }, "prometheus": { "model": "opencode/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "opencode/claude-opus-4-6", "variant": "max", }, }, "categories": { "artistry": { "model": "opencode/gemini-3-pro", "variant": "high", }, "deep": { "model": "opencode/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "opencode/claude-haiku-4-5", }, "ultrabrain": { "model": "opencode/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "opencode/claude-opus-4-6", "variant": "max", }, "unspecified-low": { "model": "opencode/claude-sonnet-4-5", }, "visual-engineering": { "model": "opencode/gemini-3-pro", "variant": "high", }, "writing": { "model": "opencode/gemini-3-flash", }, }, } `; exports[`generateModelConfig fallback providers uses GitHub Copilot models when only Copilot is available 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "github-copilot/claude-sonnet-4.5", }, "explore": { "model": "github-copilot/gpt-5-mini", }, "hephaestus": { "model": "github-copilot/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "github-copilot/claude-sonnet-4.5", }, "metis": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "momus": { "model": "github-copilot/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "github-copilot/gemini-3-flash-preview", }, "oracle": { "model": "github-copilot/gpt-5.2", "variant": "high", }, "prometheus": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "sisyphus": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, }, "categories": { "artistry": { "model": "github-copilot/gemini-3-pro-preview", "variant": "high", }, "deep": { "model": "github-copilot/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "github-copilot/claude-haiku-4.5", }, "ultrabrain": { "model": "github-copilot/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "github-copilot/claude-sonnet-4.5", }, "unspecified-low": { "model": "github-copilot/claude-sonnet-4.5", }, "visual-engineering": { "model": "github-copilot/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "github-copilot/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig fallback providers uses GitHub Copilot models with isMax20 flag 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "github-copilot/claude-sonnet-4.5", }, "explore": { "model": "github-copilot/gpt-5-mini", }, "hephaestus": { "model": "github-copilot/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "github-copilot/claude-sonnet-4.5", }, "metis": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "momus": { "model": "github-copilot/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "github-copilot/gemini-3-flash-preview", }, "oracle": { "model": "github-copilot/gpt-5.2", "variant": "high", }, "prometheus": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "sisyphus": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, }, "categories": { "artistry": { "model": "github-copilot/gemini-3-pro-preview", "variant": "high", }, "deep": { "model": "github-copilot/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "github-copilot/claude-haiku-4.5", }, "ultrabrain": { "model": "github-copilot/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "unspecified-low": { "model": "github-copilot/claude-sonnet-4.5", }, "visual-engineering": { "model": "github-copilot/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "github-copilot/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig fallback providers uses ZAI model for librarian when only ZAI is available 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/glm-4.7-free", }, "explore": { "model": "opencode/gpt-5-nano", }, "librarian": { "model": "zai-coding-plan/glm-4.7", }, "metis": { "model": "opencode/glm-4.7-free", }, "momus": { "model": "opencode/glm-4.7-free", }, "multimodal-looker": { "model": "zai-coding-plan/glm-4.6v", }, "oracle": { "model": "opencode/glm-4.7-free", }, "prometheus": { "model": "opencode/glm-4.7-free", }, "sisyphus": { "model": "zai-coding-plan/glm-4.7", }, }, "categories": { "quick": { "model": "opencode/glm-4.7-free", }, "ultrabrain": { "model": "opencode/glm-4.7-free", }, "unspecified-high": { "model": "opencode/glm-4.7-free", }, "unspecified-low": { "model": "opencode/glm-4.7-free", }, "visual-engineering": { "model": "zai-coding-plan/glm-5", }, "writing": { "model": "opencode/glm-4.7-free", }, }, } `; exports[`generateModelConfig fallback providers uses ZAI model for librarian with isMax20 flag 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/glm-4.7-free", }, "explore": { "model": "opencode/gpt-5-nano", }, "librarian": { "model": "zai-coding-plan/glm-4.7", }, "metis": { "model": "opencode/glm-4.7-free", }, "momus": { "model": "opencode/glm-4.7-free", }, "multimodal-looker": { "model": "zai-coding-plan/glm-4.6v", }, "oracle": { "model": "opencode/glm-4.7-free", }, "prometheus": { "model": "opencode/glm-4.7-free", }, "sisyphus": { "model": "zai-coding-plan/glm-4.7", }, }, "categories": { "quick": { "model": "opencode/glm-4.7-free", }, "ultrabrain": { "model": "opencode/glm-4.7-free", }, "unspecified-high": { "model": "opencode/glm-4.7-free", }, "unspecified-low": { "model": "opencode/glm-4.7-free", }, "visual-engineering": { "model": "zai-coding-plan/glm-5", }, "writing": { "model": "opencode/glm-4.7-free", }, }, } `; exports[`generateModelConfig mixed provider scenarios uses Claude + OpenCode Zen combination 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/kimi-k2.5-free", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "hephaestus": { "model": "opencode/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "opencode/glm-4.7-free", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "opencode/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "opencode/gemini-3-flash", }, "oracle": { "model": "opencode/gpt-5.2", "variant": "high", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "artistry": { "model": "opencode/gemini-3-pro", "variant": "high", }, "deep": { "model": "opencode/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "opencode/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "anthropic/claude-sonnet-4-5", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "opencode/gemini-3-pro", "variant": "high", }, "writing": { "model": "opencode/gemini-3-flash", }, }, } `; exports[`generateModelConfig mixed provider scenarios uses OpenAI + Copilot combination 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "github-copilot/claude-sonnet-4.5", }, "explore": { "model": "github-copilot/gpt-5-mini", }, "hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "github-copilot/claude-sonnet-4.5", }, "metis": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "momus": { "model": "openai/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "github-copilot/gemini-3-flash-preview", }, "oracle": { "model": "openai/gpt-5.2", "variant": "high", }, "prometheus": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "sisyphus": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, }, "categories": { "artistry": { "model": "github-copilot/gemini-3-pro-preview", "variant": "high", }, "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "github-copilot/claude-haiku-4.5", }, "ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "github-copilot/claude-sonnet-4.5", }, "unspecified-low": { "model": "github-copilot/claude-sonnet-4.5", }, "visual-engineering": { "model": "github-copilot/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "github-copilot/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig mixed provider scenarios uses Claude + ZAI combination (librarian uses ZAI) 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "anthropic/claude-sonnet-4-5", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "librarian": { "model": "zai-coding-plan/glm-4.7", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "multimodal-looker": { "model": "zai-coding-plan/glm-4.6v", }, "oracle": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "unspecified-high": { "model": "anthropic/claude-sonnet-4-5", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "zai-coding-plan/glm-5", }, "writing": { "model": "anthropic/claude-sonnet-4-5", }, }, } `; exports[`generateModelConfig mixed provider scenarios uses Gemini + Claude combination (explore uses Gemini) 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "anthropic/claude-sonnet-4-5", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "librarian": { "model": "anthropic/claude-sonnet-4-5", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "multimodal-looker": { "model": "google/gemini-3-flash-preview", }, "oracle": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "artistry": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "unspecified-high": { "model": "anthropic/claude-sonnet-4-5", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "google/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig mixed provider scenarios uses all fallback providers together 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/kimi-k2.5-free", }, "explore": { "model": "opencode/claude-haiku-4-5", }, "hephaestus": { "model": "github-copilot/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "zai-coding-plan/glm-4.7", }, "metis": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "momus": { "model": "github-copilot/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "github-copilot/gemini-3-flash-preview", }, "oracle": { "model": "github-copilot/gpt-5.2", "variant": "high", }, "prometheus": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, "sisyphus": { "model": "github-copilot/claude-opus-4.6", "variant": "max", }, }, "categories": { "artistry": { "model": "github-copilot/gemini-3-pro-preview", "variant": "high", }, "deep": { "model": "github-copilot/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "github-copilot/claude-haiku-4.5", }, "ultrabrain": { "model": "github-copilot/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "github-copilot/claude-sonnet-4.5", }, "unspecified-low": { "model": "github-copilot/claude-sonnet-4.5", }, "visual-engineering": { "model": "github-copilot/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "github-copilot/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig mixed provider scenarios uses all providers together 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/kimi-k2.5-free", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "zai-coding-plan/glm-4.7", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "openai/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "google/gemini-3-flash-preview", }, "oracle": { "model": "openai/gpt-5.2", "variant": "high", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "artistry": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "anthropic/claude-sonnet-4-5", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "google/gemini-3-flash-preview", }, }, } `; exports[`generateModelConfig mixed provider scenarios uses all providers with isMax20 flag 1`] = ` { "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json", "agents": { "atlas": { "model": "opencode/kimi-k2.5-free", }, "explore": { "model": "anthropic/claude-haiku-4-5", }, "hephaestus": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "librarian": { "model": "zai-coding-plan/glm-4.7", }, "metis": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "momus": { "model": "openai/gpt-5.2", "variant": "medium", }, "multimodal-looker": { "model": "google/gemini-3-flash-preview", }, "oracle": { "model": "openai/gpt-5.2", "variant": "high", }, "prometheus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "sisyphus": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, }, "categories": { "artistry": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "deep": { "model": "openai/gpt-5.3-codex", "variant": "medium", }, "quick": { "model": "anthropic/claude-haiku-4-5", }, "ultrabrain": { "model": "openai/gpt-5.3-codex", "variant": "xhigh", }, "unspecified-high": { "model": "anthropic/claude-opus-4-6", "variant": "max", }, "unspecified-low": { "model": "anthropic/claude-sonnet-4-5", }, "visual-engineering": { "model": "google/gemini-3-pro-preview", "variant": "high", }, "writing": { "model": "google/gemini-3-flash-preview", }, }, } `;