agentic-qe 1.3.4 → 1.3.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 (136) hide show
  1. package/.claude/agents/qe-code-complexity.md +291 -0
  2. package/.claude/settings.json +2 -2
  3. package/CHANGELOG.md +289 -0
  4. package/README.md +56 -26
  5. package/dist/agents/BaseAgent.d.ts +6 -2
  6. package/dist/agents/BaseAgent.d.ts.map +1 -1
  7. package/dist/agents/BaseAgent.js +62 -51
  8. package/dist/agents/BaseAgent.js.map +1 -1
  9. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts +139 -0
  10. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts.map +1 -0
  11. package/dist/agents/CodeComplexityAnalyzerAgent.js +403 -0
  12. package/dist/agents/CodeComplexityAnalyzerAgent.js.map +1 -0
  13. package/dist/agents/FleetCommanderAgent.js +2 -2
  14. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  15. package/dist/agents/QualityGateAgent.d.ts +5 -5
  16. package/dist/agents/QualityGateAgent.d.ts.map +1 -1
  17. package/dist/agents/QualityGateAgent.js +33 -19
  18. package/dist/agents/QualityGateAgent.js.map +1 -1
  19. package/dist/agents/TestDataArchitectAgent.d.ts +9 -0
  20. package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
  21. package/dist/agents/TestDataArchitectAgent.js +96 -2
  22. package/dist/agents/TestDataArchitectAgent.js.map +1 -1
  23. package/dist/agents/TestGeneratorAgent.d.ts +23 -1
  24. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  25. package/dist/agents/TestGeneratorAgent.js +279 -54
  26. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  27. package/dist/agents/coordination/AgentCoordinator.d.ts +98 -0
  28. package/dist/agents/coordination/AgentCoordinator.d.ts.map +1 -0
  29. package/dist/agents/coordination/AgentCoordinator.js +196 -0
  30. package/dist/agents/coordination/AgentCoordinator.js.map +1 -0
  31. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts +107 -0
  32. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -0
  33. package/dist/agents/lifecycle/AgentLifecycleManager.js +220 -0
  34. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -0
  35. package/dist/agents/memory/AgentMemoryService.d.ts +173 -0
  36. package/dist/agents/memory/AgentMemoryService.d.ts.map +1 -0
  37. package/dist/agents/memory/AgentMemoryService.js +297 -0
  38. package/dist/agents/memory/AgentMemoryService.js.map +1 -0
  39. package/dist/cli/commands/init.d.ts.map +1 -1
  40. package/dist/cli/commands/init.js +45 -3
  41. package/dist/cli/commands/init.js.map +1 -1
  42. package/dist/cli/commands/routing/index.d.ts +1 -1
  43. package/dist/cli/commands/routing/index.d.ts.map +1 -1
  44. package/dist/cli/commands/routing/index.js +29 -19
  45. package/dist/cli/commands/routing/index.js.map +1 -1
  46. package/dist/cli/commands/skills/index.d.ts +4 -0
  47. package/dist/cli/commands/skills/index.d.ts.map +1 -1
  48. package/dist/cli/commands/skills/index.js +8 -2
  49. package/dist/cli/commands/skills/index.js.map +1 -1
  50. package/dist/core/memory/SwarmMemoryManager.d.ts +2 -1
  51. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  52. package/dist/core/memory/SwarmMemoryManager.js +4 -1
  53. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  54. package/dist/core/memory/dao/AccessControlDAO.d.ts +66 -0
  55. package/dist/core/memory/dao/AccessControlDAO.d.ts.map +1 -0
  56. package/dist/core/memory/dao/AccessControlDAO.js +140 -0
  57. package/dist/core/memory/dao/AccessControlDAO.js.map +1 -0
  58. package/dist/core/memory/dao/BaseDAO.d.ts +34 -0
  59. package/dist/core/memory/dao/BaseDAO.d.ts.map +1 -0
  60. package/dist/core/memory/dao/BaseDAO.js +34 -0
  61. package/dist/core/memory/dao/BaseDAO.js.map +1 -0
  62. package/dist/core/memory/dao/BlackboardDAO.d.ts +90 -0
  63. package/dist/core/memory/dao/BlackboardDAO.d.ts.map +1 -0
  64. package/dist/core/memory/dao/BlackboardDAO.js +223 -0
  65. package/dist/core/memory/dao/BlackboardDAO.js.map +1 -0
  66. package/dist/core/memory/dao/EventDAO.d.ts +83 -0
  67. package/dist/core/memory/dao/EventDAO.d.ts.map +1 -0
  68. package/dist/core/memory/dao/EventDAO.js +177 -0
  69. package/dist/core/memory/dao/EventDAO.js.map +1 -0
  70. package/dist/core/memory/dao/MemoryEntryDAO.d.ts +57 -0
  71. package/dist/core/memory/dao/MemoryEntryDAO.d.ts.map +1 -0
  72. package/dist/core/memory/dao/MemoryEntryDAO.js +159 -0
  73. package/dist/core/memory/dao/MemoryEntryDAO.js.map +1 -0
  74. package/dist/core/memory/dao/WorkflowDAO.d.ts +85 -0
  75. package/dist/core/memory/dao/WorkflowDAO.d.ts.map +1 -0
  76. package/dist/core/memory/dao/WorkflowDAO.js +182 -0
  77. package/dist/core/memory/dao/WorkflowDAO.js.map +1 -0
  78. package/dist/core/memory/services/AccessControlService.d.ts +123 -0
  79. package/dist/core/memory/services/AccessControlService.d.ts.map +1 -0
  80. package/dist/core/memory/services/AccessControlService.js +249 -0
  81. package/dist/core/memory/services/AccessControlService.js.map +1 -0
  82. package/dist/core/memory/services/MemoryStoreService.d.ts +69 -0
  83. package/dist/core/memory/services/MemoryStoreService.d.ts.map +1 -0
  84. package/dist/core/memory/services/MemoryStoreService.js +214 -0
  85. package/dist/core/memory/services/MemoryStoreService.js.map +1 -0
  86. package/dist/learning/ExperienceReplayBuffer.d.ts +143 -0
  87. package/dist/learning/ExperienceReplayBuffer.d.ts.map +1 -0
  88. package/dist/learning/ExperienceReplayBuffer.js +255 -0
  89. package/dist/learning/ExperienceReplayBuffer.js.map +1 -0
  90. package/dist/learning/LearningEngine.d.ts +50 -1
  91. package/dist/learning/LearningEngine.d.ts.map +1 -1
  92. package/dist/learning/LearningEngine.js +140 -0
  93. package/dist/learning/LearningEngine.js.map +1 -1
  94. package/dist/learning/QLearning.d.ts +154 -0
  95. package/dist/learning/QLearning.d.ts.map +1 -0
  96. package/dist/learning/QLearning.js +337 -0
  97. package/dist/learning/QLearning.js.map +1 -0
  98. package/dist/learning/index.d.ts +2 -0
  99. package/dist/learning/index.d.ts.map +1 -1
  100. package/dist/learning/index.js +2 -0
  101. package/dist/learning/index.js.map +1 -1
  102. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  103. package/dist/mcp/handlers/base-handler.js +4 -1
  104. package/dist/mcp/handlers/base-handler.js.map +1 -1
  105. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts +11 -1
  106. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
  107. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +63 -8
  108. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
  109. package/dist/mcp/handlers/quality-analyze.d.ts +7 -1
  110. package/dist/mcp/handlers/quality-analyze.d.ts.map +1 -1
  111. package/dist/mcp/handlers/quality-analyze.js +18 -1
  112. package/dist/mcp/handlers/quality-analyze.js.map +1 -1
  113. package/dist/mcp/handlers/test-generate.d.ts.map +1 -1
  114. package/dist/mcp/handlers/test-generate.js +24 -8
  115. package/dist/mcp/handlers/test-generate.js.map +1 -1
  116. package/dist/mcp/services/AgentRegistry.d.ts +5 -0
  117. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  118. package/dist/mcp/services/AgentRegistry.js +19 -0
  119. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  120. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts +11 -1
  121. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.d.ts.map +1 -1
  122. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js +12 -0
  123. package/dist/mcp/streaming/CoverageAnalyzeStreamHandler.js.map +1 -1
  124. package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts +10 -1
  125. package/dist/mcp/streaming/TestExecuteStreamHandler.d.ts.map +1 -1
  126. package/dist/mcp/streaming/TestExecuteStreamHandler.js +11 -0
  127. package/dist/mcp/streaming/TestExecuteStreamHandler.js.map +1 -1
  128. package/dist/reasoning/QEReasoningBank.d.ts +89 -2
  129. package/dist/reasoning/QEReasoningBank.d.ts.map +1 -1
  130. package/dist/reasoning/QEReasoningBank.js +396 -10
  131. package/dist/reasoning/QEReasoningBank.js.map +1 -1
  132. package/dist/utils/__mocks__/Database.d.ts +64 -0
  133. package/dist/utils/__mocks__/Database.d.ts.map +1 -0
  134. package/dist/utils/__mocks__/Database.js +134 -0
  135. package/dist/utils/__mocks__/Database.js.map +1 -0
  136. package/package.json +6 -2
