Commit Graph

3 Commits

Author SHA1 Message Date
94d6624c01 feat: multi-provider support — Anthropic + Ollama (P2-002)
Add ProviderService wrapping Pi SDK's ModelRegistry for multi-provider
LLM support. Built-in providers (Anthropic, OpenAI, Google, xAI, etc.)
auto-discovered; Ollama registered via OLLAMA_BASE_URL env var;
custom providers via MOSAIC_CUSTOM_PROVIDERS JSON env var.

- ProviderService: wraps ModelRegistry, manages provider lifecycle
- ProvidersController: GET /api/providers, GET /api/providers/models
- AgentService: accepts provider/model params on session creation
- ChatGateway: passes optional provider/modelId from chat messages
- @mosaic/types: new provider/model type definitions

Closes #20

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 22:10:18 -05:00
15352448d5 fix: switch gateway to ESM + explicit @Inject for tsx compatibility
Pi SDK is ESM-only. tsx (esbuild) doesn't emit decorator metadata,
so NestJS constructor injection fails without explicit @Inject().

- Set "type": "module" in gateway package.json
- Switch tsconfig to NodeNext module resolution
- Add @Inject(AgentService) to ChatController and ChatGateway

Tested end-to-end: REST /api/chat → Pi SDK → Anthropic → response OK.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 20:43:08 -05:00
4f84a01072 feat: communication spine — gateway, TUI, Discord (#61)
Co-authored-by: Jason Woltje <jason@diversecanvas.com>
Co-committed-by: Jason Woltje <jason@diversecanvas.com>
2026-03-13 01:33:32 +00:00