Commit Graph
2 Commits
Author SHA1 Message Date
jpmschweitzerandClaude 8b6cff2920 Add application setup and test infrastructure
Application Configuration:
- FastAPI application factory pattern
- CORS middleware for cross-origin support
- Global exception handlers for consistent error responses
  - AppException handler for custom errors
  - RequestValidationError handler for Pydantic validation
  - General exception handler for unexpected errors
- Lifespan management for startup/shutdown events
- Router registration for all API endpoints
- OpenAPI schema with interactive documentation

Models Service:
- Integration with ModelRegistry
- List available models endpoint
- Model capability discovery

Test Infrastructure:
- Pytest configuration with async support
- Test client fixtures for sync and async testing
- Comprehensive main application tests (14 tests):
  - App creation and metadata
  - Router registration verification
  - CORS middleware and functionality
  - Exception handler registration and behavior
  - Lifespan event handling
  - OpenAPI schema generation
  - Documentation accessibility
  - Validation error handling
- Models API tests (2 tests)
- Total: 95 tests, 78.95% coverage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 19:39:02 +01:00
jpmschweitzerandClaude cffb498886 Implement models listing domain
Add OpenAI-compatible models listing endpoint.
Currently returns mock model (mistral-nemo:latest).

Models Router (src/models/router.py):
- GET /v1/models endpoint
- OpenAI-compatible response format
- Lists available models

Models Schemas (src/models/schemas.py):
- Model object with id, created, owned_by
- ModelsListResponse with data array
- Full OpenAI API compatibility

Models Service (src/models/service.py):
- list_models() function
- Mock model listing (ready for Ollama integration)
- Returns mistral-nemo:latest as default

Following Best Practices:
- Business logic in service layer
- Router only handles HTTP concerns
- Type hints throughout
- Async/await pattern

Model: mistral-nemo:latest
Status: Mock implementation (ready for Ollama integration)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 10:38:21 +01:00