agentic-qe 3.8.4 → 3.8.6

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 (198) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +12 -0
  3. package/dist/cli/bundle.js +694 -694
  4. package/dist/cli/commands/hooks-handlers/command-hooks.d.ts +12 -0
  5. package/dist/cli/commands/hooks-handlers/command-hooks.js +253 -0
  6. package/dist/cli/commands/hooks-handlers/editing-hooks.d.ts +12 -0
  7. package/dist/cli/commands/hooks-handlers/editing-hooks.js +161 -0
  8. package/dist/cli/commands/hooks-handlers/hooks-dream-learning.d.ts +57 -0
  9. package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +263 -0
  10. package/dist/cli/commands/hooks-handlers/hooks-shared.d.ts +52 -0
  11. package/dist/cli/commands/hooks-handlers/hooks-shared.js +223 -0
  12. package/dist/cli/commands/hooks-handlers/routing-hooks.d.ts +12 -0
  13. package/dist/cli/commands/hooks-handlers/routing-hooks.js +107 -0
  14. package/dist/cli/commands/hooks-handlers/session-hooks.d.ts +12 -0
  15. package/dist/cli/commands/hooks-handlers/session-hooks.js +171 -0
  16. package/dist/cli/commands/hooks-handlers/stats-hooks.d.ts +12 -0
  17. package/dist/cli/commands/hooks-handlers/stats-hooks.js +248 -0
  18. package/dist/cli/commands/hooks-handlers/task-hooks.d.ts +12 -0
  19. package/dist/cli/commands/hooks-handlers/task-hooks.js +152 -0
  20. package/dist/cli/commands/hooks.d.ts +3 -23
  21. package/dist/cli/commands/hooks.js +16 -1459
  22. package/dist/coordination/mincut/phase-executor.d.ts +27 -0
  23. package/dist/coordination/mincut/phase-executor.js +70 -0
  24. package/dist/coordination/mincut/time-crystal-analysis.d.ts +35 -0
  25. package/dist/coordination/mincut/time-crystal-analysis.js +237 -0
  26. package/dist/coordination/mincut/time-crystal-persistence.d.ts +35 -0
  27. package/dist/coordination/mincut/time-crystal-persistence.js +81 -0
  28. package/dist/coordination/mincut/time-crystal-scheduling.d.ts +34 -0
  29. package/dist/coordination/mincut/time-crystal-scheduling.js +213 -0
  30. package/dist/coordination/mincut/time-crystal-types.d.ts +278 -0
  31. package/dist/coordination/mincut/time-crystal-types.js +67 -0
  32. package/dist/coordination/mincut/time-crystal.d.ts +8 -438
  33. package/dist/coordination/mincut/time-crystal.js +87 -905
  34. package/dist/domains/base-domain-coordinator.d.ts +0 -15
  35. package/dist/domains/base-domain-coordinator.js +7 -5
  36. package/dist/domains/chaos-resilience/coordinator.d.ts +0 -4
  37. package/dist/domains/chaos-resilience/coordinator.js +24 -22
  38. package/dist/domains/chaos-resilience/services/chaos-engineer.d.ts +0 -4
  39. package/dist/domains/chaos-resilience/services/chaos-engineer.js +47 -45
  40. package/dist/domains/chaos-resilience/services/performance-profiler.d.ts +0 -4
  41. package/dist/domains/chaos-resilience/services/performance-profiler.js +10 -8
  42. package/dist/domains/code-intelligence/coordinator-consensus.d.ts +0 -3
  43. package/dist/domains/code-intelligence/coordinator-consensus.js +8 -6
  44. package/dist/domains/code-intelligence/coordinator-gnn.d.ts +0 -3
  45. package/dist/domains/code-intelligence/coordinator-gnn.js +8 -6
  46. package/dist/domains/code-intelligence/coordinator-hypergraph.d.ts +0 -3
  47. package/dist/domains/code-intelligence/coordinator-hypergraph.js +13 -11
  48. package/dist/domains/code-intelligence/coordinator.d.ts +0 -3
  49. package/dist/domains/code-intelligence/coordinator.js +21 -19
  50. package/dist/domains/code-intelligence/services/c4-model/index.d.ts +0 -3
  51. package/dist/domains/code-intelligence/services/c4-model/index.js +5 -3
  52. package/dist/domains/code-intelligence/services/knowledge-graph.d.ts +0 -6
  53. package/dist/domains/code-intelligence/services/knowledge-graph.js +4 -2
  54. package/dist/domains/code-intelligence/services/product-factors-bridge.d.ts +0 -5
  55. package/dist/domains/code-intelligence/services/product-factors-bridge.js +9 -7
  56. package/dist/domains/contract-testing/coordinator.d.ts +0 -6
  57. package/dist/domains/contract-testing/coordinator.js +25 -23
  58. package/dist/domains/contract-testing/services/contract-validator.d.ts +0 -4
  59. package/dist/domains/contract-testing/services/contract-validator.js +4 -2
  60. package/dist/domains/contract-testing/services/schema-validator.js +1 -1
  61. package/dist/domains/coverage-analysis/coordinator.js +13 -11
  62. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +4 -2
  63. package/dist/domains/coverage-analysis/services/gap-detector.js +3 -1
  64. package/dist/domains/coverage-analysis/services/hnsw-index.d.ts +0 -15
  65. package/dist/domains/coverage-analysis/services/hnsw-index.js +3 -1
  66. package/dist/domains/coverage-analysis/services/sublinear-analyzer.d.ts +0 -26
  67. package/dist/domains/coverage-analysis/services/sublinear-analyzer.js +3 -1
  68. package/dist/domains/defect-intelligence/coordinator.d.ts +1 -10
  69. package/dist/domains/defect-intelligence/coordinator.js +5 -3
  70. package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.d.ts +0 -6
  71. package/dist/domains/defect-intelligence/services/causal-root-cause-analyzer.js +3 -1
  72. package/dist/domains/defect-intelligence/services/defect-predictor.d.ts +0 -6
  73. package/dist/domains/defect-intelligence/services/defect-predictor.js +5 -3
  74. package/dist/domains/defect-intelligence/services/pattern-learner.d.ts +0 -4
  75. package/dist/domains/defect-intelligence/services/pattern-learner.js +3 -1
  76. package/dist/domains/defect-intelligence/services/root-cause-analyzer.d.ts +0 -6
  77. package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +3 -1
  78. package/dist/domains/enterprise-integration/coordinator.js +6 -4
  79. package/dist/domains/learning-optimization/coordinator-consensus.d.ts +0 -3
  80. package/dist/domains/learning-optimization/coordinator-consensus.js +8 -6
  81. package/dist/domains/learning-optimization/coordinator.d.ts +0 -3
  82. package/dist/domains/learning-optimization/coordinator.js +15 -13
  83. package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +0 -4
  84. package/dist/domains/learning-optimization/services/learning-coordinator.js +4 -2
  85. package/dist/domains/quality-assessment/coordinator-claim-verifier.d.ts +0 -3
  86. package/dist/domains/quality-assessment/coordinator-claim-verifier.js +6 -4
  87. package/dist/domains/quality-assessment/coordinator-gate-evaluation.d.ts +0 -4
  88. package/dist/domains/quality-assessment/coordinator-gate-evaluation.js +9 -7
  89. package/dist/domains/quality-assessment/coordinator-rl-integration.d.ts +0 -3
  90. package/dist/domains/quality-assessment/coordinator-rl-integration.js +10 -8
  91. package/dist/domains/quality-assessment/coordinator.d.ts +0 -15
  92. package/dist/domains/quality-assessment/coordinator.js +14 -12
  93. package/dist/domains/quality-assessment/services/deployment-advisor.d.ts +0 -10
  94. package/dist/domains/quality-assessment/services/deployment-advisor.js +4 -2
  95. package/dist/domains/quality-assessment/services/quality-analyzer.d.ts +0 -6
  96. package/dist/domains/quality-assessment/services/quality-analyzer.js +4 -2
  97. package/dist/domains/requirements-validation/coordinator.d.ts +0 -3
  98. package/dist/domains/requirements-validation/coordinator.js +15 -13
  99. package/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.d.ts +0 -5
  100. package/dist/domains/requirements-validation/services/product-factors-assessment/code-intelligence/codebase-analyzer.js +15 -13
  101. package/dist/domains/requirements-validation/services/product-factors-assessment/product-factors-service.d.ts +0 -6
  102. package/dist/domains/requirements-validation/services/product-factors-assessment/product-factors-service.js +9 -7
  103. package/dist/domains/requirements-validation/services/requirements-validator.d.ts +0 -6
  104. package/dist/domains/requirements-validation/services/requirements-validator.js +4 -2
  105. package/dist/domains/security-compliance/coordinator.js +24 -22
  106. package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +0 -21
  107. package/dist/domains/security-compliance/services/scanners/dast-scanner.js +4 -2
  108. package/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts +0 -4
  109. package/dist/domains/security-compliance/services/scanners/sast-scanner.js +3 -1
  110. package/dist/domains/security-compliance/services/security-auditor-dast.d.ts +0 -4
  111. package/dist/domains/security-compliance/services/security-auditor-dast.js +3 -1
  112. package/dist/domains/security-compliance/services/security-auditor-sast.d.ts +0 -3
  113. package/dist/domains/security-compliance/services/security-auditor-sast.js +3 -1
  114. package/dist/domains/security-compliance/services/security-auditor-secrets.d.ts +0 -3
  115. package/dist/domains/security-compliance/services/security-auditor-secrets.js +3 -1
  116. package/dist/domains/security-compliance/services/security-auditor.js +11 -9
  117. package/dist/domains/test-execution/coordinator.js +11 -9
  118. package/dist/domains/test-execution/services/auth-state-manager.d.ts +0 -3
  119. package/dist/domains/test-execution/services/auth-state-manager.js +4 -2
  120. package/dist/domains/test-execution/services/e2e/e2e-coordinator.d.ts +0 -14
  121. package/dist/domains/test-execution/services/e2e/e2e-coordinator.js +3 -1
  122. package/dist/domains/test-execution/services/flaky-detector.js +4 -2
  123. package/dist/domains/test-execution/services/retry-handler.js +3 -1
  124. package/dist/domains/test-execution/services/test-executor.js +3 -1
  125. package/dist/domains/test-generation/coordinator.d.ts +0 -17
  126. package/dist/domains/test-generation/coordinator.js +33 -31
  127. package/dist/domains/test-generation/pattern-injection/edge-case-injector.d.ts +0 -5
  128. package/dist/domains/test-generation/pattern-injection/edge-case-injector.js +3 -1
  129. package/dist/domains/test-generation/services/code-transform-integration.d.ts +0 -7
  130. package/dist/domains/test-generation/services/code-transform-integration.js +3 -1
  131. package/dist/domains/test-generation/services/coherence-gate-service.d.ts +0 -3
  132. package/dist/domains/test-generation/services/coherence-gate-service.js +3 -1
  133. package/dist/domains/test-generation/services/test-generator.d.ts +0 -8
  134. package/dist/domains/test-generation/services/test-generator.js +5 -3
  135. package/dist/domains/visual-accessibility/coordinator.d.ts +0 -3
  136. package/dist/domains/visual-accessibility/coordinator.js +14 -12
  137. package/dist/domains/visual-accessibility/services/accessibility-tester-browser.d.ts +0 -3
  138. package/dist/domains/visual-accessibility/services/accessibility-tester-browser.js +52 -50
  139. package/dist/domains/visual-accessibility/services/accessibility-tester.d.ts +0 -4
  140. package/dist/domains/visual-accessibility/services/accessibility-tester.js +8 -6
  141. package/dist/domains/visual-accessibility/services/axe-core-integration.d.ts +0 -3
  142. package/dist/domains/visual-accessibility/services/axe-core-integration.js +20 -18
  143. package/dist/domains/visual-accessibility/services/browser-security-scanner.d.ts +0 -4
  144. package/dist/domains/visual-accessibility/services/browser-security-scanner.js +6 -4
  145. package/dist/domains/visual-accessibility/services/browser-swarm-coordinator.d.ts +0 -30
  146. package/dist/domains/visual-accessibility/services/browser-swarm-coordinator.js +5 -3
  147. package/dist/domains/visual-accessibility/services/viewport-capture.d.ts +0 -27
  148. package/dist/domains/visual-accessibility/services/viewport-capture.js +6 -4
  149. package/dist/domains/visual-accessibility/services/visual-regression.d.ts +0 -26
  150. package/dist/domains/visual-accessibility/services/visual-regression.js +4 -2
  151. package/dist/domains/visual-accessibility/services/visual-tester.d.ts +0 -4
  152. package/dist/domains/visual-accessibility/services/visual-tester.js +4 -2
  153. package/dist/governance/deterministic-gateway-integration.js +1 -1
  154. package/dist/learning/agent-routing.d.ts +53 -0
  155. package/dist/learning/agent-routing.js +142 -0
  156. package/dist/learning/embedding-utils.d.ts +34 -0
  157. package/dist/learning/embedding-utils.js +95 -0
  158. package/dist/learning/pattern-promotion.d.ts +63 -0
  159. package/dist/learning/pattern-promotion.js +187 -0
  160. package/dist/learning/pretrained-patterns.d.ts +14 -0
  161. package/dist/learning/pretrained-patterns.js +726 -0
  162. package/dist/learning/qe-reasoning-bank-types.d.ts +174 -0
  163. package/dist/learning/qe-reasoning-bank-types.js +24 -0
  164. package/dist/learning/qe-reasoning-bank.d.ts +9 -192
  165. package/dist/learning/qe-reasoning-bank.js +48 -1093
  166. package/dist/mcp/bundle.js +335 -335
  167. package/dist/mcp/security/validators/command-validator.d.ts +1 -40
  168. package/dist/mcp/security/validators/command-validator.js +2 -122
  169. package/dist/mcp/security/validators/crypto-validator.d.ts +1 -39
  170. package/dist/mcp/security/validators/crypto-validator.js +2 -71
  171. package/dist/mcp/security/validators/input-sanitizer.d.ts +1 -55
  172. package/dist/mcp/security/validators/input-sanitizer.js +2 -156
  173. package/dist/mcp/security/validators/interfaces.d.ts +1 -163
  174. package/dist/mcp/security/validators/interfaces.js +2 -5
  175. package/dist/mcp/security/validators/path-traversal-validator.d.ts +1 -49
  176. package/dist/mcp/security/validators/path-traversal-validator.js +2 -241
  177. package/dist/mcp/security/validators/regex-safety-validator.d.ts +1 -49
  178. package/dist/mcp/security/validators/regex-safety-validator.js +2 -182
  179. package/dist/mcp/security/validators/validation-orchestrator.d.ts +1 -65
  180. package/dist/mcp/security/validators/validation-orchestrator.js +2 -145
  181. package/dist/shared/io/file-reader.js +1 -1
  182. package/dist/shared/security/command-validator.d.ts +44 -0
  183. package/dist/shared/security/command-validator.js +126 -0
  184. package/dist/shared/security/crypto-validator.d.ts +43 -0
  185. package/dist/shared/security/crypto-validator.js +75 -0
  186. package/dist/shared/security/index.d.ts +7 -0
  187. package/dist/shared/security/index.js +15 -0
  188. package/dist/shared/security/input-sanitizer.d.ts +59 -0
  189. package/dist/shared/security/input-sanitizer.js +160 -0
  190. package/dist/shared/security/path-traversal-validator.d.ts +53 -0
  191. package/dist/shared/security/path-traversal-validator.js +245 -0
  192. package/dist/shared/security/regex-safety-validator.d.ts +53 -0
  193. package/dist/shared/security/regex-safety-validator.js +186 -0
  194. package/dist/shared/security/validation-orchestrator.d.ts +69 -0
  195. package/dist/shared/security/validation-orchestrator.js +149 -0
  196. package/dist/shared/security/validators-interfaces.d.ts +167 -0
  197. package/dist/shared/security/validators-interfaces.js +9 -0
  198. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  * Agentic QE v3 - Performance Profiler Service
