llama-stack-mirror/client-sdks/stainless
Charlie Doern 258c52c84c
feat: introduce /admin API for stack administration and operations (#4401)
# What does this PR do?

- Add new /admin API (v1alpha) for administrative operations including
provider management, health checks, version info, and route listing
- Implement using FastAPI routers following batches pattern with proper
request/response models
- Endpoints: /admin/providers, /admin/providers/{id},
/admin/inspect/routes, /admin/health, /admin/version
- Create admin module structure: models.py, api.py, fastapi_routes.py,
init.py
- Add AdminImpl in llama_stack/core combining provider and inspect
functionality
- Deprecate standalone /providers and /inspect APIs (remain functional
for backward compatibility)
- Consolidate duplicate types: ProviderInfo, HealthInfo, RouteInfo, etc.
now defined once in admin.models

## Test Plan

new admin integration suite, uses generated stainless SDK, and records
new tests on this PR.

Signed-off-by: Charlie Doern <cdoern@redhat.com>
2025-12-22 12:11:49 -05:00
..
config.yml feat: introduce /admin API for stack administration and operations (#4401) 2025-12-22 12:11:49 -05:00
openapi.yml feat: introduce /admin API for stack administration and operations (#4401) 2025-12-22 12:11:49 -05:00
README.md feat(openapi): generate stainless config "more" programmatically (#4164) 2025-11-17 12:48:03 -08:00

These are the source-of-truth configuration files used to generate the Stainless client SDKs via Stainless.

  • openapi.yml: this is the OpenAPI specification for the Llama Stack API.
  • config.yml: this is the Stainless configuration which instructs Stainless how to generate the client SDKs.

A small side note: notice the .yml suffixes since Stainless uses that suffix typically for its configuration files.

These files go hand-in-hand. Both openapi.yml and config.yml are generated by scripts/run_openapi_generator.sh:

  • openapi.yml comes from the FastAPI-based generator.
  • config.yml is rendered from scripts/openapi_generator/stainless_config/config_data.py so the Stainless config stays in lock-step with the spec.