Changes: - drizzle/schema.ts: added llmProviders table (AES-256-GCM encrypted API keys) - drizzle/0004_llm_providers.sql: migration for llmProviders - server/providers.ts: full CRUD + AES-256-GCM encrypt/decrypt + seedDefaultProvider - server/routers.ts: replaced hardcoded config.providers with DB-backed providers router; added providers.list/create/update/delete/activate tRPC endpoints - server/seed.ts: calls seedDefaultProvider() on startup to seed from env if table empty - server/_core/index.ts: added POST /api/orchestrator/stream SSE proxy route to Go Gateway - gateway/internal/llm/client.go: added ChatStream (SSE) + UpdateCredentials - gateway/internal/orchestrator/orchestrator.go: added ChatWithEvents (tool-call callbacks) - gateway/internal/api/handlers.go: added OrchestratorStream (SSE) + ProvidersReload endpoints - gateway/internal/db/db.go: added GetActiveProvider from llmProviders table - gateway/cmd/gateway/main.go: registered /api/orchestrator/stream + /api/providers/reload routes - client/src/pages/Chat.tsx: full rebuild — 3-panel layout (left: conversation list, centre: messages with SSE streaming + markdown, right: live tool-call console) - client/src/pages/Settings.tsx: full rebuild — DB-backed provider CRUD (add/edit/activate/delete), no hardcoded keys, key shown masked from DB hint
41 lines
772 B
JSON
41 lines
772 B
JSON
{
|
|
"version": "7",
|
|
"dialect": "mysql",
|
|
"entries": [
|
|
{
|
|
"idx": 0,
|
|
"version": "5",
|
|
"when": 1774036428800,
|
|
"tag": "0000_sudden_blue_shield",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 1,
|
|
"version": "5",
|
|
"when": 1774038103243,
|
|
"tag": "0001_secret_guardian",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 2,
|
|
"version": "5",
|
|
"when": 1774042457262,
|
|
"tag": "0002_tricky_saracen",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 3,
|
|
"version": "5",
|
|
"when": 1774043298939,
|
|
"tag": "0003_lazy_hitman",
|
|
"breakpoints": true
|
|
},
|
|
{
|
|
"idx": 4,
|
|
"version": "5",
|
|
"when": 1774100000000,
|
|
"tag": "0004_llm_providers",
|
|
"breakpoints": true
|
|
}
|
|
]
|
|
} |