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>
48 lines
1.4 KiB
JSON
48 lines
1.4 KiB
JSON
{
|
|
"name": "@mosaic/gateway",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"main": "dist/main.js",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"dev": "tsx watch src/main.ts",
|
|
"lint": "eslint src",
|
|
"typecheck": "tsc --noEmit",
|
|
"test": "vitest run --passWithNoTests"
|
|
},
|
|
"dependencies": {
|
|
"@mariozechner/pi-ai": "~0.57.1",
|
|
"@mariozechner/pi-coding-agent": "~0.57.1",
|
|
"@mosaic/auth": "workspace:^",
|
|
"@mosaic/brain": "workspace:^",
|
|
"@mosaic/db": "workspace:^",
|
|
"@mosaic/types": "workspace:^",
|
|
"@nestjs/common": "^11.0.0",
|
|
"@nestjs/core": "^11.0.0",
|
|
"@nestjs/platform-fastify": "^11.0.0",
|
|
"@nestjs/platform-socket.io": "^11.0.0",
|
|
"@nestjs/websockets": "^11.0.0",
|
|
"@opentelemetry/auto-instrumentations-node": "^0.71.0",
|
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.213.0",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.213.0",
|
|
"@opentelemetry/resources": "^2.6.0",
|
|
"@opentelemetry/sdk-metrics": "^2.6.0",
|
|
"@opentelemetry/sdk-node": "^0.213.0",
|
|
"@opentelemetry/semantic-conventions": "^1.40.0",
|
|
"better-auth": "^1.5.5",
|
|
"fastify": "^5.0.0",
|
|
"reflect-metadata": "^0.2.0",
|
|
"rxjs": "^7.8.0",
|
|
"socket.io": "^4.8.0",
|
|
"uuid": "^11.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.0.0",
|
|
"@types/uuid": "^10.0.0",
|
|
"tsx": "^4.0.0",
|
|
"typescript": "^5.8.0",
|
|
"vitest": "^2.0.0"
|
|
}
|
|
}
|