UNPKG

pm-orchestrator-enhancement

Version:

PM Orchestrator Enhancement - Multi-agent parallel execution system

78 lines 2.12 kB
/** * Permission Checker Module * * サブエージェントの権限管理とアクセス制御を提供します。 */ export interface Permission { resource: string; action: 'read' | 'write' | 'execute' | 'delete'; condition?: (context: any) => boolean; } export interface Role { name: string; permissions: Permission[]; } export interface AccessContext { agentName: string; resource: string; action: 'read' | 'write' | 'execute' | 'delete'; metadata?: Record<string, any>; } export declare class PermissionChecker { private roles; private agentRoles; constructor(); /** * デフォルトロールの初期化 */ private initializeDefaultRoles; /** * ロールを定義 */ defineRole(role: Role): void; /** * エージェントにロールを割り当て */ assignRole(agentName: string, roleName: string): void; /** * エージェントのロールを取得 */ getAgentRoles(agentName: string): string[]; /** * アクセス権限をチェック */ checkAccess(context: AccessContext): boolean; /** * 権限がコンテキストにマッチするかチェック */ private matchesPermission; /** * リソースパターンマッチング */ private matchesResource; /** * エージェントのアクセス可能なリソースを取得 */ getAccessibleResources(agentName: string, action: 'read' | 'write' | 'execute' | 'delete'): string[]; /** * アクセス拒否の理由を取得 */ getAccessDenialReason(context: AccessContext): string; /** * 全ロールを取得 */ getAllRoles(): Role[]; /** * ロールを削除 */ removeRole(roleName: string): boolean; /** * エージェントのロールを削除 */ revokeRole(agentName: string, roleName: string): boolean; /** * 権限チェック結果をログ */ logAccessCheck(context: AccessContext, allowed: boolean): void; } //# sourceMappingURL=permission-checker.d.ts.map