anon-identity
Version:
Decentralized identity framework with DIDs, Verifiable Credentials, and privacy-preserving selective disclosure
144 lines • 4.23 kB
TypeScript
/**
* Delegation Integration for MCP
*
* Integrates LLM-assisted delegation with the existing agent delegation system
*/
import { EventEmitter } from 'events';
import { LLMDelegationEngine, DelegationRequest, DelegationDecision, DecisionContext } from './llm-delegation-engine';
import { MessageRouter } from '../routing/message-router';
import { ConversationManager } from '../conversation/conversation-manager';
import { AuthManager } from '../security/auth-manager';
import { AuditLogger } from '../security/audit-logger';
/**
* Enhanced delegation request with MCP integration
*/
export interface EnhancedDelegationRequest extends DelegationRequest {
conversationId?: string;
sessionId?: string;
llmProviderPreference?: string;
requireExplanation: boolean;
allowModifications: boolean;
maxResponseTime: number;
}
/**
* Delegation workflow state
*/
export interface DelegationWorkflow {
id: string;
request: EnhancedDelegationRequest;
currentStep: 'initiated' | 'analyzing' | 'llm_processing' | 'human_review' | 'completed' | 'failed';
decision?: DelegationDecision;
humanReviewer?: string;
startedAt: Date;
completedAt?: Date;
steps: Array<{
step: string;
timestamp: Date;
duration: number;
status: 'pending' | 'completed' | 'failed';
output?: any;
error?: string;
}>;
metadata: {
llmProvider?: string;
conversationTurns: number;
confidenceScore: number;
totalProcessingTime: number;
};
}
/**
* Integration configuration
*/
export interface DelegationIntegrationConfig {
enableLLMAssistance: boolean;
fallbackToRules: boolean;
requireHumanReview: boolean;
maxProcessingTime: number;
confidenceThreshold: number;
enableConversationalFlow: boolean;
retryOnFailure: boolean;
maxRetries: number;
}
/**
* Delegation Integration
*/
export declare class DelegationIntegration extends EventEmitter {
private llmEngine;
private messageRouter;
private conversationManager;
private authManager;
private auditLogger;
private config;
private activeWorkflows;
private workflowHistory;
constructor(llmEngine: LLMDelegationEngine, messageRouter: MessageRouter, conversationManager: ConversationManager, authManager: AuthManager, auditLogger: AuditLogger, config?: DelegationIntegrationConfig);
/**
* Process delegation request with full MCP integration
*/
processDelegationRequest(request: EnhancedDelegationRequest, context: DecisionContext): Promise<DelegationWorkflow>;
/**
* Handle conversational delegation request
*/
processConversationalDelegation(naturalLanguageRequest: string, agentDID: string, sessionId?: string): Promise<DelegationWorkflow>;
/**
* Query delegation status
*/
queryDelegationStatus(query: string, agentDID: string, sessionId?: string): Promise<{
activeWorkflows: DelegationWorkflow[];
recentDecisions: DelegationDecision[];
summary: string;
}>;
/**
* Execute workflow step
*/
private executeWorkflowStep;
/**
* Perform initial analysis
*/
private performInitialAnalysis;
/**
* Process with LLM
*/
private processWithLLM;
/**
* Request human review
*/
private requestHumanReview;
/**
* Finalize decision
*/
private finalizeDecision;
/**
* Fallback decision using rule-based system
*/
private fallbackDecision;
/**
* Build context from conversation
*/
private buildContextFromConversation;
/**
* Generate status summary using LLM
*/
private generateStatusSummary;
/**
* Setup event handlers
*/
private setupEventHandlers;
/**
* Get workflow statistics
*/
getStatistics(): {
activeWorkflows: number;
completedWorkflows: number;
averageProcessingTime: number;
successRate: number;
llmUsageRate: number;
humanReviewRate: number;
};
/**
* Shutdown
*/
shutdown(): void;
}
export default DelegationIntegration;
//# sourceMappingURL=delegation-integration.d.ts.map