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,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SQLite Vector Learning Plugins
|
|
3
|
+
*
|
|
4
|
+
* Extensible plugin system for custom learning methodologies using vector databases.
|
|
5
|
+
*
|
|
6
|
+
* This module provides:
|
|
7
|
+
* - Plugin interface definitions
|
|
8
|
+
* - Plugin registry for discovery and management
|
|
9
|
+
* - Base plugin implementation
|
|
10
|
+
* - Configuration validation
|
|
11
|
+
*
|
|
12
|
+
* @module plugins
|
|
13
|
+
* @packageDocumentation
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* import {
|
|
18
|
+
* getRegistry,
|
|
19
|
+
* registerPlugin,
|
|
20
|
+
* loadPlugin,
|
|
21
|
+
* BasePlugin,
|
|
22
|
+
* type LearningPlugin,
|
|
23
|
+
* type PluginConfig
|
|
24
|
+
* } from '@agentdb/plugins';
|
|
25
|
+
*
|
|
26
|
+
* // Register a plugin
|
|
27
|
+
* registerPlugin({
|
|
28
|
+
* name: 'my-q-learning',
|
|
29
|
+
* version: '1.0.0',
|
|
30
|
+
* description: 'Custom Q-Learning implementation',
|
|
31
|
+
* baseAlgorithm: 'q_learning',
|
|
32
|
+
* factory: (config) => new MyQLearningPlugin(config)
|
|
33
|
+
* });
|
|
34
|
+
*
|
|
35
|
+
* // Load and use plugin
|
|
36
|
+
* const plugin = await loadPlugin('my-q-learning', {
|
|
37
|
+
* config: {
|
|
38
|
+
* training: { batchSize: 64 }
|
|
39
|
+
* },
|
|
40
|
+
* initialize: true
|
|
41
|
+
* });
|
|
42
|
+
*
|
|
43
|
+
* // Use plugin for learning
|
|
44
|
+
* const action = await plugin.selectAction(stateVector);
|
|
45
|
+
* await plugin.storeExperience({
|
|
46
|
+
* state: stateVector,
|
|
47
|
+
* action,
|
|
48
|
+
* reward: 1.0,
|
|
49
|
+
* nextState: nextStateVector,
|
|
50
|
+
* done: false
|
|
51
|
+
* });
|
|
52
|
+
* await plugin.train();
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
// ============ Plugin Registry ============
|
|
56
|
+
export {
|
|
57
|
+
// Registry class
|
|
58
|
+
PluginRegistry,
|
|
59
|
+
// Registry functions
|
|
60
|
+
getRegistry, registerPlugin, loadPlugin,
|
|
61
|
+
// Errors
|
|
62
|
+
PluginError } from './registry.mjs';
|
|
63
|
+
// ============ Base Plugin ============
|
|
64
|
+
export {
|
|
65
|
+
// Base plugin class
|
|
66
|
+
BasePlugin } from './base-plugin.mjs';
|
|
67
|
+
// ============ Validation ============
|
|
68
|
+
export {
|
|
69
|
+
// Validation functions
|
|
70
|
+
validatePluginConfig, validateRequired, getErrorSummary } from './validator.mjs';
|
|
71
|
+
// ============ Version Information ============
|
|
72
|
+
/**
|
|
73
|
+
* Plugin system version
|
|
74
|
+
*/
|
|
75
|
+
export const PLUGIN_SYSTEM_VERSION = '1.0.0';
|
|
76
|
+
/**
|
|
77
|
+
* Supported plugin API version
|
|
78
|
+
*/
|
|
79
|
+
export const PLUGIN_API_VERSION = '1.0.0';
|
|
80
|
+
export function createDefaultConfig(overrides) {
|
|
81
|
+
return {
|
|
82
|
+
name: overrides.name || 'unnamed-plugin',
|
|
83
|
+
version: overrides.version || '1.0.0',
|
|
84
|
+
description: overrides.description || 'A learning plugin',
|
|
85
|
+
baseAlgorithm: overrides.baseAlgorithm || 'custom',
|
|
86
|
+
algorithm: {
|
|
87
|
+
type: 'custom',
|
|
88
|
+
learningRate: 0.001,
|
|
89
|
+
discountFactor: 0.99,
|
|
90
|
+
...overrides.algorithm
|
|
91
|
+
},
|
|
92
|
+
state: {
|
|
93
|
+
dimension: 768,
|
|
94
|
+
preprocessing: ['normalize'],
|
|
95
|
+
...overrides.state
|
|
96
|
+
},
|
|
97
|
+
action: {
|
|
98
|
+
type: 'discrete',
|
|
99
|
+
spaceSize: 100,
|
|
100
|
+
selectionStrategy: 'epsilon_greedy',
|
|
101
|
+
...overrides.action
|
|
102
|
+
},
|
|
103
|
+
reward: {
|
|
104
|
+
type: 'success_based',
|
|
105
|
+
...overrides.reward
|
|
106
|
+
},
|
|
107
|
+
experienceReplay: overrides.experienceReplay || {
|
|
108
|
+
type: 'uniform',
|
|
109
|
+
capacity: 10000
|
|
110
|
+
},
|
|
111
|
+
storage: {
|
|
112
|
+
backend: 'agentdb',
|
|
113
|
+
path: './.rl/plugin.db',
|
|
114
|
+
hnsw: {
|
|
115
|
+
enabled: true,
|
|
116
|
+
M: 16,
|
|
117
|
+
efConstruction: 200
|
|
118
|
+
},
|
|
119
|
+
...overrides.storage
|
|
120
|
+
},
|
|
121
|
+
training: {
|
|
122
|
+
batchSize: 32,
|
|
123
|
+
epochs: 10,
|
|
124
|
+
minExperiences: 100,
|
|
125
|
+
trainEvery: 100,
|
|
126
|
+
...overrides.training
|
|
127
|
+
},
|
|
128
|
+
monitoring: {
|
|
129
|
+
trackMetrics: ['success_rate', 'avg_reward', 'loss'],
|
|
130
|
+
logInterval: 10,
|
|
131
|
+
saveCheckpoints: true,
|
|
132
|
+
checkpointInterval: 50,
|
|
133
|
+
...overrides.monitoring
|
|
134
|
+
},
|
|
135
|
+
extensions: overrides.extensions || []
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
import { getRegistry } from './registry.mjs';
|
|
139
|
+
/**
|
|
140
|
+
* Check if plugin system is initialized
|
|
141
|
+
*
|
|
142
|
+
* @returns Whether registry has plugins
|
|
143
|
+
*/
|
|
144
|
+
export function isInitialized() {
|
|
145
|
+
const registry = getRegistry();
|
|
146
|
+
return registry.list().length > 0;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Get plugin system information
|
|
150
|
+
*
|
|
151
|
+
* @returns System information
|
|
152
|
+
*/
|
|
153
|
+
export function getSystemInfo() {
|
|
154
|
+
const registry = getRegistry();
|
|
155
|
+
const plugins = registry.list();
|
|
156
|
+
const activePlugins = registry.listActive();
|
|
157
|
+
return {
|
|
158
|
+
systemVersion: PLUGIN_SYSTEM_VERSION,
|
|
159
|
+
apiVersion: PLUGIN_API_VERSION,
|
|
160
|
+
totalPlugins: plugins.length,
|
|
161
|
+
activePlugins: activePlugins.length,
|
|
162
|
+
availablePlugins: plugins.map((p) => ({
|
|
163
|
+
name: p.name,
|
|
164
|
+
version: p.version,
|
|
165
|
+
baseAlgorithm: p.baseAlgorithm
|
|
166
|
+
}))
|
|
167
|
+
};
|
|
168
|
+
}
|
|
@@ -0,0 +1,439 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core interface definitions for the Learning Plugin System
|
|
3
|
+
*
|
|
4
|
+
* This module defines the contract that all learning plugins must implement,
|
|
5
|
+
* enabling custom learning methodologies to integrate seamlessly with the
|
|
6
|
+
* agentdb system.
|
|
7
|
+
*
|
|
8
|
+
* @module plugins/interface
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Vector type for state and action embeddings
|
|
12
|
+
*/
|
|
13
|
+
export type Vector = number[] | Float32Array | Float64Array;
|
|
14
|
+
/**
|
|
15
|
+
* Plugin execution context with metadata
|
|
16
|
+
*/
|
|
17
|
+
export interface Context {
|
|
18
|
+
/** Task identifier */
|
|
19
|
+
taskId?: string;
|
|
20
|
+
/** Execution duration in milliseconds */
|
|
21
|
+
duration?: number;
|
|
22
|
+
/** Number of tokens used */
|
|
23
|
+
tokensUsed?: number;
|
|
24
|
+
/** Code complexity score (0-1) */
|
|
25
|
+
codeComplexity?: number;
|
|
26
|
+
/** Additional metadata */
|
|
27
|
+
metadata?: Record<string, any>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Task outcome after action execution
|
|
31
|
+
*/
|
|
32
|
+
export interface Outcome {
|
|
33
|
+
/** Whether the task succeeded */
|
|
34
|
+
success: boolean;
|
|
35
|
+
/** Result value or error */
|
|
36
|
+
result?: any;
|
|
37
|
+
/** Error information if failed */
|
|
38
|
+
error?: Error;
|
|
39
|
+
/** Next state after action */
|
|
40
|
+
nextState?: any;
|
|
41
|
+
/** Whether this is a terminal state */
|
|
42
|
+
done: boolean;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Experience tuple for reinforcement learning
|
|
46
|
+
*/
|
|
47
|
+
export interface Experience {
|
|
48
|
+
/** Unique experience identifier */
|
|
49
|
+
id?: string;
|
|
50
|
+
/** Current state vector */
|
|
51
|
+
state: Vector;
|
|
52
|
+
/** Action taken */
|
|
53
|
+
action: Action;
|
|
54
|
+
/** Reward received */
|
|
55
|
+
reward: number;
|
|
56
|
+
/** Next state vector */
|
|
57
|
+
nextState: Vector;
|
|
58
|
+
/** Whether episode terminated */
|
|
59
|
+
done: boolean;
|
|
60
|
+
/** Additional metadata */
|
|
61
|
+
metadata?: Record<string, any>;
|
|
62
|
+
/** Timestamp when experience was collected */
|
|
63
|
+
timestamp?: number;
|
|
64
|
+
/** Priority for prioritized replay (optional) */
|
|
65
|
+
priority?: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Action representation
|
|
69
|
+
*/
|
|
70
|
+
export interface Action {
|
|
71
|
+
/** Action identifier or index */
|
|
72
|
+
id: string | number;
|
|
73
|
+
/** Action type */
|
|
74
|
+
type: 'discrete' | 'continuous';
|
|
75
|
+
/** Action value(s) */
|
|
76
|
+
value: number | number[];
|
|
77
|
+
/** Confidence or probability */
|
|
78
|
+
confidence?: number;
|
|
79
|
+
/** Additional metadata */
|
|
80
|
+
metadata?: Record<string, any>;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Training options
|
|
84
|
+
*/
|
|
85
|
+
export interface TrainOptions {
|
|
86
|
+
/** Number of training epochs */
|
|
87
|
+
epochs?: number;
|
|
88
|
+
/** Batch size for training */
|
|
89
|
+
batchSize?: number;
|
|
90
|
+
/** Validation split ratio */
|
|
91
|
+
validationSplit?: number;
|
|
92
|
+
/** Enable verbose logging */
|
|
93
|
+
verbose?: boolean;
|
|
94
|
+
/** Custom training callbacks */
|
|
95
|
+
callbacks?: TrainingCallback[];
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Training callback interface
|
|
99
|
+
*/
|
|
100
|
+
export interface TrainingCallback {
|
|
101
|
+
/** Called before training starts */
|
|
102
|
+
onTrainBegin?(logs?: Record<string, any>): void | Promise<void>;
|
|
103
|
+
/** Called after training ends */
|
|
104
|
+
onTrainEnd?(logs?: Record<string, any>): void | Promise<void>;
|
|
105
|
+
/** Called before each epoch */
|
|
106
|
+
onEpochBegin?(epoch: number, logs?: Record<string, any>): void | Promise<void>;
|
|
107
|
+
/** Called after each epoch */
|
|
108
|
+
onEpochEnd?(epoch: number, logs?: Record<string, any>): void | Promise<void>;
|
|
109
|
+
/** Called before each batch */
|
|
110
|
+
onBatchBegin?(batch: number, logs?: Record<string, any>): void | Promise<void>;
|
|
111
|
+
/** Called after each batch */
|
|
112
|
+
onBatchEnd?(batch: number, logs?: Record<string, any>): void | Promise<void>;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Training metrics
|
|
116
|
+
*/
|
|
117
|
+
export interface TrainingMetrics {
|
|
118
|
+
/** Training loss */
|
|
119
|
+
loss: number;
|
|
120
|
+
/** Validation loss */
|
|
121
|
+
validationLoss?: number;
|
|
122
|
+
/** Average Q-value */
|
|
123
|
+
avgQValue?: number;
|
|
124
|
+
/** Current exploration rate (epsilon) */
|
|
125
|
+
epsilon?: number;
|
|
126
|
+
/** Number of experiences processed */
|
|
127
|
+
experiencesProcessed: number;
|
|
128
|
+
/** Training duration in milliseconds */
|
|
129
|
+
duration: number;
|
|
130
|
+
/** Additional custom metrics */
|
|
131
|
+
[key: string]: any;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Plugin performance metrics
|
|
135
|
+
*/
|
|
136
|
+
export interface PluginMetrics {
|
|
137
|
+
/** Success rate (0-1) */
|
|
138
|
+
successRate: number;
|
|
139
|
+
/** Average reward per episode */
|
|
140
|
+
avgReward: number;
|
|
141
|
+
/** Total number of experiences collected */
|
|
142
|
+
totalExperiences: number;
|
|
143
|
+
/** Total number of training steps */
|
|
144
|
+
totalTrainingSteps: number;
|
|
145
|
+
/** Sample efficiency (experiences needed to reach threshold) */
|
|
146
|
+
sampleEfficiency?: number;
|
|
147
|
+
/** Current exploration rate */
|
|
148
|
+
explorationRate?: number;
|
|
149
|
+
/** Additional custom metrics */
|
|
150
|
+
[key: string]: any;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Plugin configuration schema
|
|
154
|
+
*/
|
|
155
|
+
export interface PluginConfig {
|
|
156
|
+
/** Plugin name (kebab-case) */
|
|
157
|
+
name: string;
|
|
158
|
+
/** Semantic version */
|
|
159
|
+
version: string;
|
|
160
|
+
/** Plugin author */
|
|
161
|
+
author?: string;
|
|
162
|
+
/** Plugin description */
|
|
163
|
+
description: string;
|
|
164
|
+
/** Base algorithm type */
|
|
165
|
+
baseAlgorithm: 'decision_transformer' | 'q_learning' | 'sarsa' | 'actor_critic' | 'custom';
|
|
166
|
+
/** Algorithm-specific configuration */
|
|
167
|
+
algorithm: AlgorithmConfig;
|
|
168
|
+
/** State representation configuration */
|
|
169
|
+
state: StateConfig;
|
|
170
|
+
/** Action space configuration */
|
|
171
|
+
action: ActionConfig;
|
|
172
|
+
/** Reward configuration */
|
|
173
|
+
reward: RewardConfig;
|
|
174
|
+
/** Experience replay configuration */
|
|
175
|
+
experienceReplay?: ExperienceReplayConfig;
|
|
176
|
+
/** Storage configuration */
|
|
177
|
+
storage: StorageConfig;
|
|
178
|
+
/** Training configuration */
|
|
179
|
+
training: TrainingConfig;
|
|
180
|
+
/** Monitoring configuration */
|
|
181
|
+
monitoring?: MonitoringConfig;
|
|
182
|
+
/** Plugin extensions */
|
|
183
|
+
extensions?: ExtensionConfig[];
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Algorithm configuration
|
|
187
|
+
*/
|
|
188
|
+
export interface AlgorithmConfig {
|
|
189
|
+
/** Algorithm type */
|
|
190
|
+
type: string;
|
|
191
|
+
/** Learning rate */
|
|
192
|
+
learningRate?: number;
|
|
193
|
+
/** Discount factor (gamma) */
|
|
194
|
+
discountFactor?: number;
|
|
195
|
+
/** Additional algorithm-specific parameters */
|
|
196
|
+
[key: string]: any;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* State configuration
|
|
200
|
+
*/
|
|
201
|
+
export interface StateConfig {
|
|
202
|
+
/** Embedding model name */
|
|
203
|
+
embeddingModel?: string;
|
|
204
|
+
/** State vector dimension */
|
|
205
|
+
dimension: number;
|
|
206
|
+
/** Preprocessing steps */
|
|
207
|
+
preprocessing?: ('normalize' | 'reduce_dim' | 'augment')[];
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Action configuration
|
|
211
|
+
*/
|
|
212
|
+
export interface ActionConfig {
|
|
213
|
+
/** Action space type */
|
|
214
|
+
type: 'discrete' | 'continuous';
|
|
215
|
+
/** Number of discrete actions */
|
|
216
|
+
spaceSize?: number;
|
|
217
|
+
/** Bounds for continuous actions */
|
|
218
|
+
spaceBounds?: [number, number][];
|
|
219
|
+
/** Action selection strategy */
|
|
220
|
+
selectionStrategy: string;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Reward configuration
|
|
224
|
+
*/
|
|
225
|
+
export interface RewardConfig {
|
|
226
|
+
/** Reward function type */
|
|
227
|
+
type: 'success_based' | 'time_aware' | 'token_aware' | 'custom';
|
|
228
|
+
/** Custom reward function code */
|
|
229
|
+
function?: string;
|
|
230
|
+
/** Reward shaping parameters */
|
|
231
|
+
shaping?: {
|
|
232
|
+
gamma: number;
|
|
233
|
+
lambda: number;
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Experience replay configuration
|
|
238
|
+
*/
|
|
239
|
+
export interface ExperienceReplayConfig {
|
|
240
|
+
/** Replay buffer type */
|
|
241
|
+
type: 'none' | 'uniform' | 'prioritized';
|
|
242
|
+
/** Buffer capacity */
|
|
243
|
+
capacity: number;
|
|
244
|
+
/** Prioritization exponent (for prioritized replay) */
|
|
245
|
+
alpha?: number;
|
|
246
|
+
/** Importance sampling exponent */
|
|
247
|
+
beta?: number;
|
|
248
|
+
/** Beta increment per sample */
|
|
249
|
+
betaIncrement?: number;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Storage configuration
|
|
253
|
+
*/
|
|
254
|
+
export interface StorageConfig {
|
|
255
|
+
/** Storage backend */
|
|
256
|
+
backend: 'agentdb';
|
|
257
|
+
/** Database file path */
|
|
258
|
+
path: string;
|
|
259
|
+
/** HNSW index configuration */
|
|
260
|
+
hnsw?: {
|
|
261
|
+
enabled: boolean;
|
|
262
|
+
M: number;
|
|
263
|
+
efConstruction: number;
|
|
264
|
+
efSearch?: number;
|
|
265
|
+
};
|
|
266
|
+
/** Quantization configuration */
|
|
267
|
+
quantization?: {
|
|
268
|
+
enabled: boolean;
|
|
269
|
+
bits: 8 | 16;
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Training configuration
|
|
274
|
+
*/
|
|
275
|
+
export interface TrainingConfig {
|
|
276
|
+
/** Batch size */
|
|
277
|
+
batchSize: number;
|
|
278
|
+
/** Number of training epochs */
|
|
279
|
+
epochs?: number;
|
|
280
|
+
/** Validation split ratio */
|
|
281
|
+
validationSplit?: number;
|
|
282
|
+
/** Early stopping patience */
|
|
283
|
+
earlyStoppingPatience?: number;
|
|
284
|
+
/** Minimum experiences before training */
|
|
285
|
+
minExperiences: number;
|
|
286
|
+
/** Train every N experiences */
|
|
287
|
+
trainEvery?: number;
|
|
288
|
+
/** Online training mode */
|
|
289
|
+
online?: boolean;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Monitoring configuration
|
|
293
|
+
*/
|
|
294
|
+
export interface MonitoringConfig {
|
|
295
|
+
/** Metrics to track */
|
|
296
|
+
trackMetrics: string[];
|
|
297
|
+
/** Log interval (episodes) */
|
|
298
|
+
logInterval: number;
|
|
299
|
+
/** Save checkpoints */
|
|
300
|
+
saveCheckpoints: boolean;
|
|
301
|
+
/** Checkpoint interval (episodes) */
|
|
302
|
+
checkpointInterval?: number;
|
|
303
|
+
/** Weights & Biases configuration */
|
|
304
|
+
wandb?: {
|
|
305
|
+
enabled: boolean;
|
|
306
|
+
project: string;
|
|
307
|
+
entity?: string;
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Extension configuration
|
|
312
|
+
*/
|
|
313
|
+
export interface ExtensionConfig {
|
|
314
|
+
/** Extension name */
|
|
315
|
+
name: string;
|
|
316
|
+
/** Whether extension is enabled */
|
|
317
|
+
enabled: boolean;
|
|
318
|
+
/** Extension-specific configuration */
|
|
319
|
+
config: Record<string, any>;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Core Learning Plugin interface
|
|
323
|
+
*
|
|
324
|
+
* All learning plugins must implement this interface to integrate
|
|
325
|
+
* with the agentdb plugin system.
|
|
326
|
+
*/
|
|
327
|
+
export interface LearningPlugin {
|
|
328
|
+
/** Plugin name */
|
|
329
|
+
readonly name: string;
|
|
330
|
+
/** Plugin version */
|
|
331
|
+
readonly version: string;
|
|
332
|
+
/** Plugin configuration */
|
|
333
|
+
readonly config: PluginConfig;
|
|
334
|
+
/**
|
|
335
|
+
* Initialize the plugin with configuration
|
|
336
|
+
*
|
|
337
|
+
* @param config - Plugin configuration
|
|
338
|
+
* @throws {Error} If initialization fails
|
|
339
|
+
*/
|
|
340
|
+
initialize(config: PluginConfig): Promise<void>;
|
|
341
|
+
/**
|
|
342
|
+
* Cleanup and destroy the plugin
|
|
343
|
+
*
|
|
344
|
+
* @throws {Error} If cleanup fails
|
|
345
|
+
*/
|
|
346
|
+
destroy(): Promise<void>;
|
|
347
|
+
/**
|
|
348
|
+
* Store a single experience
|
|
349
|
+
*
|
|
350
|
+
* @param experience - Experience to store
|
|
351
|
+
* @throws {Error} If storage fails
|
|
352
|
+
*/
|
|
353
|
+
storeExperience(experience: Experience): Promise<void>;
|
|
354
|
+
/**
|
|
355
|
+
* Store a batch of experiences efficiently
|
|
356
|
+
*
|
|
357
|
+
* @param experiences - Array of experiences
|
|
358
|
+
* @throws {Error} If batch storage fails
|
|
359
|
+
*/
|
|
360
|
+
storeBatch(experiences: Experience[]): Promise<void>;
|
|
361
|
+
/**
|
|
362
|
+
* Retrieve similar experiences using vector similarity
|
|
363
|
+
*
|
|
364
|
+
* @param state - Query state vector
|
|
365
|
+
* @param k - Number of similar experiences to retrieve
|
|
366
|
+
* @returns Array of similar experiences
|
|
367
|
+
* @throws {Error} If retrieval fails
|
|
368
|
+
*/
|
|
369
|
+
retrieveSimilar(state: Vector, k: number): Promise<Experience[]>;
|
|
370
|
+
/**
|
|
371
|
+
* Select an action given the current state
|
|
372
|
+
*
|
|
373
|
+
* @param state - Current state vector
|
|
374
|
+
* @param context - Optional execution context
|
|
375
|
+
* @returns Selected action
|
|
376
|
+
* @throws {Error} If action selection fails
|
|
377
|
+
*/
|
|
378
|
+
selectAction(state: Vector, context?: Context): Promise<Action>;
|
|
379
|
+
/**
|
|
380
|
+
* Train the plugin on collected experiences
|
|
381
|
+
*
|
|
382
|
+
* @param options - Optional training configuration
|
|
383
|
+
* @returns Training metrics
|
|
384
|
+
* @throws {Error} If training fails
|
|
385
|
+
*/
|
|
386
|
+
train(options?: TrainOptions): Promise<TrainingMetrics>;
|
|
387
|
+
/**
|
|
388
|
+
* Get current plugin performance metrics
|
|
389
|
+
*
|
|
390
|
+
* @returns Plugin metrics
|
|
391
|
+
*/
|
|
392
|
+
getMetrics(): Promise<PluginMetrics>;
|
|
393
|
+
/**
|
|
394
|
+
* Get plugin configuration
|
|
395
|
+
*
|
|
396
|
+
* @returns Plugin configuration
|
|
397
|
+
*/
|
|
398
|
+
getConfig(): PluginConfig;
|
|
399
|
+
/**
|
|
400
|
+
* Save plugin state to disk
|
|
401
|
+
*
|
|
402
|
+
* @param path - File path to save to
|
|
403
|
+
* @throws {Error} If save fails
|
|
404
|
+
*/
|
|
405
|
+
save(path: string): Promise<void>;
|
|
406
|
+
/**
|
|
407
|
+
* Load plugin state from disk
|
|
408
|
+
*
|
|
409
|
+
* @param path - File path to load from
|
|
410
|
+
* @throws {Error} If load fails
|
|
411
|
+
*/
|
|
412
|
+
load(path: string): Promise<void>;
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Plugin factory function type
|
|
416
|
+
*/
|
|
417
|
+
export type PluginFactory = (config?: Partial<PluginConfig>) => LearningPlugin | Promise<LearningPlugin>;
|
|
418
|
+
/**
|
|
419
|
+
* Plugin metadata for registration
|
|
420
|
+
*/
|
|
421
|
+
export interface PluginMetadata {
|
|
422
|
+
/** Plugin name */
|
|
423
|
+
name: string;
|
|
424
|
+
/** Plugin version */
|
|
425
|
+
version: string;
|
|
426
|
+
/** Plugin description */
|
|
427
|
+
description: string;
|
|
428
|
+
/** Plugin author */
|
|
429
|
+
author?: string;
|
|
430
|
+
/** Base algorithm */
|
|
431
|
+
baseAlgorithm: string;
|
|
432
|
+
/** Plugin factory function */
|
|
433
|
+
factory: PluginFactory;
|
|
434
|
+
/** Default configuration */
|
|
435
|
+
defaultConfig?: Partial<PluginConfig>;
|
|
436
|
+
/** Plugin tags for categorization */
|
|
437
|
+
tags?: string[];
|
|
438
|
+
}
|
|
439
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/plugins/interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Core interface definitions for the Learning Plugin System
|
|
4
|
+
*
|
|
5
|
+
* This module defines the contract that all learning plugins must implement,
|
|
6
|
+
* enabling custom learning methodologies to integrate seamlessly with the
|
|
7
|
+
* agentdb system.
|
|
8
|
+
*
|
|
9
|
+
* @module plugins/interface
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
//# sourceMappingURL=interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../../src/plugins/interface.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core interface definitions for the Learning Plugin System
|
|
3
|
+
*
|
|
4
|
+
* This module defines the contract that all learning plugins must implement,
|
|
5
|
+
* enabling custom learning methodologies to integrate seamlessly with the
|
|
6
|
+
* agentdb system.
|
|
7
|
+
*
|
|
8
|
+
* @module plugins/interface
|
|
9
|
+
*/
|
|
10
|
+
export {};
|