Skip to content

feat: add fallbackModel option for automatic model failover on provider errors #2305

feat: add fallbackModel option for automatic model failover on provider errors

feat: add fallbackModel option for automatic model failover on provider errors #2305

Workflow file for this run

name: CI
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
test-node:
name: Test - ${{ matrix.package }}
runs-on: ubuntu-latest
strategy:
matrix:
package: [sdk/typescript, cli, mcp]
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
- name: Install dependencies
working-directory: ${{ matrix.package }}
run: npm install
- name: Type check
working-directory: ${{ matrix.package }}
run: npx tsc --noEmit
- name: Build
working-directory: ${{ matrix.package }}
run: npm run build
- name: Run tests
working-directory: ${{ matrix.package }}
run: npm test
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
AWS_BEDROCK_API_KEY: ${{ secrets.AWS_BEDROCK_API_KEY }}
AWS_BEDROCK_REGION: ${{ secrets.AWS_BEDROCK_REGION }}
AI_GATEWAY_API_KEY: ${{ secrets.AI_GATEWAY_API_KEY }}
GROQ_API_KEY: ${{ secrets.GROQ_API_KEY }}
FIREWORKS_API_KEY: ${{ secrets.FIREWORKS_API_KEY }}
OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
OPENAI_COMPATIBLE_API_KEY: ${{ secrets.OPENAI_COMPATIBLE_API_KEY }}
OPENAI_COMPATIBLE_BASE_URL: ${{ secrets.OPENAI_COMPATIBLE_BASE_URL }}
SUPERAGENT_API_KEY: ${{ secrets.SUPERAGENT_API_KEY }}
DAYTONA_API_KEY: ${{ secrets.DAYTONA_API_KEY }}
test-python:
name: Test - sdk/python
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Install uv
uses: astral-sh/setup-uv@v4
- name: Install dependencies
working-directory: sdk/python
run: uv sync
- name: Run tests
working-directory: sdk/python
run: uv run pytest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
OPENAI_COMPATIBLE_API_KEY: ${{ secrets.OPENAI_COMPATIBLE_API_KEY }}
OPENAI_COMPATIBLE_BASE_URL: ${{ secrets.OPENAI_COMPATIBLE_BASE_URL }}
SUPERAGENT_API_KEY: ${{ secrets.SUPERAGENT_API_KEY }}
DAYTONA_API_KEY: ${{ secrets.DAYTONA_API_KEY }}