agentic-flow 2.0.7 → 2.0.9

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.
Files changed (316) hide show
  1. package/.claude/settings.json +133 -9
  2. package/.claude/skills/agentic-flow-quickstart/skill.md +69 -0
  3. package/.claude/skills/hooks-automation/skill.md +155 -0
  4. package/.claude/skills/memory-patterns/skill.md +110 -0
  5. package/.claude/skills/sparc-methodology/skill.md +137 -0
  6. package/.claude/skills/swarm-coordination/skill.md +94 -0
  7. package/.claude/skills/worker-benchmarks/skill.md +135 -0
  8. package/.claude/skills/worker-integration/skill.md +154 -0
  9. package/.claude/statusline.mjs +109 -0
  10. package/.claude/statusline.sh +71 -0
  11. package/README.md +1797 -624
  12. package/dist/.tsbuildinfo +1 -1
  13. package/dist/agentdb/index.d.ts +2 -0
  14. package/dist/agentdb/index.d.ts.map +1 -1
  15. package/dist/agentdb/index.js +5 -0
  16. package/dist/agentdb/index.js.map +1 -1
  17. package/dist/agentdb/prerequisites.d.ts +25 -0
  18. package/dist/agentdb/prerequisites.d.ts.map +1 -0
  19. package/dist/agentdb/prerequisites.js +180 -0
  20. package/dist/agentdb/prerequisites.js.map +1 -0
  21. package/dist/benchmarks/embeddings-benchmark.d.ts +38 -0
  22. package/dist/benchmarks/embeddings-benchmark.d.ts.map +1 -0
  23. package/dist/benchmarks/embeddings-benchmark.js +282 -0
  24. package/dist/benchmarks/embeddings-benchmark.js.map +1 -0
  25. package/dist/billing/mcp/tools.js +1 -0
  26. package/dist/billing/mcp/tools.js.map +1 -1
  27. package/dist/cli/commands/embeddings.d.ts +12 -0
  28. package/dist/cli/commands/embeddings.d.ts.map +1 -0
  29. package/dist/cli/commands/embeddings.js +386 -0
  30. package/dist/cli/commands/embeddings.js.map +1 -0
  31. package/dist/cli/commands/hooks.d.ts.map +1 -1
  32. package/dist/cli/commands/hooks.js +79 -4
  33. package/dist/cli/commands/hooks.js.map +1 -1
  34. package/dist/cli/commands/init.d.ts +8 -0
  35. package/dist/cli/commands/init.d.ts.map +1 -0
  36. package/dist/cli/commands/init.js +514 -0
  37. package/dist/cli/commands/init.js.map +1 -0
  38. package/dist/cli/commands/workers.d.ts +9 -0
  39. package/dist/cli/commands/workers.d.ts.map +1 -0
  40. package/dist/cli/commands/workers.js +991 -0
  41. package/dist/cli/commands/workers.js.map +1 -0
  42. package/dist/cli/config-wizard.d.ts.map +1 -1
  43. package/dist/cli/config-wizard.js +47 -25
  44. package/dist/cli/config-wizard.js.map +1 -1
  45. package/dist/cli-proxy.js +89 -1
  46. package/dist/cli-proxy.js.map +1 -1
  47. package/dist/core/agentdb-fast.js +3 -3
  48. package/dist/core/agentdb-fast.js.map +1 -1
  49. package/dist/core/agentdb-wrapper-enhanced.d.ts.map +1 -1
  50. package/dist/core/agentdb-wrapper-enhanced.js +37 -11
  51. package/dist/core/agentdb-wrapper-enhanced.js.map +1 -1
  52. package/dist/core/agentdb-wrapper.d.ts +3 -2
  53. package/dist/core/agentdb-wrapper.d.ts.map +1 -1
  54. package/dist/core/agentdb-wrapper.js +15 -1
  55. package/dist/core/agentdb-wrapper.js.map +1 -1
  56. package/dist/core/attention-native.d.ts +4 -0
  57. package/dist/core/attention-native.d.ts.map +1 -1
  58. package/dist/core/attention-native.js +14 -2
  59. package/dist/core/attention-native.js.map +1 -1
  60. package/dist/core/gnn-wrapper.d.ts.map +1 -1
  61. package/dist/core/gnn-wrapper.js +14 -0
  62. package/dist/core/gnn-wrapper.js.map +1 -1
  63. package/dist/embeddings/index.d.ts +17 -0
  64. package/dist/embeddings/index.d.ts.map +1 -0
  65. package/dist/embeddings/index.js +17 -0
  66. package/dist/embeddings/index.js.map +1 -0
  67. package/dist/embeddings/neural-substrate.d.ts +206 -0
  68. package/dist/embeddings/neural-substrate.d.ts.map +1 -0
  69. package/dist/embeddings/neural-substrate.js +629 -0
  70. package/dist/embeddings/neural-substrate.js.map +1 -0
  71. package/dist/embeddings/optimized-embedder.d.ts +103 -0
  72. package/dist/embeddings/optimized-embedder.d.ts.map +1 -0
  73. package/dist/embeddings/optimized-embedder.js +730 -0
  74. package/dist/embeddings/optimized-embedder.js.map +1 -0
  75. package/dist/examples/embedding-geometry.d.ts +105 -0
  76. package/dist/examples/embedding-geometry.d.ts.map +1 -0
  77. package/dist/examples/embedding-geometry.js +528 -0
  78. package/dist/examples/embedding-geometry.js.map +1 -0
  79. package/dist/federation/SecurityManager.d.ts +11 -2
  80. package/dist/federation/SecurityManager.d.ts.map +1 -1
  81. package/dist/federation/SecurityManager.js +50 -17
  82. package/dist/federation/SecurityManager.js.map +1 -1
  83. package/dist/federation/integrations/supabase-adapter-debug.js +3 -3
  84. package/dist/federation/integrations/supabase-adapter-debug.js.map +1 -1
  85. package/dist/hooks/swarm-learning-optimizer.js +5 -5
  86. package/dist/hooks/swarm-learning-optimizer.js.map +1 -1
  87. package/dist/index.d.ts +5 -3
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +89 -51
  90. package/dist/index.js.map +1 -1
  91. package/dist/intelligence/IntelligenceStore.d.ts +35 -26
  92. package/dist/intelligence/IntelligenceStore.d.ts.map +1 -1
  93. package/dist/intelligence/IntelligenceStore.js +308 -123
  94. package/dist/intelligence/IntelligenceStore.js.map +1 -1
  95. package/dist/intelligence/RuVectorIntelligence.d.ts +26 -1
  96. package/dist/intelligence/RuVectorIntelligence.d.ts.map +1 -1
  97. package/dist/intelligence/RuVectorIntelligence.js +49 -10
  98. package/dist/intelligence/RuVectorIntelligence.js.map +1 -1
  99. package/dist/intelligence/agent-booster-enhanced.d.ts +1 -0
  100. package/dist/intelligence/agent-booster-enhanced.d.ts.map +1 -1
  101. package/dist/intelligence/agent-booster-enhanced.js +24 -3
  102. package/dist/intelligence/agent-booster-enhanced.js.map +1 -1
  103. package/dist/intelligence/index.d.ts +29 -3
  104. package/dist/intelligence/index.d.ts.map +1 -1
  105. package/dist/intelligence/index.js +13 -3
  106. package/dist/intelligence/index.js.map +1 -1
  107. package/dist/mcp/claudeFlowSdkServer.d.ts.map +1 -1
  108. package/dist/mcp/claudeFlowSdkServer.js +162 -115
  109. package/dist/mcp/claudeFlowSdkServer.js.map +1 -1
  110. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js +5 -5
  111. package/dist/mcp/fastmcp/tools/hooks/intelligence-bridge.js.map +1 -1
  112. package/dist/mcp/fastmcp/tools/swarm/init.d.ts.map +1 -1
  113. package/dist/mcp/fastmcp/tools/swarm/init.js +36 -7
  114. package/dist/mcp/fastmcp/tools/swarm/init.js.map +1 -1
  115. package/dist/mcp/fastmcp/tools/swarm/spawn.d.ts.map +1 -1
  116. package/dist/mcp/fastmcp/tools/swarm/spawn.js +47 -8
  117. package/dist/mcp/fastmcp/tools/swarm/spawn.js.map +1 -1
  118. package/dist/mcp/tools/agent-booster-tools.d.ts +15 -1
  119. package/dist/mcp/tools/agent-booster-tools.d.ts.map +1 -1
  120. package/dist/mcp/tools/agent-booster-tools.js +79 -63
  121. package/dist/mcp/tools/agent-booster-tools.js.map +1 -1
  122. package/dist/mcp/tools/sona-tools.d.ts.map +1 -1
  123. package/dist/mcp/tools/sona-tools.js +6 -0
  124. package/dist/mcp/tools/sona-tools.js.map +1 -1
  125. package/dist/memory/SharedMemoryPool.d.ts +103 -0
  126. package/dist/memory/SharedMemoryPool.d.ts.map +1 -0
  127. package/dist/memory/SharedMemoryPool.js +263 -0
  128. package/dist/memory/SharedMemoryPool.js.map +1 -0
  129. package/dist/optimizations/agent-booster-migration.d.ts +2 -1
  130. package/dist/optimizations/agent-booster-migration.d.ts.map +1 -1
  131. package/dist/optimizations/agent-booster-migration.js +69 -45
  132. package/dist/optimizations/agent-booster-migration.js.map +1 -1
  133. package/dist/orchestration/index.d.ts +11 -0
  134. package/dist/orchestration/index.d.ts.map +1 -0
  135. package/dist/orchestration/index.js +10 -0
  136. package/dist/orchestration/index.js.map +1 -0
  137. package/dist/orchestration/memory-plane-types.d.ts +23 -0
  138. package/dist/orchestration/memory-plane-types.d.ts.map +1 -0
  139. package/dist/orchestration/memory-plane-types.js +5 -0
  140. package/dist/orchestration/memory-plane-types.js.map +1 -0
  141. package/dist/orchestration/memory-plane.d.ts +41 -0
  142. package/dist/orchestration/memory-plane.d.ts.map +1 -0
  143. package/dist/orchestration/memory-plane.js +84 -0
  144. package/dist/orchestration/memory-plane.js.map +1 -0
  145. package/dist/orchestration/orchestration-client.d.ts +104 -0
  146. package/dist/orchestration/orchestration-client.d.ts.map +1 -0
  147. package/dist/orchestration/orchestration-client.js +94 -0
  148. package/dist/orchestration/orchestration-client.js.map +1 -0
  149. package/dist/orchestration/orchestration-runtime.d.ts +26 -0
  150. package/dist/orchestration/orchestration-runtime.d.ts.map +1 -0
  151. package/dist/orchestration/orchestration-runtime.js +78 -0
  152. package/dist/orchestration/orchestration-runtime.js.map +1 -0
  153. package/dist/orchestration/orchestration-types.d.ts +124 -0
  154. package/dist/orchestration/orchestration-types.d.ts.map +1 -0
  155. package/dist/orchestration/orchestration-types.js +7 -0
  156. package/dist/orchestration/orchestration-types.js.map +1 -0
  157. package/dist/proxy/anthropic-to-openrouter.js.map +1 -1
  158. package/dist/proxy/anthropic-to-requesty.js.map +1 -1
  159. package/dist/proxy/quic-proxy.d.ts +0 -1
  160. package/dist/proxy/quic-proxy.d.ts.map +1 -1
  161. package/dist/proxy/quic-proxy.js +2 -2
  162. package/dist/proxy/quic-proxy.js.map +1 -1
  163. package/dist/reasoningbank/AdvancedMemory.js +1 -1
  164. package/dist/reasoningbank/AdvancedMemory.js.map +1 -1
  165. package/dist/reasoningbank/HybridBackend.d.ts.map +1 -1
  166. package/dist/reasoningbank/HybridBackend.js +2 -5
  167. package/dist/reasoningbank/HybridBackend.js.map +1 -1
  168. package/dist/reasoningbank/backend-selector.d.ts +11 -1
  169. package/dist/reasoningbank/backend-selector.d.ts.map +1 -1
  170. package/dist/reasoningbank/backend-selector.js +45 -5
  171. package/dist/reasoningbank/backend-selector.js.map +1 -1
  172. package/dist/reasoningbank/core/consolidate.d.ts.map +1 -1
  173. package/dist/reasoningbank/core/consolidate.js +113 -45
  174. package/dist/reasoningbank/core/consolidate.js.map +1 -1
  175. package/dist/reasoningbank/index-new.d.ts +1 -6
  176. package/dist/reasoningbank/index-new.d.ts.map +1 -1
  177. package/dist/reasoningbank/index-new.js +1 -6
  178. package/dist/reasoningbank/index-new.js.map +1 -1
  179. package/dist/reasoningbank/index.d.ts +6 -0
  180. package/dist/reasoningbank/index.d.ts.map +1 -1
  181. package/dist/reasoningbank/index.js +6 -13
  182. package/dist/reasoningbank/index.js.map +1 -1
  183. package/dist/reasoningbank/utils/embeddings.d.ts +1 -0
  184. package/dist/reasoningbank/utils/embeddings.d.ts.map +1 -1
  185. package/dist/reasoningbank/utils/embeddings.js +53 -26
  186. package/dist/reasoningbank/utils/embeddings.js.map +1 -1
  187. package/dist/router/index.d.ts +2 -1
  188. package/dist/router/index.d.ts.map +1 -1
  189. package/dist/router/index.js +1 -0
  190. package/dist/router/index.js.map +1 -1
  191. package/dist/router/providers/ollama.d.ts +20 -0
  192. package/dist/router/providers/ollama.d.ts.map +1 -0
  193. package/dist/router/providers/ollama.js +242 -0
  194. package/dist/router/providers/ollama.js.map +1 -0
  195. package/dist/router/providers/onnx-local-optimized.d.ts +2 -0
  196. package/dist/router/providers/onnx-local-optimized.d.ts.map +1 -1
  197. package/dist/router/providers/onnx-local-optimized.js +10 -0
  198. package/dist/router/providers/onnx-local-optimized.js.map +1 -1
  199. package/dist/router/providers/onnx-local.d.ts +1 -0
  200. package/dist/router/providers/onnx-local.d.ts.map +1 -1
  201. package/dist/router/providers/onnx-local.js +22 -5
  202. package/dist/router/providers/onnx-local.js.map +1 -1
  203. package/dist/router/router.d.ts.map +1 -1
  204. package/dist/router/router.js +39 -23
  205. package/dist/router/router.js.map +1 -1
  206. package/dist/sdk/index.d.ts +2 -1
  207. package/dist/sdk/index.d.ts.map +1 -1
  208. package/dist/sdk/index.js +3 -1
  209. package/dist/sdk/index.js.map +1 -1
  210. package/dist/services/embedding-service.js.map +1 -1
  211. package/dist/services/sona-agent-training.d.ts +1 -0
  212. package/dist/services/sona-agent-training.d.ts.map +1 -1
  213. package/dist/services/sona-agent-training.js.map +1 -1
  214. package/dist/services/sona-agentdb-integration.d.ts.map +1 -1
  215. package/dist/services/sona-agentdb-integration.js +9 -6
  216. package/dist/services/sona-agentdb-integration.js.map +1 -1
  217. package/dist/services/sona-service.d.ts.map +1 -1
  218. package/dist/services/sona-service.js +6 -5
  219. package/dist/services/sona-service.js.map +1 -1
  220. package/dist/utils/cli.d.ts +1 -1
  221. package/dist/utils/cli.d.ts.map +1 -1
  222. package/dist/utils/cli.js +21 -0
  223. package/dist/utils/cli.js.map +1 -1
  224. package/dist/utils/index.d.ts +6 -0
  225. package/dist/utils/index.d.ts.map +1 -0
  226. package/dist/utils/index.js +6 -0
  227. package/dist/utils/index.js.map +1 -0
  228. package/dist/utils/model-cache.d.ts +61 -0
  229. package/dist/utils/model-cache.d.ts.map +1 -0
  230. package/dist/utils/model-cache.js +176 -0
  231. package/dist/utils/model-cache.js.map +1 -0
  232. package/dist/utils/suppress-warnings.d.ts +19 -0
  233. package/dist/utils/suppress-warnings.d.ts.map +1 -0
  234. package/dist/utils/suppress-warnings.js +59 -0
  235. package/dist/utils/suppress-warnings.js.map +1 -0
  236. package/dist/workers/consolidated-phases.d.ts +40 -0
  237. package/dist/workers/consolidated-phases.d.ts.map +1 -0
  238. package/dist/workers/consolidated-phases.js +497 -0
  239. package/dist/workers/consolidated-phases.js.map +1 -0
  240. package/dist/workers/custom-worker-config.d.ts +133 -0
  241. package/dist/workers/custom-worker-config.d.ts.map +1 -0
  242. package/dist/workers/custom-worker-config.js +215 -0
  243. package/dist/workers/custom-worker-config.js.map +1 -0
  244. package/dist/workers/custom-worker-factory.d.ts +89 -0
  245. package/dist/workers/custom-worker-factory.d.ts.map +1 -0
  246. package/dist/workers/custom-worker-factory.js +404 -0
  247. package/dist/workers/custom-worker-factory.js.map +1 -0
  248. package/dist/workers/dispatch-service.d.ts +123 -0
  249. package/dist/workers/dispatch-service.d.ts.map +1 -0
  250. package/dist/workers/dispatch-service.js +1024 -0
  251. package/dist/workers/dispatch-service.js.map +1 -0
  252. package/dist/workers/hooks-integration.d.ts +79 -0
  253. package/dist/workers/hooks-integration.d.ts.map +1 -0
  254. package/dist/workers/hooks-integration.js +286 -0
  255. package/dist/workers/hooks-integration.js.map +1 -0
  256. package/dist/workers/index.d.ts +42 -0
  257. package/dist/workers/index.d.ts.map +1 -0
  258. package/dist/workers/index.js +52 -0
  259. package/dist/workers/index.js.map +1 -0
  260. package/dist/workers/mcp-tools.d.ts +56 -0
  261. package/dist/workers/mcp-tools.d.ts.map +1 -0
  262. package/dist/workers/mcp-tools.js +359 -0
  263. package/dist/workers/mcp-tools.js.map +1 -0
  264. package/dist/workers/phase-executors.d.ts +22 -0
  265. package/dist/workers/phase-executors.d.ts.map +1 -0
  266. package/dist/workers/phase-executors.js +445 -0
  267. package/dist/workers/phase-executors.js.map +1 -0
  268. package/dist/workers/resource-governor.d.ts +75 -0
  269. package/dist/workers/resource-governor.d.ts.map +1 -0
  270. package/dist/workers/resource-governor.js +187 -0
  271. package/dist/workers/resource-governor.js.map +1 -0
  272. package/dist/workers/ruvector-integration.d.ts +163 -0
  273. package/dist/workers/ruvector-integration.d.ts.map +1 -0
  274. package/dist/workers/ruvector-integration.js +543 -0
  275. package/dist/workers/ruvector-integration.js.map +1 -0
  276. package/dist/workers/ruvector-native-integration.d.ts +91 -0
  277. package/dist/workers/ruvector-native-integration.d.ts.map +1 -0
  278. package/dist/workers/ruvector-native-integration.js +254 -0
  279. package/dist/workers/ruvector-native-integration.js.map +1 -0
  280. package/dist/workers/trigger-detector.d.ts +68 -0
  281. package/dist/workers/trigger-detector.d.ts.map +1 -0
  282. package/dist/workers/trigger-detector.js +281 -0
  283. package/dist/workers/trigger-detector.js.map +1 -0
  284. package/dist/workers/types.d.ts +145 -0
  285. package/dist/workers/types.d.ts.map +1 -0
  286. package/dist/workers/types.js +6 -0
  287. package/dist/workers/types.js.map +1 -0
  288. package/dist/workers/worker-agent-integration.d.ts +140 -0
  289. package/dist/workers/worker-agent-integration.d.ts.map +1 -0
  290. package/dist/workers/worker-agent-integration.js +471 -0
  291. package/dist/workers/worker-agent-integration.js.map +1 -0
  292. package/dist/workers/worker-benchmarks.d.ts +88 -0
  293. package/dist/workers/worker-benchmarks.d.ts.map +1 -0
  294. package/dist/workers/worker-benchmarks.js +452 -0
  295. package/dist/workers/worker-benchmarks.js.map +1 -0
  296. package/dist/workers/worker-registry.d.ts +85 -0
  297. package/dist/workers/worker-registry.d.ts.map +1 -0
  298. package/dist/workers/worker-registry.js +547 -0
  299. package/dist/workers/worker-registry.js.map +1 -0
  300. package/docs/embeddings/EMBEDDING_GEOMETRY.md +935 -0
  301. package/package.json +27 -9
  302. package/scripts/postinstall.js +45 -4
  303. package/wasm/reasoningbank/reasoningbank_wasm.js +1 -1
  304. package/wasm/reasoningbank/reasoningbank_wasm_bg.js +54 -54
  305. package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm +0 -0
  306. package/wasm/reasoningbank/reasoningbank_wasm_bg.wasm.d.ts +4 -3
  307. package/.claude/agents/test-neural.md +0 -14
  308. /package/.claude/agents/analysis/{code-review/analyze-code-quality.md → analyze-code-quality.md} +0 -0
  309. /package/.claude/agents/architecture/{system-design/arch-system-design.md → arch-system-design.md} +0 -0
  310. /package/.claude/agents/data/{ml/data-ml-model.md → data-ml-model.md} +0 -0
  311. /package/.claude/agents/development/{backend/dev-backend-api.md → dev-backend-api.md} +0 -0
  312. /package/.claude/agents/devops/{ci-cd/ops-cicd-github.md → ops-cicd-github.md} +0 -0
  313. /package/.claude/agents/documentation/{api-docs/docs-api-openapi.md → docs-api-openapi.md} +0 -0
  314. /package/.claude/agents/specialized/{mobile/spec-mobile-react-native.md → spec-mobile-react-native.md} +0 -0
  315. /package/.claude/agents/testing/{validation/production-validator.md → production-validator.md} +0 -0
  316. /package/.claude/agents/testing/{unit/tdd-london-swarm.md → tdd-london-swarm.md} +0 -0
