export type TControllerTlsMode = 'local' | 'proxy'; export interface IControllerRuntimeConfig { controllerPort: number; publicOrigin: string; rpId: string; /** * Default base for relative project paths and suggestions. Absolute projects * remain independently identity-bound and may live outside this directory. */ projectsRoot: string; opencodePort: number; tlsMode: TControllerTlsMode; } export interface IControllerRuntimeOverrides { controllerPort: number; publicOrigin?: string; rpId?: string; /** Explicit one-time project registration; never persisted as runtime config. */ initialProjectDirectory?: string; projectsRoot?: string; opencodePort?: number; behindTlsProxy?: boolean; } export interface IControllerDatabaseConfig { /** external server URL; absent = embedded smartdb engine */ mongoDbUrl?: string; mongoDbName: string; /** storage directory for the embedded engine; set when mongoDbUrl is absent */ embeddedDataDirectory?: string; /** previous installed default, logically migrated only for the implicit installed database */ legacyEmbeddedDataDirectory?: string; }