@kubb/agent 4.33.0 → 4.33.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (392) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/server/chunks/nitro/nitro.mjs +3554 -2113
  3. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  4. package/.output/server/chunks/routes/api/health.get.mjs +5 -5
  5. package/.output/server/index.mjs +5 -5
  6. package/.output/server/node_modules/.nitro/picomatch@4.0.3/index.js +17 -0
  7. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/constants.js +180 -0
  8. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/parse.js +1085 -0
  9. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/picomatch.js +341 -0
  10. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/scan.js +391 -0
  11. package/.output/server/node_modules/.nitro/picomatch@4.0.3/lib/utils.js +72 -0
  12. package/.output/server/node_modules/.nitro/picomatch@4.0.3/package.json +83 -0
  13. package/.output/server/node_modules/@redocly/ajv/dist/2020.js +55 -0
  14. package/.output/server/node_modules/@redocly/ajv/dist/ajv.js +50 -0
  15. package/.output/server/node_modules/@redocly/ajv/dist/compile/codegen/code.js +156 -0
  16. package/.output/server/node_modules/@redocly/ajv/dist/compile/codegen/index.js +697 -0
  17. package/.output/server/node_modules/@redocly/ajv/dist/compile/codegen/scope.js +143 -0
  18. package/.output/server/node_modules/@redocly/ajv/dist/compile/errors.js +123 -0
  19. package/.output/server/node_modules/@redocly/ajv/dist/compile/index.js +249 -0
  20. package/.output/server/node_modules/@redocly/ajv/dist/compile/names.js +29 -0
  21. package/.output/server/node_modules/@redocly/ajv/dist/compile/ref_error.js +12 -0
  22. package/.output/server/node_modules/@redocly/ajv/dist/compile/resolve.js +155 -0
  23. package/.output/server/node_modules/@redocly/ajv/dist/compile/rules.js +26 -0
  24. package/.output/server/node_modules/@redocly/ajv/dist/compile/util.js +178 -0
  25. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/applicability.js +19 -0
  26. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/boolSchema.js +50 -0
  27. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/dataType.js +203 -0
  28. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/defaults.js +35 -0
  29. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/index.js +534 -0
  30. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/keyword.js +124 -0
  31. package/.output/server/node_modules/@redocly/ajv/dist/compile/validate/subschema.js +81 -0
  32. package/.output/server/node_modules/@redocly/ajv/dist/core.js +632 -0
  33. package/.output/server/node_modules/@redocly/ajv/dist/draft4.js +56 -0
  34. package/.output/server/node_modules/@redocly/ajv/dist/refs/data.json +13 -0
  35. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/index.js +30 -0
  36. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/applicator.json +48 -0
  37. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/content.json +17 -0
  38. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/core.json +51 -0
  39. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/format-annotation.json +14 -0
  40. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/meta-data.json +37 -0
  41. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/unevaluated.json +15 -0
  42. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/meta/validation.json +90 -0
  43. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-2020-12/schema.json +55 -0
  44. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-draft-04.json +138 -0
  45. package/.output/server/node_modules/@redocly/ajv/dist/refs/json-schema-draft-07.json +151 -0
  46. package/.output/server/node_modules/@redocly/ajv/dist/runtime/equal.js +7 -0
  47. package/.output/server/node_modules/@redocly/ajv/dist/runtime/ucs2length.js +24 -0
  48. package/.output/server/node_modules/@redocly/ajv/dist/runtime/uri.js +6 -0
  49. package/.output/server/node_modules/@redocly/ajv/dist/runtime/validation_error.js +11 -0
  50. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/additionalItems.js +49 -0
  51. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/additionalProperties.js +107 -0
  52. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/allOf.js +23 -0
  53. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/anyOf.js +12 -0
  54. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/contains.js +95 -0
  55. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/dependencies.js +85 -0
  56. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/dependentSchemas.js +11 -0
  57. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/if.js +66 -0
  58. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/index.js +44 -0
  59. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/items.js +52 -0
  60. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/items2020.js +30 -0
  61. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/not.js +26 -0
  62. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/oneOf.js +60 -0
  63. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/patternProperties.js +75 -0
  64. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/prefixItems.js +12 -0
  65. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/properties.js +55 -0
  66. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/propertyNames.js +38 -0
  67. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/applicator/thenElse.js +13 -0
  68. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/code.js +138 -0
  69. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/core/id.js +10 -0
  70. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/core/index.js +16 -0
  71. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/core/ref.js +132 -0
  72. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/discriminator/index.js +139 -0
  73. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/discriminator/types.js +9 -0
  74. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/draft2020.js +23 -0
  75. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/draft4.js +29 -0
  76. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/draft7.js +17 -0
  77. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/dynamicAnchor.js +30 -0
  78. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/dynamicRef.js +51 -0
  79. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/index.js +9 -0
  80. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/recursiveAnchor.js +16 -0
  81. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/dynamic/recursiveRef.js +10 -0
  82. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/format/format.js +92 -0
  83. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/format/index.js +6 -0
  84. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/metadata.js +26 -0
  85. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/next.js +8 -0
  86. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/oasContext.js +26 -0
  87. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/unevaluated/index.js +7 -0
  88. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/unevaluated/unevaluatedItems.js +40 -0
  89. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/unevaluated/unevaluatedProperties.js +84 -0
  90. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/const.js +25 -0
  91. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/dependentRequired.js +12 -0
  92. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/draft04/limitNumber.js +43 -0
  93. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/draft04/limitNumberExclusive.js +19 -0
  94. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/enum.js +48 -0
  95. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/index.js +37 -0
  96. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitContains.js +15 -0
  97. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitItems.js +24 -0
  98. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitLength.js +27 -0
  99. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitNumber.js +27 -0
  100. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/limitProperties.js +24 -0
  101. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/multipleOf.js +26 -0
  102. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/pattern.js +33 -0
  103. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/readOnly.js +20 -0
  104. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/required.js +86 -0
  105. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/uniqueItems.js +64 -0
  106. package/.output/server/node_modules/@redocly/ajv/dist/vocabularies/validation/writeOnly.js +20 -0
  107. package/.output/server/node_modules/@redocly/ajv/package.json +130 -0
  108. package/.output/server/node_modules/@redocly/config/lib/common.js +103 -0
  109. package/.output/server/node_modules/@redocly/config/lib/constants/config.js +17 -0
  110. package/.output/server/node_modules/@redocly/config/lib/constants/entities.js +58 -0
  111. package/.output/server/node_modules/@redocly/config/lib/constants/enum.js +6 -0
  112. package/.output/server/node_modules/@redocly/config/lib/constants/shared.js +22 -0
  113. package/.output/server/node_modules/@redocly/config/lib/default-theme-config-schema.js +54 -0
  114. package/.output/server/node_modules/@redocly/config/lib/entities-catalog-config-schema.js +186 -0
  115. package/.output/server/node_modules/@redocly/config/lib/entities-catalog-entity-file-schema.js +283 -0
  116. package/.output/server/node_modules/@redocly/config/lib/ex-theme-config-schemas.js +682 -0
  117. package/.output/server/node_modules/@redocly/config/lib/feedback-config-schema.js +88 -0
  118. package/.output/server/node_modules/@redocly/config/lib/graphql-config-schema.js +157 -0
  119. package/.output/server/node_modules/@redocly/config/lib/index.js +41 -0
  120. package/.output/server/node_modules/@redocly/config/lib/product-override-schema.js +43 -0
  121. package/.output/server/node_modules/@redocly/config/lib/redoc-config-schema.js +120 -0
  122. package/.output/server/node_modules/@redocly/config/lib/reference-docs-config-schema.js +518 -0
  123. package/.output/server/node_modules/@redocly/config/lib/remove-property-recursively.js +25 -0
  124. package/.output/server/node_modules/@redocly/config/lib/reunite-config-schema.js +103 -0
  125. package/.output/server/node_modules/@redocly/config/lib/root-config-schema.js +558 -0
  126. package/.output/server/node_modules/@redocly/config/lib/scorecards-config-schema.js +242 -0
  127. package/.output/server/node_modules/@redocly/config/lib/types/api-functions-types.js +3 -0
  128. package/.output/server/node_modules/@redocly/config/lib/types/catalog-entity-types.js +3 -0
  129. package/.output/server/node_modules/@redocly/config/lib/types/code-walkthrough-types.js +3 -0
  130. package/.output/server/node_modules/@redocly/config/lib/types/config-types.js +3 -0
  131. package/.output/server/node_modules/@redocly/config/lib/types/index.js +21 -0
  132. package/.output/server/node_modules/@redocly/config/lib/types/portal-shared-types.js +18 -0
  133. package/.output/server/node_modules/@redocly/config/package.json +28 -0
  134. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle-document.js +85 -0
  135. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle-visitor.js +257 -0
  136. package/.output/server/node_modules/@redocly/openapi-core/lib/bundle/bundle.js +74 -0
  137. package/.output/server/node_modules/@redocly/openapi-core/lib/config/all.js +310 -0
  138. package/.output/server/node_modules/@redocly/openapi-core/lib/config/builtIn.js +58 -0
  139. package/.output/server/node_modules/@redocly/openapi-core/lib/config/bundle-extends.js +27 -0
  140. package/.output/server/node_modules/@redocly/openapi-core/lib/config/config-resolvers.js +335 -0
  141. package/.output/server/node_modules/@redocly/openapi-core/lib/config/config.js +338 -0
  142. package/.output/server/node_modules/@redocly/openapi-core/lib/config/constants.js +13 -0
  143. package/.output/server/node_modules/@redocly/openapi-core/lib/config/get-resolve-config.js +9 -0
  144. package/.output/server/node_modules/@redocly/openapi-core/lib/config/group-assertion-rules.js +51 -0
  145. package/.output/server/node_modules/@redocly/openapi-core/lib/config/index.js +8 -0
  146. package/.output/server/node_modules/@redocly/openapi-core/lib/config/load.js +98 -0
  147. package/.output/server/node_modules/@redocly/openapi-core/lib/config/minimal.js +289 -0
  148. package/.output/server/node_modules/@redocly/openapi-core/lib/config/recommended-strict.js +289 -0
  149. package/.output/server/node_modules/@redocly/openapi-core/lib/config/recommended.js +289 -0
  150. package/.output/server/node_modules/@redocly/openapi-core/lib/config/rules.js +35 -0
  151. package/.output/server/node_modules/@redocly/openapi-core/lib/config/spec.js +289 -0
  152. package/.output/server/node_modules/@redocly/openapi-core/lib/config/types.js +2 -0
  153. package/.output/server/node_modules/@redocly/openapi-core/lib/config/utils.js +129 -0
  154. package/.output/server/node_modules/@redocly/openapi-core/lib/config/visitors.js +99 -0
  155. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/arazzo/index.js +2 -0
  156. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/async2/index.js +2 -0
  157. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/async3/index.js +2 -0
  158. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-helper.js +65 -0
  159. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-in.js +14 -0
  160. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/filters/filter-out.js +14 -0
  161. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/info-description-override.js +21 -0
  162. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/info-override.js +14 -0
  163. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/media-type-examples-override.js +58 -0
  164. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/operation-description-override.js +27 -0
  165. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/remove-x-internal.js +68 -0
  166. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/common/tag-description-override.js +23 -0
  167. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/index.js +19 -0
  168. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas2/remove-unused-components.js +88 -0
  169. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/index.js +21 -0
  170. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/oas3/remove-unused-components.js +116 -0
  171. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/openrpc/index.js +2 -0
  172. package/.output/server/node_modules/@redocly/openapi-core/lib/decorators/overlay1/index.js +2 -0
  173. package/.output/server/node_modules/@redocly/openapi-core/lib/detect-spec.js +79 -0
  174. package/.output/server/node_modules/@redocly/openapi-core/lib/env.js +5 -0
  175. package/.output/server/node_modules/@redocly/openapi-core/lib/errors/yaml-parse-error.js +14 -0
  176. package/.output/server/node_modules/@redocly/openapi-core/lib/format/codeframes.js +177 -0
  177. package/.output/server/node_modules/@redocly/openapi-core/lib/format/format.js +365 -0
  178. package/.output/server/node_modules/@redocly/openapi-core/lib/index.js +49 -0
  179. package/.output/server/node_modules/@redocly/openapi-core/lib/js-yaml/index.js +11 -0
  180. package/.output/server/node_modules/@redocly/openapi-core/lib/lint-entity.js +171 -0
  181. package/.output/server/node_modules/@redocly/openapi-core/lib/lint.js +123 -0
  182. package/.output/server/node_modules/@redocly/openapi-core/lib/logger.js +56 -0
  183. package/.output/server/node_modules/@redocly/openapi-core/lib/oas-types.js +35 -0
  184. package/.output/server/node_modules/@redocly/openapi-core/lib/ref-utils.js +109 -0
  185. package/.output/server/node_modules/@redocly/openapi-core/lib/resolve.js +326 -0
  186. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/ajv.js +106 -0
  187. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/criteria-unique.js +68 -0
  188. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/index.js +52 -0
  189. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/outputs-defined.js +139 -0
  190. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/parameters-unique.js +27 -0
  191. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/requestBody-replacements-unique.js +30 -0
  192. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescription-type.js +19 -0
  193. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescriptions-name-unique.js +21 -0
  194. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/sourceDescriptions-not-empty.js +15 -0
  195. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/step-onFailure-unique.js +27 -0
  196. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/step-onSuccess-unique.js +27 -0
  197. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/stepId-unique.js +23 -0
  198. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/workflow-dependsOn.js +53 -0
  199. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/arazzo/workflowId-unique.js +19 -0
  200. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/channels-kebab-case.js +16 -0
  201. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/index.js +32 -0
  202. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async2/no-channel-trailing-slash.js +13 -0
  203. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/channels-kebab-case.js +16 -0
  204. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/index.js +32 -0
  205. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/async3/no-channel-trailing-slash.js +13 -0
  206. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/catalog-entity/entity-key-valid.js +39 -0
  207. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/asserts.js +269 -0
  208. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/index.js +22 -0
  209. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/assertions/utils.js +215 -0
  210. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-contact.js +14 -0
  211. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-license-strict.js +23 -0
  212. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/info-license.js +14 -0
  213. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-ambiguous-paths.js +42 -0
  214. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-duplicated-tag-names.js +21 -0
  215. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-enum-type-mismatch.js +38 -0
  216. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-http-verbs-in-paths.js +31 -0
  217. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-identical-paths.js +21 -0
  218. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-invalid-parameter-examples.js +32 -0
  219. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-invalid-schema-examples.js +34 -0
  220. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-path-trailing-slash.js +13 -0
  221. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-required-schema-properties-undefined.js +78 -0
  222. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-schema-type-mismatch.js +19 -0
  223. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/no-unresolved-refs.js +42 -0
  224. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-2xx-response.js +20 -0
  225. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-4xx-response.js +20 -0
  226. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-description.js +9 -0
  227. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId-unique.js +17 -0
  228. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId-url-safe.js +15 -0
  229. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-operationId.js +13 -0
  230. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-parameters-unique.js +37 -0
  231. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-singular-tag.js +13 -0
  232. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-summary.js +9 -0
  233. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/operation-tag-defined.js +27 -0
  234. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/parameter-description.js +19 -0
  235. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-declaration-must-exist.js +13 -0
  236. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-http-verbs-order.js +23 -0
  237. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-not-include-query.js +15 -0
  238. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-params-defined.js +145 -0
  239. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/path-segment-plural.js +30 -0
  240. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/paths-kebab-case.js +17 -0
  241. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/required-string-property-missing-min-length.js +34 -0
  242. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/response-contains-header.js +26 -0
  243. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/scalar-property-missing-example.js +39 -0
  244. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/security-defined.js +62 -0
  245. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/spec-strict-refs.js +27 -0
  246. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/struct.js +150 -0
  247. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/tag-description.js +9 -0
  248. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/common/tags-alphabetical.js +18 -0
  249. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/boolean-parameter-prefixes.js +19 -0
  250. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/index.js +93 -0
  251. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/request-mime-type.js +14 -0
  252. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/response-contains-property.js +34 -0
  253. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas2/response-mime-type.js +14 -0
  254. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/array-parameter-serialization.js +26 -0
  255. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/boolean-parameter-prefixes.js +21 -0
  256. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/component-name-unique.js +130 -0
  257. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/index.js +129 -0
  258. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-empty-servers.js +20 -0
  259. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-example-value-and-externalValue.js +13 -0
  260. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-invalid-media-type-examples.js +59 -0
  261. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-example.com.js +15 -0
  262. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-trailing-slash.js +15 -0
  263. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-server-variables-empty-enum.js +58 -0
  264. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-undefined-server-variable.js +28 -0
  265. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/no-unused-components.js +83 -0
  266. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/nullable-type-sibling.js +15 -0
  267. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +33 -0
  268. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/request-mime-type.js +28 -0
  269. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/response-contains-property.js +36 -0
  270. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/response-mime-type.js +28 -0
  271. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-components-invalid-map-name.js +59 -0
  272. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-discriminator-defaultMapping.js +32 -0
  273. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-example-values.js +31 -0
  274. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-no-invalid-encoding-combinations.js +16 -0
  275. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-no-invalid-tag-parents.js +38 -0
  276. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/oas3/spec-querystring-parameters.js +65 -0
  277. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/index.js +20 -0
  278. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/no-unused-components.js +82 -0
  279. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/spec-no-duplicated-method-params.js +28 -0
  280. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/openrpc/spec-no-required-params-after-optional.js +31 -0
  281. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/other/stats.js +190 -0
  282. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/overlay1/index.js +12 -0
  283. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-criteria-xpath.js +20 -0
  284. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.js +30 -0
  285. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/no-x-security-scheme-name-without-openapi.js +25 -0
  286. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/respect-supported-versions.js +18 -0
  287. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/x-security-scheme-name-reference.js +35 -0
  288. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/respect/x-security-scheme-required-values.js +60 -0
  289. package/.output/server/node_modules/@redocly/openapi-core/lib/rules/utils.js +172 -0
  290. package/.output/server/node_modules/@redocly/openapi-core/lib/types/arazzo.js +482 -0
  291. package/.output/server/node_modules/@redocly/openapi-core/lib/types/asyncapi2.js +1157 -0
  292. package/.output/server/node_modules/@redocly/openapi-core/lib/types/asyncapi3.js +511 -0
  293. package/.output/server/node_modules/@redocly/openapi-core/lib/types/entity.js +32 -0
  294. package/.output/server/node_modules/@redocly/openapi-core/lib/types/index.js +90 -0
  295. package/.output/server/node_modules/@redocly/openapi-core/lib/types/json-schema-adapter.js +181 -0
  296. package/.output/server/node_modules/@redocly/openapi-core/lib/types/json-schema-draft7.shared.js +101 -0
  297. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas2.js +454 -0
  298. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3.js +828 -0
  299. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3_1.js +292 -0
  300. package/.output/server/node_modules/@redocly/openapi-core/lib/types/oas3_2.js +306 -0
  301. package/.output/server/node_modules/@redocly/openapi-core/lib/types/openrpc.js +360 -0
  302. package/.output/server/node_modules/@redocly/openapi-core/lib/types/overlay.js +61 -0
  303. package/.output/server/node_modules/@redocly/openapi-core/lib/types/redocly-yaml.js +573 -0
  304. package/.output/server/node_modules/@redocly/openapi-core/lib/typings/arazzo.js +3 -0
  305. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/assign-config.js +28 -0
  306. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/dequal.js +36 -0
  307. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/does-yaml-file-exist.js +7 -0
  308. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/error.js +3 -0
  309. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-intersection-length.js +11 -0
  310. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-matching-status-code-range.js +4 -0
  311. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/get-own.js +4 -0
  312. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/identity.js +4 -0
  313. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-custom-rule-id.js +4 -0
  314. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-defined.js +4 -0
  315. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-empty-array.js +4 -0
  316. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-empty-object.js +5 -0
  317. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-empty-array.js +4 -0
  318. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-empty-object.js +6 -0
  319. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-not-string.js +5 -0
  320. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-ordered.js +27 -0
  321. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-path-parameter.js +4 -0
  322. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-plain-object.js +4 -0
  323. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-string.js +4 -0
  324. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/is-truthy.js +4 -0
  325. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/keys-of.js +6 -0
  326. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/make-ref-id.js +4 -0
  327. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/next-tick.js +6 -0
  328. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/oas-has-component.js +4 -0
  329. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/omit.js +8 -0
  330. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/pause.js +4 -0
  331. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/pluralize.js +8 -0
  332. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/read-file-from-url.js +26 -0
  333. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/regex-from-string.js +5 -0
  334. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/scorecards.js +99 -0
  335. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/slash.js +11 -0
  336. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/split-camel-case-into-words.js +13 -0
  337. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/stack.js +7 -0
  338. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/validate-mime-type.js +31 -0
  339. package/.output/server/node_modules/@redocly/openapi-core/lib/utils/yaml-fs-helper.js +23 -0
  340. package/.output/server/node_modules/@redocly/openapi-core/lib/visitors.js +177 -0
  341. package/.output/server/node_modules/@redocly/openapi-core/lib/walk.js +303 -0
  342. package/.output/server/node_modules/@redocly/openapi-core/package.json +74 -0
  343. package/.output/server/node_modules/ajv-formats/dist/formats.js +208 -0
  344. package/.output/server/node_modules/ajv-formats/dist/index.js +37 -0
  345. package/.output/server/node_modules/ajv-formats/dist/limit.js +69 -0
  346. package/.output/server/node_modules/ajv-formats/package.json +74 -0
  347. package/.output/server/node_modules/colorette/index.js +82 -0
  348. package/.output/server/node_modules/colorette/package.json +39 -0
  349. package/.output/server/node_modules/js-levenshtein/index.js +105 -0
  350. package/.output/server/node_modules/js-levenshtein/package.json +49 -0
  351. package/.output/server/node_modules/pluralize/package.json +40 -0
  352. package/.output/server/node_modules/pluralize/pluralize.js +503 -0
  353. package/.output/server/node_modules/yaml-ast-parser/dist/src/common.js +45 -0
  354. package/.output/server/node_modules/yaml-ast-parser/dist/src/dumper.js +644 -0
  355. package/.output/server/node_modules/yaml-ast-parser/dist/src/exception.js +40 -0
  356. package/.output/server/node_modules/yaml-ast-parser/dist/src/index.js +22 -0
  357. package/.output/server/node_modules/yaml-ast-parser/dist/src/loader.js +1416 -0
  358. package/.output/server/node_modules/yaml-ast-parser/dist/src/mark.js +62 -0
  359. package/.output/server/node_modules/yaml-ast-parser/dist/src/scalarInference.js +82 -0
  360. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/core.js +8 -0
  361. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/default_full.js +14 -0
  362. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/default_safe.js +19 -0
  363. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/failsafe.js +10 -0
  364. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema/json.js +14 -0
  365. package/.output/server/node_modules/yaml-ast-parser/dist/src/schema.js +78 -0
  366. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/binary.js +92 -0
  367. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/bool.js +32 -0
  368. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/float.js +95 -0
  369. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/int.js +155 -0
  370. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/js/regexp.js +64 -0
  371. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/js/undefined.js +22 -0
  372. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/map.js +7 -0
  373. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/merge.js +10 -0
  374. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/null.js +30 -0
  375. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/omap.js +46 -0
  376. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/pairs.js +55 -0
  377. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/seq.js +7 -0
  378. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/set.js +22 -0
  379. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/str.js +7 -0
  380. package/.output/server/node_modules/yaml-ast-parser/dist/src/type/timestamp.js +70 -0
  381. package/.output/server/node_modules/yaml-ast-parser/dist/src/type.js +54 -0
  382. package/.output/server/node_modules/yaml-ast-parser/dist/src/yamlAST.js +82 -0
  383. package/.output/server/node_modules/yaml-ast-parser/package.json +39 -0
  384. package/.output/server/package.json +9 -1
  385. package/package.json +18 -17
  386. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/index.js +0 -0
  387. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/constants.js +0 -0
  388. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/parse.js +0 -0
  389. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/picomatch.js +0 -0
  390. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/scan.js +0 -0
  391. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/lib/utils.js +0 -0
  392. /package/.output/server/node_modules/{picomatch → .nitro/picomatch@2.3.1}/package.json +0 -0
