kynjal-cli 4.0.0 → 4.0.1
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/dist/src/appliance/gguf-engine.d.ts +91 -0
- package/dist/src/appliance/gguf-engine.d.ts.map +1 -0
- package/dist/src/appliance/gguf-engine.js +286 -525
- package/dist/src/appliance/gguf-engine.js.map +1 -1
- package/dist/src/appliance/ruvllm-bridge.d.ts +102 -0
- package/dist/src/appliance/ruvllm-bridge.d.ts.map +1 -0
- package/dist/src/appliance/ruvllm-bridge.js +203 -403
- package/dist/src/appliance/ruvllm-bridge.js.map +1 -1
- package/dist/src/appliance/rvfa-builder.d.ts +44 -0
- package/dist/src/appliance/rvfa-builder.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-builder.js +154 -208
- package/dist/src/appliance/rvfa-builder.js.map +1 -1
- package/dist/src/appliance/rvfa-distribution.d.ts +97 -0
- package/dist/src/appliance/rvfa-distribution.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-distribution.js +260 -423
- package/dist/src/appliance/rvfa-distribution.js.map +1 -1
- package/dist/src/appliance/rvfa-format.d.ts +111 -0
- package/dist/src/appliance/rvfa-format.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-format.js +128 -200
- package/dist/src/appliance/rvfa-format.js.map +1 -1
- package/dist/src/appliance/rvfa-runner.d.ts +69 -0
- package/dist/src/appliance/rvfa-runner.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-runner.js +168 -304
- package/dist/src/appliance/rvfa-runner.js.map +1 -1
- package/dist/src/appliance/rvfa-signing.d.ts +123 -0
- package/dist/src/appliance/rvfa-signing.d.ts.map +1 -0
- package/dist/src/appliance/rvfa-signing.js +173 -295
- package/dist/src/appliance/rvfa-signing.js.map +1 -1
- package/dist/src/benchmarks/pretrain/index.d.ts +58 -0
- package/dist/src/benchmarks/pretrain/index.d.ts.map +1 -0
- package/dist/src/benchmarks/pretrain/index.js +331 -542
- package/dist/src/benchmarks/pretrain/index.js.map +1 -1
- package/dist/src/commands/agent.js +574 -697
- package/dist/src/commands/agent.js.map +1 -1
- package/dist/src/commands/analyze.js +1218 -1548
- package/dist/src/commands/analyze.js.map +1 -1
- package/dist/src/commands/appliance-advanced.js +158 -267
- package/dist/src/commands/appliance-advanced.js.map +1 -1
- package/dist/src/commands/appliance.js +318 -493
- package/dist/src/commands/appliance.js.map +1 -1
- package/dist/src/commands/benchmark.js +372 -523
- package/dist/src/commands/benchmark.js.map +1 -1
- package/dist/src/commands/claims.js +274 -364
- package/dist/src/commands/claims.js.map +1 -1
- package/dist/src/commands/cleanup.js +113 -157
- package/dist/src/commands/cleanup.js.map +1 -1
- package/dist/src/commands/completions.js +477 -118
- package/dist/src/commands/completions.js.map +1 -1
- package/dist/src/commands/config.js +237 -303
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/daemon.js +487 -596
- package/dist/src/commands/daemon.js.map +1 -1
- package/dist/src/commands/deployment.js +194 -275
- package/dist/src/commands/deployment.js.map +1 -1
- package/dist/src/commands/doctor.js +504 -686
- package/dist/src/commands/doctor.js.map +1 -1
- package/dist/src/commands/embeddings.js +1293 -1543
- package/dist/src/commands/embeddings.js.map +1 -1
- package/dist/src/commands/guidance.js +449 -596
- package/dist/src/commands/guidance.js.map +1 -1
- package/dist/src/commands/hive-mind.js +854 -938
- package/dist/src/commands/hive-mind.js.map +1 -1
- package/dist/src/commands/hooks.js +3112 -3519
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/index.d.ts +115 -0
- package/dist/src/commands/index.d.ts.map +1 -0
- package/dist/src/commands/index.js +126 -308
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.js +788 -940
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/issues.js +383 -558
- package/dist/src/commands/issues.js.map +1 -1
- package/dist/src/commands/mcp.js +493 -605
- package/dist/src/commands/mcp.js.map +1 -1
- package/dist/src/commands/memory.js +833 -1026
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/migrate.js +282 -347
- package/dist/src/commands/migrate.js.map +1 -1
- package/dist/src/commands/neural.js +1289 -1563
- package/dist/src/commands/neural.js.map +1 -1
- package/dist/src/commands/performance.js +497 -643
- package/dist/src/commands/performance.js.map +1 -1
- package/dist/src/commands/plugins.js +668 -841
- package/dist/src/commands/plugins.js.map +1 -1
- package/dist/src/commands/process.js +392 -447
- package/dist/src/commands/process.js.map +1 -1
- package/dist/src/commands/progress.js +162 -256
- package/dist/src/commands/progress.js.map +1 -1
- package/dist/src/commands/providers.js +150 -220
- package/dist/src/commands/providers.js.map +1 -1
- package/dist/src/commands/route.js +520 -665
- package/dist/src/commands/route.js.map +1 -1
- package/dist/src/commands/ruvector/backup.js +505 -651
- package/dist/src/commands/ruvector/backup.js.map +1 -1
- package/dist/src/commands/ruvector/benchmark.js +349 -401
- package/dist/src/commands/ruvector/benchmark.js.map +1 -1
- package/dist/src/commands/ruvector/import.js +224 -266
- package/dist/src/commands/ruvector/import.js.map +1 -1
- package/dist/src/commands/ruvector/index.js +37 -75
- package/dist/src/commands/ruvector/index.js.map +1 -1
- package/dist/src/commands/ruvector/init.js +336 -359
- package/dist/src/commands/ruvector/init.js.map +1 -1
- package/dist/src/commands/ruvector/migrate.js +335 -322
- package/dist/src/commands/ruvector/migrate.js.map +1 -1
- package/dist/src/commands/ruvector/optimize.js +375 -431
- package/dist/src/commands/ruvector/optimize.js.map +1 -1
- package/dist/src/commands/ruvector/setup.js +703 -117
- package/dist/src/commands/ruvector/setup.js.map +1 -1
- package/dist/src/commands/ruvector/status.js +364 -419
- package/dist/src/commands/ruvector/status.js.map +1 -1
- package/dist/src/commands/security.js +485 -608
- package/dist/src/commands/security.js.map +1 -1
- package/dist/src/commands/session.js +504 -626
- package/dist/src/commands/session.js.map +1 -1
- package/dist/src/commands/start.js +267 -364
- package/dist/src/commands/start.js.map +1 -1
- package/dist/src/commands/status.js +380 -486
- package/dist/src/commands/status.js.map +1 -1
- package/dist/src/commands/swarm.js +408 -488
- package/dist/src/commands/swarm.js.map +1 -1
- package/dist/src/commands/task.js +423 -538
- package/dist/src/commands/task.js.map +1 -1
- package/dist/src/commands/transfer-store.js +322 -412
- package/dist/src/commands/transfer-store.js.map +1 -1
- package/dist/src/commands/update.js +196 -291
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/workflow.js +386 -486
- package/dist/src/commands/workflow.js.map +1 -1
- package/dist/src/config-adapter.d.ts +15 -0
- package/dist/src/config-adapter.d.ts.map +1 -0
- package/dist/src/config-adapter.js +38 -39
- package/dist/src/config-adapter.js.map +1 -1
- package/dist/src/index.d.ts +77 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +309 -411
- package/dist/src/index.js.map +1 -1
- package/dist/src/infrastructure/in-memory-repositories.d.ts +68 -0
- package/dist/src/infrastructure/in-memory-repositories.d.ts.map +1 -0
- package/dist/src/infrastructure/in-memory-repositories.js +246 -507
- package/dist/src/infrastructure/in-memory-repositories.js.map +1 -1
- package/dist/src/init/claudemd-generator.d.ts +25 -0
- package/dist/src/init/claudemd-generator.d.ts.map +1 -0
- package/dist/src/init/claudemd-generator.js +368 -78
- package/dist/src/init/claudemd-generator.js.map +1 -1
- package/dist/src/init/executor.d.ts +41 -0
- package/dist/src/init/executor.d.ts.map +1 -0
- package/dist/src/init/executor.js +1307 -996
- package/dist/src/init/executor.js.map +1 -1
- package/dist/src/init/helpers-generator.d.ts +60 -0
- package/dist/src/init/helpers-generator.d.ts.map +1 -0
- package/dist/src/init/helpers-generator.js +657 -12
- package/dist/src/init/helpers-generator.js.map +1 -1
- package/dist/src/init/index.d.ts +1 -1
- package/dist/src/init/index.d.ts.map +1 -1
- package/dist/src/init/index.js +1 -1
- package/dist/src/init/index.js.map +1 -1
- package/dist/src/init/mcp-generator.js +33 -37
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.js +76 -77
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/init/statusline-generator.js +801 -3
- package/dist/src/init/statusline-generator.js.map +1 -1
- package/dist/src/init/types.d.ts +1 -1
- package/dist/src/init/types.d.ts.map +1 -1
- package/dist/src/init/types.js +76 -59
- package/dist/src/init/types.js.map +1 -1
- package/dist/src/mcp-client.d.ts +92 -0
- package/dist/src/mcp-client.d.ts.map +1 -0
- package/dist/src/mcp-client.js +81 -125
- package/dist/src/mcp-client.js.map +1 -1
- package/dist/src/mcp-server.d.ts +161 -0
- package/dist/src/mcp-server.d.ts.map +1 -0
- package/dist/src/mcp-server.js +470 -757
- package/dist/src/mcp-server.js.map +1 -1
- package/dist/src/mcp-tools/agent-tools.js +391 -492
- package/dist/src/mcp-tools/agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/agentdb-tools.js +332 -533
- package/dist/src/mcp-tools/agentdb-tools.js.map +1 -1
- package/dist/src/mcp-tools/analyze-tools.js +172 -236
- package/dist/src/mcp-tools/analyze-tools.js.map +1 -1
- package/dist/src/mcp-tools/auto-install.d.ts +83 -0
- package/dist/src/mcp-tools/auto-install.d.ts.map +1 -0
- package/dist/src/mcp-tools/auto-install.js +80 -142
- package/dist/src/mcp-tools/auto-install.js.map +1 -1
- package/dist/src/mcp-tools/browser-tools.js +252 -375
- package/dist/src/mcp-tools/browser-tools.js.map +1 -1
- package/dist/src/mcp-tools/claims-tools.js +473 -565
- package/dist/src/mcp-tools/claims-tools.js.map +1 -1
- package/dist/src/mcp-tools/config-tools.js +197 -272
- package/dist/src/mcp-tools/config-tools.js.map +1 -1
- package/dist/src/mcp-tools/coordination-tools.js +500 -572
- package/dist/src/mcp-tools/coordination-tools.js.map +1 -1
- package/dist/src/mcp-tools/daa-tools.js +286 -364
- package/dist/src/mcp-tools/daa-tools.js.map +1 -1
- package/dist/src/mcp-tools/embeddings-tools.js +582 -693
- package/dist/src/mcp-tools/embeddings-tools.js.map +1 -1
- package/dist/src/mcp-tools/github-tools.js +260 -311
- package/dist/src/mcp-tools/github-tools.js.map +1 -1
- package/dist/src/mcp-tools/hive-mind-tools.js +573 -640
- package/dist/src/mcp-tools/hive-mind-tools.js.map +1 -1
- package/dist/src/mcp-tools/hooks-tools.js +2215 -2648
- package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
- package/dist/src/mcp-tools/memory-tools.js +350 -505
- package/dist/src/mcp-tools/memory-tools.js.map +1 -1
- package/dist/src/mcp-tools/neural-tools.js +315 -412
- package/dist/src/mcp-tools/neural-tools.js.map +1 -1
- package/dist/src/mcp-tools/performance-tools.js +420 -480
- package/dist/src/mcp-tools/performance-tools.js.map +1 -1
- package/dist/src/mcp-tools/progress-tools.js +204 -278
- package/dist/src/mcp-tools/progress-tools.js.map +1 -1
- package/dist/src/mcp-tools/ruvllm-tools.js +163 -279
- package/dist/src/mcp-tools/ruvllm-tools.js.map +1 -1
- package/dist/src/mcp-tools/security-tools.js +297 -429
- package/dist/src/mcp-tools/security-tools.js.map +1 -1
- package/dist/src/mcp-tools/session-tools.js +185 -234
- package/dist/src/mcp-tools/session-tools.js.map +1 -1
- package/dist/src/mcp-tools/swarm-tools.js +207 -260
- package/dist/src/mcp-tools/swarm-tools.js.map +1 -1
- package/dist/src/mcp-tools/system-tools.js +276 -325
- package/dist/src/mcp-tools/system-tools.js.map +1 -1
- package/dist/src/mcp-tools/task-tools.js +270 -336
- package/dist/src/mcp-tools/task-tools.js.map +1 -1
- package/dist/src/mcp-tools/terminal-tools.js +148 -196
- package/dist/src/mcp-tools/terminal-tools.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.js +186 -333
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
- package/dist/src/mcp-tools/types.d.ts +31 -0
- package/dist/src/mcp-tools/types.d.ts.map +1 -0
- package/dist/src/mcp-tools/wasm-agent-tools.js +133 -280
- package/dist/src/mcp-tools/wasm-agent-tools.js.map +1 -1
- package/dist/src/mcp-tools/workflow-tools.js +405 -450
- package/dist/src/mcp-tools/workflow-tools.js.map +1 -1
- package/dist/src/memory/ewc-consolidation.d.ts +295 -0
- package/dist/src/memory/ewc-consolidation.d.ts.map +1 -0
- package/dist/src/memory/ewc-consolidation.js +190 -303
- package/dist/src/memory/ewc-consolidation.js.map +1 -1
- package/dist/src/memory/intelligence.d.ts +338 -0
- package/dist/src/memory/intelligence.d.ts.map +1 -0
- package/dist/src/memory/intelligence.js +569 -794
- package/dist/src/memory/intelligence.js.map +1 -1
- package/dist/src/memory/memory-bridge.d.ts +407 -0
- package/dist/src/memory/memory-bridge.d.ts.map +1 -0
- package/dist/src/memory/memory-bridge.js +1170 -1640
- package/dist/src/memory/memory-bridge.js.map +1 -1
- package/dist/src/memory/memory-initializer.d.ts +412 -0
- package/dist/src/memory/memory-initializer.d.ts.map +1 -0
- package/dist/src/memory/memory-initializer.js +1836 -1851
- package/dist/src/memory/memory-initializer.js.map +1 -1
- package/dist/src/memory/sona-optimizer.d.ts +227 -0
- package/dist/src/memory/sona-optimizer.d.ts.map +1 -0
- package/dist/src/memory/sona-optimizer.js +199 -329
- package/dist/src/memory/sona-optimizer.js.map +1 -1
- package/dist/src/output.d.ts +2 -2
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +242 -272
- package/dist/src/output.js.map +1 -1
- package/dist/src/parser.d.ts +51 -0
- package/dist/src/parser.d.ts.map +1 -0
- package/dist/src/parser.js +140 -187
- package/dist/src/parser.js.map +1 -1
- package/dist/src/plugins/manager.d.ts +133 -0
- package/dist/src/plugins/manager.d.ts.map +1 -0
- package/dist/src/plugins/manager.js +285 -521
- package/dist/src/plugins/manager.js.map +1 -1
- package/dist/src/plugins/store/discovery.d.ts +88 -0
- package/dist/src/plugins/store/discovery.d.ts.map +1 -0
- package/dist/src/plugins/store/discovery.js +271 -358
- package/dist/src/plugins/store/discovery.js.map +1 -1
- package/dist/src/plugins/store/index.d.ts +76 -0
- package/dist/src/plugins/store/index.d.ts.map +1 -0
- package/dist/src/plugins/store/index.js +48 -105
- package/dist/src/plugins/store/index.js.map +1 -1
- package/dist/src/plugins/store/search.d.ts +46 -0
- package/dist/src/plugins/store/search.d.ts.map +1 -0
- package/dist/src/plugins/store/search.js +69 -107
- package/dist/src/plugins/store/search.js.map +1 -1
- package/dist/src/plugins/store/types.d.ts +274 -0
- package/dist/src/plugins/store/types.d.ts.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.js +113 -160
- package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -1
- package/dist/src/plugins/tests/standalone-test.js +172 -223
- package/dist/src/plugins/tests/standalone-test.js.map +1 -1
- package/dist/src/plugins/tests/test-plugin-store.js +190 -228
- package/dist/src/plugins/tests/test-plugin-store.js.map +1 -1
- package/dist/src/production/circuit-breaker.d.ts +101 -0
- package/dist/src/production/circuit-breaker.d.ts.map +1 -0
- package/dist/src/production/circuit-breaker.js +62 -126
- package/dist/src/production/circuit-breaker.js.map +1 -1
- package/dist/src/production/error-handler.d.ts +92 -0
- package/dist/src/production/error-handler.d.ts.map +1 -0
- package/dist/src/production/error-handler.js +86 -156
- package/dist/src/production/error-handler.js.map +1 -1
- package/dist/src/production/monitoring.d.ts +161 -0
- package/dist/src/production/monitoring.d.ts.map +1 -0
- package/dist/src/production/monitoring.js +139 -220
- package/dist/src/production/monitoring.js.map +1 -1
- package/dist/src/production/rate-limiter.d.ts +80 -0
- package/dist/src/production/rate-limiter.d.ts.map +1 -0
- package/dist/src/production/rate-limiter.js +74 -93
- package/dist/src/production/rate-limiter.js.map +1 -1
- package/dist/src/production/retry.d.ts +48 -0
- package/dist/src/production/retry.d.ts.map +1 -0
- package/dist/src/production/retry.js +75 -167
- package/dist/src/production/retry.js.map +1 -1
- package/dist/src/prompt.d.ts +44 -0
- package/dist/src/prompt.d.ts.map +1 -0
- package/dist/src/prompt.js +436 -560
- package/dist/src/prompt.js.map +1 -1
- package/dist/src/runtime/headless.d.ts +60 -0
- package/dist/src/runtime/headless.d.ts.map +1 -0
- package/dist/src/runtime/headless.js +197 -286
- package/dist/src/runtime/headless.js.map +1 -1
- package/dist/src/ruvector/agent-wasm.d.ts +182 -0
- package/dist/src/ruvector/agent-wasm.d.ts.map +1 -0
- package/dist/src/ruvector/agent-wasm.js +156 -351
- package/dist/src/ruvector/agent-wasm.js.map +1 -1
- package/dist/src/ruvector/ast-analyzer.d.ts +67 -0
- package/dist/src/ruvector/ast-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/ast-analyzer.js +145 -232
- package/dist/src/ruvector/ast-analyzer.js.map +1 -1
- package/dist/src/ruvector/coverage-router.d.ts +160 -0
- package/dist/src/ruvector/coverage-router.d.ts.map +1 -0
- package/dist/src/ruvector/coverage-router.js +287 -419
- package/dist/src/ruvector/coverage-router.js.map +1 -1
- package/dist/src/ruvector/coverage-tools.js +56 -101
- package/dist/src/ruvector/coverage-tools.js.map +1 -1
- package/dist/src/ruvector/diff-classifier.d.ts +175 -0
- package/dist/src/ruvector/diff-classifier.d.ts.map +1 -0
- package/dist/src/ruvector/diff-classifier.js +324 -451
- package/dist/src/ruvector/diff-classifier.js.map +1 -1
- package/dist/src/ruvector/enhanced-model-router.d.ts +146 -0
- package/dist/src/ruvector/enhanced-model-router.d.ts.map +1 -0
- package/dist/src/ruvector/enhanced-model-router.js +260 -336
- package/dist/src/ruvector/enhanced-model-router.js.map +1 -1
- package/dist/src/ruvector/flash-attention.d.ts +195 -0
- package/dist/src/ruvector/flash-attention.d.ts.map +1 -0
- package/dist/src/ruvector/flash-attention.js +223 -254
- package/dist/src/ruvector/flash-attention.js.map +1 -1
- package/dist/src/ruvector/graph-analyzer.d.ts +187 -0
- package/dist/src/ruvector/graph-analyzer.d.ts.map +1 -0
- package/dist/src/ruvector/graph-analyzer.js +486 -680
- package/dist/src/ruvector/graph-analyzer.js.map +1 -1
- package/dist/src/ruvector/index.d.ts +40 -0
- package/dist/src/ruvector/index.d.ts.map +1 -0
- package/dist/src/ruvector/index.js +36 -106
- package/dist/src/ruvector/index.js.map +1 -1
- package/dist/src/ruvector/lora-adapter.d.ts +218 -0
- package/dist/src/ruvector/lora-adapter.d.ts.map +1 -0
- package/dist/src/ruvector/lora-adapter.js +155 -248
- package/dist/src/ruvector/lora-adapter.js.map +1 -1
- package/dist/src/ruvector/model-router.d.ts +220 -0
- package/dist/src/ruvector/model-router.d.ts.map +1 -0
- package/dist/src/ruvector/model-router.js +175 -248
- package/dist/src/ruvector/model-router.js.map +1 -1
- package/dist/src/ruvector/moe-router.d.ts +206 -0
- package/dist/src/ruvector/moe-router.d.ts.map +1 -0
- package/dist/src/ruvector/moe-router.js +228 -286
- package/dist/src/ruvector/moe-router.js.map +1 -1
- package/dist/src/ruvector/q-learning-router.d.ts +211 -0
- package/dist/src/ruvector/q-learning-router.d.ts.map +1 -0
- package/dist/src/ruvector/q-learning-router.js +257 -338
- package/dist/src/ruvector/q-learning-router.js.map +1 -1
- package/dist/src/ruvector/ruvllm-wasm.d.ts +179 -0
- package/dist/src/ruvector/ruvllm-wasm.d.ts.map +1 -0
- package/dist/src/ruvector/ruvllm-wasm.js +270 -434
- package/dist/src/ruvector/ruvllm-wasm.js.map +1 -1
- package/dist/src/ruvector/semantic-router.d.ts +77 -0
- package/dist/src/ruvector/semantic-router.d.ts.map +1 -0
- package/dist/src/ruvector/semantic-router.js +60 -67
- package/dist/src/ruvector/semantic-router.js.map +1 -1
- package/dist/src/ruvector/vector-db.d.ts +69 -0
- package/dist/src/ruvector/vector-db.d.ts.map +1 -0
- package/dist/src/ruvector/vector-db.js +119 -205
- package/dist/src/ruvector/vector-db.js.map +1 -1
- package/dist/src/services/agentic-flow-bridge.d.ts +50 -0
- package/dist/src/services/agentic-flow-bridge.d.ts.map +1 -0
- package/dist/src/services/agentic-flow-bridge.js +32 -105
- package/dist/src/services/agentic-flow-bridge.js.map +1 -1
- package/dist/src/services/claim-service.d.ts +204 -0
- package/dist/src/services/claim-service.d.ts.map +1 -0
- package/dist/src/services/claim-service.js +615 -940
- package/dist/src/services/claim-service.js.map +1 -1
- package/dist/src/services/container-worker-pool.d.ts +197 -0
- package/dist/src/services/container-worker-pool.d.ts.map +1 -0
- package/dist/src/services/container-worker-pool.js +398 -666
- package/dist/src/services/container-worker-pool.js.map +1 -1
- package/dist/src/services/headless-worker-executor.d.ts +304 -0
- package/dist/src/services/headless-worker-executor.d.ts.map +1 -0
- package/dist/src/services/headless-worker-executor.js +441 -467
- package/dist/src/services/headless-worker-executor.js.map +1 -1
- package/dist/src/services/index.d.ts +4 -4
- package/dist/src/services/index.d.ts.map +1 -1
- package/dist/src/services/index.js +4 -4
- package/dist/src/services/index.js.map +1 -1
- package/dist/src/services/registry-api.d.ts +58 -0
- package/dist/src/services/registry-api.d.ts.map +1 -0
- package/dist/src/services/registry-api.js +92 -200
- package/dist/src/services/registry-api.js.map +1 -1
- package/dist/src/services/ruvector-training.d.ts +222 -0
- package/dist/src/services/ruvector-training.d.ts.map +1 -0
- package/dist/src/services/ruvector-training.js +257 -337
- package/dist/src/services/ruvector-training.js.map +1 -1
- package/dist/src/services/worker-daemon.d.ts +228 -0
- package/dist/src/services/worker-daemon.d.ts.map +1 -0
- package/dist/src/services/worker-daemon.js +591 -849
- package/dist/src/services/worker-daemon.js.map +1 -1
- package/dist/src/services/worker-queue.d.ts +194 -0
- package/dist/src/services/worker-queue.d.ts.map +1 -0
- package/dist/src/services/worker-queue.js +331 -548
- package/dist/src/services/worker-queue.js.map +1 -1
- package/dist/src/suggest.d.ts +53 -0
- package/dist/src/suggest.d.ts.map +1 -0
- package/dist/src/suggest.js +45 -55
- package/dist/src/suggest.js.map +1 -1
- package/dist/src/transfer/anonymization/index.js +29 -37
- package/dist/src/transfer/anonymization/index.js.map +1 -1
- package/dist/src/transfer/deploy-seraphine.js +128 -155
- package/dist/src/transfer/deploy-seraphine.js.map +1 -1
- package/dist/src/transfer/export.d.ts +25 -0
- package/dist/src/transfer/export.d.ts.map +1 -0
- package/dist/src/transfer/export.js +84 -142
- package/dist/src/transfer/export.js.map +1 -1
- package/dist/src/transfer/index.d.ts +1 -1
- package/dist/src/transfer/index.d.ts.map +1 -1
- package/dist/src/transfer/index.js +0 -2
- package/dist/src/transfer/index.js.map +1 -1
- package/dist/src/transfer/ipfs/client.d.ts +109 -0
- package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/client.js +187 -337
- package/dist/src/transfer/ipfs/client.js.map +1 -1
- package/dist/src/transfer/ipfs/upload.d.ts +95 -0
- package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/upload.js +288 -434
- package/dist/src/transfer/ipfs/upload.js.map +1 -1
- package/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
- package/dist/src/transfer/models/seraphine.js +55 -55
- package/dist/src/transfer/models/seraphine.js.map +1 -1
- package/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
- package/dist/src/transfer/serialization/cfp.js +30 -31
- package/dist/src/transfer/serialization/cfp.js.map +1 -1
- package/dist/src/transfer/storage/gcs.d.ts +82 -0
- package/dist/src/transfer/storage/gcs.d.ts.map +1 -0
- package/dist/src/transfer/storage/gcs.js +165 -232
- package/dist/src/transfer/storage/gcs.js.map +1 -1
- package/dist/src/transfer/store/discovery.d.ts +84 -0
- package/dist/src/transfer/store/discovery.d.ts.map +1 -0
- package/dist/src/transfer/store/discovery.js +239 -349
- package/dist/src/transfer/store/discovery.js.map +1 -1
- package/dist/src/transfer/store/download.d.ts +70 -0
- package/dist/src/transfer/store/download.d.ts.map +1 -0
- package/dist/src/transfer/store/download.js +243 -365
- package/dist/src/transfer/store/download.js.map +1 -1
- package/dist/src/transfer/store/index.d.ts +84 -0
- package/dist/src/transfer/store/index.d.ts.map +1 -0
- package/dist/src/transfer/store/index.js +63 -130
- package/dist/src/transfer/store/index.js.map +1 -1
- package/dist/src/transfer/store/publish.d.ts +76 -0
- package/dist/src/transfer/store/publish.d.ts.map +1 -0
- package/dist/src/transfer/store/publish.js +184 -258
- package/dist/src/transfer/store/publish.js.map +1 -1
- package/dist/src/transfer/store/registry.js +50 -72
- package/dist/src/transfer/store/registry.js.map +1 -1
- package/dist/src/transfer/store/search.d.ts +54 -0
- package/dist/src/transfer/store/search.d.ts.map +1 -0
- package/dist/src/transfer/store/search.js +64 -96
- package/dist/src/transfer/store/search.js.map +1 -1
- package/dist/src/transfer/store/tests/standalone-test.js +174 -231
- package/dist/src/transfer/store/tests/standalone-test.js.map +1 -1
- package/dist/src/transfer/test-seraphine.js +95 -130
- package/dist/src/transfer/test-seraphine.js.map +1 -1
- package/dist/src/transfer/tests/test-store.js +194 -239
- package/dist/src/transfer/tests/test-store.js.map +1 -1
- package/dist/src/transfer/types.d.ts +245 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/types.d.ts +198 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +26 -55
- package/dist/src/types.js.map +1 -1
- package/dist/src/update/checker.d.ts +34 -0
- package/dist/src/update/checker.d.ts.map +1 -0
- package/dist/src/update/checker.js +106 -183
- package/dist/src/update/checker.js.map +1 -1
- package/dist/src/update/executor.d.ts +32 -0
- package/dist/src/update/executor.d.ts.map +1 -0
- package/dist/src/update/executor.js +135 -198
- package/dist/src/update/executor.js.map +1 -1
- package/dist/src/update/index.d.ts +33 -0
- package/dist/src/update/index.d.ts.map +1 -0
- package/dist/src/update/index.js +38 -85
- package/dist/src/update/index.js.map +1 -1
- package/dist/src/update/rate-limiter.d.ts +20 -0
- package/dist/src/update/rate-limiter.d.ts.map +1 -0
- package/dist/src/update/rate-limiter.js +19 -31
- package/dist/src/update/rate-limiter.js.map +1 -1
- package/dist/src/update/validator.d.ts +17 -0
- package/dist/src/update/validator.d.ts.map +1 -0
- package/dist/src/update/validator.js +38 -64
- package/dist/src/update/validator.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -20,59 +20,12 @@
|
|
|
20
20
|
*
|
|
21
21
|
* @module v3/cli/memory/ewc-consolidation
|
|
22
22
|
*/
|
|
23
|
-
var __assign = (this && this.__assign) || function () {
|
|
24
|
-
__assign = Object.assign || function(t) {
|
|
25
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
26
|
-
s = arguments[i];
|
|
27
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
28
|
-
t[p] = s[p];
|
|
29
|
-
}
|
|
30
|
-
return t;
|
|
31
|
-
};
|
|
32
|
-
return __assign.apply(this, arguments);
|
|
33
|
-
};
|
|
34
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
35
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
36
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
37
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
38
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
39
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
40
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
41
|
-
});
|
|
42
|
-
};
|
|
43
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
44
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
45
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
46
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
47
|
-
function step(op) {
|
|
48
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
49
|
-
while (_) try {
|
|
50
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
51
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
52
|
-
switch (op[0]) {
|
|
53
|
-
case 0: case 1: t = op; break;
|
|
54
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
55
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
56
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
57
|
-
default:
|
|
58
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
59
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
60
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
61
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
62
|
-
if (t[2]) _.ops.pop();
|
|
63
|
-
_.trys.pop(); continue;
|
|
64
|
-
}
|
|
65
|
-
op = body.call(thisArg, _);
|
|
66
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
67
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
23
|
import * as fs from 'fs';
|
|
71
24
|
import * as path from 'path';
|
|
72
25
|
// ============================================================================
|
|
73
26
|
// Default Configuration
|
|
74
27
|
// ============================================================================
|
|
75
|
-
|
|
28
|
+
const DEFAULT_EWC_CONFIG = {
|
|
76
29
|
lambda: 0.4,
|
|
77
30
|
maxPatterns: 1000,
|
|
78
31
|
fisherDecayRate: 0.01,
|
|
@@ -89,45 +42,34 @@ var DEFAULT_EWC_CONFIG = {
|
|
|
89
42
|
* Implements Elastic Weight Consolidation with online updates
|
|
90
43
|
* for preventing catastrophic forgetting in continual learning
|
|
91
44
|
*/
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
45
|
+
export class EWCConsolidator {
|
|
46
|
+
config;
|
|
47
|
+
patterns = new Map();
|
|
48
|
+
gradientHistory = [];
|
|
49
|
+
globalFisher = [];
|
|
50
|
+
consolidationHistory = [];
|
|
51
|
+
initialized = false;
|
|
52
|
+
constructor(config) {
|
|
53
|
+
this.config = { ...DEFAULT_EWC_CONFIG, ...config };
|
|
100
54
|
this.globalFisher = new Array(this.config.dimensions).fill(0);
|
|
101
55
|
}
|
|
102
56
|
/**
|
|
103
57
|
* Initialize the consolidator by loading persisted state
|
|
104
58
|
*/
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
this.initialized = true;
|
|
120
|
-
return [2 /*return*/, true];
|
|
121
|
-
case 3:
|
|
122
|
-
_a = _b.sent();
|
|
123
|
-
// Start fresh if no persisted state
|
|
124
|
-
this.initialized = true;
|
|
125
|
-
return [2 /*return*/, true];
|
|
126
|
-
case 4: return [2 /*return*/];
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
};
|
|
59
|
+
async initialize() {
|
|
60
|
+
if (this.initialized)
|
|
61
|
+
return true;
|
|
62
|
+
try {
|
|
63
|
+
await this.loadFromDisk();
|
|
64
|
+
this.initialized = true;
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
catch {
|
|
68
|
+
// Start fresh if no persisted state
|
|
69
|
+
this.initialized = true;
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
131
73
|
/**
|
|
132
74
|
* Compute Fisher Information Matrix from gradient history
|
|
133
75
|
* Uses diagonal approximation for efficiency: F_i = E[g_i^2]
|
|
@@ -135,11 +77,10 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
135
77
|
* @param patterns - Array of patterns with their gradients/embeddings
|
|
136
78
|
* @returns Fisher information diagonal
|
|
137
79
|
*/
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
for (
|
|
142
|
-
var pattern = patterns_1[_i];
|
|
80
|
+
computeFisherMatrix(patterns) {
|
|
81
|
+
const fisher = new Array(this.config.dimensions).fill(0);
|
|
82
|
+
let sampleCount = 0;
|
|
83
|
+
for (const pattern of patterns) {
|
|
143
84
|
if (!pattern.embedding || pattern.embedding.length === 0)
|
|
144
85
|
continue;
|
|
145
86
|
// Only use successful patterns for Fisher computation
|
|
@@ -149,27 +90,27 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
149
90
|
sampleCount++;
|
|
150
91
|
// Fisher diagonal is expectation of squared gradients
|
|
151
92
|
// For embeddings, we use the embedding values as proxy for gradients
|
|
152
|
-
|
|
153
|
-
for (
|
|
93
|
+
const len = Math.min(pattern.embedding.length, this.config.dimensions);
|
|
94
|
+
for (let i = 0; i < len; i++) {
|
|
154
95
|
// Accumulate squared values (gradient proxy)
|
|
155
96
|
fisher[i] += pattern.embedding[i] * pattern.embedding[i];
|
|
156
97
|
}
|
|
157
98
|
}
|
|
158
99
|
// Normalize by sample count
|
|
159
100
|
if (sampleCount > 0) {
|
|
160
|
-
for (
|
|
101
|
+
for (let i = 0; i < this.config.dimensions; i++) {
|
|
161
102
|
fisher[i] /= sampleCount;
|
|
162
103
|
}
|
|
163
104
|
}
|
|
164
105
|
// Update global Fisher with exponential moving average (EWC++)
|
|
165
106
|
if (this.config.onlineMode) {
|
|
166
|
-
|
|
167
|
-
for (
|
|
107
|
+
const decay = this.config.fisherDecayRate;
|
|
108
|
+
for (let i = 0; i < this.config.dimensions; i++) {
|
|
168
109
|
this.globalFisher[i] = (1 - decay) * this.globalFisher[i] + decay * fisher[i];
|
|
169
110
|
}
|
|
170
111
|
}
|
|
171
112
|
return fisher;
|
|
172
|
-
}
|
|
113
|
+
}
|
|
173
114
|
/**
|
|
174
115
|
* Consolidate new patterns with old patterns without forgetting
|
|
175
116
|
* Applies EWC penalty to preserve important weights
|
|
@@ -178,9 +119,9 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
178
119
|
* @param oldPatterns - Existing patterns to preserve
|
|
179
120
|
* @returns Consolidated patterns with modified weights
|
|
180
121
|
*/
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
122
|
+
consolidate(newPatterns, oldPatterns) {
|
|
123
|
+
const startTime = performance.now();
|
|
124
|
+
const result = {
|
|
184
125
|
success: false,
|
|
185
126
|
patternsConsolidated: 0,
|
|
186
127
|
totalPenalty: 0,
|
|
@@ -190,33 +131,32 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
190
131
|
};
|
|
191
132
|
try {
|
|
192
133
|
// Use stored patterns if no old patterns provided
|
|
193
|
-
|
|
134
|
+
const existingPatterns = oldPatterns || Array.from(this.patterns.values());
|
|
194
135
|
// Compute Fisher from successful existing patterns
|
|
195
|
-
|
|
196
|
-
.filter(
|
|
197
|
-
.map(
|
|
136
|
+
const fisherInput = existingPatterns
|
|
137
|
+
.filter(p => p.successCount > p.failureCount)
|
|
138
|
+
.map(p => ({
|
|
198
139
|
id: p.id,
|
|
199
140
|
embedding: p.weights,
|
|
200
141
|
success: true
|
|
201
|
-
})
|
|
202
|
-
|
|
142
|
+
}));
|
|
143
|
+
const fisher = this.computeFisherMatrix(fisherInput);
|
|
203
144
|
// Process each new pattern
|
|
204
|
-
for (
|
|
205
|
-
var newPattern = newPatterns_1[_i];
|
|
145
|
+
for (const newPattern of newPatterns) {
|
|
206
146
|
if (!newPattern.embedding || newPattern.embedding.length === 0)
|
|
207
147
|
continue;
|
|
208
|
-
|
|
148
|
+
const existingPattern = this.patterns.get(newPattern.id);
|
|
209
149
|
if (existingPattern) {
|
|
210
150
|
// Calculate EWC penalty for updating existing pattern
|
|
211
|
-
|
|
151
|
+
const penalty = this.getPenalty(existingPattern.weights, newPattern.embedding, fisher);
|
|
212
152
|
// Determine if update is allowed based on penalty
|
|
213
|
-
|
|
153
|
+
const importanceScore = this.calculateImportance(existingPattern);
|
|
214
154
|
if (importanceScore > this.config.importanceThreshold && penalty > this.config.lambda) {
|
|
215
155
|
// Protect high-importance patterns with high penalty
|
|
216
156
|
result.protectedPatterns.push(newPattern.id);
|
|
217
157
|
// Apply constrained update: blend old and new based on importance
|
|
218
|
-
|
|
219
|
-
|
|
158
|
+
const blendFactor = 1 - importanceScore;
|
|
159
|
+
const blendedWeights = this.blendWeights(existingPattern.weights, newPattern.embedding, blendFactor, fisher);
|
|
220
160
|
existingPattern.weights = blendedWeights;
|
|
221
161
|
existingPattern.lastUpdated = Date.now();
|
|
222
162
|
result.modifiedPatterns.push(newPattern.id);
|
|
@@ -233,7 +173,7 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
233
173
|
}
|
|
234
174
|
else {
|
|
235
175
|
// New pattern: add directly
|
|
236
|
-
|
|
176
|
+
const weights = {
|
|
237
177
|
id: newPattern.id,
|
|
238
178
|
weights: newPattern.embedding.slice(0, this.config.dimensions),
|
|
239
179
|
fisherDiagonal: fisher,
|
|
@@ -270,7 +210,7 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
270
210
|
result.duration = performance.now() - startTime;
|
|
271
211
|
return result;
|
|
272
212
|
}
|
|
273
|
-
}
|
|
213
|
+
}
|
|
274
214
|
/**
|
|
275
215
|
* Calculate EWC regularization penalty
|
|
276
216
|
*
|
|
@@ -281,48 +221,47 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
281
221
|
* @param fisher - Fisher information diagonal (optional, uses global if not provided)
|
|
282
222
|
* @returns Regularization penalty value
|
|
283
223
|
*/
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
for (
|
|
289
|
-
|
|
224
|
+
getPenalty(oldWeights, newWeights, fisher) {
|
|
225
|
+
const fisherDiag = fisher || this.globalFisher;
|
|
226
|
+
const len = Math.min(oldWeights.length, newWeights.length, fisherDiag.length);
|
|
227
|
+
let penalty = 0;
|
|
228
|
+
for (let i = 0; i < len; i++) {
|
|
229
|
+
const diff = newWeights[i] - oldWeights[i];
|
|
290
230
|
penalty += fisherDiag[i] * diff * diff;
|
|
291
231
|
}
|
|
292
232
|
return (this.config.lambda / 2) * penalty;
|
|
293
|
-
}
|
|
233
|
+
}
|
|
294
234
|
/**
|
|
295
235
|
* Get consolidation statistics
|
|
296
236
|
*/
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
for (
|
|
237
|
+
getConsolidationStats() {
|
|
238
|
+
let totalFisher = 0;
|
|
239
|
+
let maxFisher = 0;
|
|
240
|
+
let highImportance = 0;
|
|
241
|
+
for (let i = 0; i < this.globalFisher.length; i++) {
|
|
302
242
|
totalFisher += this.globalFisher[i];
|
|
303
243
|
if (this.globalFisher[i] > maxFisher) {
|
|
304
244
|
maxFisher = this.globalFisher[i];
|
|
305
245
|
}
|
|
306
246
|
}
|
|
307
|
-
for (
|
|
308
|
-
var pattern = _a[_i];
|
|
247
|
+
for (const pattern of this.patterns.values()) {
|
|
309
248
|
if (this.calculateImportance(pattern) > this.config.importanceThreshold) {
|
|
310
249
|
highImportance++;
|
|
311
250
|
}
|
|
312
251
|
}
|
|
313
|
-
|
|
314
|
-
|
|
252
|
+
const totalPenalty = this.consolidationHistory.reduce((sum, h) => sum + h.penalty, 0);
|
|
253
|
+
const avgPenalty = this.consolidationHistory.length > 0
|
|
315
254
|
? totalPenalty / this.consolidationHistory.length
|
|
316
255
|
: 0;
|
|
317
256
|
// Estimate storage size
|
|
318
|
-
|
|
257
|
+
let storageSizeBytes = 0;
|
|
319
258
|
try {
|
|
320
259
|
if (fs.existsSync(this.config.storagePath)) {
|
|
321
|
-
|
|
260
|
+
const stats = fs.statSync(this.config.storagePath);
|
|
322
261
|
storageSizeBytes = stats.size;
|
|
323
262
|
}
|
|
324
263
|
}
|
|
325
|
-
catch
|
|
264
|
+
catch {
|
|
326
265
|
// Ignore stat errors
|
|
327
266
|
}
|
|
328
267
|
return {
|
|
@@ -334,27 +273,27 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
334
273
|
lastConsolidation: this.consolidationHistory.length > 0
|
|
335
274
|
? this.consolidationHistory[this.consolidationHistory.length - 1].timestamp
|
|
336
275
|
: null,
|
|
337
|
-
avgPenalty
|
|
338
|
-
storageSizeBytes
|
|
276
|
+
avgPenalty,
|
|
277
|
+
storageSizeBytes
|
|
339
278
|
};
|
|
340
|
-
}
|
|
279
|
+
}
|
|
341
280
|
/**
|
|
342
281
|
* Record a gradient sample for Fisher computation
|
|
343
282
|
*/
|
|
344
|
-
|
|
283
|
+
recordGradient(patternId, gradients, success) {
|
|
345
284
|
this.gradientHistory.push({
|
|
346
|
-
patternId
|
|
347
|
-
gradients
|
|
285
|
+
patternId,
|
|
286
|
+
gradients,
|
|
348
287
|
timestamp: Date.now(),
|
|
349
|
-
success
|
|
288
|
+
success
|
|
350
289
|
});
|
|
351
290
|
// Keep only recent gradients
|
|
352
|
-
|
|
291
|
+
const maxGradients = this.config.maxPatterns * 2;
|
|
353
292
|
if (this.gradientHistory.length > maxGradients) {
|
|
354
293
|
this.gradientHistory = this.gradientHistory.slice(-maxGradients);
|
|
355
294
|
}
|
|
356
295
|
// Update pattern success/failure counts
|
|
357
|
-
|
|
296
|
+
const pattern = this.patterns.get(patternId);
|
|
358
297
|
if (pattern) {
|
|
359
298
|
if (success) {
|
|
360
299
|
pattern.successCount++;
|
|
@@ -366,43 +305,43 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
366
305
|
}
|
|
367
306
|
// Online Fisher update from this gradient
|
|
368
307
|
if (this.config.onlineMode && success) {
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
for (
|
|
308
|
+
const decay = this.config.fisherDecayRate;
|
|
309
|
+
const len = Math.min(gradients.length, this.config.dimensions);
|
|
310
|
+
for (let i = 0; i < len; i++) {
|
|
372
311
|
this.globalFisher[i] = (1 - decay) * this.globalFisher[i] + decay * gradients[i] * gradients[i];
|
|
373
312
|
}
|
|
374
313
|
}
|
|
375
|
-
}
|
|
314
|
+
}
|
|
376
315
|
/**
|
|
377
316
|
* Get pattern weights by ID
|
|
378
317
|
*/
|
|
379
|
-
|
|
318
|
+
getPatternWeights(id) {
|
|
380
319
|
return this.patterns.get(id);
|
|
381
|
-
}
|
|
320
|
+
}
|
|
382
321
|
/**
|
|
383
322
|
* Get all stored patterns
|
|
384
323
|
*/
|
|
385
|
-
|
|
324
|
+
getAllPatterns() {
|
|
386
325
|
return Array.from(this.patterns.values());
|
|
387
|
-
}
|
|
326
|
+
}
|
|
388
327
|
/**
|
|
389
328
|
* Update EWC lambda (regularization strength)
|
|
390
329
|
*/
|
|
391
|
-
|
|
330
|
+
setLambda(lambda) {
|
|
392
331
|
this.config.lambda = lambda;
|
|
393
|
-
}
|
|
332
|
+
}
|
|
394
333
|
/**
|
|
395
334
|
* Get current lambda value
|
|
396
335
|
*/
|
|
397
|
-
|
|
336
|
+
getLambda() {
|
|
398
337
|
return this.config.lambda;
|
|
399
|
-
}
|
|
338
|
+
}
|
|
400
339
|
/**
|
|
401
340
|
* Reset Fisher matrix (use with caution - allows forgetting)
|
|
402
341
|
*/
|
|
403
|
-
|
|
342
|
+
resetFisher() {
|
|
404
343
|
this.globalFisher = new Array(this.config.dimensions).fill(0);
|
|
405
|
-
}
|
|
344
|
+
}
|
|
406
345
|
/**
|
|
407
346
|
* Update Fisher matrix from pattern confidence changes.
|
|
408
347
|
* Called by SONA after distillLearning to track which patterns
|
|
@@ -412,38 +351,37 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
412
351
|
*
|
|
413
352
|
* @param confidenceChanges - Array of {id, embedding, oldConf, newConf}
|
|
414
353
|
*/
|
|
415
|
-
|
|
354
|
+
updateFisherFromConfidences(confidenceChanges) {
|
|
416
355
|
if (confidenceChanges.length === 0)
|
|
417
356
|
return;
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
for (
|
|
422
|
-
var change = confidenceChanges_1[_i];
|
|
357
|
+
const alpha = this.config.fisherDecayRate;
|
|
358
|
+
const currentFisher = new Array(this.config.dimensions).fill(0);
|
|
359
|
+
let sampleCount = 0;
|
|
360
|
+
for (const change of confidenceChanges) {
|
|
423
361
|
if (!change.embedding || change.embedding.length === 0)
|
|
424
362
|
continue;
|
|
425
|
-
|
|
363
|
+
const confDelta = Math.abs(change.newConf - change.oldConf);
|
|
426
364
|
if (confDelta === 0)
|
|
427
365
|
continue;
|
|
428
366
|
sampleCount++;
|
|
429
|
-
|
|
367
|
+
const len = Math.min(change.embedding.length, this.config.dimensions);
|
|
430
368
|
// Squared gradient proxy: embedding scaled by confidence change magnitude
|
|
431
|
-
for (
|
|
432
|
-
|
|
369
|
+
for (let i = 0; i < len; i++) {
|
|
370
|
+
const grad = change.embedding[i] * confDelta;
|
|
433
371
|
currentFisher[i] += grad * grad;
|
|
434
372
|
}
|
|
435
373
|
}
|
|
436
374
|
if (sampleCount > 0) {
|
|
437
|
-
for (
|
|
375
|
+
for (let i = 0; i < this.config.dimensions; i++) {
|
|
438
376
|
currentFisher[i] /= sampleCount;
|
|
439
377
|
}
|
|
440
378
|
}
|
|
441
379
|
// Online EMA: F_new = alpha * F_old + (1-alpha) * F_current
|
|
442
|
-
for (
|
|
380
|
+
for (let i = 0; i < this.config.dimensions; i++) {
|
|
443
381
|
this.globalFisher[i] = alpha * this.globalFisher[i] + (1 - alpha) * currentFisher[i];
|
|
444
382
|
}
|
|
445
383
|
this.saveToDisk();
|
|
446
|
-
}
|
|
384
|
+
}
|
|
447
385
|
/**
|
|
448
386
|
* Compute consolidation penalty for a proposed confidence update.
|
|
449
387
|
* Used by SONA to check whether a pattern update would cause forgetting.
|
|
@@ -452,21 +390,21 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
452
390
|
* @param newConfidence - Proposed new confidence value
|
|
453
391
|
* @returns Penalty value (higher = more forgetting risk)
|
|
454
392
|
*/
|
|
455
|
-
|
|
393
|
+
computeConfidencePenalty(oldConfidence, newConfidence) {
|
|
456
394
|
// Use the global Fisher to estimate penalty for scalar confidence change
|
|
457
395
|
// Average Fisher value represents overall importance
|
|
458
|
-
|
|
459
|
-
for (
|
|
396
|
+
let avgFisher = 0;
|
|
397
|
+
for (let i = 0; i < this.globalFisher.length; i++) {
|
|
460
398
|
avgFisher += this.globalFisher[i];
|
|
461
399
|
}
|
|
462
400
|
avgFisher = this.globalFisher.length > 0 ? avgFisher / this.globalFisher.length : 0;
|
|
463
|
-
|
|
401
|
+
const diff = newConfidence - oldConfidence;
|
|
464
402
|
return (this.config.lambda / 2) * avgFisher * diff * diff;
|
|
465
|
-
}
|
|
403
|
+
}
|
|
466
404
|
/**
|
|
467
405
|
* Clear all patterns and history (full reset)
|
|
468
406
|
*/
|
|
469
|
-
|
|
407
|
+
clear() {
|
|
470
408
|
this.patterns.clear();
|
|
471
409
|
this.gradientHistory = [];
|
|
472
410
|
this.globalFisher = new Array(this.config.dimensions).fill(0);
|
|
@@ -477,79 +415,75 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
477
415
|
fs.unlinkSync(this.config.storagePath);
|
|
478
416
|
}
|
|
479
417
|
}
|
|
480
|
-
catch
|
|
418
|
+
catch {
|
|
481
419
|
// Ignore deletion errors
|
|
482
420
|
}
|
|
483
|
-
}
|
|
421
|
+
}
|
|
484
422
|
// ============================================================================
|
|
485
423
|
// Private Methods
|
|
486
424
|
// ============================================================================
|
|
487
425
|
/**
|
|
488
426
|
* Calculate importance score for a pattern based on usage
|
|
489
427
|
*/
|
|
490
|
-
|
|
491
|
-
|
|
428
|
+
calculateImportance(pattern) {
|
|
429
|
+
const total = pattern.successCount + pattern.failureCount;
|
|
492
430
|
if (total === 0)
|
|
493
431
|
return 0.5;
|
|
494
432
|
// Success rate with Laplace smoothing
|
|
495
|
-
|
|
433
|
+
const successRate = (pattern.successCount + 1) / (total + 2);
|
|
496
434
|
// Recency factor: recent patterns are more important
|
|
497
|
-
|
|
498
|
-
|
|
435
|
+
const hoursSinceUpdate = (Date.now() - pattern.lastUpdated) / (1000 * 60 * 60);
|
|
436
|
+
const recencyFactor = Math.exp(-hoursSinceUpdate / 168); // 1 week half-life
|
|
499
437
|
// Combine factors
|
|
500
438
|
return successRate * 0.7 + recencyFactor * 0.3;
|
|
501
|
-
}
|
|
439
|
+
}
|
|
502
440
|
/**
|
|
503
441
|
* Blend old and new weights using Fisher-weighted interpolation
|
|
504
442
|
*/
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
443
|
+
blendWeights(oldWeights, newWeights, blendFactor, fisher) {
|
|
444
|
+
const len = Math.min(oldWeights.length, newWeights.length, this.config.dimensions);
|
|
445
|
+
const result = new Array(len);
|
|
508
446
|
// Normalize Fisher for per-weight blend factors
|
|
509
|
-
|
|
510
|
-
for (
|
|
447
|
+
let maxF = 0;
|
|
448
|
+
for (let i = 0; i < len; i++) {
|
|
511
449
|
if (fisher[i] > maxF)
|
|
512
450
|
maxF = fisher[i];
|
|
513
451
|
}
|
|
514
|
-
|
|
515
|
-
for (
|
|
452
|
+
const normFactor = maxF > 0 ? 1 / maxF : 1;
|
|
453
|
+
for (let i = 0; i < len; i++) {
|
|
516
454
|
// Higher Fisher = more weight on old value
|
|
517
|
-
|
|
518
|
-
|
|
455
|
+
const fisherWeight = fisher[i] * normFactor;
|
|
456
|
+
const adjustedBlend = blendFactor * (1 - fisherWeight * 0.5);
|
|
519
457
|
result[i] = oldWeights[i] * (1 - adjustedBlend) + newWeights[i] * adjustedBlend;
|
|
520
458
|
}
|
|
521
459
|
return result;
|
|
522
|
-
}
|
|
460
|
+
}
|
|
523
461
|
/**
|
|
524
462
|
* Prune old, low-importance patterns to stay within limit
|
|
525
463
|
*/
|
|
526
|
-
|
|
527
|
-
var _this = this;
|
|
464
|
+
pruneOldPatterns() {
|
|
528
465
|
if (this.patterns.size <= this.config.maxPatterns)
|
|
529
466
|
return;
|
|
530
467
|
// Sort by importance (ascending)
|
|
531
|
-
|
|
532
|
-
.map(
|
|
533
|
-
|
|
534
|
-
return ({ id: id, importance: _this.calculateImportance(pattern) });
|
|
535
|
-
})
|
|
536
|
-
.sort(function (a, b) { return a.importance - b.importance; });
|
|
468
|
+
const sortedPatterns = Array.from(this.patterns.entries())
|
|
469
|
+
.map(([id, pattern]) => ({ id, importance: this.calculateImportance(pattern) }))
|
|
470
|
+
.sort((a, b) => a.importance - b.importance);
|
|
537
471
|
// Remove lowest importance patterns
|
|
538
|
-
|
|
539
|
-
for (
|
|
540
|
-
this.patterns
|
|
472
|
+
const toRemove = this.patterns.size - this.config.maxPatterns;
|
|
473
|
+
for (let i = 0; i < toRemove; i++) {
|
|
474
|
+
this.patterns.delete(sortedPatterns[i].id);
|
|
541
475
|
}
|
|
542
|
-
}
|
|
476
|
+
}
|
|
543
477
|
/**
|
|
544
478
|
* Save state to disk
|
|
545
479
|
*/
|
|
546
|
-
|
|
480
|
+
saveToDisk() {
|
|
547
481
|
try {
|
|
548
|
-
|
|
482
|
+
const dir = path.dirname(this.config.storagePath);
|
|
549
483
|
if (!fs.existsSync(dir)) {
|
|
550
484
|
fs.mkdirSync(dir, { recursive: true });
|
|
551
485
|
}
|
|
552
|
-
|
|
486
|
+
const state = {
|
|
553
487
|
version: '1.0.0',
|
|
554
488
|
config: {
|
|
555
489
|
lambda: this.config.lambda,
|
|
@@ -563,75 +497,56 @@ var EWCConsolidator = /** @class */ (function () {
|
|
|
563
497
|
};
|
|
564
498
|
fs.writeFileSync(this.config.storagePath, JSON.stringify(state, null, 2));
|
|
565
499
|
}
|
|
566
|
-
catch
|
|
500
|
+
catch {
|
|
567
501
|
// Silently fail - persistence is best-effort
|
|
568
502
|
}
|
|
569
|
-
}
|
|
503
|
+
}
|
|
570
504
|
/**
|
|
571
505
|
* Load state from disk
|
|
572
506
|
*/
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
if (state.config) {
|
|
601
|
-
this.config.lambda = (_a = state.config.lambda) !== null && _a !== void 0 ? _a : this.config.lambda;
|
|
602
|
-
}
|
|
603
|
-
return [2 /*return*/];
|
|
604
|
-
});
|
|
605
|
-
});
|
|
606
|
-
};
|
|
607
|
-
return EWCConsolidator;
|
|
608
|
-
}());
|
|
609
|
-
export { EWCConsolidator };
|
|
507
|
+
async loadFromDisk() {
|
|
508
|
+
if (!fs.existsSync(this.config.storagePath)) {
|
|
509
|
+
throw new Error('No persisted state found');
|
|
510
|
+
}
|
|
511
|
+
const content = fs.readFileSync(this.config.storagePath, 'utf-8');
|
|
512
|
+
const state = JSON.parse(content);
|
|
513
|
+
// Validate version
|
|
514
|
+
if (state.version !== '1.0.0') {
|
|
515
|
+
throw new Error(`Unsupported state version: ${state.version}`);
|
|
516
|
+
}
|
|
517
|
+
// Restore state
|
|
518
|
+
this.globalFisher = state.globalFisher || new Array(this.config.dimensions).fill(0);
|
|
519
|
+
// Restore patterns
|
|
520
|
+
this.patterns.clear();
|
|
521
|
+
if (state.patterns) {
|
|
522
|
+
for (const [id, pattern] of state.patterns) {
|
|
523
|
+
this.patterns.set(id, pattern);
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
// Restore history
|
|
527
|
+
this.consolidationHistory = state.consolidationHistory || [];
|
|
528
|
+
// Update config from persisted values
|
|
529
|
+
if (state.config) {
|
|
530
|
+
this.config.lambda = state.config.lambda ?? this.config.lambda;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
}
|
|
610
534
|
// ============================================================================
|
|
611
535
|
// Singleton Instance
|
|
612
536
|
// ============================================================================
|
|
613
|
-
|
|
537
|
+
let ewcConsolidatorInstance = null;
|
|
614
538
|
/**
|
|
615
539
|
* Get the singleton EWC Consolidator instance
|
|
616
540
|
*
|
|
617
541
|
* @param config - Optional configuration overrides
|
|
618
542
|
* @returns EWC Consolidator instance
|
|
619
543
|
*/
|
|
620
|
-
export function getEWCConsolidator(config) {
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
ewcConsolidatorInstance = new EWCConsolidator(config);
|
|
627
|
-
return [4 /*yield*/, ewcConsolidatorInstance.initialize()];
|
|
628
|
-
case 1:
|
|
629
|
-
_a.sent();
|
|
630
|
-
_a.label = 2;
|
|
631
|
-
case 2: return [2 /*return*/, ewcConsolidatorInstance];
|
|
632
|
-
}
|
|
633
|
-
});
|
|
634
|
-
});
|
|
544
|
+
export async function getEWCConsolidator(config) {
|
|
545
|
+
if (!ewcConsolidatorInstance) {
|
|
546
|
+
ewcConsolidatorInstance = new EWCConsolidator(config);
|
|
547
|
+
await ewcConsolidatorInstance.initialize();
|
|
548
|
+
}
|
|
549
|
+
return ewcConsolidatorInstance;
|
|
635
550
|
}
|
|
636
551
|
/**
|
|
637
552
|
* Reset the singleton instance (for testing)
|
|
@@ -652,18 +567,9 @@ export function resetEWCConsolidator() {
|
|
|
652
567
|
* @param newPatterns - New patterns to add
|
|
653
568
|
* @returns Consolidation result
|
|
654
569
|
*/
|
|
655
|
-
export function consolidatePatterns(newPatterns) {
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
return __generator(this, function (_a) {
|
|
659
|
-
switch (_a.label) {
|
|
660
|
-
case 0: return [4 /*yield*/, getEWCConsolidator()];
|
|
661
|
-
case 1:
|
|
662
|
-
consolidator = _a.sent();
|
|
663
|
-
return [2 /*return*/, consolidator.consolidate(newPatterns)];
|
|
664
|
-
}
|
|
665
|
-
});
|
|
666
|
-
});
|
|
570
|
+
export async function consolidatePatterns(newPatterns) {
|
|
571
|
+
const consolidator = await getEWCConsolidator();
|
|
572
|
+
return consolidator.consolidate(newPatterns);
|
|
667
573
|
}
|
|
668
574
|
/**
|
|
669
575
|
* Record pattern usage outcome
|
|
@@ -673,42 +579,23 @@ export function consolidatePatterns(newPatterns) {
|
|
|
673
579
|
* @param embedding - Pattern embedding (used as gradient proxy)
|
|
674
580
|
* @param success - Whether the pattern was successful
|
|
675
581
|
*/
|
|
676
|
-
export function recordPatternOutcome(patternId, embedding, success) {
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
return __generator(this, function (_a) {
|
|
680
|
-
switch (_a.label) {
|
|
681
|
-
case 0: return [4 /*yield*/, getEWCConsolidator()];
|
|
682
|
-
case 1:
|
|
683
|
-
consolidator = _a.sent();
|
|
684
|
-
consolidator.recordGradient(patternId, embedding, success);
|
|
685
|
-
return [2 /*return*/];
|
|
686
|
-
}
|
|
687
|
-
});
|
|
688
|
-
});
|
|
582
|
+
export async function recordPatternOutcome(patternId, embedding, success) {
|
|
583
|
+
const consolidator = await getEWCConsolidator();
|
|
584
|
+
consolidator.recordGradient(patternId, embedding, success);
|
|
689
585
|
}
|
|
690
586
|
/**
|
|
691
587
|
* Get EWC statistics
|
|
692
588
|
*/
|
|
693
|
-
export function getEWCStats() {
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
return __generator(this, function (_a) {
|
|
697
|
-
switch (_a.label) {
|
|
698
|
-
case 0: return [4 /*yield*/, getEWCConsolidator()];
|
|
699
|
-
case 1:
|
|
700
|
-
consolidator = _a.sent();
|
|
701
|
-
return [2 /*return*/, consolidator.getConsolidationStats()];
|
|
702
|
-
}
|
|
703
|
-
});
|
|
704
|
-
});
|
|
589
|
+
export async function getEWCStats() {
|
|
590
|
+
const consolidator = await getEWCConsolidator();
|
|
591
|
+
return consolidator.getConsolidationStats();
|
|
705
592
|
}
|
|
706
593
|
export default {
|
|
707
|
-
EWCConsolidator
|
|
708
|
-
getEWCConsolidator
|
|
709
|
-
resetEWCConsolidator
|
|
710
|
-
consolidatePatterns
|
|
711
|
-
recordPatternOutcome
|
|
712
|
-
getEWCStats
|
|
594
|
+
EWCConsolidator,
|
|
595
|
+
getEWCConsolidator,
|
|
596
|
+
resetEWCConsolidator,
|
|
597
|
+
consolidatePatterns,
|
|
598
|
+
recordPatternOutcome,
|
|
599
|
+
getEWCStats
|
|
713
600
|
};
|
|
714
601
|
//# sourceMappingURL=ewc-consolidation.js.map
|