UNPKG

@cyqlelabs/mcp-dual-cycle-reasoner

Version:

MCP server implementing dual-cycle metacognitive reasoning framework for autonomous agents

63 lines (62 loc) 2.24 kB
export interface SemanticAnalysisResult { label: 'CONTRADICTION' | 'ENTAILMENT' | 'NEUTRAL'; score: number; confidence: number; } export interface ActionAssessmentResult { category: 'success' | 'failure' | 'neutral'; confidence: number; reasoning: string; } export interface SemanticSimilarityResult { similarity: number; confidence: number; reasoning: string; } export declare class SemanticAnalyzer { private nliClassifier; private embeddingModel; private isInitialized; private embeddingCache; private readonly maxCacheSize; initialize(): Promise<void>; analyzeTextPair(premise: string, hypothesis: string): Promise<SemanticAnalysisResult>; assessActionOutcome(action: string, expectedOutcome: string): Promise<ActionAssessmentResult>; classifyActionIntent(action: string, possibleIntents: string[]): Promise<{ bestMatch: string; confidence: number; allScores: Array<{ intent: string; score: number; }>; }>; /** * Calculate semantic similarity between two texts using NLI-based approach * Higher similarity indicates more related content */ calculateSemanticSimilarity(text1: string, text2: string): Promise<SemanticSimilarityResult>; /** * PERFORMANCE OPTIMIZATION: Batch compute embeddings for multiple texts * This is 10-100x faster than individual model calls */ getBatchEmbeddings(texts: string[]): Promise<number[][]>; /** * Fast cosine similarity calculation between two vectors */ private cosineSimilarity; /** * PERFORMANCE OPTIMIZATION: Batch similarity matrix for multiple texts * Computes all pairwise similarities in one batch - much faster than individual calls */ computeSimilarityMatrix(texts: string[]): Promise<number[][]>; /** * Extract semantic features from text for advanced similarity calculations */ extractSemanticFeatures(text: string, customIntents?: string[]): Promise<{ intents: string[]; sentiment: 'positive' | 'negative' | 'neutral'; confidence: number; }>; isReady(): boolean; } export declare const semanticAnalyzer: SemanticAnalyzer;