UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

68 lines (67 loc) 2.78 kB
import Constitution from './core/constitution/Constitution.js'; import ConstitutionValidator from './core/constitution/ConstitutionValidator.js'; import Gateway from './core/gateway/Gateway.js'; import PermissionManager from './core/permission/PermissionManager.js'; import AuditLogger from './infrastructure/audit/AuditLogger.js'; import AuditStore from './infrastructure/audit/AuditStore.js'; import ConfigLoader from './infrastructure/config/ConfigLoader.js'; import DatabaseConnection from './infrastructure/database/DatabaseConnection.js'; import Logger from './infrastructure/logging/Logger.js'; import { SkillHooks } from './service/skills/SkillHooks.js'; /** Bootstrap - 应用程序启动器 */ /** Bootstrap 初始化选项 */ interface BootstrapOptions { configPath?: string; dbPath?: string; logLevel?: string; [key: string]: unknown; } /** Bootstrap 管理的组件集合 */ interface BootstrapComponents { config?: typeof ConfigLoader; logger?: ReturnType<typeof Logger.getInstance>; db?: InstanceType<typeof DatabaseConnection>; constitution?: InstanceType<typeof Constitution>; constitutionValidator?: InstanceType<typeof ConstitutionValidator>; permissionManager?: InstanceType<typeof PermissionManager>; auditStore?: InstanceType<typeof AuditStore>; auditLogger?: InstanceType<typeof AuditLogger>; gateway?: InstanceType<typeof Gateway>; skillHooks?: InstanceType<typeof SkillHooks>; [key: string]: unknown; } export declare class Bootstrap { components: BootstrapComponents; options: BootstrapOptions; constructor(options?: BootstrapOptions); /** * 配置 PathGuard 路径安全守卫 * 必须在任何文件写操作前调用 * @param projectRoot 用户项目的绝对路径 * @param [knowledgeBaseDir] 知识库目录名(如 'AutoSnippet') */ static configurePathGuard(projectRoot: string, knowledgeBaseDir?: string): void; /** 初始化应用程序 */ initialize(): Promise<BootstrapComponents>; /** 加载 .env 文件(dotenv),不覆盖已有环境变量 */ loadDotEnv(): Promise<void>; /** 加载配置 */ loadConfig(): Promise<void>; /** 初始化日志系统 */ initializeLogger(): Promise<void>; /** 初始化数据库 */ initializeDatabase(): Promise<void>; /** 加载宪法 */ loadConstitution(): Promise<void>; /** 初始化核心组件 */ initializeCoreComponents(): Promise<void>; /** 初始化网关 */ initializeGateway(): Promise<void>; /** 关闭应用程序 */ shutdown(): Promise<void>; /** 获取组件 */ getComponent(name: string): unknown; /** 获取所有组件 */ getAllComponents(): BootstrapComponents; } export default Bootstrap;