feat: eager vLLM warmup and smart page titles in paginate stage

- Add warmup() to LlmProvider interface for eager subprocess startup
- ManagedVllmProvider.warmup() starts vLLM in background on project load
- ProviderRegistry.warmupAll() triggers all managed providers
- NamedProvider proxies warmup() to inner provider
- paginate stage generates LLM-powered descriptive page titles when
  available, cached by content hash, falls back to generic "Page N"
- project-mcp-endpoint calls warmupAll() on router creation so vLLM
  is loading while the session initializes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Michal
2026-03-03 19:07:39 +00:00
parent 0427d7dc1a
commit 03827f11e4
147 changed files with 17561 additions and 2093 deletions

View File

@@ -0,0 +1,5 @@
-- AlterTable
ALTER TABLE "McpServer" ADD COLUMN "runtime" TEXT;
-- AlterTable
ALTER TABLE "McpTemplate" ADD COLUMN "runtime" TEXT;

View File

@@ -0,0 +1,2 @@
-- AlterTable
ALTER TABLE "Project" ADD COLUMN "proxyModel" TEXT NOT NULL DEFAULT '';

View File

@@ -0,0 +1,27 @@
-- CreateTable
CREATE TABLE "AuditEvent" (
"id" TEXT NOT NULL,
"timestamp" TIMESTAMP(3) NOT NULL,
"sessionId" TEXT NOT NULL,
"projectName" TEXT NOT NULL,
"eventKind" TEXT NOT NULL,
"source" TEXT NOT NULL,
"verified" BOOLEAN NOT NULL DEFAULT false,
"serverName" TEXT,
"correlationId" TEXT,
"parentEventId" TEXT,
"payload" JSONB NOT NULL,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "AuditEvent_pkey" PRIMARY KEY ("id")
);
-- AlterTable
ALTER TABLE "Project" ADD COLUMN "serverOverrides" JSONB;
-- CreateIndex
CREATE INDEX "AuditEvent_sessionId_idx" ON "AuditEvent"("sessionId");
CREATE INDEX "AuditEvent_projectName_idx" ON "AuditEvent"("projectName");
CREATE INDEX "AuditEvent_correlationId_idx" ON "AuditEvent"("correlationId");
CREATE INDEX "AuditEvent_timestamp_idx" ON "AuditEvent"("timestamp");
CREATE INDEX "AuditEvent_eventKind_idx" ON "AuditEvent"("eventKind");