ultimate-mcp-server
Version:
The definitive all-in-one Model Context Protocol server for AI-assisted coding across 30+ platforms
98 lines • 2.77 kB
TypeScript
/**
* Cognitive Memory System Types
* Inspired by cognee-mcp for knowledge graph and cognitive search
*/
export interface CognitiveNode {
id: string;
type: 'concept' | 'entity' | 'relation' | 'code' | 'document' | 'memory';
name: string;
content: string;
metadata: Record<string, any>;
embedding?: number[];
createdAt: Date;
updatedAt: Date;
accessCount: number;
lastAccessed: Date;
importance: number;
}
export interface CognitiveEdge {
id: string;
source: string;
target: string;
type: 'relates_to' | 'contains' | 'depends_on' | 'similar_to' | 'derived_from' | 'references';
weight: number;
metadata: Record<string, any>;
createdAt: Date;
}
export interface KnowledgeGraph {
nodes: Map<string, CognitiveNode>;
edges: Map<string, CognitiveEdge>;
nodeIndex: Map<string, Set<string>>;
edgeIndex: Map<string, Set<string>>;
}
export interface MemorySearchOptions {
query: string;
type?: CognitiveNode['type'];
limit?: number;
threshold?: number;
includeRelated?: boolean;
depth?: number;
}
export interface MemoryContext {
nodes: CognitiveNode[];
edges: CognitiveEdge[];
subgraph: KnowledgeGraph;
relevanceScores: Map<string, number>;
}
export interface CognitiveMemoryConfig {
maxNodes?: number;
maxEdges?: number;
pruneThreshold?: number;
embeddingDimensions?: number;
persistencePath?: string;
autoSave?: boolean;
autoSaveInterval?: number;
}
export interface CodeAnalysisResult {
symbols: CodeSymbol[];
dependencies: CodeDependency[];
complexity: number;
patterns: CodePattern[];
}
export interface CodeSymbol {
name: string;
type: 'function' | 'class' | 'interface' | 'variable' | 'import' | 'export';
location: {
file: string;
line: number;
column: number;
};
signature?: string;
docstring?: string;
}
export interface CodeDependency {
source: string;
target: string;
type: 'import' | 'extends' | 'implements' | 'uses' | 'calls';
}
export interface CodePattern {
type: string;
description: string;
occurrences: number;
locations: Array<{
file: string;
line: number;
}>;
}
export interface CognitivePersistence {
save(graph: KnowledgeGraph): Promise<void>;
load(): Promise<KnowledgeGraph | null>;
backup(): Promise<void>;
restore(backupId: string): Promise<void>;
}
export interface MemoryPruner {
prune(graph: KnowledgeGraph, config: CognitiveMemoryConfig): Promise<KnowledgeGraph>;
calculateImportance(node: CognitiveNode, graph: KnowledgeGraph): number;
shouldPrune(node: CognitiveNode, config: CognitiveMemoryConfig): boolean;
}
//# sourceMappingURL=types.d.ts.map