test: add integration tests for Vercel AI Gateway model resolution
This commit is contained in:
@@ -4137,3 +4137,405 @@ exports[`generateModelConfig mixed provider scenarios uses all providers with is
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strings when only Vercel AI Gateway is available 1`] = `
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
|
||||
"agents": {
|
||||
"atlas": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
"explore": {
|
||||
"model": "vercel/anthropic/claude-haiku-4.5",
|
||||
},
|
||||
"hephaestus": {
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
"librarian": {
|
||||
"model": "vercel/anthropic/claude-haiku-4.5",
|
||||
},
|
||||
"metis": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "high",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
"momus": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "xhigh",
|
||||
},
|
||||
"multimodal-looker": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5-nano",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
"oracle": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "high",
|
||||
},
|
||||
"prometheus": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
"sisyphus": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
"sisyphus-junior": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
},
|
||||
"categories": {
|
||||
"artistry": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
},
|
||||
],
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
"deep": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
"quick": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-haiku-4.5",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3-flash-preview",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4-mini",
|
||||
},
|
||||
"ultrabrain": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "xhigh",
|
||||
},
|
||||
"unspecified-high": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.3-codex",
|
||||
"variant": "medium",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3-flash-preview",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
"unspecified-low": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.3-codex",
|
||||
"variant": "medium",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3-flash-preview",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
"visual-engineering": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
],
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
"writing": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
],
|
||||
"model": "vercel/google/gemini-3-flash-preview",
|
||||
},
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
exports[`generateModelConfig Vercel AI Gateway provider uses vercel/ model strings with isMax20 flag 1`] = `
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/dev/assets/oh-my-opencode.schema.json",
|
||||
"agents": {
|
||||
"atlas": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
"explore": {
|
||||
"model": "vercel/anthropic/claude-haiku-4.5",
|
||||
},
|
||||
"hephaestus": {
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
"librarian": {
|
||||
"model": "vercel/anthropic/claude-haiku-4.5",
|
||||
},
|
||||
"metis": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "high",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
"momus": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "xhigh",
|
||||
},
|
||||
"multimodal-looker": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5-nano",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
"oracle": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "high",
|
||||
},
|
||||
"prometheus": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
"sisyphus": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
"sisyphus-junior": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
},
|
||||
"categories": {
|
||||
"artistry": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
},
|
||||
],
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
"deep": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "medium",
|
||||
},
|
||||
"quick": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-haiku-4.5",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3-flash-preview",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4-mini",
|
||||
},
|
||||
"ultrabrain": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
],
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "xhigh",
|
||||
},
|
||||
"unspecified-high": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.4",
|
||||
"variant": "high",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
"unspecified-low": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/openai/gpt-5.3-codex",
|
||||
"variant": "medium",
|
||||
},
|
||||
{
|
||||
"model": "vercel/google/gemini-3-flash-preview",
|
||||
},
|
||||
],
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
"visual-engineering": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-opus-4.6",
|
||||
"variant": "max",
|
||||
},
|
||||
],
|
||||
"model": "vercel/google/gemini-3.1-pro-preview",
|
||||
"variant": "high",
|
||||
},
|
||||
"writing": {
|
||||
"fallback_models": [
|
||||
{
|
||||
"model": "vercel/anthropic/claude-sonnet-4.6",
|
||||
},
|
||||
],
|
||||
"model": "vercel/google/gemini-3-flash-preview",
|
||||
},
|
||||
},
|
||||
}
|
||||
`;
|
||||
|
||||
Reference in New Issue
Block a user