@@ -0,0 +1,145 @@
1
+ import { isPlainObject } from '../../utils/is-plain-object.js';
2
+ const pathRegex = /\{([a-zA-Z0-9_.-]+)\}+/g;
3
+ const MAX_DEPTH = 2; // Only first callback level is supported
4
+ export const PathParamsDefined = () => {
5
+ const pathContext = { current: null };
6
+ const currentOperationParams = new Set();
7
+ return {
8
+ PathItem: {
9
+ enter(_, { key }) {
10
+ pathItemEnter(pathContext, key);
11
+ },
12
+ leave() {
13
+ pathItemLeave(pathContext);
14
+ },
15
+ Parameter(parameter, { report, location, rawLocation }) {
16
+ createPathItemParameterHandler({ parameter, pathContext, report, location, rawLocation });
17
+ },
18
+ Operation: createOperationHandlers(pathContext, currentOperationParams),
19
+ },
20
+ };
21
+ };
22
+ const pathItemEnter = (pathContext, key) => {
23
+ pathContext.current = {
24
+ path: key,
25
+ templateParams: extractTemplateParams(key),
26
+ definedParams: new Set(),
27
+ };
28
+ };
29
+ const pathItemLeave = (pathContext) => {
30
+ pathContext.current = null;
31
+ };
32
+ const createPathItemParameterHandler = ({ parameter, pathContext, report, location, rawLocation, }) => {
33
+ if (parameter.in === 'path' && parameter.name && pathContext.current) {
34
+ pathContext.current.definedParams.add(parameter.name);
35
+ validatePathParameter({
36
+ paramName: parameter.name,
37
+ templateParams: pathContext.current.templateParams,
38
+ path: pathContext.current.path,
39
+ report,
40
+ location,
41
+ rawLocation,
42
+ });
43
+ }
44
+ };
45
+ const createOperationHandlers = (pathContext, currentOperationParams, depth = 0) => {
46
+ const reportMaxDepthWarning = (report, location, depth) => {
47
+ report({
48
+ message: `Maximum callback nesting depth (${depth}) reached. Path parameter validation is limited beyond this depth to prevent infinite recursion.`,
49
+ location: location,
50
+ });
51
+ };
52
+ if (depth >= MAX_DEPTH) {
53
+ return {
54
+ enter: () => { },
55
+ leave: (_op, { report, location }) => {
56
+ reportMaxDepthWarning(report, location, depth);
57
+ },
58
+ Parameter: () => { },
59
+ Callback: undefined,
60
+ };
61
+ }
62
+ const createCallbackPathItem = () => {
63
+ let parentPathContext = null;
64
+ return {
65
+ enter(_, { key }) {
66
+ parentPathContext = pathContext.current;
67
+ pathItemEnter(pathContext, key);
68
+ },
69
+ leave() {
70
+ pathContext.current = parentPathContext;
71
+ },
72
+ Parameter(parameter, { report, location, rawLocation }) {
73
+ createPathItemParameterHandler({ parameter, pathContext, report, location, rawLocation });
74
+ },
75
+ get Operation() {
76
+ return createOperationHandlers(pathContext, currentOperationParams, depth + 1);
77
+ },
78
+ };
79
+ };
80
+ return {
81
+ enter() {
82
+ currentOperationParams = new Set();
83
+ },
84
+ leave(_operation, { report, location }) {
85
+ if (!pathContext.current || !currentOperationParams)
86
+ return;
87
+ validateRequiredPathParams({
88
+ templateParams: pathContext.current.templateParams,
89
+ definedOperationParams: currentOperationParams,
90
+ definedPathParams: pathContext.current.definedParams,
91
+ path: pathContext.current.path,
92
+ report,
93
+ location,
94
+ });
95
+ },
96
+ Parameter(parameter, { report, location, rawLocation }) {
97
+ collectPathParamsFromOperation(parameter, currentOperationParams);
98
+ if (parameter.in === 'path' && parameter.name && pathContext.current) {
99
+ currentOperationParams.add(parameter.name);
100
+ validatePathParameter({
101
+ paramName: parameter.name,
102
+ templateParams: pathContext.current.templateParams,
103
+ path: pathContext.current.path,
104
+ report,
105
+ location,
106
+ rawLocation,
107
+ });
108
+ }
109
+ },
110
+ Callback: {
111
+ get PathItem() {
112
+ return createCallbackPathItem();
113
+ },
114
+ },
115
+ };
116
+ };
117
+ const extractTemplateParams = (path) => {
118
+ return new Set(Array.from(path.matchAll(pathRegex)).map((m) => m[1]));
119
+ };
120
+ const collectPathParamsFromOperation = (parameter, targetSet) => {
121
+ if (isPlainObject(parameter) && 'in' in parameter && 'name' in parameter) {
122
+ if (parameter.in === 'path' && parameter.name) {
123
+ targetSet.add(parameter.name);
124
+ }
125
+ }
126
+ };
127
+ const validatePathParameter = ({ paramName, templateParams, path, report, location, rawLocation, }) => {
128
+ if (!templateParams.has(paramName)) {
129
+ const message = `Path parameter \`${paramName}\` is not used in the path \`${path}\`.`;
130
+ const from = rawLocation === location ? undefined : rawLocation;
131
+ report({ message, location: location.child(['name']), from });
132
+ }
133
+ };
134
+ const validateRequiredPathParams = ({ templateParams, definedOperationParams, definedPathParams, path, report, location, }) => {
135
+ const allDefinedParams = new Set([...definedOperationParams, ...definedPathParams]);
136
+ for (const templateParam of templateParams) {
137
+ if (!allDefinedParams.has(templateParam)) {
138
+ report({
139
+ message: `The operation does not define the path parameter \`{${templateParam}}\` expected by path \`${path}\`.`,
140
+ location: location.child(['parameters']).key(),
141
+ });
142
+ }
143
+ }
144
+ };
145
+ //# sourceMappingURL=path-params-defined.js.map
@@ -0,0 +1,30 @@
1
+ import pluralize from 'pluralize';
2
+ import { isPathParameter } from '../../utils/is-path-parameter.js';
3
+ export const PathSegmentPlural = (opts) => {
4
+ const { ignoreLastPathSegment, exceptions } = opts;
5
+ return {
6
+ PathItem: {
7
+ leave(_path, { report, key, location }) {
8
+ const pathKey = key.toString();
9
+ if (pathKey.startsWith('/')) {
10
+ const pathSegments = pathKey.split('/');
11
+ pathSegments.shift();
12
+ if (ignoreLastPathSegment && pathSegments.length > 0) {
13
+ pathSegments.pop();
14
+ }
15
+ for (const pathSegment of pathSegments) {
16
+ if (exceptions && exceptions.includes(pathSegment))
17
+ continue;
18
+ if (!isPathParameter(pathSegment) && pluralize.isSingular(pathSegment)) {
19
+ report({
20
+ message: `path segment \`${pathSegment}\` should be plural.`,
21
+ location: location.key(),
22
+ });
23
+ }
24
+ }
25
+ }
26
+ },
27
+ },
28
+ };
29
+ };
30
+ //# sourceMappingURL=path-segment-plural.js.map
@@ -0,0 +1,17 @@
1
+ export const PathsKebabCase = () => {
2
+ return {
3
+ PathItem(_path, { report, key }) {
4
+ const segments = key
5
+ .substr(1)
6
+ .split('/')
7
+ .filter((s) => s !== ''); // filter out empty segments
8
+ if (!segments.every((segment) => /^{.+}$/.test(segment) || /^[a-z0-9-.]+$/.test(segment))) {
9
+ report({
10
+ message: `\`${key}\` does not use kebab-case.`,
11
+ location: { reportOnKey: true },
12
+ });
13
+ }
14
+ },
15
+ };
16
+ };
17
+ //# sourceMappingURL=paths-kebab-case.js.map
@@ -0,0 +1,34 @@
1
+ export const RequiredStringPropertyMissingMinLength = () => {
2
+ let skipSchemaProperties;
3
+ let requiredPropertiesSet;
4
+ return {
5
+ Schema: {
6
+ enter(schema) {
7
+ if (!schema?.required) {
8
+ skipSchemaProperties = true;
9
+ return;
10
+ }
11
+ requiredPropertiesSet = new Set(schema.required);
12
+ skipSchemaProperties = false;
13
+ },
14
+ SchemaProperties: {
15
+ skip() {
16
+ return skipSchemaProperties;
17
+ },
18
+ Schema: {
19
+ enter(schema, { key, location, report }) {
20
+ if (requiredPropertiesSet.has(key) && schema.type === 'string') {
21
+ if (!schema?.minLength) {
22
+ report({
23
+ message: 'Property minLength is required.',
24
+ location: location.key(),
25
+ });
26
+ }
27
+ }
28
+ },
29
+ },
30
+ },
31
+ },
32
+ };
33
+ };
34
+ //# sourceMappingURL=required-string-property-missing-min-length.js.map
@@ -0,0 +1,26 @@
1
+ import { getMatchingStatusCodeRange } from '../../utils/get-matching-status-code-range.js';
2
+ export const ResponseContainsHeader = (options) => {
3
+ const names = options.names || {};
4
+ return {
5
+ Operation: {
6
+ Response: {
7
+ enter: (response, { report, location, key }) => {
8
+ const expectedHeaders = names[key] ||
9
+ names[getMatchingStatusCodeRange(key)] ||
10
+ names[getMatchingStatusCodeRange(key).toLowerCase()] ||
11
+ [];
12
+ for (const expectedHeader of expectedHeaders) {
13
+ if (!response?.headers ||
14
+ !Object.keys(response?.headers).some((header) => header.toLowerCase() === expectedHeader.toLowerCase())) {
15
+ report({
16
+ message: `Response object must contain a "${expectedHeader}" header.`,
17
+ location: location.child('headers').key(),
18
+ });
19
+ }
20
+ }
21
+ },
22
+ },
23
+ },
24
+ };
25
+ };
26
+ //# sourceMappingURL=response-contains-header.js.map
@@ -0,0 +1,39 @@
1
+ import { getOwn } from '../../utils/get-own.js';
2
+ const SCALAR_TYPES = ['string', 'integer', 'number', 'boolean', 'null'];
3
+ export const ScalarPropertyMissingExample = () => {
4
+ return {
5
+ SchemaProperties(properties, { report, location, specVersion, resolve }) {
6
+ for (const propName of Object.keys(properties)) {
7
+ const propSchema = resolve(getOwn(properties, propName)).node;
8
+ if (!propSchema || !isScalarSchema(propSchema)) {
9
+ continue;
10
+ }
11
+ if (propSchema.example === undefined &&
12
+ propSchema.examples === undefined) {
13
+ report({
14
+ message: `Scalar property should have "example"${specVersion === 'oas3_1' || specVersion === 'oas3_2' ? ' or "examples"' : ''} defined.`,
15
+ location: location.child(propName).key(),
16
+ });
17
+ }
18
+ }
19
+ },
20
+ };
21
+ };
22
+ function isScalarSchema(schema) {
23
+ if (!schema.type) {
24
+ return false;
25
+ }
26
+ if (schema.allOf || schema.anyOf || schema.oneOf) {
27
+ // Skip allOf/oneOf/anyOf as it's complicated to validate it right now.
28
+ // We need core support for checking contrstrains through those keywords.
29
+ return false;
30
+ }
31
+ if (schema.format === 'binary') {
32
+ return false;
33
+ }
34
+ if (Array.isArray(schema.type)) {
35
+ return schema.type.every((t) => SCALAR_TYPES.includes(t));
36
+ }
37
+ return SCALAR_TYPES.includes(schema.type);
38
+ }
39
+ //# sourceMappingURL=scalar-property-missing-example.js.map
@@ -0,0 +1,62 @@
1
+ export const SecurityDefined = (opts) => {
2
+ const referencedSchemes = new Map();
3
+ const operationsWithoutSecurity = [];
4
+ let eachOperationHasSecurity = true;
5
+ let path;
6
+ return {
7
+ Root: {
8
+ leave(root, { report }) {
9
+ for (const [name, scheme] of referencedSchemes.entries()) {
10
+ if (scheme.defined)
11
+ continue;
12
+ for (const reportedFromLocation of scheme.from) {
13
+ report({
14
+ message: `There is no \`${name}\` security scheme defined.`,
15
+ location: reportedFromLocation.key(),
16
+ });
17
+ }
18
+ }
19
+ if (root.security || eachOperationHasSecurity) {
20
+ return;
21
+ }
22
+ else {
23
+ for (const operationLocation of operationsWithoutSecurity) {
24
+ report({
25
+ message: `Every operation should have security defined on it or on the root level.`,
26
+ location: operationLocation.key(),
27
+ });
28
+ }
29
+ }
30
+ },
31
+ },
32
+ SecurityScheme(_securityScheme, { key }) {
33
+ referencedSchemes.set(key.toString(), { defined: true, from: [] });
34
+ },
35
+ SecurityRequirement(requirements, { location }) {
36
+ for (const requirement of Object.keys(requirements)) {
37
+ const authScheme = referencedSchemes.get(requirement);
38
+ const requirementLocation = location.child([requirement]);
39
+ if (!authScheme) {
40
+ referencedSchemes.set(requirement, { from: [requirementLocation] });
41
+ }
42
+ else {
43
+ authScheme.from.push(requirementLocation);
44
+ }
45
+ }
46
+ },
47
+ PathItem: {
48
+ enter(pathItem, { key }) {
49
+ path = key;
50
+ },
51
+ Operation(operation, { location, key }) {
52
+ const isException = opts.exceptions?.some((item) => item.path === path &&
53
+ (!item.methods || item.methods?.some((method) => method.toLowerCase() === key)));
54
+ if (!operation?.security && !isException) {
55
+ eachOperationHasSecurity = false;
56
+ operationsWithoutSecurity.push(location);
57
+ }
58
+ },
59
+ },
60
+ };
61
+ };
62
+ //# sourceMappingURL=security-defined.js.map
@@ -0,0 +1,27 @@
1
+ import { isRef } from '../../ref-utils.js';
2
+ export const SpecStrictRefs = () => {
3
+ const nodesToSkip = [
4
+ 'Schema',
5
+ 'Response',
6
+ 'Parameter',
7
+ 'RequestBody',
8
+ 'Example',
9
+ 'Header',
10
+ 'SecurityScheme',
11
+ 'Link',
12
+ 'Callback',
13
+ 'PathItem',
14
+ ];
15
+ return {
16
+ any(_node, { report, rawNode, rawLocation, type }) {
17
+ const shouldCheck = !nodesToSkip.includes(type.name);
18
+ if (shouldCheck && isRef(rawNode)) {
19
+ report({
20
+ message: 'Field $ref is not expected here.',
21
+ location: rawLocation.child('$ref').key(),
22
+ });
23
+ }
24
+ },
25
+ };
26
+ };
27
+ //# sourceMappingURL=spec-strict-refs.js.map
@@ -0,0 +1,150 @@
1
+ import { isRef } from '../../ref-utils.js';
2
+ import { isNamedType, SpecExtension } from '../../types/index.js';
3
+ import { getOwn } from '../../utils/get-own.js';
4
+ import { isPlainObject } from '../../utils/is-plain-object.js';
5
+ import { oasTypeOf, matchesJsonSchemaType, getSuggest, validateSchemaEnumType } from '../utils.js';
6
+ export const Struct = () => {
7
+ return {
8
+ any(node, { report, type, location, rawLocation, key, resolve, ignoreNextVisitorsOnNode }) {
9
+ const nodeType = oasTypeOf(node);
10
+ const refLocation = rawLocation !== location ? rawLocation : undefined;
11
+ if (type.items) {
12
+ if (nodeType !== 'array') {
13
+ report({
14
+ message: `Expected type \`${type.name}\` (array) but got \`${nodeType}\``,
15
+ from: refLocation,
16
+ });
17
+ ignoreNextVisitorsOnNode();
18
+ }
19
+ return;
20
+ }
21
+ else if (nodeType !== 'object') {
22
+ if (type !== SpecExtension) {
23
+ // do not validate unknown extensions structure
24
+ report({
25
+ message: `Expected type \`${type.name}\` (object) but got \`${nodeType}\``,
26
+ from: refLocation,
27
+ });
28
+ }
29
+ ignoreNextVisitorsOnNode();
30
+ return;
31
+ }
32
+ const required = typeof type.required === 'function' ? type.required(node, key) : type.required;
33
+ for (const propName of required || []) {
34
+ if (!node.hasOwnProperty(propName)) {
35
+ report({
36
+ message: `The field \`${propName}\` must be present on this level.`,
37
+ from: refLocation,
38
+ location: [{ reportOnKey: true }],
39
+ });
40
+ }
41
+ }
42
+ const allowed = type.allowed?.(node);
43
+ if (allowed && isPlainObject(node)) {
44
+ for (const propName in node) {
45
+ if (allowed.includes(propName) ||
46
+ (type.extensionsPrefix && propName.startsWith(type.extensionsPrefix)) ||
47
+ !Object.keys(type.properties).includes(propName)) {
48
+ continue;
49
+ }
50
+ report({
51
+ message: `The field \`${propName}\` is not allowed here.`,
52
+ from: refLocation,
53
+ location: location.child([propName]).key(),
54
+ });
55
+ }
56
+ }
57
+ const requiredOneOf = type.requiredOneOf || null;
58
+ if (requiredOneOf) {
59
+ let hasProperty = false;
60
+ for (const propName of requiredOneOf || []) {
61
+ if (node.hasOwnProperty(propName)) {
62
+ hasProperty = true;
63
+ }
64
+ }
65
+ if (!hasProperty)
66
+ report({
67
+ message: `Must contain at least one of the following fields: ${type.requiredOneOf?.join(', ')}.`,
68
+ from: refLocation,
69
+ location: [{ reportOnKey: true }],
70
+ });
71
+ }
72
+ for (const propName of Object.keys(node)) {
73
+ const propLocation = location.child([propName]);
74
+ let propValue = node[propName];
75
+ let propType = getOwn(type.properties, propName);
76
+ if (propType === undefined)
77
+ propType = type.additionalProperties;
78
+ if (typeof propType === 'function')
79
+ propType = propType(propValue, propName);
80
+ if (isNamedType(propType)) {
81
+ continue; // do nothing for named schema, it is executed with the next any call
82
+ }
83
+ const propSchema = propType;
84
+ const propValueType = oasTypeOf(propValue);
85
+ if (propSchema === undefined) {
86
+ if (propName.startsWith('x-'))
87
+ continue;
88
+ report({
89
+ message: `Property \`${propName}\` is not expected here.`,
90
+ suggest: getSuggest(propName, Object.keys(type.properties)),
91
+ from: refLocation,
92
+ location: propLocation.key(),
93
+ });
94
+ continue;
95
+ }
96
+ if (propSchema === null) {
97
+ continue; // just defined, no validation
98
+ }
99
+ if (propSchema.resolvable !== false && isRef(propValue)) {
100
+ propValue = resolve(propValue).node;
101
+ }
102
+ if (propSchema.items && propSchema.items?.enum && Array.isArray(propValue)) {
103
+ for (let i = 0; i < propValue.length; i++) {
104
+ validateSchemaEnumType(propSchema.items?.enum, propValue[i], propName, refLocation, {
105
+ report,
106
+ location: location.child([propName, i]),
107
+ });
108
+ }
109
+ }
110
+ if (propSchema.enum) {
111
+ validateSchemaEnumType(propSchema.enum, propValue, propName, refLocation, {
112
+ report,
113
+ location: location.child([propName]),
114
+ });
115
+ }
116
+ else if (propSchema.type && !matchesJsonSchemaType(propValue, propSchema.type, false)) {
117
+ report({
118
+ message: `Expected type \`${propSchema.type}\` but got \`${propValueType}\`.`,
119
+ from: refLocation,
120
+ location: propLocation,
121
+ });
122
+ ignoreNextVisitorsOnNode();
123
+ }
124
+ else if (propValueType === 'array' && propSchema.items?.type) {
125
+ const itemsType = propSchema.items?.type;
126
+ for (let i = 0; i < propValue.length; i++) {
127
+ const item = propValue[i];
128
+ if (!matchesJsonSchemaType(item, itemsType, false)) {
129
+ report({
130
+ message: `Expected type \`${itemsType}\` but got \`${oasTypeOf(item)}\`.`,
131
+ from: refLocation,
132
+ location: propLocation.child([i]),
133
+ });
134
+ }
135
+ }
136
+ }
137
+ if (typeof propSchema.minimum === 'number') {
138
+ if (propSchema.minimum > node[propName]) {
139
+ report({
140
+ message: `The value of the ${propName} field must be greater than or equal to ${propSchema.minimum}`,
141
+ from: refLocation,
142
+ location: location.child([propName]),
143
+ });
144
+ }
145
+ }
146
+ }
147
+ },
148
+ };
149
+ };
150
+ //# sourceMappingURL=struct.js.map
@@ -0,0 +1,9 @@
1
+ import { validateDefinedAndNonEmpty } from '../utils.js';
2
+ export const TagDescription = () => {
3
+ return {
4
+ Tag(tag, ctx) {
5
+ validateDefinedAndNonEmpty('description', tag, ctx);
6
+ },
7
+ };
8
+ };
9
+ //# sourceMappingURL=tag-description.js.map
@@ -0,0 +1,18 @@
1
+ import { getTagName } from '../utils.js';
2
+ export const TagsAlphabetical = ({ ignoreCase = false }) => {
3
+ return {
4
+ Root(root, { report, location }) {
5
+ if (!root.tags)
6
+ return;
7
+ for (let i = 0; i < root.tags.length - 1; i++) {
8
+ if (getTagName(root.tags[i], ignoreCase) > getTagName(root.tags[i + 1], ignoreCase)) {
9
+ report({
10
+ message: 'The `tags` array should be in alphabetical order.',
11
+ location: location.child(['tags', i]),
12
+ });
13
+ }
14
+ }
15
+ },
16
+ };
17
+ };
18
+ //# sourceMappingURL=tags-alphabetical.js.map
@@ -0,0 +1,19 @@
1
+ export const BooleanParameterPrefixes = (options) => {
2
+ const prefixes = options.prefixes || ['is', 'has'];
3
+ const regexp = new RegExp(`^(${prefixes.join('|')})[A-Z-_]`);
4
+ const wrappedPrefixes = prefixes.map((p) => `\`${p}\``);
5
+ const prefixesString = wrappedPrefixes.length === 1
6
+ ? wrappedPrefixes[0]
7
+ : wrappedPrefixes.slice(0, -1).join(', ') + ' or ' + wrappedPrefixes[prefixes.length - 1];
8
+ return {
9
+ Parameter(param, { report, location }) {
10
+ if (param.type === 'boolean' && !regexp.test(param.name)) {
11
+ report({
12
+ message: `Boolean parameter \`${param.name}\` should have ${prefixesString} prefix.`,
13
+ location: location.child('name'),
14
+ });
15
+ }
16
+ },
17
+ };
18
+ };
19
+ //# sourceMappingURL=boolean-parameter-prefixes.js.map