{
  "notifyerrors": false,
  "rotations": {
    "coding": {
      "model_name": "coding",
      "nsfw": false,
      "privacy": false,
      "notifyerrors": false,
      "capabilities": ["code_generation", "code_completion", "reasoning"],
      "providers": [
        {
          "provider_id": "gemini",
          "models": [
            {
              "name": "gemini-2.0-flash",
              "weight": 3,
              "rate_limit": 0,
              "max_request_tokens": 100000,
              "rate_limit_TPM": 15000,
              "rate_limit_TPH": 100000,
              "rate_limit_TPD": 1000000,
              "context_size": 1000000,
              "condense_context": 80,
              "condense_method": ["hierarchical", "semantic"]
            },
            {
              "name": "gemini-1.5-pro",
              "weight": 1,
              "rate_limit": 0,
              "max_request_tokens": 100000,
              "rate_limit_TPM": 15000,
              "rate_limit_TPH": 100000,
              "rate_limit_TPD": 1000000,
              "context_size": 2000000,
              "condense_context": 85,
              "condense_method": "conversational"
            }
          ]
        },
        {
          "provider_id": "openai",
          "models": [
            {
              "name": "gpt-4",
              "weight": 2,
              "rate_limit": 0,
              "max_request_tokens": 128000,
              "context_size": 128000,
              "condense_context": 75,
              "condense_method": ["hierarchical", "conversational"]
            },
            {
              "name": "gpt-3.5-turbo",
              "weight": 1,
              "rate_limit": 0,
              "max_request_tokens": 4000,
              "context_size": 16000,
              "condense_context": 70,
              "condense_method": "semantic"
            }
          ]
        },
        {
          "provider_id": "anthropic",
          "models": [
            {
              "name": "claude-3-5-sonnet-20241022",
              "weight": 2,
              "rate_limit": 0,
              "max_request_tokens": 200000,
              "context_size": 200000,
              "condense_context": 80,
              "condense_method": ["hierarchical", "semantic"]
            },
            {
              "name": "claude-3-haiku-20240307",
              "weight": 1,
              "rate_limit": 0,
              "max_request_tokens": 200000,
              "context_size": 200000,
              "condense_context": 75,
              "condense_method": "conversational"
            }
          ]
        }
      ]
    },
    "general": {
      "model_name": "general",
      "nsfw": false,
      "privacy": false,
      "notifyerrors": false,
      "capabilities": ["t2t", "translation", "summarization", "question_answering"],
      "providers": [
        {
          "provider_id": "gemini",
          "models": [
            {
              "name": "gemini-1.5-pro",
              "weight": 2,
              "rate_limit": 0
            },
            {
              "name": "gemini-2.0-flash",
              "weight": 1,
              "rate_limit": 0
            }
          ]
        },
        {
          "provider_id": "openai",
          "models": [
            {
              "name": "gpt-4",
              "weight": 2,
              "rate_limit": 0
            },
            {
              "name": "gpt-3.5-turbo",
              "weight": 1,
              "rate_limit": 0
            }
          ]
        }
      ]
    },
    "googletest": {
      "model_name": "googletest",
      "nsfw": false,
      "privacy": false,
      "notifyerrors": false,
      "capabilities": ["code_generation", "testing", "code_completion"],
      "providers": [
        {
          "provider_id": "gemini",
          "models": [
            {
              "name": "gemini-2.0-flash",
              "weight": 1,
              "rate_limit": 0
            },
            {
              "name": "gemini-1.5-pro",
              "weight": 1,
              "rate_limit": 0
            }
          ]
        }
      ]
    },
    "kiro-claude": {
      "model_name": "kiro-claude",
      "nsfw": false,
      "privacy": false,
      "notifyerrors": false,
      "capabilities": ["t2t", "reasoning", "function_calling"],
      "providers": [
        {
          "provider_id": "kiro",
          "models": [
            {
              "name": "claude-sonnet-4-5",
              "weight": 3,
              "rate_limit": 0,
              "max_request_tokens": 200000,
              "context_size": 200000,
              "condense_context": 80,
              "condense_method": ["hierarchical", "semantic"]
            },
            {
              "name": "claude-haiku-4-5",
              "weight": 2,
              "rate_limit": 0,
              "max_request_tokens": 200000,
              "context_size": 200000,
              "condense_context": 75,
              "condense_method": "conversational"
            },
            {
              "name": "claude-sonnet-4",
              "weight": 1,
              "rate_limit": 0,
              "max_request_tokens": 200000,
              "context_size": 200000,
              "condense_context": 80,
              "condense_method": "conversational"
            }
          ]
        }
      ]
    },
    "simple-gemini": {
      "_comment": "SIMPLE FORMAT: Specify provider_id only, models will be loaded from providers.json automatically",
      "model_name": "simple-gemini",
      "nsfw": false,
      "privacy": false,
      "notifyerrors": false,
      "capabilities": ["t2t"],
      "providers": [
        {
          "provider_id": "gemini"
        }
      ]
    },
    "simple-openai": {
      "_comment": "SIMPLE FORMAT: Provider with custom weight, models loaded from providers.json",
      "model_name": "simple-openai",
      "nsfw": false,
      "privacy": false,
      "notifyerrors": false,
      "capabilities": ["t2t"],
      "providers": [
        {
          "provider_id": "openai",
          "weight": 2
        }
      ]
    }
  }
}
