agentic-qe 1.4.2 → 1.4.3

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 (40) hide show
  1. package/.claude/agents/failing-agent.json +9 -0
  2. package/.claude/agents/test-agent.json +9 -0
  3. package/CHANGELOG.md +163 -0
  4. package/README.md +12 -11
  5. package/dist/agents/BaseAgent.d.ts +14 -1
  6. package/dist/agents/BaseAgent.d.ts.map +1 -1
  7. package/dist/agents/BaseAgent.js +46 -2
  8. package/dist/agents/BaseAgent.js.map +1 -1
  9. package/dist/agents/TestGeneratorAgent.d.ts +21 -0
  10. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  11. package/dist/agents/TestGeneratorAgent.js +157 -15
  12. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  13. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts +6 -0
  14. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  15. package/dist/agents/lifecycle/AgentLifecycleManager.js +14 -0
  16. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  17. package/dist/cli/commands/config/set.d.ts +9 -1
  18. package/dist/cli/commands/config/set.d.ts.map +1 -1
  19. package/dist/cli/commands/config/set.js +26 -3
  20. package/dist/cli/commands/config/set.js.map +1 -1
  21. package/dist/core/memory/AgentDBManager.d.ts.map +1 -1
  22. package/dist/core/memory/AgentDBManager.js +4 -0
  23. package/dist/core/memory/AgentDBManager.js.map +1 -1
  24. package/dist/core/memory/ReasoningBankAdapter.d.ts +11 -0
  25. package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -1
  26. package/dist/core/memory/ReasoningBankAdapter.js +15 -0
  27. package/dist/core/memory/ReasoningBankAdapter.js.map +1 -1
  28. package/dist/learning/LearningEngine.d.ts +16 -0
  29. package/dist/learning/LearningEngine.d.ts.map +1 -1
  30. package/dist/learning/LearningEngine.js +62 -11
  31. package/dist/learning/LearningEngine.js.map +1 -1
  32. package/dist/learning/__mocks__/LearningEngine.d.ts +39 -0
  33. package/dist/learning/__mocks__/LearningEngine.d.ts.map +1 -0
  34. package/dist/learning/__mocks__/LearningEngine.js +116 -0
  35. package/dist/learning/__mocks__/LearningEngine.js.map +1 -0
  36. package/dist/utils/__mocks__/Database.d.ts +68 -48
  37. package/dist/utils/__mocks__/Database.d.ts.map +1 -1
  38. package/dist/utils/__mocks__/Database.js +82 -58
  39. package/dist/utils/__mocks__/Database.js.map +1 -1
  40. package/package.json +3 -2
@@ -1,65 +1,85 @@
1
1
  /**
2
- * Comprehensive Database Mock
2
+ * Comprehensive Database Mock with Shared Mock Functions
3
3
  *
4
- * Provides complete mock implementation of Database class with all required methods
5
- * for better-sqlite3 compatibility and test isolation.
4
+ * Ensures all Database instances share the same mock functions
5
+ * to prevent "is not a function" errors.
6
6
  */
7
7
  import { jest } from '@jest/globals';
8
8
  /**
9
- * Mock database that matches the Database class interface
10
- * Supports both synchronous (better-sqlite3) and async patterns
11
- */
12
- export declare const mockDatabase: {
13
- initialize: import("jest-mock").Mock<() => Promise<void>>;
14
- close: import("jest-mock").Mock<() => Promise<void>>;
15
- query: import("jest-mock").Mock<() => {
16
- rows: any[];
17
- }>;
18
- prepare: import("jest-mock").Mock<() => any>;
19
- run: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
20
- get: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
21
- all: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
22
- exec: import("jest-mock").Mock<import("jest-mock").UnknownFunction>;
23
- each: import("jest-mock").Mock<() => void>;
24
- pragma: import("jest-mock").Mock<() => any>;
25
- stats: import("jest-mock").Mock<() => Promise<any>>;
26
- compact: import("jest-mock").Mock<() => Promise<void>>;
27
- transaction: import("jest-mock").Mock<(callback: () => void) => void>;
28
- beginTransaction: import("jest-mock").Mock<() => Promise<void>>;
29
- commit: import("jest-mock").Mock<() => Promise<void>>;
30
- rollback: import("jest-mock").Mock<() => Promise<void>>;
31
- upsertFleet: import("jest-mock").Mock<(fleet: any) => Promise<void>>;
32
- upsertAgent: import("jest-mock").Mock<(agent: any) => Promise<void>>;
33
- upsertTask: import("jest-mock").Mock<(task: any) => Promise<void>>;
34
- insertEvent: import("jest-mock").Mock<(event: any) => Promise<void>>;
35
- insertMetric: import("jest-mock").Mock<(metric: any) => Promise<void>>;
36
- _resetMocks: () => void;
37
- };
38
- /**
39
- * Database class mock that can be used with jest.mock()
9
+ * Database class mock that shares functions across ALL instances
40
10
  */
