/** * CLI Services Module * * Provides infrastructure services used by CLI commands (init, doctor, up, down). * These are distinct from the application-level DI container (bootstrapContainer) * which provides memory, tasks, context, and other core Lisa services for hooks. * * Composition roots: * - CLI commands → createCliServices() (this module) * - Hooks/handlers → bootstrapContainer() (src/lib/infrastructure/di/bootstrap.ts) */ import { type PingMcpOptions } from '../mcp'; export interface ITemplateCopier { copy(templateRel: string, destAbs: string, replacements: Record, force?: boolean): Promise<{ skipped: boolean; }>; } export interface IDockerClient { version(): Promise; composeVersion(): Promise; compose(composeFile: string, args: string[], stdio?: 'inherit' | 'pipe'): Promise; } export interface IMcpPingClient { ping(endpoint: string, options?: PingMcpOptions): Promise; } /** * Service container for CLI commands (init, doctor, up, down). * * NOT the same as ILisaServices (application-level services for hooks/handlers). * These services provide CLI infrastructure: template copying, Docker management, * and MCP endpoint health checks. */ export interface ICliServices { templateCopier: ITemplateCopier; docker: IDockerClient; mcp: IMcpPingClient; } /** * Create CLI infrastructure services. * * This is the composition root for CLI commands (init, doctor, up, down). * For application-level services (memory, tasks, context), use * bootstrapContainer() from src/lib/infrastructure/di/bootstrap.ts instead. * * @param templateRoot - Path to the project template directory * @returns CLI services container */ export declare function createCliServices(templateRoot: string): ICliServices; //# sourceMappingURL=cli-services.d.ts.map