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,257 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core interface for learning plugins in the SQLite Vector system
|
|
3
|
+
* Defines the contract that all learning methodologies must implement
|
|
4
|
+
*/
|
|
5
|
+
import { SearchResult } from '../types';
|
|
6
|
+
/**
|
|
7
|
+
* Vector type alias for learning plugins
|
|
8
|
+
*/
|
|
9
|
+
export type Vector = number[];
|
|
10
|
+
/**
|
|
11
|
+
* Configuration for a learning plugin
|
|
12
|
+
*/
|
|
13
|
+
export interface PluginConfig {
|
|
14
|
+
/** Plugin name */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Plugin version */
|
|
17
|
+
version: string;
|
|
18
|
+
/** Algorithm-specific parameters */
|
|
19
|
+
algorithm: AlgorithmConfig;
|
|
20
|
+
/** Experience replay configuration */
|
|
21
|
+
experienceReplay?: ExperienceReplayConfig;
|
|
22
|
+
/** Training configuration */
|
|
23
|
+
training: TrainingConfig;
|
|
24
|
+
/** Storage configuration */
|
|
25
|
+
storage: StorageConfig;
|
|
26
|
+
/** Optional reward shaping */
|
|
27
|
+
reward?: RewardConfig;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Algorithm-specific configuration
|
|
31
|
+
*/
|
|
32
|
+
export interface AlgorithmConfig {
|
|
33
|
+
type: 'decision_transformer' | 'q_learning' | 'sarsa' | 'actor_critic';
|
|
34
|
+
learningRate: number;
|
|
35
|
+
discountFactor: number;
|
|
36
|
+
[key: string]: any;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Experience replay configuration
|
|
40
|
+
*/
|
|
41
|
+
export interface ExperienceReplayConfig {
|
|
42
|
+
type: 'none' | 'uniform' | 'prioritized';
|
|
43
|
+
capacity: number;
|
|
44
|
+
alpha?: number;
|
|
45
|
+
beta?: number;
|
|
46
|
+
betaIncrement?: number;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Training configuration
|
|
50
|
+
*/
|
|
51
|
+
export interface TrainingConfig {
|
|
52
|
+
batchSize: number;
|
|
53
|
+
epochs?: number;
|
|
54
|
+
minExperiences: number;
|
|
55
|
+
trainEvery?: number;
|
|
56
|
+
online?: boolean;
|
|
57
|
+
validationSplit?: number;
|
|
58
|
+
earlyStoppingPatience?: number;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Storage configuration
|
|
62
|
+
*/
|
|
63
|
+
export interface StorageConfig {
|
|
64
|
+
path: string;
|
|
65
|
+
hnsw?: {
|
|
66
|
+
enabled: boolean;
|
|
67
|
+
M: number;
|
|
68
|
+
efConstruction: number;
|
|
69
|
+
efSearch?: number;
|
|
70
|
+
};
|
|
71
|
+
quantization?: {
|
|
72
|
+
enabled: boolean;
|
|
73
|
+
bits: 8 | 16;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Reward configuration
|
|
78
|
+
*/
|
|
79
|
+
export interface RewardConfig {
|
|
80
|
+
type: 'success_based' | 'time_aware' | 'token_aware' | 'custom';
|
|
81
|
+
function?: string;
|
|
82
|
+
shaping?: {
|
|
83
|
+
gamma: number;
|
|
84
|
+
lambda: number;
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A single experience/transition in the RL environment
|
|
89
|
+
*/
|
|
90
|
+
export interface Experience {
|
|
91
|
+
/** Unique identifier */
|
|
92
|
+
id?: string;
|
|
93
|
+
/** State vector */
|
|
94
|
+
state: number[];
|
|
95
|
+
/** Action taken (can be action ID or embedding) */
|
|
96
|
+
action: any;
|
|
97
|
+
/** Reward received */
|
|
98
|
+
reward: number;
|
|
99
|
+
/** Next state vector */
|
|
100
|
+
nextState: number[];
|
|
101
|
+
/** Whether episode terminated */
|
|
102
|
+
done: boolean;
|
|
103
|
+
/** Episode identifier for grouping */
|
|
104
|
+
episodeId?: string;
|
|
105
|
+
/** Step index within episode */
|
|
106
|
+
stepIndex?: number;
|
|
107
|
+
/** Additional metadata */
|
|
108
|
+
metadata?: {
|
|
109
|
+
taskType?: string;
|
|
110
|
+
duration?: number;
|
|
111
|
+
tokensUsed?: number;
|
|
112
|
+
success?: boolean;
|
|
113
|
+
quality?: number;
|
|
114
|
+
[key: string]: any;
|
|
115
|
+
};
|
|
116
|
+
/** Timestamp */
|
|
117
|
+
timestamp?: number;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Action representation
|
|
121
|
+
*/
|
|
122
|
+
export interface Action {
|
|
123
|
+
/** Action identifier */
|
|
124
|
+
id: string;
|
|
125
|
+
/** Action embedding or parameters */
|
|
126
|
+
embedding: number[];
|
|
127
|
+
/** Source of the action */
|
|
128
|
+
source?: 'exact_retrieval' | 'knn_interpolation' | 'neural_network' | 'policy';
|
|
129
|
+
/** Confidence/similarity score */
|
|
130
|
+
confidence?: number;
|
|
131
|
+
/** Additional metadata */
|
|
132
|
+
metadata?: any;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Context for action selection
|
|
136
|
+
*/
|
|
137
|
+
export interface Context {
|
|
138
|
+
/** Task description */
|
|
139
|
+
taskDescription?: string;
|
|
140
|
+
/** Task type */
|
|
141
|
+
taskType?: string;
|
|
142
|
+
/** Desired return-to-go */
|
|
143
|
+
desiredReturn?: number;
|
|
144
|
+
/** Episode history */
|
|
145
|
+
history?: Experience[];
|
|
146
|
+
/** Additional context */
|
|
147
|
+
[key: string]: any;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Training options
|
|
151
|
+
*/
|
|
152
|
+
export interface TrainOptions {
|
|
153
|
+
/** Number of epochs */
|
|
154
|
+
epochs?: number;
|
|
155
|
+
/** Batch size */
|
|
156
|
+
batchSize?: number;
|
|
157
|
+
/** Learning rate */
|
|
158
|
+
learningRate?: number;
|
|
159
|
+
/** Validation split */
|
|
160
|
+
validationSplit?: number;
|
|
161
|
+
/** Verbose logging */
|
|
162
|
+
verbose?: boolean;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Training metrics
|
|
166
|
+
*/
|
|
167
|
+
export interface TrainingMetrics {
|
|
168
|
+
/** Average loss */
|
|
169
|
+
loss: number;
|
|
170
|
+
/** Validation loss (if applicable) */
|
|
171
|
+
validationLoss?: number;
|
|
172
|
+
/** Average Q-value (for value-based methods) */
|
|
173
|
+
avgQValue?: number;
|
|
174
|
+
/** Policy entropy (for policy gradient methods) */
|
|
175
|
+
policyEntropy?: number;
|
|
176
|
+
/** Exploration rate (epsilon for epsilon-greedy) */
|
|
177
|
+
epsilon?: number;
|
|
178
|
+
/** Number of episodes trained on */
|
|
179
|
+
episodesTrained?: number;
|
|
180
|
+
/** Additional metrics */
|
|
181
|
+
[key: string]: any;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Plugin metrics for monitoring
|
|
185
|
+
*/
|
|
186
|
+
export interface PluginMetrics {
|
|
187
|
+
/** Total experiences stored */
|
|
188
|
+
totalExperiences: number;
|
|
189
|
+
/** Number of episodes */
|
|
190
|
+
totalEpisodes: number;
|
|
191
|
+
/** Success rate */
|
|
192
|
+
successRate: number;
|
|
193
|
+
/** Average reward */
|
|
194
|
+
avgReward: number;
|
|
195
|
+
/** Average episode duration */
|
|
196
|
+
avgDuration: number;
|
|
197
|
+
/** Current training metrics */
|
|
198
|
+
currentTraining?: TrainingMetrics;
|
|
199
|
+
/** Additional metrics */
|
|
200
|
+
[key: string]: any;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Main interface that all learning plugins must implement
|
|
204
|
+
*/
|
|
205
|
+
export interface LearningPlugin {
|
|
206
|
+
/** Plugin name */
|
|
207
|
+
name: string;
|
|
208
|
+
/** Plugin version */
|
|
209
|
+
version: string;
|
|
210
|
+
/** Plugin configuration */
|
|
211
|
+
config: PluginConfig;
|
|
212
|
+
/**
|
|
213
|
+
* Initialize the plugin with configuration
|
|
214
|
+
*/
|
|
215
|
+
initialize(config: PluginConfig): Promise<void>;
|
|
216
|
+
/**
|
|
217
|
+
* Destroy the plugin and cleanup resources
|
|
218
|
+
*/
|
|
219
|
+
destroy(): Promise<void>;
|
|
220
|
+
/**
|
|
221
|
+
* Store a single experience/transition
|
|
222
|
+
*/
|
|
223
|
+
storeExperience(experience: Experience): Promise<void>;
|
|
224
|
+
/**
|
|
225
|
+
* Store a batch of experiences
|
|
226
|
+
*/
|
|
227
|
+
storeBatch(experiences: Experience[]): Promise<void>;
|
|
228
|
+
/**
|
|
229
|
+
* Retrieve similar experiences from storage
|
|
230
|
+
*/
|
|
231
|
+
retrieveSimilar(state: number[], k: number): Promise<SearchResult<Experience>[]>;
|
|
232
|
+
/**
|
|
233
|
+
* Select an action given current state
|
|
234
|
+
*/
|
|
235
|
+
selectAction(state: number[], context?: Context): Promise<Action>;
|
|
236
|
+
/**
|
|
237
|
+
* Train the plugin on stored experiences
|
|
238
|
+
*/
|
|
239
|
+
train(options?: TrainOptions): Promise<TrainingMetrics>;
|
|
240
|
+
/**
|
|
241
|
+
* Get current plugin metrics
|
|
242
|
+
*/
|
|
243
|
+
getMetrics(): Promise<PluginMetrics>;
|
|
244
|
+
/**
|
|
245
|
+
* Get plugin configuration
|
|
246
|
+
*/
|
|
247
|
+
getConfig(): PluginConfig;
|
|
248
|
+
/**
|
|
249
|
+
* Save plugin state to disk
|
|
250
|
+
*/
|
|
251
|
+
save(path: string): Promise<void>;
|
|
252
|
+
/**
|
|
253
|
+
* Load plugin state from disk
|
|
254
|
+
*/
|
|
255
|
+
load(path: string): Promise<void>;
|
|
256
|
+
}
|
|
257
|
+
//# sourceMappingURL=learning-plugin.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning-plugin.interface.d.ts","sourceRoot":"","sources":["../../src/plugins/learning-plugin.interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core interface for learning plugins in the SQLite Vector system
|
|
4
|
+
* Defines the contract that all learning methodologies must implement
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
//# sourceMappingURL=learning-plugin.interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning-plugin.interface.js","sourceRoot":"","sources":["../../src/plugins/learning-plugin.interface.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Learning Plugin System for SQLite Vector
|
|
3
|
+
*
|
|
4
|
+
* This module provides an extensible plugin architecture for implementing
|
|
5
|
+
* various reinforcement learning and adaptive learning algorithms.
|
|
6
|
+
*
|
|
7
|
+
* @example Basic usage
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { DecisionTransformerPlugin, PluginConfig } from '@agentic-flow/agentdb/plugins';
|
|
10
|
+
*
|
|
11
|
+
* const config: PluginConfig = {
|
|
12
|
+
* name: 'my-dt-plugin',
|
|
13
|
+
* version: '1.0.0',
|
|
14
|
+
* algorithm: {
|
|
15
|
+
* type: 'decision_transformer',
|
|
16
|
+
* learningRate: 0.001,
|
|
17
|
+
* discountFactor: 0.99,
|
|
18
|
+
* stateDim: 768,
|
|
19
|
+
* hiddenSize: 256,
|
|
20
|
+
* },
|
|
21
|
+
* training: {
|
|
22
|
+
* batchSize: 32,
|
|
23
|
+
* minExperiences: 100,
|
|
24
|
+
* },
|
|
25
|
+
* storage: {
|
|
26
|
+
* path: './data/plugin.db',
|
|
27
|
+
* },
|
|
28
|
+
* };
|
|
29
|
+
*
|
|
30
|
+
* const plugin = new DecisionTransformerPlugin();
|
|
31
|
+
* await plugin.initialize(config);
|
|
32
|
+
*
|
|
33
|
+
* // Store experiences
|
|
34
|
+
* await plugin.storeExperience({
|
|
35
|
+
* state: stateVector,
|
|
36
|
+
* action: actionTaken,
|
|
37
|
+
* reward: 1.0,
|
|
38
|
+
* nextState: nextStateVector,
|
|
39
|
+
* done: false,
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* // Select action
|
|
43
|
+
* const action = await plugin.selectAction(currentState, { desiredReturn: 1.0 });
|
|
44
|
+
*
|
|
45
|
+
* // Train
|
|
46
|
+
* const metrics = await plugin.train({ epochs: 10 });
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example Creating a custom plugin
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import { BasePlugin, LearningPlugin, PluginConfig } from '@agentic-flow/agentdb/plugins';
|
|
52
|
+
*
|
|
53
|
+
* export class MyCustomPlugin extends BasePlugin {
|
|
54
|
+
* public name = 'my-custom-plugin';
|
|
55
|
+
* public version = '1.0.0';
|
|
56
|
+
*
|
|
57
|
+
* async selectAction(state: number[], context?: Context): Promise<Action> {
|
|
58
|
+
* // Your custom action selection logic
|
|
59
|
+
* }
|
|
60
|
+
*
|
|
61
|
+
* async train(options?: TrainOptions): Promise<TrainingMetrics> {
|
|
62
|
+
* // Your custom training logic
|
|
63
|
+
* }
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export { LearningPlugin } from './learning-plugin.interface';
|
|
68
|
+
export { BasePlugin } from './base-plugin';
|
|
69
|
+
export type { PluginConfig, AlgorithmConfig, ExperienceReplayConfig, TrainingConfig, StorageConfig, RewardConfig, Experience, Action, Context, TrainOptions, TrainingMetrics, PluginMetrics, } from './learning-plugin.interface';
|
|
70
|
+
export { DecisionTransformerPlugin, QLearningPlugin, SARSAPlugin, ActorCriticPlugin, } from './implementations';
|
|
71
|
+
//# sourceMappingURL=plugin-exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-exports.d.ts","sourceRoot":"","sources":["../../src/plugins/plugin-exports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,YAAY,EACV,YAAY,EACZ,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,EACV,MAAM,EACN,OAAO,EACP,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EACL,yBAAyB,EACzB,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Learning Plugin System for SQLite Vector
|
|
4
|
+
*
|
|
5
|
+
* This module provides an extensible plugin architecture for implementing
|
|
6
|
+
* various reinforcement learning and adaptive learning algorithms.
|
|
7
|
+
*
|
|
8
|
+
* @example Basic usage
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { DecisionTransformerPlugin, PluginConfig } from '@agentic-flow/agentdb/plugins';
|
|
11
|
+
*
|
|
12
|
+
* const config: PluginConfig = {
|
|
13
|
+
* name: 'my-dt-plugin',
|
|
14
|
+
* version: '1.0.0',
|
|
15
|
+
* algorithm: {
|
|
16
|
+
* type: 'decision_transformer',
|
|
17
|
+
* learningRate: 0.001,
|
|
18
|
+
* discountFactor: 0.99,
|
|
19
|
+
* stateDim: 768,
|
|
20
|
+
* hiddenSize: 256,
|
|
21
|
+
* },
|
|
22
|
+
* training: {
|
|
23
|
+
* batchSize: 32,
|
|
24
|
+
* minExperiences: 100,
|
|
25
|
+
* },
|
|
26
|
+
* storage: {
|
|
27
|
+
* path: './data/plugin.db',
|
|
28
|
+
* },
|
|
29
|
+
* };
|
|
30
|
+
*
|
|
31
|
+
* const plugin = new DecisionTransformerPlugin();
|
|
32
|
+
* await plugin.initialize(config);
|
|
33
|
+
*
|
|
34
|
+
* // Store experiences
|
|
35
|
+
* await plugin.storeExperience({
|
|
36
|
+
* state: stateVector,
|
|
37
|
+
* action: actionTaken,
|
|
38
|
+
* reward: 1.0,
|
|
39
|
+
* nextState: nextStateVector,
|
|
40
|
+
* done: false,
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* // Select action
|
|
44
|
+
* const action = await plugin.selectAction(currentState, { desiredReturn: 1.0 });
|
|
45
|
+
*
|
|
46
|
+
* // Train
|
|
47
|
+
* const metrics = await plugin.train({ epochs: 10 });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example Creating a custom plugin
|
|
51
|
+
* ```typescript
|
|
52
|
+
* import { BasePlugin, LearningPlugin, PluginConfig } from '@agentic-flow/agentdb/plugins';
|
|
53
|
+
*
|
|
54
|
+
* export class MyCustomPlugin extends BasePlugin {
|
|
55
|
+
* public name = 'my-custom-plugin';
|
|
56
|
+
* public version = '1.0.0';
|
|
57
|
+
*
|
|
58
|
+
* async selectAction(state: number[], context?: Context): Promise<Action> {
|
|
59
|
+
* // Your custom action selection logic
|
|
60
|
+
* }
|
|
61
|
+
*
|
|
62
|
+
* async train(options?: TrainOptions): Promise<TrainingMetrics> {
|
|
63
|
+
* // Your custom training logic
|
|
64
|
+
* }
|
|
65
|
+
* }
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
69
|
+
exports.ActorCriticPlugin = exports.SARSAPlugin = exports.QLearningPlugin = exports.DecisionTransformerPlugin = exports.BasePlugin = void 0;
|
|
70
|
+
var base_plugin_1 = require("./base-plugin");
|
|
71
|
+
Object.defineProperty(exports, "BasePlugin", { enumerable: true, get: function () { return base_plugin_1.BasePlugin; } });
|
|
72
|
+
// Concrete implementations
|
|
73
|
+
var implementations_1 = require("./implementations");
|
|
74
|
+
Object.defineProperty(exports, "DecisionTransformerPlugin", { enumerable: true, get: function () { return implementations_1.DecisionTransformerPlugin; } });
|
|
75
|
+
Object.defineProperty(exports, "QLearningPlugin", { enumerable: true, get: function () { return implementations_1.QLearningPlugin; } });
|
|
76
|
+
Object.defineProperty(exports, "SARSAPlugin", { enumerable: true, get: function () { return implementations_1.SARSAPlugin; } });
|
|
77
|
+
Object.defineProperty(exports, "ActorCriticPlugin", { enumerable: true, get: function () { return implementations_1.ActorCriticPlugin; } });
|
|
78
|
+
//# sourceMappingURL=plugin-exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin-exports.js","sourceRoot":"","sources":["../../src/plugins/plugin-exports.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiEG;;;AAIH,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAkBnB,2BAA2B;AAC3B,qDAK2B;AAJzB,4HAAA,yBAAyB,OAAA;AACzB,kHAAA,eAAe,OAAA;AACf,8GAAA,WAAW,OAAA;AACX,oHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Learning Plugin System for SQLite Vector
|
|
3
|
+
*
|
|
4
|
+
* This module provides an extensible plugin architecture for implementing
|
|
5
|
+
* various reinforcement learning and adaptive learning algorithms.
|
|
6
|
+
*
|
|
7
|
+
* @example Basic usage
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { DecisionTransformerPlugin, PluginConfig } from '@agentic-flow/agentdb/plugins';
|
|
10
|
+
*
|
|
11
|
+
* const config: PluginConfig = {
|
|
12
|
+
* name: 'my-dt-plugin',
|
|
13
|
+
* version: '1.0.0',
|
|
14
|
+
* algorithm: {
|
|
15
|
+
* type: 'decision_transformer',
|
|
16
|
+
* learningRate: 0.001,
|
|
17
|
+
* discountFactor: 0.99,
|
|
18
|
+
* stateDim: 768,
|
|
19
|
+
* hiddenSize: 256,
|
|
20
|
+
* },
|
|
21
|
+
* training: {
|
|
22
|
+
* batchSize: 32,
|
|
23
|
+
* minExperiences: 100,
|
|
24
|
+
* },
|
|
25
|
+
* storage: {
|
|
26
|
+
* path: './data/plugin.db',
|
|
27
|
+
* },
|
|
28
|
+
* };
|
|
29
|
+
*
|
|
30
|
+
* const plugin = new DecisionTransformerPlugin();
|
|
31
|
+
* await plugin.initialize(config);
|
|
32
|
+
*
|
|
33
|
+
* // Store experiences
|
|
34
|
+
* await plugin.storeExperience({
|
|
35
|
+
* state: stateVector,
|
|
36
|
+
* action: actionTaken,
|
|
37
|
+
* reward: 1.0,
|
|
38
|
+
* nextState: nextStateVector,
|
|
39
|
+
* done: false,
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* // Select action
|
|
43
|
+
* const action = await plugin.selectAction(currentState, { desiredReturn: 1.0 });
|
|
44
|
+
*
|
|
45
|
+
* // Train
|
|
46
|
+
* const metrics = await plugin.train({ epochs: 10 });
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example Creating a custom plugin
|
|
50
|
+
* ```typescript
|
|
51
|
+
* import { BasePlugin, LearningPlugin, PluginConfig } from '@agentic-flow/agentdb/plugins';
|
|
52
|
+
*
|
|
53
|
+
* export class MyCustomPlugin extends BasePlugin {
|
|
54
|
+
* public name = 'my-custom-plugin';
|
|
55
|
+
* public version = '1.0.0';
|
|
56
|
+
*
|
|
57
|
+
* async selectAction(state: number[], context?: Context): Promise<Action> {
|
|
58
|
+
* // Your custom action selection logic
|
|
59
|
+
* }
|
|
60
|
+
*
|
|
61
|
+
* async train(options?: TrainOptions): Promise<TrainingMetrics> {
|
|
62
|
+
* // Your custom training logic
|
|
63
|
+
* }
|
|
64
|
+
* }
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export { BasePlugin } from './base-plugin.mjs';
|
|
68
|
+
// Concrete implementations
|
|
69
|
+
export { DecisionTransformerPlugin, QLearningPlugin, SARSAPlugin, ActorCriticPlugin, } from './implementations.mjs';
|