configforge 1.0.0-beta.1 → 1.0.0-beta.11

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 (93) hide show
  1. package/README.md +630 -12
  2. package/dist/core/ConversionResult.d.ts +22 -0
  3. package/dist/core/ConversionResult.d.ts.map +1 -1
  4. package/dist/core/ConversionResult.js +44 -30
  5. package/dist/core/ConversionResult.js.map +1 -1
  6. package/dist/core/Converter.d.ts +40 -10
  7. package/dist/core/Converter.d.ts.map +1 -1
  8. package/dist/core/Converter.js +137 -29
  9. package/dist/core/Converter.js.map +1 -1
  10. package/dist/core/Mapper.d.ts +12 -0
  11. package/dist/core/Mapper.d.ts.map +1 -1
  12. package/dist/core/Mapper.js +155 -3
  13. package/dist/core/Mapper.js.map +1 -1
  14. package/dist/core/Pipeline.d.ts +42 -0
  15. package/dist/core/Pipeline.d.ts.map +1 -0
  16. package/dist/core/Pipeline.js +134 -0
  17. package/dist/core/Pipeline.js.map +1 -0
  18. package/dist/core/pipeline/PipelineBuilder.d.ts +67 -0
  19. package/dist/core/pipeline/PipelineBuilder.d.ts.map +1 -0
  20. package/dist/core/pipeline/PipelineBuilder.js +109 -0
  21. package/dist/core/pipeline/PipelineBuilder.js.map +1 -0
  22. package/dist/core/pipeline/PipelineSteps.d.ts +74 -0
  23. package/dist/core/pipeline/PipelineSteps.d.ts.map +1 -0
  24. package/dist/core/pipeline/PipelineSteps.js +298 -0
  25. package/dist/core/pipeline/PipelineSteps.js.map +1 -0
  26. package/dist/errors/ErrorCollector.d.ts +119 -0
  27. package/dist/errors/ErrorCollector.d.ts.map +1 -0
  28. package/dist/errors/ErrorCollector.js +197 -0
  29. package/dist/errors/ErrorCollector.js.map +1 -0
  30. package/dist/errors/ErrorContext.d.ts +168 -0
  31. package/dist/errors/ErrorContext.d.ts.map +1 -0
  32. package/dist/errors/ErrorContext.js +356 -0
  33. package/dist/errors/ErrorContext.js.map +1 -0
  34. package/dist/errors/ErrorRecovery.d.ts +91 -0
  35. package/dist/errors/ErrorRecovery.d.ts.map +1 -0
  36. package/dist/errors/ErrorRecovery.js +321 -0
  37. package/dist/errors/ErrorRecovery.js.map +1 -0
  38. package/dist/errors/ErrorReporter.d.ts +58 -0
  39. package/dist/errors/ErrorReporter.d.ts.map +1 -0
  40. package/dist/errors/ErrorReporter.js +262 -0
  41. package/dist/errors/ErrorReporter.js.map +1 -0
  42. package/dist/errors/ErrorTypes.d.ts +103 -0
  43. package/dist/errors/ErrorTypes.d.ts.map +1 -0
  44. package/dist/errors/ErrorTypes.js +125 -0
  45. package/dist/errors/ErrorTypes.js.map +1 -0
  46. package/dist/errors/SpecificErrors.d.ts +45 -0
  47. package/dist/errors/SpecificErrors.d.ts.map +1 -0
  48. package/dist/errors/SpecificErrors.js +124 -0
  49. package/dist/errors/SpecificErrors.js.map +1 -0
  50. package/dist/errors/SuggestionEngine.d.ts +63 -0
  51. package/dist/errors/SuggestionEngine.d.ts.map +1 -0
  52. package/dist/errors/SuggestionEngine.js +328 -0
  53. package/dist/errors/SuggestionEngine.js.map +1 -0
  54. package/dist/errors/index.d.ts +12 -0
  55. package/dist/errors/index.d.ts.map +1 -0
  56. package/dist/errors/index.js +39 -0
  57. package/dist/errors/index.js.map +1 -0
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +15 -2
  61. package/dist/index.js.map +1 -1
  62. package/dist/scripts/CLIGenerator.d.ts +109 -0
  63. package/dist/scripts/CLIGenerator.d.ts.map +1 -0
  64. package/dist/scripts/CLIGenerator.js +440 -0
  65. package/dist/scripts/CLIGenerator.js.map +1 -0
  66. package/dist/scripts/CLIUtils.d.ts +136 -0
  67. package/dist/scripts/CLIUtils.d.ts.map +1 -0
  68. package/dist/scripts/CLIUtils.js +361 -0
  69. package/dist/scripts/CLIUtils.js.map +1 -0
  70. package/dist/scripts/CommandBuilder.d.ts +72 -0
  71. package/dist/scripts/CommandBuilder.d.ts.map +1 -0
  72. package/dist/scripts/CommandBuilder.js +280 -0
  73. package/dist/scripts/CommandBuilder.js.map +1 -0
  74. package/dist/scripts/index.d.ts +23 -0
  75. package/dist/scripts/index.d.ts.map +1 -0
  76. package/dist/scripts/index.js +43 -0
  77. package/dist/scripts/index.js.map +1 -0
  78. package/dist/types/index.d.ts +8 -1
  79. package/dist/types/index.d.ts.map +1 -1
  80. package/dist/types/index.js.map +1 -1
  81. package/dist/validators/ValidatorRegistry.d.ts +55 -0
  82. package/dist/validators/ValidatorRegistry.d.ts.map +1 -0
  83. package/dist/validators/ValidatorRegistry.js +140 -0
  84. package/dist/validators/ValidatorRegistry.js.map +1 -0
  85. package/dist/validators/built-in.d.ts +93 -0
  86. package/dist/validators/built-in.d.ts.map +1 -0
  87. package/dist/validators/built-in.js +290 -0
  88. package/dist/validators/built-in.js.map +1 -0
  89. package/dist/validators/index.d.ts +4 -0
  90. package/dist/validators/index.d.ts.map +1 -0
  91. package/dist/validators/index.js +24 -0
  92. package/dist/validators/index.js.map +1 -0
  93. package/package.json +1 -1
