ModelProviderConfig (model_router.py)

JIGGA · ai

Defines provider configs, model profiles, rate limits, tool-calling options for LLM routing.

from __future__ import annotations

import json
import os
import random
import time
import urllib.error
import urllib.request
from dataclasses import asdict, dataclass, field, replace
from pathlib import Path
from typing import Any

from jigga.core.io import read_yaml
from jigga.core.models import AgentConfig
from jigga.runtime import model_throttle
from jigga.runtime.audit import append_event, new_id
from jigga.runtime.cost import (
    WARN_FRACTION,
    agent_budget,
    estimate_tokens,
    load_pricing,
    price_call,
)
from jigga.runtime.spend_ledger import window_spend


@dataclass(frozen=True)
class ModelProviderConfig:
    id: str
    kind: str = "dry_run"
    base_url: str | None = None
    api_key_env: str | None = None
    default_model: str | None = None
    timeout_seconds: 

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search 40K more like it.

Get a free API key