agentic-qe 1.7.0 → 1.8.1

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 (152) hide show
  1. package/.claude/skills/sherlock-review/SKILL.md +786 -0
  2. package/CHANGELOG.md +625 -0
  3. package/README.md +42 -55
  4. package/dist/agents/BaseAgent.d.ts +10 -10
  5. package/dist/agents/BaseAgent.d.ts.map +1 -1
  6. package/dist/agents/BaseAgent.js +96 -78
  7. package/dist/agents/BaseAgent.js.map +1 -1
  8. package/dist/agents/CoverageAnalyzerAgent.js +2 -2
  9. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  10. package/dist/agents/LearningAgent.d.ts +2 -2
  11. package/dist/agents/LearningAgent.d.ts.map +1 -1
  12. package/dist/agents/LearningAgent.js +4 -4
  13. package/dist/agents/LearningAgent.js.map +1 -1
  14. package/dist/agents/TestExecutorAgent.d.ts +41 -2
  15. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  16. package/dist/agents/TestExecutorAgent.js +314 -64
  17. package/dist/agents/TestExecutorAgent.js.map +1 -1
  18. package/dist/agents/examples/batchAnalyze.d.ts +252 -0
  19. package/dist/agents/examples/batchAnalyze.d.ts.map +1 -0
  20. package/dist/agents/examples/batchAnalyze.js +259 -0
  21. package/dist/agents/examples/batchAnalyze.js.map +1 -0
  22. package/dist/agents/examples/batchGenerate.d.ts +153 -0
  23. package/dist/agents/examples/batchGenerate.d.ts.map +1 -0
  24. package/dist/agents/examples/batchGenerate.js +166 -0
  25. package/dist/agents/examples/batchGenerate.js.map +1 -0
  26. package/dist/agents/generateWithPII.d.ts +128 -0
  27. package/dist/agents/generateWithPII.d.ts.map +1 -0
  28. package/dist/agents/generateWithPII.js +175 -0
  29. package/dist/agents/generateWithPII.js.map +1 -0
  30. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts +1 -6
  31. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  32. package/dist/agents/lifecycle/AgentLifecycleManager.js +0 -7
  33. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  34. package/dist/cli/commands/init.d.ts +6 -3
  35. package/dist/cli/commands/init.d.ts.map +1 -1
  36. package/dist/cli/commands/init.js +51 -46
  37. package/dist/cli/commands/init.js.map +1 -1
  38. package/dist/cli/commands/learn/index.d.ts +4 -0
  39. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  40. package/dist/cli/commands/learn/index.js +57 -0
  41. package/dist/cli/commands/learn/index.js.map +1 -1
  42. package/dist/cli/index.js +14 -0
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/core/memory/AdapterConfig.d.ts +108 -0
  45. package/dist/core/memory/AdapterConfig.d.ts.map +1 -0
  46. package/dist/core/memory/AdapterConfig.js +189 -0
  47. package/dist/core/memory/AdapterConfig.js.map +1 -0
  48. package/dist/core/memory/AdapterFactory.d.ts +72 -0
  49. package/dist/core/memory/AdapterFactory.d.ts.map +1 -0
  50. package/dist/core/memory/AdapterFactory.js +152 -0
  51. package/dist/core/memory/AdapterFactory.js.map +1 -0
  52. package/dist/core/memory/AgentDBManager.d.ts +28 -5
  53. package/dist/core/memory/AgentDBManager.d.ts.map +1 -1
  54. package/dist/core/memory/AgentDBManager.js +99 -73
  55. package/dist/core/memory/AgentDBManager.js.map +1 -1
  56. package/dist/core/memory/PatternCache.d.ts +105 -0
  57. package/dist/core/memory/PatternCache.d.ts.map +1 -0
  58. package/dist/core/memory/PatternCache.js +183 -0
  59. package/dist/core/memory/PatternCache.js.map +1 -0
  60. package/dist/core/memory/RealAgentDBAdapter.d.ts +14 -0
  61. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
  62. package/dist/core/memory/RealAgentDBAdapter.js +153 -16
  63. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
  64. package/dist/core/memory/ReasoningBankAdapter.d.ts +4 -0
  65. package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -1
  66. package/dist/core/memory/ReasoningBankAdapter.js +20 -0
  67. package/dist/core/memory/ReasoningBankAdapter.js.map +1 -1
  68. package/dist/core/memory/SwarmMemoryManager.d.ts +8 -0
  69. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  70. package/dist/core/memory/SwarmMemoryManager.js +33 -0
  71. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  72. package/dist/core/memory/index.d.ts +6 -0
  73. package/dist/core/memory/index.d.ts.map +1 -1
  74. package/dist/core/memory/index.js +12 -1
  75. package/dist/core/memory/index.js.map +1 -1
  76. package/dist/core/neural/NeuralTrainer.d.ts +2 -6
  77. package/dist/core/neural/NeuralTrainer.d.ts.map +1 -1
  78. package/dist/core/neural/NeuralTrainer.js +7 -25
  79. package/dist/core/neural/NeuralTrainer.js.map +1 -1
  80. package/dist/learning/ImprovementLoop.js +2 -2
  81. package/dist/learning/ImprovementLoop.js.map +1 -1
  82. package/dist/learning/LearningEngine.d.ts +11 -7
  83. package/dist/learning/LearningEngine.d.ts.map +1 -1
  84. package/dist/learning/LearningEngine.js +156 -72
  85. package/dist/learning/LearningEngine.js.map +1 -1
  86. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.d.ts +83 -0
  87. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.d.ts.map +1 -0
  88. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.js +130 -0
  89. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.js.map +1 -0
  90. package/dist/mcp/handlers/filtered/flaky-detector-filtered.d.ts +58 -0
  91. package/dist/mcp/handlers/filtered/flaky-detector-filtered.d.ts.map +1 -0
  92. package/dist/mcp/handlers/filtered/flaky-detector-filtered.js +84 -0
  93. package/dist/mcp/handlers/filtered/flaky-detector-filtered.js.map +1 -0
  94. package/dist/mcp/handlers/filtered/index.d.ts +47 -0
  95. package/dist/mcp/handlers/filtered/index.d.ts.map +1 -0
  96. package/dist/mcp/handlers/filtered/index.js +63 -0
  97. package/dist/mcp/handlers/filtered/index.js.map +1 -0
  98. package/dist/mcp/handlers/filtered/performance-tester-filtered.d.ts +57 -0
  99. package/dist/mcp/handlers/filtered/performance-tester-filtered.d.ts.map +1 -0
  100. package/dist/mcp/handlers/filtered/performance-tester-filtered.js +83 -0
  101. package/dist/mcp/handlers/filtered/performance-tester-filtered.js.map +1 -0
  102. package/dist/mcp/handlers/filtered/quality-assessor-filtered.d.ts +57 -0
  103. package/dist/mcp/handlers/filtered/quality-assessor-filtered.d.ts.map +1 -0
  104. package/dist/mcp/handlers/filtered/quality-assessor-filtered.js +93 -0
  105. package/dist/mcp/handlers/filtered/quality-assessor-filtered.js.map +1 -0
  106. package/dist/mcp/handlers/filtered/security-scanner-filtered.d.ts +54 -0
  107. package/dist/mcp/handlers/filtered/security-scanner-filtered.d.ts.map +1 -0
  108. package/dist/mcp/handlers/filtered/security-scanner-filtered.js +73 -0
  109. package/dist/mcp/handlers/filtered/security-scanner-filtered.js.map +1 -0
  110. package/dist/mcp/handlers/filtered/test-executor-filtered.d.ts +61 -0
  111. package/dist/mcp/handlers/filtered/test-executor-filtered.d.ts.map +1 -0
  112. package/dist/mcp/handlers/filtered/test-executor-filtered.js +117 -0
  113. package/dist/mcp/handlers/filtered/test-executor-filtered.js.map +1 -0
  114. package/dist/mcp/handlers/phase2/Phase2Tools.js +2 -2
  115. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  116. package/dist/scripts/backup-helper.d.ts +64 -0
  117. package/dist/scripts/backup-helper.d.ts.map +1 -0
  118. package/dist/scripts/backup-helper.js +251 -0
  119. package/dist/scripts/backup-helper.js.map +1 -0
  120. package/dist/scripts/migrate-with-backup.d.ts +15 -0
  121. package/dist/scripts/migrate-with-backup.d.ts.map +1 -0
  122. package/dist/scripts/migrate-with-backup.js +194 -0
  123. package/dist/scripts/migrate-with-backup.js.map +1 -0
  124. package/dist/security/pii-tokenization.d.ts +216 -0
  125. package/dist/security/pii-tokenization.d.ts.map +1 -0
  126. package/dist/security/pii-tokenization.js +325 -0
  127. package/dist/security/pii-tokenization.js.map +1 -0
  128. package/dist/utils/EmbeddingGenerator.d.ts +35 -0
  129. package/dist/utils/EmbeddingGenerator.d.ts.map +1 -0
  130. package/dist/utils/EmbeddingGenerator.js +72 -0
  131. package/dist/utils/EmbeddingGenerator.js.map +1 -0
  132. package/dist/utils/batch-operations.d.ts +215 -0
  133. package/dist/utils/batch-operations.d.ts.map +1 -0
  134. package/dist/utils/batch-operations.js +266 -0
  135. package/dist/utils/batch-operations.js.map +1 -0
  136. package/dist/utils/filtering.d.ts +180 -0
  137. package/dist/utils/filtering.d.ts.map +1 -0
  138. package/dist/utils/filtering.js +288 -0
  139. package/dist/utils/filtering.js.map +1 -0
  140. package/dist/utils/prompt-cache-examples.d.ts +111 -0
  141. package/dist/utils/prompt-cache-examples.d.ts.map +1 -0
  142. package/dist/utils/prompt-cache-examples.js +416 -0
  143. package/dist/utils/prompt-cache-examples.js.map +1 -0
  144. package/dist/utils/prompt-cache.d.ts +305 -0
  145. package/dist/utils/prompt-cache.d.ts.map +1 -0
  146. package/dist/utils/prompt-cache.js +448 -0
  147. package/dist/utils/prompt-cache.js.map +1 -0
  148. package/package.json +7 -16
  149. package/dist/mcp/tools/deprecated.d.ts +0 -1390
  150. package/dist/mcp/tools/deprecated.d.ts.map +0 -1
  151. package/dist/mcp/tools/deprecated.js +0 -859
  152. package/dist/mcp/tools/deprecated.js.map +0 -1
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ /**
3
+ * Adapter Factory - Strict Adapter Creation
4
+ *
5
+ * Architecture Decision: Fail-fast on misconfiguration
6
+ * - No silent fallbacks
7
+ * - Explicit error messages
8
+ * - Type-safe adapter creation
9
+ *
10
+ * @module AdapterFactory
11
+ * @version 1.0.0
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.AdapterFactory = void 0;
15
+ const AdapterConfig_1 = require("./AdapterConfig");
16
+ const RealAgentDBAdapter_1 = require("./RealAgentDBAdapter");
17
+ const ReasoningBankAdapter_1 = require("./ReasoningBankAdapter");
18
+ /**
19
+ * Adapter Factory
20
+ */
21
+ class AdapterFactory {
22
+ /**
23
+ * Create adapter from configuration
24
+ *
25
+ * @throws {AdapterConfigurationError} If configuration is invalid
26
+ * @throws {Error} If adapter creation fails
27
+ */
28
+ static async create(config) {
29
+ // Validate configuration
30
+ if (config.validateOnStartup !== false) {
31
+ AdapterConfig_1.AdapterConfigValidator.validateOrThrow(config);
32
+ }
33
+ // Create adapter based on type
34
+ const adapter = await this.createAdapter(config);
35
+ return {
36
+ adapter,
37
+ type: config.type,
38
+ config
39
+ };
40
+ }
41
+ /**
42
+ * Create adapter instance
43
+ */
44
+ static async createAdapter(config) {
45
+ switch (config.type) {
46
+ case AdapterConfig_1.AdapterType.REAL:
47
+ return this.createRealAdapter(config);
48
+ case AdapterConfig_1.AdapterType.MOCK:
49
+ return this.createMockAdapter(config);
50
+ case AdapterConfig_1.AdapterType.AUTO:
51
+ return this.createAutoAdapter(config);
52
+ default:
53
+ throw new AdapterConfig_1.AdapterConfigurationError(`Unknown adapter type: ${config.type}`, [`Unsupported adapter type: ${config.type}`]);
54
+ }
55
+ }
56
+ /**
57
+ * Create real AgentDB adapter
58
+ */
59
+ static async createRealAdapter(config) {
60
+ if (!config.dbPath) {
61
+ throw new AdapterConfig_1.AdapterConfigurationError('dbPath is required for AdapterType.REAL', ['dbPath must be specified for real adapter']);
62
+ }
63
+ try {
64
+ const adapter = new RealAgentDBAdapter_1.RealAgentDBAdapter({
65
+ dbPath: config.dbPath,
66
+ dimension: config.dimension || 384
67
+ });
68
+ await adapter.initialize();
69
+ console.log('[AdapterFactory] Created REAL adapter', {
70
+ dbPath: config.dbPath,
71
+ dimension: config.dimension || 384
72
+ });
73
+ return adapter;
74
+ }
75
+ catch (error) {
76
+ const errorMessage = [
77
+ 'Failed to create real AgentDB adapter:',
78
+ ` Reason: ${error.message}`,
79
+ '',
80
+ 'Common causes:',
81
+ ' 1. agentdb package not installed: npm install agentdb',
82
+ ' 2. Database file path not writable',
83
+ ' 3. Insufficient disk space',
84
+ '',
85
+ 'To use mock adapter for testing, set AQE_ADAPTER_TYPE=mock'
86
+ ].join('\n');
87
+ if (config.failFast !== false) {
88
+ throw new Error(errorMessage);
89
+ }
90
+ else {
91
+ console.error(`[AdapterFactory] ${errorMessage}`);
92
+ throw error;
93
+ }
94
+ }
95
+ }
96
+ /**
97
+ * Create mock adapter (for testing)
98
+ */
99
+ static async createMockAdapter(config) {
100
+ const adapter = new ReasoningBankAdapter_1.ReasoningBankAdapter();
101
+ await adapter.initialize();
102
+ console.log('[AdapterFactory] Created MOCK adapter (in-memory only)', {
103
+ dimension: config.dimension || 384
104
+ });
105
+ return adapter;
106
+ }
107
+ /**
108
+ * Create adapter with auto-detection (DEPRECATED)
109
+ */
110
+ static async createAutoAdapter(config) {
111
+ console.warn('[AdapterFactory] AUTO adapter detection is deprecated. ' +
112
+ 'Please use explicit AdapterType.REAL or AdapterType.MOCK.');
113
+ // Try real adapter first
114
+ try {
115
+ const realConfig = { ...config, type: AdapterConfig_1.AdapterType.REAL };
116
+ return await this.createRealAdapter(realConfig);
117
+ }
118
+ catch (error) {
119
+ console.warn('[AdapterFactory] Real adapter failed, falling back to mock:', error);
120
+ // Fallback to mock
121
+ const mockConfig = { ...config, type: AdapterConfig_1.AdapterType.MOCK };
122
+ return await this.createMockAdapter(mockConfig);
123
+ }
124
+ }
125
+ /**
126
+ * Validate adapter at runtime
127
+ */
128
+ static async validate(adapter) {
129
+ if (!adapter) {
130
+ throw new Error('Adapter is null or undefined');
131
+ }
132
+ if (!adapter.initialized) {
133
+ throw new Error('Adapter is not initialized');
134
+ }
135
+ // Check required methods
136
+ const requiredMethods = ['store', 'retrieveWithReasoning', 'getStats', 'query', 'close'];
137
+ for (const method of requiredMethods) {
138
+ if (typeof adapter[method] !== 'function') {
139
+ throw new Error(`Adapter missing required method: ${method}`);
140
+ }
141
+ }
142
+ // Test adapter with basic operation
143
+ try {
144
+ await adapter.getStats();
145
+ }
146
+ catch (error) {
147
+ throw new Error(`Adapter validation failed: ${error.message}`);
148
+ }
149
+ }
150
+ }
151
+ exports.AdapterFactory = AdapterFactory;
152
+ //# sourceMappingURL=AdapterFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdapterFactory.js","sourceRoot":"","sources":["../../../src/core/memory/AdapterFactory.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
+ import { AdapterConfig } from './AdapterConfig';
1
2
  /**
2
3
  * AgentDB Manager - Production-Ready Memory Management
3
4
  *
4
- * Replaces custom QUIC and Neural code with AgentDB's production implementation.
5
+ * Architecture v2.0: Explicit Adapter Configuration
6
+ * - No silent fallbacks to mock adapters
7
+ * - Fail-fast on misconfiguration
8
+ * - Clear error messages for troubleshooting
9
+ *
5
10
  * Features:
6
11
  * - QUIC synchronization (<1ms latency)
7
12
  * - Neural training (9 RL algorithms)
@@ -15,13 +20,16 @@
15
20
  * - Batch Insert: 2ms for 100 patterns
16
21
  *
17
22
  * @module AgentDBManager
23
+ * @version 2.0.0
18
24
  */
