@kubb/agent 4.37.8 → 4.37.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (649) hide show
  1. package/.output/nitro.json +2 -2
  2. package/.output/server/chunks/nitro/nitro.mjs +35 -12
  3. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  4. package/.output/server/node_modules/.nitro/@readme/openapi-parser@6.1.2/dist/chunk-IYQ77VVR.js +25 -0
  5. package/.output/server/node_modules/.nitro/@readme/openapi-parser@6.1.2/dist/index.js +1147 -0
  6. package/.output/server/node_modules/.nitro/@readme/openapi-parser@6.1.2/package.json +82 -0
  7. package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/package.json +1 -1
  8. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/codegen/code.js +156 -0
  9. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/codegen/index.js +697 -0
  10. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/codegen/scope.js +143 -0
  11. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/errors.js +123 -0
  12. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/index.js +249 -0
  13. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/names.js +29 -0
  14. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/ref_error.js +12 -0
  15. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/resolve.js +155 -0
  16. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/rules.js +26 -0
  17. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/util.js +178 -0
  18. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/applicability.js +19 -0
  19. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/boolSchema.js +50 -0
  20. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/dataType.js +203 -0
  21. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/defaults.js +35 -0
  22. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/index.js +534 -0
  23. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/keyword.js +124 -0
  24. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/compile/validate/subschema.js +81 -0
  25. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/core.js +632 -0
  26. package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/draft4.js +2 -1
  27. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/refs/data.json +13 -0
  28. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/runtime/equal.js +7 -0
  29. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/runtime/ucs2length.js +24 -0
  30. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/runtime/uri.js +6 -0
  31. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/runtime/validation_error.js +11 -0
  32. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/additionalItems.js +49 -0
  33. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/additionalProperties.js +107 -0
  34. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/allOf.js +23 -0
  35. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/anyOf.js +12 -0
  36. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/contains.js +95 -0
  37. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/dependencies.js +85 -0
  38. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/if.js +66 -0
  39. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/index.js +44 -0
  40. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/items.js +52 -0
  41. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/items2020.js +30 -0
  42. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/not.js +26 -0
  43. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/oneOf.js +60 -0
  44. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/patternProperties.js +75 -0
  45. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/prefixItems.js +12 -0
  46. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/properties.js +55 -0
  47. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/propertyNames.js +38 -0
  48. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/applicator/thenElse.js +13 -0
  49. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/code.js +138 -0
  50. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/core/id.js +10 -0
  51. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/core/index.js +16 -0
  52. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/core/ref.js +132 -0
  53. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/discriminator/index.js +139 -0
  54. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/discriminator/types.js +9 -0
  55. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/format/format.js +92 -0
  56. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/format/index.js +6 -0
  57. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/metadata.js +26 -0
  58. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/oasContext.js +26 -0
  59. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/const.js +25 -0
  60. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/enum.js +48 -0
  61. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/index.js +37 -0
  62. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitItems.js +24 -0
  63. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitLength.js +27 -0
  64. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitNumber.js +27 -0
  65. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/limitProperties.js +24 -0
  66. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/multipleOf.js +26 -0
  67. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/pattern.js +33 -0
  68. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/readOnly.js +20 -0
  69. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/required.js +86 -0
  70. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/uniqueItems.js +64 -0
  71. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/dist/vocabularies/validation/writeOnly.js +20 -0
  72. package/.output/server/node_modules/.nitro/@redocly/ajv@8.18.3/package.json +130 -0
  73. package/.output/server/node_modules/.nitro/{picomatch@4.0.3 → picomatch@4.0.4}/lib/constants.js +4 -0
  74. package/.output/server/node_modules/.nitro/{picomatch@4.0.3 → picomatch@4.0.4}/lib/parse.js +301 -0
  75. package/.output/server/node_modules/.nitro/{picomatch@4.0.3 → picomatch@4.0.4}/lib/picomatch.js +11 -3
  76. package/.output/server/node_modules/.nitro/{picomatch@4.0.3 → picomatch@4.0.4}/package.json +2 -3
  77. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/add.js +2 -0
  78. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/addProp.js +2 -0
  79. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/allPass.js +2 -0
  80. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/anyPass.js +2 -0
  81. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/binarySearchCutoffIndex-CalebGhL.js +2 -0
  82. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/capitalize.js +2 -0
  83. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/ceil.js +2 -0
  84. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/chunk.js +2 -0
  85. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/clamp.js +2 -0
  86. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/clone.js +2 -0
  87. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/concat.js +2 -0
  88. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/conditional.js +2 -0
  89. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/constant.js +2 -0
  90. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/countBy.js +2 -0
  91. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/debounce.js +2 -0
  92. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/defaultTo.js +2 -0
  93. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/difference.js +2 -0
  94. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/differenceWith.js +2 -0
  95. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/divide.js +2 -0
  96. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/doNothing.js +2 -0
  97. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/drop.js +2 -0
  98. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/dropFirstBy.js +2 -0
  99. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/dropLast.js +2 -0
  100. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/dropLastWhile.js +2 -0
  101. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/dropWhile.js +2 -0
  102. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/endsWith.js +2 -0
  103. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/entries.js +2 -0
  104. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/evolve.js +2 -0
  105. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/filter.js +2 -0
  106. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/find.js +2 -0
  107. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/findIndex.js +2 -0
  108. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/findLast.js +2 -0
  109. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/findLastIndex.js +2 -0
  110. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/first.js +2 -0
  111. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/firstBy.js +2 -0
  112. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/flat.js +2 -0
  113. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/flatMap.js +2 -0
  114. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/floor.js +2 -0
  115. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/forEach.js +2 -0
  116. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/forEachObj.js +2 -0
  117. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/fromEntries.js +2 -0
  118. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/fromKeys.js +2 -0
  119. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/funnel.js +2 -0
  120. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/groupBy.js +2 -0
  121. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/groupByProp.js +2 -0
  122. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/hasAtLeast.js +2 -0
  123. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/hasProp.js +2 -0
  124. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/hasSubObject.js +2 -0
  125. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/heap-C8XIujMa.js +2 -0
  126. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/identity.js +2 -0
  127. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/index.js +1 -0
  128. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/indexBy.js +2 -0
  129. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/intersection.js +2 -0
  130. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/intersectionWith.js +2 -0
  131. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/invert.js +2 -0
  132. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isArray.js +2 -0
  133. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isBigInt.js +2 -0
  134. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isBoolean.js +2 -0
  135. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isDate.js +2 -0
  136. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isDeepEqual.js +2 -0
  137. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isDefined.js +2 -0
  138. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isEmpty.js +2 -0
  139. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isEmptyish.js +2 -0
  140. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isError.js +2 -0
  141. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isFunction.js +2 -0
  142. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isIncludedIn.js +2 -0
  143. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isNonNull.js +2 -0
  144. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isNonNullish.js +2 -0
  145. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isNot.js +2 -0
  146. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isNullish.js +2 -0
  147. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isNumber.js +2 -0
  148. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isObjectType.js +2 -0
  149. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isPlainObject.js +2 -0
  150. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isPromise.js +2 -0
  151. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isShallowEqual.js +2 -0
  152. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isStrictEqual.js +2 -0
  153. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isString.js +2 -0
  154. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isSymbol.js +2 -0
  155. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/isTruthy.js +2 -0
  156. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/join.js +2 -0
  157. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/keys.js +2 -0
  158. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/last.js +2 -0
  159. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/lazyDataLastImpl-DtF3cihj.js +2 -0
  160. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/length.js +2 -0
  161. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/map.js +2 -0
  162. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/mapKeys.js +2 -0
  163. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/mapToObj.js +2 -0
  164. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/mapValues.js +2 -0
  165. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/mapWithFeedback.js +2 -0
  166. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/mean.js +2 -0
  167. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/meanBy.js +2 -0
  168. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/median.js +2 -0
  169. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/merge.js +2 -0
  170. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/mergeAll.js +2 -0
  171. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/mergeDeep.js +2 -0
  172. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/multiply.js +2 -0
  173. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/nthBy-DCn3SK1l.js +2 -0
  174. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/objOf.js +2 -0
  175. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/omit.js +2 -0
  176. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/omitBy.js +2 -0
  177. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/once.js +2 -0
  178. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/only.js +2 -0
  179. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/partialBind.js +2 -0
  180. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/partialLastBind.js +2 -0
  181. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/partition.js +2 -0
  182. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/pathOr.js +2 -0
  183. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/pick.js +2 -0
  184. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/pickBy.js +2 -0
  185. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/pipe.js +2 -0
  186. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/piped.js +2 -0
  187. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/product.js +2 -0
  188. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/prop.js +2 -0
  189. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/pullObject.js +2 -0
  190. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/purry.js +2 -0
  191. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/purryFromLazy-DELFL6Wm.js +2 -0
  192. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/purryOn-BIRClT9Q.js +2 -0
  193. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/purryOrderRules-BaB5mcHH.js +2 -0
  194. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/randomBigInt.js +2 -0
  195. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/randomInteger.js +2 -0
  196. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/randomString.js +2 -0
  197. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/range.js +2 -0
  198. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/rankBy.js +2 -0
  199. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/reduce.js +2 -0
  200. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/reverse.js +2 -0
  201. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/round.js +2 -0
  202. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sample.js +2 -0
  203. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/set.js +2 -0
  204. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/setPath.js +2 -0
  205. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/shuffle.js +2 -0
  206. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sliceString.js +2 -0
  207. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sort.js +2 -0
  208. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sortBy.js +2 -0
  209. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sortedIndex.js +2 -0
  210. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sortedIndexBy.js +2 -0
  211. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sortedIndexWith.js +2 -0
  212. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sortedLastIndex.js +2 -0
  213. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sortedLastIndexBy.js +2 -0
  214. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/splice.js +2 -0
  215. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/split.js +2 -0
  216. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/splitAt.js +2 -0
  217. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/splitWhen.js +2 -0
  218. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/startsWith.js +2 -0
  219. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/stringToPath.js +2 -0
  220. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/subtract.js +2 -0
  221. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sum.js +2 -0
  222. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/sumBy.js +2 -0
  223. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/swapInPlace-Bb1dcddf.js +2 -0
  224. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/swapIndices.js +2 -0
  225. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/swapProps.js +2 -0
  226. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/take.js +2 -0
  227. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/takeFirstBy.js +2 -0
  228. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/takeLast.js +2 -0
  229. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/takeLastWhile.js +2 -0
  230. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/takeWhile.js +2 -0
  231. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/tap.js +2 -0
  232. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/times.js +2 -0
  233. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/toCamelCase.js +2 -0
  234. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/toKebabCase.js +2 -0
  235. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/toLowerCase.js +2 -0
  236. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/toSingle-1Si1O88f.js +2 -0
  237. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/toSnakeCase.js +2 -0
  238. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/toTitleCase.js +2 -0
  239. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/toUpperCase.js +2 -0
  240. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/truncate.js +2 -0
  241. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/uncapitalize.js +2 -0
  242. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/unique.js +2 -0
  243. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/uniqueBy.js +2 -0
  244. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/uniqueWith.js +2 -0
  245. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/utilityEvaluators-Cb8x6-JZ.js +2 -0
  246. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/values.js +2 -0
  247. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/when.js +2 -0
  248. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/withPrecision-7nvi8hnb.js +2 -0
  249. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/words-OcG39_Hp.js +3 -0
  250. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/zip.js +2 -0
  251. package/.output/server/node_modules/.nitro/remeda@2.37.0/dist/zipWith.js +2 -0
  252. package/.output/server/node_modules/.nitro/remeda@2.37.0/package.json +93 -0
  253. package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/permessage-deflate.js +6 -6
  254. package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/receiver.js +54 -0
  255. package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/sender.js +6 -1
  256. package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/websocket-server.js +13 -5
  257. package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/websocket.js +20 -6
  258. package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/package.json +4 -3
  259. package/.output/server/node_modules/.nitro/ws@8.21.0/wrapper.mjs +21 -0
  260. package/.output/server/node_modules/@redocly/config/lib-esm/index.js +1 -0
  261. package/.output/server/node_modules/@redocly/config/package.json +20 -5
  262. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle-document.js +25 -10
  263. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle-visitor.js +32 -29
  264. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle.js +2 -2
  265. package/.output/server/node_modules/@redocly/openapi-core/lib/config/all.js +5 -0
  266. package/.output/server/node_modules/@redocly/openapi-core/lib/config/bundle-extends.js +1 -0
  267. package/.output/server/node_modules/@redocly/openapi-core/lib/config/config-resolvers.js +20 -22
  268. package/.output/server/node_modules/@redocly/openapi-core/lib/config/config.js +19 -3
  269. package/.output/server/node_modules/@redocly/openapi-core/lib/config/group-assertion-rules.js +1 -1
  270. package/.output/server/node_modules/@redocly/openapi-core/lib/config/index.js +1 -0
  271. package/.output/server/node_modules/@redocly/openapi-core/lib/config/minimal.js +5 -0
  272. package/.output/server/node_modules/@redocly/openapi-core/lib/config/plugins-cache.js +100 -0
  273. package/.output/server/node_modules/@redocly/openapi-core/lib/config/recommended-strict.js +5 -0
  274. package/.output/server/node_modules/@redocly/openapi-core/lib/config/recommended.js +5 -0
  275. package/.output/server/node_modules/@redocly/openapi-core/lib/config/spec.js +5 -0
  276. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-helper.js +0 -1
  277. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/info-override.js +2 -1
  278. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/index.js +1 -1
  279. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/remove-unused-components.js +63 -38
  280. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/index.js +2 -2
  281. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/remove-unused-components.js +70 -43
  282. package/.output/server/node_modules/@redocly/openapi-core/lib/errors/yaml-parse-error.js +4 -0
  283. package/.output/server/node_modules/@redocly/openapi-core/lib/format/format.js +4 -2
  284. package/.output/server/node_modules/@redocly/openapi-core/lib/index.js +2 -2
  285. package/.output/server/node_modules/@redocly/openapi-core/lib/lint-entity.js +1 -1
  286. package/.output/server/node_modules/@redocly/openapi-core/lib/lint.js +1 -1
  287. package/.output/server/node_modules/@redocly/openapi-core/lib/logger.js +1 -0
  288. package/.output/server/node_modules/@redocly/openapi-core/lib/ref-utils.js +9 -6
  289. package/.output/server/node_modules/@redocly/openapi-core/lib/resolve.js +41 -27
  290. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/ajv.js +2 -1
  291. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/index.js +2 -0
  292. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/index.js +2 -0
  293. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/index.js +2 -0
  294. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/asserts.js +12 -0
  295. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/utils.js +1 -0
  296. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-http-verbs-in-paths.js +3 -1
  297. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-mixed-number-range-constraints.js +19 -0
  298. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-required-schema-properties-undefined.js +41 -55
  299. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/index.js +2 -0
  300. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-unused-components.js +29 -7
  301. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-discriminator-defaultMapping.js +39 -18
  302. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/no-unused-components.js +1 -3
  303. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/utils.js +10 -1
  304. package/.output/server/node_modules/@redocly/openapi-core/lib/types/index.js +4 -6
  305. package/.output/server/node_modules/@redocly/openapi-core/lib/types/json-schema-draft7.shared.js +1 -1
  306. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas2.js +2 -1
  307. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3.js +1 -1
  308. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3_2.js +9 -3
  309. package/.output/server/node_modules/@redocly/openapi-core/lib/types/redocly-yaml.js +120 -3
  310. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/dequal.js +1 -0
  311. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-empty-array.js +1 -1
  312. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-plain-object.js +1 -0
  313. package/.output/server/node_modules/@redocly/openapi-core/lib/walk.js +28 -16
  314. package/.output/server/node_modules/@redocly/openapi-core/package.json +6 -6
  315. package/.output/server/node_modules/empathic/package.json +1 -6
  316. package/.output/server/node_modules/fflate/esm/index.mjs +87 -56
  317. package/.output/server/node_modules/fflate/package.json +12 -11
  318. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/base.js +2 -2
  319. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/base.js +60 -1
  320. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/javascript-compiler.js +25 -17
  321. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/compiler/parser.js +2 -2
  322. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/helpers.js +3 -2
  323. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/internal/proto-access.js +17 -12
  324. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/runtime.js +25 -18
  325. package/.output/server/node_modules/handlebars/package.json +5 -6
  326. package/.output/server/node_modules/oas-normalize/package.json +4 -4
  327. package/.output/server/node_modules/semver/classes/range.js +7 -0
  328. package/.output/server/node_modules/semver/functions/truncate.js +48 -0
  329. package/.output/server/node_modules/semver/index.js +2 -0
  330. package/.output/server/node_modules/semver/internal/re.js +1 -1
  331. package/.output/server/node_modules/semver/package.json +3 -3
  332. package/.output/server/node_modules/semver/ranges/subset.js +2 -2
  333. package/.output/server/node_modules/tinyexec/dist/main.mjs +213 -467
  334. package/.output/server/node_modules/tinyexec/package.json +14 -15
  335. package/.output/server/package.json +14 -14
  336. package/package.json +23 -23
  337. package/.output/server/node_modules/.nitro/ws@8.19.0/wrapper.mjs +0 -8
  338. package/.output/server/node_modules/@redocly/config/lib/asyncapi-config-schema.js +0 -53
  339. package/.output/server/node_modules/@redocly/config/lib/common.js +0 -103
  340. package/.output/server/node_modules/@redocly/config/lib/constants/config.js +0 -17
  341. package/.output/server/node_modules/@redocly/config/lib/constants/entities.js +0 -58
  342. package/.output/server/node_modules/@redocly/config/lib/constants/enum.js +0 -6
  343. package/.output/server/node_modules/@redocly/config/lib/constants/shared.js +0 -22
  344. package/.output/server/node_modules/@redocly/config/lib/default-theme-config-schema.js +0 -56
  345. package/.output/server/node_modules/@redocly/config/lib/entities-catalog-config-schema.js +0 -186
  346. package/.output/server/node_modules/@redocly/config/lib/entities-catalog-entity-file-schema.js +0 -283
  347. package/.output/server/node_modules/@redocly/config/lib/ex-theme-config-schemas.js +0 -683
  348. package/.output/server/node_modules/@redocly/config/lib/feedback-config-schema.js +0 -88
  349. package/.output/server/node_modules/@redocly/config/lib/graphql-config-schema.js +0 -157
  350. package/.output/server/node_modules/@redocly/config/lib/index.js +0 -41
  351. package/.output/server/node_modules/@redocly/config/lib/product-override-schema.js +0 -43
  352. package/.output/server/node_modules/@redocly/config/lib/redoc-config-schema.js +0 -120
  353. package/.output/server/node_modules/@redocly/config/lib/reference-docs-config-schema.js +0 -518
  354. package/.output/server/node_modules/@redocly/config/lib/remove-property-recursively.js +0 -28
  355. package/.output/server/node_modules/@redocly/config/lib/reunite-config-schema.js +0 -103
  356. package/.output/server/node_modules/@redocly/config/lib/root-config-schema.js +0 -558
  357. package/.output/server/node_modules/@redocly/config/lib/scorecards-config-schema.js +0 -242
  358. package/.output/server/node_modules/@redocly/config/lib/types/api-functions-types.js +0 -3
  359. package/.output/server/node_modules/@redocly/config/lib/types/catalog-entity-types.js +0 -3
  360. package/.output/server/node_modules/@redocly/config/lib/types/code-walkthrough-types.js +0 -3
  361. package/.output/server/node_modules/@redocly/config/lib/types/config-types.js +0 -3
  362. package/.output/server/node_modules/@redocly/config/lib/types/index.js +0 -21
  363. package/.output/server/node_modules/@redocly/config/lib/types/portal-shared-types.js +0 -18
  364. package/.output/server/node_modules/handlebars/dist/cjs/handlebars/internal/create-new-lookup-object.js +0 -22
  365. /package/.output/server/node_modules/{@readme/openapi-parser → .nitro/@readme/openapi-parser@6.0.0}/dist/chunk-IYQ77VVR.js +0 -0
  366. /package/.output/server/node_modules/{@readme/openapi-parser → .nitro/@readme/openapi-parser@6.0.0}/dist/index.js +0 -0
  367. /package/.output/server/node_modules/{@readme/openapi-parser → .nitro/@readme/openapi-parser@6.0.0}/dist/lib/assertions.js +0 -0
  368. /package/.output/server/node_modules/{@readme/openapi-parser → .nitro/@readme/openapi-parser@6.0.0}/package.json +0 -0
  369. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/ajv.js +0 -0
  370. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/codegen/code.js +0 -0
  371. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/codegen/index.js +0 -0
  372. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/codegen/scope.js +0 -0
  373. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/errors.js +0 -0
  374. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/index.js +0 -0
  375. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/names.js +0 -0
  376. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/ref_error.js +0 -0
  377. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/resolve.js +0 -0
  378. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/rules.js +0 -0
  379. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/util.js +0 -0
  380. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/validate/applicability.js +0 -0
  381. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/validate/boolSchema.js +0 -0
  382. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/validate/dataType.js +0 -0
  383. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/validate/defaults.js +0 -0
  384. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/validate/index.js +0 -0
  385. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/validate/keyword.js +0 -0
  386. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/compile/validate/subschema.js +0 -0
  387. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/core.js +0 -0
  388. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/refs/data.json +0 -0
  389. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/refs/json-schema-draft-07.json +0 -0
  390. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/runtime/equal.js +0 -0
  391. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/runtime/ucs2length.js +0 -0
  392. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/runtime/uri.js +0 -0
  393. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/runtime/validation_error.js +0 -0
  394. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/additionalItems.js +0 -0
  395. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/additionalProperties.js +0 -0
  396. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/allOf.js +0 -0
  397. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/anyOf.js +0 -0
  398. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/contains.js +0 -0
  399. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/dependencies.js +0 -0
  400. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/if.js +0 -0
  401. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/index.js +0 -0
  402. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/items.js +0 -0
  403. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/items2020.js +0 -0
  404. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/not.js +0 -0
  405. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/oneOf.js +0 -0
  406. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/patternProperties.js +0 -0
  407. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/prefixItems.js +0 -0
  408. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/properties.js +0 -0
  409. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/propertyNames.js +0 -0
  410. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/applicator/thenElse.js +0 -0
  411. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/code.js +0 -0
  412. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/core/id.js +0 -0
  413. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/core/index.js +0 -0
  414. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/core/ref.js +0 -0
  415. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/discriminator/index.js +0 -0
  416. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/discriminator/types.js +0 -0
  417. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/draft7.js +0 -0
  418. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/format/format.js +0 -0
  419. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/format/index.js +0 -0
  420. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/metadata.js +0 -0
  421. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/oasContext.js +0 -0
  422. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/const.js +0 -0
  423. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/enum.js +0 -0
  424. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/index.js +0 -0
  425. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/limitItems.js +0 -0
  426. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/limitLength.js +0 -0
  427. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/limitNumber.js +0 -0
  428. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/limitProperties.js +0 -0
  429. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/multipleOf.js +0 -0
  430. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/pattern.js +0 -0
  431. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/readOnly.js +0 -0
  432. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/required.js +0 -0
  433. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/uniqueItems.js +0 -0
  434. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.1}/dist/vocabularies/validation/writeOnly.js +0 -0
  435. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/2020.js +0 -0
  436. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/index.js +0 -0
  437. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/meta/applicator.json +0 -0
  438. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/meta/content.json +0 -0
  439. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/meta/core.json +0 -0
  440. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/meta/format-annotation.json +0 -0
  441. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/meta/meta-data.json +0 -0
  442. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/meta/unevaluated.json +0 -0
  443. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/meta/validation.json +0 -0
  444. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-2020-12/schema.json +0 -0
  445. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/refs/json-schema-draft-04.json +0 -0
  446. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/applicator/dependentSchemas.js +0 -0
  447. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/draft2020.js +0 -0
  448. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/draft4.js +0 -0
  449. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/dynamic/dynamicAnchor.js +0 -0
  450. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/dynamic/dynamicRef.js +0 -0
  451. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/dynamic/index.js +0 -0
  452. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/dynamic/recursiveAnchor.js +0 -0
  453. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/dynamic/recursiveRef.js +0 -0
  454. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/next.js +0 -0
  455. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/unevaluated/index.js +0 -0
  456. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/unevaluated/unevaluatedItems.js +0 -0
  457. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/unevaluated/unevaluatedProperties.js +0 -0
  458. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/validation/dependentRequired.js +0 -0
  459. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/validation/draft04/limitNumber.js +0 -0
  460. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/validation/draft04/limitNumberExclusive.js +0 -0
  461. /package/.output/server/node_modules/{@redocly/ajv → .nitro/@redocly/ajv@8.18.3}/dist/vocabularies/validation/limitContains.js +0 -0
  462. /package/.output/server/node_modules/.nitro/{picomatch@4.0.3 → picomatch@4.0.4}/index.js +0 -0
  463. /package/.output/server/node_modules/.nitro/{picomatch@4.0.3 → picomatch@4.0.4}/lib/scan.js +0 -0
  464. /package/.output/server/node_modules/.nitro/{picomatch@4.0.3 → picomatch@4.0.4}/lib/utils.js +0 -0
  465. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/add.js +0 -0
  466. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/addProp.js +0 -0
  467. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/allPass.js +0 -0
  468. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/anyPass.js +0 -0
  469. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/binarySearchCutoffIndex-CLQRwIY1.js +0 -0
  470. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/capitalize.js +0 -0
  471. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/ceil.js +0 -0
  472. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/chunk.js +0 -0
  473. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/clamp.js +0 -0
  474. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/clone.js +0 -0
  475. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/concat.js +0 -0
  476. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/conditional.js +0 -0
  477. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/constant.js +0 -0
  478. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/countBy.js +0 -0
  479. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/debounce.js +0 -0
  480. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/defaultTo.js +0 -0
  481. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/difference.js +0 -0
  482. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/differenceWith.js +0 -0
  483. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/divide.js +0 -0
  484. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/doNothing.js +0 -0
  485. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/drop.js +0 -0
  486. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/dropFirstBy.js +0 -0
  487. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/dropLast.js +0 -0
  488. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/dropLastWhile.js +0 -0
  489. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/dropWhile.js +0 -0
  490. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/endsWith.js +0 -0
  491. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/entries.js +0 -0
  492. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/evolve.js +0 -0
  493. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/filter.js +0 -0
  494. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/find.js +0 -0
  495. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/findIndex.js +0 -0
  496. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/findLast.js +0 -0
  497. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/findLastIndex.js +0 -0
  498. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/first.js +0 -0
  499. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/firstBy.js +0 -0
  500. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/flat.js +0 -0
  501. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/flatMap.js +0 -0
  502. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/floor.js +0 -0
  503. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/forEach.js +0 -0
  504. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/forEachObj.js +0 -0
  505. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/fromEntries.js +0 -0
  506. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/fromKeys.js +0 -0
  507. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/funnel.js +0 -0
  508. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/groupBy.js +0 -0
  509. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/groupByProp.js +0 -0
  510. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/hasAtLeast.js +0 -0
  511. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/hasSubObject.js +0 -0
  512. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/heap-OOe_F8_z.js +0 -0
  513. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/identity.js +0 -0
  514. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/index.js +0 -0
  515. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/indexBy.js +0 -0
  516. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/intersection.js +0 -0
  517. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/intersectionWith.js +0 -0
  518. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/invert.js +0 -0
  519. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isArray.js +0 -0
  520. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isBigInt.js +0 -0
  521. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isBoolean.js +0 -0
  522. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isDate.js +0 -0
  523. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isDeepEqual.js +0 -0
  524. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isDefined.js +0 -0
  525. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isEmpty.js +0 -0
  526. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isEmptyish.js +0 -0
  527. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isError.js +0 -0
  528. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isFunction.js +0 -0
  529. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isIncludedIn.js +0 -0
  530. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isNonNull.js +0 -0
  531. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isNonNullish.js +0 -0
  532. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isNot.js +0 -0
  533. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isNullish.js +0 -0
  534. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isNumber.js +0 -0
  535. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isObjectType.js +0 -0
  536. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isPlainObject.js +0 -0
  537. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isPromise.js +0 -0
  538. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isShallowEqual.js +0 -0
  539. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isStrictEqual.js +0 -0
  540. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isString.js +0 -0
  541. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isSymbol.js +0 -0
  542. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/isTruthy.js +0 -0
  543. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/join.js +0 -0
  544. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/keys.js +0 -0
  545. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/last.js +0 -0
  546. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/lazyDataLastImpl-DtF3cihj.js +0 -0
  547. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/length.js +0 -0
  548. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/map.js +0 -0
  549. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/mapKeys.js +0 -0
  550. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/mapToObj.js +0 -0
  551. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/mapValues.js +0 -0
  552. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/mapWithFeedback.js +0 -0
  553. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/mean.js +0 -0
  554. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/meanBy.js +0 -0
  555. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/median.js +0 -0
  556. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/merge.js +0 -0
  557. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/mergeAll.js +0 -0
  558. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/mergeDeep.js +0 -0
  559. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/multiply.js +0 -0
  560. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/nthBy.js +0 -0
  561. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/objOf.js +0 -0
  562. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/omit.js +0 -0
  563. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/omitBy.js +0 -0
  564. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/once.js +0 -0
  565. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/only.js +0 -0
  566. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/partialBind.js +0 -0
  567. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/partialLastBind.js +0 -0
  568. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/partition.js +0 -0
  569. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/pathOr.js +0 -0
  570. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/pick.js +0 -0
  571. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/pickBy.js +0 -0
  572. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/pipe.js +0 -0
  573. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/piped.js +0 -0
  574. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/product.js +0 -0
  575. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/prop.js +0 -0
  576. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/pullObject.js +0 -0
  577. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/purry.js +0 -0
  578. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/purryFromLazy-B-_oTxzb.js +0 -0
  579. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/purryOn-D4wFIFMT.js +0 -0
  580. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/purryOrderRules-4JgY6z4X.js +0 -0
  581. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/quickSelect-B4eZ0JeB.js +0 -0
  582. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/randomBigInt.js +0 -0
  583. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/randomInteger.js +0 -0
  584. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/randomString.js +0 -0
  585. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/range.js +0 -0
  586. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/rankBy.js +0 -0
  587. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/reduce.js +0 -0
  588. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/reverse.js +0 -0
  589. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/round.js +0 -0
  590. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sample.js +0 -0
  591. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/set.js +0 -0
  592. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/setPath.js +0 -0
  593. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/shuffle.js +0 -0
  594. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sliceString.js +0 -0
  595. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sort.js +0 -0
  596. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sortBy.js +0 -0
  597. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sortedIndex.js +0 -0
  598. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sortedIndexBy.js +0 -0
  599. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sortedIndexWith.js +0 -0
  600. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sortedLastIndex.js +0 -0
  601. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sortedLastIndexBy.js +0 -0
  602. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/splice.js +0 -0
  603. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/split.js +0 -0
  604. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/splitAt.js +0 -0
  605. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/splitWhen.js +0 -0
  606. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/startsWith.js +0 -0
  607. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/stringToPath.js +0 -0
  608. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/subtract.js +0 -0
  609. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sum.js +0 -0
  610. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/sumBy.js +0 -0
  611. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/swapInPlace-BrVgf3c3.js +0 -0
  612. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/swapIndices.js +0 -0
  613. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/swapProps.js +0 -0
  614. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/take.js +0 -0
  615. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/takeFirstBy.js +0 -0
  616. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/takeLast.js +0 -0
  617. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/takeLastWhile.js +0 -0
  618. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/takeWhile.js +0 -0
  619. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/tap.js +0 -0
  620. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/times.js +0 -0
  621. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/toCamelCase.js +0 -0
  622. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/toKebabCase.js +0 -0
  623. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/toLowerCase.js +0 -0
  624. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/toSingle-qs9PC5sP.js +0 -0
  625. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/toSnakeCase.js +0 -0
  626. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/toTitleCase.js +0 -0
  627. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/toUpperCase.js +0 -0
  628. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/truncate.js +0 -0
  629. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/uncapitalize.js +0 -0
  630. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/unique.js +0 -0
  631. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/uniqueBy.js +0 -0
  632. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/uniqueWith.js +0 -0
  633. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/utilityEvaluators-BQqW5Ir5.js +0 -0
  634. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/values.js +0 -0
  635. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/when.js +0 -0
  636. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/withPrecision-CDZ-Oor7.js +0 -0
  637. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/words-Dv8LmnKC.js +0 -0
  638. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/zip.js +0 -0
  639. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/dist/zipWith.js +0 -0
  640. /package/.output/server/node_modules/{remeda → .nitro/remeda@2.33.6}/package.json +0 -0
  641. /package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/buffer-util.js +0 -0
  642. /package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/constants.js +0 -0
  643. /package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/event-target.js +0 -0
  644. /package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/extension.js +0 -0
  645. /package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/limiter.js +0 -0
  646. /package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/stream.js +0 -0
  647. /package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/subprotocol.js +0 -0
  648. /package/.output/server/node_modules/.nitro/{ws@8.19.0 → ws@8.21.0}/lib/validation.js +0 -0
  649. /package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/{common → oas3}/media-type-examples-override.js +0 -0
