tasq/node_modules/agentic-flow/dist/intelligence/IntelligenceStore.d.ts

168 lines
4.1 KiB
TypeScript

/**
* IntelligenceStore - SQLite persistence for RuVector intelligence layer
*
* Cross-platform (Linux, macOS, Windows) persistent storage for:
* - Learning trajectories
* - Routing patterns
* - SONA adaptations
* - HNSW vectors
*/
export interface StoredTrajectory {
id: number;
taskDescription: string;
agent: string;
steps: number;
outcome: 'success' | 'failure' | 'partial';
startTime: number;
endTime: number;
metadata?: string;
}
export interface StoredPattern {
id: number;
taskType: string;
approach: string;
embedding: Buffer;
similarity: number;
usageCount: number;
successRate: number;
createdAt: number;
updatedAt: number;
}
export interface StoredRouting {
id: number;
task: string;
recommendedAgent: string;
confidence: number;
latencyMs: number;
wasSuccessful: boolean;
timestamp: number;
}
export interface LearningStats {
totalTrajectories: number;
successfulTrajectories: number;
totalRoutings: number;
successfulRoutings: number;
totalPatterns: number;
sonaAdaptations: number;
hnswQueries: number;
lastUpdated: number;
}
export declare class IntelligenceStore {
private db;
private static instance;
private constructor();
/**
* Get singleton instance
*/
static getInstance(dbPath?: string): IntelligenceStore;
/**
* Get default database path (cross-platform)
*/
static getDefaultPath(): string;
/**
* Initialize database schema
*/
private initSchema;
/**
* Start a new trajectory
*/
startTrajectory(taskDescription: string, agent: string): number;
/**
* Add step to trajectory
*/
addTrajectoryStep(trajectoryId: number): void;
/**
* End trajectory with outcome
*/
endTrajectory(trajectoryId: number, outcome: 'success' | 'failure' | 'partial', metadata?: Record<string, any>): void;
/**
* Get active trajectories (no end_time)
*/
getActiveTrajectories(): StoredTrajectory[];
/**
* Get recent trajectories
*/
getRecentTrajectories(limit?: number): StoredTrajectory[];
/**
* Store a pattern
*/
storePattern(taskType: string, approach: string, embedding?: Float32Array): number;
/**
* Update pattern usage
*/
updatePatternUsage(patternId: number, wasSuccessful: boolean): void;
/**
* Find patterns by task type
*/
findPatterns(taskType: string, limit?: number): StoredPattern[];
/**
* Record a routing decision
*/
recordRouting(task: string, recommendedAgent: string, confidence: number, latencyMs: number): number;
/**
* Update routing outcome
*/
updateRoutingOutcome(routingId: number, wasSuccessful: boolean): void;
/**
* Get routing accuracy for an agent
*/
getAgentAccuracy(agent: string): {
total: number;
successful: number;
accuracy: number;
};
/**
* Get all stats
*/
getStats(): LearningStats;
/**
* Increment a stat counter
*/
incrementStat(statName: string, amount?: number): void;
/**
* Record SONA adaptation
*/
recordSonaAdaptation(): void;
/**
* Record HNSW query
*/
recordHnswQuery(): void;
/**
* Get summary for display (simplified for UI)
*/
getSummary(): {
trajectories: number;
routings: number;
patterns: number;
operations: number;
};
/**
* Get detailed summary for reports
*/
getDetailedSummary(): {
trajectories: {
total: number;
active: number;
successful: number;
};
routings: {
total: number;
accuracy: number;
};
patterns: number;
operations: {
sona: number;
hnsw: number;
};
};
/**
* Close database connection
*/
close(): void;
/**
* Reset all data (for testing)
*/
reset(): void;
}
export declare function getIntelligenceStore(dbPath?: string): IntelligenceStore;
//# sourceMappingURL=IntelligenceStore.d.ts.map