@@ -66,8 +66,35 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
66
66
  await this.storeMemory('initialized', true);
67
67
  await this.storeMemory('pattern-config', this.patternConfig);
68
68
  }
69
+ /**
70
+ * Perform test generation task with full input validation
71
+ * @param task - Task containing test generation requirements
72
+ * @returns Test generation result with generated test suite
73
+ * @throws {Error} If task or requirements are invalid/missing
74
+ */
69
75
  async performTask(task) {
76
+ // Guard clause: Validate task object
77
+ if (!task) {
78
+ throw new Error('[TestGeneratorAgent] Task object is null or undefined');
79
+ }
80
+ // Guard clause: Validate requirements exist
81
+ if (!task.requirements) {
82
+ throw new Error('[TestGeneratorAgent] Task requirements are null or undefined');
83
+ }
70
84
  const request = task.requirements;
85
+ // Guard clause: Validate critical request fields
86
+ if (!request.sourceCode) {
87
+ throw new Error('[TestGeneratorAgent] Source code is required but missing');
88
+ }
89
+ if (!request.framework) {
90
+ throw new Error('[TestGeneratorAgent] Testing framework is required but missing');
91
+ }
92
+ if (!request.coverage) {
93
+ throw new Error('[TestGeneratorAgent] Coverage configuration is required but missing');
94
+ }
95
+ if (!request.constraints) {
96
+ throw new Error('[TestGeneratorAgent] Test constraints are required but missing');
97
+ }
71
98
  // Implement the GenerateTestsWithAI algorithm from SPARC pseudocode
72
99
  return await this.generateTestsWithAI(request);
73
100
  }
@@ -93,6 +120,10 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
93
120
  * Generate tests using AI analysis and sublinear optimization
94
121
  * Based on SPARC Phase 2 Algorithm: GenerateTestsWithAI
95
122
  * Enhanced with pattern-based generation for 20%+ performance improvement
123
+ *
124
+ * @param request - Test generation request with source code and constraints
125
+ * @returns Test generation result with generated test suite and metrics
126
+ * @throws {Error} If required request fields are invalid or processing fails
96
127
  */
