wrekenfile-converter 2.0.7 → 2.1.0

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 (52) hide show
  1. package/README.md +45 -26
  2. package/dist/example-usage.d.ts +1 -1
  3. package/dist/index.d.ts +6 -5
  4. package/dist/index.js +53 -20
  5. package/dist/v1/index.d.ts +3 -0
  6. package/dist/v1/index.js +21 -0
  7. package/dist/{wrekenfile-validator.js → v1/wrekenfile-validator.js} +30 -8
  8. package/dist/v2/cli/cli-mini-wrekenfile-generator.d.ts +2 -0
  9. package/dist/v2/cli/cli-mini-wrekenfile-generator.js +107 -0
  10. package/dist/v2/cli/cli-openapi-to-wrekenfile.d.ts +2 -0
  11. package/dist/v2/cli/cli-openapi-to-wrekenfile.js +115 -0
  12. package/dist/v2/cli/cli-openapi-v2-to-wrekenfile.d.ts +2 -0
  13. package/dist/v2/cli/cli-openapi-v2-to-wrekenfile.js +115 -0
  14. package/dist/v2/cli/cli-postman-to-wrekenfile.d.ts +2 -0
  15. package/dist/v2/cli/cli-postman-to-wrekenfile.js +54 -0
  16. package/dist/v2/index.d.ts +4 -0
  17. package/dist/v2/index.js +25 -0
  18. package/dist/v2/mini-wrekenfile-generator.d.ts +13 -0
  19. package/dist/v2/mini-wrekenfile-generator.js +289 -0
  20. package/dist/v2/openapi-to-wreken.d.ts +2 -0
  21. package/dist/v2/openapi-to-wreken.js +829 -0
  22. package/dist/v2/openapi-v2-to-wrekenfile.d.ts +2 -0
  23. package/dist/v2/openapi-v2-to-wrekenfile.js +806 -0
  24. package/dist/v2/postman-to-wrekenfile.d.ts +11 -0
  25. package/dist/v2/postman-to-wrekenfile.js +742 -0
  26. package/dist/v2/utils/constants.d.ts +80 -0
  27. package/dist/v2/utils/constants.js +104 -0
  28. package/dist/v2/utils/response-utils.d.ts +11 -0
  29. package/dist/v2/utils/response-utils.js +39 -0
  30. package/dist/v2/utils/yaml-utils.d.ts +4 -0
  31. package/dist/v2/utils/yaml-utils.js +96 -0
  32. package/dist/versions.d.ts +9 -0
  33. package/dist/versions.js +12 -0
  34. package/package.json +12 -14
  35. package/dist/openapi-to-wrekenfile.d.ts +0 -0
  36. package/dist/openapi-to-wrekenfile.js +0 -10
  37. package/wrekenfile.md +0 -726
  38. /package/dist/{cli → v1/cli}/cli-mini-wrekenfile-generator.d.ts +0 -0
  39. /package/dist/{cli → v1/cli}/cli-mini-wrekenfile-generator.js +0 -0
  40. /package/dist/{cli → v1/cli}/cli-openapi-to-wrekenfile.d.ts +0 -0
  41. /package/dist/{cli → v1/cli}/cli-openapi-to-wrekenfile.js +0 -0
  42. /package/dist/{cli → v1/cli}/cli-postman-to-wrekenfile.d.ts +0 -0
  43. /package/dist/{cli → v1/cli}/cli-postman-to-wrekenfile.js +0 -0
  44. /package/dist/{mini-wrekenfile-generator.d.ts → v1/mini-wrekenfile-generator.d.ts} +0 -0
  45. /package/dist/{mini-wrekenfile-generator.js → v1/mini-wrekenfile-generator.js} +0 -0
  46. /package/dist/{openapi-to-wreken.d.ts → v1/openapi-to-wreken.d.ts} +0 -0
  47. /package/dist/{openapi-to-wreken.js → v1/openapi-to-wreken.js} +0 -0
  48. /package/dist/{openapi-v2-to-wrekenfile.d.ts → v1/openapi-v2-to-wrekenfile.d.ts} +0 -0
  49. /package/dist/{openapi-v2-to-wrekenfile.js → v1/openapi-v2-to-wrekenfile.js} +0 -0
  50. /package/dist/{postman-to-wrekenfile.d.ts → v1/postman-to-wrekenfile.d.ts} +0 -0
  51. /package/dist/{postman-to-wrekenfile.js → v1/postman-to-wrekenfile.js} +0 -0
  52. /package/dist/{wrekenfile-validator.d.ts → v1/wrekenfile-validator.d.ts} +0 -0
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Wrekenfile Converter (Library)
2
+ ## Version 2.1.0
2
3
 
