configforge 1.0.0-beta.10 → 1.0.0-beta.12

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 (58) hide show
  1. package/README.md +143 -2
  2. package/dist/core/Converter.d.ts +27 -0
  3. package/dist/core/Converter.d.ts.map +1 -1
  4. package/dist/core/Converter.js +91 -21
  5. package/dist/core/Converter.js.map +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +9 -1
  9. package/dist/index.js.map +1 -1
  10. package/dist/plugins/Plugin.d.ts +95 -0
  11. package/dist/plugins/Plugin.d.ts.map +1 -0
  12. package/dist/plugins/Plugin.js +3 -0
  13. package/dist/plugins/Plugin.js.map +1 -0
  14. package/dist/plugins/PluginManager.d.ts +73 -0
  15. package/dist/plugins/PluginManager.d.ts.map +1 -0
  16. package/dist/plugins/PluginManager.js +220 -0
  17. package/dist/plugins/PluginManager.js.map +1 -0
  18. package/dist/plugins/PluginRegistry.d.ts +122 -0
  19. package/dist/plugins/PluginRegistry.d.ts.map +1 -0
  20. package/dist/plugins/PluginRegistry.js +385 -0
  21. package/dist/plugins/PluginRegistry.js.map +1 -0
  22. package/dist/plugins/built-in/AuditPlugin.d.ts +81 -0
  23. package/dist/plugins/built-in/AuditPlugin.d.ts.map +1 -0
  24. package/dist/plugins/built-in/AuditPlugin.js +235 -0
  25. package/dist/plugins/built-in/AuditPlugin.js.map +1 -0
  26. package/dist/plugins/built-in/BackupPlugin.d.ts +38 -0
  27. package/dist/plugins/built-in/BackupPlugin.d.ts.map +1 -0
  28. package/dist/plugins/built-in/BackupPlugin.js +105 -0
  29. package/dist/plugins/built-in/BackupPlugin.js.map +1 -0
  30. package/dist/plugins/built-in/ValidationPlugin.d.ts +61 -0
  31. package/dist/plugins/built-in/ValidationPlugin.d.ts.map +1 -0
  32. package/dist/plugins/built-in/ValidationPlugin.js +235 -0
  33. package/dist/plugins/built-in/ValidationPlugin.js.map +1 -0
  34. package/dist/plugins/built-in/index.d.ts +7 -0
  35. package/dist/plugins/built-in/index.d.ts.map +1 -0
  36. package/dist/plugins/built-in/index.js +14 -0
  37. package/dist/plugins/built-in/index.js.map +1 -0
  38. package/dist/plugins/index.d.ts +5 -0
  39. package/dist/plugins/index.d.ts.map +1 -0
  40. package/dist/plugins/index.js +25 -0
  41. package/dist/plugins/index.js.map +1 -0
  42. package/dist/scripts/CLIGenerator.d.ts +109 -0
  43. package/dist/scripts/CLIGenerator.d.ts.map +1 -0
  44. package/dist/scripts/CLIGenerator.js +440 -0
  45. package/dist/scripts/CLIGenerator.js.map +1 -0
  46. package/dist/scripts/CLIUtils.d.ts +136 -0
  47. package/dist/scripts/CLIUtils.d.ts.map +1 -0
  48. package/dist/scripts/CLIUtils.js +361 -0
  49. package/dist/scripts/CLIUtils.js.map +1 -0
  50. package/dist/scripts/CommandBuilder.d.ts +72 -0
  51. package/dist/scripts/CommandBuilder.d.ts.map +1 -0
  52. package/dist/scripts/CommandBuilder.js +280 -0
  53. package/dist/scripts/CommandBuilder.js.map +1 -0
  54. package/dist/scripts/index.d.ts +23 -0
  55. package/dist/scripts/index.d.ts.map +1 -0
  56. package/dist/scripts/index.js +43 -0
  57. package/dist/scripts/index.js.map +1 -0
  58. package/package.json +1 -1
package/README.md CHANGED
@@ -781,6 +781,138 @@ const result = await converter.convert('./config.yml');
781
781
  await result.save('./config.json');