3
3
  * Implements IResilienceTestingService for recovery, failover, and resilience testing
4
4
  */
5
+ import { LoggerFactory } from '../../../logging/index.js';
5
6
  import { v4 as uuidv4 } from 'uuid';
6
7
  import { ok, err } from '../../../shared/types';
7
8
  import { createHttpClient } from '../../../shared/http';
@@ -19,6 +20,7 @@ const DEFAULT_CONFIG = {
19
20
  * Performance Profiler Service Implementation
20
21
  * Tests system resilience, recovery, failover, circuit breakers, and rate limiting
21
22
  */
23
+ const logger = LoggerFactory.create('chaos-resilience/performance-profiler');
22
24
  export class PerformanceProfilerService {
23
25
  memory;
24
26
  config;
@@ -420,11 +422,11 @@ export class PerformanceProfilerService {
420
422
  }
421
423
  catch (error) {
422
424
  // Non-critical: real chaos API unavailable, using simulation
423
- console.debug('[PerformanceProfiler] Fault injection API failed:', error instanceof Error ? error.message : error);
425
+ logger.debug('Fault injection API failed:');
424
426
  }
425
427
  }
426
428
  // Simulation mode
427
- console.log(`Injecting fault ${faultType} into service: ${service}`);
429
+ logger.info(`Injecting fault ${faultType} into service: ${service}`);
428
430
  await this.sleep(100);
429
431
  }
