anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
93 lines • 2.87 kB
TypeScript
import { AgentIdentityManager } from '../agent-identity';
import { DelegationChainValidator } from '../delegation-chain-validator';
import { CommunicationManager } from '../communication/communication-manager';
import { ActivityLogger } from '../activity/activity-logger';
export interface RevocationRequest {
targetAgentDID: string;
reason: string;
revokedBy: string;
timestamp: Date;
cascading: boolean;
serviceDID?: string;
effectiveDate?: Date;
}
export interface RevocationResult {
success: boolean;
revokedAgents: string[];
failedRevocations: Array<{
agentDID: string;
error: string;
}>;
notificationsSent: number;
auditEntries: number;
}
export interface RevocationAuditEntry {
id: string;
targetAgentDID: string;
revokedBy: string;
reason: string;
timestamp: Date;
cascading: boolean;
serviceDID?: string;
effectiveDate: Date;
childRevocations: string[];
notificationsSent: string[];
status: 'pending' | 'completed' | 'failed' | 'partial';
}
export declare class CascadingRevocationManager {
private agentManager;
private chainValidator;
private communicationManager;
private activityLogger;
private revocationAudit;
private activeRevocations;
constructor(agentManager: AgentIdentityManager, chainValidator: DelegationChainValidator, communicationManager: CommunicationManager, activityLogger: ActivityLogger);
/**
* Revokes an agent and optionally cascades to all sub-agents
*/
revokeAgent(request: RevocationRequest): Promise<RevocationResult>;
/**
* Performs revocation of a single agent
*/
private performSingleRevocation;
/**
* Finds all sub-agents of a given agent
*/
private findSubAgents;
/**
* Sends revocation notifications to relevant parties
*/
private sendRevocationNotifications;
/**
* Finds agents that should be notified about a revocation
*/
private findNotificationTargets;
/**
* Gets revocation audit trail for an agent
*/
getRevocationAudit(agentDID?: string): RevocationAuditEntry[];
/**
* Checks if an agent has been revoked
*/
isAgentRevoked(agentDID: string, serviceDID?: string): boolean;
/**
* Gets revocation statistics
*/
getRevocationStats(): {
totalRevocations: number;
cascadingRevocations: number;
serviceSpecificRevocations: number;
averageChildRevocations: number;
notificationsSent: number;
};
/**
* Purges old audit entries
*/
purgeOldAuditEntries(olderThan: Date): number;
/**
* Exports audit trail for compliance
*/
exportAuditTrail(format?: 'json' | 'csv'): string;
private generateAuditId;
}
//# sourceMappingURL=cascading-revocation-manager.d.ts.map