@@ -0,0 +1,471 @@
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 { modelCache } from '../utils/model-cache.js';
11
+ // ============================================================================
12
+ // Agent Capability Registry
13
+ // ============================================================================
14
+ const AGENT_CAPABILITIES = new Map([
15
+ ['researcher', {
16
+ name: 'researcher',
17
+ description: 'Deep research and pattern discovery',
18
+ triggers: ['ultralearn', 'deepdive', 'map'],
19
+ priority: 'high',
20
+ memoryPatterns: ['research/*', 'patterns/*', 'context/*'],
21
+ benchmarkThresholds: [
22
+ { metric: 'p95_latency', target: 500, unit: 'ms', direction: 'below' },
23
+ { metric: 'memory_mb', target: 256, unit: 'MB', direction: 'below' }
24
+ ]
25
+ }],
26
+ ['coder', {
27
+ name: 'coder',
28
+ description: 'Code implementation and optimization',
29
+ triggers: ['optimize', 'refactor'],
30
+ priority: 'high',
31
+ memoryPatterns: ['code/*', 'implementations/*', 'patterns/code/*'],
32
+ benchmarkThresholds: [
33
+ { metric: 'p95_latency', target: 300, unit: 'ms', direction: 'below' },
34
+ { metric: 'quality_score', target: 0.85, unit: '%', direction: 'above' }
35
+ ]
36
+ }],
37
+ ['tester', {
38
+ name: 'tester',
39
+ description: 'Test coverage and gap analysis',
40
+ triggers: ['testgaps', 'audit'],
41
+ priority: 'medium',
42
+ memoryPatterns: ['tests/*', 'coverage/*', 'quality/*'],
43
+ benchmarkThresholds: [
44
+ { metric: 'coverage', target: 80, unit: '%', direction: 'above' },
45
+ { metric: 'p95_latency', target: 400, unit: 'ms', direction: 'below' }
46
+ ]
47
+ }],
48
+ ['security-analyst', {
49
+ name: 'security-analyst',
50
+ description: 'Security analysis and vulnerability detection',
51
+ triggers: ['audit', 'deepdive'],
52
+ priority: 'critical',
53
+ memoryPatterns: ['security/*', 'vulnerabilities/*', 'audit/*'],
54
+ benchmarkThresholds: [
55
+ { metric: 'scan_coverage', target: 95, unit: '%', direction: 'above' },
56
+ { metric: 'p95_latency', target: 1000, unit: 'ms', direction: 'below' }
57
+ ]
58
+ }],
59
+ ['performance-analyzer', {
60
+ name: 'performance-analyzer',
61
+ description: 'Performance analysis and optimization recommendations',
62
+ triggers: ['benchmark', 'optimize'],
63
+ priority: 'medium',
64
+ memoryPatterns: ['performance/*', 'metrics/*', 'benchmarks/*'],
65
+ benchmarkThresholds: [
66
+ { metric: 'analysis_depth', target: 10, unit: 'ops/s', direction: 'above' }
67
+ ]
68
+ }],
69
+ ['documenter', {
70
+ name: 'documenter',
71
+ description: 'Documentation generation and maintenance',
72
+ triggers: ['document'],
73
+ priority: 'low',
74
+ memoryPatterns: ['docs/*', 'api/*', 'readme/*'],
75
+ benchmarkThresholds: [
76
+ { metric: 'p95_latency', target: 600, unit: 'ms', direction: 'below' }
77
+ ]
78
+ }]
79
+ ]);
80
+ // ============================================================================
81
+ // Worker-Agent Mappings
82
+ // ============================================================================
83
+ const WORKER_AGENT_MAPPINGS = new Map([
84
+ ['ultralearn', {
85
+ trigger: 'ultralearn',
86
+ recommendedAgents: ['researcher', 'coder'],
87
+ fallbackAgents: ['planner'],
88
+ pipelinePhases: ['file-discovery', 'pattern-discovery', 'vectorization', 'summarization'],
89
+ memoryKeyPattern: 'ultralearn/{topic}/{phase}'
90
+ }],
91
+ ['optimize', {
92
+ trigger: 'optimize',
93
+ recommendedAgents: ['performance-analyzer', 'coder'],
94
+ fallbackAgents: ['researcher'],
95
+ pipelinePhases: ['static-analysis', 'performance-analysis', 'pattern-extraction'],
96
+ memoryKeyPattern: 'optimize/{topic}/{metric}'
97
+ }],
98
+ ['audit', {
99
+ trigger: 'audit',
100
+ recommendedAgents: ['security-analyst', 'tester'],
101
+ fallbackAgents: ['reviewer'],
102
+ pipelinePhases: ['security-analysis', 'secret-detection', 'vulnerability-scan'],
103
+ memoryKeyPattern: 'audit/{topic}/{finding}'
104
+ }],
105
+ ['benchmark', {
106
+ trigger: 'benchmark',
107
+ recommendedAgents: ['performance-analyzer'],
108
+ fallbackAgents: ['coder', 'tester'],
109
+ pipelinePhases: ['performance-analysis', 'metrics-collection', 'report-generation'],
110
+ memoryKeyPattern: 'benchmark/{topic}/{metric}'
111
+ }],
112
+ ['testgaps', {
113
+ trigger: 'testgaps',
114
+ recommendedAgents: ['tester'],
115
+ fallbackAgents: ['coder'],
116
+ pipelinePhases: ['file-discovery', 'coverage-analysis', 'gap-detection'],
117
+ memoryKeyPattern: 'testgaps/{module}/{coverage}'
118
+ }],
119
+ ['document', {
120
+ trigger: 'document',
121
+ recommendedAgents: ['documenter', 'researcher'],
122
+ fallbackAgents: ['coder'],
123
+ pipelinePhases: ['api-discovery', 'doc-generation', 'indexing'],
124
+ memoryKeyPattern: 'docs/{topic}/{section}'
125
+ }],
126
+ ['deepdive', {
127
+ trigger: 'deepdive',
128
+ recommendedAgents: ['researcher', 'security-analyst'],
129
+ fallbackAgents: ['coder'],
130
+ pipelinePhases: ['call-graph', 'dependency-graph', 'trace-analysis'],
131
+ memoryKeyPattern: 'deepdive/{topic}/{level}'
132
+ }],
133
+ ['refactor', {
134
+ trigger: 'refactor',
135
+ recommendedAgents: ['coder', 'reviewer'],
136
+ fallbackAgents: ['researcher'],
137
+ pipelinePhases: ['complexity-analysis', 'code-smell-detection', 'pattern-extraction'],
138
+ memoryKeyPattern: 'refactor/{topic}/{improvement}'
139
+ }],
140
+ ['map', {
141
+ trigger: 'map',
142
+ recommendedAgents: ['researcher'],
143
+ fallbackAgents: ['coder'],
144
+ pipelinePhases: ['dependency-discovery', 'graph-build', 'indexing'],
145
+ memoryKeyPattern: 'map/{module}/{relationship}'
146
+ }],
147
+ ['preload', {
148
+ trigger: 'preload',
149
+ recommendedAgents: ['researcher'],
150
+ fallbackAgents: [],
151
+ pipelinePhases: ['file-discovery', 'vectorization'],
152
+ memoryKeyPattern: 'preload/{context}/{file}'
153
+ }],
154
+ ['predict', {
155
+ trigger: 'predict',
156
+ recommendedAgents: ['performance-analyzer'],
157
+ fallbackAgents: ['researcher'],
158
+ pipelinePhases: ['pattern-discovery', 'prediction'],
159
+ memoryKeyPattern: 'predict/{context}/{next}'
160
+ }],
161
+ ['consolidate', {
162
+ trigger: 'consolidate',
163
+ recommendedAgents: ['researcher'],
164
+ fallbackAgents: [],
165
+ pipelinePhases: ['pattern-extraction', 'pattern-storage'],
166
+ memoryKeyPattern: 'consolidate/{session}/{pattern}'
167
+ }]
168
+ ]);
169
+ // ============================================================================
170
+ // Performance Tracking
171
+ // ============================================================================
172
+ const agentPerformanceProfiles = new Map();
173
+ function updateAgentPerformance(agentName, latencyMs, success, memoryMB, quality) {
174
+ const existing = agentPerformanceProfiles.get(agentName);
175
+ const count = existing?.executionCount || 0;
176
+ // Exponential moving average
177
+ const alpha = 0.2;
178
+ if (existing) {
179
+ existing.avgLatencyMs = alpha * latencyMs + (1 - alpha) * existing.avgLatencyMs;
180
+ existing.p95LatencyMs = Math.max(latencyMs, existing.p95LatencyMs * 0.95);
181
+ existing.successRate = alpha * (success ? 1 : 0) + (1 - alpha) * existing.successRate;
182
+ existing.memoryUsageMB = alpha * memoryMB + (1 - alpha) * existing.memoryUsageMB;
183
+ existing.qualityScore = alpha * quality + (1 - alpha) * existing.qualityScore;
184
+ existing.executionCount = count + 1;
185
+ existing.lastExecuted = Date.now();
186
+ }
187
+ else {
188
+ agentPerformanceProfiles.set(agentName, {
189
+ agentName,
190
+ capabilities: AGENT_CAPABILITIES.get(agentName)?.triggers || [],
191
+ avgLatencyMs: latencyMs,
192
+ p95LatencyMs: latencyMs,
193
+ successRate: success ? 1 : 0,
194
+ memoryUsageMB: memoryMB,
195
+ qualityScore: quality,
196
+ executionCount: 1,
197
+ lastExecuted: Date.now()
198
+ });
199
+ }
200
+ }
201
+ // ============================================================================
202
+ // Worker-Agent Integration Manager
203
+ // ============================================================================
204
+ export class WorkerAgentIntegration {
205
+ memoryPatterns = new Map();
206
+ feedbackQueue = [];
207
+ /**
208
+ * Get recommended agents for a worker trigger
209
+ */
210
+ getRecommendedAgents(trigger) {
211
+ const mapping = WORKER_AGENT_MAPPINGS.get(trigger);
212
+ if (!mapping) {
213
+ return {
214
+ primary: ['researcher'],
215
+ fallback: [],
216
+ phases: ['file-discovery', 'summarization'],
217
+ memoryPattern: `${trigger}/{topic}/{phase}`
218
+ };
219
+ }
220
+ // Sort by performance if we have data
221
+ const sortedPrimary = [...mapping.recommendedAgents].sort((a, b) => {
222
+ const profA = agentPerformanceProfiles.get(a);
223
+ const profB = agentPerformanceProfiles.get(b);
224
+ if (!profA)
225
+ return 1;
226
+ if (!profB)
227
+ return -1;
228
+ return profB.qualityScore - profA.qualityScore;
229
+ });
230
+ return {
231
+ primary: sortedPrimary,
232
+ fallback: mapping.fallbackAgents,
233
+ phases: mapping.pipelinePhases,
234
+ memoryPattern: mapping.memoryKeyPattern
235
+ };
236
+ }
237
+ /**
238
+ * Get agent capabilities for matching
239
+ */
240
+ getAgentCapabilities(agentName) {
241
+ return AGENT_CAPABILITIES.get(agentName);
242
+ }
243
+ /**
244
+ * Find best agent for a given trigger based on performance history
245
+ */
246
+ selectBestAgent(trigger) {
247
+ const { primary, fallback } = this.getRecommendedAgents(trigger);
248
+ const candidates = [...primary, ...fallback];
249
+ if (candidates.length === 0) {
250
+ return {
251
+ agent: 'researcher',
252
+ confidence: 0.5,
253
+ reasoning: 'Default agent - no specific mapping'
254
+ };
255
+ }
256
+ // Find best performing agent
257
+ let bestAgent = candidates[0];
258
+ let bestScore = 0;
259
+ for (const agent of candidates) {
260
+ const profile = agentPerformanceProfiles.get(agent);
261
+ if (profile) {
262
+ // Combined score: quality * success_rate * (1 / latency_factor)
263
+ const latencyFactor = Math.max(1, profile.avgLatencyMs / 100);
264
+ const score = profile.qualityScore * profile.successRate * (1 / latencyFactor);
265
+ if (score > bestScore) {
266
+ bestScore = score;
267
+ bestAgent = agent;
268
+ }
269
+ }
270
+ }
271
+ const profile = agentPerformanceProfiles.get(bestAgent);
272
+ const confidence = profile
273
+ ? Math.min(0.95, 0.5 + (profile.executionCount * 0.01) + (profile.qualityScore * 0.4))
274
+ : 0.6;
275
+ return {
276
+ agent: bestAgent,
277
+ confidence,
278
+ reasoning: profile
279
+ ? `Selected based on ${profile.executionCount} executions with ${(profile.successRate * 100).toFixed(1)}% success`
280
+ : 'No performance history - using default recommendation'
281
+ };
282
+ }
283
+ /**
284
+ * Record agent execution feedback for learning
285
+ */
286
+ recordFeedback(trigger, agentName, success, latencyMs, qualityScore, memoryMB = 0) {
287
+ updateAgentPerformance(agentName, latencyMs, success, memoryMB, qualityScore);
288
+ this.feedbackQueue.push({
289
+ trigger,
290
+ agent: agentName,
291
+ success,
292
+ latency: latencyMs,
293
+ quality: qualityScore
294
+ });
295
+ // Process feedback queue periodically
296
+ if (this.feedbackQueue.length > 50) {
297
+ this.processFeedbackQueue();
298
+ }
299
+ }
300
+ /**
301
+ * Process accumulated feedback for learning
302
+ */
303
+ processFeedbackQueue() {
304
+ // Group by trigger and agent
305
+ const grouped = new Map();
306
+ for (const feedback of this.feedbackQueue) {
307
+ const key = `${feedback.trigger}:${feedback.agent}`;
308
+ const group = grouped.get(key) || [];
309
+ group.push(feedback);
310
+ grouped.set(key, group);
311
+ }
312
+ // Calculate aggregate metrics
313
+ for (const [key, feedbacks] of grouped) {
314
+ const avgQuality = feedbacks.reduce((sum, f) => sum + f.quality, 0) / feedbacks.length;
315
+ const avgLatency = feedbacks.reduce((sum, f) => sum + f.latency, 0) / feedbacks.length;
316
+ const successRate = feedbacks.filter(f => f.success).length / feedbacks.length;
317
+ // Store as pattern for future retrieval
318
+ const patternKey = `learning/agent-performance/${key.replace(':', '/')}`;
319
+ this.memoryPatterns.set(patternKey, [{
320
+ avgQuality,
321
+ avgLatency,
322
+ successRate,
323
+ sampleCount: feedbacks.length,
324
+ updatedAt: Date.now()
325
+ }]);
326
+ }
327
+ this.feedbackQueue = [];
328
+ }
329
+ /**
330
+ * Get performance metrics for all agents
331
+ */
332
+ getAgentMetrics() {
333
+ return Array.from(agentPerformanceProfiles.values());
334
+ }
335
+ /**
336
+ * Get performance metrics for specific trigger
337
+ */
338
+ getTriggerMetrics(trigger) {
339
+ const { primary, fallback } = this.getRecommendedAgents(trigger);
340
+ const agents = [...primary, ...fallback];
341
+ let totalExecutions = 0;
342
+ let totalLatency = 0;
343
+ let successCount = 0;
344
+ const agentScores = [];
345
+ for (const agent of agents) {
346
+ const profile = agentPerformanceProfiles.get(agent);
347
+ if (profile) {
348
+ totalExecutions += profile.executionCount;
349
+ totalLatency += profile.avgLatencyMs * profile.executionCount;
350
+ successCount += profile.successRate * profile.executionCount;
351
+ agentScores.push({
352
+ agent,
353
+ score: profile.qualityScore * profile.successRate
354
+ });
355
+ }
356
+ }
357
+ return {
358
+ trigger,
359
+ totalExecutions,
360
+ avgLatencyMs: totalExecutions > 0 ? totalLatency / totalExecutions : 0,
361
+ successRate: totalExecutions > 0 ? successCount / totalExecutions : 0,
362
+ topAgents: agentScores.sort((a, b) => b.score - a.score).slice(0, 3)
363
+ };
364
+ }
365
+ /**
366
+ * Get benchmark thresholds for an agent
367
+ */
368
+ getBenchmarkThresholds(agentName) {
369
+ return AGENT_CAPABILITIES.get(agentName)?.benchmarkThresholds || [];
370
+ }
371
+ /**
372
+ * Check if agent meets benchmark thresholds
373
+ */
374
+ checkBenchmarkCompliance(agentName) {
375
+ const thresholds = this.getBenchmarkThresholds(agentName);
376
+ const profile = agentPerformanceProfiles.get(agentName);
377
+ if (!profile || thresholds.length === 0) {
378
+ return { compliant: true, violations: [] };
379
+ }
380
+ const violations = [];
381
+ for (const threshold of thresholds) {
382
+ let actual;
383
+ switch (threshold.metric) {
384
+ case 'p95_latency':
385
+ actual = profile.p95LatencyMs;
386
+ break;
387
+ case 'memory_mb':
388
+ actual = profile.memoryUsageMB;
389
+ break;
390
+ case 'quality_score':
391
+ actual = profile.qualityScore;
392
+ break;
393
+ default:
394
+ continue;
395
+ }
396
+ const passed = threshold.direction === 'below'
397
+ ? actual <= threshold.target
398
+ : actual >= threshold.target;
399
+ if (!passed) {
400
+ violations.push({
401
+ metric: threshold.metric,
402
+ actual,
403
+ target: threshold.target
404
+ });
405
+ }
406
+ }
407
+ return {
408
+ compliant: violations.length === 0,
409
+ violations
410
+ };
411
+ }
412
+ /**
413
+ * Generate memory key for worker-agent communication
414
+ */
415
+ generateMemoryKey(trigger, topic, phase) {
416
+ const mapping = WORKER_AGENT_MAPPINGS.get(trigger);
417
+ const pattern = mapping?.memoryKeyPattern || `${trigger}/{topic}/{phase}`;
418
+ return pattern
419
+ .replace('{topic}', topic || 'default')
420
+ .replace('{phase}', phase)
421
+ .replace('{metric}', phase)
422
+ .replace('{finding}', phase)
423
+ .replace('{module}', topic || 'main')
424
+ .replace('{section}', phase)
425
+ .replace('{level}', '0')
426
+ .replace('{improvement}', phase)
427
+ .replace('{relationship}', phase)
428
+ .replace('{context}', topic || 'default')
429
+ .replace('{file}', phase)
430
+ .replace('{next}', phase)
431
+ .replace('{pattern}', phase)
432
+ .replace('{coverage}', phase);
433
+ }
434
+ /**
435
+ * Get integration statistics
436
+ */
437
+ getStats() {
438
+ const profiles = Array.from(agentPerformanceProfiles.values());
439
+ const totalExecutions = profiles.reduce((sum, p) => sum + p.executionCount, 0);
440
+ const avgQuality = profiles.length > 0
441
+ ? profiles.reduce((sum, p) => sum + p.qualityScore, 0) / profiles.length
442
+ : 0;
443
+ const cacheStats = modelCache.getStats();
444
+ return {
445
+ totalAgents: AGENT_CAPABILITIES.size,
446
+ trackedAgents: profiles.length,
447
+ totalFeedback: totalExecutions,
448
+ avgQualityScore: avgQuality,
449
+ modelCacheStats: {
450
+ hits: cacheStats.hits,
451
+ misses: cacheStats.misses,
452
+ hitRate: `${(cacheStats.hitRate * 100).toFixed(1)}%`
453
+ }
454
+ };
455
+ }
456
+ }
457
+ // Singleton instance
458
+ export const workerAgentIntegration = new WorkerAgentIntegration();
459
+ // ============================================================================
460
+ // Convenience Functions
461
+ // ============================================================================
462
+ export function getAgentForTrigger(trigger) {
463
+ return workerAgentIntegration.selectBestAgent(trigger).agent;
464
+ }
465
+ export function recordAgentPerformance(trigger, agent, success, latencyMs, quality) {
466
+ workerAgentIntegration.recordFeedback(trigger, agent, success, latencyMs, quality);
467
+ }
468
+ export function getIntegrationStats() {
469
+ return workerAgentIntegration.getStats();
470
+ }
471
+ //# sourceMappingURL=worker-agent-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-agent-integration.js","sourceRoot":"","sources":["../../src/workers/worker-agent-integration.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Worker-Agent Integration Layer\n *\n * Bridges the worker system with agent execution through:\n * - Pattern sharing via ReasoningBank\n * - Metrics-based capability matching\n * - Self-learning feedback loops\n * - Performance-aware agent selection\n */\n\nimport { WorkerInfo, WorkerTrigger, WorkerResults, WorkerContext } from './types.js';\nimport { getWorkerRegistry } from './worker-registry.js';\nimport { modelCache } from '../utils/model-cache.js';\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport interface AgentCapability {\n name: string;\n description: string;\n triggers: WorkerTrigger[];\n priority: 'low' | 'medium' | 'high' | 'critical';\n memoryPatterns: string[];\n benchmarkThresholds: BenchmarkThreshold[];\n}\n\nexport interface BenchmarkThreshold {\n metric: string;\n target: number;\n unit: 'ms' | 'ops/s' | 'MB' | '%';\n direction: 'below' | 'above';\n}\n\nexport interface AgentPerformanceProfile {\n agentName: string;\n capabilities: string[];\n avgLatencyMs: number;\n p95LatencyMs: number;\n successRate: number;\n memoryUsageMB: number;\n qualityScore: number;\n executionCount: number;\n lastExecuted: number;\n}\n\nexport interface WorkerAgentMapping {\n trigger: WorkerTrigger;\n recommendedAgents: string[];\n fallbackAgents: string[];\n pipelinePhases: string[];\n memoryKeyPattern: string;\n}\n\n// ============================================================================\n// Agent Capability Registry\n// ============================================================================\n\nconst AGENT_CAPABILITIES: Map<string, AgentCapability> = new Map([\n ['researcher', {\n name: 'researcher',\n description: 'Deep research and pattern discovery',\n triggers: ['ultralearn', 'deepdive', 'map'],\n priority: 'high',\n memoryPatterns: ['research/*', 'patterns/*', 'context/*'],\n benchmarkThresholds: [\n { metric: 'p95_latency', target: 500, unit: 'ms', direction: 'below' },\n { metric: 'memory_mb', target: 256, unit: 'MB', direction: 'below' }\n ]\n }],\n ['coder', {\n name: 'coder',\n description: 'Code implementation and optimization',\n triggers: ['optimize', 'refactor'],\n priority: 'high',\n memoryPatterns: ['code/*', 'implementations/*', 'patterns/code/*'],\n benchmarkThresholds: [\n { metric: 'p95_latency', target: 300, unit: 'ms', direction: 'below' },\n { metric: 'quality_score', target: 0.85, unit: '%', direction: 'above' }\n ]\n }],\n ['tester', {\n name: 'tester',\n description: 'Test coverage and gap analysis',\n triggers: ['testgaps', 'audit'],\n priority: 'medium',\n memoryPatterns: ['tests/*', 'coverage/*', 'quality/*'],\n benchmarkThresholds: [\n { metric: 'coverage', target: 80, unit: '%', direction: 'above' },\n { metric: 'p95_latency', target: 400, unit: 'ms', direction: 'below' }\n ]\n }],\n ['security-analyst', {\n name: 'security-analyst',\n description: 'Security analysis and vulnerability detection',\n triggers: ['audit', 'deepdive'],\n priority: 'critical',\n memoryPatterns: ['security/*', 'vulnerabilities/*', 'audit/*'],\n benchmarkThresholds: [\n { metric: 'scan_coverage', target: 95, unit: '%', direction: 'above' },\n { metric: 'p95_latency', target: 1000, unit: 'ms', direction: 'below' }\n ]\n }],\n ['performance-analyzer', {\n name: 'performance-analyzer',\n description: 'Performance analysis and optimization recommendations',\n triggers: ['benchmark', 'optimize'],\n priority: 'medium',\n memoryPatterns: ['performance/*', 'metrics/*', 'benchmarks/*'],\n benchmarkThresholds: [\n { metric: 'analysis_depth', target: 10, unit: 'ops/s', direction: 'above' }\n ]\n }],\n ['documenter', {\n name: 'documenter',\n description: 'Documentation generation and maintenance',\n triggers: ['document'],\n priority: 'low',\n memoryPatterns: ['docs/*', 'api/*', 'readme/*'],\n benchmarkThresholds: [\n { metric: 'p95_latency', target: 600, unit: 'ms', direction: 'below' }\n ]\n }]\n]);\n\n// ============================================================================\n// Worker-Agent Mappings\n// ============================================================================\n\nconst WORKER_AGENT_MAPPINGS: Map<WorkerTrigger, WorkerAgentMapping> = new Map([\n ['ultralearn', {\n trigger: 'ultralearn',\n recommendedAgents: ['researcher', 'coder'],\n fallbackAgents: ['planner'],\n pipelinePhases: ['file-discovery', 'pattern-discovery', 'vectorization', 'summarization'],\n memoryKeyPattern: 'ultralearn/{topic}/{phase}'\n }],\n ['optimize', {\n trigger: 'optimize',\n recommendedAgents: ['performance-analyzer', 'coder'],\n fallbackAgents: ['researcher'],\n pipelinePhases: ['static-analysis', 'performance-analysis', 'pattern-extraction'],\n memoryKeyPattern: 'optimize/{topic}/{metric}'\n }],\n ['audit', {\n trigger: 'audit',\n recommendedAgents: ['security-analyst', 'tester'],\n fallbackAgents: ['reviewer'],\n pipelinePhases: ['security-analysis', 'secret-detection', 'vulnerability-scan'],\n memoryKeyPattern: 'audit/{topic}/{finding}'\n }],\n ['benchmark', {\n trigger: 'benchmark',\n recommendedAgents: ['performance-analyzer'],\n fallbackAgents: ['coder', 'tester'],\n pipelinePhases: ['performance-analysis', 'metrics-collection', 'report-generation'],\n memoryKeyPattern: 'benchmark/{topic}/{metric}'\n }],\n ['testgaps', {\n trigger: 'testgaps',\n recommendedAgents: ['tester'],\n fallbackAgents: ['coder'],\n pipelinePhases: ['file-discovery', 'coverage-analysis', 'gap-detection'],\n memoryKeyPattern: 'testgaps/{module}/{coverage}'\n }],\n ['document', {\n trigger: 'document',\n recommendedAgents: ['documenter', 'researcher'],\n fallbackAgents: ['coder'],\n pipelinePhases: ['api-discovery', 'doc-generation', 'indexing'],\n memoryKeyPattern: 'docs/{topic}/{section}'\n }],\n ['deepdive', {\n trigger: 'deepdive',\n recommendedAgents: ['researcher', 'security-analyst'],\n fallbackAgents: ['coder'],\n pipelinePhases: ['call-graph', 'dependency-graph', 'trace-analysis'],\n memoryKeyPattern: 'deepdive/{topic}/{level}'\n }],\n ['refactor', {\n trigger: 'refactor',\n recommendedAgents: ['coder', 'reviewer'],\n fallbackAgents: ['researcher'],\n pipelinePhases: ['complexity-analysis', 'code-smell-detection', 'pattern-extraction'],\n memoryKeyPattern: 'refactor/{topic}/{improvement}'\n }],\n ['map', {\n trigger: 'map',\n recommendedAgents: ['researcher'],\n fallbackAgents: ['coder'],\n pipelinePhases: ['dependency-discovery', 'graph-build', 'indexing'],\n memoryKeyPattern: 'map/{module}/{relationship}'\n }],\n ['preload', {\n trigger: 'preload',\n recommendedAgents: ['researcher'],\n fallbackAgents: [],\n pipelinePhases: ['file-discovery', 'vectorization'],\n memoryKeyPattern: 'preload/{context}/{file}'\n }],\n ['predict', {\n trigger: 'predict',\n recommendedAgents: ['performance-analyzer'],\n fallbackAgents: ['researcher'],\n pipelinePhases: ['pattern-discovery', 'prediction'],\n memoryKeyPattern: 'predict/{context}/{next}'\n }],\n ['consolidate', {\n trigger: 'consolidate',\n recommendedAgents: ['researcher'],\n fallbackAgents: [],\n pipelinePhases: ['pattern-extraction', 'pattern-storage'],\n memoryKeyPattern: 'consolidate/{session}/{pattern}'\n }]\n]);\n\n// ============================================================================\n// Performance Tracking\n// ============================================================================\n\nconst agentPerformanceProfiles: Map<string, AgentPerformanceProfile> = new Map();\n\nfunction updateAgentPerformance(\n agentName: string,\n latencyMs: number,\n success: boolean,\n memoryMB: number,\n quality: number\n): void {\n const existing = agentPerformanceProfiles.get(agentName);\n const count = existing?.executionCount || 0;\n\n // Exponential moving average\n const alpha = 0.2;\n\n if (existing) {\n existing.avgLatencyMs = alpha * latencyMs + (1 - alpha) * existing.avgLatencyMs;\n existing.p95LatencyMs = Math.max(latencyMs, existing.p95LatencyMs * 0.95);\n existing.successRate = alpha * (success ? 1 : 0) + (1 - alpha) * existing.successRate;\n existing.memoryUsageMB = alpha * memoryMB + (1 - alpha) * existing.memoryUsageMB;\n existing.qualityScore = alpha * quality + (1 - alpha) * existing.qualityScore;\n existing.executionCount = count + 1;\n existing.lastExecuted = Date.now();\n } else {\n agentPerformanceProfiles.set(agentName, {\n agentName,\n capabilities: AGENT_CAPABILITIES.get(agentName)?.triggers || [],\n avgLatencyMs: latencyMs,\n p95LatencyMs: latencyMs,\n successRate: success ? 1 : 0,\n memoryUsageMB: memoryMB,\n qualityScore: quality,\n executionCount: 1,\n lastExecuted: Date.now()\n });\n }\n}\n\n// ============================================================================\n// Worker-Agent Integration Manager\n// ============================================================================\n\nexport class WorkerAgentIntegration {\n private memoryPatterns: Map<string, unknown[]> = new Map();\n private feedbackQueue: Array<{\n trigger: WorkerTrigger;\n agent: string;\n success: boolean;\n latency: number;\n quality: number;\n }> = [];\n\n /**\n * Get recommended agents for a worker trigger\n */\n getRecommendedAgents(trigger: WorkerTrigger): {\n primary: string[];\n fallback: string[];\n phases: string[];\n memoryPattern: string;\n } {\n const mapping = WORKER_AGENT_MAPPINGS.get(trigger);\n if (!mapping) {\n return {\n primary: ['researcher'],\n fallback: [],\n phases: ['file-discovery', 'summarization'],\n memoryPattern: `${trigger}/{topic}/{phase}`\n };\n }\n\n // Sort by performance if we have data\n const sortedPrimary = [...mapping.recommendedAgents].sort((a, b) => {\n const profA = agentPerformanceProfiles.get(a);\n const profB = agentPerformanceProfiles.get(b);\n if (!profA) return 1;\n if (!profB) return -1;\n return profB.qualityScore - profA.qualityScore;\n });\n\n return {\n primary: sortedPrimary,\n fallback: mapping.fallbackAgents,\n phases: mapping.pipelinePhases,\n memoryPattern: mapping.memoryKeyPattern\n };\n }\n\n /**\n * Get agent capabilities for matching\n */\n getAgentCapabilities(agentName: string): AgentCapability | undefined {\n return AGENT_CAPABILITIES.get(agentName);\n }\n\n /**\n * Find best agent for a given trigger based on performance history\n */\n selectBestAgent(trigger: WorkerTrigger): {\n agent: string;\n confidence: number;\n reasoning: string;\n } {\n const { primary, fallback } = this.getRecommendedAgents(trigger);\n const candidates = [...primary, ...fallback];\n\n if (candidates.length === 0) {\n return {\n agent: 'researcher',\n confidence: 0.5,\n reasoning: 'Default agent - no specific mapping'\n };\n }\n\n // Find best performing agent\n let bestAgent = candidates[0];\n let bestScore = 0;\n\n for (const agent of candidates) {\n const profile = agentPerformanceProfiles.get(agent);\n if (profile) {\n // Combined score: quality * success_rate * (1 / latency_factor)\n const latencyFactor = Math.max(1, profile.avgLatencyMs / 100);\n const score = profile.qualityScore * profile.successRate * (1 / latencyFactor);\n if (score > bestScore) {\n bestScore = score;\n bestAgent = agent;\n }\n }\n }\n\n const profile = agentPerformanceProfiles.get(bestAgent);\n const confidence = profile\n ? Math.min(0.95, 0.5 + (profile.executionCount * 0.01) + (profile.qualityScore * 0.4))\n : 0.6;\n\n return {\n agent: bestAgent,\n confidence,\n reasoning: profile\n ? `Selected based on ${profile.executionCount} executions with ${(profile.successRate * 100).toFixed(1)}% success`\n : 'No performance history - using default recommendation'\n };\n }\n\n /**\n * Record agent execution feedback for learning\n */\n recordFeedback(\n trigger: WorkerTrigger,\n agentName: string,\n success: boolean,\n latencyMs: number,\n qualityScore: number,\n memoryMB: number = 0\n ): void {\n updateAgentPerformance(agentName, latencyMs, success, memoryMB, qualityScore);\n\n this.feedbackQueue.push({\n trigger,\n agent: agentName,\n success,\n latency: latencyMs,\n quality: qualityScore\n });\n\n // Process feedback queue periodically\n if (this.feedbackQueue.length > 50) {\n this.processFeedbackQueue();\n }\n }\n\n /**\n * Process accumulated feedback for learning\n */\n private processFeedbackQueue(): void {\n // Group by trigger and agent\n const grouped = new Map<string, typeof this.feedbackQueue>();\n\n for (const feedback of this.feedbackQueue) {\n const key = `${feedback.trigger}:${feedback.agent}`;\n const group = grouped.get(key) || [];\n group.push(feedback);\n grouped.set(key, group);\n }\n\n // Calculate aggregate metrics\n for (const [key, feedbacks] of grouped) {\n const avgQuality = feedbacks.reduce((sum, f) => sum + f.quality, 0) / feedbacks.length;\n const avgLatency = feedbacks.reduce((sum, f) => sum + f.latency, 0) / feedbacks.length;\n const successRate = feedbacks.filter(f => f.success).length / feedbacks.length;\n\n // Store as pattern for future retrieval\n const patternKey = `learning/agent-performance/${key.replace(':', '/')}`;\n this.memoryPatterns.set(patternKey, [{\n avgQuality,\n avgLatency,\n successRate,\n sampleCount: feedbacks.length,\n updatedAt: Date.now()\n }]);\n }\n\n this.feedbackQueue = [];\n }\n\n /**\n * Get performance metrics for all agents\n */\n getAgentMetrics(): AgentPerformanceProfile[] {\n return Array.from(agentPerformanceProfiles.values());\n }\n\n /**\n * Get performance metrics for specific trigger\n */\n getTriggerMetrics(trigger: WorkerTrigger): {\n trigger: WorkerTrigger;\n totalExecutions: number;\n avgLatencyMs: number;\n successRate: number;\n topAgents: Array<{ agent: string; score: number }>;\n } {\n const { primary, fallback } = this.getRecommendedAgents(trigger);\n const agents = [...primary, ...fallback];\n\n let totalExecutions = 0;\n let totalLatency = 0;\n let successCount = 0;\n\n const agentScores: Array<{ agent: string; score: number }> = [];\n\n for (const agent of agents) {\n const profile = agentPerformanceProfiles.get(agent);\n if (profile) {\n totalExecutions += profile.executionCount;\n totalLatency += profile.avgLatencyMs * profile.executionCount;\n successCount += profile.successRate * profile.executionCount;\n agentScores.push({\n agent,\n score: profile.qualityScore * profile.successRate\n });\n }\n }\n\n return {\n trigger,\n totalExecutions,\n avgLatencyMs: totalExecutions > 0 ? totalLatency / totalExecutions : 0,\n successRate: totalExecutions > 0 ? successCount / totalExecutions : 0,\n topAgents: agentScores.sort((a, b) => b.score - a.score).slice(0, 3)\n };\n }\n\n /**\n * Get benchmark thresholds for an agent\n */\n getBenchmarkThresholds(agentName: string): BenchmarkThreshold[] {\n return AGENT_CAPABILITIES.get(agentName)?.benchmarkThresholds || [];\n }\n\n /**\n * Check if agent meets benchmark thresholds\n */\n checkBenchmarkCompliance(agentName: string): {\n compliant: boolean;\n violations: Array<{ metric: string; actual: number; target: number }>;\n } {\n const thresholds = this.getBenchmarkThresholds(agentName);\n const profile = agentPerformanceProfiles.get(agentName);\n\n if (!profile || thresholds.length === 0) {\n return { compliant: true, violations: [] };\n }\n\n const violations: Array<{ metric: string; actual: number; target: number }> = [];\n\n for (const threshold of thresholds) {\n let actual: number;\n switch (threshold.metric) {\n case 'p95_latency':\n actual = profile.p95LatencyMs;\n break;\n case 'memory_mb':\n actual = profile.memoryUsageMB;\n break;\n case 'quality_score':\n actual = profile.qualityScore;\n break;\n default:\n continue;\n }\n\n const passed = threshold.direction === 'below'\n ? actual <= threshold.target\n : actual >= threshold.target;\n\n if (!passed) {\n violations.push({\n metric: threshold.metric,\n actual,\n target: threshold.target\n });\n }\n }\n\n return {\n compliant: violations.length === 0,\n violations\n };\n }\n\n /**\n * Generate memory key for worker-agent communication\n */\n generateMemoryKey(trigger: WorkerTrigger, topic: string, phase: string): string {\n const mapping = WORKER_AGENT_MAPPINGS.get(trigger);\n const pattern = mapping?.memoryKeyPattern || `${trigger}/{topic}/{phase}`;\n\n return pattern\n .replace('{topic}', topic || 'default')\n .replace('{phase}', phase)\n .replace('{metric}', phase)\n .replace('{finding}', phase)\n .replace('{module}', topic || 'main')\n .replace('{section}', phase)\n .replace('{level}', '0')\n .replace('{improvement}', phase)\n .replace('{relationship}', phase)\n .replace('{context}', topic || 'default')\n .replace('{file}', phase)\n .replace('{next}', phase)\n .replace('{pattern}', phase)\n .replace('{coverage}', phase);\n }\n\n /**\n * Get integration statistics\n */\n getStats(): {\n totalAgents: number;\n trackedAgents: number;\n totalFeedback: number;\n avgQualityScore: number;\n modelCacheStats: { hits: number; misses: number; hitRate: string };\n } {\n const profiles = Array.from(agentPerformanceProfiles.values());\n const totalExecutions = profiles.reduce((sum, p) => sum + p.executionCount, 0);\n const avgQuality = profiles.length > 0\n ? profiles.reduce((sum, p) => sum + p.qualityScore, 0) / profiles.length\n : 0;\n\n const cacheStats = modelCache.getStats();\n\n return {\n totalAgents: AGENT_CAPABILITIES.size,\n trackedAgents: profiles.length,\n totalFeedback: totalExecutions,\n avgQualityScore: avgQuality,\n modelCacheStats: {\n hits: cacheStats.hits,\n misses: cacheStats.misses,\n hitRate: `${(cacheStats.hitRate * 100).toFixed(1)}%`\n }\n };\n }\n}\n\n// Singleton instance\nexport const workerAgentIntegration = new WorkerAgentIntegration();\n\n// ============================================================================\n// Convenience Functions\n// ============================================================================\n\nexport function getAgentForTrigger(trigger: WorkerTrigger): string {\n return workerAgentIntegration.selectBestAgent(trigger).agent;\n}\n\nexport function recordAgentPerformance(\n trigger: WorkerTrigger,\n agent: string,\n success: boolean,\n latencyMs: number,\n quality: number\n): void {\n workerAgentIntegration.recordFeedback(trigger, agent, success, latencyMs, quality);\n}\n\nexport function getIntegrationStats() {\n return workerAgentIntegration.getStats();\n}\n"]}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Worker Benchmark System
3
+ *
4
+ * Comprehensive performance benchmarking for the worker system including:
5
+ * - Dispatch latency measurement
6
+ * - Phase execution timing
7
+ * - Memory tracking
8
+ * - Throughput analysis
9
+ * - Integration with agents
10
+ */
11
+ export interface BenchmarkResult {
12
+ name: string;
13
+ operation: string;
14
+ count: number;
15
+ totalTimeMs: number;
16
+ avgTimeMs: number;
17
+ minMs: number;
18
+ maxMs: number;
19
+ p50Ms: number;
20
+ p95Ms: number;
21
+ p99Ms: number;
22
+ throughput: number;
23
+ memoryDeltaMB: number;
24
+ passed: boolean;
25
+ target?: number;
26
+ details?: Record<string, unknown>;
27
+ }
28
+ export interface BenchmarkSuite {
29
+ name: string;
30
+ description: string;
31
+ timestamp: number;
32
+ results: BenchmarkResult[];
33
+ summary: {
34
+ totalTests: number;
35
+ passed: number;
36
+ failed: number;
37
+ avgLatencyMs: number;
38
+ totalDurationMs: number;
39
+ peakMemoryMB: number;
40
+ };
41
+ }
42
+ export interface LatencyBucket {
43
+ range: string;
44
+ count: number;
45
+ percentage: number;
46
+ }
47
+ export declare class WorkerBenchmarks {
48
+ private results;
49
+ /**
50
+ * Benchmark trigger detection speed
51
+ */
52
+ benchmarkTriggerDetection(iterations?: number): Promise<BenchmarkResult>;
53
+ /**
54
+ * Benchmark worker registry operations
55
+ */
56
+ benchmarkRegistryOperations(iterations?: number): Promise<BenchmarkResult>;
57
+ /**
58
+ * Benchmark agent selection performance
59
+ */
60
+ benchmarkAgentSelection(iterations?: number): Promise<BenchmarkResult>;
61
+ /**
62
+ * Benchmark model cache performance
63
+ */
64
+ benchmarkModelCache(iterations?: number): Promise<BenchmarkResult>;
65
+ /**
66
+ * Benchmark concurrent worker handling
67
+ */
68
+ benchmarkConcurrentWorkers(workerCount?: number): Promise<BenchmarkResult>;
69
+ /**
70
+ * Benchmark memory key generation
71
+ */
72
+ benchmarkMemoryKeyGeneration(iterations?: number): Promise<BenchmarkResult>;
73
+ /**
74
+ * Run full benchmark suite
75
+ */
76
+ runFullSuite(): Promise<BenchmarkSuite>;
77
+ /**
78
+ * Print formatted results
79
+ */
80
+ private printResults;
81
+ /**
82
+ * Get last results
83
+ */
84
+ getResults(): BenchmarkResult[];
85
+ }
86
+ export declare const workerBenchmarks: WorkerBenchmarks;
87
+ export declare function runBenchmarks(): Promise<BenchmarkSuite>;
88
+ //# sourceMappingURL=worker-benchmarks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-benchmarks.d.ts","sourceRoot":"","sources":["../../src/workers/worker-benchmarks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAkDD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,OAAO,CAAyB;IAExC;;OAEG;IACG,yBAAyB,CAAC,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAyDpF;;OAEG;IACG,2BAA2B,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAyErF;;OAEG;IACG,uBAAuB,CAAC,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA2ClF;;OAEG;IACG,mBAAmB,CAAC,UAAU,GAAE,MAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IAiD7E;;OAEG;IACG,0BAA0B,CAAC,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,eAAe,CAAC;IAiEpF;;OAEG;IACG,4BAA4B,CAAC,UAAU,GAAE,MAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA6CvF;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC;IAoD7C;;OAEG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,UAAU,IAAI,eAAe,EAAE;CAGhC;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC;AAMvD,wBAAsB,aAAa,IAAI,OAAO,CAAC,cAAc,CAAC,CAE7D"}