feat: multi-provider support — Anthropic + Ollama (P2-002) #74

Merged
jason.woltje merged 1 commits from feat/p2-002-multi-provider into main 2026-03-13 03:10:51 +00:00
Owner

Summary

  • Added ProviderService wrapping Pi SDK ModelRegistry for multi-provider LLM support
  • Built-in providers (Anthropic, OpenAI, Google, xAI, Groq, etc.) auto-discovered from Pi SDK
  • Ollama support via env var with configurable model list
  • Custom providers via JSON env var
  • REST API: and
  • AgentService now accepts provider/model params on session creation
  • ChatGateway passes optional provider/modelId from chat messages

Test plan

  • typecheck passes
  • lint passes
  • format:check passes
  • tests pass

Closes #20

## Summary - Added ProviderService wrapping Pi SDK ModelRegistry for multi-provider LLM support - Built-in providers (Anthropic, OpenAI, Google, xAI, Groq, etc.) auto-discovered from Pi SDK - Ollama support via env var with configurable model list - Custom providers via JSON env var - REST API: and - AgentService now accepts provider/model params on session creation - ChatGateway passes optional provider/modelId from chat messages ## Test plan - [x] typecheck passes - [x] lint passes - [x] format:check passes - [x] tests pass Closes #20
jason.woltje added 1 commit 2026-03-13 03:10:46 +00:00
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>
jason.woltje merged commit 95f95f54cf into main 2026-03-13 03:10:51 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#74