agentic-qe 1.4.1 → 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.
- package/CHANGELOG.md +177 -0
- package/README.md +14 -95
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +14 -15
- package/dist/agents/index.js.map +1 -1
- package/dist/cli/commands/config/set.d.ts.map +1 -1
- package/dist/cli/commands/config/set.js +10 -2
- package/dist/cli/commands/config/set.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +26 -3
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/Agent.d.ts +1 -1
- package/dist/core/Agent.d.ts.map +1 -1
- package/dist/core/Agent.js +2 -2
- package/dist/core/Agent.js.map +1 -1
- package/dist/core/MemoryManager.d.ts.map +1 -1
- package/dist/core/MemoryManager.js +4 -1
- package/dist/core/MemoryManager.js.map +1 -1
- package/dist/core/hooks/RollbackManager.js +2 -2
- package/dist/core/hooks/RollbackManager.js.map +1 -1
- package/dist/learning/LearningEngine.d.ts +21 -4
- package/dist/learning/LearningEngine.d.ts.map +1 -1
- package/dist/learning/LearningEngine.js +118 -131
- package/dist/learning/LearningEngine.js.map +1 -1
- package/dist/learning/LearningPersistenceAdapter.d.ts +84 -0
- package/dist/learning/LearningPersistenceAdapter.d.ts.map +1 -0
- package/dist/learning/LearningPersistenceAdapter.js +202 -0
- package/dist/learning/LearningPersistenceAdapter.js.map +1 -0
- package/dist/learning/index.d.ts +1 -0
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +1 -0
- package/dist/learning/index.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js +3 -7
- package/dist/mcp/handlers/analysis/coverage-analyze-sublinear-handler.js.map +1 -1
- package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js +3 -7
- package/dist/mcp/handlers/analysis/coverage-gaps-detect-handler.js.map +1 -1
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js +3 -7
- package/dist/mcp/handlers/analysis/performance-benchmark-run-handler.js.map +1 -1
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js +3 -7
- package/dist/mcp/handlers/analysis/performance-monitor-realtime-handler.js.map +1 -1
- package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js +3 -7
- package/dist/mcp/handlers/analysis/security-scan-comprehensive-handler.js.map +1 -1
- package/dist/mcp/handlers/base-handler.d.ts +30 -0
- package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
- package/dist/mcp/handlers/base-handler.js +42 -0
- package/dist/mcp/handlers/base-handler.js.map +1 -1
- package/dist/mcp/handlers/coordination/event-emit.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/event-emit.js +4 -10
- package/dist/mcp/handlers/coordination/event-emit.js.map +1 -1
- package/dist/mcp/handlers/coordination/event-subscribe.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/event-subscribe.js +3 -9
- package/dist/mcp/handlers/coordination/event-subscribe.js.map +1 -1
- package/dist/mcp/handlers/coordination/task-status.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/task-status.js +4 -10
- package/dist/mcp/handlers/coordination/task-status.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-checkpoint.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-checkpoint.js +4 -10
- package/dist/mcp/handlers/coordination/workflow-checkpoint.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-create.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-create.js +4 -10
- package/dist/mcp/handlers/coordination/workflow-create.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-execute.js +4 -10
- package/dist/mcp/handlers/coordination/workflow-execute.js.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-resume.d.ts.map +1 -1
- package/dist/mcp/handlers/coordination/workflow-resume.js +4 -10
- package/dist/mcp/handlers/coordination/workflow-resume.js.map +1 -1
- package/dist/mcp/handlers/memory/memory-backup.d.ts.map +1 -1
- package/dist/mcp/handlers/memory/memory-backup.js +3 -7
- package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
- package/dist/mcp/handlers/memory/memory-query.d.ts.map +1 -1
- package/dist/mcp/handlers/memory/memory-query.js +8 -8
- package/dist/mcp/handlers/memory/memory-query.js.map +1 -1
- package/dist/mcp/handlers/memory/memory-retrieve.d.ts.map +1 -1
- package/dist/mcp/handlers/memory/memory-retrieve.js +3 -7
- package/dist/mcp/handlers/memory/memory-retrieve.js.map +1 -1
- package/dist/mcp/handlers/memory/memory-share.d.ts.map +1 -1
- package/dist/mcp/handlers/memory/memory-share.js +3 -7
- package/dist/mcp/handlers/memory/memory-share.js.map +1 -1
- package/dist/mcp/handlers/memory/memory-store.d.ts.map +1 -1
- package/dist/mcp/handlers/memory/memory-store.js +3 -7
- package/dist/mcp/handlers/memory/memory-store.js.map +1 -1
- package/dist/mcp/handlers/prediction/deployment-readiness-check.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/deployment-readiness-check.js +4 -8
- package/dist/mcp/handlers/prediction/deployment-readiness-check.js.map +1 -1
- package/dist/mcp/handlers/prediction/flaky-test-detect.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/flaky-test-detect.js +4 -8
- package/dist/mcp/handlers/prediction/flaky-test-detect.js.map +1 -1
- package/dist/mcp/handlers/prediction/predict-defects-ai.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/predict-defects-ai.js +4 -8
- package/dist/mcp/handlers/prediction/predict-defects-ai.js.map +1 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js +4 -8
- package/dist/mcp/handlers/prediction/regression-risk-analyze.js.map +1 -1
- package/dist/mcp/handlers/prediction/visual-test-regression.d.ts.map +1 -1
- package/dist/mcp/handlers/prediction/visual-test-regression.js +4 -8
- package/dist/mcp/handlers/prediction/visual-test-regression.js.map +1 -1
- package/dist/mcp/handlers/quality/quality-decision-make.d.ts.map +1 -1
- package/dist/mcp/handlers/quality/quality-decision-make.js +9 -19
- package/dist/mcp/handlers/quality/quality-decision-make.js.map +1 -1
- package/dist/mcp/handlers/quality/quality-gate-execute.d.ts.map +1 -1
- package/dist/mcp/handlers/quality/quality-gate-execute.js +10 -22
- package/dist/mcp/handlers/quality/quality-gate-execute.js.map +1 -1
- package/dist/mcp/handlers/quality/quality-policy-check.d.ts.map +1 -1
- package/dist/mcp/handlers/quality/quality-policy-check.js +5 -15
- package/dist/mcp/handlers/quality/quality-policy-check.js.map +1 -1
- package/dist/mcp/handlers/quality/quality-risk-assess.d.ts.map +1 -1
- package/dist/mcp/handlers/quality/quality-risk-assess.js +5 -15
- package/dist/mcp/handlers/quality/quality-risk-assess.js.map +1 -1
- package/dist/mcp/handlers/quality/quality-validate-metrics.d.ts.map +1 -1
- package/dist/mcp/handlers/quality/quality-validate-metrics.js +4 -14
- package/dist/mcp/handlers/quality/quality-validate-metrics.js.map +1 -1
- package/dist/mcp/handlers/test/test-coverage-detailed.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-coverage-detailed.js +8 -12
- package/dist/mcp/handlers/test/test-coverage-detailed.js.map +1 -1
- package/dist/mcp/handlers/test/test-execute-parallel.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-execute-parallel.js +8 -12
- package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-generate-enhanced.js +4 -8
- package/dist/mcp/handlers/test/test-generate-enhanced.js.map +1 -1
- package/dist/mcp/handlers/test/test-optimize-sublinear.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-optimize-sublinear.js +8 -12
- package/dist/mcp/handlers/test/test-optimize-sublinear.js.map +1 -1
- package/dist/mcp/handlers/test/test-report-comprehensive.d.ts.map +1 -1
- package/dist/mcp/handlers/test/test-report-comprehensive.js +4 -8
- package/dist/mcp/handlers/test/test-report-comprehensive.js.map +1 -1
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +16 -4
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/utils/Database.d.ts.map +1 -1
- package/dist/utils/Database.js +17 -4
- package/dist/utils/Database.js.map +1 -1
- package/dist/utils/__mocks__/Logger.d.ts.map +1 -1
- package/dist/utils/__mocks__/Logger.js +2 -0
- package/dist/utils/__mocks__/Logger.js.map +1 -1
- package/package.json +8 -8
- package/README.md.backup-20251026 +0 -1366
- package/dist/migrations/001_add_learning_tables.d.ts +0 -63
- package/dist/migrations/001_add_learning_tables.d.ts.map +0 -1
- package/dist/migrations/001_add_learning_tables.js +0 -287
- 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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"}
|