41
11
  export declare class Database {
42
12
  private dbPath;
43
13
  initialize: jest.Mock<() => Promise<void>>;
44
14
  close: jest.Mock<() => Promise<void>>;
45
15
  exec: jest.Mock<(sql: string) => void>;
46
- run: jest.Mock<(sql: string, params?: any[]) => Promise<{
47
- lastID: number;
48
- changes: number;
49
- }>>;
50
- get: jest.Mock<(sql: string, params?: any[]) => Promise<any>>;
51
- all: jest.Mock<(sql: string, params?: any[]) => Promise<any[]>>;
52
- prepare: jest.Mock<(sql: string) => any>;
16
+ run: jest.Mock;
17
+ get: jest.Mock;
18
+ all: jest.Mock;
19
+ prepare: jest.Mock;
53
20
  stats: jest.Mock<() => Promise<any>>;
54
21
  compact: jest.Mock<() => Promise<void>>;
55
- transaction: jest.Mock<(callback: () => void) => void>;
56
- upsertFleet: jest.Mock<(fleet: any) => Promise<void>>;
57
- upsertAgent: jest.Mock<(agent: any) => Promise<void>>;
58
- upsertTask: jest.Mock<(task: any) => Promise<void>>;
59
- insertEvent: jest.Mock<(event: any) => Promise<void>>;
60
- insertMetric: jest.Mock<(metric: any) => Promise<void>>;
22
+ transaction: jest.Mock;
23
+ beginTransaction: jest.Mock<() => Promise<void>>;
24
+ commit: jest.Mock<() => Promise<void>>;
25
+ rollback: jest.Mock<() => Promise<void>>;
26
+ upsertFleet: jest.Mock;
27
+ upsertAgent: jest.Mock;
28
+ upsertTask: jest.Mock;
29
+ insertEvent: jest.Mock;
30
+ insertMetric: jest.Mock;
31
+ getAllQValues: jest.Mock;
32
+ storeQValue: jest.Mock;
33
+ query: jest.Mock<() => {
34
+ rows: any[];
35
+ }>;
36
+ each: jest.Mock<() => void>;
37
+ pragma: jest.Mock<() => any>;
38
+ upsertQValue: jest.Mock;
39
+ getQValue: jest.Mock;
40
+ getStateQValues: jest.Mock;
41
+ storeLearningExperience: jest.Mock;
42
+ getLearningExperiences: jest.Mock;
43
+ storeLearningSnapshot: jest.Mock;
44
+ getLearningStatistics: jest.Mock;
45
+ pruneOldExperiences: jest.Mock;
46
+ getLearningHistory: jest.Mock;
61
47
  constructor(dbPath?: string);
62
- _resetMocks(): void;
48
+ static _resetAllMocks(): void;
63
49
  }
50
+ export declare const mockDatabase: {
51
+ initialize: any;
52
+ close: any;
53
+ exec: any;
54
+ run: any;
55
+ get: any;
56
+ all: any;
57
+ prepare: any;
58
+ stats: any;
59
+ compact: any;
60
+ transaction: any;
61
+ beginTransaction: any;
62
+ commit: any;
63
+ rollback: any;
64
+ upsertFleet: any;
65
+ upsertAgent: any;
66
+ upsertTask: any;
67
+ insertEvent: any;
68
+ insertMetric: any;
69
+ getAllQValues: any;
70
+ storeQValue: any;
71
+ query: any;
72
+ each: any;
73
+ pragma: any;
74
+ upsertQValue: any;
75
+ getQValue: any;
76
+ getStateQValues: any;
77
+ storeLearningExperience: any;
78
+ getLearningExperiences: any;
79
+ storeLearningSnapshot: any;
80
+ getLearningStatistics: any;
81
+ pruneOldExperiences: any;
82
+ getLearningHistory: any;
83
+ };
64
84
  export default Database;
