Commit graph

2 commits

Author SHA1 Message Date
fenil modi
c77aa2f882 feat(aiand): reach provider parity with together_ai
- declare per-model reasoning_effort_levels on all 13 catalog entries
  (root + backup cost maps) and map spec reasoning_options in the sync
  script so re-runs keep the field
- register aiand in models_by_provider so get_valid_models, proxy
  wildcard aiand/*, and cheapest-model picking behave like together_ai
- map aiand error payloads (402 insufficient_credits, 401 invalid key,
  404 model_not_found) to precise exceptions, including the openai-SDK
  unwrapped body shape
- register /v1/completions so text_completion(model='aiand/...') routes
  natively with AIAND_API_KEY auth
2026-10-03 13:40:17 +00:00
fenil modi
d1526c09fc feat(aiand): add ai& as a JSON-configured provider
Register ai& (https://api.aiand.com/v1) for chat completions, responses,
and Anthropic-style messages via the openai_like JSON provider path, with
AIAND_API_KEY/AIAND_API_BASE env vars and URL autodetection.

Add all 13 catalog models to both cost maps with per-token input, output,
and cache-read pricing, context and output limits, and capability flags
sourced from https://api.aiand.com/v1/api.json, plus scripts/
sync_aiand_models.py and a daily workflow that opens a PR when the live
catalog drifts from the registry. Removals stamp metadata.
absent_from_spec_since so every finding is a real file change, matching
the together_ai sync convention.

Register the provider in the Add Model form, dashboard provider maps
with logo, endpoint support matrices, and the README provider table.

Cover provider resolution, credential override, cost invariants over all
models, root/backup registry sync, respx-mocked chat, responses, and
messages routing, and the sync script's add, update, removal, and
reappearance paths in tests
2026-10-03 08:34:20 +00:00