pm-orchestrator-enhancement
Version:
PM Orchestrator Enhancement - Multi-agent parallel execution system
78 lines • 2.12 kB
TypeScript
/**
* 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