@gork-labs/secondbrain-mcp
Version:
Second Brain MCP Server - Agent team orchestration with dynamic tool discovery
55 lines (54 loc) • 2.13 kB
TypeScript
import { RefinementState, EnhancedQualityAssessment, ValidationContext, SubAgentResponse } from '../utils/types.js';
import { SessionManager } from '../core/session-manager.js';
import { QualityValidator } from './validator.js';
/**
* Manages iterative refinement of sub-agent responses
* Tracks refinement attempts and provides targeted feedback
*/
export declare class RefinementManager {
private refinementStates;
private sessionManager;
private qualityValidator;
constructor(sessionManager: SessionManager, qualityValidator: QualityValidator);
/**
* Determine if a response needs refinement based on quality assessment
*/
needsRefinement(assessment: EnhancedQualityAssessment, context: ValidationContext, sessionId: string): boolean;
/**
* Generate refinement prompt based on quality assessment
*/
generateRefinementPrompt(assessment: EnhancedQualityAssessment, context: ValidationContext, originalTask: string, previousResponse: SubAgentResponse): string;
/**
* Track a refinement attempt
*/
trackRefinementAttempt(sessionId: string, subagent: string, previousScore: number, refinementReason: string): RefinementState;
/**
* Assess if refinement was successful
*/
assessRefinementSuccess(sessionId: string, subagent: string, newAssessment: EnhancedQualityAssessment): {
successful: boolean;
improvement: number;
trend: 'improving' | 'declining' | 'stable';
shouldContinue: boolean;
};
/**
* Get refinement statistics for a session
*/
getRefinementStats(sessionId: string): {
totalRefinements: number;
chatmodeBreakdown: Record<string, number>;
averageImprovement: number;
successRate: number;
};
/**
* Clean up old refinement states
*/
cleanupOldStates(maxAge?: number): void;
private getRefinementState;
private getMaxRefinementAttempts;
private identifyRefinementAreas;
private generateSpecificFeedback;
private assessQualityTrend;
private generateTaskId;
private extractChatmodeFromState;
}