430
432
  async removeFault(service, faultType) {
@@ -437,11 +439,11 @@ export class PerformanceProfilerService {
437
439
  }
438
440
  catch (error) {
439
441
  // Non-critical: real chaos API unavailable, using simulation
440
- console.debug('[PerformanceProfiler] Fault removal API failed:', error instanceof Error ? error.message : error);
442
+ logger.debug('Fault removal API failed:');
441
443
  }
442
444
  }
443
445
  // Simulation mode
444
- console.log(`Removing fault ${faultType} from service: ${service}`);
446
+ logger.info(`Removing fault ${faultType} from service: ${service}`);
445
447
  await this.sleep(50);
446
448
  }
447
449
  async captureServiceState(service) {
@@ -468,7 +470,7 @@ export class PerformanceProfilerService {
468
470
  }
469
471
  catch (error) {
470
472
  // Non-critical: real state capture unavailable, using memory snapshot
471
- console.debug('[PerformanceProfiler] State capture API failed:', error instanceof Error ? error.message : error);
473
+ logger.debug('State capture API failed:');
472
474
  }
473
475
  }
474
476
  // Default state capture: use memory snapshot
@@ -548,7 +550,7 @@ export class PerformanceProfilerService {
548
550
  this.httpClient.resetCircuit(service);
549
551
  }
