Files
computer-playbook/tests/unit/python
kevinveenbirkenbachandClaude Opus 5 b2fe5f4af9 feat(svc-ai-litellm): declare remote models in meta/services.yml
The OpenAI, Anthropic and OpenRouter routes were a role var, so an
inventory could not add a model (for example
prism-ml/ternary-bonsai-2-27b on OpenRouter) without --extra-vars. The
list now lives in services.litellm.remote_models (alias, model,
provider), and an inventory replaces it through
applications.svc-ai-litellm.services.litellm.remote_models.

- vars: LITELLM_PROVIDER_KEYS maps each provider to its credential,
  LITELLM_KEYED_PROVIDERS keeps the ones with a key.
- config.yaml.j2, env.j2 and test.env.j2 publish the models of keyed
  providers; the env var stays <PROVIDER>_API_KEY, now written once per
  provider instead of once per model.
- AI_REMOTE_ALIASES reads the same list, so the LITELLM_CHAT_MODEL
  fallback follows an inventory override.
- The deploy refuses a model whose provider has no key slot, instead of
  silently leaving it unpublished.

Default output is unchanged: rendering HEAD and this commit side by side
over all 8 key combinations (40 cases across config, env, test env and
AI_REMOTE_ALIASES) gives zero differences.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-22 13:26:20 +02:00
..