agentic-qe 1.3.6 → 1.4.0

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 (133) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +42 -5
  3. package/dist/agents/ApiContractValidatorAgent.d.ts +11 -0
  4. package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
  5. package/dist/agents/ApiContractValidatorAgent.js +59 -0
  6. package/dist/agents/ApiContractValidatorAgent.js.map +1 -1
  7. package/dist/agents/BaseAgent.js +1 -1
  8. package/dist/agents/BaseAgent.js.map +1 -1
  9. package/dist/agents/DeploymentReadinessAgent.d.ts +11 -0
  10. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
  11. package/dist/agents/DeploymentReadinessAgent.js +61 -0
  12. package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
  13. package/dist/agents/FlakyTestHunterAgent.d.ts +20 -0
  14. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  15. package/dist/agents/FlakyTestHunterAgent.js +81 -7
  16. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  17. package/dist/agents/FleetCommanderAgent.d.ts +20 -0
  18. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  19. package/dist/agents/FleetCommanderAgent.js +77 -0
  20. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  21. package/dist/agents/PerformanceTesterAgent.d.ts +20 -0
  22. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
  23. package/dist/agents/PerformanceTesterAgent.js +77 -0
  24. package/dist/agents/PerformanceTesterAgent.js.map +1 -1
  25. package/dist/agents/ProductionIntelligenceAgent.d.ts +20 -0
  26. package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
  27. package/dist/agents/ProductionIntelligenceAgent.js +64 -0
  28. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
  29. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +20 -0
  30. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
  31. package/dist/agents/RegressionRiskAnalyzerAgent.js +64 -0
  32. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
  33. package/dist/agents/RequirementsValidatorAgent.d.ts +11 -0
  34. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
  35. package/dist/agents/RequirementsValidatorAgent.js +60 -0
  36. package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
  37. package/dist/agents/SecurityScannerAgent.d.ts +20 -0
  38. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
  39. package/dist/agents/SecurityScannerAgent.js +63 -0
  40. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  41. package/dist/agents/TestDataArchitectAgent.d.ts +20 -0
  42. package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
  43. package/dist/agents/TestDataArchitectAgent.js +62 -0
  44. package/dist/agents/TestDataArchitectAgent.js.map +1 -1
  45. package/dist/agents/TestExecutorAgent.d.ts +20 -0
  46. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  47. package/dist/agents/TestExecutorAgent.js +88 -13
  48. package/dist/agents/TestExecutorAgent.js.map +1 -1
  49. package/dist/agents/TestGeneratorAgent.d.ts +1 -0
  50. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  51. package/dist/agents/TestGeneratorAgent.js +53 -2
  52. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  53. package/dist/cli/commands/agentdb/learn.d.ts +22 -0
  54. package/dist/cli/commands/agentdb/learn.d.ts.map +1 -0
  55. package/dist/cli/commands/agentdb/learn.js +343 -0
  56. package/dist/cli/commands/agentdb/learn.js.map +1 -0
  57. package/dist/cli/commands/init.d.ts.map +1 -1
  58. package/dist/cli/commands/init.js +33 -11
  59. package/dist/cli/commands/init.js.map +1 -1
  60. package/dist/cli/commands/patterns/extract.d.ts +12 -0
  61. package/dist/cli/commands/patterns/extract.d.ts.map +1 -0
  62. package/dist/cli/commands/patterns/extract.js +304 -0
  63. package/dist/cli/commands/patterns/extract.js.map +1 -0
  64. package/dist/cli/commands/patterns/index-new.d.ts +12 -0
  65. package/dist/cli/commands/patterns/index-new.d.ts.map +1 -0
  66. package/dist/cli/commands/patterns/index-new.js +102 -0
  67. package/dist/cli/commands/patterns/index-new.js.map +1 -0
  68. package/dist/cli/commands/patterns/list.d.ts +14 -0
  69. package/dist/cli/commands/patterns/list.d.ts.map +1 -0
  70. package/dist/cli/commands/patterns/list.js +133 -0
  71. package/dist/cli/commands/patterns/list.js.map +1 -0
  72. package/dist/cli/commands/patterns/search.d.ts +13 -0
  73. package/dist/cli/commands/patterns/search.d.ts.map +1 -0
  74. package/dist/cli/commands/patterns/search.js +125 -0
  75. package/dist/cli/commands/patterns/search.js.map +1 -0
  76. package/dist/cli/commands/patterns/show.d.ts +7 -0
  77. package/dist/cli/commands/patterns/show.d.ts.map +1 -0
  78. package/dist/cli/commands/patterns/show.js +164 -0
  79. package/dist/cli/commands/patterns/show.js.map +1 -0
  80. package/dist/cli/commands/patterns/stats.d.ts +11 -0
  81. package/dist/cli/commands/patterns/stats.d.ts.map +1 -0
  82. package/dist/cli/commands/patterns/stats.js +241 -0
  83. package/dist/cli/commands/patterns/stats.js.map +1 -0
  84. package/dist/cli/index.js +1 -0
  85. package/dist/cli/index.js.map +1 -1
  86. package/dist/core/PatternDatabaseAdapter.d.ts +169 -0
  87. package/dist/core/PatternDatabaseAdapter.d.ts.map +1 -0
  88. package/dist/core/PatternDatabaseAdapter.js +493 -0
  89. package/dist/core/PatternDatabaseAdapter.js.map +1 -0
  90. package/dist/learning/AgentDBLearningIntegration.d.ts +147 -0
  91. package/dist/learning/AgentDBLearningIntegration.d.ts.map +1 -0
  92. package/dist/learning/AgentDBLearningIntegration.js +380 -0
  93. package/dist/learning/AgentDBLearningIntegration.js.map +1 -0
  94. package/dist/learning/AgentDBPatternOptimizer.d.ts +129 -0
  95. package/dist/learning/AgentDBPatternOptimizer.d.ts.map +1 -0
  96. package/dist/learning/AgentDBPatternOptimizer.js +332 -0
  97. package/dist/learning/AgentDBPatternOptimizer.js.map +1 -0
  98. package/dist/learning/LearningEngine.d.ts +15 -1
  99. package/dist/learning/LearningEngine.d.ts.map +1 -1
  100. package/dist/learning/LearningEngine.js +128 -1
  101. package/dist/learning/LearningEngine.js.map +1 -1
  102. package/dist/learning/RewardCalculator.d.ts +100 -0
  103. package/dist/learning/RewardCalculator.d.ts.map +1 -0
  104. package/dist/learning/RewardCalculator.js +176 -0
  105. package/dist/learning/RewardCalculator.js.map +1 -0
  106. package/dist/learning/StateExtractor.d.ts +62 -0
  107. package/dist/learning/StateExtractor.d.ts.map +1 -0
  108. package/dist/learning/StateExtractor.js +217 -0
  109. package/dist/learning/StateExtractor.js.map +1 -0
  110. package/dist/migrations/001_add_learning_tables.d.ts +63 -0
  111. package/dist/migrations/001_add_learning_tables.d.ts.map +1 -0
  112. package/dist/migrations/001_add_learning_tables.js +287 -0
  113. package/dist/migrations/001_add_learning_tables.js.map +1 -0
  114. package/dist/reasoning/PatternExtractor.d.ts +25 -0
  115. package/dist/reasoning/PatternExtractor.d.ts.map +1 -1
  116. package/dist/reasoning/PatternExtractor.js +130 -0
  117. package/dist/reasoning/PatternExtractor.js.map +1 -1
  118. package/dist/reasoning/QEReasoningBank.d.ts +18 -2
  119. package/dist/reasoning/QEReasoningBank.d.ts.map +1 -1
  120. package/dist/reasoning/QEReasoningBank.js +75 -3
  121. package/dist/reasoning/QEReasoningBank.js.map +1 -1
  122. package/dist/types/index.d.ts +1 -0
  123. package/dist/types/index.d.ts.map +1 -1
  124. package/dist/types/index.js.map +1 -1
  125. package/dist/utils/Database.d.ts +107 -0
  126. package/dist/utils/Database.d.ts.map +1 -1
  127. package/dist/utils/Database.js +337 -1
  128. package/dist/utils/Database.js.map +1 -1
  129. package/dist/utils/__mocks__/Database.d.ts +18 -17
  130. package/dist/utils/__mocks__/Database.d.ts.map +1 -1
  131. package/dist/utils/__mocks__/Database.js +22 -55
  132. package/dist/utils/__mocks__/Database.js.map +1 -1
  133. package/package.json +1 -1
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ /**
3
+ * Patterns Search Command - Full-text search in patterns
4
+ *
5
+ * Searches pattern names, descriptions, and tags using SQL LIKE.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.patternsSearch = patternsSearch;
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const ora_1 = __importDefault(require("ora"));
14
+ const Database_1 = require("../../../utils/Database");
15
+ async function patternsSearch(query, options = {}) {
16
+ if (!query) {
17
+ console.error(chalk_1.default.red('āŒ Search query is required'));
18
+ console.log(chalk_1.default.gray('Example: aqe patterns search "api validation"'));
19
+ process.exit(1);
20
+ }
21
+ const spinner = (0, ora_1.default)(`Searching for "${query}"...`).start();
22
+ try {
23
+ const dbPath = '.agentic-qe/data/patterns.db';
24
+ const db = new Database_1.Database(dbPath);
25
+ await db.initialize();
26
+ // Build search query (name, description, or template contains search terms)
27
+ const searchPattern = `%${query}%`;
28
+ let sql = `
29
+ SELECT *,
30
+ CASE
31
+ WHEN name LIKE ? THEN 3
32
+ WHEN description LIKE ? THEN 2
33
+ WHEN template LIKE ? THEN 1
34
+ ELSE 0
35
+ END as relevance
36
+ FROM patterns
37
+ WHERE (name LIKE ? OR description LIKE ? OR template LIKE ? OR examples LIKE ?)
38
+ `;
39
+ const params = [
40
+ searchPattern, searchPattern, searchPattern, // for CASE
41
+ searchPattern, searchPattern, searchPattern, searchPattern // for WHERE
42
+ ];
43
+ if (options.framework) {
44
+ sql += ' AND framework = ?';
45
+ params.push(options.framework);
46
+ }
47
+ if (options.minConfidence !== undefined) {
48
+ sql += ' AND confidence >= ?';
49
+ params.push(options.minConfidence);
50
+ }
51
+ // Sort by relevance, then confidence
52
+ sql += ' ORDER BY relevance DESC, confidence DESC';
53
+ const limit = options.limit || 10;
54
+ sql += ' LIMIT ?';
55
+ params.push(limit);
56
+ const patterns = await db.all(sql, params);
57
+ await db.close();
58
+ if (patterns.length === 0) {
59
+ spinner.info('No matching patterns found');
60
+ console.log(chalk_1.default.yellow('\nšŸ’” Try:'));
61
+ console.log(chalk_1.default.gray(' • Using broader search terms'));
62
+ console.log(chalk_1.default.gray(' • Removing --framework or --min-confidence filters'));
63
+ console.log(chalk_1.default.gray(' • Running "aqe patterns list" to see all available patterns\n'));
64
+ return;
65
+ }
66
+ spinner.succeed(`Found ${patterns.length} matching patterns`);
67
+ if (options.format === 'json') {
68
+ console.log(JSON.stringify(patterns, null, 2));
69
+ return;
70
+ }
71
+ // Display search results
72
+ console.log(chalk_1.default.blue(`\nšŸ” Search Results for "${query}"\n`));
73
+ patterns.forEach((p, index) => {
74
+ const prefix = index === patterns.length - 1 ? '└─' : 'ā”œā”€';
75
+ console.log(`${prefix} ${chalk_1.default.cyan(p.name)}`);
76
+ console.log(` ā”œā”€ ${chalk_1.default.gray(truncate(p.description, 70))}`);
77
+ console.log(` ā”œā”€ Type: ${p.category} | Framework: ${p.framework}`);
78
+ console.log(` ā”œā”€ Confidence: ${formatConfidence(p.confidence)} | Success: ${formatPercentage(p.success_rate)}`);
79
+ console.log(` ā”œā”€ Usage: ${chalk_1.default.gray(p.usage_count + ' times')}`);
80
+ console.log(` └─ ID: ${chalk_1.default.gray(p.id)}`);
81
+ console.log();
82
+ });
83
+ // Show stats
84
+ const avgConfidence = patterns.reduce((sum, p) => sum + p.confidence, 0) / patterns.length;
85
+ console.log(chalk_1.default.blue('šŸ“Š Results Summary:\n'));
86
+ console.log(` Matches: ${chalk_1.default.cyan(patterns.length)}`);
87
+ console.log(` Avg Confidence: ${formatConfidence(avgConfidence)}`);
88
+ if (patterns.length === limit) {
89
+ console.log(chalk_1.default.gray(`\n šŸ’” Showing top ${limit} results. Use --limit to see more.`));
90
+ }
91
+ console.log();
92
+ }
93
+ catch (error) {
94
+ spinner.fail('Search failed');
95
+ console.error(chalk_1.default.red('āŒ Error:'), error.message);
96
+ process.exit(1);
97
+ }
98
+ }
99
+ // Helper functions
100
+ function formatConfidence(confidence) {
101
+ const percentage = (confidence * 100).toFixed(0) + '%';
102
+ if (confidence >= 0.9)
103
+ return chalk_1.default.green(percentage);
104
+ if (confidence >= 0.7)
105
+ return chalk_1.default.cyan(percentage);
106
+ if (confidence >= 0.5)
107
+ return chalk_1.default.yellow(percentage);
108
+ return chalk_1.default.red(percentage);
109
+ }
110
+ function formatPercentage(value) {
111
+ const percentage = (value * 100).toFixed(0) + '%';
112
+ if (value >= 0.9)
113
+ return chalk_1.default.green(percentage);
114
+ if (value >= 0.7)
115
+ return chalk_1.default.cyan(percentage);
116
+ return chalk_1.default.yellow(percentage);
117
+ }
118
+ function truncate(str, maxLen) {
119
+ if (!str)
120
+ return '';
121
+ if (str.length <= maxLen)
122
+ return str;
123
+ return str.substring(0, maxLen - 3) + '...';
124
+ }
125
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/cli/commands/patterns/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Patterns Show Command - Display detailed pattern information
3
+ *
4
+ * Shows full pattern details including template and examples.
5
+ */
6
+ export declare function patternsShow(patternId: string): Promise<void>;
7
+ //# sourceMappingURL=show.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/patterns/show.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkGnE"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ /**
3
+ * Patterns Show Command - Display detailed pattern information
4
+ *
5
+ * Shows full pattern details including template and examples.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.patternsShow = patternsShow;
12
+ const chalk_1 = __importDefault(require("chalk"));
13
+ const ora_1 = __importDefault(require("ora"));
14
+ const Database_1 = require("../../../utils/Database");
15
+ async function patternsShow(patternId) {
16
+ if (!patternId) {
17
+ console.error(chalk_1.default.red('āŒ Pattern ID is required'));
18
+ console.log(chalk_1.default.gray('Example: aqe patterns show pattern-12345'));
19
+ console.log(chalk_1.default.gray('Use "aqe patterns list" to find pattern IDs'));
20
+ process.exit(1);
21
+ }
22
+ const spinner = (0, ora_1.default)(`Loading pattern ${patternId}...`).start();
23
+ try {
24
+ const dbPath = '.agentic-qe/data/patterns.db';
25
+ const db = new Database_1.Database(dbPath);
26
+ await db.initialize();
27
+ const pattern = await db.get('SELECT * FROM patterns WHERE id = ?', [patternId]);
28
+ await db.close();
29
+ if (!pattern) {
30
+ spinner.fail('Pattern not found');
31
+ console.log(chalk_1.default.yellow(`\nāš ļø No pattern found with ID: ${patternId}`));
32
+ console.log(chalk_1.default.gray('Use "aqe patterns list" to see available patterns\n'));
33
+ return;
34
+ }
35
+ spinner.succeed('Pattern loaded');
36
+ // Parse JSON fields
37
+ const examples = JSON.parse(pattern.examples);
38
+ const metadata = JSON.parse(pattern.metadata);
39
+ // Display pattern details
40
+ console.log(chalk_1.default.blue('\nšŸ“‹ Pattern Details\n'));
41
+ console.log(`${chalk_1.default.cyan('ID:')} ${pattern.id}`);
42
+ console.log(`${chalk_1.default.cyan('Name:')} ${pattern.name}`);
43
+ console.log(`${chalk_1.default.cyan('Description:')} ${pattern.description}`);
44
+ console.log();
45
+ console.log(chalk_1.default.blue('šŸ“¦ Classification\n'));
46
+ console.log(` Category: ${chalk_1.default.cyan(pattern.category)}`);
47
+ console.log(` Framework: ${chalk_1.default.cyan(pattern.framework)}`);
48
+ console.log(` Language: ${chalk_1.default.cyan(pattern.language)}`);
49
+ console.log();
50
+ console.log(chalk_1.default.blue('šŸ“Š Metrics\n'));
51
+ console.log(` Confidence: ${formatConfidence(pattern.confidence)}`);
52
+ console.log(` Success Rate: ${formatPercentage(pattern.success_rate)}`);
53
+ console.log(` Quality Score: ${formatQuality(pattern.quality)}`);
54
+ console.log(` Usage Count: ${chalk_1.default.cyan(pattern.usage_count.toLocaleString())}`);
55
+ console.log();
56
+ console.log(chalk_1.default.blue('šŸ“ Template\n'));
57
+ console.log(chalk_1.default.gray('─'.repeat(70)));
58
+ console.log(pattern.template);
59
+ console.log(chalk_1.default.gray('─'.repeat(70)));
60
+ console.log();
61
+ if (examples && examples.length > 0) {
62
+ console.log(chalk_1.default.blue(`šŸ’” Examples (${examples.length})\n`));
63
+ examples.forEach((example, index) => {
64
+ console.log(chalk_1.default.cyan(`Example ${index + 1}:`));
65
+ console.log(chalk_1.default.gray('─'.repeat(70)));
66
+ console.log(example);
67
+ console.log(chalk_1.default.gray('─'.repeat(70)));
68
+ console.log();
69
+ });
70
+ }
71
+ if (metadata.tags && metadata.tags.length > 0) {
72
+ console.log(chalk_1.default.blue('šŸ·ļø Tags\n'));
73
+ console.log(` ${metadata.tags.map((t) => chalk_1.default.cyan(t)).join(', ')}`);
74
+ console.log();
75
+ }
76
+ console.log(chalk_1.default.blue('ā° Timestamps\n'));
77
+ console.log(` Created: ${chalk_1.default.gray(new Date(pattern.created_at).toLocaleString())}`);
78
+ console.log(` Updated: ${chalk_1.default.gray(new Date(pattern.updated_at).toLocaleString())}`);
79
+ console.log(` Version: ${chalk_1.default.gray(metadata.version || '1.0.0')}`);
80
+ console.log();
81
+ // Show usage stats if available
82
+ const usageStats = await getUsageStats(patternId);
83
+ if (usageStats.totalUses > 0) {
84
+ console.log(chalk_1.default.blue('šŸ“ˆ Usage Statistics\n'));
85
+ console.log(` Total Uses: ${chalk_1.default.cyan(usageStats.totalUses.toLocaleString())}`);
86
+ console.log(` Successful: ${chalk_1.default.green(usageStats.successful.toLocaleString())}`);
87
+ console.log(` Failed: ${chalk_1.default.red(usageStats.failed.toLocaleString())}`);
88
+ console.log(` Avg Exec Time: ${chalk_1.default.cyan(usageStats.avgExecTime.toFixed(0) + 'ms')}`);
89
+ console.log(` Last Used: ${chalk_1.default.gray(new Date(usageStats.lastUsed).toLocaleString())}`);
90
+ console.log();
91
+ }
92
+ }
93
+ catch (error) {
94
+ spinner.fail('Failed to load pattern');
95
+ console.error(chalk_1.default.red('āŒ Error:'), error.message);
96
+ process.exit(1);
97
+ }
98
+ }
99
+ async function getUsageStats(patternId) {
100
+ try {
101
+ const dbPath = '.agentic-qe/data/patterns.db';
102
+ const db = new Database_1.Database(dbPath);
103
+ await db.initialize();
104
+ const stats = await db.get(`
105
+ SELECT
106
+ COUNT(*) as total_uses,
107
+ SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) as successful,
108
+ SUM(CASE WHEN success = 0 THEN 1 ELSE 0 END) as failed,
109
+ AVG(execution_time_ms) as avg_exec_time,
110
+ MAX(used_at) as last_used
111
+ FROM pattern_usage
112
+ WHERE pattern_id = ?
113
+ `, [patternId]);
114
+ await db.close();
115
+ return {
116
+ totalUses: stats?.total_uses || 0,
117
+ successful: stats?.successful || 0,
118
+ failed: stats?.failed || 0,
119
+ avgExecTime: stats?.avg_exec_time || 0,
120
+ lastUsed: stats?.last_used || new Date().toISOString()
121
+ };
122
+ }
123
+ catch (error) {
124
+ return {
125
+ totalUses: 0,
126
+ successful: 0,
127
+ failed: 0,
128
+ avgExecTime: 0,
129
+ lastUsed: new Date().toISOString()
130
+ };
131
+ }
132
+ }
133
+ // Helper functions
134
+ function formatConfidence(confidence) {
135
+ const percentage = (confidence * 100).toFixed(0) + '%';
136
+ if (confidence >= 0.9)
137
+ return chalk_1.default.green(percentage);
138
+ if (confidence >= 0.7)
139
+ return chalk_1.default.cyan(percentage);
140
+ if (confidence >= 0.5)
141
+ return chalk_1.default.yellow(percentage);
142
+ return chalk_1.default.red(percentage);
143
+ }
144
+ function formatPercentage(value) {
145
+ const percentage = (value * 100).toFixed(0) + '%';
146
+ if (value >= 0.9)
147
+ return chalk_1.default.green(percentage);
148
+ if (value >= 0.7)
149
+ return chalk_1.default.cyan(percentage);
150
+ return chalk_1.default.yellow(percentage);
151
+ }
152
+ function formatQuality(quality) {
153
+ if (quality === null || quality === undefined)
154
+ return chalk_1.default.gray('N/A');
155
+ const percentage = (quality * 100).toFixed(0) + '%';
156
+ if (quality >= 0.9)
157
+ return chalk_1.default.green(percentage);
158
+ if (quality >= 0.7)
159
+ return chalk_1.default.cyan(percentage);
160
+ if (quality >= 0.5)
161
+ return chalk_1.default.yellow(percentage);
162
+ return chalk_1.default.red(percentage);
163
+ }
164
+ //# sourceMappingURL=show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../../src/cli/commands/patterns/show.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAMH,oCAkGC;AAtGD,kDAA0B;AAC1B,8CAAsB;AACtB,sDAAmD;AAE5C,KAAK,UAAU,YAAY,CAAC,SAAiB;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,mBAAmB,SAAS,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC9C,MAAM,EAAE,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;QAEtB,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,qCAAqC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAEjF,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAEjB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mCAAmC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAElC,oBAAoB;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE9C,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,oBAAoB,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,oBAAoB,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,oBAAoB,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QACpF,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAC9D,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;gBAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,gCAAgC;QAChC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,UAAU,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;YACvF,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;YAChG,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IAEH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAO5C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,8BAA8B,CAAC;QAC9C,MAAM,EAAE,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;QAEtB,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC;;;;;;;;;KAS1B,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAEhB,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;QAEjB,OAAO;YACL,SAAS,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;YACjC,UAAU,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC;YAClC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;YAC1B,WAAW,EAAE,KAAK,EAAE,aAAa,IAAI,CAAC;YACtC,QAAQ,EAAE,KAAK,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACvD,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,CAAC;YACZ,UAAU,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;YACd,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mBAAmB;AAEnB,SAAS,gBAAgB,CAAC,UAAkB;IAC1C,MAAM,UAAU,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACvD,IAAI,UAAU,IAAI,GAAG;QAAE,OAAO,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,UAAU,IAAI,GAAG;QAAE,OAAO,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,UAAU,IAAI,GAAG;QAAE,OAAO,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACvD,OAAO,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAClD,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChD,OAAO,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CAAC,OAAsB;IAC3C,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACpD,IAAI,OAAO,IAAI,GAAG;QAAE,OAAO,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,OAAO,IAAI,GAAG;QAAE,OAAO,eAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,OAAO,IAAI,GAAG;QAAE,OAAO,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpD,OAAO,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Patterns Stats Command - Display pattern database statistics
3
+ *
4
+ * Shows comprehensive statistics about stored patterns.
5
+ */
6
+ export interface PatternStatsOptions {
7
+ framework?: string;
8
+ detailed?: boolean;
9
+ }
10
+ export declare function patternsStats(options?: PatternStatsOptions): Promise<void>;
11
+ //# sourceMappingURL=stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/patterns/stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,aAAa,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoLpF"}
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ /**
3
+ * Patterns Stats Command - Display pattern database statistics
4
+ *
5
+ * Shows comprehensive statistics about stored patterns.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.patternsStats = patternsStats;
45
+ const chalk_1 = __importDefault(require("chalk"));
46
+ const ora_1 = __importDefault(require("ora"));
47
+ const cli_table3_1 = __importDefault(require("cli-table3"));
48
+ const Database_1 = require("../../../utils/Database");
49
+ async function patternsStats(options = {}) {
50
+ const spinner = (0, ora_1.default)('Calculating pattern statistics...').start();
51
+ try {
52
+ const dbPath = '.agentic-qe/data/patterns.db';
53
+ const db = new Database_1.Database(dbPath);
54
+ await db.initialize();
55
+ // Get overall stats
56
+ const overallStats = await db.get(`
57
+ SELECT
58
+ COUNT(*) as total_patterns,
59
+ AVG(confidence) as avg_confidence,
60
+ AVG(success_rate) as avg_success_rate,
61
+ AVG(quality) as avg_quality,
62
+ SUM(usage_count) as total_usage
63
+ FROM patterns
64
+ `);
65
+ // Get stats by category
66
+ const categoryStats = await db.all(`
67
+ SELECT
68
+ category,
69
+ COUNT(*) as count,
70
+ AVG(confidence) as avg_confidence,
71
+ AVG(success_rate) as avg_success_rate
72
+ FROM patterns
73
+ GROUP BY category
74
+ ORDER BY count DESC
75
+ `);
76
+ // Get stats by framework
77
+ const frameworkStats = await db.all(`
78
+ SELECT
79
+ framework,
80
+ COUNT(*) as count,
81
+ AVG(confidence) as avg_confidence
82
+ FROM patterns
83
+ GROUP BY framework
84
+ ORDER BY count DESC
85
+ `);
86
+ // Get top patterns
87
+ const topPatterns = await db.all(`
88
+ SELECT name, category, confidence, usage_count
89
+ FROM patterns
90
+ ORDER BY usage_count DESC, confidence DESC
91
+ LIMIT 5
92
+ `);
93
+ // Get recent patterns
94
+ const recentPatterns = await db.all(`
95
+ SELECT name, category, created_at
96
+ FROM patterns
97
+ ORDER BY created_at DESC
98
+ LIMIT 5
99
+ `);
100
+ await db.close();
101
+ spinner.succeed('Statistics calculated');
102
+ // Display results
103
+ console.log(chalk_1.default.blue('\nšŸ“Š Pattern Bank Statistics\n'));
104
+ // Overall metrics
105
+ console.log(chalk_1.default.cyan('Overall Metrics:'));
106
+ console.log(` Total Patterns: ${chalk_1.default.green(overallStats?.total_patterns?.toLocaleString() || '0')}`);
107
+ console.log(` Avg Confidence: ${formatConfidence(overallStats?.avg_confidence || 0)}`);
108
+ console.log(` Avg Success Rate: ${formatPercentage(overallStats?.avg_success_rate || 0)}`);
109
+ console.log(` Avg Quality: ${formatQuality(overallStats?.avg_quality || 0)}`);
110
+ console.log(` Total Usage: ${chalk_1.default.cyan(overallStats?.total_usage?.toLocaleString() || '0')}`);
111
+ console.log();
112
+ // By category
113
+ if (categoryStats.length > 0) {
114
+ console.log(chalk_1.default.blue('šŸ“¦ By Category:\n'));
115
+ const categoryTable = new cli_table3_1.default({
116
+ head: [
117
+ chalk_1.default.cyan('Category'),
118
+ chalk_1.default.cyan('Count'),
119
+ chalk_1.default.cyan('Avg Confidence'),
120
+ chalk_1.default.cyan('Avg Success')
121
+ ],
122
+ colWidths: [15, 10, 18, 15],
123
+ style: {
124
+ head: [],
125
+ border: ['gray']
126
+ }
127
+ });
128
+ categoryStats.forEach((stat) => {
129
+ categoryTable.push([
130
+ stat.category,
131
+ chalk_1.default.cyan(stat.count),
132
+ formatConfidence(stat.avg_confidence),
133
+ formatPercentage(stat.avg_success_rate)
134
+ ]);
135
+ });
136
+ console.log(categoryTable.toString());
137
+ console.log();
138
+ }
139
+ // By framework
140
+ if (frameworkStats.length > 0) {
141
+ console.log(chalk_1.default.blue('šŸ”§ By Framework:\n'));
142
+ const frameworkTable = new cli_table3_1.default({
143
+ head: [
144
+ chalk_1.default.cyan('Framework'),
145
+ chalk_1.default.cyan('Count'),
146
+ chalk_1.default.cyan('Avg Confidence')
147
+ ],
148
+ colWidths: [15, 10, 18],
149
+ style: {
150
+ head: [],
151
+ border: ['gray']
152
+ }
153
+ });
154
+ frameworkStats.forEach((stat) => {
155
+ frameworkTable.push([
156
+ stat.framework,
157
+ chalk_1.default.cyan(stat.count),
158
+ formatConfidence(stat.avg_confidence)
159
+ ]);
160
+ });
161
+ console.log(frameworkTable.toString());
162
+ console.log();
163
+ }
164
+ // Top patterns
165
+ if (topPatterns.length > 0) {
166
+ console.log(chalk_1.default.blue('šŸ† Top Patterns (by usage):\n'));
167
+ topPatterns.forEach((p, index) => {
168
+ const prefix = index === topPatterns.length - 1 ? '└─' : 'ā”œā”€';
169
+ console.log(`${prefix} ${chalk_1.default.cyan(p.name)}`);
170
+ console.log(` ā”œā”€ Type: ${p.category}`);
171
+ console.log(` ā”œā”€ Confidence: ${formatConfidence(p.confidence)}`);
172
+ console.log(` └─ Usage: ${chalk_1.default.yellow(p.usage_count.toLocaleString())} times`);
173
+ });
174
+ console.log();
175
+ }
176
+ // Recent patterns
177
+ if (options.detailed && recentPatterns.length > 0) {
178
+ console.log(chalk_1.default.blue('šŸ†• Recently Added:\n'));
179
+ recentPatterns.forEach((p, index) => {
180
+ const prefix = index === recentPatterns.length - 1 ? '└─' : 'ā”œā”€';
181
+ const date = new Date(p.created_at).toLocaleDateString();
182
+ console.log(`${prefix} ${chalk_1.default.cyan(p.name)} (${p.category}) - ${chalk_1.default.gray(date)}`);
183
+ });
184
+ console.log();
185
+ }
186
+ // Database info
187
+ console.log(chalk_1.default.blue('šŸ’¾ Database Info:\n'));
188
+ console.log(` Location: ${chalk_1.default.gray(dbPath)}`);
189
+ try {
190
+ const stats = await Promise.resolve().then(() => __importStar(require('fs'))).then(fs => fs.promises.stat(dbPath));
191
+ const sizeInMB = (stats.size / (1024 * 1024)).toFixed(2);
192
+ console.log(` Size: ${chalk_1.default.cyan(sizeInMB + ' MB')}`);
193
+ }
194
+ catch (error) {
195
+ console.log(` Size: ${chalk_1.default.gray('Unknown')}`);
196
+ }
197
+ console.log();
198
+ }
199
+ catch (error) {
200
+ spinner.fail('Failed to calculate statistics');
201
+ console.error(chalk_1.default.red('āŒ Error:'), error.message);
202
+ console.log(chalk_1.default.gray('\nšŸ’” Make sure database exists: .agentic-qe/data/patterns.db'));
203
+ process.exit(1);
204
+ }
205
+ }
206
+ // Helper functions
207
+ function formatConfidence(confidence) {
208
+ if (confidence === null || confidence === undefined)
209
+ return chalk_1.default.gray('N/A');
210
+ const percentage = (confidence * 100).toFixed(0) + '%';
211
+ if (confidence >= 0.9)
212
+ return chalk_1.default.green(percentage);
213
+ if (confidence >= 0.7)
214
+ return chalk_1.default.cyan(percentage);
215
+ if (confidence >= 0.5)
216
+ return chalk_1.default.yellow(percentage);
217
+ return chalk_1.default.red(percentage);
218
+ }
219
+ function formatPercentage(value) {
220
+ if (value === null || value === undefined)
221
+ return chalk_1.default.gray('N/A');
222
+ const percentage = (value * 100).toFixed(0) + '%';
223
+ if (value >= 0.9)
224
+ return chalk_1.default.green(percentage);
225
+ if (value >= 0.7)
226
+ return chalk_1.default.cyan(percentage);
227
+ return chalk_1.default.yellow(percentage);
228
+ }
229
+ function formatQuality(quality) {
230
+ if (quality === null || quality === undefined)
231
+ return chalk_1.default.gray('N/A');
232
+ const percentage = (quality * 100).toFixed(0) + '%';
233
+ if (quality >= 0.9)
234
+ return chalk_1.default.green(percentage);
235
+ if (quality >= 0.7)
236
+ return chalk_1.default.cyan(percentage);
237
+ if (quality >= 0.5)
238
+ return chalk_1.default.yellow(percentage);
239
+ return chalk_1.default.red(percentage);
240
+ }
241
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stats.js","sourceRoot":"","sources":["../../../../src/cli/commands/patterns/stats.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -81,6 +81,7 @@ program
81
81
  .option('--frameworks <frameworks>', 'Test frameworks', 'jest')
82
82
  .option('-y, --yes', 'Skip all prompts and use defaults (non-interactive mode)')
83
83
  .option('--non-interactive', 'Same as --yes (skip all prompts)')
84
+ .option('--force', 'Force overwrite existing agent files')
84
85
  .action(async (options) => {
85
86
  try {
86
87
  await init_1.InitCommand.execute(options);