refactor(vibe): simplify durable session flow
Typecheck / typecheck (backend) (push) Has been cancelled
Typecheck / typecheck (workers) (push) Has been cancelled
Typecheck / typecheck (backend) (pull_request) Has been cancelled
Typecheck / typecheck (workers) (pull_request) Has been cancelled

This commit is contained in:
kami
2026-08-03 12:44:08 +04:00
parent 61a1373ca9
commit 9eba247a58
16 changed files with 191 additions and 520 deletions
-7
View File
@@ -14,7 +14,6 @@ import quarantineRoutes from './routes/quarantine.routes.js';
import settingsRoutes from './routes/settings.routes.js';
import graphRoutes from './routes/graph.routes.js';
import { SessionDirector } from './services/session-director.service.js';
import v2Routes from './routes/v2.routes.js';
import vibeSessionsRoutes from './routes/vibe-sessions.routes.js';
import discoveryRoutes from './routes/discovery.routes.js';
import imagesRoutes from './routes/images.routes.js';
@@ -161,16 +160,10 @@ export async function buildApp(config: AppConfig) {
const sessionDirector = new SessionDirector(dbService);
const vibeSessionCoordinator = new VibeSessionCoordinator(dbService, sessionDirector);
// Durable sessions intentionally do not trust x-user-id. A self-hosted
// deployment may configure one owner through MUZICK_VIBE_USER_ID today;
// an authenticated deployment can replace this resolver at registration.
const vibeOwnerId = process.env.MUZICK_VIBE_USER_ID?.trim() || null;
fastify.register(v2Routes, { prefix: '/api', dbService, sessionDirector });
fastify.register(vibeSessionsRoutes, {
prefix: '/api',
coordinator: vibeSessionCoordinator,
identityResolver: () => vibeOwnerId,
});
fastify.register(discoveryRoutes, { prefix: '/api', dbService, jobService });
// ponytail: /api/test/enqueue-job (manual job-enqueue test endpoint) removed —