import type { BriefingConfig } from '../../handlers/resources/shared.js'; import type { ProjectRegistryEntry } from '../../types/index.js'; import type { AuditConfig } from '../../audit/index.js'; import type { SchedulerOptions } from '../scheduler.js'; export interface ServerOptions { transport: 'stdio' | 'http'; port?: number; host?: string; dbPath: string; testDbPath?: string; teamDbPath?: string; testTeamDbPath?: string; teamDefaultRole?: 'admin' | 'member' | 'viewer' | 'denied'; teamAdmin?: string; toolFilter?: string; defaultProjectNumber?: number; defaultWorkspaceId?: string; autoRebuildIndex?: boolean; statelessHttp?: boolean; corsOrigins?: string[]; authToken?: string; enableHSTS?: boolean; scheduler?: SchedulerOptions; oauthEnabled?: boolean; oauthIssuer?: string; oauthAudience?: string; oauthJwksUri?: string; oauthClockTolerance?: number; allowPlaintextLoopbackOAuth?: boolean; trustProxy?: boolean; publicOrigin?: string; briefingConfig?: BriefingConfig; projectRegistry?: Record; additionalTeamDbs?: Record; auditConfig?: AuditConfig; allowedIoRoots?: string[]; codemodeInternalFullAccess?: boolean; autoPruneIntervalMinutes?: number; archiveOlderThanDays?: number; pruneOlderThanDays?: number; hardDeleteOlderThanDays?: number; pruneImportanceThreshold?: number; pruneDryRun?: boolean; pruneExcludeTags?: string[]; embeddingModel?: string; metricsExport?: 'prometheus'; metricsPort?: number; persistMetrics?: boolean; metricsPath?: string; configFilePath?: string; maxToolInputElements?: number; agentHealing?: boolean; } import type { McpServer } from '@modelcontextprotocol/server'; import type { SkillCatalog } from '@modelcontextprotocol/server/ext/skills'; export type McpServerFactory = () => McpServer; import type { IDatabaseAdapter } from '../../database/core/interfaces.js'; import type { ServerRuntime } from '../../utils/maintenance-lock.js'; import type { VectorSearchManager } from '../../vector/vector-search-manager/index.js'; import type { GitHubIntegration } from '../../github/github-integration/index.js'; import type { ConfigManager } from '../../utils/config-manager.js'; import type { Scheduler } from '../scheduler.js'; export interface ServerContext { db: IDatabaseAdapter; testDb?: IDatabaseAdapter; teamDb?: IDatabaseAdapter; testTeamDb?: IDatabaseAdapter; runtime: ServerRuntime; vectorManager: VectorSearchManager; teamVectorManager?: VectorSearchManager; github: GitHubIntegration; configManager: ConfigManager; scheduler: Scheduler | null; allowedIoRoots: string[]; activeMetricsPath?: string; skillCatalog?: SkillCatalog; } //# sourceMappingURL=types.d.ts.map