agentic-qe 1.4.0 → 1.4.2

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 (157) hide show
  1. package/CHANGELOG.md +234 -0
  2. package/README.md +18 -85
  3. package/dist/agents/index.d.ts.map +1 -1
  4. package/dist/agents/index.js +14 -15
  5. package/dist/agents/index.js.map +1 -1
  6. package/dist/cli/commands/config/set.d.ts.map +1 -1
  7. package/dist/cli/commands/config/set.js +10 -2
  8. package/dist/cli/commands/config/set.js.map +1 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +26 -3
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/core/Agent.d.ts +1 -1
  13. package/dist/core/Agent.d.ts.map +1 -1
  14. package/dist/core/Agent.js +2 -2
  15. package/dist/core/Agent.js.map +1 -1
  16. package/dist/core/MemoryManager.d.ts.map +1 -1
  17. package/dist/core/MemoryManager.js +4 -1
  18. package/dist/core/MemoryManager.js.map +1 -1
  19. package/dist/core/hooks/RollbackManager.js +2 -2
  20. package/dist/core/hooks/RollbackManager.js.map +1 -1
  21. package/dist/learning/LearningEngine.d.ts +21 -4
  22. package/dist/learning/LearningEngine.d.ts.map +1 -1
  23. package/dist/learning/LearningEngine.js +118 -131
  24. package/dist/learning/LearningEngine.js.map +1 -1
  25. package/dist/learning/LearningPersistenceAdapter.d.ts +84 -0
  26. package/dist/learning/LearningPersistenceAdapter.d.ts.map +1 -0
  27. package/dist/learning/LearningPersistenceAdapter.js +202 -0
  28. package/dist/learning/LearningPersistenceAdapter.js.map +1 -0
  29. package/dist/learning/index.d.ts +1 -0
  30. package/dist/learning/index.d.ts.map +1 -1
  31. package/dist/learning/index.js +1 -0
  32. package/dist/learning/index.js.map +1 -1
  33. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.d.ts.map +1 -1
  34. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js +3 -7
  35. package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js.map +1 -1
  36. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.d.ts.map +1 -1
  37. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js +3 -7
  38. package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js.map +1 -1
  39. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +1 -1
  40. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +3 -7
  41. package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +1 -1
  42. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -1
  43. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +3 -7
  44. package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -1
  45. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.d.ts.map +1 -1
  46. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js +3 -7
  47. package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js.map +1 -1
  48. package/dist/mcp/handlers/base-handler.d.ts +30 -0
  49. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  50. package/dist/mcp/handlers/base-handler.js +42 -0
  51. package/dist/mcp/handlers/base-handler.js.map +1 -1
  52. package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -1
  53. package/dist/mcp/handlers/coordination/event-emit.js +4 -10
  54. package/dist/mcp/handlers/coordination/event-emit.js.map +1 -1
  55. package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -1
  56. package/dist/mcp/handlers/coordination/event-subscribe.js +3 -9
  57. package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -1
  58. package/dist/mcp/handlers/coordination/task-status.d.ts.map +1 -1
  59. package/dist/mcp/handlers/coordination/task-status.js +4 -10
  60. package/dist/mcp/handlers/coordination/task-status.js.map +1 -1
  61. package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -1
  62. package/dist/mcp/handlers/coordination/workflow-checkpoint.js +4 -10
  63. package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -1
  64. package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -1
  65. package/dist/mcp/handlers/coordination/workflow-create.js +4 -10
  66. package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -1
  67. package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -1
  68. package/dist/mcp/handlers/coordination/workflow-execute.js +4 -10
  69. package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -1
  70. package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -1
  71. package/dist/mcp/handlers/coordination/workflow-resume.js +4 -10
  72. package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -1
  73. package/dist/mcp/handlers/memory/memory-backup.d.ts.map +1 -1
  74. package/dist/mcp/handlers/memory/memory-backup.js +3 -7
  75. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  76. package/dist/mcp/handlers/memory/memory-query.d.ts.map +1 -1
  77. package/dist/mcp/handlers/memory/memory-query.js +8 -8
  78. package/dist/mcp/handlers/memory/memory-query.js.map +1 -1
  79. package/dist/mcp/handlers/memory/memory-retrieve.d.ts.map +1 -1
  80. package/dist/mcp/handlers/memory/memory-retrieve.js +3 -7
  81. package/dist/mcp/handlers/memory/memory-retrieve.js.map +1 -1
  82. package/dist/mcp/handlers/memory/memory-share.d.ts.map +1 -1
  83. package/dist/mcp/handlers/memory/memory-share.js +3 -7
  84. package/dist/mcp/handlers/memory/memory-share.js.map +1 -1
  85. package/dist/mcp/handlers/memory/memory-store.d.ts.map +1 -1
  86. package/dist/mcp/handlers/memory/memory-store.js +3 -7
  87. package/dist/mcp/handlers/memory/memory-store.js.map +1 -1
  88. package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -1
  89. package/dist/mcp/handlers/prediction/deployment-readiness-check.js +4 -8
  90. package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -1
  91. package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -1
  92. package/dist/mcp/handlers/prediction/flaky-test-detect.js +4 -8
  93. package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -1
  94. package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -1
  95. package/dist/mcp/handlers/prediction/predict-defects-ai.js +4 -8
  96. package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -1
  97. package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
  98. package/dist/mcp/handlers/prediction/regression-risk-analyze.js +4 -8
  99. package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
  100. package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -1
  101. package/dist/mcp/handlers/prediction/visual-test-regression.js +4 -8
  102. package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -1
  103. package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +1 -1
  104. package/dist/mcp/handlers/quality/quality-decision-make.js +9 -19
  105. package/dist/mcp/handlers/quality/quality-decision-make.js.map +1 -1
  106. package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +1 -1
  107. package/dist/mcp/handlers/quality/quality-gate-execute.js +10 -22
  108. package/dist/mcp/handlers/quality/quality-gate-execute.js.map +1 -1
  109. package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +1 -1
  110. package/dist/mcp/handlers/quality/quality-policy-check.js +5 -15
  111. package/dist/mcp/handlers/quality/quality-policy-check.js.map +1 -1
  112. package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +1 -1
  113. package/dist/mcp/handlers/quality/quality-risk-assess.js +5 -15
  114. package/dist/mcp/handlers/quality/quality-risk-assess.js.map +1 -1
  115. package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +1 -1
  116. package/dist/mcp/handlers/quality/quality-validate-metrics.js +4 -14
  117. package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +1 -1
  118. package/dist/mcp/handlers/test/test-coverage-detailed.d.ts.map +1 -1
  119. package/dist/mcp/handlers/test/test-coverage-detailed.js +8 -12
  120. package/dist/mcp/handlers/test/test-coverage-detailed.js.map +1 -1
  121. package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
  122. package/dist/mcp/handlers/test/test-execute-parallel.js +8 -12
  123. package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
  124. package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
  125. package/dist/mcp/handlers/test/test-generate-enhanced.js +4 -8
  126. package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
  127. package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -1
  128. package/dist/mcp/handlers/test/test-optimize-sublinear.js +8 -12
  129. package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -1
  130. package/dist/mcp/handlers/test/test-report-comprehensive.d.ts.map +1 -1
  131. package/dist/mcp/handlers/test/test-report-comprehensive.js +4 -8
  132. package/dist/mcp/handlers/test/test-report-comprehensive.js.map +1 -1
  133. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  134. package/dist/mcp/services/AgentRegistry.js +16 -4
  135. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  136. package/dist/utils/Database.d.ts.map +1 -1
  137. package/dist/utils/Database.js +17 -4
  138. package/dist/utils/Database.js.map +1 -1
  139. package/dist/utils/__mocks__/Logger.d.ts.map +1 -1
  140. package/dist/utils/__mocks__/Logger.js +2 -0
  141. package/dist/utils/__mocks__/Logger.js.map +1 -1
  142. package/package.json +11 -10
  143. package/.claude/aqe-fleet.json +0 -47
  144. package/.claude/helpers/checkpoint-manager.sh +0 -251
  145. package/.claude/helpers/github-safe.js +0 -106
  146. package/.claude/helpers/github-setup.sh +0 -28
  147. package/.claude/helpers/quick-start.sh +0 -19
  148. package/.claude/helpers/setup-mcp.sh +0 -18
  149. package/.claude/helpers/standard-checkpoint-hooks.sh +0 -179
  150. package/.claude/settings.json +0 -153
  151. package/.claude/settings.local.json +0 -10
  152. package/.claude/statusline-command.sh +0 -176
  153. package/README.md.backup-20251026 +0 -1366
  154. package/dist/migrations/001_add_learning_tables.d.ts +0 -63
  155. package/dist/migrations/001_add_learning_tables.d.ts.map +0 -1
  156. package/dist/migrations/001_add_learning_tables.js +0 -287
  157. package/dist/migrations/001_add_learning_tables.js.map +0 -1
