smart-thinking-mcp
Version:
Un serveur MCP avancé pour le raisonnement multi-dimensionnel, adaptatif et collaboratif
213 lines (212 loc) • 6.59 kB
TypeScript
/**
* Types communs pour le projet Smart-Thinking
* Avec ajout du système de vérification et de fiabilité
*/
export type ThoughtType = 'regular' | 'revision' | 'meta' | 'hypothesis' | 'conclusion';
export type VerificationStatus = 'unverified' | 'partially_verified' | 'verified' | 'contradicted' | 'inconclusive' | 'absence_of_information' | 'uncertain' | 'contradictory';
export type VerificationDetailedStatus = 'unverified' | 'verification_pending' | // En attente de vérification
'verification_in_progress' | // Vérification en cours
'partially_verified' | 'verified' | 'contradicted' | 'inconclusive' | 'absence_of_information' | // Aucune information trouvée
'uncertain' | // Information incertaine
'contradictory';
export type ConnectionType = 'supports' | 'contradicts' | 'refines' | 'branches' | 'derives' | 'associates' | 'exemplifies' | 'generalizes' | 'compares' | 'contrasts' | 'questions' | 'extends' | 'analyzes' | 'synthesizes' | 'applies' | 'evaluates' | 'cites' | 'extended-by' | 'analyzed-by' | 'component-of' | 'applied-by' | 'evaluated-by' | 'cited-by';
export interface ConnectionAttributes {
temporality?: 'before' | 'after' | 'during' | 'concurrent';
certainty?: 'definite' | 'high' | 'moderate' | 'low' | 'speculative';
directionality?: 'unidirectional' | 'bidirectional' | 'multidirectional';
scope?: 'broad' | 'specific' | 'partial' | 'complete';
nature?: 'causal' | 'correlational' | 'sequential' | 'hierarchical' | 'associative';
customAttributes?: Record<string, any>;
}
export interface ThoughtNode {
id: string;
content: string;
type: ThoughtType;
timestamp: Date;
connections: Connection[];
metrics: ThoughtMetrics;
metadata: Record<string, any>;
}
export interface Connection {
targetId: string;
type: ConnectionType;
strength: number;
description?: string;
attributes?: ConnectionAttributes;
inferred?: boolean;
inferenceConfidence?: number;
bidirectional?: boolean;
}
export interface Hyperlink {
id: string;
nodeIds: string[];
type: ConnectionType;
label?: string;
attributes?: ConnectionAttributes;
strength: number;
inferred: boolean;
confidence: number;
metadata: Record<string, any>;
}
export interface ThoughtMetrics {
confidence: number;
relevance: number;
quality: number;
}
export interface CalculationVerificationResult {
original: string;
verified: string;
isCorrect: boolean;
confidence: number;
}
export interface VerificationResult {
status: VerificationStatus;
confidence: number;
sources: string[];
verificationSteps: string[];
contradictions?: string[];
notes?: string;
verifiedCalculations?: CalculationVerificationResult[];
}
export interface SuggestedTool {
name: string;
confidence: number;
reason: string;
priority?: number;
}
export interface VisualizationCluster {
id: string;
label: string;
nodeIds: string[];
color?: string;
expanded?: boolean;
level: number;
parentClusterId?: string;
}
export interface InteractivityOptions {
zoomable: boolean;
draggable: boolean;
selectable: boolean;
tooltips: boolean;
expandableNodes: boolean;
initialZoom?: number;
zoomRange?: [number, number];
highlightOnHover?: boolean;
}
export interface FilterOptions {
nodeTypes?: ThoughtType[];
connectionTypes?: ConnectionType[];
metricThresholds?: {
confidence?: [number, number];
relevance?: [number, number];
quality?: [number, number];
};
textSearch?: string;
dateRange?: [Date, Date];
customFilters?: Record<string, any>;
}
export interface LayoutOptions {
type: 'force' | 'hierarchical' | 'radial' | 'chronological' | 'thematic';
direction?: 'LR' | 'RL' | 'TB' | 'BT';
forceStrength?: number;
spacing?: number;
centerNode?: string;
levelSeparation?: number;
}
export interface Visualization {
nodes: VisualizationNode[];
links: VisualizationLink[];
clusters?: VisualizationCluster[];
interactivity?: InteractivityOptions;
filters?: FilterOptions;
layout?: LayoutOptions;
metadata?: Record<string, any>;
}
export interface VisualizationNode {
id: string;
label: string;
type: ThoughtType;
metrics: ThoughtMetrics;
size?: number;
color?: string;
clusterId?: string;
collapsed?: boolean;
level?: number;
icon?: string;
tooltip?: string;
hoverContent?: string;
expandedContent?: string;
position?: {
x: number;
y: number;
};
highlighted?: boolean;
selected?: boolean;
metadata?: Record<string, any>;
}
export interface VisualizationLink {
source: string;
target: string;
type: ConnectionType;
strength: number;
width?: number;
color?: string;
dashed?: boolean;
bidirectional?: boolean;
animated?: boolean;
weight?: number;
highlighted?: boolean;
tooltip?: string;
hidden?: boolean;
}
export interface MemoryItem {
id: string;
content: string;
tags: string[];
timestamp: Date;
relevanceScore?: number;
metadata?: Record<string, any>;
}
export interface NextStepSuggestion {
description: string;
type: ThoughtType;
confidence: number;
reasoning: string;
}
export interface SmartThinkingParams {
thought: string;
thoughtType?: ThoughtType;
connections?: Connection[];
requestSuggestions?: boolean;
generateVisualization?: boolean;
suggestTools?: boolean;
sessionId?: string;
userId?: string;
visualizationType?: 'graph' | 'chronological' | 'thematic' | 'hierarchical' | 'force' | 'radial';
help?: boolean;
requestVerification?: boolean;
containsCalculations?: boolean;
visualizationOptions?: {
clusterBy?: 'type' | 'theme' | 'metric' | 'connectivity';
direction?: 'LR' | 'RL' | 'TB' | 'BT';
centerNode?: string;
maxDepth?: number;
filters?: FilterOptions;
interactivity?: Partial<InteractivityOptions>;
};
}
export interface SmartThinkingResponse {
thoughtId: string;
thought: string;
thoughtType: ThoughtType;
qualityMetrics: ThoughtMetrics;
suggestedTools?: SuggestedTool[];
visualization?: Visualization;
relevantMemories?: MemoryItem[];
suggestedNextSteps?: NextStepSuggestion[];
verification?: VerificationResult;
isVerified: boolean;
verificationStatus?: VerificationDetailedStatus;
certaintySummary: string;
reliabilityScore: number;
}