agentic-qe 1.8.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.
- package/CHANGELOG.md +94 -0
- package/README.md +36 -65
- package/dist/agents/BaseAgent.d.ts +2 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +55 -35
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/TestExecutorAgent.d.ts +32 -2
- package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
- package/dist/agents/TestExecutorAgent.js +254 -64
- package/dist/agents/TestExecutorAgent.js.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.d.ts +1 -6
- package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
- package/dist/agents/lifecycle/AgentLifecycleManager.js +0 -7
- package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
- package/dist/core/memory/AdapterConfig.d.ts +108 -0
- package/dist/core/memory/AdapterConfig.d.ts.map +1 -0
- package/dist/core/memory/AdapterConfig.js +189 -0
- package/dist/core/memory/AdapterConfig.js.map +1 -0
- package/dist/core/memory/AdapterFactory.d.ts +72 -0
- package/dist/core/memory/AdapterFactory.d.ts.map +1 -0
- package/dist/core/memory/AdapterFactory.js +152 -0
- package/dist/core/memory/AdapterFactory.js.map +1 -0
- package/dist/core/memory/AgentDBManager.d.ts +23 -5
- package/dist/core/memory/AgentDBManager.d.ts.map +1 -1
- package/dist/core/memory/AgentDBManager.js +80 -72
- package/dist/core/memory/AgentDBManager.js.map +1 -1
- package/dist/core/memory/PatternCache.d.ts +105 -0
- package/dist/core/memory/PatternCache.d.ts.map +1 -0
- package/dist/core/memory/PatternCache.js +183 -0
- package/dist/core/memory/PatternCache.js.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts +7 -1
- package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
- package/dist/core/memory/RealAgentDBAdapter.js +99 -19
- package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
- package/dist/core/memory/index.d.ts +6 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +12 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/neural/NeuralTrainer.d.ts +2 -6
- package/dist/core/neural/NeuralTrainer.d.ts.map +1 -1
- package/dist/core/neural/NeuralTrainer.js +7 -25
- package/dist/core/neural/NeuralTrainer.js.map +1 -1
- package/package.json +2 -14
- package/dist/mcp/tools/deprecated.d.ts +0 -1390
- package/dist/mcp/tools/deprecated.d.ts.map +0 -1
- package/dist/mcp/tools/deprecated.js +0 -859
- package/dist/mcp/tools/deprecated.js.map +0 -1
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter Configuration - Explicit Adapter Selection
|
|
3
|
+
*
|
|
4
|
+
* Architecture Decision: Explicit configuration over runtime detection
|
|
5
|
+
* - No silent fallbacks to mock adapters
|
|
6
|
+
* - Fail-fast on misconfiguration
|
|
7
|
+
* - Clear error messages for troubleshooting
|
|
8
|
+
*
|
|
9
|
+
* @module AdapterConfig
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Supported adapter types
|
|
14
|
+
*/
|
|
15
|
+
export declare enum AdapterType {
|
|
16
|
+
/** Production AgentDB adapter (requires agentdb package) */
|
|
17
|
+
REAL = "real",
|
|
18
|
+
/** Mock adapter for testing (in-memory only) */
|
|
19
|
+
MOCK = "mock",
|
|
20
|
+
/** Auto-detect based on environment (DEPRECATED - use explicit types) */
|
|
21
|
+
AUTO = "auto"
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Adapter configuration
|
|
25
|
+
*/
|
|
26
|
+
export interface AdapterConfig {
|
|
27
|
+
/**
|
|
28
|
+
* Adapter type to use
|
|
29
|
+
* - 'real': Production AgentDB adapter (requires agentdb package)
|
|
30
|
+
* - 'mock': Mock adapter for testing (in-memory only)
|
|
31
|
+
* - 'auto': Auto-detect (DEPRECATED - will be removed in v2.0.0)
|
|
32
|
+
*/
|
|
33
|
+
type: AdapterType;
|
|
34
|
+
/**
|
|
35
|
+
* Path to SQLite database file
|
|
36
|
+
* Required for 'real' adapter, ignored for 'mock'
|
|
37
|
+
*/
|
|
38
|
+
dbPath?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Embedding dimension (default: 384)
|
|
41
|
+
*/
|
|
42
|
+
dimension?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Fail-fast on adapter initialization errors
|
|
45
|
+
* If true (default), throws error immediately
|
|
46
|
+
* If false, logs warning and continues (NOT RECOMMENDED for production)
|
|
47
|
+
*/
|
|
48
|
+
failFast?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Enable validation at startup
|
|
51
|
+
* If true (default), validates adapter configuration before initialization
|
|
52
|
+
*/
|
|
53
|
+
validateOnStartup?: boolean;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Validation result
|
|
57
|
+
*/
|
|
58
|
+
export interface ValidationResult {
|
|
59
|
+
valid: boolean;
|
|
60
|
+
errors: string[];
|
|
61
|
+
warnings: string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Adapter Configuration Validator
|
|
65
|
+
*/
|
|
66
|
+
export declare class AdapterConfigValidator {
|
|
67
|
+
/**
|
|
68
|
+
* Validate adapter configuration
|
|
69
|
+
*/
|
|
70
|
+
static validate(config: AdapterConfig): ValidationResult;
|
|
71
|
+
/**
|
|
72
|
+
* Throw error if configuration is invalid
|
|
73
|
+
*/
|
|
74
|
+
static validateOrThrow(config: AdapterConfig): void;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Adapter configuration error
|
|
78
|
+
*/
|
|
79
|
+
export declare class AdapterConfigurationError extends Error {
|
|
80
|
+
readonly validationErrors: string[];
|
|
81
|
+
constructor(message: string, validationErrors: string[]);
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Environment-based adapter configuration helper
|
|
85
|
+
*/
|
|
86
|
+
export declare class AdapterConfigHelper {
|
|
87
|
+
/**
|
|
88
|
+
* Get adapter configuration from environment
|
|
89
|
+
*/
|
|
90
|
+
static fromEnvironment(): AdapterConfig;
|
|
91
|
+
/**
|
|
92
|
+
* Get adapter type from environment variables
|
|
93
|
+
*/
|
|
94
|
+
private static getAdapterTypeFromEnv;
|
|
95
|
+
/**
|
|
96
|
+
* Create production configuration
|
|
97
|
+
*/
|
|
98
|
+
static forProduction(dbPath: string, dimension?: number): AdapterConfig;
|
|
99
|
+
/**
|
|
100
|
+
* Create test configuration
|
|
101
|
+
*/
|
|
102
|
+
static forTesting(dimension?: number): AdapterConfig;
|
|
103
|
+
/**
|
|
104
|
+
* Create development configuration
|
|
105
|
+
*/
|
|
106
|
+
static forDevelopment(dbPath?: string, dimension?: number): AdapterConfig;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=AdapterConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdapterConfig.d.ts","sourceRoot":"","sources":["../../../src/core/memory/AdapterConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,oBAAY,WAAW;IACrB,4DAA4D;IAC5D,IAAI,SAAS;IAEb,gDAAgD;IAChD,IAAI,SAAS;IAEb,yEAAyE;IACzE,IAAI,SAAS;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,WAAW,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,gBAAgB;IAqDxD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;CAkBpD;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,KAAK;aAGhC,gBAAgB,EAAE,MAAM,EAAE;gBAD1C,OAAO,EAAE,MAAM,EACC,gBAAgB,EAAE,MAAM,EAAE;CAK7C;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACH,MAAM,CAAC,eAAe,IAAI,aAAa;IAgBvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAwBpC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,GAAE,MAAY,GAAG,aAAa;IAU5E;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,SAAS,GAAE,MAAY,GAAG,aAAa;IASzD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,GAAE,MAA6B,EAAE,SAAS,GAAE,MAAY,GAAG,aAAa;CASrG"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Adapter Configuration - Explicit Adapter Selection
|
|
4
|
+
*
|
|
5
|
+
* Architecture Decision: Explicit configuration over runtime detection
|
|
6
|
+
* - No silent fallbacks to mock adapters
|
|
7
|
+
* - Fail-fast on misconfiguration
|
|
8
|
+
* - Clear error messages for troubleshooting
|
|
9
|
+
*
|
|
10
|
+
* @module AdapterConfig
|
|
11
|
+
* @version 1.0.0
|
|
12
|
+
*/
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.AdapterConfigHelper = exports.AdapterConfigurationError = exports.AdapterConfigValidator = exports.AdapterType = void 0;
|
|
15
|
+
/**
|
|
16
|
+
* Supported adapter types
|
|
17
|
+
*/
|
|
18
|
+
var AdapterType;
|
|
19
|
+
(function (AdapterType) {
|
|
20
|
+
/** Production AgentDB adapter (requires agentdb package) */
|
|
21
|
+
AdapterType["REAL"] = "real";
|
|
22
|
+
/** Mock adapter for testing (in-memory only) */
|
|
23
|
+
AdapterType["MOCK"] = "mock";
|
|
24
|
+
/** Auto-detect based on environment (DEPRECATED - use explicit types) */
|
|
25
|
+
AdapterType["AUTO"] = "auto";
|
|
26
|
+
})(AdapterType || (exports.AdapterType = AdapterType = {}));
|
|
27
|
+
/**
|
|
28
|
+
* Adapter Configuration Validator
|
|
29
|
+
*/
|
|
30
|
+
class AdapterConfigValidator {
|
|
31
|
+
/**
|
|
32
|
+
* Validate adapter configuration
|
|
33
|
+
*/
|
|
34
|
+
static validate(config) {
|
|
35
|
+
const errors = [];
|
|
36
|
+
const warnings = [];
|
|
37
|
+
// Validate adapter type
|
|
38
|
+
if (!config.type) {
|
|
39
|
+
errors.push('Adapter type is required');
|
|
40
|
+
}
|
|
41
|
+
if (!Object.values(AdapterType).includes(config.type)) {
|
|
42
|
+
errors.push(`Invalid adapter type: ${config.type}. Must be one of: ${Object.values(AdapterType).join(', ')}`);
|
|
43
|
+
}
|
|
44
|
+
// Warn about deprecated 'auto' type
|
|
45
|
+
if (config.type === AdapterType.AUTO) {
|
|
46
|
+
warnings.push('AdapterType.AUTO is deprecated and will be removed in v2.0.0. ' +
|
|
47
|
+
'Please use explicit AdapterType.REAL or AdapterType.MOCK instead.');
|
|
48
|
+
}
|
|
49
|
+
// Validate dbPath for real adapter
|
|
50
|
+
if (config.type === AdapterType.REAL) {
|
|
51
|
+
if (!config.dbPath) {
|
|
52
|
+
errors.push('dbPath is required for AdapterType.REAL');
|
|
53
|
+
}
|
|
54
|
+
else if (config.dbPath.includes('\0')) {
|
|
55
|
+
errors.push('Invalid dbPath: contains null byte');
|
|
56
|
+
}
|
|
57
|
+
else if (config.dbPath === ':memory:') {
|
|
58
|
+
warnings.push('Using :memory: database with AdapterType.REAL. ' +
|
|
59
|
+
'Data will be lost when process terminates. ' +
|
|
60
|
+
'Consider using AdapterType.MOCK for in-memory testing.');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Validate dimension
|
|
64
|
+
if (config.dimension !== undefined) {
|
|
65
|
+
if (config.dimension <= 0) {
|
|
66
|
+
errors.push('Dimension must be greater than 0');
|
|
67
|
+
}
|
|
68
|
+
if (config.dimension > 4096) {
|
|
69
|
+
warnings.push(`Large dimension (${config.dimension}) may impact performance`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return {
|
|
73
|
+
valid: errors.length === 0,
|
|
74
|
+
errors,
|
|
75
|
+
warnings
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Throw error if configuration is invalid
|
|
80
|
+
*/
|
|
81
|
+
static validateOrThrow(config) {
|
|
82
|
+
const result = this.validate(config);
|
|
83
|
+
// Log warnings
|
|
84
|
+
result.warnings.forEach(warning => {
|
|
85
|
+
console.warn(`[AdapterConfig] WARNING: ${warning}`);
|
|
86
|
+
});
|
|
87
|
+
// Throw on errors
|
|
88
|
+
if (!result.valid) {
|
|
89
|
+
const errorMessage = [
|
|
90
|
+
'Invalid adapter configuration:',
|
|
91
|
+
...result.errors.map(e => ` - ${e}`)
|
|
92
|
+
].join('\n');
|
|
93
|
+
throw new AdapterConfigurationError(errorMessage, result.errors);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.AdapterConfigValidator = AdapterConfigValidator;
|
|
98
|
+
/**
|
|
99
|
+
* Adapter configuration error
|
|
100
|
+
*/
|
|
101
|
+
class AdapterConfigurationError extends Error {
|
|
102
|
+
constructor(message, validationErrors) {
|
|
103
|
+
super(message);
|
|
104
|
+
this.validationErrors = validationErrors;
|
|
105
|
+
this.name = 'AdapterConfigurationError';
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.AdapterConfigurationError = AdapterConfigurationError;
|
|
109
|
+
/**
|
|
110
|
+
* Environment-based adapter configuration helper
|
|
111
|
+
*/
|
|
112
|
+
class AdapterConfigHelper {
|
|
113
|
+
/**
|
|
114
|
+
* Get adapter configuration from environment
|
|
115
|
+
*/
|
|
116
|
+
static fromEnvironment() {
|
|
117
|
+
const type = this.getAdapterTypeFromEnv();
|
|
118
|
+
const dbPath = process.env.AGENTDB_PATH || '.agentic-qe/agentdb.db';
|
|
119
|
+
const dimension = parseInt(process.env.AGENTDB_DIMENSION || '384', 10);
|
|
120
|
+
const config = {
|
|
121
|
+
type,
|
|
122
|
+
dbPath: type === AdapterType.REAL ? dbPath : undefined,
|
|
123
|
+
dimension,
|
|
124
|
+
failFast: process.env.AGENTDB_FAIL_FAST !== 'false',
|
|
125
|
+
validateOnStartup: process.env.AGENTDB_VALIDATE !== 'false'
|
|
126
|
+
};
|
|
127
|
+
return config;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Get adapter type from environment variables
|
|
131
|
+
*/
|
|
132
|
+
static getAdapterTypeFromEnv() {
|
|
133
|
+
// Explicit configuration via AQE_ADAPTER_TYPE
|
|
134
|
+
const explicitType = process.env.AQE_ADAPTER_TYPE?.toLowerCase();
|
|
135
|
+
if (explicitType === 'real')
|
|
136
|
+
return AdapterType.REAL;
|
|
137
|
+
if (explicitType === 'mock')
|
|
138
|
+
return AdapterType.MOCK;
|
|
139
|
+
// Legacy support: AQE_USE_MOCK_AGENTDB
|
|
140
|
+
if (process.env.AQE_USE_MOCK_AGENTDB === 'true') {
|
|
141
|
+
console.warn('[AdapterConfig] AQE_USE_MOCK_AGENTDB is deprecated. ' +
|
|
142
|
+
'Use AQE_ADAPTER_TYPE=mock instead.');
|
|
143
|
+
return AdapterType.MOCK;
|
|
144
|
+
}
|
|
145
|
+
// Test environment detection
|
|
146
|
+
if (process.env.NODE_ENV === 'test' || process.env.JEST_WORKER_ID !== undefined) {
|
|
147
|
+
return AdapterType.MOCK;
|
|
148
|
+
}
|
|
149
|
+
// Production default: REAL adapter
|
|
150
|
+
return AdapterType.REAL;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Create production configuration
|
|
154
|
+
*/
|
|
155
|
+
static forProduction(dbPath, dimension = 384) {
|
|
156
|
+
return {
|
|
157
|
+
type: AdapterType.REAL,
|
|
158
|
+
dbPath,
|
|
159
|
+
dimension,
|
|
160
|
+
failFast: true,
|
|
161
|
+
validateOnStartup: true
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Create test configuration
|
|
166
|
+
*/
|
|
167
|
+
static forTesting(dimension = 384) {
|
|
168
|
+
return {
|
|
169
|
+
type: AdapterType.MOCK,
|
|
170
|
+
dimension,
|
|
171
|
+
failFast: false,
|
|
172
|
+
validateOnStartup: true
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Create development configuration
|
|
177
|
+
*/
|
|
178
|
+
static forDevelopment(dbPath = '.agentic-qe/dev.db', dimension = 384) {
|
|
179
|
+
return {
|
|
180
|
+
type: AdapterType.REAL,
|
|
181
|
+
dbPath,
|
|
182
|
+
dimension,
|
|
183
|
+
failFast: true,
|
|
184
|
+
validateOnStartup: true
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
exports.AdapterConfigHelper = AdapterConfigHelper;
|
|
189
|
+
//# sourceMappingURL=AdapterConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdapterConfig.js","sourceRoot":"","sources":["../../../src/core/memory/AdapterConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapter Factory - Strict Adapter Creation
|
|
3
|
+
*
|
|
4
|
+
* Architecture Decision: Fail-fast on misconfiguration
|
|
5
|
+
* - No silent fallbacks
|
|
6
|
+
* - Explicit error messages
|
|
7
|
+
* - Type-safe adapter creation
|
|
8
|
+
*
|
|
9
|
+
* @module AdapterFactory
|
|
10
|
+
* @version 1.0.0
|
|
11
|
+
*/
|
|
12
|
+
import { AdapterConfig, AdapterType } from './AdapterConfig';
|
|
13
|
+
/**
|
|
14
|
+
* Adapter interface (common methods across all adapters)
|
|
15
|
+
*/
|
|
16
|
+
export interface IAdapter {
|
|
17
|
+
initialize(): Promise<void>;
|
|
18
|
+
store(pattern: any): Promise<string>;
|
|
19
|
+
insertPattern(pattern: any): Promise<string>;
|
|
20
|
+
retrieveWithReasoning(queryEmbedding: number[], options: any): Promise<any>;
|
|
21
|
+
getStats(): Promise<any>;
|
|
22
|
+
query?(sql: string, params?: any[]): Promise<any[]>;
|
|
23
|
+
train?(data: any): Promise<{
|
|
24
|
+
loss: number;
|
|
25
|
+
valLoss: number;
|
|
26
|
+
duration: number;
|
|
27
|
+
epochs: number;
|
|
28
|
+
}>;
|
|
29
|
+
close(): Promise<void>;
|
|
30
|
+
readonly initialized: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Adapter creation result
|
|
34
|
+
*/
|
|
35
|
+
export interface AdapterCreationResult {
|
|
36
|
+
adapter: IAdapter;
|
|
37
|
+
type: AdapterType;
|
|
38
|
+
config: AdapterConfig;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Adapter Factory
|
|
42
|
+
*/
|
|
43
|
+
export declare class AdapterFactory {
|
|
44
|
+
/**
|
|
45
|
+
* Create adapter from configuration
|
|
46
|
+
*
|
|
47
|
+
* @throws {AdapterConfigurationError} If configuration is invalid
|
|
48
|
+
* @throws {Error} If adapter creation fails
|
|
49
|
+
*/
|
|
50
|
+
static create(config: AdapterConfig): Promise<AdapterCreationResult>;
|
|
51
|
+
/**
|
|
52
|
+
* Create adapter instance
|
|
53
|
+
*/
|
|
54
|
+
private static createAdapter;
|
|
55
|
+
/**
|
|
56
|
+
* Create real AgentDB adapter
|
|
57
|
+
*/
|
|
58
|
+
private static createRealAdapter;
|
|
59
|
+
/**
|
|
60
|
+
* Create mock adapter (for testing)
|
|
61
|
+
*/
|
|
62
|
+
private static createMockAdapter;
|
|
63
|
+
/**
|
|
64
|
+
* Create adapter with auto-detection (DEPRECATED)
|
|
65
|
+
*/
|
|
66
|
+
private static createAutoAdapter;
|
|
67
|
+
/**
|
|
68
|
+
* Validate adapter at runtime
|
|
69
|
+
*/
|
|
70
|
+
static validate(adapter: IAdapter): Promise<void>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=AdapterFactory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdapterFactory.d.ts","sourceRoot":"","sources":["../../../src/core/memory/AdapterFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,WAAW,EAGZ,MAAM,iBAAiB,CAAC;AAIzB;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,KAAK,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5E,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,KAAK,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACpD,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,QAAQ,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB;;;;;OAKG;WACU,MAAM,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAgB1E;;OAEG;mBACkB,aAAa;IAmBlC;;OAEG;mBACkB,iBAAiB;IA4CtC;;OAEG;mBACkB,iBAAiB;IAWtC;;OAEG;mBACkB,iBAAiB;IAmBtC;;OAEG;WACU,QAAQ,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;CAwBxD"}
|
|
@@ -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
|
-
*
|
|
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
|
-
/**
|
|
24
|
-
|
|
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
|
|
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
|
-
*
|
|
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
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentDBManager.d.ts","sourceRoot":"","sources":["../../../src/core/memory/AgentDBManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AgentDBManager.d.ts","sourceRoot":"","sources":["../../../src/core/memory/AgentDBManager.ts"],"names":[],"mappings":"AACA,OAAO,EACL,aAAa,EAId,MAAM,iBAAiB,CAAC;AAGzB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iDAAiD;IACjD,cAAc,EAAE,OAAO,CAAC;IAExB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IAEjB,uEAAuE;IACvE,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB,gDAAgD;IAChD,cAAc,EAAE,OAAO,CAAC;IAExB,yEAAyE;IACzE,eAAe,EAAE,OAAO,CAAC;IAEzB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,gBAAgB,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAE3D,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,EAAE,EAAE,MAAM,CAAC;IAEX,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IAEb,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAC;IAEf,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;IAErB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IAEpB,oBAAoB;IACpB,aAAa,EAAE,MAAM,CAAC;IAEtB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,kCAAkC;IAClC,CAAC,EAAE,MAAM,CAAC;IAEV,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,sBAAsB;IACtB,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;IAExC,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,QAAQ,EAAE,KAAK,CAAC,aAAa,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAExD,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB,qBAAqB;IACrB,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IAEjB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IAEf,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,MAAM,CAAM;gBAER,MAAM,EAAE,aAAa;IAQjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiC5B;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8CjC;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAYpD;;OAEG;IACG,QAAQ,CACZ,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC;IA0B3B;;OAEG;IACG,MAAM,CACV,cAAc,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,MAAM,EACd,CAAC,GAAE,MAAW,GACb,OAAO,CAAC,eAAe,CAAC;IAS3B;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IA0B/D;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAW9B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3D;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAM1F;;;OAGG;IACG,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;CAc7D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,GAAE,OAAO,CAAC,aAAa,CAAM,GACrC,cAAc,CAmBhB"}
|