97
128
  async generateTestsWithAI(request) {
98
129
  const startTime = Date.now();
@@ -101,26 +132,65 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
101
132
  let patternMatches = [];
102
133
  let appliedPatterns = [];
103
134
  try {
135
+ // Defensive: Validate source code structure
136
+ if (!request.sourceCode) {
137
+ throw new Error('[TestGeneratorAgent] Source code is required');
138
+ }
139
+ if (!request.sourceCode.complexityMetrics) {
140
+ throw new Error('[TestGeneratorAgent] Source code complexity metrics are required');
141
+ }
142
+ // Defensive: Validate framework and constraints
143
+ if (!request.framework || typeof request.framework !== 'string') {
144
+ throw new Error('[TestGeneratorAgent] Valid framework name is required');
145
+ }
146
+ if (!request.constraints || typeof request.constraints !== 'object') {
147
+ throw new Error('[TestGeneratorAgent] Valid constraints object is required');
148
+ }
104
149
  // Phase 1: Code Analysis using Consciousness Framework
105
150
  const codeAnalysis = await this.analyzeCodeWithConsciousness(request.sourceCode);
151
+ // Defensive: Validate code analysis result
152
+ if (!codeAnalysis) {
153
+ throw new Error('[TestGeneratorAgent] Code analysis failed - returned null/undefined');
154
+ }
106
155
  const complexityMetrics = request.sourceCode.complexityMetrics;
107
156
  const riskFactors = await this.identifyRiskFactors(codeAnalysis, complexityMetrics);
157
+ // Defensive: Ensure riskFactors is an array
158
+ const safeRiskFactors = Array.isArray(riskFactors) ? riskFactors : [];
108
159
  // Phase 2: Pattern-Based Generation (NEW - Phase 2 Integration)
109
160
  let applicablePatterns = [];
110
161
  if (this.reasoningBank && this.patternConfig.enabled) {
111
162
  const patternStart = Date.now();
112
163
  // Extract code signature for pattern matching
113
164
  const codeSignature = await this.extractCodeSignature(request.sourceCode);
114
- // Find applicable patterns from ReasoningBank
115
- applicablePatterns = await this.findApplicablePatterns(codeSignature, request.framework);
116
- patternMatchTime = Date.now() - patternStart;
117
- patternMatches = applicablePatterns;
118
- this.logger.info(`[TestGeneratorAgent] Found ${applicablePatterns.length} applicable patterns in ${patternMatchTime}ms`);
165
+ // Defensive: Validate code signature extraction
166
+ if (!codeSignature) {
167
+ this.logger.warn('[TestGeneratorAgent] Code signature extraction returned null, skipping pattern matching');
168
+ }
169
+ else {
170
+ // Find applicable patterns from ReasoningBank
171
+ applicablePatterns = await this.findApplicablePatterns(codeSignature, request.framework);
172
+ // Defensive: Ensure applicablePatterns is an array
173
+ if (!Array.isArray(applicablePatterns)) {
174
+ this.logger.warn('[TestGeneratorAgent] Pattern matching returned non-array, using empty array');
175
+ applicablePatterns = [];
176
+ }
177
+ patternMatchTime = Date.now() - patternStart;
178
+ patternMatches = applicablePatterns;
179
+ this.logger.info(`[TestGeneratorAgent] Found ${applicablePatterns.length} applicable patterns in ${patternMatchTime}ms`);
180
+ }
119
181
  }
120
182
  // Phase 3: Pattern Recognition (enhanced with ReasoningBank patterns)
121
183
  const patterns = await this.recognizePatterns(request.sourceCode);
184
+ // Defensive: Validate patterns result
185
+ if (!patterns) {
186
+ this.logger.warn('[TestGeneratorAgent] Pattern recognition returned null, using empty object');
187
+ }
122
188
  // Phase 4: Test Strategy Selection using Psycho-Symbolic Reasoning
123
- const testStrategy = await this.selectTestStrategy(patterns, complexityMetrics, riskFactors, request.coverage);
189
+ const testStrategy = await this.selectTestStrategy(patterns ?? {}, complexityMetrics, safeRiskFactors, request.coverage);
190
+ // Defensive: Validate test strategy
191
+ if (!testStrategy) {
192
+ throw new Error('[TestGeneratorAgent] Test strategy selection failed - returned null/undefined');
193
+ }
124
194
  // Phase 5: Neural-Enhanced Test Candidate Suggestions
125
195
  // Note: Neural capabilities removed, AgentDB provides distributed coordination
126
196
  const neuralTestSuggestions = null;
@@ -130,55 +200,108 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
130
200
  const testCandidates = await this.generateTestCandidatesSublinear(request.sourceCode, request.framework, request.constraints, applicablePatterns, // Pass patterns for template-based generation
131
201
  neuralTestSuggestions // Pass neural suggestions for enhancement
132
202
  );
203
+ // Defensive: Validate test candidates
204
+ if (!Array.isArray(testCandidates)) {
205
+ throw new Error('[TestGeneratorAgent] Test candidate generation failed - returned non-array');
206
+ }
207
+ if (testCandidates.length === 0) {
208
+ this.logger.warn('[TestGeneratorAgent] No test candidates generated, will return empty test suite');
209
+ }
133
210
  // Phase 7: Test Case Optimization using Sublinear Matrix Solving
134
211
  const optimalTestSet = await this.optimizeTestSelection(testCandidates, request.coverage);
212
+ // Defensive: Validate optimal test set structure
213
+ if (!optimalTestSet || typeof optimalTestSet !== 'object') {
214
+ throw new Error('[TestGeneratorAgent] Test optimization failed - returned invalid result');
215
+ }
216
+ // Defensive: Ensure test vector arrays exist with defaults
217
+ const unitTestVectors = Array.isArray(optimalTestSet.unitTestVectors) ? optimalTestSet.unitTestVectors : [];
218
+ const integrationVectors = Array.isArray(optimalTestSet.integrationVectors) ? optimalTestSet.integrationVectors : [];
219
+ const edgeCaseVectors = Array.isArray(optimalTestSet.edgeCaseVectors) ? optimalTestSet.edgeCaseVectors : [];
135
220
  // Phase 8: Generate Specific Test Types (with pattern acceleration and neural guidance)
136
- const unitTests = await this.generateUnitTests(request.sourceCode, optimalTestSet.unitTestVectors, applicablePatterns, neuralTestSuggestions);
137
- const integrationTests = await this.generateIntegrationTests(request.sourceCode, optimalTestSet.integrationVectors);
138
- const edgeCaseTests = await this.generateEdgeCaseTests(riskFactors, optimalTestSet.edgeCaseVectors);
139
- // Count patterns actually used
140
- patternsUsed = applicablePatterns.filter(p => p.applicability > 0.7).length;
221
+ const unitTests = await this.generateUnitTests(request.sourceCode, unitTestVectors, applicablePatterns, neuralTestSuggestions);
222
+ // Defensive: Validate unit tests result
223
+ const safeUnitTests = Array.isArray(unitTests) ? unitTests : [];
224
+ const integrationTests = await this.generateIntegrationTests(request.sourceCode, integrationVectors);
225
+ // Defensive: Validate integration tests result
226
+ const safeIntegrationTests = Array.isArray(integrationTests) ? integrationTests : [];
227
+ const edgeCaseTests = await this.generateEdgeCaseTests(safeRiskFactors, edgeCaseVectors);
228
+ // Defensive: Validate edge case tests result
229
+ const safeEdgeCaseTests = Array.isArray(edgeCaseTests) ? edgeCaseTests : [];
230
+ // Count patterns actually used (with optional chaining for safety)
231
+ patternsUsed = applicablePatterns.filter(p => p?.applicability > 0.7).length;
141
232
  appliedPatterns = applicablePatterns
142
- .filter(p => p.applicability > 0.7)
143
- .map(p => p.pattern.id);
233
+ .filter(p => p?.applicability > 0.7)
234
+ .map(p => p?.pattern?.id)
235
+ .filter((id) => typeof id === 'string'); // Remove undefined values
144
236
  // Phase 9: Test Suite Assembly
145
- const testSuite = await this.assembleTestSuite(unitTests, integrationTests, edgeCaseTests, testStrategy, request.coverage);
237
+ const testSuite = await this.assembleTestSuite(safeUnitTests, safeIntegrationTests, safeEdgeCaseTests, testStrategy, request.coverage);
238
+ // Defensive: Validate test suite structure
239
+ if (!testSuite || typeof testSuite !== 'object') {
240
+ throw new Error('[TestGeneratorAgent] Test suite assembly failed - returned invalid result');
241
+ }
242
+ if (!Array.isArray(testSuite.tests)) {
243
+ throw new Error('[TestGeneratorAgent] Test suite has invalid tests array');
244
+ }
146
245
  // Phase 10: Validate Test Suite Quality
147
246
  const qualityScore = await this.validateTestSuiteQuality(testSuite);
247
+ // Defensive: Validate quality score structure
248
+ if (!qualityScore || typeof qualityScore !== 'object') {
249
+ this.logger.warn('[TestGeneratorAgent] Quality validation returned invalid result, using defaults');
250
+ }
251
+ const safeQualityScore = qualityScore ?? { overall: 0.5, diversity: 0.5, riskCoverage: 0.5, edgeCases: 0.5 };
148
252
  let finalTestSuite = testSuite;
149
- if (qualityScore.overall < 0.8) {
150
- finalTestSuite = await this.refineTestSuite(testSuite, qualityScore);
253
+ if (safeQualityScore.overall < 0.8) {
254
+ const refinedSuite = await this.refineTestSuite(testSuite, safeQualityScore);
255
+ // Defensive: Only use refined suite if it's valid
256
+ if (refinedSuite && Array.isArray(refinedSuite.tests)) {
257
+ finalTestSuite = refinedSuite;
258
+ }
259
+ else {
260
+ this.logger.warn('[TestGeneratorAgent] Test suite refinement returned invalid result, using original');
261
+ }
151
262
  }
152
263
  const generationTime = Date.now() - startTime;
153
- const patternHitRate = testSuite.tests.length > 0
154
- ? patternsUsed / testSuite.tests.length
264
+ // Defensive: Safe calculation of pattern hit rate
265
+ const patternHitRate = finalTestSuite.tests.length > 0
266
+ ? patternsUsed / finalTestSuite.tests.length
155
267
  : 0;
156
268
  // Calculate time savings from pattern usage (estimated 30% faster per pattern-based test)
157
269
  const patternSavings = patternsUsed * 100; // Approximate 100ms saved per pattern-based test
158
270
  // Store results for learning
159
271
  await this.storeGenerationResults(request, finalTestSuite, generationTime);
160
- // Update pattern metrics in ReasoningBank
272
+ // Update pattern metrics in ReasoningBank (with null checks)
161
273
  if (this.reasoningBank && applicablePatterns.length > 0) {
162
274
  for (const match of applicablePatterns) {
163
- const wasUsed = appliedPatterns.includes(match.pattern.id);
164
- await this.reasoningBank.updatePatternMetrics(match.pattern.id, wasUsed);
275
+ // Defensive: Validate match structure
276
+ if (match?.pattern?.id) {
277
+ const wasUsed = appliedPatterns.includes(match.pattern.id);
278
+ try {
279
+ await this.reasoningBank.updatePatternMetrics(match.pattern.id, wasUsed);
280
+ }
281
+ catch (error) {
282
+ this.logger.warn(`[TestGeneratorAgent] Failed to update pattern metrics for ${match.pattern.id}:`, error);
283
+ }
284
+ }
165
285
  }
166
286
  }
287
+ // Defensive: Safe metadata access with nullish coalescing and optional chaining
288
+ const coverageProjection = finalTestSuite.metadata?.coverageProjection ?? 0;
289
+ const optimizationRatio = finalTestSuite.metadata?.optimizationMetrics?.optimizationRatio ?? 1.0;
167
290
  return {
168
291
  testSuite: finalTestSuite,
169
292
  generationMetrics: {
170
293
  generationTime,
171
294
  testsGenerated: finalTestSuite.tests.length,
172
- coverageProjection: finalTestSuite.metadata.coverageProjection || 0,
173
- optimizationRatio: finalTestSuite.metadata.optimizationMetrics?.optimizationRatio || 1.0,
295
+ coverageProjection,
296
+ optimizationRatio,
174
297
  patternsUsed,
175
298
  patternHitRate,
176
299
  patternMatchTime
177
300
  },
178
301
  quality: {
179
- diversityScore: qualityScore.diversity,
180
- riskCoverage: qualityScore.riskCoverage,
181
- edgeCasesCovered: qualityScore.edgeCases
302
+ diversityScore: safeQualityScore.diversity,
303
+ riskCoverage: safeQualityScore.riskCoverage,
304
+ edgeCasesCovered: safeQualityScore.edgeCases
182
305
  },
183
306
  patterns: {
184
307
  matched: patternMatches,
@@ -232,10 +355,33 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
232
355
  // ============================================================================
233
356
  // Sublinear Test Generation
234
357
  // ============================================================================
358
+ /**
359
+ * Generate test candidates using sublinear optimization with defensive validation
360
+ * @param sourceCode - Source code to generate tests for
361
+ * @param framework - Testing framework to use
362
+ * @param constraints - Test generation constraints
363
+ * @param _applicablePatterns - Applicable test patterns (optional)
364
+ * @param neuralSuggestions - Neural test suggestions (optional, nullable)
365
+ * @returns Array of test candidates
366
+ * @throws {Error} If required parameters are invalid
367
+ */
235
368
  async generateTestCandidatesSublinear(sourceCode, framework, constraints, _applicablePatterns = [], neuralSuggestions = null) {
369
+ // Defensive: Validate required parameters
370
+ if (!sourceCode) {
371
+ throw new Error('[TestGeneratorAgent] Source code is required for test candidate generation');
372
+ }
373
+ if (!framework || typeof framework !== 'string') {
374
+ throw new Error('[TestGeneratorAgent] Valid framework name is required');
375
+ }
376
+ if (!constraints || typeof constraints !== 'object') {
377
+ throw new Error('[TestGeneratorAgent] Valid constraints object is required');
378
+ }
379
+ if (typeof constraints.maxTests !== 'number' || constraints.maxTests <= 0) {
380
+ throw new Error('[TestGeneratorAgent] constraints.maxTests must be a positive number');
381
+ }
236
382
  const testCandidates = [];
237
- // Prioritize neural suggestions if available
238
- if (neuralSuggestions?.result?.suggestedTests) {
383
+ // Prioritize neural suggestions if available (with safe navigation)
384
+ if (neuralSuggestions?.result?.suggestedTests && Array.isArray(neuralSuggestions.result.suggestedTests)) {
239
385
  this.logger.info(`[TestGeneratorAgent] Incorporating ${neuralSuggestions.result.suggestedTests.length} neural test suggestions`);
240
386
  for (const suggestion of neuralSuggestions.result.suggestedTests) {
241
387
  if (testCandidates.length >= constraints.maxTests)
@@ -257,13 +403,40 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
257
403
  testCandidates.push(testCase);
258
404
  }
259
405
  }
406
+ // Defensive: Validate complexity metrics exist
407
+ if (!sourceCode.complexityMetrics) {
408
+ this.logger.warn('[TestGeneratorAgent] Source code missing complexity metrics, using defaults');
409
+ sourceCode.complexityMetrics = {
410
+ functionCount: 1,
411
+ cyclomaticComplexity: 1,
412
+ cognitiveComplexity: 1,
413
+ linesOfCode: 0
414
+ };
415
+ }
416
+ const functionCount = sourceCode.complexityMetrics.functionCount ?? 1;
260
417
  // Generate test vectors using Johnson-Lindenstrauss dimension reduction
261
- const testVectors = await this.generateTestVectors(sourceCode.complexityMetrics.functionCount * 10);
418
+ const testVectors = await this.generateTestVectors(functionCount * 10);
419
+ // Defensive: Validate test vectors result
420
+ if (!Array.isArray(testVectors)) {
421
+ this.logger.error('[TestGeneratorAgent] Test vector generation returned non-array');
422
+ return testCandidates;
423
+ }
262
424
  for (let i = 0; i < testVectors.length && testCandidates.length < constraints.maxTests; i++) {
263
425
  const vector = testVectors[i];
264
- const testCase = await this.createTestCaseFromVector(vector, sourceCode, framework);
265
- if (testCase) {
266
- testCandidates.push(testCase);
426
+ // Defensive: Skip invalid vectors
427
+ if (!Array.isArray(vector) || vector.length === 0) {
428
+ this.logger.warn(`[TestGeneratorAgent] Skipping invalid vector at index ${i}`);
429
+ continue;
430
+ }
431
+ try {
432
+ const testCase = await this.createTestCaseFromVector(vector, sourceCode, framework);
433
+ if (testCase) {
434
+ testCandidates.push(testCase);
435
+ }
436
+ }
437
+ catch (error) {
438
+ this.logger.warn(`[TestGeneratorAgent] Failed to create test case from vector ${i}:`, error);
439
+ // Continue with next vector instead of failing completely
267
440
  }
268
441
  }
269
442
  return testCandidates;
@@ -612,38 +785,90 @@ class TestGeneratorAgent extends BaseAgent_1.BaseAgent {
612
785
  // Pattern-Based Generation Methods (Phase 2 Integration)
613
786
  // ============================================================================
614
787
  /**
615
- * Extract code signature for pattern matching
788
+ * Extract code signature for pattern matching with comprehensive null safety
616
789
  * Converts source code metadata into ReasoningBank-compatible signature
790
+ * @param sourceCode - Source code object with files and metrics
791
+ * @returns Partial code signature with safe defaults for missing data
617
792
  */
618
793
  async extractCodeSignature(sourceCode) {
619
- const files = sourceCode.files || [];
620
- const metrics = sourceCode.complexityMetrics || {};
621
- // Extract function signatures from code
622
- const functions = await this.extractFunctions(sourceCode);
794
+ // Defensive: Validate sourceCode parameter
795
+ if (!sourceCode || typeof sourceCode !== 'object') {
796
+ this.logger.warn('[TestGeneratorAgent] extractCodeSignature received invalid sourceCode, using defaults');
797
+ return {
798
+ functionName: undefined,
799
+ parameters: [],
800
+ returnType: 'any',
801
+ imports: [],
802
+ dependencies: [],
803
+ complexity: {
804
+ cyclomaticComplexity: 1,
805
+ cognitiveComplexity: 1,
806
+ linesOfCode: 0,
807
+ branchCount: 1
808
+ },
809
+ testStructure: {
810
+ describeBlocks: 1,
811
+ itBlocks: 1,
812
+ hooks: ['beforeEach', 'afterEach']
813
+ }
814
+ };
815
+ }
816
+ // Defensive: Safe access to files array
817
+ const files = Array.isArray(sourceCode.files) ? sourceCode.files : [];
818
+ // Defensive: Safe access to metrics with defaults
819
+ const metrics = sourceCode.complexityMetrics ?? {
820
+ cyclomaticComplexity: 1,
821
+ cognitiveComplexity: 1,
822
+ linesOfCode: 0,
823
+ functionCount: 1
824
+ };
825
+ // Extract function signatures from code with error handling
826
+ let functions = [];
827
+ try {
828
+ functions = await this.extractFunctions(sourceCode);
829
+ // Defensive: Ensure functions is an array
830
+ if (!Array.isArray(functions)) {
831
+ this.logger.warn('[TestGeneratorAgent] extractFunctions returned non-array, using empty array');
832
+ functions = [];
833
+ }
834
+ }
835
+ catch (error) {
836
+ this.logger.warn('[TestGeneratorAgent] Failed to extract functions:', error);
837
+ functions = [];
838
+ }
839
+ // Defensive: Safe access to first function with optional chaining
840
+ const firstFunction = functions.length > 0 ? functions[0] : null;
841
+ const functionName = firstFunction?.name;
842
+ // Defensive: Safe parameter mapping with null checks
843
+ const parameters = firstFunction?.parameters && Array.isArray(firstFunction.parameters)
844
+ ? firstFunction.parameters.map((p) => ({
845
+ name: p?.name ?? 'param',
846
+ type: p?.type ?? 'any',
847
+ optional: p?.optional ?? false
848
+ }))
849
+ : [];
850
+ // Defensive: Safe file imports mapping with null checks
851
+ const imports = files
852
+ .filter((f) => f && typeof f === 'object')
853
+ .map((f) => ({
854
+ module: f.path ?? 'unknown',
855
+ identifiers: []
856
+ }));
623
857
  const codeSignature = {
624
- functionName: functions.length > 0 ? functions[0].name : undefined,
625
- parameters: functions.length > 0
626
- ? functions[0].parameters.map((p) => ({
627
- name: p.name || 'param',
628
- type: p.type || 'any',
629
- optional: p.optional || false
630
- }))
631
- : [],
858
+ functionName,
859
+ parameters,
632
860
  returnType: 'any',
633
- imports: files.map((f) => ({
634
- module: f.path,
635
- identifiers: []
636
- })),
861
+ imports,
637
862
  dependencies: [],
638
863
  complexity: {
639
- cyclomaticComplexity: metrics.cyclomaticComplexity || 1,
640
- cognitiveComplexity: metrics.cognitiveComplexity || 1,
641
- linesOfCode: metrics.linesOfCode,
642
- branchCount: metrics.cyclomaticComplexity
864
+ cyclomaticComplexity: metrics.cyclomaticComplexity ?? 1,
865
+ cognitiveComplexity: metrics.cognitiveComplexity ?? 1,
866
+ linesOfCode: metrics.linesOfCode ?? 0,
867
+ branchCount: metrics.cyclomaticComplexity ?? 1
643
868
  },
644
869
  testStructure: {
645
870
  describeBlocks: 1,
646
- itBlocks: Math.max(1, metrics.functionCount || 1),
871
+ itBlocks: Math.max(1, metrics.functionCount ?? 1),
647
872
  hooks: ['beforeEach', 'afterEach']
648
873
  }
649
874
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TestGeneratorAgent.js","sourceRoot":"","sources":["../../src/agents/TestGeneratorAgent.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,2CAAyD;AACzD,8DAAwD;AACxD,oCAckB;AAClB,kEAA2G;AAc3G,uCAAuC;AACvC,MAAM,aAAa;IACjB,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC,OAAe,EAAE,GAAG,IAAW;QAClC,OAAO,CAAC,IAAI,CAAC,UAAU,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,OAAe,EAAE,GAAG,IAAW;QACnC,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF;AA2DD,MAAa,kBAAmB,SAAQ,qBAAS;IAkB/C,YAAY,MAA2B;QACrC,KAAK,CAAC,MAAM,CAAC,CAAC;QAlBG,WAAM,GAAW,IAAI,aAAa,EAAE,CAAC;QAoBtD,iDAAiD;QACjD,IAAI,CAAC,aAAa,GAAG;YACnB,OAAO,EAAE,MAAM,CAAC,cAAc,KAAK,KAAK;YACxC,aAAa,EAAE,MAAM,CAAC,oBAAoB,IAAI,IAAI;YAClD,YAAY,EAAE,MAAM,CAAC,mBAAmB,IAAI,EAAE;YAC9C,eAAe,EAAE,MAAM,CAAC,cAAc,KAAK,KAAK;SACjD,CAAC;QAEF,sCAAsC;QACtC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,iCAAe,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QAC5E,CAAC;QAED,mFAAmF;QACnF,0BAA0B;QAC1B,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,2BAA2B;IAC3B,+EAA+E;IAErE,KAAK,CAAC,oBAAoB;QAClC,gEAAgE;QAChE,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChD,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAClE,IAAI,CAAC,sBAAsB,GAAG,MAAM,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACxE,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEtD,sEAAsE;QACtE,mCAAmC;QACnC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/D,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,IAAY;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAqC,CAAC;QAE3D,oEAAoE;QACpE,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,aAAa;QAC3B,4CAA4C;QAC5C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,mBAAW,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAChG,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,mBAAW,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAEtG,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAES,KAAK,CAAC,OAAO;QACrB,qCAAqC;QACrC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC;IAED,+EAA+E;IAC/E,iCAAiC;IACjC,+EAA+E;IAE/E;;;;OAIG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAA8B;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,cAAc,GAAmB,EAAE,CAAC;QACxC,IAAI,eAAe,GAAa,EAAE,CAAC;QAEnC,IAAI,CAAC;YACH,uDAAuD;YACvD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACjF,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC;YAC/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;YAEpF,gEAAgE;YAChE,IAAI,kBAAkB,GAAmB,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBACrD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAEhC,8CAA8C;gBAC9C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAE1E,8CAA8C;gBAC9C,kBAAkB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEzF,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;gBAC7C,cAAc,GAAG,kBAAkB,CAAC;gBAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,kBAAkB,CAAC,MAAM,2BAA2B,gBAAgB,IAAI,CAAC,CAAC;YAC3H,CAAC;YAED,sEAAsE;YACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAElE,mEAAmE;YACnE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE/G,sDAAsD;YACtD,+EAA+E;YAC/E,MAAM,qBAAqB,GAAG,IAAI,CAAC;YACnC,gDAAgD;YAChD,0EAA0E;YAE1E,0FAA0F;YAC1F,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAC/D,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,WAAW,EACnB,kBAAkB,EAAE,8CAA8C;YAClE,qBAAqB,CAAC,0CAA0C;aACjE,CAAC;YAEF,iEAAiE;YACjE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE1F,wFAAwF;YACxF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC5C,OAAO,CAAC,UAAU,EAClB,cAAc,CAAC,eAAe,EAC9B,kBAAkB,EAClB,qBAAqB,CACtB,CAAC;YACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;YACpH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;YAEpG,+BAA+B;YAC/B,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC;YAC5E,eAAe,GAAG,kBAAkB;iBACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAE1B,+BAA+B;YAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC5C,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,OAAO,CAAC,QAAQ,CACjB,CAAC;YAEF,wCAAwC;YACxC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAEpE,IAAI,cAAc,GAAG,SAAS,CAAC;YAC/B,IAAI,YAAY,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;gBAC/B,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACvE,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC9C,MAAM,cAAc,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAC/C,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM;gBACvC,CAAC,CAAC,CAAC,CAAC;YAEN,0FAA0F;YAC1F,MAAM,cAAc,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,iDAAiD;YAE5F,6BAA6B;YAC7B,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;YAE3E,0CAA0C;YAC1C,IAAI,IAAI,CAAC,aAAa,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,KAAK,MAAM,KAAK,IAAI,kBAAkB,EAAE,CAAC;oBACvC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC3D,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,cAAc;gBACzB,iBAAiB,EAAE;oBACjB,cAAc;oBACd,cAAc,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM;oBAC3C,kBAAkB,EAAE,cAAc,CAAC,QAAQ,CAAC,kBAAkB,IAAI,CAAC;oBACnE,iBAAiB,EAAE,cAAc,CAAC,QAAQ,CAAC,mBAAmB,EAAE,iBAAiB,IAAI,GAAG;oBACxF,YAAY;oBACZ,cAAc;oBACd,gBAAgB;iBACjB;gBACD,OAAO,EAAE;oBACP,cAAc,EAAE,YAAY,CAAC,SAAS;oBACtC,YAAY,EAAE,YAAY,CAAC,YAAY;oBACvC,gBAAgB,EAAE,YAAY,CAAC,SAAS;iBACzC;gBACD,QAAQ,EAAE;oBACR,OAAO,EAAE,cAAc;oBACvB,OAAO,EAAE,eAAe;oBACxB,OAAO,EAAE,cAAc;iBACxB;aACF,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE;gBACzC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,sBAAsB;IACtB,+EAA+E;IAEvE,KAAK,CAAC,4BAA4B,CAAC,UAAe;QACxD,qDAAqD;QACrD,OAAO;YACL,UAAU,EAAE,UAAU,CAAC,iBAAiB;YACxC,QAAQ,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;YACpD,YAAY,EAAE,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;YACxD,WAAW,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;SACtD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,UAAe;QAC7C,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC,UAAU,EAAE;YACtE,IAAI,EAAE,0BAA0B;YAChC,KAAK,EAAE,CAAC;YACR,iBAAiB,EAAE,IAAI;SACxB,CAAC,IAAI,EAAE,CAAC;QAET,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAAa,EAAE,iBAAsB,EAAE,WAAgB,EAAE,QAAa;QACrG,4CAA4C;QAC5C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,CAAC;YAC3D,KAAK,EAAE,iDAAiD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YAClF,OAAO,EAAE;gBACP,cAAc,EAAE,iBAAiB;gBACjC,WAAW,EAAE,WAAW;gBACxB,cAAc,EAAE,QAAQ;aACzB;SACF,CAAC,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;QAEvD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,+EAA+E;IAC/E,4BAA4B;IAC5B,+EAA+E;IAEvE,KAAK,CAAC,+BAA+B,CAC3C,UAAe,EACf,SAAiB,EACjB,WAAgB,EAChB,sBAAsC,EAAE,EACxC,oBAAyB,IAAI;QAE7B,MAAM,cAAc,GAAW,EAAE,CAAC;QAElC,6CAA6C;QAC7C,IAAI,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sCAAsC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,0BAA0B,CAC/G,CAAC;YAEF,KAAK,MAAM,UAAU,IAAI,iBAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBACjE,IAAI,cAAc,CAAC,MAAM,IAAI,WAAW,CAAC,QAAQ;oBAAE,MAAM;gBAEzD,MAAM,QAAQ,GAAS;oBACrB,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE;oBACzB,IAAI,EAAE,UAAU,CAAC,IAAI,IAAI,uBAAuB;oBAChD,IAAI,EAAE,UAAU,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAQ,CAAC,WAAW;oBAC3E,UAAU,EAAE,EAAE;oBACd,UAAU,EAAE,CAAC,0BAA0B,CAAC;oBACxC,cAAc,EAAE,IAAI;oBACpB,iBAAiB,EAAE,IAAI;oBACvB,QAAQ,EAAE;wBACR,MAAM,EAAE,QAAQ;wBAChB,UAAU,EAAE,iBAAiB,CAAC,UAAU;wBACxC,QAAQ,EAAE,UAAU,CAAC,QAAQ;qBAC9B;iBACF,CAAC;gBAEF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,wEAAwE;QACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,iBAAiB,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;QAEpG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,IAAI,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5F,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;YAEpF,IAAI,QAAQ,EAAE,CAAC;gBACb,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,IAAY;QAC5C,mDAAmD;QACnD,MAAM,OAAO,GAAe,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,8BAAY,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,cAAsB,EAAE,SAAc;QACxE,kDAAkD;QAClD,MAAM,kBAAkB,GAAoB;YAC1C,IAAI,EAAE,cAAc,CAAC,MAAM;YAC3B,IAAI,EAAE,GAAG,EAAE,kBAAkB;YAC7B,MAAM,EAAE,EAAE;YACV,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE;gBACJ,MAAM,EAAE,EAAE;gBACV,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,EAAE;aACf;SACF,CAAC;QAEF,kDAAkD;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,yBAAyB;gBACrD,kBAAkB,CAAC,IAAY,CAAC,MAAM,CAAC,IAAI,CAAC,8BAAY,CAAC,WAAW,EAAE,CAAC,CAAC;gBACxE,kBAAkB,CAAC,IAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACnD,kBAAkB,CAAC,IAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAE/D,OAAO;YACL,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YACzE,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC3G,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3E,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,uBAAuB;IACvB,+EAA+E;IAEvE,KAAK,CAAC,iBAAiB,CAC7B,UAAe,EACf,OAAiB,EACjB,qBAAqC,EAAE,EACvC,oBAAyB,IAAI;QAE7B,MAAM,SAAS,GAAW,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAE1D,qEAAqE;QACrE,MAAM,uBAAuB,GAAG,iBAAiB,EAAE,MAAM,EAAE,cAAc;YACvE,EAAE,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC;aAC1C,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAE7C,uDAAuD;YACvD,IAAI,uBAAuB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjD,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kDAAkD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,CAAC;YAED,yDAAyD;YACzD,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjD,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa;gBAClD,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM,CAC9B,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBACxF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAE1E,oCAAoC;gBACpC,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;oBACvD,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;oBAChC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;oBACxF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,OAAO,CAAC,OAAO,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnG,CAAC;gBAED,MAAM,IAAI,GAAS;oBACjB,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE;oBACzB,IAAI,EAAE,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;oBAC9B,IAAI,EAAE,gBAAQ,CAAC,IAAI;oBACnB,UAAU;oBACV,UAAU,EAAE;wBACV,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;qBACxG;oBACD,cAAc;oBACd,iBAAiB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC;oBAC9D,IAAI,EAAE,QAAQ,IAAI,SAAS;iBAC5B,CAAC;gBAEF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,UAAe,EAAE,OAAiB;QACvE,6DAA6D;QAC7D,MAAM,gBAAgB,GAAW,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrE,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAI,GAAS;gBACjB,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE;gBACzB,IAAI,EAAE,eAAe,SAAS,CAAC,IAAI,IAAI,CAAC,EAAE;gBAC1C,IAAI,EAAE,gBAAQ,CAAC,WAAW;gBAC1B,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,0BAA0B,CAAC;gBACzD,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,IAAI;aACxB,CAAC;YAEF,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,WAAkB,EAAE,OAAiB;QACvE,MAAM,aAAa,GAAW,EAAE,CAAC;QAEjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACtE,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,IAAI,GAAS;gBACjB,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE;gBACzB,IAAI,EAAE,aAAa,UAAU,CAAC,IAAI,IAAI,CAAC,EAAE;gBACzC,IAAI,EAAE,gBAAQ,CAAC,IAAI;gBACnB,UAAU,EAAE,EAAE;gBACd,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,IAAI,oBAAoB,CAAC;gBACpD,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,IAAI;aACxB,CAAC;YAEF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,+EAA+E;IAC/E,qCAAqC;IACrC,+EAA+E;IAEvE,KAAK,CAAC,iBAAiB,CAC7B,SAAiB,EACjB,gBAAwB,EACxB,aAAqB,EACrB,QAAa,EACb,QAAa;QAEb,MAAM,QAAQ,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,gBAAgB,EAAE,GAAG,aAAa,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAsB;YAClC,WAAW,EAAE,IAAI,IAAI,EAAE;YACvB,cAAc,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;YACrC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,MAAM;YACvC,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;YACzF,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,IAAI,WAAW;YACpD,kBAAkB,EAAE,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;YACxD,mBAAmB,EAAE;gBACnB,iBAAiB,EAAE,GAAG;gBACtB,YAAY,EAAE,QAAQ,CAAC,MAAM;gBAC7B,aAAa,EAAE,QAAQ,CAAC,MAAM;gBAC9B,gBAAgB,EAAE,QAAQ,CAAC,MAAM;gBACjC,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;aACtF;SACF,CAAC;QAEF,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,mBAAmB,EAAE;YAC9B,IAAI,EAAE,0BAA0B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;YAC1D,KAAK,EAAE,QAAQ;YACf,QAAQ;SACT,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,UAAqB;QAC1D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,GAAG;YACd,YAAY,EAAE,GAAG;YACjB,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,SAAoB,EAAE,aAAkB;QACpE,oDAAoD;QACpD,OAAO,SAAS,CAAC,CAAC,cAAc;IAClC,CAAC;IAED,+EAA+E;IAC/E,iBAAiB;IACjB,+EAA+E;IAEvE,KAAK,CAAC,gBAAgB;QAC5B,6CAA6C;QAC7C,OAAO;YACL,iBAAiB,EAAE,KAAK,EAAE,WAAgB,EAAE,QAAa,EAAE,EAAE;gBAC3D,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,yBAAyB;QACrC,uCAAuC;QACvC,OAAO;YACL,WAAW,EAAE,KAAK,EAAE,WAAgB,EAAE,EAAE;gBACtC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;YACvD,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,4BAA4B;QACxC,mCAAmC;QACnC,OAAO;YACL,MAAM,EAAE,KAAK,EAAE,MAAW,EAAE,EAAE;gBAC5B,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;YACxD,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,yCAAyC;QACzC,OAAO;YACL,KAAK,EAAE,KAAK,EAAE,MAAuB,EAAE,EAAE;gBACvC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,8BAAY,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC7F,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAuB;QAClD,OAAO;YACL,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,8BAAY,CAAC,WAAW,EAAE,CAAC;YAC/E,UAAU,EAAE,GAAG;YACf,WAAW,EAAE,IAAI;YACjB,eAAe,EAAE,EAAE;SACpB,CAAC;IACJ,CAAC;IAED,kBAAkB;IACV,cAAc;QACpB,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,8BAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAEO,mBAAmB;QACzB,OAAO,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,8BAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7D,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,WAAgB;QAChD,OAAO,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC9C,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,WAAgB;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,WAAgB;QAC9C,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,aAAkB,EAAE,kBAAuB;QAC3E,OAAO;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,EAAE;YAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC1C,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,MAAgB,EAAE,WAAgB,EAAE,UAAkB;QAC3F,yCAAyC;QACzC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,cAAc,EAAE;YACzB,IAAI,EAAE,kBAAkB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE;YACtD,IAAI,EAAE,gBAAQ,CAAC,IAAI;YACnB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,CAAC,6BAA6B,CAAC;YAC3C,cAAc,EAAE,IAAI;YACpB,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SAChD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,WAAgB;QAC7C,OAAO;YACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;SAC3D,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,IAAS;QACnD,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,OAAe,EAAE,WAAkB;QAC5E,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,KAAU,EAAE,WAA4B;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAS,EAAE,WAA4B,EAAE,eAAoB;QAC1F,OAAO,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAEO,qBAAqB,CAAC,IAAS,EAAE,UAAkB;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACtC,CAAC;IAEO,oBAAoB,CAAC,KAAU,EAAE,WAA4B;QACnE,OAAO,IAAI,CAAC,CAAC,WAAW;IAC1B,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,WAAgB;QAC/C,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAClC,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,SAAc,EAAE,MAAc;QACtE,OAAO,2BAA2B,SAAS,CAAC,IAAI,EAAE,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,UAAe,EAAE,MAAc;QACpE,OAAO,yBAAyB,UAAU,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAAa;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,KAAa;QACjD,OAAO,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAA8B,EAAE,SAAoB,EAAE,cAAsB;QAC/G,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACxC,OAAO;YACP,SAAS,EAAE;gBACT,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM;gBACjC,QAAQ,EAAE,SAAS,CAAC,QAAQ;aAC7B;YACD,cAAc;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,4CAA4C;QAC5C,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;YAC/C,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAAC,eAAuB;QACvD,iEAAiE;QACjE,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,8BAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAE/E,kEAAkE;QAClE,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAElC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,yBAAyB,CAAC,SAAoB;QACpD,MAAM,QAAQ,GAAU,EAAE,CAAC;QAE3B,wCAAwC;QACxC,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,2BAA2B;IAC3D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,OAAY;QAC/C,iEAAiE;QACjE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,8BAAY,CAAC,WAAW,EAAE,CAAC,CAAC;QAE/E,6CAA6C;QAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrF,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAElC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,+EAA+E;IAC/E,yDAAyD;IACzD,+EAA+E;IAE/E;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAAC,UAAe;QAChD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAEnD,wCAAwC;QACxC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAE1D,MAAM,aAAa,GAAoC;YACrD,YAAY,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAClE,UAAU,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;gBAC9B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;oBACvC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO;oBACvB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK;oBACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,KAAK;iBAC9B,CAAC,CAAC;gBACL,CAAC,CAAC,EAAE;YACN,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAC9B,MAAM,EAAE,CAAC,CAAC,IAAI;gBACd,WAAW,EAAE,EAAE;aAChB,CAAC,CAAC;YACH,YAAY,EAAE,EAAE;YAChB,UAAU,EAAE;gBACV,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,IAAI,CAAC;gBACvD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,CAAC;gBACrD,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO,CAAC,oBAAoB;aAC1C;YACD,aAAa,EAAE;gBACb,cAAc,EAAE,CAAC;gBACjB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,aAAa,IAAI,CAAC,CAAC;gBACjD,KAAK,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;aACnC;SACF,CAAC;QAEF,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,sBAAsB,CAClC,aAA8C,EAC9C,SAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,4CAA4C;YAC5C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3D;gBACE,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,SAAgB;gBAC3B,QAAQ,EAAE,YAAY;gBACtB,QAAQ,EAAE;oBACR,aAAa,CAAC,YAAY,IAAI,UAAU;oBACxC,WAAW;oBACX,MAAM;iBACP;aACF,EACD,EAAE,CAAC,0BAA0B;aAC9B,CAAC;YAEF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEvC,iCAAiC;YACjC,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CACtD,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,sDAAsD,OAAO,MAAM;gBACnE,SAAS,eAAe,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,0BAA0B,CAC5E,CAAC;YAEF,8CAA8C;YAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0DAA0D,OAAO,QAAQ,IAAI,CAAC,aAAa,CAAC,YAAY,KAAK,CAC9G,CAAC;YACJ,CAAC;YAED,OAAO,eAAe,CAAC;QAEzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YAC1E,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAC1B,OAAsB,EACtB,IAAS,EACT,UAA2B,EAC3B,cAAmB;QAEnB,mDAAmD;QACnD,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEhC,0CAA0C;QAC1C,QAAQ,GAAG,QAAQ;aAChB,OAAO,CAAC,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC;aAC3C,OAAO,CAAC,qBAAqB,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACvE,OAAO,CAAC,yBAAyB,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;QAEtE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,UAAU,CAAC,IAAkB;QAC3C,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE7B,8EAA8E;QAC9E,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAE7B,+CAA+C;gBAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAEvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;oBAC1E,OAAO;gBACT,CAAC;gBAED,mDAAmD;gBACnD,IAAI,WAAW,GAAG,CAAC,CAAC;gBACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;oBAEpE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;wBACzC,EAAE,EAAE,gBAAgB,IAAI,CAAC,GAAG,EAAE,IAAI,8BAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;wBAC9D,IAAI,EAAE,yBAAyB;wBAC/B,MAAM,EAAE,iBAAiB;wBACzB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC;4BAC3B,QAAQ,EAAE,OAAO,CAAC,IAAI;4BACtB,QAAQ,EAAE,OAAO,CAAC,IAAI;4BACtB,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS;4BACnD,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,kBAAkB;4BAC3D,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc;yBAC9D,CAAC;wBACF,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,GAAG;wBACtD,WAAW,EAAE,CAAC;wBACd,aAAa,EAAE,CAAC;wBAChB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;wBACtB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB,CAAC,CAAC;oBAEH,WAAW,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,SAAS,aAAa,CAAC,CAAC;gBACrF,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;gBACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,0CAA0C,WAAW,uBAAuB;oBAC5E,IAAI,SAAS,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B,CAC5F,CAAC;gBAEF,0BAA0B;gBAC1B,IAAI,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,CAAC;oBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uDAAuD,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,uBAAuB,CACxH,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE,KAAK,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,wDAAwD;YACxD,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACpC,IAAI,CAAC,UAAU,CAAC,IAAI,EACpB,IAAI,CAAC,MAAM,CACZ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,8BAA8B;YAC9B,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAC9C,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC;oBAC3C,OAAO,EAAE;wBACP,cAAc,EAAE,CAAC;wBACjB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;wBAC5C,oBAAoB,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC;wBACjD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;wBAC1C,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,IAAI,GAAG;wBAC5D,kBAAkB,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,IAAI,GAAG,CAAC;qBAC7D;oBACD,MAAM,EAAE,EAAE,CAAC,sCAAsC;iBAClD,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,6CAA6C;oBAC7C,GAAG,OAAO,CAAC,cAAc,aAAa,OAAO,CAAC,cAAc,MAAM;oBAClE,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAC7G,CAAC;YACJ,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;YAC5E,kEAAkE;QACpE,CAAC;IACH,CAAC;CACF;AA39BD,gDA29BC"}
1
+ {"version":3,"file":"TestGeneratorAgent.js","sourceRoot":"","sources":["../../src/agents/TestGeneratorAgent.ts"],"names":[],"mappings":"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"}