@@ -0,0 +1,328 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SuggestionEngine = void 0;
4
+ /**
5
+ * Suggestion engine for providing helpful error messages and corrections
6
+ */
7
+ class SuggestionEngine {
8
+ /**
9
+ * Calculate Levenshtein distance between two strings
10
+ */
11
+ static levenshteinDistance(str1, str2) {
12
+ const matrix = [];
13
+ for (let i = 0; i <= str2.length; i++) {
14
+ matrix[i] = [i];
15
+ }
16
+ for (let j = 0; j <= str1.length; j++) {
17
+ matrix[0][j] = j;
18
+ }
19
+ for (let i = 1; i <= str2.length; i++) {
20
+ for (let j = 1; j <= str1.length; j++) {
21
+ if (str2.charAt(i - 1) === str1.charAt(j - 1)) {
22
+ matrix[i][j] = matrix[i - 1][j - 1];
23
+ }
24
+ else {
25
+ matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, // substitution
26
+ matrix[i][j - 1] + 1, // insertion
27
+ matrix[i - 1][j] + 1 // deletion
28
+ );
29
+ }
30
+ }
31
+ }
32
+ return matrix[str2.length][str1.length];
33
+ }
34
+ /**
35
+ * Calculate similarity score between two strings (0-1, where 1 is identical)
36
+ */
37
+ static calculateSimilarity(str1, str2) {
38
+ if (str1 === str2)
39
+ return 1;
40
+ if (str1.length === 0 || str2.length === 0)
41
+ return 0;
42
+ const s1 = str1.toLowerCase();
43
+ const s2 = str2.toLowerCase();
44
+ // Check for exact prefix/suffix matches (bonus points)
45
+ let bonus = 0;
46
+ if (s1.startsWith(s2) || s2.startsWith(s1)) {
47
+ bonus = 0.1; // Prefix match bonus
48
+ }
49
+ else if (s1.endsWith(s2) || s2.endsWith(s1)) {
50
+ bonus = 0.05; // Suffix match bonus
51
+ }
52
+ const maxLength = Math.max(str1.length, str2.length);
53
+ const distance = this.levenshteinDistance(s1, s2);
54
+ const baseSimilarity = 1 - distance / maxLength;
55
+ return Math.min(1, baseSimilarity + bonus);
56
+ }
57
+ /**
58
+ * Find similar strings from a list of candidates
59
+ */
60
+ static findSimilar(target, candidates, threshold = SuggestionEngine.SIMILARITY_THRESHOLD) {
61
+ const similarities = candidates
62
+ .map(candidate => ({
63
+ value: candidate,
64
+ similarity: this.calculateSimilarity(target, candidate),
65
+ }))
66
+ .filter(item => item.similarity >= threshold)
67
+ .sort((a, b) => {
68
+ // First sort by similarity (descending)
69
+ if (b.similarity !== a.similarity) {
70
+ return b.similarity - a.similarity;
71
+ }
72
+ // If similarity is equal, prefer shorter strings
73
+ if (a.value.length !== b.value.length) {
74
+ return a.value.length - b.value.length;
75
+ }
76
+ // If length is also equal, prefer reverse alphabetical order (apply before apple)
77
+ return b.value.localeCompare(a.value);
78
+ })
79
+ .slice(0, this.MAX_SUGGESTIONS);
80
+ return similarities;
81
+ }
82
+ /**
83
+ * Suggest field names for mapping errors
84
+ */
85
+ static suggestFieldNames(invalidField, availableFields) {
86
+ // First, try exact substring matches
87
+ const substringMatches = availableFields.filter(field => field.toLowerCase().includes(invalidField.toLowerCase()) ||
88
+ invalidField.toLowerCase().includes(field.toLowerCase()));
89
+ // If we have substring matches, prioritize them
90
+ if (substringMatches.length > 0) {
91
+ return substringMatches.slice(0, this.MAX_SUGGESTIONS);
92
+ }
93
+ // Otherwise, use similarity matching with a lower threshold for field names
94
+ const suggestions = this.findSimilar(invalidField, availableFields, 0.4);
95
+ return suggestions.map(s => s.value);
96
+ }
97
+ /**
98
+ * Suggest property paths for nested object access
99
+ */
100
+ static suggestPropertyPaths(invalidPath, availablePaths) {
101
+ // Split path into segments for better matching
102
+ const pathSegments = invalidPath.split('.');
103
+ const lastSegment = pathSegments[pathSegments.length - 1] || '';
104
+ // Calculate scores for each available path
105
+ const pathScores = availablePaths.map(path => {
106
+ const segments = path.split('.');
107
+ const lastAvailableSegment = segments[segments.length - 1] || '';
108
+ // Score based on last segment similarity
109
+ const lastSegmentSimilarity = this.calculateSimilarity(lastSegment, lastAvailableSegment);
110
+ // Score based on full path similarity
111
+ const fullPathSimilarity = this.calculateSimilarity(invalidPath, path);
112
+ // Score based on substring matches in path segments
113
+ let segmentMatchScore = 0;
114
+ pathSegments.forEach(inputSegment => {
115
+ if (segments.some(pathSegment => pathSegment.toLowerCase().includes(inputSegment.toLowerCase()) ||
116
+ inputSegment.toLowerCase().includes(pathSegment.toLowerCase()))) {
117
+ segmentMatchScore += 0.5;
118
+ }
119
+ });
120
+ // Combine scores with weights
121
+ const combinedScore = lastSegmentSimilarity * 0.4 +
122
+ fullPathSimilarity * 0.3 +
123
+ segmentMatchScore * 0.3;
124
+ return { path, score: combinedScore };
125
+ });
126
+ // Sort by combined score and return top matches
127
+ const sortedPaths = pathScores
128
+ .filter(item => item.score >= 0.3)
129
+ .sort((a, b) => b.score - a.score)
130
+ .slice(0, this.MAX_SUGGESTIONS);
131
+ if (sortedPaths.length > 0) {
132
+ return sortedPaths.map(item => item.path);
133
+ }
134
+ // Fallback to simple similarity matching
135
+ const suggestions = this.findSimilar(invalidPath, availablePaths, 0.4);
136
+ return suggestions.map(s => s.value);
137
+ }
138
+ /**
139
+ * Suggest configuration values
140
+ */
141
+ static suggestConfigValues(invalidValue, validValues) {
142
+ // First, try substring matches (both directions)
143
+ const substringMatches = validValues.filter(value => value.toLowerCase().includes(invalidValue.toLowerCase()) ||
144
+ invalidValue.toLowerCase().includes(value.toLowerCase()));
145
+ // If we have substring matches, prioritize them
146
+ if (substringMatches.length > 0) {
147
+ return substringMatches.slice(0, this.MAX_SUGGESTIONS);
148
+ }
149
+ // Otherwise, use similarity matching with lower threshold
150
+ const suggestions = this.findSimilar(invalidValue, validValues, 0.3);
151
+ return suggestions.map(s => s.value);
152
+ }
153
+ /**
154
+ * Generate helpful error message for missing fields
155
+ */
156
+ static generateMissingFieldMessage(missingField, availableFields) {
157
+ const suggestions = this.suggestFieldNames(missingField, availableFields);
158
+ let message = `Field '${missingField}' not found in source data.`;
159
+ if (suggestions.length > 0) {
160
+ message += ` Did you mean: ${suggestions
161
+ .slice(0, 3)
162
+ .map(s => `'${s}'`)
163
+ .join(', ')}?`;
164
+ }
165
+ else if (availableFields.length > 0) {
166
+ const topFields = availableFields.slice(0, 5);
167
+ message += ` Available fields: ${topFields.map(f => `'${f}'`).join(', ')}${availableFields.length > 5 ? '...' : ''}.`;
168
+ }
169
+ return message;
170
+ }
171
+ /**
172
+ * Generate helpful error message for invalid paths
173
+ */
174
+ static generateInvalidPathMessage(invalidPath, availablePaths) {
175
+ const suggestions = this.suggestPropertyPaths(invalidPath, availablePaths);
176
+ let message = `Invalid path '${invalidPath}'.`;
177
+ if (suggestions.length > 0) {
178
+ message += ` Did you mean: ${suggestions
179
+ .slice(0, 3)
180
+ .map(s => `'${s}'`)
181
+ .join(', ')}?`;
182
+ }
183
+ else if (availablePaths.length > 0) {
184
+ const topPaths = availablePaths.slice(0, 5);
185
+ message += ` Available paths: ${topPaths.map(p => `'${p}'`).join(', ')}${availablePaths.length > 5 ? '...' : ''}.`;
186
+ }
187
+ return message;
188
+ }
189
+ /**
190
+ * Generate helpful error message for invalid configuration
191
+ */
192
+ static generateInvalidConfigMessage(configKey, invalidValue, validValues) {
193
+ const suggestions = this.suggestConfigValues(invalidValue, validValues);
194
+ let message = `Invalid value '${invalidValue}' for configuration '${configKey}'.`;
195
+ if (suggestions.length > 0) {
196
+ message += ` Did you mean: ${suggestions
197
+ .slice(0, 3)
198
+ .map(s => `'${s}'`)
199
+ .join(', ')}?`;
200
+ }
201
+ if (validValues.length > 0) {
202
+ message += ` Valid values: ${validValues.map(v => `'${v}'`).join(', ')}.`;
203
+ }
204
+ return message;
205
+ }
206
+ /**
207
+ * Generate suggestions for transform function errors
208
+ */
209
+ static suggestTransformFix(error, inputValue, expectedType) {
210
+ const inputType = typeof inputValue;
211
+ let suggestion = 'Check the transform function implementation.';
212
+ if (expectedType && inputType !== expectedType) {
213
+ suggestion = `Expected ${expectedType} but got ${inputType}. `;
214
+ switch (expectedType) {
215
+ case 'string':
216
+ suggestion += 'Consider using String(value) or value.toString().';
217
+ break;
218
+ case 'number':
219
+ suggestion += 'Consider using Number(value) or parseFloat(value).';
220
+ break;
221
+ case 'boolean':
222
+ suggestion += 'Consider using Boolean(value) or !!value.';
223
+ break;
224
+ default:
225
+ suggestion += 'Add type checking in your transform function.';
226
+ }
227
+ }
228
+ else if (error.message.includes('undefined')) {
229
+ suggestion =
230
+ 'Check for undefined values before processing. Consider using optional chaining (?.) or default values.';
231
+ }
232
+ else if (error.message.includes('null')) {
233
+ suggestion =
234
+ 'Check for null values before processing. Consider using nullish coalescing (??) operator.';
235
+ }
236
+ return suggestion;
237
+ }
238
+ /**
239
+ * Generate suggestions for validation errors
240
+ */
241
+ static suggestValidationFix(fieldPath, value, validationRule) {
242
+ const valueType = typeof value;
243
+ let suggestion = `Validation failed for field '${fieldPath}'.`;
244
+ switch (validationRule.toLowerCase()) {
245
+ case 'required':
246
+ suggestion += ' This field is required and cannot be empty.';
247
+ break;
248
+ case 'email':
249
+ suggestion +=
250
+ ' Please provide a valid email address (e.g., user@example.com).';
251
+ break;
252
+ case 'url':
253
+ suggestion +=
254
+ ' Please provide a valid URL (e.g., https://example.com).';
255
+ break;
256
+ case 'number':
257
+ suggestion += ` Expected a number but got ${valueType}. Consider converting the value to a number.`;
258
+ break;
259
+ case 'string':
260
+ suggestion += ` Expected a string but got ${valueType}. Consider converting the value to a string.`;
261
+ break;
262
+ case 'boolean':
263
+ suggestion += ` Expected a boolean but got ${valueType}. Consider using true/false values.`;
264
+ break;
265
+ default:
266
+ suggestion += ` Check the validation rule: ${validationRule}.`;
267
+ }
268
+ return suggestion;
269
+ }
270
+ /**
271
+ * Extract all possible paths from an object for suggestions
272
+ */
273
+ static extractPaths(obj, prefix = '') {
274
+ const paths = [];
275
+ if (obj === null || typeof obj !== 'object') {
276
+ return paths;
277
+ }
278
+ if (Array.isArray(obj)) {
279
+ obj.forEach((item, index) => {
280
+ const arrayPath = prefix ? `${prefix}[${index}]` : `[${index}]`;
281
+ paths.push(arrayPath);
282
+ paths.push(...this.extractPaths(item, arrayPath));
283
+ });
284
+ }
285
+ else {
286
+ Object.keys(obj).forEach(key => {
287
+ const currentPath = prefix ? `${prefix}.${key}` : key;
288
+ paths.push(currentPath);
289
+ paths.push(...this.extractPaths(obj[key], currentPath));
290
+ });
291
+ }
292
+ return paths;
293
+ }
294
+ /**
295
+ * Extract field names from an object (top-level and nested)
296
+ */
297
+ static extractFieldNames(obj, includeNested = true) {
298
+ const fields = new Set();
299
+ const traverse = (current, path = '') => {
300
+ if (current === null || typeof current !== 'object') {
301
+ return;
302
+ }
303
+ if (Array.isArray(current)) {
304
+ current.forEach((item, index) => {
305
+ if (includeNested) {
306
+ traverse(item, path ? `${path}[${index}]` : `[${index}]`);
307
+ }
308
+ });
309
+ }
310
+ else {
311
+ Object.keys(current).forEach(key => {
312
+ const currentPath = path ? `${path}.${key}` : key;
313
+ fields.add(key); // Add the key itself
314
+ if (includeNested) {
315
+ fields.add(currentPath); // Add the full path
316
+ traverse(current[key], currentPath);
317
+ }
318
+ });
319
+ }
320
+ };
321
+ traverse(obj);
322
+ return Array.from(fields);
323
+ }
324
+ }
325
+ exports.SuggestionEngine = SuggestionEngine;
326
+ SuggestionEngine.SIMILARITY_THRESHOLD = 0.6;
327
+ SuggestionEngine.MAX_SUGGESTIONS = 5;
328
+ //# sourceMappingURL=SuggestionEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionEngine.js","sourceRoot":"","sources":["../../src/errors/SuggestionEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Error handling and reporting system for ConfigForge
3
+ */
4
+ export * from './ErrorTypes';
5
+ export * from './SpecificErrors';
6
+ export * from './ErrorCollector';
7
+ export * from './ErrorReporter';
8
+ export * from './ErrorRecovery';
9
+ export * from './ErrorContext';
10
+ export * from './SuggestionEngine';
11
+ export { ConfigForgeError, ParseError, MappingError, ValidationError, TransformError, GenericConfigForgeError, } from '../types';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,uBAAuB,GACxB,MAAM,UAAU,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * Error handling and reporting system for ConfigForge
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.GenericConfigForgeError = exports.TransformError = exports.ValidationError = exports.MappingError = exports.ParseError = exports.ConfigForgeError = void 0;
21
+ // Export error types
22
+ __exportStar(require("./ErrorTypes"), exports);
23
+ __exportStar(require("./SpecificErrors"), exports);
24
+ // Export error management
25
+ __exportStar(require("./ErrorCollector"), exports);
26
+ __exportStar(require("./ErrorReporter"), exports);
27
+ __exportStar(require("./ErrorRecovery"), exports);
28
+ // Export error context and utilities
29
+ __exportStar(require("./ErrorContext"), exports);
30
+ __exportStar(require("./SuggestionEngine"), exports);
31
+ // Re-export base error types from main types
32
+ var types_1 = require("../types");
33
+ Object.defineProperty(exports, "ConfigForgeError", { enumerable: true, get: function () { return types_1.ConfigForgeError; } });
34
+ Object.defineProperty(exports, "ParseError", { enumerable: true, get: function () { return types_1.ParseError; } });
35
+ Object.defineProperty(exports, "MappingError", { enumerable: true, get: function () { return types_1.MappingError; } });
36
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return types_1.ValidationError; } });
37
+ Object.defineProperty(exports, "TransformError", { enumerable: true, get: function () { return types_1.TransformError; } });
38
+ Object.defineProperty(exports, "GenericConfigForgeError", { enumerable: true, get: function () { return types_1.GenericConfigForgeError; } });
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAEH,qBAAqB;AACrB,+CAA6B;AAC7B,mDAAiC;AAEjC,0BAA0B;AAC1B,mDAAiC;AACjC,kDAAgC;AAChC,kDAAgC;AAEhC,qCAAqC;AACrC,iDAA+B;AAC/B,qDAAmC;AAEnC,6CAA6C;AAC7C,kCAOkB;AANhB,yGAAA,gBAAgB,OAAA;AAChB,mGAAA,UAAU,OAAA;AACV,qGAAA,YAAY,OAAA;AACZ,wGAAA,eAAe,OAAA;AACf,uGAAA,cAAc,OAAA;AACd,gHAAA,uBAAuB,OAAA"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,10 @@ export { forge } from './core/Forge';
2
2
  export { Converter } from './core/Converter';