65
85
  //# sourceMappingURL=Database.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../src/utils/__mocks__/Database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Database.d.ts","sourceRoot":"","sources":["../../../src/utils/__mocks__/Database.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,27 @@
1
1
  "use strict";
2
2
  /**
3
- * Comprehensive Database Mock
3
+ * Comprehensive Database Mock with Shared Mock Functions
4
4
  *
5
- * Provides complete mock implementation of Database class with all required methods
6
- * for better-sqlite3 compatibility and test isolation.
5
+ * Ensures all Database instances share the same mock functions
6
+ * to prevent "is not a function" errors.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.Database = exports.mockDatabase = void 0;
9
+ exports.mockDatabase = exports.Database = void 0;
10
10
  const globals_1 = require("@jest/globals");
11
- /**
12
- * Mock database that matches the Database class interface
13
- * Supports both synchronous (better-sqlite3) and async patterns
14
- */
15
- exports.mockDatabase = {
16
- // Core lifecycle methods
11
+ // CRITICAL: Shared mock functions that ALL instances will use
12
+ const sharedMockFunctions = {
17
13
  initialize: globals_1.jest.fn().mockResolvedValue(undefined),
18
14
  close: globals_1.jest.fn().mockResolvedValue(undefined),
19
- // Query methods (synchronous for better-sqlite3 compatibility)
20
- query: globals_1.jest.fn().mockReturnValue({ rows: [] }),
21
- // Prepared statement support
15
+ exec: globals_1.jest.fn().mockReturnValue(undefined),
16
+ run: globals_1.jest.fn().mockResolvedValue({ lastID: 1, changes: 1 }),
17
+ get: globals_1.jest.fn().mockResolvedValue(undefined),
18
+ all: globals_1.jest.fn().mockResolvedValue([]),
22
19
  prepare: globals_1.jest.fn().mockReturnValue({
23
20
  run: globals_1.jest.fn().mockReturnValue({ changes: 1, lastInsertRowid: 1 }),
24
21
  get: globals_1.jest.fn().mockReturnValue(undefined),
25
22
  all: globals_1.jest.fn().mockReturnValue([]),
26
23
  finalize: globals_1.jest.fn().mockReturnValue(undefined)
27
24
  }),
28
- // Direct execution methods (synchronous for better-sqlite3)
29
- run: globals_1.jest.fn().mockReturnValue({ changes: 1, lastInsertRowid: 1 }),
30
- get: globals_1.jest.fn().mockReturnValue(undefined),
31
- all: globals_1.jest.fn().mockReturnValue([]),
32
- exec: globals_1.jest.fn().mockReturnValue(undefined),
33
- each: globals_1.jest.fn().mockReturnValue(undefined),
34
- // Utility methods
35
- pragma: globals_1.jest.fn().mockReturnValue(undefined),
36
25
  stats: globals_1.jest.fn().mockResolvedValue({
37
26
  total: 0,
38
27
  active: 0,
@@ -41,61 +30,96 @@ exports.mockDatabase = {
41
30
  lastModified: new Date()
42
31
  }),
43
32
  compact: globals_1.jest.fn().mockResolvedValue(undefined),
44
- // Transaction support
45
33
  transaction: globals_1.jest.fn((callback) => callback()),
46
34
  beginTransaction: globals_1.jest.fn().mockResolvedValue(undefined),
47
35
  commit: globals_1.jest.fn().mockResolvedValue(undefined),
48
36
  rollback: globals_1.jest.fn().mockResolvedValue(undefined),
49
- // Domain-specific methods (from real Database class)
50
37
  upsertFleet: globals_1.jest.fn().mockResolvedValue(undefined),
51
38
  upsertAgent: globals_1.jest.fn().mockResolvedValue(undefined),
52
39
  upsertTask: globals_1.jest.fn().mockResolvedValue(undefined),
53
40
  insertEvent: globals_1.jest.fn().mockResolvedValue(undefined),
54
41
  insertMetric: globals_1.jest.fn().mockResolvedValue(undefined),
55
- // Additional helper methods for testing
56
- _resetMocks: () => {
57
- Object.values(exports.mockDatabase).forEach(value => {
58
- if (typeof value === 'function' && 'mockClear' in value) {
59
- value.mockClear();
60
- }
61
- });
62
- }
42
+ getAllQValues: globals_1.jest.fn().mockResolvedValue([]),
43
+ storeQValue: globals_1.jest.fn().mockResolvedValue(undefined),
44
+ query: globals_1.jest.fn().mockReturnValue({ rows: [] }),
45
+ each: globals_1.jest.fn().mockReturnValue(undefined),
46
+ pragma: globals_1.jest.fn().mockReturnValue(undefined),
47
+ upsertQValue: globals_1.jest.fn().mockResolvedValue(undefined),
48
+ getQValue: globals_1.jest.fn().mockResolvedValue(null),
49
+ getStateQValues: globals_1.jest.fn().mockResolvedValue([]),
50
+ storeLearningExperience: globals_1.jest.fn().mockResolvedValue(undefined),
51
+ getLearningExperiences: globals_1.jest.fn().mockResolvedValue([]),
52
+ storeLearningSnapshot: globals_1.jest.fn().mockResolvedValue(undefined),
53
+ getLearningStatistics: globals_1.jest.fn().mockResolvedValue({
54
+ totalExperiences: 0,
55
+ avgReward: 0,
56
+ qTableSize: 0,
57
+ recentImprovement: 0
58
+ }),
59
+ pruneOldExperiences: globals_1.jest.fn().mockResolvedValue(0),
60
+ getLearningHistory: globals_1.jest.fn().mockResolvedValue({
61
+ experiences: [],
62
+ summary: {
63
+ totalExperiences: 0,
64
+ avgReward: 0,
65
+ recentAvgReward: 0,
66
+ improvementRate: 0,
67
+ qTableSize: 0
68
+ }
69
+ })
63
70
  };
64
71
  /**
65
- * Database class mock that can be used with jest.mock()
72
+ * Database class mock that shares functions across ALL instances
66
73
  */
67
74
  class Database {
68
75
  constructor(dbPath = './data/fleet.db') {
69
76
  this.dbPath = dbPath;
70
- // Assign mock functions directly to instance
71
- this.initialize = exports.mockDatabase.initialize;
72
- this.close = exports.mockDatabase.close;
73
- this.exec = globals_1.jest.fn(() => exports.mockDatabase.exec());
74
- this.run = globals_1.jest.fn(async () => {
75
- const result = exports.mockDatabase.run();
76
- return {
77
- lastID: result.lastInsertRowid || 0,
78
- changes: result.changes || 0
79
- };
80
- });
81
- this.get = globals_1.jest.fn(async () => exports.mockDatabase.get());
82
- this.all = globals_1.jest.fn(async () => exports.mockDatabase.all());
83
- this.prepare = globals_1.jest.fn(() => exports.mockDatabase.prepare());
84
- this.stats = exports.mockDatabase.stats;
85
- this.compact = exports.mockDatabase.compact;
86
- this.transaction = globals_1.jest.fn((callback) => exports.mockDatabase.transaction(callback));
87
- this.upsertFleet = exports.mockDatabase.upsertFleet;
88
- this.upsertAgent = exports.mockDatabase.upsertAgent;
89
- this.upsertTask = exports.mockDatabase.upsertTask;
90
- this.insertEvent = exports.mockDatabase.insertEvent;
91
- this.insertMetric = exports.mockDatabase.insertMetric;
77
+ // CRITICAL: Assign shared mock functions (NOT new instances)
78
+ // Use 'as any' to bypass Jest mock type incompatibilities
79
+ this.initialize = sharedMockFunctions.initialize;
80
+ this.close = sharedMockFunctions.close;
81
+ this.exec = sharedMockFunctions.exec;
82
+ this.run = sharedMockFunctions.run;
83
+ this.get = sharedMockFunctions.get;
84
+ this.all = sharedMockFunctions.all;
85
+ this.prepare = sharedMockFunctions.prepare;
86
+ this.stats = sharedMockFunctions.stats;
87
+ this.compact = sharedMockFunctions.compact;
88
+ this.transaction = sharedMockFunctions.transaction;
89
+ this.beginTransaction = sharedMockFunctions.beginTransaction;
90
+ this.commit = sharedMockFunctions.commit;
91
+ this.rollback = sharedMockFunctions.rollback;
92
+ this.upsertFleet = sharedMockFunctions.upsertFleet;
93
+ this.upsertAgent = sharedMockFunctions.upsertAgent;
94
+ this.upsertTask = sharedMockFunctions.upsertTask;
95
+ this.insertEvent = sharedMockFunctions.insertEvent;
96
+ this.insertMetric = sharedMockFunctions.insertMetric;
97
+ this.getAllQValues = sharedMockFunctions.getAllQValues;
98
+ this.storeQValue = sharedMockFunctions.storeQValue;
99
+ this.query = sharedMockFunctions.query;
100
+ this.each = sharedMockFunctions.each;
101
+ this.pragma = sharedMockFunctions.pragma;
102
+ this.upsertQValue = sharedMockFunctions.upsertQValue;
103
+ this.getQValue = sharedMockFunctions.getQValue;
104
+ this.getStateQValues = sharedMockFunctions.getStateQValues;
105
+ this.storeLearningExperience = sharedMockFunctions.storeLearningExperience;
106
+ this.getLearningExperiences = sharedMockFunctions.getLearningExperiences;
107
+ this.storeLearningSnapshot = sharedMockFunctions.storeLearningSnapshot;
108
+ this.getLearningStatistics = sharedMockFunctions.getLearningStatistics;
109
+ this.pruneOldExperiences = sharedMockFunctions.pruneOldExperiences;
110
+ this.getLearningHistory = sharedMockFunctions.getLearningHistory;
92
111
  }
93
- // Test helper
94
- _resetMocks() {
95
- exports.mockDatabase._resetMocks();
112
+ // Test helper to reset ALL mocks
113
+ static _resetAllMocks() {
114
+ Object.values(sharedMockFunctions).forEach(mockFn => {
115
+ if (typeof mockFn === 'function' && 'mockClear' in mockFn) {
116
+ mockFn.mockClear();
117
+ }
118
+ });
96
119
  }
97
120
  }
98
121
  exports.Database = Database;
99
- // Default export for easier mocking
122
+ // Export for legacy code compatibility
123
+ exports.mockDatabase = sharedMockFunctions;
100
124
  exports.default = Database;
101
125
  //# sourceMappingURL=Database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Database.js","sourceRoot":"","sources":["../../../src/utils/__mocks__/Database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Database.js","sourceRoot":"","sources":["../../../src/utils/__mocks__/Database.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-qe",
3
- "version": "1.4.2",
3
+ "version": "1.4.3",
4
4
  "description": "Agentic Quality Engineering Fleet System - AI-driven quality management platform with 34 QE skills, learning, pattern reuse, ML-based flaky detection, Multi-Model Router (70-81% cost savings), streaming progress updates, 54 MCP tools, and native TypeScript hooks",
5
5
  "main": "dist/cli/index.js",
6
6
  "types": "dist/cli/index.d.ts",
@@ -24,7 +24,8 @@
24
24
  "pretest:integration-serial": "node scripts/check-memory-before-test.js",
25
25
  "test:integration-serial": "node --expose-gc --max-old-space-size=768 --no-compilation-cache node_modules/.bin/jest tests/integration --runInBand --detectLeaks --forceExit",
26
26
  "pretest:integration": "node scripts/check-memory-before-test.js",
27
- "test:integration": "node --expose-gc --max-old-space-size=768 --no-compilation-cache node_modules/.bin/jest tests/integration --runInBand --forceExit",
27
+ "test:integration": "bash scripts/test-integration-batched.sh",
28
+ "test:integration-unsafe": "node --expose-gc --max-old-space-size=768 --no-compilation-cache node_modules/.bin/jest tests/integration --runInBand --forceExit",
28
29
  "pretest:performance-isolated": "node scripts/check-memory-before-test.js",
29
30
  "test:performance-isolated": "node --expose-gc --max-old-space-size=1536 --no-compilation-cache node_modules/.bin/jest tests/performance --runInBand --maxWorkers=1 --detectLeaks --forceExit --logHeapUsage",
30
31
  "pretest:performance": "node scripts/check-memory-before-test.js",