3
- A comprehensive TypeScript/JavaScript library for converting OpenAPI specifications (v2 and v3) and Postman collections into [Wrekenfile](./wrekenfile.md) YAML format, with advanced mini-chunking capabilities for vector database storage and AI context management.
4
+ A comprehensive TypeScript/JavaScript library for converting OpenAPI specifications (v2 and v3) and Postman collections into [Wrekenfile](.src/v2/wrekenfile_v_2_0_1.md) YAML format, with advanced mini-chunking capabilities for vector database storage and AI context management.
4
5
 
5
6
  ## Features
6
7
 
@@ -28,8 +29,15 @@ yarn add wrekenfile-converter
28
29
 
29
30
  ## Usage
30
31
 
32
+ ### Version Support
33
+
34
+ This library supports two Wrekenfile spec versions:
35
+ - **v1** (Wrekenfile spec 1.2) - Default/legacy
36
+ - **v2** (Wrekenfile spec 2.1.0) - Latest
37
+
31
38
  ### Importing the Library
32
39
 
40
+ **Default import (currently v1, backward compatible):**
33
41
  ```typescript
34
42
  import {
35
43
  generateWrekenfile, // OpenAPI v3
@@ -42,6 +50,15 @@ import {
42
50
  } from 'wrekenfile-converter';
43
51
  ```
44
52
 
53
+ **Explicit version imports:**
54
+ ```typescript
55
+ // Import v1 (Wrekenfile spec 1.2)
56
+ import { generateWrekenfile } from 'wrekenfile-converter/v1';
57
+
58
+ // Import v2 (Wrekenfile spec 2.1.0)
59
+ import { generateWrekenfile } from 'wrekenfile-converter/v2';
60
+ ```
61
+
45
62
  ### Convert OpenAPI v3 to Wrekenfile
46
63
 
47
64
  ```typescript
@@ -83,7 +100,7 @@ const wrekenfileYaml = generateWrekenfileFromPostman(collection, variables);
83
100
  import { validateWrekenfile } from 'wrekenfile-converter';
84
101
 
85
102
  const result = validateWrekenfile('./Wrekenfile.yaml');
86
- console.log(result.isValid ? 'Valid' : 'Invalid');
103
+ console.log(result.isValid ? 'Valid' : 'Invalid');
87
104
  console.log(result.errors, result.warnings);
88
105
  ```
89
106
 
@@ -103,7 +120,7 @@ const miniFiles: MiniWrekenfile[] = generateMiniWrekenfiles('./Wrekenfile.yaml')
103
120
  Generate a Wrekenfile YAML from an OpenAPI (YAML or JSON) spec:
104
121
 
105
122
  ```bash
106
- npx ts-node src/cli/cli-openapi-to-wrekenfile.ts --input <openapi.yaml|json> [--output <wrekenfile.yaml>] [--cwd <dir>]
123
+ npx ts-node src/cli/rest/cli-openapi-to-wrekenfile.ts --input <openapi.yaml|json> [--output <wrekenfile.yaml>] [--cwd <dir>]
107
124
  ```
108
125
 
109
126
  **Options:**
