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,281 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TriggerDetector - Detects background worker triggers in prompts
|
|
3
|
-
* Target: < 5ms detection latency
|
|
4
|
-
*/
|
|
5
|
-
// Trigger configuration map
|
|
6
|
-
const TRIGGER_CONFIGS = new Map([
|
|
7
|
-
['ultralearn', {
|
|
8
|
-
keyword: 'ultralearn',
|
|
9
|
-
worker: 'research-swarm',
|
|
10
|
-
priority: 'high',
|
|
11
|
-
maxAgents: 5,
|
|
12
|
-
timeout: 300000, // 5 minutes
|
|
13
|
-
cooldown: 60000, // 1 minute
|
|
14
|
-
topicExtractor: /ultralearn\s+(.+?)(?:\.|$)/i,
|
|
15
|
-
description: 'Deep research swarm for codebase learning'
|
|
16
|
-
}],
|
|
17
|
-
['optimize', {
|
|
18
|
-
keyword: 'optimize',
|
|
19
|
-
worker: 'perf-analyzer',
|
|
20
|
-
priority: 'medium',
|
|
21
|
-
maxAgents: 2,
|
|
22
|
-
timeout: 180000, // 3 minutes
|
|
23
|
-
cooldown: 120000, // 2 minutes
|
|
24
|
-
topicExtractor: /optimize\s+(.+?)(?:\.|$)/i,
|
|
25
|
-
description: 'Performance analyzer and cache optimizer'
|
|
26
|
-
}],
|
|
27
|
-
['consolidate', {
|
|
28
|
-
keyword: 'consolidate',
|
|
29
|
-
worker: 'memory-optimizer',
|
|
30
|
-
priority: 'low',
|
|
31
|
-
maxAgents: 1,
|
|
32
|
-
timeout: 120000, // 2 minutes
|
|
33
|
-
cooldown: 300000, // 5 minutes
|
|
34
|
-
topicExtractor: null,
|
|
35
|
-
description: 'Memory compaction and pattern extraction'
|
|
36
|
-
}],
|
|
37
|
-
['predict', {
|
|
38
|
-
keyword: 'predict',
|
|
39
|
-
worker: 'pattern-matcher',
|
|
40
|
-
priority: 'medium',
|
|
41
|
-
maxAgents: 2,
|
|
42
|
-
timeout: 60000, // 1 minute
|
|
43
|
-
cooldown: 30000, // 30 seconds
|
|
44
|
-
topicExtractor: /predict\s+(.+?)(?:\.|$)/i,
|
|
45
|
-
description: 'Pre-fetch likely files based on learned patterns'
|
|
46
|
-
}],
|
|
47
|
-
['audit', {
|
|
48
|
-
keyword: 'audit',
|
|
49
|
-
worker: 'security-scanner',
|
|
50
|
-
priority: 'high',
|
|
51
|
-
maxAgents: 3,
|
|
52
|
-
timeout: 300000, // 5 minutes
|
|
53
|
-
cooldown: 180000, // 3 minutes
|
|
54
|
-
topicExtractor: /audit\s+(.+?)(?:\.|$)/i,
|
|
55
|
-
description: 'Security and code quality scan'
|
|
56
|
-
}],
|
|
57
|
-
['map', {
|
|
58
|
-
keyword: 'map',
|
|
59
|
-
worker: 'dependency-mapper',
|
|
60
|
-
priority: 'medium',
|
|
61
|
-
maxAgents: 2,
|
|
62
|
-
timeout: 240000, // 4 minutes
|
|
63
|
-
cooldown: 300000, // 5 minutes
|
|
64
|
-
topicExtractor: /map\s+(.+?)(?:\.|$)/i,
|
|
65
|
-
description: 'Build full dependency graph'
|
|
66
|
-
}],
|
|
67
|
-
['preload', {
|
|
68
|
-
keyword: 'preload',
|
|
69
|
-
worker: 'context-prefetcher',
|
|
70
|
-
priority: 'low',
|
|
71
|
-
maxAgents: 1,
|
|
72
|
-
timeout: 30000, // 30 seconds
|
|
73
|
-
cooldown: 10000, // 10 seconds
|
|
74
|
-
topicExtractor: /preload\s+(.+?)(?:\.|$)/i,
|
|
75
|
-
description: 'Pre-fetch context for faster access'
|
|
76
|
-
}],
|
|
77
|
-
['deepdive', {
|
|
78
|
-
keyword: 'deepdive',
|
|
79
|
-
worker: 'call-graph-analyzer',
|
|
80
|
-
priority: 'high',
|
|
81
|
-
maxAgents: 4,
|
|
82
|
-
timeout: 600000, // 10 minutes
|
|
83
|
-
cooldown: 300000, // 5 minutes
|
|
84
|
-
topicExtractor: /deepdive\s+(.+?)(?:\.|$)/i,
|
|
85
|
-
description: 'Traces call paths 5+ levels deep'
|
|
86
|
-
}],
|
|
87
|
-
['document', {
|
|
88
|
-
keyword: 'document',
|
|
89
|
-
worker: 'doc-generator',
|
|
90
|
-
priority: 'low',
|
|
91
|
-
maxAgents: 2,
|
|
92
|
-
timeout: 180000,
|
|
93
|
-
cooldown: 120000,
|
|
94
|
-
topicExtractor: /document\s+(.+?)(?:\.|$)/i,
|
|
95
|
-
description: 'Generate documentation for patterns'
|
|
96
|
-
}],
|
|
97
|
-
['refactor', {
|
|
98
|
-
keyword: 'refactor',
|
|
99
|
-
worker: 'refactor-analyzer',
|
|
100
|
-
priority: 'medium',
|
|
101
|
-
maxAgents: 2,
|
|
102
|
-
timeout: 180000,
|
|
103
|
-
cooldown: 120000,
|
|
104
|
-
topicExtractor: /refactor\s+(.+?)(?:\.|$)/i,
|
|
105
|
-
description: 'Identify refactoring opportunities'
|
|
106
|
-
}],
|
|
107
|
-
['benchmark', {
|
|
108
|
-
keyword: 'benchmark',
|
|
109
|
-
worker: 'perf-benchmarker',
|
|
110
|
-
priority: 'medium',
|
|
111
|
-
maxAgents: 2,
|
|
112
|
-
timeout: 300000,
|
|
113
|
-
cooldown: 180000,
|
|
114
|
-
topicExtractor: /benchmark\s+(.+?)(?:\.|$)/i,
|
|
115
|
-
description: 'Run performance benchmarks silently'
|
|
116
|
-
}],
|
|
117
|
-
['testgaps', {
|
|
118
|
-
keyword: 'testgaps',
|
|
119
|
-
worker: 'coverage-analyzer',
|
|
120
|
-
priority: 'medium',
|
|
121
|
-
maxAgents: 2,
|
|
122
|
-
timeout: 180000,
|
|
123
|
-
cooldown: 120000,
|
|
124
|
-
topicExtractor: /testgaps?\s+(.+?)(?:\.|$)/i,
|
|
125
|
-
description: 'Find untested code paths'
|
|
126
|
-
}]
|
|
127
|
-
]);
|
|
128
|
-
// Pre-compiled regex for fast matching
|
|
129
|
-
const TRIGGER_PATTERN = new RegExp(`\\b(${Array.from(TRIGGER_CONFIGS.keys()).join('|')})\\b`, 'gi');
|
|
130
|
-
export class TriggerDetector {
|
|
131
|
-
cooldowns = new Map();
|
|
132
|
-
/**
|
|
133
|
-
* Detect all triggers in a prompt
|
|
134
|
-
* Target: < 5ms latency
|
|
135
|
-
*/
|
|
136
|
-
detect(prompt) {
|
|
137
|
-
const startTime = performance.now();
|
|
138
|
-
const triggers = [];
|
|
139
|
-
const seen = new Set();
|
|
140
|
-
// Fast regex match
|
|
141
|
-
let match;
|
|
142
|
-
TRIGGER_PATTERN.lastIndex = 0;
|
|
143
|
-
while ((match = TRIGGER_PATTERN.exec(prompt)) !== null) {
|
|
144
|
-
const keyword = match[1].toLowerCase();
|
|
145
|
-
// Skip duplicates
|
|
146
|
-
if (seen.has(keyword))
|
|
147
|
-
continue;
|
|
148
|
-
seen.add(keyword);
|
|
149
|
-
// Check cooldown
|
|
150
|
-
if (this.isOnCooldown(keyword))
|
|
151
|
-
continue;
|
|
152
|
-
const config = TRIGGER_CONFIGS.get(keyword);
|
|
153
|
-
if (!config)
|
|
154
|
-
continue;
|
|
155
|
-
// Extract topic if extractor exists
|
|
156
|
-
let topic = null;
|
|
157
|
-
if (config.topicExtractor) {
|
|
158
|
-
const topicMatch = prompt.match(config.topicExtractor);
|
|
159
|
-
if (topicMatch && topicMatch[1]) {
|
|
160
|
-
topic = topicMatch[1].trim();
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
triggers.push({
|
|
164
|
-
keyword,
|
|
165
|
-
topic,
|
|
166
|
-
config,
|
|
167
|
-
detectedAt: Date.now()
|
|
168
|
-
});
|
|
169
|
-
// Set cooldown
|
|
170
|
-
this.setCooldown(keyword);
|
|
171
|
-
}
|
|
172
|
-
const elapsed = performance.now() - startTime;
|
|
173
|
-
if (elapsed > 5) {
|
|
174
|
-
console.warn(`TriggerDetector: detection took ${elapsed.toFixed(2)}ms (target: 5ms)`);
|
|
175
|
-
}
|
|
176
|
-
return triggers;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Check if a trigger is on cooldown
|
|
180
|
-
*/
|
|
181
|
-
isOnCooldown(trigger) {
|
|
182
|
-
const lastUsed = this.cooldowns.get(trigger);
|
|
183
|
-
if (!lastUsed)
|
|
184
|
-
return false;
|
|
185
|
-
const config = TRIGGER_CONFIGS.get(trigger);
|
|
186
|
-
if (!config)
|
|
187
|
-
return false;
|
|
188
|
-
return Date.now() - lastUsed < config.cooldown;
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Set cooldown for a trigger
|
|
192
|
-
*/
|
|
193
|
-
setCooldown(trigger) {
|
|
194
|
-
this.cooldowns.set(trigger, Date.now());
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Clear cooldown for a trigger (for testing)
|
|
198
|
-
*/
|
|
199
|
-
clearCooldown(trigger) {
|
|
200
|
-
this.cooldowns.delete(trigger);
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Clear all cooldowns
|
|
204
|
-
*/
|
|
205
|
-
clearAllCooldowns() {
|
|
206
|
-
this.cooldowns.clear();
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Get remaining cooldown time for a trigger
|
|
210
|
-
*/
|
|
211
|
-
getCooldownRemaining(trigger) {
|
|
212
|
-
const lastUsed = this.cooldowns.get(trigger);
|
|
213
|
-
if (!lastUsed)
|
|
214
|
-
return 0;
|
|
215
|
-
const config = TRIGGER_CONFIGS.get(trigger);
|
|
216
|
-
if (!config)
|
|
217
|
-
return 0;
|
|
218
|
-
const remaining = config.cooldown - (Date.now() - lastUsed);
|
|
219
|
-
return Math.max(0, remaining);
|
|
220
|
-
}
|
|
221
|
-
/**
|
|
222
|
-
* Get config for a specific trigger
|
|
223
|
-
*/
|
|
224
|
-
getConfig(trigger) {
|
|
225
|
-
return TRIGGER_CONFIGS.get(trigger);
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Get all trigger configs
|
|
229
|
-
*/
|
|
230
|
-
getAllConfigs() {
|
|
231
|
-
return new Map(TRIGGER_CONFIGS);
|
|
232
|
-
}
|
|
233
|
-
/**
|
|
234
|
-
* Register a custom trigger dynamically
|
|
235
|
-
*/
|
|
236
|
-
registerTrigger(config) {
|
|
237
|
-
const keyword = config.keyword;
|
|
238
|
-
const triggerConfig = {
|
|
239
|
-
keyword,
|
|
240
|
-
worker: config.keyword,
|
|
241
|
-
priority: config.priority || 'medium',
|
|
242
|
-
maxAgents: 2,
|
|
243
|
-
timeout: config.timeout || 120000,
|
|
244
|
-
cooldown: config.cooldown || 5000,
|
|
245
|
-
topicExtractor: config.topicExtractor || null,
|
|
246
|
-
description: config.description || `Custom trigger: ${config.keyword}`
|
|
247
|
-
};
|
|
248
|
-
TRIGGER_CONFIGS.set(keyword, triggerConfig);
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Check if a string contains any trigger keywords
|
|
252
|
-
* Faster than full detect() when you just need boolean check
|
|
253
|
-
*/
|
|
254
|
-
hasTriggers(prompt) {
|
|
255
|
-
TRIGGER_PATTERN.lastIndex = 0;
|
|
256
|
-
return TRIGGER_PATTERN.test(prompt);
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Get trigger stats
|
|
260
|
-
*/
|
|
261
|
-
getStats() {
|
|
262
|
-
const cooldowns = {};
|
|
263
|
-
for (const [trigger, time] of this.cooldowns) {
|
|
264
|
-
cooldowns[trigger] = this.getCooldownRemaining(trigger);
|
|
265
|
-
}
|
|
266
|
-
return {
|
|
267
|
-
triggers: Array.from(TRIGGER_CONFIGS.keys()),
|
|
268
|
-
cooldowns
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
// Singleton instance
|
|
273
|
-
let instance = null;
|
|
274
|
-
export function getTriggerDetector() {
|
|
275
|
-
if (!instance) {
|
|
276
|
-
instance = new TriggerDetector();
|
|
277
|
-
}
|
|
278
|
-
return instance;
|
|
279
|
-
}
|
|
280
|
-
export { TRIGGER_CONFIGS };
|
|
281
|
-
//# sourceMappingURL=trigger-detector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trigger-detector.js","sourceRoot":"","sources":["../../src/workers/trigger-detector.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * TriggerDetector - Detects background worker triggers in prompts\n * Target: < 5ms detection latency\n */\n\nimport {\n WorkerTrigger,\n TriggerConfig,\n DetectedTrigger,\n WorkerPriority\n} from './types.js';\n\n// Trigger configuration map\nconst TRIGGER_CONFIGS: Map<WorkerTrigger, TriggerConfig> = new Map([\n ['ultralearn', {\n keyword: 'ultralearn',\n worker: 'research-swarm',\n priority: 'high',\n maxAgents: 5,\n timeout: 300000, // 5 minutes\n cooldown: 60000, // 1 minute\n topicExtractor: /ultralearn\\s+(.+?)(?:\\.|$)/i,\n description: 'Deep research swarm for codebase learning'\n }],\n ['optimize', {\n keyword: 'optimize',\n worker: 'perf-analyzer',\n priority: 'medium',\n maxAgents: 2,\n timeout: 180000, // 3 minutes\n cooldown: 120000, // 2 minutes\n topicExtractor: /optimize\\s+(.+?)(?:\\.|$)/i,\n description: 'Performance analyzer and cache optimizer'\n }],\n ['consolidate', {\n keyword: 'consolidate',\n worker: 'memory-optimizer',\n priority: 'low',\n maxAgents: 1,\n timeout: 120000, // 2 minutes\n cooldown: 300000, // 5 minutes\n topicExtractor: null,\n description: 'Memory compaction and pattern extraction'\n }],\n ['predict', {\n keyword: 'predict',\n worker: 'pattern-matcher',\n priority: 'medium',\n maxAgents: 2,\n timeout: 60000, // 1 minute\n cooldown: 30000, // 30 seconds\n topicExtractor: /predict\\s+(.+?)(?:\\.|$)/i,\n description: 'Pre-fetch likely files based on learned patterns'\n }],\n ['audit', {\n keyword: 'audit',\n worker: 'security-scanner',\n priority: 'high',\n maxAgents: 3,\n timeout: 300000, // 5 minutes\n cooldown: 180000, // 3 minutes\n topicExtractor: /audit\\s+(.+?)(?:\\.|$)/i,\n description: 'Security and code quality scan'\n }],\n ['map', {\n keyword: 'map',\n worker: 'dependency-mapper',\n priority: 'medium',\n maxAgents: 2,\n timeout: 240000, // 4 minutes\n cooldown: 300000, // 5 minutes\n topicExtractor: /map\\s+(.+?)(?:\\.|$)/i,\n description: 'Build full dependency graph'\n }],\n ['preload', {\n keyword: 'preload',\n worker: 'context-prefetcher',\n priority: 'low',\n maxAgents: 1,\n timeout: 30000, // 30 seconds\n cooldown: 10000, // 10 seconds\n topicExtractor: /preload\\s+(.+?)(?:\\.|$)/i,\n description: 'Pre-fetch context for faster access'\n }],\n ['deepdive', {\n keyword: 'deepdive',\n worker: 'call-graph-analyzer',\n priority: 'high',\n maxAgents: 4,\n timeout: 600000, // 10 minutes\n cooldown: 300000, // 5 minutes\n topicExtractor: /deepdive\\s+(.+?)(?:\\.|$)/i,\n description: 'Traces call paths 5+ levels deep'\n }],\n ['document', {\n keyword: 'document',\n worker: 'doc-generator',\n priority: 'low',\n maxAgents: 2,\n timeout: 180000,\n cooldown: 120000,\n topicExtractor: /document\\s+(.+?)(?:\\.|$)/i,\n description: 'Generate documentation for patterns'\n }],\n ['refactor', {\n keyword: 'refactor',\n worker: 'refactor-analyzer',\n priority: 'medium',\n maxAgents: 2,\n timeout: 180000,\n cooldown: 120000,\n topicExtractor: /refactor\\s+(.+?)(?:\\.|$)/i,\n description: 'Identify refactoring opportunities'\n }],\n ['benchmark', {\n keyword: 'benchmark',\n worker: 'perf-benchmarker',\n priority: 'medium',\n maxAgents: 2,\n timeout: 300000,\n cooldown: 180000,\n topicExtractor: /benchmark\\s+(.+?)(?:\\.|$)/i,\n description: 'Run performance benchmarks silently'\n }],\n ['testgaps', {\n keyword: 'testgaps',\n worker: 'coverage-analyzer',\n priority: 'medium',\n maxAgents: 2,\n timeout: 180000,\n cooldown: 120000,\n topicExtractor: /testgaps?\\s+(.+?)(?:\\.|$)/i,\n description: 'Find untested code paths'\n }]\n]);\n\n// Pre-compiled regex for fast matching\nconst TRIGGER_PATTERN = new RegExp(\n `\\\\b(${Array.from(TRIGGER_CONFIGS.keys()).join('|')})\\\\b`,\n 'gi'\n);\n\nexport class TriggerDetector {\n private cooldowns: Map<WorkerTrigger, number> = new Map();\n\n /**\n * Detect all triggers in a prompt\n * Target: < 5ms latency\n */\n detect(prompt: string): DetectedTrigger[] {\n const startTime = performance.now();\n const triggers: DetectedTrigger[] = [];\n const seen = new Set<WorkerTrigger>();\n\n // Fast regex match\n let match: RegExpExecArray | null;\n TRIGGER_PATTERN.lastIndex = 0;\n\n while ((match = TRIGGER_PATTERN.exec(prompt)) !== null) {\n const keyword = match[1].toLowerCase() as WorkerTrigger;\n\n // Skip duplicates\n if (seen.has(keyword)) continue;\n seen.add(keyword);\n\n // Check cooldown\n if (this.isOnCooldown(keyword)) continue;\n\n const config = TRIGGER_CONFIGS.get(keyword);\n if (!config) continue;\n\n // Extract topic if extractor exists\n let topic: string | null = null;\n if (config.topicExtractor) {\n const topicMatch = prompt.match(config.topicExtractor);\n if (topicMatch && topicMatch[1]) {\n topic = topicMatch[1].trim();\n }\n }\n\n triggers.push({\n keyword,\n topic,\n config,\n detectedAt: Date.now()\n });\n\n // Set cooldown\n this.setCooldown(keyword);\n }\n\n const elapsed = performance.now() - startTime;\n if (elapsed > 5) {\n console.warn(`TriggerDetector: detection took ${elapsed.toFixed(2)}ms (target: 5ms)`);\n }\n\n return triggers;\n }\n\n /**\n * Check if a trigger is on cooldown\n */\n isOnCooldown(trigger: WorkerTrigger): boolean {\n const lastUsed = this.cooldowns.get(trigger);\n if (!lastUsed) return false;\n\n const config = TRIGGER_CONFIGS.get(trigger);\n if (!config) return false;\n\n return Date.now() - lastUsed < config.cooldown;\n }\n\n /**\n * Set cooldown for a trigger\n */\n private setCooldown(trigger: WorkerTrigger): void {\n this.cooldowns.set(trigger, Date.now());\n }\n\n /**\n * Clear cooldown for a trigger (for testing)\n */\n clearCooldown(trigger: WorkerTrigger): void {\n this.cooldowns.delete(trigger);\n }\n\n /**\n * Clear all cooldowns\n */\n clearAllCooldowns(): void {\n this.cooldowns.clear();\n }\n\n /**\n * Get remaining cooldown time for a trigger\n */\n getCooldownRemaining(trigger: WorkerTrigger): number {\n const lastUsed = this.cooldowns.get(trigger);\n if (!lastUsed) return 0;\n\n const config = TRIGGER_CONFIGS.get(trigger);\n if (!config) return 0;\n\n const remaining = config.cooldown - (Date.now() - lastUsed);\n return Math.max(0, remaining);\n }\n\n /**\n * Get config for a specific trigger\n */\n getConfig(trigger: WorkerTrigger): TriggerConfig | undefined {\n return TRIGGER_CONFIGS.get(trigger);\n }\n\n /**\n * Get all trigger configs\n */\n getAllConfigs(): Map<WorkerTrigger, TriggerConfig> {\n return new Map(TRIGGER_CONFIGS);\n }\n\n /**\n * Register a custom trigger dynamically\n */\n registerTrigger(config: {\n keyword: string;\n priority?: WorkerPriority;\n description?: string;\n timeout?: number;\n cooldown?: number;\n topicExtractor?: RegExp;\n }): void {\n const keyword = config.keyword as WorkerTrigger;\n const triggerConfig: TriggerConfig = {\n keyword,\n worker: config.keyword,\n priority: config.priority || 'medium',\n maxAgents: 2,\n timeout: config.timeout || 120000,\n cooldown: config.cooldown || 5000,\n topicExtractor: config.topicExtractor || null,\n description: config.description || `Custom trigger: ${config.keyword}`\n };\n TRIGGER_CONFIGS.set(keyword, triggerConfig);\n }\n\n /**\n * Check if a string contains any trigger keywords\n * Faster than full detect() when you just need boolean check\n */\n hasTriggers(prompt: string): boolean {\n TRIGGER_PATTERN.lastIndex = 0;\n return TRIGGER_PATTERN.test(prompt);\n }\n\n /**\n * Get trigger stats\n */\n getStats(): { triggers: WorkerTrigger[]; cooldowns: Record<string, number> } {\n const cooldowns: Record<string, number> = {};\n for (const [trigger, time] of this.cooldowns) {\n cooldowns[trigger] = this.getCooldownRemaining(trigger);\n }\n return {\n triggers: Array.from(TRIGGER_CONFIGS.keys()),\n cooldowns\n };\n }\n}\n\n// Singleton instance\nlet instance: TriggerDetector | null = null;\n\nexport function getTriggerDetector(): TriggerDetector {\n if (!instance) {\n instance = new TriggerDetector();\n }\n return instance;\n}\n\nexport { TRIGGER_CONFIGS };\n"]}
|
package/dist/workers/types.d.ts
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Background Workers Type Definitions
|
|
3
|
-
* Non-blocking workers triggered by keywords that run silently
|
|
4
|
-
*/
|
|
5
|
-
export type WorkerId = string;
|
|
6
|
-
export type WorkerTrigger = 'ultralearn' | 'optimize' | 'consolidate' | 'predict' | 'audit' | 'map' | 'preload' | 'deepdive' | 'document' | 'refactor' | 'benchmark' | 'testgaps';
|
|
7
|
-
export type WorkerStatus = 'queued' | 'running' | 'complete' | 'failed' | 'cancelled' | 'timeout';
|
|
8
|
-
export type WorkerPriority = 'low' | 'medium' | 'high' | 'critical';
|
|
9
|
-
export interface TriggerConfig {
|
|
10
|
-
keyword: WorkerTrigger;
|
|
11
|
-
worker: string;
|
|
12
|
-
priority: WorkerPriority;
|
|
13
|
-
maxAgents: number;
|
|
14
|
-
timeout: number;
|
|
15
|
-
cooldown: number;
|
|
16
|
-
topicExtractor: RegExp | null;
|
|
17
|
-
description: string;
|
|
18
|
-
}
|
|
19
|
-
export interface DetectedTrigger {
|
|
20
|
-
keyword: WorkerTrigger;
|
|
21
|
-
topic: string | null;
|
|
22
|
-
config: TriggerConfig;
|
|
23
|
-
detectedAt: number;
|
|
24
|
-
}
|
|
25
|
-
export interface WorkerInfo {
|
|
26
|
-
id: WorkerId;
|
|
27
|
-
trigger: WorkerTrigger;
|
|
28
|
-
topic: string | null;
|
|
29
|
-
sessionId: string;
|
|
30
|
-
status: WorkerStatus;
|
|
31
|
-
progress: number;
|
|
32
|
-
currentPhase: string | null;
|
|
33
|
-
startedAt: number;
|
|
34
|
-
completedAt: number | null;
|
|
35
|
-
error: string | null;
|
|
36
|
-
memoryDeposits: number;
|
|
37
|
-
resultKeys: string[];
|
|
38
|
-
createdAt: number;
|
|
39
|
-
/** Actual analysis results from worker execution */
|
|
40
|
-
results?: {
|
|
41
|
-
files_analyzed?: number;
|
|
42
|
-
patterns_found?: number;
|
|
43
|
-
bytes_processed?: number;
|
|
44
|
-
sample_patterns?: string[];
|
|
45
|
-
[key: string]: unknown;
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export interface WorkerResults {
|
|
49
|
-
status: WorkerStatus;
|
|
50
|
-
success?: boolean;
|
|
51
|
-
data?: Record<string, unknown>;
|
|
52
|
-
error?: string;
|
|
53
|
-
completedPhases: number;
|
|
54
|
-
totalPhases: number;
|
|
55
|
-
memoryKeys: string[];
|
|
56
|
-
duration: number;
|
|
57
|
-
tokensUsed?: number;
|
|
58
|
-
}
|
|
59
|
-
export interface PhaseResult {
|
|
60
|
-
phase: string;
|
|
61
|
-
success: boolean;
|
|
62
|
-
data?: Record<string, unknown>;
|
|
63
|
-
error?: string;
|
|
64
|
-
duration: number;
|
|
65
|
-
memoryKeys?: string[];
|
|
66
|
-
}
|
|
67
|
-
export interface ResourceLimits {
|
|
68
|
-
maxConcurrentWorkers: number;
|
|
69
|
-
maxPerTrigger: number;
|
|
70
|
-
maxHeapMB: number;
|
|
71
|
-
workerTimeout: number;
|
|
72
|
-
}
|
|
73
|
-
export interface ResourceStats {
|
|
74
|
-
activeWorkers: number;
|
|
75
|
-
workersByType: Record<string, number>;
|
|
76
|
-
memoryUsage: NodeJS.MemoryUsage;
|
|
77
|
-
uptime: number;
|
|
78
|
-
}
|
|
79
|
-
export interface MemoryEntry {
|
|
80
|
-
collection: string;
|
|
81
|
-
key: string;
|
|
82
|
-
data: unknown;
|
|
83
|
-
vector?: number[];
|
|
84
|
-
ttl?: number;
|
|
85
|
-
metadata?: Record<string, unknown>;
|
|
86
|
-
}
|
|
87
|
-
export interface SearchResult {
|
|
88
|
-
collection: string;
|
|
89
|
-
key: string;
|
|
90
|
-
data: unknown;
|
|
91
|
-
score: number;
|
|
92
|
-
}
|
|
93
|
-
export interface ContextInjection {
|
|
94
|
-
context: Array<{
|
|
95
|
-
source: string;
|
|
96
|
-
type: string;
|
|
97
|
-
content: string;
|
|
98
|
-
score: number;
|
|
99
|
-
}>;
|
|
100
|
-
source: string;
|
|
101
|
-
confidence: number;
|
|
102
|
-
}
|
|
103
|
-
export interface WorkerMetrics {
|
|
104
|
-
workerId: WorkerId;
|
|
105
|
-
filesAnalyzed: number;
|
|
106
|
-
patternsFound: number;
|
|
107
|
-
memoryBytesWritten: number;
|
|
108
|
-
cpuTimeMs: number;
|
|
109
|
-
peakMemoryMB: number;
|
|
110
|
-
errorCount: number;
|
|
111
|
-
}
|
|
112
|
-
export interface DashboardMetrics {
|
|
113
|
-
totalSpawned: number;
|
|
114
|
-
totalCompleted: number;
|
|
115
|
-
totalFailed: number;
|
|
116
|
-
avgDurationMs: number;
|
|
117
|
-
p95DurationMs: number;
|
|
118
|
-
peakConcurrency: number;
|
|
119
|
-
avgMemoryMB: number;
|
|
120
|
-
peakMemoryMB: number;
|
|
121
|
-
patternsStored: number;
|
|
122
|
-
memoryDeposits: number;
|
|
123
|
-
contextInjections: number;
|
|
124
|
-
byTrigger: Record<string, {
|
|
125
|
-
count: number;
|
|
126
|
-
avgDuration: number;
|
|
127
|
-
successRate: number;
|
|
128
|
-
}>;
|
|
129
|
-
}
|
|
130
|
-
export interface WorkerContext {
|
|
131
|
-
workerId: WorkerId;
|
|
132
|
-
trigger: WorkerTrigger;
|
|
133
|
-
topic: string | null;
|
|
134
|
-
sessionId: string;
|
|
135
|
-
startTime: number;
|
|
136
|
-
signal: AbortSignal;
|
|
137
|
-
onProgress: (progress: number, phase: string) => void;
|
|
138
|
-
onMemoryDeposit: (key: string) => void;
|
|
139
|
-
}
|
|
140
|
-
export interface PoolConfig {
|
|
141
|
-
maxPoolSize: number;
|
|
142
|
-
preWarmCount: number;
|
|
143
|
-
idleTimeout: number;
|
|
144
|
-
}
|
|
145
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workers/types.ts"],"names":[],"mappings":"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"}
|
package/dist/workers/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workers/types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * Background Workers Type Definitions\n * Non-blocking workers triggered by keywords that run silently\n */\n\nexport type WorkerId = string;\nexport type WorkerTrigger =\n | 'ultralearn'\n | 'optimize'\n | 'consolidate'\n | 'predict'\n | 'audit'\n | 'map'\n | 'preload'\n | 'deepdive'\n | 'document'\n | 'refactor'\n | 'benchmark'\n | 'testgaps';\n\nexport type WorkerStatus = 'queued' | 'running' | 'complete' | 'failed' | 'cancelled' | 'timeout';\nexport type WorkerPriority = 'low' | 'medium' | 'high' | 'critical';\n\nexport interface TriggerConfig {\n keyword: WorkerTrigger;\n worker: string;\n priority: WorkerPriority;\n maxAgents: number;\n timeout: number;\n cooldown: number;\n topicExtractor: RegExp | null;\n description: string;\n}\n\nexport interface DetectedTrigger {\n keyword: WorkerTrigger;\n topic: string | null;\n config: TriggerConfig;\n detectedAt: number;\n}\n\nexport interface WorkerInfo {\n id: WorkerId;\n trigger: WorkerTrigger;\n topic: string | null;\n sessionId: string;\n status: WorkerStatus;\n progress: number;\n currentPhase: string | null;\n startedAt: number;\n completedAt: number | null;\n error: string | null;\n memoryDeposits: number;\n resultKeys: string[];\n createdAt: number;\n /** Actual analysis results from worker execution */\n results?: {\n files_analyzed?: number;\n patterns_found?: number;\n bytes_processed?: number;\n sample_patterns?: string[];\n [key: string]: unknown;\n };\n}\n\nexport interface WorkerResults {\n status: WorkerStatus;\n success?: boolean;\n data?: Record<string, unknown>;\n error?: string;\n completedPhases: number;\n totalPhases: number;\n memoryKeys: string[];\n duration: number;\n tokensUsed?: number;\n}\n\nexport interface PhaseResult {\n phase: string;\n success: boolean;\n data?: Record<string, unknown>;\n error?: string;\n duration: number;\n memoryKeys?: string[];\n}\n\nexport interface ResourceLimits {\n maxConcurrentWorkers: number;\n maxPerTrigger: number;\n maxHeapMB: number;\n workerTimeout: number;\n}\n\nexport interface ResourceStats {\n activeWorkers: number;\n workersByType: Record<string, number>;\n memoryUsage: NodeJS.MemoryUsage;\n uptime: number;\n}\n\nexport interface MemoryEntry {\n collection: string;\n key: string;\n data: unknown;\n vector?: number[];\n ttl?: number;\n metadata?: Record<string, unknown>;\n}\n\nexport interface SearchResult {\n collection: string;\n key: string;\n data: unknown;\n score: number;\n}\n\nexport interface ContextInjection {\n context: Array<{\n source: string;\n type: string;\n content: string;\n score: number;\n }>;\n source: string;\n confidence: number;\n}\n\nexport interface WorkerMetrics {\n workerId: WorkerId;\n filesAnalyzed: number;\n patternsFound: number;\n memoryBytesWritten: number;\n cpuTimeMs: number;\n peakMemoryMB: number;\n errorCount: number;\n}\n\nexport interface DashboardMetrics {\n totalSpawned: number;\n totalCompleted: number;\n totalFailed: number;\n avgDurationMs: number;\n p95DurationMs: number;\n peakConcurrency: number;\n avgMemoryMB: number;\n peakMemoryMB: number;\n patternsStored: number;\n memoryDeposits: number;\n contextInjections: number;\n byTrigger: Record<string, { count: number; avgDuration: number; successRate: number }>;\n}\n\n// Worker execution context\nexport interface WorkerContext {\n workerId: WorkerId;\n trigger: WorkerTrigger;\n topic: string | null;\n sessionId: string;\n startTime: number;\n signal: AbortSignal;\n onProgress: (progress: number, phase: string) => void;\n onMemoryDeposit: (key: string) => void;\n}\n\n// Configuration for worker pool\nexport interface PoolConfig {\n maxPoolSize: number;\n preWarmCount: number;\n idleTimeout: number;\n}\n"]}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Worker-Agent Integration Layer
|
|
3
|
-
*
|
|
4
|
-
* Bridges the worker system with agent execution through:
|
|
5
|
-
* - Pattern sharing via ReasoningBank
|
|
6
|
-
* - Metrics-based capability matching
|
|
7
|
-
* - Self-learning feedback loops
|
|
8
|
-
* - Performance-aware agent selection
|
|
9
|
-
*/
|
|
10
|
-
import { WorkerTrigger } from './types.js';
|
|
11
|
-
export interface AgentCapability {
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
triggers: WorkerTrigger[];
|
|
15
|
-
priority: 'low' | 'medium' | 'high' | 'critical';
|
|
16
|
-
memoryPatterns: string[];
|
|
17
|
-
benchmarkThresholds: BenchmarkThreshold[];
|
|
18
|
-
}
|
|
19
|
-
export interface BenchmarkThreshold {
|
|
20
|
-
metric: string;
|
|
21
|
-
target: number;
|
|
22
|
-
unit: 'ms' | 'ops/s' | 'MB' | '%';
|
|
23
|
-
direction: 'below' | 'above';
|
|
24
|
-
}
|
|
25
|
-
export interface AgentPerformanceProfile {
|
|
26
|
-
agentName: string;
|
|
27
|
-
capabilities: string[];
|
|
28
|
-
avgLatencyMs: number;
|
|
29
|
-
p95LatencyMs: number;
|
|
30
|
-
successRate: number;
|
|
31
|
-
memoryUsageMB: number;
|
|
32
|
-
qualityScore: number;
|
|
33
|
-
executionCount: number;
|
|
34
|
-
lastExecuted: number;
|
|
35
|
-
}
|
|
36
|
-
export interface WorkerAgentMapping {
|
|
37
|
-
trigger: WorkerTrigger;
|
|
38
|
-
recommendedAgents: string[];
|
|
39
|
-
fallbackAgents: string[];
|
|
40
|
-
pipelinePhases: string[];
|
|
41
|
-
memoryKeyPattern: string;
|
|
42
|
-
}
|
|
43
|
-
export declare class WorkerAgentIntegration {
|
|
44
|
-
private memoryPatterns;
|
|
45
|
-
private feedbackQueue;
|
|
46
|
-
/**
|
|
47
|
-
* Get recommended agents for a worker trigger
|
|
48
|
-
*/
|
|
49
|
-
getRecommendedAgents(trigger: WorkerTrigger): {
|
|
50
|
-
primary: string[];
|
|
51
|
-
fallback: string[];
|
|
52
|
-
phases: string[];
|
|
53
|
-
memoryPattern: string;
|
|
54
|
-
};
|
|
55
|
-
/**
|
|
56
|
-
* Get agent capabilities for matching
|
|
57
|
-
*/
|
|
58
|
-
getAgentCapabilities(agentName: string): AgentCapability | undefined;
|
|
59
|
-
/**
|
|
60
|
-
* Find best agent for a given trigger based on performance history
|
|
61
|
-
*/
|
|
62
|
-
selectBestAgent(trigger: WorkerTrigger): {
|
|
63
|
-
agent: string;
|
|
64
|
-
confidence: number;
|
|
65
|
-
reasoning: string;
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Record agent execution feedback for learning
|
|
69
|
-
*/
|
|
70
|
-
recordFeedback(trigger: WorkerTrigger, agentName: string, success: boolean, latencyMs: number, qualityScore: number, memoryMB?: number): void;
|
|
71
|
-
/**
|
|
72
|
-
* Process accumulated feedback for learning
|
|
73
|
-
*/
|
|
74
|
-
private processFeedbackQueue;
|
|
75
|
-
/**
|
|
76
|
-
* Get performance metrics for all agents
|
|
77
|
-
*/
|
|
78
|
-
getAgentMetrics(): AgentPerformanceProfile[];
|
|
79
|
-
/**
|
|
80
|
-
* Get performance metrics for specific trigger
|
|
81
|
-
*/
|
|
82
|
-
getTriggerMetrics(trigger: WorkerTrigger): {
|
|
83
|
-
trigger: WorkerTrigger;
|
|
84
|
-
totalExecutions: number;
|
|
85
|
-
avgLatencyMs: number;
|
|
86
|
-
successRate: number;
|
|
87
|
-
topAgents: Array<{
|
|
88
|
-
agent: string;
|
|
89
|
-
score: number;
|
|
90
|
-
}>;
|
|
91
|
-
};
|
|
92
|
-
/**
|
|
93
|
-
* Get benchmark thresholds for an agent
|
|
94
|
-
*/
|
|
95
|
-
getBenchmarkThresholds(agentName: string): BenchmarkThreshold[];
|
|
96
|
-
/**
|
|
97
|
-
* Check if agent meets benchmark thresholds
|
|
98
|
-
*/
|
|
99
|
-
checkBenchmarkCompliance(agentName: string): {
|
|
100
|
-
compliant: boolean;
|
|
101
|
-
violations: Array<{
|
|
102
|
-
metric: string;
|
|
103
|
-
actual: number;
|
|
104
|
-
target: number;
|
|
105
|
-
}>;
|
|
106
|
-
};
|
|
107
|
-
/**
|
|
108
|
-
* Generate memory key for worker-agent communication
|
|
109
|
-
*/
|
|
110
|
-
generateMemoryKey(trigger: WorkerTrigger, topic: string, phase: string): string;
|
|
111
|
-
/**
|
|
112
|
-
* Get integration statistics
|
|
113
|
-
*/
|
|
114
|
-
getStats(): {
|
|
115
|
-
totalAgents: number;
|
|
116
|
-
trackedAgents: number;
|
|
117
|
-
totalFeedback: number;
|
|
118
|
-
avgQualityScore: number;
|
|
119
|
-
modelCacheStats: {
|
|
120
|
-
hits: number;
|
|
121
|
-
misses: number;
|
|
122
|
-
hitRate: string;
|
|
123
|
-
};
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
export declare const workerAgentIntegration: WorkerAgentIntegration;
|
|
127
|
-
export declare function getAgentForTrigger(trigger: WorkerTrigger): string;
|
|
128
|
-
export declare function recordAgentPerformance(trigger: WorkerTrigger, agent: string, success: boolean, latencyMs: number, quality: number): void;
|
|
129
|
-
export declare function getIntegrationStats(): {
|
|
130
|
-
totalAgents: number;
|
|
131
|
-
trackedAgents: number;
|
|
132
|
-
totalFeedback: number;
|
|
133
|
-
avgQualityScore: number;
|
|
134
|
-
modelCacheStats: {
|
|
135
|
-
hits: number;
|
|
136
|
-
misses: number;
|
|
137
|
-
hitRate: string;
|
|
138
|
-
};
|
|
139
|
-
};
|
|
140
|
-
//# sourceMappingURL=worker-agent-integration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker-agent-integration.d.ts","sourceRoot":"","sources":["../../src/workers/worker-agent-integration.ts"],"names":[],"mappings":"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"}
|