UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

78 lines (77 loc) 2.37 kB
export interface ConstitutionRule { id: string; check: string; description?: string; [key: string]: unknown; } export interface ConstitutionRole { id: string; name: string; description?: string; permissions: string[]; constraints: string[]; requires_capability?: string[]; [key: string]: unknown; } export interface ConstitutionConfig { version?: string; effective_date?: string; priorities?: ConstitutionPriority[]; rules?: ConstitutionRule[]; roles?: ConstitutionRole[]; capabilities?: Record<string, unknown>; [key: string]: unknown; } export interface ConstitutionPriority { id: number; [key: string]: unknown; } /** Constitution - 宪法加载与管理 */ export declare class Constitution { priorities: ConstitutionPriority[]; roles: Map<string, ConstitutionRole>; rules: ConstitutionRule[]; config: ConstitutionConfig; configPath: string; constructor(configPath: string); /** 加载宪法配置 */ loadConfig(): ConstitutionConfig; /** 获取所有优先级 */ getPriorities(): ConstitutionPriority[]; /** 获取所有数据守护规则 */ getRules(): ConstitutionRule[]; /** 获取能力定义 */ getCapabilities(): Record<string, unknown>; /** 获取角色需要的能力列表 */ getRoleRequiredCapabilities(roleId: string): string[]; /** 获取特定优先级 */ getPriority(id: number): ConstitutionPriority | undefined; /** 获取角色定义 */ getRole(roleId: string): ConstitutionRole | undefined; /** 获取角色权限 */ getRolePermissions(roleId: string): string[]; /** 获取角色约束 */ getRoleConstraints(roleId: string): string[]; /** 获取所有角色 */ getAllRoles(): ConstitutionRole[]; /** 验证角色是否存在 */ hasRole(roleId: string): boolean; /** 重新加载宪法(热更新) */ reload(): void; /** 导出宪法摘要 */ toJSON(): { version: string | undefined; effectiveDate: string | undefined; priorities: ConstitutionPriority[]; rules: { id: string; description: string | undefined; }[]; roles: { id: string; name: string; description: string | undefined; }[]; }; } export default Constitution;