@@ -113,7 +130,7 @@ npx ts-node src/cli/cli-openapi-to-wrekenfile.ts --input <openapi.yaml|json> [--
113
130
 
114
131
  **Example:**
115
132
  ```bash
116
- npx ts-node src/cli/cli-openapi-to-wrekenfile.ts --input examples/p3id_swagger.json --output wrekenfile.yaml --cwd .
133
+ npx ts-node src/cli/rest/cli-openapi-to-wrekenfile.ts --input examples/p3id_swagger.json --output wrekenfile.yaml --cwd .
117
134
  ```
118
135
 
119
136
  ### Convert Postman Collection to Wrekenfile
@@ -121,12 +138,12 @@ npx ts-node src/cli/cli-openapi-to-wrekenfile.ts --input examples/p3id_swagger.j
121
138
  Convert a Postman collection JSON to a Wrekenfile YAML file:
122
139
 
123
140
  ```bash
124
- npx ts-node src/cli/cli-postman-to-wrekenfile.ts <postman_collection.json> <output_wrekenfile.yaml> [postman_environment.json]
141
+ npx ts-node src/cli/rest/cli-postman-to-wrekenfile.ts <postman_collection.json> <output_wrekenfile.yaml> [postman_environment.json]
125
142
  ```
126
143
 
127
144
  **Example:**
128
145
  ```bash
129
- npx ts-node src/cli/cli-postman-to-wrekenfile.ts examples/transact_bridge_postman.json wrekenfile.yaml
146
+ npx ts-node src/cli/rest/cli-postman-to-wrekenfile.ts examples/transact_bridge_postman.json wrekenfile.yaml
130
147
  ```
131
148
 
132
149
  **Note:** The third argument (environment file) is optional.
@@ -215,27 +232,29 @@ npm run example
215
232
 
216
233
  ```
217
234
  src/
218
- ├── index.ts # Main exports
219
- ├── openapi-to-wreken.ts # OpenAPI v3 converter
220
- ├── openapi-v2-to-wrekenfile.ts # OpenAPI v2 converter
221
- ├── postman-to-wrekenfile.ts # Postman converter
222
- ├── wrekenfile-validator.ts # Validation logic
223
- ├── mini-wrekenfile-generator.ts # Mini chunk generator
224
- ├── cli/ # CLI tools
225
- │ ├── cli-openapi-to-wrekenfile.ts
226
- │ ├── cli-postman-to-wrekenfile.ts
227
- └── cli-mini-wrekenfile-generator.ts
228
- └── example-usage.ts # Usage examples
229
-
230
- dist/ # Compiled JavaScript + types
235
+ ├── index.ts # Main exports (defaults to v1)
236
+ ├── example-usage.ts # Usage examples
237
+ ├── versions.ts # Version constants
238
+ ├── v1/ # Wrekenfile spec v1.2
239
+ ├── index.ts
240
+ ├── openapi-to-wreken.ts
241
+ ├── openapi-v2-to-wrekenfile.ts
242
+ │ ├── postman-to-wrekenfile.ts
243
+ │ ├── mini-wrekenfile-generator.ts
244
+ ├── wrekenfile-validator.ts
245
+ └── cli/ # CLI tools for v1
246
+ └── v2/ # Wrekenfile spec v2.1.0
247
+ ├── index.ts
248
+ ├── openapi-to-wreken.ts
249
+ ├── openapi-v2-to-wrekenfile.ts
250
+ ├── postman-to-wrekenfile.ts
251
+ ├── mini-wrekenfile-generator.ts
252
+ └── cli/ # CLI tools for v2
253
+
254
+ dist/ # Compiled JavaScript + types
231
255
  ├── index.js
232
- ├── index.d.ts
233
- └── ... (all compiled files)
234
-
235
- mini-wrekenfiles/ # Generated mini chunks (if you save them)
236
- ├── mini-v2-app-projects.yaml
237
- ├── mini-v2-app-authenticate.yaml
238
- └── ...
256
+ ├── v1/
257
+ └── v2/
239
258
  ```
240
259
 
241
260
  ## License
@@ -1,4 +1,4 @@
1
- import { MiniWrekenfile } from './mini-wrekenfile-generator';
1
+ import { MiniWrekenfile } from './v1/mini-wrekenfile-generator';
2
2
  export declare function getMiniWrekenfilesForEndpoints(wrekenfileContent: string, targetEndpoints: string[]): MiniWrekenfile[];
3
3
  export declare function getMiniWrekenfilesForMethods(wrekenfileContent: string, targetMethods: string[]): MiniWrekenfile[];
4
4
  export declare function getMiniWrekenfileContent(wrekenfileContent: string, endpoint: string): string | null;
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
- export { generateWrekenfile } from './openapi-to-wreken';
2
- export { generateWrekenfile as generateWrekenfileV2 } from './openapi-v2-to-wrekenfile';
3
- export { generateWrekenfile as generateWrekenfileFromPostman, extractStructs, extractOperations, mapType, parseJsonExample, extractFieldsFromObject, loadEnvironmentFile, extractCollectionVariables, resolveVariables } from './postman-to-wrekenfile';
4
- export { validateWrekenfile, fixWrekenfile, ValidationResult, WrekenfileStructure, printValidationResult } from './wrekenfile-validator';
5
- export { generateMiniWrekenfiles, saveMiniWrekenfiles, MiniWrekenfile } from './mini-wrekenfile-generator';
1
+ export * from './v1';
2
+ export * as v1 from './v1';
3
+ export * as v2 from './v2';
4
+ export { validateWrekenfile, fixWrekenfile, ValidationResult, WrekenfileStructure, printValidationResult } from './v1/wrekenfile-validator';
5
+ export { generateMiniWrekenfiles, saveMiniWrekenfiles, MiniWrekenfile } from './v1/mini-wrekenfile-generator';
6
6
  export { getMiniWrekenfilesForEndpoints, getMiniWrekenfilesForMethods, getMiniWrekenfileContent } from './example-usage';
7
+ export { WREKENFILE_V1_VERSION, WREKENFILE_V2_VERSION, DEFAULT_WREKENFILE_VERSION } from './versions';
package/dist/index.js CHANGED
@@ -1,29 +1,57 @@
1
1
  "use strict";
2
2
  // Main entry point for the wrekenfile-converter library (no CLI)
3
+ // Default exports use v2 (latest), v1 available via explicit imports
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
+ };
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
3
40
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getMiniWrekenfileContent = exports.getMiniWrekenfilesForMethods = exports.getMiniWrekenfilesForEndpoints = exports.saveMiniWrekenfiles = exports.generateMiniWrekenfiles = exports.printValidationResult = exports.fixWrekenfile = exports.validateWrekenfile = exports.resolveVariables = exports.extractCollectionVariables = exports.loadEnvironmentFile = exports.extractFieldsFromObject = exports.parseJsonExample = exports.mapType = exports.extractOperations = exports.extractStructs = exports.generateWrekenfileFromPostman = exports.generateWrekenfileV2 = exports.generateWrekenfile = void 0;
5
- // Export main conversion functions
6
- var openapi_to_wreken_1 = require("./openapi-to-wreken");
7
- Object.defineProperty(exports, "generateWrekenfile", { enumerable: true, get: function () { return openapi_to_wreken_1.generateWrekenfile; } });
8
- var openapi_v2_to_wrekenfile_1 = require("./openapi-v2-to-wrekenfile");
9
- Object.defineProperty(exports, "generateWrekenfileV2", { enumerable: true, get: function () { return openapi_v2_to_wrekenfile_1.generateWrekenfile; } });
10
- var postman_to_wrekenfile_1 = require("./postman-to-wrekenfile");
11
- Object.defineProperty(exports, "generateWrekenfileFromPostman", { enumerable: true, get: function () { return postman_to_wrekenfile_1.generateWrekenfile; } });
12
- Object.defineProperty(exports, "extractStructs", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractStructs; } });
13
- Object.defineProperty(exports, "extractOperations", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractOperations; } });
14
- Object.defineProperty(exports, "mapType", { enumerable: true, get: function () { return postman_to_wrekenfile_1.mapType; } });
15
- Object.defineProperty(exports, "parseJsonExample", { enumerable: true, get: function () { return postman_to_wrekenfile_1.parseJsonExample; } });
16
- Object.defineProperty(exports, "extractFieldsFromObject", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractFieldsFromObject; } });
17
- Object.defineProperty(exports, "loadEnvironmentFile", { enumerable: true, get: function () { return postman_to_wrekenfile_1.loadEnvironmentFile; } });
18
- Object.defineProperty(exports, "extractCollectionVariables", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractCollectionVariables; } });
19
- Object.defineProperty(exports, "resolveVariables", { enumerable: true, get: function () { return postman_to_wrekenfile_1.resolveVariables; } });
20
- // Export validation function
21
- var wrekenfile_validator_1 = require("./wrekenfile-validator");
41
+ exports.DEFAULT_WREKENFILE_VERSION = exports.WREKENFILE_V2_VERSION = exports.WREKENFILE_V1_VERSION = exports.getMiniWrekenfileContent = exports.getMiniWrekenfilesForMethods = exports.getMiniWrekenfilesForEndpoints = exports.saveMiniWrekenfiles = exports.generateMiniWrekenfiles = exports.printValidationResult = exports.fixWrekenfile = exports.validateWrekenfile = exports.v2 = exports.v1 = void 0;
42
+ // Re-export v2 as default (when v2 is ready)
43
+ // For now, re-export v1 as default to maintain backward compatibility
44
+ __exportStar(require("./v1"), exports);
45
+ // Explicit version exports
46
+ exports.v1 = __importStar(require("./v1"));
47
+ exports.v2 = __importStar(require("./v2"));
48
+ // Export validation function (version-aware)
49
+ var wrekenfile_validator_1 = require("./v1/wrekenfile-validator");
22
50
  Object.defineProperty(exports, "validateWrekenfile", { enumerable: true, get: function () { return wrekenfile_validator_1.validateWrekenfile; } });