3
3
  export { Mapper } from './core/Mapper';
4
4
  export * as transforms from './transformers/built-in';
5
+ export * as validators from './validators/built-in';
6
+ export { ValidatorRegistry, validatorRegistry, } from './validators/ValidatorRegistry';
5
7
  export * from './types';
8
+ export * from './errors';
9
+ export { CLIGenerator, CLIUtils, CommandBuilder, createCLI, createCommand, quickCLI, } from './scripts';
6
10
  export { parsePath, setPath, mergePaths, detectFormat } from './utils';
7
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AAEtD,cAAc,SAAS,CAAC;AAMxB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,gCAAgC,CAAC;AACxC,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,SAAS,EACT,aAAa,EACb,QAAQ,GACT,MAAM,WAAW,CAAC;AAMnB,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.detectFormat = exports.mergePaths = exports.setPath = exports.parsePath = exports.transforms = exports.Mapper = exports.Converter = exports.forge = void 0;
39
+ exports.detectFormat = exports.mergePaths = exports.setPath = exports.parsePath = exports.quickCLI = exports.createCommand = exports.createCLI = exports.CommandBuilder = exports.CLIUtils = exports.CLIGenerator = exports.validatorRegistry = exports.ValidatorRegistry = exports.validators = exports.transforms = exports.Mapper = exports.Converter = exports.forge = void 0;
40
40
  // Main exports
