@stackwright-pro/openapi 0.2.1 → 0.2.2-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,3 +1,13 @@
1
+ import SwaggerParser from '@apidevtools/swagger-parser';
2
+ import { createAuxiliaryTypeStore, zodToTs, printNode } from 'zod-to-ts';
3
+ import fs, { realpathSync } from 'fs';
4
+ import path2 from 'path';
5
+ import crypto from 'crypto';
6
+ import https from 'https';
7
+ import http from 'http';
8
+ import { URL as URL$1 } from 'url';
9
+ import { isIP } from 'net';
10
+
1
11
  var __create = Object.create;
2
12
  var __defProp = Object.defineProperty;
3
13
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -20,14 +30,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
20
30
  // file that has been converted to a CommonJS file using a Babel-
21
31
  // compatible transform (i.e. "__esModule" has not been set), then set
22
32
  // "default" to the CommonJS "module.exports" for node compatibility.
23
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
33
+ !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
24
34
  mod
25
35
  ));
26
36
 
27
37
  // ../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer.js
28
38
  var require_analyzer = __commonJS({
29
- "../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer.js"(exports, module) {
30
- "use strict";
39
+ "../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer.js"(exports$1, module) {
31
40
  var AnalyzerOptions = class {
32
41
  constructor(heuristic_replimit) {
33
42
  this.heuristic_replimit = heuristic_replimit;
@@ -91,8 +100,7 @@ var require_analyzer = __commonJS({
91
100
 
92
101
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-dotall-s-transform.js
93
102
  var require_compat_dotall_s_transform = __commonJS({
94
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-dotall-s-transform.js"(exports, module) {
95
- "use strict";
103
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-dotall-s-transform.js"(exports$1, module) {
96
104
  module.exports = {
97
105
  // Whether `u` flag present. In which case we transform to
98
106
  // \u{10FFFF} instead of \uFFFF.
@@ -143,8 +151,7 @@ var require_compat_dotall_s_transform = __commonJS({
143
151
 
144
152
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-named-capturing-groups-transform.js
145
153
  var require_compat_named_capturing_groups_transform = __commonJS({
146
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-named-capturing-groups-transform.js"(exports, module) {
147
- "use strict";
154
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-named-capturing-groups-transform.js"(exports$1, module) {
148
155
  module.exports = {
149
156
  // To track the names of the groups, and return them
150
157
  // in the transform result state.
@@ -187,8 +194,7 @@ var require_compat_named_capturing_groups_transform = __commonJS({
187
194
 
188
195
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-x-flag-transform.js
189
196
  var require_compat_x_flag_transform = __commonJS({
190
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-x-flag-transform.js"(exports, module) {
191
- "use strict";
197
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-x-flag-transform.js"(exports$1, module) {
192
198
  module.exports = {
193
199
  RegExp: function RegExp2(_ref) {
194
200
  var node = _ref.node;
@@ -202,8 +208,7 @@ var require_compat_x_flag_transform = __commonJS({
202
208
 
203
209
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/index.js
204
210
  var require_transforms = __commonJS({
205
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/index.js"(exports, module) {
206
- "use strict";
211
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/index.js"(exports$1, module) {
207
212
  module.exports = {
208
213
  // "dotAll" `s` flag
209
214
  dotAll: require_compat_dotall_s_transform(),
@@ -217,8 +222,7 @@ var require_transforms = __commonJS({
217
222
 
218
223
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/generator/index.js
219
224
  var require_generator = __commonJS({
220
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/generator/index.js"(exports, module) {
221
- "use strict";
225
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/generator/index.js"(exports$1, module) {
222
226
  function gen(node) {
223
227
  return node ? generator[node.type](node) : "";
224
228
  }
@@ -357,8 +361,7 @@ var require_generator = __commonJS({
357
361
 
358
362
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/unicode/parser-unicode-properties.js
359
363
  var require_parser_unicode_properties = __commonJS({
360
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/unicode/parser-unicode-properties.js"(exports, module) {
361
- "use strict";
364
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/unicode/parser-unicode-properties.js"(exports$1, module) {
362
365
  var NON_BINARY_PROP_NAMES_TO_ALIASES = {
363
366
  General_Category: "gc",
364
367
  Script: "sc",
@@ -704,8 +707,7 @@ var require_parser_unicode_properties = __commonJS({
704
707
 
705
708
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/generated/regexp-tree.js
706
709
  var require_regexp_tree = __commonJS({
707
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/generated/regexp-tree.js"(exports, module) {
708
- "use strict";
710
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/generated/regexp-tree.js"(exports$1, module) {
709
711
  var _slicedToArray = /* @__PURE__ */ (function() {
710
712
  function sliceIterator(arr, i) {
711
713
  var _arr = [];
@@ -750,7 +752,6 @@ var require_regexp_tree = __commonJS({
750
752
  }
751
753
  }
752
754
  var yytext = void 0;
753
- var yyleng = void 0;
754
755
  var yy = {};
755
756
  var __ = void 0;
756
757
  var __loc = void 0;
@@ -805,7 +806,6 @@ var require_regexp_tree = __commonJS({
805
806
  if (_2loc) {
806
807
  _loc = loc(_1loc || _2loc, _3loc || _2loc);
807
808
  }
808
- ;
809
809
  __ = Node({
810
810
  type: "Disjunction",
811
811
  left: _1,
@@ -1274,7 +1274,7 @@ var require_regexp_tree = __commonJS({
1274
1274
  }
1275
1275
  if (matched !== null) {
1276
1276
  yytext = matched;
1277
- yyleng = yytext.length;
1277
+ yytext.length;
1278
1278
  var token = lexRule[1].call(this);
1279
1279
  if (!token) {
1280
1280
  return this.getNextToken();
@@ -1456,7 +1456,7 @@ var require_regexp_tree = __commonJS({
1456
1456
  var reduceStackEntry = { symbol: production[0] };
1457
1457
  if (hasSemanticAction) {
1458
1458
  yytext = shiftedToken ? shiftedToken.value : null;
1459
- yyleng = shiftedToken ? shiftedToken.value.length : null;
1459
+ shiftedToken ? shiftedToken.value.length : null;
1460
1460
  var semanticActionArgs = locationArgs !== null ? semanticValueArgs.concat(locationArgs) : semanticValueArgs;
1461
1461
  production[2].apply(production, _toConsumableArray(semanticActionArgs));
1462
1462
  reduceStackEntry.semanticValue = __;
@@ -1851,8 +1851,7 @@ var require_regexp_tree = __commonJS({
1851
1851
 
1852
1852
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/index.js
1853
1853
  var require_parser = __commonJS({
1854
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/index.js"(exports, module) {
1855
- "use strict";
1854
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/index.js"(exports$1, module) {
1856
1855
  var regexpTreeParser = require_regexp_tree();
1857
1856
  var generatedParseFn = regexpTreeParser.parse.bind(regexpTreeParser);
1858
1857
  regexpTreeParser.parse = function(regexp, options) {
@@ -1865,8 +1864,7 @@ var require_parser = __commonJS({
1865
1864
 
1866
1865
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/node-path.js
1867
1866
  var require_node_path = __commonJS({
1868
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/node-path.js"(exports, module) {
1869
- "use strict";
1867
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/node-path.js"(exports$1, module) {
1870
1868
  var _createClass = /* @__PURE__ */ (function() {
1871
1869
  function defineProperties(target, props) {
1872
1870
  for (var i = 0; i < props.length; i++) {
@@ -2198,8 +2196,7 @@ var require_node_path = __commonJS({
2198
2196
 
2199
2197
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/index.js
2200
2198
  var require_traverse = __commonJS({
2201
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/index.js"(exports, module) {
2202
- "use strict";
2199
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/index.js"(exports$1, module) {
2203
2200
  var NodePath = require_node_path();
2204
2201
  function astTraverse(root) {
2205
2202
  var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
@@ -2433,8 +2430,7 @@ var require_traverse = __commonJS({
2433
2430
 
2434
2431
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/index.js
2435
2432
  var require_transform = __commonJS({
2436
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/index.js"(exports, module) {
2437
- "use strict";
2433
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/index.js"(exports$1, module) {
2438
2434
  var _createClass = /* @__PURE__ */ (function() {
2439
2435
  function defineProperties(target, props) {
2440
2436
  for (var i = 0; i < props.length; i++) {
@@ -2567,8 +2563,7 @@ var require_transform = __commonJS({
2567
2563
 
2568
2564
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/index.js
2569
2565
  var require_compat_transpiler = __commonJS({
2570
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/index.js"(exports, module) {
2571
- "use strict";
2566
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/index.js"(exports$1, module) {
2572
2567
  var compatTransforms = require_transforms();
2573
2568
  var _transform = require_transform();
2574
2569
  module.exports = {
@@ -2603,8 +2598,7 @@ var require_compat_transpiler = __commonJS({
2603
2598
 
2604
2599
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/utils/clone.js
2605
2600
  var require_clone = __commonJS({
2606
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/utils/clone.js"(exports, module) {
2607
- "use strict";
2601
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/utils/clone.js"(exports$1, module) {
2608
2602
  module.exports = function clone(obj) {
2609
2603
  if (obj === null || typeof obj !== "object") {
2610
2604
  return obj;
@@ -2625,8 +2619,7 @@ var require_clone = __commonJS({
2625
2619
 
2626
2620
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-surrogate-pair-to-single-unicode-transform.js
2627
2621
  var require_char_surrogate_pair_to_single_unicode_transform = __commonJS({
2628
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-surrogate-pair-to-single-unicode-transform.js"(exports, module) {
2629
- "use strict";
2622
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-surrogate-pair-to-single-unicode-transform.js"(exports$1, module) {
2630
2623
  module.exports = {
2631
2624
  shouldRun: function shouldRun(ast) {
2632
2625
  return ast.flags.includes("u");
@@ -2645,8 +2638,7 @@ var require_char_surrogate_pair_to_single_unicode_transform = __commonJS({
2645
2638
 
2646
2639
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-code-to-simple-char-transform.js
2647
2640
  var require_char_code_to_simple_char_transform = __commonJS({
2648
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-code-to-simple-char-transform.js"(exports, module) {
2649
- "use strict";
2641
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-code-to-simple-char-transform.js"(exports$1, module) {
2650
2642
  var UPPER_A_CP = "A".codePointAt(0);
2651
2643
  var UPPER_Z_CP = "Z".codePointAt(0);
2652
2644
  var LOWER_A_CP = "a".codePointAt(0);
@@ -2699,8 +2691,7 @@ var require_char_code_to_simple_char_transform = __commonJS({
2699
2691
 
2700
2692
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-case-insensitive-lowercase-transform.js
2701
2693
  var require_char_case_insensitive_lowercase_transform = __commonJS({
2702
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-case-insensitive-lowercase-transform.js"(exports, module) {
2703
- "use strict";
2694
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-case-insensitive-lowercase-transform.js"(exports$1, module) {
2704
2695
  var UPPER_A_CP = "A".codePointAt(0);
2705
2696
  var UPPER_Z_CP = "Z".codePointAt(0);
2706
2697
  module.exports = {
@@ -2776,8 +2767,7 @@ var require_char_case_insensitive_lowercase_transform = __commonJS({
2776
2767
 
2777
2768
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-remove-duplicates-transform.js
2778
2769
  var require_char_class_remove_duplicates_transform = __commonJS({
2779
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-remove-duplicates-transform.js"(exports, module) {
2780
- "use strict";
2770
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-remove-duplicates-transform.js"(exports$1, module) {
2781
2771
  module.exports = {
2782
2772
  CharacterClass: function CharacterClass(path3) {
2783
2773
  var node = path3.node;
@@ -2798,8 +2788,7 @@ var require_char_class_remove_duplicates_transform = __commonJS({
2798
2788
 
2799
2789
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/utils.js
2800
2790
  var require_utils = __commonJS({
2801
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/utils.js"(exports, module) {
2802
- "use strict";
2791
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/utils.js"(exports$1, module) {
2803
2792
  function _toConsumableArray(arr) {
2804
2793
  if (Array.isArray(arr)) {
2805
2794
  for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
@@ -2859,8 +2848,7 @@ var require_utils = __commonJS({
2859
2848
 
2860
2849
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifiers-merge-transform.js
2861
2850
  var require_quantifiers_merge_transform = __commonJS({
2862
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifiers-merge-transform.js"(exports, module) {
2863
- "use strict";
2851
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifiers-merge-transform.js"(exports$1, module) {
2864
2852
  var _require = require_utils();
2865
2853
  var increaseQuantifierByOne = _require.increaseQuantifierByOne;
2866
2854
  module.exports = {
@@ -2927,8 +2915,7 @@ var require_quantifiers_merge_transform = __commonJS({
2927
2915
 
2928
2916
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifier-range-to-symbol-transform.js
2929
2917
  var require_quantifier_range_to_symbol_transform = __commonJS({
2930
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifier-range-to-symbol-transform.js"(exports, module) {
2931
- "use strict";
2918
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifier-range-to-symbol-transform.js"(exports$1, module) {
2932
2919
  module.exports = {
2933
2920
  Quantifier: function Quantifier(path3) {
2934
2921
  var node = path3.node;
@@ -2968,8 +2955,7 @@ var require_quantifier_range_to_symbol_transform = __commonJS({
2968
2955
 
2969
2956
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-to-chars-transform.js
2970
2957
  var require_char_class_classranges_to_chars_transform = __commonJS({
2971
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-to-chars-transform.js"(exports, module) {
2972
- "use strict";
2958
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-to-chars-transform.js"(exports$1, module) {
2973
2959
  module.exports = {
2974
2960
  ClassRange: function ClassRange(path3) {
2975
2961
  var node = path3.node;
@@ -2986,8 +2972,7 @@ var require_char_class_classranges_to_chars_transform = __commonJS({
2986
2972
 
2987
2973
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-meta-transform.js
2988
2974
  var require_char_class_to_meta_transform = __commonJS({
2989
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-meta-transform.js"(exports, module) {
2990
- "use strict";
2975
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-meta-transform.js"(exports$1, module) {
2991
2976
  function _toConsumableArray(arr) {
2992
2977
  if (Array.isArray(arr)) {
2993
2978
  for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
@@ -3130,8 +3115,7 @@ var require_char_class_to_meta_transform = __commonJS({
3130
3115
 
3131
3116
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-single-char-transform.js
3132
3117
  var require_char_class_to_single_char_transform = __commonJS({
3133
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-single-char-transform.js"(exports, module) {
3134
- "use strict";
3118
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-single-char-transform.js"(exports$1, module) {
3135
3119
  module.exports = {
3136
3120
  CharacterClass: function CharacterClass(path3) {
3137
3121
  var node = path3.node;
@@ -3189,8 +3173,7 @@ var require_char_class_to_single_char_transform = __commonJS({
3189
3173
 
3190
3174
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-escape-unescape-transform.js
3191
3175
  var require_char_escape_unescape_transform = __commonJS({
3192
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-escape-unescape-transform.js"(exports, module) {
3193
- "use strict";
3176
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-escape-unescape-transform.js"(exports$1, module) {
3194
3177
  module.exports = {
3195
3178
  _hasXFlag: false,
3196
3179
  init: function init(ast) {
@@ -3289,8 +3272,7 @@ var require_char_escape_unescape_transform = __commonJS({
3289
3272
 
3290
3273
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-merge-transform.js
3291
3274
  var require_char_class_classranges_merge_transform = __commonJS({
3292
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-merge-transform.js"(exports, module) {
3293
- "use strict";
3275
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-merge-transform.js"(exports$1, module) {
3294
3276
  module.exports = {
3295
3277
  _hasIUFlags: false,
3296
3278
  init: function init(ast) {
@@ -3508,8 +3490,7 @@ var require_char_class_classranges_merge_transform = __commonJS({
3508
3490
 
3509
3491
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/disjunction-remove-duplicates-transform.js
3510
3492
  var require_disjunction_remove_duplicates_transform = __commonJS({
3511
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/disjunction-remove-duplicates-transform.js"(exports, module) {
3512
- "use strict";
3493
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/disjunction-remove-duplicates-transform.js"(exports$1, module) {
3513
3494
  var NodePath = require_node_path();
3514
3495
  var _require = require_utils();
3515
3496
  var disjunctionToList = _require.disjunctionToList;
@@ -3534,8 +3515,7 @@ var require_disjunction_remove_duplicates_transform = __commonJS({
3534
3515
 
3535
3516
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/group-single-chars-to-char-class.js
3536
3517
  var require_group_single_chars_to_char_class = __commonJS({
3537
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/group-single-chars-to-char-class.js"(exports, module) {
3538
- "use strict";
3518
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/group-single-chars-to-char-class.js"(exports$1, module) {
3539
3519
  module.exports = {
3540
3520
  Disjunction: function Disjunction(path3) {
3541
3521
  var node = path3.node, parent = path3.parent;
@@ -3596,8 +3576,7 @@ var require_group_single_chars_to_char_class = __commonJS({
3596
3576
 
3597
3577
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/remove-empty-group-transform.js
3598
3578
  var require_remove_empty_group_transform = __commonJS({
3599
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/remove-empty-group-transform.js"(exports, module) {
3600
- "use strict";
3579
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/remove-empty-group-transform.js"(exports$1, module) {
3601
3580
  module.exports = {
3602
3581
  Group: function Group(path3) {
3603
3582
  var node = path3.node, parent = path3.parent;
@@ -3617,8 +3596,7 @@ var require_remove_empty_group_transform = __commonJS({
3617
3596
 
3618
3597
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/ungroup-transform.js
3619
3598
  var require_ungroup_transform = __commonJS({
3620
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/ungroup-transform.js"(exports, module) {
3621
- "use strict";
3599
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/ungroup-transform.js"(exports$1, module) {
3622
3600
  function _toConsumableArray(arr) {
3623
3601
  if (Array.isArray(arr)) {
3624
3602
  for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
@@ -3680,8 +3658,7 @@ var require_ungroup_transform = __commonJS({
3680
3658
 
3681
3659
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/combine-repeating-patterns-transform.js
3682
3660
  var require_combine_repeating_patterns_transform = __commonJS({
3683
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/combine-repeating-patterns-transform.js"(exports, module) {
3684
- "use strict";
3661
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/combine-repeating-patterns-transform.js"(exports$1, module) {
3685
3662
  function _toConsumableArray(arr) {
3686
3663
  if (Array.isArray(arr)) {
3687
3664
  for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
@@ -3832,8 +3809,7 @@ var require_combine_repeating_patterns_transform = __commonJS({
3832
3809
 
3833
3810
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/index.js
3834
3811
  var require_transforms2 = __commonJS({
3835
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/index.js"(exports, module) {
3836
- "use strict";
3812
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/index.js"(exports$1, module) {
3837
3813
  module.exports = /* @__PURE__ */ new Map([
3838
3814
  // \ud83d\ude80 -> \u{1f680}
3839
3815
  ["charSurrogatePairToSingleUnicode", require_char_surrogate_pair_to_single_unicode_transform()],
@@ -3873,8 +3849,7 @@ var require_transforms2 = __commonJS({
3873
3849
 
3874
3850
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/index.js
3875
3851
  var require_optimizer = __commonJS({
3876
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/index.js"(exports, module) {
3877
- "use strict";
3852
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/index.js"(exports$1, module) {
3878
3853
  var clone = require_clone();
3879
3854
  var parser = require_parser();
3880
3855
  var transform = require_transform();
@@ -3937,8 +3912,7 @@ var require_optimizer = __commonJS({
3937
3912
 
3938
3913
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/special-symbols.js
3939
3914
  var require_special_symbols = __commonJS({
3940
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/special-symbols.js"(exports, module) {
3941
- "use strict";
3915
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/special-symbols.js"(exports$1, module) {
3942
3916
  var EPSILON = "\u03B5";
3943
3917
  var EPSILON_CLOSURE = EPSILON + "*";
3944
3918
  module.exports = {
@@ -3950,8 +3924,7 @@ var require_special_symbols = __commonJS({
3950
3924
 
3951
3925
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa.js
3952
3926
  var require_nfa = __commonJS({
3953
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa.js"(exports, module) {
3954
- "use strict";
3927
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa.js"(exports$1, module) {
3955
3928
  var _slicedToArray = /* @__PURE__ */ (function() {
3956
3929
  function sliceIterator(arr, i) {
3957
3930
  var _arr = [];
@@ -4187,8 +4160,7 @@ var require_nfa = __commonJS({
4187
4160
 
4188
4161
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa-minimizer.js
4189
4162
  var require_dfa_minimizer = __commonJS({
4190
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa-minimizer.js"(exports, module) {
4191
- "use strict";
4163
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa-minimizer.js"(exports$1, module) {
4192
4164
  var _slicedToArray = /* @__PURE__ */ (function() {
4193
4165
  function sliceIterator(arr, i) {
4194
4166
  var _arr = [];
@@ -4527,8 +4499,7 @@ var require_dfa_minimizer = __commonJS({
4527
4499
 
4528
4500
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa.js
4529
4501
  var require_dfa = __commonJS({
4530
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa.js"(exports, module) {
4531
- "use strict";
4502
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa.js"(exports$1, module) {
4532
4503
  var _createClass = /* @__PURE__ */ (function() {
4533
4504
  function defineProperties(target, props) {
4534
4505
  for (var i = 0; i < props.length; i++) {
@@ -4844,8 +4815,7 @@ var require_dfa = __commonJS({
4844
4815
 
4845
4816
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/state.js
4846
4817
  var require_state = __commonJS({
4847
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/state.js"(exports, module) {
4848
- "use strict";
4818
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/state.js"(exports$1, module) {
4849
4819
  var _createClass = /* @__PURE__ */ (function() {
4850
4820
  function defineProperties(target, props) {
4851
4821
  for (var i = 0; i < props.length; i++) {
@@ -4910,8 +4880,7 @@ var require_state = __commonJS({
4910
4880
 
4911
4881
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-state.js
4912
4882
  var require_nfa_state = __commonJS({
4913
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-state.js"(exports, module) {
4914
- "use strict";
4883
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-state.js"(exports$1, module) {
4915
4884
  var _createClass = /* @__PURE__ */ (function() {
4916
4885
  function defineProperties(target, props) {
4917
4886
  for (var i = 0; i < props.length; i++) {
@@ -5109,8 +5078,7 @@ var require_nfa_state = __commonJS({
5109
5078
 
5110
5079
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/builders.js
5111
5080
  var require_builders = __commonJS({
5112
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/builders.js"(exports, module) {
5113
- "use strict";
5081
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/builders.js"(exports$1, module) {
5114
5082
  var NFA = require_nfa();
5115
5083
  var NFAState = require_nfa_state();
5116
5084
  var _require = require_special_symbols();
@@ -5239,8 +5207,7 @@ var require_builders = __commonJS({
5239
5207
 
5240
5208
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-from-regexp.js
5241
5209
  var require_nfa_from_regexp = __commonJS({
5242
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-from-regexp.js"(exports, module) {
5243
- "use strict";
5210
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-from-regexp.js"(exports$1, module) {
5244
5211
  function _toConsumableArray(arr) {
5245
5212
  if (Array.isArray(arr)) {
5246
5213
  for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
@@ -5323,8 +5290,7 @@ var require_nfa_from_regexp = __commonJS({
5323
5290
 
5324
5291
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
5325
5292
  var require_finite_automaton = __commonJS({
5326
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js"(exports, module) {
5327
- "use strict";
5293
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js"(exports$1, module) {
5328
5294
  var NFA = require_nfa();
5329
5295
  var DFA = require_dfa();
5330
5296
  var nfaFromRegExp = require_nfa_from_regexp();
@@ -5373,8 +5339,7 @@ var require_finite_automaton = __commonJS({
5373
5339
 
5374
5340
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/runtime/index.js
5375
5341
  var require_runtime = __commonJS({
5376
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/runtime/index.js"(exports, module) {
5377
- "use strict";
5342
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/runtime/index.js"(exports$1, module) {
5378
5343
  var _createClass = /* @__PURE__ */ (function() {
5379
5344
  function defineProperties(target, props) {
5380
5345
  for (var i = 0; i < props.length; i++) {
@@ -5463,8 +5428,7 @@ var require_runtime = __commonJS({
5463
5428
 
5464
5429
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/regexp-tree.js
5465
5430
  var require_regexp_tree2 = __commonJS({
5466
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/regexp-tree.js"(exports, module) {
5467
- "use strict";
5431
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/regexp-tree.js"(exports$1, module) {
5468
5432
  var compatTranspiler = require_compat_transpiler();
5469
5433
  var generator = require_generator();
5470
5434
  var optimizer = require_optimizer();
@@ -5615,16 +5579,14 @@ var require_regexp_tree2 = __commonJS({
5615
5579
 
5616
5580
  // ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/index.js
5617
5581
  var require_regexp_tree3 = __commonJS({
5618
- "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/index.js"(exports, module) {
5619
- "use strict";
5582
+ "../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/index.js"(exports$1, module) {
5620
5583
  module.exports = require_regexp_tree2();
5621
5584
  }
5622
5585
  });
5623
5586
 
5624
5587
  // ../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/heuristic-analyzer.js
5625
5588
  var require_heuristic_analyzer = __commonJS({
5626
- "../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/heuristic-analyzer.js"(exports, module) {
5627
- "use strict";
5589
+ "../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/heuristic-analyzer.js"(exports$1, module) {
5628
5590
  var regexpTree2 = require_regexp_tree3();
5629
5591
  var analyzer = require_analyzer();
5630
5592
  var HeuristicAnalyzer = class extends analyzer.Analyzer {
@@ -5683,8 +5645,7 @@ var require_heuristic_analyzer = __commonJS({
5683
5645
 
5684
5646
  // ../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer-family.js
5685
5647
  var require_analyzer_family = __commonJS({
5686
- "../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer-family.js"(exports, module) {
5687
- "use strict";
5648
+ "../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer-family.js"(exports$1, module) {
5688
5649
  var heuristicAnalyzer = require_heuristic_analyzer();
5689
5650
  module.exports = [heuristicAnalyzer];
5690
5651
  }
@@ -5692,8 +5653,7 @@ var require_analyzer_family = __commonJS({
5692
5653
 
5693
5654
  // ../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/index.js
5694
5655
  var require_safe_regex = __commonJS({
5695
- "../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/index.js"(exports, module) {
5696
- "use strict";
5656
+ "../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/index.js"(exports$1, module) {
5697
5657
  var analyzer = require_analyzer();
5698
5658
  var analyzerFamily = require_analyzer_family();
5699
5659
  var DEFAULT_SAFE_REP_LIMIT = 25;
@@ -5748,9 +5708,6 @@ var require_safe_regex = __commonJS({
5748
5708
  module.exports = safeRegex;
5749
5709
  }
5750
5710
  });
5751
-
5752
- // src/parser/OpenAPIParser.ts
5753
- import SwaggerParser from "@apidevtools/swagger-parser";
5754
5711
  var OpenAPIParser = class {
5755
5712
  /**
5756
5713
  * Parse an OpenAPI specification from URL or file path
@@ -6115,9 +6072,6 @@ ${fields}
6115
6072
  }
6116
6073
  }
6117
6074
  };
6118
-
6119
- // src/compiler/TypeGenerator.ts
6120
- import { printNode, zodToTs, createAuxiliaryTypeStore } from "zod-to-ts";
6121
6075
  var TypeGenerator = class {
6122
6076
  /**
6123
6077
  * Generate TypeScript type definition from a Zod schema
@@ -6551,7 +6505,7 @@ var ClientGenerator = class {
6551
6505
  code += "// Request Schemas (Zod Validation)\n";
6552
6506
  code += "// ============================================================================\n\n";
6553
6507
  for (const endpoint of endpoints) {
6554
- const operationId = endpoint.operationId || this.getMethodName(endpoint);
6508
+ endpoint.operationId || this.getMethodName(endpoint);
6555
6509
  const typeName = this.getOperationTypeName(endpoint);
6556
6510
  const schemaName = `${typeName}RequestSchema`;
6557
6511
  const schemaCode = this.generateRequestSchemaForEndpoint(endpoint);
@@ -7674,30 +7628,6 @@ ${paramSchemas.join(",\n")}
7674
7628
  }
7675
7629
  };
7676
7630
 
7677
- // src/runtime/OpenAPICollectionProvider.ts
7678
- var OpenAPICollectionProvider = class {
7679
- constructor(baseUrl, auth) {
7680
- this.baseUrl = baseUrl;
7681
- this.auth = auth;
7682
- }
7683
- /**
7684
- * Fetch items from an API endpoint
7685
- */
7686
- async fetchItems(endpoint) {
7687
- throw new Error("Not yet implemented");
7688
- }
7689
- /**
7690
- * Fetch a single item by slug
7691
- */
7692
- async fetchItem(endpoint, slug) {
7693
- throw new Error("Not yet implemented");
7694
- }
7695
- };
7696
-
7697
- // src/prebuild/OpenAPIPlugin.ts
7698
- import fs2 from "fs";
7699
- import path2 from "path";
7700
-
7701
7631
  // src/utils/EndpointFilter.ts
7702
7632
  var EndpointFilter = class {
7703
7633
  include;
@@ -7799,16 +7729,6 @@ var EndpointFilter = class {
7799
7729
  return new RegExp(`^${result}$`);
7800
7730
  }
7801
7731
  };
7802
-
7803
- // src/utils/ApprovedSpecsValidator.ts
7804
- import crypto from "crypto";
7805
- import fs from "fs";
7806
- import https from "https";
7807
- import http from "http";
7808
- import { URL as URL2 } from "url";
7809
- import path from "path";
7810
- import { realpathSync } from "fs";
7811
- import { isIP } from "net";
7812
7732
  var ApprovedSpecsValidator = class {
7813
7733
  allowlist;
7814
7734
  cache = /* @__PURE__ */ new Map();
@@ -7833,7 +7753,7 @@ var ApprovedSpecsValidator = class {
7833
7753
  */
7834
7754
  buildAllowedDirs() {
7835
7755
  const cwd = process.cwd();
7836
- return [cwd, path.join(cwd, "specs"), path.join(cwd, ".stackwright")];
7756
+ return [cwd, path2.join(cwd, "specs"), path2.join(cwd, ".stackwright")];
7837
7757
  }
7838
7758
  /**
7839
7759
  * Validate that a file path is within allowed directories (path traversal prevention).
@@ -7847,7 +7767,7 @@ var ApprovedSpecsValidator = class {
7847
7767
  const realPath = realpathSync(filePath);
7848
7768
  return this.ALLOWED_DIRS.some((dir) => {
7849
7769
  const realDir = realpathSync(dir);
7850
- return realPath.startsWith(realDir + path.sep) || realPath === realDir;
7770
+ return realPath.startsWith(realDir + path2.sep) || realPath === realDir;
7851
7771
  });
7852
7772
  } catch {
7853
7773
  return false;
@@ -7898,7 +7818,7 @@ var ApprovedSpecsValidator = class {
7898
7818
  */
7899
7819
  isRedirectSafe(location, originalProtocol) {
7900
7820
  try {
7901
- const redirectUrl = new URL2(location);
7821
+ const redirectUrl = new URL$1(location);
7902
7822
  if (redirectUrl.protocol === "http:" && originalProtocol === "https:") {
7903
7823
  return false;
7904
7824
  }
@@ -8121,7 +8041,7 @@ var ApprovedSpecsValidator = class {
8121
8041
  if (!url.startsWith("http://") && !url.startsWith("https://")) {
8122
8042
  return { error: `Invalid URL protocol. Expected http:// or https://, got: ${url}` };
8123
8043
  }
8124
- const parsed = new URL2(url);
8044
+ const parsed = new URL$1(url);
8125
8045
  const requestProtocol = originalProtocol || parsed.protocol;
8126
8046
  return new Promise((resolve) => {
8127
8047
  const client = url.startsWith("https") ? https : http;
@@ -8167,7 +8087,7 @@ var ApprovedSpecsValidator = class {
8167
8087
  urlsMatch(url1, url2) {
8168
8088
  const normalize = (u) => {
8169
8089
  try {
8170
- const parsed = new URL2(u);
8090
+ const parsed = new URL$1(u);
8171
8091
  const normalized = `${parsed.protocol}//${parsed.hostname}${parsed.pathname}`;
8172
8092
  return normalized.replace(/\/$/, "").toLowerCase();
8173
8093
  } catch {
@@ -8333,7 +8253,7 @@ var OpenAPIPlugin = class {
8333
8253
  console.log(` > Filter: include [${includeStr}]${excludeStr}`);
8334
8254
  }
8335
8255
  const outputDir = path2.join(projectRoot, "src", "generated", name);
8336
- fs2.mkdirSync(outputDir, { recursive: true });
8256
+ fs.mkdirSync(outputDir, { recursive: true });
8337
8257
  const schemaMapping = await this.generateSchemas(
8338
8258
  document,
8339
8259
  collections || [],
@@ -8456,7 +8376,7 @@ import { z } from 'zod';
8456
8376
  };
8457
8377
  }
8458
8378
  }
8459
- fs2.writeFileSync(path2.join(outputDir, "schemas.ts"), schemasCode);
8379
+ fs.writeFileSync(path2.join(outputDir, "schemas.ts"), schemasCode);
8460
8380
  return schemaMapping;
8461
8381
  }
8462
8382
  async generateTypes(document, collections, outputDir, integrationName) {
@@ -8481,7 +8401,7 @@ import type * as schemas from './schemas';
8481
8401
  `;
8482
8402
  }
8483
8403
  }
8484
- fs2.writeFileSync(path2.join(outputDir, "types.ts"), typesCode);
8404
+ fs.writeFileSync(path2.join(outputDir, "types.ts"), typesCode);
8485
8405
  }
8486
8406
  async generateProvider(document, config, outputDir, integrationName) {
8487
8407
  const generator = new CollectionProviderGenerator(document);
@@ -8535,7 +8455,7 @@ import { ${Array.from(schemaImports).join(", ")} } from './schemas';
8535
8455
 
8536
8456
  `;
8537
8457
  providerCode += classBlocks.join("\n");
8538
- fs2.writeFileSync(path2.join(outputDir, "provider.ts"), providerCode);
8458
+ fs.writeFileSync(path2.join(outputDir, "provider.ts"), providerCode);
8539
8459
  }
8540
8460
  async generateClient(document, outputDir, integrationName, schemaMapping, endpointFilter) {
8541
8461
  const paths = document.paths || {};
@@ -8559,7 +8479,7 @@ import { ${Array.from(schemaImports).join(", ")} } from './schemas';
8559
8479
  validateResponses: true,
8560
8480
  strictValidation: false
8561
8481
  });
8562
- fs2.writeFileSync(path2.join(outputDir, "client.ts"), clientCode);
8482
+ fs.writeFileSync(path2.join(outputDir, "client.ts"), clientCode);
8563
8483
  }
8564
8484
  extractComponentName(ref) {
8565
8485
  const parts = ref.split("/");
@@ -8591,8 +8511,6 @@ import { ${Array.from(schemaImports).join(", ")} } from './schemas';
8591
8511
  function createOpenAPIPlugin() {
8592
8512
  return new OpenAPIPlugin();
8593
8513
  }
8594
-
8595
- // src/sources/openapi.ts
8596
8514
  var BLOCKED_HOST_PATTERNS = [
8597
8515
  /^localhost$/i,
8598
8516
  /^127\./,
@@ -8617,26 +8535,38 @@ var BLOCKED_HOST_PATTERNS = [
8617
8535
  // AWS metadata endpoint
8618
8536
  /^metadata\.googleapis\.com$/i,
8619
8537
  // GCP metadata endpoint
8538
+ /^metadata\.azure\.com$/i,
8539
+ // Azure metadata endpoint
8540
+ /^imds\.azure\.com$/i,
8541
+ // Azure IMDS endpoint
8620
8542
  /^100\.100\.100\.200$/
8621
8543
  // Alibaba Cloud metadata
8622
8544
  ];
8545
+ var BLOCKED_IPV6_PREFIXES = [
8546
+ "::1",
8547
+ // Loopback
8548
+ "fe80:",
8549
+ // Link-local
8550
+ "fc",
8551
+ // Unique local (fc00::/7 — covers fc00:: through fcff::)
8552
+ "fd"
8553
+ // Unique local (short form)
8554
+ ];
8623
8555
  var ALLOWED_PROTOCOLS = ["http:", "https:"];
8624
- function validateFetchUrl(baseUrl) {
8556
+ function validateUrlSafe(baseUrl) {
8625
8557
  let url;
8626
8558
  try {
8627
8559
  url = new URL(baseUrl);
8628
8560
  } catch {
8629
- throw new Error("SSRF Prevention: baseUrl must be a valid absolute URL");
8561
+ throw new Error("SECURITY: baseUrl must be a valid absolute URL");
8630
8562
  }
8631
8563
  if (!ALLOWED_PROTOCOLS.includes(url.protocol)) {
8632
- throw new Error(
8633
- "SSRF Prevention: Only HTTP and HTTPS protocols are allowed, got " + url.protocol
8634
- );
8564
+ throw new Error("SECURITY: Only HTTP and HTTPS protocols are allowed, got " + url.protocol);
8635
8565
  }
8636
8566
  const hostname = url.hostname.toLowerCase();
8637
8567
  for (const pattern of BLOCKED_HOST_PATTERNS) {
8638
8568
  if (pattern.test(hostname)) {
8639
- throw new Error("SSRF Prevention: Blocked internal network address: " + hostname);
8569
+ throw new Error("SECURITY: Blocked internal network address: " + hostname);
8640
8570
  }
8641
8571
  }
8642
8572
  const ip = url.hostname;
@@ -8645,37 +8575,75 @@ function validateFetchUrl(baseUrl) {
8645
8575
  const first = octets[0];
8646
8576
  const second = octets[1];
8647
8577
  if (first !== void 0 && first === 127) {
8648
- throw new Error("SSRF Prevention: Blocked loopback address: " + ip);
8578
+ throw new Error("SECURITY: Base URL resolves to private IP");
8649
8579
  }
8650
8580
  if (first !== void 0 && first === 10) {
8651
- throw new Error("SSRF Prevention: Blocked private address: " + ip);
8581
+ throw new Error("SECURITY: Base URL resolves to private IP");
8652
8582
  }
8653
8583
  if (first !== void 0 && second !== void 0 && first === 172 && second >= 16 && second <= 31) {
8654
- throw new Error("SSRF Prevention: Blocked private address: " + ip);
8584
+ throw new Error("SECURITY: Base URL resolves to private IP");
8655
8585
  }
8656
8586
  if (first !== void 0 && second !== void 0 && first === 192 && second === 168) {
8657
- throw new Error("SSRF Prevention: Blocked private address: " + ip);
8587
+ throw new Error("SECURITY: Base URL resolves to private IP");
8658
8588
  }
8659
8589
  if (first !== void 0 && second !== void 0 && first === 169 && second === 254) {
8660
- throw new Error("SSRF Prevention: Blocked link-local address: " + ip);
8590
+ throw new Error("SECURITY: Base URL resolves to private IP");
8661
8591
  }
8662
8592
  if (first !== void 0 && first === 0) {
8663
- throw new Error("SSRF Prevention: Blocked current network address: " + ip);
8593
+ throw new Error("SECURITY: Base URL resolves to private IP");
8594
+ }
8595
+ }
8596
+ const cleanHostname = hostname.replace(/^\[|\]$/g, "");
8597
+ const ipVersion = isIP(cleanHostname);
8598
+ if (ipVersion === 6) {
8599
+ for (const prefix of BLOCKED_IPV6_PREFIXES) {
8600
+ if (cleanHostname.startsWith(prefix)) {
8601
+ throw new Error("SECURITY: Base URL resolves to private IP");
8602
+ }
8603
+ }
8604
+ if (cleanHostname.startsWith("::ffff:")) {
8605
+ const mapped = cleanHostname.slice("::ffff:".length);
8606
+ let octets = null;
8607
+ const decMatch = mapped.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
8608
+ if (decMatch) {
8609
+ octets = decMatch.slice(1, 5).map(Number);
8610
+ }
8611
+ const hexMatch = mapped.match(/^([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i);
8612
+ if (!octets && hexMatch && hexMatch[1] !== void 0 && hexMatch[2] !== void 0) {
8613
+ const high = parseInt(hexMatch[1], 16);
8614
+ const low = parseInt(hexMatch[2], 16);
8615
+ octets = [high >> 8 & 255, high & 255, low >> 8 & 255, low & 255];
8616
+ }
8617
+ if (octets !== null) {
8618
+ const o0 = octets[0];
8619
+ const o1 = octets[1];
8620
+ if (o0 === 127 || // 127.0.0.0/8 loopback
8621
+ o0 === 10 || // 10.0.0.0/8 private
8622
+ o0 === 0 || // 0.0.0.0/8 current network
8623
+ o0 === 172 && o1 !== void 0 && o1 >= 16 && o1 <= 31 || // 172.16/12 private
8624
+ o0 === 192 && o1 === 168 || // 192.168/16 private
8625
+ o0 === 169 && o1 === 254) {
8626
+ throw new Error("SECURITY: Base URL resolves to private IP");
8627
+ }
8628
+ } else {
8629
+ throw new Error("SECURITY: Base URL resolves to unrecognisable IPv4-mapped address");
8630
+ }
8664
8631
  }
8665
8632
  }
8666
8633
  return url;
8667
8634
  }
8635
+ var isUrlSafe = validateUrlSafe;
8668
8636
  function validateEndpoint(endpoint) {
8669
8637
  if (endpoint.includes("..")) {
8670
- throw new Error("SSRF Prevention: Path traversal detected in endpoint");
8638
+ throw new Error("SECURITY: Path traversal detected in endpoint");
8671
8639
  }
8672
8640
  if (endpoint.includes("\\")) {
8673
- throw new Error("SSRF Prevention: Backslash detected in endpoint");
8641
+ throw new Error("SECURITY: Backslash detected in endpoint");
8674
8642
  }
8675
8643
  }
8676
8644
  function createOpenAPIFetcher(config) {
8677
8645
  const { baseUrl, endpoint, method = "get", params, body, headers = {}, auth, schema } = config;
8678
- const validatedBaseUrl = validateFetchUrl(baseUrl);
8646
+ const validatedBaseUrl = validateUrlSafe(baseUrl);
8679
8647
  validateEndpoint(endpoint);
8680
8648
  return async () => {
8681
8649
  const url = new URL(endpoint, validatedBaseUrl.toString());
@@ -8700,7 +8668,9 @@ function createOpenAPIFetcher(config) {
8700
8668
  const response = await fetch(url.toString(), {
8701
8669
  method: method.toUpperCase(),
8702
8670
  headers: requestHeaders,
8703
- body: supportsBody && body ? JSON.stringify(body) : null
8671
+ body: supportsBody && body ? JSON.stringify(body) : null,
8672
+ redirect: "error"
8673
+ // Prevent SSRF via 301/302 redirect to internal addresses
8704
8674
  });
8705
8675
  if (!response.ok) {
8706
8676
  const safeStatus = response.status;
@@ -8713,17 +8683,7 @@ function createOpenAPIFetcher(config) {
8713
8683
  return result;
8714
8684
  };
8715
8685
  }
8716
- export {
8717
- ApprovedSpecsValidator,
8718
- ClientGenerator,
8719
- CollectionProviderGenerator,
8720
- EndpointFilter,
8721
- OpenAPICollectionProvider,
8722
- OpenAPIParser,
8723
- OpenAPIPlugin,
8724
- SchemaResolver,
8725
- TypeGenerator,
8726
- ZodSchemaGenerator,
8727
- createOpenAPIFetcher,
8728
- createOpenAPIPlugin
8729
- };
8686
+
8687
+ export { ApprovedSpecsValidator, ClientGenerator, CollectionProviderGenerator, EndpointFilter, OpenAPIParser, OpenAPIPlugin, SchemaResolver, TypeGenerator, ZodSchemaGenerator, createOpenAPIFetcher, createOpenAPIPlugin, isUrlSafe, validateUrlSafe };
8688
+ //# sourceMappingURL=index.mjs.map
8689
+ //# sourceMappingURL=index.mjs.map