23
51
  Object.defineProperty(exports, "fixWrekenfile", { enumerable: true, get: function () { return wrekenfile_validator_1.fixWrekenfile; } });
24
52
  Object.defineProperty(exports, "printValidationResult", { enumerable: true, get: function () { return wrekenfile_validator_1.printValidationResult; } });
25
- // Export mini Wrekenfile generator
26
- var mini_wrekenfile_generator_1 = require("./mini-wrekenfile-generator");
53
+ // Export mini Wrekenfile generator (version-aware)
54
+ var mini_wrekenfile_generator_1 = require("./v1/mini-wrekenfile-generator");
27
55
  Object.defineProperty(exports, "generateMiniWrekenfiles", { enumerable: true, get: function () { return mini_wrekenfile_generator_1.generateMiniWrekenfiles; } });
28
56
  Object.defineProperty(exports, "saveMiniWrekenfiles", { enumerable: true, get: function () { return mini_wrekenfile_generator_1.saveMiniWrekenfiles; } });
29
57
  // Export utility functions
@@ -31,3 +59,8 @@ var example_usage_1 = require("./example-usage");
31
59
  Object.defineProperty(exports, "getMiniWrekenfilesForEndpoints", { enumerable: true, get: function () { return example_usage_1.getMiniWrekenfilesForEndpoints; } });
