Compare commits
8 Commits
feat/imple
...
task-maste
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2df4f13f65 | ||
|
|
a37017e5a5 | ||
|
|
fb7d588137 | ||
|
|
bdb11fb2db | ||
|
|
4423119a5e | ||
|
|
7b90568326 | ||
|
|
9b0630fdf1 | ||
|
|
ced04bddd3 |
5
.changeset/fix-gemini-cli-dependency.md
Normal file
5
.changeset/fix-gemini-cli-dependency.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"task-master-ai": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix compatibility with @google/gemini-cli-core v0.1.12+ by updating ai-sdk-provider-gemini-cli to v0.1.1.
|
||||||
10
.changeset/quiet-rabbits-bathe.md
Normal file
10
.changeset/quiet-rabbits-bathe.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
"task-master-ai": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix max_tokens limits for OpenRouter and Groq models
|
||||||
|
|
||||||
|
- Add special handling in config-manager.js for custom OpenRouter models to use a conservative default of 32,768 max_tokens
|
||||||
|
- Update qwen/qwen-turbo model max_tokens from 1,000,000 to 32,768 to match OpenRouter's actual limits
|
||||||
|
- Fix moonshotai/kimi-k2-instruct max_tokens to 16,384 to match Groq's actual limit (fixes #1028)
|
||||||
|
- This prevents "maximum context length exceeded" errors when using OpenRouter models not in our supported models list
|
||||||
14
.github/workflows/pre-release.yml
vendored
14
.github/workflows/pre-release.yml
vendored
@@ -16,7 +16,7 @@ jobs:
|
|||||||
- uses: actions/setup-node@v4
|
- uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: 20
|
node-version: 20
|
||||||
cache: 'npm'
|
cache: "npm"
|
||||||
|
|
||||||
- name: Cache node_modules
|
- name: Cache node_modules
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
@@ -32,10 +32,13 @@ jobs:
|
|||||||
run: npm ci
|
run: npm ci
|
||||||
timeout-minutes: 2
|
timeout-minutes: 2
|
||||||
|
|
||||||
- name: Enter RC mode
|
- name: Enter RC mode (if not already in RC mode)
|
||||||
run: |
|
run: |
|
||||||
npx changeset pre exit || true
|
# ensure we’re in the right pre-mode (tag "rc")
|
||||||
|
if [ ! -f .changeset/pre.json ] \
|
||||||
|
|| [ "$(jq -r '.tag' .changeset/pre.json 2>/dev/null || echo '')" != "rc" ]; then
|
||||||
npx changeset pre enter rc
|
npx changeset pre enter rc
|
||||||
|
fi
|
||||||
|
|
||||||
- name: Version RC packages
|
- name: Version RC packages
|
||||||
run: npx changeset version
|
run: npx changeset version
|
||||||
@@ -51,12 +54,9 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
|
||||||
- name: Exit RC mode
|
|
||||||
run: npx changeset pre exit
|
|
||||||
|
|
||||||
- name: Commit & Push changes
|
- name: Commit & Push changes
|
||||||
uses: actions-js/push@master
|
uses: actions-js/push@master
|
||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
branch: ${{ github.ref }}
|
branch: ${{ github.ref }}
|
||||||
message: 'chore: rc version bump'
|
message: "chore: rc version bump"
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
Testing rules that you can help me improve to see how it works<!------------------------------------------------------------------------------------
|
|
||||||
Add Rules to this file or a short description and have Kiro refine them for you:
|
|
||||||
------------------------------------------------------------------------------------->
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# Available Models as of July 19, 2025
|
# Available Models as of July 23, 2025
|
||||||
|
|
||||||
## Main Models
|
## Main Models
|
||||||
|
|
||||||
@@ -48,7 +48,6 @@
|
|||||||
| openrouter | google/gemini-2.5-flash-preview-05-20 | — | 0.15 | 0.6 |
|
| openrouter | google/gemini-2.5-flash-preview-05-20 | — | 0.15 | 0.6 |
|
||||||
| openrouter | google/gemini-2.5-flash-preview-05-20:thinking | — | 0.15 | 3.5 |
|
| openrouter | google/gemini-2.5-flash-preview-05-20:thinking | — | 0.15 | 3.5 |
|
||||||
| openrouter | google/gemini-2.5-pro-exp-03-25 | — | 0 | 0 |
|
| openrouter | google/gemini-2.5-pro-exp-03-25 | — | 0 | 0 |
|
||||||
| openrouter | deepseek/deepseek-chat-v3-0324:free | — | 0 | 0 |
|
|
||||||
| openrouter | deepseek/deepseek-chat-v3-0324 | — | 0.27 | 1.1 |
|
| openrouter | deepseek/deepseek-chat-v3-0324 | — | 0.27 | 1.1 |
|
||||||
| openrouter | openai/gpt-4.1 | — | 2 | 8 |
|
| openrouter | openai/gpt-4.1 | — | 2 | 8 |
|
||||||
| openrouter | openai/gpt-4.1-mini | — | 0.4 | 1.6 |
|
| openrouter | openai/gpt-4.1-mini | — | 0.4 | 1.6 |
|
||||||
@@ -65,11 +64,9 @@
|
|||||||
| openrouter | qwen/qwen-max | — | 1.6 | 6.4 |
|
| openrouter | qwen/qwen-max | — | 1.6 | 6.4 |
|
||||||
| openrouter | qwen/qwen-turbo | — | 0.05 | 0.2 |
|
| openrouter | qwen/qwen-turbo | — | 0.05 | 0.2 |
|
||||||
| openrouter | qwen/qwen3-235b-a22b | — | 0.14 | 2 |
|
| openrouter | qwen/qwen3-235b-a22b | — | 0.14 | 2 |
|
||||||
| openrouter | mistralai/mistral-small-3.1-24b-instruct:free | — | 0 | 0 |
|
|
||||||
| openrouter | mistralai/mistral-small-3.1-24b-instruct | — | 0.1 | 0.3 |
|
| openrouter | mistralai/mistral-small-3.1-24b-instruct | — | 0.1 | 0.3 |
|
||||||
| openrouter | mistralai/devstral-small | — | 0.1 | 0.3 |
|
| openrouter | mistralai/devstral-small | — | 0.1 | 0.3 |
|
||||||
| openrouter | mistralai/mistral-nemo | — | 0.03 | 0.07 |
|
| openrouter | mistralai/mistral-nemo | — | 0.03 | 0.07 |
|
||||||
| openrouter | thudm/glm-4-32b:free | — | 0 | 0 |
|
|
||||||
| ollama | devstral:latest | — | 0 | 0 |
|
| ollama | devstral:latest | — | 0 | 0 |
|
||||||
| ollama | qwen3:latest | — | 0 | 0 |
|
| ollama | qwen3:latest | — | 0 | 0 |
|
||||||
| ollama | qwen3:14b | — | 0 | 0 |
|
| ollama | qwen3:14b | — | 0 | 0 |
|
||||||
@@ -158,7 +155,6 @@
|
|||||||
| openrouter | google/gemini-2.5-flash-preview-05-20 | — | 0.15 | 0.6 |
|
| openrouter | google/gemini-2.5-flash-preview-05-20 | — | 0.15 | 0.6 |
|
||||||
| openrouter | google/gemini-2.5-flash-preview-05-20:thinking | — | 0.15 | 3.5 |
|
| openrouter | google/gemini-2.5-flash-preview-05-20:thinking | — | 0.15 | 3.5 |
|
||||||
| openrouter | google/gemini-2.5-pro-exp-03-25 | — | 0 | 0 |
|
| openrouter | google/gemini-2.5-pro-exp-03-25 | — | 0 | 0 |
|
||||||
| openrouter | deepseek/deepseek-chat-v3-0324:free | — | 0 | 0 |
|
|
||||||
| openrouter | openai/gpt-4.1 | — | 2 | 8 |
|
| openrouter | openai/gpt-4.1 | — | 2 | 8 |
|
||||||
| openrouter | openai/gpt-4.1-mini | — | 0.4 | 1.6 |
|
| openrouter | openai/gpt-4.1-mini | — | 0.4 | 1.6 |
|
||||||
| openrouter | openai/gpt-4.1-nano | — | 0.1 | 0.4 |
|
| openrouter | openai/gpt-4.1-nano | — | 0.1 | 0.4 |
|
||||||
@@ -174,10 +170,8 @@
|
|||||||
| openrouter | qwen/qwen-max | — | 1.6 | 6.4 |
|
| openrouter | qwen/qwen-max | — | 1.6 | 6.4 |
|
||||||
| openrouter | qwen/qwen-turbo | — | 0.05 | 0.2 |
|
| openrouter | qwen/qwen-turbo | — | 0.05 | 0.2 |
|
||||||
| openrouter | qwen/qwen3-235b-a22b | — | 0.14 | 2 |
|
| openrouter | qwen/qwen3-235b-a22b | — | 0.14 | 2 |
|
||||||
| openrouter | mistralai/mistral-small-3.1-24b-instruct:free | — | 0 | 0 |
|
|
||||||
| openrouter | mistralai/mistral-small-3.1-24b-instruct | — | 0.1 | 0.3 |
|
| openrouter | mistralai/mistral-small-3.1-24b-instruct | — | 0.1 | 0.3 |
|
||||||
| openrouter | mistralai/mistral-nemo | — | 0.03 | 0.07 |
|
| openrouter | mistralai/mistral-nemo | — | 0.03 | 0.07 |
|
||||||
| openrouter | thudm/glm-4-32b:free | — | 0 | 0 |
|
|
||||||
| ollama | devstral:latest | — | 0 | 0 |
|
| ollama | devstral:latest | — | 0 | 0 |
|
||||||
| ollama | qwen3:latest | — | 0 | 0 |
|
| ollama | qwen3:latest | — | 0 | 0 |
|
||||||
| ollama | qwen3:14b | — | 0 | 0 |
|
| ollama | qwen3:14b | — | 0 | 0 |
|
||||||
@@ -196,3 +190,11 @@
|
|||||||
| bedrock | us.anthropic.claude-3-5-haiku-20241022-v1:0 | 0.4 | 0.8 | 4 |
|
| bedrock | us.anthropic.claude-3-5-haiku-20241022-v1:0 | 0.4 | 0.8 | 4 |
|
||||||
| bedrock | us.anthropic.claude-opus-4-20250514-v1:0 | 0.725 | 15 | 75 |
|
| bedrock | us.anthropic.claude-opus-4-20250514-v1:0 | 0.725 | 15 | 75 |
|
||||||
| bedrock | us.anthropic.claude-sonnet-4-20250514-v1:0 | 0.727 | 3 | 15 |
|
| bedrock | us.anthropic.claude-sonnet-4-20250514-v1:0 | 0.727 | 3 | 15 |
|
||||||
|
|
||||||
|
## Unsupported Models
|
||||||
|
|
||||||
|
| Provider | Model Name | Reason |
|
||||||
|
| ---------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
|
| openrouter | deepseek/deepseek-chat-v3-0324:free | Free OpenRouter models are not supported due to severe rate limits, lack of tool use support, and other reliability issues that make them impractical for production use. |
|
||||||
|
| openrouter | mistralai/mistral-small-3.1-24b-instruct:free | Free OpenRouter models are not supported due to severe rate limits, lack of tool use support, and other reliability issues that make them impractical for production use. |
|
||||||
|
| openrouter | thudm/glm-4-32b:free | Free OpenRouter models are not supported due to severe rate limits, lack of tool use support, and other reliability issues that make them impractical for production use. |
|
||||||
|
|||||||
@@ -47,6 +47,20 @@ function generateMarkdownTable(title, models) {
|
|||||||
return table;
|
return table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function generateUnsupportedTable(models) {
|
||||||
|
if (!models || models.length === 0) {
|
||||||
|
return '## Unsupported Models\n\nNo unsupported models found.\n\n';
|
||||||
|
}
|
||||||
|
let table = '## Unsupported Models\n\n';
|
||||||
|
table += '| Provider | Model Name | Reason |\n';
|
||||||
|
table += '|---|---|---|\n';
|
||||||
|
models.forEach((model) => {
|
||||||
|
table += `| ${model.provider} | ${model.modelName} | ${model.reason || '—'} |\n`;
|
||||||
|
});
|
||||||
|
table += '\n';
|
||||||
|
return table;
|
||||||
|
}
|
||||||
|
|
||||||
function main() {
|
function main() {
|
||||||
try {
|
try {
|
||||||
const correctSupportedModelsPath = path.join(
|
const correctSupportedModelsPath = path.join(
|
||||||
@@ -68,11 +82,14 @@ function main() {
|
|||||||
const mainModels = [];
|
const mainModels = [];
|
||||||
const researchModels = [];
|
const researchModels = [];
|
||||||
const fallbackModels = [];
|
const fallbackModels = [];
|
||||||
|
const unsupportedModels = [];
|
||||||
|
|
||||||
for (const provider in supportedModels) {
|
for (const provider in supportedModels) {
|
||||||
if (Object.hasOwnProperty.call(supportedModels, provider)) {
|
if (Object.hasOwnProperty.call(supportedModels, provider)) {
|
||||||
const models = supportedModels[provider];
|
const models = supportedModels[provider];
|
||||||
models.forEach((model) => {
|
models.forEach((model) => {
|
||||||
|
const isSupported = model.supported !== false; // default to true if missing
|
||||||
|
if (isSupported) {
|
||||||
const modelEntry = {
|
const modelEntry = {
|
||||||
provider: provider,
|
provider: provider,
|
||||||
modelName: model.id,
|
modelName: model.id,
|
||||||
@@ -84,16 +101,28 @@ function main() {
|
|||||||
? model.cost_per_1m_tokens.output
|
? model.cost_per_1m_tokens.output
|
||||||
: null
|
: null
|
||||||
};
|
};
|
||||||
|
if (model.allowed_roles && model.allowed_roles.includes('main')) {
|
||||||
if (model.allowed_roles.includes('main')) {
|
|
||||||
mainModels.push(modelEntry);
|
mainModels.push(modelEntry);
|
||||||
}
|
}
|
||||||
if (model.allowed_roles.includes('research')) {
|
if (
|
||||||
|
model.allowed_roles &&
|
||||||
|
model.allowed_roles.includes('research')
|
||||||
|
) {
|
||||||
researchModels.push(modelEntry);
|
researchModels.push(modelEntry);
|
||||||
}
|
}
|
||||||
if (model.allowed_roles.includes('fallback')) {
|
if (
|
||||||
|
model.allowed_roles &&
|
||||||
|
model.allowed_roles.includes('fallback')
|
||||||
|
) {
|
||||||
fallbackModels.push(modelEntry);
|
fallbackModels.push(modelEntry);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
unsupportedModels.push({
|
||||||
|
provider: provider,
|
||||||
|
modelName: model.id,
|
||||||
|
reason: model.reason || 'Not specified'
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -119,6 +148,7 @@ function main() {
|
|||||||
markdownContent += generateMarkdownTable('Main Models', mainModels);
|
markdownContent += generateMarkdownTable('Main Models', mainModels);
|
||||||
markdownContent += generateMarkdownTable('Research Models', researchModels);
|
markdownContent += generateMarkdownTable('Research Models', researchModels);
|
||||||
markdownContent += generateMarkdownTable('Fallback Models', fallbackModels);
|
markdownContent += generateMarkdownTable('Fallback Models', fallbackModels);
|
||||||
|
markdownContent += generateUnsupportedTable(unsupportedModels);
|
||||||
|
|
||||||
fs.writeFileSync(correctOutputMarkdownPath, markdownContent, 'utf8');
|
fs.writeFileSync(correctOutputMarkdownPath, markdownContent, 'utf8');
|
||||||
console.log(`Successfully updated ${correctOutputMarkdownPath}`);
|
console.log(`Successfully updated ${correctOutputMarkdownPath}`);
|
||||||
|
|||||||
96
package-lock.json
generated
96
package-lock.json
generated
@@ -81,7 +81,7 @@
|
|||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@anthropic-ai/claude-code": "^1.0.25",
|
"@anthropic-ai/claude-code": "^1.0.25",
|
||||||
"@biomejs/cli-linux-x64": "^1.9.4",
|
"@biomejs/cli-linux-x64": "^1.9.4",
|
||||||
"ai-sdk-provider-gemini-cli": "^0.0.4"
|
"ai-sdk-provider-gemini-cli": "^0.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"apps/extension": {
|
"apps/extension": {
|
||||||
@@ -2065,12 +2065,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@google/gemini-cli-core": {
|
"node_modules/@google/gemini-cli-core": {
|
||||||
"version": "0.1.9",
|
"version": "0.1.13",
|
||||||
"resolved": "https://registry.npmjs.org/@google/gemini-cli-core/-/gemini-cli-core-0.1.9.tgz",
|
"resolved": "https://registry.npmjs.org/@google/gemini-cli-core/-/gemini-cli-core-0.1.13.tgz",
|
||||||
"integrity": "sha512-NFmu0qivppBZ3JT6to0A2+tEtcvWcWuhbfyTz42Wm2AoAtl941lTbcd/TiBryK0yWz3WCkqukuDxl+L7axLpvA==",
|
"integrity": "sha512-Vx3CbRpLJiGs/sj4SXlGH2ALKyON5skV/p+SCAoRuS6yRsANS1+diEeXbp6jlWT2TTiGoa8+GolqeNIU7wbN8w==",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@google/genai": "^1.4.0",
|
"@google/genai": "1.9.0",
|
||||||
"@modelcontextprotocol/sdk": "^1.11.0",
|
"@modelcontextprotocol/sdk": "^1.11.0",
|
||||||
"@opentelemetry/api": "^1.9.0",
|
"@opentelemetry/api": "^1.9.0",
|
||||||
"@opentelemetry/exporter-logs-otlp-grpc": "^0.52.0",
|
"@opentelemetry/exporter-logs-otlp-grpc": "^0.52.0",
|
||||||
@@ -2080,23 +2080,46 @@
|
|||||||
"@opentelemetry/sdk-node": "^0.52.0",
|
"@opentelemetry/sdk-node": "^0.52.0",
|
||||||
"@types/glob": "^8.1.0",
|
"@types/glob": "^8.1.0",
|
||||||
"@types/html-to-text": "^9.0.4",
|
"@types/html-to-text": "^9.0.4",
|
||||||
|
"ajv": "^8.17.1",
|
||||||
"diff": "^7.0.0",
|
"diff": "^7.0.0",
|
||||||
"dotenv": "^16.6.1",
|
"dotenv": "^17.1.0",
|
||||||
"gaxios": "^6.1.1",
|
|
||||||
"glob": "^10.4.5",
|
"glob": "^10.4.5",
|
||||||
"google-auth-library": "^9.11.0",
|
"google-auth-library": "^9.11.0",
|
||||||
"html-to-text": "^9.0.5",
|
"html-to-text": "^9.0.5",
|
||||||
|
"https-proxy-agent": "^7.0.6",
|
||||||
"ignore": "^7.0.0",
|
"ignore": "^7.0.0",
|
||||||
"micromatch": "^4.0.8",
|
"micromatch": "^4.0.8",
|
||||||
"open": "^10.1.2",
|
"open": "^10.1.2",
|
||||||
"shell-quote": "^1.8.2",
|
"shell-quote": "^1.8.3",
|
||||||
"simple-git": "^3.28.0",
|
"simple-git": "^3.28.0",
|
||||||
"strip-ansi": "^7.1.0",
|
"strip-ansi": "^7.1.0",
|
||||||
"undici": "^7.10.0",
|
"undici": "^7.10.0",
|
||||||
"ws": "^8.18.0"
|
"ws": "^8.18.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=20"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@google/gemini-cli-core/node_modules/@google/genai": {
|
||||||
|
"version": "1.9.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.9.0.tgz",
|
||||||
|
"integrity": "sha512-w9P93OXKPMs9H1mfAx9+p3zJqQGrWBGdvK/SVc7cLZEXNHr/3+vW2eif7ZShA6wU24rNLn9z9MK2vQFUvNRI2Q==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"google-auth-library": "^9.14.2",
|
||||||
|
"ws": "^8.18.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=20.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@modelcontextprotocol/sdk": "^1.11.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@modelcontextprotocol/sdk": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@google/gemini-cli-core/node_modules/ansi-regex": {
|
"node_modules/@google/gemini-cli-core/node_modules/ansi-regex": {
|
||||||
@@ -2122,6 +2145,19 @@
|
|||||||
"balanced-match": "^1.0.0"
|
"balanced-match": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@google/gemini-cli-core/node_modules/dotenv": {
|
||||||
|
"version": "17.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.0.tgz",
|
||||||
|
"integrity": "sha512-Q4sgBT60gzd0BB0lSyYD3xM4YxrXA9y4uBDof1JNYGzOXrQdQ6yX+7XIAqoFOGQFOTK1D3Hts5OllpxMDZFONQ==",
|
||||||
|
"license": "BSD-2-Clause",
|
||||||
|
"optional": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://dotenvx.com"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@google/gemini-cli-core/node_modules/glob": {
|
"node_modules/@google/gemini-cli-core/node_modules/glob": {
|
||||||
"version": "10.4.5",
|
"version": "10.4.5",
|
||||||
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
|
"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
|
||||||
@@ -2186,16 +2222,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@google/genai": {
|
"node_modules/@google/genai": {
|
||||||
"version": "1.8.0",
|
"version": "1.10.0",
|
||||||
"resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/@google/genai/-/genai-1.10.0.tgz",
|
||||||
"integrity": "sha512-n3KiMFesQCy2R9iSdBIuJ0JWYQ1HZBJJkmt4PPZMGZKvlgHhBAGw1kUMyX+vsAIzprN3lK45DI755lm70wPOOg==",
|
"integrity": "sha512-PR4tLuiIFMrpAiiCko2Z16ydikFsPF1c5TBfI64hlZcv3xBEApSCceLuDYu1pNMq2SkNh4r66J4AG+ZexBnMLw==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"google-auth-library": "^9.14.2",
|
"google-auth-library": "^9.14.2",
|
||||||
"ws": "^8.18.0",
|
"ws": "^8.18.0"
|
||||||
"zod": "^3.22.4",
|
|
||||||
"zod-to-json-schema": "^3.22.4"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20.0.0"
|
"node": ">=20.0.0"
|
||||||
@@ -5423,15 +5457,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ai-sdk-provider-gemini-cli": {
|
"node_modules/ai-sdk-provider-gemini-cli": {
|
||||||
"version": "0.0.4",
|
"version": "0.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/ai-sdk-provider-gemini-cli/-/ai-sdk-provider-gemini-cli-0.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/ai-sdk-provider-gemini-cli/-/ai-sdk-provider-gemini-cli-0.1.1.tgz",
|
||||||
"integrity": "sha512-rXxNM/+wVHL8Syf/SjyoVmFJgTMwLnVSPPhqkLzbP6JKBvp81qZfkBFQiI9l6VMF1ctb6L+iSdVNd0/G1pTVZg==",
|
"integrity": "sha512-fvX3n9jTt8JaTyc+qDv5Og0H4NQMpS6B1VdaTT71AN2F+3u2Bz9/OSd7ATokrV2Rmv+ZlEnUCmJnke58zHXUSQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ai-sdk/provider": "^1.1.3",
|
"@ai-sdk/provider": "^1.1.3",
|
||||||
"@ai-sdk/provider-utils": "^2.2.8",
|
"@ai-sdk/provider-utils": "^2.2.8",
|
||||||
"@google/gemini-cli-core": "^0.1.4",
|
"@google/gemini-cli-core": "^0.1.13",
|
||||||
"@google/genai": "^1.7.0",
|
"@google/genai": "^1.7.0",
|
||||||
"google-auth-library": "^9.0.0",
|
"google-auth-library": "^9.0.0",
|
||||||
"zod": "^3.23.8",
|
"zod": "^3.23.8",
|
||||||
@@ -11236,16 +11270,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/open": {
|
"node_modules/open": {
|
||||||
"version": "10.1.2",
|
"version": "10.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
|
||||||
"integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==",
|
"integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"optional": true,
|
"optional": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"default-browser": "^5.2.1",
|
"default-browser": "^5.2.1",
|
||||||
"define-lazy-prop": "^3.0.0",
|
"define-lazy-prop": "^3.0.0",
|
||||||
"is-inside-container": "^1.0.0",
|
"is-inside-container": "^1.0.0",
|
||||||
"is-wsl": "^3.1.0"
|
"wsl-utils": "^0.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
@@ -13622,6 +13656,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/wsl-utils": {
|
||||||
|
"version": "0.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
|
||||||
|
"integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"is-wsl": "^3.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/xsschema": {
|
"node_modules/xsschema": {
|
||||||
"version": "0.3.0-beta.8",
|
"version": "0.3.0-beta.8",
|
||||||
"resolved": "https://registry.npmjs.org/xsschema/-/xsschema-0.3.0-beta.8.tgz",
|
"resolved": "https://registry.npmjs.org/xsschema/-/xsschema-0.3.0-beta.8.tgz",
|
||||||
|
|||||||
@@ -84,8 +84,8 @@
|
|||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@anthropic-ai/claude-code": "^1.0.25",
|
"@anthropic-ai/claude-code": "^1.0.25",
|
||||||
"ai-sdk-provider-gemini-cli": "^0.0.4",
|
"@biomejs/cli-linux-x64": "^1.9.4",
|
||||||
"@biomejs/cli-linux-x64": "^1.9.4"
|
"ai-sdk-provider-gemini-cli": "^0.1.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18.0.0"
|
"node": ">=18.0.0"
|
||||||
|
|||||||
@@ -583,12 +583,23 @@ function getParametersForRole(role, explicitRoot = null) {
|
|||||||
`No valid model-specific max_tokens override found for ${modelId}. Using role default: ${roleMaxTokens}`
|
`No valid model-specific max_tokens override found for ${modelId}. Using role default: ${roleMaxTokens}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// Special handling for custom OpenRouter models
|
||||||
|
if (providerName === CUSTOM_PROVIDERS.OPENROUTER) {
|
||||||
|
// Use a conservative default for OpenRouter models not in our list
|
||||||
|
const openrouterDefault = 32768;
|
||||||
|
effectiveMaxTokens = Math.min(roleMaxTokens, openrouterDefault);
|
||||||
|
log(
|
||||||
|
'debug',
|
||||||
|
`Custom OpenRouter model ${modelId} detected. Using conservative max_tokens: ${effectiveMaxTokens}`
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
log(
|
log(
|
||||||
'debug',
|
'debug',
|
||||||
`No model definitions found for provider ${providerName} in MODEL_MAP. Using role default maxTokens: ${roleMaxTokens}`
|
`No model definitions found for provider ${providerName} in MODEL_MAP. Using role default maxTokens: ${roleMaxTokens}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} catch (lookupError) {
|
} catch (lookupError) {
|
||||||
log(
|
log(
|
||||||
'warn',
|
'warn',
|
||||||
@@ -772,7 +783,9 @@ function getAvailableModels() {
|
|||||||
const available = [];
|
const available = [];
|
||||||
for (const [provider, models] of Object.entries(MODEL_MAP)) {
|
for (const [provider, models] of Object.entries(MODEL_MAP)) {
|
||||||
if (models.length > 0) {
|
if (models.length > 0) {
|
||||||
models.forEach((modelObj) => {
|
models
|
||||||
|
.filter((modelObj) => Boolean(modelObj.supported))
|
||||||
|
.forEach((modelObj) => {
|
||||||
// Basic name generation - can be improved
|
// Basic name generation - can be improved
|
||||||
const modelId = modelObj.id;
|
const modelId = modelObj.id;
|
||||||
const sweScore = modelObj.swe_score;
|
const sweScore = modelObj.swe_score;
|
||||||
|
|||||||
@@ -8,7 +8,8 @@
|
|||||||
"output": 15.0
|
"output": 15.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 64000
|
"max_tokens": 64000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "claude-opus-4-20250514",
|
"id": "claude-opus-4-20250514",
|
||||||
@@ -18,7 +19,8 @@
|
|||||||
"output": 75.0
|
"output": 75.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 32000
|
"max_tokens": 32000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "claude-3-7-sonnet-20250219",
|
"id": "claude-3-7-sonnet-20250219",
|
||||||
@@ -28,7 +30,8 @@
|
|||||||
"output": 15.0
|
"output": 15.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 120000
|
"max_tokens": 120000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "claude-3-5-sonnet-20241022",
|
"id": "claude-3-5-sonnet-20241022",
|
||||||
@@ -38,7 +41,8 @@
|
|||||||
"output": 15.0
|
"output": 15.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 8192
|
"max_tokens": 8192,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"claude-code": [
|
"claude-code": [
|
||||||
@@ -50,7 +54,8 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 32000
|
"max_tokens": 32000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "sonnet",
|
"id": "sonnet",
|
||||||
@@ -60,7 +65,8 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 64000
|
"max_tokens": 64000,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"mcp": [
|
"mcp": [
|
||||||
@@ -72,7 +78,8 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"gemini-cli": [
|
"gemini-cli": [
|
||||||
@@ -84,7 +91,8 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 65536
|
"max_tokens": 65536,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gemini-2.5-flash",
|
"id": "gemini-2.5-flash",
|
||||||
@@ -94,7 +102,8 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 65536
|
"max_tokens": 65536,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"openai": [
|
"openai": [
|
||||||
@@ -106,7 +115,8 @@
|
|||||||
"output": 10.0
|
"output": 10.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 16384
|
"max_tokens": 16384,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "o1",
|
"id": "o1",
|
||||||
@@ -115,7 +125,8 @@
|
|||||||
"input": 15.0,
|
"input": 15.0,
|
||||||
"output": 60.0
|
"output": 60.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"]
|
"allowed_roles": ["main"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "o3",
|
"id": "o3",
|
||||||
@@ -125,7 +136,8 @@
|
|||||||
"output": 8.0
|
"output": 8.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "o3-mini",
|
"id": "o3-mini",
|
||||||
@@ -135,7 +147,8 @@
|
|||||||
"output": 4.4
|
"output": 4.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"],
|
"allowed_roles": ["main"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "o4-mini",
|
"id": "o4-mini",
|
||||||
@@ -144,7 +157,8 @@
|
|||||||
"input": 1.1,
|
"input": 1.1,
|
||||||
"output": 4.4
|
"output": 4.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "o1-mini",
|
"id": "o1-mini",
|
||||||
@@ -153,7 +167,8 @@
|
|||||||
"input": 1.1,
|
"input": 1.1,
|
||||||
"output": 4.4
|
"output": 4.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"]
|
"allowed_roles": ["main"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "o1-pro",
|
"id": "o1-pro",
|
||||||
@@ -162,7 +177,8 @@
|
|||||||
"input": 150.0,
|
"input": 150.0,
|
||||||
"output": 600.0
|
"output": 600.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"]
|
"allowed_roles": ["main"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-4-5-preview",
|
"id": "gpt-4-5-preview",
|
||||||
@@ -171,7 +187,8 @@
|
|||||||
"input": 75.0,
|
"input": 75.0,
|
||||||
"output": 150.0
|
"output": 150.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"]
|
"allowed_roles": ["main"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-4-1-mini",
|
"id": "gpt-4-1-mini",
|
||||||
@@ -180,7 +197,8 @@
|
|||||||
"input": 0.4,
|
"input": 0.4,
|
||||||
"output": 1.6
|
"output": 1.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"]
|
"allowed_roles": ["main"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-4-1-nano",
|
"id": "gpt-4-1-nano",
|
||||||
@@ -189,7 +207,8 @@
|
|||||||
"input": 0.1,
|
"input": 0.1,
|
||||||
"output": 0.4
|
"output": 0.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"]
|
"allowed_roles": ["main"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-4o-mini",
|
"id": "gpt-4o-mini",
|
||||||
@@ -198,7 +217,8 @@
|
|||||||
"input": 0.15,
|
"input": 0.15,
|
||||||
"output": 0.6
|
"output": 0.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"]
|
"allowed_roles": ["main"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-4o-search-preview",
|
"id": "gpt-4o-search-preview",
|
||||||
@@ -207,7 +227,8 @@
|
|||||||
"input": 2.5,
|
"input": 2.5,
|
||||||
"output": 10.0
|
"output": 10.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["research"]
|
"allowed_roles": ["research"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-4o-mini-search-preview",
|
"id": "gpt-4o-mini-search-preview",
|
||||||
@@ -216,7 +237,8 @@
|
|||||||
"input": 0.15,
|
"input": 0.15,
|
||||||
"output": 0.6
|
"output": 0.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["research"]
|
"allowed_roles": ["research"],
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"google": [
|
"google": [
|
||||||
@@ -225,21 +247,24 @@
|
|||||||
"swe_score": 0.638,
|
"swe_score": 0.638,
|
||||||
"cost_per_1m_tokens": null,
|
"cost_per_1m_tokens": null,
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1048000
|
"max_tokens": 1048000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gemini-2.5-pro-preview-03-25",
|
"id": "gemini-2.5-pro-preview-03-25",
|
||||||
"swe_score": 0.638,
|
"swe_score": 0.638,
|
||||||
"cost_per_1m_tokens": null,
|
"cost_per_1m_tokens": null,
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1048000
|
"max_tokens": 1048000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gemini-2.5-flash-preview-04-17",
|
"id": "gemini-2.5-flash-preview-04-17",
|
||||||
"swe_score": 0.604,
|
"swe_score": 0.604,
|
||||||
"cost_per_1m_tokens": null,
|
"cost_per_1m_tokens": null,
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1048000
|
"max_tokens": 1048000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gemini-2.0-flash",
|
"id": "gemini-2.0-flash",
|
||||||
@@ -249,14 +274,16 @@
|
|||||||
"output": 0.6
|
"output": 0.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1048000
|
"max_tokens": 1048000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gemini-2.0-flash-lite",
|
"id": "gemini-2.0-flash-lite",
|
||||||
"swe_score": 0,
|
"swe_score": 0,
|
||||||
"cost_per_1m_tokens": null,
|
"cost_per_1m_tokens": null,
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1048000
|
"max_tokens": 1048000,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"xai": [
|
"xai": [
|
||||||
@@ -269,7 +296,8 @@
|
|||||||
"output": 15
|
"output": 15
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 131072
|
"max_tokens": 131072,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "grok-3-fast",
|
"id": "grok-3-fast",
|
||||||
@@ -280,7 +308,8 @@
|
|||||||
"output": 25
|
"output": 25
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 131072
|
"max_tokens": 131072,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "grok-4",
|
"id": "grok-4",
|
||||||
@@ -291,7 +320,8 @@
|
|||||||
"output": 15
|
"output": 15
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 131072
|
"max_tokens": 131072,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"groq": [
|
"groq": [
|
||||||
@@ -303,7 +333,8 @@
|
|||||||
"output": 3.0
|
"output": 3.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 131072
|
"max_tokens": 16384,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "llama-3.3-70b-versatile",
|
"id": "llama-3.3-70b-versatile",
|
||||||
@@ -313,7 +344,8 @@
|
|||||||
"output": 0.79
|
"output": 0.79
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 32768
|
"max_tokens": 32768,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "llama-3.1-8b-instant",
|
"id": "llama-3.1-8b-instant",
|
||||||
@@ -323,7 +355,8 @@
|
|||||||
"output": 0.08
|
"output": 0.08
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 131072
|
"max_tokens": 131072,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "llama-4-scout",
|
"id": "llama-4-scout",
|
||||||
@@ -333,7 +366,8 @@
|
|||||||
"output": 0.34
|
"output": 0.34
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 32768
|
"max_tokens": 32768,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "llama-4-maverick",
|
"id": "llama-4-maverick",
|
||||||
@@ -343,7 +377,8 @@
|
|||||||
"output": 0.77
|
"output": 0.77
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 32768
|
"max_tokens": 32768,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "mixtral-8x7b-32768",
|
"id": "mixtral-8x7b-32768",
|
||||||
@@ -353,7 +388,8 @@
|
|||||||
"output": 0.24
|
"output": 0.24
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 32768
|
"max_tokens": 32768,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "qwen-qwq-32b-preview",
|
"id": "qwen-qwq-32b-preview",
|
||||||
@@ -363,7 +399,8 @@
|
|||||||
"output": 0.18
|
"output": 0.18
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 32768
|
"max_tokens": 32768,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "deepseek-r1-distill-llama-70b",
|
"id": "deepseek-r1-distill-llama-70b",
|
||||||
@@ -373,7 +410,8 @@
|
|||||||
"output": 0.99
|
"output": 0.99
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "research"],
|
"allowed_roles": ["main", "research"],
|
||||||
"max_tokens": 8192
|
"max_tokens": 8192,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gemma2-9b-it",
|
"id": "gemma2-9b-it",
|
||||||
@@ -383,7 +421,8 @@
|
|||||||
"output": 0.2
|
"output": 0.2
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 8192
|
"max_tokens": 8192,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "whisper-large-v3",
|
"id": "whisper-large-v3",
|
||||||
@@ -393,7 +432,8 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"],
|
"allowed_roles": ["main"],
|
||||||
"max_tokens": 0
|
"max_tokens": 0,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"perplexity": [
|
"perplexity": [
|
||||||
@@ -405,7 +445,8 @@
|
|||||||
"output": 15
|
"output": 15
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "research"],
|
"allowed_roles": ["main", "research"],
|
||||||
"max_tokens": 8700
|
"max_tokens": 8700,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "sonar",
|
"id": "sonar",
|
||||||
@@ -415,7 +456,8 @@
|
|||||||
"output": 1
|
"output": 1
|
||||||
},
|
},
|
||||||
"allowed_roles": ["research"],
|
"allowed_roles": ["research"],
|
||||||
"max_tokens": 8700
|
"max_tokens": 8700,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "deep-research",
|
"id": "deep-research",
|
||||||
@@ -425,7 +467,8 @@
|
|||||||
"output": 8
|
"output": 8
|
||||||
},
|
},
|
||||||
"allowed_roles": ["research"],
|
"allowed_roles": ["research"],
|
||||||
"max_tokens": 8700
|
"max_tokens": 8700,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "sonar-reasoning-pro",
|
"id": "sonar-reasoning-pro",
|
||||||
@@ -435,7 +478,8 @@
|
|||||||
"output": 8
|
"output": 8
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "research", "fallback"],
|
"allowed_roles": ["main", "research", "fallback"],
|
||||||
"max_tokens": 8700
|
"max_tokens": 8700,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "sonar-reasoning",
|
"id": "sonar-reasoning",
|
||||||
@@ -445,7 +489,8 @@
|
|||||||
"output": 5
|
"output": 5
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "research", "fallback"],
|
"allowed_roles": ["main", "research", "fallback"],
|
||||||
"max_tokens": 8700
|
"max_tokens": 8700,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"openrouter": [
|
"openrouter": [
|
||||||
@@ -457,7 +502,8 @@
|
|||||||
"output": 0.6
|
"output": 0.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1048576
|
"max_tokens": 1048576,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "google/gemini-2.5-flash-preview-05-20:thinking",
|
"id": "google/gemini-2.5-flash-preview-05-20:thinking",
|
||||||
@@ -467,7 +513,8 @@
|
|||||||
"output": 3.5
|
"output": 3.5
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1048576
|
"max_tokens": 1048576,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "google/gemini-2.5-pro-exp-03-25",
|
"id": "google/gemini-2.5-pro-exp-03-25",
|
||||||
@@ -477,7 +524,8 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1000000
|
"max_tokens": 1000000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "deepseek/deepseek-chat-v3-0324:free",
|
"id": "deepseek/deepseek-chat-v3-0324:free",
|
||||||
@@ -487,7 +535,9 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 163840
|
"max_tokens": 163840,
|
||||||
|
"supported": false,
|
||||||
|
"reason": "Free OpenRouter models are not supported due to severe rate limits, lack of tool use support, and other reliability issues that make them impractical for production use."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "deepseek/deepseek-chat-v3-0324",
|
"id": "deepseek/deepseek-chat-v3-0324",
|
||||||
@@ -497,7 +547,8 @@
|
|||||||
"output": 1.1
|
"output": 1.1
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"],
|
"allowed_roles": ["main"],
|
||||||
"max_tokens": 64000
|
"max_tokens": 64000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/gpt-4.1",
|
"id": "openai/gpt-4.1",
|
||||||
@@ -507,7 +558,8 @@
|
|||||||
"output": 8
|
"output": 8
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1000000
|
"max_tokens": 1000000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/gpt-4.1-mini",
|
"id": "openai/gpt-4.1-mini",
|
||||||
@@ -517,7 +569,8 @@
|
|||||||
"output": 1.6
|
"output": 1.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1000000
|
"max_tokens": 1000000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/gpt-4.1-nano",
|
"id": "openai/gpt-4.1-nano",
|
||||||
@@ -527,7 +580,8 @@
|
|||||||
"output": 0.4
|
"output": 0.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1000000
|
"max_tokens": 1000000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/o3",
|
"id": "openai/o3",
|
||||||
@@ -537,7 +591,8 @@
|
|||||||
"output": 40
|
"output": 40
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 200000
|
"max_tokens": 200000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/codex-mini",
|
"id": "openai/codex-mini",
|
||||||
@@ -547,7 +602,8 @@
|
|||||||
"output": 6
|
"output": 6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/gpt-4o-mini",
|
"id": "openai/gpt-4o-mini",
|
||||||
@@ -557,7 +613,8 @@
|
|||||||
"output": 0.6
|
"output": 0.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/o4-mini",
|
"id": "openai/o4-mini",
|
||||||
@@ -567,7 +624,8 @@
|
|||||||
"output": 4.4
|
"output": 4.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/o4-mini-high",
|
"id": "openai/o4-mini-high",
|
||||||
@@ -577,7 +635,8 @@
|
|||||||
"output": 4.4
|
"output": 4.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "openai/o1-pro",
|
"id": "openai/o1-pro",
|
||||||
@@ -587,7 +646,8 @@
|
|||||||
"output": 600
|
"output": 600
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "meta-llama/llama-3.3-70b-instruct",
|
"id": "meta-llama/llama-3.3-70b-instruct",
|
||||||
@@ -597,7 +657,8 @@
|
|||||||
"output": 600
|
"output": 600
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1048576
|
"max_tokens": 1048576,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "meta-llama/llama-4-maverick",
|
"id": "meta-llama/llama-4-maverick",
|
||||||
@@ -607,7 +668,8 @@
|
|||||||
"output": 0.6
|
"output": 0.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1000000
|
"max_tokens": 1000000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "meta-llama/llama-4-scout",
|
"id": "meta-llama/llama-4-scout",
|
||||||
@@ -617,7 +679,8 @@
|
|||||||
"output": 0.3
|
"output": 0.3
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1000000
|
"max_tokens": 1000000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "qwen/qwen-max",
|
"id": "qwen/qwen-max",
|
||||||
@@ -627,7 +690,8 @@
|
|||||||
"output": 6.4
|
"output": 6.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 32768
|
"max_tokens": 32768,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "qwen/qwen-turbo",
|
"id": "qwen/qwen-turbo",
|
||||||
@@ -637,7 +701,8 @@
|
|||||||
"output": 0.2
|
"output": 0.2
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 1000000
|
"max_tokens": 32768,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "qwen/qwen3-235b-a22b",
|
"id": "qwen/qwen3-235b-a22b",
|
||||||
@@ -647,7 +712,8 @@
|
|||||||
"output": 2
|
"output": 2
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 24000
|
"max_tokens": 24000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "mistralai/mistral-small-3.1-24b-instruct:free",
|
"id": "mistralai/mistral-small-3.1-24b-instruct:free",
|
||||||
@@ -657,7 +723,9 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 96000
|
"max_tokens": 96000,
|
||||||
|
"supported": false,
|
||||||
|
"reason": "Free OpenRouter models are not supported due to severe rate limits, lack of tool use support, and other reliability issues that make them impractical for production use."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "mistralai/mistral-small-3.1-24b-instruct",
|
"id": "mistralai/mistral-small-3.1-24b-instruct",
|
||||||
@@ -667,7 +735,8 @@
|
|||||||
"output": 0.3
|
"output": 0.3
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 128000
|
"max_tokens": 128000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "mistralai/devstral-small",
|
"id": "mistralai/devstral-small",
|
||||||
@@ -677,7 +746,8 @@
|
|||||||
"output": 0.3
|
"output": 0.3
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main"],
|
"allowed_roles": ["main"],
|
||||||
"max_tokens": 110000
|
"max_tokens": 110000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "mistralai/mistral-nemo",
|
"id": "mistralai/mistral-nemo",
|
||||||
@@ -687,7 +757,8 @@
|
|||||||
"output": 0.07
|
"output": 0.07
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 100000
|
"max_tokens": 100000,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "thudm/glm-4-32b:free",
|
"id": "thudm/glm-4-32b:free",
|
||||||
@@ -697,7 +768,9 @@
|
|||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 32768
|
"max_tokens": 32768,
|
||||||
|
"supported": false,
|
||||||
|
"reason": "Free OpenRouter models are not supported due to severe rate limits, lack of tool use support, and other reliability issues that make them impractical for production use."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"ollama": [
|
"ollama": [
|
||||||
@@ -708,7 +781,8 @@
|
|||||||
"input": 0,
|
"input": 0,
|
||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "qwen3:latest",
|
"id": "qwen3:latest",
|
||||||
@@ -717,7 +791,8 @@
|
|||||||
"input": 0,
|
"input": 0,
|
||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "qwen3:14b",
|
"id": "qwen3:14b",
|
||||||
@@ -726,7 +801,8 @@
|
|||||||
"input": 0,
|
"input": 0,
|
||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "qwen3:32b",
|
"id": "qwen3:32b",
|
||||||
@@ -735,7 +811,8 @@
|
|||||||
"input": 0,
|
"input": 0,
|
||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "mistral-small3.1:latest",
|
"id": "mistral-small3.1:latest",
|
||||||
@@ -744,7 +821,8 @@
|
|||||||
"input": 0,
|
"input": 0,
|
||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "llama3.3:latest",
|
"id": "llama3.3:latest",
|
||||||
@@ -753,7 +831,8 @@
|
|||||||
"input": 0,
|
"input": 0,
|
||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "phi4:latest",
|
"id": "phi4:latest",
|
||||||
@@ -762,7 +841,8 @@
|
|||||||
"input": 0,
|
"input": 0,
|
||||||
"output": 0
|
"output": 0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"azure": [
|
"azure": [
|
||||||
@@ -771,10 +851,11 @@
|
|||||||
"swe_score": 0.332,
|
"swe_score": 0.332,
|
||||||
"cost_per_1m_tokens": {
|
"cost_per_1m_tokens": {
|
||||||
"input": 2.5,
|
"input": 2.5,
|
||||||
"output": 10.0
|
"output": 10
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 16384
|
"max_tokens": 16384,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-4o-mini",
|
"id": "gpt-4o-mini",
|
||||||
@@ -784,7 +865,8 @@
|
|||||||
"output": 0.6
|
"output": 0.6
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 16384
|
"max_tokens": 16384,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "gpt-4-1",
|
"id": "gpt-4-1",
|
||||||
@@ -794,7 +876,8 @@
|
|||||||
"output": 10.0
|
"output": 10.0
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"],
|
"allowed_roles": ["main", "fallback"],
|
||||||
"max_tokens": 16384
|
"max_tokens": 16384,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"bedrock": [
|
"bedrock": [
|
||||||
@@ -805,7 +888,8 @@
|
|||||||
"input": 0.25,
|
"input": 0.25,
|
||||||
"output": 1.25
|
"output": 1.25
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "us.anthropic.claude-3-opus-20240229-v1:0",
|
"id": "us.anthropic.claude-3-opus-20240229-v1:0",
|
||||||
@@ -814,7 +898,8 @@
|
|||||||
"input": 15,
|
"input": 15,
|
||||||
"output": 75
|
"output": 75
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"]
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "us.anthropic.claude-3-5-sonnet-20240620-v1:0",
|
"id": "us.anthropic.claude-3-5-sonnet-20240620-v1:0",
|
||||||
@@ -823,7 +908,8 @@
|
|||||||
"input": 3,
|
"input": 3,
|
||||||
"output": 15
|
"output": 15
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"]
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
|
"id": "us.anthropic.claude-3-5-sonnet-20241022-v2:0",
|
||||||
@@ -832,7 +918,8 @@
|
|||||||
"input": 3,
|
"input": 3,
|
||||||
"output": 15
|
"output": 15
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"]
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "us.anthropic.claude-3-7-sonnet-20250219-v1:0",
|
"id": "us.anthropic.claude-3-7-sonnet-20250219-v1:0",
|
||||||
@@ -842,7 +929,8 @@
|
|||||||
"output": 15
|
"output": 15
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"],
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
"max_tokens": 65536
|
"max_tokens": 65536,
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "us.anthropic.claude-3-5-haiku-20241022-v1:0",
|
"id": "us.anthropic.claude-3-5-haiku-20241022-v1:0",
|
||||||
@@ -851,7 +939,8 @@
|
|||||||
"input": 0.8,
|
"input": 0.8,
|
||||||
"output": 4
|
"output": 4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback"]
|
"allowed_roles": ["main", "fallback"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "us.anthropic.claude-opus-4-20250514-v1:0",
|
"id": "us.anthropic.claude-opus-4-20250514-v1:0",
|
||||||
@@ -860,7 +949,8 @@
|
|||||||
"input": 15,
|
"input": 15,
|
||||||
"output": 75
|
"output": 75
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"]
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "us.anthropic.claude-sonnet-4-20250514-v1:0",
|
"id": "us.anthropic.claude-sonnet-4-20250514-v1:0",
|
||||||
@@ -869,7 +959,8 @@
|
|||||||
"input": 3,
|
"input": 3,
|
||||||
"output": 15
|
"output": 15
|
||||||
},
|
},
|
||||||
"allowed_roles": ["main", "fallback", "research"]
|
"allowed_roles": ["main", "fallback", "research"],
|
||||||
|
"supported": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "us.deepseek.r1-v1:0",
|
"id": "us.deepseek.r1-v1:0",
|
||||||
@@ -879,7 +970,8 @@
|
|||||||
"output": 5.4
|
"output": 5.4
|
||||||
},
|
},
|
||||||
"allowed_roles": ["research"],
|
"allowed_roles": ["research"],
|
||||||
"max_tokens": 65536
|
"max_tokens": 65536,
|
||||||
|
"supported": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user