import { SemanticLayerCompiler, SecurityContext, DatabaseExecutor } from '../server/index.js'; /** * Base adapter configuration */ export interface BaseAdapterOptions { semanticLayer: SemanticLayerCompiler; databaseExecutor?: DatabaseExecutor; basePath?: string; } /** * Framework-specific context extractor * Each framework adapter will provide their own context type */ export interface ContextExtractor { (context: TContext): SecurityContext | Promise; } /** * Standard CORS configuration */ export interface CorsConfig { origin?: string | string[] | ((origin: string) => boolean); allowMethods?: string[]; allowHeaders?: string[]; credentials?: boolean; } /** * Standard adapter response format */ export interface AdapterResponse { data?: any; error?: string; status?: number; } /** * Future adapter interface (for Express, Fastify, etc.) */ export interface AdapterFactory { createRoutes(options: TOptions): TApp; mountRoutes?(app: TApp, options: TOptions): TApp; createApp?(options: TOptions): TApp; }