tasq/node_modules/agentic-flow/dist/core/agentdb-wrapper-enhanced.d.ts

240 lines
7.5 KiB
TypeScript

/**
* Enhanced AgentDBWrapper - Full integration with Attention & GNN
*
* Provides advanced features:
* - 5 Attention Mechanisms (Flash, Multi-Head, Linear, Hyperbolic, MoE)
* - GNN Query Refinement (+12.4% recall improvement)
* - GraphRoPE Position Embeddings
* - Attention-based Multi-Agent Coordination
*
* @module agentdb-wrapper-enhanced
* @version 2.0.0-alpha
*/
import { AgentDB } from 'agentdb';
import type { AgentDBConfig, VectorEntry, VectorSearchOptions, VectorSearchResult, MemoryInsertOptions, MemoryUpdateOptions, MemoryDeleteOptions, MemoryGetOptions, AgentDBStats, BatchInsertResult, AttentionResult, AttentionType, GraphContext, GNNRefinementResult, AdvancedSearchOptions } from '../types/agentdb.js';
/**
* Enhanced wrapper class with full Attention & GNN support
*
* @example Flash Attention
* ```typescript
* const wrapper = new EnhancedAgentDBWrapper({
* dimension: 768,
* enableAttention: true,
* attentionConfig: {
* type: 'flash',
* numHeads: 8,
* headDim: 64
* }
* });
*
* await wrapper.initialize();
*
* // 4x faster with 75% memory reduction!
* const results = await wrapper.attentionSearch(query, candidates, 'flash');
* ```
*
* @example GNN Query Refinement
* ```typescript
* const wrapper = new EnhancedAgentDBWrapper({
* dimension: 768,
* enableGNN: true,
* gnnConfig: {
* numLayers: 3,
* hiddenDim: 256,
* numHeads: 8
* }
* });
*
* // +12.4% recall improvement!
* const results = await wrapper.gnnEnhancedSearch(query, {
* k: 10,
* graphContext: agentMemoryGraph
* });
* ```
*/
export declare class EnhancedAgentDBWrapper {
private agentDB;
private config;
private initialized;
private dimension;
private namespace;
private reflexionController;
private embedder;
private vectorBackend;
private attentionService;
private gnnService;
private metrics;
_agentDB?: any;
_embedder?: any;
_vectorBackend?: any;
_attentionService?: any;
_gnnService?: any;
constructor(config?: AgentDBConfig);
/**
* Initialize AgentDB, AttentionService, and GNNService
*/
initialize(): Promise<void>;
/**
* Initialize AttentionService with runtime detection
*/
private initializeAttentionService;
/**
* Initialize GNNService for query refinement
*/
private initializeGNNService;
/**
* Log initialization summary
*/
private logInitializationSummary;
/**
* Ensure wrapper is initialized
*/
private ensureInitialized;
/**
* Validate vector dimension
*/
private validateVectorDimension;
/**
* Generate unique ID
*/
private generateId;
insert(options: MemoryInsertOptions): Promise<{
id: string;
timestamp: number;
}>;
vectorSearch(query: Float32Array, options?: VectorSearchOptions): Promise<VectorSearchResult[]>;
update(options: MemoryUpdateOptions): Promise<boolean>;
delete(options: MemoryDeleteOptions): Promise<boolean>;
get(options: MemoryGetOptions): Promise<VectorEntry | null>;
batchInsert(entries: MemoryInsertOptions[]): Promise<BatchInsertResult>;
getStats(): Promise<AgentDBStats>;
close(): Promise<void>;
getRawInstance(): AgentDB;
/**
* Attention-based search with configurable mechanism
*
* @param query - Query vector
* @param candidates - Pre-retrieved candidates from HNSW
* @param mechanism - Attention type to use
* @returns AttentionResult with performance metrics
*
* @example Flash Attention (4x faster)
* ```typescript
* const result = await wrapper.attentionSearch(query, candidates, 'flash');
* console.log(`Speedup: ${result.mechanism}, Time: ${result.executionTimeMs}ms`);
* ```
*/
attentionSearch(query: Float32Array, candidates: VectorSearchResult[], mechanism?: AttentionType): Promise<AttentionResult>;
/**
* Multi-Head Attention (Standard Transformer)
*
* Complexity: O(n²)
* Best for: General-purpose attention, standard retrieval
* Performance: ~15ms P50 for 512 tokens
*/
multiHeadAttention(Q: Float32Array, K: Float32Array, V: Float32Array): Promise<AttentionResult>;
/**
* Flash Attention (Memory-Efficient)
*
* Complexity: O(n²) with O(n) memory
* Best for: Long sequences, memory-constrained environments
* Performance: ~3ms P50 for 512 tokens (4x faster than multi-head!)
* Memory: 75% reduction
*/
flashAttention(Q: Float32Array, K: Float32Array, V: Float32Array): Promise<AttentionResult>;
/**
* Linear Attention (O(N) Complexity)
*
* Complexity: O(n)
* Best for: Very long sequences (>2048 tokens)
* Performance: ~18ms P50 for 2048 tokens
*/
linearAttention(Q: Float32Array, K: Float32Array, V: Float32Array): Promise<AttentionResult>;
/**
* Hyperbolic Attention (Hierarchical Reasoning)
*
* Complexity: O(n²) in hyperbolic space
* Best for: Tree-structured data, agent hierarchies
* Performance: ~8ms P50 for 512 tokens
*/
hyperbolicAttention(Q: Float32Array, K: Float32Array, V: Float32Array, curvature?: number): Promise<AttentionResult>;
/**
* Mixture-of-Experts (MoE) Attention
*
* Complexity: Sparse O(n²)
* Best for: Multi-agent systems with specialized agents
* Performance: ~20ms P50 for 512 tokens
*/
moeAttention(Q: Float32Array, K: Float32Array, V: Float32Array, numExperts?: number): Promise<AttentionResult>;
/**
* GraphRoPE Attention (Graph-aware Position Embeddings)
*
* Complexity: O(n²) with graph structure
* Best for: Multi-agent coordination with topology awareness
* Use case: Mesh, hierarchical, ring topologies
*/
graphRoPEAttention(Q: Float32Array, K: Float32Array, V: Float32Array, graphStructure: GraphContext): Promise<AttentionResult>;
/**
* GNN-enhanced search with +12.4% recall improvement
*
* @param query - Query vector
* @param options - Advanced search options with graph context
* @returns GNN refinement result with performance metrics
*
* @example
* ```typescript
* const result = await wrapper.gnnEnhancedSearch(query, {
* k: 10,
* graphContext: { nodes, edges }
* });
* console.log(`Recall improvement: +${result.improvementPercent}%`);
* ```
*/
gnnEnhancedSearch(query: Float32Array, options: AdvancedSearchOptions): Promise<GNNRefinementResult>;
/**
* GNN-based re-ranking of candidates
*/
private gnnRerank;
/**
* Build graph edges between candidates based on similarity
*/
private buildCandidateGraph;
/**
* Stack multiple vectors into single tensor
*/
private stackVectors;
/**
* Unstack tensor into individual vectors
*/
private unstackVectors;
/**
* Calculate recall@k metric
*/
private calculateRecall;
/**
* Calculate cosine similarity
*/
private cosineSimilarity;
/**
* Get performance metrics
*/
getPerformanceMetrics(): {
averageAttentionTime: number;
averageGNNTime: number;
attentionCalls: number;
gnnCalls: number;
totalAttentionTime: number;
totalGNNTime: number;
averageSpeedup: number;
averageRecallImprovement: number;
};
/**
* Get attention service for direct access
*/
getAttentionService(): any;
/**
* Get GNN service for direct access
*/
getGNNService(): any;
}
//# sourceMappingURL=agentdb-wrapper-enhanced.d.ts.map