@schmock/cli 1.9.0 → 1.9.2

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.js CHANGED
@@ -1,4 +1,3 @@
1
- #!/usr/bin/env node
2
1
  import { createRequire } from "node:module";
3
2
  var __create = Object.create;
4
3
  var __getProtoOf = Object.getPrototypeOf;
@@ -19,7 +18,7 @@ var __toESM = (mod, isNodeMode, target) => {
19
18
  var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
20
19
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
21
20
 
22
- // ../../node_modules/json-schema-faker/dist/vendor.js
21
+ // ../../node_modules/.bun/json-schema-faker@0.5.9/node_modules/json-schema-faker/dist/vendor.js
23
22
  var require_vendor = __commonJS((exports, module) => {
24
23
  (() => {
25
24
  /*!
@@ -5478,7 +5477,47 @@ Too many redirects:
5478
5477
  })();
5479
5478
  });
5480
5479
 
5481
- // ../../node_modules/ajv/dist/compile/codegen/code.js
5480
+ // ../../node_modules/.bun/@apidevtools+swagger-parser@12.1.0+ea8cb298c1911149/node_modules/@apidevtools/swagger-parser/lib/util.js
5481
+ var require_util2 = __commonJS((exports) => {
5482
+ var util = __require("util");
5483
+ exports.format = util.format;
5484
+ exports.inherits = util.inherits;
5485
+ var parse = (u2) => new URL(u2);
5486
+ exports.swaggerParamRegExp = /\{([^/}]+)}/g;
5487
+ var operationsList = ["get", "post", "put", "delete", "patch", "options", "head", "trace"];
5488
+ function fixServers(server, path) {
5489
+ if (server.url && server.url.startsWith("/")) {
5490
+ const inUrl = parse(path);
5491
+ const finalUrl = inUrl.protocol + "//" + inUrl.hostname + server.url;
5492
+ server.url = finalUrl;
5493
+ return server;
5494
+ }
5495
+ }
5496
+ function fixOasRelativeServers(schema, filePath) {
5497
+ if (schema.openapi && filePath && (filePath.startsWith("http:") || filePath.startsWith("https:"))) {
5498
+ if (schema.servers) {
5499
+ schema.servers.map((server) => fixServers(server, filePath));
5500
+ }
5501
+ ["paths", "webhooks"].forEach((component) => {
5502
+ Object.keys(schema[component] || []).forEach((path) => {
5503
+ const pathItem = schema[component][path];
5504
+ Object.keys(pathItem).forEach((opItem) => {
5505
+ if (opItem === "servers") {
5506
+ pathItem[opItem].map((server) => fixServers(server, filePath));
5507
+ } else if (operationsList.includes(opItem)) {
5508
+ if (pathItem[opItem].servers) {
5509
+ pathItem[opItem].servers.map((server) => fixServers(server, filePath));
5510
+ }
5511
+ }
5512
+ });
5513
+ });
5514
+ });
5515
+ } else {}
5516
+ }
5517
+ exports.fixOasRelativeServers = fixOasRelativeServers;
5518
+ });
5519
+
5520
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/code.js
5482
5521
  var require_code = __commonJS((exports) => {
5483
5522
  Object.defineProperty(exports, "__esModule", { value: true });
5484
5523
  exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = undefined;
@@ -5632,7 +5671,7 @@ var require_code = __commonJS((exports) => {
5632
5671
  exports.regexpCode = regexpCode;
5633
5672
  });
5634
5673
 
5635
- // ../../node_modules/ajv/dist/compile/codegen/scope.js
5674
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/scope.js
5636
5675
  var require_scope = __commonJS((exports) => {
5637
5676
  Object.defineProperty(exports, "__esModule", { value: true });
5638
5677
  exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = undefined;
@@ -5778,7 +5817,7 @@ var require_scope = __commonJS((exports) => {
5778
5817
  exports.ValueScope = ValueScope;
5779
5818
  });
5780
5819
 
5781
- // ../../node_modules/ajv/dist/compile/codegen/index.js
5820
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/codegen/index.js
5782
5821
  var require_codegen = __commonJS((exports) => {
5783
5822
  Object.defineProperty(exports, "__esModule", { value: true });
5784
5823
  exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = undefined;
@@ -6488,8 +6527,8 @@ var require_codegen = __commonJS((exports) => {
6488
6527
  }
6489
6528
  });
6490
6529
 
6491
- // ../../node_modules/ajv/dist/compile/util.js
6492
- var require_util2 = __commonJS((exports) => {
6530
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/util.js
6531
+ var require_util3 = __commonJS((exports) => {
6493
6532
  Object.defineProperty(exports, "__esModule", { value: true });
6494
6533
  exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = undefined;
6495
6534
  var codegen_1 = require_codegen();
@@ -6652,7 +6691,7 @@ var require_util2 = __commonJS((exports) => {
6652
6691
  exports.checkStrictMode = checkStrictMode;
6653
6692
  });
6654
6693
 
6655
- // ../../node_modules/ajv/dist/compile/names.js
6694
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/names.js
6656
6695
  var require_names = __commonJS((exports) => {
6657
6696
  Object.defineProperty(exports, "__esModule", { value: true });
6658
6697
  var codegen_1 = require_codegen();
@@ -6677,12 +6716,12 @@ var require_names = __commonJS((exports) => {
6677
6716
  exports.default = names;
6678
6717
  });
6679
6718
 
6680
- // ../../node_modules/ajv/dist/compile/errors.js
6719
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/errors.js
6681
6720
  var require_errors = __commonJS((exports) => {
6682
6721
  Object.defineProperty(exports, "__esModule", { value: true });
6683
6722
  exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = undefined;
6684
6723
  var codegen_1 = require_codegen();
6685
- var util_1 = require_util2();
6724
+ var util_1 = require_util3();
6686
6725
  var names_1 = require_names();
6687
6726
  exports.keywordError = {
6688
6727
  message: ({ keyword }) => (0, codegen_1.str)`must pass "${keyword}" keyword validation`
@@ -6795,7 +6834,7 @@ var require_errors = __commonJS((exports) => {
6795
6834
  }
6796
6835
  });
6797
6836
 
6798
- // ../../node_modules/ajv/dist/compile/validate/boolSchema.js
6837
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/boolSchema.js
6799
6838
  var require_boolSchema = __commonJS((exports) => {
6800
6839
  Object.defineProperty(exports, "__esModule", { value: true });
6801
6840
  exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = undefined;
@@ -6843,7 +6882,7 @@ var require_boolSchema = __commonJS((exports) => {
6843
6882
  }
6844
6883
  });
6845
6884
 
6846
- // ../../node_modules/ajv/dist/compile/rules.js
6885
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/rules.js
6847
6886
  var require_rules = __commonJS((exports) => {
6848
6887
  Object.defineProperty(exports, "__esModule", { value: true });
6849
6888
  exports.getRules = exports.isJSONType = undefined;
@@ -6871,7 +6910,7 @@ var require_rules = __commonJS((exports) => {
6871
6910
  exports.getRules = getRules;
6872
6911
  });
6873
6912
 
6874
- // ../../node_modules/ajv/dist/compile/validate/applicability.js
6913
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/applicability.js
6875
6914
  var require_applicability = __commonJS((exports) => {
6876
6915
  Object.defineProperty(exports, "__esModule", { value: true });
6877
6916
  exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = undefined;
@@ -6891,7 +6930,7 @@ var require_applicability = __commonJS((exports) => {
6891
6930
  exports.shouldUseRule = shouldUseRule;
6892
6931
  });
6893
6932
 
6894
- // ../../node_modules/ajv/dist/compile/validate/dataType.js
6933
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/dataType.js
6895
6934
  var require_dataType = __commonJS((exports) => {
6896
6935
  Object.defineProperty(exports, "__esModule", { value: true });
6897
6936
  exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = undefined;
@@ -6899,7 +6938,7 @@ var require_dataType = __commonJS((exports) => {
6899
6938
  var applicability_1 = require_applicability();
6900
6939
  var errors_1 = require_errors();
6901
6940
  var codegen_1 = require_codegen();
6902
- var util_1 = require_util2();
6941
+ var util_1 = require_util3();
6903
6942
  var DataType;
6904
6943
  (function(DataType2) {
6905
6944
  DataType2[DataType2["Correct"] = 0] = "Correct";
@@ -7072,12 +7111,12 @@ var require_dataType = __commonJS((exports) => {
7072
7111
  }
7073
7112
  });
7074
7113
 
7075
- // ../../node_modules/ajv/dist/compile/validate/defaults.js
7114
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/defaults.js
7076
7115
  var require_defaults = __commonJS((exports) => {
7077
7116
  Object.defineProperty(exports, "__esModule", { value: true });
7078
7117
  exports.assignDefaults = undefined;
7079
7118
  var codegen_1 = require_codegen();
7080
- var util_1 = require_util2();
7119
+ var util_1 = require_util3();
7081
7120
  function assignDefaults(it, ty) {
7082
7121
  const { properties, items } = it.schema;
7083
7122
  if (ty === "object" && properties) {
@@ -7106,14 +7145,14 @@ var require_defaults = __commonJS((exports) => {
7106
7145
  }
7107
7146
  });
7108
7147
 
7109
- // ../../node_modules/ajv/dist/vocabularies/code.js
7148
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/code.js
7110
7149
  var require_code2 = __commonJS((exports) => {
7111
7150
  Object.defineProperty(exports, "__esModule", { value: true });
7112
7151
  exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = undefined;
7113
7152
  var codegen_1 = require_codegen();
7114
- var util_1 = require_util2();
7153
+ var util_1 = require_util3();
7115
7154
  var names_1 = require_names();
7116
- var util_2 = require_util2();
7155
+ var util_2 = require_util3();
7117
7156
  function checkReportMissingProp(cxt, prop) {
7118
7157
  const { gen, data, it } = cxt;
7119
7158
  gen.if(noPropertyInData(gen, data, prop, it.opts.ownProperties), () => {
@@ -7235,7 +7274,7 @@ var require_code2 = __commonJS((exports) => {
7235
7274
  exports.validateUnion = validateUnion;
7236
7275
  });
7237
7276
 
7238
- // ../../node_modules/ajv/dist/compile/validate/keyword.js
7277
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/keyword.js
7239
7278
  var require_keyword = __commonJS((exports) => {
7240
7279
  Object.defineProperty(exports, "__esModule", { value: true });
7241
7280
  exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = undefined;
@@ -7350,12 +7389,12 @@ var require_keyword = __commonJS((exports) => {
7350
7389
  exports.validateKeywordUsage = validateKeywordUsage;
7351
7390
  });
7352
7391
 
7353
- // ../../node_modules/ajv/dist/compile/validate/subschema.js
7392
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/subschema.js
7354
7393
  var require_subschema = __commonJS((exports) => {
7355
7394
  Object.defineProperty(exports, "__esModule", { value: true });
7356
7395
  exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = undefined;
7357
7396
  var codegen_1 = require_codegen();
7358
- var util_1 = require_util2();
7397
+ var util_1 = require_util3();
7359
7398
  function getSubschema(it, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }) {
7360
7399
  if (keyword !== undefined && schema !== undefined) {
7361
7400
  throw new Error('both "keyword" and "schema" passed, only one allowed');
@@ -7430,7 +7469,7 @@ var require_subschema = __commonJS((exports) => {
7430
7469
  exports.extendSubschemaMode = extendSubschemaMode;
7431
7470
  });
7432
7471
 
7433
- // ../../node_modules/fast-deep-equal/index.js
7472
+ // ../../node_modules/.bun/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js
7434
7473
  var require_fast_deep_equal = __commonJS((exports, module) => {
7435
7474
  module.exports = function equal(a2, b2) {
7436
7475
  if (a2 === b2)
@@ -7472,7 +7511,7 @@ var require_fast_deep_equal = __commonJS((exports, module) => {
7472
7511
  };
7473
7512
  });
7474
7513
 
7475
- // ../../node_modules/json-schema-traverse/index.js
7514
+ // ../../node_modules/.bun/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js
7476
7515
  var require_json_schema_traverse = __commonJS((exports, module) => {
7477
7516
  var traverse2 = module.exports = function(schema, opts, cb) {
7478
7517
  if (typeof opts == "function") {
@@ -7555,11 +7594,11 @@ var require_json_schema_traverse = __commonJS((exports, module) => {
7555
7594
  }
7556
7595
  });
7557
7596
 
7558
- // ../../node_modules/ajv/dist/compile/resolve.js
7597
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/resolve.js
7559
7598
  var require_resolve = __commonJS((exports) => {
7560
7599
  Object.defineProperty(exports, "__esModule", { value: true });
7561
7600
  exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = undefined;
7562
- var util_1 = require_util2();
7601
+ var util_1 = require_util3();
7563
7602
  var equal = require_fast_deep_equal();
7564
7603
  var traverse2 = require_json_schema_traverse();
7565
7604
  var SIMPLE_INLINED = new Set([
@@ -7708,7 +7747,7 @@ var require_resolve = __commonJS((exports) => {
7708
7747
  exports.getSchemaRefs = getSchemaRefs;
7709
7748
  });
7710
7749
 
7711
- // ../../node_modules/ajv/dist/compile/validate/index.js
7750
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/validate/index.js
7712
7751
  var require_validate = __commonJS((exports) => {
7713
7752
  Object.defineProperty(exports, "__esModule", { value: true });
7714
7753
  exports.getData = exports.KeywordCxt = exports.validateFunctionCode = undefined;
@@ -7722,7 +7761,7 @@ var require_validate = __commonJS((exports) => {
7722
7761
  var codegen_1 = require_codegen();
7723
7762
  var names_1 = require_names();
7724
7763
  var resolve_1 = require_resolve();
7725
- var util_1 = require_util2();
7764
+ var util_1 = require_util3();
7726
7765
  var errors_1 = require_errors();
7727
7766
  function validateFunctionCode(it) {
7728
7767
  if (isSchemaObj(it)) {
@@ -8213,7 +8252,7 @@ var require_validate = __commonJS((exports) => {
8213
8252
  exports.getData = getData;
8214
8253
  });
8215
8254
 
8216
- // ../../node_modules/ajv/dist/runtime/validation_error.js
8255
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/validation_error.js
8217
8256
  var require_validation_error = __commonJS((exports) => {
8218
8257
  Object.defineProperty(exports, "__esModule", { value: true });
8219
8258
 
@@ -8227,7 +8266,7 @@ var require_validation_error = __commonJS((exports) => {
8227
8266
  exports.default = ValidationError;
8228
8267
  });
8229
8268
 
8230
- // ../../node_modules/ajv/dist/compile/ref_error.js
8269
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/ref_error.js
8231
8270
  var require_ref_error = __commonJS((exports) => {
8232
8271
  Object.defineProperty(exports, "__esModule", { value: true });
8233
8272
  var resolve_1 = require_resolve();
@@ -8242,7 +8281,7 @@ var require_ref_error = __commonJS((exports) => {
8242
8281
  exports.default = MissingRefError;
8243
8282
  });
8244
8283
 
8245
- // ../../node_modules/ajv/dist/compile/index.js
8284
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/compile/index.js
8246
8285
  var require_compile = __commonJS((exports) => {
8247
8286
  Object.defineProperty(exports, "__esModule", { value: true });
8248
8287
  exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = undefined;
@@ -8250,7 +8289,7 @@ var require_compile = __commonJS((exports) => {
8250
8289
  var validation_error_1 = require_validation_error();
8251
8290
  var names_1 = require_names();
8252
8291
  var resolve_1 = require_resolve();
8253
- var util_1 = require_util2();
8292
+ var util_1 = require_util3();
8254
8293
  var validate_1 = require_validate();
8255
8294
 
8256
8295
  class SchemaEnv {
@@ -8463,7 +8502,7 @@ var require_compile = __commonJS((exports) => {
8463
8502
  }
8464
8503
  });
8465
8504
 
8466
- // ../../node_modules/ajv/dist/refs/data.json
8505
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/data.json
8467
8506
  var require_data = __commonJS((exports, module) => {
8468
8507
  module.exports = {
8469
8508
  $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
@@ -8480,7 +8519,7 @@ var require_data = __commonJS((exports, module) => {
8480
8519
  };
8481
8520
  });
8482
8521
 
8483
- // ../../node_modules/fast-uri/lib/utils.js
8522
+ // ../../node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js
8484
8523
  var require_utils = __commonJS((exports, module) => {
8485
8524
  var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
8486
8525
  var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
@@ -8735,7 +8774,7 @@ var require_utils = __commonJS((exports, module) => {
8735
8774
  };
8736
8775
  });
8737
8776
 
8738
- // ../../node_modules/fast-uri/lib/schemes.js
8777
+ // ../../node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js
8739
8778
  var require_schemes = __commonJS((exports, module) => {
8740
8779
  var { isUUID } = require_utils();
8741
8780
  var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
@@ -8909,7 +8948,7 @@ var require_schemes = __commonJS((exports, module) => {
8909
8948
  };
8910
8949
  });
8911
8950
 
8912
- // ../../node_modules/fast-uri/index.js
8951
+ // ../../node_modules/.bun/fast-uri@3.1.0/node_modules/fast-uri/index.js
8913
8952
  var require_fast_uri = __commonJS((exports, module) => {
8914
8953
  var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils();
8915
8954
  var { SCHEMES, getSchemeHandler } = require_schemes();
@@ -9160,7 +9199,7 @@ var require_fast_uri = __commonJS((exports, module) => {
9160
9199
  module.exports.fastUri = fastUri;
9161
9200
  });
9162
9201
 
9163
- // ../../node_modules/ajv/dist/runtime/uri.js
9202
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/uri.js
9164
9203
  var require_uri = __commonJS((exports) => {
9165
9204
  Object.defineProperty(exports, "__esModule", { value: true });
9166
9205
  var uri = require_fast_uri();
@@ -9168,7 +9207,7 @@ var require_uri = __commonJS((exports) => {
9168
9207
  exports.default = uri;
9169
9208
  });
9170
9209
 
9171
- // ../../node_modules/ajv/dist/core.js
9210
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/core.js
9172
9211
  var require_core = __commonJS((exports) => {
9173
9212
  Object.defineProperty(exports, "__esModule", { value: true });
9174
9213
  exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = undefined;
@@ -9202,7 +9241,7 @@ var require_core = __commonJS((exports) => {
9202
9241
  var codegen_2 = require_codegen();
9203
9242
  var resolve_1 = require_resolve();
9204
9243
  var dataType_1 = require_dataType();
9205
- var util_1 = require_util2();
9244
+ var util_1 = require_util3();
9206
9245
  var $dataRefSchema = require_data();
9207
9246
  var uri_1 = require_uri();
9208
9247
  var defaultRegExp = (str, flags) => new RegExp(str, flags);
@@ -9761,7 +9800,7 @@ var require_core = __commonJS((exports) => {
9761
9800
  }
9762
9801
  });
9763
9802
 
9764
- // ../../node_modules/ajv/dist/vocabularies/core/id.js
9803
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/id.js
9765
9804
  var require_id = __commonJS((exports) => {
9766
9805
  Object.defineProperty(exports, "__esModule", { value: true });
9767
9806
  var def = {
@@ -9773,7 +9812,7 @@ var require_id = __commonJS((exports) => {
9773
9812
  exports.default = def;
9774
9813
  });
9775
9814
 
9776
- // ../../node_modules/ajv/dist/vocabularies/core/ref.js
9815
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/ref.js
9777
9816
  var require_ref = __commonJS((exports) => {
9778
9817
  Object.defineProperty(exports, "__esModule", { value: true });
9779
9818
  exports.callRef = exports.getValidate = undefined;
@@ -9782,7 +9821,7 @@ var require_ref = __commonJS((exports) => {
9782
9821
  var codegen_1 = require_codegen();
9783
9822
  var names_1 = require_names();
9784
9823
  var compile_1 = require_compile();
9785
- var util_1 = require_util2();
9824
+ var util_1 = require_util3();
9786
9825
  var def = {
9787
9826
  keyword: "$ref",
9788
9827
  schemaType: "string",
@@ -9892,7 +9931,7 @@ var require_ref = __commonJS((exports) => {
9892
9931
  exports.default = def;
9893
9932
  });
9894
9933
 
9895
- // ../../node_modules/ajv/dist/vocabularies/core/index.js
9934
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/core/index.js
9896
9935
  var require_core2 = __commonJS((exports) => {
9897
9936
  Object.defineProperty(exports, "__esModule", { value: true });
9898
9937
  var id_1 = require_id();
@@ -9910,7 +9949,7 @@ var require_core2 = __commonJS((exports) => {
9910
9949
  exports.default = core;
9911
9950
  });
9912
9951
 
9913
- // ../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js
9952
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js
9914
9953
  var require_limitNumber = __commonJS((exports) => {
9915
9954
  Object.defineProperty(exports, "__esModule", { value: true });
9916
9955
  var codegen_1 = require_codegen();
@@ -9939,7 +9978,7 @@ var require_limitNumber = __commonJS((exports) => {
9939
9978
  exports.default = def;
9940
9979
  });
9941
9980
 
9942
- // ../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js
9981
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js
9943
9982
  var require_multipleOf = __commonJS((exports) => {
9944
9983
  Object.defineProperty(exports, "__esModule", { value: true });
9945
9984
  var codegen_1 = require_codegen();
@@ -9964,7 +10003,7 @@ var require_multipleOf = __commonJS((exports) => {
9964
10003
  exports.default = def;
9965
10004
  });
9966
10005
 
9967
- // ../../node_modules/ajv/dist/runtime/ucs2length.js
10006
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/ucs2length.js
9968
10007
  var require_ucs2length = __commonJS((exports) => {
9969
10008
  Object.defineProperty(exports, "__esModule", { value: true });
9970
10009
  function ucs2length(str) {
@@ -9987,11 +10026,11 @@ var require_ucs2length = __commonJS((exports) => {
9987
10026
  ucs2length.code = 'require("ajv/dist/runtime/ucs2length").default';
9988
10027
  });
9989
10028
 
9990
- // ../../node_modules/ajv/dist/vocabularies/validation/limitLength.js
10029
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js
9991
10030
  var require_limitLength = __commonJS((exports) => {
9992
10031
  Object.defineProperty(exports, "__esModule", { value: true });
9993
10032
  var codegen_1 = require_codegen();
9994
- var util_1 = require_util2();
10033
+ var util_1 = require_util3();
9995
10034
  var ucs2length_1 = require_ucs2length();
9996
10035
  var error = {
9997
10036
  message({ keyword, schemaCode }) {
@@ -10016,10 +10055,11 @@ var require_limitLength = __commonJS((exports) => {
10016
10055
  exports.default = def;
10017
10056
  });
10018
10057
 
10019
- // ../../node_modules/ajv/dist/vocabularies/validation/pattern.js
10058
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/pattern.js
10020
10059
  var require_pattern = __commonJS((exports) => {
10021
10060
  Object.defineProperty(exports, "__esModule", { value: true });
10022
10061
  var code_1 = require_code2();
10062
+ var util_1 = require_util3();
10023
10063
  var codegen_1 = require_codegen();
10024
10064
  var error = {
10025
10065
  message: ({ schemaCode }) => (0, codegen_1.str)`must match pattern "${schemaCode}"`,
@@ -10032,16 +10072,24 @@ var require_pattern = __commonJS((exports) => {
10032
10072
  $data: true,
10033
10073
  error,
10034
10074
  code(cxt) {
10035
- const { data, $data, schema, schemaCode, it } = cxt;
10075
+ const { gen, data, $data, schema, schemaCode, it } = cxt;
10036
10076
  const u2 = it.opts.unicodeRegExp ? "u" : "";
10037
- const regExp = $data ? (0, codegen_1._)`(new RegExp(${schemaCode}, ${u2}))` : (0, code_1.usePattern)(cxt, schema);
10038
- cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`);
10077
+ if ($data) {
10078
+ const { regExp } = it.opts.code;
10079
+ const regExpCode = regExp.code === "new RegExp" ? (0, codegen_1._)`new RegExp` : (0, util_1.useFunc)(gen, regExp);
10080
+ const valid = gen.let("valid");
10081
+ gen.try(() => gen.assign(valid, (0, codegen_1._)`${regExpCode}(${schemaCode}, ${u2}).test(${data})`), () => gen.assign(valid, false));
10082
+ cxt.fail$data((0, codegen_1._)`!${valid}`);
10083
+ } else {
10084
+ const regExp = (0, code_1.usePattern)(cxt, schema);
10085
+ cxt.fail$data((0, codegen_1._)`!${regExp}.test(${data})`);
10086
+ }
10039
10087
  }
10040
10088
  };
10041
10089
  exports.default = def;
10042
10090
  });
10043
10091
 
10044
- // ../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js
10092
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js
10045
10093
  var require_limitProperties = __commonJS((exports) => {
10046
10094
  Object.defineProperty(exports, "__esModule", { value: true });
10047
10095
  var codegen_1 = require_codegen();
@@ -10067,12 +10115,12 @@ var require_limitProperties = __commonJS((exports) => {
10067
10115
  exports.default = def;
10068
10116
  });
10069
10117
 
10070
- // ../../node_modules/ajv/dist/vocabularies/validation/required.js
10118
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/required.js
10071
10119
  var require_required = __commonJS((exports) => {
10072
10120
  Object.defineProperty(exports, "__esModule", { value: true });
10073
10121
  var code_1 = require_code2();
10074
10122
  var codegen_1 = require_codegen();
10075
- var util_1 = require_util2();
10123
+ var util_1 = require_util3();
10076
10124
  var error = {
10077
10125
  message: ({ params: { missingProperty } }) => (0, codegen_1.str)`must have required property '${missingProperty}'`,
10078
10126
  params: ({ params: { missingProperty } }) => (0, codegen_1._)`{missingProperty: ${missingProperty}}`
@@ -10146,7 +10194,7 @@ var require_required = __commonJS((exports) => {
10146
10194
  exports.default = def;
10147
10195
  });
10148
10196
 
10149
- // ../../node_modules/ajv/dist/vocabularies/validation/limitItems.js
10197
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js
10150
10198
  var require_limitItems = __commonJS((exports) => {
10151
10199
  Object.defineProperty(exports, "__esModule", { value: true });
10152
10200
  var codegen_1 = require_codegen();
@@ -10172,7 +10220,7 @@ var require_limitItems = __commonJS((exports) => {
10172
10220
  exports.default = def;
10173
10221
  });
10174
10222
 
10175
- // ../../node_modules/ajv/dist/runtime/equal.js
10223
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/runtime/equal.js
10176
10224
  var require_equal = __commonJS((exports) => {
10177
10225
  Object.defineProperty(exports, "__esModule", { value: true });
10178
10226
  var equal = require_fast_deep_equal();
@@ -10180,12 +10228,12 @@ var require_equal = __commonJS((exports) => {
10180
10228
  exports.default = equal;
10181
10229
  });
10182
10230
 
10183
- // ../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
10231
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
10184
10232
  var require_uniqueItems = __commonJS((exports) => {
10185
10233
  Object.defineProperty(exports, "__esModule", { value: true });
10186
10234
  var dataType_1 = require_dataType();
10187
10235
  var codegen_1 = require_codegen();
10188
- var util_1 = require_util2();
10236
+ var util_1 = require_util3();
10189
10237
  var equal_1 = require_equal();
10190
10238
  var error = {
10191
10239
  message: ({ params: { i: i2, j: j3 } }) => (0, codegen_1.str)`must NOT have duplicate items (items ## ${j3} and ${i2} are identical)`,
@@ -10244,11 +10292,11 @@ var require_uniqueItems = __commonJS((exports) => {
10244
10292
  exports.default = def;
10245
10293
  });
10246
10294
 
10247
- // ../../node_modules/ajv/dist/vocabularies/validation/const.js
10295
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/const.js
10248
10296
  var require_const = __commonJS((exports) => {
10249
10297
  Object.defineProperty(exports, "__esModule", { value: true });
10250
10298
  var codegen_1 = require_codegen();
10251
- var util_1 = require_util2();
10299
+ var util_1 = require_util3();
10252
10300
  var equal_1 = require_equal();
10253
10301
  var error = {
10254
10302
  message: "must be equal to constant",
@@ -10270,11 +10318,11 @@ var require_const = __commonJS((exports) => {
10270
10318
  exports.default = def;
10271
10319
  });
10272
10320
 
10273
- // ../../node_modules/ajv/dist/vocabularies/validation/enum.js
10321
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/enum.js
10274
10322
  var require_enum = __commonJS((exports) => {
10275
10323
  Object.defineProperty(exports, "__esModule", { value: true });
10276
10324
  var codegen_1 = require_codegen();
10277
- var util_1 = require_util2();
10325
+ var util_1 = require_util3();
10278
10326
  var equal_1 = require_equal();
10279
10327
  var error = {
10280
10328
  message: "must be equal to one of the allowed values",
@@ -10316,7 +10364,7 @@ var require_enum = __commonJS((exports) => {
10316
10364
  exports.default = def;
10317
10365
  });
10318
10366
 
10319
- // ../../node_modules/ajv/dist/vocabularies/validation/index.js
10367
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/index.js
10320
10368
  var require_validation = __commonJS((exports) => {
10321
10369
  Object.defineProperty(exports, "__esModule", { value: true });
10322
10370
  var limitNumber_1 = require_limitNumber();
@@ -10346,12 +10394,12 @@ var require_validation = __commonJS((exports) => {
10346
10394
  exports.default = validation;
10347
10395
  });
10348
10396
 
10349
- // ../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
10397
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
10350
10398
  var require_additionalItems = __commonJS((exports) => {
10351
10399
  Object.defineProperty(exports, "__esModule", { value: true });
10352
10400
  exports.validateAdditionalItems = undefined;
10353
10401
  var codegen_1 = require_codegen();
10354
- var util_1 = require_util2();
10402
+ var util_1 = require_util3();
10355
10403
  var error = {
10356
10404
  message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`,
10357
10405
  params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`
@@ -10396,12 +10444,12 @@ var require_additionalItems = __commonJS((exports) => {
10396
10444
  exports.default = def;
10397
10445
  });
10398
10446
 
10399
- // ../../node_modules/ajv/dist/vocabularies/applicator/items.js
10447
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items.js
10400
10448
  var require_items = __commonJS((exports) => {
10401
10449
  Object.defineProperty(exports, "__esModule", { value: true });
10402
10450
  exports.validateTuple = undefined;
10403
10451
  var codegen_1 = require_codegen();
10404
- var util_1 = require_util2();
10452
+ var util_1 = require_util3();
10405
10453
  var code_1 = require_code2();
10406
10454
  var def = {
10407
10455
  keyword: "items",
@@ -10450,7 +10498,7 @@ var require_items = __commonJS((exports) => {
10450
10498
  exports.default = def;
10451
10499
  });
10452
10500
 
10453
- // ../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
10501
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
10454
10502
  var require_prefixItems = __commonJS((exports) => {
10455
10503
  Object.defineProperty(exports, "__esModule", { value: true });
10456
10504
  var items_1 = require_items();
@@ -10464,11 +10512,11 @@ var require_prefixItems = __commonJS((exports) => {
10464
10512
  exports.default = def;
10465
10513
  });
10466
10514
 
10467
- // ../../node_modules/ajv/dist/vocabularies/applicator/items2020.js
10515
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js
10468
10516
  var require_items2020 = __commonJS((exports) => {
10469
10517
  Object.defineProperty(exports, "__esModule", { value: true });
10470
10518
  var codegen_1 = require_codegen();
10471
- var util_1 = require_util2();
10519
+ var util_1 = require_util3();
10472
10520
  var code_1 = require_code2();
10473
10521
  var additionalItems_1 = require_additionalItems();
10474
10522
  var error = {
@@ -10496,11 +10544,11 @@ var require_items2020 = __commonJS((exports) => {
10496
10544
  exports.default = def;
10497
10545
  });
10498
10546
 
10499
- // ../../node_modules/ajv/dist/vocabularies/applicator/contains.js
10547
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/contains.js
10500
10548
  var require_contains = __commonJS((exports) => {
10501
10549
  Object.defineProperty(exports, "__esModule", { value: true });
10502
10550
  var codegen_1 = require_codegen();
10503
- var util_1 = require_util2();
10551
+ var util_1 = require_util3();
10504
10552
  var error = {
10505
10553
  message: ({ params: { min, max } }) => max === undefined ? (0, codegen_1.str)`must contain at least ${min} valid item(s)` : (0, codegen_1.str)`must contain at least ${min} and no more than ${max} valid item(s)`,
10506
10554
  params: ({ params: { min, max } }) => max === undefined ? (0, codegen_1._)`{minContains: ${min}}` : (0, codegen_1._)`{minContains: ${min}, maxContains: ${max}}`
@@ -10587,12 +10635,12 @@ var require_contains = __commonJS((exports) => {
10587
10635
  exports.default = def;
10588
10636
  });
10589
10637
 
10590
- // ../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js
10638
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js
10591
10639
  var require_dependencies = __commonJS((exports) => {
10592
10640
  Object.defineProperty(exports, "__esModule", { value: true });
10593
10641
  exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = undefined;
10594
10642
  var codegen_1 = require_codegen();
10595
- var util_1 = require_util2();
10643
+ var util_1 = require_util3();
10596
10644
  var code_1 = require_code2();
10597
10645
  exports.error = {
10598
10646
  message: ({ params: { property, depsCount, deps } }) => {
@@ -10672,11 +10720,11 @@ var require_dependencies = __commonJS((exports) => {
10672
10720
  exports.default = def;
10673
10721
  });
10674
10722
 
10675
- // ../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
10723
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
10676
10724
  var require_propertyNames = __commonJS((exports) => {
10677
10725
  Object.defineProperty(exports, "__esModule", { value: true });
10678
10726
  var codegen_1 = require_codegen();
10679
- var util_1 = require_util2();
10727
+ var util_1 = require_util3();
10680
10728
  var error = {
10681
10729
  message: "property name must be valid",
10682
10730
  params: ({ params }) => (0, codegen_1._)`{propertyName: ${params.propertyName}}`
@@ -10712,13 +10760,13 @@ var require_propertyNames = __commonJS((exports) => {
10712
10760
  exports.default = def;
10713
10761
  });
10714
10762
 
10715
- // ../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
10763
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
10716
10764
  var require_additionalProperties = __commonJS((exports) => {
10717
10765
  Object.defineProperty(exports, "__esModule", { value: true });
10718
10766
  var code_1 = require_code2();
10719
10767
  var codegen_1 = require_codegen();
10720
10768
  var names_1 = require_names();
10721
- var util_1 = require_util2();
10769
+ var util_1 = require_util3();
10722
10770
  var error = {
10723
10771
  message: "must NOT have additional properties",
10724
10772
  params: ({ params }) => (0, codegen_1._)`{additionalProperty: ${params.additionalProperty}}`
@@ -10815,12 +10863,12 @@ var require_additionalProperties = __commonJS((exports) => {
10815
10863
  exports.default = def;
10816
10864
  });
10817
10865
 
10818
- // ../../node_modules/ajv/dist/vocabularies/applicator/properties.js
10866
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/properties.js
10819
10867
  var require_properties = __commonJS((exports) => {
10820
10868
  Object.defineProperty(exports, "__esModule", { value: true });
10821
10869
  var validate_1 = require_validate();
10822
10870
  var code_1 = require_code2();
10823
- var util_1 = require_util2();
10871
+ var util_1 = require_util3();
10824
10872
  var additionalProperties_1 = require_additionalProperties();
10825
10873
  var def = {
10826
10874
  keyword: "properties",
@@ -10870,13 +10918,13 @@ var require_properties = __commonJS((exports) => {
10870
10918
  exports.default = def;
10871
10919
  });
10872
10920
 
10873
- // ../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
10921
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
10874
10922
  var require_patternProperties = __commonJS((exports) => {
10875
10923
  Object.defineProperty(exports, "__esModule", { value: true });
10876
10924
  var code_1 = require_code2();
10877
10925
  var codegen_1 = require_codegen();
10878
- var util_1 = require_util2();
10879
- var util_2 = require_util2();
10926
+ var util_1 = require_util3();
10927
+ var util_2 = require_util3();
10880
10928
  var def = {
10881
10929
  keyword: "patternProperties",
10882
10930
  type: "object",
@@ -10941,10 +10989,10 @@ var require_patternProperties = __commonJS((exports) => {
10941
10989
  exports.default = def;
10942
10990
  });
10943
10991
 
10944
- // ../../node_modules/ajv/dist/vocabularies/applicator/not.js
10992
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/not.js
10945
10993
  var require_not = __commonJS((exports) => {
10946
10994
  Object.defineProperty(exports, "__esModule", { value: true });
10947
- var util_1 = require_util2();
10995
+ var util_1 = require_util3();
10948
10996
  var def = {
10949
10997
  keyword: "not",
10950
10998
  schemaType: ["object", "boolean"],
@@ -10969,7 +11017,7 @@ var require_not = __commonJS((exports) => {
10969
11017
  exports.default = def;
10970
11018
  });
10971
11019
 
10972
- // ../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js
11020
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js
10973
11021
  var require_anyOf = __commonJS((exports) => {
10974
11022
  Object.defineProperty(exports, "__esModule", { value: true });
10975
11023
  var code_1 = require_code2();
@@ -10983,11 +11031,11 @@ var require_anyOf = __commonJS((exports) => {
10983
11031
  exports.default = def;
10984
11032
  });
10985
11033
 
10986
- // ../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js
11034
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js
10987
11035
  var require_oneOf = __commonJS((exports) => {
10988
11036
  Object.defineProperty(exports, "__esModule", { value: true });
10989
11037
  var codegen_1 = require_codegen();
10990
- var util_1 = require_util2();
11038
+ var util_1 = require_util3();
10991
11039
  var error = {
10992
11040
  message: "must match exactly one schema in oneOf",
10993
11041
  params: ({ params }) => (0, codegen_1._)`{passingSchemas: ${params.passing}}`
@@ -11038,10 +11086,10 @@ var require_oneOf = __commonJS((exports) => {
11038
11086
  exports.default = def;
11039
11087
  });
11040
11088
 
11041
- // ../../node_modules/ajv/dist/vocabularies/applicator/allOf.js
11089
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js
11042
11090
  var require_allOf = __commonJS((exports) => {
11043
11091
  Object.defineProperty(exports, "__esModule", { value: true });
11044
- var util_1 = require_util2();
11092
+ var util_1 = require_util3();
11045
11093
  var def = {
11046
11094
  keyword: "allOf",
11047
11095
  schemaType: "array",
@@ -11062,11 +11110,11 @@ var require_allOf = __commonJS((exports) => {
11062
11110
  exports.default = def;
11063
11111
  });
11064
11112
 
11065
- // ../../node_modules/ajv/dist/vocabularies/applicator/if.js
11113
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/if.js
11066
11114
  var require_if = __commonJS((exports) => {
11067
11115
  Object.defineProperty(exports, "__esModule", { value: true });
11068
11116
  var codegen_1 = require_codegen();
11069
- var util_1 = require_util2();
11117
+ var util_1 = require_util3();
11070
11118
  var error = {
11071
11119
  message: ({ params }) => (0, codegen_1.str)`must match "${params.ifClause}" schema`,
11072
11120
  params: ({ params }) => (0, codegen_1._)`{failingKeyword: ${params.ifClause}}`
@@ -11128,10 +11176,10 @@ var require_if = __commonJS((exports) => {
11128
11176
  exports.default = def;
11129
11177
  });
11130
11178
 
11131
- // ../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js
11179
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js
11132
11180
  var require_thenElse = __commonJS((exports) => {
11133
11181
  Object.defineProperty(exports, "__esModule", { value: true });
11134
- var util_1 = require_util2();
11182
+ var util_1 = require_util3();
11135
11183
  var def = {
11136
11184
  keyword: ["then", "else"],
11137
11185
  schemaType: ["object", "boolean"],
@@ -11143,7 +11191,7 @@ var require_thenElse = __commonJS((exports) => {
11143
11191
  exports.default = def;
11144
11192
  });
11145
11193
 
11146
- // ../../node_modules/ajv/dist/vocabularies/applicator/index.js
11194
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/index.js
11147
11195
  var require_applicator = __commonJS((exports) => {
11148
11196
  Object.defineProperty(exports, "__esModule", { value: true });
11149
11197
  var additionalItems_1 = require_additionalItems();
@@ -11186,7 +11234,290 @@ var require_applicator = __commonJS((exports) => {
11186
11234
  exports.default = getApplicator;
11187
11235
  });
11188
11236
 
11189
- // ../../node_modules/ajv/dist/vocabularies/format/format.js
11237
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js
11238
+ var require_dynamicAnchor = __commonJS((exports) => {
11239
+ Object.defineProperty(exports, "__esModule", { value: true });
11240
+ exports.dynamicAnchor = undefined;
11241
+ var codegen_1 = require_codegen();
11242
+ var names_1 = require_names();
11243
+ var compile_1 = require_compile();
11244
+ var ref_1 = require_ref();
11245
+ var def = {
11246
+ keyword: "$dynamicAnchor",
11247
+ schemaType: "string",
11248
+ code: (cxt) => dynamicAnchor(cxt, cxt.schema)
11249
+ };
11250
+ function dynamicAnchor(cxt, anchor) {
11251
+ const { gen, it } = cxt;
11252
+ it.schemaEnv.root.dynamicAnchors[anchor] = true;
11253
+ const v3 = (0, codegen_1._)`${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(anchor)}`;
11254
+ const validate2 = it.errSchemaPath === "#" ? it.validateName : _getValidate(cxt);
11255
+ gen.if((0, codegen_1._)`!${v3}`, () => gen.assign(v3, validate2));
11256
+ }
11257
+ exports.dynamicAnchor = dynamicAnchor;
11258
+ function _getValidate(cxt) {
11259
+ const { schemaEnv, schema, self: self2 } = cxt.it;
11260
+ const { root, baseId, localRefs, meta } = schemaEnv.root;
11261
+ const { schemaId } = self2.opts;
11262
+ const sch = new compile_1.SchemaEnv({ schema, schemaId, root, baseId, localRefs, meta });
11263
+ compile_1.compileSchema.call(self2, sch);
11264
+ return (0, ref_1.getValidate)(cxt, sch);
11265
+ }
11266
+ exports.default = def;
11267
+ });
11268
+
11269
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js
11270
+ var require_dynamicRef = __commonJS((exports) => {
11271
+ Object.defineProperty(exports, "__esModule", { value: true });
11272
+ exports.dynamicRef = undefined;
11273
+ var codegen_1 = require_codegen();
11274
+ var names_1 = require_names();
11275
+ var ref_1 = require_ref();
11276
+ var def = {
11277
+ keyword: "$dynamicRef",
11278
+ schemaType: "string",
11279
+ code: (cxt) => dynamicRef(cxt, cxt.schema)
11280
+ };
11281
+ function dynamicRef(cxt, ref) {
11282
+ const { gen, keyword, it } = cxt;
11283
+ if (ref[0] !== "#")
11284
+ throw new Error(`"${keyword}" only supports hash fragment reference`);
11285
+ const anchor = ref.slice(1);
11286
+ if (it.allErrors) {
11287
+ _dynamicRef();
11288
+ } else {
11289
+ const valid = gen.let("valid", false);
11290
+ _dynamicRef(valid);
11291
+ cxt.ok(valid);
11292
+ }
11293
+ function _dynamicRef(valid) {
11294
+ if (it.schemaEnv.root.dynamicAnchors[anchor]) {
11295
+ const v3 = gen.let("_v", (0, codegen_1._)`${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(anchor)}`);
11296
+ gen.if(v3, _callRef(v3, valid), _callRef(it.validateName, valid));
11297
+ } else {
11298
+ _callRef(it.validateName, valid)();
11299
+ }
11300
+ }
11301
+ function _callRef(validate2, valid) {
11302
+ return valid ? () => gen.block(() => {
11303
+ (0, ref_1.callRef)(cxt, validate2);
11304
+ gen.let(valid, true);
11305
+ }) : () => (0, ref_1.callRef)(cxt, validate2);
11306
+ }
11307
+ }
11308
+ exports.dynamicRef = dynamicRef;
11309
+ exports.default = def;
11310
+ });
11311
+
11312
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js
11313
+ var require_recursiveAnchor = __commonJS((exports) => {
11314
+ Object.defineProperty(exports, "__esModule", { value: true });
11315
+ var dynamicAnchor_1 = require_dynamicAnchor();
11316
+ var util_1 = require_util3();
11317
+ var def = {
11318
+ keyword: "$recursiveAnchor",
11319
+ schemaType: "boolean",
11320
+ code(cxt) {
11321
+ if (cxt.schema)
11322
+ (0, dynamicAnchor_1.dynamicAnchor)(cxt, "");
11323
+ else
11324
+ (0, util_1.checkStrictMode)(cxt.it, "$recursiveAnchor: false is ignored");
11325
+ }
11326
+ };
11327
+ exports.default = def;
11328
+ });
11329
+
11330
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js
11331
+ var require_recursiveRef = __commonJS((exports) => {
11332
+ Object.defineProperty(exports, "__esModule", { value: true });
11333
+ var dynamicRef_1 = require_dynamicRef();
11334
+ var def = {
11335
+ keyword: "$recursiveRef",
11336
+ schemaType: "string",
11337
+ code: (cxt) => (0, dynamicRef_1.dynamicRef)(cxt, cxt.schema)
11338
+ };
11339
+ exports.default = def;
11340
+ });
11341
+
11342
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/dynamic/index.js
11343
+ var require_dynamic = __commonJS((exports) => {
11344
+ Object.defineProperty(exports, "__esModule", { value: true });
11345
+ var dynamicAnchor_1 = require_dynamicAnchor();
11346
+ var dynamicRef_1 = require_dynamicRef();
11347
+ var recursiveAnchor_1 = require_recursiveAnchor();
11348
+ var recursiveRef_1 = require_recursiveRef();
11349
+ var dynamic = [dynamicAnchor_1.default, dynamicRef_1.default, recursiveAnchor_1.default, recursiveRef_1.default];
11350
+ exports.default = dynamic;
11351
+ });
11352
+
11353
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/dependentRequired.js
11354
+ var require_dependentRequired = __commonJS((exports) => {
11355
+ Object.defineProperty(exports, "__esModule", { value: true });
11356
+ var dependencies_1 = require_dependencies();
11357
+ var def = {
11358
+ keyword: "dependentRequired",
11359
+ type: "object",
11360
+ schemaType: "object",
11361
+ error: dependencies_1.error,
11362
+ code: (cxt) => (0, dependencies_1.validatePropertyDeps)(cxt)
11363
+ };
11364
+ exports.default = def;
11365
+ });
11366
+
11367
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js
11368
+ var require_dependentSchemas = __commonJS((exports) => {
11369
+ Object.defineProperty(exports, "__esModule", { value: true });
11370
+ var dependencies_1 = require_dependencies();
11371
+ var def = {
11372
+ keyword: "dependentSchemas",
11373
+ type: "object",
11374
+ schemaType: "object",
11375
+ code: (cxt) => (0, dependencies_1.validateSchemaDeps)(cxt)
11376
+ };
11377
+ exports.default = def;
11378
+ });
11379
+
11380
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/validation/limitContains.js
11381
+ var require_limitContains = __commonJS((exports) => {
11382
+ Object.defineProperty(exports, "__esModule", { value: true });
11383
+ var util_1 = require_util3();
11384
+ var def = {
11385
+ keyword: ["maxContains", "minContains"],
11386
+ type: "array",
11387
+ schemaType: "number",
11388
+ code({ keyword, parentSchema, it }) {
11389
+ if (parentSchema.contains === undefined) {
11390
+ (0, util_1.checkStrictMode)(it, `"${keyword}" without "contains" is ignored`);
11391
+ }
11392
+ }
11393
+ };
11394
+ exports.default = def;
11395
+ });
11396
+
11397
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/next.js
11398
+ var require_next = __commonJS((exports) => {
11399
+ Object.defineProperty(exports, "__esModule", { value: true });
11400
+ var dependentRequired_1 = require_dependentRequired();
11401
+ var dependentSchemas_1 = require_dependentSchemas();
11402
+ var limitContains_1 = require_limitContains();
11403
+ var next = [dependentRequired_1.default, dependentSchemas_1.default, limitContains_1.default];
11404
+ exports.default = next;
11405
+ });
11406
+
11407
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js
11408
+ var require_unevaluatedProperties = __commonJS((exports) => {
11409
+ Object.defineProperty(exports, "__esModule", { value: true });
11410
+ var codegen_1 = require_codegen();
11411
+ var util_1 = require_util3();
11412
+ var names_1 = require_names();
11413
+ var error = {
11414
+ message: "must NOT have unevaluated properties",
11415
+ params: ({ params }) => (0, codegen_1._)`{unevaluatedProperty: ${params.unevaluatedProperty}}`
11416
+ };
11417
+ var def = {
11418
+ keyword: "unevaluatedProperties",
11419
+ type: "object",
11420
+ schemaType: ["boolean", "object"],
11421
+ trackErrors: true,
11422
+ error,
11423
+ code(cxt) {
11424
+ const { gen, schema, data, errsCount, it } = cxt;
11425
+ if (!errsCount)
11426
+ throw new Error("ajv implementation error");
11427
+ const { allErrors, props } = it;
11428
+ if (props instanceof codegen_1.Name) {
11429
+ gen.if((0, codegen_1._)`${props} !== true`, () => gen.forIn("key", data, (key) => gen.if(unevaluatedDynamic(props, key), () => unevaluatedPropCode(key))));
11430
+ } else if (props !== true) {
11431
+ gen.forIn("key", data, (key) => props === undefined ? unevaluatedPropCode(key) : gen.if(unevaluatedStatic(props, key), () => unevaluatedPropCode(key)));
11432
+ }
11433
+ it.props = true;
11434
+ cxt.ok((0, codegen_1._)`${errsCount} === ${names_1.default.errors}`);
11435
+ function unevaluatedPropCode(key) {
11436
+ if (schema === false) {
11437
+ cxt.setParams({ unevaluatedProperty: key });
11438
+ cxt.error();
11439
+ if (!allErrors)
11440
+ gen.break();
11441
+ return;
11442
+ }
11443
+ if (!(0, util_1.alwaysValidSchema)(it, schema)) {
11444
+ const valid = gen.name("valid");
11445
+ cxt.subschema({
11446
+ keyword: "unevaluatedProperties",
11447
+ dataProp: key,
11448
+ dataPropType: util_1.Type.Str
11449
+ }, valid);
11450
+ if (!allErrors)
11451
+ gen.if((0, codegen_1.not)(valid), () => gen.break());
11452
+ }
11453
+ }
11454
+ function unevaluatedDynamic(evaluatedProps, key) {
11455
+ return (0, codegen_1._)`!${evaluatedProps} || !${evaluatedProps}[${key}]`;
11456
+ }
11457
+ function unevaluatedStatic(evaluatedProps, key) {
11458
+ const ps = [];
11459
+ for (const p3 in evaluatedProps) {
11460
+ if (evaluatedProps[p3] === true)
11461
+ ps.push((0, codegen_1._)`${key} !== ${p3}`);
11462
+ }
11463
+ return (0, codegen_1.and)(...ps);
11464
+ }
11465
+ }
11466
+ };
11467
+ exports.default = def;
11468
+ });
11469
+
11470
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js
11471
+ var require_unevaluatedItems = __commonJS((exports) => {
11472
+ Object.defineProperty(exports, "__esModule", { value: true });
11473
+ var codegen_1 = require_codegen();
11474
+ var util_1 = require_util3();
11475
+ var error = {
11476
+ message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`,
11477
+ params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`
11478
+ };
11479
+ var def = {
11480
+ keyword: "unevaluatedItems",
11481
+ type: "array",
11482
+ schemaType: ["boolean", "object"],
11483
+ error,
11484
+ code(cxt) {
11485
+ const { gen, schema, data, it } = cxt;
11486
+ const items = it.items || 0;
11487
+ if (items === true)
11488
+ return;
11489
+ const len = gen.const("len", (0, codegen_1._)`${data}.length`);
11490
+ if (schema === false) {
11491
+ cxt.setParams({ len: items });
11492
+ cxt.fail((0, codegen_1._)`${len} > ${items}`);
11493
+ } else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) {
11494
+ const valid = gen.var("valid", (0, codegen_1._)`${len} <= ${items}`);
11495
+ gen.if((0, codegen_1.not)(valid), () => validateItems(valid, items));
11496
+ cxt.ok(valid);
11497
+ }
11498
+ it.items = true;
11499
+ function validateItems(valid, from) {
11500
+ gen.forRange("i", from, len, (i2) => {
11501
+ cxt.subschema({ keyword: "unevaluatedItems", dataProp: i2, dataPropType: util_1.Type.Num }, valid);
11502
+ if (!it.allErrors)
11503
+ gen.if((0, codegen_1.not)(valid), () => gen.break());
11504
+ });
11505
+ }
11506
+ }
11507
+ };
11508
+ exports.default = def;
11509
+ });
11510
+
11511
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/unevaluated/index.js
11512
+ var require_unevaluated = __commonJS((exports) => {
11513
+ Object.defineProperty(exports, "__esModule", { value: true });
11514
+ var unevaluatedProperties_1 = require_unevaluatedProperties();
11515
+ var unevaluatedItems_1 = require_unevaluatedItems();
11516
+ var unevaluated = [unevaluatedProperties_1.default, unevaluatedItems_1.default];
11517
+ exports.default = unevaluated;
11518
+ });
11519
+
11520
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/format.js
11190
11521
  var require_format = __commonJS((exports) => {
11191
11522
  Object.defineProperty(exports, "__esModule", { value: true });
11192
11523
  var codegen_1 = require_codegen();
@@ -11273,7 +11604,7 @@ var require_format = __commonJS((exports) => {
11273
11604
  exports.default = def;
11274
11605
  });
11275
11606
 
11276
- // ../../node_modules/ajv/dist/vocabularies/format/index.js
11607
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/format/index.js
11277
11608
  var require_format2 = __commonJS((exports) => {
11278
11609
  Object.defineProperty(exports, "__esModule", { value: true });
11279
11610
  var format_1 = require_format();
@@ -11281,7 +11612,7 @@ var require_format2 = __commonJS((exports) => {
11281
11612
  exports.default = format;
11282
11613
  });
11283
11614
 
11284
- // ../../node_modules/ajv/dist/vocabularies/metadata.js
11615
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/metadata.js
11285
11616
  var require_metadata = __commonJS((exports) => {
11286
11617
  Object.defineProperty(exports, "__esModule", { value: true });
11287
11618
  exports.contentVocabulary = exports.metadataVocabulary = undefined;
@@ -11301,26 +11632,32 @@ var require_metadata = __commonJS((exports) => {
11301
11632
  ];
11302
11633
  });
11303
11634
 
11304
- // ../../node_modules/ajv/dist/vocabularies/draft7.js
11305
- var require_draft7 = __commonJS((exports) => {
11635
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft2020.js
11636
+ var require_draft2020 = __commonJS((exports) => {
11306
11637
  Object.defineProperty(exports, "__esModule", { value: true });
11307
11638
  var core_1 = require_core2();
11308
11639
  var validation_1 = require_validation();
11309
11640
  var applicator_1 = require_applicator();
11641
+ var dynamic_1 = require_dynamic();
11642
+ var next_1 = require_next();
11643
+ var unevaluated_1 = require_unevaluated();
11310
11644
  var format_1 = require_format2();
11311
11645
  var metadata_1 = require_metadata();
11312
- var draft7Vocabularies = [
11646
+ var draft2020Vocabularies = [
11647
+ dynamic_1.default,
11313
11648
  core_1.default,
11314
11649
  validation_1.default,
11315
- (0, applicator_1.default)(),
11650
+ (0, applicator_1.default)(true),
11316
11651
  format_1.default,
11317
11652
  metadata_1.metadataVocabulary,
11318
- metadata_1.contentVocabulary
11653
+ metadata_1.contentVocabulary,
11654
+ next_1.default,
11655
+ unevaluated_1.default
11319
11656
  ];
11320
- exports.default = draft7Vocabularies;
11657
+ exports.default = draft2020Vocabularies;
11321
11658
  });
11322
11659
 
11323
- // ../../node_modules/ajv/dist/vocabularies/discriminator/types.js
11660
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/types.js
11324
11661
  var require_types3 = __commonJS((exports) => {
11325
11662
  Object.defineProperty(exports, "__esModule", { value: true });
11326
11663
  exports.DiscrError = undefined;
@@ -11331,14 +11668,14 @@ var require_types3 = __commonJS((exports) => {
11331
11668
  })(DiscrError || (exports.DiscrError = DiscrError = {}));
11332
11669
  });
11333
11670
 
11334
- // ../../node_modules/ajv/dist/vocabularies/discriminator/index.js
11671
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/discriminator/index.js
11335
11672
  var require_discriminator = __commonJS((exports) => {
11336
11673
  Object.defineProperty(exports, "__esModule", { value: true });
11337
11674
  var codegen_1 = require_codegen();
11338
11675
  var types_1 = require_types3();
11339
11676
  var compile_1 = require_compile();
11340
11677
  var ref_error_1 = require_ref_error();
11341
- var util_1 = require_util2();
11678
+ var util_1 = require_util3();
11342
11679
  var error = {
11343
11680
  message: ({ params: { discrError, tagName } }) => discrError === types_1.DiscrError.Tag ? `tag "${tagName}" must be string` : `value of tag "${tagName}" must be in oneOf`,
11344
11681
  params: ({ params: { discrError, tag, tagName } }) => (0, codegen_1._)`{error: ${discrError}, tag: ${tagName}, tagValue: ${tag}}`
@@ -11433,578 +11770,7 @@ var require_discriminator = __commonJS((exports) => {
11433
11770
  exports.default = def;
11434
11771
  });
11435
11772
 
11436
- // ../../node_modules/ajv/dist/refs/json-schema-draft-07.json
11437
- var require_json_schema_draft_07 = __commonJS((exports, module) => {
11438
- module.exports = {
11439
- $schema: "http://json-schema.org/draft-07/schema#",
11440
- $id: "http://json-schema.org/draft-07/schema#",
11441
- title: "Core schema meta-schema",
11442
- definitions: {
11443
- schemaArray: {
11444
- type: "array",
11445
- minItems: 1,
11446
- items: { $ref: "#" }
11447
- },
11448
- nonNegativeInteger: {
11449
- type: "integer",
11450
- minimum: 0
11451
- },
11452
- nonNegativeIntegerDefault0: {
11453
- allOf: [{ $ref: "#/definitions/nonNegativeInteger" }, { default: 0 }]
11454
- },
11455
- simpleTypes: {
11456
- enum: ["array", "boolean", "integer", "null", "number", "object", "string"]
11457
- },
11458
- stringArray: {
11459
- type: "array",
11460
- items: { type: "string" },
11461
- uniqueItems: true,
11462
- default: []
11463
- }
11464
- },
11465
- type: ["object", "boolean"],
11466
- properties: {
11467
- $id: {
11468
- type: "string",
11469
- format: "uri-reference"
11470
- },
11471
- $schema: {
11472
- type: "string",
11473
- format: "uri"
11474
- },
11475
- $ref: {
11476
- type: "string",
11477
- format: "uri-reference"
11478
- },
11479
- $comment: {
11480
- type: "string"
11481
- },
11482
- title: {
11483
- type: "string"
11484
- },
11485
- description: {
11486
- type: "string"
11487
- },
11488
- default: true,
11489
- readOnly: {
11490
- type: "boolean",
11491
- default: false
11492
- },
11493
- examples: {
11494
- type: "array",
11495
- items: true
11496
- },
11497
- multipleOf: {
11498
- type: "number",
11499
- exclusiveMinimum: 0
11500
- },
11501
- maximum: {
11502
- type: "number"
11503
- },
11504
- exclusiveMaximum: {
11505
- type: "number"
11506
- },
11507
- minimum: {
11508
- type: "number"
11509
- },
11510
- exclusiveMinimum: {
11511
- type: "number"
11512
- },
11513
- maxLength: { $ref: "#/definitions/nonNegativeInteger" },
11514
- minLength: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
11515
- pattern: {
11516
- type: "string",
11517
- format: "regex"
11518
- },
11519
- additionalItems: { $ref: "#" },
11520
- items: {
11521
- anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }],
11522
- default: true
11523
- },
11524
- maxItems: { $ref: "#/definitions/nonNegativeInteger" },
11525
- minItems: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
11526
- uniqueItems: {
11527
- type: "boolean",
11528
- default: false
11529
- },
11530
- contains: { $ref: "#" },
11531
- maxProperties: { $ref: "#/definitions/nonNegativeInteger" },
11532
- minProperties: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
11533
- required: { $ref: "#/definitions/stringArray" },
11534
- additionalProperties: { $ref: "#" },
11535
- definitions: {
11536
- type: "object",
11537
- additionalProperties: { $ref: "#" },
11538
- default: {}
11539
- },
11540
- properties: {
11541
- type: "object",
11542
- additionalProperties: { $ref: "#" },
11543
- default: {}
11544
- },
11545
- patternProperties: {
11546
- type: "object",
11547
- additionalProperties: { $ref: "#" },
11548
- propertyNames: { format: "regex" },
11549
- default: {}
11550
- },
11551
- dependencies: {
11552
- type: "object",
11553
- additionalProperties: {
11554
- anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }]
11555
- }
11556
- },
11557
- propertyNames: { $ref: "#" },
11558
- const: true,
11559
- enum: {
11560
- type: "array",
11561
- items: true,
11562
- minItems: 1,
11563
- uniqueItems: true
11564
- },
11565
- type: {
11566
- anyOf: [
11567
- { $ref: "#/definitions/simpleTypes" },
11568
- {
11569
- type: "array",
11570
- items: { $ref: "#/definitions/simpleTypes" },
11571
- minItems: 1,
11572
- uniqueItems: true
11573
- }
11574
- ]
11575
- },
11576
- format: { type: "string" },
11577
- contentMediaType: { type: "string" },
11578
- contentEncoding: { type: "string" },
11579
- if: { $ref: "#" },
11580
- then: { $ref: "#" },
11581
- else: { $ref: "#" },
11582
- allOf: { $ref: "#/definitions/schemaArray" },
11583
- anyOf: { $ref: "#/definitions/schemaArray" },
11584
- oneOf: { $ref: "#/definitions/schemaArray" },
11585
- not: { $ref: "#" }
11586
- },
11587
- default: true
11588
- };
11589
- });
11590
-
11591
- // ../../node_modules/ajv/dist/ajv.js
11592
- var require_ajv = __commonJS((exports, module) => {
11593
- Object.defineProperty(exports, "__esModule", { value: true });
11594
- exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = undefined;
11595
- var core_1 = require_core();
11596
- var draft7_1 = require_draft7();
11597
- var discriminator_1 = require_discriminator();
11598
- var draft7MetaSchema = require_json_schema_draft_07();
11599
- var META_SUPPORT_DATA = ["/properties"];
11600
- var META_SCHEMA_ID = "http://json-schema.org/draft-07/schema";
11601
-
11602
- class Ajv extends core_1.default {
11603
- _addVocabularies() {
11604
- super._addVocabularies();
11605
- draft7_1.default.forEach((v3) => this.addVocabulary(v3));
11606
- if (this.opts.discriminator)
11607
- this.addKeyword(discriminator_1.default);
11608
- }
11609
- _addDefaultMetaSchema() {
11610
- super._addDefaultMetaSchema();
11611
- if (!this.opts.meta)
11612
- return;
11613
- const metaSchema = this.opts.$data ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA) : draft7MetaSchema;
11614
- this.addMetaSchema(metaSchema, META_SCHEMA_ID, false);
11615
- this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID;
11616
- }
11617
- defaultMeta() {
11618
- return this.opts.defaultMeta = super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined);
11619
- }
11620
- }
11621
- exports.Ajv = Ajv;
11622
- module.exports = exports = Ajv;
11623
- module.exports.Ajv = Ajv;
11624
- Object.defineProperty(exports, "__esModule", { value: true });
11625
- exports.default = Ajv;
11626
- var validate_1 = require_validate();
11627
- Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function() {
11628
- return validate_1.KeywordCxt;
11629
- } });
11630
- var codegen_1 = require_codegen();
11631
- Object.defineProperty(exports, "_", { enumerable: true, get: function() {
11632
- return codegen_1._;
11633
- } });
11634
- Object.defineProperty(exports, "str", { enumerable: true, get: function() {
11635
- return codegen_1.str;
11636
- } });
11637
- Object.defineProperty(exports, "stringify", { enumerable: true, get: function() {
11638
- return codegen_1.stringify;
11639
- } });
11640
- Object.defineProperty(exports, "nil", { enumerable: true, get: function() {
11641
- return codegen_1.nil;
11642
- } });
11643
- Object.defineProperty(exports, "Name", { enumerable: true, get: function() {
11644
- return codegen_1.Name;
11645
- } });
11646
- Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function() {
11647
- return codegen_1.CodeGen;
11648
- } });
11649
- var validation_error_1 = require_validation_error();
11650
- Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function() {
11651
- return validation_error_1.default;
11652
- } });
11653
- var ref_error_1 = require_ref_error();
11654
- Object.defineProperty(exports, "MissingRefError", { enumerable: true, get: function() {
11655
- return ref_error_1.default;
11656
- } });
11657
- });
11658
-
11659
- // ../../node_modules/@apidevtools/swagger-parser/lib/util.js
11660
- var require_util3 = __commonJS((exports) => {
11661
- var util = __require("util");
11662
- exports.format = util.format;
11663
- exports.inherits = util.inherits;
11664
- var parse = (u2) => new URL(u2);
11665
- exports.swaggerParamRegExp = /\{([^/}]+)}/g;
11666
- var operationsList = ["get", "post", "put", "delete", "patch", "options", "head", "trace"];
11667
- function fixServers(server, path) {
11668
- if (server.url && server.url.startsWith("/")) {
11669
- const inUrl = parse(path);
11670
- const finalUrl = inUrl.protocol + "//" + inUrl.hostname + server.url;
11671
- server.url = finalUrl;
11672
- return server;
11673
- }
11674
- }
11675
- function fixOasRelativeServers(schema, filePath) {
11676
- if (schema.openapi && filePath && (filePath.startsWith("http:") || filePath.startsWith("https:"))) {
11677
- if (schema.servers) {
11678
- schema.servers.map((server) => fixServers(server, filePath));
11679
- }
11680
- ["paths", "webhooks"].forEach((component) => {
11681
- Object.keys(schema[component] || []).forEach((path) => {
11682
- const pathItem = schema[component][path];
11683
- Object.keys(pathItem).forEach((opItem) => {
11684
- if (opItem === "servers") {
11685
- pathItem[opItem].map((server) => fixServers(server, filePath));
11686
- } else if (operationsList.includes(opItem)) {
11687
- if (pathItem[opItem].servers) {
11688
- pathItem[opItem].servers.map((server) => fixServers(server, filePath));
11689
- }
11690
- }
11691
- });
11692
- });
11693
- });
11694
- } else {}
11695
- }
11696
- exports.fixOasRelativeServers = fixOasRelativeServers;
11697
- });
11698
-
11699
- // ../../node_modules/ajv/dist/vocabularies/dynamic/dynamicAnchor.js
11700
- var require_dynamicAnchor = __commonJS((exports) => {
11701
- Object.defineProperty(exports, "__esModule", { value: true });
11702
- exports.dynamicAnchor = undefined;
11703
- var codegen_1 = require_codegen();
11704
- var names_1 = require_names();
11705
- var compile_1 = require_compile();
11706
- var ref_1 = require_ref();
11707
- var def = {
11708
- keyword: "$dynamicAnchor",
11709
- schemaType: "string",
11710
- code: (cxt) => dynamicAnchor(cxt, cxt.schema)
11711
- };
11712
- function dynamicAnchor(cxt, anchor) {
11713
- const { gen, it } = cxt;
11714
- it.schemaEnv.root.dynamicAnchors[anchor] = true;
11715
- const v3 = (0, codegen_1._)`${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(anchor)}`;
11716
- const validate2 = it.errSchemaPath === "#" ? it.validateName : _getValidate(cxt);
11717
- gen.if((0, codegen_1._)`!${v3}`, () => gen.assign(v3, validate2));
11718
- }
11719
- exports.dynamicAnchor = dynamicAnchor;
11720
- function _getValidate(cxt) {
11721
- const { schemaEnv, schema, self: self2 } = cxt.it;
11722
- const { root, baseId, localRefs, meta } = schemaEnv.root;
11723
- const { schemaId } = self2.opts;
11724
- const sch = new compile_1.SchemaEnv({ schema, schemaId, root, baseId, localRefs, meta });
11725
- compile_1.compileSchema.call(self2, sch);
11726
- return (0, ref_1.getValidate)(cxt, sch);
11727
- }
11728
- exports.default = def;
11729
- });
11730
-
11731
- // ../../node_modules/ajv/dist/vocabularies/dynamic/dynamicRef.js
11732
- var require_dynamicRef = __commonJS((exports) => {
11733
- Object.defineProperty(exports, "__esModule", { value: true });
11734
- exports.dynamicRef = undefined;
11735
- var codegen_1 = require_codegen();
11736
- var names_1 = require_names();
11737
- var ref_1 = require_ref();
11738
- var def = {
11739
- keyword: "$dynamicRef",
11740
- schemaType: "string",
11741
- code: (cxt) => dynamicRef(cxt, cxt.schema)
11742
- };
11743
- function dynamicRef(cxt, ref) {
11744
- const { gen, keyword, it } = cxt;
11745
- if (ref[0] !== "#")
11746
- throw new Error(`"${keyword}" only supports hash fragment reference`);
11747
- const anchor = ref.slice(1);
11748
- if (it.allErrors) {
11749
- _dynamicRef();
11750
- } else {
11751
- const valid = gen.let("valid", false);
11752
- _dynamicRef(valid);
11753
- cxt.ok(valid);
11754
- }
11755
- function _dynamicRef(valid) {
11756
- if (it.schemaEnv.root.dynamicAnchors[anchor]) {
11757
- const v3 = gen.let("_v", (0, codegen_1._)`${names_1.default.dynamicAnchors}${(0, codegen_1.getProperty)(anchor)}`);
11758
- gen.if(v3, _callRef(v3, valid), _callRef(it.validateName, valid));
11759
- } else {
11760
- _callRef(it.validateName, valid)();
11761
- }
11762
- }
11763
- function _callRef(validate2, valid) {
11764
- return valid ? () => gen.block(() => {
11765
- (0, ref_1.callRef)(cxt, validate2);
11766
- gen.let(valid, true);
11767
- }) : () => (0, ref_1.callRef)(cxt, validate2);
11768
- }
11769
- }
11770
- exports.dynamicRef = dynamicRef;
11771
- exports.default = def;
11772
- });
11773
-
11774
- // ../../node_modules/ajv/dist/vocabularies/dynamic/recursiveAnchor.js
11775
- var require_recursiveAnchor = __commonJS((exports) => {
11776
- Object.defineProperty(exports, "__esModule", { value: true });
11777
- var dynamicAnchor_1 = require_dynamicAnchor();
11778
- var util_1 = require_util2();
11779
- var def = {
11780
- keyword: "$recursiveAnchor",
11781
- schemaType: "boolean",
11782
- code(cxt) {
11783
- if (cxt.schema)
11784
- (0, dynamicAnchor_1.dynamicAnchor)(cxt, "");
11785
- else
11786
- (0, util_1.checkStrictMode)(cxt.it, "$recursiveAnchor: false is ignored");
11787
- }
11788
- };
11789
- exports.default = def;
11790
- });
11791
-
11792
- // ../../node_modules/ajv/dist/vocabularies/dynamic/recursiveRef.js
11793
- var require_recursiveRef = __commonJS((exports) => {
11794
- Object.defineProperty(exports, "__esModule", { value: true });
11795
- var dynamicRef_1 = require_dynamicRef();
11796
- var def = {
11797
- keyword: "$recursiveRef",
11798
- schemaType: "string",
11799
- code: (cxt) => (0, dynamicRef_1.dynamicRef)(cxt, cxt.schema)
11800
- };
11801
- exports.default = def;
11802
- });
11803
-
11804
- // ../../node_modules/ajv/dist/vocabularies/dynamic/index.js
11805
- var require_dynamic = __commonJS((exports) => {
11806
- Object.defineProperty(exports, "__esModule", { value: true });
11807
- var dynamicAnchor_1 = require_dynamicAnchor();
11808
- var dynamicRef_1 = require_dynamicRef();
11809
- var recursiveAnchor_1 = require_recursiveAnchor();
11810
- var recursiveRef_1 = require_recursiveRef();
11811
- var dynamic = [dynamicAnchor_1.default, dynamicRef_1.default, recursiveAnchor_1.default, recursiveRef_1.default];
11812
- exports.default = dynamic;
11813
- });
11814
-
11815
- // ../../node_modules/ajv/dist/vocabularies/validation/dependentRequired.js
11816
- var require_dependentRequired = __commonJS((exports) => {
11817
- Object.defineProperty(exports, "__esModule", { value: true });
11818
- var dependencies_1 = require_dependencies();
11819
- var def = {
11820
- keyword: "dependentRequired",
11821
- type: "object",
11822
- schemaType: "object",
11823
- error: dependencies_1.error,
11824
- code: (cxt) => (0, dependencies_1.validatePropertyDeps)(cxt)
11825
- };
11826
- exports.default = def;
11827
- });
11828
-
11829
- // ../../node_modules/ajv/dist/vocabularies/applicator/dependentSchemas.js
11830
- var require_dependentSchemas = __commonJS((exports) => {
11831
- Object.defineProperty(exports, "__esModule", { value: true });
11832
- var dependencies_1 = require_dependencies();
11833
- var def = {
11834
- keyword: "dependentSchemas",
11835
- type: "object",
11836
- schemaType: "object",
11837
- code: (cxt) => (0, dependencies_1.validateSchemaDeps)(cxt)
11838
- };
11839
- exports.default = def;
11840
- });
11841
-
11842
- // ../../node_modules/ajv/dist/vocabularies/validation/limitContains.js
11843
- var require_limitContains = __commonJS((exports) => {
11844
- Object.defineProperty(exports, "__esModule", { value: true });
11845
- var util_1 = require_util2();
11846
- var def = {
11847
- keyword: ["maxContains", "minContains"],
11848
- type: "array",
11849
- schemaType: "number",
11850
- code({ keyword, parentSchema, it }) {
11851
- if (parentSchema.contains === undefined) {
11852
- (0, util_1.checkStrictMode)(it, `"${keyword}" without "contains" is ignored`);
11853
- }
11854
- }
11855
- };
11856
- exports.default = def;
11857
- });
11858
-
11859
- // ../../node_modules/ajv/dist/vocabularies/next.js
11860
- var require_next = __commonJS((exports) => {
11861
- Object.defineProperty(exports, "__esModule", { value: true });
11862
- var dependentRequired_1 = require_dependentRequired();
11863
- var dependentSchemas_1 = require_dependentSchemas();
11864
- var limitContains_1 = require_limitContains();
11865
- var next = [dependentRequired_1.default, dependentSchemas_1.default, limitContains_1.default];
11866
- exports.default = next;
11867
- });
11868
-
11869
- // ../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js
11870
- var require_unevaluatedProperties = __commonJS((exports) => {
11871
- Object.defineProperty(exports, "__esModule", { value: true });
11872
- var codegen_1 = require_codegen();
11873
- var util_1 = require_util2();
11874
- var names_1 = require_names();
11875
- var error = {
11876
- message: "must NOT have unevaluated properties",
11877
- params: ({ params }) => (0, codegen_1._)`{unevaluatedProperty: ${params.unevaluatedProperty}}`
11878
- };
11879
- var def = {
11880
- keyword: "unevaluatedProperties",
11881
- type: "object",
11882
- schemaType: ["boolean", "object"],
11883
- trackErrors: true,
11884
- error,
11885
- code(cxt) {
11886
- const { gen, schema, data, errsCount, it } = cxt;
11887
- if (!errsCount)
11888
- throw new Error("ajv implementation error");
11889
- const { allErrors, props } = it;
11890
- if (props instanceof codegen_1.Name) {
11891
- gen.if((0, codegen_1._)`${props} !== true`, () => gen.forIn("key", data, (key) => gen.if(unevaluatedDynamic(props, key), () => unevaluatedPropCode(key))));
11892
- } else if (props !== true) {
11893
- gen.forIn("key", data, (key) => props === undefined ? unevaluatedPropCode(key) : gen.if(unevaluatedStatic(props, key), () => unevaluatedPropCode(key)));
11894
- }
11895
- it.props = true;
11896
- cxt.ok((0, codegen_1._)`${errsCount} === ${names_1.default.errors}`);
11897
- function unevaluatedPropCode(key) {
11898
- if (schema === false) {
11899
- cxt.setParams({ unevaluatedProperty: key });
11900
- cxt.error();
11901
- if (!allErrors)
11902
- gen.break();
11903
- return;
11904
- }
11905
- if (!(0, util_1.alwaysValidSchema)(it, schema)) {
11906
- const valid = gen.name("valid");
11907
- cxt.subschema({
11908
- keyword: "unevaluatedProperties",
11909
- dataProp: key,
11910
- dataPropType: util_1.Type.Str
11911
- }, valid);
11912
- if (!allErrors)
11913
- gen.if((0, codegen_1.not)(valid), () => gen.break());
11914
- }
11915
- }
11916
- function unevaluatedDynamic(evaluatedProps, key) {
11917
- return (0, codegen_1._)`!${evaluatedProps} || !${evaluatedProps}[${key}]`;
11918
- }
11919
- function unevaluatedStatic(evaluatedProps, key) {
11920
- const ps = [];
11921
- for (const p3 in evaluatedProps) {
11922
- if (evaluatedProps[p3] === true)
11923
- ps.push((0, codegen_1._)`${key} !== ${p3}`);
11924
- }
11925
- return (0, codegen_1.and)(...ps);
11926
- }
11927
- }
11928
- };
11929
- exports.default = def;
11930
- });
11931
-
11932
- // ../../node_modules/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js
11933
- var require_unevaluatedItems = __commonJS((exports) => {
11934
- Object.defineProperty(exports, "__esModule", { value: true });
11935
- var codegen_1 = require_codegen();
11936
- var util_1 = require_util2();
11937
- var error = {
11938
- message: ({ params: { len } }) => (0, codegen_1.str)`must NOT have more than ${len} items`,
11939
- params: ({ params: { len } }) => (0, codegen_1._)`{limit: ${len}}`
11940
- };
11941
- var def = {
11942
- keyword: "unevaluatedItems",
11943
- type: "array",
11944
- schemaType: ["boolean", "object"],
11945
- error,
11946
- code(cxt) {
11947
- const { gen, schema, data, it } = cxt;
11948
- const items = it.items || 0;
11949
- if (items === true)
11950
- return;
11951
- const len = gen.const("len", (0, codegen_1._)`${data}.length`);
11952
- if (schema === false) {
11953
- cxt.setParams({ len: items });
11954
- cxt.fail((0, codegen_1._)`${len} > ${items}`);
11955
- } else if (typeof schema == "object" && !(0, util_1.alwaysValidSchema)(it, schema)) {
11956
- const valid = gen.var("valid", (0, codegen_1._)`${len} <= ${items}`);
11957
- gen.if((0, codegen_1.not)(valid), () => validateItems(valid, items));
11958
- cxt.ok(valid);
11959
- }
11960
- it.items = true;
11961
- function validateItems(valid, from) {
11962
- gen.forRange("i", from, len, (i2) => {
11963
- cxt.subschema({ keyword: "unevaluatedItems", dataProp: i2, dataPropType: util_1.Type.Num }, valid);
11964
- if (!it.allErrors)
11965
- gen.if((0, codegen_1.not)(valid), () => gen.break());
11966
- });
11967
- }
11968
- }
11969
- };
11970
- exports.default = def;
11971
- });
11972
-
11973
- // ../../node_modules/ajv/dist/vocabularies/unevaluated/index.js
11974
- var require_unevaluated = __commonJS((exports) => {
11975
- Object.defineProperty(exports, "__esModule", { value: true });
11976
- var unevaluatedProperties_1 = require_unevaluatedProperties();
11977
- var unevaluatedItems_1 = require_unevaluatedItems();
11978
- var unevaluated = [unevaluatedProperties_1.default, unevaluatedItems_1.default];
11979
- exports.default = unevaluated;
11980
- });
11981
-
11982
- // ../../node_modules/ajv/dist/vocabularies/draft2020.js
11983
- var require_draft2020 = __commonJS((exports) => {
11984
- Object.defineProperty(exports, "__esModule", { value: true });
11985
- var core_1 = require_core2();
11986
- var validation_1 = require_validation();
11987
- var applicator_1 = require_applicator();
11988
- var dynamic_1 = require_dynamic();
11989
- var next_1 = require_next();
11990
- var unevaluated_1 = require_unevaluated();
11991
- var format_1 = require_format2();
11992
- var metadata_1 = require_metadata();
11993
- var draft2020Vocabularies = [
11994
- dynamic_1.default,
11995
- core_1.default,
11996
- validation_1.default,
11997
- (0, applicator_1.default)(true),
11998
- format_1.default,
11999
- metadata_1.metadataVocabulary,
12000
- metadata_1.contentVocabulary,
12001
- next_1.default,
12002
- unevaluated_1.default
12003
- ];
12004
- exports.default = draft2020Vocabularies;
12005
- });
12006
-
12007
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/schema.json
11773
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/schema.json
12008
11774
  var require_schema = __commonJS((exports, module) => {
12009
11775
  module.exports = {
12010
11776
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -12062,7 +11828,7 @@ var require_schema = __commonJS((exports, module) => {
12062
11828
  };
12063
11829
  });
12064
11830
 
12065
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json
11831
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/applicator.json
12066
11832
  var require_applicator2 = __commonJS((exports, module) => {
12067
11833
  module.exports = {
12068
11834
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -12113,7 +11879,7 @@ var require_applicator2 = __commonJS((exports, module) => {
12113
11879
  };
12114
11880
  });
12115
11881
 
12116
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json
11882
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json
12117
11883
  var require_unevaluated2 = __commonJS((exports, module) => {
12118
11884
  module.exports = {
12119
11885
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -12131,7 +11897,7 @@ var require_unevaluated2 = __commonJS((exports, module) => {
12131
11897
  };
12132
11898
  });
12133
11899
 
12134
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json
11900
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/content.json
12135
11901
  var require_content = __commonJS((exports, module) => {
12136
11902
  module.exports = {
12137
11903
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -12150,7 +11916,7 @@ var require_content = __commonJS((exports, module) => {
12150
11916
  };
12151
11917
  });
12152
11918
 
12153
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json
11919
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/core.json
12154
11920
  var require_core3 = __commonJS((exports, module) => {
12155
11921
  module.exports = {
12156
11922
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -12204,7 +11970,7 @@ var require_core3 = __commonJS((exports, module) => {
12204
11970
  };
12205
11971
  });
12206
11972
 
12207
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json
11973
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json
12208
11974
  var require_format_annotation = __commonJS((exports, module) => {
12209
11975
  module.exports = {
12210
11976
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -12221,7 +11987,7 @@ var require_format_annotation = __commonJS((exports, module) => {
12221
11987
  };
12222
11988
  });
12223
11989
 
12224
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json
11990
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json
12225
11991
  var require_meta_data = __commonJS((exports, module) => {
12226
11992
  module.exports = {
12227
11993
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -12260,7 +12026,7 @@ var require_meta_data = __commonJS((exports, module) => {
12260
12026
  };
12261
12027
  });
12262
12028
 
12263
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
12029
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/meta/validation.json
12264
12030
  var require_validation2 = __commonJS((exports, module) => {
12265
12031
  module.exports = {
12266
12032
  $schema: "https://json-schema.org/draft/2020-12/schema",
@@ -12353,7 +12119,7 @@ var require_validation2 = __commonJS((exports, module) => {
12353
12119
  };
12354
12120
  });
12355
12121
 
12356
- // ../../node_modules/ajv/dist/refs/json-schema-2020-12/index.js
12122
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-2020-12/index.js
12357
12123
  var require_json_schema_2020_12 = __commonJS((exports) => {
12358
12124
  Object.defineProperty(exports, "__esModule", { value: true });
12359
12125
  var metaSchema = require_schema();
@@ -12384,7 +12150,7 @@ var require_json_schema_2020_12 = __commonJS((exports) => {
12384
12150
  exports.default = addMetaSchema2020;
12385
12151
  });
12386
12152
 
12387
- // ../../node_modules/ajv/dist/2020.js
12153
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/2020.js
12388
12154
  var require_2020 = __commonJS((exports, module) => {
12389
12155
  Object.defineProperty(exports, "__esModule", { value: true });
12390
12156
  exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv2020 = undefined;
@@ -12459,7 +12225,7 @@ var require_2020 = __commonJS((exports, module) => {
12459
12225
  } });
12460
12226
  });
12461
12227
 
12462
- // ../../node_modules/@apidevtools/openapi-schemas/schemas/v1.2/apiDeclaration.json
12228
+ // ../../node_modules/.bun/@apidevtools+openapi-schemas@2.1.0/node_modules/@apidevtools/openapi-schemas/schemas/v1.2/apiDeclaration.json
12463
12229
  var require_apiDeclaration = __commonJS((exports, module) => {
12464
12230
  module.exports = {
12465
12231
  id: "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/master/schemas/v1.2/apiDeclaration.json#",
@@ -12524,7 +12290,7 @@ var require_apiDeclaration = __commonJS((exports, module) => {
12524
12290
  };
12525
12291
  });
12526
12292
 
12527
- // ../../node_modules/@apidevtools/openapi-schemas/schemas/v2.0/schema.json
12293
+ // ../../node_modules/.bun/@apidevtools+openapi-schemas@2.1.0/node_modules/@apidevtools/openapi-schemas/schemas/v2.0/schema.json
12528
12294
  var require_schema2 = __commonJS((exports, module) => {
12529
12295
  module.exports = {
12530
12296
  title: "A JSON Schema for Swagger 2.0 API.",
@@ -14135,7 +13901,7 @@ var require_schema2 = __commonJS((exports, module) => {
14135
13901
  };
14136
13902
  });
14137
13903
 
14138
- // ../../node_modules/@apidevtools/openapi-schemas/schemas/v3.0/schema.json
13904
+ // ../../node_modules/.bun/@apidevtools+openapi-schemas@2.1.0/node_modules/@apidevtools/openapi-schemas/schemas/v3.0/schema.json
14139
13905
  var require_schema3 = __commonJS((exports, module) => {
14140
13906
  module.exports = {
14141
13907
  id: "https://spec.openapis.org/oas/3.0/schema/2019-04-02",
@@ -15752,7 +15518,7 @@ var require_schema3 = __commonJS((exports, module) => {
15752
15518
  };
15753
15519
  });
15754
15520
 
15755
- // ../../node_modules/@apidevtools/openapi-schemas/schemas/v3.1/schema.json
15521
+ // ../../node_modules/.bun/@apidevtools+openapi-schemas@2.1.0/node_modules/@apidevtools/openapi-schemas/schemas/v3.1/schema.json
15756
15522
  var require_schema4 = __commonJS((exports, module) => {
15757
15523
  module.exports = {
15758
15524
  $id: "https://spec.openapis.org/oas/3.1/schema/2021-04-15",
@@ -17099,7 +16865,7 @@ var require_schema4 = __commonJS((exports, module) => {
17099
16865
  };
17100
16866
  });
17101
16867
 
17102
- // ../../node_modules/@apidevtools/openapi-schemas/lib/index.js
16868
+ // ../../node_modules/.bun/@apidevtools+openapi-schemas@2.1.0/node_modules/@apidevtools/openapi-schemas/lib/index.js
17103
16869
  var require_lib3 = __commonJS((exports, module) => {
17104
16870
  Object.defineProperty(exports, "__esModule", { value: true });
17105
16871
  exports.openapi = exports.openapiV31 = exports.openapiV3 = exports.openapiV2 = exports.openapiV1 = undefined;
@@ -17119,7 +16885,7 @@ var require_lib3 = __commonJS((exports, module) => {
17119
16885
  }
17120
16886
  });
17121
16887
 
17122
- // ../../node_modules/ajv-draft-04/dist/vocabulary/core.js
16888
+ // ../../node_modules/.bun/ajv-draft-04@1.0.0+4b3fb7de7c964760/node_modules/ajv-draft-04/dist/vocabulary/core.js
17123
16889
  var require_core4 = __commonJS((exports) => {
17124
16890
  Object.defineProperty(exports, "__esModule", { value: true });
17125
16891
  var ref_1 = require_ref();
@@ -17134,7 +16900,7 @@ var require_core4 = __commonJS((exports) => {
17134
16900
  exports.default = core;
17135
16901
  });
17136
16902
 
17137
- // ../../node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.js
16903
+ // ../../node_modules/.bun/ajv-draft-04@1.0.0+4b3fb7de7c964760/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumber.js
17138
16904
  var require_limitNumber2 = __commonJS((exports) => {
17139
16905
  Object.defineProperty(exports, "__esModule", { value: true });
17140
16906
  var core_1 = require_core();
@@ -17180,7 +16946,7 @@ var require_limitNumber2 = __commonJS((exports) => {
17180
16946
  exports.default = def;
17181
16947
  });
17182
16948
 
17183
- // ../../node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.js
16949
+ // ../../node_modules/.bun/ajv-draft-04@1.0.0+4b3fb7de7c964760/node_modules/ajv-draft-04/dist/vocabulary/validation/limitNumberExclusive.js
17184
16950
  var require_limitNumberExclusive = __commonJS((exports) => {
17185
16951
  Object.defineProperty(exports, "__esModule", { value: true });
17186
16952
  var KWDs = {
@@ -17201,7 +16967,7 @@ var require_limitNumberExclusive = __commonJS((exports) => {
17201
16967
  exports.default = def;
17202
16968
  });
17203
16969
 
17204
- // ../../node_modules/ajv-draft-04/dist/vocabulary/validation/index.js
16970
+ // ../../node_modules/.bun/ajv-draft-04@1.0.0+4b3fb7de7c964760/node_modules/ajv-draft-04/dist/vocabulary/validation/index.js
17205
16971
  var require_validation3 = __commonJS((exports) => {
17206
16972
  Object.defineProperty(exports, "__esModule", { value: true });
17207
16973
  var limitNumber_1 = require_limitNumber2();
@@ -17233,7 +16999,7 @@ var require_validation3 = __commonJS((exports) => {
17233
16999
  exports.default = validation;
17234
17000
  });
17235
17001
 
17236
- // ../../node_modules/ajv-draft-04/dist/vocabulary/draft4.js
17002
+ // ../../node_modules/.bun/ajv-draft-04@1.0.0+4b3fb7de7c964760/node_modules/ajv-draft-04/dist/vocabulary/draft4.js
17237
17003
  var require_draft4 = __commonJS((exports) => {
17238
17004
  Object.defineProperty(exports, "__esModule", { value: true });
17239
17005
  var core_1 = require_core4();
@@ -17251,7 +17017,7 @@ var require_draft4 = __commonJS((exports) => {
17251
17017
  exports.default = draft4Vocabularies;
17252
17018
  });
17253
17019
 
17254
- // ../../node_modules/ajv-draft-04/dist/refs/json-schema-draft-04.json
17020
+ // ../../node_modules/.bun/ajv-draft-04@1.0.0+4b3fb7de7c964760/node_modules/ajv-draft-04/dist/refs/json-schema-draft-04.json
17255
17021
  var require_json_schema_draft_04 = __commonJS((exports, module) => {
17256
17022
  module.exports = {
17257
17023
  id: "http://json-schema.org/draft-04/schema#",
@@ -17393,7 +17159,7 @@ var require_json_schema_draft_04 = __commonJS((exports, module) => {
17393
17159
  };
17394
17160
  });
17395
17161
 
17396
- // ../../node_modules/ajv-draft-04/dist/index.js
17162
+ // ../../node_modules/.bun/ajv-draft-04@1.0.0+4b3fb7de7c964760/node_modules/ajv-draft-04/dist/index.js
17397
17163
  var require_dist = __commonJS((exports, module) => {
17398
17164
  Object.defineProperty(exports, "__esModule", { value: true });
17399
17165
  exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = undefined;
@@ -17457,9 +17223,9 @@ var require_dist = __commonJS((exports, module) => {
17457
17223
  } });
17458
17224
  });
17459
17225
 
17460
- // ../../node_modules/@apidevtools/swagger-parser/lib/validators/schema.js
17226
+ // ../../node_modules/.bun/@apidevtools+swagger-parser@12.1.0+ea8cb298c1911149/node_modules/@apidevtools/swagger-parser/lib/validators/schema.js
17461
17227
  var require_schema5 = __commonJS((exports, module) => {
17462
- var util = require_util3();
17228
+ var util = require_util2();
17463
17229
  var Ajv = require_2020();
17464
17230
  var { openapi } = require_lib3();
17465
17231
  module.exports = validateSchema2;
@@ -17517,7 +17283,7 @@ var require_schema5 = __commonJS((exports, module) => {
17517
17283
  }
17518
17284
  });
17519
17285
 
17520
- // ../../node_modules/@apidevtools/swagger-methods/lib/index.js
17286
+ // ../../node_modules/.bun/@apidevtools+swagger-methods@3.0.2/node_modules/@apidevtools/swagger-methods/lib/index.js
17521
17287
  var require_lib5 = __commonJS((exports, module) => {
17522
17288
  module.exports = [
17523
17289
  "get",
@@ -17530,9 +17296,9 @@ var require_lib5 = __commonJS((exports, module) => {
17530
17296
  ];
17531
17297
  });
17532
17298
 
17533
- // ../../node_modules/@apidevtools/swagger-parser/lib/validators/spec.js
17299
+ // ../../node_modules/.bun/@apidevtools+swagger-parser@12.1.0+ea8cb298c1911149/node_modules/@apidevtools/swagger-parser/lib/validators/spec.js
17534
17300
  var require_spec = __commonJS((exports, module) => {
17535
- var util = require_util3();
17301
+ var util = require_util2();
17536
17302
  var swaggerMethods = require_lib5();
17537
17303
  var primitiveTypes = ["array", "boolean", "integer", "number", "string"];
17538
17304
  var schemaTypes = ["array", "boolean", "integer", "number", "string", "object", "null", undefined];
@@ -17747,7 +17513,7 @@ var require_spec = __commonJS((exports, module) => {
17747
17513
  }
17748
17514
  });
17749
17515
 
17750
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/convert-path-to-posix.js
17516
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/convert-path-to-posix.js
17751
17517
  var require_convert_path_to_posix = __commonJS((exports) => {
17752
17518
  var __importDefault = exports && exports.__importDefault || function(mod) {
17753
17519
  return mod && mod.__esModule ? mod : { default: mod };
@@ -17764,7 +17530,7 @@ var require_convert_path_to_posix = __commonJS((exports) => {
17764
17530
  }
17765
17531
  });
17766
17532
 
17767
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/is-windows.js
17533
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/is-windows.js
17768
17534
  var require_is_windows = __commonJS((exports) => {
17769
17535
  Object.defineProperty(exports, "__esModule", { value: true });
17770
17536
  exports.isWindows = undefined;
@@ -17773,7 +17539,7 @@ var require_is_windows = __commonJS((exports) => {
17773
17539
  exports.isWindows = isWindows;
17774
17540
  });
17775
17541
 
17776
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/url.js
17542
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/url.js
17777
17543
  var require_url = __commonJS((exports) => {
17778
17544
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
17779
17545
  if (k22 === undefined)
@@ -18121,7 +17887,7 @@ var require_url = __commonJS((exports) => {
18121
17887
  }
18122
17888
  });
18123
17889
 
18124
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/errors.js
17890
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/errors.js
18125
17891
  var require_errors2 = __commonJS((exports) => {
18126
17892
  Object.defineProperty(exports, "__esModule", { value: true });
18127
17893
  exports.InvalidPointerError = exports.TimeoutError = exports.MissingPointerError = exports.UnmatchedResolverError = exports.ResolverError = exports.UnmatchedParserError = exports.ParserError = exports.JSONParserErrorGroup = exports.JSONParserError = undefined;
@@ -18279,7 +18045,7 @@ var require_errors2 = __commonJS((exports) => {
18279
18045
  }
18280
18046
  });
18281
18047
 
18282
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/pointer.js
18048
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/pointer.js
18283
18049
  var require_pointer = __commonJS((exports) => {
18284
18050
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
18285
18051
  if (k22 === undefined)
@@ -18495,7 +18261,7 @@ Cannot set "${token}" of a non-object.`);
18495
18261
  }
18496
18262
  });
18497
18263
 
18498
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/ref.js
18264
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/ref.js
18499
18265
  var require_ref2 = __commonJS((exports) => {
18500
18266
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
18501
18267
  if (k22 === undefined)
@@ -18643,7 +18409,7 @@ var require_ref2 = __commonJS((exports) => {
18643
18409
  exports.default = $Ref;
18644
18410
  });
18645
18411
 
18646
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/refs.js
18412
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/refs.js
18647
18413
  var require_refs = __commonJS((exports) => {
18648
18414
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
18649
18415
  if (k22 === undefined)
@@ -18782,7 +18548,7 @@ var require_refs = __commonJS((exports) => {
18782
18548
  }
18783
18549
  });
18784
18550
 
18785
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/plugins.js
18551
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/plugins.js
18786
18552
  var require_plugins = __commonJS((exports) => {
18787
18553
  Object.defineProperty(exports, "__esModule", { value: true });
18788
18554
  exports.all = all;
@@ -18874,7 +18640,7 @@ var require_plugins = __commonJS((exports) => {
18874
18640
  }
18875
18641
  });
18876
18642
 
18877
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parse.js
18643
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parse.js
18878
18644
  var require_parse = __commonJS((exports) => {
18879
18645
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
18880
18646
  if (k22 === undefined)
@@ -19003,7 +18769,7 @@ Parsed value is empty`);
19003
18769
  exports.default = parse;
19004
18770
  });
19005
18771
 
19006
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/json.js
18772
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/json.js
19007
18773
  var require_json = __commonJS((exports) => {
19008
18774
  Object.defineProperty(exports, "__esModule", { value: true });
19009
18775
  var errors_js_1 = require_errors2();
@@ -19043,7 +18809,7 @@ var require_json = __commonJS((exports) => {
19043
18809
  };
19044
18810
  });
19045
18811
 
19046
- // ../../node_modules/js-yaml/lib/common.js
18812
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/common.js
19047
18813
  var require_common = __commonJS((exports, module) => {
19048
18814
  function isNothing(subject) {
19049
18815
  return typeof subject === "undefined" || subject === null;
@@ -19087,7 +18853,7 @@ var require_common = __commonJS((exports, module) => {
19087
18853
  exports.extend = extend;
19088
18854
  });
19089
18855
 
19090
- // ../../node_modules/js-yaml/lib/exception.js
18856
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/exception.js
19091
18857
  var require_exception = __commonJS((exports, module) => {
19092
18858
  function formatError(exception, compact) {
19093
18859
  var where = "", message = exception.reason || "(unknown reason)";
@@ -19124,7 +18890,7 @@ var require_exception = __commonJS((exports, module) => {
19124
18890
  module.exports = YAMLException;
19125
18891
  });
19126
18892
 
19127
- // ../../node_modules/js-yaml/lib/snippet.js
18893
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/snippet.js
19128
18894
  var require_snippet = __commonJS((exports, module) => {
19129
18895
  var common = require_common();
19130
18896
  function getLine(buffer, lineStart, lineEnd, position, maxLineLength) {
@@ -19200,7 +18966,7 @@ var require_snippet = __commonJS((exports, module) => {
19200
18966
  module.exports = makeSnippet;
19201
18967
  });
19202
18968
 
19203
- // ../../node_modules/js-yaml/lib/type.js
18969
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type.js
19204
18970
  var require_type = __commonJS((exports, module) => {
19205
18971
  var YAMLException = require_exception();
19206
18972
  var TYPE_CONSTRUCTOR_OPTIONS = [
@@ -19261,7 +19027,7 @@ var require_type = __commonJS((exports, module) => {
19261
19027
  module.exports = Type;
19262
19028
  });
19263
19029
 
19264
- // ../../node_modules/js-yaml/lib/schema.js
19030
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema.js
19265
19031
  var require_schema6 = __commonJS((exports, module) => {
19266
19032
  var YAMLException = require_exception();
19267
19033
  var Type = require_type();
@@ -19349,7 +19115,7 @@ var require_schema6 = __commonJS((exports, module) => {
19349
19115
  module.exports = Schema2;
19350
19116
  });
19351
19117
 
19352
- // ../../node_modules/js-yaml/lib/type/str.js
19118
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/str.js
19353
19119
  var require_str = __commonJS((exports, module) => {
19354
19120
  var Type = require_type();
19355
19121
  module.exports = new Type("tag:yaml.org,2002:str", {
@@ -19360,7 +19126,7 @@ var require_str = __commonJS((exports, module) => {
19360
19126
  });
19361
19127
  });
19362
19128
 
19363
- // ../../node_modules/js-yaml/lib/type/seq.js
19129
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/seq.js
19364
19130
  var require_seq = __commonJS((exports, module) => {
19365
19131
  var Type = require_type();
19366
19132
  module.exports = new Type("tag:yaml.org,2002:seq", {
@@ -19371,7 +19137,7 @@ var require_seq = __commonJS((exports, module) => {
19371
19137
  });
19372
19138
  });
19373
19139
 
19374
- // ../../node_modules/js-yaml/lib/type/map.js
19140
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/map.js
19375
19141
  var require_map = __commonJS((exports, module) => {
19376
19142
  var Type = require_type();
19377
19143
  module.exports = new Type("tag:yaml.org,2002:map", {
@@ -19382,7 +19148,7 @@ var require_map = __commonJS((exports, module) => {
19382
19148
  });
19383
19149
  });
19384
19150
 
19385
- // ../../node_modules/js-yaml/lib/schema/failsafe.js
19151
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/failsafe.js
19386
19152
  var require_failsafe = __commonJS((exports, module) => {
19387
19153
  var Schema2 = require_schema6();
19388
19154
  module.exports = new Schema2({
@@ -19394,7 +19160,7 @@ var require_failsafe = __commonJS((exports, module) => {
19394
19160
  });
19395
19161
  });
19396
19162
 
19397
- // ../../node_modules/js-yaml/lib/type/null.js
19163
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/null.js
19398
19164
  var require_null = __commonJS((exports, module) => {
19399
19165
  var Type = require_type();
19400
19166
  function resolveYamlNull(data) {
@@ -19435,7 +19201,7 @@ var require_null = __commonJS((exports, module) => {
19435
19201
  });
19436
19202
  });
19437
19203
 
19438
- // ../../node_modules/js-yaml/lib/type/bool.js
19204
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/bool.js
19439
19205
  var require_bool = __commonJS((exports, module) => {
19440
19206
  var Type = require_type();
19441
19207
  function resolveYamlBoolean(data) {
@@ -19470,7 +19236,7 @@ var require_bool = __commonJS((exports, module) => {
19470
19236
  });
19471
19237
  });
19472
19238
 
19473
- // ../../node_modules/js-yaml/lib/type/int.js
19239
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/int.js
19474
19240
  var require_int = __commonJS((exports, module) => {
19475
19241
  var common = require_common();
19476
19242
  var Type = require_type();
@@ -19605,7 +19371,7 @@ var require_int = __commonJS((exports, module) => {
19605
19371
  });
19606
19372
  });
19607
19373
 
19608
- // ../../node_modules/js-yaml/lib/type/float.js
19374
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/float.js
19609
19375
  var require_float = __commonJS((exports, module) => {
19610
19376
  var common = require_common();
19611
19377
  var Type = require_type();
@@ -19681,7 +19447,7 @@ var require_float = __commonJS((exports, module) => {
19681
19447
  });
19682
19448
  });
19683
19449
 
19684
- // ../../node_modules/js-yaml/lib/schema/json.js
19450
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/json.js
19685
19451
  var require_json2 = __commonJS((exports, module) => {
19686
19452
  module.exports = require_failsafe().extend({
19687
19453
  implicit: [
@@ -19693,7 +19459,7 @@ var require_json2 = __commonJS((exports, module) => {
19693
19459
  });
19694
19460
  });
19695
19461
 
19696
- // ../../node_modules/js-yaml/lib/type/timestamp.js
19462
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/timestamp.js
19697
19463
  var require_timestamp = __commonJS((exports, module) => {
19698
19464
  var Type = require_type();
19699
19465
  var YAML_DATE_REGEXP = new RegExp("^([0-9][0-9][0-9][0-9])" + "-([0-9][0-9])" + "-([0-9][0-9])$");
@@ -19754,7 +19520,7 @@ var require_timestamp = __commonJS((exports, module) => {
19754
19520
  });
19755
19521
  });
19756
19522
 
19757
- // ../../node_modules/js-yaml/lib/type/merge.js
19523
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/merge.js
19758
19524
  var require_merge = __commonJS((exports, module) => {
19759
19525
  var Type = require_type();
19760
19526
  function resolveYamlMerge(data) {
@@ -19766,7 +19532,7 @@ var require_merge = __commonJS((exports, module) => {
19766
19532
  });
19767
19533
  });
19768
19534
 
19769
- // ../../node_modules/js-yaml/lib/type/binary.js
19535
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/binary.js
19770
19536
  var require_binary = __commonJS((exports, module) => {
19771
19537
  var Type = require_type();
19772
19538
  var BASE64_MAP = `ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
@@ -19850,7 +19616,7 @@ var require_binary = __commonJS((exports, module) => {
19850
19616
  });
19851
19617
  });
19852
19618
 
19853
- // ../../node_modules/js-yaml/lib/type/omap.js
19619
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/omap.js
19854
19620
  var require_omap = __commonJS((exports, module) => {
19855
19621
  var Type = require_type();
19856
19622
  var _hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -19891,7 +19657,7 @@ var require_omap = __commonJS((exports, module) => {
19891
19657
  });
19892
19658
  });
19893
19659
 
19894
- // ../../node_modules/js-yaml/lib/type/pairs.js
19660
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/pairs.js
19895
19661
  var require_pairs = __commonJS((exports, module) => {
19896
19662
  var Type = require_type();
19897
19663
  var _toString = Object.prototype.toString;
@@ -19930,7 +19696,7 @@ var require_pairs = __commonJS((exports, module) => {
19930
19696
  });
19931
19697
  });
19932
19698
 
19933
- // ../../node_modules/js-yaml/lib/type/set.js
19699
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/type/set.js
19934
19700
  var require_set = __commonJS((exports, module) => {
19935
19701
  var Type = require_type();
19936
19702
  var _hasOwnProperty = Object.prototype.hasOwnProperty;
@@ -19956,7 +19722,7 @@ var require_set = __commonJS((exports, module) => {
19956
19722
  });
19957
19723
  });
19958
19724
 
19959
- // ../../node_modules/js-yaml/lib/schema/default.js
19725
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/schema/default.js
19960
19726
  var require_default = __commonJS((exports, module) => {
19961
19727
  module.exports = require_json2().extend({
19962
19728
  implicit: [
@@ -19972,7 +19738,7 @@ var require_default = __commonJS((exports, module) => {
19972
19738
  });
19973
19739
  });
19974
19740
 
19975
- // ../../node_modules/js-yaml/lib/loader.js
19741
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/loader.js
19976
19742
  var require_loader = __commonJS((exports, module) => {
19977
19743
  var common = require_common();
19978
19744
  var YAMLException = require_exception();
@@ -21145,7 +20911,7 @@ var require_loader = __commonJS((exports, module) => {
21145
20911
  exports.load = load;
21146
20912
  });
21147
20913
 
21148
- // ../../node_modules/js-yaml/lib/dumper.js
20914
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/lib/dumper.js
21149
20915
  var require_dumper = __commonJS((exports, module) => {
21150
20916
  var common = require_common();
21151
20917
  var YAMLException = require_exception();
@@ -21779,7 +21545,7 @@ var require_dumper = __commonJS((exports, module) => {
21779
21545
  exports.dump = dump;
21780
21546
  });
21781
21547
 
21782
- // ../../node_modules/js-yaml/index.js
21548
+ // ../../node_modules/.bun/js-yaml@4.1.1/node_modules/js-yaml/index.js
21783
21549
  var require_js_yaml = __commonJS((exports, module) => {
21784
21550
  var loader = require_loader();
21785
21551
  var dumper = require_dumper();
@@ -21818,7 +21584,7 @@ var require_js_yaml = __commonJS((exports, module) => {
21818
21584
  exports.safeDump = renamed("safeDump", "dump");
21819
21585
  });
21820
21586
 
21821
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/yaml.js
21587
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/yaml.js
21822
21588
  var require_yaml = __commonJS((exports) => {
21823
21589
  var __importDefault = exports && exports.__importDefault || function(mod) {
21824
21590
  return mod && mod.__esModule ? mod : { default: mod };
@@ -21849,7 +21615,7 @@ var require_yaml = __commonJS((exports) => {
21849
21615
  };
21850
21616
  });
21851
21617
 
21852
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/text.js
21618
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/text.js
21853
21619
  var require_text = __commonJS((exports) => {
21854
21620
  Object.defineProperty(exports, "__esModule", { value: true });
21855
21621
  var errors_js_1 = require_errors2();
@@ -21873,7 +21639,7 @@ var require_text = __commonJS((exports) => {
21873
21639
  };
21874
21640
  });
21875
21641
 
21876
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/binary.js
21642
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/parsers/binary.js
21877
21643
  var require_binary2 = __commonJS((exports) => {
21878
21644
  Object.defineProperty(exports, "__esModule", { value: true });
21879
21645
  var BINARY_REGEXP = /\.(jpeg|jpg|gif|png|bmp|ico)$/i;
@@ -21893,7 +21659,7 @@ var require_binary2 = __commonJS((exports) => {
21893
21659
  };
21894
21660
  });
21895
21661
 
21896
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolvers/file.js
21662
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolvers/file.js
21897
21663
  var require_file = __commonJS((exports) => {
21898
21664
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
21899
21665
  if (k22 === undefined)
@@ -21971,7 +21737,7 @@ var require_file = __commonJS((exports) => {
21971
21737
  };
21972
21738
  });
21973
21739
 
21974
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolvers/http.js
21740
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolvers/http.js
21975
21741
  var require_http = __commonJS((exports) => {
21976
21742
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
21977
21743
  if (k22 === undefined)
@@ -22097,7 +21863,7 @@ Too many redirects:
22097
21863
  }
22098
21864
  });
22099
21865
 
22100
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/options.js
21866
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/options.js
22101
21867
  var require_options = __commonJS((exports) => {
22102
21868
  var __importDefault = exports && exports.__importDefault || function(mod) {
22103
21869
  return mod && mod.__esModule ? mod : { default: mod };
@@ -22163,7 +21929,7 @@ var require_options = __commonJS((exports) => {
22163
21929
  }
22164
21930
  });
22165
21931
 
22166
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/normalize-args.js
21932
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/normalize-args.js
22167
21933
  var require_normalize_args = __commonJS((exports) => {
22168
21934
  Object.defineProperty(exports, "__esModule", { value: true });
22169
21935
  exports.normalizeArgs = normalizeArgs;
@@ -22209,7 +21975,7 @@ var require_normalize_args = __commonJS((exports) => {
22209
21975
  exports.default = normalizeArgs;
22210
21976
  });
22211
21977
 
22212
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolve-external.js
21978
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/resolve-external.js
22213
21979
  var require_resolve_external = __commonJS((exports) => {
22214
21980
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
22215
21981
  if (k22 === undefined)
@@ -22318,7 +22084,7 @@ var require_resolve_external = __commonJS((exports) => {
22318
22084
  exports.default = resolveExternal;
22319
22085
  });
22320
22086
 
22321
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/bundle.js
22087
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/bundle.js
22322
22088
  var require_bundle = __commonJS((exports) => {
22323
22089
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
22324
22090
  if (k22 === undefined)
@@ -22502,7 +22268,7 @@ var require_bundle = __commonJS((exports) => {
22502
22268
  exports.default = bundle;
22503
22269
  });
22504
22270
 
22505
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/dereference.js
22271
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/dereference.js
22506
22272
  var require_dereference = __commonJS((exports) => {
22507
22273
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
22508
22274
  if (k22 === undefined)
@@ -22714,7 +22480,7 @@ var require_dereference = __commonJS((exports) => {
22714
22480
  }
22715
22481
  });
22716
22482
 
22717
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/next.js
22483
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/next.js
22718
22484
  var require_next2 = __commonJS((exports) => {
22719
22485
  Object.defineProperty(exports, "__esModule", { value: true });
22720
22486
  function makeNext() {
@@ -22731,7 +22497,7 @@ var require_next2 = __commonJS((exports) => {
22731
22497
  exports.default = makeNext();
22732
22498
  });
22733
22499
 
22734
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/maybe.js
22500
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/util/maybe.js
22735
22501
  var require_maybe = __commonJS((exports) => {
22736
22502
  var __importDefault = exports && exports.__importDefault || function(mod) {
22737
22503
  return mod && mod.__esModule ? mod : { default: mod };
@@ -22757,7 +22523,7 @@ var require_maybe = __commonJS((exports) => {
22757
22523
  }
22758
22524
  });
22759
22525
 
22760
- // ../../node_modules/@apidevtools/json-schema-ref-parser/dist/lib/index.js
22526
+ // ../../node_modules/.bun/@apidevtools+json-schema-ref-parser@14.0.1/node_modules/@apidevtools/json-schema-ref-parser/dist/lib/index.js
22761
22527
  var require_lib6 = __commonJS((exports) => {
22762
22528
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o2, m2, k2, k22) {
22763
22529
  if (k22 === undefined)
@@ -22973,7 +22739,7 @@ var require_lib6 = __commonJS((exports) => {
22973
22739
  exports.dereference = $RefParser2.dereference;
22974
22740
  });
22975
22741
 
22976
- // ../../node_modules/@apidevtools/swagger-parser/lib/options.js
22742
+ // ../../node_modules/.bun/@apidevtools+swagger-parser@12.1.0+ea8cb298c1911149/node_modules/@apidevtools/swagger-parser/lib/options.js
22977
22743
  var require_options2 = __commonJS((exports, module) => {
22978
22744
  var { getJsonSchemaRefParserDefaultOptions } = require_lib6();
22979
22745
  var schemaValidator = require_schema5();
@@ -23011,7 +22777,7 @@ var require_options2 = __commonJS((exports, module) => {
23011
22777
  };
23012
22778
  });
23013
22779
 
23014
- // ../../node_modules/call-me-maybe/src/next.js
22780
+ // ../../node_modules/.bun/call-me-maybe@1.0.2/node_modules/call-me-maybe/src/next.js
23015
22781
  var require_next3 = __commonJS((exports, module) => {
23016
22782
  function makeNext() {
23017
22783
  if (typeof process === "object" && typeof process.nextTick === "function") {
@@ -23027,7 +22793,7 @@ var require_next3 = __commonJS((exports, module) => {
23027
22793
  module.exports = makeNext();
23028
22794
  });
23029
22795
 
23030
- // ../../node_modules/call-me-maybe/src/maybe.js
22796
+ // ../../node_modules/.bun/call-me-maybe@1.0.2/node_modules/call-me-maybe/src/maybe.js
23031
22797
  var require_maybe2 = __commonJS((exports, module) => {
23032
22798
  var next = require_next3();
23033
22799
  module.exports = function maybe(cb, promise) {
@@ -23048,7 +22814,7 @@ var require_maybe2 = __commonJS((exports, module) => {
23048
22814
  };
23049
22815
  });
23050
22816
 
23051
- // ../../node_modules/@apidevtools/swagger-parser/lib/index.js
22817
+ // ../../node_modules/.bun/@apidevtools+swagger-parser@12.1.0+ea8cb298c1911149/node_modules/@apidevtools/swagger-parser/lib/index.js
23052
22818
  var require_lib7 = __commonJS((exports, module) => {
23053
22819
  var validateSchema2 = require_schema5();
23054
22820
  var validateSpec = require_spec();
@@ -23057,7 +22823,7 @@ var require_lib7 = __commonJS((exports, module) => {
23057
22823
  dereferenceInternal: dereference,
23058
22824
  $RefParser: $RefParser2
23059
22825
  } = require_lib6();
23060
- var util = require_util3();
22826
+ var util = require_util2();
23061
22827
  var Options = require_options2();
23062
22828
  var maybe = require_maybe2();
23063
22829
  var supported31Versions = ["3.1.0", "3.1.1", "3.1.2"];
@@ -23162,6 +22928,248 @@ var require_lib7 = __commonJS((exports, module) => {
23162
22928
  module.exports = defaultExport;
23163
22929
  });
23164
22930
 
22931
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/vocabularies/draft7.js
22932
+ var require_draft7 = __commonJS((exports) => {
22933
+ Object.defineProperty(exports, "__esModule", { value: true });
22934
+ var core_1 = require_core2();
22935
+ var validation_1 = require_validation();
22936
+ var applicator_1 = require_applicator();
22937
+ var format_1 = require_format2();
22938
+ var metadata_1 = require_metadata();
22939
+ var draft7Vocabularies = [
22940
+ core_1.default,
22941
+ validation_1.default,
22942
+ (0, applicator_1.default)(),
22943
+ format_1.default,
22944
+ metadata_1.metadataVocabulary,
22945
+ metadata_1.contentVocabulary
22946
+ ];
22947
+ exports.default = draft7Vocabularies;
22948
+ });
22949
+
22950
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/refs/json-schema-draft-07.json
22951
+ var require_json_schema_draft_07 = __commonJS((exports, module) => {
22952
+ module.exports = {
22953
+ $schema: "http://json-schema.org/draft-07/schema#",
22954
+ $id: "http://json-schema.org/draft-07/schema#",
22955
+ title: "Core schema meta-schema",
22956
+ definitions: {
22957
+ schemaArray: {
22958
+ type: "array",
22959
+ minItems: 1,
22960
+ items: { $ref: "#" }
22961
+ },
22962
+ nonNegativeInteger: {
22963
+ type: "integer",
22964
+ minimum: 0
22965
+ },
22966
+ nonNegativeIntegerDefault0: {
22967
+ allOf: [{ $ref: "#/definitions/nonNegativeInteger" }, { default: 0 }]
22968
+ },
22969
+ simpleTypes: {
22970
+ enum: ["array", "boolean", "integer", "null", "number", "object", "string"]
22971
+ },
22972
+ stringArray: {
22973
+ type: "array",
22974
+ items: { type: "string" },
22975
+ uniqueItems: true,
22976
+ default: []
22977
+ }
22978
+ },
22979
+ type: ["object", "boolean"],
22980
+ properties: {
22981
+ $id: {
22982
+ type: "string",
22983
+ format: "uri-reference"
22984
+ },
22985
+ $schema: {
22986
+ type: "string",
22987
+ format: "uri"
22988
+ },
22989
+ $ref: {
22990
+ type: "string",
22991
+ format: "uri-reference"
22992
+ },
22993
+ $comment: {
22994
+ type: "string"
22995
+ },
22996
+ title: {
22997
+ type: "string"
22998
+ },
22999
+ description: {
23000
+ type: "string"
23001
+ },
23002
+ default: true,
23003
+ readOnly: {
23004
+ type: "boolean",
23005
+ default: false
23006
+ },
23007
+ examples: {
23008
+ type: "array",
23009
+ items: true
23010
+ },
23011
+ multipleOf: {
23012
+ type: "number",
23013
+ exclusiveMinimum: 0
23014
+ },
23015
+ maximum: {
23016
+ type: "number"
23017
+ },
23018
+ exclusiveMaximum: {
23019
+ type: "number"
23020
+ },
23021
+ minimum: {
23022
+ type: "number"
23023
+ },
23024
+ exclusiveMinimum: {
23025
+ type: "number"
23026
+ },
23027
+ maxLength: { $ref: "#/definitions/nonNegativeInteger" },
23028
+ minLength: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
23029
+ pattern: {
23030
+ type: "string",
23031
+ format: "regex"
23032
+ },
23033
+ additionalItems: { $ref: "#" },
23034
+ items: {
23035
+ anyOf: [{ $ref: "#" }, { $ref: "#/definitions/schemaArray" }],
23036
+ default: true
23037
+ },
23038
+ maxItems: { $ref: "#/definitions/nonNegativeInteger" },
23039
+ minItems: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
23040
+ uniqueItems: {
23041
+ type: "boolean",
23042
+ default: false
23043
+ },
23044
+ contains: { $ref: "#" },
23045
+ maxProperties: { $ref: "#/definitions/nonNegativeInteger" },
23046
+ minProperties: { $ref: "#/definitions/nonNegativeIntegerDefault0" },
23047
+ required: { $ref: "#/definitions/stringArray" },
23048
+ additionalProperties: { $ref: "#" },
23049
+ definitions: {
23050
+ type: "object",
23051
+ additionalProperties: { $ref: "#" },
23052
+ default: {}
23053
+ },
23054
+ properties: {
23055
+ type: "object",
23056
+ additionalProperties: { $ref: "#" },
23057
+ default: {}
23058
+ },
23059
+ patternProperties: {
23060
+ type: "object",
23061
+ additionalProperties: { $ref: "#" },
23062
+ propertyNames: { format: "regex" },
23063
+ default: {}
23064
+ },
23065
+ dependencies: {
23066
+ type: "object",
23067
+ additionalProperties: {
23068
+ anyOf: [{ $ref: "#" }, { $ref: "#/definitions/stringArray" }]
23069
+ }
23070
+ },
23071
+ propertyNames: { $ref: "#" },
23072
+ const: true,
23073
+ enum: {
23074
+ type: "array",
23075
+ items: true,
23076
+ minItems: 1,
23077
+ uniqueItems: true
23078
+ },
23079
+ type: {
23080
+ anyOf: [
23081
+ { $ref: "#/definitions/simpleTypes" },
23082
+ {
23083
+ type: "array",
23084
+ items: { $ref: "#/definitions/simpleTypes" },
23085
+ minItems: 1,
23086
+ uniqueItems: true
23087
+ }
23088
+ ]
23089
+ },
23090
+ format: { type: "string" },
23091
+ contentMediaType: { type: "string" },
23092
+ contentEncoding: { type: "string" },
23093
+ if: { $ref: "#" },
23094
+ then: { $ref: "#" },
23095
+ else: { $ref: "#" },
23096
+ allOf: { $ref: "#/definitions/schemaArray" },
23097
+ anyOf: { $ref: "#/definitions/schemaArray" },
23098
+ oneOf: { $ref: "#/definitions/schemaArray" },
23099
+ not: { $ref: "#" }
23100
+ },
23101
+ default: true
23102
+ };
23103
+ });
23104
+
23105
+ // ../../node_modules/.bun/ajv@8.18.0/node_modules/ajv/dist/ajv.js
23106
+ var require_ajv = __commonJS((exports, module) => {
23107
+ Object.defineProperty(exports, "__esModule", { value: true });
23108
+ exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = undefined;
23109
+ var core_1 = require_core();
23110
+ var draft7_1 = require_draft7();
23111
+ var discriminator_1 = require_discriminator();
23112
+ var draft7MetaSchema = require_json_schema_draft_07();
23113
+ var META_SUPPORT_DATA = ["/properties"];
23114
+ var META_SCHEMA_ID = "http://json-schema.org/draft-07/schema";
23115
+
23116
+ class Ajv extends core_1.default {
23117
+ _addVocabularies() {
23118
+ super._addVocabularies();
23119
+ draft7_1.default.forEach((v3) => this.addVocabulary(v3));
23120
+ if (this.opts.discriminator)
23121
+ this.addKeyword(discriminator_1.default);
23122
+ }
23123
+ _addDefaultMetaSchema() {
23124
+ super._addDefaultMetaSchema();
23125
+ if (!this.opts.meta)
23126
+ return;
23127
+ const metaSchema = this.opts.$data ? this.$dataMetaSchema(draft7MetaSchema, META_SUPPORT_DATA) : draft7MetaSchema;
23128
+ this.addMetaSchema(metaSchema, META_SCHEMA_ID, false);
23129
+ this.refs["http://json-schema.org/schema"] = META_SCHEMA_ID;
23130
+ }
23131
+ defaultMeta() {
23132
+ return this.opts.defaultMeta = super.defaultMeta() || (this.getSchema(META_SCHEMA_ID) ? META_SCHEMA_ID : undefined);
23133
+ }
23134
+ }
23135
+ exports.Ajv = Ajv;
23136
+ module.exports = exports = Ajv;
23137
+ module.exports.Ajv = Ajv;
23138
+ Object.defineProperty(exports, "__esModule", { value: true });
23139
+ exports.default = Ajv;
23140
+ var validate_1 = require_validate();
23141
+ Object.defineProperty(exports, "KeywordCxt", { enumerable: true, get: function() {
23142
+ return validate_1.KeywordCxt;
23143
+ } });
23144
+ var codegen_1 = require_codegen();
23145
+ Object.defineProperty(exports, "_", { enumerable: true, get: function() {
23146
+ return codegen_1._;
23147
+ } });
23148
+ Object.defineProperty(exports, "str", { enumerable: true, get: function() {
23149
+ return codegen_1.str;
23150
+ } });
23151
+ Object.defineProperty(exports, "stringify", { enumerable: true, get: function() {
23152
+ return codegen_1.stringify;
23153
+ } });
23154
+ Object.defineProperty(exports, "nil", { enumerable: true, get: function() {
23155
+ return codegen_1.nil;
23156
+ } });
23157
+ Object.defineProperty(exports, "Name", { enumerable: true, get: function() {
23158
+ return codegen_1.Name;
23159
+ } });
23160
+ Object.defineProperty(exports, "CodeGen", { enumerable: true, get: function() {
23161
+ return codegen_1.CodeGen;
23162
+ } });
23163
+ var validation_error_1 = require_validation_error();
23164
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function() {
23165
+ return validation_error_1.default;
23166
+ } });
23167
+ var ref_error_1 = require_ref_error();
23168
+ Object.defineProperty(exports, "MissingRefError", { enumerable: true, get: function() {
23169
+ return ref_error_1.default;
23170
+ } });
23171
+ });
23172
+
23165
23173
  // src/cli.ts
23166
23174
  import { readFileSync as readFileSync2, watch } from "node:fs";
23167
23175
  import { createServer as createServer2 } from "node:http";
@@ -23190,11 +23198,22 @@ function toHttpMethod(method) {
23190
23198
  }
23191
23199
  return upper;
23192
23200
  }
23201
+ function normalizePath(path) {
23202
+ return path.endsWith("/") && path !== "/" ? path.slice(0, -1) : path;
23203
+ }
23204
+ function toRouteKey(method, path) {
23205
+ const key = `${method} ${path}`;
23206
+ return key;
23207
+ }
23193
23208
  function isStatusTuple(value) {
23194
23209
  return Array.isArray(value) && (value.length === 2 || value.length === 3) && typeof value[0] === "number" && value[0] >= 100 && value[0] <= 599;
23195
23210
  }
23196
23211
 
23197
23212
  // ../core/src/errors.ts
23213
+ function errorMessage(error) {
23214
+ return error instanceof Error ? error.message : "Unknown error";
23215
+ }
23216
+
23198
23217
  class SchmockError extends Error {
23199
23218
  code;
23200
23219
  context;
@@ -23272,10 +23291,21 @@ function parseNodeQuery(url) {
23272
23291
  });
23273
23292
  return query;
23274
23293
  }
23275
- function collectBody(req, headers) {
23276
- return new Promise((resolve) => {
23294
+ var DEFAULT_MAX_BODY_SIZE = 10 * 1024 * 1024;
23295
+ function collectBody(req, headers, maxBodySize = DEFAULT_MAX_BODY_SIZE) {
23296
+ return new Promise((resolve, reject) => {
23277
23297
  const chunks = [];
23278
- req.on("data", (chunk) => chunks.push(chunk));
23298
+ let totalSize = 0;
23299
+ req.on("error", reject);
23300
+ req.on("data", (chunk) => {
23301
+ totalSize += chunk.length;
23302
+ if (totalSize > maxBodySize) {
23303
+ req.destroy();
23304
+ reject(Object.assign(new Error("Request body too large"), { status: 413 }));
23305
+ return;
23306
+ }
23307
+ chunks.push(chunk);
23308
+ });
23279
23309
  req.on("end", () => {
23280
23310
  const raw = Buffer.concat(chunks).toString();
23281
23311
  if (!raw) {
@@ -23333,11 +23363,127 @@ function parseRouteKey(routeKey) {
23333
23363
  };
23334
23364
  }
23335
23365
 
23336
- // ../core/src/builder.ts
23337
- function errorMessage(error) {
23338
- return error instanceof Error ? error.message : "Unknown error";
23366
+ // ../core/src/plugin-pipeline.ts
23367
+ async function runPluginPipeline(plugins, context, initialResponse, logger) {
23368
+ let currentContext = context;
23369
+ let response = initialResponse;
23370
+ logger.log("pipeline", `Running plugin pipeline for ${plugins.length} plugins`);
23371
+ for (const plugin of plugins) {
23372
+ logger.log("pipeline", `Processing plugin: ${plugin.name}`);
23373
+ try {
23374
+ const result = await plugin.process(currentContext, response);
23375
+ if (!result || !result.context) {
23376
+ throw new Error(`Plugin ${plugin.name} didn't return valid result`);
23377
+ }
23378
+ currentContext = result.context;
23379
+ if (result.response !== undefined && (response === undefined || response === null)) {
23380
+ logger.log("pipeline", `Plugin ${plugin.name} generated response`);
23381
+ response = result.response;
23382
+ } else if (result.response !== undefined && response !== undefined) {
23383
+ logger.log("pipeline", `Plugin ${plugin.name} transformed response`);
23384
+ response = result.response;
23385
+ }
23386
+ } catch (error) {
23387
+ logger.log("pipeline", `Plugin ${plugin.name} failed: ${errorMessage(error)}`);
23388
+ if (plugin.onError) {
23389
+ try {
23390
+ const pluginError = error instanceof Error ? error : new Error(errorMessage(error));
23391
+ const errorResult = await plugin.onError(pluginError, currentContext);
23392
+ if (errorResult) {
23393
+ logger.log("pipeline", `Plugin ${plugin.name} handled error`);
23394
+ if (errorResult instanceof Error) {
23395
+ throw new PluginError(plugin.name, errorResult);
23396
+ }
23397
+ if (typeof errorResult === "object" && errorResult !== null && "status" in errorResult) {
23398
+ response = errorResult;
23399
+ break;
23400
+ }
23401
+ }
23402
+ } catch (hookError) {
23403
+ if (hookError instanceof PluginError) {
23404
+ throw hookError;
23405
+ }
23406
+ logger.log("pipeline", `Plugin ${plugin.name} error handler failed: ${errorMessage(hookError)}`);
23407
+ }
23408
+ }
23409
+ const cause = error instanceof Error ? error : new Error(errorMessage(error));
23410
+ throw new PluginError(plugin.name, cause);
23411
+ }
23412
+ }
23413
+ return { context: currentContext, response };
23414
+ }
23415
+
23416
+ // ../core/src/response-parser.ts
23417
+ function isResponseObject(value) {
23418
+ return typeof value === "object" && value !== null && "status" in value && "body" in value;
23419
+ }
23420
+ function parseResponse(result, routeConfig) {
23421
+ let status = 200;
23422
+ let body = result;
23423
+ let headers = {};
23424
+ let tupleFormat = false;
23425
+ if (isResponseObject(result)) {
23426
+ return {
23427
+ status: result.status,
23428
+ body: result.body,
23429
+ headers: result.headers || {}
23430
+ };
23431
+ }
23432
+ if (isStatusTuple(result)) {
23433
+ [status, body, headers = {}] = result;
23434
+ tupleFormat = true;
23435
+ }
23436
+ if (body === null || body === undefined) {
23437
+ if (!tupleFormat) {
23438
+ status = status === 200 ? 204 : status;
23439
+ }
23440
+ body = undefined;
23441
+ }
23442
+ if (!headers["content-type"] && routeConfig.contentType && !tupleFormat) {
23443
+ headers["content-type"] = routeConfig.contentType;
23444
+ if (routeConfig.contentType === "text/plain" && body !== undefined) {
23445
+ if (typeof body === "object" && !Buffer.isBuffer(body)) {
23446
+ body = JSON.stringify(body);
23447
+ } else if (typeof body !== "string") {
23448
+ body = String(body);
23449
+ }
23450
+ }
23451
+ }
23452
+ return {
23453
+ status,
23454
+ body,
23455
+ headers
23456
+ };
23339
23457
  }
23340
23458
 
23459
+ // ../core/src/route-matcher.ts
23460
+ function isGeneratorFunction(gen) {
23461
+ return typeof gen === "function";
23462
+ }
23463
+ function findRoute(method, path, staticRoutes, routes) {
23464
+ const staticMatch = staticRoutes.get(`${method} ${normalizePath(path)}`);
23465
+ if (staticMatch) {
23466
+ return staticMatch;
23467
+ }
23468
+ for (const route of routes) {
23469
+ if (route.method === method && route.params.length > 0 && route.pattern.test(path)) {
23470
+ return route;
23471
+ }
23472
+ }
23473
+ return;
23474
+ }
23475
+ function extractParams(route, path) {
23476
+ const match = path.match(route.pattern);
23477
+ if (!match)
23478
+ return {};
23479
+ const params = {};
23480
+ route.params.forEach((param, index) => {
23481
+ params[param] = match[index + 1];
23482
+ });
23483
+ return params;
23484
+ }
23485
+
23486
+ // ../core/src/builder.ts
23341
23487
  class DebugLogger {
23342
23488
  enabled;
23343
23489
  constructor(enabled = false) {
@@ -23365,12 +23511,6 @@ class DebugLogger {
23365
23511
  console.timeEnd(`[SCHMOCK] ${label}`);
23366
23512
  }
23367
23513
  }
23368
- function isGeneratorFunction(gen) {
23369
- return typeof gen === "function";
23370
- }
23371
- function isResponseObject(value) {
23372
- return typeof value === "object" && value !== null && "status" in value && "body" in value;
23373
- }
23374
23514
 
23375
23515
  class CallableMockInstance {
23376
23516
  globalConfig;
@@ -23429,8 +23569,7 @@ class CallableMockInstance {
23429
23569
  };
23430
23570
  this.routes.push(compiledRoute);
23431
23571
  if (parsed.params.length === 0) {
23432
- const normalizedPath = parsed.path.endsWith("/") && parsed.path !== "/" ? parsed.path.slice(0, -1) : parsed.path;
23433
- const key = `${parsed.method} ${normalizedPath}`;
23572
+ const key = `${parsed.method} ${normalizePath(parsed.path)}`;
23434
23573
  if (!this.staticRoutes.has(key)) {
23435
23574
  this.staticRoutes.set(key, compiledRoute);
23436
23575
  }
@@ -23459,26 +23598,26 @@ class CallableMockInstance {
23459
23598
  return this;
23460
23599
  }
23461
23600
  history(method, path) {
23462
- if (method && path) {
23463
- return this.requestHistory.filter((r) => r.method === method && r.path === path);
23601
+ if (method || path) {
23602
+ return this.requestHistory.filter((r) => (!method || r.method === method) && (!path || r.path === path));
23464
23603
  }
23465
23604
  return [...this.requestHistory];
23466
23605
  }
23467
23606
  called(method, path) {
23468
- if (method && path) {
23469
- return this.requestHistory.some((r) => r.method === method && r.path === path);
23607
+ if (method || path) {
23608
+ return this.requestHistory.some((r) => (!method || r.method === method) && (!path || r.path === path));
23470
23609
  }
23471
23610
  return this.requestHistory.length > 0;
23472
23611
  }
23473
23612
  callCount(method, path) {
23474
- if (method && path) {
23475
- return this.requestHistory.filter((r) => r.method === method && r.path === path).length;
23613
+ if (method || path) {
23614
+ return this.requestHistory.filter((r) => (!method || r.method === method) && (!path || r.path === path)).length;
23476
23615
  }
23477
23616
  return this.requestHistory.length;
23478
23617
  }
23479
23618
  lastRequest(method, path) {
23480
- if (method && path) {
23481
- const filtered = this.requestHistory.filter((r) => r.method === method && r.path === path);
23619
+ if (method || path) {
23620
+ const filtered = this.requestHistory.filter((r) => (!method || r.method === method) && (!path || r.path === path));
23482
23621
  return filtered[filtered.length - 1];
23483
23622
  }
23484
23623
  return this.requestHistory[this.requestHistory.length - 1];
@@ -23491,7 +23630,7 @@ class CallableMockInstance {
23491
23630
  }));
23492
23631
  }
23493
23632
  getState() {
23494
- return this.globalConfig.state || {};
23633
+ return { ...this.globalConfig.state || {} };
23495
23634
  }
23496
23635
  on(event, listener) {
23497
23636
  let set = this.listeners.get(event);
@@ -23545,14 +23684,29 @@ class CallableMockInstance {
23545
23684
  throw new SchmockError("Server is already running", "SERVER_ALREADY_RUNNING");
23546
23685
  }
23547
23686
  const httpServer = createServer((req, res) => {
23548
- const url = new URL(req.url ?? "/", `http://${req.headers.host}`);
23549
- const method = toHttpMethod(req.method ?? "GET");
23550
- const path = url.pathname;
23551
- const headers = parseNodeHeaders(req);
23552
- const query = parseNodeQuery(url);
23553
- collectBody(req, headers).then((body) => this.handle(method, path, { headers, body, query }).then((schmockResponse) => {
23687
+ const handleRequest = async () => {
23688
+ const url = new URL(req.url ?? "/", `http://${req.headers.host}`);
23689
+ const method = toHttpMethod(req.method ?? "GET");
23690
+ const path = url.pathname;
23691
+ const headers = parseNodeHeaders(req);
23692
+ const query = parseNodeQuery(url);
23693
+ const body = await collectBody(req, headers);
23694
+ const schmockResponse = await this.handle(method, path, {
23695
+ headers,
23696
+ body,
23697
+ query
23698
+ });
23554
23699
  writeSchmockResponse(res, schmockResponse);
23555
- }));
23700
+ };
23701
+ handleRequest().catch((error) => {
23702
+ if (!res.headersSent) {
23703
+ res.writeHead(500, { "content-type": "application/json" });
23704
+ }
23705
+ res.end(JSON.stringify({
23706
+ error: error instanceof Error ? error.message : "Internal Server Error",
23707
+ code: "SERVER_ERROR"
23708
+ }));
23709
+ });
23556
23710
  });
23557
23711
  this.server = httpServer;
23558
23712
  return new Promise((resolve, reject) => {
@@ -23576,18 +23730,20 @@ class CallableMockInstance {
23576
23730
  this.logger.log("server", "Server stopped");
23577
23731
  }
23578
23732
  async handle(method, path, options) {
23579
- const requestId = crypto.randomUUID();
23580
23733
  const handleStart = performance.now();
23734
+ const requestId = this.globalConfig.debug ? crypto.randomUUID() : "";
23735
+ const reqQuery = options?.query || {};
23736
+ const reqHeaders = options?.headers || {};
23581
23737
  this.logger.log("request", `[${requestId}] ${method} ${path}`, {
23582
- headers: options?.headers,
23583
- query: options?.query,
23738
+ headers: reqHeaders,
23739
+ query: reqQuery,
23584
23740
  bodyType: options?.body ? typeof options.body : "none"
23585
23741
  });
23586
23742
  this.logger.time(`request-${requestId}`);
23587
23743
  this.emit("request:start", {
23588
23744
  method,
23589
23745
  path,
23590
- headers: options?.headers || {}
23746
+ headers: reqHeaders
23591
23747
  });
23592
23748
  try {
23593
23749
  let requestPath = path;
@@ -23603,13 +23759,19 @@ class CallableMockInstance {
23603
23759
  body: { error: error.message, code: error.code },
23604
23760
  headers: {}
23605
23761
  };
23762
+ this.emit("request:end", {
23763
+ method,
23764
+ path,
23765
+ status: 404,
23766
+ duration: performance.now() - handleStart
23767
+ });
23606
23768
  this.logger.timeEnd(`request-${requestId}`);
23607
23769
  return response2;
23608
23770
  }
23609
23771
  const stripped = pathToCheck.slice(namespace.length);
23610
23772
  requestPath = stripped.startsWith("/") ? stripped : `/${stripped}`;
23611
23773
  }
23612
- const matchedRoute = this.findRoute(method, requestPath);
23774
+ const matchedRoute = findRoute(method, requestPath, this.staticRoutes, this.routes);
23613
23775
  if (!matchedRoute) {
23614
23776
  this.logger.log("route", `[${requestId}] No route found for ${method} ${requestPath}`);
23615
23777
  this.emit("request:notfound", { method, path: requestPath });
@@ -23629,7 +23791,7 @@ class CallableMockInstance {
23629
23791
  return response2;
23630
23792
  }
23631
23793
  this.logger.log("route", `[${requestId}] Matched route: ${method} ${matchedRoute.path}`);
23632
- const params = this.extractParams(matchedRoute, requestPath);
23794
+ const params = extractParams(matchedRoute, requestPath);
23633
23795
  this.emit("request:match", {
23634
23796
  method,
23635
23797
  path: requestPath,
@@ -23640,8 +23802,8 @@ class CallableMockInstance {
23640
23802
  method,
23641
23803
  path: requestPath,
23642
23804
  params,
23643
- query: options?.query || {},
23644
- headers: options?.headers || {},
23805
+ query: reqQuery,
23806
+ headers: reqHeaders,
23645
23807
  body: options?.body,
23646
23808
  state: this.globalConfig.state || {}
23647
23809
  };
@@ -23656,28 +23818,28 @@ class CallableMockInstance {
23656
23818
  route: matchedRoute.config,
23657
23819
  method,
23658
23820
  params,
23659
- query: options?.query || {},
23660
- headers: options?.headers || {},
23821
+ query: reqQuery,
23822
+ headers: reqHeaders,
23661
23823
  body: options?.body,
23662
23824
  state: new Map,
23663
23825
  routeState: this.globalConfig.state || {}
23664
23826
  };
23665
23827
  try {
23666
- const pipelineResult = await this.runPluginPipeline(pluginContext, result, matchedRoute.config, requestId);
23828
+ const pipelineResult = await runPluginPipeline(this.plugins, pluginContext, result, this.logger);
23667
23829
  pluginContext = pipelineResult.context;
23668
23830
  result = pipelineResult.response;
23669
23831
  } catch (error) {
23670
23832
  this.logger.log("error", `[${requestId}] Plugin pipeline error: ${errorMessage(error)}`);
23671
23833
  throw error;
23672
23834
  }
23673
- const response = this.parseResponse(result, matchedRoute.config);
23835
+ const response = parseResponse(result, matchedRoute.config);
23674
23836
  await this.applyDelay(matchedRoute.config.delay);
23675
23837
  this.requestHistory.push({
23676
23838
  method,
23677
23839
  path: requestPath,
23678
23840
  params,
23679
- query: options?.query || {},
23680
- headers: options?.headers || {},
23841
+ query: reqQuery,
23842
+ headers: reqHeaders,
23681
23843
  body: options?.body,
23682
23844
  timestamp: Date.now(),
23683
23845
  response: { status: response.status, body: response.body }
@@ -23706,6 +23868,12 @@ class CallableMockInstance {
23706
23868
  headers: {}
23707
23869
  };
23708
23870
  await this.applyDelay();
23871
+ this.emit("request:end", {
23872
+ method,
23873
+ path,
23874
+ status: 500,
23875
+ duration: performance.now() - handleStart
23876
+ });
23709
23877
  this.logger.log("error", `[${requestId}] Returning error response 500`);
23710
23878
  this.logger.timeEnd(`request-${requestId}`);
23711
23879
  return errorResponse;
@@ -23719,115 +23887,6 @@ class CallableMockInstance {
23719
23887
  const ms = Array.isArray(effectiveDelay) ? Math.random() * (effectiveDelay[1] - effectiveDelay[0]) + effectiveDelay[0] : effectiveDelay;
23720
23888
  await new Promise((resolve) => setTimeout(resolve, ms));
23721
23889
  }
23722
- parseResponse(result, routeConfig) {
23723
- let status = 200;
23724
- let body = result;
23725
- let headers = {};
23726
- let tupleFormat = false;
23727
- if (isResponseObject(result)) {
23728
- return {
23729
- status: result.status,
23730
- body: result.body,
23731
- headers: result.headers || {}
23732
- };
23733
- }
23734
- if (isStatusTuple(result)) {
23735
- [status, body, headers = {}] = result;
23736
- tupleFormat = true;
23737
- }
23738
- if (body === null || body === undefined) {
23739
- if (!tupleFormat) {
23740
- status = status === 200 ? 204 : status;
23741
- }
23742
- body = undefined;
23743
- }
23744
- if (!headers["content-type"] && routeConfig.contentType && !tupleFormat) {
23745
- headers["content-type"] = routeConfig.contentType;
23746
- if (routeConfig.contentType === "text/plain" && body !== undefined) {
23747
- if (typeof body === "object" && !Buffer.isBuffer(body)) {
23748
- body = JSON.stringify(body);
23749
- } else if (typeof body !== "string") {
23750
- body = String(body);
23751
- }
23752
- }
23753
- }
23754
- return {
23755
- status,
23756
- body,
23757
- headers
23758
- };
23759
- }
23760
- async runPluginPipeline(context, initialResponse, _routeConfig, _requestId) {
23761
- let currentContext = context;
23762
- let response = initialResponse;
23763
- this.logger.log("pipeline", `Running plugin pipeline for ${this.plugins.length} plugins`);
23764
- for (const plugin of this.plugins) {
23765
- this.logger.log("pipeline", `Processing plugin: ${plugin.name}`);
23766
- try {
23767
- const result = await plugin.process(currentContext, response);
23768
- if (!result || !result.context) {
23769
- throw new Error(`Plugin ${plugin.name} didn't return valid result`);
23770
- }
23771
- currentContext = result.context;
23772
- if (result.response !== undefined && (response === undefined || response === null)) {
23773
- this.logger.log("pipeline", `Plugin ${plugin.name} generated response`);
23774
- response = result.response;
23775
- } else if (result.response !== undefined && response !== undefined) {
23776
- this.logger.log("pipeline", `Plugin ${plugin.name} transformed response`);
23777
- response = result.response;
23778
- }
23779
- } catch (error) {
23780
- this.logger.log("pipeline", `Plugin ${plugin.name} failed: ${errorMessage(error)}`);
23781
- if (plugin.onError) {
23782
- try {
23783
- const pluginError = error instanceof Error ? error : new Error(errorMessage(error));
23784
- const errorResult = await plugin.onError(pluginError, currentContext);
23785
- if (errorResult) {
23786
- this.logger.log("pipeline", `Plugin ${plugin.name} handled error`);
23787
- if (errorResult instanceof Error) {
23788
- throw new PluginError(plugin.name, errorResult);
23789
- }
23790
- if (typeof errorResult === "object" && errorResult !== null && "status" in errorResult) {
23791
- response = errorResult;
23792
- break;
23793
- }
23794
- }
23795
- } catch (hookError) {
23796
- if (hookError instanceof PluginError) {
23797
- throw hookError;
23798
- }
23799
- this.logger.log("pipeline", `Plugin ${plugin.name} error handler failed: ${errorMessage(hookError)}`);
23800
- }
23801
- }
23802
- const cause = error instanceof Error ? error : new Error(errorMessage(error));
23803
- throw new PluginError(plugin.name, cause);
23804
- }
23805
- }
23806
- return { context: currentContext, response };
23807
- }
23808
- findRoute(method, path) {
23809
- const normalizedPath = path.endsWith("/") && path !== "/" ? path.slice(0, -1) : path;
23810
- const staticMatch = this.staticRoutes.get(`${method} ${normalizedPath}`);
23811
- if (staticMatch) {
23812
- return staticMatch;
23813
- }
23814
- for (const route of this.routes) {
23815
- if (route.method === method && route.params.length > 0 && route.pattern.test(path)) {
23816
- return route;
23817
- }
23818
- }
23819
- return;
23820
- }
23821
- extractParams(route, path) {
23822
- const match = path.match(route.pattern);
23823
- if (!match)
23824
- return {};
23825
- const params = {};
23826
- route.params.forEach((param, index) => {
23827
- params[param] = match[index + 1];
23828
- });
23829
- return params;
23830
- }
23831
23890
  }
23832
23891
 
23833
23892
  // ../core/src/index.ts
@@ -23865,8 +23924,87 @@ function schmock(config) {
23865
23924
  instance.setCallableRef(callableInstance);
23866
23925
  return callableInstance;
23867
23926
  }
23927
+ // ../openapi/package.json
23928
+ var version = "1.9.2";
23929
+
23930
+ // ../openapi/src/utils.ts
23931
+ function isRecord(value) {
23932
+ return typeof value === "object" && value !== null && !Array.isArray(value);
23933
+ }
23934
+ function toJsonSchema(node) {
23935
+ return Object.assign({}, node);
23936
+ }
23937
+
23938
+ // ../openapi/src/callbacks.ts
23939
+ function getRouteCallbacks(route) {
23940
+ const value = route["openapi:callbacks"];
23941
+ return Array.isArray(value) ? value : undefined;
23942
+ }
23943
+ function fireCallbacks(callbacks, context, response) {
23944
+ for (const callback of callbacks) {
23945
+ const url = resolveCallbackUrl(callback.urlExpression, context, response);
23946
+ if (!url || !url.startsWith("http"))
23947
+ continue;
23948
+ const body = Array.isArray(response) ? response[1] : response;
23949
+ fetch(url, {
23950
+ method: callback.method,
23951
+ headers: { "content-type": "application/json" },
23952
+ body: body !== undefined ? JSON.stringify(body) : undefined
23953
+ }).catch(() => {});
23954
+ }
23955
+ }
23956
+ function resolveCallbackUrl(expression, context, response) {
23957
+ return expression.replace(/\{\$([^}]+)\}/g, (_, expr) => {
23958
+ if (expr.startsWith("request.body#")) {
23959
+ const pointer = expr.slice("request.body#".length);
23960
+ const value = resolveJsonPointer(context.body, pointer);
23961
+ return typeof value === "string" ? value : "";
23962
+ }
23963
+ if (expr.startsWith("request.header.")) {
23964
+ const headerName = expr.slice("request.header.".length).toLowerCase();
23965
+ return context.headers[headerName] ?? "";
23966
+ }
23967
+ if (expr.startsWith("request.query.")) {
23968
+ const queryName = expr.slice("request.query.".length);
23969
+ return context.query[queryName] ?? "";
23970
+ }
23971
+ if (expr.startsWith("request.path.")) {
23972
+ const paramName = expr.slice("request.path.".length);
23973
+ return context.params[paramName] ?? "";
23974
+ }
23975
+ if (expr.startsWith("response.body#")) {
23976
+ const pointer = expr.slice("response.body#".length);
23977
+ const responseBody = Array.isArray(response) ? response[1] : response;
23978
+ const value = resolveJsonPointer(responseBody, pointer);
23979
+ return typeof value === "string" ? value : "";
23980
+ }
23981
+ return "";
23982
+ });
23983
+ }
23984
+ function resolveJsonPointer(obj, pointer) {
23985
+ if (!isRecord(obj) || !pointer.startsWith("/"))
23986
+ return;
23987
+ const parts = pointer.slice(1).split("/");
23988
+ let current = obj;
23989
+ for (const part of parts) {
23990
+ if (!isRecord(current))
23991
+ return;
23992
+ current = current[part];
23993
+ }
23994
+ return current;
23995
+ }
23996
+
23997
+ // ../openapi/src/generators.ts
23998
+ import { randomUUID } from "node:crypto";
23999
+
24000
+ // ../faker/src/constants.ts
24001
+ var MAX_ARRAY_SIZE = 1e4;
24002
+ var MAX_NESTING_DEPTH = 10;
24003
+ var DEFAULT_ARRAY_COUNT = 3;
24004
+ var DEEP_NESTING_THRESHOLD = 3;
24005
+ var LARGE_ARRAY_THRESHOLD = 100;
23868
24006
 
23869
- // ../../node_modules/@faker-js/faker/dist/chunk-ZES2MVAN.js
24007
+ // ../../node_modules/.bun/@faker-js+faker@10.3.0/node_modules/@faker-js/faker/dist/chunk-ZES2MVAN.js
23870
24008
  var e = [{ name: "Aegean Airlines", iataCode: "A3" }, { name: "Aeroflot", iataCode: "SU" }, { name: "Aerolineas Argentinas", iataCode: "AR" }, { name: "Aeromexico", iataCode: "AM" }, { name: "Air Algerie", iataCode: "AH" }, { name: "Air Arabia", iataCode: "G9" }, { name: "Air Canada", iataCode: "AC" }, { name: "Air China", iataCode: "CA" }, { name: "Air Europa", iataCode: "UX" }, { name: "Air France", iataCode: "AF" }, { name: "Air India", iataCode: "AI" }, { name: "Air Mauritius", iataCode: "MK" }, { name: "Air New Zealand", iataCode: "NZ" }, { name: "Air Niugini", iataCode: "PX" }, { name: "Air Tahiti", iataCode: "VT" }, { name: "Air Tahiti Nui", iataCode: "TN" }, { name: "Air Transat", iataCode: "TS" }, { name: "AirAsia X", iataCode: "D7" }, { name: "AirAsia", iataCode: "AK" }, { name: "Aircalin", iataCode: "SB" }, { name: "Alaska Airlines", iataCode: "AS" }, { name: "Alitalia", iataCode: "AZ" }, { name: "All Nippon Airways", iataCode: "NH" }, { name: "Allegiant Air", iataCode: "G4" }, { name: "American Airlines", iataCode: "AA" }, { name: "Asiana Airlines", iataCode: "OZ" }, { name: "Avianca", iataCode: "AV" }, { name: "Azul Linhas Aereas Brasileiras", iataCode: "AD" }, { name: "Azur Air", iataCode: "ZF" }, { name: "Beijing Capital Airlines", iataCode: "JD" }, { name: "Boliviana de Aviacion", iataCode: "OB" }, { name: "British Airways", iataCode: "BA" }, { name: "Cathay Pacific", iataCode: "CX" }, { name: "Cebu Pacific Air", iataCode: "5J" }, { name: "China Airlines", iataCode: "CI" }, { name: "China Eastern Airlines", iataCode: "MU" }, { name: "China Southern Airlines", iataCode: "CZ" }, { name: "Condor", iataCode: "DE" }, { name: "Copa Airlines", iataCode: "CM" }, { name: "Delta Air Lines", iataCode: "DL" }, { name: "Easyfly", iataCode: "VE" }, { name: "EasyJet", iataCode: "U2" }, { name: "EcoJet", iataCode: "8J" }, { name: "Egyptair", iataCode: "MS" }, { name: "El Al", iataCode: "LY" }, { name: "Emirates Airlines", iataCode: "EK" }, { name: "Ethiopian Airlines", iataCode: "ET" }, { name: "Etihad Airways", iataCode: "EY" }, { name: "EVA Air", iataCode: "BR" }, { name: "Fiji Airways", iataCode: "FJ" }, { name: "Finnair", iataCode: "AY" }, { name: "Flybondi", iataCode: "FO" }, { name: "Flydubai", iataCode: "FZ" }, { name: "FlySafair", iataCode: "FA" }, { name: "Frontier Airlines", iataCode: "F9" }, { name: "Garuda Indonesia", iataCode: "GA" }, { name: "Go First", iataCode: "G8" }, { name: "Gol Linhas Aereas Inteligentes", iataCode: "G3" }, { name: "Hainan Airlines", iataCode: "HU" }, { name: "Hawaiian Airlines", iataCode: "HA" }, { name: "IndiGo Airlines", iataCode: "6E" }, { name: "Japan Airlines", iataCode: "JL" }, { name: "Jeju Air", iataCode: "7C" }, { name: "Jet2", iataCode: "LS" }, { name: "JetBlue Airways", iataCode: "B6" }, { name: "JetSMART", iataCode: "JA" }, { name: "Juneyao Airlines", iataCode: "HO" }, { name: "Kenya Airways", iataCode: "KQ" }, { name: "KLM Royal Dutch Airlines", iataCode: "KL" }, { name: "Korean Air", iataCode: "KE" }, { name: "Kulula.com", iataCode: "MN" }, { name: "LATAM Airlines", iataCode: "LA" }, { name: "Lion Air", iataCode: "JT" }, { name: "LOT Polish Airlines", iataCode: "LO" }, { name: "Lufthansa", iataCode: "LH" }, { name: "Libyan Airlines", iataCode: "LN" }, { name: "Linea Aerea Amaszonas", iataCode: "Z8" }, { name: "Malaysia Airlines", iataCode: "MH" }, { name: "Nordwind Airlines", iataCode: "N4" }, { name: "Norwegian Air Shuttle", iataCode: "DY" }, { name: "Oman Air", iataCode: "WY" }, { name: "Pakistan International Airlines", iataCode: "PK" }, { name: "Pegasus Airlines", iataCode: "PC" }, { name: "Philippine Airlines", iataCode: "PR" }, { name: "Qantas Group", iataCode: "QF" }, { name: "Qatar Airways", iataCode: "QR" }, { name: "Republic Airways", iataCode: "YX" }, { name: "Royal Air Maroc", iataCode: "AT" }, { name: "Ryanair", iataCode: "FR" }, { name: "S7 Airlines", iataCode: "S7" }, { name: "SAS", iataCode: "SK" }, { name: "Satena", iataCode: "9R" }, { name: "Saudia", iataCode: "SV" }, { name: "Shandong Airlines", iataCode: "SC" }, { name: "Sichuan Airlines", iataCode: "3U" }, { name: "Singapore Airlines", iataCode: "SQ" }, { name: "Sky Airline", iataCode: "H2" }, { name: "SkyWest Airlines", iataCode: "OO" }, { name: "South African Airways", iataCode: "SA" }, { name: "Southwest Airlines", iataCode: "WN" }, { name: "SpiceJet", iataCode: "SG" }, { name: "Spirit Airlines", iataCode: "NK" }, { name: "Spring Airlines", iataCode: "9C" }, { name: "SriLankan Airlines", iataCode: "UL" }, { name: "Star Peru", iataCode: "2I" }, { name: "Sun Country Airlines", iataCode: "SY" }, { name: "SunExpress", iataCode: "XQ" }, { name: "TAP Air Portugal", iataCode: "TP" }, { name: "Thai AirAsia", iataCode: "FD" }, { name: "Thai Airways", iataCode: "TG" }, { name: "TUI Airways", iataCode: "BY" }, { name: "Tunisair", iataCode: "TU" }, { name: "Turkish Airlines", iataCode: "TK" }, { name: "Ukraine International", iataCode: "PS" }, { name: "United Airlines", iataCode: "UA" }, { name: "Ural Airlines", iataCode: "U6" }, { name: "VietJet Air", iataCode: "VJ" }, { name: "Vietnam Airlines", iataCode: "VN" }, { name: "Virgin Atlantic Airways", iataCode: "VS" }, { name: "Virgin Australia", iataCode: "VA" }, { name: "VivaAerobus", iataCode: "VB" }, { name: "VOEPASS Linhas Aereas", iataCode: "2Z" }, { name: "Volaris", iataCode: "Y4" }, { name: "WestJet", iataCode: "WS" }, { name: "Wingo", iataCode: "P5" }, { name: "Wizz Air", iataCode: "W6" }];
23871
24009
  var a = [{ name: "Aerospatiale/BAC Concorde", iataTypeCode: "SSC" }, { name: "Airbus A300", iataTypeCode: "AB3" }, { name: "Airbus A310", iataTypeCode: "310" }, { name: "Airbus A310-200", iataTypeCode: "312" }, { name: "Airbus A310-300", iataTypeCode: "313" }, { name: "Airbus A318", iataTypeCode: "318" }, { name: "Airbus A319", iataTypeCode: "319" }, { name: "Airbus A319neo", iataTypeCode: "31N" }, { name: "Airbus A320", iataTypeCode: "320" }, { name: "Airbus A320neo", iataTypeCode: "32N" }, { name: "Airbus A321", iataTypeCode: "321" }, { name: "Airbus A321neo", iataTypeCode: "32Q" }, { name: "Airbus A330", iataTypeCode: "330" }, { name: "Airbus A330-200", iataTypeCode: "332" }, { name: "Airbus A330-300", iataTypeCode: "333" }, { name: "Airbus A330-800neo", iataTypeCode: "338" }, { name: "Airbus A330-900neo", iataTypeCode: "339" }, { name: "Airbus A340", iataTypeCode: "340" }, { name: "Airbus A340-200", iataTypeCode: "342" }, { name: "Airbus A340-300", iataTypeCode: "343" }, { name: "Airbus A340-500", iataTypeCode: "345" }, { name: "Airbus A340-600", iataTypeCode: "346" }, { name: "Airbus A350", iataTypeCode: "350" }, { name: "Airbus A350-900", iataTypeCode: "359" }, { name: "Airbus A350-1000", iataTypeCode: "351" }, { name: "Airbus A380", iataTypeCode: "380" }, { name: "Airbus A380-800", iataTypeCode: "388" }, { name: "Antonov An-12", iataTypeCode: "ANF" }, { name: "Antonov An-24", iataTypeCode: "AN4" }, { name: "Antonov An-26", iataTypeCode: "A26" }, { name: "Antonov An-28", iataTypeCode: "A28" }, { name: "Antonov An-30", iataTypeCode: "A30" }, { name: "Antonov An-32", iataTypeCode: "A32" }, { name: "Antonov An-72", iataTypeCode: "AN7" }, { name: "Antonov An-124 Ruslan", iataTypeCode: "A4F" }, { name: "Antonov An-140", iataTypeCode: "A40" }, { name: "Antonov An-148", iataTypeCode: "A81" }, { name: "Antonov An-158", iataTypeCode: "A58" }, { name: "Antonov An-225 Mriya", iataTypeCode: "A5F" }, { name: "Boeing 707", iataTypeCode: "703" }, { name: "Boeing 717", iataTypeCode: "717" }, { name: "Boeing 720B", iataTypeCode: "B72" }, { name: "Boeing 727", iataTypeCode: "727" }, { name: "Boeing 727-100", iataTypeCode: "721" }, { name: "Boeing 727-200", iataTypeCode: "722" }, { name: "Boeing 737 MAX 7", iataTypeCode: "7M7" }, { name: "Boeing 737 MAX 8", iataTypeCode: "7M8" }, { name: "Boeing 737 MAX 9", iataTypeCode: "7M9" }, { name: "Boeing 737 MAX 10", iataTypeCode: "7MJ" }, { name: "Boeing 737", iataTypeCode: "737" }, { name: "Boeing 737-100", iataTypeCode: "731" }, { name: "Boeing 737-200", iataTypeCode: "732" }, { name: "Boeing 737-300", iataTypeCode: "733" }, { name: "Boeing 737-400", iataTypeCode: "734" }, { name: "Boeing 737-500", iataTypeCode: "735" }, { name: "Boeing 737-600", iataTypeCode: "736" }, { name: "Boeing 737-700", iataTypeCode: "73G" }, { name: "Boeing 737-800", iataTypeCode: "738" }, { name: "Boeing 737-900", iataTypeCode: "739" }, { name: "Boeing 747", iataTypeCode: "747" }, { name: "Boeing 747-100", iataTypeCode: "741" }, { name: "Boeing 747-200", iataTypeCode: "742" }, { name: "Boeing 747-300", iataTypeCode: "743" }, { name: "Boeing 747-400", iataTypeCode: "744" }, { name: "Boeing 747-400D", iataTypeCode: "74J" }, { name: "Boeing 747-8", iataTypeCode: "748" }, { name: "Boeing 747SP", iataTypeCode: "74L" }, { name: "Boeing 747SR", iataTypeCode: "74R" }, { name: "Boeing 757", iataTypeCode: "757" }, { name: "Boeing 757-200", iataTypeCode: "752" }, { name: "Boeing 757-300", iataTypeCode: "753" }, { name: "Boeing 767", iataTypeCode: "767" }, { name: "Boeing 767-200", iataTypeCode: "762" }, { name: "Boeing 767-300", iataTypeCode: "763" }, { name: "Boeing 767-400", iataTypeCode: "764" }, { name: "Boeing 777", iataTypeCode: "777" }, { name: "Boeing 777-200", iataTypeCode: "772" }, { name: "Boeing 777-200LR", iataTypeCode: "77L" }, { name: "Boeing 777-300", iataTypeCode: "773" }, { name: "Boeing 777-300ER", iataTypeCode: "77W" }, { name: "Boeing 787", iataTypeCode: "787" }, { name: "Boeing 787-8", iataTypeCode: "788" }, { name: "Boeing 787-9", iataTypeCode: "789" }, { name: "Boeing 787-10", iataTypeCode: "781" }, { name: "Canadair Challenger", iataTypeCode: "CCJ" }, { name: "Canadair CL-44", iataTypeCode: "CL4" }, { name: "Canadair Regional Jet 100", iataTypeCode: "CR1" }, { name: "Canadair Regional Jet 200", iataTypeCode: "CR2" }, { name: "Canadair Regional Jet 700", iataTypeCode: "CR7" }, { name: "Canadair Regional Jet 705", iataTypeCode: "CRA" }, { name: "Canadair Regional Jet 900", iataTypeCode: "CR9" }, { name: "Canadair Regional Jet 1000", iataTypeCode: "CRK" }, { name: "De Havilland Canada DHC-2 Beaver", iataTypeCode: "DHP" }, { name: "De Havilland Canada DHC-2 Turbo-Beaver", iataTypeCode: "DHR" }, { name: "De Havilland Canada DHC-3 Otter", iataTypeCode: "DHL" }, { name: "De Havilland Canada DHC-4 Caribou", iataTypeCode: "DHC" }, { name: "De Havilland Canada DHC-6 Twin Otter", iataTypeCode: "DHT" }, { name: "De Havilland Canada DHC-7 Dash 7", iataTypeCode: "DH7" }, { name: "De Havilland Canada DHC-8-100 Dash 8 / 8Q", iataTypeCode: "DH1" }, { name: "De Havilland Canada DHC-8-200 Dash 8 / 8Q", iataTypeCode: "DH2" }, { name: "De Havilland Canada DHC-8-300 Dash 8 / 8Q", iataTypeCode: "DH3" }, { name: "De Havilland Canada DHC-8-400 Dash 8Q", iataTypeCode: "DH4" }, { name: "De Havilland DH.104 Dove", iataTypeCode: "DHD" }, { name: "De Havilland DH.114 Heron", iataTypeCode: "DHH" }, { name: "Douglas DC-3", iataTypeCode: "D3F" }, { name: "Douglas DC-6", iataTypeCode: "D6F" }, { name: "Douglas DC-8-50", iataTypeCode: "D8T" }, { name: "Douglas DC-8-62", iataTypeCode: "D8L" }, { name: "Douglas DC-8-72", iataTypeCode: "D8Q" }, { name: "Douglas DC-9-10", iataTypeCode: "D91" }, { name: "Douglas DC-9-20", iataTypeCode: "D92" }, { name: "Douglas DC-9-30", iataTypeCode: "D93" }, { name: "Douglas DC-9-40", iataTypeCode: "D94" }, { name: "Douglas DC-9-50", iataTypeCode: "D95" }, { name: "Douglas DC-10", iataTypeCode: "D10" }, { name: "Douglas DC-10-10", iataTypeCode: "D1X" }, { name: "Douglas DC-10-30", iataTypeCode: "D1Y" }, { name: "Embraer 170", iataTypeCode: "E70" }, { name: "Embraer 175", iataTypeCode: "E75" }, { name: "Embraer 190", iataTypeCode: "E90" }, { name: "Embraer 195", iataTypeCode: "E95" }, { name: "Embraer E190-E2", iataTypeCode: "290" }, { name: "Embraer E195-E2", iataTypeCode: "295" }, { name: "Embraer EMB.110 Bandeirante", iataTypeCode: "EMB" }, { name: "Embraer EMB.120 Brasilia", iataTypeCode: "EM2" }, { name: "Embraer Legacy 600", iataTypeCode: "ER3" }, { name: "Embraer Phenom 100", iataTypeCode: "EP1" }, { name: "Embraer Phenom 300", iataTypeCode: "EP3" }, { name: "Embraer RJ135", iataTypeCode: "ER3" }, { name: "Embraer RJ140", iataTypeCode: "ERD" }, { name: "Embraer RJ145 Amazon", iataTypeCode: "ER4" }, { name: "Ilyushin IL18", iataTypeCode: "IL8" }, { name: "Ilyushin IL62", iataTypeCode: "IL6" }, { name: "Ilyushin IL76", iataTypeCode: "IL7" }, { name: "Ilyushin IL86", iataTypeCode: "ILW" }, { name: "Ilyushin IL96-300", iataTypeCode: "I93" }, { name: "Ilyushin IL114", iataTypeCode: "I14" }, { name: "Lockheed L-182 / 282 / 382 (L-100) Hercules", iataTypeCode: "LOH" }, { name: "Lockheed L-188 Electra", iataTypeCode: "LOE" }, { name: "Lockheed L-1011 Tristar", iataTypeCode: "L10" }, { name: "Lockheed L-1049 Super Constellation", iataTypeCode: "L49" }, { name: "McDonnell Douglas MD11", iataTypeCode: "M11" }, { name: "McDonnell Douglas MD80", iataTypeCode: "M80" }, { name: "McDonnell Douglas MD81", iataTypeCode: "M81" }, { name: "McDonnell Douglas MD82", iataTypeCode: "M82" }, { name: "McDonnell Douglas MD83", iataTypeCode: "M83" }, { name: "McDonnell Douglas MD87", iataTypeCode: "M87" }, { name: "McDonnell Douglas MD88", iataTypeCode: "M88" }, { name: "McDonnell Douglas MD90", iataTypeCode: "M90" }, { name: "Sukhoi Superjet 100-95", iataTypeCode: "SU9" }, { name: "Tupolev Tu-134", iataTypeCode: "TU3" }, { name: "Tupolev Tu-154", iataTypeCode: "TU5" }, { name: "Tupolev Tu-204", iataTypeCode: "T20" }, { name: "Yakovlev Yak-40", iataTypeCode: "YK4" }, { name: "Yakovlev Yak-42", iataTypeCode: "YK2" }];
23872
24010
  var r = [{ name: "Adelaide International Airport", iataCode: "ADL" }, { name: "Adolfo Suarez Madrid-Barajas Airport", iataCode: "MAD" }, { name: "Aeroparque Jorge Newbery Airport", iataCode: "AEP" }, { name: "Afonso Pena International Airport", iataCode: "CWB" }, { name: "Alfonso Bonilla Aragon International Airport", iataCode: "CLO" }, { name: "Amsterdam Airport Schiphol", iataCode: "AMS" }, { name: "Arturo Merino Benitez International Airport", iataCode: "SCL" }, { name: "Auckland International Airport", iataCode: "AKL" }, { name: "Beijing Capital International Airport", iataCode: "PEK" }, { name: "Belem Val de Cans International Airport", iataCode: "BEL" }, { name: "Belo Horizonte Tancredo Neves International Airport", iataCode: "CNF" }, { name: "Berlin-Tegel Airport", iataCode: "TXL" }, { name: "Bole International Airport", iataCode: "ADD" }, { name: "Brasilia-Presidente Juscelino Kubitschek International Airport", iataCode: "BSB" }, { name: "Brisbane International Airport", iataCode: "BNE" }, { name: "Brussels Airport", iataCode: "BRU" }, { name: "Cairns Airport", iataCode: "CNS" }, { name: "Cairo International Airport", iataCode: "CAI" }, { name: "Canberra Airport", iataCode: "CBR" }, { name: "Capetown International Airport", iataCode: "CPT" }, { name: "Charles de Gaulle International Airport", iataCode: "CDG" }, { name: "Charlotte Douglas International Airport", iataCode: "CLT" }, { name: "Chengdu Shuangliu International Airport", iataCode: "CTU" }, { name: "Chhatrapati Shivaji International Airport", iataCode: "BOM" }, { name: "Chicago O'Hare International Airport", iataCode: "ORD" }, { name: "Chongqing Jiangbei International Airport", iataCode: "CKG" }, { name: "Christchurch International Airport", iataCode: "CHC" }, { name: "Copenhagen Kastrup Airport", iataCode: "CPH" }, { name: "Dallas Fort Worth International Airport", iataCode: "DFW" }, { name: "Daniel K. Inouye International Airport", iataCode: "HNL" }, { name: "Denver International Airport", iataCode: "DEN" }, { name: "Don Mueang International Airport", iataCode: "DMK" }, { name: "Dubai International Airport", iataCode: "DXB" }, { name: "Dublin Airport", iataCode: "DUB" }, { name: "Dusseldorf Airport", iataCode: "DUS" }, { name: "El Dorado International Airport", iataCode: "BOG" }, { name: "Eleftherios Venizelos International Airport", iataCode: "ATH" }, { name: "Faa'a International Airport", iataCode: "PPT" }, { name: "Fort Lauderdale Hollywood International Airport", iataCode: "FLL" }, { name: "Fortaleza Pinto Martins International Airport", iataCode: "FOR" }, { name: "Frankfurt am Main Airport", iataCode: "FRA" }, { name: "George Bush Intercontinental Houston Airport", iataCode: "IAH" }, { name: "Gold Coast Airport", iataCode: "OOL" }, { name: "Guarulhos - Governador Andre Franco Montoro International Airport", iataCode: "GRU" }, { name: "Hartsfield-Jackson Atlanta International Airport", iataCode: "ATL" }, { name: "Helsinki Vantaa Airport", iataCode: "HEL" }, { name: "Hobart International Airport", iataCode: "HBA" }, { name: "Hong Kong International Airport", iataCode: "HKG" }, { name: "Houari Boumediene Airport", iataCode: "ALG" }, { name: "Hurgada International Airport", iataCode: "HRG" }, { name: "Incheon International Airport", iataCode: "ICN" }, { name: "Indira Gandhi International Airport", iataCode: "DEL" }, { name: "Istanbul Airport", iataCode: "IST" }, { name: "Jacksons International Airport", iataCode: "POM" }, { name: "Jeju International Airport", iataCode: "CJU" }, { name: "John F Kennedy International Airport", iataCode: "JFK" }, { name: "Jorge Chavez International Airport", iataCode: "LIM" }, { name: "Jose Maria Cordova International Airport", iataCode: "MDE" }, { name: "Josep Tarradellas Barcelona-El Prat Airport", iataCode: "BCN" }, { name: "Kahului Airport", iataCode: "OGG" }, { name: "King Abdulaziz International Airport", iataCode: "JED" }, { name: "Kuala Lumpur International Airport", iataCode: "KUL" }, { name: "Kunming Changshui International Airport", iataCode: "KMG" }, { name: "La Tontouta International Airport", iataCode: "NOU" }, { name: "Leonardo da Vinci-Fiumicino Airport", iataCode: "FCO" }, { name: "London Heathrow Airport", iataCode: "LHR" }, { name: "Los Angeles International Airport", iataCode: "LAX" }, { name: "McCarran International Airport", iataCode: "LAS" }, { name: "Melbourne International Airport", iataCode: "MEL" }, { name: "Mexico City International Airport", iataCode: "MEX" }, { name: "Miami International Airport", iataCode: "MIA" }, { name: "Ministro Pistarini International Airport", iataCode: "EZE" }, { name: "Minneapolis-St Paul International/Wold-Chamberlain Airport", iataCode: "MSP" }, { name: "Mohammed V International Airport", iataCode: "CMN" }, { name: "Moscow Domodedovo Airport", iataCode: "DME" }, { name: "Munich Airport", iataCode: "MUC" }, { name: "Murtala Muhammed International Airport", iataCode: "LOS" }, { name: "Nadi International Airport", iataCode: "NAN" }, { name: "Nairobi Jomo Kenyatta International Airport", iataCode: "NBO" }, { name: "Narita International Airport", iataCode: "NRT" }, { name: "Newark Liberty International Airport", iataCode: "EWR" }, { name: "Ninoy Aquino International Airport", iataCode: "MNL" }, { name: "Noumea Magenta Airport", iataCode: "GEA" }, { name: "O. R. Tambo International Airport", iataCode: "JNB" }, { name: "Orlando International Airport", iataCode: "MCO" }, { name: "Oslo Lufthavn", iataCode: "OSL" }, { name: "Perth Airport", iataCode: "PER" }, { name: "Phoenix Sky Harbor International Airport", iataCode: "PHX" }, { name: "Recife Guararapes-Gilberto Freyre International Airport", iataCode: "REC" }, { name: "Rio de Janeiro Galeao International Airport", iataCode: "GIG" }, { name: "Salgado Filho International Airport", iataCode: "POA" }, { name: "Salvador Deputado Luis Eduardo Magalhaes International Airport", iataCode: "SSA" }, { name: "San Francisco International Airport", iataCode: "SFO" }, { name: "Santos Dumont Airport", iataCode: "SDU" }, { name: "Sao Paulo-Congonhas Airport", iataCode: "CGH" }, { name: "Seattle Tacoma International Airport", iataCode: "SEA" }, { name: "Shanghai Hongqiao International Airport", iataCode: "SHA" }, { name: "Shanghai Pudong International Airport", iataCode: "PVG" }, { name: "Shenzhen Bao'an International Airport", iataCode: "SZX" }, { name: "Sheremetyevo International Airport", iataCode: "SVO" }, { name: "Singapore Changi Airport", iataCode: "SIN" }, { name: "Soekarno-Hatta International Airport", iataCode: "CGK" }, { name: 'Stockholm-Arlanda Airport"', iataCode: "ARN" }, { name: "Suvarnabhumi Airport", iataCode: "BKK" }, { name: "Sydney Kingsford Smith International Airport", iataCode: "SYD" }, { name: "Taiwan Taoyuan International Airport", iataCode: "TPE" }, { name: "Tan Son Nhat International Airport", iataCode: "SGN" }, { name: "Tokyo Haneda International Airport", iataCode: "HND" }, { name: "Toronto Pearson International Airport", iataCode: "YYZ" }, { name: "Tunis Carthage International Airport", iataCode: "TUN" }, { name: "Vancouver International Airport", iataCode: "YVR" }, { name: "Vienna International Airport", iataCode: "VIE" }, { name: "Viracopos International Airport", iataCode: "VCP" }, { name: "Vnukovo International Airport", iataCode: "VKO" }, { name: "Wellington International Airport", iataCode: "WLG" }, { name: "Xi'an Xianyang International Airport", iataCode: "XIY" }, { name: "Zhukovsky International Airport", iataCode: "ZIA" }, { name: "Zurich Airport", iataCode: "ZRH" }];
@@ -24053,7 +24191,7 @@ var Ua = kr;
24053
24191
  var fr = { airline: o, animal: k, app: B, book: P, cell_phone: W, color: F, commerce: I, company: U, database: _, date: $, finance: ce, food: ve, hacker: Le, internet: He, location: Qe, lorem: $e, metadata: ea, music: ia, person: Aa, phone_number: La, science: Pa, team: Ga, vehicle: Ka, word: Ua };
24054
24192
  var ys = fr;
24055
24193
 
24056
- // ../../node_modules/@faker-js/faker/dist/chunk-433Y3JE4.js
24194
+ // ../../node_modules/.bun/@faker-js+faker@10.3.0/node_modules/@faker-js/faker/dist/chunk-433Y3JE4.js
24057
24195
  var l2 = class extends Error {
24058
24196
  };
24059
24197
  function Me2(i2) {
@@ -25964,10 +26102,10 @@ var er2 = class extends I2 {
25964
26102
  }
25965
26103
  };
25966
26104
 
25967
- // ../../node_modules/json-schema-faker/dist/main.mjs
26105
+ // ../../node_modules/.bun/json-schema-faker@0.5.9/node_modules/json-schema-faker/dist/main.mjs
25968
26106
  var import_vendor = __toESM(require_vendor(), 1);
25969
26107
 
25970
- // ../../node_modules/json-schema-faker/dist/shared.js
26108
+ // ../../node_modules/.bun/json-schema-faker@0.5.9/node_modules/json-schema-faker/dist/shared.js
25971
26109
  var __create2 = Object.create;
25972
26110
  var __defProp2 = Object.defineProperty;
25973
26111
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -31918,15 +32056,12 @@ jsf.VERSION = "0.5.8";
31918
32056
  var JSONSchemaFaker = { ...jsf };
31919
32057
  var lib_default = jsf;
31920
32058
 
31921
- // ../../node_modules/json-schema-faker/dist/main.mjs
32059
+ // ../../node_modules/.bun/json-schema-faker@0.5.9/node_modules/json-schema-faker/dist/main.mjs
31922
32060
  if (typeof $RefParser !== "undefined" && typeof JSONPath !== "undefined") {
31923
32061
  setDependencies({ ...JSONPath, $RefParser });
31924
32062
  }
31925
32063
 
31926
- // ../faker/src/index.ts
31927
- function isJSONSchema7(value) {
31928
- return typeof value === "object" && value !== null && !Array.isArray(value);
31929
- }
32064
+ // ../faker/src/jsf-config.ts
31930
32065
  function createFakerInstance(seed) {
31931
32066
  const faker = new er2({ locale: [ys] });
31932
32067
  if (seed !== undefined) {
@@ -31964,40 +32099,112 @@ function getJsf(seed) {
31964
32099
  if (seed !== undefined) {
31965
32100
  lib_default.option({ random: createSeededRandom(seed) });
31966
32101
  lib_default.extend("faker", () => createFakerInstance(seed));
32102
+ } else {
32103
+ lib_default.option({ random: Math.random });
31967
32104
  }
31968
32105
  return lib_default;
31969
32106
  }
31970
- var MAX_ARRAY_SIZE = 1e4;
31971
- var MAX_NESTING_DEPTH = 10;
31972
- var DEFAULT_ARRAY_COUNT = 3;
31973
- var DEEP_NESTING_THRESHOLD = 3;
31974
- var LARGE_ARRAY_THRESHOLD = 100;
31975
- function generateFromSchema(options) {
31976
- const { schema, count, overrides, params, state, query, seed } = options;
31977
- validateSchema(schema);
31978
- let generated;
31979
- if (schema.type === "array" && schema.items) {
31980
- const itemCount = determineArrayCount(schema, count);
31981
- if (itemCount > MAX_ARRAY_SIZE) {
31982
- throw new ResourceLimitError("array_size", MAX_ARRAY_SIZE, itemCount);
32107
+
32108
+ // ../faker/src/overrides.ts
32109
+ var DANGEROUS_KEYS = new Set(["__proto__", "constructor", "prototype"]);
32110
+ function determineArrayCount(schema, explicitCount, random = Math.random) {
32111
+ if (explicitCount !== undefined) {
32112
+ if (explicitCount < 0) {
32113
+ return 0;
31983
32114
  }
31984
- const rawItemSchema = Array.isArray(schema.items) ? schema.items[0] : schema.items;
31985
- if (!rawItemSchema || typeof rawItemSchema === "boolean") {
31986
- throw new SchemaValidationError("$.items", "Array schema must have valid items definition");
32115
+ return explicitCount;
32116
+ }
32117
+ if (schema.minItems !== undefined && schema.maxItems !== undefined) {
32118
+ return Math.floor(random() * (schema.maxItems - schema.minItems + 1)) + schema.minItems;
32119
+ }
32120
+ if (schema.minItems !== undefined) {
32121
+ return Math.max(schema.minItems, DEFAULT_ARRAY_COUNT);
32122
+ }
32123
+ if (schema.maxItems !== undefined) {
32124
+ return Math.min(schema.maxItems, DEFAULT_ARRAY_COUNT);
32125
+ }
32126
+ return DEFAULT_ARRAY_COUNT;
32127
+ }
32128
+ function applyOverrides(data, overrides, params, state, query) {
32129
+ if (!overrides)
32130
+ return data;
32131
+ const result = structuredClone(data);
32132
+ for (const [key, value] of Object.entries(overrides)) {
32133
+ if (DANGEROUS_KEYS.has(key))
32134
+ continue;
32135
+ if (key.includes(".")) {
32136
+ setNestedProperty(result, key, value, { params, state, query });
32137
+ } else {
32138
+ if (typeof value === "object" && value !== null && !Array.isArray(value)) {
32139
+ if (result[key] && typeof result[key] === "object") {
32140
+ result[key] = applyOverrides(result[key], value, params, state, query);
32141
+ } else {
32142
+ result[key] = applyOverrides({}, value, params, state, query);
32143
+ }
32144
+ } else if (typeof value === "string" && value.includes("{{")) {
32145
+ result[key] = processTemplate(value, { params, state, query });
32146
+ } else {
32147
+ result[key] = value;
32148
+ }
31987
32149
  }
31988
- const itemSchema = rawItemSchema;
31989
- generated = [];
31990
- for (let i2 = 0;i2 < itemCount; i2++) {
31991
- let item = getJsf(seed).generate(enhanceSchemaWithSmartMapping(itemSchema));
31992
- item = applyOverrides(item, overrides, params, state, query);
31993
- generated.push(item);
32150
+ }
32151
+ return result;
32152
+ }
32153
+ function setNestedProperty(obj, path, value, context) {
32154
+ const parts = path.split(".");
32155
+ let current = obj;
32156
+ for (let i2 = 0;i2 < parts.length - 1; i2++) {
32157
+ const part = parts[i2];
32158
+ if (DANGEROUS_KEYS.has(part))
32159
+ return;
32160
+ if (!(part in current) || typeof current[part] !== "object" || current[part] === null) {
32161
+ current[part] = {};
31994
32162
  }
32163
+ current = current[part];
32164
+ }
32165
+ const finalKey = parts[parts.length - 1];
32166
+ if (DANGEROUS_KEYS.has(finalKey))
32167
+ return;
32168
+ if (typeof value === "string" && value.includes("{{")) {
32169
+ current[finalKey] = processTemplate(value, context);
31995
32170
  } else {
31996
- const enhancedSchema = enhanceSchemaWithSmartMapping(schema);
31997
- generated = getJsf(seed).generate(enhancedSchema);
31998
- generated = applyOverrides(generated, overrides, params, state, query);
32171
+ current[finalKey] = value;
31999
32172
  }
32000
- return generated;
32173
+ }
32174
+ function processTemplate(template2, context) {
32175
+ const singleTemplateMatch = template2.match(/^\{\{\s*([^}]+)\s*\}\}$/);
32176
+ if (singleTemplateMatch) {
32177
+ const expression = singleTemplateMatch[1];
32178
+ const parts = expression.trim().split(".");
32179
+ let result = context;
32180
+ for (const part of parts) {
32181
+ if (result && typeof result === "object") {
32182
+ result = result[part];
32183
+ } else {
32184
+ return template2;
32185
+ }
32186
+ }
32187
+ return result !== undefined ? result : template2;
32188
+ }
32189
+ const processed = template2.replace(/\{\{\s*([^}]+)\s*\}\}/g, (match, expression) => {
32190
+ const parts = expression.trim().split(".");
32191
+ let result = context;
32192
+ for (const part of parts) {
32193
+ if (result && typeof result === "object") {
32194
+ result = result[part];
32195
+ } else {
32196
+ return match;
32197
+ }
32198
+ }
32199
+ return result !== undefined ? String(result) : match;
32200
+ });
32201
+ return processed;
32202
+ }
32203
+
32204
+ // ../faker/src/validation.ts
32205
+ var validationFaker;
32206
+ function isJSONSchema7(value) {
32207
+ return typeof value === "object" && value !== null && !Array.isArray(value);
32001
32208
  }
32002
32209
  function validateSchema(schema, path = "$") {
32003
32210
  if (!schema || typeof schema !== "object") {
@@ -32074,7 +32281,7 @@ function validateSchema(schema, path = "$") {
32074
32281
  if (depth > MAX_NESTING_DEPTH) {
32075
32282
  throw new ResourceLimitError("schema_nesting_depth", MAX_NESTING_DEPTH, depth);
32076
32283
  }
32077
- if (depth >= 4) {
32284
+ if (depth >= DEEP_NESTING_THRESHOLD) {
32078
32285
  checkForDeepNestingWithArrays(schema, path);
32079
32286
  }
32080
32287
  checkArraySizeLimits(schema, path);
@@ -32147,24 +32354,19 @@ function checkForDeepNestingWithArrays(schema, _path) {
32147
32354
  const items = Array.isArray(node.items) ? node.items : [node.items];
32148
32355
  for (const item of items) {
32149
32356
  if (isJSONSchema7(item)) {
32150
- if (findArraysInDeepNesting(item, currentDepth + 1)) {
32151
- return true;
32152
- }
32357
+ findArraysInDeepNesting(item, currentDepth + 1);
32153
32358
  }
32154
32359
  }
32155
32360
  }
32156
- return true;
32361
+ return;
32157
32362
  }
32158
32363
  if (schemaType === "object" && node.properties) {
32159
32364
  for (const prop of Object.values(node.properties)) {
32160
32365
  if (isJSONSchema7(prop)) {
32161
- if (findArraysInDeepNesting(prop, currentDepth + 1)) {
32162
- return true;
32163
- }
32366
+ findArraysInDeepNesting(prop, currentDepth + 1);
32164
32367
  }
32165
32368
  }
32166
32369
  }
32167
- return false;
32168
32370
  }
32169
32371
  findArraysInDeepNesting(schema, 0);
32170
32372
  }
@@ -32198,99 +32400,15 @@ function checkArraySizeLimits(schema, path) {
32198
32400
  }
32199
32401
  }
32200
32402
  }
32201
- function determineArrayCount(schema, explicitCount) {
32202
- if (explicitCount !== undefined) {
32203
- if (explicitCount < 0) {
32204
- return 0;
32205
- }
32206
- return explicitCount;
32207
- }
32208
- if (schema.minItems !== undefined && schema.maxItems !== undefined) {
32209
- return Math.floor(Math.random() * (schema.maxItems - schema.minItems + 1)) + schema.minItems;
32210
- }
32211
- if (schema.minItems !== undefined) {
32212
- return Math.max(schema.minItems, DEFAULT_ARRAY_COUNT);
32213
- }
32214
- if (schema.maxItems !== undefined) {
32215
- return Math.min(schema.maxItems, DEFAULT_ARRAY_COUNT);
32216
- }
32217
- return DEFAULT_ARRAY_COUNT;
32218
- }
32219
- function applyOverrides(data, overrides, params, state, query) {
32220
- if (!overrides)
32221
- return data;
32222
- const result = structuredClone(data);
32223
- for (const [key, value] of Object.entries(overrides)) {
32224
- if (key.includes(".")) {
32225
- setNestedProperty(result, key, value, { params, state, query });
32226
- } else {
32227
- if (typeof value === "object" && value !== null && !Array.isArray(value)) {
32228
- if (result[key] && typeof result[key] === "object") {
32229
- result[key] = applyOverrides(result[key], value, params, state, query);
32230
- } else {
32231
- result[key] = applyOverrides({}, value, params, state, query);
32232
- }
32233
- } else if (typeof value === "string" && value.includes("{{")) {
32234
- result[key] = processTemplate(value, { params, state, query });
32235
- } else {
32236
- result[key] = value;
32237
- }
32238
- }
32239
- }
32240
- return result;
32241
- }
32242
- function setNestedProperty(obj, path, value, context) {
32243
- const parts = path.split(".");
32244
- let current = obj;
32245
- for (let i2 = 0;i2 < parts.length - 1; i2++) {
32246
- const part = parts[i2];
32247
- if (!(part in current) || typeof current[part] !== "object" || current[part] === null) {
32248
- current[part] = {};
32249
- }
32250
- current = current[part];
32251
- }
32252
- const finalKey = parts[parts.length - 1];
32253
- if (typeof value === "string" && value.includes("{{")) {
32254
- current[finalKey] = processTemplate(value, context);
32255
- } else {
32256
- current[finalKey] = value;
32257
- }
32258
- }
32259
- function processTemplate(template2, context) {
32260
- const singleTemplateMatch = template2.match(/^\{\{\s*([^}]+)\s*\}\}$/);
32261
- if (singleTemplateMatch) {
32262
- const expression = singleTemplateMatch[1];
32263
- const parts = expression.trim().split(".");
32264
- let result = context;
32265
- for (const part of parts) {
32266
- if (result && typeof result === "object") {
32267
- result = result[part];
32268
- } else {
32269
- return template2;
32270
- }
32271
- }
32272
- return result !== undefined ? result : template2;
32273
- }
32274
- const processed = template2.replace(/\{\{\s*([^}]+)\s*\}\}/g, (match, expression) => {
32275
- const parts = expression.trim().split(".");
32276
- let result = context;
32277
- for (const part of parts) {
32278
- if (result && typeof result === "object") {
32279
- result = result[part];
32280
- } else {
32281
- return match;
32282
- }
32283
- }
32284
- return result !== undefined ? String(result) : match;
32285
- });
32286
- return processed;
32287
- }
32288
32403
  function validateFakerMethod(fakerMethod) {
32289
32404
  const parts = fakerMethod.split(".");
32290
32405
  if (parts.length < 2) {
32291
32406
  throw new SchemaValidationError("$.faker", `Invalid faker method format: "${fakerMethod}"`, "Use format like 'person.firstName' or 'internet.email'");
32292
32407
  }
32293
- const faker = createFakerInstance();
32408
+ if (!validationFaker) {
32409
+ validationFaker = createFakerInstance();
32410
+ }
32411
+ const faker = validationFaker;
32294
32412
  let current = faker;
32295
32413
  for (const part of parts) {
32296
32414
  if (current && typeof current === "object" && part in current) {
@@ -32303,6 +32421,8 @@ function validateFakerMethod(fakerMethod) {
32303
32421
  throw new SchemaValidationError("$.faker", `Invalid faker method: "${fakerMethod}" is not a function`, "Check faker.js documentation for valid methods");
32304
32422
  }
32305
32423
  }
32424
+
32425
+ // ../faker/src/schema-enhancement.ts
32306
32426
  function enhanceSchemaWithSmartMapping(schema) {
32307
32427
  if (!schema || typeof schema !== "object") {
32308
32428
  return schema;
@@ -32357,54 +32477,33 @@ function enhanceFieldSchema(fieldName, fieldSchema) {
32357
32477
  return enhanced;
32358
32478
  }
32359
32479
 
32360
- // ../openapi/src/plugin.ts
32361
- var import_ajv = __toESM(require_ajv(), 1);
32362
-
32363
- // ../openapi/src/content-negotiation.ts
32364
- function negotiateContentType(accept, available) {
32365
- if (!accept || accept === "*/*") {
32366
- return available[0] ?? null;
32367
- }
32368
- const entries = accept.split(",").map((part) => {
32369
- const [type, ...params] = part.trim().split(";");
32370
- let q3 = 1;
32371
- for (const param of params) {
32372
- const match = param.trim().match(/^q\s*=\s*([\d.]+)$/);
32373
- if (match) {
32374
- q3 = Number.parseFloat(match[1]);
32375
- }
32376
- }
32377
- return { type: type.trim(), q: q3 };
32378
- }).sort((a2, b2) => b2.q - a2.q);
32379
- for (const entry of entries) {
32380
- if (entry.q === 0)
32381
- continue;
32382
- if (entry.type === "*/*") {
32383
- return available[0] ?? null;
32480
+ // ../faker/src/index.ts
32481
+ function generateFromSchema(options) {
32482
+ const { schema, count, overrides, params, state, query, seed } = options;
32483
+ validateSchema(schema);
32484
+ let generated;
32485
+ if (schema.type === "array" && schema.items) {
32486
+ const itemCount = determineArrayCount(schema, count);
32487
+ if (itemCount > MAX_ARRAY_SIZE) {
32488
+ throw new ResourceLimitError("array_size", MAX_ARRAY_SIZE, itemCount);
32384
32489
  }
32385
- if (entry.type.endsWith("/*")) {
32386
- const prefix = entry.type.slice(0, -1);
32387
- const match = available.find((ct) => ct.startsWith(prefix));
32388
- if (match)
32389
- return match;
32390
- continue;
32490
+ const rawItemSchema = Array.isArray(schema.items) ? schema.items[0] : schema.items;
32491
+ if (!rawItemSchema || typeof rawItemSchema === "boolean") {
32492
+ throw new SchemaValidationError("$.items", "Array schema must have valid items definition");
32391
32493
  }
32392
- if (available.includes(entry.type)) {
32393
- return entry.type;
32494
+ const itemSchema = rawItemSchema;
32495
+ generated = [];
32496
+ for (let i2 = 0;i2 < itemCount; i2++) {
32497
+ let item = getJsf(seed).generate(enhanceSchemaWithSmartMapping(itemSchema));
32498
+ item = applyOverrides(item, overrides, params, state, query);
32499
+ generated.push(item);
32394
32500
  }
32501
+ } else {
32502
+ const enhancedSchema = enhanceSchemaWithSmartMapping(schema);
32503
+ generated = getJsf(seed).generate(enhancedSchema);
32504
+ generated = applyOverrides(generated, overrides, params, state, query);
32395
32505
  }
32396
- return null;
32397
- }
32398
-
32399
- // ../openapi/src/generators.ts
32400
- import { randomUUID } from "node:crypto";
32401
-
32402
- // ../openapi/src/utils.ts
32403
- function isRecord(value) {
32404
- return typeof value === "object" && value !== null && !Array.isArray(value);
32405
- }
32406
- function toJsonSchema(node) {
32407
- return Object.assign({}, node);
32506
+ return generated;
32408
32507
  }
32409
32508
 
32410
32509
  // ../openapi/src/generators.ts
@@ -32414,7 +32513,7 @@ function findArrayProperty(schema) {
32414
32513
  return {};
32415
32514
  if (schema.type === "array") {
32416
32515
  const items = Array.isArray(schema.items) ? schema.items[0] : schema.items;
32417
- const itemSchema = isRecord(items) ? items : undefined;
32516
+ const itemSchema = isRecord(items) ? toJsonSchema(items) : undefined;
32418
32517
  return { itemSchema };
32419
32518
  }
32420
32519
  if (schema.type === "object" && isRecord(schema.properties)) {
@@ -32426,7 +32525,7 @@ function findArrayProperty(schema) {
32426
32525
  if (isRecord(branch) && isRecord(branch.properties)) {
32427
32526
  for (const [key, value] of Object.entries(branch.properties)) {
32428
32527
  if (isRecord(value)) {
32429
- merged[key] = value;
32528
+ merged[key] = toJsonSchema(value);
32430
32529
  }
32431
32530
  }
32432
32531
  }
@@ -32440,7 +32539,7 @@ function findArrayProperty(schema) {
32440
32539
  if (Array.isArray(branches) && branches.length > 0) {
32441
32540
  const first = branches[0];
32442
32541
  if (isRecord(first)) {
32443
- return findArrayProperty(first);
32542
+ return findArrayProperty(toJsonSchema(first));
32444
32543
  }
32445
32544
  }
32446
32545
  }
@@ -32450,10 +32549,10 @@ function findArrayInProperties(properties) {
32450
32549
  for (const [key, value] of Object.entries(properties)) {
32451
32550
  if (!isRecord(value))
32452
32551
  continue;
32453
- const prop = value;
32552
+ const prop = toJsonSchema(value);
32454
32553
  if (prop.type === "array" && prop.items) {
32455
32554
  const items = Array.isArray(prop.items) ? prop.items[0] : prop.items;
32456
- const itemSchema = isRecord(items) ? items : undefined;
32555
+ const itemSchema = isRecord(items) ? toJsonSchema(items) : undefined;
32457
32556
  return { property: key, itemSchema };
32458
32557
  }
32459
32558
  }
@@ -32630,7 +32729,8 @@ function createStaticGenerator(parsedPath, seed) {
32630
32729
  function generateSeedItems(schema, count, idParam, seed) {
32631
32730
  const items = [];
32632
32731
  for (let i2 = 0;i2 < count; i2++) {
32633
- const generated = generateFromSchema({ schema, seed });
32732
+ const iterationSeed = seed !== undefined ? seed + i2 : undefined;
32733
+ const generated = generateFromSchema({ schema, seed: iterationSeed });
32634
32734
  const item = isRecord(generated) ? generated : { value: generated };
32635
32735
  item[idParam] = i2 + 1;
32636
32736
  items.push(item);
@@ -32666,7 +32766,8 @@ function addHeaders(value, headerDefs) {
32666
32766
  }
32667
32767
  if (Array.isArray(value) && value.length >= 2) {
32668
32768
  const status = typeof value[0] === "number" ? value[0] : 200;
32669
- return [status, value[1], headers];
32769
+ const existingHeaders = isRecord(value[2]) ? value[2] : {};
32770
+ return [status, value[1], { ...existingHeaders, ...headers }];
32670
32771
  }
32671
32772
  return [200, value, headers];
32672
32773
  }
@@ -32744,11 +32845,11 @@ function buildResource(basePath, paths) {
32744
32845
  }
32745
32846
  }
32746
32847
  }
32747
- const meta = buildOperationMeta(p3, "list");
32848
+ const meta = buildOperationMeta(p3);
32748
32849
  operationMeta.set("list", meta);
32749
32850
  } else if (p3.method === "POST") {
32750
32851
  operations.push("create");
32751
- const meta = buildOperationMeta(p3, "create");
32852
+ const meta = buildOperationMeta(p3);
32752
32853
  operationMeta.set("create", meta);
32753
32854
  }
32754
32855
  } else if (isItem) {
@@ -32762,17 +32863,17 @@ function buildResource(basePath, paths) {
32762
32863
  if (p3.method === "GET") {
32763
32864
  operations.push("read");
32764
32865
  schema = schema ?? getSuccessResponseSchema(p3);
32765
- const meta = buildOperationMeta(p3, "read");
32866
+ const meta = buildOperationMeta(p3);
32766
32867
  operationMeta.set("read", meta);
32767
32868
  } else if (p3.method === "PUT" || p3.method === "PATCH") {
32768
32869
  if (!operations.includes("update")) {
32769
32870
  operations.push("update");
32770
- const meta = buildOperationMeta(p3, "update");
32871
+ const meta = buildOperationMeta(p3);
32771
32872
  operationMeta.set("update", meta);
32772
32873
  }
32773
32874
  } else if (p3.method === "DELETE") {
32774
32875
  operations.push("delete");
32775
- const meta = buildOperationMeta(p3, "delete");
32876
+ const meta = buildOperationMeta(p3);
32776
32877
  operationMeta.set("delete", meta);
32777
32878
  }
32778
32879
  }
@@ -32802,7 +32903,7 @@ function buildResource(basePath, paths) {
32802
32903
  operationMeta: operationMeta.size > 0 ? operationMeta : undefined
32803
32904
  };
32804
32905
  }
32805
- function buildOperationMeta(p3, _operation) {
32906
+ function buildOperationMeta(p3) {
32806
32907
  const meta = {};
32807
32908
  const responseSchema = getSuccessResponseSchema(p3);
32808
32909
  if (responseSchema) {
@@ -32825,17 +32926,217 @@ function buildOperationMeta(p3, _operation) {
32825
32926
  }
32826
32927
  return meta;
32827
32928
  }
32828
- function getSuccessResponseSchema(p3) {
32829
- for (const code of [200, 201]) {
32830
- const resp = p3.responses.get(code);
32831
- if (resp?.schema)
32832
- return resp.schema;
32929
+ function getSuccessResponseSchema(p3) {
32930
+ for (const code of [200, 201]) {
32931
+ const resp = p3.responses.get(code);
32932
+ if (resp?.schema)
32933
+ return resp.schema;
32934
+ }
32935
+ for (const [code, resp] of p3.responses) {
32936
+ if (code >= 200 && code < 300 && resp.schema)
32937
+ return resp.schema;
32938
+ }
32939
+ return;
32940
+ }
32941
+
32942
+ // ../openapi/src/crud-registration.ts
32943
+ function registerCrudRoutes(instance, resource, seedItems, allParsedPaths) {
32944
+ const ensureSeeded = createSeeder(resource, seedItems);
32945
+ for (const op of resource.operations) {
32946
+ const meta = resource.operationMeta?.get(op);
32947
+ const routeEntries = getCrudRouteEntries(op, resource);
32948
+ for (const { routeKey, method } of routeEntries) {
32949
+ const gen = createCrudGenerator(op, resource, meta);
32950
+ const parsedPath = allParsedPaths.get(`${method} ${resource.basePath}`) ?? allParsedPaths.get(`${method} ${resource.itemPath}`);
32951
+ const config = {};
32952
+ if (parsedPath) {
32953
+ config["openapi:responses"] = parsedPath.responses;
32954
+ config["openapi:path"] = parsedPath.path;
32955
+ config["openapi:requestBody"] = parsedPath.requestBody;
32956
+ config["openapi:security"] = parsedPath.security;
32957
+ config["openapi:callbacks"] = parsedPath.callbacks;
32958
+ }
32959
+ instance(routeKey, wrapWithSeeder(ensureSeeded, gen), config);
32960
+ }
32961
+ }
32962
+ }
32963
+ function registerNonCrudRoutes(instance, nonCrudPaths, fakerSeed) {
32964
+ for (const parsedPath of nonCrudPaths) {
32965
+ const routeKey = toRouteKey(parsedPath.method, parsedPath.path);
32966
+ const config = {
32967
+ "openapi:responses": parsedPath.responses,
32968
+ "openapi:path": parsedPath.path,
32969
+ "openapi:requestBody": parsedPath.requestBody,
32970
+ "openapi:security": parsedPath.security,
32971
+ "openapi:callbacks": parsedPath.callbacks
32972
+ };
32973
+ instance(routeKey, createStaticGenerator(parsedPath, fakerSeed), config);
32974
+ }
32975
+ }
32976
+ function getCrudRouteEntries(op, resource) {
32977
+ switch (op) {
32978
+ case "list":
32979
+ return [
32980
+ {
32981
+ routeKey: toRouteKey("GET", resource.basePath),
32982
+ method: "GET"
32983
+ }
32984
+ ];
32985
+ case "create":
32986
+ return [
32987
+ {
32988
+ routeKey: toRouteKey("POST", resource.basePath),
32989
+ method: "POST"
32990
+ }
32991
+ ];
32992
+ case "read":
32993
+ return [
32994
+ {
32995
+ routeKey: toRouteKey("GET", resource.itemPath),
32996
+ method: "GET"
32997
+ }
32998
+ ];
32999
+ case "update":
33000
+ return [
33001
+ {
33002
+ routeKey: toRouteKey("PUT", resource.itemPath),
33003
+ method: "PUT"
33004
+ },
33005
+ {
33006
+ routeKey: toRouteKey("PATCH", resource.itemPath),
33007
+ method: "PATCH"
33008
+ }
33009
+ ];
33010
+ case "delete":
33011
+ return [
33012
+ {
33013
+ routeKey: toRouteKey("DELETE", resource.itemPath),
33014
+ method: "DELETE"
33015
+ }
33016
+ ];
33017
+ }
33018
+ }
33019
+ function createCrudGenerator(op, resource, meta) {
33020
+ switch (op) {
33021
+ case "list":
33022
+ return createListGenerator(resource, meta);
33023
+ case "create":
33024
+ return createCreateGenerator(resource, meta);
33025
+ case "read":
33026
+ return createReadGenerator(resource, meta);
33027
+ case "update":
33028
+ return createUpdateGenerator(resource, meta);
33029
+ case "delete":
33030
+ return createDeleteGenerator(resource, meta);
33031
+ }
33032
+ }
33033
+ function createSeeder(resource, seedItems) {
33034
+ const stateKey = `openapi:collections:${resource.name}`;
33035
+ const counterKey = `openapi:counter:${resource.name}`;
33036
+ const seededKey = `openapi:seeded:${resource.name}`;
33037
+ return (state) => {
33038
+ if (state[seededKey])
33039
+ return;
33040
+ state[seededKey] = true;
33041
+ if (seedItems && seedItems.length > 0) {
33042
+ state[stateKey] = [...seedItems];
33043
+ let maxId = 0;
33044
+ for (const item of seedItems) {
33045
+ if (isRecord(item) && resource.idParam in item) {
33046
+ const id = item[resource.idParam];
33047
+ if (typeof id === "number" && id > maxId) {
33048
+ maxId = id;
33049
+ }
33050
+ }
33051
+ }
33052
+ state[counterKey] = maxId;
33053
+ } else {
33054
+ state[stateKey] = [];
33055
+ state[counterKey] = 0;
33056
+ }
33057
+ };
33058
+ }
33059
+ function wrapWithSeeder(seeder, generator) {
33060
+ return (ctx) => {
33061
+ seeder(ctx.state);
33062
+ return generator(ctx);
33063
+ };
33064
+ }
33065
+ function applyOverrides2(resource, override) {
33066
+ if (!resource.operationMeta) {
33067
+ resource.operationMeta = new Map;
33068
+ }
33069
+ if (override.listWrapProperty !== undefined || override.listFlat !== undefined) {
33070
+ const listMeta = resource.operationMeta.get("list") ?? {};
33071
+ if (override.listFlat) {
33072
+ delete listMeta.responseSchema;
33073
+ } else if (override.listWrapProperty && listMeta.responseSchema) {
33074
+ const arrayInfo = findArrayProperty(listMeta.responseSchema);
33075
+ if (!arrayInfo.property || arrayInfo.property !== override.listWrapProperty) {
33076
+ const itemSchema = arrayInfo.itemSchema ?? resource.schema ?? {};
33077
+ listMeta.responseSchema = {
33078
+ type: "object",
33079
+ properties: {
33080
+ [override.listWrapProperty]: {
33081
+ type: "array",
33082
+ items: itemSchema
33083
+ }
33084
+ }
33085
+ };
33086
+ }
33087
+ } else if (override.listWrapProperty) {
33088
+ const itemSchema = resource.schema ?? {};
33089
+ listMeta.responseSchema = {
33090
+ type: "object",
33091
+ properties: {
33092
+ [override.listWrapProperty]: {
33093
+ type: "array",
33094
+ items: itemSchema
33095
+ }
33096
+ }
33097
+ };
33098
+ }
33099
+ resource.operationMeta.set("list", listMeta);
33100
+ }
33101
+ if (override.errorSchema) {
33102
+ const errorSchemaMap = new Map;
33103
+ errorSchemaMap.set(404, override.errorSchema);
33104
+ errorSchemaMap.set(400, override.errorSchema);
33105
+ errorSchemaMap.set(409, override.errorSchema);
33106
+ const errorOps = ["read", "update", "delete"];
33107
+ for (const op of errorOps) {
33108
+ const meta = resource.operationMeta.get(op) ?? {};
33109
+ meta.errorSchemas = errorSchemaMap;
33110
+ resource.operationMeta.set(op, meta);
33111
+ }
33112
+ }
33113
+ }
33114
+ function logResourceDetection(resource, override) {
33115
+ const listMeta = resource.operationMeta?.get("list");
33116
+ let listFormat = "flat";
33117
+ if (listMeta?.responseSchema) {
33118
+ const arrayInfo = findArrayProperty(listMeta.responseSchema);
33119
+ if (arrayInfo.property) {
33120
+ const hasAllOf = "allOf" in (listMeta.responseSchema ?? {});
33121
+ listFormat = `wrapped("${arrayInfo.property}"${hasAllOf ? " via allOf" : ""})`;
33122
+ }
32833
33123
  }
32834
- for (const [code, resp] of p3.responses) {
32835
- if (code >= 200 && code < 300 && resp.schema)
32836
- return resp.schema;
33124
+ const readMeta = resource.operationMeta?.get("read");
33125
+ const errorFormat = readMeta?.errorSchemas?.has(404) ? "schema(404)" : "default";
33126
+ const headerCount = listMeta?.responseHeaders ? Object.keys(listMeta.responseHeaders).length : 0;
33127
+ console.log(`[@schmock/openapi] ${resource.name}: list=${listFormat}, error=${errorFormat}, headers=${headerCount}`);
33128
+ if (override) {
33129
+ const definedKeys = [];
33130
+ if (override.listWrapProperty !== undefined)
33131
+ definedKeys.push("listWrapProperty");
33132
+ if (override.listFlat !== undefined)
33133
+ definedKeys.push("listFlat");
33134
+ if (override.errorSchema !== undefined)
33135
+ definedKeys.push("errorSchema");
33136
+ if (definedKeys.length > 0) {
33137
+ console.log(`[@schmock/openapi] Override applied: ${resource.name}.${definedKeys.join(", ")}`);
33138
+ }
32837
33139
  }
32838
- return;
32839
33140
  }
32840
33141
 
32841
33142
  // ../openapi/src/parser.ts
@@ -32861,7 +33162,6 @@ function normalizeNode(node, direction, visited) {
32861
33162
  if (node.nullable === true) {
32862
33163
  delete node.nullable;
32863
33164
  const copy = { ...node };
32864
- delete copy.nullable;
32865
33165
  return {
32866
33166
  oneOf: [normalizeNode(copy, direction, visited), { type: "null" }]
32867
33167
  };
@@ -33030,7 +33330,7 @@ async function parseSpec(source) {
33030
33330
  }
33031
33331
  const isSwagger2 = "swagger" in api && typeof api.swagger === "string";
33032
33332
  const title = api.info?.title ?? "Untitled";
33033
- const version = api.info?.version ?? "0.0.0";
33333
+ const version2 = api.info?.version ?? "0.0.0";
33034
33334
  let basePath = "";
33035
33335
  if (isSwagger2 && "basePath" in api) {
33036
33336
  const bp = api.basePath;
@@ -33055,7 +33355,7 @@ async function parseSpec(source) {
33055
33355
  const paths = [];
33056
33356
  const rawPaths = "paths" in api && isRecord(api.paths) ? api.paths : undefined;
33057
33357
  if (!rawPaths) {
33058
- return { title, version, basePath, paths, securitySchemes, globalSecurity };
33358
+ return { title, version: version2, basePath, paths, securitySchemes, globalSecurity };
33059
33359
  }
33060
33360
  for (const [pathTemplate, pathItemRaw] of Object.entries(rawPaths)) {
33061
33361
  if (!isRecord(pathItemRaw))
@@ -33096,7 +33396,7 @@ async function parseSpec(source) {
33096
33396
  });
33097
33397
  }
33098
33398
  }
33099
- return { title, version, basePath, paths, securitySchemes, globalSecurity };
33399
+ return { title, version: version2, basePath, paths, securitySchemes, globalSecurity };
33100
33400
  }
33101
33401
  function isValidParamLocation(location2, isSwagger2) {
33102
33402
  const validLocations = isSwagger2 ? ["path", "query", "header", "body"] : ["path", "query", "header"];
@@ -33363,6 +33663,45 @@ function extractCallbacks(callbacks) {
33363
33663
  return result.length > 0 ? result : undefined;
33364
33664
  }
33365
33665
 
33666
+ // ../openapi/src/request-pipeline.ts
33667
+ var import_ajv = __toESM(require_ajv(), 1);
33668
+
33669
+ // ../openapi/src/content-negotiation.ts
33670
+ function negotiateContentType(accept, available) {
33671
+ if (!accept || accept === "*/*") {
33672
+ return available[0] ?? null;
33673
+ }
33674
+ const entries = accept.split(",").map((part) => {
33675
+ const [type, ...params] = part.trim().split(";");
33676
+ let q3 = 1;
33677
+ for (const param of params) {
33678
+ const match = param.trim().match(/^q\s*=\s*([\d.]+)$/);
33679
+ if (match) {
33680
+ q3 = Number.parseFloat(match[1]);
33681
+ }
33682
+ }
33683
+ return { type: type.trim(), q: q3 };
33684
+ }).sort((a2, b2) => b2.q - a2.q);
33685
+ for (const entry of entries) {
33686
+ if (entry.q === 0)
33687
+ continue;
33688
+ if (entry.type === "*/*") {
33689
+ return available[0] ?? null;
33690
+ }
33691
+ if (entry.type.endsWith("/*")) {
33692
+ const prefix = entry.type.slice(0, -1);
33693
+ const match = available.find((ct) => ct.startsWith(prefix));
33694
+ if (match)
33695
+ return match;
33696
+ continue;
33697
+ }
33698
+ if (available.includes(entry.type)) {
33699
+ return entry.type;
33700
+ }
33701
+ }
33702
+ return null;
33703
+ }
33704
+
33366
33705
  // ../openapi/src/prefer.ts
33367
33706
  function parsePreferHeader(value) {
33368
33707
  const result = {};
@@ -33385,46 +33724,7 @@ function parsePreferHeader(value) {
33385
33724
  return result;
33386
33725
  }
33387
33726
 
33388
- // ../openapi/src/seed.ts
33389
- import { readFileSync } from "node:fs";
33390
- function loadSeed(config, resources) {
33391
- const result = new Map;
33392
- for (const [resourceName, source] of Object.entries(config)) {
33393
- const resource = resources.find((r2) => r2.name === resourceName);
33394
- if (Array.isArray(source)) {
33395
- result.set(resourceName, [...source]);
33396
- } else if (typeof source === "string") {
33397
- const content = readFileSync(source, "utf-8");
33398
- let parsed;
33399
- try {
33400
- parsed = JSON.parse(content);
33401
- } catch {
33402
- throw new Error(`Seed file "${source}" for resource "${resourceName}" contains invalid JSON`);
33403
- }
33404
- if (!Array.isArray(parsed)) {
33405
- throw new Error(`Seed file "${source}" for resource "${resourceName}" must contain a JSON array`);
33406
- }
33407
- result.set(resourceName, parsed);
33408
- } else if (typeof source === "object" && source !== null && "count" in source) {
33409
- const rawCount = source.count;
33410
- if (typeof rawCount !== "number" || !Number.isInteger(rawCount) || rawCount < 0) {
33411
- throw new Error(`Seed count for "${resourceName}" must be a non-negative integer, got: ${String(rawCount)}`);
33412
- }
33413
- if (!resource?.schema) {
33414
- throw new Error(`Cannot auto-generate seed for "${resourceName}": no schema found in spec`);
33415
- }
33416
- const items = generateSeedItems(resource.schema, rawCount, resource.idParam);
33417
- result.set(resourceName, items);
33418
- }
33419
- }
33420
- return result;
33421
- }
33422
-
33423
- // ../openapi/src/plugin.ts
33424
- function getRouteCallbacks(route) {
33425
- const value = route["openapi:callbacks"];
33426
- return Array.isArray(value) ? value : undefined;
33427
- }
33727
+ // ../openapi/src/request-pipeline.ts
33428
33728
  function getRouteSecurity(route) {
33429
33729
  const value = route["openapi:security"];
33430
33730
  return Array.isArray(value) ? value : undefined;
@@ -33437,69 +33737,6 @@ function getRouteRequestBody(route) {
33437
33737
  const value = route["openapi:requestBody"];
33438
33738
  return isRecord(value) ? value : undefined;
33439
33739
  }
33440
- async function openapi(options) {
33441
- const spec = await parseSpec(options.spec);
33442
- const { resources, nonCrudPaths } = detectCrudResources(spec.paths);
33443
- const seedData = options.seed ? loadSeed(options.seed, resources) : new Map;
33444
- const allParsedPaths = new Map;
33445
- for (const pp of [...spec.paths]) {
33446
- allParsedPaths.set(`${pp.method} ${pp.path}`, pp);
33447
- }
33448
- const securitySchemes = spec.securitySchemes;
33449
- const globalSecurity = spec.globalSecurity;
33450
- return {
33451
- name: "@schmock/openapi",
33452
- version: "1.4.0",
33453
- install(instance) {
33454
- if (options.debug) {
33455
- console.log(`[@schmock/openapi] Detected ${resources.length} CRUD resources, ${nonCrudPaths.length} static routes`);
33456
- }
33457
- for (const resource of resources) {
33458
- const override = options.resources?.[resource.name];
33459
- if (override) {
33460
- applyOverrides2(resource, override);
33461
- }
33462
- if (options.debug) {
33463
- logResourceDetection(resource, override);
33464
- }
33465
- registerCrudRoutes(instance, resource, seedData.get(resource.name), allParsedPaths);
33466
- }
33467
- for (const parsedPath of nonCrudPaths) {
33468
- const routeKey = `${parsedPath.method} ${parsedPath.path}`;
33469
- const config = {
33470
- "openapi:responses": parsedPath.responses,
33471
- "openapi:path": parsedPath.path,
33472
- "openapi:requestBody": parsedPath.requestBody,
33473
- "openapi:security": parsedPath.security,
33474
- "openapi:callbacks": parsedPath.callbacks
33475
- };
33476
- instance(routeKey, createStaticGenerator(parsedPath, options.fakerSeed), config);
33477
- }
33478
- },
33479
- process(context, response) {
33480
- if (options.security && securitySchemes) {
33481
- const securityResult = validateSecurity(context, securitySchemes, globalSecurity);
33482
- if (securityResult)
33483
- return securityResult;
33484
- }
33485
- const contentResult = processContentNegotiation(context);
33486
- if (contentResult)
33487
- return contentResult;
33488
- if (options.validateRequests) {
33489
- const validationResult = validateRequestBody(context);
33490
- if (validationResult) {
33491
- return validationResult;
33492
- }
33493
- }
33494
- const result = processPreferHeader(context, response, options.fakerSeed);
33495
- const callbacks = getRouteCallbacks(context.route);
33496
- if (callbacks && callbacks.length > 0) {
33497
- fireCallbacks(callbacks, context, result.response);
33498
- }
33499
- return result;
33500
- }
33501
- };
33502
- }
33503
33740
  function validateSecurity(context, schemes, globalSecurity) {
33504
33741
  const routeSecurity = getRouteSecurity(context.route);
33505
33742
  const security = routeSecurity ?? globalSecurity;
@@ -33612,6 +33849,38 @@ function processContentNegotiation(context) {
33612
33849
  }
33613
33850
  return;
33614
33851
  }
33852
+ var ajv = new import_ajv.default({ allErrors: true });
33853
+ var schemaCache = new WeakMap;
33854
+ function validateRequestBody(context) {
33855
+ const requestBodySchema = getRouteRequestBody(context.route);
33856
+ if (!requestBodySchema || context.body === undefined) {
33857
+ return;
33858
+ }
33859
+ let validate2 = schemaCache.get(requestBodySchema);
33860
+ if (!validate2) {
33861
+ validate2 = ajv.compile(requestBodySchema);
33862
+ schemaCache.set(requestBodySchema, validate2);
33863
+ }
33864
+ if (!validate2(context.body)) {
33865
+ const errors = validate2.errors?.map((e2) => ({
33866
+ path: e2.instancePath || "/",
33867
+ message: e2.message ?? "validation failed",
33868
+ keyword: e2.keyword
33869
+ })) ?? [];
33870
+ return {
33871
+ context,
33872
+ response: [
33873
+ 400,
33874
+ {
33875
+ error: "Request validation failed",
33876
+ code: "VALIDATION_ERROR",
33877
+ details: errors
33878
+ }
33879
+ ]
33880
+ };
33881
+ }
33882
+ return;
33883
+ }
33615
33884
  function processPreferHeader(context, response, fakerSeed) {
33616
33885
  const preferValue = context.headers.prefer ?? context.headers.Prefer;
33617
33886
  if (!preferValue) {
@@ -33649,86 +33918,6 @@ function processPreferHeader(context, response, fakerSeed) {
33649
33918
  }
33650
33919
  return { context, response };
33651
33920
  }
33652
- var ajv = new import_ajv.default({ allErrors: true });
33653
- function validateRequestBody(context) {
33654
- const requestBodySchema = getRouteRequestBody(context.route);
33655
- if (!requestBodySchema || context.body === undefined) {
33656
- return;
33657
- }
33658
- const validate2 = ajv.compile(requestBodySchema);
33659
- if (!validate2(context.body)) {
33660
- const errors = validate2.errors?.map((e2) => ({
33661
- path: e2.instancePath || "/",
33662
- message: e2.message ?? "validation failed",
33663
- keyword: e2.keyword
33664
- })) ?? [];
33665
- return {
33666
- context,
33667
- response: [
33668
- 400,
33669
- {
33670
- error: "Request validation failed",
33671
- code: "VALIDATION_ERROR",
33672
- details: errors
33673
- }
33674
- ]
33675
- };
33676
- }
33677
- return;
33678
- }
33679
- function resolveCallbackUrl(expression, context, response) {
33680
- return expression.replace(/\{\$([^}]+)\}/g, (_2, expr) => {
33681
- if (expr.startsWith("request.body#")) {
33682
- const pointer = expr.slice("request.body#".length);
33683
- const value = resolveJsonPointer(context.body, pointer);
33684
- return typeof value === "string" ? value : "";
33685
- }
33686
- if (expr.startsWith("request.header.")) {
33687
- const headerName = expr.slice("request.header.".length).toLowerCase();
33688
- return context.headers[headerName] ?? "";
33689
- }
33690
- if (expr.startsWith("request.query.")) {
33691
- const queryName = expr.slice("request.query.".length);
33692
- return context.query[queryName] ?? "";
33693
- }
33694
- if (expr.startsWith("request.path.")) {
33695
- const paramName = expr.slice("request.path.".length);
33696
- return context.params[paramName] ?? "";
33697
- }
33698
- if (expr.startsWith("response.body#")) {
33699
- const pointer = expr.slice("response.body#".length);
33700
- const responseBody = Array.isArray(response) ? response[1] : response;
33701
- const value = resolveJsonPointer(responseBody, pointer);
33702
- return typeof value === "string" ? value : "";
33703
- }
33704
- return "";
33705
- });
33706
- }
33707
- function resolveJsonPointer(obj, pointer) {
33708
- if (!isRecord(obj) || !pointer.startsWith("/"))
33709
- return;
33710
- const parts = pointer.slice(1).split("/");
33711
- let current = obj;
33712
- for (const part of parts) {
33713
- if (!isRecord(current))
33714
- return;
33715
- current = current[part];
33716
- }
33717
- return current;
33718
- }
33719
- function fireCallbacks(callbacks, context, response) {
33720
- for (const callback of callbacks) {
33721
- const url = resolveCallbackUrl(callback.urlExpression, context, response);
33722
- if (!url || !url.startsWith("http"))
33723
- continue;
33724
- const body = Array.isArray(response) ? response[1] : response;
33725
- fetch(url, {
33726
- method: callback.method,
33727
- headers: { "content-type": "application/json" },
33728
- body: body !== undefined ? JSON.stringify(body) : undefined
33729
- }).catch(() => {});
33730
- }
33731
- }
33732
33921
  function generateResponseBody(schema, seed) {
33733
33922
  try {
33734
33923
  return generateFromSchema({ schema, seed });
@@ -33736,189 +33925,95 @@ function generateResponseBody(schema, seed) {
33736
33925
  return {};
33737
33926
  }
33738
33927
  }
33739
- function registerCrudRoutes(instance, resource, seedItems, allParsedPaths) {
33740
- const ensureSeeded = createSeeder(resource, seedItems);
33741
- for (const op of resource.operations) {
33742
- const meta = resource.operationMeta?.get(op);
33743
- const routeEntries = getCrudRouteEntries(op, resource);
33744
- for (const { routeKey, method } of routeEntries) {
33745
- const gen = createCrudGenerator(op, resource, meta);
33746
- const parsedPath = allParsedPaths.get(`${method} ${resource.basePath}`) ?? allParsedPaths.get(`${method} ${resource.itemPath}`);
33747
- const config = {};
33748
- if (parsedPath) {
33749
- config["openapi:responses"] = parsedPath.responses;
33750
- config["openapi:path"] = parsedPath.path;
33751
- config["openapi:requestBody"] = parsedPath.requestBody;
33752
- config["openapi:security"] = parsedPath.security;
33753
- config["openapi:callbacks"] = parsedPath.callbacks;
33928
+
33929
+ // ../openapi/src/seed.ts
33930
+ import { readFileSync } from "node:fs";
33931
+ function loadSeed(config, resources) {
33932
+ const result = new Map;
33933
+ for (const [resourceName, source] of Object.entries(config)) {
33934
+ const resource = resources.find((r2) => r2.name === resourceName);
33935
+ if (Array.isArray(source)) {
33936
+ result.set(resourceName, [...source]);
33937
+ } else if (typeof source === "string") {
33938
+ const content = readFileSync(source, "utf-8");
33939
+ let parsed;
33940
+ try {
33941
+ parsed = JSON.parse(content);
33942
+ } catch {
33943
+ throw new Error(`Seed file "${source}" for resource "${resourceName}" contains invalid JSON`);
33754
33944
  }
33755
- instance(routeKey, wrapWithSeeder(ensureSeeded, gen), config);
33945
+ if (!Array.isArray(parsed)) {
33946
+ throw new Error(`Seed file "${source}" for resource "${resourceName}" must contain a JSON array`);
33947
+ }
33948
+ result.set(resourceName, parsed);
33949
+ } else if (typeof source === "object" && source !== null && "count" in source) {
33950
+ const rawCount = source.count;
33951
+ if (typeof rawCount !== "number" || !Number.isInteger(rawCount) || rawCount < 0) {
33952
+ throw new Error(`Seed count for "${resourceName}" must be a non-negative integer, got: ${String(rawCount)}`);
33953
+ }
33954
+ if (!resource?.schema) {
33955
+ throw new Error(`Cannot auto-generate seed for "${resourceName}": no schema found in spec`);
33956
+ }
33957
+ const items = generateSeedItems(resource.schema, rawCount, resource.idParam);
33958
+ result.set(resourceName, items);
33756
33959
  }
33757
33960
  }
33961
+ return result;
33758
33962
  }
33759
- function getCrudRouteEntries(op, resource) {
33760
- switch (op) {
33761
- case "list":
33762
- return [
33763
- {
33764
- routeKey: `GET ${resource.basePath}`,
33765
- method: "GET"
33766
- }
33767
- ];
33768
- case "create":
33769
- return [
33770
- {
33771
- routeKey: `POST ${resource.basePath}`,
33772
- method: "POST"
33773
- }
33774
- ];
33775
- case "read":
33776
- return [
33777
- {
33778
- routeKey: `GET ${resource.itemPath}`,
33779
- method: "GET"
33780
- }
33781
- ];
33782
- case "update":
33783
- return [
33784
- {
33785
- routeKey: `PUT ${resource.itemPath}`,
33786
- method: "PUT"
33787
- },
33788
- {
33789
- routeKey: `PATCH ${resource.itemPath}`,
33790
- method: "PATCH"
33791
- }
33792
- ];
33793
- case "delete":
33794
- return [
33795
- {
33796
- routeKey: `DELETE ${resource.itemPath}`,
33797
- method: "DELETE"
33798
- }
33799
- ];
33800
- }
33801
- }
33802
- function createCrudGenerator(op, resource, meta) {
33803
- switch (op) {
33804
- case "list":
33805
- return createListGenerator(resource, meta);
33806
- case "create":
33807
- return createCreateGenerator(resource, meta);
33808
- case "read":
33809
- return createReadGenerator(resource, meta);
33810
- case "update":
33811
- return createUpdateGenerator(resource, meta);
33812
- case "delete":
33813
- return createDeleteGenerator(resource, meta);
33963
+
33964
+ // ../openapi/src/plugin.ts
33965
+ async function openapi(options) {
33966
+ const spec = await parseSpec(options.spec);
33967
+ const { resources, nonCrudPaths } = detectCrudResources(spec.paths);
33968
+ const seedData = options.seed ? loadSeed(options.seed, resources) : new Map;
33969
+ const allParsedPaths = new Map;
33970
+ for (const pp of [...spec.paths]) {
33971
+ allParsedPaths.set(`${pp.method} ${pp.path}`, pp);
33814
33972
  }
33815
- }
33816
- function createSeeder(resource, seedItems) {
33817
- const stateKey = `openapi:collections:${resource.name}`;
33818
- const counterKey = `openapi:counter:${resource.name}`;
33819
- const seededKey = `openapi:seeded:${resource.name}`;
33820
- return (state) => {
33821
- if (state[seededKey])
33822
- return;
33823
- state[seededKey] = true;
33824
- if (seedItems && seedItems.length > 0) {
33825
- state[stateKey] = [...seedItems];
33826
- let maxId = 0;
33827
- for (const item of seedItems) {
33828
- if (isRecord(item) && resource.idParam in item) {
33829
- const id = item[resource.idParam];
33830
- if (typeof id === "number" && id > maxId) {
33831
- maxId = id;
33832
- }
33973
+ const securitySchemes = spec.securitySchemes;
33974
+ const globalSecurity = spec.globalSecurity;
33975
+ return {
33976
+ name: "@schmock/openapi",
33977
+ version,
33978
+ install(instance) {
33979
+ if (options.debug) {
33980
+ console.log(`[@schmock/openapi] Detected ${resources.length} CRUD resources, ${nonCrudPaths.length} static routes`);
33981
+ }
33982
+ for (const resource of resources) {
33983
+ const override = options.resources?.[resource.name];
33984
+ if (override) {
33985
+ applyOverrides2(resource, override);
33833
33986
  }
33987
+ if (options.debug) {
33988
+ logResourceDetection(resource, override);
33989
+ }
33990
+ registerCrudRoutes(instance, resource, seedData.get(resource.name), allParsedPaths);
33834
33991
  }
33835
- state[counterKey] = maxId;
33836
- } else {
33837
- state[stateKey] = [];
33838
- state[counterKey] = 0;
33839
- }
33840
- };
33841
- }
33842
- function wrapWithSeeder(seeder, generator) {
33843
- return (ctx) => {
33844
- seeder(ctx.state);
33845
- return generator(ctx);
33846
- };
33847
- }
33848
- function applyOverrides2(resource, override) {
33849
- if (!resource.operationMeta) {
33850
- resource.operationMeta = new Map;
33851
- }
33852
- if (override.listWrapProperty !== undefined || override.listFlat !== undefined) {
33853
- const listMeta = resource.operationMeta.get("list") ?? {};
33854
- if (override.listFlat) {
33855
- delete listMeta.responseSchema;
33856
- } else if (override.listWrapProperty && listMeta.responseSchema) {
33857
- const arrayInfo = findArrayProperty(listMeta.responseSchema);
33858
- if (!arrayInfo.property || arrayInfo.property !== override.listWrapProperty) {
33859
- const itemSchema = arrayInfo.itemSchema ?? resource.schema ?? {};
33860
- listMeta.responseSchema = {
33861
- type: "object",
33862
- properties: {
33863
- [override.listWrapProperty]: {
33864
- type: "array",
33865
- items: itemSchema
33866
- }
33867
- }
33868
- };
33992
+ registerNonCrudRoutes(instance, nonCrudPaths, options.fakerSeed);
33993
+ },
33994
+ process(context, response) {
33995
+ if (options.security && securitySchemes) {
33996
+ const securityResult = validateSecurity(context, securitySchemes, globalSecurity);
33997
+ if (securityResult)
33998
+ return securityResult;
33869
33999
  }
33870
- } else if (override.listWrapProperty) {
33871
- const itemSchema = resource.schema ?? {};
33872
- listMeta.responseSchema = {
33873
- type: "object",
33874
- properties: {
33875
- [override.listWrapProperty]: {
33876
- type: "array",
33877
- items: itemSchema
33878
- }
34000
+ const contentResult = processContentNegotiation(context);
34001
+ if (contentResult)
34002
+ return contentResult;
34003
+ if (options.validateRequests) {
34004
+ const validationResult = validateRequestBody(context);
34005
+ if (validationResult) {
34006
+ return validationResult;
33879
34007
  }
33880
- };
33881
- }
33882
- resource.operationMeta.set("list", listMeta);
33883
- }
33884
- if (override.errorSchema) {
33885
- const errorSchemaMap = new Map;
33886
- errorSchemaMap.set(404, override.errorSchema);
33887
- errorSchemaMap.set(400, override.errorSchema);
33888
- errorSchemaMap.set(409, override.errorSchema);
33889
- for (const op of ["read", "update", "delete"]) {
33890
- const meta = resource.operationMeta.get(op) ?? {};
33891
- meta.errorSchemas = errorSchemaMap;
33892
- resource.operationMeta.set(op, meta);
33893
- }
33894
- }
33895
- }
33896
- function logResourceDetection(resource, override) {
33897
- const listMeta = resource.operationMeta?.get("list");
33898
- let listFormat = "flat";
33899
- if (listMeta?.responseSchema) {
33900
- const arrayInfo = findArrayProperty(listMeta.responseSchema);
33901
- if (arrayInfo.property) {
33902
- const hasAllOf = "allOf" in (listMeta.responseSchema ?? {});
33903
- listFormat = `wrapped("${arrayInfo.property}"${hasAllOf ? " via allOf" : ""})`;
33904
- }
33905
- }
33906
- const readMeta = resource.operationMeta?.get("read");
33907
- const errorFormat = readMeta?.errorSchemas?.has(404) ? "schema(404)" : "default";
33908
- const headerCount = listMeta?.responseHeaders ? Object.keys(listMeta.responseHeaders).length : 0;
33909
- console.log(`[@schmock/openapi] ${resource.name}: list=${listFormat}, error=${errorFormat}, headers=${headerCount}`);
33910
- if (override) {
33911
- const definedKeys = [];
33912
- if (override.listWrapProperty !== undefined)
33913
- definedKeys.push("listWrapProperty");
33914
- if (override.listFlat !== undefined)
33915
- definedKeys.push("listFlat");
33916
- if (override.errorSchema !== undefined)
33917
- definedKeys.push("errorSchema");
33918
- if (definedKeys.length > 0) {
33919
- console.log(`[@schmock/openapi] Override applied: ${resource.name}.${definedKeys.join(", ")}`);
34008
+ }
34009
+ const result = processPreferHeader(context, response, options.fakerSeed);
34010
+ const callbacks = getRouteCallbacks(context.route);
34011
+ if (callbacks && callbacks.length > 0) {
34012
+ fireCallbacks(callbacks, context, result.response);
34013
+ }
34014
+ return result;
33920
34015
  }
33921
- }
34016
+ };
33922
34017
  }
33923
34018
  // src/cli.ts
33924
34019
  var CORS_HEADERS = {
@@ -34158,8 +34253,6 @@ Shutting down...
34158
34253
  process.on("SIGINT", shutdown);
34159
34254
  process.on("SIGTERM", shutdown);
34160
34255
  }
34161
- // src/index.ts
34162
- run2(process.argv.slice(2));
34163
34256
  export {
34164
34257
  run2 as run,
34165
34258
  parseCliArgs,