41
41
  var Forge_1 = require("./core/Forge");
42
42
  Object.defineProperty(exports, "forge", { enumerable: true, get: function () { return Forge_1.forge; } });
@@ -45,8 +45,21 @@ Object.defineProperty(exports, "Converter", { enumerable: true, get: function ()
45
45
  var Mapper_1 = require("./core/Mapper");
46
46
  Object.defineProperty(exports, "Mapper", { enumerable: true, get: function () { return Mapper_1.Mapper; } });
47
47
  exports.transforms = __importStar(require("./transformers/built-in"));
48
- // export * as validators from './validators/built-in'; // TODO: Implement validators module
48
+ exports.validators = __importStar(require("./validators/built-in"));
49
+ var ValidatorRegistry_1 = require("./validators/ValidatorRegistry");
50
+ Object.defineProperty(exports, "ValidatorRegistry", { enumerable: true, get: function () { return ValidatorRegistry_1.ValidatorRegistry; } });
51
+ Object.defineProperty(exports, "validatorRegistry", { enumerable: true, get: function () { return ValidatorRegistry_1.validatorRegistry; } });
49
52
  __exportStar(require("./types"), exports);
53
+ // Error handling exports
54
+ __exportStar(require("./errors"), exports);
55
+ // CLI exports
56
+ var scripts_1 = require("./scripts");
57
+ Object.defineProperty(exports, "CLIGenerator", { enumerable: true, get: function () { return scripts_1.CLIGenerator; } });
58
+ Object.defineProperty(exports, "CLIUtils", { enumerable: true, get: function () { return scripts_1.CLIUtils; } });
59
+ Object.defineProperty(exports, "CommandBuilder", { enumerable: true, get: function () { return scripts_1.CommandBuilder; } });
60
+ Object.defineProperty(exports, "createCLI", { enumerable: true, get: function () { return scripts_1.createCLI; } });
61
+ Object.defineProperty(exports, "createCommand", { enumerable: true, get: function () { return scripts_1.createCommand; } });
62
+ Object.defineProperty(exports, "quickCLI", { enumerable: true, get: function () { return scripts_1.quickCLI; } });
50
63
  // Plugin exports
51
64
  // export { Plugin, PluginContext } from './plugins/Plugin'; // TODO: Implement plugin system
52
65
  // Utility exports
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,8CAA6C;AAApC,sGAAA,SAAS,OAAA;AAClB,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,sEAAsD;AACtD,4FAA4F;AAC5F,0CAAwB;AAExB,iBAAiB;AACjB,6FAA6F;AAE7F,kBAAkB;AAClB,iCAAuE;AAA9D,kGAAA,SAAS,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,qGAAA,YAAY,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,eAAe;AACf,sCAAqC;AAA5B,8FAAA,KAAK,OAAA;AACd,8CAA6C;AAApC,sGAAA,SAAS,OAAA;AAClB,wCAAuC;AAA9B,gGAAA,MAAM,OAAA;AACf,sEAAsD;AACtD,oEAAoD;AACpD,oEAGwC;AAFtC,sHAAA,iBAAiB,OAAA;AACjB,sHAAA,iBAAiB,OAAA;AAEnB,0CAAwB;AAExB,yBAAyB;AACzB,2CAAyB;AAEzB,cAAc;AACd,qCAOmB;AANjB,uGAAA,YAAY,OAAA;AACZ,mGAAA,QAAQ,OAAA;AACR,yGAAA,cAAc,OAAA;AACd,oGAAA,SAAS,OAAA;AACT,wGAAA,aAAa,OAAA;AACb,mGAAA,QAAQ,OAAA;AAGV,iBAAiB;AACjB,6FAA6F;AAE7F,kBAAkB;AAClB,iCAAuE;AAA9D,kGAAA,SAAS,OAAA;AAAE,gGAAA,OAAO,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,qGAAA,YAAY,OAAA"}
@@ -0,0 +1,109 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * CLI command configuration
4
+ */
5
+ export interface CLICommand {
6
+ name: string;
7
+ description: string;
8
+ options?: CLIOption[];
9
+ action: (args: any, options: any) => Promise<void> | void;
10
+ }
11
+ /**
12
+ * CLI option configuration
13
+ */
14
+ export interface CLIOption {
15
+ flags: string;
16
+ description: string;
17
+ defaultValue?: any;
18
+ }
19
+ /**
20
+ * CLI generation options
21
+ */
22
+ export interface CLIGeneratorOptions {
23
+ name?: string;
24
+ version?: string;
25
+ description?: string;
26
+ commands?: CLICommand[];
27
+ globalOptions?: CLIOption[];
28
+ }
29
+ /**
30
+ * Profile configuration for saving converter setups
31
+ */
32
+ export interface ConverterProfile {
33
+ name: string;
34
+ description?: string;
35
+ converter: any;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ }
39
+ /**
40
+ * CLI Generator for creating command-line interfaces for ConfigForge converters
41
+ */
42
+ export declare class CLIGenerator {
43
+ private program;
44
+ private options;
45
+ private profiles;
46
+ private profilesPath;
47
+ constructor(options?: CLIGeneratorOptions);
48
+ /**
49
+ * Set up the main program configuration
50
+ */
51
+ private setupProgram;
52
+ /**
53
+ * Add built-in commands for common operations
54
+ */
55
+ private addBuiltInCommands;
56
+ /**
57
+ * Add a custom command to the CLI
58
+ */
59
+ addCommand(command: CLICommand): void;
60
+ /**
61
+ * Handle the convert command
62
+ */
63
+ private handleConvertCommand;
64
+ /**
65
+ * Handle the validate command
66
+ */
67
+ private handleValidateCommand;
68
+ /**
69
+ * Handle profile list command
70
+ */
71
+ private handleProfileListCommand;
72
+ /**
73
+ * Handle profile save command
74
+ */
75
+ private handleProfileSaveCommand;
76
+ /**
77
+ * Handle profile delete command
78
+ */
79
+ private handleProfileDeleteCommand;
80
+ /**
81
+ * Handle profile show command
82
+ */
83
+ private handleProfileShowCommand;
84
+ /**
85
+ * Load profiles from disk
86
+ */
87
+ private loadProfiles;
88
+ /**
89
+ * Save profiles to disk
90
+ */
91
+ private saveProfiles;
92
+ /**
93
+ * Deserialize a converter from configuration
94
+ */
95
+ private deserializeConverter;
96
+ /**
97
+ * Parse command line arguments and execute
98
+ */
99
+ parse(argv?: string[]): Promise<void>;
100
+ /**
101
+ * Get the commander program instance
102
+ */
103
+ getProgram(): Command;
104
+ /**
105
+ * Create a CLI for a specific converter
106
+ */
107
+ static forConverter(_converter: any, options?: Partial<CLIGeneratorOptions>): CLIGenerator;
108
+ }
109
+ //# sourceMappingURL=CLIGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CLIGenerator.d.ts","sourceRoot":"","sources":["../../src/scripts/CLIGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,MAAM,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,GAAG,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,QAAQ,CAA4C;IAC5D,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,GAAE,mBAAwB;IAgB7C;;OAEG;IACH,OAAO,CAAC,YAAY;IAwBpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyE1B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAuBrC;;OAEG;YACW,oBAAoB;IAmGlC;;OAEG;YACW,qBAAqB;IAiFnC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;OAEG;YACW,wBAAwB;IAuCtC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAWlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;OAEG;IACH,OAAO,CAAC,YAAY;IAYpB;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,MAAM,CAAC,YAAY,CACjB,UAAU,EAAE,GAAG,EACf,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACzC,YAAY;CA2BhB"}