@@ -0,0 +1,1147 @@
1
+ import {
2
+ isOpenAPI,
3
+ isOpenAPI30,
4
+ isOpenAPI31,
5
+ isOpenAPI32,
6
+ isSwagger
7
+ } from "./chunk-IYQ77VVR.js";
8
+
9
+ // src/index.ts
10
+ import { $RefParser, dereferenceInternal, MissingPointerError } from "@apidevtools/json-schema-ref-parser";
11
+
12
+ // src/util.ts
13
+ import { getJsonSchemaRefParserDefaultOptions } from "@apidevtools/json-schema-ref-parser";
14
+
15
+ // src/lib/index.ts
16
+ var pathParameterTemplateRegExp = /\{([^/}]+)}/g;
17
+ var supportedHTTPMethods = ["get", "post", "put", "delete", "patch", "options", "head", "trace"];
18
+ var swaggerHTTPMethods = ["get", "put", "post", "delete", "options", "head", "patch"];
19
+ function getSpecificationName(api) {
20
+ return isSwagger(api) ? "Swagger" : "OpenAPI";
21
+ }
22
+
23
+ // src/repair.ts
24
+ function fixServers(server, path) {
25
+ if (server && "url" in server && server.url && server.url.startsWith("/")) {
26
+ try {
27
+ const inUrl = new URL(path);
28
+ server.url = `${inUrl.protocol}//${inUrl.hostname}${server.url}`;
29
+ } catch {
30
+ }
31
+ }
32
+ }
33
+ function fixOasRelativeServers(schema, filePath) {
34
+ if (!schema || !isOpenAPI(schema) || !filePath || !filePath.startsWith("http:") && !filePath.startsWith("https:")) {
35
+ return;
36
+ }
37
+ if (schema.servers) {
38
+ schema.servers.map((server) => fixServers(server, filePath));
39
+ }
40
+ ["paths", "webhooks"].forEach((component) => {
41
+ if (component in schema) {
42
+ const schemaElement = schema.paths || {};
43
+ Object.keys(schemaElement).forEach((path) => {
44
+ const pathItem = schemaElement[path] || {};
45
+ Object.keys(pathItem).forEach((opItem) => {
46
+ const pathItemElement = pathItem[opItem];
47
+ if (!pathItemElement) {
48
+ return;
49
+ }
50
+ if (opItem === "servers" && Array.isArray(pathItemElement)) {
51
+ pathItemElement.forEach((server) => {
52
+ fixServers(server, filePath);
53
+ });
54
+ return;
55
+ }
56
+ if (supportedHTTPMethods.includes(opItem) && typeof pathItemElement === "object" && "servers" in pathItemElement && Array.isArray(pathItemElement.servers)) {
57
+ pathItemElement.servers.forEach((server) => {
58
+ fixServers(server, filePath);
59
+ });
60
+ }
61
+ });
62
+ });
63
+ }
64
+ });
65
+ }
66
+
67
+ // src/util.ts
68
+ function repairSchema(schema, filePath) {
69
+ if (isOpenAPI(schema)) {
70
+ fixOasRelativeServers(schema, filePath);
71
+ }
72
+ }
73
+ function normalizeArguments(api) {
74
+ return {
75
+ path: typeof api === "string" ? api : "",
76
+ schema: typeof api === "object" ? api : void 0
77
+ };
78
+ }
79
+ function convertOptionsForParser(options) {
80
+ const parserOptions = getJsonSchemaRefParserDefaultOptions();
81
+ return {
82
+ ...parserOptions,
83
+ dereference: {
84
+ ...parserOptions.dereference,
85
+ circular: options?.dereference && "circular" in options.dereference ? options.dereference.circular : parserOptions.dereference.circular,
86
+ onCircular: options?.dereference?.onCircular || parserOptions.dereference.onCircular,
87
+ onDereference: options?.dereference?.onDereference || parserOptions.dereference.onDereference,
88
+ // OpenAPI 3.1 allows for `summary` and `description` properties at the same level as a `$ref`
89
+ // pointer to be preserved when that `$ref` pointer is dereferenced. The default behavior of
90
+ // `json-schema-ref-parser` is to discard these properties but this option allows us to
91
+ // override that behavior.
92
+ preservedProperties: ["summary", "description"]
93
+ },
94
+ resolve: {
95
+ ...parserOptions.resolve,
96
+ external: options?.resolve && "external" in options.resolve ? options.resolve.external : parserOptions.resolve.external,
97
+ file: options?.resolve && "file" in options.resolve ? options.resolve.file : parserOptions.resolve.file,
98
+ http: {
99
+ ...typeof parserOptions.resolve.http === "object" ? parserOptions.resolve.http : {},
100
+ timeout: options?.resolve?.http && "timeout" in options.resolve.http ? options.resolve.http.timeout : 5e3
101
+ }
102
+ },
103
+ timeoutMs: options?.timeoutMs
104
+ };
105
+ }
106
+
107
+ // src/validators/schema.ts
108
+ import betterAjvErrors from "@readme/better-ajv-errors";
109
+ import { openapi } from "@readme/openapi-schemas";
110
+ import AjvDraft4 from "ajv-draft-04";
111
+ import Ajv from "ajv/dist/2020.js";
112
+
113
+ // src/lib/hasInvalidPaths.ts
114
+ function hasInvalidPaths(api) {
115
+ if (!api.paths || typeof api.paths !== "object" || Array.isArray(api.paths)) {
116
+ return false;
117
+ }
118
+ return Object.keys(api.paths).some((path) => !path.startsWith("/"));
119
+ }
120
+
121
+ // src/lib/reduceAjvErrors.ts
122
+ function reduceAjvErrors(errors) {
123
+ const flattened = /* @__PURE__ */ new Map();
124
+ errors.forEach((err) => {
125
+ if (["must have required property '$ref'", "must match exactly one schema in oneOf"].includes(err.message)) {
126
+ return;
127
+ }
128
+ if (!flattened.size) {
129
+ flattened.set(err.instancePath, err);
130
+ return;
131
+ } else if (flattened.has(err.instancePath)) {
132
+ return;
133
+ }
134
+ let shouldRecordError = true;
135
+ flattened.forEach((flat) => {
136
+ if (flat.instancePath.includes(err.instancePath)) {
137
+ shouldRecordError = false;
138
+ }
139
+ });
140
+ if (shouldRecordError) {
141
+ flattened.set(err.instancePath, err);
142
+ }
143
+ });
144
+ if (!flattened.size) {
145
+ return errors;
146
+ }
147
+ return [...flattened.values()];
148
+ }
149
+
150
+ // src/validators/schema.ts
151
+ var LARGE_SPEC_ERROR_CAP = 20;
152
+ var LARGE_SPEC_SIZE_CAP = 5e6;
153
+ function initializeAjv(draft04 = true) {
154
+ const opts = {
155
+ allErrors: true,
156
+ strict: false,
157
+ validateFormats: false
158
+ };
159
+ if (draft04) {
160
+ return new AjvDraft4(opts);
161
+ }
162
+ return new Ajv(opts);
163
+ }
164
+ function validateSchema(api, options = {}, suppressedInstancePaths = []) {
165
+ if (hasInvalidPaths(api)) {
166
+ return {
167
+ valid: false,
168
+ errors: [
169
+ {
170
+ message: getSpecificationName(api) === "Swagger" ? "Entries in the Swagger `paths` object must begin with a leading slash." : "Entries in the OpenAPI `paths` object must begin with a leading slash."
171
+ }
172
+ ],
173
+ warnings: [],
174
+ additionalErrors: 0,
175
+ specification: getSpecificationName(api)
176
+ };
177
+ }
178
+ let ajv;
179
+ let schema;
180
+ const specificationName = getSpecificationName(api);
181
+ if (isSwagger(api)) {
182
+ schema = openapi.v2;
183
+ ajv = initializeAjv();
184
+ } else if (isOpenAPI32(api)) {
185
+ throw new TypeError("OpenAPI 3.2 is currently unsupported.");
186
+ } else if (isOpenAPI31(api)) {
187
+ schema = openapi.v31legacy;
188
+ const schemaDynamicRef = schema.$defs.schema;
189
+ if ("$dynamicAnchor" in schemaDynamicRef) {
190
+ delete schemaDynamicRef.$dynamicAnchor;
191
+ }
192
+ schema.$defs.components.properties.schemas.additionalProperties = schemaDynamicRef;
193
+ schema.$defs.header.dependentSchemas.schema.properties.schema = schemaDynamicRef;
194
+ schema.$defs["media-type"].properties.schema = schemaDynamicRef;
195
+ schema.$defs.parameter.properties.schema = schemaDynamicRef;
196
+ ajv = initializeAjv(false);
197
+ } else {
198
+ schema = openapi.v3;
199
+ ajv = initializeAjv();
200
+ }
201
+ const isValid = ajv.validate(schema, api);
202
+ if (isValid) {
203
+ return { valid: true, warnings: [], specification: specificationName };
204
+ }
205
+ let additionalErrors = 0;
206
+ let reducedErrors = reduceAjvErrors(ajv.errors).filter((err) => {
207
+ return !suppressedInstancePaths.some((path) => err.instancePath === path || err.instancePath.startsWith(`${path}/`));
208
+ });
209
+ if (!reducedErrors.length) {
210
+ return { valid: true, warnings: [], specification: specificationName };
211
+ }
212
+ if (reducedErrors.length >= LARGE_SPEC_ERROR_CAP) {
213
+ try {
214
+ if (JSON.stringify(api).length >= LARGE_SPEC_SIZE_CAP) {
215
+ additionalErrors = reducedErrors.length - 20;
216
+ reducedErrors = reducedErrors.slice(0, 20);
217
+ }
218
+ } catch {
219
+ }
220
+ }
221
+ try {
222
+ const errors = betterAjvErrors(schema, api, reducedErrors, {
223
+ format: "cli-array",
224
+ colorize: options?.validate?.errors?.colorize || false,
225
+ indent: 2
226
+ });
227
+ return {
228
+ valid: false,
229
+ errors,
230
+ warnings: [],
231
+ additionalErrors,
232
+ specification: specificationName
233
+ };
234
+ } catch (err) {
235
+ return {
236
+ valid: false,
237
+ errors: [{ message: err.message }],
238
+ warnings: [],
239
+ additionalErrors,
240
+ specification: specificationName
241
+ };
242
+ }
243
+ }
244
+
245
+ // src/validators/spec/index.ts
246
+ var SpecificationValidator = class {
247
+ errors = [];
248
+ warnings = [];
249
+ /**
250
+ * Instance paths flagged by `runPreSchemaChecks()`. Used to suppress AJV `oneOf` noise that
251
+ * the pre-schema validator has already produced a clearer error or warning for.
252
+ */
253
+ flaggedInstancePaths = [];
254
+ reportError(message) {
255
+ this.errors.push({ message });
256
+ }
257
+ reportWarning(message) {
258
+ this.warnings.push({ message });
259
+ }
260
+ flagInstancePath(path) {
261
+ if (!this.flaggedInstancePaths.includes(path)) {
262
+ this.flaggedInstancePaths.push(path);
263
+ }
264
+ }
265
+ };
266
+
267
+ // src/validators/spec/openapi.ts
268
+ var OpenAPISpecificationValidator = class extends SpecificationValidator {
269
+ api;
270
+ rules;
271
+ constructor(api, rules) {
272
+ super();
273
+ this.api = api;
274
+ this.rules = rules;
275
+ }
276
+ runPreSchemaChecks() {
277
+ this.checkSecuritySchemes();
278
+ }
279
+ run() {
280
+ const operationIds = [];
281
+ Object.keys(this.api.paths || {}).forEach((pathName) => {
282
+ const path = this.api.paths[pathName];
283
+ const pathId = `/paths${pathName}`;
284
+ if (path && pathName.startsWith("/")) {
285
+ this.validatePath(path, pathId, operationIds);
286
+ }
287
+ });
288
+ if (isOpenAPI30(this.api)) {
289
+ if (this.api.components) {
290
+ Object.keys(this.api.components).forEach((componentType) => {
291
+ Object.keys(this.api.components[componentType]).forEach((componentName) => {
292
+ if (!/^[a-zA-Z0-9.\-_]+$/.test(componentName)) {
293
+ const componentId = `/components/${componentType}/${componentName}`;
294
+ this.reportError(
295
+ `\`${componentId}\` has an invalid name. Component names should match against: /^[a-zA-Z0-9.-_]+$/`
296
+ );
297
+ }
298
+ });
299
+ });
300
+ }
301
+ }
302
+ if (isOpenAPI31(this.api)) {
303
+ if (!Object.keys(this.api.paths || {}).length && !Object.keys(this.api.webhooks || {}).length && !Object.keys(this.api.components || {}).length) {
304
+ this.reportError(
305
+ "OpenAPI 3.1 definitions must contain at least one entry in either `paths`, `webhooks`, or `components`."
306
+ );
307
+ }
308
+ }
309
+ }
310
+ /**
311
+ * Validates the given path.
312
+ *
313
+ */
314
+ validatePath(path, pathId, operationIds) {
315
+ supportedHTTPMethods.forEach((operationName) => {
316
+ const operation = path[operationName];
317
+ const operationId = `${pathId}/${operationName}`;
318
+ if (operation) {
319
+ const declaredOperationId = operation.operationId;
320
+ if (declaredOperationId) {
321
+ if (!operationIds.includes(declaredOperationId)) {
322
+ operationIds.push(declaredOperationId);
323
+ } else if (this.rules["duplicate-operation-id"] === "warning") {
324
+ this.reportWarning(`The operationId \`${declaredOperationId}\` is duplicated and should be made unique.`);
325
+ } else {
326
+ this.reportError(`The operationId \`${declaredOperationId}\` is duplicated and must be made unique.`);
327
+ }
328
+ }
329
+ this.validateParameters(path, pathId, operation, operationId);
330
+ Object.keys(operation.responses || {}).forEach((responseCode) => {
331
+ const response = operation.responses[responseCode];
332
+ const responseId = `${operationId}/responses/${responseCode}`;
333
+ if (response && !("$ref" in response)) {
334
+ this.validateResponse(response, responseId);
335
+ }
336
+ });
337
+ }
338
+ });
339
+ }
340
+ /**
341
+ * Validates the parameters for the given operation.
342
+ *
343
+ */
344
+ validateParameters(path, pathId, operation, operationId) {
345
+ const pathParams = path.parameters || [];
346
+ const operationParams = operation.parameters || [];
347
+ this.checkForDuplicates(pathParams, pathId);
348
+ this.checkForDuplicates(operationParams, operationId);
349
+ const params = pathParams.reduce((combinedParams, value) => {
350
+ const duplicate = combinedParams.some((param) => {
351
+ if ("$ref" in param || "$ref" in value) {
352
+ return false;
353
+ }
354
+ return param.in === value.in && param.name === value.name;
355
+ });
356
+ if (!duplicate) {
357
+ combinedParams.push(value);
358
+ }
359
+ return combinedParams;
360
+ }, operationParams.slice());
361
+ this.validatePathParameters(params, pathId, operationId);
362
+ this.validateParameterTypes(params, operationId);
363
+ }
364
+ /**
365
+ * Validates path parameters for the given path.
366
+ *
367
+ */
368
+ validatePathParameters(params, pathId, operationId) {
369
+ const placeholders = [...new Set(pathId.match(pathParameterTemplateRegExp) || [])];
370
+ params.filter((param) => "in" in param).filter((param) => param.in === "path").forEach((param) => {
371
+ if (param.required !== true) {
372
+ if (this.rules["non-optional-path-parameters"] === "warning") {
373
+ this.reportWarning(
374
+ `Path parameters should not be optional. Set \`required=true\` for the \`${param.name}\` parameter at \`${operationId}\`.`
375
+ );
376
+ } else {
377
+ this.reportError(
378
+ `Path parameters cannot be optional. Set \`required=true\` for the \`${param.name}\` parameter at \`${operationId}\`.`
379
+ );
380
+ }
381
+ }
382
+ const match = placeholders.indexOf(`{${param.name}}`);
383
+ if (match === -1) {
384
+ const error = `\`${operationId}\` has a path parameter named \`${param.name}\`, but there is no corresponding \`{${param.name}}\` in the path string.`;
385
+ if (this.rules["path-parameters-not-in-path"] === "warning") {
386
+ this.reportWarning(error);
387
+ } else {
388
+ this.reportError(error);
389
+ }
390
+ }
391
+ placeholders.splice(match, 1);
392
+ });
393
+ if (placeholders.length > 0) {
394
+ const list = new Intl.ListFormat("en", { style: "long", type: "conjunction" }).format(
395
+ placeholders.map((placeholder) => `\`${placeholder}\``)
396
+ );
397
+ const error = `\`${operationId}\` is missing path parameter(s) for ${list}.`;
398
+ if (this.rules["path-parameters-not-in-parameters"] === "warning") {
399
+ this.reportWarning(error);
400
+ } else {
401
+ this.reportError(error);
402
+ }
403
+ }
404
+ }
405
+ /**
406
+ * Validates data types of parameters for the given operation.
407
+ *
408
+ */
409
+ validateParameterTypes(params, operationId) {
410
+ params.forEach((param) => {
411
+ if ("$ref" in param) {
412
+ return;
413
+ }
414
+ const parameterId = `${operationId}/parameters/${param.name}`;
415
+ if (!param.schema && param.content) {
416
+ this.validateParameterContent(param.content, parameterId);
417
+ return;
418
+ } else if ("$ref" in param.schema) {
419
+ return;
420
+ }
421
+ this.validateSchema(param.schema, parameterId);
422
+ });
423
+ }
424
+ /**
425
+ * Validates parameter content object.
426
+ * Note: The requirement for exactly one media type is already enforced by the OpenAPI JSON schema.
427
+ */
428
+ validateParameterContent(content, parameterId) {
429
+ const mediaTypes = Object.keys(content);
430
+ if (mediaTypes.length !== 1) {
431
+ this.reportError(
432
+ `\`${parameterId}\` must have exactly one media type in \`content\`, but found ${mediaTypes.length}.`
433
+ );
434
+ return;
435
+ }
436
+ const mediaType = mediaTypes[0];
437
+ const contentSchema = content[mediaType].schema;
438
+ if (contentSchema) {
439
+ if ("$ref" in contentSchema) {
440
+ return;
441
+ }
442
+ this.validateSchema(contentSchema, `${parameterId}/content/${mediaType}/schema`);
443
+ }
444
+ }
445
+ /**
446
+ * Validates the given response object.
447
+ *
448
+ */
449
+ validateResponse(response, responseId) {
450
+ Object.keys(response.headers || {}).forEach((headerName) => {
451
+ const header = response.headers[headerName];
452
+ const headerId = `${responseId}/headers/${headerName}`;
453
+ if ("$ref" in header) {
454
+ return;
455
+ }
456
+ if (header.schema) {
457
+ if (!("$ref" in header.schema)) {
458
+ this.validateSchema(header.schema, headerId);
459
+ }
460
+ } else if (header.content) {
461
+ Object.keys(header.content).forEach((mediaType) => {
462
+ if (header.content[mediaType].schema) {
463
+ if (!("$ref" in header.content[mediaType].schema)) {
464
+ this.validateSchema(header.content[mediaType].schema || {}, `${headerId}/content/${mediaType}/schema`);
465
+ }
466
+ }
467
+ });
468
+ }
469
+ });
470
+ if (response.content) {
471
+ Object.keys(response.content).forEach((mediaType) => {
472
+ if (response.content[mediaType].schema) {
473
+ if (!("$ref" in response.content[mediaType].schema)) {
474
+ this.validateSchema(response.content[mediaType].schema || {}, `${responseId}/content/${mediaType}/schema`);
475
+ }
476
+ }
477
+ });
478
+ }
479
+ }
480
+ /**
481
+ * Validates the given Swagger schema object.
482
+ *
483
+ */
484
+ validateSchema(schema, schemaId) {
485
+ if (schema.type === "array" && !schema.items) {
486
+ if (this.rules["array-without-items"] === "warning") {
487
+ this.reportWarning(`\`${schemaId}\` is an array, so it should include an \`items\` schema.`);
488
+ } else {
489
+ this.reportError(`\`${schemaId}\` is an array, so it must include an \`items\` schema.`);
490
+ }
491
+ }
492
+ }
493
+ /**
494
+ * Validates security schemes in `components.securitySchemes` against their declared `type`.
495
+ *
496
+ * AJV uses a `oneOf` schema to validate security schemes, so when a scheme is malformed AJV
497
+ * fails every branch and produces overwhelming, unhelpful errors. This pre-AJV pass surfaces
498
+ * a single targeted error per problem.
499
+ *
500
+ * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#security-scheme-object}
501
+ */
502
+ checkSecuritySchemes() {
503
+ const securitySchemes = this.api.components?.securitySchemes;
504
+ if (!securitySchemes) {
505
+ return;
506
+ }
507
+ const schemeTypeProps = {
508
+ apiKey: {
509
+ required: ["name", "in"],
510
+ foreign: { scheme: "http", bearerFormat: "http", flows: "oauth2", openIdConnectUrl: "openIdConnect" }
511
+ },
512
+ http: {
513
+ required: ["scheme"],
514
+ foreign: { name: "apiKey", in: "apiKey", flows: "oauth2", openIdConnectUrl: "openIdConnect" }
515
+ },
516
+ oauth2: {
517
+ required: ["flows"],
518
+ foreign: {
519
+ name: "apiKey",
520
+ in: "apiKey",
521
+ scheme: "http",
522
+ bearerFormat: "http",
523
+ openIdConnectUrl: "openIdConnect"
524
+ }
525
+ },
526
+ openIdConnect: {
527
+ required: ["openIdConnectUrl"],
528
+ foreign: { name: "apiKey", in: "apiKey", scheme: "http", bearerFormat: "http", flows: "oauth2" }
529
+ },
530
+ mutualTLS: {
531
+ required: [],
532
+ foreign: {
533
+ name: "apiKey",
534
+ in: "apiKey",
535
+ scheme: "http",
536
+ bearerFormat: "http",
537
+ flows: "oauth2",
538
+ openIdConnectUrl: "openIdConnect"
539
+ }
540
+ }
541
+ };
542
+ Object.keys(securitySchemes).forEach((name) => {
543
+ const scheme = securitySchemes[name];
544
+ if ("$ref" in scheme) {
545
+ return;
546
+ }
547
+ const schemeId = `/components/securitySchemes/${name}`;
548
+ const reportIssue = (message) => this.reportSecuritySchemeIssue(message, schemeId);
549
+ if (!("type" in scheme) || !scheme.type) {
550
+ reportIssue(
551
+ `\`${schemeId}\` is missing required property \`type\`. Must be one of: \`apiKey\`, \`http\`, \`oauth2\`, \`openIdConnect\`, \`mutualTLS\`.`
552
+ );
553
+ return;
554
+ }
555
+ const type = scheme.type;
556
+ if (type === "basic") {
557
+ reportIssue(
558
+ `\`${schemeId}\` uses \`type: basic\`, which is a Swagger 2.0 value. In OpenAPI 3.x use \`type: http\` with \`scheme: basic\` instead.`
559
+ );
560
+ return;
561
+ }
562
+ if (!(type in schemeTypeProps)) {
563
+ reportIssue(
564
+ `\`${schemeId}\` has an invalid \`type\`: \`${type}\`. Must be one of: \`apiKey\`, \`http\`, \`oauth2\`, \`openIdConnect\`, \`mutualTLS\`.`
565
+ );
566
+ return;
567
+ }
568
+ const config = schemeTypeProps[type];
569
+ config.required.forEach((prop) => {
570
+ if (!(prop in scheme)) {
571
+ reportIssue(`\`${schemeId}\` (\`type: ${type}\`) is missing required property \`${prop}\`.`);
572
+ }
573
+ });
574
+ Object.entries(config.foreign).forEach(([prop, ownerType]) => {
575
+ if (prop in scheme) {
576
+ reportIssue(
577
+ `\`${schemeId}\` (\`type: ${type}\`) includes \`${prop}\`, which is only valid for \`type: ${ownerType}\` schemes.`
578
+ );
579
+ }
580
+ });
581
+ if (type === "apiKey" && typeof scheme.in === "string") {
582
+ const validIn = ["query", "header", "cookie"];
583
+ if (!validIn.includes(scheme.in)) {
584
+ reportIssue(
585
+ `\`${schemeId}\` has an invalid \`in\` value: \`${scheme.in}\`. Must be one of: \`query\`, \`header\`, \`cookie\`.`
586
+ );
587
+ }
588
+ }
589
+ if (type === "oauth2" && scheme.flows && typeof scheme.flows === "object") {
590
+ if (Object.keys(scheme.flows).length === 0) {
591
+ reportIssue(
592
+ `\`${schemeId}\` has empty \`flows\`. At least one grant type is required: \`implicit\`, \`password\`, \`clientCredentials\`, or \`authorizationCode\`.`
593
+ );
594
+ }
595
+ }
596
+ });
597
+ }
598
+ reportSecuritySchemeIssue(message, schemeId) {
599
+ this.flagInstancePath(schemeId);
600
+ if (this.rules["invalid-security-scheme-properties"] === "warning") {
601
+ this.reportWarning(message);
602
+ } else {
603
+ this.reportError(message);
604
+ }
605
+ }
606
+ /**
607
+ * Checks the given parameter list for duplicates.
608
+ *
609
+ */
610
+ checkForDuplicates(params, schemaId) {
611
+ for (let i = 0; i < params.length - 1; i++) {
612
+ const outer = params[i];
613
+ for (let j = i + 1; j < params.length; j++) {
614
+ const inner = params[j];
615
+ if ("$ref" in outer || "$ref" in inner) {
616
+ continue;
617
+ }
618
+ if (outer.name === inner.name && outer.in === inner.in) {
619
+ const error = `Found multiple \`${outer.in}\` parameters named \`${outer.name}\` in \`${schemaId}\`.`;
620
+ if (this.rules["duplicate-non-request-body-parameters"] === "warning") {
621
+ this.reportWarning(error);
622
+ } else {
623
+ this.reportError(error);
624
+ }
625
+ }
626
+ }
627
+ }
628
+ }
629
+ };
630
+
631
+ // src/validators/spec/swagger.ts
632
+ var SwaggerSpecificationValidator = class extends SpecificationValidator {
633
+ api;
634
+ rules;
635
+ constructor(api, rules) {
636
+ super();
637
+ this.api = api;
638
+ this.rules = rules;
639
+ }
640
+ runPreSchemaChecks() {
641
+ this.checkSecurityDefinitions();
642
+ }
643
+ run() {
644
+ const operationIds = [];
645
+ Object.keys(this.api.paths || {}).forEach((pathName) => {
646
+ const path = this.api.paths[pathName];
647
+ const pathId = `/paths${pathName}`;
648
+ if (path && pathName.startsWith("/")) {
649
+ this.validatePath(path, pathId, operationIds);
650
+ }
651
+ });
652
+ Object.keys(this.api.definitions || {}).forEach((definitionName) => {
653
+ const definition = this.api.definitions[definitionName];
654
+ const definitionId = `/definitions/${definitionName}`;
655
+ if (!/^[a-zA-Z0-9.\-_]+$/.test(definitionName)) {
656
+ this.reportError(
657
+ `\`${definitionId}\` has an invalid name. Definition names should match against: /^[a-zA-Z0-9.-_]+$/`
658
+ );
659
+ }
660
+ this.validateRequiredPropertiesExist(definition, definitionId);
661
+ });
662
+ }
663
+ /**
664
+ * Validates the given path.
665
+ *
666
+ */
667
+ validatePath(path, pathId, operationIds) {
668
+ swaggerHTTPMethods.forEach((operationName) => {
669
+ const operation = path[operationName];
670
+ const operationId = `${pathId}/${operationName}`;
671
+ if (operation) {
672
+ const declaredOperationId = operation.operationId;
673
+ if (declaredOperationId) {
674
+ if (!operationIds.includes(declaredOperationId)) {
675
+ operationIds.push(declaredOperationId);
676
+ } else if (this.rules["duplicate-operation-id"] === "warning") {
677
+ this.reportWarning(`The operationId \`${declaredOperationId}\` is duplicated and should be made unique.`);
678
+ } else {
679
+ this.reportError(`The operationId \`${declaredOperationId}\` is duplicated and must be made unique.`);
680
+ }
681
+ }
682
+ this.validateParameters(path, pathId, operation, operationId);
683
+ Object.keys(operation.responses || {}).forEach((responseName) => {
684
+ const response = operation.responses[responseName];
685
+ if ("$ref" in response || !response) {
686
+ return;
687
+ }
688
+ const responseId = `${operationId}/responses/${responseName}`;
689
+ this.validateResponse(responseName, response, responseId);
690
+ });
691
+ }
692
+ });
693
+ }
694
+ /**
695
+ * Validates the parameters for the given operation.
696
+ *
697
+ */
698
+ validateParameters(path, pathId, operation, operationId) {
699
+ const pathParams = (path.parameters || []).filter((param) => !("$ref" in param));
700
+ const operationParams = (operation.parameters || []).filter(
701
+ (param) => !("$ref" in param)
702
+ );
703
+ this.checkForDuplicates(pathParams, pathId);
704
+ this.checkForDuplicates(operationParams, operationId);
705
+ const params = pathParams.reduce((combinedParams, value) => {
706
+ const duplicate = combinedParams.some((param) => {
707
+ if ("$ref" in param || "$ref" in value) {
708
+ return false;
709
+ }
710
+ return param.in === value.in && param.name === value.name;
711
+ });
712
+ if (!duplicate) {
713
+ combinedParams.push(value);
714
+ }
715
+ return combinedParams;
716
+ }, operationParams.slice());
717
+ this.validateBodyParameters(params, operationId);
718
+ this.validatePathParameters(params, pathId, operationId);
719
+ this.validateParameterTypes(params, operation, operationId);
720
+ }
721
+ /**
722
+ * Validates body and formData parameters for the given operation.
723
+ *
724
+ */
725
+ validateBodyParameters(params, operationId) {
726
+ const bodyParams = params.filter((param) => param.in === "body");
727
+ const formParams = params.filter((param) => param.in === "formData");
728
+ if (bodyParams.length > 1) {
729
+ this.reportError(`\`${operationId}\` has ${bodyParams.length} body parameters. Only one is allowed.`);
730
+ } else if (bodyParams.length > 0 && formParams.length > 0) {
731
+ this.reportError(
732
+ `\`${operationId}\` has \`body\` and \`formData\` parameters. Only one or the other is allowed.`
733
+ );
734
+ }
735
+ }
736
+ /**
737
+ * Validates path parameters for the given path.
738
+ *
739
+ */
740
+ validatePathParameters(params, pathId, operationId) {
741
+ const placeholders = pathId.match(pathParameterTemplateRegExp) || [];
742
+ for (let i = 0; i < placeholders.length; i++) {
743
+ for (let j = i + 1; j < placeholders.length; j++) {
744
+ if (placeholders[i] === placeholders[j]) {
745
+ this.reportError(`\`${operationId}\` has multiple path placeholders named \`${placeholders[i]}\`.`);
746
+ }
747
+ }
748
+ }
749
+ params.filter((param) => param.in === "path").forEach((param) => {
750
+ if (param.required !== true) {
751
+ if (this.rules["non-optional-path-parameters"] === "warning") {
752
+ this.reportWarning(
753
+ `Path parameters should not be optional. Set \`required=true\` for the \`${param.name}\` parameter at \`${operationId}\`.`
754
+ );
755
+ } else {
756
+ this.reportError(
757
+ `Path parameters cannot be optional. Set \`required=true\` for the \`${param.name}\` parameter at \`${operationId}\`.`
758
+ );
759
+ }
760
+ }
761
+ const match = placeholders.indexOf(`{${param.name}}`);
762
+ if (match === -1) {
763
+ const error = `\`${operationId}\` has a path parameter named \`${param.name}\`, but there is no corresponding \`{${param.name}}\` in the path string.`;
764
+ if (this.rules["path-parameters-not-in-path"] === "warning") {
765
+ this.reportWarning(error);
766
+ } else {
767
+ this.reportError(error);
768
+ }
769
+ }
770
+ placeholders.splice(match, 1);
771
+ });
772
+ if (placeholders.length > 0) {
773
+ const list = new Intl.ListFormat("en", { style: "long", type: "conjunction" }).format(
774
+ placeholders.map((placeholder) => `\`${placeholder}\``)
775
+ );
776
+ const error = `\`${operationId}\` is missing path parameter(s) for ${list}.`;
777
+ if (this.rules["path-parameters-not-in-parameters"] === "warning") {
778
+ this.reportWarning(error);
779
+ } else {
780
+ this.reportError(error);
781
+ }
782
+ }
783
+ }
784
+ /**
785
+ * Validates data types of parameters for the given operation.
786
+ *
787
+ */
788
+ validateParameterTypes(params, operation, operationId) {
789
+ params.forEach((param) => {
790
+ const parameterId = `${operationId}/parameters/${param.name}`;
791
+ let schema;
792
+ switch (param.in) {
793
+ case "body":
794
+ schema = param.schema;
795
+ break;
796
+ case "formData":
797
+ schema = param;
798
+ break;
799
+ default:
800
+ schema = param;
801
+ }
802
+ this.validateSchema(schema, parameterId);
803
+ this.validateRequiredPropertiesExist(schema, parameterId);
804
+ if (schema.type === "file") {
805
+ const formData = /multipart\/(.*\+)?form-data/;
806
+ const urlEncoded = /application\/(.*\+)?x-www-form-urlencoded/;
807
+ const consumes = operation.consumes || this.api.consumes || [];
808
+ const hasValidMimeType = consumes.some((consume) => {
809
+ return formData.test(consume) || urlEncoded.test(consume);
810
+ });
811
+ if (!hasValidMimeType) {
812
+ this.reportError(
813
+ `\`${operationId}\` has a file parameter, so it must consume \`multipart/form-data\` or \`application/x-www-form-urlencoded\`.`
814
+ );
815
+ }
816
+ }
817
+ });
818
+ }
819
+ /**
820
+ * Validates the given response object.
821
+ *
822
+ */
823
+ validateResponse(code, response, responseId) {
824
+ if (code !== "default") {
825
+ if (typeof code === "number" && (code < 100 || code > 599) || typeof code === "string" && (Number(code) < 100 || Number(code) > 599)) {
826
+ this.reportError(`\`${responseId}\` has an invalid response code: ${code}`);
827
+ }
828
+ }
829
+ Object.keys(response.headers || {}).forEach((headerName) => {
830
+ const header = response.headers[headerName];
831
+ const headerId = `${responseId}/headers/${headerName}`;
832
+ this.validateSchema(header, headerId);
833
+ });
834
+ if (response.schema) {
835
+ if ("$ref" in response.schema) {
836
+ return;
837
+ }
838
+ this.validateSchema(response.schema, `${responseId}/schema`);
839
+ }
840
+ }
841
+ /**
842
+ * Validates the given Swagger schema object.
843
+ *
844
+ */
845
+ validateSchema(schema, schemaId) {
846
+ if (schema.type === "array" && !schema.items) {
847
+ if (this.rules["array-without-items"] === "warning") {
848
+ this.reportWarning(`\`${schemaId}\` is an array, so it should include an \`items\` schema.`);
849
+ } else {
850
+ this.reportError(`\`${schemaId}\` is an array, so it must include an \`items\` schema.`);
851
+ }
852
+ }
853
+ }
854
+ /**
855
+ * Validates that the declared properties of the given Swagger schema object actually exist.
856
+ *
857
+ */
858
+ validateRequiredPropertiesExist(schema, schemaId) {
859
+ if (schema.required && Array.isArray(schema.required)) {
860
+ const props = {};
861
+ this.collectProperties(schema, props);
862
+ schema.required.forEach((requiredProperty) => {
863
+ if (!props[requiredProperty]) {
864
+ const error = `Property \`${requiredProperty}\` is listed as required but does not exist in \`${schemaId}\`.`;
865
+ if (this.rules["unknown-required-schema-property"] === "warning") {
866
+ this.reportWarning(error);
867
+ } else {
868
+ this.reportError(error);
869
+ }
870
+ }
871
+ });
872
+ }
873
+ }
874
+ /**
875
+ * Recursively collects all properties of a schema and its ancestors. They are added to the
876
+ * supplied `props` object.
877
+ *
878
+ */
879
+ collectProperties(schemaObj, props) {
880
+ if (schemaObj.properties) {
881
+ Object.keys(schemaObj.properties).forEach((property) => {
882
+ if (schemaObj.properties.hasOwnProperty(property)) {
883
+ props[property] = schemaObj.properties[property];
884
+ }
885
+ });
886
+ }
887
+ if (schemaObj.allOf) {
888
+ schemaObj.allOf.forEach((parent) => {
889
+ this.collectProperties(parent, props);
890
+ });
891
+ }
892
+ }
893
+ /**
894
+ * Validates security definitions against their declared `type`.
895
+ *
896
+ * AJV uses `oneOf` to validate `securityDefinitions`, so when a definition is malformed AJV
897
+ * fails every branch and produces overwhelming, unhelpful errors. This pre-AJV pass surfaces
898
+ * a single targeted error per problem.
899
+ *
900
+ * @see {@link https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md#security-scheme-object}
901
+ */
902
+ checkSecurityDefinitions() {
903
+ const securityDefinitions = this.api.securityDefinitions;
904
+ if (!securityDefinitions) {
905
+ return;
906
+ }
907
+ const validApiKeyIn = ["query", "header"];
908
+ Object.keys(securityDefinitions).forEach((name) => {
909
+ const definition = securityDefinitions[name];
910
+ const definitionId = `/securityDefinitions/${name}`;
911
+ const reportIssue = (message) => this.reportSecuritySchemeIssue(message, definitionId);
912
+ const type = definition.type;
913
+ if (type === "http") {
914
+ reportIssue(
915
+ `\`${definitionId}\` uses \`type: http\`, which is an OpenAPI 3.x value. In Swagger 2.0 use \`type: basic\` for HTTP Basic auth.`
916
+ );
917
+ return;
918
+ }
919
+ if (type === "apiKey" && typeof definition.in === "string" && !validApiKeyIn.includes(definition.in)) {
920
+ reportIssue(
921
+ `\`${definitionId}\` has an invalid \`in\` value: \`${definition.in}\`. Swagger 2.0 only supports \`query\` or \`header\`.`
922
+ );
923
+ }
924
+ });
925
+ }
926
+ reportSecuritySchemeIssue(message, definitionId) {
927
+ this.flagInstancePath(definitionId);
928
+ if (this.rules["invalid-security-scheme-properties"] === "warning") {
929
+ this.reportWarning(message);
930
+ } else {
931
+ this.reportError(message);
932
+ }
933
+ }
934
+ /**
935
+ * Checks the given parameter list for duplicates.
936
+ *
937
+ */
938
+ checkForDuplicates(params, schemaId) {
939
+ for (let i = 0; i < params.length - 1; i++) {
940
+ const outer = params[i];
941
+ for (let j = i + 1; j < params.length; j++) {
942
+ const inner = params[j];
943
+ if (outer.name === inner.name && outer.in === inner.in) {
944
+ const error = `Found multiple \`${outer.in}\` parameters named \`${outer.name}\` in \`${schemaId}\`.`;
945
+ if (this.rules["duplicate-non-request-body-parameters"] === "warning") {
946
+ this.reportWarning(error);
947
+ } else {
948
+ this.reportError(error);
949
+ }
950
+ }
951
+ }
952
+ }
953
+ }
954
+ };
955
+
956
+ // src/validators/spec.ts
957
+ function validateSpec(api, rules) {
958
+ let validator;
959
+ const specificationName = getSpecificationName(api);
960
+ if (isOpenAPI(api)) {
961
+ validator = new OpenAPISpecificationValidator(api, rules.openapi);
962
+ } else {
963
+ validator = new SwaggerSpecificationValidator(api, rules.swagger);
964
+ }
965
+ validator.run();
966
+ if (!validator.errors.length) {
967
+ return {
968
+ valid: true,
969
+ warnings: validator.warnings,
970
+ specification: specificationName
971
+ };
972
+ }
973
+ return {
974
+ valid: false,
975
+ errors: validator.errors,
976
+ warnings: validator.warnings,
977
+ additionalErrors: 0,
978
+ specification: specificationName
979
+ };
980
+ }
981
+ function validateSpecPreSchema(api, rules) {
982
+ let validator;
983
+ const specificationName = getSpecificationName(api);
984
+ if (isOpenAPI(api)) {
985
+ validator = new OpenAPISpecificationValidator(api, rules.openapi);
986
+ } else {
987
+ validator = new SwaggerSpecificationValidator(api, rules.swagger);
988
+ }
989
+ validator.runPreSchemaChecks();
990
+ const flaggedInstancePaths = validator.flaggedInstancePaths;
991
+ if (!validator.errors.length) {
992
+ return {
993
+ flaggedInstancePaths,
994
+ result: {
995
+ valid: true,
996
+ warnings: validator.warnings,
997
+ specification: specificationName
998
+ }
999
+ };
1000
+ }
1001
+ return {
1002
+ flaggedInstancePaths,
1003
+ result: {
1004
+ valid: false,
1005
+ errors: validator.errors,
1006
+ warnings: validator.warnings,
1007
+ additionalErrors: 0,
1008
+ specification: specificationName
1009
+ }
1010
+ };
1011
+ }
1012
+
1013
+ // src/index.ts
1014
+ async function parse(api, options) {
1015
+ const args = normalizeArguments(api);
1016
+ const parserOptions = convertOptionsForParser(options);
1017
+ const parser = new $RefParser();
1018
+ const schema = await parser.parse(args.path, args.schema, parserOptions);
1019
+ repairSchema(schema, args.path);
1020
+ return schema;
1021
+ }
1022
+ async function bundle(api, options) {
1023
+ const args = normalizeArguments(api);
1024
+ const parserOptions = convertOptionsForParser(options);
1025
+ const parser = new $RefParser();
1026
+ await parser.bundle(args.path, args.schema, parserOptions);
1027
+ repairSchema(parser.schema, args.path);
1028
+ return parser.schema;
1029
+ }
1030
+ async function dereference(api, options) {
1031
+ const args = normalizeArguments(api);
1032
+ const parserOptions = convertOptionsForParser(options);
1033
+ const parser = new $RefParser();
1034
+ await parser.dereference(args.path, args.schema, parserOptions);
1035
+ repairSchema(parser.schema, args.path);
1036
+ return parser.schema;
1037
+ }
1038
+ async function validate(api, options) {
1039
+ const args = normalizeArguments(api);
1040
+ const parserOptions = convertOptionsForParser(options);
1041
+ let result;
1042
+ const circular$RefOption = parserOptions.dereference.circular;
1043
+ parserOptions.dereference.circular = "ignore";
1044
+ const parser = new $RefParser();
1045
+ try {
1046
+ await parser.dereference(args.path, args.schema, parserOptions);
1047
+ } catch (err) {
1048
+ if (err instanceof MissingPointerError) {
1049
+ return {
1050
+ valid: false,
1051
+ errors: [{ message: err.message }],
1052
+ warnings: [],
1053
+ additionalErrors: 0,
1054
+ specification: null
1055
+ };
1056
+ }
1057
+ throw err;
1058
+ }
1059
+ if (!isSwagger(parser.schema) && !isOpenAPI(parser.schema)) {
1060
+ return {
1061
+ valid: false,
1062
+ errors: [{ message: "Supplied schema is not a valid API definition." }],
1063
+ warnings: [],
1064
+ additionalErrors: 0,
1065
+ specification: null
1066
+ };
1067
+ }
1068
+ parserOptions.dereference.circular = circular$RefOption;
1069
+ const openapiRules = options?.validate?.rules?.openapi;
1070
+ const swaggerRules = options?.validate?.rules?.swagger;
1071
+ const rules = {
1072
+ openapi: {
1073
+ "array-without-items": openapiRules?.["array-without-items"] || "error",
1074
+ "duplicate-non-request-body-parameters": openapiRules?.["duplicate-non-request-body-parameters"] || "error",
1075
+ "duplicate-operation-id": openapiRules?.["duplicate-operation-id"] || "error",
1076
+ "invalid-security-scheme-properties": openapiRules?.["invalid-security-scheme-properties"] || "error",
1077
+ "non-optional-path-parameters": openapiRules?.["non-optional-path-parameters"] || "error",
1078
+ "path-parameters-not-in-parameters": openapiRules?.["path-parameters-not-in-parameters"] || "error",
1079
+ "path-parameters-not-in-path": openapiRules?.["path-parameters-not-in-path"] || "error"
1080
+ },
1081
+ swagger: {
1082
+ "array-without-items": swaggerRules?.["array-without-items"] || "error",
1083
+ "duplicate-non-request-body-parameters": swaggerRules?.["duplicate-non-request-body-parameters"] || "error",
1084
+ "duplicate-operation-id": swaggerRules?.["duplicate-operation-id"] || "error",
1085
+ "invalid-security-scheme-properties": swaggerRules?.["invalid-security-scheme-properties"] || "error",
1086
+ "non-optional-path-parameters": swaggerRules?.["non-optional-path-parameters"] || "error",
1087
+ "path-parameters-not-in-parameters": swaggerRules?.["path-parameters-not-in-parameters"] || "error",
1088
+ "path-parameters-not-in-path": swaggerRules?.["path-parameters-not-in-path"] || "error",
1089
+ "unknown-required-schema-property": swaggerRules?.["unknown-required-schema-property"] || "error"
1090
+ }
1091
+ };
1092
+ const { result: preSchemaResult, flaggedInstancePaths } = validateSpecPreSchema(parser.schema, rules);
1093
+ if (!preSchemaResult.valid) {
1094
+ return preSchemaResult;
1095
+ }
1096
+ result = validateSchema(parser.schema, options, flaggedInstancePaths);
1097
+ if (!result.valid) {
1098
+ if (preSchemaResult.warnings.length) {
1099
+ result.warnings = [...preSchemaResult.warnings, ...result.warnings];
1100
+ }
1101
+ return result;
1102
+ }
1103
+ if (parser.$refs?.circular) {
1104
+ if (circular$RefOption === true) {
1105
+ dereferenceInternal(parser, parserOptions);
1106
+ } else if (circular$RefOption === false) {
1107
+ throw new ReferenceError(
1108
+ "The API contains circular references but the validator is configured to not permit them."
1109
+ );
1110
+ }
1111
+ }
1112
+ result = validateSpec(parser.schema, rules);
1113
+ if (preSchemaResult.warnings.length) {
1114
+ result.warnings = [...preSchemaResult.warnings, ...result.warnings];
1115
+ }
1116
+ return result;
1117
+ }
1118
+ function compileErrors(result) {
1119
+ const specName = result.specification || "API definition";
1120
+ const status = !result.valid ? "failed" : "succeeded, but with warnings";
1121
+ const message = [`${specName} schema validation ${status}.`];
1122
+ if (result.valid === false) {
1123
+ if (result.errors.length) {
1124
+ message.push(...result.errors.map((err) => err.message));
1125
+ }
1126
+ }
1127
+ if (result.warnings.length) {
1128
+ if (result.valid === false && result.errors.length) {
1129
+ message.push("We have also found some additional warnings:");
1130
+ }
1131
+ message.push(...result.warnings.map((warn) => warn.message));
1132
+ }
1133
+ if (result.valid === false && result.additionalErrors > 0) {
1134
+ message.push(
1135
+ `Plus an additional ${result.additionalErrors} errors. Please resolve the above and re-run validation to see more.`
1136
+ );
1137
+ }
1138
+ return message.join("\n\n");
1139
+ }
1140
+ export {
1141
+ bundle,
1142
+ compileErrors,
1143
+ dereference,
1144
+ parse,
1145
+ validate
1146
+ };
1147
+ //# sourceMappingURL=index.js.map