autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
68 lines (67 loc) • 2.78 kB
TypeScript
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;