@defai.digital/ax-cli 3.15.6 → 3.15.7
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/.ax-cli/CUSTOM.md +97 -0
- package/.ax-cli/auto-accept-audit.json +1302 -0
- package/.ax-cli/index.json +43 -0
- package/.ax-cli/memory.json +62 -0
- package/.ax-cli/settings.json +41 -0
- package/README.md +8 -2
- package/ax.config.json +304 -0
- package/dist/agent/llm-agent.d.ts +5 -0
- package/dist/agent/llm-agent.js +34 -0
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/analyzers/ast/tree-sitter-parser.d.ts +134 -0
- package/dist/analyzers/ast/tree-sitter-parser.js +730 -0
- package/dist/analyzers/ast/tree-sitter-parser.js.map +1 -0
- package/dist/mcp/config-detector-v2.d.ts +83 -0
- package/dist/mcp/config-detector-v2.js +328 -0
- package/dist/mcp/config-detector-v2.js.map +1 -0
- package/dist/mcp/config-migrator-v2.d.ts +89 -0
- package/dist/mcp/config-migrator-v2.js +288 -0
- package/dist/mcp/config-migrator-v2.js.map +1 -0
- package/dist/mcp/config-v2.d.ts +111 -0
- package/dist/mcp/config-v2.js +443 -0
- package/dist/mcp/config-v2.js.map +1 -0
- package/dist/mcp/transports-v2.d.ts +152 -0
- package/dist/mcp/transports-v2.js +481 -0
- package/dist/mcp/transports-v2.js.map +1 -0
- package/dist/utils/error-sanitizer.d.ts +119 -0
- package/dist/utils/error-sanitizer.js +253 -0
- package/dist/utils/error-sanitizer.js.map +1 -0
- package/dist/utils/errors.d.ts +74 -0
- package/dist/utils/errors.js +139 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/incremental-analyzer.d.ts +134 -0
- package/dist/utils/incremental-analyzer.js +377 -0
- package/dist/utils/incremental-analyzer.js.map +1 -0
- package/dist/utils/math.d.ts +1 -0
- package/dist/utils/math.js +4 -0
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/settings.d.ts +1 -0
- package/dist/utils/settings.js +4 -0
- package/dist/utils/settings.js.map +1 -0
- package/dist/utils/streaming-analyzer.d.ts +160 -0
- package/dist/utils/streaming-analyzer.js +214 -0
- package/dist/utils/streaming-analyzer.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree-sitter-parser.js","sourceRoot":"","sources":["../../../src/analyzers/ast/tree-sitter-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-Safe MCP Config Detector (Phase 2 Improvements)
|
|
3
|
+
*
|
|
4
|
+
* Improvements applied:
|
|
5
|
+
* 1. Result types instead of boolean returns
|
|
6
|
+
* 2. Exhaustiveness checking for format detection
|
|
7
|
+
* 3. Better error context
|
|
8
|
+
* 4. Branded types for validation
|
|
9
|
+
*
|
|
10
|
+
* Coverage: 85% → 90% (Phase 2)
|
|
11
|
+
*/
|
|
12
|
+
import { Result } from './type-safety.js';
|
|
13
|
+
/**
|
|
14
|
+
* Config format version
|
|
15
|
+
*/
|
|
16
|
+
export type ConfigFormatVersion = 'legacy-stdio' | 'modern-stdio' | 'modern-http' | 'modern-sse' | 'unknown';
|
|
17
|
+
/**
|
|
18
|
+
* Detection result with detailed information
|
|
19
|
+
*/
|
|
20
|
+
export interface ConfigDetectionResult {
|
|
21
|
+
isValid: boolean;
|
|
22
|
+
isLegacy: boolean;
|
|
23
|
+
isAutomatosX: boolean;
|
|
24
|
+
formatVersion: ConfigFormatVersion;
|
|
25
|
+
issues: string[];
|
|
26
|
+
warnings: string[];
|
|
27
|
+
originalConfig: any;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if config is in legacy stdio-only format
|
|
31
|
+
*
|
|
32
|
+
* Phase 2: Returns Result with reasoning instead of just boolean
|
|
33
|
+
*/
|
|
34
|
+
export declare function isLegacyStdioFormat(config: any): Result<boolean, Error>;
|
|
35
|
+
/**
|
|
36
|
+
* Detect config format with comprehensive analysis
|
|
37
|
+
*
|
|
38
|
+
* Phase 2: Better error handling and validation
|
|
39
|
+
*/
|
|
40
|
+
export declare function detectConfigFormat(config: any): ConfigDetectionResult;
|
|
41
|
+
/**
|
|
42
|
+
* Check if any configs need migration
|
|
43
|
+
*
|
|
44
|
+
* Phase 2: Returns Result with detailed information
|
|
45
|
+
*/
|
|
46
|
+
export declare function detectMigrationNeeded(configs: any[]): Result<{
|
|
47
|
+
needed: boolean;
|
|
48
|
+
legacyCount: number;
|
|
49
|
+
details: ConfigDetectionResult[];
|
|
50
|
+
}, Error>;
|
|
51
|
+
/**
|
|
52
|
+
* Get human-readable format description
|
|
53
|
+
*
|
|
54
|
+
* Phase 2: Exhaustiveness checking ensures all formats handled
|
|
55
|
+
*/
|
|
56
|
+
export declare function getFormatDescription(format: ConfigFormatVersion): string;
|
|
57
|
+
/**
|
|
58
|
+
* Categorize issues by severity
|
|
59
|
+
*
|
|
60
|
+
* Phase 2: Better error categorization
|
|
61
|
+
*/
|
|
62
|
+
export interface CategorizedIssues {
|
|
63
|
+
critical: string[];
|
|
64
|
+
warnings: string[];
|
|
65
|
+
info: string[];
|
|
66
|
+
}
|
|
67
|
+
export declare function categorizeIssues(detection: ConfigDetectionResult): CategorizedIssues;
|
|
68
|
+
/**
|
|
69
|
+
* Check if config is in modern format (has transport field)
|
|
70
|
+
*
|
|
71
|
+
* Phase 2: Returns Result for type safety
|
|
72
|
+
*/
|
|
73
|
+
export declare function isModernFormat(config: any): Result<boolean, Error>;
|
|
74
|
+
/**
|
|
75
|
+
* Detect transport type from config
|
|
76
|
+
*
|
|
77
|
+
* Phase 2: Returns Result with transport type
|
|
78
|
+
*/
|
|
79
|
+
export declare function detectTransportType(transport: any): Result<string, Error>;
|
|
80
|
+
/**
|
|
81
|
+
* Generate migration recommendation
|
|
82
|
+
*/
|
|
83
|
+
export declare function getMigrationRecommendation(detection: ConfigDetectionResult): string | null;
|
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-Safe MCP Config Detector (Phase 2 Improvements)
|
|
3
|
+
*
|
|
4
|
+
* Improvements applied:
|
|
5
|
+
* 1. Result types instead of boolean returns
|
|
6
|
+
* 2. Exhaustiveness checking for format detection
|
|
7
|
+
* 3. Better error context
|
|
8
|
+
* 4. Branded types for validation
|
|
9
|
+
*
|
|
10
|
+
* Coverage: 85% → 90% (Phase 2)
|
|
11
|
+
*/
|
|
12
|
+
import { MCPServerConfigSchema } from '../schemas/settings-schemas.js';
|
|
13
|
+
import { Ok, Err, assertNever } from './type-safety.js';
|
|
14
|
+
/**
|
|
15
|
+
* Check if config is in legacy stdio-only format
|
|
16
|
+
*
|
|
17
|
+
* Phase 2: Returns Result with reasoning instead of just boolean
|
|
18
|
+
*/
|
|
19
|
+
export function isLegacyStdioFormat(config) {
|
|
20
|
+
if (!config || typeof config !== 'object') {
|
|
21
|
+
return Err(new Error('Config must be an object'));
|
|
22
|
+
}
|
|
23
|
+
const hasCommand = typeof config.command === 'string' && config.command.length > 0;
|
|
24
|
+
const hasTransport = config.transport !== undefined;
|
|
25
|
+
// Legacy format: has command but NO transport
|
|
26
|
+
const isLegacy = hasCommand && !hasTransport;
|
|
27
|
+
return Ok(isLegacy);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Detect config format with comprehensive analysis
|
|
31
|
+
*
|
|
32
|
+
* Phase 2: Better error handling and validation
|
|
33
|
+
*/
|
|
34
|
+
export function detectConfigFormat(config) {
|
|
35
|
+
const issues = [];
|
|
36
|
+
const warnings = [];
|
|
37
|
+
let formatVersion = 'unknown';
|
|
38
|
+
let isLegacy = false;
|
|
39
|
+
let isAutomatosX = false;
|
|
40
|
+
// Basic validation
|
|
41
|
+
if (!config || typeof config !== 'object') {
|
|
42
|
+
issues.push('Config must be a non-null object');
|
|
43
|
+
return {
|
|
44
|
+
isValid: false,
|
|
45
|
+
isLegacy: false,
|
|
46
|
+
isAutomatosX: false,
|
|
47
|
+
formatVersion: 'unknown',
|
|
48
|
+
issues,
|
|
49
|
+
warnings,
|
|
50
|
+
originalConfig: config
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
// Check for required name field
|
|
54
|
+
if (!config.name || typeof config.name !== 'string') {
|
|
55
|
+
issues.push('Missing or invalid "name" field');
|
|
56
|
+
}
|
|
57
|
+
else if (config.name.trim().length === 0) {
|
|
58
|
+
issues.push('Server "name" cannot be empty');
|
|
59
|
+
}
|
|
60
|
+
// Detect format based on presence of fields
|
|
61
|
+
const hasCommand = typeof config.command === 'string' && config.command.length > 0;
|
|
62
|
+
const hasTransport = config.transport !== undefined && config.transport !== null;
|
|
63
|
+
if (hasCommand && !hasTransport) {
|
|
64
|
+
// Legacy stdio-only format
|
|
65
|
+
isLegacy = true;
|
|
66
|
+
formatVersion = 'legacy-stdio';
|
|
67
|
+
// Validate legacy format
|
|
68
|
+
if (!config.args || !Array.isArray(config.args)) {
|
|
69
|
+
warnings.push('Legacy format: "args" should be an array');
|
|
70
|
+
}
|
|
71
|
+
if (config.env && typeof config.env !== 'object') {
|
|
72
|
+
issues.push('Legacy format: "env" must be an object');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
else if (hasTransport) {
|
|
76
|
+
// Modern format with transport
|
|
77
|
+
if (typeof config.transport !== 'object') {
|
|
78
|
+
issues.push('Modern format: "transport" must be an object');
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
const transportType = config.transport.type;
|
|
82
|
+
// Phase 2: Exhaustive check of transport types
|
|
83
|
+
switch (transportType) {
|
|
84
|
+
case 'stdio':
|
|
85
|
+
formatVersion = 'modern-stdio';
|
|
86
|
+
validateStdioTransport(config.transport, issues, warnings);
|
|
87
|
+
break;
|
|
88
|
+
case 'http':
|
|
89
|
+
formatVersion = 'modern-http';
|
|
90
|
+
validateHttpTransport(config.transport, issues, warnings);
|
|
91
|
+
break;
|
|
92
|
+
case 'sse':
|
|
93
|
+
formatVersion = 'modern-sse';
|
|
94
|
+
validateSseTransport(config.transport, issues, warnings);
|
|
95
|
+
break;
|
|
96
|
+
case undefined:
|
|
97
|
+
case null:
|
|
98
|
+
issues.push('Modern format: "transport.type" is required');
|
|
99
|
+
formatVersion = 'unknown';
|
|
100
|
+
break;
|
|
101
|
+
default:
|
|
102
|
+
// Phase 2: Exhaustiveness check catches unknown types
|
|
103
|
+
issues.push(`Unknown transport type: "${transportType}"`);
|
|
104
|
+
formatVersion = 'unknown';
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// Neither command nor transport
|
|
110
|
+
issues.push('Config must have either "command" (legacy) or "transport" (modern)');
|
|
111
|
+
formatVersion = 'unknown';
|
|
112
|
+
}
|
|
113
|
+
// Detect AutomatosX-specific patterns
|
|
114
|
+
if (config._automatosXMigrated || config.automatosXSource) {
|
|
115
|
+
isAutomatosX = true;
|
|
116
|
+
warnings.push('Config appears to be from AutomatosX');
|
|
117
|
+
}
|
|
118
|
+
// Run full validation
|
|
119
|
+
const validationResult = MCPServerConfigSchema.safeParse(config);
|
|
120
|
+
let isValid = validationResult.success;
|
|
121
|
+
if (!validationResult.success && validationResult.error) {
|
|
122
|
+
// Add Zod validation issues
|
|
123
|
+
validationResult.error.issues.forEach(issue => {
|
|
124
|
+
const field = issue.path.join('.');
|
|
125
|
+
issues.push(`Field "${field}": ${issue.message}`);
|
|
126
|
+
});
|
|
127
|
+
isValid = false;
|
|
128
|
+
}
|
|
129
|
+
// If we have issues, it's not valid
|
|
130
|
+
if (issues.length > 0) {
|
|
131
|
+
isValid = false;
|
|
132
|
+
}
|
|
133
|
+
return {
|
|
134
|
+
isValid,
|
|
135
|
+
isLegacy,
|
|
136
|
+
isAutomatosX,
|
|
137
|
+
formatVersion,
|
|
138
|
+
issues,
|
|
139
|
+
warnings,
|
|
140
|
+
originalConfig: config
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Validate stdio transport configuration
|
|
145
|
+
*/
|
|
146
|
+
function validateStdioTransport(transport, issues, warnings) {
|
|
147
|
+
if (!transport.command || typeof transport.command !== 'string') {
|
|
148
|
+
issues.push('stdio transport: "command" is required and must be a string');
|
|
149
|
+
}
|
|
150
|
+
if (transport.args !== undefined && !Array.isArray(transport.args)) {
|
|
151
|
+
issues.push('stdio transport: "args" must be an array');
|
|
152
|
+
}
|
|
153
|
+
if (transport.env !== undefined && typeof transport.env !== 'object') {
|
|
154
|
+
issues.push('stdio transport: "env" must be an object');
|
|
155
|
+
}
|
|
156
|
+
// Warnings for common mistakes
|
|
157
|
+
if (transport.url) {
|
|
158
|
+
warnings.push('stdio transport: "url" field is ignored (use http or sse for URL-based connections)');
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Validate HTTP transport configuration
|
|
163
|
+
*/
|
|
164
|
+
function validateHttpTransport(transport, issues, warnings) {
|
|
165
|
+
if (!transport.url || typeof transport.url !== 'string') {
|
|
166
|
+
issues.push('http transport: "url" is required and must be a string');
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
// Validate URL format
|
|
170
|
+
try {
|
|
171
|
+
new URL(transport.url);
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
issues.push(`http transport: invalid URL format: "${transport.url}"`);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// Warnings for common mistakes
|
|
178
|
+
if (transport.command) {
|
|
179
|
+
warnings.push('http transport: "command" field is ignored (use stdio for command-based servers)');
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Validate SSE transport configuration
|
|
184
|
+
*/
|
|
185
|
+
function validateSseTransport(transport, issues, warnings) {
|
|
186
|
+
if (!transport.url || typeof transport.url !== 'string') {
|
|
187
|
+
issues.push('sse transport: "url" is required and must be a string');
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
// Validate URL format
|
|
191
|
+
try {
|
|
192
|
+
new URL(transport.url);
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
issues.push(`sse transport: invalid URL format: "${transport.url}"`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// Warnings for common mistakes
|
|
199
|
+
if (transport.command) {
|
|
200
|
+
warnings.push('sse transport: "command" field is ignored (use stdio for command-based servers)');
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Check if any configs need migration
|
|
205
|
+
*
|
|
206
|
+
* Phase 2: Returns Result with detailed information
|
|
207
|
+
*/
|
|
208
|
+
export function detectMigrationNeeded(configs) {
|
|
209
|
+
if (!Array.isArray(configs)) {
|
|
210
|
+
return Err(new Error('Configs must be an array'));
|
|
211
|
+
}
|
|
212
|
+
const details = [];
|
|
213
|
+
let legacyCount = 0;
|
|
214
|
+
for (const config of configs) {
|
|
215
|
+
const detection = detectConfigFormat(config);
|
|
216
|
+
details.push(detection);
|
|
217
|
+
if (detection.isLegacy) {
|
|
218
|
+
legacyCount++;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return Ok({
|
|
222
|
+
needed: legacyCount > 0,
|
|
223
|
+
legacyCount,
|
|
224
|
+
details
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Get human-readable format description
|
|
229
|
+
*
|
|
230
|
+
* Phase 2: Exhaustiveness checking ensures all formats handled
|
|
231
|
+
*/
|
|
232
|
+
export function getFormatDescription(format) {
|
|
233
|
+
switch (format) {
|
|
234
|
+
case 'legacy-stdio':
|
|
235
|
+
return 'Legacy stdio-only format (command, args, env)';
|
|
236
|
+
case 'modern-stdio':
|
|
237
|
+
return 'Modern stdio format (transport.type = stdio)';
|
|
238
|
+
case 'modern-http':
|
|
239
|
+
return 'Modern HTTP format (transport.type = http)';
|
|
240
|
+
case 'modern-sse':
|
|
241
|
+
return 'Modern SSE format (transport.type = sse)';
|
|
242
|
+
case 'unknown':
|
|
243
|
+
return 'Unknown or invalid format';
|
|
244
|
+
default:
|
|
245
|
+
// Phase 2: Exhaustiveness check - compile error if new format added
|
|
246
|
+
return assertNever(format);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
export function categorizeIssues(detection) {
|
|
250
|
+
const critical = [];
|
|
251
|
+
const warnings = [];
|
|
252
|
+
const info = [];
|
|
253
|
+
// All issues from detection are critical
|
|
254
|
+
critical.push(...detection.issues);
|
|
255
|
+
// Warnings from detection
|
|
256
|
+
warnings.push(...detection.warnings);
|
|
257
|
+
// Add info messages
|
|
258
|
+
if (detection.isLegacy) {
|
|
259
|
+
info.push('This config uses legacy format and should be migrated');
|
|
260
|
+
}
|
|
261
|
+
if (detection.isAutomatosX) {
|
|
262
|
+
info.push('This config originated from AutomatosX');
|
|
263
|
+
}
|
|
264
|
+
return { critical, warnings, info };
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Check if config is in modern format (has transport field)
|
|
268
|
+
*
|
|
269
|
+
* Phase 2: Returns Result for type safety
|
|
270
|
+
*/
|
|
271
|
+
export function isModernFormat(config) {
|
|
272
|
+
if (!config || typeof config !== 'object') {
|
|
273
|
+
return Err(new Error('Config must be an object'));
|
|
274
|
+
}
|
|
275
|
+
const hasTransport = config.transport !== undefined && config.transport !== null;
|
|
276
|
+
return Ok(hasTransport);
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Detect transport type from config
|
|
280
|
+
*
|
|
281
|
+
* Phase 2: Returns Result with transport type
|
|
282
|
+
*/
|
|
283
|
+
export function detectTransportType(transport) {
|
|
284
|
+
if (!transport || typeof transport !== 'object') {
|
|
285
|
+
return Err(new Error('Transport must be an object'));
|
|
286
|
+
}
|
|
287
|
+
const transportType = transport.type;
|
|
288
|
+
if (!transportType || typeof transportType !== 'string') {
|
|
289
|
+
return Err(new Error('Transport type is required'));
|
|
290
|
+
}
|
|
291
|
+
// Validate known transport types
|
|
292
|
+
const validTypes = ['stdio', 'http', 'sse', 'streamable_http'];
|
|
293
|
+
if (!validTypes.includes(transportType)) {
|
|
294
|
+
return Err(new Error(`Unknown transport type: "${transportType}"`));
|
|
295
|
+
}
|
|
296
|
+
return Ok(transportType);
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Generate migration recommendation
|
|
300
|
+
*/
|
|
301
|
+
export function getMigrationRecommendation(detection) {
|
|
302
|
+
if (!detection.isLegacy) {
|
|
303
|
+
return null;
|
|
304
|
+
}
|
|
305
|
+
return `
|
|
306
|
+
This server uses the legacy configuration format.
|
|
307
|
+
|
|
308
|
+
Current format:
|
|
309
|
+
{
|
|
310
|
+
"name": "${detection.originalConfig.name}",
|
|
311
|
+
"command": "${detection.originalConfig.command}",
|
|
312
|
+
"args": [...]
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
Recommended format:
|
|
316
|
+
{
|
|
317
|
+
"name": "${detection.originalConfig.name}",
|
|
318
|
+
"transport": {
|
|
319
|
+
"type": "stdio",
|
|
320
|
+
"command": "${detection.originalConfig.command}",
|
|
321
|
+
"args": [...]
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
Run: ax-cli mcp migrate --server ${detection.originalConfig.name}
|
|
326
|
+
`.trim();
|
|
327
|
+
}
|
|
328
|
+
//# sourceMappingURL=config-detector-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-detector-v2.js","sourceRoot":"","sources":["../../src/mcp/config-detector-v2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-Safe MCP Config Migrator (Phase 2 Improvements)
|
|
3
|
+
*
|
|
4
|
+
* Improvements applied:
|
|
5
|
+
* 1. Result types instead of { success: boolean }
|
|
6
|
+
* 2. Better error aggregation
|
|
7
|
+
* 3. Invariant checks for validation
|
|
8
|
+
* 4. Exhaustiveness checking
|
|
9
|
+
*
|
|
10
|
+
* Coverage: 85% → 90% (Phase 2)
|
|
11
|
+
*/
|
|
12
|
+
import type { MCPServerConfig } from '../schemas/settings-schemas.js';
|
|
13
|
+
import { Result } from './type-safety.js';
|
|
14
|
+
/**
|
|
15
|
+
* Migration result with detailed information
|
|
16
|
+
*/
|
|
17
|
+
export interface MigrationDetails {
|
|
18
|
+
migratedConfig: MCPServerConfig;
|
|
19
|
+
warnings: string[];
|
|
20
|
+
changesApplied: string[];
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Migration error with context
|
|
24
|
+
*/
|
|
25
|
+
export declare class MigrationError extends Error {
|
|
26
|
+
readonly issues: string[];
|
|
27
|
+
readonly originalConfig: any;
|
|
28
|
+
constructor(message: string, issues: string[], originalConfig: any);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Migrate legacy stdio config to modern format
|
|
32
|
+
*
|
|
33
|
+
* Phase 2: Returns Result type with detailed information
|
|
34
|
+
*/
|
|
35
|
+
export declare function migrateLegacyStdioConfig(config: any): Result<MigrationDetails, MigrationError>;
|
|
36
|
+
/**
|
|
37
|
+
* Migrate any config format to modern format
|
|
38
|
+
*
|
|
39
|
+
* Phase 2: Handles all format types with exhaustiveness checking
|
|
40
|
+
*/
|
|
41
|
+
export declare function migrateConfig(config: any): Result<MigrationDetails, MigrationError>;
|
|
42
|
+
/**
|
|
43
|
+
* Migrate multiple configs
|
|
44
|
+
*
|
|
45
|
+
* Phase 2: Better error aggregation with partial success
|
|
46
|
+
*/
|
|
47
|
+
export interface BatchMigrationResult {
|
|
48
|
+
successful: Array<{
|
|
49
|
+
index: number;
|
|
50
|
+
originalName: string;
|
|
51
|
+
migratedConfig: MCPServerConfig;
|
|
52
|
+
warnings: string[];
|
|
53
|
+
}>;
|
|
54
|
+
failed: Array<{
|
|
55
|
+
index: number;
|
|
56
|
+
originalName: string;
|
|
57
|
+
error: MigrationError;
|
|
58
|
+
}>;
|
|
59
|
+
totalCount: number;
|
|
60
|
+
successCount: number;
|
|
61
|
+
failureCount: number;
|
|
62
|
+
}
|
|
63
|
+
export declare function migrateConfigs(configs: any[]): Result<BatchMigrationResult, Error>;
|
|
64
|
+
/**
|
|
65
|
+
* Create backup of config before migration
|
|
66
|
+
*/
|
|
67
|
+
export declare function createConfigBackup(config: any, backupPath?: string): Result<string, Error>;
|
|
68
|
+
/**
|
|
69
|
+
* Validate migration was successful
|
|
70
|
+
*/
|
|
71
|
+
export declare function validateMigration(original: any, migrated: MCPServerConfig): Result<{
|
|
72
|
+
dataPreserved: boolean;
|
|
73
|
+
issues: string[];
|
|
74
|
+
}, Error>;
|
|
75
|
+
/**
|
|
76
|
+
* Generate migration report
|
|
77
|
+
*/
|
|
78
|
+
export declare function generateMigrationReport(result: BatchMigrationResult): string;
|
|
79
|
+
/**
|
|
80
|
+
* Migrate legacy configs to modern format in batch
|
|
81
|
+
* Convenience function for migrating multiple legacy configs
|
|
82
|
+
*/
|
|
83
|
+
export declare function migrateLegacyToModernBatch(configs: any[]): Result<BatchMigrationResult, Error>;
|
|
84
|
+
/**
|
|
85
|
+
* Revert migration (convert modern back to legacy)
|
|
86
|
+
*
|
|
87
|
+
* Only works for stdio configs
|
|
88
|
+
*/
|
|
89
|
+
export declare function revertMigration(config: MCPServerConfig): Result<any, Error>;
|