agentdb 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +38 -0
- package/LICENSE-APACHE +190 -0
- package/LICENSE-MIT +21 -0
- package/README.md +953 -0
- package/bin/agentdb.js +485 -0
- package/bin/plugin-cli-wrapper.mjs +21 -0
- package/dist/cache/query-cache.d.ts +105 -0
- package/dist/cache/query-cache.d.ts.map +1 -0
- package/dist/cache/query-cache.js +224 -0
- package/dist/cache/query-cache.js.map +1 -0
- package/dist/cache/query-cache.mjs +219 -0
- package/dist/cli/cache/query-cache.d.ts +104 -0
- package/dist/cli/cache/query-cache.js +244 -0
- package/dist/cli/cli/db-commands.d.ts +48 -0
- package/dist/cli/cli/db-commands.js +613 -0
- package/dist/cli/commands.d.ts +7 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +113 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/cli/commands.mjs +104 -0
- package/dist/cli/core/backend-interface.d.ts +70 -0
- package/dist/cli/core/backend-interface.js +15 -0
- package/dist/cli/core/native-backend.d.ts +140 -0
- package/dist/cli/core/native-backend.js +432 -0
- package/dist/cli/core/vector-db.d.ts +126 -0
- package/dist/cli/core/vector-db.js +338 -0
- package/dist/cli/core/wasm-backend.d.ts +95 -0
- package/dist/cli/core/wasm-backend.js +418 -0
- package/dist/cli/db-commands.d.ts +49 -0
- package/dist/cli/db-commands.d.ts.map +1 -0
- package/dist/cli/db-commands.js +533 -0
- package/dist/cli/db-commands.js.map +1 -0
- package/dist/cli/db-commands.mjs +522 -0
- package/dist/cli/generator.d.ts +11 -0
- package/dist/cli/generator.d.ts.map +1 -0
- package/dist/cli/generator.js +567 -0
- package/dist/cli/generator.js.map +1 -0
- package/dist/cli/generator.mjs +527 -0
- package/dist/cli/help.d.ts +18 -0
- package/dist/cli/help.d.ts.map +1 -0
- package/dist/cli/help.js +676 -0
- package/dist/cli/help.js.map +1 -0
- package/dist/cli/help.mjs +667 -0
- package/dist/cli/index/hnsw.d.ts +164 -0
- package/dist/cli/index/hnsw.js +558 -0
- package/dist/cli/plugin-cli.d.ts +7 -0
- package/dist/cli/plugin-cli.d.ts.map +1 -0
- package/dist/cli/plugin-cli.js +295 -0
- package/dist/cli/plugin-cli.js.map +1 -0
- package/dist/cli/plugin-cli.mjs +289 -0
- package/dist/cli/quantization/product-quantization.d.ts +108 -0
- package/dist/cli/quantization/product-quantization.js +350 -0
- package/dist/cli/query/query-builder.d.ts +322 -0
- package/dist/cli/query/query-builder.js +600 -0
- package/dist/cli/templates.d.ts +14 -0
- package/dist/cli/templates.d.ts.map +1 -0
- package/dist/cli/templates.js +182 -0
- package/dist/cli/templates.js.map +1 -0
- package/dist/cli/templates.mjs +176 -0
- package/dist/cli/types/index.d.ts +116 -0
- package/dist/cli/types/index.js +5 -0
- package/dist/cli/types.d.ts +91 -0
- package/dist/cli/types.d.ts.map +1 -0
- package/dist/cli/types.js +6 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli/types.mjs +4 -0
- package/dist/cli/wizard/index.d.ts +6 -0
- package/dist/cli/wizard/index.d.ts.map +1 -0
- package/dist/cli/wizard/index.js +138 -0
- package/dist/cli/wizard/index.js.map +1 -0
- package/dist/cli/wizard/index.mjs +131 -0
- package/dist/cli/wizard/prompts.d.ts +11 -0
- package/dist/cli/wizard/prompts.d.ts.map +1 -0
- package/dist/cli/wizard/prompts.js +482 -0
- package/dist/cli/wizard/prompts.js.map +1 -0
- package/dist/cli/wizard/prompts.mjs +470 -0
- package/dist/cli/wizard/validator.d.ts +13 -0
- package/dist/cli/wizard/validator.d.ts.map +1 -0
- package/dist/cli/wizard/validator.js +234 -0
- package/dist/cli/wizard/validator.js.map +1 -0
- package/dist/cli/wizard/validator.mjs +224 -0
- package/dist/core/backend-interface.d.ts +71 -0
- package/dist/core/backend-interface.d.ts.map +1 -0
- package/dist/core/backend-interface.js +16 -0
- package/dist/core/backend-interface.js.map +1 -0
- package/dist/core/backend-interface.mjs +12 -0
- package/dist/core/native-backend.d.ts +141 -0
- package/dist/core/native-backend.d.ts.map +1 -0
- package/dist/core/native-backend.js +457 -0
- package/dist/core/native-backend.js.map +1 -0
- package/dist/core/native-backend.mjs +449 -0
- package/dist/core/vector-db.d.ts +127 -0
- package/dist/core/vector-db.d.ts.map +1 -0
- package/dist/core/vector-db.js +266 -0
- package/dist/core/vector-db.js.map +1 -0
- package/dist/core/vector-db.mjs +261 -0
- package/dist/core/wasm-backend.d.ts +96 -0
- package/dist/core/wasm-backend.d.ts.map +1 -0
- package/dist/core/wasm-backend.js +393 -0
- package/dist/core/wasm-backend.js.map +1 -0
- package/dist/core/wasm-backend.mjs +385 -0
- package/dist/index/hnsw-optimized.d.ts +75 -0
- package/dist/index/hnsw-optimized.d.ts.map +1 -0
- package/dist/index/hnsw-optimized.js +412 -0
- package/dist/index/hnsw-optimized.js.map +1 -0
- package/dist/index/hnsw-optimized.mjs +407 -0
- package/dist/index/hnsw.d.ts +165 -0
- package/dist/index/hnsw.d.ts.map +1 -0
- package/dist/index/hnsw.js +521 -0
- package/dist/index/hnsw.js.map +1 -0
- package/dist/index/hnsw.mjs +516 -0
- package/dist/index.d.ts +57 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +63 -0
- package/dist/mcp-server.d.ts +27 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +789 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mcp-server.mjs +784 -0
- package/dist/plugins/base-plugin.d.ts +114 -0
- package/dist/plugins/base-plugin.d.ts.map +1 -0
- package/dist/plugins/base-plugin.js +313 -0
- package/dist/plugins/base-plugin.js.map +1 -0
- package/dist/plugins/base-plugin.mjs +275 -0
- package/dist/plugins/implementations/active-learning.d.ts +135 -0
- package/dist/plugins/implementations/active-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/active-learning.js +372 -0
- package/dist/plugins/implementations/active-learning.js.map +1 -0
- package/dist/plugins/implementations/active-learning.mjs +367 -0
- package/dist/plugins/implementations/actor-critic.d.ts +64 -0
- package/dist/plugins/implementations/actor-critic.d.ts.map +1 -0
- package/dist/plugins/implementations/actor-critic.js +363 -0
- package/dist/plugins/implementations/actor-critic.js.map +1 -0
- package/dist/plugins/implementations/actor-critic.mjs +358 -0
- package/dist/plugins/implementations/adversarial-training.d.ts +133 -0
- package/dist/plugins/implementations/adversarial-training.d.ts.map +1 -0
- package/dist/plugins/implementations/adversarial-training.js +409 -0
- package/dist/plugins/implementations/adversarial-training.js.map +1 -0
- package/dist/plugins/implementations/adversarial-training.mjs +404 -0
- package/dist/plugins/implementations/curriculum-learning.d.ts +132 -0
- package/dist/plugins/implementations/curriculum-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/curriculum-learning.js +354 -0
- package/dist/plugins/implementations/curriculum-learning.js.map +1 -0
- package/dist/plugins/implementations/curriculum-learning.mjs +349 -0
- package/dist/plugins/implementations/decision-transformer.d.ts +77 -0
- package/dist/plugins/implementations/decision-transformer.d.ts.map +1 -0
- package/dist/plugins/implementations/decision-transformer.js +422 -0
- package/dist/plugins/implementations/decision-transformer.js.map +1 -0
- package/dist/plugins/implementations/decision-transformer.mjs +417 -0
- package/dist/plugins/implementations/federated-learning.d.ts +126 -0
- package/dist/plugins/implementations/federated-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/federated-learning.js +436 -0
- package/dist/plugins/implementations/federated-learning.js.map +1 -0
- package/dist/plugins/implementations/federated-learning.mjs +431 -0
- package/dist/plugins/implementations/index.d.ts +30 -0
- package/dist/plugins/implementations/index.d.ts.map +1 -0
- package/dist/plugins/implementations/index.js +45 -0
- package/dist/plugins/implementations/index.js.map +1 -0
- package/dist/plugins/implementations/index.mjs +31 -0
- package/dist/plugins/implementations/multi-task-learning.d.ts +115 -0
- package/dist/plugins/implementations/multi-task-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/multi-task-learning.js +369 -0
- package/dist/plugins/implementations/multi-task-learning.js.map +1 -0
- package/dist/plugins/implementations/multi-task-learning.mjs +364 -0
- package/dist/plugins/implementations/neural-architecture-search.d.ts +148 -0
- package/dist/plugins/implementations/neural-architecture-search.d.ts.map +1 -0
- package/dist/plugins/implementations/neural-architecture-search.js +379 -0
- package/dist/plugins/implementations/neural-architecture-search.js.map +1 -0
- package/dist/plugins/implementations/neural-architecture-search.mjs +374 -0
- package/dist/plugins/implementations/q-learning.d.ts +98 -0
- package/dist/plugins/implementations/q-learning.d.ts.map +1 -0
- package/dist/plugins/implementations/q-learning.js +435 -0
- package/dist/plugins/implementations/q-learning.js.map +1 -0
- package/dist/plugins/implementations/q-learning.mjs +430 -0
- package/dist/plugins/implementations/sarsa.d.ts +103 -0
- package/dist/plugins/implementations/sarsa.d.ts.map +1 -0
- package/dist/plugins/implementations/sarsa.js +347 -0
- package/dist/plugins/implementations/sarsa.js.map +1 -0
- package/dist/plugins/implementations/sarsa.mjs +342 -0
- package/dist/plugins/index.d.ts +107 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +179 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/index.mjs +168 -0
- package/dist/plugins/interface.d.ts +439 -0
- package/dist/plugins/interface.d.ts.map +1 -0
- package/dist/plugins/interface.js +12 -0
- package/dist/plugins/interface.js.map +1 -0
- package/dist/plugins/interface.mjs +10 -0
- package/dist/plugins/learning-plugin.interface.d.ts +257 -0
- package/dist/plugins/learning-plugin.interface.d.ts.map +1 -0
- package/dist/plugins/learning-plugin.interface.js +7 -0
- package/dist/plugins/learning-plugin.interface.js.map +1 -0
- package/dist/plugins/learning-plugin.interface.mjs +5 -0
- package/dist/plugins/plugin-exports.d.ts +71 -0
- package/dist/plugins/plugin-exports.d.ts.map +1 -0
- package/dist/plugins/plugin-exports.js +78 -0
- package/dist/plugins/plugin-exports.js.map +1 -0
- package/dist/plugins/plugin-exports.mjs +69 -0
- package/dist/plugins/registry.d.ts +206 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +365 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/registry.mjs +356 -0
- package/dist/plugins/validator.d.ts +63 -0
- package/dist/plugins/validator.d.ts.map +1 -0
- package/dist/plugins/validator.js +464 -0
- package/dist/plugins/validator.js.map +1 -0
- package/dist/plugins/validator.mjs +458 -0
- package/dist/quantization/binary-quantization.d.ts +104 -0
- package/dist/quantization/binary-quantization.d.ts.map +1 -0
- package/dist/quantization/binary-quantization.js +246 -0
- package/dist/quantization/binary-quantization.js.map +1 -0
- package/dist/quantization/binary-quantization.mjs +240 -0
- package/dist/quantization/optimized-pq.d.ts +138 -0
- package/dist/quantization/optimized-pq.d.ts.map +1 -0
- package/dist/quantization/optimized-pq.js +320 -0
- package/dist/quantization/optimized-pq.js.map +1 -0
- package/dist/quantization/optimized-pq.mjs +313 -0
- package/dist/quantization/product-quantization.d.ts +109 -0
- package/dist/quantization/product-quantization.d.ts.map +1 -0
- package/dist/quantization/product-quantization.js +287 -0
- package/dist/quantization/product-quantization.js.map +1 -0
- package/dist/quantization/product-quantization.mjs +282 -0
- package/dist/quantization/scalar-quantization.d.ts +100 -0
- package/dist/quantization/scalar-quantization.d.ts.map +1 -0
- package/dist/quantization/scalar-quantization.js +324 -0
- package/dist/quantization/scalar-quantization.js.map +1 -0
- package/dist/quantization/scalar-quantization.mjs +319 -0
- package/dist/query/index.d.ts +6 -0
- package/dist/query/index.d.ts.map +1 -0
- package/dist/query/index.js +9 -0
- package/dist/query/index.js.map +1 -0
- package/dist/query/index.mjs +4 -0
- package/dist/query/query-builder.d.ts +323 -0
- package/dist/query/query-builder.d.ts.map +1 -0
- package/dist/query/query-builder.js +524 -0
- package/dist/query/query-builder.js.map +1 -0
- package/dist/query/query-builder.mjs +519 -0
- package/dist/reasoning/context-synthesizer.d.ts +57 -0
- package/dist/reasoning/context-synthesizer.d.ts.map +1 -0
- package/dist/reasoning/context-synthesizer.js +224 -0
- package/dist/reasoning/context-synthesizer.js.map +1 -0
- package/dist/reasoning/context-synthesizer.mjs +219 -0
- package/dist/reasoning/experience-curator.d.ts +66 -0
- package/dist/reasoning/experience-curator.d.ts.map +1 -0
- package/dist/reasoning/experience-curator.js +288 -0
- package/dist/reasoning/experience-curator.js.map +1 -0
- package/dist/reasoning/experience-curator.mjs +283 -0
- package/dist/reasoning/memory-optimizer.d.ts +69 -0
- package/dist/reasoning/memory-optimizer.d.ts.map +1 -0
- package/dist/reasoning/memory-optimizer.js +331 -0
- package/dist/reasoning/memory-optimizer.js.map +1 -0
- package/dist/reasoning/memory-optimizer.mjs +326 -0
- package/dist/reasoning/pattern-matcher.d.ts +59 -0
- package/dist/reasoning/pattern-matcher.d.ts.map +1 -0
- package/dist/reasoning/pattern-matcher.js +229 -0
- package/dist/reasoning/pattern-matcher.js.map +1 -0
- package/dist/reasoning/pattern-matcher.mjs +224 -0
- package/dist/reasoningbank/adapter/agentdb-adapter.d.ts +118 -0
- package/dist/reasoningbank/adapter/agentdb-adapter.d.ts.map +1 -0
- package/dist/reasoningbank/adapter/agentdb-adapter.js +477 -0
- package/dist/reasoningbank/adapter/agentdb-adapter.js.map +1 -0
- package/dist/reasoningbank/adapter/types.d.ts +113 -0
- package/dist/reasoningbank/adapter/types.d.ts.map +1 -0
- package/dist/reasoningbank/adapter/types.js +9 -0
- package/dist/reasoningbank/adapter/types.js.map +1 -0
- package/dist/reasoningbank/cli/commands.d.ts +16 -0
- package/dist/reasoningbank/cli/commands.d.ts.map +1 -0
- package/dist/reasoningbank/cli/commands.js +272 -0
- package/dist/reasoningbank/cli/commands.js.map +1 -0
- package/dist/reasoningbank/mcp/agentdb-tools.d.ts +319 -0
- package/dist/reasoningbank/mcp/agentdb-tools.d.ts.map +1 -0
- package/dist/reasoningbank/mcp/agentdb-tools.js +301 -0
- package/dist/reasoningbank/mcp/agentdb-tools.js.map +1 -0
- package/dist/reasoningbank/migration/migrate.d.ts +25 -0
- package/dist/reasoningbank/migration/migrate.d.ts.map +1 -0
- package/dist/reasoningbank/migration/migrate.js +178 -0
- package/dist/reasoningbank/migration/migrate.js.map +1 -0
- package/dist/reasoningbank/reasoning/context-synthesizer.d.ts +37 -0
- package/dist/reasoningbank/reasoning/context-synthesizer.d.ts.map +1 -0
- package/dist/reasoningbank/reasoning/context-synthesizer.js +114 -0
- package/dist/reasoningbank/reasoning/context-synthesizer.js.map +1 -0
- package/dist/reasoningbank/reasoning/experience-curator.d.ts +39 -0
- package/dist/reasoningbank/reasoning/experience-curator.d.ts.map +1 -0
- package/dist/reasoningbank/reasoning/experience-curator.js +98 -0
- package/dist/reasoningbank/reasoning/experience-curator.js.map +1 -0
- package/dist/reasoningbank/reasoning/memory-optimizer.d.ts +44 -0
- package/dist/reasoningbank/reasoning/memory-optimizer.d.ts.map +1 -0
- package/dist/reasoningbank/reasoning/memory-optimizer.js +184 -0
- package/dist/reasoningbank/reasoning/memory-optimizer.js.map +1 -0
- package/dist/reasoningbank/reasoning/pattern-matcher.d.ts +40 -0
- package/dist/reasoningbank/reasoning/pattern-matcher.d.ts.map +1 -0
- package/dist/reasoningbank/reasoning/pattern-matcher.js +87 -0
- package/dist/reasoningbank/reasoning/pattern-matcher.js.map +1 -0
- package/dist/reasoningbank/sync/quic-sync.d.ts +77 -0
- package/dist/reasoningbank/sync/quic-sync.d.ts.map +1 -0
- package/dist/reasoningbank/sync/quic-sync.js +165 -0
- package/dist/reasoningbank/sync/quic-sync.js.map +1 -0
- package/dist/sync/conflict.d.ts +78 -0
- package/dist/sync/conflict.d.ts.map +1 -0
- package/dist/sync/conflict.js +202 -0
- package/dist/sync/conflict.js.map +1 -0
- package/dist/sync/conflict.mjs +196 -0
- package/dist/sync/coordinator.d.ts +111 -0
- package/dist/sync/coordinator.d.ts.map +1 -0
- package/dist/sync/coordinator.js +256 -0
- package/dist/sync/coordinator.js.map +1 -0
- package/dist/sync/coordinator.mjs +250 -0
- package/dist/sync/delta.d.ts +81 -0
- package/dist/sync/delta.d.ts.map +1 -0
- package/dist/sync/delta.js +245 -0
- package/dist/sync/delta.js.map +1 -0
- package/dist/sync/delta.mjs +238 -0
- package/dist/sync/index.d.ts +11 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +22 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/index.mjs +9 -0
- package/dist/sync/quic-sync.d.ts +81 -0
- package/dist/sync/quic-sync.d.ts.map +1 -0
- package/dist/sync/quic-sync.js +329 -0
- package/dist/sync/quic-sync.js.map +1 -0
- package/dist/sync/quic-sync.mjs +323 -0
- package/dist/sync/types.d.ts +168 -0
- package/dist/sync/types.d.ts.map +1 -0
- package/dist/sync/types.js +8 -0
- package/dist/sync/types.js.map +1 -0
- package/dist/sync/types.mjs +6 -0
- package/dist/types/index.d.ts +117 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/index.mjs +4 -0
- package/dist/wasm-loader.d.ts +32 -0
- package/dist/wasm-loader.d.ts.map +1 -0
- package/dist/wasm-loader.js +75 -0
- package/dist/wasm-loader.js.map +1 -0
- package/dist/wasm-loader.mjs +64 -0
- package/examples/adaptive-learning.ts +284 -0
- package/examples/browser/README.md +732 -0
- package/examples/browser/adaptive-recommendations/index.html +427 -0
- package/examples/browser/collaborative-filtering/index.html +310 -0
- package/examples/browser/continual-learning/index.html +736 -0
- package/examples/browser/experience-replay/index.html +616 -0
- package/examples/browser/index.html +369 -0
- package/examples/browser/meta-learning/index.html +789 -0
- package/examples/browser/neuro-symbolic/index.html +692 -0
- package/examples/browser/pattern-learning/index.html +620 -0
- package/examples/browser/quantum-inspired/index.html +728 -0
- package/examples/browser/rag/index.html +624 -0
- package/examples/browser/swarm-intelligence/index.html +811 -0
- package/examples/browser-basic.html +170 -0
- package/examples/hnsw-example.ts +148 -0
- package/examples/node-basic.js +70 -0
- package/examples/quic-sync-example.ts +310 -0
- package/examples/quick-start.js +68 -0
- package/examples/wasm-example.ts +222 -0
- package/package.json +118 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PatternMatcher - Recognize similar reasoning patterns from past executions
|
|
3
|
+
*
|
|
4
|
+
* Learns from task execution history to identify patterns that work.
|
|
5
|
+
* Uses vector similarity to match current tasks to successful patterns.
|
|
6
|
+
*/
|
|
7
|
+
import { SQLiteVectorDB } from '../core/vector-db';
|
|
8
|
+
import { Pattern } from '../types';
|
|
9
|
+
export declare class PatternMatcher {
|
|
10
|
+
private db;
|
|
11
|
+
private patternTable;
|
|
12
|
+
constructor(db: SQLiteVectorDB);
|
|
13
|
+
private initializePatternStorage;
|
|
14
|
+
/**
|
|
15
|
+
* Store a new pattern from successful task execution
|
|
16
|
+
*/
|
|
17
|
+
storePattern(pattern: Omit<Pattern, 'id' | 'timestamp'>): Promise<string>;
|
|
18
|
+
/**
|
|
19
|
+
* Find similar patterns based on task embedding
|
|
20
|
+
*
|
|
21
|
+
* @param taskEmbedding - Vector embedding of current task
|
|
22
|
+
* @param k - Number of similar patterns to return
|
|
23
|
+
* @param threshold - Minimum similarity score (0-1)
|
|
24
|
+
* @param filters - Optional filters (domain, taskType, etc.)
|
|
25
|
+
* @returns Array of similar patterns sorted by similarity
|
|
26
|
+
*/
|
|
27
|
+
findSimilar(taskEmbedding: number[], k?: number, threshold?: number, filters?: {
|
|
28
|
+
domain?: string;
|
|
29
|
+
taskType?: string;
|
|
30
|
+
minSuccessRate?: number;
|
|
31
|
+
}): Promise<Array<Pattern & {
|
|
32
|
+
similarity: number;
|
|
33
|
+
}>>;
|
|
34
|
+
/**
|
|
35
|
+
* Update pattern with new execution data (incremental learning)
|
|
36
|
+
*/
|
|
37
|
+
updatePattern(id: string, update: {
|
|
38
|
+
success: boolean;
|
|
39
|
+
duration: number;
|
|
40
|
+
}): Promise<void>;
|
|
41
|
+
/**
|
|
42
|
+
* Get pattern by ID
|
|
43
|
+
*/
|
|
44
|
+
getPattern(id: string): Promise<Pattern | null>;
|
|
45
|
+
/**
|
|
46
|
+
* Get statistics about learned patterns
|
|
47
|
+
*/
|
|
48
|
+
getStats(): {
|
|
49
|
+
totalPatterns: number;
|
|
50
|
+
avgSuccessRate: number;
|
|
51
|
+
domainDistribution: Map<string, number>;
|
|
52
|
+
topPatterns: Array<{
|
|
53
|
+
taskType: string;
|
|
54
|
+
successRate: number;
|
|
55
|
+
}>;
|
|
56
|
+
};
|
|
57
|
+
private generatePatternId;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=pattern-matcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-matcher.d.ts","sourceRoot":"","sources":["../../src/reasoning/pattern-matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAmB,MAAM,UAAU,CAAC;AAEpD,qBAAa,cAAc;IACzB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,YAAY,CAAwB;gBAEhC,EAAE,EAAE,cAAc;IAK9B,OAAO,CAAC,wBAAwB;IAyBhC;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA2C/E;;;;;;;;OAQG;IACG,WAAW,CACf,aAAa,EAAE,MAAM,EAAE,EACvB,CAAC,GAAE,MAAU,EACb,SAAS,GAAE,MAAY,EACvB,OAAO,CAAC,EAAE;QACR,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAoEnD;;OAEG;IACG,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,IAAI,CAAC;IA4BhB;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA6BrD;;OAEG;IACH,QAAQ,IAAI;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,WAAW,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC/D;IA2CD,OAAO,CAAC,iBAAiB;CAG1B"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* PatternMatcher - Recognize similar reasoning patterns from past executions
|
|
4
|
+
*
|
|
5
|
+
* Learns from task execution history to identify patterns that work.
|
|
6
|
+
* Uses vector similarity to match current tasks to successful patterns.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.PatternMatcher = void 0;
|
|
10
|
+
class PatternMatcher {
|
|
11
|
+
constructor(db) {
|
|
12
|
+
this.patternTable = 'reasoning_patterns';
|
|
13
|
+
this.db = db;
|
|
14
|
+
this.initializePatternStorage();
|
|
15
|
+
}
|
|
16
|
+
initializePatternStorage() {
|
|
17
|
+
const rawDb = this.db.getDatabase();
|
|
18
|
+
rawDb.exec(`
|
|
19
|
+
CREATE TABLE IF NOT EXISTS ${this.patternTable} (
|
|
20
|
+
id TEXT PRIMARY KEY,
|
|
21
|
+
task_type TEXT NOT NULL,
|
|
22
|
+
approach TEXT NOT NULL,
|
|
23
|
+
success_rate REAL NOT NULL,
|
|
24
|
+
avg_duration REAL NOT NULL,
|
|
25
|
+
iterations INTEGER DEFAULT 1,
|
|
26
|
+
domain TEXT NOT NULL,
|
|
27
|
+
complexity TEXT NOT NULL,
|
|
28
|
+
learning_source TEXT NOT NULL,
|
|
29
|
+
tags TEXT,
|
|
30
|
+
metadata TEXT,
|
|
31
|
+
timestamp INTEGER NOT NULL
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_task_type ON ${this.patternTable}(task_type);
|
|
35
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_domain ON ${this.patternTable}(domain);
|
|
36
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_success ON ${this.patternTable}(success_rate);
|
|
37
|
+
`);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Store a new pattern from successful task execution
|
|
41
|
+
*/
|
|
42
|
+
async storePattern(pattern) {
|
|
43
|
+
const id = this.generatePatternId();
|
|
44
|
+
const timestamp = Date.now();
|
|
45
|
+
// Store vector embedding for similarity matching
|
|
46
|
+
this.db.insert({
|
|
47
|
+
id: `pattern_${id}`,
|
|
48
|
+
embedding: pattern.embedding,
|
|
49
|
+
metadata: {
|
|
50
|
+
type: 'pattern',
|
|
51
|
+
patternId: id,
|
|
52
|
+
taskType: pattern.taskType,
|
|
53
|
+
domain: pattern.metadata.domain
|
|
54
|
+
},
|
|
55
|
+
timestamp
|
|
56
|
+
});
|
|
57
|
+
// Store pattern metadata
|
|
58
|
+
const rawDb = this.db.getDatabase();
|
|
59
|
+
const stmt = rawDb.prepare(`
|
|
60
|
+
INSERT INTO ${this.patternTable}
|
|
61
|
+
(id, task_type, approach, success_rate, avg_duration, domain, complexity,
|
|
62
|
+
learning_source, tags, metadata, timestamp)
|
|
63
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
64
|
+
`);
|
|
65
|
+
stmt.run(id, pattern.taskType, pattern.approach, pattern.successRate, pattern.avgDuration, pattern.metadata.domain, pattern.metadata.complexity, pattern.metadata.learningSource, JSON.stringify(pattern.metadata.tags || []), JSON.stringify(pattern.metadata), timestamp);
|
|
66
|
+
return id;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Find similar patterns based on task embedding
|
|
70
|
+
*
|
|
71
|
+
* @param taskEmbedding - Vector embedding of current task
|
|
72
|
+
* @param k - Number of similar patterns to return
|
|
73
|
+
* @param threshold - Minimum similarity score (0-1)
|
|
74
|
+
* @param filters - Optional filters (domain, taskType, etc.)
|
|
75
|
+
* @returns Array of similar patterns sorted by similarity
|
|
76
|
+
*/
|
|
77
|
+
async findSimilar(taskEmbedding, k = 5, threshold = 0.7, filters) {
|
|
78
|
+
const startTime = Date.now();
|
|
79
|
+
// Search for similar pattern embeddings
|
|
80
|
+
const results = this.db.search(taskEmbedding, k * 2, 'cosine', threshold);
|
|
81
|
+
// Filter to pattern vectors only
|
|
82
|
+
const patternResults = results.filter(r => r.metadata?.type === 'pattern');
|
|
83
|
+
// Get full pattern metadata
|
|
84
|
+
const rawDb = this.db.getDatabase();
|
|
85
|
+
const patterns = [];
|
|
86
|
+
for (const result of patternResults) {
|
|
87
|
+
const metadata = result.metadata || {};
|
|
88
|
+
const patternId = metadata.patternId;
|
|
89
|
+
let sql = `SELECT * FROM ${this.patternTable} WHERE id = ?`;
|
|
90
|
+
const params = [patternId];
|
|
91
|
+
if (filters?.minSuccessRate) {
|
|
92
|
+
sql += ' AND success_rate >= ?';
|
|
93
|
+
params.push(filters.minSuccessRate);
|
|
94
|
+
}
|
|
95
|
+
if (filters?.domain) {
|
|
96
|
+
sql += ' AND domain = ?';
|
|
97
|
+
params.push(filters.domain);
|
|
98
|
+
}
|
|
99
|
+
if (filters?.taskType) {
|
|
100
|
+
sql += ' AND task_type = ?';
|
|
101
|
+
params.push(filters.taskType);
|
|
102
|
+
}
|
|
103
|
+
const stmt = rawDb.prepare(sql);
|
|
104
|
+
const row = stmt.get(...params);
|
|
105
|
+
if (row) {
|
|
106
|
+
patterns.push({
|
|
107
|
+
id: row.id,
|
|
108
|
+
embedding: result.embedding,
|
|
109
|
+
taskType: row.task_type,
|
|
110
|
+
approach: row.approach,
|
|
111
|
+
successRate: row.success_rate,
|
|
112
|
+
avgDuration: row.avg_duration,
|
|
113
|
+
metadata: {
|
|
114
|
+
...JSON.parse(row.metadata),
|
|
115
|
+
iterations: row.iterations,
|
|
116
|
+
domain: row.domain,
|
|
117
|
+
complexity: row.complexity,
|
|
118
|
+
learningSource: row.learning_source,
|
|
119
|
+
tags: JSON.parse(row.tags)
|
|
120
|
+
},
|
|
121
|
+
timestamp: row.timestamp,
|
|
122
|
+
similarity: result.score
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (patterns.length >= k)
|
|
126
|
+
break;
|
|
127
|
+
}
|
|
128
|
+
const duration = Date.now() - startTime;
|
|
129
|
+
console.log(`[PatternMatcher] Found ${patterns.length} patterns in ${duration}ms`);
|
|
130
|
+
return patterns;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Update pattern with new execution data (incremental learning)
|
|
134
|
+
*/
|
|
135
|
+
async updatePattern(id, update) {
|
|
136
|
+
const rawDb = this.db.getDatabase();
|
|
137
|
+
// Get current pattern data
|
|
138
|
+
const stmt = rawDb.prepare(`SELECT * FROM ${this.patternTable} WHERE id = ?`);
|
|
139
|
+
const row = stmt.get(id);
|
|
140
|
+
if (!row) {
|
|
141
|
+
throw new Error(`Pattern ${id} not found`);
|
|
142
|
+
}
|
|
143
|
+
// Calculate new averages (incremental update)
|
|
144
|
+
const iterations = row.iterations + 1;
|
|
145
|
+
const newSuccessRate = ((row.success_rate * row.iterations) + (update.success ? 1 : 0)) / iterations;
|
|
146
|
+
const newAvgDuration = ((row.avg_duration * row.iterations) + update.duration) / iterations;
|
|
147
|
+
// Update pattern
|
|
148
|
+
const updateStmt = rawDb.prepare(`
|
|
149
|
+
UPDATE ${this.patternTable}
|
|
150
|
+
SET success_rate = ?,
|
|
151
|
+
avg_duration = ?,
|
|
152
|
+
iterations = ?
|
|
153
|
+
WHERE id = ?
|
|
154
|
+
`);
|
|
155
|
+
updateStmt.run(newSuccessRate, newAvgDuration, iterations, id);
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Get pattern by ID
|
|
159
|
+
*/
|
|
160
|
+
async getPattern(id) {
|
|
161
|
+
const rawDb = this.db.getDatabase();
|
|
162
|
+
const stmt = rawDb.prepare(`SELECT * FROM ${this.patternTable} WHERE id = ?`);
|
|
163
|
+
const row = stmt.get(id);
|
|
164
|
+
if (!row)
|
|
165
|
+
return null;
|
|
166
|
+
// Get embedding from vector database
|
|
167
|
+
const vector = this.db.get(`pattern_${id}`);
|
|
168
|
+
return {
|
|
169
|
+
id: row.id,
|
|
170
|
+
embedding: vector?.embedding || [],
|
|
171
|
+
taskType: row.task_type,
|
|
172
|
+
approach: row.approach,
|
|
173
|
+
successRate: row.success_rate,
|
|
174
|
+
avgDuration: row.avg_duration,
|
|
175
|
+
metadata: {
|
|
176
|
+
...JSON.parse(row.metadata),
|
|
177
|
+
iterations: row.iterations,
|
|
178
|
+
domain: row.domain,
|
|
179
|
+
complexity: row.complexity,
|
|
180
|
+
learningSource: row.learning_source,
|
|
181
|
+
tags: JSON.parse(row.tags)
|
|
182
|
+
},
|
|
183
|
+
timestamp: row.timestamp
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Get statistics about learned patterns
|
|
188
|
+
*/
|
|
189
|
+
getStats() {
|
|
190
|
+
const rawDb = this.db.getDatabase();
|
|
191
|
+
// Total patterns
|
|
192
|
+
const countStmt = rawDb.prepare(`SELECT COUNT(*) as count FROM ${this.patternTable}`);
|
|
193
|
+
const totalPatterns = countStmt.get().count;
|
|
194
|
+
// Average success rate
|
|
195
|
+
const avgStmt = rawDb.prepare(`SELECT AVG(success_rate) as avg FROM ${this.patternTable}`);
|
|
196
|
+
const avgSuccessRate = avgStmt.get().avg || 0;
|
|
197
|
+
// Domain distribution
|
|
198
|
+
const domainStmt = rawDb.prepare(`
|
|
199
|
+
SELECT domain, COUNT(*) as count
|
|
200
|
+
FROM ${this.patternTable}
|
|
201
|
+
GROUP BY domain
|
|
202
|
+
`);
|
|
203
|
+
const domainRows = domainStmt.all();
|
|
204
|
+
const domainDistribution = new Map(domainRows.map(row => [row.domain, row.count]));
|
|
205
|
+
// Top patterns by success rate
|
|
206
|
+
const topStmt = rawDb.prepare(`
|
|
207
|
+
SELECT task_type, success_rate
|
|
208
|
+
FROM ${this.patternTable}
|
|
209
|
+
WHERE iterations >= 3
|
|
210
|
+
ORDER BY success_rate DESC
|
|
211
|
+
LIMIT 10
|
|
212
|
+
`);
|
|
213
|
+
const topPatterns = topStmt.all().map(row => ({
|
|
214
|
+
taskType: row.task_type,
|
|
215
|
+
successRate: row.success_rate
|
|
216
|
+
}));
|
|
217
|
+
return {
|
|
218
|
+
totalPatterns,
|
|
219
|
+
avgSuccessRate,
|
|
220
|
+
domainDistribution,
|
|
221
|
+
topPatterns
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
generatePatternId() {
|
|
225
|
+
return `pat_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
exports.PatternMatcher = PatternMatcher;
|
|
229
|
+
//# sourceMappingURL=pattern-matcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-matcher.js","sourceRoot":"","sources":["../../src/reasoning/pattern-matcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PatternMatcher - Recognize similar reasoning patterns from past executions
|
|
3
|
+
*
|
|
4
|
+
* Learns from task execution history to identify patterns that work.
|
|
5
|
+
* Uses vector similarity to match current tasks to successful patterns.
|
|
6
|
+
*/
|
|
7
|
+
export class PatternMatcher {
|
|
8
|
+
constructor(db) {
|
|
9
|
+
this.patternTable = 'reasoning_patterns';
|
|
10
|
+
this.db = db;
|
|
11
|
+
this.initializePatternStorage();
|
|
12
|
+
}
|
|
13
|
+
initializePatternStorage() {
|
|
14
|
+
const rawDb = this.db.getDatabase();
|
|
15
|
+
rawDb.exec(`
|
|
16
|
+
CREATE TABLE IF NOT EXISTS ${this.patternTable} (
|
|
17
|
+
id TEXT PRIMARY KEY,
|
|
18
|
+
task_type TEXT NOT NULL,
|
|
19
|
+
approach TEXT NOT NULL,
|
|
20
|
+
success_rate REAL NOT NULL,
|
|
21
|
+
avg_duration REAL NOT NULL,
|
|
22
|
+
iterations INTEGER DEFAULT 1,
|
|
23
|
+
domain TEXT NOT NULL,
|
|
24
|
+
complexity TEXT NOT NULL,
|
|
25
|
+
learning_source TEXT NOT NULL,
|
|
26
|
+
tags TEXT,
|
|
27
|
+
metadata TEXT,
|
|
28
|
+
timestamp INTEGER NOT NULL
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_task_type ON ${this.patternTable}(task_type);
|
|
32
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_domain ON ${this.patternTable}(domain);
|
|
33
|
+
CREATE INDEX IF NOT EXISTS idx_patterns_success ON ${this.patternTable}(success_rate);
|
|
34
|
+
`);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Store a new pattern from successful task execution
|
|
38
|
+
*/
|
|
39
|
+
async storePattern(pattern) {
|
|
40
|
+
const id = this.generatePatternId();
|
|
41
|
+
const timestamp = Date.now();
|
|
42
|
+
// Store vector embedding for similarity matching
|
|
43
|
+
this.db.insert({
|
|
44
|
+
id: `pattern_${id}`,
|
|
45
|
+
embedding: pattern.embedding,
|
|
46
|
+
metadata: {
|
|
47
|
+
type: 'pattern',
|
|
48
|
+
patternId: id,
|
|
49
|
+
taskType: pattern.taskType,
|
|
50
|
+
domain: pattern.metadata.domain
|
|
51
|
+
},
|
|
52
|
+
timestamp
|
|
53
|
+
});
|
|
54
|
+
// Store pattern metadata
|
|
55
|
+
const rawDb = this.db.getDatabase();
|
|
56
|
+
const stmt = rawDb.prepare(`
|
|
57
|
+
INSERT INTO ${this.patternTable}
|
|
58
|
+
(id, task_type, approach, success_rate, avg_duration, domain, complexity,
|
|
59
|
+
learning_source, tags, metadata, timestamp)
|
|
60
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
61
|
+
`);
|
|
62
|
+
stmt.run(id, pattern.taskType, pattern.approach, pattern.successRate, pattern.avgDuration, pattern.metadata.domain, pattern.metadata.complexity, pattern.metadata.learningSource, JSON.stringify(pattern.metadata.tags || []), JSON.stringify(pattern.metadata), timestamp);
|
|
63
|
+
return id;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Find similar patterns based on task embedding
|
|
67
|
+
*
|
|
68
|
+
* @param taskEmbedding - Vector embedding of current task
|
|
69
|
+
* @param k - Number of similar patterns to return
|
|
70
|
+
* @param threshold - Minimum similarity score (0-1)
|
|
71
|
+
* @param filters - Optional filters (domain, taskType, etc.)
|
|
72
|
+
* @returns Array of similar patterns sorted by similarity
|
|
73
|
+
*/
|
|
74
|
+
async findSimilar(taskEmbedding, k = 5, threshold = 0.7, filters) {
|
|
75
|
+
const startTime = Date.now();
|
|
76
|
+
// Search for similar pattern embeddings
|
|
77
|
+
const results = this.db.search(taskEmbedding, k * 2, 'cosine', threshold);
|
|
78
|
+
// Filter to pattern vectors only
|
|
79
|
+
const patternResults = results.filter(r => r.metadata?.type === 'pattern');
|
|
80
|
+
// Get full pattern metadata
|
|
81
|
+
const rawDb = this.db.getDatabase();
|
|
82
|
+
const patterns = [];
|
|
83
|
+
for (const result of patternResults) {
|
|
84
|
+
const metadata = result.metadata || {};
|
|
85
|
+
const patternId = metadata.patternId;
|
|
86
|
+
let sql = `SELECT * FROM ${this.patternTable} WHERE id = ?`;
|
|
87
|
+
const params = [patternId];
|
|
88
|
+
if (filters?.minSuccessRate) {
|
|
89
|
+
sql += ' AND success_rate >= ?';
|
|
90
|
+
params.push(filters.minSuccessRate);
|
|
91
|
+
}
|
|
92
|
+
if (filters?.domain) {
|
|
93
|
+
sql += ' AND domain = ?';
|
|
94
|
+
params.push(filters.domain);
|
|
95
|
+
}
|
|
96
|
+
if (filters?.taskType) {
|
|
97
|
+
sql += ' AND task_type = ?';
|
|
98
|
+
params.push(filters.taskType);
|
|
99
|
+
}
|
|
100
|
+
const stmt = rawDb.prepare(sql);
|
|
101
|
+
const row = stmt.get(...params);
|
|
102
|
+
if (row) {
|
|
103
|
+
patterns.push({
|
|
104
|
+
id: row.id,
|
|
105
|
+
embedding: result.embedding,
|
|
106
|
+
taskType: row.task_type,
|
|
107
|
+
approach: row.approach,
|
|
108
|
+
successRate: row.success_rate,
|
|
109
|
+
avgDuration: row.avg_duration,
|
|
110
|
+
metadata: {
|
|
111
|
+
...JSON.parse(row.metadata),
|
|
112
|
+
iterations: row.iterations,
|
|
113
|
+
domain: row.domain,
|
|
114
|
+
complexity: row.complexity,
|
|
115
|
+
learningSource: row.learning_source,
|
|
116
|
+
tags: JSON.parse(row.tags)
|
|
117
|
+
},
|
|
118
|
+
timestamp: row.timestamp,
|
|
119
|
+
similarity: result.score
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (patterns.length >= k)
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
const duration = Date.now() - startTime;
|
|
126
|
+
console.log(`[PatternMatcher] Found ${patterns.length} patterns in ${duration}ms`);
|
|
127
|
+
return patterns;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Update pattern with new execution data (incremental learning)
|
|
131
|
+
*/
|
|
132
|
+
async updatePattern(id, update) {
|
|
133
|
+
const rawDb = this.db.getDatabase();
|
|
134
|
+
// Get current pattern data
|
|
135
|
+
const stmt = rawDb.prepare(`SELECT * FROM ${this.patternTable} WHERE id = ?`);
|
|
136
|
+
const row = stmt.get(id);
|
|
137
|
+
if (!row) {
|
|
138
|
+
throw new Error(`Pattern ${id} not found`);
|
|
139
|
+
}
|
|
140
|
+
// Calculate new averages (incremental update)
|
|
141
|
+
const iterations = row.iterations + 1;
|
|
142
|
+
const newSuccessRate = ((row.success_rate * row.iterations) + (update.success ? 1 : 0)) / iterations;
|
|
143
|
+
const newAvgDuration = ((row.avg_duration * row.iterations) + update.duration) / iterations;
|
|
144
|
+
// Update pattern
|
|
145
|
+
const updateStmt = rawDb.prepare(`
|
|
146
|
+
UPDATE ${this.patternTable}
|
|
147
|
+
SET success_rate = ?,
|
|
148
|
+
avg_duration = ?,
|
|
149
|
+
iterations = ?
|
|
150
|
+
WHERE id = ?
|
|
151
|
+
`);
|
|
152
|
+
updateStmt.run(newSuccessRate, newAvgDuration, iterations, id);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get pattern by ID
|
|
156
|
+
*/
|
|
157
|
+
async getPattern(id) {
|
|
158
|
+
const rawDb = this.db.getDatabase();
|
|
159
|
+
const stmt = rawDb.prepare(`SELECT * FROM ${this.patternTable} WHERE id = ?`);
|
|
160
|
+
const row = stmt.get(id);
|
|
161
|
+
if (!row)
|
|
162
|
+
return null;
|
|
163
|
+
// Get embedding from vector database
|
|
164
|
+
const vector = this.db.get(`pattern_${id}`);
|
|
165
|
+
return {
|
|
166
|
+
id: row.id,
|
|
167
|
+
embedding: vector?.embedding || [],
|
|
168
|
+
taskType: row.task_type,
|
|
169
|
+
approach: row.approach,
|
|
170
|
+
successRate: row.success_rate,
|
|
171
|
+
avgDuration: row.avg_duration,
|
|
172
|
+
metadata: {
|
|
173
|
+
...JSON.parse(row.metadata),
|
|
174
|
+
iterations: row.iterations,
|
|
175
|
+
domain: row.domain,
|
|
176
|
+
complexity: row.complexity,
|
|
177
|
+
learningSource: row.learning_source,
|
|
178
|
+
tags: JSON.parse(row.tags)
|
|
179
|
+
},
|
|
180
|
+
timestamp: row.timestamp
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Get statistics about learned patterns
|
|
185
|
+
*/
|
|
186
|
+
getStats() {
|
|
187
|
+
const rawDb = this.db.getDatabase();
|
|
188
|
+
// Total patterns
|
|
189
|
+
const countStmt = rawDb.prepare(`SELECT COUNT(*) as count FROM ${this.patternTable}`);
|
|
190
|
+
const totalPatterns = countStmt.get().count;
|
|
191
|
+
// Average success rate
|
|
192
|
+
const avgStmt = rawDb.prepare(`SELECT AVG(success_rate) as avg FROM ${this.patternTable}`);
|
|
193
|
+
const avgSuccessRate = avgStmt.get().avg || 0;
|
|
194
|
+
// Domain distribution
|
|
195
|
+
const domainStmt = rawDb.prepare(`
|
|
196
|
+
SELECT domain, COUNT(*) as count
|
|
197
|
+
FROM ${this.patternTable}
|
|
198
|
+
GROUP BY domain
|
|
199
|
+
`);
|
|
200
|
+
const domainRows = domainStmt.all();
|
|
201
|
+
const domainDistribution = new Map(domainRows.map(row => [row.domain, row.count]));
|
|
202
|
+
// Top patterns by success rate
|
|
203
|
+
const topStmt = rawDb.prepare(`
|
|
204
|
+
SELECT task_type, success_rate
|
|
205
|
+
FROM ${this.patternTable}
|
|
206
|
+
WHERE iterations >= 3
|
|
207
|
+
ORDER BY success_rate DESC
|
|
208
|
+
LIMIT 10
|
|
209
|
+
`);
|
|
210
|
+
const topPatterns = topStmt.all().map(row => ({
|
|
211
|
+
taskType: row.task_type,
|
|
212
|
+
successRate: row.success_rate
|
|
213
|
+
}));
|
|
214
|
+
return {
|
|
215
|
+
totalPatterns,
|
|
216
|
+
avgSuccessRate,
|
|
217
|
+
domainDistribution,
|
|
218
|
+
topPatterns
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
generatePatternId() {
|
|
222
|
+
return `pat_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AgentDB ReasoningBank Adapter
|
|
3
|
+
*
|
|
4
|
+
* Complete drop-in replacement for the legacy ReasoningBank with 100% backward compatibility.
|
|
5
|
+
* Provides all AgentDB capabilities: vector search, learning plugins, reasoning agents, QUIC sync.
|
|
6
|
+
*
|
|
7
|
+
* Performance: 150x-12,500x faster than legacy implementation
|
|
8
|
+
* Features: HNSW indexing, quantization, learning plugins, reasoning agents
|
|
9
|
+
*/
|
|
10
|
+
import type { ReasoningMemory, TrajectoryData, RetrievalOptions } from './types';
|
|
11
|
+
/**
|
|
12
|
+
* Configuration for AgentDB adapter
|
|
13
|
+
*/
|
|
14
|
+
export interface AgentDBAdapterConfig {
|
|
15
|
+
dbPath?: string;
|
|
16
|
+
enableLearning?: boolean;
|
|
17
|
+
enableReasoning?: boolean;
|
|
18
|
+
enableQUICSync?: boolean;
|
|
19
|
+
quantizationType?: 'binary' | 'scalar' | 'product' | 'none';
|
|
20
|
+
cacheSize?: number;
|
|
21
|
+
syncPort?: number;
|
|
22
|
+
syncPeers?: string[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Complete AgentDB ReasoningBank Adapter
|
|
26
|
+
*/
|
|
27
|
+
export declare class AgentDBReasoningBankAdapter {
|
|
28
|
+
private db;
|
|
29
|
+
private plugin?;
|
|
30
|
+
private patternMatcher?;
|
|
31
|
+
private contextSynthesizer?;
|
|
32
|
+
private memoryOptimizer?;
|
|
33
|
+
private experienceCurator?;
|
|
34
|
+
private quicSync?;
|
|
35
|
+
private config;
|
|
36
|
+
private initialized;
|
|
37
|
+
constructor(config?: AgentDBAdapterConfig);
|
|
38
|
+
/**
|
|
39
|
+
* Initialize the adapter and all components
|
|
40
|
+
*/
|
|
41
|
+
initialize(): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Insert a pattern into the reasoning bank (backward compatible)
|
|
44
|
+
*/
|
|
45
|
+
insertPattern(memory: ReasoningMemory): Promise<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Insert a trajectory (backward compatible)
|
|
48
|
+
*/
|
|
49
|
+
insertTrajectory(trajectory: TrajectoryData): Promise<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Retrieve memories (backward compatible with enhanced reasoning)
|
|
52
|
+
*/
|
|
53
|
+
retrieveMemories(options?: RetrievalOptions): Promise<ReasoningMemory[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Advanced retrieval with reasoning agents
|
|
56
|
+
*/
|
|
57
|
+
retrieveWithReasoning(query: string | number[], options?: {
|
|
58
|
+
domain?: string;
|
|
59
|
+
agent?: string;
|
|
60
|
+
k?: number;
|
|
61
|
+
useMMR?: boolean;
|
|
62
|
+
synthesizeContext?: boolean;
|
|
63
|
+
optimizeMemory?: boolean;
|
|
64
|
+
}): Promise<{
|
|
65
|
+
memories: ReasoningMemory[];
|
|
66
|
+
context?: any;
|
|
67
|
+
patterns?: any[];
|
|
68
|
+
optimizations?: any;
|
|
69
|
+
}>;
|
|
70
|
+
/**
|
|
71
|
+
* Update pattern statistics (backward compatible)
|
|
72
|
+
*/
|
|
73
|
+
updatePattern(id: string, updates: Partial<{
|
|
74
|
+
confidence: number;
|
|
75
|
+
usage_count: number;
|
|
76
|
+
success_count: number;
|
|
77
|
+
last_used: number;
|
|
78
|
+
}>): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Delete pattern (backward compatible)
|
|
81
|
+
*/
|
|
82
|
+
deletePattern(id: string): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Train learning model on stored experiences
|
|
85
|
+
*/
|
|
86
|
+
train(options?: {
|
|
87
|
+
epochs?: number;
|
|
88
|
+
batchSize?: number;
|
|
89
|
+
}): Promise<any>;
|
|
90
|
+
/**
|
|
91
|
+
* Get statistics about the reasoning bank
|
|
92
|
+
*/
|
|
93
|
+
getStats(): Promise<{
|
|
94
|
+
totalPatterns: number;
|
|
95
|
+
totalTrajectories: number;
|
|
96
|
+
avgConfidence: number;
|
|
97
|
+
domains: string[];
|
|
98
|
+
dbSize: number;
|
|
99
|
+
learningStats?: any;
|
|
100
|
+
reasoningStats?: any;
|
|
101
|
+
}>;
|
|
102
|
+
/**
|
|
103
|
+
* Optimize database (consolidation, pruning, reindexing)
|
|
104
|
+
*/
|
|
105
|
+
optimize(): Promise<void>;
|
|
106
|
+
/**
|
|
107
|
+
* Close adapter and cleanup
|
|
108
|
+
*/
|
|
109
|
+
close(): Promise<void>;
|
|
110
|
+
private checkInitialized;
|
|
111
|
+
private embedText;
|
|
112
|
+
private mapToLegacyFormat;
|
|
113
|
+
private enhanceWithReasoning;
|
|
114
|
+
private retrieveWithMMR;
|
|
115
|
+
private cosineSimilarity;
|
|
116
|
+
private getDbSize;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=agentdb-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentdb-adapter.d.ts","sourceRoot":"","sources":["../../../src/reasoningbank/adapter/agentdb-adapter.ts"],"names":[],"mappings":"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"}
|