19
25
  /**
20
26
  * AgentDB Configuration Interface
21
27
  */
22
28
  export interface AgentDBConfig {
23
- /** Path to SQLite database file */
24
- dbPath: string;
29
+ /** Adapter configuration (REQUIRED in v2.0.0+) */
30
+ adapter?: AdapterConfig;
31
+ /** Path to SQLite database file (DEPRECATED - use adapter.dbPath) */
32
+ dbPath?: string;
25
33
  /** Enable QUIC synchronization (<1ms latency) */
26
34
  enableQUICSync: boolean;
27
35
  /** QUIC server port (default: 4433) */
@@ -139,17 +147,27 @@ export interface TrainingOptions {
139
147
  /**
140
148
  * AgentDB Manager
141
149
  *
142
- * Production-ready implementation using agentic-flow/reasoningbank.
150
+ * Production-ready implementation with explicit adapter configuration.
143
151
  * Replaces 2,290 lines of custom QUIC and Neural code.
152
+ *
153
+ * @version 2.0.0 - Explicit adapter configuration with fail-fast validation
144
154
  */
145
155
  export declare class AgentDBManager {
146
156
  private adapter;
147
157
  private config;
158
+ private adapterConfig;
148
159
  private isInitialized;
149
160
  private logger;
150
161
  constructor(config: AgentDBConfig);
151
162
  /**
152
- * Initialize AgentDB adapter
163
+ * Resolve adapter configuration from AgentDBConfig
164
+ */
165
+ private resolveAdapterConfig;
166
+ /**
167
+ * Initialize AgentDB adapter with explicit configuration
168
+ *
169
+ * @throws {AdapterConfigurationError} If adapter configuration is invalid
170
+ * @throws {Error} If adapter initialization fails
153
171
  */
154
172
  initialize(): Promise<void>;
155
173
  /**
@@ -192,6 +210,11 @@ export declare class AgentDBManager {
192
210
  * Retrieve patterns (alias for retrieve() for test compatibility)
193
211
  */
194
212
  retrievePatterns(query: string, options: RetrievalOptions): Promise<RetrievalResult>;
213
+ /**
214
+ * Execute raw SQL query on the database
215
+ * For CLI queries and advanced analytics
216
+ */
217
+ query(sql: string, params?: any[]): Promise<any[]>;
195
218
  }
196
219
  /**
197
220
  * Create AgentDB Manager with default configuration
@@ -1 +1 @@
1
- {"version":3,"file":"AgentDBManager.d.ts","sourceRoot":"","sources":["../../../src/core/memory/AgentDBManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentDBManager.d.ts","sourceRoot":"","sources":["../../../src/core/memory/AgentDBManager.ts"],"names":[],"mappings":"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"}
@@ -1,101 +1,98 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
2
  Object.defineProperty(exports, "__esModule", { value: true });
36
3
  exports.AgentDBManager = void 0;
37
4
  exports.createAgentDBManager = createAgentDBManager;
38
5
  const SecureRandom_js_1 = require("../../utils/SecureRandom.js");
6
+ const AdapterConfig_1 = require("./AdapterConfig");
7
+ const AdapterFactory_1 = require("./AdapterFactory");
39
8
  /**
40
9
  * AgentDB Manager
41
10
  *
42
- * Production-ready implementation using agentic-flow/reasoningbank.
11
+ * Production-ready implementation with explicit adapter configuration.
43
12
  * Replaces 2,290 lines of custom QUIC and Neural code.
13
+ *
14
+ * @version 2.0.0 - Explicit adapter configuration with fail-fast validation
44
15
  */
45
16
  class AgentDBManager {
46
17
  constructor(config) {
18
+ this.adapter = null;
47
19
  this.isInitialized = false;
48
20
  this.config = config;
49
21
  this.logger = { warn: console.warn, info: console.info, error: console.error };
22
+ // Resolve adapter configuration
23
+ this.adapterConfig = this.resolveAdapterConfig(config);
50
24
  }
51
25
  /**
52
- * Initialize AgentDB adapter
26
+ * Resolve adapter configuration from AgentDBConfig
27
+ */
28
+ resolveAdapterConfig(config) {
29
+ // If adapter config is provided, use it directly
30
+ if (config.adapter) {
31
+ return config.adapter;
32
+ }
33
+ // Legacy support: derive from dbPath (DEPRECATED)
34
+ if (config.dbPath) {
35
+ console.warn('[AgentDBManager] Using legacy dbPath configuration. ' +
36
+ 'Please migrate to explicit adapter configuration:\n' +
37
+ ' adapter: { type: AdapterType.REAL, dbPath: "..." }');
38
+ return {
39
+ type: AdapterConfig_1.AdapterType.REAL,
40
+ dbPath: config.dbPath,
41
+ dimension: 384,
42
+ failFast: true,
43
+ validateOnStartup: true
44
+ };
45
+ }
46
+ // No configuration provided - use environment defaults
47
+ console.warn('[AgentDBManager] No adapter configuration provided. ' +
48
+ 'Using environment-based defaults. ' +
49
+ 'Set AQE_ADAPTER_TYPE=real or AQE_ADAPTER_TYPE=mock to be explicit.');
50
+ return AdapterConfig_1.AdapterConfigHelper.fromEnvironment();
51
+ }
52
+ /**
53
+ * Initialize AgentDB adapter with explicit configuration
54
+ *
55
+ * @throws {AdapterConfigurationError} If adapter configuration is invalid
56
+ * @throws {Error} If adapter initialization fails
53
57
  */
54
58
  async initialize() {
55
59
  if (this.isInitialized) {
56
60
  throw new Error('AgentDBManager already initialized');
57
61
  }
58
- // Validate dbPath for invalid characters (e.g., null bytes)
59
- if (this.config.dbPath && this.config.dbPath.includes('\0')) {
60
- throw new Error('Invalid dbPath: contains null byte');
61
- }
62
62
  try {
63
- // Check if we're in test mode (use mock adapter)
64
- const isTestMode = process.env.NODE_ENV === 'test' || process.env.JEST_WORKER_ID !== undefined;
65
- const useMock = process.env.AQE_USE_MOCK_AGENTDB === 'true';
66
- if (isTestMode || useMock) {
67
- // Use mock adapter for testing
68
- const { createMockReasoningBankAdapter } = await Promise.resolve().then(() => __importStar(require('./ReasoningBankAdapter')));
69
- this.adapter = createMockReasoningBankAdapter();
70
- await this.adapter.initialize();
71
- this.isInitialized = true;
72
- console.log('[AgentDBManager] Using mock adapter (test mode)');
73
- return;
74
- }
75
- // Try to use real AgentDB (agentdb package)
76
- try {
77
- const { createRealAgentDBAdapter } = await Promise.resolve().then(() => __importStar(require('./RealAgentDBAdapter')));
78
- this.adapter = createRealAgentDBAdapter({
79
- dbPath: this.config.dbPath,
80
- dimension: 384 // Standard dimension for embeddings
81
- });
82
- await this.adapter.initialize();
83
- this.isInitialized = true;
84
- console.log('[AgentDBManager] Using real AgentDB adapter');
85
- return;
86
- }
87
- catch (realError) {
88
- console.warn('[AgentDBManager] Real AgentDB not available, trying fallback:', realError.message);
89
- }
90
- // Fallback to mock if real AgentDB fails
91
- console.warn('[AgentDBManager] Using mock adapter as fallback');
92
- const { createMockReasoningBankAdapter } = await Promise.resolve().then(() => __importStar(require('./ReasoningBankAdapter')));
93
- this.adapter = createMockReasoningBankAdapter();
94
- await this.adapter.initialize();
63
+ // Create adapter using factory
64
+ const result = await AdapterFactory_1.AdapterFactory.create(this.adapterConfig);
65
+ this.adapter = result.adapter;
66
+ // Validate adapter
67
+ await AdapterFactory_1.AdapterFactory.validate(this.adapter);
95
68
  this.isInitialized = true;
69
+ console.log('[AgentDBManager] Initialized successfully', {
70
+ adapterType: result.type,
71
+ dbPath: result.config.dbPath,
72
+ dimension: result.config.dimension
73
+ });
96
74
  }
97
75
  catch (error) {
98
- throw new Error(`Failed to initialize AgentDB: ${error.message}`);
76
+ // Enhanced error message with troubleshooting guidance
77
+ if (error instanceof AdapterConfig_1.AdapterConfigurationError) {
78
+ throw error; // Already has detailed message
79
+ }
80
+ const errorMessage = [
81
+ 'Failed to initialize AgentDBManager:',
82
+ ` ${error.message}`,
83
+ '',
84
+ 'Current configuration:',
85
+ ` Adapter Type: ${this.adapterConfig.type}`,
86
+ ` Database Path: ${this.adapterConfig.dbPath || 'N/A'}`,
87
+ ` Fail Fast: ${this.adapterConfig.failFast !== false}`,
88
+ '',
89
+ 'Troubleshooting:',
90
+ ' 1. For production: Set AQE_ADAPTER_TYPE=real and ensure agentdb is installed',
91
+ ' 2. For testing: Set AQE_ADAPTER_TYPE=mock',
92
+ ' 3. Check database file permissions and disk space',
93
+ ' 4. See docs/architecture/adapters.md for configuration guide'
94
+ ].join('\n');
95
+ throw new Error(errorMessage);
99
96
  }
100
97
  }
101
98
  /**
@@ -103,6 +100,8 @@ class AgentDBManager {
103
100
  */
104
101
  async store(pattern) {
105
102
  this.ensureInitialized();
103
+ if (!this.adapter)
104
+ throw new Error('Adapter not initialized');
106
105
  try {
107
106
  const patternId = await this.adapter.insertPattern(pattern);
108
107
  return patternId;
@@ -116,6 +115,8 @@ class AgentDBManager {
116
115
  */
117
116
  async retrieve(queryEmbedding, options) {
118
117
  this.ensureInitialized();
118
+ if (!this.adapter)
119
+ throw new Error('Adapter not initialized');
119
120
  try {
120
121
  const startTime = Date.now();
121
122
  const result = await this.adapter.retrieveWithReasoning(queryEmbedding, options);
@@ -151,9 +152,14 @@ class AgentDBManager {
151
152
  */
152
153
  async train(options) {
153
154
  this.ensureInitialized();
155
+ if (!this.adapter)
156
+ throw new Error('Adapter not initialized');
154
157
  if (!this.config.enableLearning) {
155
158
  throw new Error('Learning is not enabled. Set enableLearning: true in config.');
156
159
  }
160
+ if (!this.adapter.train) {
161
+ throw new Error('Adapter does not support training');
162
+ }
157
163
  try {
158
164
  const metrics = await this.adapter.train(options);
159
165
  return {
@@ -172,6 +178,8 @@ class AgentDBManager {
172
178
  */
173
179
  async getStats() {
174
180
  this.ensureInitialized();
181
+ if (!this.adapter)
182
+ throw new Error('Adapter not initialized');
175
183
  try {
176
184
  return await this.adapter.getStats();
177
185
  }
@@ -224,6 +232,23 @@ class AgentDBManager {
224
232
  const queryEmbedding = Array.from({ length: 384 }, () => SecureRandom_js_1.SecureRandom.randomFloat());
225
233
  return this.retrieve(queryEmbedding, options);
226
234
  }
235
+ /**
236
+ * Execute raw SQL query on the database
237
+ * For CLI queries and advanced analytics
238
+ */
239
+ async query(sql, params = []) {
240
+ this.ensureInitialized();
241
+ try {
242
+ if (this.adapter && typeof this.adapter.query === 'function') {
243
+ return await this.adapter.query(sql, params);
244
+ }
245
+ // Fallback for adapters without direct query support
246
+ throw new Error('Direct SQL queries not supported by current adapter');
247
+ }
248
+ catch (error) {
249
+ throw new Error(`Failed to execute query: ${error.message}`);
250
+ }
251
+ }
227
252
  }
228
253
  exports.AgentDBManager = AgentDBManager;
229
254
  /**
@@ -231,7 +256,8 @@ exports.AgentDBManager = AgentDBManager;
231
256
  */
232
257
  function createAgentDBManager(overrides = {}) {
233
258
  const defaultConfig = {
234
- dbPath: '.agentdb/reasoningbank.db',
259
+ // Updated default path to use .agentic-qe directory for consolidation
260
+ dbPath: '.agentic-qe/agentdb.db',
235
261
  enableQUICSync: false,
236
262
  syncPort: 4433,
237
263
  syncPeers: [],
@@ -1 +1 @@
1
- {"version":3,"file":"AgentDBManager.js","sourceRoot":"","sources":["../../../src/core/memory/AgentDBManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentDBManager.js","sourceRoot":"","sources":["../../../src/core/memory/AgentDBManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * LRU Cache for Pattern Queries
3
+ * Issue: #52 - Optimize LearningEngine performance
4
+ *
5
+ * Provides in-memory caching for frequently accessed patterns
6
+ * with LRU eviction and TTL-based expiration.
7
+ *
8
+ * Performance: O(1) get/set operations
9
+ */
10
+ import { Pattern } from './SwarmMemoryManager';
11
+ export interface CacheEntry {
12
+ patterns: Pattern[];
13
+ timestamp: number;
14
+ hits: number;
15
+ }
16
+ export interface CacheStats {
17
+ size: number;
18
+ maxSize: number;
19
+ hitRate: number;
20
+ missRate: number;
21
+ totalHits: number;
22
+ totalMisses: number;
23
+ ttl: number;
24
+ evictions: number;
25
+ }
26
+ export interface PatternCacheConfig {
27
+ maxSize?: number;
28
+ ttl?: number;
29
+ enableStats?: boolean;
30
+ }
31
+ /**
32
+ * LRU Cache for Pattern Storage
33
+ *
34
+ * Features:
35
+ * - O(1) get/set operations
36
+ * - LRU eviction when capacity reached
37
+ * - TTL-based expiration
38
+ * - Hit rate tracking
39
+ * - Agent-specific invalidation
40
+ */
41
+ export declare class PatternCache {
42
+ private cache;
43
+ private readonly maxSize;
44
+ private readonly ttl;
45
+ private readonly enableStats;
46
+ private totalHits;
47
+ private totalMisses;
48
+ private evictions;
49
+ constructor(config?: PatternCacheConfig);
50
+ /**
51
+ * Get patterns from cache
52
+ * Returns null if not found or expired
53
+ *
54
+ * Complexity: O(1)
55
+ */
56
+ get(key: string): Pattern[] | null;
57
+ /**
58
+ * Store patterns in cache
59
+ * Evicts least recently used entry if at capacity
60
+ *
61
+ * Complexity: O(1)
62
+ */
63
+ set(key: string, patterns: Pattern[]): void;
64
+ /**
65
+ * Invalidate all cache entries for a specific agent
66
+ * Called when patterns are updated
67
+ *
68
+ * Complexity: O(n) where n = cache size
69
+ */
70
+ invalidate(agentId: string): void;
71
+ /**
72
+ * Clear entire cache
73
+ */
74
+ clear(): void;
75
+ /**
76
+ * Get cache statistics
77
+ */
78
+ getStats(): CacheStats;
79
+ /**
80
+ * Check if key exists in cache (without affecting LRU order)
81
+ */
82
+ has(key: string): boolean;
83
+ /**
84
+ * Get cache size
85
+ */
86
+ size(): number;
87
+ /**
88
+ * Reset statistics
89
+ */
90
+ resetStats(): void;
91
+ /**
92
+ * Get all cache keys (for debugging)
93
+ */
94
+ keys(): string[];
95
+ /**
96
+ * Manually expire old entries
97
+ * Called periodically to clean up expired entries
98
+ */
99
+ pruneExpired(): number;
100
+ /**
101
+ * Generate cache key for pattern queries
102
+ */
103
+ static generateKey(agentId: string, minConfidence: number): string;
104
+ }
105
+ //# sourceMappingURL=PatternCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternCache.d.ts","sourceRoot":"","sources":["../../../src/core/memory/PatternCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IAGtC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAK;gBAEV,MAAM,GAAE,kBAAuB;IAM3C;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,EAAE,GAAG,IAAI;IA0BlC;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAiB3C;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAYjC;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,QAAQ,IAAI,UAAU;IAiBtB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQzB;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,UAAU,IAAI,IAAI;IAMlB;;OAEG;IACH,IAAI,IAAI,MAAM,EAAE;IAIhB;;;OAGG;IACH,YAAY,IAAI,MAAM;IActB;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;CAGnE"}