32
60
  Object.defineProperty(exports, "getMiniWrekenfilesForMethods", { enumerable: true, get: function () { return example_usage_1.getMiniWrekenfilesForMethods; } });
33
61
  Object.defineProperty(exports, "getMiniWrekenfileContent", { enumerable: true, get: function () { return example_usage_1.getMiniWrekenfileContent; } });
62
+ // Export version constants
63
+ var versions_1 = require("./versions");
64
+ Object.defineProperty(exports, "WREKENFILE_V1_VERSION", { enumerable: true, get: function () { return versions_1.WREKENFILE_V1_VERSION; } });
65
+ Object.defineProperty(exports, "WREKENFILE_V2_VERSION", { enumerable: true, get: function () { return versions_1.WREKENFILE_V2_VERSION; } });
66
+ Object.defineProperty(exports, "DEFAULT_WREKENFILE_VERSION", { enumerable: true, get: function () { return versions_1.DEFAULT_WREKENFILE_VERSION; } });
@@ -0,0 +1,3 @@
1
+ export { generateWrekenfile } from './openapi-to-wreken';
2
+ export { generateWrekenfile as generateWrekenfileV2 } from './openapi-v2-to-wrekenfile';
3
+ export { generateWrekenfile as generateWrekenfileFromPostman, extractStructs, extractOperations, mapType, parseJsonExample, extractFieldsFromObject, loadEnvironmentFile, extractCollectionVariables, resolveVariables } from './postman-to-wrekenfile';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ // v1 entry point - Wrekenfile spec version 1.2
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.resolveVariables = exports.extractCollectionVariables = exports.loadEnvironmentFile = exports.extractFieldsFromObject = exports.parseJsonExample = exports.mapType = exports.extractOperations = exports.extractStructs = exports.generateWrekenfileFromPostman = exports.generateWrekenfileV2 = exports.generateWrekenfile = void 0;
5
+ // Export OpenAPI v3 converter
6
+ var openapi_to_wreken_1 = require("./openapi-to-wreken");
7
+ Object.defineProperty(exports, "generateWrekenfile", { enumerable: true, get: function () { return openapi_to_wreken_1.generateWrekenfile; } });
8
+ // Export OpenAPI v2 (Swagger) converter
9
+ var openapi_v2_to_wrekenfile_1 = require("./openapi-v2-to-wrekenfile");
10
+ Object.defineProperty(exports, "generateWrekenfileV2", { enumerable: true, get: function () { return openapi_v2_to_wrekenfile_1.generateWrekenfile; } });
11
+ // Export Postman converter
12
+ var postman_to_wrekenfile_1 = require("./postman-to-wrekenfile");
13
+ Object.defineProperty(exports, "generateWrekenfileFromPostman", { enumerable: true, get: function () { return postman_to_wrekenfile_1.generateWrekenfile; } });
14
+ Object.defineProperty(exports, "extractStructs", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractStructs; } });
15
+ Object.defineProperty(exports, "extractOperations", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractOperations; } });
16
+ Object.defineProperty(exports, "mapType", { enumerable: true, get: function () { return postman_to_wrekenfile_1.mapType; } });
17
+ Object.defineProperty(exports, "parseJsonExample", { enumerable: true, get: function () { return postman_to_wrekenfile_1.parseJsonExample; } });
18
+ Object.defineProperty(exports, "extractFieldsFromObject", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractFieldsFromObject; } });
19
+ Object.defineProperty(exports, "loadEnvironmentFile", { enumerable: true, get: function () { return postman_to_wrekenfile_1.loadEnvironmentFile; } });
20
+ Object.defineProperty(exports, "extractCollectionVariables", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractCollectionVariables; } });
21
+ Object.defineProperty(exports, "resolveVariables", { enumerable: true, get: function () { return postman_to_wrekenfile_1.resolveVariables; } });
@@ -157,7 +157,7 @@ function parseYamlRobust(fileContent) {
157
157
  }
