/** * Shared types and utilities for dashboard API route handlers. */ import type { Database } from "better-sqlite3"; import type { IncomingMessage } from "node:http"; import type { ThreadLifecycleService } from "../../services/thread-lifecycle.service.js"; export interface DashboardContext { getDb: () => Database; getActiveSessions: () => Array<{ threadId: number | null; mcpSessionId: string; lastActivity: number; transportType: string; status: "active" | "disconnected"; lastWaitCallAt: number | null; }>; serverStartTime: number; threadLifecycle: ThreadLifecycleService; } export type JsonFn = (data: unknown, status?: number) => void; export interface RouteArgs { req: IncomingMessage; url: URL; json: JsonFn; db: Database; ctx: DashboardContext; } export type RouteHandler = (args: RouteArgs) => boolean | Promise; export declare function readBody(req: IncomingMessage, maxBytes?: number): Promise; export declare function safeParseJSON(s: string): unknown; //# sourceMappingURL=types.d.ts.map