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