@@ -1,63 +0,0 @@
1
- /**
2
- * Migration: Add Learning System Tables
3
- *
4
- * @version 001
5
- * @date 2025-10-31
6
- * @description
7
- * Adds tables for the Learning System and Pattern Bank:
8
- * - patterns: Test pattern storage with quality scores
9
- * - pattern_usage: Usage tracking and analytics
10
- * - learning_history: Q-Learning experience replay
11
- * - learning_metrics: Performance metrics and analytics
12
- *
13
- * **Safety Features:**
14
- * - Checks if tables exist before creating
15
- * - Preserves existing data
16
- * - Backward compatible
17
- * - Rollback support
18
- *
19
- * @example
20
- * ```typescript
21
- * import { runMigration, rollbackMigration } from './001_add_learning_tables';
22
- *
23
- * // Run migration
24
- * await runMigration(database);
25
- *
26
- * // Rollback if needed
27
- * await rollbackMigration(database);
28
- * ```
29
- */
30
- import { Database } from '../utils/Database';
31
- /**
32
- * Run migration to add learning system tables
33
- */
34
- export declare function runMigration(db: Database): Promise<void>;
35
- /**
36
- * Rollback migration (remove learning system tables)
37
- * WARNING: This will delete all pattern data!
38
- */
39
- export declare function rollbackMigration(db: Database): Promise<void>;
40
- /**
41
- * Check migration status
42
- */
43
- export declare function checkMigrationStatus(db: Database): Promise<{
44
- applied: boolean;
45
- appliedAt?: Date;
46
- }>;
47
- /**
48
- * Validate migration (check table structure)
49
- */
50
- export declare function validateMigration(db: Database): Promise<{
51
- valid: boolean;
52
- errors: string[];
53
- }>;
54
- declare const _default: {
55
- version: string;
56
- name: string;
57
- run: typeof runMigration;
58
- rollback: typeof rollbackMigration;
59
- checkStatus: typeof checkMigrationStatus;
60
- validate: typeof validateMigration;
61
- };
62
- export default _default;
63
- //# sourceMappingURL=001_add_learning_tables.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"001_add_learning_tables.d.ts","sourceRoot":"","sources":["../../src/migrations/001_add_learning_tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAuB7C;;GAEG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoJ9D;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCnE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChE,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB,CAAC,CAqBD;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7D,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAuCD;;;;;;;;;AAED,wBAOE"}
@@ -1,287 +0,0 @@
1
- "use strict";
2
- /**
3
- * Migration: Add Learning System Tables
4
- *
5
- * @version 001
6
- * @date 2025-10-31
7
- * @description
8
- * Adds tables for the Learning System and Pattern Bank:
9
- * - patterns: Test pattern storage with quality scores
10
- * - pattern_usage: Usage tracking and analytics
11
- * - learning_history: Q-Learning experience replay
12
- * - learning_metrics: Performance metrics and analytics
13
- *
14
- * **Safety Features:**
15
- * - Checks if tables exist before creating
16
- * - Preserves existing data
17
- * - Backward compatible
18
- * - Rollback support
19
- *
20
- * @example
21
- * ```typescript
22
- * import { runMigration, rollbackMigration } from './001_add_learning_tables';
23
- *
24
- * // Run migration
25
- * await runMigration(database);
26
- *
27
- * // Rollback if needed
28
- * await rollbackMigration(database);
29
- * ```
30
- */
31
- Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.runMigration = runMigration;
33
- exports.rollbackMigration = rollbackMigration;
34
- exports.checkMigrationStatus = checkMigrationStatus;
35
- exports.validateMigration = validateMigration;
36
- const Logger_1 = require("../utils/Logger");
37
- const MIGRATION_VERSION = '001';
38
- const MIGRATION_NAME = 'add_learning_tables';
39
- /**
40
- * Check if migration has already been applied
41
- */
42
- async function isMigrationApplied(db) {
43
- try {
44
- // Check if patterns table exists
45
- const result = await db.get(`
46
- SELECT name FROM sqlite_master
47
- WHERE type='table' AND name='patterns'
48
- `);
49
- return result !== undefined;
50
- }
51
- catch (error) {
52
- return false;
53
- }
54
- }
55
- /**
56
- * Run migration to add learning system tables
57
- */
58
- async function runMigration(db) {
59
- const logger = Logger_1.Logger.getInstance();
60
- try {
61
- logger.info(`[Migration ${MIGRATION_VERSION}] Starting: ${MIGRATION_NAME}`);
62
- // Check if already applied
63
- const applied = await isMigrationApplied(db);
64
- if (applied) {
65
- logger.info(`[Migration ${MIGRATION_VERSION}] Already applied, skipping...`);
66
- return;
67
- }
68
- // Ensure database is initialized
69
- await db.initialize();
70
- logger.info(`[Migration ${MIGRATION_VERSION}] Creating patterns table...`);
71
- // Create patterns table
72
- await db.run(`
73
- CREATE TABLE IF NOT EXISTS patterns (
74
- id TEXT PRIMARY KEY,
75
- name TEXT NOT NULL,
76
- description TEXT,
77
- category TEXT NOT NULL CHECK(category IN ('unit', 'integration', 'e2e', 'performance', 'security')),
78
- framework TEXT NOT NULL CHECK(framework IN ('jest', 'mocha', 'vitest', 'playwright', 'cypress', 'jasmine', 'ava')),
79
- language TEXT NOT NULL CHECK(language IN ('typescript', 'javascript', 'python')),
80
- template TEXT NOT NULL,
81
- examples TEXT NOT NULL,
82
- confidence REAL NOT NULL CHECK(confidence >= 0 AND confidence <= 1),
83
- usage_count INTEGER DEFAULT 0,
84
- success_rate REAL DEFAULT 0 CHECK(success_rate >= 0 AND success_rate <= 1),
85
- quality REAL CHECK(quality >= 0 AND quality <= 1),
86
- metadata TEXT NOT NULL,
87
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
88
- updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
89
- )
90
- `);
91
- logger.info(`[Migration ${MIGRATION_VERSION}] Creating pattern_usage table...`);
92
- // Create pattern_usage table
93
- await db.run(`
94
- CREATE TABLE IF NOT EXISTS pattern_usage (
95
- id INTEGER PRIMARY KEY AUTOINCREMENT,
96
- pattern_id TEXT NOT NULL,
97
- project_id TEXT,
98
- agent_id TEXT,
99
- context TEXT,
100
- success BOOLEAN DEFAULT TRUE,
101
- execution_time_ms INTEGER,
102
- error_message TEXT,
103
- used_at DATETIME DEFAULT CURRENT_TIMESTAMP,
104
- FOREIGN KEY (pattern_id) REFERENCES patterns (id) ON DELETE CASCADE
105
- )
106
- `);
107
- logger.info(`[Migration ${MIGRATION_VERSION}] Creating learning_history table...`);
108
- // Create learning_history table
109
- await db.run(`
110
- CREATE TABLE IF NOT EXISTS learning_history (
111
- id INTEGER PRIMARY KEY AUTOINCREMENT,
112
- agent_id TEXT NOT NULL,
113
- pattern_id TEXT,
114
- state_representation TEXT NOT NULL,
115
- action TEXT NOT NULL,
116
- reward REAL NOT NULL,
117
- next_state_representation TEXT,
118
- q_value REAL,
119
- episode INTEGER,
120
- timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
121
- FOREIGN KEY (pattern_id) REFERENCES patterns (id) ON DELETE SET NULL
122
- )
123
- `);
124
- logger.info(`[Migration ${MIGRATION_VERSION}] Creating learning_metrics table...`);
125
- // Create learning_metrics table
126
- await db.run(`
127
- CREATE TABLE IF NOT EXISTS learning_metrics (
128
- id INTEGER PRIMARY KEY AUTOINCREMENT,
129
- agent_id TEXT NOT NULL,
130
- metric_type TEXT NOT NULL CHECK(metric_type IN ('accuracy', 'latency', 'quality', 'success_rate', 'improvement')),
131
- metric_value REAL NOT NULL,
132
- baseline_value REAL,
133
- improvement_percentage REAL,
134
- pattern_count INTEGER,
135
- context TEXT,
136
- timestamp DATETIME DEFAULT CURRENT_TIMESTAMP
137
- )
138
- `);
139
- logger.info(`[Migration ${MIGRATION_VERSION}] Creating indexes...`);
140
- // Create indexes for performance
141
- const indexes = [
142
- // Pattern indexes (< 50ms lookup requirement)
143
- 'CREATE INDEX IF NOT EXISTS idx_patterns_category ON patterns (category)',
144
- 'CREATE INDEX IF NOT EXISTS idx_patterns_framework ON patterns (framework)',
145
- 'CREATE INDEX IF NOT EXISTS idx_patterns_language ON patterns (language)',
146
- 'CREATE INDEX IF NOT EXISTS idx_patterns_quality ON patterns (quality)',
147
- 'CREATE INDEX IF NOT EXISTS idx_patterns_usage_count ON patterns (usage_count)',
148
- 'CREATE INDEX IF NOT EXISTS idx_patterns_created_at ON patterns (created_at)',
149
- // Pattern usage indexes
150
- 'CREATE INDEX IF NOT EXISTS idx_pattern_usage_pattern_id ON pattern_usage (pattern_id)',
151
- 'CREATE INDEX IF NOT EXISTS idx_pattern_usage_agent_id ON pattern_usage (agent_id)',
152
- 'CREATE INDEX IF NOT EXISTS idx_pattern_usage_used_at ON pattern_usage (used_at)',
153
- 'CREATE INDEX IF NOT EXISTS idx_pattern_usage_success ON pattern_usage (success)',
154
- // Learning history indexes
155
- 'CREATE INDEX IF NOT EXISTS idx_learning_history_agent_id ON learning_history (agent_id)',
156
- 'CREATE INDEX IF NOT EXISTS idx_learning_history_pattern_id ON learning_history (pattern_id)',
157
- 'CREATE INDEX IF NOT EXISTS idx_learning_history_timestamp ON learning_history (timestamp)',
158
- 'CREATE INDEX IF NOT EXISTS idx_learning_history_episode ON learning_history (episode)',
159
- // Learning metrics indexes
160
- 'CREATE INDEX IF NOT EXISTS idx_learning_metrics_agent_id ON learning_metrics (agent_id)',
161
- 'CREATE INDEX IF NOT EXISTS idx_learning_metrics_type ON learning_metrics (metric_type)',
162
- 'CREATE INDEX IF NOT EXISTS idx_learning_metrics_timestamp ON learning_metrics (timestamp)'
163
- ];
164
- for (const index of indexes) {
165
- await db.run(index);
166
- }
167
- // Create migration tracking table if it doesn't exist
168
- await db.run(`
169
- CREATE TABLE IF NOT EXISTS migrations (
170
- version TEXT PRIMARY KEY,
171
- name TEXT NOT NULL,
172
- applied_at DATETIME DEFAULT CURRENT_TIMESTAMP
173
- )
174
- `);
175
- // Record this migration
176
- await db.run(`
177
- INSERT OR REPLACE INTO migrations (version, name, applied_at)
178
- VALUES (?, ?, CURRENT_TIMESTAMP)
179
- `, [MIGRATION_VERSION, MIGRATION_NAME]);
180
- logger.info(`[Migration ${MIGRATION_VERSION}] ✅ Successfully completed: ${MIGRATION_NAME}`);
181
- }
182
- catch (error) {
183
- logger.error(`[Migration ${MIGRATION_VERSION}] ❌ Failed:`, error);
184
- throw new Error(`Migration ${MIGRATION_VERSION} failed: ${error instanceof Error ? error.message : String(error)}`);
185
- }
186
- }
187
- /**
188
- * Rollback migration (remove learning system tables)
189
- * WARNING: This will delete all pattern data!
190
- */
191
- async function rollbackMigration(db) {
192
- const logger = Logger_1.Logger.getInstance();
193
- try {
194
- logger.warn(`[Migration ${MIGRATION_VERSION}] Rolling back: ${MIGRATION_NAME}`);
195
- // Ensure database is initialized
196
- await db.initialize();
197
- // Drop tables in reverse order (respect foreign keys)
198
- const tables = [
199
- 'learning_metrics',
200
- 'learning_history',
201
- 'pattern_usage',
202
- 'patterns'
203
- ];
204
- for (const table of tables) {
205
- logger.info(`[Migration ${MIGRATION_VERSION}] Dropping table: ${table}`);
206
- await db.run(`DROP TABLE IF EXISTS ${table}`);
207
- }
208
- // Remove migration record
209
- await db.run(`
210
- DELETE FROM migrations
211
- WHERE version = ? AND name = ?
212
- `, [MIGRATION_VERSION, MIGRATION_NAME]);
213
- logger.info(`[Migration ${MIGRATION_VERSION}] ✅ Successfully rolled back: ${MIGRATION_NAME}`);
214
- }
215
- catch (error) {
216
- logger.error(`[Migration ${MIGRATION_VERSION}] ❌ Rollback failed:`, error);
217
- throw new Error(`Migration ${MIGRATION_VERSION} rollback failed: ${error instanceof Error ? error.message : String(error)}`);
218
- }
219
- }
220
- /**
221
- * Check migration status
222
- */
223
- async function checkMigrationStatus(db) {
224
- try {
225
- await db.initialize();
226
- const result = await db.get(`
227
- SELECT applied_at FROM migrations
228
- WHERE version = ? AND name = ?
229
- `, [MIGRATION_VERSION, MIGRATION_NAME]);
230
- if (result) {
231
- return {
232
- applied: true,
233
- appliedAt: new Date(result.applied_at)
234
- };
235
- }
236
- return { applied: false };
237
- }
238
- catch (error) {
239
- return { applied: false };
240
- }
241
- }
242
- /**
243
- * Validate migration (check table structure)
244
- */
245
- async function validateMigration(db) {
246
- const errors = [];
247
- try {
248
- await db.initialize();
249
- // Check patterns table
250
- const patternsInfo = await db.all(`PRAGMA table_info(patterns)`);
251
- if (patternsInfo.length === 0) {
252
- errors.push('patterns table does not exist');
253
- }
254
- // Check pattern_usage table
255
- const usageInfo = await db.all(`PRAGMA table_info(pattern_usage)`);
256
- if (usageInfo.length === 0) {
257
- errors.push('pattern_usage table does not exist');
258
- }
259
- // Check learning_history table
260
- const historyInfo = await db.all(`PRAGMA table_info(learning_history)`);
261
- if (historyInfo.length === 0) {
262
- errors.push('learning_history table does not exist');
263
- }
264
- // Check learning_metrics table
265
- const metricsInfo = await db.all(`PRAGMA table_info(learning_metrics)`);
266
- if (metricsInfo.length === 0) {
267
- errors.push('learning_metrics table does not exist');
268
- }
269
- return {
270
- valid: errors.length === 0,
271
- errors
272
- };
273
- }
274
- catch (error) {
275
- errors.push(`Validation failed: ${error instanceof Error ? error.message : String(error)}`);
276
- return { valid: false, errors };
277
- }
278
- }
279
- exports.default = {
280
- version: MIGRATION_VERSION,
281
- name: MIGRATION_NAME,
282
- run: runMigration,
283
- rollback: rollbackMigration,
284
- checkStatus: checkMigrationStatus,
285
- validate: validateMigration
286
- };
287
- //# sourceMappingURL=001_add_learning_tables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"001_add_learning_tables.js","sourceRoot":"","sources":["../../src/migrations/001_add_learning_tables.ts"],"names":[],"mappings":"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"}