158
158
  }
159
159
  function validateWrekenfile(filePath) {
160
- var _a;
160
+ var _a, _b, _c;
161
161
  if (!filePath || typeof filePath !== 'string') {
162
162
  throw new Error("Argument 'filePath' is required and must be a string");
163
163
  }
@@ -167,13 +167,35 @@ function validateWrekenfile(filePath) {
167
167
  warnings: []
168
168
  };
169
169
  try {
170
- // Read and parse the YAML file
170
+ // Check if file exists
171
+ if (!fs.existsSync(filePath)) {
172
+ result.isValid = false;
173
+ result.errors.push(`File not found: ${filePath}`);
174
+ return result;
175
+ }
176
+ // Read the YAML file
171
177
  const fileContent = fs.readFileSync(filePath, 'utf8');
172
- // Use robust parsing
178
+ // First, validate that it's valid YAML
179
+ try {
180
+ yaml.load(fileContent);
181
+ }
182
+ catch (yamlError) {
183
+ result.isValid = false;
184
+ if (yamlError.name === 'YAMLException') {
185
+ const line = ((_a = yamlError.mark) === null || _a === void 0 ? void 0 : _a.line) !== undefined ? yamlError.mark.line + 1 : 'unknown';
186
+ const column = ((_b = yamlError.mark) === null || _b === void 0 ? void 0 : _b.column) !== undefined ? yamlError.mark.column + 1 : 'unknown';
187
+ result.errors.push(`Invalid YAML syntax at line ${line}, column ${column}: ${yamlError.message}`);
188
+ }
189
+ else {
190
+ result.errors.push(`Invalid YAML file: ${yamlError.message}`);
191
+ }
192
+ return result;
193
+ }
194
+ // Use robust parsing (which may try to fix minor issues)
173
195
  const data = parseYamlRobust(fileContent);
174
196
  if (!data) {
175
197
  result.isValid = false;
176
- result.errors.push('File is empty or could not be parsed');
198
+ result.errors.push('File is empty or could not be parsed as YAML');
177
199
  return result;
178
200
  }
179
201
  // Validate VERSION
@@ -190,7 +212,7 @@ function validateWrekenfile(filePath) {
190
212
  catch (error) {
191
213
  result.isValid = false;
192
214
  if (error.name === 'YAMLException') {
193
- result.errors.push(`YAML parsing error at line ${((_a = error.mark) === null || _a === void 0 ? void 0 : _a.line) || 'unknown'}: ${error.message}`);
215
+ result.errors.push(`YAML parsing error at line ${((_c = error.mark) === null || _c === void 0 ? void 0 : _c.line) || 'unknown'}: ${error.message}`);
194
216
  }
195
217
  else {
196
218
  result.errors.push(`Failed to parse YAML file: ${error.message}`);
@@ -209,9 +231,9 @@ function validateVersion(data, result) {
209
231
  result.errors.push('VERSION must be a string');
210
232
  return;
211
233
  }
212
- // Check if version is in expected format (e.g., '1.2')
213
- if (!/^\d+\.\d+$/.test(data.VERSION)) {
214
- result.warnings.push(`VERSION format '${data.VERSION}' may not be standard`);
234
+ // Check if version is in expected format (e.g., '1.2' or '2.1.0')
235
+ if (!/^\d+\.\d+(\.\d+)?$/.test(data.VERSION)) {
236
+ result.warnings.push(`VERSION format '${data.VERSION}' may not be standard (expected format: X.Y or X.Y.Z)`);
215
237
  }
216
238
  }
217
239
  function validateInitSection(data, result) {
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,107 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ const mini_wrekenfile_generator_1 = require("../mini-wrekenfile-generator");
49
+ function printUsage() {
50
+ console.log('Usage: npx ts-node src/cli/cli-mini-wrekenfile-generator.ts --input <wrekenfile.yaml> [--output <dir>]');
51
+ }
52
+ function parseArgs() {
53
+ const args = process.argv.slice(2);
54
+ const opts = {};
55
+ for (let i = 0; i < args.length; i++) {
56
+ if (args[i] === '--input' || args[i] === '-i') {
57
+ opts.input = args[++i];
58
+ }
59
+ else if (args[i] === '--output' || args[i] === '-o') {
60
+ opts.output = args[++i];
61
+ }
62
+ }
63
+ return opts;
64
+ }
65
+ function main() {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const opts = parseArgs();
68
+ if (!opts.input) {
69
+ printUsage();
70
+ process.exit(1);
71
+ }
72
+ const inputPath = path.resolve(opts.input);
73
+ const outputDir = opts.output ? path.resolve(opts.output) : path.resolve('./mini-wrekenfiles');
74
+ if (!fs.existsSync(inputPath)) {
75
+ console.error(`Input file not found: ${inputPath}`);
76
+ process.exit(1);
77
+ }
78
+ let wrekenfileContent;
79
+ try {
80
+ wrekenfileContent = fs.readFileSync(inputPath, 'utf8');
81
+ }
82
+ catch (err) {
83
+ console.error('Failed to read input file:', err);
84
+ process.exit(1);
85
+ }
86
+ let miniWrekenfiles;
87
+ try {
88
+ miniWrekenfiles = (0, mini_wrekenfile_generator_1.generateMiniWrekenfiles)(wrekenfileContent);
89
+ }
90
+ catch (err) {
91
+ console.error('Failed to generate mini Wrekenfiles:', err);
92
+ process.exit(1);
93
+ }
94
+ try {
95
+ (0, mini_wrekenfile_generator_1.saveMiniWrekenfiles)(miniWrekenfiles, outputDir);
96
+ console.log(`✅ Generated ${miniWrekenfiles.length} mini Wrekenfiles in ${outputDir}`);
97
+ for (const mini of miniWrekenfiles) {
98
+ console.log(` - ${mini.metadata.filename}`);
99
+ }
100
+ }
101
+ catch (err) {
102
+ console.error('Failed to save mini Wrekenfiles:', err);
103
+ process.exit(1);
104
+ }
105
+ });
106
+ }
107
+ main();
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -0,0 +1,115 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
+ return new (P || (P = Promise))(function (resolve, reject) {
39
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
43
+ });
44
+ };
45
+ Object.defineProperty(exports, "__esModule", { value: true });
46
+ const fs = __importStar(require("fs"));
47
+ const path = __importStar(require("path"));
48
+ const js_yaml_1 = require("js-yaml");
49
+ const openapi_to_wreken_1 = require("../openapi-to-wreken");
50
+ function printUsage() {
51
+ console.log(`Usage: npx ts-node src/cli/rest/cli-openapi-to-wrekenfile.ts --input <openapi.yaml|json> [--output <wrekenfile.yaml>] [--cwd <dir>]`);
52
+ }
53
+ function parseArgs() {
54
+ const args = process.argv.slice(2);
55
+ const opts = {};
56
+ for (let i = 0; i < args.length; i++) {
57
+ if (args[i] === '--input' || args[i] === '-i') {
58
+ opts.input = args[++i];
59
+ }
60
+ else if (args[i] === '--output' || args[i] === '-o') {
61
+ opts.output = args[++i];
62
+ }
63
+ else if (args[i] === '--cwd') {
64
+ opts.cwd = args[++i];
65
+ }
66
+ }
67
+ return opts;
68
+ }
69
+ function main() {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ const opts = parseArgs();
72
+ if (!opts.input) {
73
+ printUsage();
74
+ process.exit(1);
75
+ }
76
+ const inputPath = path.resolve(opts.input);
77
+ const outputPath = path.resolve(opts.output || 'output_wrekenfile.yaml');
78
+ const baseDir = opts.cwd ? path.resolve(opts.cwd) : path.dirname(inputPath);
79
+ if (!fs.existsSync(inputPath)) {
80
+ console.error(`Input file not found: ${inputPath}`);
81
+ process.exit(1);
82
+ }
83
+ let openapiSpec;
84
+ try {
85
+ const raw = fs.readFileSync(inputPath, 'utf8');
86
+ if (inputPath.endsWith('.json')) {
87
+ openapiSpec = JSON.parse(raw);
88
+ }
89
+ else {
90
+ openapiSpec = (0, js_yaml_1.load)(raw);
91
+ }
92
+ }
93
+ catch (err) {
94
+ console.error('Failed to load OpenAPI file:', err);
95
+ process.exit(1);
96
+ }
97
+ let wrekenfileYaml;
98
+ try {
99
+ wrekenfileYaml = (0, openapi_to_wreken_1.generateWrekenfile)(openapiSpec, baseDir);
100
+ }
101
+ catch (err) {
102
+ console.error('Failed to generate Wrekenfile:', err);
103
+ process.exit(1);
104
+ }
105
+ try {
106
+ fs.writeFileSync(outputPath, wrekenfileYaml, 'utf8');
107
+ console.log(`✅ Wrekenfile v2.0.1 written to ${outputPath}`);
108
+ }
109
+ catch (err) {
110
+ console.error('Failed to write output file:', err);
111
+ process.exit(1);
112
+ }
113
+ });
114
+ }
115
+ main();
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};