550
552
  catch {
551
- console.log(`Resetting circuit breaker for: ${service}`);
553
+ logger.info(`Resetting circuit breaker for: ${service}`);
552
554
  }
553
555
  }
554
556
  async generateError(service) {
@@ -561,10 +563,10 @@ export class PerformanceProfilerService {
561
563
  }
562
564
  catch (error) {
563
565
  // Non-critical: real chaos API unavailable, using simulation
564
- console.debug('[PerformanceProfiler] Error generation API failed:', error instanceof Error ? error.message : error);
566
+ logger.debug('Error generation API failed:');
565
567
  }
566
568
  }
567
- console.log(`Generating error for: ${service}`);
569
+ logger.info(`Generating error for: ${service}`);
568
570
  }
569
571
  async sendSuccessfulRequest(service) {
570
572
  // Skip real HTTP for non-HTTP URLs - return success deterministically
@@ -5,9 +5,6 @@
5
5
  * Contains: consensus verification for code patterns, impact analysis, dependency mapping
6
6
  */
7
7
  import type { ConsensusEnabledMixin } from '../../coordination/mixins/consensus-enabled-domain';
8
- /**
9
- * Verify a code pattern detection using multi-model consensus
10
- */
11
8
  export declare function verifyCodePatternDetection(pattern: {
12
9
  id: string;
13
10
  name: string;
@@ -4,11 +4,13 @@
4
4
  *
5
5
  * Contains: consensus verification for code patterns, impact analysis, dependency mapping
6
6
  */
7
+ import { LoggerFactory } from '../../logging/index.js';
7
8
  import { v4 as uuidv4 } from 'uuid';
8
9
  import { createDomainFinding, } from '../../coordination/consensus/domain-findings';
9
10
  /**
10
11
  * Verify a code pattern detection using multi-model consensus
11
12
  */
13
+ const logger = LoggerFactory.create('code-intelligence/consensus');
12
14
  export async function verifyCodePatternDetection(pattern, confidence, consensusMixin, domainName) {
13
15
  const finding = createDomainFinding({
14
16
  id: uuidv4(),
@@ -22,10 +24,10 @@ export async function verifyCodePatternDetection(pattern, confidence, consensusM
22
24
  if (consensusMixin.requiresConsensus(finding)) {
23
25
  const result = await consensusMixin.verifyFinding(finding);
24
26
  if (result.success && result.value.verdict === 'verified') {
25
- console.log(`[${domainName}] Code pattern '${pattern.name}' verified by consensus`);
27
+ logger.info(`Code pattern '${pattern.name}' verified by consensus`);
26
28
  return true;
27
29
  }
28
- console.warn(`[${domainName}] Code pattern '${pattern.name}' NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
30
+ logger.warn(`Code pattern '${pattern.name}' NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
29
31
  return false;
30
32
  }
31
33
  return true;
@@ -46,10 +48,10 @@ export async function verifyImpactAnalysis(impact, confidence, consensusMixin, d
46
48
  if (consensusMixin.requiresConsensus(finding)) {
47
49
  const result = await consensusMixin.verifyFinding(finding);
48
50
  if (result.success && result.value.verdict === 'verified') {
49
- console.log(`[${domainName}] Impact analysis verified by consensus (risk=${impact.riskLevel})`);
51
+ logger.info(`Impact analysis verified by consensus (risk=${impact.riskLevel})`);
50
52
  return true;
51
53
  }
52
- console.warn(`[${domainName}] Impact analysis NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
54
+ logger.warn(`Impact analysis NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
53
55
  return false;
54
56
  }
55
57
  return true;
@@ -70,10 +72,10 @@ export async function verifyDependencyMapping(dependency, confidence, consensusM
70
72
  if (consensusMixin.requiresConsensus(finding)) {
71
73
  const result = await consensusMixin.verifyFinding(finding);
72
74
  if (result.success && result.value.verdict === 'verified') {
73
- console.log(`[${domainName}] Dependency mapping verified by consensus`);
75
+ logger.info(`Dependency mapping verified by consensus`);
74
76
  return true;
75
77
  }
76
- console.warn(`[${domainName}] Dependency mapping NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
78
+ logger.warn(`Dependency mapping NOT verified: ${result.success ? result.value.verdict : result.error.message}`);
77
79
  return false;
78
80
  }
79
81
  return true;
@@ -7,9 +7,6 @@
7
7
  import { QEGNNEmbeddingIndex } from '../../integrations/ruvector/wrappers';
8
8
  import type { ImpactRequest, SearchResult } from './interfaces';
9
9
  import { FileReader } from '../../shared/io';
10
- /**
11
- * Initialize GNN for code graph embeddings
12
- */
13
10
  export declare function initializeGNNIndex(domainKey: string): QEGNNEmbeddingIndex;
14
11
  /**
15
12
  * Index code embeddings in GNN for fast similarity search
@@ -4,10 +4,12 @@
4
4
  *
5
5
  * Contains: GNN embedding indexing, code embedding generation, GNN search
6
6
  */
7
+ import { LoggerFactory } from '../../logging/index.js';
7
8
  import { QEGNNIndexFactory, initGNN, } from '../../integrations/ruvector/wrappers';
8
9
  /**
9
10
  * Initialize GNN for code graph embeddings
10
11
  */
12
+ const logger = LoggerFactory.create('code-intelligence/gnn');
11
13
  export function initializeGNNIndex(domainKey) {
12
14
  initGNN();
13
15
  const gnnIndex = QEGNNIndexFactory.getInstance(domainKey, {
@@ -44,13 +46,13 @@ export async function indexCodeEmbeddings(gnnIndex, fileReader, paths) {
44
46
  }
45
47
  }
46
48
  catch (error) {
47
- console.error(`Failed to index ${path}:`, error);
49
+ logger.error(`Failed to index ${path}:`, error instanceof Error ? error : undefined);
48
50
  }
49
51
  }
50
- console.log(`[GNN] Indexed ${paths.length} code embeddings`);
52
+ logger.info(`Indexed ${paths.length} code embeddings`);
51
53
  }
52
54
  catch (error) {
53
- console.error('Failed to index code embeddings:', error);
55
+ logger.error('Failed to index code embeddings:', error instanceof Error ? error : undefined);
54
56
  }
55
57
  }
56
58
  /**
@@ -102,7 +104,7 @@ export async function searchCodeWithGNN(gnnIndex, query) {
102
104
  }));
103
105
  }
104
106
  catch (error) {
105
- console.error('Failed to search with GNN:', error);
107
+ logger.error('Failed to search with GNN:', error instanceof Error ? error : undefined);
106
108
  return [];
107
109
  }
108
110
  }
@@ -128,12 +130,12 @@ export async function enhanceImpactAnalysisWithGNN(gnnIndex, fileReader, request
128
130
  limit: 5,
129
131
  namespace: 'code',
130
132
  });
131
- console.log(`[GNN] Found ${similar.length} semantically similar files to ${changedFile}`);
133
+ logger.info(`Found ${similar.length} semantically similar files to ${changedFile}`);
132
134
  }
133
135
  }
134
136
  }
135
137
  catch (error) {
136
- console.error('Failed to enhance impact analysis:', error);
138
+ logger.error('Failed to enhance impact analysis:', error instanceof Error ? error : undefined);
137
139
  }
138
140
  }
139
141
  /**
@@ -10,9 +10,6 @@ import { HypergraphEngine, type BuildResult as HypergraphBuildResult, type CodeI
10
10
  import { type HypergraphNode } from '../../integrations/ruvector/hypergraph-schema.js';
11
11
  import type { EventBus, MemoryBackend } from '../../kernel/interfaces';
12
12
  import type { ImpactRequest, ImpactAnalysis } from './interfaces';
13
- /**
14
- * Initialize V3 Hypergraph Engine for code intelligence
15
- */
16
13
  export declare function initializeHypergraph(hypergraphDbPath: string | undefined, enableGNN: boolean): Promise<{
17
14
  engine: HypergraphEngine;
18
15
  db: import('better-sqlite3').Database;
@@ -5,6 +5,7 @@
5
5
  * Contains: Hypergraph initialization, untested functions, impacted tests,
6
6
  * coverage gaps, build from index, impact enhancement
7
7
  */
8
+ import { LoggerFactory } from '../../logging/index.js';
8
9
  import { err } from '../../shared/types';
9
10
  import { toError } from '../../shared/error-utils.js';
10
11
  import { createHypergraphEngine, } from '../../integrations/ruvector/hypergraph-engine.js';
@@ -12,6 +13,7 @@ import { createEvent } from '../../shared/events/domain-events';
12
13
  /**
13
14
  * Initialize V3 Hypergraph Engine for code intelligence
14
15
  */
16
+ const logger = LoggerFactory.create('code-intelligence/hypergraph');
15
17
  export async function initializeHypergraph(hypergraphDbPath, enableGNN) {
16
18
  const { openDatabase } = await import('../../shared/safe-db.js');
17
19
  const fs = await import('fs');
@@ -30,7 +32,7 @@ export async function initializeHypergraph(hypergraphDbPath, enableGNN) {
30
32
  maxQueryResults: 1000,
31
33
  enableVectorSearch: enableGNN,
32
34
  });
33
- console.log(`[CodeIntelligence] Hypergraph Engine initialized at ${dbPath}`);
35
+ logger.info(`Hypergraph Engine initialized at ${dbPath}`);
34
36
  return { engine, db };
35
37
  }
36
38
  /**
@@ -39,7 +41,7 @@ export async function initializeHypergraph(hypergraphDbPath, enableGNN) {
39
41
  export async function findUntestedFunctions(hypergraph, eventBus, publishEvents) {
40
42
  try {
41
43
  const untestedFunctions = await hypergraph.findUntestedFunctions();
42
- console.log(`[CodeIntelligence] Found ${untestedFunctions.length} untested functions via hypergraph`);
44
+ logger.info(`[CodeIntelligence] Found ${untestedFunctions.length} untested functions via hypergraph`);
43
45
  if (publishEvents) {
44
46
  const event = createEvent('code-intelligence.UntestedFunctionsFound', 'code-intelligence', {
45
47
  count: untestedFunctions.length,
@@ -55,7 +57,7 @@ export async function findUntestedFunctions(hypergraph, eventBus, publishEvents)
55
57
  }
56
58
  catch (error) {
57
59
  const errorObj = toError(error);
58
- console.error('[CodeIntelligence] Failed to find untested functions:', errorObj.message);
60
+ logger.error('Failed to find untested functions:');
59
61
  return err(errorObj);
60
62
  }
61
63
  }
@@ -68,7 +70,7 @@ export async function findImpactedTestsFromHypergraph(hypergraph, changedFiles,
68
70
  }
69
71
  try {
70
72
  const impactedTests = await hypergraph.findImpactedTests(changedFiles);
71
- console.log(`[CodeIntelligence] Found ${impactedTests.length} impacted tests for ` +
73
+ logger.info(`[CodeIntelligence] Found ${impactedTests.length} impacted tests for ` +
72
74
  `${changedFiles.length} changed files via hypergraph`);
73
75
  if (publishEvents) {
74
76
  const event = createEvent('code-intelligence.ImpactedTestsFound', 'code-intelligence', {
@@ -85,7 +87,7 @@ export async function findImpactedTestsFromHypergraph(hypergraph, changedFiles,
85
87
  }
86
88
  catch (error) {
87
89
  const errorObj = toError(error);
88
- console.error('[CodeIntelligence] Failed to find impacted tests:', errorObj.message);
90
+ logger.error('Failed to find impacted tests:');
89
91
  return err(errorObj);
90
92
  }
91
93
  }
@@ -95,7 +97,7 @@ export async function findImpactedTestsFromHypergraph(hypergraph, changedFiles,
95
97
  export async function findCoverageGapsFromHypergraph(hypergraph, maxCoverage, eventBus, publishEvents) {
96
98
  try {
97
99
  const coverageGaps = await hypergraph.findCoverageGaps(maxCoverage);
98
- console.log(`[CodeIntelligence] Found ${coverageGaps.length} coverage gaps ` +
100
+ logger.info(`[CodeIntelligence] Found ${coverageGaps.length} coverage gaps ` +
99
101
  `(functions with <=${maxCoverage}% coverage) via hypergraph`);
100
102
  if (publishEvents) {
101
103
  const event = createEvent('code-intelligence.CoverageGapsFound', 'code-intelligence', {
@@ -114,7 +116,7 @@ export async function findCoverageGapsFromHypergraph(hypergraph, maxCoverage, ev
114
116
  }
115
117
  catch (error) {
116
118
  const errorObj = toError(error);
117
- console.error('[CodeIntelligence] Failed to find coverage gaps:', errorObj.message);
119
+ logger.error('Failed to find coverage gaps:');
118
120
  return err(errorObj);
119
121
  }
120
122
  }
@@ -123,9 +125,9 @@ export async function findCoverageGapsFromHypergraph(hypergraph, maxCoverage, ev
123
125
  */
124
126
  export async function buildHypergraphFromIndex(hypergraph, indexResult, memory, eventBus, publishEvents) {
125
127
  try {
126
- console.log(`[CodeIntelligence] Building hypergraph from ${indexResult.files.length} indexed files`);
128
+ logger.info(`[CodeIntelligence] Building hypergraph from ${indexResult.files.length} indexed files`);
127
129
  const buildResult = await hypergraph.buildFromIndexResult(indexResult);
128
- console.log(`[CodeIntelligence] Hypergraph built: ` +
130
+ logger.info(`[CodeIntelligence] Hypergraph built: ` +
129
131
  `${buildResult.nodesCreated} nodes created, ` +
130
132
  `${buildResult.nodesUpdated} nodes updated, ` +
131
133
  `${buildResult.edgesCreated} edges created ` +
@@ -148,7 +150,7 @@ export async function buildHypergraphFromIndex(hypergraph, indexResult, memory,
148
150
  }
149
151
  catch (error) {
150
152
  const errorObj = toError(error);
151
- console.error('[CodeIntelligence] Failed to build hypergraph:', errorObj.message);
153
+ logger.error('Failed to build hypergraph:');
152
154
  return err(errorObj);
153
155
  }
154
156
  }
@@ -184,7 +186,7 @@ export async function enhanceImpactWithHypergraph(hypergraph, request, baseAnaly
184
186
  };
185
187
  }
186
188
  catch (error) {
187
- console.error('[CodeIntelligence] Failed to enhance impact with hypergraph:', error);
189
+ logger.error('Failed to enhance impact with hypergraph:', error instanceof Error ? error : undefined);
188
190
  return baseAnalysis;
189
191
  }
190
192
  }
@@ -125,9 +125,6 @@ export interface CoordinatorConfig extends BaseDomainCoordinatorConfig {
125
125
  * Orchestrates code intelligence workflows and coordinates with agents
126
126
  */
127
127
  type CodeIntelligenceWorkflowType = 'index' | 'search' | 'impact' | 'dependency' | 'query';
128
- /**
129
- * CQ-002: Extends BaseDomainCoordinator
130
- */
131
128
  export declare class CodeIntelligenceCoordinator extends BaseDomainCoordinator<CoordinatorConfig, CodeIntelligenceWorkflowType> implements ICodeIntelligenceCoordinator {
132
129
  private readonly memory;
133
130
  private readonly agentCoordinator;
@@ -6,6 +6,7 @@
6
6
  * - QEGNNEmbeddingIndex: Code graph embeddings with HNSW for fast similarity search
7
7
  * - QESONA: Learns and adapts code patterns for improved intelligence
8
8
  */
9
+ import { LoggerFactory } from '../../logging/index.js';
9
10
  import { v4 as uuidv4 } from 'uuid';
10
11
  import { err } from '../../shared/types';
11
12
  import { toError } from '../../shared/error-utils.js';
@@ -53,6 +54,7 @@ const DEFAULT_CONFIG = {
53
54
  /**
54
55
  * CQ-002: Extends BaseDomainCoordinator
55
56
  */
57
+ const logger = LoggerFactory.create('code-intelligence');
56
58
  export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
57
59
  memory;
58
60
  agentCoordinator;
@@ -109,7 +111,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
109
111
  enableCache: true,
110
112
  cacheTTL: 300000, // 5 minutes
111
113
  });
112
- console.log('[CodeIntelligence] MetricCollector initialized for real code metrics');
114
+ logger.info('MetricCollector initialized for real code metrics');
113
115
  }
114
116
  // V3: Initialize Hypergraph Engine for intelligent code analysis (GOAP Action 7)
115
117
  if (this.config.enableHypergraph) {
@@ -146,10 +148,10 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
146
148
  maxQueryResults: 1000,
147
149
  enableVectorSearch: this.config.enableGNN,
148
150
  });
149
- console.log(`[CodeIntelligence] Hypergraph Engine initialized at ${dbPath}`);
151
+ logger.info(`Hypergraph Engine initialized at ${dbPath}`);
150
152
  }
151
153
  catch (error) {
152
- console.error('[CodeIntelligence] Failed to initialize Hypergraph Engine:', error);
154
+ logger.error('Failed to initialize Hypergraph Engine:', error instanceof Error ? error : undefined);
153
155
  // Don't throw - hypergraph is optional, coordinator should still work
154
156
  this.hypergraph = undefined;
155
157
  this.hypergraphDb = undefined;
@@ -183,10 +185,10 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
183
185
  maxPatterns: 10000,
184
186
  minConfidence: 0.6,
185
187
  });
186
- console.log('[CodeIntelligence] PersistentSONAEngine initialized for code pattern learning');
188
+ logger.info('PersistentSONAEngine initialized for code pattern learning');
187
189
  }
188
190
  catch (error) {
189
- console.error('[CodeIntelligence] Failed to initialize PersistentSONAEngine:', error);
191
+ logger.error('Failed to initialize PersistentSONAEngine:', error instanceof Error ? error : undefined);
190
192
  // Continue without SONA - it's optional
191
193
  this.sonaEngine = undefined;
192
194
  }
@@ -194,7 +196,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
194
196
  this.rlInitialized = true;
195
197
  }
196
198
  catch (error) {
197
- console.error('Failed to initialize RL integrations:', error);
199
+ logger.error('Failed to initialize RL integrations:', error instanceof Error ? error : undefined);
198
200
  throw error;
199
201
  }
200
202
  }
@@ -216,7 +218,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
216
218
  this.sonaEngine = undefined;
217
219
  }
218
220
  catch (error) {
219
- console.error('[CodeIntelligence] Error closing SONA engine:', error);
221
+ logger.error('Error closing SONA engine:', error instanceof Error ? error : undefined);
220
222
  }
221
223
  }
222
224
  // V3: Clean up Hypergraph Engine (GOAP Action 7)
@@ -225,7 +227,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
225
227
  this.hypergraphDb.close();
226
228
  }
227
229
  catch (error) {
228
- console.error('[CodeIntelligence] Error closing hypergraph database:', error);
230
+ logger.error('Error closing hypergraph database:', error instanceof Error ? error : undefined);
229
231
  }
230
232
  this.hypergraphDb = undefined;
231
233
  }
@@ -251,7 +253,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
251
253
  this.startWorkflow(workflowId, 'index');
252
254
  // ADR-047: Check topology health before expensive operations
253
255
  if (this.config.enableMinCutAwareness && !this.isTopologyHealthy()) {
254
- console.warn(`[${this.domainName}] Topology degraded, using conservative strategy`);
256
+ logger.warn(`Topology degraded, using conservative strategy`);
255
257
  // Continue with reduced parallelism when topology is unhealthy
256
258
  }
257
259
  // ADR-047: Check if operations should be paused due to critical topology
@@ -328,7 +330,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
328
330
  if (this.config.enableSONA && this.sonaEngine) {
329
331
  const pattern = await this.adaptSearchPattern(request);
330
332
  if (pattern.success && pattern.pattern) {
331
- console.log(`[SONA] Adapted search pattern with ${pattern.similarity.toFixed(3)} similarity`);
333
+ logger.info(`Adapted search pattern with ${pattern.similarity.toFixed(3)} similarity`);
332
334
  }
333
335
  }
334
336
  // V3: Use GNN for enhanced code similarity search
@@ -373,7 +375,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
373
375
  this.startWorkflow(workflowId, 'impact');
374
376
  // ADR-047: Check topology health before expensive operations
375
377
  if (this.config.enableMinCutAwareness && !this.isTopologyHealthy()) {
376
- console.warn(`[${this.domainName}] Topology degraded, using conservative impact analysis`);
378
+ logger.warn(`Topology degraded, using conservative impact analysis`);
377
379
  }
378
380
  // ADR-047: Check if operations should be paused due to critical topology
379
381
  if (this.minCutMixin.shouldPauseOperations()) {
@@ -526,7 +528,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
526
528
  };
527
529
  }
528
530
  catch (error) {
529
- console.error('Failed to adapt search pattern:', error);
531
+ logger.error('Failed to adapt search pattern:', error instanceof Error ? error : undefined);
530
532
  return { success: false, pattern: null, similarity: 0 };
531
533
  }
532
534
  }
@@ -563,10 +565,10 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
563
565
  impactCount: analysis.directImpact.length + analysis.transitiveImpact.length,
564
566
  testImpactCount: analysis.impactedTests.length,
565
567
  });
566
- console.log(`[SONA] Stored impact pattern ${pattern.id}`);
568
+ logger.info(`Stored impact pattern ${pattern.id}`);
567
569
  }
568
570
  catch (error) {
569
- console.error('Failed to store impact pattern:', error);
571
+ logger.error('Failed to store impact pattern:', error instanceof Error ? error : undefined);
570
572
  }
571
573
  }
572
574
  // ============================================================================
@@ -770,7 +772,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
770
772
  this.updateWorkflowProgress(workflowId, 100);
771
773
  this.completeWorkflow(workflowId);
772
774
  // The bridge already publishes the event, but we can add correlation here
773
- console.log(`[CodeIntelligenceCoordinator] C4 diagrams generated for ${projectPath}: ` +
775
+ logger.info(`[CodeIntelligenceCoordinator] C4 diagrams generated for ${projectPath}: ` +
774
776
  `${result.value.components.length} components, ` +
775
777
  `${result.value.externalSystems.length} external systems`);
776
778
  }
@@ -829,18 +831,18 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
829
831
  return err(new Error('MetricCollector is not enabled'));
830
832
  }
831
833
  try {
832
- console.log(`[CodeIntelligence] Collecting real metrics for ${projectPath}`);
834
+ logger.info(`Collecting real metrics for ${projectPath}`);
833
835
  // Collect all metrics using actual tooling
834
836
  const metrics = await this.metricCollector.collectAll(projectPath);
835
837
  // Fix #281: Log tool source; node-native is accurate, only legacy 'fallback' is approximate
836
838
  const toolsLabel = metrics.toolsUsed.length > 0
837
839
  ? metrics.toolsUsed.join(', ')
838
840
  : metrics.loc.source === 'node-native' ? 'node-native' : 'fallback';
839
- console.log(`[CodeIntelligence] Real metrics collected: ` +
841
+ logger.info(`[CodeIntelligence] Real metrics collected: ` +
840
842
  `${metrics.loc.total} LOC, ${metrics.tests.total} tests, ` +
841
843
  `tools: ${toolsLabel}`);
842
844
  if (metrics.loc.source === 'node-native') {
843
- console.log(`[CodeIntelligence] Using Node.js-native line counter (no cloc/tokei needed)`);
845
+ logger.info(`[CodeIntelligence] Using Node.js-native line counter (no cloc/tokei needed)`);
844
846
  }
845
847
  // Store metrics in memory for cross-domain access
846
848
  await this.storeProjectMetricsInMemory(projectPath, metrics);
@@ -858,7 +860,7 @@ export class CodeIntelligenceCoordinator extends BaseDomainCoordinator {
858
860
  }
859
861
  catch (error) {
860
862
  const errorObj = toError(error);
861
- console.error('[CodeIntelligence] Failed to collect metrics:', errorObj.message);
863
+ logger.error('Failed to collect metrics:');
862
864
  return err(errorObj);
863
865
  }
864
866
  }
@@ -35,9 +35,6 @@ export interface IC4ModelService {
35
35
  /** Analyze architecture from component diagram */
36
36
  analyzeArchitecture(diagram: C4ComponentDiagram): Promise<Result<ArchitectureAnalysis, Error>>;
37
37
  }
38
- /**
39
- * C4 Model Service for generating architecture diagrams
40
- */
41
38
  export declare class C4ModelService implements IC4ModelService {
42
39
  private readonly memory;
43
40
  private readonly embedder;
@@ -9,6 +9,7 @@
9
9
  * - Memory-backed storage for diagram retrieval
10
10
  * - Integration with graph-boundaries analyzer
11
11
  */
12
+ import { LoggerFactory } from '../../../../logging/index.js';
12
13
  import { ok, err } from '@shared/types';
13
14
  import { NomicEmbedder } from '@shared/embeddings';
14
15
  // Re-export types
@@ -24,6 +25,7 @@ const DEFAULT_MEMORY_NAMESPACE = 'code-intelligence:c4';
24
25
  /**
25
26
  * C4 Model Service for generating architecture diagrams
26
27
  */
28
+ const logger = LoggerFactory.create('code-intelligence/c4-model');
27
29
  export class C4ModelService {
28
30
  memory;
29
31
  embedder;
@@ -98,7 +100,7 @@ export class C4ModelService {
98
100
  }
99
101
  catch (embedError) {
100
102
  // Non-fatal: continue without embedding
101
- console.warn('[C4ModelService] Failed to generate embedding:', embedError);
103
+ logger.warn('Failed to generate embedding:');
102
104
  }
103
105
  }
104
106
  // Build diagram
@@ -170,7 +172,7 @@ export class C4ModelService {
170
172
  metadata.embedding = await this.embedder.embed(embeddingText);
171
173
  }
172
174
  catch (embedError) {
173
- console.warn('[C4ModelService] Failed to generate embedding:', embedError);
175
+ logger.warn('Failed to generate embedding:');
174
176
  }
175
177
  }
176
178
  // Build diagram
@@ -251,7 +253,7 @@ export class C4ModelService {
251
253
  metadata.embedding = await this.embedder.embed(embeddingText);
252
254
  }
253
255
  catch (embedError) {
254
- console.warn('[C4ModelService] Failed to generate embedding:', embedError);
256
+ logger.warn('Failed to generate embedding:');
255
257
  }
256
258
  }
257
259
  // Build diagram
@@ -50,12 +50,6 @@ export interface KnowledgeGraphDependencies {
50
50
  /** ADR-051: Optional LLM router for AI-enhanced extraction */
51
51
  llmRouter?: HybridRouter;
52
52
  }
53
- /**
54
- * Knowledge Graph Service Implementation
55
- * Builds and manages the code knowledge graph with relationships
56
- *
57
- * ADR-051: Added LLM enhancement for AI-powered knowledge extraction
58
- */
59
53
  export declare class KnowledgeGraphService implements IKnowledgeGraphService {
60
54
  private readonly config;
61
55
  private readonly memory;
@@ -2,6 +2,7 @@
2
2
  * Agentic QE v3 - Knowledge Graph Service
3
3
  * Builds and queries knowledge graph for code relationships
4
4
  */
5
+ import { LoggerFactory } from '../../../logging/index.js';
5
6
  import { ok, err } from '../../../shared/types';
6
7
  import { TypeScriptParser } from '../../../shared/parsers';
7
8
  import { FileReader } from '../../../shared/io';
@@ -24,6 +25,7 @@ const DEFAULT_CONFIG = {
24
25
  *
25
26
  * ADR-051: Added LLM enhancement for AI-powered knowledge extraction
26
27
  */
28
+ const logger = LoggerFactory.create('code-intelligence/knowledge-graph');
27
29
  export class KnowledgeGraphService {
28
30
  config;
29
31
  memory;
@@ -289,7 +291,7 @@ Be precise and only report high-confidence findings.`,
289
291
  return { semanticRelationships: [], designPatterns: [], architecturalBoundaries: [], dependencyImpacts: [] };
290
292
  }
291
293
  catch (error) {
292
- console.warn('[KnowledgeGraph] LLM relationship extraction failed:', error);
294
+ logger.warn('LLM relationship extraction failed:');
293
295
  return { semanticRelationships: [], designPatterns: [], architecturalBoundaries: [], dependencyImpacts: [] };
294
296
  }
295
297
  }
@@ -400,7 +402,7 @@ Return JSON: { "rankedIds": ["id1", "id2", ...], "insights": ["insight1", "insig
400
402
  return { enhancedResults: results, insights: [] };
401
403
  }
402
404
  catch (error) {
403
- console.warn('[KnowledgeGraph] LLM query enhancement failed:', error);
405
+ logger.warn('LLM query enhancement failed:');
404
406
  return { enhancedResults: results, insights: [] };
405
407
  }
406
408
  }
@@ -40,11 +40,6 @@ export interface IProductFactorsBridge {
40
40
  /** Get components for a project */
41
41
  getComponents(projectPath: string): Promise<Result<DetectedComponent[], Error>>;
42
42
  }
43
- /**
44
- * Product Factors Bridge Service
45
- *
46
- * Bridges code-intelligence C4 capabilities with product-factors-assessor.
47
- */
48
43
  export declare class ProductFactorsBridgeService implements IProductFactorsBridge, IC4DiagramGenerator {
49
44
  private readonly eventBus;
50
45
  private readonly memory;