0c78923138
feat( #133 ): add workspace-scoped LLM configuration
...
Implement per-workspace LLM provider and personality configuration
with proper hierarchy (workspace > user > system fallback).
Schema:
- Add WorkspaceLlmSettings model with provider/personality FKs
- One-to-one relation with Workspace
- JSON settings field for extensibility
Service:
- getSettings: Retrieves/creates workspace settings
- updateSettings: Updates with null value support
- getEffectiveLlmProvider: Hierarchy-based provider selection
- getEffectivePersonality: Hierarchy-based personality selection
Endpoints:
- GET /workspaces/:id/settings/llm - Get settings
- PATCH /workspaces/:id/settings/llm - Update settings
- GET /workspaces/:id/settings/llm/effective-provider
- GET /workspaces/:id/settings/llm/effective-personality
Configuration hierarchy:
1. Workspace-configured provider/personality
2. User-specific provider (for providers)
3. System default fallback
Tests: 34 passing with 100% coverage
Fixes #133
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-31 13:15:36 -06:00