agentic-flow 2.0.3 → 2.0.4
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/.claude/agents/test-neural.md +14 -0
- package/.claude/settings.json +9 -133
- package/README.md +624 -1776
- package/dist/.tsbuildinfo +1 -1
- package/dist/billing/mcp/tools.js +0 -1
- package/dist/billing/mcp/tools.js.map +1 -1
- package/dist/cli/commands/hooks.d.ts.map +1 -1
- package/dist/cli/commands/hooks.js +4 -79
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli-proxy.js +1 -89
- package/dist/cli-proxy.js.map +1 -1
- package/dist/core/agentdb-fast.js +3 -3
- package/dist/core/agentdb-fast.js.map +1 -1
- package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
- package/dist/core/agentdb-wrapper-enhanced.js +4 -20
- package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
- package/dist/core/agentdb-wrapper.d.ts +2 -3
- package/dist/core/agentdb-wrapper.d.ts.map +1 -1
- package/dist/core/agentdb-wrapper.js +1 -15
- package/dist/core/agentdb-wrapper.js.map +1 -1
- package/dist/core/attention-native.d.ts +0 -4
- package/dist/core/attention-native.d.ts.map +1 -1
- package/dist/core/attention-native.js +2 -14
- package/dist/core/attention-native.js.map +1 -1
- package/dist/federation/SecurityManager.d.ts +2 -11
- package/dist/federation/SecurityManager.d.ts.map +1 -1
- package/dist/federation/SecurityManager.js +17 -50
- package/dist/federation/SecurityManager.js.map +1 -1
- package/dist/federation/integrations/supabase-adapter-debug.js +3 -3
- package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -1
- package/dist/hooks/swarm-learning-optimizer.js +5 -5
- package/dist/hooks/swarm-learning-optimizer.js.map +1 -1
- package/dist/intelligence/IntelligenceStore.d.ts +26 -35
- package/dist/intelligence/IntelligenceStore.d.ts.map +1 -1
- package/dist/intelligence/IntelligenceStore.js +123 -308
- package/dist/intelligence/IntelligenceStore.js.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.d.ts +1 -26
- package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
- package/dist/intelligence/RuVectorIntelligence.js +10 -49
- package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
- package/dist/intelligence/agent-booster-enhanced.d.ts +0 -1
- package/dist/intelligence/agent-booster-enhanced.d.ts.map +1 -1
- package/dist/intelligence/agent-booster-enhanced.js +3 -24
- package/dist/intelligence/agent-booster-enhanced.js.map +1 -1
- package/dist/intelligence/index.d.ts +3 -29
- package/dist/intelligence/index.d.ts.map +1 -1
- package/dist/intelligence/index.js +3 -13
- package/dist/intelligence/index.js.map +1 -1
- package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
- package/dist/mcp/claudeFlowSdkServer.js +3 -9
- package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
- package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js +5 -5
- package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/init.js +7 -36
- package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -1
- package/dist/mcp/fastmcp/tools/swarm/spawn.js +8 -47
- package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -1
- package/dist/mcp/tools/agent-booster-tools.d.ts +1 -1
- package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
- package/dist/mcp/tools/agent-booster-tools.js +4 -10
- package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
- package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
- package/dist/mcp/tools/sona-tools.js +0 -6
- package/dist/mcp/tools/sona-tools.js.map +1 -1
- package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
- package/dist/optimizations/agent-booster-migration.js +2 -5
- package/dist/optimizations/agent-booster-migration.js.map +1 -1
- package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
- package/dist/proxy/anthropic-to-requesty.js.map +1 -1
- package/dist/proxy/quic-proxy.d.ts +1 -0
- package/dist/proxy/quic-proxy.d.ts.map +1 -1
- package/dist/proxy/quic-proxy.js +2 -2
- package/dist/proxy/quic-proxy.js.map +1 -1
- package/dist/reasoningbank/AdvancedMemory.js +1 -1
- package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
- package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
- package/dist/reasoningbank/HybridBackend.js +5 -2
- package/dist/reasoningbank/HybridBackend.js.map +1 -1
- package/dist/reasoningbank/backend-selector.d.ts +1 -11
- package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
- package/dist/reasoningbank/backend-selector.js +5 -45
- package/dist/reasoningbank/backend-selector.js.map +1 -1
- package/dist/reasoningbank/core/consolidate.d.ts.map +1 -1
- package/dist/reasoningbank/core/consolidate.js +45 -113
- package/dist/reasoningbank/core/consolidate.js.map +1 -1
- package/dist/reasoningbank/index-new.d.ts +6 -1
- package/dist/reasoningbank/index-new.d.ts.map +1 -1
- package/dist/reasoningbank/index-new.js +6 -1
- package/dist/reasoningbank/index-new.js.map +1 -1
- package/dist/reasoningbank/index.d.ts +6 -2
- package/dist/reasoningbank/index.d.ts.map +1 -1
- package/dist/reasoningbank/index.js +6 -2
- package/dist/reasoningbank/index.js.map +1 -1
- package/dist/reasoningbank/utils/embeddings.d.ts +0 -1
- package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
- package/dist/reasoningbank/utils/embeddings.js +26 -53
- package/dist/reasoningbank/utils/embeddings.js.map +1 -1
- package/dist/router/index.d.ts +17 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +19 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/providers/onnx-local-optimized.d.ts +0 -2
- package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -1
- package/dist/router/providers/onnx-local-optimized.js +0 -10
- package/dist/router/providers/onnx-local-optimized.js.map +1 -1
- package/dist/router/providers/onnx-local.d.ts +0 -1
- package/dist/router/providers/onnx-local.d.ts.map +1 -1
- package/dist/router/providers/onnx-local.js +5 -22
- package/dist/router/providers/onnx-local.js.map +1 -1
- package/dist/services/embedding-service.js.map +1 -1
- package/dist/services/sona-agent-training.d.ts +0 -1
- package/dist/services/sona-agent-training.d.ts.map +1 -1
- package/dist/services/sona-agent-training.js.map +1 -1
- package/dist/services/sona-agentdb-integration.d.ts.map +1 -1
- package/dist/services/sona-agentdb-integration.js +6 -9
- package/dist/services/sona-agentdb-integration.js.map +1 -1
- package/dist/services/sona-service.d.ts.map +1 -1
- package/dist/services/sona-service.js +5 -6
- package/dist/services/sona-service.js.map +1 -1
- package/dist/utils/cli.d.ts +1 -1
- package/dist/utils/cli.d.ts.map +1 -1
- package/dist/utils/cli.js +0 -21
- package/dist/utils/cli.js.map +1 -1
- package/package.json +7 -19
- package/scripts/postinstall.js +4 -45
- package/.claude/agents/.claude-flow/metrics/agent-metrics.json +0 -1
- package/.claude/agents/.claude-flow/metrics/performance.json +0 -87
- package/.claude/agents/.claude-flow/metrics/task-metrics.json +0 -10
- package/.claude/skills/.claude-flow/metrics/agent-metrics.json +0 -1
- package/.claude/skills/.claude-flow/metrics/performance.json +0 -87
- package/.claude/skills/.claude-flow/metrics/task-metrics.json +0 -10
- package/.claude/skills/agentic-flow-quickstart/skill.md +0 -69
- package/.claude/skills/hooks-automation/skill.md +0 -155
- package/.claude/skills/memory-patterns/skill.md +0 -110
- package/.claude/skills/skill-builder/.claude-flow/metrics/agent-metrics.json +0 -1
- package/.claude/skills/skill-builder/.claude-flow/metrics/performance.json +0 -87
- package/.claude/skills/skill-builder/.claude-flow/metrics/task-metrics.json +0 -10
- package/.claude/skills/sparc-methodology/skill.md +0 -137
- package/.claude/skills/swarm-coordination/skill.md +0 -94
- package/.claude/skills/worker-benchmarks/skill.md +0 -135
- package/.claude/skills/worker-integration/skill.md +0 -154
- package/.claude/statusline.mjs +0 -109
- package/.claude/statusline.sh +0 -71
- package/dist/agentdb/benchmarks/comprehensive-benchmark.js +0 -664
- package/dist/agentdb/benchmarks/frontier-benchmark.js +0 -419
- package/dist/agentdb/benchmarks/reflexion-benchmark.js +0 -370
- package/dist/agentdb/cli/agentdb-cli.js +0 -717
- package/dist/agentdb/controllers/CausalMemoryGraph.js +0 -322
- package/dist/agentdb/controllers/CausalRecall.js +0 -281
- package/dist/agentdb/controllers/EmbeddingService.d.ts +0 -37
- package/dist/agentdb/controllers/EmbeddingService.d.ts.map +0 -1
- package/dist/agentdb/controllers/EmbeddingService.js +0 -119
- package/dist/agentdb/controllers/EmbeddingService.js.map +0 -1
- package/dist/agentdb/controllers/ExplainableRecall.js +0 -387
- package/dist/agentdb/controllers/NightlyLearner.js +0 -382
- package/dist/agentdb/controllers/ReflexionMemory.js +0 -239
- package/dist/agentdb/controllers/SkillLibrary.js +0 -276
- package/dist/agentdb/controllers/frontier-index.js +0 -9
- package/dist/agentdb/controllers/index.js +0 -8
- package/dist/agentdb/optimizations/BatchOperations.js +0 -198
- package/dist/agentdb/optimizations/QueryOptimizer.js +0 -225
- package/dist/agentdb/optimizations/index.js +0 -7
- package/dist/agentdb/tests/frontier-features.test.js +0 -665
- package/dist/benchmarks/embeddings-benchmark.d.ts +0 -38
- package/dist/benchmarks/embeddings-benchmark.d.ts.map +0 -1
- package/dist/benchmarks/embeddings-benchmark.js +0 -282
- package/dist/benchmarks/embeddings-benchmark.js.map +0 -1
- package/dist/cli/commands/embeddings.d.ts +0 -12
- package/dist/cli/commands/embeddings.d.ts.map +0 -1
- package/dist/cli/commands/embeddings.js +0 -386
- package/dist/cli/commands/embeddings.js.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -8
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/init.js +0 -514
- package/dist/cli/commands/init.js.map +0 -1
- package/dist/cli/commands/workers.d.ts +0 -9
- package/dist/cli/commands/workers.d.ts.map +0 -1
- package/dist/cli/commands/workers.js +0 -991
- package/dist/cli/commands/workers.js.map +0 -1
- package/dist/cli/skills-manager.js +0 -1297
- package/dist/cli/update-message.js +0 -175
- package/dist/embeddings/index.d.ts +0 -17
- package/dist/embeddings/index.d.ts.map +0 -1
- package/dist/embeddings/index.js +0 -17
- package/dist/embeddings/index.js.map +0 -1
- package/dist/embeddings/neural-substrate.d.ts +0 -206
- package/dist/embeddings/neural-substrate.d.ts.map +0 -1
- package/dist/embeddings/neural-substrate.js +0 -629
- package/dist/embeddings/neural-substrate.js.map +0 -1
- package/dist/embeddings/optimized-embedder.d.ts +0 -103
- package/dist/embeddings/optimized-embedder.d.ts.map +0 -1
- package/dist/embeddings/optimized-embedder.js +0 -730
- package/dist/embeddings/optimized-embedder.js.map +0 -1
- package/dist/examples/embedding-geometry.d.ts +0 -105
- package/dist/examples/embedding-geometry.d.ts.map +0 -1
- package/dist/examples/embedding-geometry.js +0 -528
- package/dist/examples/embedding-geometry.js.map +0 -1
- package/dist/memory/SharedMemoryPool.d.ts +0 -129
- package/dist/memory/SharedMemoryPool.d.ts.map +0 -1
- package/dist/memory/SharedMemoryPool.js +0 -243
- package/dist/memory/SharedMemoryPool.js.map +0 -1
- package/dist/memory/index.d.ts +0 -8
- package/dist/memory/index.d.ts.map +0 -1
- package/dist/memory/index.js +0 -7
- package/dist/memory/index.js.map +0 -1
- package/dist/proxy/http3-proxy-old.js +0 -331
- package/dist/proxy/proxy/anthropic-to-gemini.js +0 -439
- package/dist/proxy/utils/logger.js +0 -59
- package/dist/reasoningbank/agentdb-adapter.js +0 -125
- package/dist/reasoningbank/core/database.js +0 -250
- package/dist/reasoningbank/core/memory-engine.js +0 -335
- package/dist/swarm/ipfs-swarm.d.ts +0 -265
- package/dist/swarm/ipfs-swarm.d.ts.map +0 -1
- package/dist/swarm/ipfs-swarm.js +0 -508
- package/dist/swarm/ipfs-swarm.js.map +0 -1
- package/dist/swarm/p2p-free-swarm.d.ts +0 -344
- package/dist/swarm/p2p-free-swarm.d.ts.map +0 -1
- package/dist/swarm/p2p-free-swarm.js +0 -603
- package/dist/swarm/p2p-free-swarm.js.map +0 -1
- package/dist/swarm/real-p2p-swarm.d.ts +0 -183
- package/dist/swarm/real-p2p-swarm.d.ts.map +0 -1
- package/dist/swarm/real-p2p-swarm.js +0 -469
- package/dist/swarm/real-p2p-swarm.js.map +0 -1
- package/dist/utils/adaptive-pool-sizing.js +0 -414
- package/dist/utils/agentdbCommands.js +0 -175
- package/dist/utils/circular-rate-limiter.js +0 -391
- package/dist/utils/dynamic-compression.js +0 -298
- package/dist/utils/http2-multiplexing.js +0 -319
- package/dist/utils/index.d.ts +0 -6
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -6
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/lazy-auth.js +0 -311
- package/dist/utils/model-cache.d.ts +0 -61
- package/dist/utils/model-cache.d.ts.map +0 -1
- package/dist/utils/model-cache.js +0 -176
- package/dist/utils/model-cache.js.map +0 -1
- package/dist/utils/server-push.js +0 -251
- package/dist/utils/suppress-warnings.d.ts +0 -19
- package/dist/utils/suppress-warnings.d.ts.map +0 -1
- package/dist/utils/suppress-warnings.js +0 -59
- package/dist/utils/suppress-warnings.js.map +0 -1
- package/dist/utils/zero-copy-buffer.js +0 -286
- package/dist/workers/consolidated-phases.d.ts +0 -40
- package/dist/workers/consolidated-phases.d.ts.map +0 -1
- package/dist/workers/consolidated-phases.js +0 -497
- package/dist/workers/consolidated-phases.js.map +0 -1
- package/dist/workers/custom-worker-config.d.ts +0 -133
- package/dist/workers/custom-worker-config.d.ts.map +0 -1
- package/dist/workers/custom-worker-config.js +0 -215
- package/dist/workers/custom-worker-config.js.map +0 -1
- package/dist/workers/custom-worker-factory.d.ts +0 -89
- package/dist/workers/custom-worker-factory.d.ts.map +0 -1
- package/dist/workers/custom-worker-factory.js +0 -404
- package/dist/workers/custom-worker-factory.js.map +0 -1
- package/dist/workers/dispatch-service.d.ts +0 -123
- package/dist/workers/dispatch-service.d.ts.map +0 -1
- package/dist/workers/dispatch-service.js +0 -1024
- package/dist/workers/dispatch-service.js.map +0 -1
- package/dist/workers/hooks-integration.d.ts +0 -79
- package/dist/workers/hooks-integration.d.ts.map +0 -1
- package/dist/workers/hooks-integration.js +0 -286
- package/dist/workers/hooks-integration.js.map +0 -1
- package/dist/workers/index.d.ts +0 -42
- package/dist/workers/index.d.ts.map +0 -1
- package/dist/workers/index.js +0 -52
- package/dist/workers/index.js.map +0 -1
- package/dist/workers/mcp-tools.d.ts +0 -56
- package/dist/workers/mcp-tools.d.ts.map +0 -1
- package/dist/workers/mcp-tools.js +0 -359
- package/dist/workers/mcp-tools.js.map +0 -1
- package/dist/workers/phase-executors.d.ts +0 -22
- package/dist/workers/phase-executors.d.ts.map +0 -1
- package/dist/workers/phase-executors.js +0 -445
- package/dist/workers/phase-executors.js.map +0 -1
- package/dist/workers/resource-governor.d.ts +0 -75
- package/dist/workers/resource-governor.d.ts.map +0 -1
- package/dist/workers/resource-governor.js +0 -187
- package/dist/workers/resource-governor.js.map +0 -1
- package/dist/workers/ruvector-integration.d.ts +0 -163
- package/dist/workers/ruvector-integration.d.ts.map +0 -1
- package/dist/workers/ruvector-integration.js +0 -543
- package/dist/workers/ruvector-integration.js.map +0 -1
- package/dist/workers/ruvector-native-integration.d.ts +0 -91
- package/dist/workers/ruvector-native-integration.d.ts.map +0 -1
- package/dist/workers/ruvector-native-integration.js +0 -254
- package/dist/workers/ruvector-native-integration.js.map +0 -1
- package/dist/workers/trigger-detector.d.ts +0 -68
- package/dist/workers/trigger-detector.d.ts.map +0 -1
- package/dist/workers/trigger-detector.js +0 -281
- package/dist/workers/trigger-detector.js.map +0 -1
- package/dist/workers/types.d.ts +0 -145
- package/dist/workers/types.d.ts.map +0 -1
- package/dist/workers/types.js +0 -6
- package/dist/workers/types.js.map +0 -1
- package/dist/workers/worker-agent-integration.d.ts +0 -140
- package/dist/workers/worker-agent-integration.d.ts.map +0 -1
- package/dist/workers/worker-agent-integration.js +0 -471
- package/dist/workers/worker-agent-integration.js.map +0 -1
- package/dist/workers/worker-benchmarks.d.ts +0 -88
- package/dist/workers/worker-benchmarks.d.ts.map +0 -1
- package/dist/workers/worker-benchmarks.js +0 -452
- package/dist/workers/worker-benchmarks.js.map +0 -1
- package/dist/workers/worker-registry.d.ts +0 -85
- package/dist/workers/worker-registry.d.ts.map +0 -1
- package/dist/workers/worker-registry.js +0 -547
- package/dist/workers/worker-registry.js.map +0 -1
- package/docs/.claude-flow/metrics/agent-metrics.json +0 -1
- package/docs/.claude-flow/metrics/performance.json +0 -87
- package/docs/.claude-flow/metrics/task-metrics.json +0 -10
- package/docs/embeddings/EMBEDDING_GEOMETRY.md +0 -935
- /package/.claude/agents/analysis/{analyze-code-quality.md → code-review/analyze-code-quality.md} +0 -0
- /package/.claude/agents/architecture/{arch-system-design.md → system-design/arch-system-design.md} +0 -0
- /package/.claude/agents/data/{data-ml-model.md → ml/data-ml-model.md} +0 -0
- /package/.claude/agents/development/{dev-backend-api.md → backend/dev-backend-api.md} +0 -0
- /package/.claude/agents/devops/{ops-cicd-github.md → ci-cd/ops-cicd-github.md} +0 -0
- /package/.claude/agents/documentation/{docs-api-openapi.md → api-docs/docs-api-openapi.md} +0 -0
- /package/.claude/agents/specialized/{spec-mobile-react-native.md → mobile/spec-mobile-react-native.md} +0 -0
- /package/.claude/agents/testing/{tdd-london-swarm.md → unit/tdd-london-swarm.md} +0 -0
- /package/.claude/agents/testing/{production-validator.md → validation/production-validator.md} +0 -0
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ResourceGovernor - Prevents resource exhaustion for background workers
|
|
3
|
-
*/
|
|
4
|
-
import { getWorkerRegistry } from './worker-registry.js';
|
|
5
|
-
import { TRIGGER_CONFIGS } from './trigger-detector.js';
|
|
6
|
-
const DEFAULT_LIMITS = {
|
|
7
|
-
maxConcurrentWorkers: 10,
|
|
8
|
-
maxPerTrigger: 3,
|
|
9
|
-
maxHeapMB: 1024,
|
|
10
|
-
workerTimeout: 600000 // 10 minutes
|
|
11
|
-
};
|
|
12
|
-
export class ResourceGovernor {
|
|
13
|
-
limits;
|
|
14
|
-
activeWorkers = new Map();
|
|
15
|
-
timeouts = new Map();
|
|
16
|
-
constructor(limits) {
|
|
17
|
-
this.limits = { ...DEFAULT_LIMITS, ...limits };
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Check if a new worker can be spawned
|
|
21
|
-
*/
|
|
22
|
-
canSpawn(trigger) {
|
|
23
|
-
// Check total worker count
|
|
24
|
-
if (this.activeWorkers.size >= this.limits.maxConcurrentWorkers) {
|
|
25
|
-
return {
|
|
26
|
-
allowed: false,
|
|
27
|
-
reason: `Max workers (${this.limits.maxConcurrentWorkers}) reached`
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
// Check workers of same type
|
|
31
|
-
const sameType = Array.from(this.activeWorkers.values())
|
|
32
|
-
.filter(w => w.trigger === trigger);
|
|
33
|
-
if (sameType.length >= this.limits.maxPerTrigger) {
|
|
34
|
-
return {
|
|
35
|
-
allowed: false,
|
|
36
|
-
reason: `Max ${trigger} workers (${this.limits.maxPerTrigger}) reached`
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
// Check memory usage
|
|
40
|
-
const memUsage = process.memoryUsage();
|
|
41
|
-
const heapUsedMB = memUsage.heapUsed / (1024 * 1024);
|
|
42
|
-
if (heapUsedMB > this.limits.maxHeapMB) {
|
|
43
|
-
return {
|
|
44
|
-
allowed: false,
|
|
45
|
-
reason: `Memory limit exceeded: ${heapUsedMB.toFixed(0)}MB > ${this.limits.maxHeapMB}MB`
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
return { allowed: true };
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Register a new worker
|
|
52
|
-
*/
|
|
53
|
-
register(worker) {
|
|
54
|
-
this.activeWorkers.set(worker.id, worker);
|
|
55
|
-
// Get timeout from trigger config or use default
|
|
56
|
-
const config = TRIGGER_CONFIGS.get(worker.trigger);
|
|
57
|
-
const timeout = config?.timeout || this.limits.workerTimeout;
|
|
58
|
-
// Set timeout for cleanup
|
|
59
|
-
const timer = setTimeout(() => {
|
|
60
|
-
const w = this.activeWorkers.get(worker.id);
|
|
61
|
-
if (w && w.status !== 'complete' && w.status !== 'failed') {
|
|
62
|
-
// Mark as timeout in registry
|
|
63
|
-
const registry = getWorkerRegistry();
|
|
64
|
-
registry.updateStatus(worker.id, 'timeout', {
|
|
65
|
-
error: `Worker exceeded timeout of ${timeout}ms`
|
|
66
|
-
});
|
|
67
|
-
this.unregister(worker.id);
|
|
68
|
-
}
|
|
69
|
-
}, timeout);
|
|
70
|
-
this.timeouts.set(worker.id, timer);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Update worker in tracking
|
|
74
|
-
*/
|
|
75
|
-
update(workerId, updates) {
|
|
76
|
-
const worker = this.activeWorkers.get(workerId);
|
|
77
|
-
if (worker) {
|
|
78
|
-
this.activeWorkers.set(workerId, { ...worker, ...updates });
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Unregister a worker
|
|
83
|
-
*/
|
|
84
|
-
unregister(workerId) {
|
|
85
|
-
this.activeWorkers.delete(workerId);
|
|
86
|
-
const timer = this.timeouts.get(workerId);
|
|
87
|
-
if (timer) {
|
|
88
|
-
clearTimeout(timer);
|
|
89
|
-
this.timeouts.delete(workerId);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Get resource statistics
|
|
94
|
-
*/
|
|
95
|
-
getStats() {
|
|
96
|
-
const workersByType = {};
|
|
97
|
-
for (const worker of this.activeWorkers.values()) {
|
|
98
|
-
workersByType[worker.trigger] = (workersByType[worker.trigger] || 0) + 1;
|
|
99
|
-
}
|
|
100
|
-
return {
|
|
101
|
-
activeWorkers: this.activeWorkers.size,
|
|
102
|
-
workersByType,
|
|
103
|
-
memoryUsage: process.memoryUsage(),
|
|
104
|
-
uptime: process.uptime()
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Get all active workers
|
|
109
|
-
*/
|
|
110
|
-
getActiveWorkers() {
|
|
111
|
-
return Array.from(this.activeWorkers.values());
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Get a specific active worker
|
|
115
|
-
*/
|
|
116
|
-
getWorker(workerId) {
|
|
117
|
-
return this.activeWorkers.get(workerId);
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Check if a worker is active
|
|
121
|
-
*/
|
|
122
|
-
isActive(workerId) {
|
|
123
|
-
return this.activeWorkers.has(workerId);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Get current limits
|
|
127
|
-
*/
|
|
128
|
-
getLimits() {
|
|
129
|
-
return { ...this.limits };
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Update limits
|
|
133
|
-
*/
|
|
134
|
-
setLimits(limits) {
|
|
135
|
-
this.limits = { ...this.limits, ...limits };
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Force cleanup of a worker
|
|
139
|
-
*/
|
|
140
|
-
forceCleanup(workerId) {
|
|
141
|
-
if (!this.activeWorkers.has(workerId)) {
|
|
142
|
-
return false;
|
|
143
|
-
}
|
|
144
|
-
const registry = getWorkerRegistry();
|
|
145
|
-
registry.updateStatus(workerId, 'cancelled', {
|
|
146
|
-
error: 'Force cancelled by resource governor'
|
|
147
|
-
});
|
|
148
|
-
this.unregister(workerId);
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* Cleanup all workers (for shutdown)
|
|
153
|
-
*/
|
|
154
|
-
cleanupAll() {
|
|
155
|
-
for (const workerId of this.activeWorkers.keys()) {
|
|
156
|
-
this.forceCleanup(workerId);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Get slot availability info
|
|
161
|
-
*/
|
|
162
|
-
getAvailability() {
|
|
163
|
-
const stats = this.getStats();
|
|
164
|
-
const byTrigger = {};
|
|
165
|
-
for (const trigger of TRIGGER_CONFIGS.keys()) {
|
|
166
|
-
byTrigger[trigger] = {
|
|
167
|
-
used: stats.workersByType[trigger] || 0,
|
|
168
|
-
max: this.limits.maxPerTrigger
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
return {
|
|
172
|
-
totalSlots: this.limits.maxConcurrentWorkers,
|
|
173
|
-
usedSlots: stats.activeWorkers,
|
|
174
|
-
availableSlots: this.limits.maxConcurrentWorkers - stats.activeWorkers,
|
|
175
|
-
byTrigger
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
// Singleton instance
|
|
180
|
-
let instance = null;
|
|
181
|
-
export function getResourceGovernor() {
|
|
182
|
-
if (!instance) {
|
|
183
|
-
instance = new ResourceGovernor();
|
|
184
|
-
}
|
|
185
|
-
return instance;
|
|
186
|
-
}
|
|
187
|
-
//# sourceMappingURL=resource-governor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resource-governor.js","sourceRoot":"","sources":["../../src/workers/resource-governor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ResourceGovernor - Prevents resource exhaustion for background workers\n */\n\nimport { WorkerId, WorkerTrigger, WorkerInfo, ResourceLimits, ResourceStats } from './types.js';\nimport { getWorkerRegistry } from './worker-registry.js';\nimport { TRIGGER_CONFIGS } from './trigger-detector.js';\n\nconst DEFAULT_LIMITS: ResourceLimits = {\n maxConcurrentWorkers: 10,\n maxPerTrigger: 3,\n maxHeapMB: 1024,\n workerTimeout: 600000 // 10 minutes\n};\n\nexport class ResourceGovernor {\n private limits: ResourceLimits;\n private activeWorkers: Map<WorkerId, WorkerInfo> = new Map();\n private timeouts: Map<WorkerId, NodeJS.Timeout> = new Map();\n\n constructor(limits?: Partial<ResourceLimits>) {\n this.limits = { ...DEFAULT_LIMITS, ...limits };\n }\n\n /**\n * Check if a new worker can be spawned\n */\n canSpawn(trigger: WorkerTrigger): { allowed: boolean; reason?: string } {\n // Check total worker count\n if (this.activeWorkers.size >= this.limits.maxConcurrentWorkers) {\n return {\n allowed: false,\n reason: `Max workers (${this.limits.maxConcurrentWorkers}) reached`\n };\n }\n\n // Check workers of same type\n const sameType = Array.from(this.activeWorkers.values())\n .filter(w => w.trigger === trigger);\n\n if (sameType.length >= this.limits.maxPerTrigger) {\n return {\n allowed: false,\n reason: `Max ${trigger} workers (${this.limits.maxPerTrigger}) reached`\n };\n }\n\n // Check memory usage\n const memUsage = process.memoryUsage();\n const heapUsedMB = memUsage.heapUsed / (1024 * 1024);\n if (heapUsedMB > this.limits.maxHeapMB) {\n return {\n allowed: false,\n reason: `Memory limit exceeded: ${heapUsedMB.toFixed(0)}MB > ${this.limits.maxHeapMB}MB`\n };\n }\n\n return { allowed: true };\n }\n\n /**\n * Register a new worker\n */\n register(worker: WorkerInfo): void {\n this.activeWorkers.set(worker.id, worker);\n\n // Get timeout from trigger config or use default\n const config = TRIGGER_CONFIGS.get(worker.trigger);\n const timeout = config?.timeout || this.limits.workerTimeout;\n\n // Set timeout for cleanup\n const timer = setTimeout(() => {\n const w = this.activeWorkers.get(worker.id);\n if (w && w.status !== 'complete' && w.status !== 'failed') {\n // Mark as timeout in registry\n const registry = getWorkerRegistry();\n registry.updateStatus(worker.id, 'timeout', {\n error: `Worker exceeded timeout of ${timeout}ms`\n });\n this.unregister(worker.id);\n }\n }, timeout);\n\n this.timeouts.set(worker.id, timer);\n }\n\n /**\n * Update worker in tracking\n */\n update(workerId: WorkerId, updates: Partial<WorkerInfo>): void {\n const worker = this.activeWorkers.get(workerId);\n if (worker) {\n this.activeWorkers.set(workerId, { ...worker, ...updates });\n }\n }\n\n /**\n * Unregister a worker\n */\n unregister(workerId: WorkerId): void {\n this.activeWorkers.delete(workerId);\n\n const timer = this.timeouts.get(workerId);\n if (timer) {\n clearTimeout(timer);\n this.timeouts.delete(workerId);\n }\n }\n\n /**\n * Get resource statistics\n */\n getStats(): ResourceStats {\n const workersByType: Record<string, number> = {};\n\n for (const worker of this.activeWorkers.values()) {\n workersByType[worker.trigger] = (workersByType[worker.trigger] || 0) + 1;\n }\n\n return {\n activeWorkers: this.activeWorkers.size,\n workersByType,\n memoryUsage: process.memoryUsage(),\n uptime: process.uptime()\n };\n }\n\n /**\n * Get all active workers\n */\n getActiveWorkers(): WorkerInfo[] {\n return Array.from(this.activeWorkers.values());\n }\n\n /**\n * Get a specific active worker\n */\n getWorker(workerId: WorkerId): WorkerInfo | undefined {\n return this.activeWorkers.get(workerId);\n }\n\n /**\n * Check if a worker is active\n */\n isActive(workerId: WorkerId): boolean {\n return this.activeWorkers.has(workerId);\n }\n\n /**\n * Get current limits\n */\n getLimits(): ResourceLimits {\n return { ...this.limits };\n }\n\n /**\n * Update limits\n */\n setLimits(limits: Partial<ResourceLimits>): void {\n this.limits = { ...this.limits, ...limits };\n }\n\n /**\n * Force cleanup of a worker\n */\n forceCleanup(workerId: WorkerId): boolean {\n if (!this.activeWorkers.has(workerId)) {\n return false;\n }\n\n const registry = getWorkerRegistry();\n registry.updateStatus(workerId, 'cancelled', {\n error: 'Force cancelled by resource governor'\n });\n this.unregister(workerId);\n return true;\n }\n\n /**\n * Cleanup all workers (for shutdown)\n */\n cleanupAll(): void {\n for (const workerId of this.activeWorkers.keys()) {\n this.forceCleanup(workerId);\n }\n }\n\n /**\n * Get slot availability info\n */\n getAvailability(): {\n totalSlots: number;\n usedSlots: number;\n availableSlots: number;\n byTrigger: Record<string, { used: number; max: number }>;\n } {\n const stats = this.getStats();\n const byTrigger: Record<string, { used: number; max: number }> = {};\n\n for (const trigger of TRIGGER_CONFIGS.keys()) {\n byTrigger[trigger] = {\n used: stats.workersByType[trigger] || 0,\n max: this.limits.maxPerTrigger\n };\n }\n\n return {\n totalSlots: this.limits.maxConcurrentWorkers,\n usedSlots: stats.activeWorkers,\n availableSlots: this.limits.maxConcurrentWorkers - stats.activeWorkers,\n byTrigger\n };\n }\n}\n\n// Singleton instance\nlet instance: ResourceGovernor | null = null;\n\nexport function getResourceGovernor(): ResourceGovernor {\n if (!instance) {\n instance = new ResourceGovernor();\n }\n return instance;\n}\n"]}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RuVector Integration for Background Workers
|
|
3
|
-
*
|
|
4
|
-
* Connects workers to the full RuVector ecosystem:
|
|
5
|
-
* - SONA: Self-learning trajectory tracking
|
|
6
|
-
* - ReasoningBank: Pattern storage and memory retrieval
|
|
7
|
-
* - HNSW: Vector indexing for fast semantic search
|
|
8
|
-
* - Intelligence Layer: Unified pattern recognition
|
|
9
|
-
*/
|
|
10
|
-
import { EventEmitter } from 'events';
|
|
11
|
-
import { WorkerContext, WorkerResults, WorkerTrigger } from './types.js';
|
|
12
|
-
/**
|
|
13
|
-
* RuVector integration configuration
|
|
14
|
-
*/
|
|
15
|
-
export interface RuVectorWorkerConfig {
|
|
16
|
-
/** Enable SONA trajectory tracking (default: true) */
|
|
17
|
-
enableSona: boolean;
|
|
18
|
-
/** Enable ReasoningBank pattern storage (default: true) */
|
|
19
|
-
enableReasoningBank: boolean;
|
|
20
|
-
/** Enable HNSW vector indexing (default: true) */
|
|
21
|
-
enableHnsw: boolean;
|
|
22
|
-
/** SONA learning profile */
|
|
23
|
-
sonaProfile: 'real-time' | 'batch' | 'balanced';
|
|
24
|
-
/** Embedding dimension (default: 384) */
|
|
25
|
-
embeddingDim: number;
|
|
26
|
-
/** HNSW parameters */
|
|
27
|
-
hnswM: number;
|
|
28
|
-
hnswEfConstruction: number;
|
|
29
|
-
/** Quality threshold for pattern storage (0-1) */
|
|
30
|
-
qualityThreshold: number;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Worker trajectory step
|
|
34
|
-
*/
|
|
35
|
-
export interface WorkerStep {
|
|
36
|
-
phase: string;
|
|
37
|
-
activations: number[];
|
|
38
|
-
duration: number;
|
|
39
|
-
memoryDeposits: number;
|
|
40
|
-
successRate: number;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Worker learning result
|
|
44
|
-
*/
|
|
45
|
-
export interface WorkerLearningResult {
|
|
46
|
-
trajectoryId: string;
|
|
47
|
-
qualityScore: number;
|
|
48
|
-
patternsLearned: number;
|
|
49
|
-
memoryDeposits: string[];
|
|
50
|
-
sonaAdaptation: boolean;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* RuVector Worker Integration Service
|
|
54
|
-
* Provides unified access to RuVector capabilities for background workers
|
|
55
|
-
*/
|
|
56
|
-
export declare class RuVectorWorkerIntegration extends EventEmitter {
|
|
57
|
-
private config;
|
|
58
|
-
private sonaService;
|
|
59
|
-
private reasoningBank;
|
|
60
|
-
private ruvectorCore;
|
|
61
|
-
private intelligenceStore;
|
|
62
|
-
private onnxEmbeddings;
|
|
63
|
-
private initialized;
|
|
64
|
-
private activeTrajectories;
|
|
65
|
-
constructor(config?: Partial<RuVectorWorkerConfig>);
|
|
66
|
-
/**
|
|
67
|
-
* Initialize RuVector services lazily
|
|
68
|
-
* Uses unified 'ruvector' package which includes SONA, VectorDB, embeddings
|
|
69
|
-
* Falls back gracefully if native modules aren't available
|
|
70
|
-
*/
|
|
71
|
-
initialize(): Promise<boolean>;
|
|
72
|
-
/**
|
|
73
|
-
* Start tracking a worker trajectory
|
|
74
|
-
*/
|
|
75
|
-
startTrajectory(workerId: string, trigger: WorkerTrigger, topic: string | null): Promise<string>;
|
|
76
|
-
/**
|
|
77
|
-
* Record a worker phase step
|
|
78
|
-
*/
|
|
79
|
-
recordStep(trajectoryId: string, phase: string, metrics: {
|
|
80
|
-
duration: number;
|
|
81
|
-
memoryDeposits: number;
|
|
82
|
-
successRate: number;
|
|
83
|
-
data?: Record<string, unknown>;
|
|
84
|
-
}): Promise<void>;
|
|
85
|
-
/**
|
|
86
|
-
* Complete trajectory and trigger learning
|
|
87
|
-
*/
|
|
88
|
-
completeTrajectory(trajectoryId: string, results: WorkerResults): Promise<WorkerLearningResult>;
|
|
89
|
-
/**
|
|
90
|
-
* Find relevant patterns for a worker task
|
|
91
|
-
*/
|
|
92
|
-
findRelevantPatterns(trigger: WorkerTrigger, topic: string | null, limit?: number): Promise<Array<{
|
|
93
|
-
key: string;
|
|
94
|
-
similarity: number;
|
|
95
|
-
pattern: Record<string, unknown>;
|
|
96
|
-
}>>;
|
|
97
|
-
/**
|
|
98
|
-
* Store pattern in ReasoningBank with distillation
|
|
99
|
-
*/
|
|
100
|
-
private storePattern;
|
|
101
|
-
/**
|
|
102
|
-
* Index pattern in HNSW for semantic search
|
|
103
|
-
*/
|
|
104
|
-
private indexPattern;
|
|
105
|
-
/**
|
|
106
|
-
* Search HNSW index
|
|
107
|
-
*/
|
|
108
|
-
private searchHnsw;
|
|
109
|
-
/**
|
|
110
|
-
* Generate embedding for text using ONNX WASM (real semantic embeddings)
|
|
111
|
-
*/
|
|
112
|
-
private generateEmbedding;
|
|
113
|
-
/**
|
|
114
|
-
* Simple hash-based embedding fallback
|
|
115
|
-
*/
|
|
116
|
-
private simpleEmbedding;
|
|
117
|
-
/**
|
|
118
|
-
* Generate activations for a phase
|
|
119
|
-
*/
|
|
120
|
-
private generateActivations;
|
|
121
|
-
/**
|
|
122
|
-
* Calculate quality score for a trajectory
|
|
123
|
-
*/
|
|
124
|
-
private calculateQualityScore;
|
|
125
|
-
/**
|
|
126
|
-
* Get integration stats
|
|
127
|
-
*/
|
|
128
|
-
getStats(): {
|
|
129
|
-
initialized: boolean;
|
|
130
|
-
modules: {
|
|
131
|
-
sona: boolean;
|
|
132
|
-
reasoningBank: boolean;
|
|
133
|
-
hnsw: boolean;
|
|
134
|
-
intelligence: boolean;
|
|
135
|
-
onnxEmbeddings: boolean;
|
|
136
|
-
};
|
|
137
|
-
activeTrajectories: number;
|
|
138
|
-
config: RuVectorWorkerConfig;
|
|
139
|
-
};
|
|
140
|
-
/**
|
|
141
|
-
* Cleanup resources
|
|
142
|
-
*/
|
|
143
|
-
cleanup(): Promise<void>;
|
|
144
|
-
}
|
|
145
|
-
export declare function getRuVectorWorkerIntegration(config?: Partial<RuVectorWorkerConfig>): RuVectorWorkerIntegration;
|
|
146
|
-
/**
|
|
147
|
-
* Create worker context with RuVector integration
|
|
148
|
-
*/
|
|
149
|
-
export declare function createRuVectorWorkerContext(context: WorkerContext): Promise<{
|
|
150
|
-
trajectoryId: string;
|
|
151
|
-
recordStep: (phase: string, metrics: {
|
|
152
|
-
duration: number;
|
|
153
|
-
memoryDeposits: number;
|
|
154
|
-
successRate: number;
|
|
155
|
-
}) => Promise<void>;
|
|
156
|
-
complete: (results: WorkerResults) => Promise<WorkerLearningResult>;
|
|
157
|
-
findPatterns: (limit?: number) => Promise<Array<{
|
|
158
|
-
key: string;
|
|
159
|
-
similarity: number;
|
|
160
|
-
pattern: Record<string, unknown>;
|
|
161
|
-
}>>;
|
|
162
|
-
}>;
|
|
163
|
-
//# sourceMappingURL=ruvector-integration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ruvector-integration.d.ts","sourceRoot":"","sources":["../../src/workers/ruvector-integration.ts"],"names":[],"mappings":"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"}
|