Files
GoClaw/drizzle/meta/_journal.json
bboxwtf 1ad62cf215 feat(phase18): DB-backed LLM providers, SSE streaming chat, left panel + console
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
2026-03-21 03:25:43 +00:00

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
}
]
}