anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
55 lines • 1.73 kB
TypeScript
import { DelegationChain } from './types';
export interface ChainNode {
id: string;
name: string;
type: 'user' | 'agent';
depth: number;
canDelegate: boolean;
scopes: string[];
children: ChainNode[];
}
export interface ChainVisualization {
root: ChainNode;
totalDepth: number;
totalAgents: number;
scopeHierarchy: Map<string, string[]>;
}
export declare class DelegationChainVisualizer {
/**
* Creates a tree structure from a delegation chain
*/
static createVisualization(chain: DelegationChain, rootDID: string, rootName?: string): ChainVisualization;
/**
* Generates a text-based tree visualization
*/
static toAsciiTree(visualization: ChainVisualization): string;
/**
* Generates a Mermaid diagram for the delegation chain
*/
static toMermaidDiagram(visualization: ChainVisualization): string;
/**
* Generates a JSON representation suitable for D3.js or other visualization libraries
*/
static toD3Json(visualization: ChainVisualization): object;
/**
* Analyzes scope reduction through the chain
*/
static analyzeScopeReduction(chain: DelegationChain): {
reductions: Array<{
from: string;
to: string;
removed: string[];
retained: string[];
}>;
totalScopeLoss: number;
};
private static extractRootScopes;
private static findNodeById;
private static buildAsciiTree;
private static buildMermaidNodes;
private static sanitizeId;
private static findNodesByType;
private static findNodesByCondition;
private static nodeToD3Json;
}
//# sourceMappingURL=delegation-chain-visualizer.d.ts.map