782
782
  ```
783
783
 
784
+ ### Example 9: Plugin System with Built-in Plugins
785
+
786
+ ```javascript
787
+ const {
788
+ forge,
789
+ createValidationPlugin,
790
+ createAuditPlugin,
791
+ createBackupPlugin,
792
+ } = require('configforge');
793
+
794
+ // Create converter with plugin support
795
+ const converter = forge()
796
+ .from('userForm')
797
+ .to('userProfile')
798
+ .map('personalInfo.firstName', 'firstName')
799
+ .map('personalInfo.lastName', 'lastName')
800
+ .map('personalInfo.email', 'email')
801
+ .map('accountInfo.username', 'username')
802
+ .merge(
803
+ ['personalInfo.firstName', 'personalInfo.lastName'],
804
+ 'fullName',
805
+ (first, last) => `${first} ${last}`
806
+ );
807
+
808
+ // Add built-in plugins
809
+ const validationPlugin = createValidationPlugin({
810
+ strictMode: true,
811
+ failOnWarnings: false,
812
+ });
813
+
814
+ const auditPlugin = createAuditPlugin({
815
+ logFile: './conversion-audit.log',
816
+ logLevel: 'detailed',
817
+ includeData: false,
818
+ });
819
+
820
+ const backupPlugin = createBackupPlugin({
821
+ backupDir: './backups',
822
+ keepVersions: 5,
823
+ timestampFormat: 'YYYY-MM-DD_HH-mm-ss',
824
+ });
825
+
826
+ // Install plugins
827
+ await converter.use(validationPlugin);
828
+ await converter.use(auditPlugin);
829
+ await converter.use(backupPlugin);
830
+
831
+ // Convert with plugin enhancements
832
+ const userData = {
833
+ personalInfo: {
834
+ firstName: 'John',
835
+ lastName: 'Doe',
836
+ email: 'john.doe@example.com',
837
+ },
838
+ accountInfo: {
839
+ username: 'johndoe123',
840
+ },
841
+ };
842
+
843
+ const result = await converter.convert(userData);
844
+
845
+ // Plugins automatically:
846
+ // - Validate data quality (ValidationPlugin)
847
+ // - Log conversion activities (AuditPlugin)
848
+ // - Create backups of source data (BackupPlugin)
849
+ // - Handle errors gracefully with detailed reporting
850
+
851
+ console.log(result.data);
852
+ // {
853
+ // firstName: 'John',
854
+ // lastName: 'Doe',
855
+ // email: 'john.doe@example.com',
856
+ // username: 'johndoe123',
857
+ // fullName: 'John Doe'
858
+ // }
859
+
860
+ // Check plugin results
861
+ console.log('Validation results:', result.context?.validationResults);
862
+ console.log('Backup created:', result.context?.backupPath);
863
+ ```
864
+
865
+ ### Example 10: CLI Generation System
866
+
867
+ ```javascript
868
+ const { forge, CLIGenerator } = require('configforge');
869
+
870
+ // Create your converter
871
+ const converter = forge()
872
+ .from('legacy')
873
+ .to('modern')
874
+ .map('app_name', 'name')
875
+ .map('app_version', 'version')
876
+ .map('database.host', 'db.hostname')
877
+ .map('database.port', 'db.port')
878
+ .defaults({
879
+ environment: 'production',
880
+ });
881
+
882
+ // Generate CLI for your converter
883
+ const cli = CLIGenerator.forConverter(converter, {
884
+ name: 'config-converter',
885
+ version: '1.0.0',
886
+ description: 'Convert legacy config to modern format',
887
+ });
888
+
889
+ // Add custom commands
890
+ cli.addCommand({
891
+ name: 'migrate',
892
+ description: 'Migrate all configs in a directory',
893
+ options: [
894
+ {
895
+ flags: '-d, --directory <dir>',
896
+ description: 'Directory containing config files',
897
+ },
898
+ ],
899
+ action: async options => {
900
+ // Custom migration logic
901
+ console.log(`Migrating configs in ${options.directory}`);
902
+ },
903
+ });
904
+
905
+ // Parse command line arguments
906
+ cli.parse();
907
+
908
+ // Now you can use your CLI:
909
+ // $ config-converter convert input.yml output.json
910
+ // $ config-converter validate config.yml
911
+ // $ config-converter profile save my-config
912
+ // $ config-converter profile list
913
+ // $ config-converter migrate -d ./configs
914
+ ```
915
+
784
916
  ## 🎯 Key Features
785
917
 
786
918
  - ✅ **Simple API**: Just map fields and convert
@@ -793,6 +925,8 @@ await result.save('./config.json');
793
925
  - ✅ **Multi-field merging**: Use `merge()` to combine multiple sources into one target
794
926
  - ✅ **Default values**: Set fallback values
795
927
  - ✅ **Comprehensive Error Handling**: Advanced error reporting with context and suggestions ⭐ NEW!
928
+ - ✅ **CLI Generation System**: Create command-line interfaces for converters ⭐ NEW!
929
+ - ✅ **Plugin System**: Extensible architecture with built-in plugins for validation, auditing, and backups ⭐ NEW!
796
930
  - ✅ **File support**: Convert YAML, JSON files directly
797
931
  - ✅ **Statistics**: Get detailed conversion reports
798
932
  - ✅ **TypeScript**: Full type safety
@@ -811,14 +945,15 @@ await result.save('./config.json');
811
945
  - **Field validation with `validate()`**
812
946
  - **Lifecycle hooks with `before()` and `after()`** ⭐ NEW!
813
947
  - **Advanced error handling and reporting system** ⭐ NEW!
948
+ - **CLI generation system with command-line interfaces** ⭐ ENHANCED!
949
+ - **Plugin system foundation with built-in plugins** ⭐ NEW!
814
950
  - File parsing (YAML, JSON)
815
951
  - Conversion statistics and reporting
816
952
  - Async and sync conversion support
817
953
 
818
954
  **🚧 Coming Soon:**
819
955
 
820
- - CLI generation
821
- - Plugin system
956
+ - Advanced plugin ecosystem
822
957
 
823
958
  ## 💡 Tips
824
959
 
@@ -843,6 +978,12 @@ await result.save('./config.json');
843
978
  19. **Error handling provides helpful suggestions** - when field mapping fails, you'll get suggestions for similar field names
844
979
  20. **Errors include rich context** - see exactly where and why conversions failed with detailed error information
845
980
  21. **Use error categories** to filter and handle different types of errors (validation, mapping, parsing, etc.)
981
+ 22. **Create CLIs for converters** - use `CLIGenerator.forConverter(converter)` to generate command-line interfaces
982
+ 23. **Use CLI profiles** - save converter configurations as profiles for reuse: `cli profile save my-converter`
983
+ 24. **CLI supports batch processing** - convert multiple files at once with pattern matching and parallel processing
984
+ 25. **Use built-in plugins** - leverage ValidationPlugin, AuditPlugin, and BackupPlugin for enhanced functionality
985
+ 26. **Plugin hooks execute in order** - plugins can intercept and modify data at different conversion stages
986
+ 27. **Error hooks provide recovery** - plugins can handle errors gracefully and provide fallback behavior
846
987
 
847
988
  ---
848
989
 
@@ -1,4 +1,6 @@
1
1
  import { Schema, ParseOptions, Mapping, TransformFn, ValidatorFn, HookFn, ConversionResult, ForgeOptions, ConditionFn, MergeFn, ForEachFn } from '../types';
2
+ import { PluginManager } from '../plugins/PluginManager';
3
+ import { Plugin, PluginInstallResult } from '../plugins/Plugin';
2
4
  /**
3
5
  * Main Converter class that implements the fluent API
4
6
  */
@@ -11,6 +13,7 @@ export declare class Converter<TSource = any, TTarget = any> {
11
13
  private hooks;
12
14
  private options;
13
15
  private sourceData?;
16
+ private pluginManager;
14
17
  constructor(options?: ForgeOptions);
15
18
  /**
16
19
  * Define the source schema
@@ -40,6 +43,30 @@ export declare class Converter<TSource = any, TTarget = any> {
40
43
  * Add an after hook
41
44
  */
42
45
  after(fn: HookFn): this;
46
+ /**
47
+ * Install and use a plugin
48
+ */
49
+ use(plugin: Plugin | string): Promise<PluginInstallResult>;
50
+ /**
51
+ * Uninstall a plugin
52
+ */
53
+ unuse(pluginName: string): Promise<boolean>;
54
+ /**
55
+ * Get installed plugins
56
+ */
57
+ getInstalledPlugins(): import("../plugins/Plugin").PluginStatus[];
58
+ /**
59
+ * Get registered plugins
60
+ */
61
+ getRegisteredPlugins(): Plugin[];
62
+ /**
63
+ * Check if a plugin is installed
64
+ */
65
+ isPluginInstalled(name: string): boolean;
66
+ /**
67
+ * Get the plugin manager (for advanced usage)
68
+ */
69
+ getPluginManager(): PluginManager;
43
70
  /**
44
71
  * Conditional mapping - creates a conditional mapping context
45
72
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ const ConversionResult_1 = require("./ConversionResult");
8
8
  const parsers_1 = require("../parsers");
9
9
  const fs_1 = require("fs");
10
10
  const PipelineBuilder_1 = require("./pipeline/PipelineBuilder");
11
+ const PluginManager_1 = require("../plugins/PluginManager");
11
12
  /**
12
13
  * Main Converter class that implements the fluent API
13
14
  */
@@ -29,6 +30,11 @@ class Converter {
29
30
  incremental: false,
30
31
  ...options,
31
32
  };
33
+ // Initialize plugin manager
34
+ this.pluginManager = new PluginManager_1.PluginManager(this, {
35
+ strict: this.options.strict || false,
36
+ autoResolve: true,
37
+ });
32
38
  }
33
39
  /**
34
40
  * Define the source schema
@@ -104,6 +110,42 @@ class Converter {
104
110
  this.hooks.after.push(fn);
105
111
  return this;
106
112
  }
113
+ /**
114
+ * Install and use a plugin
115
+ */
116
+ async use(plugin) {
117
+ return this.pluginManager.use(plugin);
118
+ }
119
+ /**
120
+ * Uninstall a plugin
121
+ */
122
+ async unuse(pluginName) {
123
+ return this.pluginManager.unuse(pluginName);
124
+ }
125
+ /**
126
+ * Get installed plugins
127
+ */
128
+ getInstalledPlugins() {
129
+ return this.pluginManager.getInstalled();
130
+ }
131
+ /**
132
+ * Get registered plugins
133
+ */
134
+ getRegisteredPlugins() {
135
+ return this.pluginManager.getRegistered();
136
+ }
137
+ /**
138
+ * Check if a plugin is installed
139
+ */
140
+ isPluginInstalled(name) {
141
+ return this.pluginManager.isInstalled(name);
142
+ }
143
+ /**
144
+ * Get the plugin manager (for advanced usage)
145
+ */
146
+ getPluginManager() {
147
+ return this.pluginManager;
148
+ }
107
149
  /**
108
150
  * Conditional mapping - creates a conditional mapping context
109
151
  */
@@ -230,27 +272,55 @@ class Converter {
230
272
  async executeConversion(sourceData, startTime) {
231
273
  // Store source data for validation context
232
274
  this.sourceData = sourceData;
233
- // Convert validators Map to array format expected by Pipeline
234
- const validatorArray = Array.from(this.validators.entries()).map(([path, validator]) => ({
235
- path,
236
- validator,
237
- }));
238
- // Build the conversion pipeline
239
- const pipelineBuilder = new PipelineBuilder_1.PipelineBuilder(this.options);
240
- const pipeline = pipelineBuilder.buildStandardPipeline({
241
- mappings: this.mappings,
242
- validators: validatorArray,
243
- defaults: this.defaultValues,
244
- beforeHooks: this.hooks.before,
245
- afterHooks: this.hooks.after,
246
- });
247
- // Execute the pipeline
248
- const result = await pipeline.execute(sourceData, {
249
- converter: this,
250
- options: this.options,
251
- metadata: { startTime },
252
- });
253
- return result;
275
+ try {
276
+ // Execute beforeParse plugin hooks
277
+ let processedContent = sourceData;
278
+ if (typeof sourceData === 'string') {
279
+ processedContent = await this.pluginManager.executeHooks('beforeParse', sourceData, 'unknown');
280
+ }
281
+ // Execute afterParse plugin hooks
282
+ processedContent = await this.pluginManager.executeHooks('afterParse', processedContent);
283
+ // Execute beforeMap plugin hooks
284
+ processedContent = await this.pluginManager.executeHooks('beforeMap', processedContent);
285
+ // Convert validators Map to array format expected by Pipeline
286
+ const validatorArray = Array.from(this.validators.entries()).map(([path, validator]) => ({
287
+ path,
288
+ validator,
289
+ }));
290
+ // Build the conversion pipeline
291
+ const pipelineBuilder = new PipelineBuilder_1.PipelineBuilder(this.options);
292
+ const pipeline = pipelineBuilder.buildStandardPipeline({
293
+ mappings: this.mappings,
294
+ validators: validatorArray,
295
+ defaults: this.defaultValues,
296
+ beforeHooks: this.hooks.before,
297
+ afterHooks: this.hooks.after,
298
+ });
299
+ // Execute the pipeline
300
+ const result = await pipeline.execute(processedContent, {
301
+ converter: this,
302
+ options: this.options,
303
+ metadata: { startTime },
304
+ });
305
+ // Execute afterMap plugin hooks
306
+ const mappedData = await this.pluginManager.executeHooks('afterMap', result.data);
307
+ // Execute beforeValidate plugin hooks
308
+ const preValidationData = await this.pluginManager.executeHooks('beforeValidate', mappedData);
309
+ // Execute afterValidate plugin hooks
310
+ await this.pluginManager.executeHooks('afterValidate', preValidationData, result.errors);
311
+ // Execute beforeSerialize plugin hooks
312
+ const preSerializeData = await this.pluginManager.executeHooks('beforeSerialize', preValidationData, 'json');
313
+ // Execute afterSerialize plugin hooks
314
+ const serializedContent = JSON.stringify(preSerializeData);
315
+ await this.pluginManager.executeHooks('afterSerialize', serializedContent, 'json');
316
+ // Update result with processed data
317
+ return new ConversionResult_1.ConversionResultImpl(preSerializeData, result.warnings, result.unmapped, result.errors, result.stats);
318
+ }
319
+ catch (error) {
320
+ // Execute error hooks
321
+ await this.pluginManager.executeHooks('onError', error);
322
+ throw error;
323
+ }
254
324
  }
255
325
  /**
256
326
  * Execute the core conversion logic synchronously (no async hooks)
@@ -1 +1 @@
1
- {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../src/core/Converter.ts"],"names":[],"mappings":";;;AAAA,oCAiBkB;AAClB,+BAAoC;AACpC,qCAAkC;AAClC,yDAA0D;AAC1D,wCAA4C;AAC5C,2BAAoC;AACpC,gEAA6D;AAC7D,4DAAyD;AAGzD;;GAEG;AACH,MAAa,SAAS;IAcpB,YAAY,UAAwB,EAAE;QAX9B,aAAQ,GAAc,EAAE,CAAC;QACzB,kBAAa,GAAwB,EAAE,CAAC;QACxC,eAAU,GAA6B,IAAI,GAAG,EAAE,CAAC;QACjD,UAAK,GAA0C;YACrD,MAAM,EAAE,EAAE;YACV,KAAK,EAAE,EAAE;SACV,CAAC;QAMA,IAAI,CAAC,OAAO,GAAG;YACb,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,KAAK;YAClB,GAAG,OAAO;SACX,CAAC;QAEF,4BAA4B;QAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,CAAC,IAAI,EAAE;YAC3C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK;YACpC,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,MAAuB,EAAE,OAAsB;QAClD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG;gBAClB,IAAI,EAAE,MAAM;gBACZ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aAC3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,EAAE,CAAC,MAAuB,EAAE,OAAsB;QAChD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG;gBAClB,IAAI,EAAE,MAAM;gBACZ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChE,GAAG,CAAC,OAAO,EAAE,IAAI,KAAK,SAAS,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;aAC3D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,GAAG,CACD,MAA8B,EAC9B,MAA8B,EAC9B,SAAuB;QAEvB,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM;YACN,MAAM;YACN,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,IAAI,EAAE,QAAQ;SACf,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,MAA2B;QAClC,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa,EAAE,SAAsB;QAC5C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU;QACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAU;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,MAAuB;QAC/B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,UAAkB;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,IAAY;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAA+B;QAClC,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,MAAc,EAAE,KAAgB;QACtC,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM;YACN,MAAM,EAAE,MAAM,EAAE,2CAA2C;YAC3D,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,SAAS,EAAE,KAAK;aACjB;SACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CACH,OAAiB,EACjB,MAAc,EACd,OAAgB,EAChB,SAAuB;QAEvB,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,6DAA6D;YACxF,MAAM;YACN,IAAI,EAAE,OAAO;YACb,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,QAAQ,EAAE;gBACR,OAAO;gBACP,OAAO;aACR;SACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAkC;QAC9C,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,UAAe,CAAC;YAEpB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,mBAAmB;gBACnB,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;iBAAM,IACL,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACpB,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAC7C,CAAC;gBACD,wGAAwG;gBACxG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBAC7C,CAAC;gBACD,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,sBAAsB;gBACtB,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;YAED,yBAAyB;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACnE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC/C,MAAM,KAAK,GAAoB;gBAC7B,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,kBAAkB,EAAE,CAAC;gBACrB,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,CAAC;gBACnB,QAAQ;aACT,CAAC;YAEF,OAAO,IAAI,uCAAoB,CAC7B,EAAE,EACF,EAAE,EACF,EAAE,EACF;gBACE,KAAK,YAAY,wBAAgB;oBAC/B,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,+BAAuB,CACzB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD;aACN,EACD,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAc;QACxB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAC/C,MAAM,KAAK,GAAoB;gBAC7B,eAAe,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,CAAC;gBACjB,kBAAkB,EAAE,CAAC;gBACrB,iBAAiB,EAAE,CAAC;gBACpB,gBAAgB,EAAE,CAAC;gBACnB,QAAQ;aACT,CAAC;YAEF,OAAO,IAAI,uCAAoB,CAC7B,EAAE,EACF,EAAE,EACF,EAAE,EACF;gBACE,KAAK,YAAY,wBAAgB;oBAC/B,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,IAAI,+BAAuB,CACzB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CACzD;aACN,EACD,KAAK,CACN,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,QAAgB;QACzC,MAAM,OAAO,GAAG,MAAM,aAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,wBAAc,CAAC,aAAa,CACzC,QAAQ,EACR,OAAO,EACP,IAAI,CAAC,YAAY,EAAE,MAAM,CAC1B,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAC7B,UAAe,EACf,SAAiB;QAEjB,2CAA2C;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,IAAI,CAAC;YACH,mCAAmC;YACnC,IAAI,gBAAgB,GAAG,UAAU,CAAC;YAClC,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACnC,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACtD,aAAa,EACb,UAAU,EACV,SAAS,CACV,CAAC;YACJ,CAAC;YAED,kCAAkC;YAClC,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACtD,YAAY,EACZ,gBAAgB,CACjB,CAAC;YAEF,iCAAiC;YACjC,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACtD,WAAW,EACX,gBAAgB,CACjB,CAAC;YAEF,8DAA8D;YAC9D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAC9D,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtB,IAAI;gBACJ,SAAS;aACV,CAAC,CACH,CAAC;YAEF,gCAAgC;YAChC,MAAM,eAAe,GAAG,IAAI,iCAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,qBAAqB,CAAC;gBACrD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,cAAc;gBAC1B,QAAQ,EAAE,IAAI,CAAC,aAAa;gBAC5B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;gBAC9B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;aAC7B,CAAC,CAAC;YAEH,uBAAuB;YACvB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE;gBACtD,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,QAAQ,EAAE,EAAE,SAAS,EAAE;aACxB,CAAC,CAAC;YAEH,gCAAgC;YAChC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACtD,UAAU,EACV,MAAM,CAAC,IAAI,CACZ,CAAC;YAEF,sCAAsC;YACtC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAC7D,gBAAgB,EAChB,UAAU,CACX,CAAC;YAEF,qCAAqC;YACrC,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACnC,eAAe,EACf,iBAAiB,EACjB,MAAM,CAAC,MAAM,CACd,CAAC;YAEF,uCAAuC;YACvC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAC5D,iBAAiB,EACjB,iBAAiB,EACjB,MAAM,CACP,CAAC;YAEF,sCAAsC;YACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC3D,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CACnC,gBAAgB,EAChB,iBAAiB,EACjB,MAAM,CACP,CAAC;YAEF,oCAAoC;YACpC,OAAO,IAAI,uCAAoB,CAC7B,gBAAgB,EAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,KAAK,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,sBAAsB;YACtB,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,UAAe,EACf,SAAiB;QAEjB,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAuB,EAAE,CAAC;QAEtC,2CAA2C;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,wCAAwC;QACxC,IAAI,eAAe,GAAG,UAAU,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC;gBACrC,mFAAmF;gBACnF,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAChD,MAAM,CAAC,IAAI,CACT,IAAI,+BAAuB,CACzB,kGAAkG,CACnG,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,eAAe,GAAG,MAAM,CAAC;gBAC3B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,IAAI,+BAAuB,CACzB,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAClF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,MAAM,GAAG,IAAI,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,UAAe,CAAC;QAEpB,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,KAAK,YAAY,wBAAgB;gBAC/B,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,+BAAuB,CACzB,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC9E,CACN,CAAC;YACF,UAAU,GAAG,EAAE,CAAC;QAClB,CAAC;QAED,iBAAiB;QACjB,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAE5C,uCAAuC;QACvC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,mFAAmF;gBACnF,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAChD,MAAM,CAAC,IAAI,CACT,IAAI,+BAAuB,CACzB,kGAAkG,CACnG,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,UAAU,GAAG,MAAM,CAAC;gBACtB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,IAAI,+BAAuB,CACzB,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CACjF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAExC,sBAAsB;QACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAE5D,mCAAmC;QACnC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACvD,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,KAAK;gBACL,OAAO,EAAE,4BAA4B;gBACrC,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;aAClC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAoB;YAC7B,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC;YAClD,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAClC,cAAc,EAAE,QAAQ,CAAC,MAAM;YAC/B,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM;YAC1D,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;YAChE,gBAAgB,EAAE,MAAM,CAAC,MAAM;YAC/B,QAAQ;YACR,GAAG,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,CAAC;SACpC,CAAC;QAEF,OAAO,IAAI,uCAAoB,CAC7B,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,CACN,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,UAAe;QACnC,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/D,uDAAuD;YACvD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC;gBAChC,kCAAkC;gBAClC,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACpE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,UAAe,EAAE,MAA0B;QAChE,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE;oBAC9B,MAAM,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,2CAA2C;oBAC1E,MAAM,EAAE,UAAU;oBAClB,IAAI,EAAE,KAAK;oBACX,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,MAAM,CAAC,MAAM,CACtB,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,uBAAe,CACb;iBACvB,CAAC,CAAC;gBAEH,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CACT,IAAI,uBAAe,CACjB,OAAO,MAAM,KAAK,QAAQ;wBACxB,CAAC,CAAC,MAAM;wBACR,CAAC,CAAC,gCAAgC,KAAK,EAAE,EAC3C,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,CACT,IAAI,uBAAe,CACjB,8BAA8B,KAAK,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAClG,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CACF,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,uBAAuB,CAAC,KAAa;QAC3C,6CAA6C;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAC/B,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAClD,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CACrD,CAAC;QAEF,OAAO,OAAO,CAAC,CAAC,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,GAAQ,EAAE,KAAK,GAAG,CAAC;QACrC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACK,cAAc;QAGpB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACpC,OAAO;gBACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,OAAO,CAAC,GAAQ,EAAE,IAAY;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC;gBACnE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,OAAO,CAAC,GAAQ,EAAE,IAAY;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC9C,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,OAAO,CAAC,GAAQ,EAAE,IAAY,EAAE,KAAU;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;QAC5B,IAAI,OAAO,GAAG,GAAG,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IACE,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI;gBACrB,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAChC,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC;YACD,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,gEAAgE;IAEhE;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;YAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACF;AAvvBD,8BAuvBC;AAED;;GAEG;AACH,MAAa,iBAAiB;IAC5B,YACU,SAAoB,EACpB,SAA+B;QAD/B,cAAS,GAAT,SAAS,CAAW;QACpB,cAAS,GAAT,SAAS,CAAsB;IACtC,CAAC;IAEJ;;OAEG;IACH,GAAG,CACD,MAAc,EACd,MAAc,EACd,SAAuB;QAEvB,MAAM,OAAO,GAAY;YACvB,EAAE,EAAE,IAAA,SAAM,GAAE;YACZ,MAAM;YACN,MAAM;YACN,IAAI,EAAE,aAAa;YACnB,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;YAC/B,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B;SACF,CAAC;QAEF,+CAA+C;QAC/C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAA+B;QAClC,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAU;QACtB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAU;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;CACF;AAzDD,8CAyDC"}
package/dist/index.d.ts CHANGED
@@ -6,5 +6,6 @@ export * as validators from './validators/built-in';
6
6
  export { ValidatorRegistry, validatorRegistry, } from './validators/ValidatorRegistry';
7
7
  export * from './types';
8
8
  export * from './errors';
9
+ export { CLIGenerator, CLIUtils, CommandBuilder, createCLI, createCommand, quickCLI, } from './scripts';
9
10
  export { parsePath, setPath, mergePaths, detectFormat } from './utils';
10
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;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;AAMzB,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.validatorRegistry = exports.ValidatorRegistry = exports.validators = 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; } });
@@ -52,6 +52,14 @@ Object.defineProperty(exports, "validatorRegistry", { enumerable: true, get: fun
52
52
  __exportStar(require("./types"), exports);
53
53
  // Error handling exports
54
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; } });
55
63
  // Plugin exports
56
64
  // export { Plugin, PluginContext } from './plugins/Plugin'; // TODO: Implement plugin system
57
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,oEAAoD;AACpD,oEAGwC;AAFtC,sHAAA,iBAAiB,OAAA;AACjB,sHAAA,iBAAiB,OAAA;AAEnB,0CAAwB;AAExB,yBAAyB;AACzB,2CAAyB;AAEzB,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,95 @@
1
+ import { Converter } from '../core/Converter';
2
+ /**
3
+ * Plugin context provided to plugins during installation
4
+ */
5
+ export interface PluginContext {
6
+ converter: Converter;
7
+ version: string;
8
+ environment: 'development' | 'production' | 'test';
9
+ metadata: Record<string, any>;
10
+ }
11
+ /**
12
+ * Plugin lifecycle hooks that can be implemented by plugins
13
+ */
14
+ export interface PluginHooks {
15
+ beforeParse?: (content: string, format: string, context: PluginContext) => string | Promise<string>;
16
+ afterParse?: (data: any, context: PluginContext) => any | Promise<any>;
17
+ beforeMap?: (source: any, context: PluginContext) => any | Promise<any>;
18
+ afterMap?: (target: any, context: PluginContext) => any | Promise<any>;
19
+ beforeTransform?: (value: any, path: string, context: PluginContext) => any | Promise<any>;
20
+ afterTransform?: (value: any, path: string, context: PluginContext) => any | Promise<any>;
21
+ beforeValidate?: (data: any, context: PluginContext) => any | Promise<any>;
22
+ afterValidate?: (data: any, errors: any[], context: PluginContext) => void | Promise<void>;
23
+ beforeSerialize?: (data: any, format: string, context: PluginContext) => any | Promise<any>;
24
+ afterSerialize?: (content: string, format: string, context: PluginContext) => string | Promise<string>;
25
+ onError?: (error: Error, context: PluginContext) => void | Promise<void>;
26
+ }
27
+ /**
28
+ * Plugin metadata for discovery and management
29
+ */
30
+ export interface PluginMetadata {
31
+ name: string;
32
+ version: string;
33
+ description?: string;
34
+ author?: string;
35
+ homepage?: string;
36
+ repository?: string;
37
+ license?: string;
38
+ keywords?: string[];
39
+ configforgeVersion?: string;
40
+ dependencies?: string[];
41
+ peerDependencies?: string[];
42
+ }
43
+ /**
44
+ * Main plugin interface that all plugins must implement
45
+ */
46
+ export interface Plugin extends PluginMetadata {
47
+ /**
48
+ * Install the plugin into a converter instance
49
+ */
50
+ install(context: PluginContext): void | Promise<void>;
51
+ /**
52
+ * Uninstall the plugin from a converter instance (optional)
53
+ */
54
+ uninstall?(context: PluginContext): void | Promise<void>;
55
+ /**
56
+ * Plugin lifecycle hooks (optional)
57
+ */
58
+ hooks?: PluginHooks;
59
+ /**
60
+ * Plugin configuration options (optional)
61
+ */
62
+ options?: Record<string, any>;
63
+ }
64
+ /**
65
+ * Plugin installation result
66
+ */
67
+ export interface PluginInstallResult {
68
+ success: boolean;
69
+ plugin: Plugin;
70
+ error?: Error;
71
+ warnings?: string[];
72
+ }
73
+ /**
74
+ * Plugin dependency information
75
+ */
76
+ export interface PluginDependency {
77
+ name: string;
78
+ version: string;
79
+ required: boolean;
80
+ installed: boolean;
81
+ compatible: boolean;
82
+ }
83
+ /**
84
+ * Plugin status information
85
+ */
86
+ export interface PluginStatus {
87
+ plugin: Plugin;
88
+ installed: boolean;
89
+ active: boolean;
90
+ dependencies: PluginDependency[];
91
+ installDate?: Date;
92
+ lastUsed?: Date;
93
+ errors?: Error[];
94
+ }
95
+ //# sourceMappingURL=Plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/Plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/plugins/Plugin.ts"],"names":[],"mappings":""}